diff options
87 files changed, 139 insertions, 145 deletions
diff --git a/compiler-rt/lib/builtins/absvti2.c b/compiler-rt/lib/builtins/absvti2.c index 437bc3ddc17..7927770c9ab 100644 --- a/compiler-rt/lib/builtins/absvti2.c +++ b/compiler-rt/lib/builtins/absvti2.c @@ -20,7 +20,7 @@ /* Effects: aborts if abs(x) < 0 */ -ti_int +COMPILER_RT_ABI ti_int __absvti2(ti_int a) { const int N = (int)(sizeof(ti_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/addsf3.c b/compiler-rt/lib/builtins/addsf3.c index 0268324deaa..d528c8a7285 100644 --- a/compiler-rt/lib/builtins/addsf3.c +++ b/compiler-rt/lib/builtins/addsf3.c @@ -17,7 +17,8 @@ ARM_EABI_FNALIAS(fadd, addsf3) -fp_t __addsf3(fp_t a, fp_t b) { +COMPILER_RT_ABI fp_t +__addsf3(fp_t a, fp_t b) { rep_t aRep = toRep(a); rep_t bRep = toRep(b); diff --git a/compiler-rt/lib/builtins/addvti3.c b/compiler-rt/lib/builtins/addvti3.c index f2a5c566975..79b9611f98c 100644 --- a/compiler-rt/lib/builtins/addvti3.c +++ b/compiler-rt/lib/builtins/addvti3.c @@ -20,7 +20,7 @@ /* Effects: aborts if a + b overflows */ -ti_int +COMPILER_RT_ABI ti_int __addvti3(ti_int a, ti_int b) { ti_int s = a + b; diff --git a/compiler-rt/lib/builtins/ashlti3.c b/compiler-rt/lib/builtins/ashlti3.c index 08d2181d47d..638ae845ff0 100644 --- a/compiler-rt/lib/builtins/ashlti3.c +++ b/compiler-rt/lib/builtins/ashlti3.c @@ -20,7 +20,7 @@ /* Precondition: 0 <= b < bits_in_tword */ -ti_int +COMPILER_RT_ABI ti_int __ashlti3(ti_int a, si_int b) { const int bits_in_dword = (int)(sizeof(di_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/ashrti3.c b/compiler-rt/lib/builtins/ashrti3.c index 6161bd599a1..f78205d961e 100644 --- a/compiler-rt/lib/builtins/ashrti3.c +++ b/compiler-rt/lib/builtins/ashrti3.c @@ -20,7 +20,7 @@ /* Precondition: 0 <= b < bits_in_tword */ -ti_int +COMPILER_RT_ABI ti_int __ashrti3(ti_int a, si_int b) { const int bits_in_dword = (int)(sizeof(di_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/clear_cache.c b/compiler-rt/lib/builtins/clear_cache.c index 7aee28590df..b2e95afc9ec 100644 --- a/compiler-rt/lib/builtins/clear_cache.c +++ b/compiler-rt/lib/builtins/clear_cache.c @@ -24,7 +24,8 @@ * specified range. */ -void __clear_cache(void* start, void* end) +COMPILER_RT_ABI void +__clear_cache(void* start, void* end) { #if __i386__ || __x86_64__ /* diff --git a/compiler-rt/lib/builtins/clzti2.c b/compiler-rt/lib/builtins/clzti2.c index d478db84dbe..15a7b3c9000 100644 --- a/compiler-rt/lib/builtins/clzti2.c +++ b/compiler-rt/lib/builtins/clzti2.c @@ -20,7 +20,7 @@ /* Precondition: a != 0 */ -si_int +COMPILER_RT_ABI si_int __clzti2(ti_int a) { twords x; diff --git a/compiler-rt/lib/builtins/cmpti2.c b/compiler-rt/lib/builtins/cmpti2.c index d287fab82f3..2c8b56e29a0 100644 --- a/compiler-rt/lib/builtins/cmpti2.c +++ b/compiler-rt/lib/builtins/cmpti2.c @@ -21,7 +21,7 @@ * if (a > b) returns 2 */ -si_int +COMPILER_RT_ABI si_int __cmpti2(ti_int a, ti_int b) { twords x; diff --git a/compiler-rt/lib/builtins/comparedf2.c b/compiler-rt/lib/builtins/comparedf2.c index de67784dc85..877ed7d3a25 100644 --- a/compiler-rt/lib/builtins/comparedf2.c +++ b/compiler-rt/lib/builtins/comparedf2.c @@ -47,7 +47,8 @@ enum LE_RESULT { LE_UNORDERED = 1 }; -enum LE_RESULT __ledf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__ledf2(fp_t a, fp_t b) { const srep_t aInt = toRep(a); const srep_t bInt = toRep(b); @@ -86,7 +87,8 @@ enum GE_RESULT { GE_UNORDERED = -1 // Note: different from LE_UNORDERED }; -enum GE_RESULT __gedf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum GE_RESULT +__gedf2(fp_t a, fp_t b) { const srep_t aInt = toRep(a); const srep_t bInt = toRep(b); @@ -108,7 +110,8 @@ enum GE_RESULT __gedf2(fp_t a, fp_t b) { ARM_EABI_FNALIAS(dcmpun, unorddf2) -int __unorddf2(fp_t a, fp_t b) { +COMPILER_RT_ABI int +__unorddf2(fp_t a, fp_t b) { const rep_t aAbs = toRep(a) & absMask; const rep_t bAbs = toRep(b) & absMask; return aAbs > infRep || bAbs > infRep; @@ -116,19 +119,23 @@ int __unorddf2(fp_t a, fp_t b) { // The following are alternative names for the preceeding routines. -enum LE_RESULT __eqdf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__eqdf2(fp_t a, fp_t b) { return __ledf2(a, b); } -enum LE_RESULT __ltdf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__ltdf2(fp_t a, fp_t b) { return __ledf2(a, b); } -enum LE_RESULT __nedf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__nedf2(fp_t a, fp_t b) { return __ledf2(a, b); } -enum GE_RESULT __gtdf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum GE_RESULT +__gtdf2(fp_t a, fp_t b) { return __gedf2(a, b); } diff --git a/compiler-rt/lib/builtins/comparesf2.c b/compiler-rt/lib/builtins/comparesf2.c index c1c3a479c8e..df1c45796ac 100644 --- a/compiler-rt/lib/builtins/comparesf2.c +++ b/compiler-rt/lib/builtins/comparesf2.c @@ -47,7 +47,8 @@ enum LE_RESULT { LE_UNORDERED = 1 }; -enum LE_RESULT __lesf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__lesf2(fp_t a, fp_t b) { const srep_t aInt = toRep(a); const srep_t bInt = toRep(b); @@ -86,7 +87,8 @@ enum GE_RESULT { GE_UNORDERED = -1 // Note: different from LE_UNORDERED }; -enum GE_RESULT __gesf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum GE_RESULT +__gesf2(fp_t a, fp_t b) { const srep_t aInt = toRep(a); const srep_t bInt = toRep(b); @@ -108,7 +110,8 @@ enum GE_RESULT __gesf2(fp_t a, fp_t b) { ARM_EABI_FNALIAS(fcmpun, unordsf2) -int __unordsf2(fp_t a, fp_t b) { +COMPILER_RT_ABI int +__unordsf2(fp_t a, fp_t b) { const rep_t aAbs = toRep(a) & absMask; const rep_t bAbs = toRep(b) & absMask; return aAbs > infRep || bAbs > infRep; @@ -116,18 +119,22 @@ int __unordsf2(fp_t a, fp_t b) { // The following are alternative names for the preceeding routines. -enum LE_RESULT __eqsf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__eqsf2(fp_t a, fp_t b) { return __lesf2(a, b); } -enum LE_RESULT __ltsf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__ltsf2(fp_t a, fp_t b) { return __lesf2(a, b); } -enum LE_RESULT __nesf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum LE_RESULT +__nesf2(fp_t a, fp_t b) { return __lesf2(a, b); } -enum GE_RESULT __gtsf2(fp_t a, fp_t b) { +COMPILER_RT_ABI enum GE_RESULT +__gtsf2(fp_t a, fp_t b) { return __gesf2(a, b); } diff --git a/compiler-rt/lib/builtins/ctzti2.c b/compiler-rt/lib/builtins/ctzti2.c index 43a8797a1cf..45de682700c 100644 --- a/compiler-rt/lib/builtins/ctzti2.c +++ b/compiler-rt/lib/builtins/ctzti2.c @@ -20,7 +20,7 @@ /* Precondition: a != 0 */ -si_int +COMPILER_RT_ABI si_int __ctzti2(ti_int a) { twords x; diff --git a/compiler-rt/lib/builtins/divdc3.c b/compiler-rt/lib/builtins/divdc3.c index cfbc498e7b4..7de78c8711e 100644 --- a/compiler-rt/lib/builtins/divdc3.c +++ b/compiler-rt/lib/builtins/divdc3.c @@ -17,7 +17,7 @@ /* Returns: the quotient of (a + ib) / (c + id) */ -double _Complex +COMPILER_RT_ABI double _Complex __divdc3(double __a, double __b, double __c, double __d) { int __ilogbw = 0; diff --git a/compiler-rt/lib/builtins/divdf3.c b/compiler-rt/lib/builtins/divdf3.c index efce6bb4bed..70da630e9f8 100644 --- a/compiler-rt/lib/builtins/divdf3.c +++ b/compiler-rt/lib/builtins/divdf3.c @@ -21,7 +21,8 @@ ARM_EABI_FNALIAS(ddiv, divdf3) -fp_t __divdf3(fp_t a, fp_t b) { +COMPILER_RT_ABI fp_t +__divdf3(fp_t a, fp_t b) { const unsigned int aExponent = toRep(a) >> significandBits & maxExponent; const unsigned int bExponent = toRep(b) >> significandBits & maxExponent; diff --git a/compiler-rt/lib/builtins/divdi3.c b/compiler-rt/lib/builtins/divdi3.c index 2c2bcc26d58..b8eebcb2046 100644 --- a/compiler-rt/lib/builtins/divdi3.c +++ b/compiler-rt/lib/builtins/divdi3.c @@ -14,8 +14,6 @@ #include "int_lib.h" -du_int COMPILER_RT_ABI __udivmoddi4(du_int a, du_int b, du_int* rem); - /* Returns: a / b */ COMPILER_RT_ABI di_int diff --git a/compiler-rt/lib/builtins/divmoddi4.c b/compiler-rt/lib/builtins/divmoddi4.c index 2fe2b48183f..0d4df67a63e 100644 --- a/compiler-rt/lib/builtins/divmoddi4.c +++ b/compiler-rt/lib/builtins/divmoddi4.c @@ -14,8 +14,6 @@ #include "int_lib.h" -extern COMPILER_RT_ABI di_int __divdi3(di_int a, di_int b); - /* Returns: a / b, *rem = a % b */ COMPILER_RT_ABI di_int diff --git a/compiler-rt/lib/builtins/divmodsi4.c b/compiler-rt/lib/builtins/divmodsi4.c index c7f7b1a7c32..dabe2874397 100644 --- a/compiler-rt/lib/builtins/divmodsi4.c +++ b/compiler-rt/lib/builtins/divmodsi4.c @@ -14,9 +14,6 @@ #include "int_lib.h" -extern COMPILER_RT_ABI si_int __divsi3(si_int a, si_int b); - - /* Returns: a / b, *rem = a % b */ COMPILER_RT_ABI si_int diff --git a/compiler-rt/lib/builtins/divsc3.c b/compiler-rt/lib/builtins/divsc3.c index caa0c4075eb..710d5320803 100644 --- a/compiler-rt/lib/builtins/divsc3.c +++ b/compiler-rt/lib/builtins/divsc3.c @@ -17,7 +17,7 @@ /* Returns: the quotient of (a + ib) / (c + id) */ -float _Complex +COMPILER_RT_ABI float _Complex __divsc3(float __a, float __b, float __c, float __d) { int __ilogbw = 0; diff --git a/compiler-rt/lib/builtins/divsf3.c b/compiler-rt/lib/builtins/divsf3.c index c91c648fa24..de2e376125b 100644 --- a/compiler-rt/lib/builtins/divsf3.c +++ b/compiler-rt/lib/builtins/divsf3.c @@ -21,7 +21,8 @@ ARM_EABI_FNALIAS(fdiv, divsf3) -fp_t __divsf3(fp_t a, fp_t b) { +COMPILER_RT_ABI fp_t +__divsf3(fp_t a, fp_t b) { const unsigned int aExponent = toRep(a) >> significandBits & maxExponent; const unsigned int bExponent = toRep(b) >> significandBits & maxExponent; diff --git a/compiler-rt/lib/builtins/divsi3.c b/compiler-rt/lib/builtins/divsi3.c index cd19de9525c..bab4aefda30 100644 --- a/compiler-rt/lib/builtins/divsi3.c +++ b/compiler-rt/lib/builtins/divsi3.c @@ -14,8 +14,6 @@ #include "int_lib.h" -su_int COMPILER_RT_ABI __udivsi3(su_int n, su_int d); - /* Returns: a / b */ ARM_EABI_FNALIAS(idiv, divsi3) diff --git a/compiler-rt/lib/builtins/divti3.c b/compiler-rt/lib/builtins/divti3.c index ad365ab40a2..c73eae28fe0 100644 --- a/compiler-rt/lib/builtins/divti3.c +++ b/compiler-rt/lib/builtins/divti3.c @@ -16,11 +16,9 @@ #ifdef CRT_HAS_128BIT -tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); - /* Returns: a / b */ -ti_int +COMPILER_RT_ABI ti_int __divti3(ti_int a, ti_int b) { const int bits_in_tword_m1 = (int)(sizeof(ti_int) * CHAR_BIT) - 1; diff --git a/compiler-rt/lib/builtins/divxc3.c b/compiler-rt/lib/builtins/divxc3.c index 5f240e956d8..175ae3cf4ae 100644 --- a/compiler-rt/lib/builtins/divxc3.c +++ b/compiler-rt/lib/builtins/divxc3.c @@ -18,7 +18,7 @@ /* Returns: the quotient of (a + ib) / (c + id) */ -long double _Complex +COMPILER_RT_ABI long double _Complex __divxc3(long double __a, long double __b, long double __c, long double __d) { int __ilogbw = 0; diff --git a/compiler-rt/lib/builtins/enable_execute_stack.c b/compiler-rt/lib/builtins/enable_execute_stack.c index 278ca246f53..63d836b31d1 100644 --- a/compiler-rt/lib/builtins/enable_execute_stack.c +++ b/compiler-rt/lib/builtins/enable_execute_stack.c @@ -36,7 +36,8 @@ * that means changing the protection on those page(s) to rwx. */ -void __enable_execute_stack(void* addr) +COMPILER_RT_ABI void +__enable_execute_stack(void* addr) { #if __APPLE__ @@ -55,5 +56,3 @@ void __enable_execute_stack(void* addr) size_t length = endPage - startPage; (void) mprotect((void *)startPage, length, PROT_READ | PROT_WRITE | PROT_EXEC); } - - diff --git a/compiler-rt/lib/builtins/eprintf.c b/compiler-rt/lib/builtins/eprintf.c index 3626dbf8b0c..89f34b15457 100644 --- a/compiler-rt/lib/builtins/eprintf.c +++ b/compiler-rt/lib/builtins/eprintf.c @@ -25,8 +25,9 @@ #ifndef _WIN32 __attribute__((visibility("hidden"))) #endif -void __eprintf(const char* format, const char* assertion_expression, - const char* line, const char* file) +COMPILER_RT_ABI void +__eprintf(const char* format, const char* assertion_expression, + const char* line, const char* file) { fprintf(stderr, format, assertion_expression, line, file); fflush(stderr); diff --git a/compiler-rt/lib/builtins/extendsfdf2.c b/compiler-rt/lib/builtins/extendsfdf2.c index 91fd2b436a3..9e4c77b49ba 100644 --- a/compiler-rt/lib/builtins/extendsfdf2.c +++ b/compiler-rt/lib/builtins/extendsfdf2.c @@ -68,7 +68,8 @@ static inline dst_t dstFromRep(dst_rep_t x) { ARM_EABI_FNALIAS(f2d, extendsfdf2) -dst_t __extendsfdf2(src_t a) { +COMPILER_RT_ABI dst_t +__extendsfdf2(src_t a) { // Various constants whose values follow from the type parameters. // Any reasonable optimizer will fold and propagate all of these. diff --git a/compiler-rt/lib/builtins/ffsti2.c b/compiler-rt/lib/builtins/ffsti2.c index e64266d3516..dcdb3bd7f80 100644 --- a/compiler-rt/lib/builtins/ffsti2.c +++ b/compiler-rt/lib/builtins/ffsti2.c @@ -20,7 +20,7 @@ * the value zero if a is zero. The least significant bit is index one. */ -si_int +COMPILER_RT_ABI si_int __ffsti2(ti_int a) { twords x; diff --git a/compiler-rt/lib/builtins/fixdfdi.c b/compiler-rt/lib/builtins/fixdfdi.c index 7665ea5a362..86f9f6ce8db 100644 --- a/compiler-rt/lib/builtins/fixdfdi.c +++ b/compiler-rt/lib/builtins/fixdfdi.c @@ -25,7 +25,7 @@ ARM_EABI_FNALIAS(d2lz, fixdfdi) -di_int +COMPILER_RT_ABI di_int __fixdfdi(double a) { double_bits fb; diff --git a/compiler-rt/lib/builtins/fixdfsi.c b/compiler-rt/lib/builtins/fixdfsi.c index 614d032a4e1..88b2ff5e74a 100644 --- a/compiler-rt/lib/builtins/fixdfsi.c +++ b/compiler-rt/lib/builtins/fixdfsi.c @@ -20,7 +20,8 @@ ARM_EABI_FNALIAS(d2iz, fixdfsi) -int __fixdfsi(fp_t a) { +COMPILER_RT_ABI int +__fixdfsi(fp_t a) { // Break a into sign, exponent, significand const rep_t aRep = toRep(a); diff --git a/compiler-rt/lib/builtins/fixdfti.c b/compiler-rt/lib/builtins/fixdfti.c index 3b9ddb2cb36..2c27f4bae3b 100644 --- a/compiler-rt/lib/builtins/fixdfti.c +++ b/compiler-rt/lib/builtins/fixdfti.c @@ -25,7 +25,7 @@ /* seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -ti_int +COMPILER_RT_ABI ti_int __fixdfti(double a) { double_bits fb; diff --git a/compiler-rt/lib/builtins/fixsfti.c b/compiler-rt/lib/builtins/fixsfti.c index 31c2702e314..6a1a1c6d546 100644 --- a/compiler-rt/lib/builtins/fixsfti.c +++ b/compiler-rt/lib/builtins/fixsfti.c @@ -25,7 +25,7 @@ /* seee eeee emmm mmmm mmmm mmmm mmmm mmmm */ -ti_int +COMPILER_RT_ABI ti_int __fixsfti(float a) { float_bits fb; diff --git a/compiler-rt/lib/builtins/fixunsdfti.c b/compiler-rt/lib/builtins/fixunsdfti.c index 76c8592687f..cc6c84ff5cb 100644 --- a/compiler-rt/lib/builtins/fixunsdfti.c +++ b/compiler-rt/lib/builtins/fixunsdfti.c @@ -28,7 +28,7 @@ /* seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -tu_int +COMPILER_RT_ABI tu_int __fixunsdfti(double a) { double_bits fb; diff --git a/compiler-rt/lib/builtins/fixunssfti.c b/compiler-rt/lib/builtins/fixunssfti.c index 2bb18afeb5c..4da9e242ad0 100644 --- a/compiler-rt/lib/builtins/fixunssfti.c +++ b/compiler-rt/lib/builtins/fixunssfti.c @@ -28,7 +28,7 @@ /* seee eeee emmm mmmm mmmm mmmm mmmm mmmm */ -tu_int +COMPILER_RT_ABI tu_int __fixunssfti(float a) { float_bits fb; diff --git a/compiler-rt/lib/builtins/fixunsxfdi.c b/compiler-rt/lib/builtins/fixunsxfdi.c index 6c817d8e128..7224d467e7c 100644 --- a/compiler-rt/lib/builtins/fixunsxfdi.c +++ b/compiler-rt/lib/builtins/fixunsxfdi.c @@ -30,7 +30,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -du_int +COMPILER_RT_ABI du_int __fixunsxfdi(long double a) { long_double_bits fb; diff --git a/compiler-rt/lib/builtins/fixunsxfsi.c b/compiler-rt/lib/builtins/fixunsxfsi.c index b9da86c4f8e..df0a18e2c1a 100644 --- a/compiler-rt/lib/builtins/fixunsxfsi.c +++ b/compiler-rt/lib/builtins/fixunsxfsi.c @@ -30,7 +30,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -su_int +COMPILER_RT_ABI su_int __fixunsxfsi(long double a) { long_double_bits fb; diff --git a/compiler-rt/lib/builtins/fixunsxfti.c b/compiler-rt/lib/builtins/fixunsxfti.c index db3c0706faa..42e50730471 100644 --- a/compiler-rt/lib/builtins/fixunsxfti.c +++ b/compiler-rt/lib/builtins/fixunsxfti.c @@ -30,7 +30,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -tu_int +COMPILER_RT_ABI tu_int __fixunsxfti(long double a) { long_double_bits fb; diff --git a/compiler-rt/lib/builtins/fixxfdi.c b/compiler-rt/lib/builtins/fixxfdi.c index 9592ce43025..afc79d8664d 100644 --- a/compiler-rt/lib/builtins/fixxfdi.c +++ b/compiler-rt/lib/builtins/fixxfdi.c @@ -27,7 +27,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -di_int +COMPILER_RT_ABI di_int __fixxfdi(long double a) { long_double_bits fb; diff --git a/compiler-rt/lib/builtins/fixxfti.c b/compiler-rt/lib/builtins/fixxfti.c index ca3082e87f0..3d0a279b384 100644 --- a/compiler-rt/lib/builtins/fixxfti.c +++ b/compiler-rt/lib/builtins/fixxfti.c @@ -27,7 +27,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -ti_int +COMPILER_RT_ABI ti_int __fixxfti(long double a) { long_double_bits fb; diff --git a/compiler-rt/lib/builtins/floatdixf.c b/compiler-rt/lib/builtins/floatdixf.c index ebf62dba058..d39e81d7ca7 100644 --- a/compiler-rt/lib/builtins/floatdixf.c +++ b/compiler-rt/lib/builtins/floatdixf.c @@ -26,7 +26,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -long double +COMPILER_RT_ABI long double __floatdixf(di_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floatsidf.c b/compiler-rt/lib/builtins/floatsidf.c index 18f378f2a90..1cf99b782a6 100644 --- a/compiler-rt/lib/builtins/floatsidf.c +++ b/compiler-rt/lib/builtins/floatsidf.c @@ -20,7 +20,8 @@ ARM_EABI_FNALIAS(i2d, floatsidf) -fp_t __floatsidf(int a) { +COMPILER_RT_ABI fp_t +__floatsidf(int a) { const int aWidth = sizeof a * CHAR_BIT; diff --git a/compiler-rt/lib/builtins/floatsisf.c b/compiler-rt/lib/builtins/floatsisf.c index 83983934f59..467dd1d1eaf 100644 --- a/compiler-rt/lib/builtins/floatsisf.c +++ b/compiler-rt/lib/builtins/floatsisf.c @@ -20,7 +20,8 @@ ARM_EABI_FNALIAS(i2f, floatsisf) -fp_t __floatsisf(int a) { +COMPILER_RT_ABI fp_t +__floatsisf(int a) { const int aWidth = sizeof a * CHAR_BIT; diff --git a/compiler-rt/lib/builtins/floattidf.c b/compiler-rt/lib/builtins/floattidf.c index 042c2031a38..6331ba57376 100644 --- a/compiler-rt/lib/builtins/floattidf.c +++ b/compiler-rt/lib/builtins/floattidf.c @@ -24,9 +24,7 @@ /* seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -si_int __clzti2(ti_int a); - -double +COMPILER_RT_ABI double __floattidf(ti_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floattisf.c b/compiler-rt/lib/builtins/floattisf.c index cb4e29aabfe..f1b585f2c32 100644 --- a/compiler-rt/lib/builtins/floattisf.c +++ b/compiler-rt/lib/builtins/floattisf.c @@ -24,9 +24,7 @@ /* seee eeee emmm mmmm mmmm mmmm mmmm mmmm */ -si_int __clzti2(ti_int a); - -float +COMPILER_RT_ABI float __floattisf(ti_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floattixf.c b/compiler-rt/lib/builtins/floattixf.c index 866051e2a94..1203b3a96e7 100644 --- a/compiler-rt/lib/builtins/floattixf.c +++ b/compiler-rt/lib/builtins/floattixf.c @@ -26,9 +26,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -si_int __clzti2(ti_int a); - -long double +COMPILER_RT_ABI long double __floattixf(ti_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floatundidf.c b/compiler-rt/lib/builtins/floatundidf.c index e52fa0a3359..73b8bac1c1a 100644 --- a/compiler-rt/lib/builtins/floatundidf.c +++ b/compiler-rt/lib/builtins/floatundidf.c @@ -29,7 +29,6 @@ ARM_EABI_FNALIAS(ul2d, floatundidf) * as a side-effect of this computation. */ - COMPILER_RT_ABI double __floatundidf(du_int a) { diff --git a/compiler-rt/lib/builtins/floatundixf.c b/compiler-rt/lib/builtins/floatundixf.c index 64f7662d952..ca5e06d64dc 100644 --- a/compiler-rt/lib/builtins/floatundixf.c +++ b/compiler-rt/lib/builtins/floatundixf.c @@ -25,7 +25,7 @@ /* gggg gggg gggg gggg gggg gggg gggg gggg | gggg gggg gggg gggg seee eeee eeee eeee | * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -long double +COMPILER_RT_ABI long double __floatundixf(du_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floatunsidf.c b/compiler-rt/lib/builtins/floatunsidf.c index ba6c2cfd2a1..445e18041c4 100644 --- a/compiler-rt/lib/builtins/floatunsidf.c +++ b/compiler-rt/lib/builtins/floatunsidf.c @@ -20,7 +20,8 @@ ARM_EABI_FNALIAS(ui2d, floatunsidf) -fp_t __floatunsidf(unsigned int a) { +COMPILER_RT_ABI fp_t +__floatunsidf(unsigned int a) { const int aWidth = sizeof a * CHAR_BIT; diff --git a/compiler-rt/lib/builtins/floatunsisf.c b/compiler-rt/lib/builtins/floatunsisf.c index e392c0ecf11..ea6f161adc0 100644 --- a/compiler-rt/lib/builtins/floatunsisf.c +++ b/compiler-rt/lib/builtins/floatunsisf.c @@ -20,7 +20,8 @@ ARM_EABI_FNALIAS(ui2f, floatunsisf) -fp_t __floatunsisf(unsigned int a) { +COMPILER_RT_ABI fp_t +__floatunsisf(unsigned int a) { const int aWidth = sizeof a * CHAR_BIT; diff --git a/compiler-rt/lib/builtins/floatuntidf.c b/compiler-rt/lib/builtins/floatuntidf.c index e7d6416c134..06202d9679e 100644 --- a/compiler-rt/lib/builtins/floatuntidf.c +++ b/compiler-rt/lib/builtins/floatuntidf.c @@ -24,9 +24,7 @@ /* seee eeee eeee mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -si_int __clzti2(ti_int a); - -double +COMPILER_RT_ABI double __floatuntidf(tu_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floatuntisf.c b/compiler-rt/lib/builtins/floatuntisf.c index e65db57f1d1..c0dd0275ddb 100644 --- a/compiler-rt/lib/builtins/floatuntisf.c +++ b/compiler-rt/lib/builtins/floatuntisf.c @@ -24,9 +24,7 @@ /* seee eeee emmm mmmm mmmm mmmm mmmm mmmm */ -si_int __clzti2(ti_int a); - -float +COMPILER_RT_ABI float __floatuntisf(tu_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/floatuntixf.c b/compiler-rt/lib/builtins/floatuntixf.c index d607cc30573..ea81cb1bcda 100644 --- a/compiler-rt/lib/builtins/floatuntixf.c +++ b/compiler-rt/lib/builtins/floatuntixf.c @@ -26,9 +26,7 @@ * 1mmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm | mmmm mmmm mmmm mmmm mmmm mmmm mmmm mmmm */ -si_int __clzti2(ti_int a); - -long double +COMPILER_RT_ABI long double __floatuntixf(tu_int a) { if (a == 0) diff --git a/compiler-rt/lib/builtins/fp_lib.h b/compiler-rt/lib/builtins/fp_lib.h index 31714b194fb..1d93dc37954 100644 --- a/compiler-rt/lib/builtins/fp_lib.h +++ b/compiler-rt/lib/builtins/fp_lib.h @@ -143,4 +143,7 @@ static inline void wideRightShiftWithSticky(rep_t *hi, rep_t *lo, unsigned int c } } +COMPILER_RT_ABI fp_t __adddf3(fp_t a, fp_t b); +COMPILER_RT_ABI fp_t __addsf3(fp_t a, fp_t b); + #endif // FP_LIB_HEADER diff --git a/compiler-rt/lib/builtins/gcc_personality_v0.c b/compiler-rt/lib/builtins/gcc_personality_v0.c index 8a708cae597..963d7386828 100644 --- a/compiler-rt/lib/builtins/gcc_personality_v0.c +++ b/compiler-rt/lib/builtins/gcc_personality_v0.c @@ -46,11 +46,11 @@ struct _Unwind_Exception { uintptr_t private_2; }; -extern const uint8_t* _Unwind_GetLanguageSpecificData(_Unwind_Context_t c); -extern void _Unwind_SetGR(_Unwind_Context_t c, int i, uintptr_t n); -extern void _Unwind_SetIP(_Unwind_Context_t, uintptr_t new_value); -extern uintptr_t _Unwind_GetIP(_Unwind_Context_t context); -extern uintptr_t _Unwind_GetRegionStart(_Unwind_Context_t context); +COMPILER_RT_ABI const uint8_t* _Unwind_GetLanguageSpecificData(_Unwind_Context_t c); +COMPILER_RT_ABI void _Unwind_SetGR(_Unwind_Context_t c, int i, uintptr_t n); +COMPILER_RT_ABI void _Unwind_SetIP(_Unwind_Context_t, uintptr_t new_value); +COMPILER_RT_ABI uintptr_t _Unwind_GetIP(_Unwind_Context_t context); +COMPILER_RT_ABI uintptr_t _Unwind_GetRegionStart(_Unwind_Context_t context); /* @@ -182,11 +182,13 @@ static uintptr_t readEncodedPointer(const uint8_t** data, uint8_t encoding) */ #if __arm__ // the setjump-longjump based exceptions personality routine has a different name -_Unwind_Reason_Code __gcc_personality_sj0(int version, _Unwind_Action actions, +COMPILER_RT_ABI _Unwind_Reason_Code +__gcc_personality_sj0(int version, _Unwind_Action actions, uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject, _Unwind_Context_t context) #else -_Unwind_Reason_Code __gcc_personality_v0(int version, _Unwind_Action actions, +COMPILER_RT_ABI _Unwind_Reason_Code +__gcc_personality_v0(int version, _Unwind_Action actions, uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject, _Unwind_Context_t context) #endif diff --git a/compiler-rt/lib/builtins/int_lib.h b/compiler-rt/lib/builtins/int_lib.h index daeaa9e5706..1af96678972 100644 --- a/compiler-rt/lib/builtins/int_lib.h +++ b/compiler-rt/lib/builtins/int_lib.h @@ -53,4 +53,19 @@ /* Include internal utility function declarations. */ #include "int_util.h" +COMPILER_RT_ABI si_int __clzti2(ti_int a); + +COMPILER_RT_ABI si_int __paritysi2(si_int a); +COMPILER_RT_ABI si_int __paritydi2(di_int a); + +COMPILER_RT_ABI di_int __divdi3(di_int a, di_int b); +COMPILER_RT_ABI si_int __divsi3(si_int a, si_int b); +COMPILER_RT_ABI su_int __udivsi3(su_int n, su_int d); + +COMPILER_RT_ABI su_int __udivmodsi4(su_int a, su_int b, su_int* rem); +COMPILER_RT_ABI du_int __udivmoddi4(du_int a, du_int b, du_int* rem); +#ifdef CRT_HAS_128BIT +COMPILER_RT_ABI tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); +#endif + #endif /* INT_LIB_H */ diff --git a/compiler-rt/lib/builtins/lshrti3.c b/compiler-rt/lib/builtins/lshrti3.c index 6fc4e1f426d..e4170ff84a5 100644 --- a/compiler-rt/lib/builtins/lshrti3.c +++ b/compiler-rt/lib/builtins/lshrti3.c @@ -20,7 +20,7 @@ /* Precondition: 0 <= b < bits_in_tword */ -ti_int +COMPILER_RT_ABI ti_int __lshrti3(ti_int a, si_int b) { const int bits_in_dword = (int)(sizeof(di_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/moddi3.c b/compiler-rt/lib/builtins/moddi3.c index 2f3b9cc4f29..f2b7cd4961d 100644 --- a/compiler-rt/lib/builtins/moddi3.c +++ b/compiler-rt/lib/builtins/moddi3.c @@ -14,8 +14,6 @@ #include "int_lib.h" -COMPILER_RT_ABI du_int __udivmoddi4(du_int a, du_int b, du_int* rem); - /* Returns: a % b */ COMPILER_RT_ABI di_int diff --git a/compiler-rt/lib/builtins/modsi3.c b/compiler-rt/lib/builtins/modsi3.c index d16213c4903..86c73ce1377 100644 --- a/compiler-rt/lib/builtins/modsi3.c +++ b/compiler-rt/lib/builtins/modsi3.c @@ -14,8 +14,6 @@ #include "int_lib.h" -su_int COMPILER_RT_ABI __divsi3(si_int a, si_int b); - /* Returns: a % b */ COMPILER_RT_ABI si_int diff --git a/compiler-rt/lib/builtins/modti3.c b/compiler-rt/lib/builtins/modti3.c index ded24a01779..da1b3b45a64 100644 --- a/compiler-rt/lib/builtins/modti3.c +++ b/compiler-rt/lib/builtins/modti3.c @@ -16,11 +16,9 @@ #ifdef CRT_HAS_128BIT -tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); - /*Returns: a % b */ -ti_int +COMPILER_RT_ABI ti_int __modti3(ti_int a, ti_int b) { const int bits_in_tword_m1 = (int)(sizeof(ti_int) * CHAR_BIT) - 1; diff --git a/compiler-rt/lib/builtins/muldc3.c b/compiler-rt/lib/builtins/muldc3.c index 5f4a6d16ebf..3bfae2c5222 100644 --- a/compiler-rt/lib/builtins/muldc3.c +++ b/compiler-rt/lib/builtins/muldc3.c @@ -17,7 +17,7 @@ /* Returns: the product of a + ib and c + id */ -double _Complex +COMPILER_RT_ABI double _Complex __muldc3(double __a, double __b, double __c, double __d) { double __ac = __a * __c; diff --git a/compiler-rt/lib/builtins/mulodi4.c b/compiler-rt/lib/builtins/mulodi4.c index 0c1b5cdae76..d2fd7db2bcd 100644 --- a/compiler-rt/lib/builtins/mulodi4.c +++ b/compiler-rt/lib/builtins/mulodi4.c @@ -18,7 +18,7 @@ /* Effects: sets *overflow to 1 if a * b overflows */ -di_int +COMPILER_RT_ABI di_int __mulodi4(di_int a, di_int b, int* overflow) { const int N = (int)(sizeof(di_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/mulosi4.c b/compiler-rt/lib/builtins/mulosi4.c index f3398d1fc7b..422528085c4 100644 --- a/compiler-rt/lib/builtins/mulosi4.c +++ b/compiler-rt/lib/builtins/mulosi4.c @@ -18,7 +18,7 @@ /* Effects: sets *overflow to 1 if a * b overflows */ -si_int +COMPILER_RT_ABI si_int __mulosi4(si_int a, si_int b, int* overflow) { const int N = (int)(sizeof(si_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/muloti4.c b/compiler-rt/lib/builtins/muloti4.c index 0aa6f3b4c49..16b21892032 100644 --- a/compiler-rt/lib/builtins/muloti4.c +++ b/compiler-rt/lib/builtins/muloti4.c @@ -20,7 +20,7 @@ /* Effects: sets *overflow to 1 if a * b overflows */ -ti_int +COMPILER_RT_ABI ti_int __muloti4(ti_int a, ti_int b, int* overflow) { const int N = (int)(sizeof(ti_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/mulsc3.c b/compiler-rt/lib/builtins/mulsc3.c index 6d433fbc45f..29d46c63a79 100644 --- a/compiler-rt/lib/builtins/mulsc3.c +++ b/compiler-rt/lib/builtins/mulsc3.c @@ -17,7 +17,7 @@ /* Returns: the product of a + ib and c + id */ -float _Complex +COMPILER_RT_ABI float _Complex __mulsc3(float __a, float __b, float __c, float __d) { float __ac = __a * __c; diff --git a/compiler-rt/lib/builtins/multi3.c b/compiler-rt/lib/builtins/multi3.c index 85a6cf45f72..e0d52d430b6 100644 --- a/compiler-rt/lib/builtins/multi3.c +++ b/compiler-rt/lib/builtins/multi3.c @@ -42,7 +42,7 @@ __mulddi3(du_int a, du_int b) /* Returns: a * b */ -ti_int +COMPILER_RT_ABI ti_int __multi3(ti_int a, ti_int b) { twords x; diff --git a/compiler-rt/lib/builtins/mulvdi3.c b/compiler-rt/lib/builtins/mulvdi3.c index bcc8e659be4..e63249e0a04 100644 --- a/compiler-rt/lib/builtins/mulvdi3.c +++ b/compiler-rt/lib/builtins/mulvdi3.c @@ -18,7 +18,7 @@ /* Effects: aborts if a * b overflows */ -di_int +COMPILER_RT_ABI di_int __mulvdi3(di_int a, di_int b) { const int N = (int)(sizeof(di_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/mulvsi3.c b/compiler-rt/lib/builtins/mulvsi3.c index d372b20175e..74ea4f2da22 100644 --- a/compiler-rt/lib/builtins/mulvsi3.c +++ b/compiler-rt/lib/builtins/mulvsi3.c @@ -18,7 +18,7 @@ /* Effects: aborts if a * b overflows */ -si_int +COMPILER_RT_ABI si_int __mulvsi3(si_int a, si_int b) { const int N = (int)(sizeof(si_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/mulvti3.c b/compiler-rt/lib/builtins/mulvti3.c index 11d239ac96f..f4c7d1612ba 100644 --- a/compiler-rt/lib/builtins/mulvti3.c +++ b/compiler-rt/lib/builtins/mulvti3.c @@ -20,7 +20,7 @@ /* Effects: aborts if a * b overflows */ -ti_int +COMPILER_RT_ABI ti_int __mulvti3(ti_int a, ti_int b) { const int N = (int)(sizeof(ti_int) * CHAR_BIT); diff --git a/compiler-rt/lib/builtins/mulxc3.c b/compiler-rt/lib/builtins/mulxc3.c index cec0573688a..161fd0ce0dd 100644 --- a/compiler-rt/lib/builtins/mulxc3.c +++ b/compiler-rt/lib/builtins/mulxc3.c @@ -19,7 +19,7 @@ /* Returns: the product of a + ib and c + id */ -long double _Complex +COMPILER_RT_ABI long double _Complex __mulxc3(long double __a, long double __b, long double __c, long double __d) { long double __ac = __a * __c; diff --git a/compiler-rt/lib/builtins/negdf2.c b/compiler-rt/lib/builtins/negdf2.c index 4e17513a9d0..d634b421cb7 100644 --- a/compiler-rt/lib/builtins/negdf2.c +++ b/compiler-rt/lib/builtins/negdf2.c @@ -16,6 +16,7 @@ ARM_EABI_FNALIAS(dneg, negdf2) -fp_t __negdf2(fp_t a) { +COMPILER_RT_ABI fp_t +__negdf2(fp_t a) { return fromRep(toRep(a) ^ signBit); } diff --git a/compiler-rt/lib/builtins/negdi2.c b/compiler-rt/lib/builtins/negdi2.c index b000dda3b83..3d49ba2899d 100644 --- a/compiler-rt/lib/builtins/negdi2.c +++ b/compiler-rt/lib/builtins/negdi2.c @@ -16,7 +16,7 @@ /* Returns: -a */ -di_int +COMPILER_RT_ABI di_int __negdi2(di_int a) { /* Note: this routine is here for API compatibility; any sane compiler diff --git a/compiler-rt/lib/builtins/negti2.c b/compiler-rt/lib/builtins/negti2.c index 28ef941e371..9b00b303f85 100644 --- a/compiler-rt/lib/builtins/negti2.c +++ b/compiler-rt/lib/builtins/negti2.c @@ -18,7 +18,7 @@ /* Returns: -a */ -ti_int +COMPILER_RT_ABI ti_int __negti2(ti_int a) { /* Note: this routine is here for API compatibility; any sane compiler diff --git a/compiler-rt/lib/builtins/negvti2.c b/compiler-rt/lib/builtins/negvti2.c index d15167f5357..85f9f7d19d9 100644 --- a/compiler-rt/lib/builtins/negvti2.c +++ b/compiler-rt/lib/builtins/negvti2.c @@ -20,7 +20,7 @@ /* Effects: aborts if -a overflows */ -ti_int +COMPILER_RT_ABI ti_int __negvti2(ti_int a) { const ti_int MIN = (ti_int)1 << ((int)(sizeof(ti_int) * CHAR_BIT)-1); diff --git a/compiler-rt/lib/builtins/paritydi2.c b/compiler-rt/lib/builtins/paritydi2.c index 2ded54c90b9..8ea5ab4214e 100644 --- a/compiler-rt/lib/builtins/paritydi2.c +++ b/compiler-rt/lib/builtins/paritydi2.c @@ -16,8 +16,6 @@ /* Returns: 1 if number of bits is odd else returns 0 */ -si_int COMPILER_RT_ABI __paritysi2(si_int a); - COMPILER_RT_ABI si_int __paritydi2(di_int a) { diff --git a/compiler-rt/lib/builtins/parityti2.c b/compiler-rt/lib/builtins/parityti2.c index fa2838087d6..5a4fe492486 100644 --- a/compiler-rt/lib/builtins/parityti2.c +++ b/compiler-rt/lib/builtins/parityti2.c @@ -18,9 +18,7 @@ /* Returns: 1 if number of bits is odd else returns 0 */ -si_int __paritydi2(di_int a); - -si_int +COMPILER_RT_ABI si_int __parityti2(ti_int a) { twords x; diff --git a/compiler-rt/lib/builtins/popcountti2.c b/compiler-rt/lib/builtins/popcountti2.c index d7223d926ee..7451bbb286b 100644 --- a/compiler-rt/lib/builtins/popcountti2.c +++ b/compiler-rt/lib/builtins/popcountti2.c @@ -18,7 +18,7 @@ /* Returns: count of 1 bits */ -si_int +COMPILER_RT_ABI si_int __popcountti2(ti_int a) { tu_int x3 = (tu_int)a; diff --git a/compiler-rt/lib/builtins/powitf2.c b/compiler-rt/lib/builtins/powitf2.c index d3b934924f3..172f29f58f2 100644 --- a/compiler-rt/lib/builtins/powitf2.c +++ b/compiler-rt/lib/builtins/powitf2.c @@ -18,7 +18,7 @@ /* Returns: a ^ b */ -long double +COMPILER_RT_ABI long double __powitf2(long double a, si_int b) { const int recip = b < 0; diff --git a/compiler-rt/lib/builtins/powixf2.c b/compiler-rt/lib/builtins/powixf2.c index f050964d359..0fd96e503e7 100644 --- a/compiler-rt/lib/builtins/powixf2.c +++ b/compiler-rt/lib/builtins/powixf2.c @@ -18,7 +18,7 @@ /* Returns: a ^ b */ -long double +COMPILER_RT_ABI long double __powixf2(long double a, si_int b) { const int recip = b < 0; diff --git a/compiler-rt/lib/builtins/subdf3.c b/compiler-rt/lib/builtins/subdf3.c index 66fb1a54fca..089e062415b 100644 --- a/compiler-rt/lib/builtins/subdf3.c +++ b/compiler-rt/lib/builtins/subdf3.c @@ -15,9 +15,6 @@ #define DOUBLE_PRECISION #include "fp_lib.h" -fp_t COMPILER_RT_ABI __adddf3(fp_t a, fp_t b); - - ARM_EABI_FNALIAS(dsub, subdf3) // Subtraction; flip the sign bit of b and add. diff --git a/compiler-rt/lib/builtins/subsf3.c b/compiler-rt/lib/builtins/subsf3.c index 3659cd8b822..47f5e5e46ea 100644 --- a/compiler-rt/lib/builtins/subsf3.c +++ b/compiler-rt/lib/builtins/subsf3.c @@ -15,8 +15,6 @@ #define SINGLE_PRECISION #include "fp_lib.h" -fp_t COMPILER_RT_ABI __addsf3(fp_t a, fp_t b); - ARM_EABI_FNALIAS(fsub, subsf3) // Subtraction; flip the sign bit of b and add. diff --git a/compiler-rt/lib/builtins/subvti3.c b/compiler-rt/lib/builtins/subvti3.c index 20a0814fc58..8f1171430e1 100644 --- a/compiler-rt/lib/builtins/subvti3.c +++ b/compiler-rt/lib/builtins/subvti3.c @@ -20,7 +20,7 @@ /* Effects: aborts if a - b overflows */ -ti_int +COMPILER_RT_ABI ti_int __subvti3(ti_int a, ti_int b) { ti_int s = a - b; diff --git a/compiler-rt/lib/builtins/trampoline_setup.c b/compiler-rt/lib/builtins/trampoline_setup.c index e0765b16b0b..25b627ab765 100644 --- a/compiler-rt/lib/builtins/trampoline_setup.c +++ b/compiler-rt/lib/builtins/trampoline_setup.c @@ -21,8 +21,9 @@ extern void __clear_cache(void* start, void* end); */ #if __ppc__ && !defined(__powerpc64__) -void __trampoline_setup(uint32_t* trampOnStack, int trampSizeAllocated, - const void* realFunc, void* localsPtr) +COMPILER_RT_ABI void +__trampoline_setup(uint32_t* trampOnStack, int trampSizeAllocated, + const void* realFunc, void* localsPtr) { /* should never happen, but if compiler did not allocate */ /* enough space on stack for the trampoline, abort */ diff --git a/compiler-rt/lib/builtins/ucmpti2.c b/compiler-rt/lib/builtins/ucmpti2.c index 95d1ff83643..bda8083bb2a 100644 --- a/compiler-rt/lib/builtins/ucmpti2.c +++ b/compiler-rt/lib/builtins/ucmpti2.c @@ -21,7 +21,7 @@ * if (a > b) returns 2 */ -si_int +COMPILER_RT_ABI si_int __ucmpti2(tu_int a, tu_int b) { utwords x; diff --git a/compiler-rt/lib/builtins/udivdi3.c b/compiler-rt/lib/builtins/udivdi3.c index 6c0303df3d4..dc68e154b10 100644 --- a/compiler-rt/lib/builtins/udivdi3.c +++ b/compiler-rt/lib/builtins/udivdi3.c @@ -14,8 +14,6 @@ #include "int_lib.h" -du_int COMPILER_RT_ABI __udivmoddi4(du_int a, du_int b, du_int* rem); - /* Returns: a / b */ COMPILER_RT_ABI du_int diff --git a/compiler-rt/lib/builtins/udivmodsi4.c b/compiler-rt/lib/builtins/udivmodsi4.c index 5b49089fccc..789c4b5061e 100644 --- a/compiler-rt/lib/builtins/udivmodsi4.c +++ b/compiler-rt/lib/builtins/udivmodsi4.c @@ -14,9 +14,6 @@ #include "int_lib.h" -extern su_int COMPILER_RT_ABI __udivsi3(su_int n, su_int d); - - /* Returns: a / b, *rem = a % b */ COMPILER_RT_ABI su_int diff --git a/compiler-rt/lib/builtins/udivmodti4.c b/compiler-rt/lib/builtins/udivmodti4.c index d8cea2ab742..8e0bf1afe45 100644 --- a/compiler-rt/lib/builtins/udivmodti4.c +++ b/compiler-rt/lib/builtins/udivmodti4.c @@ -22,7 +22,7 @@ /* Translated from Figure 3-40 of The PowerPC Compiler Writer's Guide */ -tu_int +COMPILER_RT_ABI tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem) { const unsigned n_udword_bits = sizeof(du_int) * CHAR_BIT; diff --git a/compiler-rt/lib/builtins/udivti3.c b/compiler-rt/lib/builtins/udivti3.c index 4a942b8ad20..ec94673e25b 100644 --- a/compiler-rt/lib/builtins/udivti3.c +++ b/compiler-rt/lib/builtins/udivti3.c @@ -16,11 +16,9 @@ #ifdef CRT_HAS_128BIT -tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); - /* Returns: a / b */ -tu_int +COMPILER_RT_ABI tu_int __udivti3(tu_int a, tu_int b) { return __udivmodti4(a, b, 0); diff --git a/compiler-rt/lib/builtins/umoddi3.c b/compiler-rt/lib/builtins/umoddi3.c index 3541ab6e91d..d513f080a1e 100644 --- a/compiler-rt/lib/builtins/umoddi3.c +++ b/compiler-rt/lib/builtins/umoddi3.c @@ -14,8 +14,6 @@ #include "int_lib.h" -du_int COMPILER_RT_ABI __udivmoddi4(du_int a, du_int b, du_int* rem); - /* Returns: a % b */ COMPILER_RT_ABI du_int diff --git a/compiler-rt/lib/builtins/umodsi3.c b/compiler-rt/lib/builtins/umodsi3.c index aae741d896d..d5fda4a6af1 100644 --- a/compiler-rt/lib/builtins/umodsi3.c +++ b/compiler-rt/lib/builtins/umodsi3.c @@ -16,8 +16,6 @@ /* Returns: a % b */ -su_int COMPILER_RT_ABI __udivsi3(su_int a, su_int b); - COMPILER_RT_ABI su_int __umodsi3(su_int a, su_int b) { diff --git a/compiler-rt/lib/builtins/umodti3.c b/compiler-rt/lib/builtins/umodti3.c index 2ab4dd25021..6d1ca7a8cf6 100644 --- a/compiler-rt/lib/builtins/umodti3.c +++ b/compiler-rt/lib/builtins/umodti3.c @@ -16,11 +16,9 @@ #ifdef CRT_HAS_128BIT -tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); - /* Returns: a % b */ -tu_int +COMPILER_RT_ABI tu_int __umodti3(tu_int a, tu_int b) { tu_int r; |