From e9073ef809895740b3e3876148af808c51c016d5 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 5 Jun 2019 22:01:40 +0000 Subject: [PATCH] cmd/go: accept -Wl,-R/path/ Fixes #32167 Change-Id: If1277789ac96363430045e73e49d008bdae9be79 GitHub-Last-Rev: 71c9435c8417b19faaf66dc2e08740d7a9c22e3b GitHub-Pull-Request: golang/go#32171 Reviewed-on: https://go-review.googlesource.com/c/go/+/178397 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- src/cmd/go/internal/work/security.go | 4 ++++ src/cmd/go/internal/work/security_test.go | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/cmd/go/internal/work/security.go b/src/cmd/go/internal/work/security.go index ecfb9df1b2..0d8da21ae3 100644 --- a/src/cmd/go/internal/work/security.go +++ b/src/cmd/go/internal/work/security.go @@ -184,6 +184,8 @@ var validLinkerFlags = []*lazyregexp.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`), @@ -213,6 +215,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"}, } -- 2.50.0