From: Roland McGrath Date: Mon, 9 Jul 2007 21:19:51 +0000 (+0000) Subject: 2007-07-09 Roland McGrath X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1118d2524ea7960e230fc137d56b63e5600d1948;p=binutils-gdb.git 2007-07-09 Roland McGrath * readelf.c (get_gnu_elf_note_type): New function. (process_note): Use it for "GNU" name. --- diff --git a/binutils/readelf.c b/binutils/readelf.c index 9305d04ffac..79108369229 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -2792,7 +2792,7 @@ usage (FILE *stream) @ Read options from \n\ -H --help Display this information\n\ -v --version Display the version number of readelf\n")); - + if (REPORT_BUGS_TO[0] && stream == stdout) fprintf (stdout, _("Report bugs to %s\n"), REPORT_BUGS_TO); @@ -7710,7 +7710,7 @@ dump_section (Elf_Internal_Shdr *section, FILE *file) printf (_(" NOTE: This section has relocations against it, but these have NOT been applied to this dump.\n")); break; } - + data = start; while (bytes) @@ -9127,6 +9127,27 @@ get_note_type (unsigned e_type) return buff; } +static const char * +get_gnu_elf_note_type (unsigned e_type) +{ + static char buff[64]; + + switch (e_type) + { + case NT_GNU_ABI_TAG: + return _("NT_GNU_ABI_TAG (ABI version tag)"); + case NT_GNU_HWCAP: + return _("NT_GNU_HWCAP (DSO-supplied software HWCAP info)"); + case NT_GNU_BUILD_ID: + return _("NT_GNU_BUILD_ID (unique build ID bitstring)"); + default: + break; + } + + snprintf (buff, sizeof (buff), _("Unknown note type: (0x%08x)"), e_type); + return buff; +} + static const char * get_netbsd_elfcore_note_type (unsigned e_type) { @@ -9204,6 +9225,10 @@ process_note (Elf_Internal_Note *pnote) note type strings. */ nt = get_note_type (pnote->type); + else if (const_strneq (pnote->namedata, "GNU")) + /* GNU-specific object file notes. */ + nt = get_gnu_elf_note_type (pnote->type); + else if (const_strneq (pnote->namedata, "NetBSD-CORE")) /* NetBSD-specific core file notes. */ nt = get_netbsd_elfcore_note_type (pnote->type);