From f2f96fb86d42396716b3e556da7a930956e712fb Mon Sep 17 00:00:00 2001 From: Marcus Oakland Date: Mon, 24 Feb 2014 14:48:50 +0000 Subject: [PATCH] AArch64: Make LONG 4 bytes The libSYS/include/machine_type.h header file states LONG should be "Data type representing 4 byte signed integer on all supported platforms" but only provided for defining LONG as INT and ULONG as UINT when __x86_64__ was defined. This has been changed to when __LP64__ is defined, so that it also applies to AArch64. The change to libFDK/include/common_fix.h is then needed to get the project to compile. Change-Id: Iea42d7eca97dcc9da772a05b207d134cb999a72a Signed-off-by: Marcus Oakland --- libFDK/include/common_fix.h | 4 ++-- libSYS/include/machine_type.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libFDK/include/common_fix.h b/libFDK/include/common_fix.h index 79c87ac..d2d11f4 100644 --- a/libFDK/include/common_fix.h +++ b/libFDK/include/common_fix.h @@ -226,7 +226,7 @@ FDK_INLINE FIXP_SGL fAbs(FIXP_SGL x) { return fixabs_S(x); } /* workaround for TI C6x compiler but not for TI ARM9E compiler */ -#if (!defined(__TI_COMPILER_VERSION__) || defined(__TI_TMS470_V5__)) && !defined(__x86_64__) +#if (!defined(__TI_COMPILER_VERSION__) || defined(__TI_TMS470_V5__)) && !defined(__LP64__) FDK_INLINE INT fAbs(INT x) { return fixabs_I(x); } #endif @@ -336,7 +336,7 @@ FDK_INLINE FIXP_SGL fMax(FIXP_SGL a, FIXP_SGL b) { return fixmax_S(a,b); } /* workaround for TI C6x compiler but not for TI ARM9E */ -#if ((!defined(__TI_COMPILER_VERSION__) || defined(__TI_TMS470_V5__)) && !defined(__x86_64__)) || (FIX_FRACT == 1) +#if ((!defined(__TI_COMPILER_VERSION__) || defined(__TI_TMS470_V5__)) && !defined(__LP64__)) || (FIX_FRACT == 1) FDK_INLINE INT fMax(INT a, INT b) { return fixmax_I(a,b); } FDK_INLINE INT fMin(INT a, INT b) diff --git a/libSYS/include/machine_type.h b/libSYS/include/machine_type.h index 4745e43..b328953 100644 --- a/libSYS/include/machine_type.h +++ b/libSYS/include/machine_type.h @@ -154,15 +154,15 @@ amm-info@iis.fraunhofer.de typedef signed int INT; typedef unsigned int UINT; -#ifdef __x86_64__ +#ifdef __LP64__ /* force FDK long-datatypes to 4 byte */ /* jdr: Use defines to avoid type alias problems on 64 bit machines. */ #define LONG INT #define ULONG UINT -#else /* __x86_64__ */ +#else /* __LP64__ */ typedef signed long LONG; typedef unsigned long ULONG; -#endif /* __x86_64__ */ +#endif /* __LP64__ */ typedef signed short SHORT; typedef unsigned short USHORT; typedef signed char SCHAR;