File tree Expand file tree Collapse file tree 10 files changed +25
-5
lines changed
swift_build_support/swift_build_support Expand file tree Collapse file tree 10 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -741,6 +741,8 @@ else()
741741 set (SWIFT_HOST_VARIANT_ARCH_default "powerpc64le" )
742742 elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "s390x" )
743743 set (SWIFT_HOST_VARIANT_ARCH_default "s390x" )
744+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "armv5|armv5te" )
745+ set (SWIFT_HOST_VARIANT_ARCH_default "armv5" )
744746 # FIXME: Only matches v6l/v7l - by far the most common variants
745747 elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "armv6l" )
746748 set (SWIFT_HOST_VARIANT_ARCH_default "armv6" )
Original file line number Diff line number Diff line change @@ -344,7 +344,7 @@ function(_add_host_variant_link_flags target)
344344 target_link_libraries (${target} PRIVATE
345345 pthread
346346 dl)
347- if ("${SWIFT_HOST_VARIANT_ARCH} " MATCHES "armv6|armv7|i686" )
347+ if ("${SWIFT_HOST_VARIANT_ARCH} " MATCHES "armv5| armv6|armv7|i686" )
348348 target_link_libraries (${target} PRIVATE atomic)
349349 endif ()
350350 elseif (SWIFT_HOST_VARIANT_SDK STREQUAL FREEBSD)
Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ function(add_swift_unittest test_dirname)
3737 if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64" )
3838 target_compile_options (${test_dirname} PRIVATE
3939 -march=core2)
40- elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "armv6|armv7|i686" )
40+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "armv5| armv6|armv7|i686" )
4141 set_property (TARGET "${test_dirname} " APPEND PROPERTY LINK_LIBRARIES
4242 "atomic" )
4343 endif ()
Original file line number Diff line number Diff line change @@ -323,7 +323,9 @@ macro(configure_sdk_unix name architectures)
323323 endif ()
324324
325325 if ("${prefix} " STREQUAL "LINUX" )
326- if (arch MATCHES "(armv6|armv7)" )
326+ if (arch MATCHES "(armv5)" )
327+ set (SWIFT_SDK_LINUX_ARCH_${arch} _TRIPLE "${arch} -unknown-linux-gnueabi" )
328+ elseif (arch MATCHES "(armv6|armv7)" )
327329 set (SWIFT_SDK_LINUX_ARCH_${arch} _TRIPLE "${arch} -unknown-linux-gnueabihf" )
328330 elseif (arch MATCHES "(aarch64|i686|powerpc64|powerpc64le|s390x|x86_64)" )
329331 set (SWIFT_SDK_LINUX_ARCH_${arch} _TRIPLE "${arch} -unknown-linux-gnu" )
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ function(set_if_arch_bitness var_name)
99 if ("${SIA_ARCH} " STREQUAL "i386" OR
1010 "${SIA_ARCH} " STREQUAL "i686" OR
1111 "${SIA_ARCH} " STREQUAL "x86" OR
12+ "${SIA_ARCH} " STREQUAL "armv5" OR
1213 "${SIA_ARCH} " STREQUAL "armv6" OR
1314 "${SIA_ARCH} " STREQUAL "armv7" OR
1415 "${SIA_ARCH} " STREQUAL "armv7k" OR
Original file line number Diff line number Diff line change @@ -218,6 +218,8 @@ StringRef swift::getMajorArchitectureName(const llvm::Triple &Triple) {
218218 return " armv7" ;
219219 case llvm::Triple::SubArchType::ARMSubArch_v6:
220220 return " armv6" ;
221+ case llvm::Triple::SubArchType::ARMSubArch_v5:
222+ return " armv5" ;
221223 default :
222224 break ;
223225 }
Original file line number Diff line number Diff line change @@ -400,6 +400,10 @@ static std::string adjustClangTriple(StringRef TripleStr) {
400400 OS << " armv6k" ; break ;
401401 case llvm::Triple::SubArchType::ARMSubArch_v6t2:
402402 OS << " armv6t2" ; break ;
403+ case llvm::Triple::SubArchType::ARMSubArch_v5:
404+ OS << " armv5" ; break ;
405+ case llvm::Triple::SubArchType::ARMSubArch_v5te:
406+ OS << " armv5te" ; break ;
403407 default :
404408 // Adjust i386-macosx to x86_64 because there is no Swift stdlib for i386.
405409 if ((Triple.getOS () == llvm::Triple::MacOSX ||
Original file line number Diff line number Diff line change @@ -418,7 +418,7 @@ function(_add_target_variant_link_flags)
418418 MACCATALYST_BUILD_FLAVOR "${LFLAGS_MACCATALYST_BUILD_FLAVOR} " )
419419 if ("${LFLAGS_SDK} " STREQUAL "LINUX" )
420420 list (APPEND link_libraries "pthread" "dl" )
421- if ("${LFLAGS_ARCH} " MATCHES "armv6|armv7|i686" )
421+ if ("${LFLAGS_ARCH} " MATCHES "armv5| armv6|armv7|i686" )
422422 list (APPEND link_libraries "atomic" )
423423 endif ()
424424 elseif ("${LFLAGS_SDK} " STREQUAL "FREEBSD" )
Original file line number Diff line number Diff line change @@ -458,6 +458,7 @@ function verify_host_is_supported() {
458458 | haiku-x86_64 \
459459 | linux-x86_64 \
460460 | linux-i686 \
461+ | linux-armv5 \
461462 | linux-armv6 \
462463 | linux-armv7 \
463464 | linux-aarch64 \
@@ -551,6 +552,10 @@ function set_build_options_for_host() {
551552 ;;
552553 esac
553554 ;;
555+ linux-armv5)
556+ SWIFT_HOST_TRIPLE=" armv5-unknown-linux-gnueabi"
557+ llvm_target_arch=" ARM"
558+ ;;
554559 linux-armv6)
555560 SWIFT_HOST_TRIPLE=" armv6-unknown-linux-gnueabihf"
556561 llvm_target_arch=" ARM"
@@ -1105,7 +1110,7 @@ function false_true() {
11051110CROSS_COMPILE_HOSTS=($CROSS_COMPILE_HOSTS )
11061111for t in " ${CROSS_COMPILE_HOSTS[@]} " ; do
11071112 case ${t} in
1108- macosx* | iphone* | appletv* | watch* | linux-armv6 | linux-armv7 | android-* )
1113+ macosx* | iphone* | appletv* | watch* | linux-armv5 | linux- armv6 | linux-armv7 | android-* )
11091114 ;;
11101115 * )
11111116 echo " Unknown host to cross-compile for: ${t} "
Original file line number Diff line number Diff line change @@ -266,6 +266,7 @@ class StdlibDeploymentTarget(object):
266266 Linux = Platform ("linux" , archs = [
267267 "x86_64" ,
268268 "i686" ,
269+ "armv5" ,
269270 "armv6" ,
270271 "armv7" ,
271272 "aarch64" ,
@@ -346,6 +347,9 @@ def host_target():
346347 elif machine .startswith ('armv6' ):
347348 # linux-armv6* is canonicalized to 'linux-armv6'
348349 return StdlibDeploymentTarget .Linux .armv6
350+ elif machine .startswith ('armv5' ):
351+ # linux-armv5* is canonicalized to 'linux-armv5'
352+ return StdlibDeploymentTarget .Linux .armv5
349353 elif machine == 'aarch64' :
350354 return StdlibDeploymentTarget .Linux .aarch64
351355 elif machine == 'ppc64' :
You can’t perform that action at this time.
0 commit comments