Trying to compile kexec-tools fails using x32. | x86_64-poky-linux-gnux32-gcc -mx32 --sysroot=/home/mlopezva/poky/build/tmp/sysroots/qemux86-64 -O2 -pipe -g -feliminate-unused-debug-types -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -mcmodel=large -Os -fno-builtin -ffreestanding -mcmodel=large -I/home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/purgatory/include -I/home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/purgatory/arch/x86_64/include -I/home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/util_lib/include -I/home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/include -Iinclude -I/home/mlopezva/poky/build/tmp/sysroots/x86_64-linux/usr/lib/x86_64-poky-linux-gnux32/gcc/x86_64-poky-linux-gnux32/4.9.2/include -c -MD -o purgatory/string.o /home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/purgatory/string.c | make: *** [purgatory/purgatory.o] Error 1 | make: *** Waiting for unfinished jobs.... | /home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/purgatory/printf.c:1:0: error: code model 'large' not supported in x32 mode | #include <stdarg.h> | ^ | /home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/kexec-tools-2.0.9/purgatory/string.c:1:0: error: code model 'large' not supported in x32 mode | #include <stddef.h> lines 1-40ERROR: Task 6 (/home/mlopezva/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.9.bb, do_compile) failed with exit code '1' | ^ | make: *** [purgatory/printf.o] Error 1 | make: *** [purgatory/string.o] Error 1 | make: *** wait: No child processes. Stop. | ERROR: oe_runmake failed | WARNING: /home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/temp/run.do_compile.45642:1 exit 1 from | exit 1 | ERROR: Function failed: do_compile (log file is located at /home/mlopezva/poky/build/tmp/work/x86_64_x32-poky-linux-gnux32/kexec-tools/2.0.9-r1/temp/log.do_compile.45642)
Partial solution was implement to provide support in autoconf for detect when build is x32, http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=alimon/kexec-tools-x32-abi Some issues still exist when try to exec: # kexec -l vmlinux These issues are related to ELF read's.
Merged at, http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7ab461cc3ed0c1761d095fb423305424d1ed071e
Can you provide me the steps for testing?
Verified on master: 5170177719a93a69cc6c7c1218b3f26eed82d6e0