From 1b244ed9d3f4dc3df364bcd65332985ab03de302 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Thu, 4 Nov 2021 01:30:12 -0700 Subject: [PATCH] readelf: Support RELR in -S and -d and output readelf -r dumping support is not added in this patch. include/ * elf/common.h: Add SHT_RELR, DT_RELR{,SZ,ENT} bfd/ * elf.c (_bfd_elf_print_private_bfd_data): Add DT_RELR{,SZ,ENT}. (cherry picked from commit dd207c1302d28d2d2b33cff058bb3fbf5138b480) --- bfd/elf.c | 3 +++ include/elf/common.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/bfd/elf.c b/bfd/elf.c index 8f6531f23cf..3d9c5ff03cc 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1773,6 +1773,9 @@ _bfd_elf_print_private_bfd_data (bfd *abfd, void *farg) case DT_REL: name = "REL"; break; case DT_RELSZ: name = "RELSZ"; break; case DT_RELENT: name = "RELENT"; break; + case DT_RELR: name = "RELR"; break; + case DT_RELRSZ: name = "RELRSZ"; break; + case DT_RELRENT: name = "RELRENT"; break; case DT_PLTREL: name = "PLTREL"; break; case DT_DEBUG: name = "DEBUG"; break; case DT_TEXTREL: name = "TEXTREL"; break; diff --git a/include/elf/common.h b/include/elf/common.h index 7eefef9c7c4..8c6a595fea4 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -523,6 +523,7 @@ #define SHT_PREINIT_ARRAY 16 /* Array of ptrs to pre-init funcs */ #define SHT_GROUP 17 /* Section contains a section group */ #define SHT_SYMTAB_SHNDX 18 /* Indices for SHN_XINDEX entries */ +#define SHT_RELR 19 /* RELR relative relocations */ #define SHT_LOOS 0x60000000 /* First of OS specific semantics */ #define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ @@ -1056,6 +1057,9 @@ #define DT_PREINIT_ARRAY 32 #define DT_PREINIT_ARRAYSZ 33 #define DT_SYMTAB_SHNDX 34 +#define DT_RELRSZ 35 +#define DT_RELR 36 +#define DT_RELRENT 37 /* Note, the Oct 4, 1999 draft of the ELF ABI changed the values for DT_LOOS and DT_HIOS. Some implementations however, use -- 2.47.3