-
- Downloads
[release-branch.go1.22] cmd/link: generate Mach-O UUID when -B flag is specified
Currently, on Mach-O, the Go linker doesn't generate LC_UUID in internal linking mode. This causes some macOS system tools unable to track the binary, as well as in some cases the binary unable to access local network on macOS 15. This CL makes the linker start generate LC_UUID. Currently, the UUID is generated if the -B flag is specified. And we'll make it generate UUID by default in a later CL. The -B flag is currently for generating GNU build ID on ELF, which is a similar concept to Mach-O's UUID. Instead of introducing another flag, we just use the same flag and the same setting. Specifically, "-B gobuildid" will generate a UUID based on the Go build ID. Updates #68678. Fixes #69991. Cq-Include-Trybots: luci.golang.try:go1.22-darwin-amd64_14,go1.22-darwin-arm64_13 Change-Id: I90089a78ba144110bf06c1c6836daf2d737ff10a Reviewed-on: https://go-review.googlesource.com/c/go/+/618595 Reviewed-by:Michael Knyszek <mknyszek@google.com> Reviewed-by:
Ingo Oeser <nightlyone@googlemail.com> Reviewed-by:
Than McIntosh <thanm@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> (cherry picked from commit 20ed6031) Reviewed-on: https://go-review.googlesource.com/c/go/+/622596 Auto-Submit: Michael Pratt <mpratt@google.com> Reviewed-by:
Michael Pratt <mpratt@google.com> TryBot-Bypass: Michael Pratt <mpratt@google.com>
Showing
- src/cmd/link/internal/ld/elf.go 11 additions, 3 deletionssrc/cmd/link/internal/ld/elf.go
- src/cmd/link/internal/ld/macho.go 16 additions, 0 deletionssrc/cmd/link/internal/ld/macho.go
- src/cmd/link/internal/ld/macho_update_uuid.go 47 additions, 0 deletionssrc/cmd/link/internal/ld/macho_update_uuid.go
- src/cmd/link/internal/ld/main.go 5 additions, 1 deletionsrc/cmd/link/internal/ld/main.go
- test/fixedbugs/issue14636.go 14 additions, 7 deletionstest/fixedbugs/issue14636.go
Loading
Please register or sign in to comment