2004-01-25 Mark Kettenis <kettenis@gnu.org>
+ * sparc-tdep.c (sparc_regset_from_core_section): Check whether
+ SECT_SIZE is large enough, not wheter it's exactly the right size.
+ (sparc32_gdbarch_init): Initialize TDEP->sizeof_gregset and
+ TDEP->fpregset to zero.
+
* sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Also supply the
floating-point registers for traditional NetBSD core files.
(sparc32nbsd_init_abi): Initialize TDEP->sizeof_gregset and
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
- if (strcmp (sect_name, ".reg") == 0 && sect_size == tdep->sizeof_gregset)
+ if (strcmp (sect_name, ".reg") == 0 && sect_size >= tdep->sizeof_gregset)
return tdep->gregset;
- if (strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset)
+ if (strcmp (sect_name, ".reg2") == 0 && sect_size >= tdep->sizeof_fpregset)
return tdep->fpregset;
return NULL;
tdep->pc_regnum = SPARC32_PC_REGNUM;
tdep->npc_regnum = SPARC32_NPC_REGNUM;
tdep->gregset = NULL;
- tdep->sizeof_gregset = 20 * 4;
+ tdep->sizeof_gregset = 0;
tdep->fpregset = NULL;
- tdep->sizeof_fpregset = 33 * 4;
+ tdep->sizeof_fpregset = 0;
tdep->plt_entry_size = 0;
set_gdbarch_long_double_bit (gdbarch, 128);