@@ -17,6 +17,7 @@ pub enum Arch {
17
17
Arm64e ,
18
18
Arm64_32 ,
19
19
I386 ,
20
+ I386_sim ,
20
21
I686 ,
21
22
X86_64 ,
22
23
X86_64h ,
@@ -34,7 +35,7 @@ impl Arch {
34
35
Arm64 | Arm64_macabi | Arm64_sim => "arm64" ,
35
36
Arm64e => "arm64e" ,
36
37
Arm64_32 => "arm64_32" ,
37
- I386 => "i386" ,
38
+ I386 | I386_sim => "i386" ,
38
39
I686 => "i686" ,
39
40
X86_64 | X86_64_sim | X86_64_macabi => "x86_64" ,
40
41
X86_64h => "x86_64h" ,
@@ -45,7 +46,7 @@ impl Arch {
45
46
Cow :: Borrowed ( match self {
46
47
Armv7k | Armv7s => "arm" ,
47
48
Arm64 | Arm64e | Arm64_32 | Arm64_macabi | Arm64_sim => "aarch64" ,
48
- I386 | I686 => "x86" ,
49
+ I386 | I386_sim | I686 => "x86" ,
49
50
X86_64 | X86_64_sim | X86_64_macabi | X86_64h => "x86_64" ,
50
51
} )
51
52
}
@@ -54,9 +55,7 @@ impl Arch {
54
55
match self {
55
56
Armv7k | Armv7s | Arm64 | Arm64e | Arm64_32 | I386 | I686 | X86_64 | X86_64h => "" ,
56
57
X86_64_macabi | Arm64_macabi => "macabi" ,
57
- // x86_64-apple-ios is a simulator target, even though it isn't
58
- // declared that way in the target like the other ones...
59
- Arm64_sim | X86_64_sim => "sim" ,
58
+ I386_sim | Arm64_sim | X86_64_sim => "sim" ,
60
59
}
61
60
}
62
61
@@ -70,7 +69,7 @@ impl Arch {
70
69
// Only macOS 10.12+ is supported, which means
71
70
// all x86_64/x86 CPUs must be running at least penryn
72
71
// https://github.com/llvm/llvm-project/blob/01f924d0e37a5deae51df0d77e10a15b63aa0c0f/clang/lib/Driver/ToolChains/Arch/X86.cpp#L79-L82
73
- I386 | I686 => "penryn" ,
72
+ I386 | I386_sim | I686 => "penryn" ,
74
73
X86_64 | X86_64_sim => "penryn" ,
75
74
X86_64_macabi => "penryn" ,
76
75
// Note: `core-avx2` is slightly more advanced than `x86_64h`, see
@@ -85,7 +84,7 @@ impl Arch {
85
84
fn stack_probes ( self ) -> StackProbeType {
86
85
match self {
87
86
Armv7k | Armv7s => StackProbeType :: None ,
88
- Arm64 | Arm64e | Arm64_32 | I386 | I686 | X86_64 | X86_64h | X86_64_sim
87
+ Arm64 | Arm64e | Arm64_32 | I386 | I386_sim | I686 | X86_64 | X86_64h | X86_64_sim
89
88
| X86_64_macabi | Arm64_macabi | Arm64_sim => StackProbeType :: Inline ,
90
89
}
91
90
}
@@ -302,8 +301,8 @@ fn link_env_remove(arch: Arch, os: &'static str) -> StaticCow<[StaticCow<str>]>
302
301
// Otherwise if cross-compiling for a different OS/SDK, remove any part
303
302
// of the linking environment that's wrong and reversed.
304
303
match arch {
305
- Armv7k | Armv7s | Arm64 | Arm64e | Arm64_32 | I386 | I686 | X86_64 | X86_64_sim
306
- | X86_64h | Arm64_sim => {
304
+ Armv7k | Armv7s | Arm64 | Arm64e | Arm64_32 | I386 | I386_sim | I686 | X86_64
305
+ | X86_64_sim | X86_64h | Arm64_sim => {
307
306
cvs ! [ "MACOSX_DEPLOYMENT_TARGET" ]
308
307
}
309
308
X86_64_macabi | Arm64_macabi => cvs ! [ "IPHONEOS_DEPLOYMENT_TARGET" ] ,
0 commit comments