Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 490546 - [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
Summary: [4.7/ICE] building glibc fxprintf.c w/-march=iwmmxt: error: insn does not sat...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-06 10:23 UTC by Alex
Modified: 2015-10-22 14:09 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge --info,4.00 KB, text/plain)
2013-11-06 10:25 UTC, Alex
Details
emerge -pqv '=sys-libs/glibc-2.15-r3::gentoo' (emerge -pqv glibc-2.15-r3,504 bytes, application/octet-stream)
2013-11-06 10:25 UTC, Alex
Details
environment (environment,134.16 KB, text/plain)
2013-11-06 10:26 UTC, Alex
Details
build.log (build.log.zip,36.19 KB, application/zip)
2013-11-06 10:27 UTC, Alex
Details
fxprintf.i (fxprintf.i,305.25 KB, text/plain)
2013-12-24 12:19 UTC, Alex
Details
reduced testcase (fxprintf.i,324 bytes, text/plain)
2013-12-24 20:58 UTC, SpanKY
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2013-11-06 10:23:54 UTC
Updated to gcc-4.7.3-r1 on hx4700.
I'm trying to recompile glibc: emerge glibc

But there is an error:
fxprintf.c:56:1: error: insn does not satisfy its constraints:
(insn 220 217 206 6 (set (reg/f:SI 13 sp)
        (reg/f:SI 44 wcgr1 [orig:200 saved_stack.3 ] [200])) 499 {*iwmmxt_movsi_insn}
     (expr_list:REG_ARGS_SIZE (const_int 0 [0])
        (nil)))
fxprintf.c:56:1: internal compiler error: in reload_cse_simplify_operands, at postreload.c:403

Reproducible: Always
Comment 1 Alex 2013-11-06 10:25:01 UTC
Created attachment 362654 [details]
emerge --info
Comment 2 Alex 2013-11-06 10:25:36 UTC
Created attachment 362656 [details]
emerge -pqv '=sys-libs/glibc-2.15-r3::gentoo'
Comment 3 Alex 2013-11-06 10:26:28 UTC
Created attachment 362658 [details]
environment
Comment 4 Alex 2013-11-06 10:27:11 UTC
Created attachment 362660 [details]
build.log
Comment 5 SpanKY gentoo-dev 2013-12-24 07:42:47 UTC
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
Comment 6 Alex 2013-12-24 10:37:55 UTC
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.
Comment 7 SpanKY gentoo-dev 2013-12-24 11:09:23 UTC
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.
Comment 8 Alex 2013-12-24 12:19:23 UTC
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
Comment 9 SpanKY gentoo-dev 2013-12-24 20:40:40 UTC
(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
Comment 10 SpanKY gentoo-dev 2013-12-24 20:58:08 UTC
Created attachment 366126 [details]
reduced testcase
Comment 11 SpanKY gentoo-dev 2013-12-24 21:29:09 UTC
issue seems to be fixed in gcc-4.8.2
Comment 12 Alex 2013-12-25 05:05:52 UTC
(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
Comment 13 SpanKY gentoo-dev 2013-12-25 08:08:32 UTC
(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.
Comment 14 Alex 2013-12-25 11:18:12 UTC
(In reply to SpanKY from comment #13)

Ok. Thanks!
Comment 15 Alex 2014-02-13 12:30:41 UTC
gcc-4.8.2 compiling glibc without errors.
Comment 16 SpanKY gentoo-dev 2015-10-22 14:09:53 UTC
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.