File tree 10 files changed +25
-5
lines changed
swift_build_support/swift_build_support
10 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -741,6 +741,8 @@ else()
741
741
set (SWIFT_HOST_VARIANT_ARCH_default "powerpc64le" )
742
742
elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "s390x" )
743
743
set (SWIFT_HOST_VARIANT_ARCH_default "s390x" )
744
+ elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "armv5|armv5te" )
745
+ set (SWIFT_HOST_VARIANT_ARCH_default "armv5" )
744
746
# FIXME: Only matches v6l/v7l - by far the most common variants
745
747
elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "armv6l" )
746
748
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)
344
344
target_link_libraries (${target} PRIVATE
345
345
pthread
346
346
dl)
347
- if ("${SWIFT_HOST_VARIANT_ARCH} " MATCHES "armv6|armv7|i686" )
347
+ if ("${SWIFT_HOST_VARIANT_ARCH} " MATCHES "armv5| armv6|armv7|i686" )
348
348
target_link_libraries (${target} PRIVATE atomic)
349
349
endif ()
350
350
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)
37
37
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64" )
38
38
target_compile_options (${test_dirname} PRIVATE
39
39
-march=core2)
40
- elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "armv6|armv7|i686" )
40
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "armv5| armv6|armv7|i686" )
41
41
set_property (TARGET "${test_dirname} " APPEND PROPERTY LINK_LIBRARIES
42
42
"atomic" )
43
43
endif ()
Original file line number Diff line number Diff line change @@ -323,7 +323,9 @@ macro(configure_sdk_unix name architectures)
323
323
endif ()
324
324
325
325
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)" )
327
329
set (SWIFT_SDK_LINUX_ARCH_${arch} _TRIPLE "${arch} -unknown-linux-gnueabihf" )
328
330
elseif (arch MATCHES "(aarch64|i686|powerpc64|powerpc64le|s390x|x86_64)" )
329
331
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)
9
9
if ("${SIA_ARCH} " STREQUAL "i386" OR
10
10
"${SIA_ARCH} " STREQUAL "i686" OR
11
11
"${SIA_ARCH} " STREQUAL "x86" OR
12
+ "${SIA_ARCH} " STREQUAL "armv5" OR
12
13
"${SIA_ARCH} " STREQUAL "armv6" OR
13
14
"${SIA_ARCH} " STREQUAL "armv7" OR
14
15
"${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) {
218
218
return " armv7" ;
219
219
case llvm::Triple::SubArchType::ARMSubArch_v6:
220
220
return " armv6" ;
221
+ case llvm::Triple::SubArchType::ARMSubArch_v5:
222
+ return " armv5" ;
221
223
default :
222
224
break ;
223
225
}
Original file line number Diff line number Diff line change @@ -400,6 +400,10 @@ static std::string adjustClangTriple(StringRef TripleStr) {
400
400
OS << " armv6k" ; break ;
401
401
case llvm::Triple::SubArchType::ARMSubArch_v6t2:
402
402
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 ;
403
407
default :
404
408
// Adjust i386-macosx to x86_64 because there is no Swift stdlib for i386.
405
409
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)
418
418
MACCATALYST_BUILD_FLAVOR "${LFLAGS_MACCATALYST_BUILD_FLAVOR} " )
419
419
if ("${LFLAGS_SDK} " STREQUAL "LINUX" )
420
420
list (APPEND link_libraries "pthread" "dl" )
421
- if ("${LFLAGS_ARCH} " MATCHES "armv6|armv7|i686" )
421
+ if ("${LFLAGS_ARCH} " MATCHES "armv5| armv6|armv7|i686" )
422
422
list (APPEND link_libraries "atomic" )
423
423
endif ()
424
424
elseif ("${LFLAGS_SDK} " STREQUAL "FREEBSD" )
Original file line number Diff line number Diff line change @@ -458,6 +458,7 @@ function verify_host_is_supported() {
458
458
| haiku-x86_64 \
459
459
| linux-x86_64 \
460
460
| linux-i686 \
461
+ | linux-armv5 \
461
462
| linux-armv6 \
462
463
| linux-armv7 \
463
464
| linux-aarch64 \
@@ -551,6 +552,10 @@ function set_build_options_for_host() {
551
552
;;
552
553
esac
553
554
;;
555
+ linux-armv5)
556
+ SWIFT_HOST_TRIPLE=" armv5-unknown-linux-gnueabi"
557
+ llvm_target_arch=" ARM"
558
+ ;;
554
559
linux-armv6)
555
560
SWIFT_HOST_TRIPLE=" armv6-unknown-linux-gnueabihf"
556
561
llvm_target_arch=" ARM"
@@ -1105,7 +1110,7 @@ function false_true() {
1105
1110
CROSS_COMPILE_HOSTS=($CROSS_COMPILE_HOSTS )
1106
1111
for t in " ${CROSS_COMPILE_HOSTS[@]} " ; do
1107
1112
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-* )
1109
1114
;;
1110
1115
* )
1111
1116
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):
266
266
Linux = Platform ("linux" , archs = [
267
267
"x86_64" ,
268
268
"i686" ,
269
+ "armv5" ,
269
270
"armv6" ,
270
271
"armv7" ,
271
272
"aarch64" ,
@@ -346,6 +347,9 @@ def host_target():
346
347
elif machine .startswith ('armv6' ):
347
348
# linux-armv6* is canonicalized to 'linux-armv6'
348
349
return StdlibDeploymentTarget .Linux .armv6
350
+ elif machine .startswith ('armv5' ):
351
+ # linux-armv5* is canonicalized to 'linux-armv5'
352
+ return StdlibDeploymentTarget .Linux .armv5
349
353
elif machine == 'aarch64' :
350
354
return StdlibDeploymentTarget .Linux .aarch64
351
355
elif machine == 'ppc64' :
You can’t perform that action at this time.
0 commit comments