diff --git a/import_obfuscation.go b/import_obfuscation.go index 822c1d1..b6716f7 100644 --- a/import_obfuscation.go +++ b/import_obfuscation.go @@ -291,6 +291,10 @@ func stripPCLinesAndNames(am *goobj2.ArchiveMember) { lists := [][]*goobj2.Sym{am.SymDefs, am.NonPkgSymDefs, am.NonPkgSymRefs} for _, list := range lists { for _, s := range list { + if strings.HasPrefix(s.Name, "gofile..") { + s.Name = "gofile.." + } + if s.Func == nil { continue } @@ -495,6 +499,11 @@ func garbleSymbolName(symName string, privImports privateImports, garbledImports return symName } + // remove filename symbols when -tiny is passed + if envGarbleTiny && prefix == "gofile.." { + return prefix + } + var namedataSym bool if prefix == "type..namedata." { namedataSym = true diff --git a/testdata/scripts/tiny.txt b/testdata/scripts/tiny.txt index 65448a7..70a3036 100644 --- a/testdata/scripts/tiny.txt +++ b/testdata/scripts/tiny.txt @@ -6,6 +6,7 @@ env GODEBUG='allocfreetrace=1,gcpacertrace=1,gctrace=1,scavenge=1,scavtrace=1,sc ! exec ./main$exe cmp stdout main.stdout stderr '\? 0' +! binsubstr main$exe 'main.go' 'fmt/print.go' [short] stop # no need to verify this with -short