BOOTSTRAP FAILURE: segementation fault in genattrtab under hpux
law@redhat.com
law@redhat.com
Wed Nov 15 15:14:00 GMT 2000
In message < 200011152309.SAA24092@hiauly1.hia.nrc.ca >you write:
> >
> >
> > In message < 200011152210.RAA23951@hiauly1.hia.nrc.ca >you write:
> > > > 0xb8af8 <layout_type+64>: extrw,u r22,7,8,r3
> > > > 0xb8afc <layout_type+68>: ldo 4c8(r9),r20
> > > > 0xb8b00 <layout_type+72>: ldb r20(sr0,r3),rp
> > > > 0xb8b04 <layout_type+76>: extrw,s rp,31,8,r19
> > > > 0xb8b08 <layout_type+80>: cmpb,<> r25,r19,0xb9968 <layout_typ
> e+3760
> > > >
> > > >
> > > > (gdb) stepi
> > > > 0xb8b00 1235 if (TYPE_SIZE (type))
> > > > (gdb) info reg r22 r3 r9 r20
> > > > r22 7000000
> > > > r3 7b03abb0
> > > > r9 400050d8
> > > > r20 400055a0
> > > > (gdb) stepi
> > >
> > > The problem is the base and index registers in the ldb instruction
> > > have been interchanged by rename registers. These are not interchang
> eable
> > > on the pa because the space register for the instruction is loaded fr
> om
> > > the base register. Richard and Jeff, any thoughts on how to fix this
> > > one?
> > Hmmm, presumably the insn was recognized because reload was completed and
> > we didn't expect anyone to be mucking around with this stuff again, but
> > regrename mucked things?
>
> I think the reversal occurs because r3 is being used as an index register.
> There is stuff in the machine definition like this:
I seriously doubt it since hard_frame_pointer_rtx shouldn't have %r3 as
its value unless %r3 really is the frame pointer. ie, if the frame pointer
is eliminated %r3 should not be the value of hard_frame_pointer_rtx.
jeff
More information about the Gcc-bugs
mailing list