package/kvm-unit-tests: fix build on Arch Linux x86_64
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Sat, 25 May 2019 22:22:09 +0000 (00:22 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sat, 26 Oct 2019 08:31:20 +0000 (10:31 +0200)
commitc0ffd16e40f15938f4a440a1048fc3d7fba2f7c4
treee94554d2a41a48a23d8638d515477301f2e4a3d9
parent4168497bb47b0ee983ec62404612d42baaca43ad
package/kvm-unit-tests: 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.

Bug reported upstream: https://bugs.archlinux.org/task/64270

Fixes:
 - http://autobuild.buildroot.org/results/e6f767755ffdb5ecc014eb5ad7519814f075a60e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Tested-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/kvm-unit-tests/kvm-unit-tests.mk