Bug 38299 - internal error: segmentation fault
Summary: internal error: segmentation fault
Status: RESOLVED WONTFIX
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 3.2.1
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-28 08:47 UTC by sayed israr
Modified: 2012-04-14 17:58 UTC (History)
2 users (show)

See Also:
Host: microsoft windows-XP
Target: arm-elf
Build: i686-pc-cygwin
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description sayed israr 2008-11-28 08:47:39 UTC
hello!! 
  i am new to GCC i m building a crooocompiler for arm-elf target...i m having cygwin 2.-- or later DLL version...following are details of my toolchain:
1)Binutils-2.13.1/insight-5.3
2)GCC...c/c++  .. version 3.2.1
3)eCos --2.0 with WXwidgets --2.8.9
  Now following are the parameters passed while configure...
Administrator@own-d0cd36845b1 /tmp/build/gcc
$ $ /src/gcc-3.2.1/configure --target=arm-elf --prefix=/opt --exec-prefix=/opt/gn
utools/arm-elf --enable-languages=c,c++ --with-as=/opt/gnutools/arm-elf/bin/arm
-elf-as --with-ld=/opt/gnutools/arm-elf/bin/arm-elf-ld --with-ranlib=/opt/gnuto
ols/arm-elf/bin/arm-elf-ranlib --with-newlib --with-gxx-include-dir=/opt/gnutoo
ls/arm-elf/arm-elf/include  -v 2>&1  | tee configure.out


and here is the result of configure/make.out file 


/tmp/build/gcc/gcc/xgcc -shared-libgcc -B/tmp/build/gcc/gcc/ -nostdinc++ -L/tmp/
build/gcc/arm-elf/libstdc++-v3/src -L/tmp/build/gcc/arm-elf/libstdc++-v3/src/.li
bs -nostdinc -B/tmp/build/gcc/arm-elf/newlib/ -isystem /tmp/build/gcc/arm-elf/ne
wlib/targ-include -isystem /src/gcc-3.2.1/newlib/libc/include -B/opt/gnutools/ar
m-elf/arm-elf/bin/ -B/opt/gnutools/arm-elf/arm-elf/lib/ -isystem /opt/gnutools/a
rm-elf/arm-elf/include -nostdinc++ -I/tmp/build/gcc/arm-elf/libstdc++-v3/include
/arm-elf -I/tmp/build/gcc/arm-elf/libstdc++-v3/include -I/src/gcc-3.2.1/libstdc+
+-v3/libsupc++ -I/src/gcc-3.2.1/libstdc++-v3/libmath -g -O2 -fno-implicit-templa
tes -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=on
ce -g -c /src/gcc-3.2.1/libstdc++-v3/src/locale-inst.cc -o locale-inst.o
/tmp/build/gcc/arm-elf/libstdc++-v3/include/bits/locale_facets.tcc: In member
   function `_OutIter std::money_put<_CharT, _OutIter>::do_put(_OutIter, bool,
   std::ios_base&, _CharT, const std::basic_string<_CharT,
   std::char_traits<_CharT>, std::allocator<_CharT> >&) const [with _CharT =
   char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]':
/src/gcc-3.2.1/libstdc++-v3/src/locale-inst.cc:48:   instantiated from here
/tmp/build/gcc/arm-elf/libstdc++-v3/include/bits/locale_facets.tcc:1361: interna
l error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[3]: *** [locale-inst.lo] Error 1
make[3]: Leaving directory `/tmp/build/gcc/arm-elf/libstdc++-v3/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/build/gcc/arm-elf/libstdc++-v3'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory `/tmp/build/gcc/arm-elf/libstdc++-v3'
make: *** [all-target-libstdc++-v3] Error 2

  please help me ...i am new thts y frustrated....moreover it take more than 5hrs to complete...that too giving error
Comment 1 Andrew Pinski 2008-11-28 08:50:07 UTC
 3.2.1 is so old, it is no longer supported.
