From: Andrew Cagney <ac131313@redhat.com>
To: Fred Fish <fnf@intrinsity.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] Eliminate hard coded constant num_regs in mips_gdbarch_init
Date: Fri, 27 Jun 2003 19:53:00 -0000 [thread overview]
Message-ID: <3EFCA0B3.3020308@redhat.com> (raw)
In-Reply-To: <20030627172833.430618B5FD@bletchley.vert.intrinsity.com>
> It seems wrong to hard code the number of registers in
> mips_gdbarch_init. Here is one way to fix it, for the case
> "num_regs=90", and possibly for the "num_regs=71" case also.
It's about par for the course :-( The code also assumes that
mips_r3041_reg_names, mips_r3051_reg_names and mips_r3081_reg_names are
the same size (90 - 32). If you're trying to add more than 90
registers, you've a bigger problem.
The various MIPS_REGISTER_NAME definitions should all be part of a table.
> However using sizeof(mips_generic_reg_names) is somewhat of a
> misleading way to find the number of strings in MIPS_REGISTER_NAMES
> and I'm not too thrilled about using a hard coded 32 instead of
> something like "sizeof(mips_gpr_names)/sizeof(char*)".
Try MIPS_NUMREGS.
Andrew
PS: Does Intrinsity have a disclaimer?
> 2003-06-25 Fred Fish <fnf@intrinsity.com>
>
> * mips-tdep.c (mips_gdbarch_init): Set num_regs to be the number
> of base registers (32) plus the number of machine dependent
> register names, which should equal the number of machine dependent
> registers.
>
> Index: mips-tdep.c
> ===================================================================
> RCS file: /mips/newtools/fsf/gdb/gdb/mips-tdep.c,v
> retrieving revision 1.21
> retrieving revision 1.22
> diff -c -p -r1.21 -r1.22
> *** mips-tdep.c 2003/06/23 14:31:26 1.21
> --- mips-tdep.c 2003/06/26 02:36:53 1.22
> *************** mips_gdbarch_init (struct gdbarch_info i
> *** 5908,5914 ****
> if (info.osabi == GDB_OSABI_IRIX)
> num_regs = 71;
> else
> ! num_regs = 90;
> set_gdbarch_num_regs (gdbarch, num_regs);
> set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
>
> --- 5908,5914 ----
> if (info.osabi == GDB_OSABI_IRIX)
> num_regs = 71;
> else
> ! num_regs = 32 + sizeof(mips_generic_reg_names)/sizeof(char *);
> set_gdbarch_num_regs (gdbarch, num_regs);
> set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
>
>
next prev parent reply other threads:[~2003-06-27 19:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-27 17:28 Fred Fish
2003-06-27 19:53 ` Andrew Cagney [this message]
2003-06-27 20:25 ` Fred Fish
2003-07-01 21:50 ` 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=3EFCA0B3.3020308@redhat.com \
--to=ac131313@redhat.com \
--cc=fnf@intrinsity.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