X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ffrv-linux-tdep.c;h=cee2d0c5e24fdb9e06fefdcdf74b45bcc7743007;hb=4d4eaa30055138112bd17ed6933f2da39760d9e6;hp=8775d196f70fc321c5a28ea7e1f506df69bf339d;hpb=32d0add0a654c1204ab71dc8a55d9374538c4b33;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/frv-linux-tdep.c b/gdb/frv-linux-tdep.c index 8775d196f7..cee2d0c5e2 100644 --- a/gdb/frv-linux-tdep.c +++ b/gdb/frv-linux-tdep.c @@ -1,7 +1,7 @@ /* Target-dependent code for GNU/Linux running on the Fujitsu FR-V, for GDB. - Copyright (C) 2004-2015 Free Software Foundation, Inc. + Copyright (C) 2004-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -31,6 +31,7 @@ #include "frame-unwind.h" #include "regset.h" #include "linux-tdep.h" +#include "gdbarch.h" /* Define the size (in bytes) of an FR-V instruction. */ static const int frv_instr_size = 4; @@ -261,7 +262,6 @@ frv_linux_sigtramp_frame_cache (struct frame_info *this_frame, void **this_cache) { struct gdbarch *gdbarch = get_frame_arch (this_frame); - struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); struct trad_frame_cache *cache; CORE_ADDR addr; @@ -271,7 +271,7 @@ frv_linux_sigtramp_frame_cache (struct frame_info *this_frame, struct frame_id this_id; if (*this_cache) - return *this_cache; + return (struct trad_frame_cache *) *this_cache; cache = trad_frame_cache_zalloc (this_frame); @@ -414,17 +414,14 @@ frv_linux_supply_gregset (const struct regset *regset, int regnum, const void *gregs, size_t len) { int regi; - char zerobuf[MAX_REGISTER_SIZE]; - - memset (zerobuf, 0, MAX_REGISTER_SIZE); /* gr0 always contains 0. Also, the kernel passes the TBR value in this slot. */ - regcache_raw_supply (regcache, first_gpr_regnum, zerobuf); + regcache->raw_supply_zeroed (first_gpr_regnum); /* Fill gr32, ..., gr63 with zeros. */ for (regi = first_gpr_regnum + 32; regi <= last_gpr_regnum; regi++) - regcache_raw_supply (regcache, regi, zerobuf); + regcache->raw_supply_zeroed (regi); regcache_supply_regset (regset, regcache, regnum, gregs, len); } @@ -449,10 +446,10 @@ frv_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, void *cb_data, const struct regcache *regcache) { - cb (".reg", sizeof (frv_elf_gregset_t), &frv_linux_gregset, - NULL, cb_data); - cb (".reg2", sizeof (frv_elf_fpregset_t), &frv_linux_fpregset, - NULL, cb_data); + cb (".reg", sizeof (frv_elf_gregset_t), sizeof (frv_elf_gregset_t), + &frv_linux_gregset, NULL, cb_data); + cb (".reg2", sizeof (frv_elf_fpregset_t), sizeof (frv_elf_fpregset_t), + &frv_linux_fpregset, NULL, cb_data); } @@ -484,9 +481,6 @@ frv_linux_elf_osabi_sniffer (bfd *abfd) return GDB_OSABI_UNKNOWN; } -/* Provide a prototype to silence -Wmissing-prototypes. */ -void _initialize_frv_linux_tdep (void); - void _initialize_frv_linux_tdep (void) {