diff options
-rw-r--r-- | src/cmd/link/internal/ld/lib.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 03b9f11608..c44983144d 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -1367,6 +1367,10 @@ func (ctxt *Link) hostlink() { switch ctxt.HeadType { case objabi.Hdarwin: + if linkerFlagSupported(ctxt.Arch, argv[0], "", "-Wl,-ld_classic") { + // Force old linker to work around bugs in Apple's new linker. + argv = append(argv, "-Wl,-ld_classic") + } if combineDwarf { // Leave room for DWARF combining. // -headerpad is incompatible with -fembed-bitcode. |