This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] Add readelf support for SHN_MIPS_SCOMMON/SHN_MIPS_SUNDEFINED
- From: Thiemo Seufer <ths at networkno dot de>
- To: binutils at sourceware dot org
- Date: Mon, 31 Jul 2006 16:32:21 +0100
- Subject: [PATCH] Add readelf support for SHN_MIPS_SCOMMON/SHN_MIPS_SUNDEFINED
Hello All,
the appended patch adds support to readelf to display the mips specific
small common and small undefined sections.
Ok to apply?
Thiemo
2006-07-31 Thiemo Seufer <ths@mips.com>
Nigel Stephens <nigel@mips.com>
* readelf.c (dump_relocations): Handle MIPS-specific
SHN_MIPS_SCOMMON and SHN_MIPS_SUNDEFINED.
(get_symbol_index_type): Similarly.
Index: binutils/readelf.c
===================================================================
RCS file: /cvs/src/src/binutils/readelf.c,v
retrieving revision 1.344
diff -u -p -r1.344 readelf.c
--- binutils/readelf.c 10 Jul 2006 21:40:24 -0000 1.344
+++ binutils/readelf.c 31 Jul 2006 14:10:48 -0000
@@ -1206,6 +1206,12 @@ dump_relocations (FILE *file,
sec_name = "ABS";
else if (psym->st_shndx == SHN_COMMON)
sec_name = "COMMON";
+ else if (elf_header.e_machine == EM_MIPS
+ && psym->st_shndx == SHN_MIPS_SCOMMON)
+ sec_name = "SCOMMON";
+ else if (elf_header.e_machine == EM_MIPS
+ && psym->st_shndx == SHN_MIPS_SUNDEFINED)
+ sec_name = "SUNDEF";
else if (elf_header.e_machine == EM_X86_64
&& psym->st_shndx == SHN_X86_64_LCOMMON)
sec_name = "LARGE_COMMON";
@@ -6872,6 +6878,12 @@ get_symbol_index_type (unsigned int type
else if (elf_header.e_machine == EM_X86_64
&& type == SHN_X86_64_LCOMMON)
return "LARGE_COM";
+ else if (type == SHN_MIPS_SCOMMON
+ && elf_header.e_machine == EM_MIPS)
+ return "SCOM";
+ else if (type == SHN_MIPS_SUNDEFINED
+ && elf_header.e_machine == EM_MIPS)
+ return "SUND";
else if (type >= SHN_LOPROC && type <= SHN_HIPROC)
sprintf (buff, "PRC[0x%04x]", type);
else if (type >= SHN_LOOS && type <= SHN_HIOS)