[4/6] Create a psuedo section for the ELF AUXV core dump note on FreeBSD.
Commit Message
The procstat AUXV core dump note in FreeBSD consists of 32-bit integer
followed by an array of auxiliary vector entries.
bfd/ChangeLog:
* elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
notes.
---
bfd/ChangeLog | 5 +++++
bfd/elf.c | 14 ++++++++++++++
2 files changed, 19 insertions(+)
Comments
Hi John,
> bfd/ChangeLog:
>
> * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
> notes.
Approved - please apply.
Cheers
Nick
"pseudo" :-)
Thanks,
Pedro Alves
@@ -1,5 +1,10 @@
2016-06-15 John Baldwin <jhb@FreeBSD.org>
+ * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
+ notes.
+
+2016-06-15 John Baldwin <jhb@FreeBSD.org>
+
* elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
FreeBSD. Remove case for NT_FREEBSD_THRMISC.
(elfcore_grok_freebsd_psinfo): New function.
@@ -9663,6 +9663,20 @@ elfcore_grok_freebsd_note (bfd *abfd, Elf_Internal_Note *note)
else
return TRUE;
+ case NT_FREEBSD_PROCSTAT_AUXV:
+ {
+ asection *sect = bfd_make_section_anyway_with_flags (abfd, ".auxv",
+ SEC_HAS_CONTENTS);
+
+ if (sect == NULL)
+ return FALSE;
+ sect->size = note->descsz - 4;
+ sect->filepos = note->descpos + 4;
+ sect->alignment_power = 1 + bfd_get_arch_size (abfd) / 32;
+
+ return TRUE;
+ }
+
case NT_X86_XSTATE:
if (note->namesz == 8)
return elfcore_grok_xstatereg (abfd, note);