Skip to content

Commit 9c46a71

Browse files
authored
Merge pull request #73760 from etcwilde/ewilde/swift-6.0-set-gold-clang-linker
🍒[Swift 6.0]: Set toolchain clang linker to gold (Linux)
2 parents d85933b + d83ceb8 commit 9c46a71

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

utils/build-presets.ini

Lines changed: 3 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++'
921+
-DCLANG_DEFAULT_LINKER=gold
920922

921923
[preset: buildbot_linux]
922924
mixin-preset=

utils/build-script-impl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1670,6 +1670,8 @@ for host in "${ALL_HOSTS[@]}"; do
16701670
else
16711671
CLANG_BIN="$(build_directory_bin ${LOCAL_HOST} llvm)"
16721672
fi
1673+
export SWIFT_DRIVER_CLANG_EXEC="${CLANG_BIN}/clang"
1674+
export SWIFT_DRIVER_CLANGXX_EXEC="${CLANG_BIN}/clang++"
16731675

16741676
if [[ "${NATIVE_SWIFT_TOOLS_PATH}" ]] ; then
16751677
SWIFTC_BIN="${NATIVE_SWIFT_TOOLS_PATH}/swiftc"
@@ -2780,6 +2782,8 @@ for host in "${ALL_HOSTS[@]}"; do
27802782
else
27812783
CLANG_BIN="$(build_directory_bin ${LOCAL_HOST} llvm)"
27822784
fi
2785+
export SWIFT_DRIVER_CLANG_EXEC="${CLANG_BIN}/clang"
2786+
export SWIFT_DRIVER_CLANGXX_EXEC="${CLANG_BIN}/clang++"
27832787

27842788
if [[ "${NATIVE_SWIFT_TOOLS_PATH}" ]] ; then
27852789
SWIFTC_BIN="${NATIVE_SWIFT_TOOLS_PATH}/swiftc"
@@ -3059,6 +3063,20 @@ for host in "${ALL_HOSTS[@]}"; do
30593063
continue
30603064
fi
30613065

3066+
# Have to set the clang path or the driver will try to link with the wrong
3067+
# clang
3068+
if [[ "${NATIVE_CLANG_TOOLS_PATH}" ]] ; then
3069+
CLANG_BIN="${NATIVE_CLANG_TOOLS_PATH}"
3070+
if [[ ! -f "${CLANG_BIN}/clang" ]] ; then
3071+
echo "error: clang does not exist at the specified native tools path: ${CLANG_BIN}/clang"
3072+
exit 1
3073+
fi
3074+
else
3075+
CLANG_BIN="$(build_directory_bin ${LOCAL_HOST} llvm)"
3076+
fi
3077+
export SWIFT_DRIVER_CLANG_EXEC="${CLANG_BIN}/clang"
3078+
export SWIFT_DRIVER_CLANGXX_EXEC="${CLANG_BIN}/clang++"
3079+
30623080
# Set the build options for this host
30633081
set_build_options_for_host $host
30643082

0 commit comments

Comments
 (0)