diff --git a/main.go b/main.go index 6ead7a0..238847a 100644 --- a/main.go +++ b/main.go @@ -1880,7 +1880,10 @@ func filterForwardBuildFlags(flags []string) (filtered []string, firstUnknown st arg := flags[i] name := arg if i := strings.IndexByte(arg, '='); i > 0 { - name = arg[:i] + name = arg[:i] // "-name=value" to "-name" + } + if strings.HasPrefix(name, "--") { + name = name[1:] // "--name" to "-name" } buildFlag := forwardBuildFlags[name] diff --git a/testdata/scripts/imports.txt b/testdata/scripts/imports.txt index e21051a..4d83b75 100644 --- a/testdata/scripts/imports.txt +++ b/testdata/scripts/imports.txt @@ -36,8 +36,9 @@ go build -tags buildtag exec ./main cmp stdout main.stdout -# Also check that -literals doesn't break anything -garble -literals build -tags buildtag +# Check that -literals doesn't break anything. +# Also check that a different form of -tags still works. +garble -literals build --tags=buildtag exec ./main cmp stdout main.stdout