Skip to content

Commit 0a9b1fd

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 db4aa81 commit 0a9b1fd

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

utils/build-presets.ini

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,9 @@ reconfigure
916916

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
919-
llvm-cmake-options=-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++'
919+
llvm-cmake-options=
920+
-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++;-DCLANG_DEFAULT_LINKER=gold'
921+
-DCLANG_DEFAULT_LINKER=gold
920922

921923
[preset: buildbot_linux]
922924
mixin-preset=
@@ -1086,6 +1088,11 @@ reconfigure
10861088
test-optimized
10871089
skip-test-swiftdocc
10881090

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
10891096

10901097
[preset: buildbot_linux_1404_no_lldb]
10911098
mixin-preset=buildbot_incremental_linux
@@ -1165,6 +1172,8 @@ reconfigure
11651172
# in Linux CI bots
11661173
relocate-xdg-cache-home-under-build-subdir
11671174

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

11691178
[preset: buildbot_incremental_linux]
11701179
mixin-preset=
@@ -1829,6 +1838,9 @@ skip-test-foundation
18291838
skip-test-libdispatch
18301839
skip-test-xctest
18311840

1841+
llvm-cmake-options=
1842+
-DCLANG_DEFAULT_LINKER=gold
1843+
18321844
# Builds enough of the toolchain to build a swift package on macOS.
18331845
[preset: mixin_swiftpm_package_macos_platform]
18341846
mixin-preset=mixin_swiftpm_macos_platform
@@ -1851,6 +1863,8 @@ mixin-preset=mixin_swiftpm_linux_platform
18511863
skip-test-llbuild
18521864
skip-test-swiftpm
18531865

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

18551869
#===------------------------------------------------------------------------===#
18561870
# Test swiftPM on macOS builder
@@ -2123,6 +2137,9 @@ skip-test-swift
21232137
skip-test-libdispatch
21242138
skip-test-foundation
21252139

2140+
llvm-cmake-options=
2141+
-DCLANG_DEFAULT_LINKER=gold
2142+
21262143
#===------------------------------------------------------------------------===#
21272144
# Remote Mirror Library
21282145
#===------------------------------------------------------------------------===#
@@ -2951,6 +2968,9 @@ install-libdispatch
29512968
install-xctest
29522969
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;libexec;swift-remote-mirror;sdk-overlay;license
29532970

2971+
llvm-cmake-options=
2972+
-DCLANG_DEFAULT_LINKER=gold
2973+
29542974
[preset: source_compat_suite_macos_DA]
29552975
mixin-preset=source_compat_suite_macos_base
29562976
debug
@@ -3040,3 +3060,6 @@ skip-test-cmark
30403060
skip-test-swift
30413061
skip-build-benchmarks
30423062
skip-test-foundation
3063+
3064+
llvm-cmake-options=
3065+
-DCLANG_DEFAULT_LINKER=gold

0 commit comments

Comments
 (0)