Skip to content

Commit 5fd0c17

Browse files
committed
[Test][SourceKit] Use the *builder*'s swiftrt.o when in hosttools.
We were linking with the newly built `swiftrt.o` when in hosttools mode, which is wrong because the newly built `swiftrt.o` does not match the compiler we were using for the `SwiftCompilerSources`. This manifests as a failure in `SwiftCompilerSources/Sources/Optimizer/Utilities/Verifier.swift` because `self is ForwardingInstruction` fails as we can't find the protocol conformance records. rdar://123504095
1 parent 8d2f500 commit 5fd0c17

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

tools/SourceKit/cmake/modules/AddSwiftSourceKit.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,14 @@ function(add_sourcekit_swift_runtime_link_flags target path HAS_SWIFT_MODULES)
115115
else()
116116
set(host_lib_dir "${SWIFTLIB_DIR}/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}")
117117
endif()
118+
set(host_lib_arch_dir "${host_lib_dir}/${SWIFT_HOST_VARIANT_ARCH}")
118119

120+
set(swiftrt "${host_lib_arch_dir}/swiftrt${CMAKE_C_OUTPUT_EXTENSION}")
119121
target_link_libraries(${target} PRIVATE ${swiftrt})
120122
target_link_libraries(${target} PRIVATE "swiftCore")
121123

122124
target_link_directories(${target} PRIVATE ${host_lib_dir})
125+
target_link_directories(${target} PRIVATE ${host_lib_arch_dir})
123126

124127
file(RELATIVE_PATH relative_rtlib_path "${path}" "${SWIFTLIB_DIR}/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}")
125128
list(APPEND RPATH_LIST "$ORIGIN/${relative_rtlib_path}")

0 commit comments

Comments
 (0)