diff options
author | John Baldwin <jhb@FreeBSD.org> | 2017-10-06 11:41:45 -0700 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2017-10-06 11:43:07 -0700 |
commit | 544c67cda1686c1b204cb96c0d7885b08d37b8d6 (patch) | |
tree | 763587ea1724ba488f88c39b9b528934b4ec46db /bfd/elf-bfd.h | |
parent | 0d28b0a5caa6b04129e21a9aff371d4032c7ef17 (diff) | |
download | fsf-binutils-gdb-544c67cda1686c1b204cb96c0d7885b08d37b8d6.zip fsf-binutils-gdb-544c67cda1686c1b204cb96c0d7885b08d37b8d6.tar.gz fsf-binutils-gdb-544c67cda1686c1b204cb96c0d7885b08d37b8d6.tar.bz2 |
Account for padding in FreeBSD/mipsn32 NT_PRSTATUS notes.
Add a new ELF backend method to grok FreeBSD NT_PRSTATUS core dump
notes. Define a method for MIPS N32 to override the default
elfcore_grok_freebsd_prstatus that accounts for additional padding
between pr_pid and pr_reg that is not present in other 32-bit FreeBSD
platforms.
* elf-bfd.h (struct elf_backend_data): Add
`elf_backend_grok_freebsd_prstatus'.
* elf.c (elfcore_grok_freebsd_note): Call
`elf_backend_grok_freebsd_prstatus' to handle NT_PRSTATUS if
present.
* elfn32-mips.c (elf_n32_mips_grok_freebsd_prstatus): New
function.
(elf_backend_grok_freebsd_prstatus): Define.
* elfxx-target.h (elf_backend_grok_freebsd_prstatus): Define.
(elfNN_bed): Initialize `elf_backend_grok_freebsd_prstatus'.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index fd08748..399e298 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1270,6 +1270,11 @@ struct elf_backend_data bfd_boolean (*elf_backend_grok_psinfo) (bfd *, Elf_Internal_Note *); + /* This function, if defined, is called when a "FreeBSD" NT_PRSTATUS + note is found in a core file. */ + bfd_boolean (*elf_backend_grok_freebsd_prstatus) + (bfd *, Elf_Internal_Note *); + /* This function, if defined, is called to write a note to a corefile. */ char *(*elf_backend_write_core_note) (bfd *abfd, char *buf, int *bufsiz, int note_type, ...); |