svn commit: r253461 - head/contrib/binutils/binutils
Ed Maste
emaste at FreeBSD.org
Fri Jul 19 01:04:17 UTC 2013
Author: emaste
Date: Fri Jul 19 01:04:17 2013
New Revision: 253461
URL: http://svnweb.freebsd.org/changeset/base/253461
Log:
Correct ELF note decoding for non-core files
Requested by: kib
Modified:
head/contrib/binutils/binutils/readelf.c
Modified: head/contrib/binutils/binutils/readelf.c
==============================================================================
--- head/contrib/binutils/binutils/readelf.c Fri Jul 19 00:12:41 2013 (r253460)
+++ head/contrib/binutils/binutils/readelf.c Fri Jul 19 01:04:17 2013 (r253461)
@@ -9128,8 +9128,10 @@ get_note_type (unsigned e_type)
}
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)
switch (e_type)
{
@@ -9154,10 +9156,21 @@ get_freebsd_elfcore_note_type (unsigned
case NT_PROCSTAT_AUXV:
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:
break;
}
- return get_note_type(e_type);
+ snprintf (buff, sizeof(buff), _("Unknown note type: (0x%08x)"), e_type);
+ return buff;
}
static const char *
@@ -9239,7 +9252,7 @@ process_note (Elf_Internal_Note *pnote)
else if (const_strneq (pnote->namedata, "FreeBSD"))
/* 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"))
/* NetBSD-specific core file notes. */
More information about the svn-src-head
mailing list