summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins/floatdisf.c
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-05-16 16:41:37 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-05-16 16:41:37 +0000
commit36ac5ddff7377586390a71cb3261f0a40d274308 (patch)
treeebebb3a4578e04336b18a85c232c1a9ed983bac3 /compiler-rt/lib/builtins/floatdisf.c
parent50de3ad34185419fda1defb26aeefa783dad6c10 (diff)
downloadbcm5719-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/floatdisf.c')
-rw-r--r--compiler-rt/lib/builtins/floatdisf.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler-rt/lib/builtins/floatdisf.c b/compiler-rt/lib/builtins/floatdisf.c
index 3e47580ef57..dd548165c37 100644
--- a/compiler-rt/lib/builtins/floatdisf.c
+++ b/compiler-rt/lib/builtins/floatdisf.c
@@ -22,8 +22,6 @@
#include "int_lib.h"
-ARM_EABI_FNALIAS(l2f, floatdisf)
-
COMPILER_RT_ABI float
__floatdisf(di_int a)
{
@@ -78,3 +76,10 @@ __floatdisf(di_int a)
((su_int)a & 0x007FFFFF); /* mantissa */
return fb.f;
}
+
+#if defined(__ARM_EABI__)
+AEABI_RTABI float __aeabi_l2f(di_int a) {
+ return __floatdisf(a);
+}
+#endif
+
OpenPOWER on IntegriCloud