diff options
| author | Shenghou Ma <minux.ma@gmail.com> | 2014-05-08 01:25:56 -0400 |
|---|---|---|
| committer | Shenghou Ma <minux.ma@gmail.com> | 2014-05-08 01:25:56 -0400 |
| commit | 5139293986cf202efe31d995e8dfb471b6f2038e (patch) | |
| tree | e56a3d69a74da09ae6eea169027b480545820d2f /src/cmd/objdump | |
| parent | f5a4d241cd5e2fe6fb2a50576eb95d16828857f1 (diff) | |
| download | go-5139293986cf202efe31d995e8dfb471b6f2038e.tar.xz | |
cmd/objdump: actually accept hex address without "0x" prefix.
Fixes #7936.
LGTM=alex.brainman, bradfitz, iant
R=golang-codereviews, alex.brainman, bradfitz, iant
CC=golang-codereviews
https://golang.org/cl/100060043
Diffstat (limited to 'src/cmd/objdump')
| -rw-r--r-- | src/cmd/objdump/main.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/cmd/objdump/main.go b/src/cmd/objdump/main.go index 6efdde2147..5602f17d64 100644 --- a/src/cmd/objdump/main.go +++ b/src/cmd/objdump/main.go @@ -10,7 +10,7 @@ // // Objdump disassembles the binary starting at the start address and // stopping at the end address. The start and end addresses are program -// counters written in hexadecimal without a leading 0x prefix. +// counters written in hexadecimal with optional leading 0x prefix. // // It prints a sequence of stanzas of the form: // @@ -40,12 +40,13 @@ import ( "log" "os" "strconv" + "strings" ) func printUsage(w *os.File) { fmt.Fprintf(w, "usage: objdump binary start end\n") fmt.Fprintf(w, "disassembles binary from start PC to end PC.\n") - fmt.Fprintf(w, "start and end are hexadecimal numbers with no 0x prefix.\n") + fmt.Fprintf(w, "start and end are hexadecimal numbers with optional leading 0x prefix.\n") } func usage() { @@ -79,11 +80,11 @@ func main() { log.Fatalf("reading %s: %v", flag.Arg(0), err) } - start, err := strconv.ParseUint(flag.Arg(1), 0, 64) + start, err := strconv.ParseUint(strings.TrimPrefix(flag.Arg(1), "0x"), 16, 64) if err != nil { log.Fatalf("invalid start PC: %v", err) } - end, err := strconv.ParseUint(flag.Arg(2), 0, 64) + end, err := strconv.ParseUint(strings.TrimPrefix(flag.Arg(2), "0x"), 16, 64) if err != nil { log.Fatalf("invalid end PC: %v", err) } |
