This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] make mips64_transfers_32bit_regs_p configurable
- To: fnf at cygnus dot com
- Subject: Re: [RFA] make mips64_transfers_32bit_regs_p configurable
- From: Andrew Cagney <ac131313 at cygnus dot com>
- Date: Thu, 26 Oct 2000 00:59:09 +1100
- Cc: gdb-patches at sourceware dot cygnus dot com
- References: <200009180210.TAA12277@fishpond.ninemoons.com>
fnf@ninemoons.com wrote:
>
> I'm working on a port where it makes sense to have the default setting
> for mips64_transfers_32bit_regs_p be settable in a target
> configuration file. Would the mips maintainer please review this
> patch and either apply it or let me know how it needs fixing. Thanks.
Fred,
Have a look at how mips_mask_address_p() has been implemented (hopefully
you can cut/paste that codeshould be all you need to do).
The problem is that in a multi-arch environment the default value for
the variable:
> ! static int mips64_transfers_32bit_regs_p = MIPS64_TRANSFERS_32BIT_REGS_P;
can't be hardwired. For mips_mask_address_p() the function
mips_gdbarch_init() provides the default value to
->default_mask_address_p and then mips_mask_address_p() will either use
that or the user specified value.
Andrew
> 2000-09-16 Fred Fish <fnf@cygnus.com>
>
> * mips-tdep.c (mips64_transfers_32bit_regs_p): Allow default for
> this to be set by the config.
> (MIPS64_TRANSFERS_32BIT_REGS_P): If not defined, use 0.
>
> Index: mips-tdep.c
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/mips-tdep.c,v
> retrieving revision 1.243
> diff -c -p -r1.243 mips-tdep.c
> *** mips-tdep.c 2000/08/11 00:28:27 1.243
> --- mips-tdep.c 2000/09/18 02:04:03
> *************** mips_print_extra_frame_info (struct fram
> *** 409,415 ****
> /* Convert between RAW and VIRTUAL registers. The RAW register size
> defines the remote-gdb packet. */
>
> ! static int mips64_transfers_32bit_regs_p = 0;
>
> int
> mips_register_raw_size (int reg_nr)
> --- 409,418 ----
> /* Convert between RAW and VIRTUAL registers. The RAW register size
> defines the remote-gdb packet. */
>
> ! #ifndef MIPS64_TRANSFERS_32BIT_REGS_P
> ! #define MIPS64_TRANSFERS_32BIT_REGS_P 0
> ! #endif
> ! static int mips64_transfers_32bit_regs_p = MIPS64_TRANSFERS_32BIT_REGS_P;
>
> int
> mips_register_raw_size (int reg_nr)