From fffda6b3adfb4d05290c58939a78a99643398ff1 Mon Sep 17 00:00:00 2001 From: Cherry Mui Date: Thu, 10 Nov 2022 17:17:54 -0500 Subject: [PATCH] cmd/link: exit if runtime.a is missing Many stages in the linker assume some runtime symbols exist. Error out if the runtime package cannot be found. Fixes #56685. Change-Id: I39b2663f6d7419688e30e6d8650e5eb8fc43a2b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/449638 Reviewed-by: Than McIntosh Run-TryBot: Cherry Mui TryBot-Result: Gopher Robot --- src/cmd/link/internal/ld/lib.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 89bd966f59..184ad20be4 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -466,6 +466,9 @@ func loadinternal(ctxt *Link, name string) *sym.Library { } } + if name == "runtime" { + Exitf("error: unable to find runtime.a") + } ctxt.Logf("warning: unable to find %s.a\n", name) return nil } -- 2.50.0