On Mon, Jul 16, 2012 at 01:14:08PM -0700, H.J. Lu wrote: > Hi, > > This patch defines FFI_SIZEOF_JAVA_RAW to 4 for x32, similar to MIPS n32. > It fixed: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53982 > >
Hi, Here is the patch with updated ChangeLog entry. X32 has the same issue as MIPS n32, which was fixed by FFI_SIZEOF_JAVA_RAW: http://gcc.gnu.org/ml/gcc-patches/2007-11/msg01612.html http://gcc.gnu.org/ml/gcc-patches/2007-12/msg00005.html The same fix is needed for x32. OK for trunk? Thanks. H.J. --- 2012-07-16 H.J. Lu <hongjiu...@intel.com> * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32. (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. diff --git a/src/x86/ffitarget.h b/src/x86/ffitarget.h index f442654..46f294c 100644 --- a/src/x86/ffitarget.h +++ b/src/x86/ffitarget.h @@ -61,8 +61,9 @@ typedef unsigned long long ffi_arg; typedef long long ffi_sarg; #endif #else -#if defined __x86_64__ && !defined __LP64__ +#if defined __x86_64__ && defined __ILP32__ #define FFI_SIZEOF_ARG 8 +#define FFI_SIZEOF_JAVA_RAW 4 typedef unsigned long long ffi_arg; typedef long long ffi_sarg; #else -- 1.7.10.4