File tree 3 files changed +13
-8
lines changed
3 files changed +13
-8
lines changed Original file line number Diff line number Diff line change @@ -4196,16 +4196,27 @@ mod c {
4196
4196
"arm/clzsi2.S" ,
4197
4197
"arm/comparesf2.S" ,
4198
4198
"arm/divmodsi4.S" ,
4199
- "arm/divsi3.S" ,
4200
4199
"arm/modsi3.S" ,
4201
4200
"arm/switch16.S" ,
4202
4201
"arm/switch32.S" ,
4203
4202
"arm/switch8.S" ,
4204
4203
"arm/switchu8.S" ,
4205
4204
"arm/sync_synchronize.S" ,
4206
4205
"arm/udivmodsi4.S" ,
4207
- "arm/udivsi3.S" ,
4208
4206
"arm/umodsi3.S" ,
4207
+
4208
+ // Exclude these two files for now even though we haven't
4209
+ // translated their implementation into Rust yet (#173).
4210
+ // They appear... buggy? The `udivsi3` implementation was
4211
+ // the one that seemed buggy, but the `divsi3` file
4212
+ // references a symbol from `udivsi3` so we compile them
4213
+ // both with the Rust versions.
4214
+ //
4215
+ // Note that if these are added back they should be removed
4216
+ // from thumbv6m below.
4217
+ //
4218
+ // "arm/divsi3.S",
4219
+ // "arm/udivsi3.S",
4209
4220
] ,
4210
4221
) ;
4211
4222
}
@@ -4315,14 +4326,12 @@ mod c {
4315
4326
"clzsi2" ,
4316
4327
"comparesf2" ,
4317
4328
"divmodsi4" ,
4318
- "divsi3" ,
4319
4329
"modsi3" ,
4320
4330
"switch16" ,
4321
4331
"switch32" ,
4322
4332
"switch8" ,
4323
4333
"switchu8" ,
4324
4334
"udivmodsi4" ,
4325
- "udivsi3" ,
4326
4335
"umodsi3" ,
4327
4336
] ,
4328
4337
) ;
Original file line number Diff line number Diff line change @@ -57,7 +57,6 @@ impl Divmod for i32 {}
57
57
impl Divmod for i64 { }
58
58
59
59
intrinsics ! {
60
- #[ use_c_shim_if( all( target_arch = "arm" , not( target_os = "ios" ) , not( thumbv6m) ) ) ]
61
60
#[ arm_aeabi_alias = __aeabi_idiv]
62
61
pub extern "C" fn __divsi3( a: i32 , b: i32 ) -> i32 {
63
62
a. div( b)
Original file line number Diff line number Diff line change @@ -148,9 +148,6 @@ macro_rules! udivmod_inner {
148
148
}
149
149
150
150
intrinsics ! {
151
- #[ use_c_shim_if( all( target_arch = "arm" ,
152
- not( target_os = "ios" ) ,
153
- not( thumbv6m) ) ) ]
154
151
#[ arm_aeabi_alias = __aeabi_uidiv]
155
152
/// Returns `n / d`
156
153
pub extern "C" fn __udivsi3( n: u32 , d: u32 ) -> u32 {
You can’t perform that action at this time.
0 commit comments