[yocto] [RFT] upcoming glibc 2.21 and gcc 4.9 upgrade

Khem Raj raj.khem at gmail.com
Mon Feb 2 21:03:15 PST 2015


On Mon, Feb 2, 2015 at 1:45 PM, Burton, Ross <ross.burton at intel.com> wrote:
>
> On 2 February 2015 at 18:33, Khem Raj <raj.khem at gmail.com> wrote:
>>
>> Yeah, I am on archlinux (the other end of spectrum). Nevertheless, I have
>> updated the contrib tree which fixes cross-localedef-native compile time
>> issue. So you should be good
>> to go now.
>
>
> Bad news, glibc is now failing:
>
> | x86_64-poky-linux-gcc  -m64 -march=corei7 -mtune=corei7 -mfpmath=sse
> -msse4.2
> --sysroot=/data/poky-master/tmp/sysroots/intel-corei7-64-tcbootstrap
> dl-open.c -c -std=gnu99 -fgnu89-inline  -O2 -Wall -Werror -Winline
> -Wno-error=undef -Wundef -Wwrite-strings -feliminate-unused-debug-types
> -fmerge-all-constants -frounding-math -g -pipe -Wstrict-prototypes   -fPIC
> -mno-sse -mno-mmx        -I../include
> -I/data/poky-master/tmp/work/corei7-64-poky-linux/glibc/2.21-r0/build-x86_64-poky-linux/elf
> -I/data/poky-master/tmp/work/corei7-64-poky-linux/glibc/2.21-r0/build-x86_64-poky-linux
> -I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64
> -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/unix/sysv/linux/wordsize-64
> -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include
> -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread
> -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv
> -I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix
> -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch
> -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu
> -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86
> -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64
> -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32
> -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I..
> -I../libio -I. -nostdinc -isystem
> /data/poky-master/tmp/sysroots/x86_64-linux/usr/lib/x86_64-poky-linux.gcc-cross-initial-x86_64/gcc/x86_64-poky-linux/4.9.2/include
> -isystem
> /data/poky-master/tmp/sysroots/x86_64-linux/usr/lib/x86_64-poky-linux.gcc-cross-initial-x86_64/gcc/x86_64-poky-linux/4.9.2/include-fixed
> -isystem /data/poky-master/tmp/sysroots/intel-corei7-64/usr/include
> -D_LIBC_REENTRANT -include
> /data/poky-master/tmp/work/corei7-64-poky-linux/glibc/2.21-r0/build-x86_64-poky-linux/libc-modules.h
> -DMODULE_NAME=rtld -include ../include/libc-symbols.h  -DPIC -DSHARED     -o
> /data/poky-master/tmp/work/corei7-64-poky-linux/glibc/2.21-r0/build-x86_64-poky-linux/elf/dl-open.os
> -MD -MP -MF
> /data/poky-master/tmp/work/corei7-64-poky-linux/glibc/2.21-r0/build-x86_64-poky-linux/elf/dl-open.os.dt
> -MT
> /data/poky-master/tmp/work/corei7-64-poky-linux/glibc/2.21-r0/build-x86_64-poky-linux/elf/dl-open.os
> | dl-caller.c:1:0: error: SSE instruction set disabled, using 387
> arithmetics [-Werror]
> |  /* Check whether caller comes from the right place.
> |  ^
> | dl-open.c:1:0: error: SSE instruction set disabled, using 387 arithmetics
> [-Werror]
> |  /* Load a shared object at runtime, relocate it, and run its initializer.
> |  ^
> | cc1: all warnings being treated as errors
> | cc1: all warnings being treated as errors

The real problem is we are injecting -mfpmath=sse -msse4.2 via CCARGS
and for this particular file glibc says  -mno-sse -mno-mmx
so it defaults to x87 80bit arithmetics. May be we should get a bit
milder with optimizations for this case when compiling glibc. Since
glibc has its own notion about floating point.

I think this issue was there even with older version of glibc for i7
but it was flagged as a warning, glibc 2.21 now uses -Werror by
default. Can you confirm that via inspecting 2.20 glibc build logs for
this machine ?

I have pushed another patch to disable sse for replacing fpu. Please
try it out and let me know if it fixed it.

>
> Ross



More information about the yocto mailing list