[Bug target/52488] avr-*: internal compiler error: in extract_insn, at recog.c:2123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52488 --- Comment #9 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-03-13 06:16:03 UTC --- (In reply to comment #8) (In reply to comment #7) You can look up in the device datasheet to see how much RAM it has. Well, datasheets is one thing, GCC's internal notion is yet another. Or do you want GCC to print out how much RAM each device has? No, I would expect GCC to print its rationale for this rejection. e.g. something like allocating 2050 byte of stack exceeds maximum stack size (1024 bytes) ... Well, my view is different: The avr's default set of multilib variants is non-suitable as general default set of multlib variants. It probably is suiteable as set of multilibs for bare-metal targets, but does not meet the demands of OSes. Do you have recommendations? Or better still, a patch? We will see, I am currently looking into implementing custom multilibs for avr-RTEMS, which may result into a patch addressing this as a side-effect. However, the avr's multilib implementation diverges from what is used almost elsewhere in GCC to an extend, this is a tedious.
[Bug target/52575] New: avr*: error: unable to find a register to spill in class 'POINTER_REGS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575 Bug #: 52575 Summary: avr*: error: unable to find a register to spill in class 'POINTER_REGS Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: ralf_corsep...@rtems.org CC: eric.wedding...@atmel.com, g...@gcc.gnu.org, joel.sherr...@oarcorp.com Target: avr-* Created attachment 26883 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26883 *.i of the file triggering the error Bootstrapping gcc-4.7.0-RC-20120203 ICEs for avr-rtems*: /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/xgcc -B/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/ -nostdinc -B/builddir/build/BUILD/rtems-4.11-avr--4.7.0/build/avr-rtems4.11/avr25/newlib/ -isystem /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/avr-rtems4.11/avr25/newlib/targ-include -isystem /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/gcc-4.7.0-RC-20120302/newlib/libc/include -B/opt/rtems-4.11/avr-rtems4.11/bin/ -B/opt/rtems-4.11/avr-rtems4.11/lib/ -isystem /opt/rtems-4.11/avr-rtems4.11/include -isystem /opt/rtems-4.11/avr-rtems4.11/sys-include -mmcu=avr25 -DPACKAGE_NAME=\newlib\ -DPACKAGE_TARNAME=\newlib\ -DPACKAGE_VERSION=\1.20.0\ -DPACKAGE_STRING=\newlib\ 1.20.0\ -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -I. -I../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search -Os -DPREFER_SIZE_OVER_SPEED -mcall-prologues -D_COMPILING_NEWLIB -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -fno-builtin -g -O2 -c -o lib_a-hash.o `test -f 'hash.c' || echo '../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/'`hash.c -save-temps ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c: In function '__expand_table': ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:898:1: error: unable to find a register to spill in class 'POINTER_REGS' ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:898:1: error: this is the insn: (insn 172 96 173 10 (set (reg:QI 18 r18) (mem/c:QI (plus:HI (reg/f:HI 28 r28) (const_int 5 [0x5])) [16 S1 A8])) ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:886 18 {movqi_insn} (nil)) ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/search/hash.c:898: confused by earlier errors, bailing out Configuration: CC='gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' ../gcc-4.7.0-RC-20120302/configure --prefix=/opt/rtems-4.11 --bindir=/opt/rtems-4.11/bin --exec_prefix=/opt/rtems-4.11 --includedir=/opt/rtems-4.11/include --libdir=/opt/rtems-4.11/lib --libexecdir=/opt/rtems-4.11/libexec --mandir=/opt/rtems-4.11/share/man --infodir=/opt/rtems-4.11/share/info --datadir=/opt/rtems-4.11/share --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=avr-rtems4.11 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --with-system-zlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --enable-threads --disable-lto --disable-plugin --enable-newlib-io-c99-formats --enable-newlib-iconv --enable-languages=c
[Bug target/52575] avr*: error: unable to find a register to spill in class 'POINTER_REGS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575 --- Comment #1 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-03-13 08:11:56 UTC --- FWIW: As things currently appear, this breakdown is not restricted to the -mmcu=avr25 multilib-variant, but affects all RTEMS multilibs.
[Bug target/52575] avr*: error: unable to find a register to spill in class 'POINTER_REGS
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575 --- Comment #3 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-03-13 14:08:21 UTC --- (In reply to comment #2) There are already spill fails reported for AVR, it's a known problem. At this point it cannot be said if this PR is really the same as PR50925, but it's not unlikely. I am confused: PR50925 says fails to build 4.6.2, however avr-rtems-gcc4.6.2 and 4.6.3 are known to build, c.f. (4.6.2-based rpms) ftp://ftp.rtems.org/pub/rtems/linux/obsolete/4.11/fedora/16/ and (4.6.3-based rpms) ftp://ftp.rtems.org/pub/rtems/linux/4.11/fedora/16 ... but 4.7.0 does not BUILD at all! = Regression
[Bug target/52488] avr-*: internal compiler error: in extract_insn, at recog.c:2123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52488 --- Comment #13 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-03-13 14:16:10 UTC --- (In reply to comment #11) (In reply to comment #7) BTW: The -mmcu=at90s2313 from above is fallout from -print-multi-lib. Well, IMO, --print-multi-lib is the only legitmate configuration. FYI: I could provide an alternative configuration for RTEMS, but avr-gcc-4.7.0 currently does not build at all due to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52925 rsp. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52575.
[Bug target/52488] avr-*: internal compiler error: in extract_insn, at recog.c:2123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52488 --- Comment #2 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-03-12 06:21:42 UTC --- Created attachment 26876 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26876 *.i of the file triggering the ICE This *.i was created from today's (ca. 2012-03-12 05:00 UTC) gcc from gcc-4_7-branch ../gcc-4.7.0-RC-20120302/configure --prefix=/opt/rtems-4.11 --bindir=/opt/rtems-4.11/bin --exec_prefix=/opt/rtems-4.11 --includedir=/opt/rtems-4.11/include --libdir=/opt/rtems-4.11/lib --libexecdir=/opt/rtems-4.11/libexec --mandir=/opt/rtems-4.11/share/man --infodir=/opt/rtems-4.11/share/info --datadir=/opt/rtems-4.11/share --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=avr-rtems4.11 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --with-system-zlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --enable-threads --disable-lto --disable-plugin --enable-newlib-io-c99-formats --enable-newlib-iconv --enable-languages=c ... make ... /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/xgcc -B/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/ -nostdinc -B/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/avr-rtems4.11/tiny-stack/newlib/ -isystem /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/avr-rtems4.11/tiny-stack/newlib/targ-include -isystem /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/gcc-4.7.0-RC-20120302/newlib/libc/include -B/opt/rtems-4.11/avr-rtems4.11/bin/ -B/opt/rtems-4.11/avr-rtems4.11/lib/ -isystem /opt/rtems-4.11/avr-rtems4.11/include -isystem /opt/rtems-4.11/avr-rtems4.11/sys-include -mmcu=at90s2313 -DPACKAGE_NAME=\newlib\ -DPACKAGE_TARNAME=\newlib\ -DPACKAGE_VERSION=\1.20.0\ -DPACKAGE_STRING=\newlib\ 1.20.0\ -DPACKAGE_BUGREPORT=\\ -DPACKAGE_URL=\\ -I. -I../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix -Os -DPREFER_SIZE_OVER_SPEED -mcall-prologues -D_COMPILING_NEWLIB -DMALLOC_PROVIDED -DEXIT_PROVIDED -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_ASSERT_FUNC -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET -D_NO_WORDEXP -D_NO_POPEN -fno-builtin -D_GNU_SOURCE -g -O2 -c -o lib_a-glob.o `test -f 'glob.c' || echo '../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/'`glob.c ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c: In function 'glob': ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:206:1: error: unrecognizable insn: (insn/f 305 304 306 2 (set (reg:QI 28 r28) (plus:QI (reg:QI 28 r28) (const_int -2050 [0xf7fe]))) ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:160 -1 (expr_list:REG_CFA_ADJUST_CFA (set (reg/f:HI 28 r28) (plus:HI (reg/f:HI 28 r28) (const_int -2050 [0xf7fe]))) (nil))) ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:206:1: internal compiler error: in extract_insn, at recog.c:2123 One-tree-style bootstrap (comprising newlib), using avr-rtems4.11-binutils-2.22, newlib-1.20 + rtems patches (glob.c is part of newlib) on fedora-16-x86_64.
[Bug target/52488] avr-*: internal compiler error: in extract_insn, at recog.c:2123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52488 --- Comment #7 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-03-13 03:28:39 UTC --- Result with your patch applied: ... ./../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c: In function 'glob': ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:206:1: error: allocating 2050 bytes of stack is more than 'at90s2313' can provide make[8]: *** [lib_a-glob.o] Error 1 = Progress, at least no ICE. However, this warning still leaves users in unclearity as GCC doesn't tell the maximum of stack it can provide. (In reply to comment #6) avr-gcc 4.7 implements PR51345 which result in new multilib variants for tiny devices with only 8-bit SP. newlib derives its build configury from -print-multi-directory Yes, that's the way multilibs are being built ever since multilibs exists ( 20 years?). or whatever and tries to build insane code with 2050 bytes of stack for device(s) with only 128 bytes of RAM. Well, my view is different: The avr's default set of multilib variants is non-suitable as general default set of multlib variants. It probably is suiteable as set of multilibs for bare-metal targets, but does not meet the demands of OSes. That said, I feel RTEMS needs to implement custom multilibs for the avr.
[Bug c++/52481] New: m68k-*: internal compiler error: in extract_insn, at recog.c:2123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52481 Bug #: 52481 Summary: m68k-*: internal compiler error: in extract_insn, at recog.c:2123 Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ralf_corsep...@rtems.org Target: m68k-rtems* Bootstrapping gcc-4.7.0-RC-20120302 for m68k-rtems* fails with this error: ... libtool: compile: /builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/./gcc/xgcc -shared-libgcc -B/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/./gcc -nostdinc++ -L/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/libstdc++-v3/src -L/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/libstdc++-v3/src/.libs -nostdinc -B/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/newlib/ -isystem /builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/newlib/targ-include -isystem /builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/gcc-4.7.0-RC-20120302/newlib/libc/include -B/opt/rtems-4.11/m68k-rtems4.11/bin/ -B/opt/rtems-4.11/m68k-rtems4.11/lib/ -isystem /opt/rtems-4.11/m68k-rtems4.11/include -isystem /opt/rtems-4.11/m68k-rtems4.11/sys-include -mcpu=5206 -I/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/gcc-4.7.0-RC-20120302/libstdc++-v3/../libgcc -I/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/libstdc++-v3/include/m68k-rtems4.11 -I/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/libstdc++-v3/include -I/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/gcc-4.7.0-RC-20120302/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=compatibility-atomic-c++0x.lo -std=gnu++11 -g -O2 -mcpu=5206 -c ../../../../../../gcc-4.7.0-RC-20120302/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc -o compatibility-atomic-c++0x.o ../../../../../../gcc-4.7.0-RC-20120302/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc: In function 'bool std::atomic_flag_test_and_set_explicit(std::__atomic_flag_base*, std::memory_order)': ../../../../../../gcc-4.7.0-RC-20120302/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:100:3: error: unrecognizable insn: (insn 11 10 12 3 (set (reg:QI 33 [ D.31990 ]) (neg:QI (reg:QI 33 [ D.31990 ]))) /builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/libstdc++-v3/include/bits/atomic_base.h:259 -1 (nil)) ../../../../../../gcc-4.7.0-RC-20120302/libstdc++-v3/src/c++11/compatibility-atomic-c++0x.cc:100:3: internal compiler error: in extract_insn, at recog.c:2123 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. make[9]: *** [compatibility-atomic-c++0x.lo] Error 1 make[9]: *** Waiting for unfinished jobs make[9]: Leaving directory `/builddir/build/BUILD/rtems-4.11-m68k-rtems4.11-gcc-4.7.0/build/m68k-rtems4.11/m5206/libstdc++-v3/src/c++11' Configuration: CC='gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' ../gcc-4.7.0-RC-20120302/configure --prefix=/opt/rtems-4.11 --bindir=/opt/rtems-4.11/bin --exec_prefix=/opt/rtems-4.11 --includedir=/opt/rtems-4.11/include --libdir=/opt/rtems-4.11/lib --libexecdir=/opt/rtems-4.11/libexec --mandir=/opt/rtems-4.11/share/man --infodir=/opt/rtems-4.11/share/info --datadir=/opt/rtems-4.11/share --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=m68k-rtems4.11 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --with-system-zlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --enable-threads --disable-lto --disable-plugin --enable-newlib-io-c99-formats --enable-newlib-iconv --enable-languages=c,c++
[Bug target/52488] New: avr-*: internal compiler error: in extract_insn, at recog.c:2123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52488 Bug #: 52488 Summary: avr-*: internal compiler error: in extract_insn, at recog.c:2123 Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: ralf_corsep...@rtems.org CC: joel.sherr...@oarcorp.com Target: avr-* Bootstrapping gcc-4.7.0-RC-20120203 ICEs for avr-rtems*: /builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/xgcc -B/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4.7.0/build/./gcc/ -nostdinc -B/builddir/build/BUILD/rtems-4.11-avr-rtems4.11-gcc-4 ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c: In function 'glob': ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:206:1: error: unrecognizable insn: (insn/f 305 304 306 2 (set (reg:QI 28 r28) (plus:QI (reg:QI 28 r28) (const_int -2050 [0xf7fe]))) ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:160 -1 (expr_list:REG_CFA_ADJUST_CFA (set (reg/f:HI 28 r28) (plus:HI (reg/f:HI 28 r28) (const_int -2050 [0xf7fe]))) (nil))) ../../../../../../gcc-4.7.0-RC-20120302/newlib/libc/posix/glob.c:206:1: internal compiler error: in extract_insn, at recog.c:2123 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html for instructions. make[8]: *** [lib_a-glob.o] Error 1 Configuration: CC='gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' ../gcc-4.7.0-RC-20120302/configure --prefix=/opt/rtems-4.11 --bindir=/opt/rtems-4.11/bin --exec_prefix=/opt/rtems-4.11 --includedir=/opt/rtems-4.11/include --libdir=/opt/rtems-4.11/lib --libexecdir=/opt/rtems-4.11/libexec --mandir=/opt/rtems-4.11/share/man --infodir=/opt/rtems-4.11/share/info --datadir=/opt/rtems-4.11/share --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=avr-rtems4.11 --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --verbose --with-newlib --with-system-zlib --disable-nls --without-included-gettext --disable-win32-registry --enable-version-specific-runtime-libs --enable-threads --disable-lto --disable-plugin --enable-newlib-io-c99-formats --enable-newlib-iconv --enable-languages=c
[Bug bootstrap/52466] New: gcc-4.7.0-RC-20120302 fails to build for --target=lm32-rtems4.11
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52466 Bug #: 52466 Summary: gcc-4.7.0-RC-20120302 fails to build for --target=lm32-rtems4.11 Classification: Unclassified Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: ralf_corsep...@rtems.org gcc-4.7.0-RC-20120302 fails to bootstrap for --target=lm32-rtems4.11 ... checking whether decimal floating point is supported... no configure: WARNING: decimal float is not supported for this target, ignored checking whether fixed-point is supported... no checking whether to use setjmp/longjmp exceptions... unknown configure: error: unable to detect exception model make[1]: *** [configure-target-libgcc] Error 1
[Bug bootstrap/51969] [4.6 regression] gcc 4.7 unable to build gcc 4.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51969 --- Comment #3 from Ralf Corsepius ralf_corsepius at rtems dot org 2012-01-24 07:05:03 UTC --- Thanks, Markus, Jakub. Despite I don't understand this patch, it patch seems to work for me :)
[Bug target/31797] New: powerpc: race
When building RTEMS with gcc-4.2.0-20070430, gcc races on one file of the RTEMS sources. It consumes up all available CPU time, gradually (very slowly) seems consume all memory and doesn't seem to finish: PID USER PR NI VIRT RES SHR S %CPU %MEMTIME+ COMMAND 6176 joel 18 0 1614m 937m 604 D2 92.9 491:53.20 cc1 # ps ax | grep cc1 6176 ?D491:55 /opt/rtems-4.8/libexec/gcc/powerpc-rtems4.8/4.2.0/cc1 -quiet -imultilib m7400 -isystem ../../../../../.././mvme5500/lib/include -MD network_rel-GT64260eth.d -MF .deps/network_rel-GT64260eth.Tpo -MP -MT network_rel-GT64260eth.o -MQ network_rel-GT64260eth.o -DHAVE_CONFIG_H -D_KERNEL -Dmpc7455 -isystem ../../../../../.././mvme5500/lib/include ../../../../../../../../current/c/src/lib/libbsp/powerpc/mvme5500/network/GT64260eth.c -quiet -dumpbase GT64260eth.c -mcpu=7450 -mno-altivec -mabi=altivec -mvrsave=no -mmultiple -mstring -mstrict-align -ansi -auxbase-strip network_rel-GT64260eth.o -g -O2 -Wall -ansi -fasm -o - This issue is reproduceable on i386-FC5 and FC6. I would try to attach the *.i, but bugzilla refuses to let to do so, ATM. The same piece of code compiles fine with gcc-4.1.2 and older, so I am inclined to call this to be a regression. -- Summary: powerpc: race Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ralf_corsepius at rtems dot org GCC target triplet: powerpc-rtems* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31797
[Bug target/31797] powerpc: race
--- Comment #1 from ralf_corsepius at rtems dot org 2007-05-03 09:36 --- Using -O1 instead of -O2 causes the hogging to vanish. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31797
[Bug target/31786] error: unable to find a register to spill in class 'BASE_POINTER_REGS'
--- Comment #2 from ralf_corsepius at rtems dot org 2007-05-03 10:27 --- I can also reproduce the bug with 4.2.0-20070501. It also is related to optimization levels. Newlib is being compiled with -O2, which triggers this breakdown. Using -O1 or -Os to build init.c lets the breakdown vanish. Eric, due to bugzilla's current brokenness, I am sending you the *.i on PM. -- ralf_corsepius at rtems dot org changed: What|Removed |Added Known to fail||4.2.0 Known to work||4.0.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786
[Bug target/31786] error: unable to find a register to spill in class 'BASE_POINTER_REGS'
--- Comment #3 from ralf_corsepius at rtems dot org 2007-05-03 10:43 --- Created an attachment (id=13501) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13501action=view) *.i of the breakdown above -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786
[Bug target/31797] powerpc: race
--- Comment #2 from ralf_corsepius at rtems dot org 2007-05-03 10:45 --- Created an attachment (id=13502) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13502action=view) *.i of the breakdown above -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31797
[Bug target/31787] bfin: Dreg expected for CLI. Input text was P0.
--- Comment #2 from ralf_corsepius at rtems dot org 2007-05-03 10:47 --- Created an attachment (id=13503) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13503action=view) *.i of the breakdown above -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31787
[Bug target/31786] error: unable to find a register to spill in class 'BASE_POINTER_REGS'
--- Comment #6 from ralf_corsepius at rtems dot org 2007-05-03 14:07 --- This is the minimised *.c having been extracted from newlib's file exposing the bug: -- snip -- extern void (*array_start []) (void); extern void (*array_end []) (void); void init_array (void) { int count; int i; count = array_end - array_start; for (i = 0; i count; i++) array_start[i] (); } -- snip -- Pretty trivial code, isn't it? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786
[Bug target/31786] error: unable to find a register to spill in class 'BASE_POINTER_REGS'
--- Comment #7 from ralf_corsepius at rtems dot org 2007-05-03 15:20 --- FYI: Vanilla gcc-4.1.2 without newlib also exposes this issue with the code fragment from comment #6: ./avr-gcc -o tmp.o -c init.c -O2 init.c: In function 'init_array': init.c:12: error: unable to find a register to spill in class 'BASE_POINTER_REGS' init.c:12: error: this is the insn: (insn 61 30 31 2 (set (mem/c:HI (plus:HI (reg/f:HI 28 r28) (const_int 1 [0x1])) [4 S2 A8]) (reg:HI 24 r24)) 12 {*movhi} (nil) (nil)) init.c:12: confused by earlier errors, bailing out -- ralf_corsepius at rtems dot org changed: What|Removed |Added Known to fail|4.2.0 |4.1.2 4.2.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786
[Bug target/31797] powerpc: race
--- Comment #3 from ralf_corsepius at rtems dot org 2007-05-04 06:29 --- Created an attachment (id=13505) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13505action=view) Stripped down example to expose the issue on all targets -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31797
[Bug target/31797] gcc-4.2.0 racing
--- Comment #4 from ralf_corsepius at rtems dot org 2007-05-04 06:36 --- Using GT64260eth.c from attachment 13505, I am able to reproduce the race with gcc-4.2.0-20070430 for arm-rtems, bfin-rtems, powerpc-rtems, i386-rtems. = I assume this issue to be target independent and to affect all targets. -- ralf_corsepius at rtems dot org changed: What|Removed |Added Severity|normal |major GCC target triplet|powerpc-rtems* |all Summary|powerpc: race |gcc-4.2.0 racing http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31797
[Bug target/18251] unable to find a register to spill in class `POINTER_REGS'
--- Comment #35 from ralf_corsepius at rtems dot org 2007-05-02 14:07 --- Now, bootstrapping 4.2.0 fails with a similar error /builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/build/./gcc/xgcc -B/builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/b ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c: In function '__libc_fini_array': ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:59: error: unable to find a register to spill in class 'BASE_POINTER_ ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:59: error: this is the insn: (insn 84 55 56 4 ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:56 (set (mem/c:HI (plus:HI (reg/f:HI 28 r28) (const_int 1 [0x1])) [5 S2 A8]) (reg:HI 24 r24)) 12 {*movhi} (nil) (nil)) ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:59: confused by earlier errors, bailing out -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251
[Bug target/31786] New: error: unable to find a register to spill in class 'BASE_POINTER_REGS'
bootstrapping avr-rtems* gcc-4.2.0-200704030 fails with: /builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/build/./gcc/xgcc -B/builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/build/./gcc/ -nostdinc -B/builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/build/avr-rtems4.8/newlib/ -isystem /builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/build/avr-rtems4.8/newlib/targ-include -isystem /builddir/build/BUILD/rtems-4.8-avr-rtems4.8-gcc-4.2.0/gcc-4.2.0-20070430/newlib/libc/include -B/opt/rtems-4.8/avr-rtems4.8/bin/ -B/opt/rtems-4.8/avr-rtems4.8/lib/ -isystem /opt/rtems-4.8/avr-rtems4.8/include -isystem /opt/rtems-4.8/avr-rtems4.8/sys-include -DPACKAGE_NAME=\newlib\ -DPACKAGE_TARNAME=\newlib\ -DPACKAGE_VERSION=\1.15.0\ -DPACKAGE_STRING=\newlib\ 1.15.0\ -DPACKAGE_BUGREPORT=\\ -I. -I../../../../../../gcc-4.2.0-20070430/newlib/libc/misc -Os -DPREFER_SIZE_OVER_SPEED -mcall-prologues -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_OPENDIR -DNO_EXEC -DHAVE_FCNTL -fno-builtin -O2 -g -O2 -mmcu=avr25 -c -o lib_a-init.o `test -f 'init.c' || echo '../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/'`init.c ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c: In function '__libc_fini_array': ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:59: error: unable to find a register to spill in class 'BASE_POINTER_REGS' ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:59: error: this is the insn: (insn 84 55 56 4 ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:56 (set (mem/c:HI (plus:HI (reg/f:HI 28 r28) (const_int 1 [0x1])) [5 S2 A8]) (reg:HI 24 r24)) 12 {*movhi} (nil) (nil)) ../../../../../../gcc-4.2.0-20070430/newlib/libc/misc/init.c:59: confused by earlier errors, bailing out -- Summary: error: unable to find a register to spill in class 'BASE_POINTER_REGS' Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ralf_corsepius at rtems dot org GCC target triplet: avr-rtems* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786
[Bug target/18251] unable to find a register to spill in class `POINTER_REGS'
--- Comment #36 from ralf_corsepius at rtems dot org 2007-05-02 14:16 --- (In reply to comment #35) Now, bootstrapping 4.2.0 fails with a similar error Filed as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251
[Bug target/31787] New: bfin: Dreg expected for CLI. Input text was P0.
Building RTEMS for the bfin using gcc-4.2.0-20070430 raises the following error: bfin-rtems4.8-gcc --pipe -DHAVE_CONFIG_H -I.. -I../../lib/include -D__RTEMS_INSIDE__ -Wall -fasm -g -O2 -MT src/librtems_a-eventsurrender.o -MD -MP -MF src/.deps/librtems_a-eventsurrender.Tpo -c -o src/librtems_a-eventsurrender.o `test -f 'src/eventsurrender.c' || echo '../../../../../rtems.orig/cpukit/rtems/'`src/eventsurrender.c {standard input}: Assembler messages: {standard input}:31: Error: Dreg expected for CLI. Input text was P0. {standard input}:83: Error: Dreg expected for STI. Input text was P0. {standard input}:154: Error: Dreg expected for STI. Input text was P0. {standard input}:173: Error: Dreg expected for STI. Input text was P0. make: *** [src/librtems_a-eventsurrender.o] Error 1 Changing the optimization level to -O0 causes the error to vanish. -- Summary: bfin: Dreg expected for CLI. Input text was P0. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ralf_corsepius at rtems dot org GCC target triplet: bfin-rtems4.8 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31787
[Bug target/31787] bfin: Dreg expected for CLI. Input text was P0.
--- Comment #1 from ralf_corsepius at rtems dot org 2007-05-02 17:05 --- I've been trying to attach the *.i of this breakdown, but creating attachments seems to be broken right now. I am always receiving this: undef error - Undefined subroutine Fh::slice at data/template/template/en/default/global/hidden-fields.html.tmpl line 58 -- ralf_corsepius at rtems dot org changed: What|Removed |Added CC||dberlin at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31787
[Bug target/18295] New: ICE
The code from the attachment causes arm-rtems-gcc/arm-elf-gcc to ICE at -O3: # arm-rtems4.7-gcc -msoft-float -O3 -c clnt_tcp.i ../../../../../../../rtems.orig/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c: In function `clnttcp_call': ../../../../../../../rtems.orig/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c:291: warning: assignment from incompatible pointer type ../../../../../../../rtems.orig/c/src/../../cpukit/librpc/src/rpc/clnt_tcp.c:328: internal compiler error: in verify_local_live_at_start, at flow.c:546 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for instructions. It does not ice with optimization levels 3. # arm-rtems4.7-gcc --version arm-rtems4.7-gcc (GCC) 3.4.3 20041103 (prerelease) This is a regression against gcc-3.2.3 which compiles the code without error. -- Summary: ICE Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ralf_corsepius at rtems dot org CC: gcc-bugs at gcc dot gnu dot org,joel at oarcorp dot com GCC target triplet: arm-elf* arm-rtems* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18295
[Bug rtl-optimization/18295] ICE
--- Additional Comments From ralf_corsepius at rtems dot org 2004-11-04 04:42 --- Created an attachment (id=7470) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7470action=view) *.i of a real world source files triggering the ICE -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18295
[Bug rtl-optimization/18295] ICE
--- Additional Comments From ralf_corsepius at rtems dot org 2004-11-04 05:16 --- Thanks, yes, 15342 looks very similar. And yes, it does not ice at -O2 (This is what I had meant by writing it does not ice at optimization levels 3). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18295
[Bug target/18251] New: unable to find a register to spill in class `POINTER_REGS'
Compiling the file from the attachment with -Os or greater -O1 results into the compiler producing this: # avr-rtems4.7-gcc -mmcu=avr5 -Os -g -Wall -c -o termios.o termios.c termios.c: In function `termios_open': termios.c:97: error: unable to find a register to spill in class `POINTER_REGS' termios.c:97: error: this is the insn: (insn 66 63 120 3 termios.c:91 (parallel [ (set (mem:BLK (reg/v/f:HI 28 r28 [orig:44 tty ] [44]) [0 A8]) (mem:BLK (reg/v/f:HI 45 [ callbacks ]) [0 A8])) (use (reg:QI 24 r24 [55])) (use (const_int 1 [0x1])) (clobber (scratch:HI)) (clobber (scratch:HI)) (clobber (scratch:QI)) ]) 16 {*movstrqi_insn} (insn_list 62 (insn_list 63 (nil))) (expr_list:REG_DEAD (reg:QI 24 r24 [55]) (expr_list:REG_DEAD (reg/v/f:HI 45 [ callbacks ]) (expr_list:REG_UNUSED (scratch:QI) (expr_list:REG_UNUSED (scratch:HI) (expr_list:REG_UNUSED (scratch:HI) (nil))) termios.c:97: confused by earlier errors, bailing out avr-rtems* basically is identical to the bare avr, so I'd expect this bug to be reproducable with all avr-* GCC's # avr-rtems4.7-gcc --version avr-rtems4.7-gcc (GCC) 3.4.3 20041027 (prerelease) -- Summary: unable to find a register to spill in class `POINTER_REGS' Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ralf_corsepius at rtems dot org CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: avr* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251
[Bug target/18251] unable to find a register to spill in class `POINTER_REGS'
--- Additional Comments From ralf_corsepius at rtems dot org 2004-10-31 12:53 --- Created an attachment (id=7441) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7441action=view) example code to reproduce the breakdown. The example code is a stripped down version of a much larger real world piece of code triggering this breakdown -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251
[Bug target/18251] unable to find a register to spill in class `POINTER_REGS'
-- What|Removed |Added CC||joel at oarcorp dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18251
[Bug target/18039] New: ICE w/ -O3
The following ICE occurs for gcc-3.4.3pre when using -O3. It does not occur with -O2 or below: # avr-rtems4.7-gcc -v -Wall -O3 -otmp.o -c ata.i Reading specs from /opt/rtems-4.7/lib/gcc/avr-rtems4.7/3.4.3/specs Configured with: ../gcc-3.4.3/configure --prefix=/opt/rtems-4.7 --mandir=/opt/rtems-4.7/man --infodir=/opt/rtems-4.7/info --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu --target=avr-rtems4.7 --with-gnu-as --with-gnu-ld --with-newlib --verbose --with-system-zlib --disable-nls --enable-version-specific-runtime-libs --enable-threads=rtems --enable-languages=c Thread model: rtems gcc version 3.4.3 20040922 (prerelease) /opt/rtems-4.7/libexec/gcc/avr-rtems4.7/3.4.3/cc1 -fpreprocessed ata.i -quiet -dumpbase ata.i -auxbase-strip tmp.o -O3 -Wall -version -o /tmp/cczrnjtd.s GNU C version 3.4.3 20040922 (prerelease) (avr-rtems4.7) compiled by GNU C version 3.3.3 20040412 (Red Hat Linux 3.3.3-7). GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64478 ata.i: In function `ata_initialize': ata.i:25: error: unrecognizable insn: (insn 78 77 83 0 (parallel [ (set (mem:BLK (reg/f:HI 46) [0 A8]) (const_int 0 [0x0])) (use (reg:QI 45)) (use (const_int 1 [0x1])) (clobber (reg:QI 55)) (clobber (reg/f:HI 54)) ]) -1 (insn_list 76 (insn_list 77 (nil))) (expr_list:REG_UNUSED (reg/f:HI 54) (expr_list:REG_UNUSED (reg:QI 55) (nil ata.i:25: internal compiler error: in extract_insn, at recog.c:2083 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for instructions. [avr-rtems* is basically identical to GCC's standard bare avr target, except that it is build against newlib. I'd expect this bug to be reproducable with other avr-targets] -- Summary: ICE w/ -O3 Product: gcc Version: 3.4.3 Status: UNCONFIRMED Severity: normal Priority: P2 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ralf_corsepius at rtems dot org CC: gcc-bugs at gcc dot gnu dot org,joel at oarcorp dot com GCC target triplet: avr-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18039
[Bug target/18039] ICE w/ -O3
--- Additional Comments From ralf_corsepius at rtems dot org 2004-10-17 09:09 --- Created an attachment (id=7367) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7367action=view) Stripped down, preprocessed source code to trigger the ICE. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18039
[Bug target/16884] [3.4 Regression] [fweb related] bug while initialising variables
--- Additional Comments From ralf_corsepius at rtems dot org 2004-10-17 20:07 --- (In reply to comment #7) *** Bug 18039 has been marked as a duplicate of this bug. *** I can confirm that the bug I had reported in PR 18039, does not occur anymore with today's GCC from gcc-3.4-branc (version 3.4.3 20041017 (prerelease)). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16884
[Bug bootstrap/14614] Double target prefixed gcjh
--- Additional Comments From ralf_corsepius at rtems dot org 2004-10-13 14:41 --- (In reply to comment #7) Eric, do you happen to know when this bug first appeared? I noticed it for the first time shortly before submitting this PR (Opened: 2004-03-17; cf. above;). I don't recall the corresponding gcc-release off hand but notes in my build-scripts indicate this bug to have appeared before gcc-3.4.0. As gcj doesn't build for most of my usual targets (embedded *rtems cross-toolchiains) due to lack of the infrastructure it requires, I have disabled building gcj since then and can't tell if this issue has re-appeared or if had been persistent since then. I can't speak for the original reporter of this bug though. I am the original reporter ;) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14614
[Bug target/17824] Hard-coded AS and LD in c4x.h
--- Additional Comments From ralf_corsepius at rtems dot org 2004-10-04 12:51 --- 1. The PR is against 3.4-branch, because this is what I am using, what I tested the patch with and what I am reporting the bug against. 2. The patch applies to HEAD without changes. 3. Why is GCC asking to file PRs to bugzilla, if they are requested to post patch proposals to gcc-patches afterwards. Sorry, but this is just ineffective. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17824
[Bug target/17824] Hard-coded AS and LD in c4x.h
--- Additional Comments From ralf_corsepius at rtems dot org 2004-10-04 13:22 --- 1. I am used to my patches being ignored :( Therefore I usually attach them to a PR they are trying to solve to prevent them from being ignored. 2. Note that http://gcc.gnu.org/contribute.html doesn't even mention gcc-patches@ 3. I would expect PRs in bugzilla to become assigned to somebody (maintainer) who will take care about it and process it. Anyway, I'll once again, duplicate this PR and try to send it to gcc-patches@, if I should I manage to convince gcc-patches@'s broken spam filter to let me send. All in all pretty unpleasant for a trivial 4-liner patch and not necessarily encouraging to contribute further patches. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17824