[OE-core] syslinux + gcc 5.2 build error

Khem Raj raj.khem at gmail.com
Thu Oct 15 07:08:21 UTC 2015


> On Oct 15, 2015, at 12:03 AM, Andre McCurdy <armccurdy at gmail.com> wrote:
> 
> On Wed, Oct 14, 2015 at 11:37 PM, Khem Raj <raj.khem at gmail.com> wrote:
>> 
>>> On Oct 14, 2015, at 2:38 PM, Andre McCurdy <armccurdy at gmail.com> wrote:
>>> 
>>> I'm seeing what looks like a gcc bug when building syslinux with
>>> certain combinations of TUNE_CCARGS. A specific combination which
>>> fails is:
>>> 
>>> TUNE_CCARGS = " -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse
>>> -fschedule-insns”
>> 
>> 
>> and why would you use -fschedule-insns on something like ia32 with so few general purpose regs
>> at disposal ?
>> applying any insn schedule opts before machine registers are assigned may not always work.
> 
> Mainly just following advice from Intel on tuning for Atom:
> 
>  https://software.intel.com/en-us/blogs/2013/05/28/why-should-i-update-gcc-x86-compiler-or-gcc-compiler-performance-on-intel-atom-from
> 

eh benchmarks... thats a number game, take it with a grain of salt when feeding real world workloads to compiler.
you might be surprised to see that not using any fanciness in fact has more optimizing effects in real world.

> I didn't do my own benchmarks so maybe that flag doesn't help much,
> but it didn't cause a build failure with gcc 4.9.x.
> 
>>> 
>>> ( ie the default flags set by tune-core2.inc with one additional flag:
>>> -fschedule-insns )
>>> 
>>> Problem is only seen with gcc 5.2
>>> 
>>> Compiler error is:
>>> 
>>> i686-rdk-linux-gcc -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse
>>> -fschedule-insns
>>> --sysroot=/home/andre/rdk/rdk-master/build-vbox32/tmp/sysroots/vbox32
>>> -O2 -pipe -g -feliminate-unused-debug-types -fstack-protector-strong
>>> -D_FORTIFY_SOURCE=2 -MT zlib/deflate.o -MD -Os -march=i386
>>> -falign-functions=0 -falign-jumps=0 -falign-labels=0 -ffast-math
>>> -fomit-frame-pointer -std=gnu99 -m32 -mpreferred-stack-boundary=2
>>> -fno-stack-protector -fwrapv -freg-struct-return -fPIC -fno-exceptions
>>> -fno-asynchronous-unwind-tables -fno-strict-aliasing
>>> -falign-functions=0 -falign-jumps=0 -falign-labels=0 -falign-loops=0
>>> -g -D__COM32__ -D__FIRMWARE_BIOS__ -nostdinc -iwithprefix include -I.
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/sys
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/../include
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/include/sys
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/core/include
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/sys/module
>>> -I/home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/bios/com32/lib//../..
>>> -W -Wall -Wstrict-prototypes -Wpointer-arith -Wwrite-strings
>>> -Wstrict-prototypes -Winline -DDYNAMIC_CRC_TABLE -DPNG_NO_CONSOLE_IO
>>> -DPNG_NO_WRITE_SUPPORTED -DPNG_NO_MNG_FEATURES -DPNG_NO_READ_tIME
>>> -DPNG_NO_WRITE_tIME -mregparm=3 -DREGPARM=3 -c -o zlib/deflate.o
>>> /home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/zlib/deflate.c
>>> 
>>> /home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/zlib/deflate.c:
>>> In function 'deflate':
>>> /home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/zlib/deflate.c:892:1:
>>> error: unable to find a register to spill
>>> }
>>> ^
>>> /home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/zlib/deflate.c:892:1:
>>> error: this is the insn:
>>> (insn 745 1859 1860 94 (set (reg:QI 995)
>>>       (mem/j:QI (plus:SI (reg/v/f:SI 965 [orig:676 strm ] [676])
>>>               (const_int 48 [0x30])) [0 strm_54(D)->adler+0 S1
>>> A32])) /home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/zlib/deflate.c:775
>>> 86 {*movqi_internal}
>>>    (nil))
>>> /home/andre/rdk/rdk-master/build-vbox32/tmp/work/core2-32-rdk-linux/syslinux/6.03-r0/syslinux-6.03/com32/lib/zlib/deflate.c:892:
>>> confused by earlier errors, bailing out
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20151015/4495801d/attachment-0002.sig>


More information about the Openembedded-core mailing list