PATCH 1: Re: BOOTSTRAP FAILURE: segementation fault in genattrtab under hpux
John David Anglin
dave@hiauly1.hia.nrc.ca
Sat Nov 18 11:39:00 GMT 2000
> > 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
The following patch resolves the above issue (ie, after reload starts,
gen_rtx_REG should should not return the frame_pointer_rtx for the frame
pointer register number). Tested with a full bootstrap and check under
hpux 10.20.
Please review for installation.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
2000-11-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
* emit-rtl.c (gen_rtx_REG): Don't return frame_pointer_rtx after
reload has completed for the FRAME_POINTER_REGNUM.
--- emit-rtl.c.orig Fri Nov 10 11:01:13 2000
+++ emit-rtl.c Fri Nov 17 09:38:08 2000
@@ -299,7 +299,7 @@
Also don't do this when we are making new REGs in reload, since
we don't want to get confused with the real pointers. */
- if (mode == Pmode && !reload_in_progress)
+ if (mode == Pmode && !reload_in_progress && !reload_completed)
{
if (regno == FRAME_POINTER_REGNUM)
return frame_pointer_rtx;
More information about the Gcc-patches
mailing list