]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/work: allow single character values in -Wl, linker flags
authorPedro Tôrres <t0rr3sp3dr0@gmail.com>
Fri, 20 Dec 2024 06:45:52 +0000 (06:45 +0000)
committerGopher Robot <gobot@golang.org>
Mon, 23 Dec 2024 15:08:22 +0000 (07:08 -0800)
Allow single character values in -Wl, linker flags by modifying the regular
expressions to use the star operator instead of the plus operator.

Fixes #70924

Change-Id: Ie7940197cc8503440a87c6b29409a13377a20534
GitHub-Last-Rev: 42e8ac87d600239ceff434eb202e2747f2cceb3c
GitHub-Pull-Request: golang/go#70937
Reviewed-on: https://go-review.googlesource.com/c/go/+/638035
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/cmd/go/internal/work/security.go
src/cmd/go/internal/work/security_test.go

index 1e2f81b2d4d23e5cf9fd74aa52a8a16d3d4a744f..50bfd0ab70538330ecaf7491f30bb497ff420673 100644 (file)
@@ -201,23 +201,23 @@ var validLinkerFlags = []*lazyregexp.Regexp{
        re(`-Wl,--end-group`),
        re(`-Wl,--(no-)?export-dynamic`),
        re(`-Wl,-E`),
-       re(`-Wl,-framework,[^,@\-][^,]+`),
+       re(`-Wl,-framework,[^,@\-][^,]*`),
        re(`-Wl,--hash-style=(sysv|gnu|both)`),
        re(`-Wl,-headerpad_max_install_names`),
        re(`-Wl,--no-undefined`),
        re(`-Wl,--pop-state`),
        re(`-Wl,--push-state`),
        re(`-Wl,-R,?([^@\-,][^,@]*$)`),
-       re(`-Wl,--just-symbols[=,]([^,@\-][^,@]+)`),
-       re(`-Wl,-rpath(-link)?[=,]([^,@\-][^,]+)`),
+       re(`-Wl,--just-symbols[=,]([^,@\-][^,@]*)`),
+       re(`-Wl,-rpath(-link)?[=,]([^,@\-][^,]*)`),
        re(`-Wl,-s`),
        re(`-Wl,-search_paths_first`),
-       re(`-Wl,-sectcreate,([^,@\-][^,]+),([^,@\-][^,]+),([^,@\-][^,]+)`),
+       re(`-Wl,-sectcreate,([^,@\-][^,]*),([^,@\-][^,]*),([^,@\-][^,]*)`),
        re(`-Wl,--start-group`),
        re(`-Wl,-?-static`),
        re(`-Wl,-?-subsystem,(native|windows|console|posix|xbox)`),
-       re(`-Wl,-syslibroot[=,]([^,@\-][^,]+)`),
-       re(`-Wl,-undefined[=,]([^,@\-][^,]+)`),
+       re(`-Wl,-syslibroot[=,]([^,@\-][^,]*)`),
+       re(`-Wl,-undefined[=,]([^,@\-][^,]*)`),
        re(`-Wl,-?-unresolved-symbols=[^,]+`),
        re(`-Wl,--(no-)?warn-([^,]+)`),
        re(`-Wl,-?-wrap[=,][^,@\-][^,]*`),
index 63dd569f7d3964a705571ee5cd0aecd359ab5a17..35af62176472b4e7af90fb4b7b33351eebf6b02f 100644 (file)
@@ -182,6 +182,13 @@ var goodLinkerFlags = [][]string{
        {"-Wl,--pop-state"},
        {"-Wl,--push-state,--as-needed"},
        {"-Wl,--push-state,--no-as-needed,-Bstatic"},
+       {"-Wl,--just-symbols,."},
+       {"-Wl,-framework,."},
+       {"-Wl,-rpath,."},
+       {"-Wl,-rpath-link,."},
+       {"-Wl,-sectcreate,.,.,."},
+       {"-Wl,-syslibroot,."},
+       {"-Wl,-undefined,."},
 }
 
 var badLinkerFlags = [][]string{