diff options
Diffstat (limited to 'src/cmd/objdump/main.c')
-rw-r--r-- | src/cmd/objdump/main.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/cmd/objdump/main.c b/src/cmd/objdump/main.c deleted file mode 100644 index b684be7fb..000000000 --- a/src/cmd/objdump/main.c +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* - * objdump simulation - only enough to make pprof work on Macs - */ - -#include <u.h> -#include <libc.h> -#include <bio.h> -#include <mach.h> - -void -usage(void) -{ - fprint(2, "usage: objdump binary start stop\n"); - fprint(2, "Disassembles binary from PC start up to stop.\n"); - exits("usage"); -} - -void -main(int argc, char **argv) -{ - int fd, n; - uvlong pc, start, stop; - Fhdr fhdr; - Biobuf bout; - char buf[1024]; - Map *text; - - ARGBEGIN{ - default: - usage(); - }ARGEND - - if(argc != 3) - usage(); - start = strtoull(argv[1], 0, 16); - stop = strtoull(argv[2], 0, 16); - - fd = open(argv[0], OREAD); - if(fd < 0) - sysfatal("open %s: %r", argv[0]); - if(crackhdr(fd, &fhdr) <= 0) - sysfatal("crackhdr: %r"); - machbytype(fhdr.type); - if(syminit(fd, &fhdr) <= 0) - sysfatal("syminit: %r"); - text = loadmap(nil, fd, &fhdr); - if(text == nil) - sysfatal("loadmap: %r"); - - Binit(&bout, 1, OWRITE); - for(pc=start; pc<stop; ) { - if(fileline(buf, sizeof buf, pc)) - Bprint(&bout, "%s\n", buf); - buf[0] = '\0'; - machdata->das(text, pc, 0, buf, sizeof buf); - Bprint(&bout, " %llx: %s\n", pc, buf); - n = machdata->instsize(text, pc); - if(n <= 0) - break; - pc += n; - } - Bflush(&bout); - exits(0); -} |