X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fv850-tdep.c;h=ac7d6aa4240fccf3eed7e4ed5723222b5274917a;hb=24b9144d4ba83d37751786b08b48ad62fb7aef26;hp=9cc1b8b396a2eea9b43efbd36ef40d176489b46b;hpb=d19280adb5b2d1470dc39756ccac8a8fa2af8321;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index 9cc1b8b396..ac7d6aa424 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1,6 +1,6 @@ /* Target-dependent code for the NEC V850 for GDB, the GNU debugger. - Copyright (C) 1996-2016 Free Software Foundation, Inc. + Copyright (C) 1996-2018 Free Software Foundation, Inc. This file is part of GDB. @@ -1111,7 +1111,7 @@ static void v850_extract_return_value (struct type *type, struct regcache *regcache, gdb_byte *valbuf) { - struct gdbarch *gdbarch = get_regcache_arch (regcache); + struct gdbarch *gdbarch = regcache->arch (); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int len = TYPE_LENGTH (type); @@ -1138,7 +1138,7 @@ static void v850_store_return_value (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) { - struct gdbarch *gdbarch = get_regcache_arch (regcache); + struct gdbarch *gdbarch = regcache->arch (); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); int len = TYPE_LENGTH (type); @@ -1168,12 +1168,16 @@ v850_return_value (struct gdbarch *gdbarch, struct value *function, return RETURN_VALUE_REGISTER_CONVENTION; } +/* Implement the breakpoint_kind_from_pc gdbarch method. */ + static int v850_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) { return 2; } +/* Implement the sw_breakpoint_from_kind gdbarch method. */ + static const gdb_byte * v850_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) { @@ -1204,8 +1208,6 @@ v850_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) } } -GDBARCH_BREAKPOINT_FROM_PC (v850) - static struct v850_frame_cache * v850_alloc_frame_cache (struct frame_info *this_frame) { @@ -1394,7 +1396,7 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) return arches->gdbarch; } - tdep = XNEW (struct gdbarch_tdep); + tdep = XCNEW (struct gdbarch_tdep); tdep->e_flags = e_flags; tdep->e_machine = e_machine; @@ -1455,13 +1457,12 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_inner_than (gdbarch, core_addr_lessthan); - SET_GDBARCH_BREAKPOINT_MANIPULATION (v850); + set_gdbarch_breakpoint_kind_from_pc (gdbarch, v850_breakpoint_kind_from_pc); + set_gdbarch_sw_breakpoint_from_kind (gdbarch, v850_sw_breakpoint_from_kind); set_gdbarch_return_value (gdbarch, v850_return_value); set_gdbarch_push_dummy_call (gdbarch, v850_push_dummy_call); set_gdbarch_skip_prologue (gdbarch, v850_skip_prologue); - set_gdbarch_print_insn (gdbarch, print_insn_v850); - set_gdbarch_frame_align (gdbarch, v850_frame_align); set_gdbarch_unwind_sp (gdbarch, v850_unwind_sp); set_gdbarch_unwind_pc (gdbarch, v850_unwind_pc); @@ -1477,8 +1478,6 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) return gdbarch; } -extern initialize_file_ftype _initialize_v850_tdep; /* -Wmissing-prototypes */ - void _initialize_v850_tdep (void) {