]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.12] cmd/go: accept -Wl,-R/path/
authorJason A. Donenfeld <Jason@zx2c4.com>
Sun, 9 Jun 2019 12:02:54 +0000 (14:02 +0200)
committerIan Lance Taylor <iant@golang.org>
Mon, 10 Jun 2019 04:29:54 +0000 (04:29 +0000)
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>

src/cmd/go/internal/work/security.go
src/cmd/go/internal/work/security_test.go

index 1a401b8981ec2141c72385bf7c8a4a627d272e2e..59d5b0410f0f0f949a507925296548ed1179a57b 100644 (file)
@@ -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",
 }
 
index d23b6eadff50e8db21e368755f9ee3530691bc61..fd8caeab4ecf7dd0286ba26df65fb15dc05cc440 100644 (file)
@@ -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"},
 }