File tree Expand file tree Collapse file tree 3 files changed +13
-8
lines changed
Expand file tree Collapse file tree 3 files changed +13
-8
lines changed Original file line number Diff line number Diff line change @@ -4196,16 +4196,27 @@ mod c {
41964196 "arm/clzsi2.S" ,
41974197 "arm/comparesf2.S" ,
41984198 "arm/divmodsi4.S" ,
4199- "arm/divsi3.S" ,
42004199 "arm/modsi3.S" ,
42014200 "arm/switch16.S" ,
42024201 "arm/switch32.S" ,
42034202 "arm/switch8.S" ,
42044203 "arm/switchu8.S" ,
42054204 "arm/sync_synchronize.S" ,
42064205 "arm/udivmodsi4.S" ,
4207- "arm/udivsi3.S" ,
42084206 "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",
42094220 ] ,
42104221 ) ;
42114222 }
@@ -4315,14 +4326,12 @@ mod c {
43154326 "clzsi2" ,
43164327 "comparesf2" ,
43174328 "divmodsi4" ,
4318- "divsi3" ,
43194329 "modsi3" ,
43204330 "switch16" ,
43214331 "switch32" ,
43224332 "switch8" ,
43234333 "switchu8" ,
43244334 "udivmodsi4" ,
4325- "udivsi3" ,
43264335 "umodsi3" ,
43274336 ] ,
43284337 ) ;
Original file line number Diff line number Diff line change @@ -57,7 +57,6 @@ impl Divmod for i32 {}
5757impl Divmod for i64 { }
5858
5959intrinsics ! {
60- #[ use_c_shim_if( all( target_arch = "arm" , not( target_os = "ios" ) , not( thumbv6m) ) ) ]
6160 #[ arm_aeabi_alias = __aeabi_idiv]
6261 pub extern "C" fn __divsi3( a: i32 , b: i32 ) -> i32 {
6362 a. div( b)
Original file line number Diff line number Diff line change @@ -148,9 +148,6 @@ macro_rules! udivmod_inner {
148148}
149149
150150intrinsics ! {
151- #[ use_c_shim_if( all( target_arch = "arm" ,
152- not( target_os = "ios" ) ,
153- not( thumbv6m) ) ) ]
154151 #[ arm_aeabi_alias = __aeabi_uidiv]
155152 /// Returns `n / d`
156153 pub extern "C" fn __udivsi3( n: u32 , d: u32 ) -> u32 {
You can’t perform that action at this time.
0 commit comments