Skip to content

Commit 714935b

Browse files
committed
readelf(1): Add support for extended program header numbers
Add support for extended program header numbers to elftoolchain 'readelf -h'. Reviewed by: emaste Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D8702
1 parent 0a82e6f commit 714935b

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

contrib/elftoolchain/readelf/readelf.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2112,7 +2112,7 @@ dwarf_reg(unsigned int mach, unsigned int reg)
21122112
static void
21132113
dump_ehdr(struct readelf *re)
21142114
{
2115-
size_t shnum, shstrndx;
2115+
size_t phnum, shnum, shstrndx;
21162116
int i;
21172117

21182118
printf("ELF Header:\n");
@@ -2174,7 +2174,13 @@ dump_ehdr(struct readelf *re)
21742174
re->ehdr.e_phentsize);
21752175

21762176
/* e_phnum. */
2177-
printf("%-37s%u\n", " Number of program headers:", re->ehdr.e_phnum);
2177+
printf("%-37s%u", " Number of program headers:", re->ehdr.e_phnum);
2178+
if (re->ehdr.e_phnum == PN_XNUM) {
2179+
/* Extended program header numbering is in use. */
2180+
if (elf_getphnum(re->elf, &phnum))
2181+
printf(" (%zu)", phnum);
2182+
}
2183+
putchar('\n');
21782184

21792185
/* e_shentsize. */
21802186
printf("%-37s%u (bytes)\n", " Size of section headers:",

0 commit comments

Comments
 (0)