Add support to readelf for reading OpenBSD ELF core notes.

* readelf.c (get_openbsd_elfcore_note_type): New function.
	(process_note): Add support for OpenBSD core notes.
This commit is contained in:
Frederic Cambus
2021-09-11 23:30:22 +02:00
committed by Alan Modra
parent f141837642
commit 98ca73afe5

View File

@ -19989,6 +19989,26 @@ get_netbsd_elfcore_note_type (Filedata * filedata, unsigned e_type)
return buff;
}
static const char *
get_openbsd_elfcore_note_type (Filedata * filedata, unsigned e_type)
{
switch (e_type)
{
case NT_OPENBSD_PROCINFO:
return _("OpenBSD procinfo structure");
case NT_OPENBSD_AUXV:
return _("OpenBSD ELF auxiliary vector data");
case NT_OPENBSD_REGS:
return _("OpenBSD regular registers");
case NT_OPENBSD_FPREGS:
return _("OpenBSD floating point registers");
case NT_OPENBSD_WCOOKIE:
return _("OpenBSD window cookie");
}
return get_note_type (filedata, e_type);
}
static const char *
get_stapsdt_note_type (unsigned e_type)
{
@ -20770,6 +20790,10 @@ process_note (Elf_Internal_Note * pnote,
/* NetBSD-specific core file notes. */
return process_netbsd_elf_note (pnote);
else if (startswith (pnote->namedata, "OpenBSD"))
/* OpenBSD-specific core file notes. */
nt = get_openbsd_elfcore_note_type (filedata, pnote->type);
else if (startswith (pnote->namedata, "SPU/"))
{
/* SPU-specific core file notes. */