Summary: | [4.7/ICE] building glibc fxprintf.c w/-march=iwmmxt: error: insn does not satisfy its constraints: ... internal compiler error: in reload_cse_simplify_operands, at postreload.c:403 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Alex <kav1979> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | ARM | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info
emerge -pqv '=sys-libs/glibc-2.15-r3::gentoo' environment build.log fxprintf.i reduced testcase |
Description
Alex
2013-11-06 10:23:54 UTC
Created attachment 362654 [details]
emerge --info
Created attachment 362656 [details]
emerge -pqv '=sys-libs/glibc-2.15-r3::gentoo'
Created attachment 362658 [details]
environment
Created attachment 362660 [details]
build.log
please run: cd /var/tmp/portage/sys-libs/glibc-2.15-r3/work/glibc-2.15/stdio-common armv5te-iwmmxt-linux-gnueabi-gcc fxprintf.c -E -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -march=iwmmxt -mtune=iwmmxt -pipe -Wstrict-prototyp es -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -I../include -I/var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common -I/var/tmp/portage/sys-libs/glibc-2.1 5-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl -I../ports/sysdeps/unix/sysv/linux/arm/eabi -I../ports/sysdeps/unix/s ysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/armv5te-iwmmxt-linux-gnueabi/4.7.3/include -isystem /usr/lib/gcc/armv5te-iwmmxt-linux-gnueabi/4.7.3/include-fixed -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -D_IO_MTSAFE_IO -o /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.o -MD -MP -MF /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.o.dt -MT /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.i then post that fxprintf.i file as an attachment After execution of this line file not formed. Tried to execute a command on one line and replaced by a newline character "\" - fxprintf.i missing. look at the build log and extract the command yourself for building this file. change the -c to -E and the output file from .o to .i. Created attachment 366096 [details]
fxprintf.i
I executed the following command:
hx4700 stdio-common # armv5te-iwmmxt-linux-gnueabi-gcc fxprintf.c -E -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -march=iwmmxt -mtune=iwmmxt -pipe -Wstrict-prototypes -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -I../include -I/var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common -I/var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl -I../ports/sysdeps/unix/sysv/linux/arm/eabi -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/armv5te-iwmmxt-linux-gnueabi/4.7.3/include -isystem /usr/lib/gcc/armv5te-iwmmxt-linux-gnueabi/4.7.3/include-fixed -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -D_IO_MTSAFE_IO -o /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.i -MD -MP -MF /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.o.dt -MT /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.i
File /var/tmp/portage/sys-libs/glibc-2.15-r3/work/build-default-armv5te-iwmmxt-linux-gnueabi-nptl/stdio-common/fxprintf.i added to attachment with name fxprintf.i
(In reply to Alex from comment #8) just need these flags: armv7a-unknown-linux-gnueabi-gcc -c fxprintf.i -std=gnu99 \ -O2 -march=iwmmxt -msoft-float Created attachment 366126 [details]
reduced testcase
issue seems to be fixed in gcc-4.8.2 (In reply to SpanKY from comment #9) > > just need these flags: > armv7a-unknown-linux-gnueabi-gcc -c fxprintf.i -std=gnu99 \ > -O2 -march=iwmmxt -msoft-float I need to replace the compiler (from 'armv5te-iwmmxt-linux-gnueabi-gcc' to 'armv7a-unknown-linux-gnueabi-gcc') or just swap in a make.conf line 'CFLAGS="-O2 -march=iwmmxt -mtune=iwmmxt -pipe"' to line 'CFLAGS="-O2 -march=iwmmxt -mtune=iwmmxt -pipe -msoft-float"'? And then I have a processor: hx4700 / # cat /proc/cpuinfo Processor : XScale-PXA270 rev 7 (v5l) BogoMIPS : 623.41 Features : swp half thumb fastmult edsp iwmmxt CPU implementer : 0x69 CPU architecture: 5TE CPU variant : 0x0 CPU part : 0x411 CPU revision : 7 Hardware : HP iPAQ HX4700 Revision : 0000 Serial : 0000000000000000 (In reply to Alex from comment #12) the tuple is irrelevant. it merely selects the default flags. i happened to have armv7a toolchain installed, so i tested with that. you can work around the issue by using -march=armv5te when building glibc instead of -march=iwmmxt. (In reply to SpanKY from comment #13) Ok. Thanks! gcc-4.8.2 compiling glibc without errors. gcc-4.9 is stable now, so throwing away older bugs we don't plan on doing backports for as this should be fixed w/4.9+. please re-open if it's still an issue with 4.9.3+ though. |