diff options
Diffstat (limited to 'gdb/fbsd-nat.c')
-rw-r--r-- | gdb/fbsd-nat.c | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c index e9db30e..3bccc77 100644 --- a/gdb/fbsd-nat.c +++ b/gdb/fbsd-nat.c @@ -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; -} |