aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/objdump
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2014-05-08 01:25:56 -0400
committerShenghou Ma <minux.ma@gmail.com>2014-05-08 01:25:56 -0400
commit5139293986cf202efe31d995e8dfb471b6f2038e (patch)
treee56a3d69a74da09ae6eea169027b480545820d2f /src/cmd/objdump
parentf5a4d241cd5e2fe6fb2a50576eb95d16828857f1 (diff)
downloadgo-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.go9
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)
}