------- Comment #6 from schwab at suse dot de 2006-06-05 15:03 ------- ffitarget.h already provides a macro for closure support: FFI_CLOSURES. Does this patch makes sense?
Index: link.cc =================================================================== --- link.cc (revision 114359) +++ link.cc (working copy) @@ -788,7 +788,7 @@ _Jv_ThrowNoSuchMethodError () throw new java::lang::NoSuchMethodError; } -#ifdef USE_LIBFFI +#if defined USE_LIBFFI && FFI_CLOSURES // A function whose invocation is prepared using libffi. It gets called // whenever a static method of a missing class is invoked. The data argument // holds a reference to a String denoting the missing class. @@ -974,7 +974,7 @@ _Jv_Linker::find_iindex (jclass *ifaces, return i; } -#ifdef USE_LIBFFI +#if defined USE_LIBFFI && FFI_CLOSURES // We use a structure of this type to store the closure that // represents a missing method. struct method_closure @@ -1027,7 +1027,7 @@ _Jv_Linker::create_error_method (_Jv_Utf // of the missing class then. return (void *) _Jv_ThrowNoClassDefFoundError; } -#endif // USE_LIBFFI +#endif // USE_LIBFFI && FFI_CLOSURES // Functions for indirect dispatch (symbolic virtual binding) support. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27860