1 e8a7b969 2004-12-27 devnull #include <u.h>
2 e8a7b969 2004-12-27 devnull #include <libc.h>
3 e8a7b969 2004-12-27 devnull #include <mach.h>
4 e8a7b969 2004-12-27 devnull #include <elf.h>
7 e8a7b969 2004-12-27 devnull usage(void)
9 e8a7b969 2004-12-27 devnull fprint(2, "usage: elfnm file...\n");
10 e8a7b969 2004-12-27 devnull exits("usage");
14 e8a7b969 2004-12-27 devnull main(int argc, char **argv)
16 e8a7b969 2004-12-27 devnull ElfSym esym;
17 e8a7b969 2004-12-27 devnull Fhdr *fp;
18 e8a7b969 2004-12-27 devnull int i, j;
20 e8a7b969 2004-12-27 devnull ARGBEGIN{
25 e8a7b969 2004-12-27 devnull if(argc == 0)
28 e8a7b969 2004-12-27 devnull for(i=0; i<argc; i++){
29 e8a7b969 2004-12-27 devnull if((fp = crackhdr(argv[i], OREAD)) == nil){
30 e8a7b969 2004-12-27 devnull fprint(2, "%s: %r\n", argv[i]);
31 e8a7b969 2004-12-27 devnull continue;
33 e8a7b969 2004-12-27 devnull for(j=0; elfsym(fp->elf, j, &esym)>=0; j++)
34 e8a7b969 2004-12-27 devnull print("%s 0x%lux\n", esym.name, esym.value);
35 e8a7b969 2004-12-27 devnull uncrackhdr(fp);
37 e8a7b969 2004-12-27 devnull exits(0);