[Bug libffi/52221] [libffi] r183675,r184021 needs to be fixed.

jojelino at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Feb 15 21:43:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52221

gee <jojelino at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[libffi] r184021 needs to   |[libffi] r183675,r184021
                   |be fixed.                   |needs to be fixed.
           Severity|normal                      |blocker

--- Comment #7 from gee <jojelino at gmail dot com> 2012-02-15 21:32:10 UTC ---
there is an big mistake in r183675

-      ffi_call_win32(ffi_prep_args_raw, &ecif, cif->bytes, cif->flags,
-                     ecif.rvalue, fn);
+      ffi_call_win32(ffi_prep_args, &ecif, cif->abi, cif->bytes, cif->flags,
+             ecif.rvalue, fn);

and below the mistake, another one.

+    if (passed_regs < 2 && abi == FFI_FASTCALL)
+      abi = FFI_THISCALL;
+    if (passed_regs < 1 && abi == FFI_THISCALL)
+      abi = FFI_STDCALL;
+        ffi_call_win32(ffi_prep_args, &ecif, abi, cif->bytes, cif->flags,
+                       ecif.rvalue, fn);
+      }

why ffi_prep_args_raw changed to ffi_prep_args?? this explains why i succeed
but not sigsegving in ExtraClassLoader.
because of this, i decidec to raise the severity to blocker.



More information about the Gcc-bugs mailing list