]> Cypherpunks repositories - gostls13.git/commit
cmd/link: disable DWARF by default in c-shared mode on darwin
authorCherry Mui <cherryyz@google.com>
Mon, 11 Sep 2023 19:53:49 +0000 (15:53 -0400)
committerCherry Mui <cherryyz@google.com>
Tue, 12 Sep 2023 15:31:24 +0000 (15:31 +0000)
commite924ea03cc7651cffdec9636a0d79d54eb6e7e0d
tree6e14e19b13c22427f27afd60fcd3f9d83e40e9f2
parent905b58b5377e8f542590a46a3c90146ab45a6c96
cmd/link: disable DWARF by default in c-shared mode on darwin

Currently, linking a Go c-shared object with C code using Apple's
new linker, it fails with

% cc a.c go.so
ld: segment '__DWARF' filesize exceeds vmsize in 'go.so'

Apple's new linker has more checks for unmapped segments. It is
very hard to make it accept a Mach-O shared object with an
additional DWARF segment.

We may want to stop combinding DWARF into the shared object (see
also #62577). For now, disable DWARF by default in c-shared mode
on darwin. (One can still enable it with -ldflags=-w=0, which will
contain DWARF, but it will need the old C linker to link against
with.)

For #61229.

Change-Id: I4cc77da54fac10e2c2cbcffa92779cba82706d75
Reviewed-on: https://go-review.googlesource.com/c/go/+/527415
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/link/internal/ld/main.go