[Bug middle-end/13888] New: make gnattools fails on sfn_scan.adb with -O2
charlet at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Tue Jan 27 16:46:00 GMT 2004
Using mainline sources, and a new configure leads the following failure during
make gnatlib_and_tools (during the gnattools):
[...]
../../xgcc -B../../ -c -O2 -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -fno-common -gnatpg -gnata -I- -I../rts -I.
-I/home/charlet/cvs/gcc-head/gcc/ada
/home/charlet/cvs/gcc-head/gcc/ada/sfn_scan.adb -o sfn_scan.o
+===========================GNAT BUG DETECTED==============================+
| 3.5.0 20040127 (experimental) (i686-pc-linux-gnu) Storage_Error stack overflow
(or erroneous memory access)|
| Error detected at sfn_scan.adb:36:14 |
+==========================================================================+
Can be reproduced using -O2, not using -O1
[tools]$ gdb ../../gnat1
(gdb) run -O2 -gnatpg -I- -I../rts -I. -I/home/charlet/cvs/gcc-head/gcc/ada /hom
e/charlet/cvs/gcc-head/gcc/ada/sfn_scan.adb
Starting program: /home/charlet/cvs/gcc-obj/gcc/gnat1 -O2 -gnatpg -I- -I../rts -
I. -I/home/charlet/cvs/gcc-head/gcc/ada /home/charlet/cvs/gcc-head/gcc/ada/sfn_s
can.adb
Sfn_Scan._Elabs
Sfn_Scan.Acquire_String
Sfn_Scan.Acquire_Unit_Name
Program received signal SIGSEGV, Segmentation fault.
0x0826b6bb in insert_insn_on_edge (pattern=0x40177768, e=0x8b253fc)
at ../../gcc-head/gcc/cfgrtl.c:1388
1388 if ((e->flags & EDGE_ABNORMAL) && EDGE_CRITICAL_P (e))
Current language: auto; currently c
(gdb) p e
$1 = 0x8b253fc
(gdb) p e->flags
$2 = -1347440721
(gdb) list
1383 void
1384 insert_insn_on_edge (rtx pattern, edge e)
1385 {
1386 /* We cannot insert instructions on an abnormal critical edge.
1387 It will be easier to find the culprit if we die now. */
1388 if ((e->flags & EDGE_ABNORMAL) && EDGE_CRITICAL_P (e))
1389 abort ();
1390
1391 if (e->insns == NULL_RTX)
1392 start_sequence ();
(gdb) bt
#0 0x0826b6bb in insert_insn_on_edge (pattern=0x40177768, e=0x8b253fc)
at ../../gcc-head/gcc/cfgrtl.c:1388
#1 0x08312b39 in one_cprop_pass (pass=1, cprop_jumps=1, bypass_jumps=1)
at ../../gcc-head/gcc/gcse.c:4890
#2 0x083162df in bypass_jumps (file=0x8b253fc)
at ../../gcc-head/gcc/gcse.c:8017
#3 0x084580e7 in rest_of_handle_jump_bypass (decl=0x8b253fc, insns=0x40177768)
at ../../gcc-head/gcc/toplev.c:2593
#4 0x08459794 in rest_of_compilation (decl=0x40147798)
at ../../gcc-head/gcc/toplev.c:3348
#5 0x08063d19 in end_subprog_body () at ../../gcc-head/gcc/ada/utils.c:1887
#6 0x08081fd4 in tree_transform (gnat_node=1664)
at ../../gcc-head/gcc/ada/trans.c:2771
#7 0x0807b5c3 in gnat_to_code (gnat_node=-1347440721)
at ../../gcc-head/gcc/ada/trans.c:237
#8 0x0807b7d7 in process_decls (gnat_decls=-1347440721,
gnat_decls2=1075279720, gnat_end_list=0, pass1p=1, pass2p=1)
at ../../gcc-head/gcc/ada/trans.c:4516
[...]
This is caused by the following patch:
<<
2004-01-23 Jan Hubicka <jh@suse.cz>
* alloc-pool.c (align_four): Kill.
(create_alloc_pool): Align size to eight.
(free_alloc_pool, free_pool): Invalidate deallocated data.
>>
--
Summary: make gnattools fails on sfn_scan.adb with -O2
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P2
Component: middle-end
AssignedTo: jh at suse dot cz
ReportedBy: charlet at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13888
More information about the Gcc-bugs
mailing list