[ipxe-devel] ipxe.efi does not compile (hidden symbol _etextdata isn't defined)

Jean Weisbuch jean at phpnet.org
Tue Mar 28 17:40:37 UTC 2017


While undionly.kpxe and ipxe.lkrn are compiling without any issue, i 
cannot compile ipxe.efi using the latest code from GitHub on a Debian 
Squeeze amd64 :

    # git fetch --all
    Fetching origin
    # git reset --hard origin/master
    HEAD is now at 7cfdd76 [block] Describe all SAN devices via ACPI tables
    # git pull origin master
     From git://git.ipxe.org/ipxe
      * branch            master     -> FETCH_HEAD
    Already up-to-date.

    cd src/
    # make bin-x86_64-efi/ipxe.efi

    [...]

       [AR] bin-x86_64-efi/blib.a
    ar: creating bin-x86_64-efi/blib.a
       [VERSION] bin-x86_64-efi/version.ipxe.efi.o
       [LD] bin-x86_64-efi/ipxe.efi.tmp
    bin-x86_64-efi/blib.a(com32_wrapper.o): In function
    `com32_farcall_wrapper':
    (.text+0x1): relocation truncated to fit: R_X86_64_32 against symbol
    `com32_farcall' defined in .text.com32_farcall section in
    bin-x86_64-efi/blib.a(com32_call.o)
    bin-x86_64-efi/blib.a(com32_wrapper.o): In function
    `com32_cfarcall_wrapper':
    (.text+0x8): relocation truncated to fit: R_X86_64_32 against symbol
    `com32_cfarcall' defined in .text.com32_cfarcall section in
    bin-x86_64-efi/blib.a(com32_call.o)
    bin-x86_64-efi/blib.a(com32_wrapper.o): In function
    `com32_intcall_wrapper':
    (.text+0xf): relocation truncated to fit: R_X86_64_32 against symbol
    `com32_intcall' defined in .text.com32_intcall section in
    bin-x86_64-efi/blib.a(com32_call.o)
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x3): relocation
    truncated to fit: R_X86_64_16 against `.bss16'
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x10): relocation
    truncated to fit: R_X86_64_16 against `.bss16'
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x1a): relocation
    truncated to fit: R_X86_64_16 against `.bss16'
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x1f): relocation
    truncated to fit: R_X86_64_16 against symbol `com32_saved_sp'
    defined in .bss16 section in bin-x86_64-efi/blib.a(com32_call.o)
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x22): relocation
    truncated to fit: R_X86_64_16 against `.bss16'
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x31): relocation
    truncated to fit: R_X86_64_16 against symbol `com32_saved_sp'
    defined in .bss16 section in bin-x86_64-efi/blib.a(com32_call.o)
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x36): relocation
    truncated to fit: R_X86_64_16 against `.bss16'
    bin-x86_64-efi/blib.a(com32_call.o):(.text16+0x3b): additional
    relocation overflows omitted from the output
    ld: bin-x86_64-efi/ipxe.efi.tmp: hidden symbol `_etextdata' isn't
    defined
    make: *** [bin-x86_64-efi/ipxe.efi.tmp] Error 1
    rm bin-x86_64-efi/version.ipxe.efi.o


    # cc -v
    Using built-in specs.
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Debian
    4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
    --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
    --program-suffix=-4.4 --enable-shared --enable-multiarch
    --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib
    --without-included-gettext --enable-threads=posix
    --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib
    --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
    --enable-objc-gc --with-arch-32=i586 --with-tune=generic
    --enable-checking=release --build=x86_64-linux-gnu
    --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posix
    gcc version 4.4.5 (Debian 4.4.5-8)


Is there any specific parameters to set on general.h to compile the efi 
binary?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20170328/b1478ba7/attachment.htm>


More information about the ipxe-devel mailing list