diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-05-16 16:41:37 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2017-05-16 16:41:37 +0000 |
commit | 36ac5ddff7377586390a71cb3261f0a40d274308 (patch) | |
tree | ebebb3a4578e04336b18a85c232c1a9ed983bac3 /compiler-rt/lib/builtins/subdf3.c | |
parent | 50de3ad34185419fda1defb26aeefa783dad6c10 (diff) | |
download | bcm5719-llvm-36ac5ddff7377586390a71cb3261f0a40d274308.tar.gz bcm5719-llvm-36ac5ddff7377586390a71cb3261f0a40d274308.zip |
builtins: expand out the AEABI function stubs
These actually may change calling conventions. We cannot simply provide
function aliases as the aliased function may have a different calling
convention. Provide a forwarding function instead to permit the
compiler to synthesize the calling convention adjustment thunk.
Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use.
Resolves PR33030!
llvm-svn: 303188
Diffstat (limited to 'compiler-rt/lib/builtins/subdf3.c')
-rw-r--r-- | compiler-rt/lib/builtins/subdf3.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler-rt/lib/builtins/subdf3.c b/compiler-rt/lib/builtins/subdf3.c index 7a79e5e7765..38340dfab1a 100644 --- a/compiler-rt/lib/builtins/subdf3.c +++ b/compiler-rt/lib/builtins/subdf3.c @@ -15,11 +15,15 @@ #define DOUBLE_PRECISION #include "fp_lib.h" -ARM_EABI_FNALIAS(dsub, subdf3) - // Subtraction; flip the sign bit of b and add. COMPILER_RT_ABI fp_t __subdf3(fp_t a, fp_t b) { return __adddf3(a, fromRep(toRep(b) ^ signBit)); } +#if defined(__ARM_EABI__) +AEABI_RTABI fp_t __aeabi_dsub(fp_t a, fp_t b) { + return __subdf3(a, b); +} +#endif + |