Bug 7419 - kexec-tools fails to compile with x32 ABI
Summary: kexec-tools fails to compile with x32 ABI
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.8
Hardware: x86 x86_64
: Medium normal
Target Milestone: 1.9
Assignee: Aníbal Limón
QA Contact: Cristina Agurida
URL:
Whiteboard:
Depends on:
Blocks: 3437
  Show dependency tree
 
Reported: 2015-03-06 20:52 UTC by Mariano Lopez
Modified: 2015-05-27 10:46 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mariano Lopez 2015-03-06 20:52:35 UTC
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)
Comment 1 Aníbal Limón 2015-03-12 17:44:22 UTC
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.
Comment 3 Cristina Agurida 2015-05-26 09:10:30 UTC
Can you provide me the steps for testing?
Comment 4 Cristina Agurida 2015-05-27 10:46:27 UTC
Verified on master: 5170177719a93a69cc6c7c1218b3f26eed82d6e0