diff options
Diffstat (limited to 'dev-libs/libffi/files/libffi-3.0.8-arm.patch')
-rw-r--r-- | dev-libs/libffi/files/libffi-3.0.8-arm.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-libs/libffi/files/libffi-3.0.8-arm.patch b/dev-libs/libffi/files/libffi-3.0.8-arm.patch new file mode 100644 index 000000000000..57cc8fdd2797 --- /dev/null +++ b/dev-libs/libffi/files/libffi-3.0.8-arm.patch @@ -0,0 +1,80 @@ +--- libffi-3.0.7.orig/src/arm/sysv.S ++++ libffi-3.0.7/src/arm/sysv.S +@@ -67,11 +67,18 @@ + + #if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ + || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \ +- || defined(__ARM_ARCH_6ZK__) ++ || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \ ++ || defined(__ARM_ARCH_6M__) + # undef __ARM_ARCH__ + # define __ARM_ARCH__ 6 + #endif + ++#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ ++ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) ++# undef __ARM_ARCH__ ++# define __ARM_ARCH__ 7 ++#endif ++ + #if __ARM_ARCH__ >= 5 + # define call_reg(x) blx x + #elif defined (__ARM_ARCH_4T__) +@@ -189,7 +196,7 @@ + + @ return INT + cmp r3, #FFI_TYPE_INT +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + cmpne r3, #FFI_TYPE_FLOAT + #endif + streq r0, [r2] +@@ -197,12 +204,12 @@ + + @ return INT64 + cmp r3, #FFI_TYPE_SINT64 +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + cmpne r3, #FFI_TYPE_DOUBLE + #endif + stmeqia r2, {r0, r1} + +-#ifndef __SOFTFP__ ++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__) + beq LSYM(Lepilogue) + + @ return FLOAT +@@ -245,21 +252,21 @@ + beq .Lretint + + cmp r0, #FFI_TYPE_FLOAT +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + beq .Lretint + #else + beq .Lretfloat + #endif + + cmp r0, #FFI_TYPE_DOUBLE +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + beq .Lretlonglong + #else + beq .Lretdouble + #endif + + cmp r0, #FFI_TYPE_LONGDOUBLE +-#ifdef __SOFTFP__ ++#if defined(__SOFTFP__) || defined(__ARM_EABI__) + beq .Lretlonglong + #else + beq .Lretlongdouble +@@ -278,7 +285,7 @@ + ldr r1, [sp, #4] + b .Lclosure_epilogue + +-#ifndef __SOFTFP__ ++#if !defined(__SOFTFP__) && !defined(__ARM_EABI__) + .Lretfloat: + ldfs f0, [sp] + b .Lclosure_epilogue |