[syslinux] elflink issues

Matt Fleming matt at console-pimps.org
Mon Jan 21 06:51:08 PST 2013


On Sun, 2013-01-20 at 21:22 -0500, Gene Cumm wrote:
> I noticed several issues when diagnosing why pxechn.c32 didn't work in
> 5.01-pre3.
> 
> 1) pxechn.c32, prdhcp.c32 and other modules crash Syslinux and force a
> reboot by executing an unresolved symbols.  unload_pxe(), dns_resolv()
> and pxe_call() are the three.  "Error: An undefined symbol was
> referenced"
> 
> 2) In past versions, I built a debug build by having "CFLAGS +=
> -DDEBUG=1" in mk/local.mk but this fails.
> 
> core/../com32/include/com32.h:144: undefined reference to `__bad_SEG'

You need to also add -DDEBUG_STDIO or -DDEBUG_PORT=0x3f8, etc. See
mk/devel.mk. This change was introduced below,

commit ff7334a2ce536b7f4b1f6d6f93ff4e285a3bd45a
Author: H. Peter Anvin <hpa at zytor.com>
Date:   Thu Jul 19 08:42:32 2012 -0700

    Only compile dprintf/vdprintf if DEBUG_PORT is defined
    
    We really, really don't want to accidentally spew output to a debug
    port in production, so make it obligatory to define DEBUG_PORT or
    DEBUG_STDIO in order for the debugging code to be compiled in.  Since
    DEBUG_STDIO just turns the debugging code into stdio references, we
    only need to compile the code for the DEBUG_PORT case.
    
    Add a commented-out line to mk/devel.mk to make it easier for users.
    
    Signed-off-by: H. Peter Anvin <hpa at zytor.com>
    Cc: Matt Fleming <matt.fleming at intel.com>


-- 
Matt Fleming, Intel Open Source Technology Center



More information about the Syslinux mailing list