Skip to content

Commit 1ae371b

Browse files
authored
Re-add dependency on libatomic for 32-bit Linux platforms (swiftlang#36659)
1 parent 4344541 commit 1ae371b

File tree

5 files changed

+20
-0
lines changed

5 files changed

+20
-0
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,9 @@ function(_add_host_variant_link_flags target)
301301
target_link_libraries(${target} PRIVATE
302302
pthread
303303
dl)
304+
if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv6|armv7|i686")
305+
target_link_libraries(${target} PRIVATE atomic)
306+
endif()
304307
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL FREEBSD)
305308
target_link_libraries(${target} PRIVATE
306309
pthread)

cmake/modules/AddSwiftUnittests.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ function(add_swift_unittest test_dirname)
5656
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64")
5757
target_compile_options(${test_dirname} PRIVATE
5858
-march=core2)
59+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armv6|armv7|i686")
60+
set_property(TARGET "${test_dirname}" APPEND PROPERTY LINK_LIBRARIES
61+
"atomic")
5962
endif()
6063
elseif("${SWIFT_HOST_VARIANT}" STREQUAL "windows")
6164
target_compile_definitions("${test_dirname}" PRIVATE

stdlib/cmake/modules/AddSwiftStdlib.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,9 @@ function(_add_target_variant_link_flags)
358358
MACCATALYST_BUILD_FLAVOR "${LFLAGS_MACCATALYST_BUILD_FLAVOR}")
359359
if("${LFLAGS_SDK}" STREQUAL "LINUX")
360360
list(APPEND link_libraries "pthread" "dl")
361+
if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv6|armv7|i686")
362+
list(APPEND link_libraries PRIVATE "atomic")
363+
endif()
361364
elseif("${LFLAGS_SDK}" STREQUAL "FREEBSD")
362365
list(APPEND link_libraries "pthread")
363366
elseif("${LFLAGS_SDK}" STREQUAL "OPENBSD")

unittests/runtime/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND
5252
${FOUNDATION_LIBRARY}
5353
swiftStdlibUnittest${SWIFT_PRIMARY_VARIANT_SUFFIX}
5454
)
55+
elseif(SWIFT_HOST_VARIANT STREQUAL "Linux")
56+
if(SWIFT_HOST_VARIANT_ARCH MATCHES "armv6|armv7|i686")
57+
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES
58+
"atomic")
59+
endif()
5560
elseif(SWIFT_HOST_VARIANT STREQUAL "freebsd")
5661
find_library(EXECINFO_LIBRARY execinfo)
5762
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES

unittests/runtime/LongTests/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ if(("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SDK}") AND
1919

2020
# Link the Objective-C runtime.
2121
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES "objc")
22+
elseif(SWIFT_HOST_VARIANT STREQUAL "linux")
23+
if(SWIFT_HOST_VARIANT_ARCH MATCHES "armv6|armv7|i686")
24+
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES
25+
"atomic"
26+
)
27+
endif()
2228
elseif(SWIFT_HOST_VARIANT STREQUAL "freebsd")
2329
find_library(EXECINFO_LIBRARY execinfo)
2430
list(APPEND PLATFORM_TARGET_LINK_LIBRARIES

0 commit comments

Comments
 (0)