9eca4b9f84
Add patch from upstream to fix build issue with some toolchains. For some toolchains used in Buildroot (x86_64 and mips64) partial linking using 'ld' directly doesn't work well, as the 'ld' default emulation may not necessarily be the correct one. Note, that the default emulation depends upon how the linker was configured at build time. The leads to different kind of build errors, like: * /usr/bin/i686-pc-linux-gnu-ld: Relocatable linking with relocations from format elf64-x86-64 (core/swupdate.o) to format elf32-i386 (core/built-in.o) is not supported. * /usr/bin/mips-linux-gnu-ld: handlers/raw_handler.o: endianness incompatible with that of the selected emulation * /usr/bin/mips64el-linux-ld: core/swupdate.o: ABI is incompatible with that of the selected Linking with gcc will pass all the appropriate linker flags to the linker. '-nostdlib' has to be added to ldflags-y to link properly without pulling in GCC libs during partial linking. Note, for Kbuild ldflags-y is prefered over the deprecated EXTRA_LDFLAGS. Build config for x86_64: BR2_x86_64=y BR2_x86_corei7=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209=y Runtime test: $ output/build/swupdate-2015.07/swupdate -v Swupdate v2015.07.0 Licensed under GPLv2. See source distribution for detailed copyright notices. Registered handlers: rawfile raw Note, that a previous patch [1] had to be reverted [2] because ld does not take gcc's constructor functions into account and so none of the handlers have been registered at runtime. Fixes: http://autobuild.buildroot.net/results/de9/de920298075d32f3de83a0cfb7417846eb833425/ http://autobuild.buildroot.net/results/975/975915aa33005806e78260bae385cd4b3e359ca8/ http://autobuild.buildroot.net/results/c54/c54e7a2ea353d95d41a1e966de0dffa7b6ac432e/ http://autobuild.buildroot.net/results/019/0198596ebfed05ab86552b628da2274d55bf42ae/ and many more. [1] https://patchwork.ozlabs.org/patch/532542/ [2] https://patchwork.ozlabs.org/patch/535408/ Cc: Bjørn Forsman <bjorn.forsman@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
||
---|---|---|
.. | ||
Config.in | ||
swupdate.config | ||
swupdate.hash | ||
swupdate.mk |