From: John Baldwin Date: Sun, 12 Jun 2016 19:34:51 +0000 (-0700) Subject: Create a pseudo section for the ELF AUXV core dump note on FreeBSD. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3350c5f5de3d2e62dd9de2a76cf2d5d8728d2600;p=binutils-gdb.git Create a pseudo section for the ELF AUXV core dump note on FreeBSD. 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. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4822e301246..2cf8b27e9da 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2016-06-24 John Baldwin + + * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV + notes. + 2016-06-24 John Baldwin * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for diff --git a/bfd/elf.c b/bfd/elf.c index cfcafaad90e..cb4de50ac9a 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -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);