From 764a090b68a3cd8a365c8c0831ef794c9adcbd7d Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Mon, 15 Feb 2021 17:42:12 -0500 Subject: [PATCH] cmd/go: permit .tbd files as a linker flag A .tbd file is a macOS text-based stub library and is a valid input to the macOS linker. This change adds .tbd to the allow-list for acceptable linker flags. Fixes golang/go#44263 --- src/cmd/go/internal/work/security.go | 2 +- src/cmd/go/internal/work/security_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/internal/work/security.go b/src/cmd/go/internal/work/security.go index 36bbab37ee..8164fea39d 100644 --- a/src/cmd/go/internal/work/security.go +++ b/src/cmd/go/internal/work/security.go @@ -208,7 +208,7 @@ var validLinkerFlags = []*lazyregexp.Regexp{ re(`-Wl,-z,(no)?execstack`), re(`-Wl,-z,relro`), - re(`[a-zA-Z0-9_/].*\.(a|o|obj|dll|dylib|so)`), // direct linker inputs: x.o or libfoo.so (but not -foo.o or @foo.o) + re(`[a-zA-Z0-9_/].*\.(a|o|obj|dll|dylib|so|tbd)`), // direct linker inputs: x.o or libfoo.so (but not -foo.o or @foo.o) re(`\./.*\.(a|o|obj|dll|dylib|so)`), } diff --git a/src/cmd/go/internal/work/security_test.go b/src/cmd/go/internal/work/security_test.go index 4f2e0eb21a..d37cb4bb04 100644 --- a/src/cmd/go/internal/work/security_test.go +++ b/src/cmd/go/internal/work/security_test.go @@ -164,6 +164,7 @@ var goodLinkerFlags = [][]string{ {"-Wl,-framework", "-Wl,Chocolate"}, {"-Wl,-framework,Chocolate"}, {"-Wl,-unresolved-symbols=ignore-all"}, + {"libcgotbdtest.tbd"}, } var badLinkerFlags = [][]string{