From 443a32e707d247be219a5e230bfb53167dba2560 Mon Sep 17 00:00:00 2001 From: Dave Cheney Date: Fri, 1 May 2015 10:15:33 +1000 Subject: [PATCH] cmd/8g: don't call gc.Fatal during initalisation Fixes #10592 Calling gc.Fatal before gc.Main has been called ends up flushing gc.bstdout before it is properly set up. Ideally obj.Bflush would handle this case, but that type and its callers are rather convoluted, so take the simpler route and avoid calling gc.Fatal altogether. Change-Id: I338b469e86edba558b6bedff35bb904bfc3d6990 Reviewed-on: https://go-review.googlesource.com/9525 Reviewed-by: Brad Fitzpatrick Reviewed-by: Dave Cheney Run-TryBot: Dave Cheney TryBot-Result: Gobot Gobot --- src/cmd/8g/galign.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cmd/8g/galign.go b/src/cmd/8g/galign.go index 9eb1cf5d08..9125356691 100644 --- a/src/cmd/8g/galign.go +++ b/src/cmd/8g/galign.go @@ -8,6 +8,8 @@ import ( "cmd/internal/gc" "cmd/internal/obj" "cmd/internal/obj/x86" + "fmt" + "os" ) var thechar int = '8' @@ -58,7 +60,8 @@ func main() { gc.Thearch.FREGMIN = x86.REG_X0 gc.Thearch.FREGMAX = x86.REG_X7 default: - gc.Fatal("unsupported setting GO386=%s", v) + fmt.Fprintf(os.Stderr, "unsupported setting GO386=%s\n", v) + os.Exit(1) } gc.Thearch.MAXWIDTH = MAXWIDTH gc.Thearch.ReservedRegs = resvd -- 2.48.1