------- Comment #4 from ebotcazou at gcc dot gnu dot org  2009-12-05 12:11 
-------
Reopening, this happens on Solaris 8 as well:

This GDB was configured as "sparc-sun-solaris2.8"...
(gdb) set args libgcc2.i -O
(gdb) run
Starting program: /nile.build/botcazou/gcc-head/sparc-sun-solaris2.8/gcc/cc1
libgcc2.i -O
 __muldi3
Analyzing compilation unit
Performing interprocedural optimizations
 <visibility> <*free_lang_data> <early_local_cleanups>
Program received signal SIGSEGV, Segmentation fault.
0x01258a98 in compare_access_positions (a=0x256ff7c, b=0x256ff84)
    at /nile.build/botcazou/gcc-head/src/gcc/tree-sra.c:1114
1114      if (f1->offset != f2->offset)
(gdb) bt
#0  0x01258a98 in compare_access_positions (a=0x256ff7c, b=0x256ff84)
    at /nile.build/botcazou/gcc-head/src/gcc/tree-sra.c:1114
#1  0xff2cb8ec in qsort () from /usr/lib/libc.so.1
#2  0x0125a15c in sort_and_splice_var_accesses (var=0xff145aa0)
    at /nile.build/botcazou/gcc-head/src/gcc/tree-sra.c:1426

It's a known issue on Solaris 8 when the comparer function returns inconsistent
results, i.e. when it fails to impose a total order on the array.  Given its
complexity, that isn't very suprising and should be fixed.


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu dot
                   |                            |org
  GCC build triplet|mips-sgi-irix5.3            |
   GCC host triplet|mips-sgi-irix5.3            |
 GCC target triplet|mips-sgi-irix5.3            |
            Summary|[4.5 regression] ICE        |[4.5 regression] ICE
                   |building stage 1 libgcc on  |building stage 1 libgcc:
                   |IRIX 5.3: SEGV in           |SEGV in
                   |compare_access_positions    |compare_access_positions


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42157

Reply via email to