Skip to content

Commit 1bee91b

Browse files
authored
Merge pull request #73463 from etcwilde/ewilde/set-gold-clang-linker
Set toolchain clang linker to gold (Linux)
2 parents 72d801c + d63152f commit 1bee91b

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
@@ -904,7 +904,9 @@ reconfigure
904904

905905
# gcc version on amazon linux 2 is too old to configure and build tablegen.
906906
# Use the clang that we install in the path for macros
907-
llvm-cmake-options=-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++'
907+
llvm-cmake-options=
908+
-DCROSS_TOOLCHAIN_FLAGS_LLVM_NATIVE='-DCMAKE_C_COMPILER=clang;-DCMAKE_CXX_COMPILER=clang++'
909+
-DCLANG_DEFAULT_LINKER=gold
908910

909911
[preset: buildbot_linux]
910912
mixin-preset=

utils/build-script-impl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,6 +1653,8 @@ for host in "${ALL_HOSTS[@]}"; do
16531653
else
16541654
CLANG_BIN="$(build_directory_bin ${LOCAL_HOST} llvm)"
16551655
fi
1656+
export SWIFT_DRIVER_CLANG_EXEC="${CLANG_BIN}/clang"
1657+
export SWIFT_DRIVER_CLANGXX_EXEC="${CLANG_BIN}/clang++"
16561658

16571659
if [[ "${NATIVE_SWIFT_TOOLS_PATH}" ]] ; then
16581660
SWIFTC_BIN="${NATIVE_SWIFT_TOOLS_PATH}/swiftc"
@@ -2720,6 +2722,8 @@ for host in "${ALL_HOSTS[@]}"; do
27202722
else
27212723
CLANG_BIN="$(build_directory_bin ${LOCAL_HOST} llvm)"
27222724
fi
2725+
export SWIFT_DRIVER_CLANG_EXEC="${CLANG_BIN}/clang"
2726+
export SWIFT_DRIVER_CLANGXX_EXEC="${CLANG_BIN}/clang++"
27232727

27242728
if [[ "${NATIVE_SWIFT_TOOLS_PATH}" ]] ; then
27252729
SWIFTC_BIN="${NATIVE_SWIFT_TOOLS_PATH}/swiftc"
@@ -3067,6 +3071,20 @@ for host in "${ALL_HOSTS[@]}"; do
30673071
continue
30683072
fi
30693073

3074+
# Have to set the clang path or the driver will try to link with the wrong
3075+
# clang
3076+
if [[ "${NATIVE_CLANG_TOOLS_PATH}" ]] ; then
3077+
CLANG_BIN="${NATIVE_CLANG_TOOLS_PATH}"
3078+
if [[ ! -f "${CLANG_BIN}/clang" ]] ; then
3079+
echo "error: clang does not exist at the specified native tools path: ${CLANG_BIN}/clang"
3080+
exit 1
3081+
fi
3082+
else
3083+
CLANG_BIN="$(build_directory_bin ${LOCAL_HOST} llvm)"
3084+
fi
3085+
export SWIFT_DRIVER_CLANG_EXEC="${CLANG_BIN}/clang"
3086+
export SWIFT_DRIVER_CLANGXX_EXEC="${CLANG_BIN}/clang++"
3087+
30703088
# Set the build options for this host
30713089
set_build_options_for_host $host
30723090

0 commit comments

Comments
 (0)