mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-23 20:19:49 +00:00
Drop target method 'fbsd_make_corefile_notes'
Now that all users of the target method 'fbsd_make_corefile_notes' have been converted to the version in fbsd-tdep.c, the old method is removed. gdb/ChangeLog: * fbsd-nat.c (find_signalled_thread, find_stop_signal) (fbsd_collect_regset_section_cb, fbsd_make_corefile_notes): Remove. * fbsd-nat.h (fbsd_make_corefile_notes): Remove prototype.
This commit is contained in:
parent
970940347a
commit
174ad59a8e
@ -1,3 +1,10 @@
|
||||
2014-09-30 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* fbsd-nat.c (find_signalled_thread, find_stop_signal)
|
||||
(fbsd_collect_regset_section_cb, fbsd_make_corefile_notes):
|
||||
Remove.
|
||||
* fbsd-nat.h (fbsd_make_corefile_notes): Remove prototype.
|
||||
|
||||
2014-09-30 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||||
|
||||
* xtensa-tdep.c (xtensa_regset_from_core_section): Remove.
|
||||
|
@ -137,79 +137,3 @@ fbsd_find_memory_regions (struct target_ops *self,
|
||||
do_cleanups (cleanup);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
find_signalled_thread (struct thread_info *info, void *data)
|
||||
{
|
||||
if (info->suspend.stop_signal != GDB_SIGNAL_0
|
||||
&& ptid_get_pid (info->ptid) == ptid_get_pid (inferior_ptid))
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static enum gdb_signal
|
||||
find_stop_signal (void)
|
||||
{
|
||||
struct thread_info *info =
|
||||
iterate_over_threads (find_signalled_thread, NULL);
|
||||
|
||||
if (info)
|
||||
return info->suspend.stop_signal;
|
||||
else
|
||||
return GDB_SIGNAL_0;
|
||||
}
|
||||
|
||||
/* Create appropriate note sections for a corefile, returning them in
|
||||
allocated memory. */
|
||||
|
||||
char *
|
||||
fbsd_make_corefile_notes (struct target_ops *self, bfd *obfd, int *note_size)
|
||||
{
|
||||
const struct regcache *regcache = get_current_regcache ();
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
gregset_t gregs;
|
||||
fpregset_t fpregs;
|
||||
char *note_data = NULL;
|
||||
Elf_Internal_Ehdr *i_ehdrp;
|
||||
const struct regset *regset;
|
||||
size_t size;
|
||||
|
||||
/* Put a "FreeBSD" label in the ELF header. */
|
||||
i_ehdrp = elf_elfheader (obfd);
|
||||
i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_FREEBSD;
|
||||
|
||||
gdb_assert (gdbarch_regset_from_core_section_p (gdbarch));
|
||||
|
||||
size = sizeof gregs;
|
||||
regset = gdbarch_regset_from_core_section (gdbarch, ".reg", size);
|
||||
gdb_assert (regset && regset->collect_regset);
|
||||
regset->collect_regset (regset, regcache, -1, &gregs, size);
|
||||
|
||||
note_data = elfcore_write_prstatus (obfd, note_data, note_size,
|
||||
ptid_get_pid (inferior_ptid),
|
||||
find_stop_signal (), &gregs);
|
||||
|
||||
size = sizeof fpregs;
|
||||
regset = gdbarch_regset_from_core_section (gdbarch, ".reg2", size);
|
||||
gdb_assert (regset && regset->collect_regset);
|
||||
regset->collect_regset (regset, regcache, -1, &fpregs, size);
|
||||
|
||||
note_data = elfcore_write_prfpreg (obfd, note_data, note_size,
|
||||
&fpregs, sizeof (fpregs));
|
||||
|
||||
if (get_exec_file (0))
|
||||
{
|
||||
const char *fname = lbasename (get_exec_file (0));
|
||||
char *psargs = xstrdup (fname);
|
||||
|
||||
if (get_inferior_args ())
|
||||
psargs = reconcat (psargs, psargs, " ", get_inferior_args (),
|
||||
(char *) NULL);
|
||||
|
||||
note_data = elfcore_write_prpsinfo (obfd, note_data, note_size,
|
||||
fname, psargs);
|
||||
}
|
||||
|
||||
return note_data;
|
||||
}
|
||||
|
@ -32,10 +32,4 @@ extern char *fbsd_pid_to_exec_file (struct target_ops *self, int pid);
|
||||
extern int fbsd_find_memory_regions (struct target_ops *self,
|
||||
find_memory_region_ftype func, void *obfd);
|
||||
|
||||
/* Create appropriate note sections for a corefile, returning them in
|
||||
allocated memory. */
|
||||
|
||||
extern char *fbsd_make_corefile_notes (struct target_ops *self,
|
||||
bfd *obfd, int *note_size);
|
||||
|
||||
#endif /* fbsd-nat.h */
|
||||
|
Loading…
Reference in New Issue
Block a user