* 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.
This commit is contained in:
Mark Kettenis 2004-01-25 12:10:55 +00:00
parent bf1e58615c
commit c558d81a87
2 changed files with 9 additions and 4 deletions

View file

@ -1,5 +1,10 @@
2004-01-25 Mark Kettenis <kettenis@gnu.org> 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 * sparcnbsd-tdep.c (sparc32nbsd_supply_gregset): Also supply the
floating-point registers for traditional NetBSD core files. floating-point registers for traditional NetBSD core files.
(sparc32nbsd_init_abi): Initialize TDEP->sizeof_gregset and (sparc32nbsd_init_abi): Initialize TDEP->sizeof_gregset and

View file

@ -1030,10 +1030,10 @@ sparc_regset_from_core_section (struct gdbarch *gdbarch,
{ {
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); 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; 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 tdep->fpregset;
return NULL; return NULL;
@ -1058,9 +1058,9 @@ sparc32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep->pc_regnum = SPARC32_PC_REGNUM; tdep->pc_regnum = SPARC32_PC_REGNUM;
tdep->npc_regnum = SPARC32_NPC_REGNUM; tdep->npc_regnum = SPARC32_NPC_REGNUM;
tdep->gregset = NULL; tdep->gregset = NULL;
tdep->sizeof_gregset = 20 * 4; tdep->sizeof_gregset = 0;
tdep->fpregset = NULL; tdep->fpregset = NULL;
tdep->sizeof_fpregset = 33 * 4; tdep->sizeof_fpregset = 0;
tdep->plt_entry_size = 0; tdep->plt_entry_size = 0;
set_gdbarch_long_double_bit (gdbarch, 128); set_gdbarch_long_double_bit (gdbarch, 128);