From: Kevin Buettner <kev@primenet.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] ld-linux.so
Date: Sun, 23 Apr 2000 16:52:54 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590678205026@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590678205024@msgid-missing>
On Apr 23, 11:02am, Jes Sorensen wrote:
> Laurent> In glibc/sysdeps/ia64/dl-machine.h the macro
> Laurent> TRAMPOLINE_TEMPLATE saves the input registers but not r8
> Laurent> (pointer to value returned in memory). r8 should be preserved
> Laurent> across the runtime fixup.
>
> I know very little about the C++ ABI so this may be C++ specific. I
> thought r8 was meant to be a return register and not an input
> register and that it's valid to clobber it in any function call,
> whether the function returns a value or void?
When the function in question returns an (non-HFA) aggregate that's
larger than 32 bytes (256 bits), r8 is an input register containing
the address of the region of memory into which to write the return
structure. When this is the case, r8 is not an output register. I.e,
the calling conventions do not mandate restoring the struct address.
When the aggregate happens to be an HFA, the HFA is returned in
floating point registers f8 thru f15 for HFAs of up to 8 elements.
When they're larger than 8 elements, the above convention regarding
r8 is used.
next prev parent reply other threads:[~2000-04-23 16:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-04-23 6:45 [Linux-ia64] ld-linux.so Laurent Morichetti
2000-04-23 9:02 ` Jes Sorensen
2000-04-23 16:52 ` Kevin Buettner [this message]
2000-04-24 9:01 ` Jes Sorensen
2000-04-24 11:08 ` Jes Sorensen
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=marc-linux-ia64-105590678205026@msgid-missing \
--to=kev@primenet.com \
--cc=linux-ia64@vger.kernel.org \
/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