Blob


1 #include <u.h>
2 #include <libc.h>
3 #include <mach.h>
4 #include <elf.h>
6 void
7 usage(void)
8 {
9 fprint(2, "usage: elfnm file...\n");
10 exits("usage");
11 }
13 void
14 main(int argc, char **argv)
15 {
16 ElfSym esym;
17 Fhdr *fp;
18 int i, j;
20 ARGBEGIN{
21 default:
22 usage();
23 }ARGEND
25 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 }