From: Jeffrey A Law <law@redhat.com>
To: "John David Anglin" <dave@hiauly1.hia.nrc.ca>
Cc: alan@linuxcare.com.au (Alan Modra),
gcc-patches@gcc.gnu.org, parisc-linux@puffin.external.hp.com
Subject: Re: Oust HPPA PIC_OFFSET_TABLE_REGNUM_SAVED
Date: Mon, 15 Jan 2001 09:38:32 -0700 [thread overview]
Message-ID: <8375.979576712@upchuck.cygnus.com> (raw)
In-Reply-To: Your message of Mon, 15 Jan 2001 11:24:22 EST. <200101151624.LAA26183@hiauly1.hia.nrc.ca>
In message <200101151624.LAA26183@hiauly1.hia.nrc.ca>you write:
> > This patch rids us of PIC_OFFSET_TABLE_REGNUM_SAVED, and the problems tha
> t
> > go with it. Additionally, I reload the pic offset table register before
> > calls to guard against asm trashing r27/r19. Hasn't bootstrapped yet, bu
> t
> > looks promising. One possible fly in the ointment is whether any ABI
> > requires that r4 always be used to save the pic offset table reg.
>
> At first glance, this looks like a good solution. I don't see any
> requirementthat r4 be used to save the pic offset table reg in either ABI.
It is not an ABI requirement. It was done because GCC was unable
reasonably cope with a PIC register that was call-clobbered.
> However, why is it necessary to guard against asms trashing r27/r19? If
> this happens, data access using gp won't work as well. Shouldn't asms
> ensure that they restore r27/r19 if they trash it? If in fact r27/r19
> needs to be restored prior to calls, it looks like it also needs to be
> restored prior to each procedure return (see below). This would prevent
> the trivial return from ever being generated whenever pic code is used.
> Thus, it seems necessary to ensure that r27/r19 is preserved from entry
> to exit.
If an ASM trashes a fixed register, then the ASM is responsible for restoring
it.
jeff
next prev parent reply other threads:[~2001-01-15 16:38 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.21.0101151238510.21322-100000@front.linuxcare.com.au>
2001-01-15 11:09 ` [parisc-linux] Oust HPPA PIC_OFFSET_TABLE_REGNUM_SAVED Alan Modra
2001-01-15 16:24 ` John David Anglin
2001-01-15 16:38 ` Jeffrey A Law [this message]
2001-01-15 23:17 ` Alan Modra
2001-01-15 17:46 ` Jeffrey A Law
2001-01-15 23:07 ` Alan Modra
2001-01-16 1:20 ` Alan Modra
2001-01-16 5:53 ` Richard Henderson
2001-01-16 9:28 ` Alan Modra
2001-01-17 3:23 ` John David Anglin
2001-01-17 3:54 ` John David Anglin
2001-01-17 5:26 ` Jeffrey A Law
2001-01-17 5:30 ` Jeffrey A Law
2001-01-17 5:59 ` John David Anglin
2001-01-17 7:24 ` Alan Modra
2001-01-17 16:09 ` Jeffrey A Law
2001-01-17 16:22 ` John David Anglin
2001-01-17 21:42 ` Jeffrey A Law
2001-01-17 22:20 ` John David Anglin
2001-01-18 6:04 ` John David Anglin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8375.979576712@upchuck.cygnus.com \
--to=law@redhat.com \
--cc=alan@linuxcare.com.au \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=gcc-patches@gcc.gnu.org \
--cc=parisc-linux@puffin.external.hp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.