aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-08-25 09:42:20 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-06-22 06:04:17 -0700
commitdc14c8980672194a1b329b5c35a7f781bc04a3f5 (patch)
treee3d6a419510c587892d5ca8abf5a7a199cd640fc /binutils
parent6b1edb94fedc7103b4929354d27304d0bd756f49 (diff)
downloadgdb-users/hjl/sharable.zip
gdb-users/hjl/sharable.tar.gz
gdb-users/hjl/sharable.tar.bz2
Add PT_GNU_SHR/SHF_GNU_SHARABLE/SHN_GNU_SHARABLE_COMMON support to gas/ldusers/hjl/sharable
PT_GNU_SHR/SHF_GNU_SHARABLE/SHN_GNU_SHARABLE_COMMON are used to group data into a PT_GNU_SHR to improve performance on NUMA system.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/readelf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 274ddd1..a7861c2 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1580,6 +1580,8 @@ dump_relocations (FILE * file,
sec_name = "ABS";
else if (psym->st_shndx == SHN_COMMON)
sec_name = "COMMON";
+ else if (psym->st_shndx == SHN_GNU_SHARABLE_COMMON)
+ sec_name = "GNU_SHARABLE_COMMON";
else if ((elf_header.e_machine == EM_MIPS
&& psym->st_shndx == SHN_MIPS_SCOMMON)
|| (elf_header.e_machine == EM_TI_C6000
@@ -3717,6 +3719,7 @@ get_segment_type (unsigned long p_type)
case PT_SHLIB: return "SHLIB";
case PT_PHDR: return "PHDR";
case PT_TLS: return "TLS";
+ case PT_GNU_SHR: return "GNU_SHR";
case PT_GNU_EH_FRAME:
return "GNU_EH_FRAME";
@@ -10463,6 +10466,8 @@ get_symbol_index_type (unsigned int type)
case SHN_UNDEF: return "UND";
case SHN_ABS: return "ABS";
case SHN_COMMON: return "COM";
+ case SHN_GNU_SHARABLE_COMMON:
+ return "GNU_SHARABLE_COM";
default:
if (type == SHN_IA_64_ANSI_COMMON
&& elf_header.e_machine == EM_IA_64