Correct ELF note decoding for non-core files
Requested by: kib
This commit is contained in:
parent
1610f95c56
commit
750288f343
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=253461
@ -9128,8 +9128,10 @@ get_note_type (unsigned e_type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
get_freebsd_elfcore_note_type (unsigned e_type)
|
get_freebsd_note_type (unsigned e_type)
|
||||||
{
|
{
|
||||||
|
static char buff[64];
|
||||||
|
|
||||||
if (elf_header.e_type == ET_CORE)
|
if (elf_header.e_type == ET_CORE)
|
||||||
switch (e_type)
|
switch (e_type)
|
||||||
{
|
{
|
||||||
@ -9153,11 +9155,22 @@ get_freebsd_elfcore_note_type (unsigned e_type)
|
|||||||
return _("NT_PROCSTAT_PSSTRINGS (ps_strings data)");
|
return _("NT_PROCSTAT_PSSTRINGS (ps_strings data)");
|
||||||
case NT_PROCSTAT_AUXV:
|
case NT_PROCSTAT_AUXV:
|
||||||
return _("NT_PROCSTAT_AUXV (auxv data)");
|
return _("NT_PROCSTAT_AUXV (auxv data)");
|
||||||
|
default:
|
||||||
|
return get_note_type(e_type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
switch (e_type)
|
||||||
|
{
|
||||||
|
case NT_FREEBSD_ABI_TAG:
|
||||||
|
return _("NT_FREEBSD_ABI_TAG");
|
||||||
|
case NT_FREEBSD_NOINIT_TAG:
|
||||||
|
return _("NT_FREEBSD_NOINIT_TAG");
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return get_note_type(e_type);
|
snprintf (buff, sizeof(buff), _("Unknown note type: (0x%08x)"), e_type);
|
||||||
|
return buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
@ -9239,7 +9252,7 @@ process_note (Elf_Internal_Note *pnote)
|
|||||||
|
|
||||||
else if (const_strneq (pnote->namedata, "FreeBSD"))
|
else if (const_strneq (pnote->namedata, "FreeBSD"))
|
||||||
/* FreeBSD-specific core file notes. */
|
/* FreeBSD-specific core file notes. */
|
||||||
nt = get_freebsd_elfcore_note_type (pnote->type);
|
nt = get_freebsd_note_type (pnote->type);
|
||||||
|
|
||||||
else if (const_strneq (pnote->namedata, "NetBSD-CORE"))
|
else if (const_strneq (pnote->namedata, "NetBSD-CORE"))
|
||||||
/* NetBSD-specific core file notes. */
|
/* NetBSD-specific core file notes. */
|
||||||
|
Loading…
Reference in New Issue
Block a user