Author: cem
Date: Mon Dec  5 03:11:52 2016
New Revision: 309547
URL: https://svnweb.freebsd.org/changeset/base/309547

Log:
  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

Modified:
  head/contrib/elftoolchain/readelf/readelf.c

Modified: head/contrib/elftoolchain/readelf/readelf.c
==============================================================================
--- head/contrib/elftoolchain/readelf/readelf.c Mon Dec  5 02:27:50 2016        
(r309546)
+++ head/contrib/elftoolchain/readelf/readelf.c Mon Dec  5 03:11:52 2016        
(r309547)
@@ -2112,7 +2112,7 @@ dwarf_reg(unsigned int mach, unsigned in
 static void
 dump_ehdr(struct readelf *re)
 {
-       size_t           shnum, shstrndx;
+       size_t           phnum, shnum, shstrndx;
        int              i;
 
        printf("ELF Header:\n");
@@ -2174,7 +2174,13 @@ dump_ehdr(struct readelf *re)
            re->ehdr.e_phentsize);
 
        /* e_phnum. */
-       printf("%-37s%u\n", "  Number of program headers:", re->ehdr.e_phnum);
+       printf("%-37s%u", "  Number of program headers:", re->ehdr.e_phnum);
+       if (re->ehdr.e_phnum == PN_XNUM) {
+               /* Extended program header numbering is in use. */
+               if (elf_getphnum(re->elf, &phnum))
+                       printf(" (%zu)", phnum);
+       }
+       putchar('\n');
 
        /* e_shentsize. */
        printf("%-37s%u (bytes)\n", "  Size of section headers:",
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to