aboutsummaryrefslogtreecommitdiff
path: root/binutils/readelf.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2003-09-30 00:15:54 +0000
committerH.J. Lu <hjl.tools@gmail.com>2003-09-30 00:15:54 +0000
commit9ce701e24f12fd90b3f6de659aa614f5d17efbf7 (patch)
tree12c08d65d71b472c15ae39e5cf1c50b4a78ed485 /binutils/readelf.c
parent410b61f9df3f1dc74fa5ec1cdcec4d6a276b2802 (diff)
downloadgdb-9ce701e24f12fd90b3f6de659aa614f5d17efbf7.zip
gdb-9ce701e24f12fd90b3f6de659aa614f5d17efbf7.tar.gz
gdb-9ce701e24f12fd90b3f6de659aa614f5d17efbf7.tar.bz2
2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (dump_relocations): Support SHN_IA_64_ANSI_COMMON. (get_symbol_index_type): Likewise. testsuites/ 2003-09-29 H.J. Lu <hongjiu.lu@intel.com> * binutils-all/readelf.exp: Use is_elf_format. * binutils-all/readelf.h: Support IA64/ILP32. * binutils-all/readelf.s: Likewise. * binutils-all/readelf.ss: Likewise. * lib/utils-lib.exp (proc is_elf_format): Copy from ld testsuite. Add ia64-*-hpux*.
Diffstat (limited to 'binutils/readelf.c')
-rw-r--r--binutils/readelf.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 30e9533..520b736 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1194,6 +1194,10 @@ dump_relocations (FILE *file,
sec_name = "ABS";
else if (psym->st_shndx == SHN_COMMON)
sec_name = "COMMON";
+ else if (elf_header.e_machine == EM_IA_64
+ && elf_header.e_ident[EI_OSABI] == ELFOSABI_HPUX
+ && psym->st_shndx == SHN_IA_64_ANSI_COMMON)
+ sec_name = "ANSI_COM";
else
{
sprintf (name_buf, "<section 0x%x>",
@@ -5550,7 +5554,11 @@ get_symbol_index_type (unsigned int type)
case SHN_ABS: return "ABS";
case SHN_COMMON: return "COM";
default:
- if (type >= SHN_LOPROC && type <= SHN_HIPROC)
+ if (type == SHN_IA_64_ANSI_COMMON
+ && elf_header.e_machine == EM_IA_64
+ && elf_header.e_ident[EI_OSABI] == ELFOSABI_HPUX)
+ return "ANSI_COM";
+ else if (type >= SHN_LOPROC && type <= SHN_HIPROC)
sprintf (buff, "PRC[0x%04x]", type);
else if (type >= SHN_LOOS && type <= SHN_HIOS)
sprintf (buff, "OS [0x%04x]", type);