Commit a8a7f15106

Andrew Kelley <andrew@ziglang.org>
2022-06-16 23:21:11
compiler-rt: use callconv(.AAPCS) on all __aeabi_ functions
1 parent 25671f5
Changed files (5)
lib/compiler_rt/arm.zig
@@ -105,9 +105,9 @@ pub fn __aeabi_memclr8(dest: [*]u8, n: usize) callconv(.AAPCS) void {
 }
 
 // Dummy functions to avoid errors during the linking phase
-pub fn __aeabi_unwind_cpp_pr0() callconv(.C) void {}
-pub fn __aeabi_unwind_cpp_pr1() callconv(.C) void {}
-pub fn __aeabi_unwind_cpp_pr2() callconv(.C) void {}
+pub fn __aeabi_unwind_cpp_pr0() callconv(.AAPCS) void {}
+pub fn __aeabi_unwind_cpp_pr1() callconv(.AAPCS) void {}
+pub fn __aeabi_unwind_cpp_pr2() callconv(.AAPCS) void {}
 
 // This function can only clobber r0 according to the ABI
 pub fn __aeabi_read_tp() callconv(.Naked) void {
lib/compiler_rt/int.zig
@@ -214,7 +214,7 @@ pub fn __divsi3(n: i32, d: i32) callconv(.C) i32 {
     return @bitCast(i32, (res ^ sign) -% sign);
 }
 
-pub fn __aeabi_idiv(n: i32, d: i32) callconv(.C) i32 {
+pub fn __aeabi_idiv(n: i32, d: i32) callconv(.AAPCS) i32 {
     return @call(.{ .modifier = .always_inline }, __divsi3, .{ n, d });
 }
 
@@ -284,7 +284,7 @@ pub fn __udivsi3(n: u32, d: u32) callconv(.C) u32 {
     return q;
 }
 
-pub fn __aeabi_uidiv(n: u32, d: u32) callconv(.C) u32 {
+pub fn __aeabi_uidiv(n: u32, d: u32) callconv(.AAPCS) u32 {
     return @call(.{ .modifier = .always_inline }, __udivsi3, .{ n, d });
 }
 
lib/compiler_rt/muldf3.zig
@@ -15,6 +15,6 @@ fn __muldf3(a: f64, b: f64) callconv(.C) f64 {
     return mulf3(f64, a, b);
 }
 
-fn __aeabi_dmul(a: f64, b: f64) callconv(.C) f64 {
+fn __aeabi_dmul(a: f64, b: f64) callconv(.AAPCS) f64 {
     return mulf3(f64, a, b);
 }
lib/compiler_rt/muldi3.zig
@@ -33,7 +33,7 @@ const dwords = extern union {
     },
 };
 
-pub fn __aeabi_lmul(a: i64, b: i64) callconv(.C) i64 {
+pub fn __aeabi_lmul(a: i64, b: i64) callconv(.AAPCS) i64 {
     return @call(.{ .modifier = .always_inline }, __muldi3, .{ a, b });
 }
 
lib/compiler_rt/mulsf3.zig
@@ -15,6 +15,6 @@ fn __mulsf3(a: f32, b: f32) callconv(.C) f32 {
     return mulf3(f32, a, b);
 }
 
-fn __aeabi_fmul(a: f32, b: f32) callconv(.C) f32 {
+fn __aeabi_fmul(a: f32, b: f32) callconv(.AAPCS) f32 {
     return mulf3(f32, a, b);
 }