cmd/go: make cache keys for libraries in GOROOT insensitive to -trimpath
#57346
Labels
GoCommand
cmd/go
help wanted
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
In CL 380915 we observed that libraries in GOROOT contain the literal string
$GOROOT
instead of their absolute paths, even when-trimpath
is not set.As a result, we should (theoretically) compile the same bytes for those libraries regardless of whether
-trimpath
is set. We can therefore omit-trimpath
from the cache key, allowing object files already in the cache to be reused in more cases.We should add a script test that verifies that the library object files really don't depend on the
-trimpath
flag, make the flags passed to the compiler ignorecfg.BuildTrimpath
for those libraries, and then updatecmd/go/internal/work
to omit it from the cache key.(Note that we cannot omit it from the cache key for executables, since those are stamped with the actual
GOROOT
orGOROOT_FINAL
during linking.)The text was updated successfully, but these errors were encountered: