This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/13713] [3.4/3.5 regression] gnat1 segmentation fault in stage 3 on hppa-linux
- 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: 18 Jan 2004 17:22:40 -0000
- Subject: [Bug ada/13713] [3.4/3.5 regression] gnat1 segmentation fault in stage 3 on hppa-linux
- References: <20040116214440.13713.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-18 17:22 -------
Subject: Re: [3.4/3.5 regression] gnat1 segmentation fault in
The segmentation fault occurs here:
Program received signal SIGSEGV, Segmentation fault.
0x0026148c in targparm___elabb () at ../../gcc/gcc/ada/targparm.adb:89
89 D32_Str : aliased constant Source_Buffer := "Duration_32_Bits";
(gdb) disass 0x00261470 0x002614a0
Dump of assembler code from 0x261470 to 0x2614a0:
0x00261470 <targparm___elabb+536>: ldh 4(,ret0),r20
0x00261474 <targparm___elabb+540>: sth r20,c(,r23)
0x00261478 <targparm___elabb+544>: ldo 49c(r4),r4
0x0026147c <targparm___elabb+548>: ldil 5c3000,r20
0x00261480 <targparm___elabb+552>: ldi 8,r4
0x00261484 <targparm___elabb+556>: ldw,ma 4(,r19),r5
0x00261488 <targparm___elabb+560>: ldw,ma 4(,r19),r31
0x0026148c <targparm___elabb+564>: stw,ma r5,4(,r4)
0x00261490 <targparm___elabb+568>: addib,>= -8,r4,0x261484 <targparm___elabb+556>
0x00261494 <targparm___elabb+572>: stw,ma r31,4(,r4)
(gdb) p $r4
$1 = 8
The SIGSEGV occurs in a block of "movstr" code. For some reason, we are
trying to use register r4 both for an address and the byte count in
the operation. The address value is garbage.
I'll look at the RTL for targparm.adb.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13713