Skip to contentSkip to conversation

New: glibc compilation fails for X86 32bits (i386)

Buildroot bugzilla at busybox.net 1 participant 4 messages Aug 3, 2017 – Aug 11, 2017

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=10156

Bug ID: 10156
Summary: glibc compilation fails for X86 32bits (i386)
Product: buildroot
Version: unspecified
Hardware: All
OS: Linux
Status: NEW
Severity: critical
Priority: P5
Component: Other
Assignee: unassigned at buildroot.uclibc.org
Reporter: frederic.mathieu at dualis.com
CC: buildroot at uclibc.org
Target Milestone: ---

Created attachment 7146
--> https://bugs.busybox.net/attachment.cgi?id=7146&action=edit
buildroot .config

With arch i386 (see config file), The latest buildroot versions fails to compile glibc (2.24 or 2.25).
tested with : 2017.05.2 and 2017.02.5

The same config works fine with buildroot version 2017.02.3.

...
/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/../../../toolchain/2017.02.5_X86_32/host/usr/bin/i686-buildroot-linux-gnu-gcc ../sysdeps/i386/i686/multiarch/varshift.c -c -std=gnu11 -fgnu89-inline -O2
-Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math
-Wstrict-prototypes -Wold-style-definition -fPIC -Wa,-mtune=i686 -mno-sse
-mno-mmx -mfpmath=387 -msse4 -ftls-model=initial-exec -I../include
-I/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string

-I/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build
-I../sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/i386/i686/nptl
-I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/x86
-I../sysdeps/i386/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/i386 -I../sysdeps/unix -I../sysdeps/posix
-I../sysdeps/i386/i686/fpu/multiarch -I../sysdeps/i386/i686/fpu
-I../sysdeps/i386/i686/multiarch -I../sysdeps/i386/i686 -I../sysdeps/i386/fpu
-I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu -I../sysdeps/i386
-I../sysdeps/x86 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754
-I../sysdeps/generic -I.. -I../libio -I. -nostdinc -isystem /home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/bin/../lib/gcc/i686-buildroot-linux-gnu/4.9.4/include
-isystem
/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/bin/../lib/gcc/i686-buildroot-linux-gnu/4.9.4/include-fixed
-isystem /home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/../../../toolchain/2017.02.5_X86_32/host/usr/i686-buildroot-linux-gnu/sysroot/usr/include
-D_LIBC_REENTRANT -include
/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/libc-modules.h
-DMODULE_NAME=rtld -include ../include/libc-symbols.h -DPIC -DSHARED -o
/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-varshift.os
-MD -MP -MF
/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-varshift.os.dt
-MT
/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-varshift.os
-mno-sse -mno-mmx -mfpmath=387
In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,

                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:

../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without
SSE enabled changes the ABI [-Werror=psabi]
{
^
In file included from /home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/pmmintrin.h:31:0,
from
/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/tmmintrin.h:31,
from
/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/smmintrin.h:32,
from
/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/nmmintrin.h:31,

                 from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:

/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/emmintrin.h:692:1:
error: inlining failed in call to always_inline '_mm_loadu_si128': target
specific option mismatch
_mm_loadu_si128 (__m128i const *__P)
^
In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,

                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
   return _mm_shuffle_epi8 (value,
          ^

In file included from /home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/smmintrin.h:32:0,
from
/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/nmmintrin.h:31,

                 from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:

/home/dev01/data/toolchain/2017.02.5_X86_32/host/usr/lib/gcc/i686-buildroot-linux-gnu/4.9.4/include/tmmintrin.h:136:1:
error: inlining failed in call to always_inline '_mm_shuffle_epi8': target
specific option mismatch
_mm_shuffle_epi8 (__m128i __X, __m128i __Y)
^
In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,

                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
   return _mm_shuffle_epi8 (value,
          ^

cc1: all warnings being treated as errors /home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/sysd-rules:1661:
recipe for target '/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-strcspn-c.os' failed
make[6]: *** [/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-strcspn-c.os] Error 1
make[6]: *** Waiting for unfinished jobs....
In file included from ../sysdeps/x86_64/multiarch/varshift.c:19:0,

                 from ../sysdeps/i386/i686/multiarch/varshift.c:1:

../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without
SSE enabled changes the ABI [-Werror=psabi]
{
^
cc1: all warnings being treated as errors /home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/sysd-rules:1661:
recipe for target '/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-varshift.os' failed
make[6]: *** [/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-varshift.os] Error 1
../o-iterator.mk:9: recipe for target '/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-strchr.os' failed
make[5]: *** [/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/string/rtld-strchr.os] Error 2
Makefile:376: recipe for target '/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/elf/rtld-libc.a' failed
make[4]: *** [/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/build/elf/rtld-libc.a] Error 2
Makefile:214: recipe for target 'elf/subdir_lib' failed
make[3]: *** [elf/subdir_lib] Error 2
Makefile:9: recipe for target 'all' failed
make[2]: *** [all] Error 2
package/pkg-generic.mk:216: recipe for target '/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/.stamp_built' failed
make[1]: *** [/home/dev01/data/projects/buildroot-2017.02.5_X86_32/output/build/glibc-2.24/.stamp_built] Error 2
Makefile:79: recipe for target '_all' failed
make: *** [_all] Error 2

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 10156] glibc compilation fails for X86 32bits (i386)

https://bugs.busybox.net/show_bug.cgi?id=10156

--- Comment #1 from Thomas Petazzoni <[email protected]> --- Thanks for the bug report. Since the regression was introduced between 2017.02.3 and 2017.02.5, could you do a "git bisect" to find where the problem is ?

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#3 lore raw

[Buildroot] [Bug 10156] glibc compilation fails for X86 32bits (i386)

In reply to bugzilla at busybox.net

https://bugs.busybox.net/show_bug.cgi?id=10156

Thomas Petazzoni <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #3 from Thomas Petazzoni <[email protected]> --- Fixed by
https://git.buildroot.org/buildroot/commit/?id=163b6a5b39ad5b11b8ffa1704bc60a4ed09ee6b5.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.