diff options
author | norly <ny-git@enpas.org> | 2013-05-28 18:22:31 +0100 |
---|---|---|
committer | norly <ny-git@enpas.org> | 2013-05-28 18:22:31 +0100 |
commit | 11bf2836351cdb0703506d9d24ebd72bb420d1df (patch) | |
tree | a5104d0480090eeb90b96f565ff4b54686205c4c /src/printing/segments.c | |
parent | d4d9322d7cf4d157602293e20a67961339224b6d (diff) |
Remove old and ugly printing functions
Diffstat (limited to 'src/printing/segments.c')
-rw-r--r-- | src/printing/segments.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/src/printing/segments.c b/src/printing/segments.c deleted file mode 100644 index c7b5cb2..0000000 --- a/src/printing/segments.c +++ /dev/null @@ -1,80 +0,0 @@ -#include <stdio.h> - -#include <libelf/libelf.h> -#include <libelf/gelf.h> - -#include <libelfu/libelfu.h> - - -static char *ptstr[] = {"NULL", "LOAD", "DYNAMIC", "INTERP", "NOTE", "SHLIB", "PHDR", "TLS", "NUM"}; - - -char* segmentTypeStr(size_t pt) -{ - if (pt >= 0 && pt <= PT_NUM) { - return ptstr[pt]; - } - - return "-?-"; -} - - -void printSectionsInSegment(Elf *e, GElf_Phdr *phdr) -{ - Elf_Scn *scn; - - scn = elf_getscn(e, 0); - - while (scn) { - GElf_Shdr shdr; - - if (gelf_getshdr(scn, &shdr) != &shdr) { - fprintf(stderr, "gelf_getshdr() failed: %s\n", elf_errmsg(-1)); - continue; - } - - if (PHDR_CONTAINS_SCN_IN_MEMORY(phdr, &shdr)) { - printf(" %10u %s\n", elf_ndxscn(scn), elfu_eScnName(e, scn)); - } - - scn = elf_nextscn(e, scn); - } -} - - -void printSegments(Elf *e) -{ - size_t i, n; - - if (elf_getphdrnum(e, &n)) { - fprintf(stderr, "elf_getphdrnum() failed: %s.", elf_errmsg(-1)); - } - - printf("Segments:\n"); - printf(" # typeStr type offset vaddr paddr filesz memsz flags align\n"); - - for (i = 0; i < n; i++) { - GElf_Phdr phdr; - - if (gelf_getphdr(e, i, &phdr) != &phdr) { - fprintf(stderr, "getphdr() failed for #%d: %s.", i, elf_errmsg(-1)); - continue; - } - - printf(" * %4d: %8s ", i, segmentTypeStr(phdr.p_type)); - - printf("%8jx %8jx %8jx %8jx %8jx %8jx %8jx %8jx\n", - (uintmax_t) phdr.p_type, - (uintmax_t) phdr.p_offset, - (uintmax_t) phdr.p_vaddr, - (uintmax_t) phdr.p_paddr, - (uintmax_t) phdr.p_filesz, - (uintmax_t) phdr.p_memsz, - (uintmax_t) phdr.p_flags, - (uintmax_t) phdr.p_align); - - printSectionsInSegment(e, &phdr); - } - - printf("\n"); -} |