From: Richard Henderson <rth@twiddle.net>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Why Plan 9 C compilers don't have asm("")
Date: Sat, 21 Jul 2001 23:49:52 -0700 [thread overview]
Message-ID: <20010721234952.A4349@twiddle.net> (raw)
In-Reply-To: <20010721151055.A3676@twiddle.net> <Pine.LNX.4.33.0107212017470.6166-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.33.0107212017470.6166-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Sat, Jul 21, 2001 at 08:43:43PM -0700
On Sat, Jul 21, 2001 at 08:43:43PM -0700, Linus Torvalds wrote:
> So:
> - you _always_ generate the fast case. A call is always considered to be
> a short one, simple "bsr", no GP change, no nothing.
> - you generate a trampoline as well, and teach the linker to go through
> the trampoline if it has to do a far call (one trampoline per target,
> not per caller). Think of it as a "overflow" case for a .rel20.
This is all well and good if one is designing an ABI from scratch.
You can't retrofit it onto the current ABI, however. Not without
pain anyway.
The call-clobbered GP means that your trampoline has to play games
in order to get the GP restored when coming back from an intra
module call. Which means a new stack frame. Which is a tad more
than you bargined for, really. I can't see that kind of heavyweight
solution being any better than the nops.
r~
next prev parent reply other threads:[~2001-07-22 6:51 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-07-04 3:37 Why Plan 9 C compilers don't have asm("") Rick Hohensee
2001-07-04 3:36 ` Olivier Galibert
2001-07-04 6:24 ` Cort Dougan
2001-07-04 8:03 ` H. Peter Anvin
2001-07-04 17:22 ` Linus Torvalds
2001-07-06 8:38 ` Cort Dougan
2001-07-06 11:43 ` David S. Miller
2001-07-06 18:44 ` Linus Torvalds
2001-07-06 20:02 ` Cort Dougan
2001-07-08 21:55 ` Victor Yodaiken
2001-07-08 22:28 ` Alan Cox
2001-07-08 22:29 ` David S. Miller
2001-07-09 1:22 ` Johan Kullstam
2001-07-21 22:10 ` Richard Henderson
2001-07-22 3:43 ` Linus Torvalds
2001-07-22 3:59 ` Mike Castle
2001-07-22 6:49 ` Richard Henderson [this message]
2001-07-22 7:44 ` Linus Torvalds
2001-07-22 15:53 ` Richard Henderson
2001-07-22 19:08 ` Linus Torvalds
2001-07-04 7:15 ` pazke
2001-07-04 17:32 ` Don't feed the trooll [offtopic] " Ben LaHaise
2001-07-05 1:02 ` Michael Meissner
2001-07-05 1:54 ` Rick Hohensee
2001-07-05 16:54 ` Michael Meissner
-- strict thread matches above, loose matches on Subject: below --
2001-07-04 10:10 Rick Hohensee
2001-07-05 3:26 Rick Hohensee
2001-07-06 17:24 Rick Hohensee
2001-07-06 23:54 ` David S. Miller
2001-07-07 0:16 ` H. Peter Anvin
2001-07-07 0:37 ` David S. Miller
2001-07-07 6:16 Rick Hohensee
[not found] <mailman.994629840.17424.linux-kernel2news@redhat.com>
2001-07-09 0:08 ` Pete Zaitcev
2001-07-09 0:28 ` Victor Yodaiken
2001-07-09 3:03 Rick Hohensee
2001-07-23 4:39 Rick Hohensee
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=20010721234952.A4349@twiddle.net \
--to=rth@twiddle.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox