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 <iant@golang.org>
This commit is contained in:
Russ Cox 2015-06-04 14:30:30 -04:00
parent 7e27625e25
commit a2c50ece2b
2 changed files with 4 additions and 1 deletions

View file

@ -1949,8 +1949,10 @@ func Diag(format string, args ...interface{}) {
sep = ": " sep = ": "
} }
fmt.Printf("%s%s%s\n", tn, sep, fmt.Sprintf(format, args...)) fmt.Printf("%s%s%s\n", tn, sep, fmt.Sprintf(format, args...))
nerrors++ nerrors++
if Debug['h'] != 0 {
panic("error")
}
if nerrors > 20 { if nerrors > 20 {
Exitf("too many errors") Exitf("too many errors")
} }

View file

@ -111,6 +111,7 @@ func Ldmain() {
obj.Flagstr("extldflags", "pass `flags` to external linker", &extldflags) obj.Flagstr("extldflags", "pass `flags` to external linker", &extldflags)
obj.Flagcount("f", "ignore version mismatch", &Debug['f']) obj.Flagcount("f", "ignore version mismatch", &Debug['f'])
obj.Flagcount("g", "disable go package data checks", &Debug['g']) 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("installsuffix", "set package directory `suffix`", &flag_installsuffix)
obj.Flagstr("k", "set field tracking `symbol`", &tracksym) obj.Flagstr("k", "set field tracking `symbol`", &tracksym)
obj.Flagfn1("linkmode", "set link `mode` (internal, external, auto)", setlinkmode) obj.Flagfn1("linkmode", "set link `mode` (internal, external, auto)", setlinkmode)