Open Bug 1157593 Opened 9 years ago Updated 2 years ago

ELF Hack appears to not properly use the TOOLCHAIN_PREFIX variable

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: tanderson, Unassigned)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36

Steps to reproduce:

On Exherbo linux we prefix our toolchain by the host variable, e.g. x86_64-pc-linux-gnu-readelf to support native cross-compiling. When compiling thunderbird with TOOLCHAIN_PREFIX=x86_64-pc-linux-gnu- as an option added to the make command line, one would expect this to actually be added properly to all commands (in fact it looks like the makefile tries to do this too!)


Actual results:

===
===
=== If you get failures below, please file a bug describing the error
=== If you get failures below, please file a bug describing the error
=== and your environment (compiler and linker versions), and use
=== and your environment (compiler and linker versions), and use
=== --disable-elf-hack until this is fixed.
=== --disable-elf-hack until this is fixed.
===
# Fail if the library doesn't have INIT_ARRAY .dynamic info
===
# Fail if the library doesn't have INIT .dynamic info
readelf -d test-array.so | grep '(INIT_ARRAY)'
readelf -d test-ctors.so | grep '(INIT)'
/bin/sh: readelf: command not found
/bin/sh: readelf: command not found
Makefile:22: recipe for target 'test-array.so' failed
make[5]: *** [test-array.so] Error 1
make[5]: *** Waiting for unfinished jobs....
Makefile:22: recipe for target 'test-ctors.so' failed
make[5]: *** [test-ctors.so] Error 1
make[5]: Leaving directory '/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/build/mail/mozilla/build/unix/elfhack'
/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/comm-esr31/mozilla/config/recurse.mk:179: recipe for target 'libs' failed
make[4]: *** [libs] Error 2
make[4]: Leaving directory '/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/build/mail/mozilla/build/unix'
/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/comm-esr31/mozilla/config/recurse.mk:179: recipe for target 'libs' failed
make[3]: *** [libs] Error 2
make[3]: Leaving directory '/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/build/mail/mozilla/build'
/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/comm-esr31/mozilla/config/recurse.mk:153: recipe for target 'libs' failed
make[2]: *** [libs] Error 2
make[2]: Leaving directory '/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/build/mail/mozilla'
/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/comm-esr31/mozilla/config/rules.mk:592: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/var/tmp/paludis/build/mail-client-thunderbird-31.5.0/work/build/mail/mozilla'
Makefile:52: recipe for target 'default' failed
make: *** [default] Error 2


Expected results:

I think TOOLCHAIN_PREFIX is being unset or not being passed through to the elf hack part of the build. I'm not an expert on the mozilla buildsystem but is it possible it has to do with mozilla/config/emptyvars.mk which sets this to empty?

Firefox does build with TOOLCHAIN_PREFIX set, though this is unlikely unimportant.
Product: Thunderbird → Core
Version: 31 → unspecified
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.