X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Falphaobsd-tdep.c;h=fcddd3a8e6fc216fb793c7abbdcb9089ac900865;hb=ed34ef5ed3b11141a622e3edfb0c47e790f1fea7;hp=72b06954466949edd40a185876c824944b243ed4;hpb=0fb0cc7590113e9b459dfcc48dc71c9d419d9580;p=platform%2Fupstream%2Fbinutils.git diff --git a/gdb/alphaobsd-tdep.c b/gdb/alphaobsd-tdep.c index 72b0695..fcddd3a 100644 --- a/gdb/alphaobsd-tdep.c +++ b/gdb/alphaobsd-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for OpenBSD/alpha. - Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright (C) 2006-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -40,13 +40,14 @@ static const int alphaobsd_page_size = 8192; static LONGEST -alphaobsd_sigtramp_offset (CORE_ADDR pc) +alphaobsd_sigtramp_offset (struct gdbarch *gdbarch, CORE_ADDR pc) { return (pc & (alphaobsd_page_size - 1)); } static int -alphaobsd_pc_in_sigtramp (CORE_ADDR pc, char *name) +alphaobsd_pc_in_sigtramp (struct gdbarch *gdbarch, + CORE_ADDR pc, const char *name) { CORE_ADDR start_pc = (pc & ~(alphaobsd_page_size - 1)); unsigned insn; @@ -55,12 +56,12 @@ alphaobsd_pc_in_sigtramp (CORE_ADDR pc, char *name) return 0; /* Check for "". */ - insn = alpha_read_insn (start_pc + 5 * ALPHA_INSN_SIZE); + insn = alpha_read_insn (gdbarch, start_pc + 5 * ALPHA_INSN_SIZE); if (insn != 0x201f0067) return 0; /* Check for "". */ - insn = alpha_read_insn (start_pc + 6 * ALPHA_INSN_SIZE); + insn = alpha_read_insn (gdbarch, start_pc + 6 * ALPHA_INSN_SIZE); if (insn != 0x00000083) return 0; @@ -70,14 +71,15 @@ alphaobsd_pc_in_sigtramp (CORE_ADDR pc, char *name) static CORE_ADDR alphaobsd_sigcontext_addr (struct frame_info *this_frame) { + struct gdbarch *gdbarch = get_frame_arch (this_frame); CORE_ADDR pc = get_frame_pc (this_frame); - if (alphaobsd_sigtramp_offset (pc) < 3 * ALPHA_INSN_SIZE) + if (alphaobsd_sigtramp_offset (gdbarch, pc) < 3 * ALPHA_INSN_SIZE) { /* On entry, a pointer the `struct sigcontext' is passed in %a2. */ return get_frame_register_unsigned (this_frame, ALPHA_A0_REGNUM + 2); } - else if (alphaobsd_sigtramp_offset (pc) < 4 * ALPHA_INSN_SIZE) + else if (alphaobsd_sigtramp_offset (gdbarch, pc) < 4 * ALPHA_INSN_SIZE) { /* It is stored on the stack Before calling the signal handler. */ CORE_ADDR sp; @@ -119,8 +121,8 @@ alphaobsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch) tdep->jb_pc = 2; tdep->jb_elt_size = 8; - set_gdbarch_regset_from_core_section - (gdbarch, alphanbsd_regset_from_core_section); + set_gdbarch_iterate_over_regset_sections + (gdbarch, alphanbsd_iterate_over_regset_sections); }