Comment 2 Andrew Pinski 2008-11-29 03:17:00 UTC
Plus we need the preprocessed source.  Please read the website which the error contains (http://www.gnu.org/software/gcc/bugs.html) and provide all the needed information.
Comment 3 Grant Edwards 2009-01-05 19:40:52 UTC
I've just run across the exact same problem using 3.4.4 to build an arm-elf 3.2.1 cross-compiler on Cygwin.  Building the same exact same compiler using 3.4.6 on Linux works fine, so it appears to be something Cygwin-specific.
Comment 4 Dave Korn 2009-01-06 15:27:02 UTC
I'm not so sure (that it's cygwin specific).

http://www.google.co.uk/search?q=locale_facets.tcc++internal++error:+Segmentation+fault&hl=en&client=firefox-a&rls=org.mozilla:en-US:official&filter=0

seems to show it as a chronic intermittent problem in early 3.x series, on a
variety of platforms.  Still, it could be that changes in the cygwin compiler hid/masked the problem in different revisions.

These are all pretty old and obsolete versions I'm afraid and the problem isn't
likely to get fixed now if it hasn't been so far.  It might be worth futzing
with the build flags and seeing if you can get it working with different -O options.

  cheers,
    DaveK
Comment 5 Roger.Tang 2009-03-05 08:42:05 UTC
(In reply to comment #4)
> I'm not so sure (that it's cygwin specific).
> http://www.google.co.uk/search?q=locale_facets.tcc++internal++error:+Segmentation+fault&hl=en&client=firefox-a&rls=org.mozilla:en-US:official&filter=0
> seems to show it as a chronic intermittent problem in early 3.x series, on a
> variety of platforms.  Still, it could be that changes in the cygwin compiler
> hid/masked the problem in different revisions.
> These are all pretty old and obsolete versions I'm afraid and the problem isn't
> likely to get fixed now if it hasn't been so far.  It might be worth futzing
> with the build flags and seeing if you can get it working with different -O
> options.
>   cheers,
>     DaveK
Hi, all
I met with the same problem. and I'v tried to change -O2 to -O in the makefile under the dir like /tmp/build/gcc. It does works. 
If have time, i will try the detail -O2 optimization flags specified and see which flag causes this problem.

cheers!
Roger
Comment 6 Ramana Radhakrishnan 2010-03-19 23:37:31 UTC
The 3.x compilers are no longer supported and even if we got a sensible problem report I don't expect anyone to fix it. Please reopen this if you still have issues with a compiler in the current release series. 

cheers
Ramana
Comment 7 David O'Shea 2012-04-14 16:51:46 UTC
In playing with the -O2 and -O flags, it would appear to be that the -fgcse subflag of the -O2 flags causes the failure.  So you can substitute the following and get the compiler to build the library  -O2 -no-gcse.
This builds a less great (no Global Common Subexpression Elimination) library, but it builds on 3.2.1...
The result is a larger library, but at least it builds.
Comment 8 David O'Shea 2012-04-14 17:58:31 UTC
(In reply to comment #7)
Spoke too soon.  Things just compiled slower and it took longer to get to the same failure, I was fooled.    As it is, you have to fall all the way back to the -O option, and then add in -fXXX options from the -O2 list.

The problematic item is in one of:
-fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec 
And appears to be either or both of:
-fschedule-insns or -fschedule-insns2

The -O2 items below were removed because ARM-ELF 3.2.1 does not understand them:
(They are newer -O2 items as documented in newer GCC man page).
-fcrossjumping -finline-small-functions -fipa-sra -freorder-functions -fstrict-overflow -ftree-switch-conversion -ftree-pre -ftree-vrp -findirect-inlining

I'm getting success with the below.   This turns of instruction reordering optimizations=speed (but still uses common subexpression elimination = size).

CXXFLAGS= -g -O -fgcse -fgcse-lm -fthread-jumps -falign-functions -falign-jumps -falign-loops  -falign-labels -fcaller-saves  -fcse-follow-jumps  -fcse-skip-blocks -fdelete-null-pointer-checks -fexpensive-optimizations -foptimize-sibling-calls -fpeephole2 -fregmove -freorder-blocks -frerun-cse-after-loop -fstrict-aliasing