package/kvm-unit-tests: really fix build on Arch Linux x86_64
On x86_64, we use the host compiler instead of the target compiler to build kvm-unit-tests, because it is built with -m32 and our target compiler doesn't support that. However, the compiler on Arch Linux is broken: it *always* builds with -fstack-protector, even when -ffreestanding is passed. However, when -fnostdlib is passed at link time (which is normally the case when building with -ffreestanding), it is not linked with the stack-protector library. This leads to a link time error: /usr/bin/ld: x86/realmode.o: in function `print_serial_u32': .../x86/realmode.c:104: undefined reference to `__stack_chk_fail' Since the entire package is built with -ffreestanding, it doesn't support stack-protector at all. Therefore, simply pass -fno-stack-protector explicitly on x86_64 to work around the bug in Arch Linux. Commit c0ffd16e tried to do this, but got the condition wrong: -fno-stack-protector was passed in all cases *except* for x86_64. This commit fixes that, by inverting the condition and moving the --cross-prefix part to the else branch. Fixes: http://autobuild.buildroot.net/results/ca9576721214ecdce5622f2b7ec4fd4fc3699ac0/ Signed-off-by:Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com> Cc: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by:
Matthew Weber <matthew.weber@rockwellcollins.com> Tested-by:
Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by:
Peter Korsgaard <peter@korsgaard.com>
Loading
Please register or sign in to comment