src/cmd/link/internal/ld/lib.go | 4 ++++ diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 03b9f11608d3de1f5f35ac3ba6247af9e8acd0a2..c44983144d6017c0a545c1fbaff555c82d511fa0 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -1367,6 +1367,10 @@ combineDwarf := ctxt.IsDarwin() && !*FlagS && !*FlagW && !debug_s && machoPlatform == PLATFORM_MACOS 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.