aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-06-09 14:02:54 +0200
committerIan Lance Taylor <iant@golang.org>2019-06-10 04:29:54 +0000
commit3887549ce40f4bccd598ea491ce6a3b7334bc214 (patch)
tree0f1cd57794f452a6c9c32eebef7b5fcb76980caf
parent451e6d61b375ed8b7d2411af9514df12e9970d45 (diff)
downloadgo-3887549ce40f4bccd598ea491ce6a3b7334bc214.tar.gz
go-3887549ce40f4bccd598ea491ce6a3b7334bc214.zip
[release-branch.go1.12] cmd/go: accept -Wl,-R/path/
This is a backport of CL 178397. Updates #32167 Fixes #32168 Change-Id: Idb16a01d56814ea09ad277798787355dc6a3121f Reviewed-on: https://go-review.googlesource.com/c/go/+/181437 Reviewed-by: Jason Donenfeld <Jason@zx2c4.com> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Run-TryBot: Jason Donenfeld <Jason@zx2c4.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-rw-r--r--src/cmd/go/internal/work/security.go4
-rw-r--r--src/cmd/go/internal/work/security_test.go8
2 files changed, 12 insertions, 0 deletions
diff --git a/src/cmd/go/internal/work/security.go b/src/cmd/go/internal/work/security.go
index 1a401b8981..59d5b0410f 100644
--- a/src/cmd/go/internal/work/security.go
+++ b/src/cmd/go/internal/work/security.go
@@ -177,6 +177,8 @@ var validLinkerFlags = []*regexp.Regexp{
re(`-Wl,-framework,[^,@\-][^,]+`),
re(`-Wl,-headerpad_max_install_names`),
re(`-Wl,--no-undefined`),
+ re(`-Wl,-R([^@\-][^,@]*$)`),
+ re(`-Wl,--just-symbols[=,]([^,@\-][^,@]+)`),
re(`-Wl,-rpath(-link)?[=,]([^,@\-][^,]+)`),
re(`-Wl,-s`),
re(`-Wl,-search_paths_first`),
@@ -206,6 +208,8 @@ var validLinkerFlagsWithNextArg = []string{
"-target",
"-Wl,-framework",
"-Wl,-rpath",
+ "-Wl,-R",
+ "-Wl,--just-symbols",
"-Wl,-undefined",
}
diff --git a/src/cmd/go/internal/work/security_test.go b/src/cmd/go/internal/work/security_test.go
index d23b6eadff..fd8caeab4e 100644
--- a/src/cmd/go/internal/work/security_test.go
+++ b/src/cmd/go/internal/work/security_test.go
@@ -125,6 +125,11 @@ var goodLinkerFlags = [][]string{
{"-pthread"},
{"-Wl,-rpath,foo"},
{"-Wl,-rpath,$ORIGIN/foo"},
+ {"-Wl,-R", "/foo"},
+ {"-Wl,-R", "foo"},
+ {"-Wl,-R,foo"},
+ {"-Wl,--just-symbols=foo"},
+ {"-Wl,--just-symbols,foo"},
{"-Wl,--warn-error"},
{"-Wl,--no-warn-error"},
{"foo.so"},
@@ -197,6 +202,9 @@ var badLinkerFlags = [][]string{
{"-x", "--c"},
{"-x", "@obj"},
{"-Wl,-rpath,@foo"},
+ {"-Wl,-R,foo,bar"},
+ {"-Wl,-R,@foo"},
+ {"-Wl,--just-symbols,@foo"},
{"../x.o"},
}