From: Michael Snyder <msnyder@redhat.com>
To: Andrew Cagney <cagney@gnu.org>
Cc: Daniel Jacobowitz <drow@mvista.com>,
gdb-patches@sources.redhat.com, cagney <cagney@redhat.com>
Subject: Re: [RFA] mips 32/64 register/stack fix
Date: Thu, 29 Apr 2004 17:58:00 -0000 [thread overview]
Message-ID: <40914235.2040702@redhat.com> (raw)
In-Reply-To: <409105C7.1020502@gnu.org>
Andrew Cagney wrote:
>> On Wed, Apr 28, 2004 at 05:45:22PM -0400, Andrew Cagney wrote:
>>
>>>>> >Here's your tdep info:
>>>>> >{elf_flags = 1610625025, mips_abi = MIPS_ABI_EABI32,
>>>
>>>
>>>>
>>>> I was looking to see if anything like that was present -> it is
>>>> clearly identified as a 32-bit ABI binary.
>>>>
>>>> I think the bug is in mips_register_type, the tail end should
>>>> probably be changed to read something like:
>>>>
>>>> else if (regnum >= NUM_REGS
>>>> && gdbarch_tdep (gdbarch)->mips64_transfers_32bit_regs_p)
>>>> /* The target, while using a 64-bit raw register buffer, is only
>>>> transfering 32-bits of each integer register. Reflect this in
>>>> the cooked/pseudo register value. */
>>>> return builtin_type_int32;
>>>> else if (regnum > NUM_REGS
>
>
> >= NUM_REGS
>
>>>> && mips_saved_regsize (gdbarch) == 4)
>>>> /* A 32-bit ABI such as o32 possibly running on a 64-bit ISA. */
>>>> return builtin_type_int32;
>>>> else if (mips_regsize (gdbarch) == 8)
>>>> /* 64-bit ISA. */
>>>> return builtin_type_int64;
>>>> else
>>>> /* 32-bit ISA. */
>>>> return builtin_type_int32;
>>
>>
>>
>> Would you mind clarifying the reason for having mips_regsize, which is
>> used in a number of other places, return a regsize based on the ISA?
>
>
> Hasn't this all come up before?
>
> It's the register size of the underlying ISA, on top of which the ABI is
> implemented. I think I'll rename mips_regsize and mips_saved_regsize to
> clarify this.
>
>> This change to mips_register_type conveys the fact that we've only got
>> 32 bits of data. But we'll choose to print (in info registers) a
>> 64-bit wide field for each GPR if the binary is tagged E_MIPS_ARCH_64 |
>> E_MIPS_ABI_EABI32, and a 32-bit field if it's tagged E_MIPS_ARCH_2 |
>> E_MIPS_ABI_EABI32. Conceptually, I think we're interested in some
>> combination of the available register size (-> a property of the target)
>> and the size of registers known to the inferior program (-> unclear mix
>> of its ABI and ISA).
>
>
> It does? With the above it should always print a 32-bit GPR reflecting
> the 32-bit ABI. If you think it should display something else, look at
> user-regs which lets you implement registers using the frame register
> values (something psuedo registers can't handle).
I've got a build -- I'll try your patch and let you know how it behaves.
Are there any particular things you'd like me to check (eg. info reg),
aside from the problem that got me on this in the first place?
next prev parent reply other threads:[~2004-04-29 17:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-22 18:49 Michael Snyder
2004-04-22 19:59 ` Andrew Cagney
2004-04-22 21:29 ` Daniel Jacobowitz
2004-04-22 21:43 ` Michael Snyder
2004-04-22 22:04 ` Andrew Cagney
2004-04-22 22:49 ` Michael Snyder
2004-04-28 21:45 ` Andrew Cagney
2004-04-29 3:12 ` Daniel Jacobowitz
2004-04-29 13:40 ` Andrew Cagney
2004-04-29 14:34 ` Daniel Jacobowitz
2004-04-29 18:32 ` [commit] mips_isa_regsize, mips_abi_regsize; Was: " Andrew Cagney
2004-04-29 19:45 ` [commit] compute abi regsize; Was: Andrew Cagney
2004-04-29 17:58 ` Michael Snyder [this message]
2004-04-29 19:49 ` [RFA] mips 32/64 register/stack fix Andrew Cagney
2004-04-29 21:15 ` Michael Snyder
2004-04-29 21:36 ` Andrew Cagney
2004-04-30 0:40 ` Andrew Cagney
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=40914235.2040702@redhat.com \
--to=msnyder@redhat.com \
--cc=cagney@gnu.org \
--cc=cagney@redhat.com \
--cc=drow@mvista.com \
--cc=gdb-patches@sources.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