12
12
13
13
class ArchType :
14
14
UnknownArch = 0
15
- arm = 1
15
+ armv7 = 1
16
16
armeb = 2
17
17
aarch64 = 3
18
18
aarch64_be = 4
@@ -51,13 +51,16 @@ class ArchType:
51
51
spir64 = 37
52
52
kalimba = 38
53
53
shave = 39
54
+ armv6 = 40
54
55
# Do not assume that these are 1:1 mapping. This should follow
55
56
# canonical naming conventions for arm, etc. architectures.
56
57
# See apple/swift PR #608
57
58
@staticmethod
58
59
def to_string (value ):
59
- if value == ArchType .arm :
60
+ if value == ArchType .armv7 :
60
61
return "armv7"
62
+ if value == ArchType .armv6 :
63
+ return "armv6"
61
64
if value == ArchType .armeb :
62
65
return "armeb"
63
66
if value == ArchType .aarch64 :
@@ -138,12 +141,18 @@ def to_string(value):
138
141
# Not 1:1, See to_string
139
142
@staticmethod
140
143
def from_string (string ):
141
- # Match big endian arm first
142
144
if string == "armeb" :
143
145
return ArchType .armeb
144
- # Catch-all for little endian arm
145
- if "arm" in string :
146
- return ArchType .arm
146
+ if string == "arm" :
147
+ return ArchType .armv7
148
+ if string == "armv7" :
149
+ return ArchType .armv7
150
+ if string == "armv7l" :
151
+ return ArchType .armv7
152
+ if string == "armv6" :
153
+ return ArchType .armv6
154
+ if string == "armv6l" :
155
+ return ArchType .armv6
147
156
if string == "aarch64" :
148
157
return ArchType .aarch64
149
158
if string == "aarch64_be" :
@@ -343,7 +352,7 @@ def default():
343
352
arch = ArchType .from_string (platform .machine ())
344
353
triple = ArchType .to_string (arch )
345
354
if platform .system () == "Linux" :
346
- if arch == ArchType .arm :
355
+ if ( arch == ArchType .armv6 ) or ( arch == ArchType . armv7 ) :
347
356
triple += "-linux-gnueabihf"
348
357
else :
349
358
triple += "-linux-gnu"
@@ -365,7 +374,7 @@ def swift_triple(self):
365
374
return None
366
375
elif self .sdk == OSType .Linux :
367
376
# FIXME: It would be nice to detect the host ABI here
368
- if self .arch == ArchType .arm :
377
+ if ( self .arch == ArchType .armv6 ) or ( self . arch == ArchType . armv7 ) :
369
378
triple += "-unknown-linux-gnueabihf"
370
379
else :
371
380
triple += "-unknown-linux"
0 commit comments