Bug 1412

Summary: x32: liboil building fails
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Nitin Kamble <nitin.a.kamble>
Component: coreAssignee: Nitin Kamble <nitin.a.kamble>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: hjl.tools, meta.mr.watcher, meta.watcher
Version: unspecified   
Target Milestone: 1.2   
Hardware: x86   
OS: x86_64   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Bug Depends on:    
Bug Blocks: 1579    

Description Nitin Kamble 2011-08-25 14:37:15 UTC
ERROR: Logfile of failure stored in: /disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/temp/log.do_compile.6715
Log data follows:
| DEBUG: SITE files ['endian-little', 'common-linux', 'common-glibc', 'bit-32', 'ix86-common', 'x86_64-linux-gnux32', 'common']
| NOTE: make -j 16
| make  all-recursive
| make[1]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17'
| Making all in liboil
| make[2]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil'
| Making all in c
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/c'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/c'
| Making all in colorspace
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/colorspace'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/colorspace'
| Making all in conv
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/conv'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/conv'
| Making all in copy
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/copy'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/copy'
| Making all in dct
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/dct'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/dct'
| Making all in jpeg
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/jpeg'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/jpeg'
| Making all in math
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/math'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/math'
| Making all in md5
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/md5'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/md5'
| Making all in ref
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/ref'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/ref'
| Making all in simdpack
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/simdpack'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/simdpack'
| Making all in utf8
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/utf8'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/utf8'
| Making all in deprecated
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/deprecated'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/deprecated'
| Making all in mmx
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/mmx'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/mmx'
| Making all in fb
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/fb'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/fb'
| Making all in sse
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/sse'
| make[3]: Nothing to be done for `all'.
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/sse'
| Making all in amd64
| make[3]: Entering directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/amd64'
| /bin/sh ../../x86_64-poky-linux-gnux32-libtool  --tag=CC   --mode=compile ccache x86_64-poky-linux-gnux32-gcc   -mx32  --sysroot=/disk0/pokybuild/build-multilib-x32-qemu/tmp/sysroots/qemux86-64 -DHAVE_CONFIG_H -I. -I../..    -Wall -D_BSD_SOURCE -D_GNU_SOURCE -I../.. -DOIL_ENABLE_UNSTABLE_API -O2 -pipe -g -feliminate-unused-debug-types -MT libamd64_la-wavelet.lo -MD -MP -MF .deps/libamd64_la-wavelet.Tpo -c -o libamd64_la-wavelet.lo `test -f 'wavelet.c' || echo './'`wavelet.c
| x86_64-poky-linux-gnux32-libtool: compile:  ccache x86_64-poky-linux-gnux32-gcc -mx32 --sysroot=/disk0/pokybuild/build-multilib-x32-qemu/tmp/sysroots/qemux86-64 -DHAVE_CONFIG_H -I. -I../.. -Wall -D_BSD_SOURCE -D_GNU_SOURCE -I../.. -DOIL_ENABLE_UNSTABLE_API -O2 -pipe -g -feliminate-unused-debug-types -MT libamd64_la-wavelet.lo -MD -MP -MF .deps/libamd64_la-wavelet.Tpo -c wavelet.c  -fPIC -DPIC -o .libs/libamd64_la-wavelet.o
| wavelet.c: In function 'mas8_across_add_s16_mmx':
| wavelet.c:1609:12: warning: variable 's2_nx8_off' set but not used [-Wunused-but-set-variable]
| wavelet.c: Assembler messages:
| wavelet.c:56: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:57: Error: `8(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:63: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:64: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:65: Error: `8(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:69: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:96: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:97: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:98: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:99: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:126: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:127: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:128: Error: `8(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:134: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:135: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:162: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:164: Error: `8(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:165: Error: `16(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:169: Error: `24(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:176: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:178: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:180: Error: `8(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:181: Error: `8(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:255: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:256: Error: `(%edx,%rcx,2)' is not a valid base/index expression
| wavelet.c:260: Error: `(%edi,%rcx,4)' is not a valid base/index expression
| wavelet.c:261: Error: `8(%edi,%rcx,4)' is not a valid base/index expression
| wavelet.c:288: Error: `(%edx,%rcx,2)' is not a valid base/index expression
| wavelet.c:289: Error: `(%eax,%rcx,2)' is not a valid base/index expression
| wavelet.c:292: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:293: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:320: Error: `(%edx,%rcx,2)' is not a valid base/index expression
| wavelet.c:321: Error: `(%eax,%rcx,2)' is not a valid base/index expression
| wavelet.c:322: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:326: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:353: Error: `(%edx,%rcx,2)' is not a valid base/index expression
| wavelet.c:354: Error: `(%eax,%rcx,2)' is not a valid base/index expression
| wavelet.c:357: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:358: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:385: Error: `(%edx,%rcx,2)' is not a valid base/index expression
| wavelet.c:386: Error: `(%eax,%rcx,2)' is not a valid base/index expression
| wavelet.c:387: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:391: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:24: Error: `(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:25: Error: `(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:26: Error: `2(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:27: Error: `(%esi,%rcx,2)' is not a valid base/index expression
| wavelet.c:28: Error: `4(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:29: Error: `2(%edi,%rcx,2)' is not a valid base/index expression
| wavelet.c:30: Error: `6(%edx,%rcx,4)' is not a valid base/index expression
| wavelet.c:31: Error: `2(%esi,%rcx,2)' is not a valid base/index expression
| make[3]: *** [libamd64_la-wavelet.lo] Error 1
| make[3]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil/amd64'
| make[2]: *** [all-recursive] Error 1
| make[2]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17/liboil'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/liboil-0.3.17'
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| ERROR: Function 'do_compile' failed (see /disk0/pokybuild/build-multilib-x32-qemu/tmp/work/x86_64-x32-poky-linux-gnux32/liboil-0.3.17-r3/temp/log.do_compile.6715 for further information)
Comment 1 Nitin Kamble 2011-12-01 15:51:50 UTC
I have a fix for this in my local branch, will push it out soon.
Nitin
Comment 2 Nitin Kamble 2011-12-15 09:12:48 UTC
This commit in master fixes the issue:
commit f3c0a02b920efa5747474b4c65aba12a928e56de
Author: Nitin A Kamble <nitin.a.kamble@intel.com>
Date:   Fri Dec 2 12:20:06 2011 -0800

    liboil: patch source code for x32
    
    Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
    
    This Fixes bug: [YOCTO #1412]
    
    (From OE-Core rev: f43d633540b41c94eacfbc3c5c450ddd192b2164)
    
    Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>