rust/rust-compiler-rt-pr26-arm-c...

49 lines
1.4 KiB
Diff

commit 3bc0272cab9fdcfc2ef4df9625ec3c9d5909db79 (from ecd2b1f6d689d5afbf5debe8afb3739337323852)
Merge: ecd2b1f6d689 8250bd0ac50b
Author: Alex Crichton <alex@alexcrichton.com>
Date: Thu Nov 10 11:22:53 2016 -0600
Merge pull request #26 from TimNN/arm-cc
powi only: don't override arm calling convention
diff --git a/lib/builtins/int_lib.h b/lib/builtins/int_lib.h
index 6cf17497d3a5..8dfe5672d131 100644
--- a/lib/builtins/int_lib.h
+++ b/lib/builtins/int_lib.h
@@ -32,7 +32,7 @@
#if __ARM_EABI__
# define ARM_EABI_FNALIAS(aeabi_name, name) \
void __aeabi_##aeabi_name() __attribute__((alias("__" #name)));
-# define COMPILER_RT_ABI
+# define COMPILER_RT_ABI __attribute__((pcs("aapcs")))
#else
# define ARM_EABI_FNALIAS(aeabi_name, name)
# define COMPILER_RT_ABI
diff --git a/lib/builtins/powidf2.c b/lib/builtins/powidf2.c
index ac13b172b043..0200e1eab0b5 100644
--- a/lib/builtins/powidf2.c
+++ b/lib/builtins/powidf2.c
@@ -16,7 +16,7 @@
/* Returns: a ^ b */
-COMPILER_RT_ABI double
+double
__powidf2(double a, si_int b)
{
const int recip = b < 0;
diff --git a/lib/builtins/powisf2.c b/lib/builtins/powisf2.c
index 0c400ec6dd6a..c834b9696954 100644
--- a/lib/builtins/powisf2.c
+++ b/lib/builtins/powisf2.c
@@ -16,7 +16,7 @@
/* Returns: a ^ b */
-COMPILER_RT_ABI float
+float
__powisf2(float a, si_int b)
{
const int recip = b < 0;