This is GCC Bugzilla
This is GCC Bugzilla Version 2.20+
View Bug Activity | Format For Printing | Clone This Bug
Building glibc's locale/programs/ld-collate.c causes failures with some arm targets. The errors seem to be in the last function, which is 1200 lines long. Exactly which ones depends a bit on exactly what version you're building. This happens with several versions of glibc (2.2.5, 2.3.3-20040822) and with several variants of CPU type (e.g. even plain arm supposedly may trigger it; see http://www.handhelds.org/hypermail/kernel-discuss/0/0066.html) It happened with gcc-3.4.0 (see http://www.kegel.com/crosstool/crosstool-0.28-rc26/buildlogs/0.28/arm-softfloat-gcc-3.4.0-glibc-2.2.5.txt) and again with gcc-3.4.1. I'll attach a preprocessed input file.
Created an attachment (id=6995) [edit] preprocessed output of ld-collate.c
Looks similar to PR16201, though this is C and that is C++...
Exactly what options were passed to which compiler with the attached test case?
I only had to pass -O. It doesn't happen without -O, and it doesn't happen with -O2 (at least in this case). If you'd like to see it in action in a larger testcase with gcc-3.4.2, here's how: wget http://kegel.com/crosstool/crosstool-0.28-rc37.tar.gz tar -xzvf crosstool-0.28-rc37.tar.gz cd crosstool-0.28-rc37 sudo mkdir /opt/crosstool sudo chown $USER /opt/crosstool sh demo-pr17209.sh I currently see the bug when building several versions of glibc for several flavors of ARM. It's 100% repeatable, but whether the bug bites depends on the details of the program being compiled, so not all combinations of ARM target and glibc version are affected.
You can also see log tails of the problem in action at http://www.kegel.com/crosstool/crosstool-0.28-rc37/buildlogs/0.28/ Five of the arm gcc-3.4.2 failures there are due to this problem. (The other three are due to an ICE in flow.c:3257.)
This is indeed a duplicate of PR16201 *** This bug has been marked as a duplicate of 16201 ***