This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/13540] [3.4 regression] gnat1 segmentation fault
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Jan 2004 00:26:32 -0000
- Subject: [Bug optimization/13540] [3.4 regression] gnat1 segmentation fault
- References: <20040101204859.13540.danglin@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2004-01-02 00:26 -------
Subject: Re: New: [3.4 regression] gnat1 segmentation fa
Using -gstabs, I was able to obtain the following additional
information. The fault occurs in atree__nkind. This is the
backtrace:
#0 atree__nkind (n=4210035656) at ../../gcc/gcc/ada/atree.adb:1963
#1 0x000742d4 in atree__ekind (e=4210035656)
at ../../gcc/gcc/ada/atree.adb:703
#2 0x00094ec4 in einfo__base_type (id=4210035656)
at ../../gcc/gcc/ada/einfo.adb:4457
#3 0x001e0590 in sem_ch6__conforming_types__base_types_match___11 (t1=6158,
t2=4210035656) at ../../gcc/gcc/ada/sem_ch6.adb:2963
#4 0x001e064c in sem_ch6__conforming_types (t1=4210035656, t2=4210035656,
ctype=sem_ch6__type_conformant__2, get_inst=false)
at ../../gcc/gcc/ada/sem_ch6.adb:2985
#5 0x001decd4 in sem_ch6__check_conformance (new_id=1112, old_id=8440,
ctype=sem_ch6__type_conformant__2, errmsg=16777215, err_loc=0, get_inst=0)
at ../../gcc/gcc/ada/sem_ch6.adb:1944
#6 0x001e495c in sem_ch6__type_conformant (new_id=4210035656,
old_id=4210035656) at ../../gcc/gcc/ada/sem_ch6.adb:5202
#7 0x002289b4 in sem_type__collect_interps (n=8463)
at ../../gcc/gcc/ada/sem_type.adb:514
#8 0x001ecc10 in sem_ch8__find_direct_name (n=8463)
at ../../gcc/gcc/ada/sem_ch8.adb:3052
#9 0x001824f0 in sem__analyze (n=8463) at ../../gcc/gcc/ada/sem.adb:289
#10 0x0020b48c in sem_prag__analyze_pragma__check_arg_is_local_name___11 (
arg=8464) at ../../gcc/gcc/ada/sem_prag.adb:644
#11 0x0020d8d8 in sem_prag__analyze_pragma__process_convention___44 ()
at ../../gcc/gcc/ada/sem_prag.adb:1793
#12 0x00216018 in sem_prag__analyze_pragma (n=8459)
at ../../gcc/gcc/ada/sem_prag.adb:4493
#13 0x001824c0 in sem__analyze (n=8459) at ../../gcc/gcc/ada/sem.adb:397
#14 0x001bac08 in sem_ch3__analyze_declarations (l=-99999312)
at ../../gcc/gcc/ada/sem_ch3.adb:1050
#15 0x001e5db8 in sem_ch7__analyze_package_specification (n=8363)
at ../../gcc/gcc/ada/sem_ch7.adb:798
#16 0x001826a8 in sem__analyze (n=8363) at ../../gcc/gcc/ada/sem.adb:391
#17 0x001e5698 in sem_ch7__analyze_package_declaration (n=8666)
at ../../gcc/gcc/ada/sem_ch7.adb:644
#18 0x00181f74 in sem__analyze (n=8666) at ../../gcc/gcc/ada/sem.adb:382
#19 0x00196854 in sem_ch10__analyze_compilation_unit (n=8354)
at ../../gcc/gcc/ada/sem_ch10.adb:480
#20 0x001825f8 in sem__analyze (n=8354) at ../../gcc/gcc/ada/sem.adb:136
#21 0x00183424 in ::sem__semantics__do_analyze_ ()
at ../../gcc/gcc/ada/sem.adb:1253
#22 0x001836c4 in sem__semantics (comp_unit=8354)
at ../../gcc/gcc/ada/sem.adb:1302
#23 0x00198768 in sem_ch10__analyze_with_clause (n=8162)
at ../../gcc/gcc/ada/sem_ch10.adb:1628
#24 0x00182708 in sem__analyze (n=8162) at ../../gcc/gcc/ada/sem.adb:539
#25 0x00197448 in sem_ch10__analyze_context (n=8160)
at ../../gcc/gcc/ada/sem_ch10.adb:813
#26 0x0019662c in sem_ch10__analyze_compilation_unit (n=8160)
at ../../gcc/gcc/ada/sem_ch10.adb:317
#27 0x001825f8 in sem__analyze (n=8160) at ../../gcc/gcc/ada/sem.adb:136
#28 0x00183424 in ::sem__semantics__do_analyze_ ()
at ../../gcc/gcc/ada/sem.adb:1253
#29 0x001836c4 in sem__semantics (comp_unit=8160)
at ../../gcc/gcc/ada/sem.adb:1302
#30 0x00198768 in sem_ch10__analyze_with_clause (n=7250)
at ../../gcc/gcc/ada/sem_ch10.adb:1628
#31 0x00182708 in sem__analyze (n=7250) at ../../gcc/gcc/ada/sem.adb:539
#32 0x00197448 in sem_ch10__analyze_context (n=7244)
at ../../gcc/gcc/ada/sem_ch10.adb:813
#33 0x0019662c in sem_ch10__analyze_compilation_unit (n=7244)
at ../../gcc/gcc/ada/sem_ch10.adb:317
#34 0x001825f8 in sem__analyze (n=7244) at ../../gcc/gcc/ada/sem.adb:136
#35 0x00183424 in ::sem__semantics__do_analyze_ ()
at ../../gcc/gcc/ada/sem.adb:1253
#36 0x001836c4 in sem__semantics (comp_unit=7244)
at ../../gcc/gcc/ada/sem.adb:1302
#37 0x00198768 in sem_ch10__analyze_with_clause (n=1387)
at ../../gcc/gcc/ada/sem_ch10.adb:1628
#38 0x00182708 in sem__analyze (n=1387) at ../../gcc/gcc/ada/sem.adb:539
#39 0x00197448 in sem_ch10__analyze_context (n=1373)
at ../../gcc/gcc/ada/sem_ch10.adb:813
#40 0x0019662c in sem_ch10__analyze_compilation_unit (n=1373)
at ../../gcc/gcc/ada/sem_ch10.adb:317
#41 0x001825f8 in sem__analyze (n=1373) at ../../gcc/gcc/ada/sem.adb:136
#42 0x00183424 in ::sem__semantics__do_analyze_ ()
at ../../gcc/gcc/ada/sem.adb:1253
#43 0x001836c4 in sem__semantics (comp_unit=1373)
at ../../gcc/gcc/ada/sem.adb:1302
#44 0x00120828 in _ada_frontend () at ../../gcc/gcc/ada/frontend.adb:305
#45 0x0026fd18 in _ada_gnat1drv () at ../../gcc/gcc/ada/gnat1drv.adb:278
#46 0x00427b24 in toplev_main (argc=6128672, argv=0x4f032c)
at ../../gcc/gcc/toplev.c:1804
(gdb) disass
Dump of assembler code for function atree__nkind:
0x0007671c <atree__nkind+0>: addil 40000,dp,%r1
0x00076720 <atree__nkind+4>: depw,z r26,26,27,r26
0x00076724 <atree__nkind+8>: ldw 34c(,r1),r19
0x00076728 <atree__nkind+12>: add,l r26,r19,r26
0x0007672c <atree__nkind+16>: bv r0(rp)
0x00076730 <atree__nkind+20>: ldb 3(,r26),ret0
The segfault occurs at the ldb instruction. The address is bad.
At 0x00076728, r26 == 0x5e017900 and r19 == 0x40208008. r19
seems to be a reasonable base address. The value being passed
in $r26 seems bogus and the cause of the segfault.
It looks as if one of the two commits by Jan this morning introduced
the problem.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13540