Message ID | 20120718162727.GA23420@intel.com |
---|---|
State | New |
Headers | show |
On Wed, Jul 18, 2012 at 6:27 PM, H.J. Lu <hongjiu.lu@intel.com> wrote: >> 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 > > 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? > > 2012-07-16 H.J. Lu <hongjiu.lu@intel.com> > > * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for > x32. > (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. How did you tested this patch? Does it fix all the problems from PR53982, including the one that is not 100% reproducible? Uros.
On Wed, Jul 18, 2012 at 11:44 AM, Uros Bizjak <ubizjak@gmail.com> wrote: > On Wed, Jul 18, 2012 at 6:27 PM, H.J. Lu <hongjiu.lu@intel.com> wrote: > >>> 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 >> >> 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? >> >> 2012-07-16 H.J. Lu <hongjiu.lu@intel.com> >> >> * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for >> x32. >> (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. > > How did you tested this patch? Does it fix all the problems from > PR53982, including the one that is not 100% reproducible? > I tested it on Linux/x32. All libjava tests are passing now for x32 with this patch.
On Wed, Jul 18, 2012 at 9:10 PM, H.J. Lu <hjl.tools@gmail.com> wrote: >>>> 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 >>> >>> 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? >>> >>> 2012-07-16 H.J. Lu <hongjiu.lu@intel.com> >>> >>> * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for >>> x32. >>> (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. >> >> How did you tested this patch? Does it fix all the problems from >> PR53982, including the one that is not 100% reproducible? >> > > I tested it on Linux/x32. All libjava tests are passing now for x32 with > this patch. OK then. Thanks, Uros.
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