| Index: libffi/ChangeLog |
| =================================================================== |
| --- libffi.orig/ChangeLog |
| +++ libffi/ChangeLog |
| @@ -1,5 +1,10 @@ |
| 2012-04-06 Anthony Green <green@moxielogic.com> |
| |
| + * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU |
| + compilers, then use it. |
| + |
| +2012-04-06 Anthony Green <green@moxielogic.com> |
| + |
| * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases. |
| * testsuite/Makefile.in: Rebuilt. |
| |
| Index: libffi/src/x86/ffi64.c |
| =================================================================== |
| --- libffi.orig/src/x86/ffi64.c |
| +++ libffi/src/x86/ffi64.c |
| @@ -37,11 +37,17 @@ |
| #define MAX_GPR_REGS 6 |
| #define MAX_SSE_REGS 8 |
| |
| +#ifdef __INTEL_COMPILER |
| +#define UINT128 __m128 |
| +#else |
| +#define UINT128 __int128_t |
| +#endif |
| + |
| struct register_args |
| { |
| /* Registers for argument passing. */ |
| UINT64 gpr[MAX_GPR_REGS]; |
| - __int128_t sse[MAX_SSE_REGS]; |
| + UINT128 sse[MAX_SSE_REGS]; |
| }; |
| |
| extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags, |