From: Russ Cox Date: Thu, 4 Jun 2015 18:30:30 +0000 (-0400) Subject: cmd/link: add -h flag, for debugging, same as cmd/compile X-Git-Tag: go1.5beta1~355 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a2c50ece2bcef85d130e2175971367b3b5e0c26d;p=gostls13.git cmd/link: add -h flag, for debugging, same as cmd/compile Change-Id: I3c9b05879fe0b6e94b63e9b65e4411ba2a917134 Reviewed-on: https://go-review.googlesource.com/10705 Reviewed-by: Ian Lance Taylor --- diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 95a2ce6279..18c02f8f01 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -1949,8 +1949,10 @@ func Diag(format string, args ...interface{}) { sep = ": " } fmt.Printf("%s%s%s\n", tn, sep, fmt.Sprintf(format, args...)) - nerrors++ + if Debug['h'] != 0 { + panic("error") + } if nerrors > 20 { Exitf("too many errors") } diff --git a/src/cmd/link/internal/ld/pobj.go b/src/cmd/link/internal/ld/pobj.go index cbb4fa2109..ed8e30e9ff 100644 --- a/src/cmd/link/internal/ld/pobj.go +++ b/src/cmd/link/internal/ld/pobj.go @@ -111,6 +111,7 @@ func Ldmain() { obj.Flagstr("extldflags", "pass `flags` to external linker", &extldflags) obj.Flagcount("f", "ignore version mismatch", &Debug['f']) obj.Flagcount("g", "disable go package data checks", &Debug['g']) + obj.Flagcount("h", "halt on error", &Debug['h']) obj.Flagstr("installsuffix", "set package directory `suffix`", &flag_installsuffix) obj.Flagstr("k", "set field tracking `symbol`", &tracksym) obj.Flagfn1("linkmode", "set link `mode` (internal, external, auto)", setlinkmode)