Skip to content

Commit 040c2b8

Browse files
committed
Default Linux toolchain linker to gold
The BFD linker on most of the Linux box is unable to link Swift objects. Currently the Swift driver hard-codes forcing the default linker to gold, but we want to support configuring this, so we need build-script to force it at the clang level instead. Cherry-Picks: d63152f 7596d00 8262552
1 parent 9c46a71 commit 040c2b8

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

utils/build-presets.ini

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,7 @@ reconfigure
917917
# gcc version on amazon linux 2 is too old to configure and build tablegen.
918918
# Use the clang that we install in the path for macros
919919
llvm-cmake-options=
920-
-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++'
920+
-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++;-DCLANG_DEFAULT_LINKER=gold'
921921
-DCLANG_DEFAULT_LINKER=gold
922922

923923
[preset: buildbot_linux]
@@ -1088,6 +1088,11 @@ reconfigure
10881088
test-optimized
10891089
skip-test-swiftdocc
10901090

1091+
# gcc version on amazon linux 2 is too old to configure and build tablegen.
1092+
# Use the clang that we install in the path for macros
1093+
llvm-cmake-options=
1094+
-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++'
1095+
-DCLANG_DEFAULT_LINKER=gold
10911096

10921097
[preset: buildbot_linux_1404_no_lldb]
10931098
mixin-preset=buildbot_incremental_linux
@@ -1167,6 +1172,8 @@ reconfigure
11671172
# in Linux CI bots
11681173
relocate-xdg-cache-home-under-build-subdir
11691174

1175+
llvm-cmake-options=
1176+
-DCLANG_DEFAULT_LINKER=gold
11701177

11711178
[preset: buildbot_incremental_linux]
11721179
mixin-preset=
@@ -1831,6 +1838,9 @@ skip-test-foundation
18311838
skip-test-libdispatch
18321839
skip-test-xctest
18331840

1841+
llvm-cmake-options=
1842+
-DCLANG_DEFAULT_LINKER=gold
1843+
18341844
# Builds enough of the toolchain to build a swift package on macOS.
18351845
[preset: mixin_swiftpm_package_macos_platform]
18361846
mixin-preset=mixin_swiftpm_macos_platform
@@ -1853,6 +1863,8 @@ mixin-preset=mixin_swiftpm_linux_platform
18531863
skip-test-llbuild
18541864
skip-test-swiftpm
18551865

1866+
llvm-cmake-options=
1867+
-DCLANG_DEFAULT_LINKER=gold
18561868

18571869
#===------------------------------------------------------------------------===#
18581870
# Test swiftPM on macOS builder
@@ -2125,6 +2137,9 @@ skip-test-swift
21252137
skip-test-libdispatch
21262138
skip-test-foundation
21272139

2140+
llvm-cmake-options=
2141+
-DCLANG_DEFAULT_LINKER=gold
2142+
21282143
#===------------------------------------------------------------------------===#
21292144
# Remote Mirror Library
21302145
#===------------------------------------------------------------------------===#
@@ -2953,6 +2968,9 @@ install-libdispatch
29532968
install-xctest
29542969
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;libexec;swift-remote-mirror;sdk-overlay;license
29552970

2971+
llvm-cmake-options=
2972+
-DCLANG_DEFAULT_LINKER=gold
2973+
29562974
[preset: source_compat_suite_macos_DA]
29572975
mixin-preset=source_compat_suite_macos_base
29582976
debug
@@ -3042,3 +3060,6 @@ skip-test-cmark
30423060
skip-test-swift
30433061
skip-build-benchmarks
30443062
skip-test-foundation
3063+
3064+
llvm-cmake-options=
3065+
-DCLANG_DEFAULT_LINKER=gold

0 commit comments

Comments
 (0)