[Bug ada/40462] New: ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2773 while compiling mlib-tgt.adb

ro at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Jun 16 16:21:00 GMT 2009


While bootstrapping mainline as of 2009012 (rev 148427) on IRIX 6.5 (with the
O32 multilib excluded to work around PR libfortran/40344), compilation of
mlib-tgt.adb fails:

ro@columba 211 > pwd
/vol/gcc/obj/gcc-4.5.0-20090612/6.5-gcc-no-o32/gcc/ada/tools
ro@columba 212 > ../../xgcc -B../../ -c -g -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes  -gnatpg -gnata -I- -I../rts -I.
-I/vol/gccsrc/src/gcc-dist/gcc/ada
/vol/gccsrc/src/gcc-dist/gcc/ada/mlib-tgt.adb -o mlib-tgt.o
+===========================GNAT BUG DETECTED==============================+
| 4.5.0 20090612 (experimental) [trunk revision 148427] (mips-sgi-irix6.5) GCC
e
rror:|
| in dwarf2out_begin_epilogue, at dwarf2out.c:2773                         |
| Error detected around /vol/gccsrc/src/gcc-dist/gcc/ada/mlib-tgt.adb:169:8|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.
Consider also -gnatd.n switch (see debug.adb).

../rts/system.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/mlib-tgt.adb
/vol/gccsrc/src/gcc-dist/gcc/ada/mlib-tgt.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/mlib.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/namet.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/alloc.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/table.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/types.ads
../rts/unchconv.ads
../rts/unchdeal.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/hostparm.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/osint.ads
../rts/s-os_lib.ads
../rts/s-string.ads
../rts/ada.ads
../rts/a-uncdea.ads
../rts/gnat.ads
../rts/g-os_lib.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/prj.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/casing.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/scans.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/uintp.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/urealp.ads
../rts/g-dynhta.ads
../rts/g-dyntab.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/mlib-fil.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/prj-com.ads
/vol/gccsrc/src/gcc-dist/gcc/ada/mlib-tgt-specific.ads
../rts/s-exctab.ads
../rts/s-stalib.ads
../rts/a-unccon.ads
../rts/s-unstyp.ads
../rts/a-filico.ads
../rts/a-finali.ads
../rts/s-finroo.ads
../rts/a-stream.ads
../rts/a-tags.ads../rts/a-except.ads
../rts/s-parame.ads
../rts/s-traent.ads
../rts/s-soflin.ads
../rts/s-stache.ads
../rts/s-secsta.ads
../rts/s-finimp.ads
../rts/s-stratt.ads


Running gnat1 under gdb reveals:

Breakpoint 1, fancy_abort (file=0x10d97048
"/vol/gcc/src/gcc-dist/gcc/dwarf2out.c", line=2773, function=0x10d9a5d8
"dwarf2out_begin_epilogue") at /vol/gcc/src/gcc-dist/gcc/diagnostic.c:730
(gdb) where
#0  fancy_abort (file=0x10d97048 "/vol/gcc/src/gcc-dist/gcc/dwarf2out.c",
line=2773, function=0x10d9a5d8 "dwarf2out_begin_epilogue") at
/vol/gcc/src/gcc-dist/gcc/diagnostic.c:730
#1  0x109fca90 in dwarf2out_begin_epilogue (insn=<value optimized out>) at
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:2773
#2  0x106edeb0 in final_scan_insn (insn=0x450f540, file=0xfb4f7c0,
optimize=<value optimized out>, nopeepholes=<value optimized out>,
seen=0x7ffb7b50) at /vol/gcc/src/gcc-dist/gcc/final.c:1893
#3  0x106ee92c in final (first=<value optimized out>, file=0xfb4f7c0,
optimize=2) at /vol/gcc/src/gcc-dist/gcc/final.c:1714
#4  0x106eeaac in ?? ()
warning: GDB can't find the start of the function at 0x106eeaab.

    GDB is unable to find the start of the function at 0x106eeaab
and thus can't determine the size of that function's stack frame.
This means that GDB may be unable to access that stack frame, or
the frames below it.
    This problem is most likely caused by an invalid program counter or
stack pointer.
    However, if you think GDB should simply search farther back
from 0x106eeaab for code which looks like the beginning of a
function, you can increase the range of the search using the `set
heuristic-fence-post' command.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Unfortunately, gdb 6.8 cannot display i in the gcc_assert(i != NULL) in
dwarf2out_begin_epilogue:2773:

(gdb) up
#1  0x109fca90 in dwarf2out_begin_epilogue (insn=<value optimized out>) at
/vol/gcc/src/gcc-dist/gcc/dwarf2out.c:2773
(gdb) p i
No symbol "i" in current context.
../rts/s-stoele.ads
../rts/s-stoele.adb


-- 
           Summary: ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2773
                    while compiling mlib-tgt.adb
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ro at gcc dot gnu dot org
 GCC build triplet: mips-sgi-irix6.5
  GCC host triplet: mips-sgi-irix6.5
GCC target triplet: mips-sgi-irix6.5


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



More information about the Gcc-bugs mailing list