X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fs390-tdep.c;h=b7c700138c61c059e86fd55138d14385d8e9bff7;hb=aff37fc18f86e6a07749f9243124fb126b3330c2;hp=b5a92ca960a270262e1ba014e8a6ca39d1e4cebc;hpb=469db0334575ee2ca988db263fb102b9a91ab3f9;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index b5a92ca960..b7c700138c 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -43,7 +43,7 @@ #include "value.h" #include "gdb_assert.h" #include "dis-asm.h" -#include "solib-svr4.h" /* For struct link_map_offsets. */ +#include "solib-svr4.h" #include "s390-tdep.h" @@ -2279,7 +2279,8 @@ s390_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) static void s390_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, - struct dwarf2_frame_state_reg *reg) + struct dwarf2_frame_state_reg *reg, + struct frame_info *next_frame) { struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); @@ -2864,76 +2865,6 @@ s390_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name return 0; } - -/* Link map offsets. */ - -static struct link_map_offsets * -s390_svr4_fetch_link_map_offsets (void) -{ - static struct link_map_offsets lmo; - static struct link_map_offsets *lmp = NULL; - - if (lmp == NULL) - { - lmp = &lmo; - - lmo.r_debug_size = 8; - - lmo.r_map_offset = 4; - lmo.r_map_size = 4; - - lmo.link_map_size = 20; - - lmo.l_addr_offset = 0; - lmo.l_addr_size = 4; - - lmo.l_name_offset = 4; - lmo.l_name_size = 4; - - lmo.l_next_offset = 12; - lmo.l_next_size = 4; - - lmo.l_prev_offset = 16; - lmo.l_prev_size = 4; - } - - return lmp; -} - -static struct link_map_offsets * -s390x_svr4_fetch_link_map_offsets (void) -{ - static struct link_map_offsets lmo; - static struct link_map_offsets *lmp = NULL; - - if (lmp == NULL) - { - lmp = &lmo; - - lmo.r_debug_size = 16; /* All we need. */ - - lmo.r_map_offset = 8; - lmo.r_map_size = 8; - - lmo.link_map_size = 40; /* All we need. */ - - lmo.l_addr_offset = 0; - lmo.l_addr_size = 8; - - lmo.l_name_offset = 8; - lmo.l_name_size = 8; - - lmo.l_next_offset = 24; - lmo.l_next_size = 8; - - lmo.l_prev_offset = 32; - lmo.l_prev_size = 8; - } - - return lmp; -} - - /* Set up gdbarch struct. */ static struct gdbarch * @@ -3015,8 +2946,8 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_addr_bits_remove (gdbarch, s390_addr_bits_remove); set_gdbarch_pseudo_register_read (gdbarch, s390_pseudo_register_read); set_gdbarch_pseudo_register_write (gdbarch, s390_pseudo_register_write); - set_solib_svr4_fetch_link_map_offsets (gdbarch, - s390_svr4_fetch_link_map_offsets); + set_solib_svr4_fetch_link_map_offsets + (gdbarch, svr4_ilp32_fetch_link_map_offsets); break; case bfd_mach_s390_64: @@ -3032,8 +2963,8 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_ptr_bit (gdbarch, 64); set_gdbarch_pseudo_register_read (gdbarch, s390x_pseudo_register_read); set_gdbarch_pseudo_register_write (gdbarch, s390x_pseudo_register_write); - set_solib_svr4_fetch_link_map_offsets (gdbarch, - s390x_svr4_fetch_link_map_offsets); + set_solib_svr4_fetch_link_map_offsets + (gdbarch, svr4_lp64_fetch_link_map_offsets); set_gdbarch_address_class_type_flags (gdbarch, s390_address_class_type_flags); set_gdbarch_address_class_type_flags_to_name (gdbarch,