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]
Other format: [Raw text]

Re: [RFA] mips 32/64 register/stack fix


Andrew Cagney wrote:
#0 register_size (gdbarch=0x84093e8, regnum=120)


120 looks large enough to be cooked (but to confirm this can you look at "maint print raw-registers". This will also tell us the register's type, and hence confirm the size.

Yes, raw is from 0 to 89, and cooked is from 90 to 179. regcache->descr->sizeof_register is as follows: 8 for all raw 8 for the first 70 cooked 4 for the last 20 cooked

register_type looks like:
raw:
38 @ int64
32 @ double64
20 @ int64
cooked:
38 @ int64
32 @ double64
20 @ int32

Given that you see 8, this suggests that the register's type is wrong (see mips_register_type).

It looks to me as if mips_register_type relies on mips_regsize. Which returns 8. Yep, and mips_register_type (120) returns int64_t.

But mips_saved_regsize (tdep) returns 4 (as it should, I guess).

Also, what information is available in the object file header?

Can you be more specific?


Here's the bfd_arch_info:
{bits_per_word = 64, bits_per_address = 64, bits_per_byte = 8,
  arch = bfd_arch_mips, mach = 64, arch_name = 0x8382960 "mips",
  printable_name = 0x8382a50 "mips:isa64", section_align_power = 3,
  the_default = 0, compatible = 0x82c36a4 <mips_compatible>,
  scan = 0x825f3c3 <bfd_default_scan>, next = 0x8382f00}

Here's your tdep info:
{elf_flags = 1610625025, mips_abi = MIPS_ABI_EABI32,
  found_abi = MIPS_ABI_EABI32, mips_fpu_type = MIPS_FPU_DOUBLE,
  mips_last_arg_regnum = 11, mips_last_fp_arg_regnum = 57,
  mips_default_saved_regsize = 4, mips_fp_register_double = 0,
  mips_default_stack_argsize = 4, default_mask_address_p = 0,
  mips64_transfers_32bit_regs_p = 0, regnum = 0x840968c,
  mips_processor_reg_names = 0x83995c0}
(GDB) p /x tdep.elf_flags
$10 = 0x60003001




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