This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [RFA] make mips64_transfers_32bit_regs_p configurable


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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]