blob: 9e6d1eac0ed0f14293567084831f6ec5f9ef4e23 [file] [log] [blame]
rsce8a7b962004-12-27 17:01:23 +00001#include <u.h>
2#include <libc.h>
3#include <mach.h>
4#include <elf.h>
5
6void
7usage(void)
8{
9 fprint(2, "usage: elfnm file...\n");
10 exits("usage");
11}
12
13void
14main(int argc, char **argv)
15{
16 ElfSym esym;
17 Fhdr *fp;
18 int i, j;
19
20 ARGBEGIN{
21 default:
22 usage();
23 }ARGEND
24
25 if(argc == 0)
26 usage();
27
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}