-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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/cgo: enable reproducible builds when LTO is enabled #53528
base: master
Are you sure you want to change the base?
Conversation
This PR (HEAD: 61f4d6e) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/413974 to see it. Tip: You can toggle comments from me using the |
Message from Bryan Mills: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Sean Liao: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Ian Lance Taylor: Patch Set 1: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 1: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 1: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
61f4d6e
to
8bab1c8
Compare
This PR (HEAD: 8bab1c8) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/413974 to see it. Tip: You can toggle comments from me using the |
Message from Morten Linderud: Patch Set 2: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Daniel Martí: Patch Set 2: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 2: Run-TryBot+1 Code-Review+2 (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 2: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 2: TryBot-Result+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 2: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
8bab1c8
to
457c06c
Compare
This PR (HEAD: 457c06c) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/413974 to see it. Tip: You can toggle comments from me using the |
Message from Morten Linderud: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 3: Run-TryBot+1 Code-Review+2 (6 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 3: TryBot-Result-1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 3: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
457c06c
to
3abc1b0
Compare
This PR (HEAD: 3abc1b0) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/413974 to see it. Tip: You can toggle comments from me using the |
Message from Morten Linderud: Patch Set 3: (5 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
3abc1b0
to
dbcf0cb
Compare
Message from Bryan Mills: Patch Set 4: Run-TryBot+1 Code-Review+2 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
This PR (HEAD: dbcf0cb) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/413974 to see it. Tip: You can toggle comments from me using the |
Message from Gopher Robot: Patch Set 4: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 8: TryBot-Result-1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 8: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 8: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 8: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Ian Lance Taylor: Patch Set 9: Run-TryBot+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 9: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 9: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 9: TryBot-Result-1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 9: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Ian Lance Taylor: Patch Set 10: Run-TryBot+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 10: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 10: TryBot-Result-1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 10: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 10: Code-Review+2 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 10: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 10: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 10: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 10: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 10: TryBot-Result-1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 11: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 11: Code-Review+2 Run-TryBot+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 11: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 11: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 11: TryBot-Result+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 11: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 11: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Morten Linderud: Patch Set 11: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Bryan Mills: Patch Set 12: Code-Review+2 Run-TryBot+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 12: (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
Message from Gopher Robot: Patch Set 13: (2 comments) Please don’t reply on this GitHub thread. Visit golang.org/cl/413974. |
The work directory of the compiler is embedded into
compressed sections of the LTO objects. Making them unreproducible between
builds.
The culprit is that the line macros uses bare symbol names, and GCC
prepends each symbol with current directory when compiling.
See See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108534
For each cgo2.c file we parse out the bare symbols in the line macros
and ensure they are rewritten with -fdebug-prefix-map to point at the
absolute directory /tmp.
Reproduction of the issue: