GDB broken on MIPS targets with unmarked binaries

Daniel Jacobowitz drow@mvista.com
Wed Jun 5 13:08:00 GMT 2002


There's an interesting crash on startup in a mips-elf GDB nowadays... the
code reads:

    default:
      tdep->mips_abi_string = "default";
      tdep->mips_default_saved_regsize = MIPS_REGSIZE;
      tdep->mips_default_stack_argsize = MIPS_REGSIZE;
      tdep->mips_fp_register_double = (REGISTER_VIRTUAL_SIZE (FP0_REGNUM) == 8);
      tdep->mips_last_arg_regnum = A0_REGNUM + 8 - 1;
      tdep->mips_last_fp_arg_regnum = FPA0_REGNUM + 8 - 1;
      tdep->mips_regs_have_home_p = 1;
      tdep->gdb_target_is_mips64 = 0;
      tdep->default_mask_address_p = 0;
      set_gdbarch_long_bit (gdbarch, 32);
      set_gdbarch_ptr_bit (gdbarch, 32);
      set_gdbarch_long_long_bit (gdbarch, 64);
      break;

Something brought in recently, probably by the OS ABI changes if I had to
guess, is causing the check of REGISTER_VIRTUAL_SIZE to fail.  I've no idea
why.  Compiling a mips-elf (not mips-linux, which sets MIPS_DEFAULT_ABI) and
running gdb on an unmarked ELF binary reproduces this.

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gdb mailing list