Three hours in. I know much more about embedded GOROOT paths.
Interestingly, the compiler will patch the paths of the symbols in the stdlib to match the GOROOT. That's smart, avoids recompiling the stdlib at every GOROOT change, but allows debuggers to find the stdlib files.
Also, should make reproducible builds just work.
So it's not this.
Figured it out! 🙌 And got it to reproduce 💥
The default GOROOT matters to the build ID because it's written to zversion.go, which is intentionally hashed in to detect toolchain changes.
Not, as I thought, because of the filepaths in the stdlib build IDs. The tree is recomputed with the current GOROOT instead. So every time you change GOROOT, the stdlib *is* rebuilt. (My previous tweet was wrong!)
All bets are off, it's Filippo is stupid.
@filippo Toot, not tweet!
@jdiez argh, right! Bad tooter. Sad.
@filippo i still chose all of the above 😂
@filippo I fav'd this for the bookmark and to signal nice debugging, not bc you're stupid. 👍
@kennwhite Of course 😊 ❤
FYI, your fav might have gotten lost in the 500 our instance is suffering right now, because it doesn't show up on my side.
Follow friends and discover new ones. Publish anything you want: links, pictures, text, video. This server is run by the main developers of the Mastodon project. Everyone is welcome as long as you follow our code of conduct!