From: Michael Snyder <msnyder@redhat.com>
To: Kevin Buettner <kevinb@redhat.com>
Cc: ac131313@redhat.com, gdb-patches@sources.redhat.com
Subject: Re: [RFA] mips_push_arguments(): Make O64 ABI test explicit
Date: Wed, 31 Jul 2002 16:13:00 -0000 [thread overview]
Message-ID: <3D486A4D.F3EFFEB5@redhat.com> (raw)
In-Reply-To: <1020731210452.ZM23445@localhost.localdomain>
Kevin Buettner wrote:
>
> Now that mips-tdep.c defines another ABI such that
>
> mips_default_saved_regsize == 8,
>
> it becomes necessary to revise one of the conditions in
> mips_push_arguments().
>
> The comment above the test in question says:
>
> ...
> Also don't do this adjustment on EABI and O64
> binaries.
> ...
>
> I believe that the expression ``MIPS_SAVED_REGSIZE < 8'' was being used
> to test to see if the O64 ABI was being used.
OK, with you so far...
> I've changed the test
> so that it explicitly checks the tdep struct for the O64 ABI instead.
Ah, but both N32 and N64 use 8-byte registers, and
at least N32 does NOT want to have this adjustment.
I'm guessing N64 doesn't either (haven't tried it yet).
Your patch makes N32 fail, but we could add to it thusly:
> Okay to commit?
>
> * mips-tdep.c (mips_push_arguments): Don't assume that
> ``MIPS_SAVED_REGSIZE < 8'' means that the o64 abi is in use.
> Instead, test for each ABI which might not want this shift.
>
> Index: mips-tdep.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/mips-tdep.c,v
> retrieving revision 1.85
> diff -u -p -r1.85 mips-tdep.c
> --- mips-tdep.c 31 Jul 2002 20:26:49 -0000 1.85
> +++ mips-tdep.c 31 Jul 2002 20:48:49 -0000
> @@ -2615,7 +2615,7 @@ mips_push_arguments (int nargs,
> such and GDB gets tweaked accordingly. */
>
> if (!MIPS_EABI
> - && MIPS_SAVED_REGSIZE < 8
+ && tdep->mips_abi != MIPS_ABI_O64
+ && tdep->mips_abi != MIPS_ABI_N32
+ && tdep->mips_abi != MIPS_ABI_N64
> && TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
> && partial_len < MIPS_SAVED_REGSIZE
> && (typecode == TYPE_CODE_STRUCT ||
Of course, at this point, we might as well test for all the abis
that DO want the shift, instead of those that don't...
Michael
prev parent reply other threads:[~2002-07-31 23:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-31 15:40 Kevin Buettner
2002-07-31 16:11 ` Michael Snyder
2002-07-31 16:27 ` Kevin Buettner
2002-07-31 16:47 ` Michael Snyder
2002-07-31 18:16 ` Kevin Buettner
2002-07-31 18:33 ` Kevin Buettner
[not found] ` <20020801013959.GA15821@nevyn.them.org>
2002-08-01 16:56 ` Eric Christopher
2002-08-01 17:02 ` Kevin Buettner
2002-08-01 17:08 ` Eric Christopher
2002-08-01 14:55 ` Andrew Cagney
2002-08-01 15:18 ` Kevin Buettner
2002-08-01 15:27 ` Andrew Cagney
2002-08-01 15:47 ` Kevin Buettner
2002-07-31 16:13 ` Michael Snyder [this message]
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=3D486A4D.F3EFFEB5@redhat.com \
--to=msnyder@redhat.com \
--cc=ac131313@redhat.com \
--cc=gdb-patches@sources.redhat.com \
--cc=kevinb@redhat.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