From: Daniel Jacobowitz <drow@false.org>
To: Fred Fish <fnf@specifix.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA] Patch for mips_o64_return_value to fix calling functions by hand (additional patch)
Date: Fri, 05 May 2006 17:11:00 -0000 [thread overview]
Message-ID: <20060505171050.GD31029@nevyn.them.org> (raw)
In-Reply-To: <200605021630.15861.fnf@specifix.com>
On Tue, May 02, 2006 at 04:30:15PM -0400, Fred Fish wrote:
> On Thursday 27 April 2006 10:04, Fred Fish wrote:
> > I'm doing some work with a mips64-elf toolchain and took a look at why
> > there are so many gdb testsuite failures. One problem I found is that
> > calling functions by hand was broken,
>
> For mips_o64_push_dummy_call, mips_abi_regsize(gdbarch) always
> evaluates to 8, and was suppressing a needed left shift of struct and
> union arguments passed big endian.
So, why didn't it used to be done on o64 targets? That's the
question. This goes back to CVS revision 1.1.
GCC says: pad "upwards" on little endian (i.e. in the most significant
bits). On big endian, "upwards" means least significant bits. It pads
floats downward for o64, but other than that o32 and o64 are treated
the same. So, I'm guessing GDB is just wrong, or else the ABI change
is farther back in history than I checked.
Aside: The comment below the one you're deleting was written well
before GCC 3.4, in particular http://gcc.gnu.org/gcc-3.4/mips-abi.html.
So the FIXME is probably fixed for o32 now. And this is now an o64
only function, so that comment could be deleted entirely.
> 2006-05-02 Fred Fish <fnf@specifix.com>
>
> * mips-tdep.c (mips_o64_push_dummy_call): Left shift big endian
> structs or unions independent of ABI register size.
OK.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-05-05 17:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-27 14:04 [RFA] Patch for mips_o64_return_value to fix calling functions by hand Fred Fish
2006-05-02 20:29 ` [RFA] Patch for mips_o64_return_value to fix calling functions by hand (additional patch) Fred Fish
2006-05-05 17:11 ` Daniel Jacobowitz [this message]
2006-05-05 18:06 ` [commit] " Fred Fish
2006-05-05 17:13 ` [RFA] Patch for mips_o64_return_value to fix calling functions by hand Daniel Jacobowitz
2006-05-05 17:55 ` [commit] " Fred Fish
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=20060505171050.GD31029@nevyn.them.org \
--to=drow@false.org \
--cc=fnf@specifix.com \
--cc=gdb-patches@sourceware.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