Blob
1 #include <u.h>2 #include <libc.h>3 #include <mach.h>4 #include <elf.h>6 void7 usage(void)8 {9 fprint(2, "usage: elfnm file...\n");10 exits("usage");11 }13 void14 main(int argc, char **argv)15 {16 ElfSym esym;17 Fhdr *fp;18 int i, j;20 ARGBEGIN{21 default:22 usage();23 }ARGEND25 if(argc == 0)26 usage();28 for(i=0; i<argc; i++){29 if((fp = crackhdr(argv[i], OREAD)) == nil){30 fprint(2, "%s: %r\n", argv[i]);31 continue;32 }33 for(j=0; elfsym(fp->elf, j, &esym)>=0; j++)34 print("%s 0x%lux\n", esym.name, esym.value);35 uncrackhdr(fp);36 }37 exits(0);38 }