X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fiq2000-tdep.c;h=600d70a15f87317e71ce10089e561af8aa047043;hb=38334d6de448272c3bd831e3410dbc337fc2739d;hp=b89d1ece49cf5b95b3446de68c8b28eb5c14f8ee;hpb=1777feb0fea5ec350a86eecf81f71ccc60d4cf6f;p=external%2Fbinutils.git diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c index b89d1ec..600d70a 100644 --- a/gdb/iq2000-tdep.c +++ b/gdb/iq2000-tdep.c @@ -1,8 +1,7 @@ /* Target-dependent code for the IQ2000 architecture, for GDB, the GNU Debugger. - Copyright (C) 2000, 2004, 2005, 2007, 2008, 2009, 2010, 2011 - Free Software Foundation, Inc. + Copyright (C) 2000-2016 Free Software Foundation, Inc. Contributed by Red Hat. @@ -29,7 +28,6 @@ #include "gdbtypes.h" #include "value.h" #include "dis-asm.h" -#include "gdb_string.h" #include "arch-utils.h" #include "regcache.h" #include "osabi.h" @@ -208,8 +206,6 @@ iq2000_scan_prologue (struct gdbarch *gdbarch, struct symtab_and_line sal; CORE_ADDR pc; CORE_ADDR loop_end; - int found_store_lr = 0; - int found_decr_sp = 0; int srcreg; int tgtreg; signed short offset; @@ -252,8 +248,6 @@ iq2000_scan_prologue (struct gdbarch *gdbarch, if (tgtreg >= 0 && tgtreg < E_NUM_REGS) cache->saved_regs[tgtreg] = -((signed short) (insn & 0xffff)); - if (tgtreg == E_LR_REGNUM) - found_store_lr = 1; continue; } @@ -261,7 +255,6 @@ iq2000_scan_prologue (struct gdbarch *gdbarch, { /* addi %1, %1, -N == addi %sp, %sp, -N */ /* LEGACY -- from assembly-only port. */ - found_decr_sp = 1; cache->framesize = -((signed short) (insn & 0xffff)); continue; } @@ -374,15 +367,13 @@ iq2000_frame_cache (struct frame_info *this_frame, void **this_cache) int i; if (*this_cache) - return *this_cache; + return (struct iq2000_frame_cache *) *this_cache; cache = FRAME_OBSTACK_ZALLOC (struct iq2000_frame_cache); iq2000_init_frame_cache (cache); *this_cache = cache; cache->base = get_frame_register_unsigned (this_frame, E_FP_REGNUM); - //if (cache->base == 0) - //return cache; current_pc = get_frame_pc (this_frame); find_pc_partial_function (current_pc, NULL, &cache->pc, NULL); @@ -436,6 +427,7 @@ iq2000_frame_this_id (struct frame_info *this_frame, void **this_cache, static const struct frame_unwind iq2000_frame_unwind = { NORMAL_FRAME, + default_frame_unwind_stop_reason, iq2000_frame_this_id, iq2000_frame_prev_register, NULL, @@ -485,7 +477,7 @@ iq2000_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, static const unsigned char little_breakpoint[] = { 0x0d, 0x00, 0x00, 0x00 }; if ((*pcptr & 3) != 0) - error ("breakpoint_from_pc: invalid breakpoint address 0x%lx", + error (_("breakpoint_from_pc: invalid breakpoint address 0x%lx"), (long) *pcptr); *lenptr = 4; @@ -508,7 +500,7 @@ iq2000_store_return_value (struct type *type, struct regcache *regcache, while (len > 0) { - char buf[4]; + gdb_byte buf[4]; int size = len % 4 ?: 4; memset (buf, 0, 4); @@ -540,7 +532,7 @@ iq2000_use_struct_convention (struct type *type) static void iq2000_extract_return_value (struct type *type, struct regcache *regcache, - void *valbuf) + gdb_byte *valbuf) { struct gdbarch *gdbarch = get_regcache_arch (regcache); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); @@ -567,7 +559,7 @@ iq2000_extract_return_value (struct type *type, struct regcache *regcache, regcache_cooked_read_unsigned (regcache, regno++, &tmp); store_unsigned_integer (valbuf, size, byte_order, tmp); len -= size; - valbuf = ((char *) valbuf) + size; + valbuf += size; } } else @@ -582,7 +574,7 @@ iq2000_extract_return_value (struct type *type, struct regcache *regcache, } static enum return_value_convention -iq2000_return_value (struct gdbarch *gdbarch, struct type *func_type, +iq2000_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) {