-
Notifications
You must be signed in to change notification settings - Fork 17.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmd/go: make cache keys for libraries in GOROOT insensitive to -trimpath
#57346
Comments
(This issue was noticed while investigating #57328.) |
Saw the |
My reactions are only in support. In general, if anyone was working on it, it would be assigned. |
An expanded build ID has the following format:
Given 2 builds with and without
Is it possible to just compare |
I found a way to do it:
|
Change https://go.dev/cl/542435 mentions this issue: |
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: