From b2859a9a54fcc824c3ed7948767d095c02570a19 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Fri, 28 Nov 2014 15:53:05 +0100 Subject: [PATCH] Remove (dead-code) native core file sniffers on Linux targets MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Since Andreas Arnez' recent patch series, all Linux targets install gdbarch_iterate_over_regset_sections routines. This means that on Linux native targets, old-style core sniffers are never used. Most Linux targets haven't been using such sniffers for a long time anyway, but a couple remain: ia64 and sparc use core-regset.o, and m68k installs its own core_fns. All this is now dead code, which this commit removes. gdb/ 2014-11-28 Ulrich Weigand  * config/ia64/linux.mh (NATDEPFILES): Remove core-regset.o. * config/sparc/linux.mh (NATDEPFILES): Likewise. * config/sparc/linux64.mh (NATDEPFILES): Likewise. * m68klinux-nat.c (fetch_core_registers): Remove. (linux_elf_core_fns): Remove. (_initialize_m68k_linux_nat): Do not call deprecated_add_core_fns. --- gdb/ChangeLog | 9 +++++ gdb/config/ia64/linux.mh | 2 +- gdb/config/sparc/linux.mh | 2 +- gdb/config/sparc/linux64.mh | 1 - gdb/m68klinux-nat.c | 70 ------------------------------------- 5 files changed, 11 insertions(+), 73 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a37d4e14333..6b5c02a9044 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2014-11-28 Ulrich Weigand  + + * config/ia64/linux.mh (NATDEPFILES): Remove core-regset.o. + * config/sparc/linux.mh (NATDEPFILES): Likewise. + * config/sparc/linux64.mh (NATDEPFILES): Likewise. + * m68klinux-nat.c (fetch_core_registers): Remove. + (linux_elf_core_fns): Remove. + (_initialize_m68k_linux_nat): Do not call deprecated_add_core_fns. + 2014-11-28 Joel Brobecker * utils.c (gdb_realpath): Rework comment about handling on diff --git a/gdb/config/ia64/linux.mh b/gdb/config/ia64/linux.mh index a2aff442f69..baa8709d043 100644 --- a/gdb/config/ia64/linux.mh +++ b/gdb/config/ia64/linux.mh @@ -2,7 +2,7 @@ NAT_FILE= config/nm-linux.h NATDEPFILES= inf-ptrace.o fork-child.o \ - core-regset.o ia64-linux-nat.o \ + ia64-linux-nat.o \ proc-service.o linux-thread-db.o \ linux-nat.o linux-osdata.o linux-fork.o \ linux-procfs.o linux-ptrace.o linux-waitpid.o diff --git a/gdb/config/sparc/linux.mh b/gdb/config/sparc/linux.mh index d80259176d7..009ea9576c6 100644 --- a/gdb/config/sparc/linux.mh +++ b/gdb/config/sparc/linux.mh @@ -1,7 +1,7 @@ # Host: GNU/Linux SPARC NAT_FILE= config/nm-linux.h NATDEPFILES= sparc-nat.o sparc-linux-nat.o \ - core-regset.o fork-child.o inf-ptrace.o \ + fork-child.o inf-ptrace.o \ proc-service.o linux-thread-db.o \ linux-nat.o linux-osdata.o linux-fork.o \ linux-procfs.o linux-ptrace.o linux-waitpid.o diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh index c83097ec54d..aad77c7ae70 100644 --- a/gdb/config/sparc/linux64.mh +++ b/gdb/config/sparc/linux64.mh @@ -1,7 +1,6 @@ # Host: GNU/Linux UltraSPARC NAT_FILE= config/nm-linux.h NATDEPFILES= sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \ - core-regset.o \ fork-child.o inf-ptrace.o \ proc-service.o linux-thread-db.o \ linux-nat.o linux-osdata.o linux-fork.o \ diff --git a/gdb/m68klinux-nat.c b/gdb/m68klinux-nat.c index 0c122af217e..ebfe847ea6d 100644 --- a/gdb/m68klinux-nat.c +++ b/gdb/m68klinux-nat.c @@ -504,62 +504,6 @@ m68k_linux_store_inferior_registers (struct target_ops *ops, _("Got request to store bad register number %d."), regno); } -/* Interpreting register set info found in core files. */ - -/* Provide registers to GDB from a core file. - - (We can't use the generic version of this function in - core-regset.c, because we need to use elf_gregset_t instead of - gregset_t.) - - CORE_REG_SECT points to an array of bytes, which are the contents - of a `note' from a core file which BFD thinks might contain - register contents. CORE_REG_SIZE is its size. - - WHICH says which register set corelow suspects this is: - 0 --- the general-purpose register set, in elf_gregset_t format - 2 --- the floating-point register set, in elf_fpregset_t format - - REG_ADDR isn't used on GNU/Linux. */ - -static void -fetch_core_registers (struct regcache *regcache, - char *core_reg_sect, unsigned core_reg_size, - int which, CORE_ADDR reg_addr) -{ - elf_gregset_t gregset; - elf_fpregset_t fpregset; - - switch (which) - { - case 0: - if (core_reg_size != sizeof (gregset)) - warning (_("Wrong size gregset in core file.")); - else - { - memcpy (&gregset, core_reg_sect, sizeof (gregset)); - supply_gregset (regcache, (const elf_gregset_t *) &gregset); - } - break; - - case 2: - if (core_reg_size != sizeof (fpregset)) - warning (_("Wrong size fpregset in core file.")); - else - { - memcpy (&fpregset, core_reg_sect, sizeof (fpregset)); - supply_fpregset (regcache, (const elf_fpregset_t *) &fpregset); - } - break; - - default: - /* We've covered all the kinds of registers we know about here, - so this must be something we wouldn't know what to do with - anyway. Just ignore it. */ - break; - } -} - /* Fetch the thread-local storage pointer for libthread_db. */ @@ -579,18 +523,6 @@ ps_get_thread_area (const struct ps_prochandle *ph, } -/* Register that we are able to handle GNU/Linux ELF core file - formats. */ - -static struct core_fns linux_elf_core_fns = -{ - bfd_target_elf_flavour, /* core_flavour */ - default_check_format, /* check_format */ - default_core_sniffer, /* core_sniffer */ - fetch_core_registers, /* core_read_registers */ - NULL /* next */ -}; - void _initialize_m68k_linux_nat (void); void @@ -607,6 +539,4 @@ _initialize_m68k_linux_nat (void) /* Register the target. */ linux_nat_add_target (t); - - deprecated_add_core_fns (&linux_elf_core_fns); } -- 2.30.2