X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ffrv-linux-tdep.c;h=5014c3ebbf3dda3f90dbc5a6db42930656ee0671;hb=cbd7581f343d85b4216db2eefdf601f6d988062d;hp=eb87f93058b0287e8f05c585d1b6aa1ff2bffb78;hpb=61baf725eca99af2569262d10aca03dcde2698f6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/frv-linux-tdep.c b/gdb/frv-linux-tdep.c index eb87f93058..5014c3ebbf 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-2017 Free Software Foundation, Inc. + Copyright (C) 2004-2020 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; @@ -413,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); } @@ -448,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); } @@ -483,11 +481,9 @@ 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 -_initialize_frv_linux_tdep (void) +_initialize_frv_linux_tdep () { gdbarch_register_osabi (bfd_arch_frv, 0, GDB_OSABI_LINUX, frv_linux_init_abi);