2006-09-12 18:51:43 +02:00
|
|
|
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
2004-03-11 20:59:49 +01:00
|
|
|
# @configure_input@
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2004-06-15 16:47:55 +02:00
|
|
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
2006-05-24 03:45:57 +02:00
|
|
|
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
1999-08-08 15:27:18 +02:00
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
|
|
# PARTICULAR PURPOSE.
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
@SET_MAKE@
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
srcdir = @srcdir@
|
|
|
|
top_srcdir = @top_srcdir@
|
2004-03-11 20:59:49 +01:00
|
|
|
VPATH = @srcdir@
|
1999-08-08 15:27:18 +02:00
|
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
|
|
top_builddir = .
|
2004-03-11 20:59:49 +01:00
|
|
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
1999-08-08 15:27:18 +02:00
|
|
|
INSTALL = @INSTALL@
|
2004-03-11 20:59:49 +01:00
|
|
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
|
|
install_sh_PROGRAM = $(install_sh) -c
|
|
|
|
install_sh_SCRIPT = $(install_sh) -c
|
|
|
|
INSTALL_HEADER = $(INSTALL_DATA)
|
|
|
|
transform = $(program_transform_name)
|
1999-08-08 15:27:18 +02:00
|
|
|
NORMAL_INSTALL = :
|
|
|
|
PRE_INSTALL = :
|
|
|
|
POST_INSTALL = :
|
|
|
|
NORMAL_UNINSTALL = :
|
|
|
|
PRE_UNINSTALL = :
|
|
|
|
POST_UNINSTALL = :
|
2003-09-04 16:47:05 +02:00
|
|
|
build_triplet = @build@
|
1999-08-08 15:27:18 +02:00
|
|
|
host_triplet = @host@
|
2003-09-04 16:47:05 +02:00
|
|
|
target_triplet = @target@
|
2004-03-11 20:59:49 +01:00
|
|
|
@MIPS_IRIX_TRUE@am__append_1 = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
|
|
|
|
@MIPS_LINUX_TRUE@am__append_2 = src/mips/ffi.c src/mips/o32.S
|
|
|
|
@X86_TRUE@am__append_3 = src/x86/ffi.c src/x86/sysv.S
|
|
|
|
@X86_WIN32_TRUE@am__append_4 = src/x86/ffi.c src/x86/win32.S
|
2006-12-14 08:34:45 +01:00
|
|
|
@X86_DARWIN_TRUE@am__append_5 = src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
|
2006-10-10 16:21:05 +02:00
|
|
|
@SPARC_TRUE@am__append_6 = src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S
|
|
|
|
@ALPHA_TRUE@am__append_7 = src/alpha/ffi.c src/alpha/osf.S
|
|
|
|
@IA64_TRUE@am__append_8 = src/ia64/ffi.c src/ia64/unix.S
|
|
|
|
@M32R_TRUE@am__append_9 = src/m32r/sysv.S src/m32r/ffi.c
|
|
|
|
@M68K_TRUE@am__append_10 = src/m68k/ffi.c src/m68k/sysv.S
|
|
|
|
@POWERPC_TRUE@am__append_11 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S src/powerpc/linux64.S src/powerpc/linux64_closure.S
|
|
|
|
@POWERPC_AIX_TRUE@am__append_12 = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
|
|
|
|
@POWERPC_DARWIN_TRUE@am__append_13 = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
|
|
|
|
@POWERPC_FREEBSD_TRUE@am__append_14 = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
|
|
|
|
@ARM_TRUE@am__append_15 = src/arm/sysv.S src/arm/ffi.c
|
|
|
|
@LIBFFI_CRIS_TRUE@am__append_16 = src/cris/sysv.S src/cris/ffi.c
|
|
|
|
@FRV_TRUE@am__append_17 = src/frv/eabi.S src/frv/ffi.c
|
|
|
|
@S390_TRUE@am__append_18 = src/s390/sysv.S src/s390/ffi.c
|
|
|
|
@X86_64_TRUE@am__append_19 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
|
|
|
|
@SH_TRUE@am__append_20 = src/sh/sysv.S src/sh/ffi.c
|
|
|
|
@SH64_TRUE@am__append_21 = src/sh64/sysv.S src/sh64/ffi.c
|
|
|
|
@PA_LINUX_TRUE@am__append_22 = src/pa/linux.S src/pa/ffi.c
|
|
|
|
@PA_HPUX_TRUE@am__append_23 = src/pa/hpux32.S src/pa/ffi.c
|
2004-06-15 16:47:55 +02:00
|
|
|
DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
|
|
|
|
$(srcdir)/../config.guess $(srcdir)/../config.sub \
|
2004-11-23 05:11:31 +01:00
|
|
|
$(srcdir)/../depcomp $(srcdir)/../install-sh \
|
|
|
|
$(srcdir)/../ltmain.sh $(srcdir)/../missing \
|
|
|
|
$(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
|
|
|
|
$(srcdir)/Makefile.in $(srcdir)/fficonfig.h.in \
|
|
|
|
$(top_srcdir)/configure ChangeLog
|
2004-06-15 16:47:55 +02:00
|
|
|
subdir = .
|
|
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
2007-01-17 20:48:52 +01:00
|
|
|
am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
|
|
|
|
$(top_srcdir)/../config/lead-dot.m4 \
|
|
|
|
$(top_srcdir)/../config/multi.m4 $(top_srcdir)/../libtool.m4 \
|
2006-12-14 08:34:45 +01:00
|
|
|
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
|
2004-06-15 16:47:55 +02:00
|
|
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
|
|
$(ACLOCAL_M4)
|
|
|
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
|
|
|
configure.lineno configure.status.lineno
|
|
|
|
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
|
|
|
|
CONFIG_HEADER = fficonfig.h
|
|
|
|
CONFIG_CLEAN_FILES =
|
2004-11-23 05:11:31 +01:00
|
|
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
|
|
am__vpath_adj = case $$p in \
|
|
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
|
|
*) f=$$p;; \
|
|
|
|
esac;
|
|
|
|
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
2004-06-15 16:47:55 +02:00
|
|
|
am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
|
|
|
|
toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
|
|
|
|
LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
|
|
|
|
libffi_la_LIBADD =
|
|
|
|
am__dirstamp = $(am__leading_dot)dirstamp
|
|
|
|
am_libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
|
ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise. Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable. Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument. Use ffi_closure_alloc and the
separate code pointer. Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.
From-SVN: r122652
2007-03-07 08:27:25 +01:00
|
|
|
src/raw_api.lo src/java_raw_api.lo src/closures.lo
|
2004-06-15 16:47:55 +02:00
|
|
|
@MIPS_IRIX_TRUE@am__objects_1 = src/mips/ffi.lo src/mips/o32.lo \
|
|
|
|
@MIPS_IRIX_TRUE@ src/mips/n32.lo
|
|
|
|
@MIPS_LINUX_TRUE@am__objects_2 = src/mips/ffi.lo src/mips/o32.lo
|
|
|
|
@X86_TRUE@am__objects_3 = src/x86/ffi.lo src/x86/sysv.lo
|
|
|
|
@X86_WIN32_TRUE@am__objects_4 = src/x86/ffi.lo src/x86/win32.lo
|
2006-12-14 08:34:45 +01:00
|
|
|
@X86_DARWIN_TRUE@am__objects_5 = src/x86/ffi.lo src/x86/darwin.lo \
|
|
|
|
@X86_DARWIN_TRUE@ src/x86/ffi64.lo src/x86/darwin64.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@SPARC_TRUE@am__objects_6 = src/sparc/ffi.lo src/sparc/v8.lo \
|
2004-06-15 16:47:55 +02:00
|
|
|
@SPARC_TRUE@ src/sparc/v9.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@ALPHA_TRUE@am__objects_7 = src/alpha/ffi.lo src/alpha/osf.lo
|
|
|
|
@IA64_TRUE@am__objects_8 = src/ia64/ffi.lo src/ia64/unix.lo
|
|
|
|
@M32R_TRUE@am__objects_9 = src/m32r/sysv.lo src/m32r/ffi.lo
|
|
|
|
@M68K_TRUE@am__objects_10 = src/m68k/ffi.lo src/m68k/sysv.lo
|
|
|
|
@POWERPC_TRUE@am__objects_11 = src/powerpc/ffi.lo src/powerpc/sysv.lo \
|
2004-06-15 16:47:55 +02:00
|
|
|
@POWERPC_TRUE@ src/powerpc/ppc_closure.lo \
|
|
|
|
@POWERPC_TRUE@ src/powerpc/linux64.lo \
|
|
|
|
@POWERPC_TRUE@ src/powerpc/linux64_closure.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@POWERPC_AIX_TRUE@am__objects_12 = src/powerpc/ffi_darwin.lo \
|
2004-06-15 16:47:55 +02:00
|
|
|
@POWERPC_AIX_TRUE@ src/powerpc/aix.lo \
|
|
|
|
@POWERPC_AIX_TRUE@ src/powerpc/aix_closure.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@POWERPC_DARWIN_TRUE@am__objects_13 = src/powerpc/ffi_darwin.lo \
|
2004-06-15 16:47:55 +02:00
|
|
|
@POWERPC_DARWIN_TRUE@ src/powerpc/darwin.lo \
|
|
|
|
@POWERPC_DARWIN_TRUE@ src/powerpc/darwin_closure.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@POWERPC_FREEBSD_TRUE@am__objects_14 = src/powerpc/ffi.lo \
|
2005-07-19 23:15:36 +02:00
|
|
|
@POWERPC_FREEBSD_TRUE@ src/powerpc/sysv.lo \
|
|
|
|
@POWERPC_FREEBSD_TRUE@ src/powerpc/ppc_closure.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@ARM_TRUE@am__objects_15 = src/arm/sysv.lo src/arm/ffi.lo
|
|
|
|
@LIBFFI_CRIS_TRUE@am__objects_16 = src/cris/sysv.lo src/cris/ffi.lo
|
|
|
|
@FRV_TRUE@am__objects_17 = src/frv/eabi.lo src/frv/ffi.lo
|
|
|
|
@S390_TRUE@am__objects_18 = src/s390/sysv.lo src/s390/ffi.lo
|
|
|
|
@X86_64_TRUE@am__objects_19 = src/x86/ffi64.lo src/x86/unix64.lo \
|
2004-06-15 16:47:55 +02:00
|
|
|
@X86_64_TRUE@ src/x86/ffi.lo src/x86/sysv.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
@SH_TRUE@am__objects_20 = src/sh/sysv.lo src/sh/ffi.lo
|
|
|
|
@SH64_TRUE@am__objects_21 = src/sh64/sysv.lo src/sh64/ffi.lo
|
|
|
|
@PA_LINUX_TRUE@am__objects_22 = src/pa/linux.lo src/pa/ffi.lo
|
|
|
|
@PA_HPUX_TRUE@am__objects_23 = src/pa/hpux32.lo src/pa/ffi.lo
|
2004-06-15 16:47:55 +02:00
|
|
|
nodist_libffi_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
|
|
|
|
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
|
|
|
|
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
|
|
|
|
$(am__objects_9) $(am__objects_10) $(am__objects_11) \
|
|
|
|
$(am__objects_12) $(am__objects_13) $(am__objects_14) \
|
2004-08-30 17:43:03 +02:00
|
|
|
$(am__objects_15) $(am__objects_16) $(am__objects_17) \
|
2005-07-19 23:15:36 +02:00
|
|
|
$(am__objects_18) $(am__objects_19) $(am__objects_20) \
|
2006-10-10 16:21:05 +02:00
|
|
|
$(am__objects_21) $(am__objects_22) $(am__objects_23)
|
2004-06-15 16:47:55 +02:00
|
|
|
libffi_la_OBJECTS = $(am_libffi_la_OBJECTS) \
|
|
|
|
$(nodist_libffi_la_OBJECTS)
|
|
|
|
libffi_convenience_la_LIBADD =
|
2006-10-10 16:21:05 +02:00
|
|
|
am__objects_24 = src/debug.lo src/prep_cif.lo src/types.lo \
|
ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise. Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable. Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument. Use ffi_closure_alloc and the
separate code pointer. Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.
From-SVN: r122652
2007-03-07 08:27:25 +01:00
|
|
|
src/raw_api.lo src/java_raw_api.lo src/closures.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
am_libffi_convenience_la_OBJECTS = $(am__objects_24)
|
|
|
|
am__objects_25 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \
|
2004-06-15 16:47:55 +02:00
|
|
|
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
|
|
|
|
$(am__objects_7) $(am__objects_8) $(am__objects_9) \
|
|
|
|
$(am__objects_10) $(am__objects_11) $(am__objects_12) \
|
|
|
|
$(am__objects_13) $(am__objects_14) $(am__objects_15) \
|
2004-10-13 19:20:24 +02:00
|
|
|
$(am__objects_16) $(am__objects_17) $(am__objects_18) \
|
2006-04-05 23:26:34 +02:00
|
|
|
$(am__objects_19) $(am__objects_20) $(am__objects_21) \
|
2006-10-10 16:21:05 +02:00
|
|
|
$(am__objects_22) $(am__objects_23)
|
|
|
|
nodist_libffi_convenience_la_OBJECTS = $(am__objects_25)
|
2004-06-15 16:47:55 +02:00
|
|
|
libffi_convenience_la_OBJECTS = $(am_libffi_convenience_la_OBJECTS) \
|
|
|
|
$(nodist_libffi_convenience_la_OBJECTS)
|
|
|
|
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
2004-11-23 05:11:31 +01:00
|
|
|
depcomp = $(SHELL) $(top_srcdir)/../depcomp
|
|
|
|
am__depfiles_maybe = depfiles
|
2004-06-15 16:47:55 +02:00
|
|
|
CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
|
|
|
LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \
|
|
|
|
$(CCASFLAGS)
|
|
|
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
|
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
2006-12-14 08:34:45 +01:00
|
|
|
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
|
2004-06-15 16:47:55 +02:00
|
|
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
|
|
|
$(AM_CFLAGS) $(CFLAGS)
|
|
|
|
CCLD = $(CC)
|
2006-12-14 08:34:45 +01:00
|
|
|
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
2004-06-15 16:47:55 +02:00
|
|
|
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
|
|
|
SOURCES = $(libffi_la_SOURCES) $(nodist_libffi_la_SOURCES) \
|
|
|
|
$(libffi_convenience_la_SOURCES) \
|
|
|
|
$(nodist_libffi_convenience_la_SOURCES)
|
|
|
|
DIST_SOURCES = $(libffi_la_SOURCES) $(libffi_convenience_la_SOURCES)
|
|
|
|
MULTISRCTOP =
|
|
|
|
MULTIBUILDTOP =
|
|
|
|
MULTIDIRS =
|
|
|
|
MULTISUBDIR =
|
|
|
|
MULTIDO = true
|
|
|
|
MULTICLEAN = true
|
|
|
|
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
|
|
|
html-recursive info-recursive install-data-recursive \
|
|
|
|
install-exec-recursive install-info-recursive \
|
|
|
|
install-recursive installcheck-recursive installdirs-recursive \
|
|
|
|
pdf-recursive ps-recursive uninstall-info-recursive \
|
|
|
|
uninstall-recursive
|
|
|
|
ETAGS = etags
|
|
|
|
CTAGS = ctags
|
|
|
|
DIST_SUBDIRS = $(SUBDIRS)
|
|
|
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
|
|
distdir = $(PACKAGE)-$(VERSION)
|
|
|
|
top_distdir = $(distdir)
|
|
|
|
am__remove_distdir = \
|
|
|
|
{ test ! -d $(distdir) \
|
|
|
|
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
|
|
|
&& rm -fr $(distdir); }; }
|
|
|
|
DIST_ARCHIVES = $(distdir).tar.gz
|
|
|
|
GZIP_ENV = --best
|
|
|
|
distuninstallcheck_listfiles = find . -type f -print
|
|
|
|
distcleancheck_listfiles = find . -type f -print
|
2004-03-11 20:59:49 +01:00
|
|
|
ACLOCAL = @ACLOCAL@
|
|
|
|
ALLOCA = @ALLOCA@
|
|
|
|
ALPHA_FALSE = @ALPHA_FALSE@
|
|
|
|
ALPHA_TRUE = @ALPHA_TRUE@
|
|
|
|
AMDEP_FALSE = @AMDEP_FALSE@
|
|
|
|
AMDEP_TRUE = @AMDEP_TRUE@
|
|
|
|
AMTAR = @AMTAR@
|
2003-09-04 16:47:05 +02:00
|
|
|
AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
|
2004-03-11 20:59:49 +01:00
|
|
|
ARM_FALSE = @ARM_FALSE@
|
|
|
|
ARM_TRUE = @ARM_TRUE@
|
|
|
|
AUTOCONF = @AUTOCONF@
|
|
|
|
AUTOHEADER = @AUTOHEADER@
|
|
|
|
AUTOMAKE = @AUTOMAKE@
|
|
|
|
AWK = @AWK@
|
1999-08-08 15:27:18 +02:00
|
|
|
CC = @CC@
|
2004-03-11 20:59:49 +01:00
|
|
|
CCAS = @CCAS@
|
|
|
|
CCASFLAGS = @CCASFLAGS@
|
|
|
|
CCDEPMODE = @CCDEPMODE@
|
|
|
|
CFLAGS = @CFLAGS@
|
|
|
|
CPP = @CPP@
|
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
|
|
CYGPATH_W = @CYGPATH_W@
|
|
|
|
DEFS = @DEFS@
|
|
|
|
DEPDIR = @DEPDIR@
|
|
|
|
ECHO_C = @ECHO_C@
|
|
|
|
ECHO_N = @ECHO_N@
|
|
|
|
ECHO_T = @ECHO_T@
|
|
|
|
EGREP = @EGREP@
|
1999-08-08 15:27:18 +02:00
|
|
|
EXEEXT = @EXEEXT@
|
2004-08-30 17:43:03 +02:00
|
|
|
FRV_FALSE = @FRV_FALSE@
|
|
|
|
FRV_TRUE = @FRV_TRUE@
|
[multiple changes]
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
|
|
|
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
|
2004-03-11 20:59:49 +01:00
|
|
|
IA64_FALSE = @IA64_FALSE@
|
|
|
|
IA64_TRUE = @IA64_TRUE@
|
|
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
|
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
2005-04-18 19:08:58 +02:00
|
|
|
LIBFFI_CRIS_FALSE = @LIBFFI_CRIS_FALSE@
|
|
|
|
LIBFFI_CRIS_TRUE = @LIBFFI_CRIS_TRUE@
|
2004-03-11 20:59:49 +01:00
|
|
|
LIBOBJS = @LIBOBJS@
|
|
|
|
LIBS = @LIBS@
|
1999-08-08 15:27:18 +02:00
|
|
|
LIBTOOL = @LIBTOOL@
|
|
|
|
LN_S = @LN_S@
|
2004-03-11 20:59:49 +01:00
|
|
|
LTLIBOBJS = @LTLIBOBJS@
|
2004-10-13 19:20:24 +02:00
|
|
|
M32R_FALSE = @M32R_FALSE@
|
|
|
|
M32R_TRUE = @M32R_TRUE@
|
2004-03-11 20:59:49 +01:00
|
|
|
M68K_FALSE = @M68K_FALSE@
|
|
|
|
M68K_TRUE = @M68K_TRUE@
|
1999-08-08 15:27:18 +02:00
|
|
|
MAINT = @MAINT@
|
2004-03-11 20:59:49 +01:00
|
|
|
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
|
|
|
|
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
|
1999-08-08 15:27:18 +02:00
|
|
|
MAKEINFO = @MAKEINFO@
|
2004-03-11 20:59:49 +01:00
|
|
|
MIPS_IRIX_FALSE = @MIPS_IRIX_FALSE@
|
|
|
|
MIPS_IRIX_TRUE = @MIPS_IRIX_TRUE@
|
|
|
|
MIPS_LINUX_FALSE = @MIPS_LINUX_FALSE@
|
|
|
|
MIPS_LINUX_TRUE = @MIPS_LINUX_TRUE@
|
2001-03-27 00:52:36 +02:00
|
|
|
OBJEXT = @OBJEXT@
|
2006-04-05 23:26:34 +02:00
|
|
|
PA64_HPUX_FALSE = @PA64_HPUX_FALSE@
|
|
|
|
PA64_HPUX_TRUE = @PA64_HPUX_TRUE@
|
1999-08-08 15:27:18 +02:00
|
|
|
PACKAGE = @PACKAGE@
|
2004-03-11 20:59:49 +01:00
|
|
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
|
|
PACKAGE_NAME = @PACKAGE_NAME@
|
|
|
|
PACKAGE_STRING = @PACKAGE_STRING@
|
|
|
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
|
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
2006-04-05 23:26:34 +02:00
|
|
|
PA_HPUX_FALSE = @PA_HPUX_FALSE@
|
|
|
|
PA_HPUX_TRUE = @PA_HPUX_TRUE@
|
|
|
|
PA_LINUX_FALSE = @PA_LINUX_FALSE@
|
|
|
|
PA_LINUX_TRUE = @PA_LINUX_TRUE@
|
2004-03-11 20:59:49 +01:00
|
|
|
POWERPC_AIX_FALSE = @POWERPC_AIX_FALSE@
|
|
|
|
POWERPC_AIX_TRUE = @POWERPC_AIX_TRUE@
|
|
|
|
POWERPC_DARWIN_FALSE = @POWERPC_DARWIN_FALSE@
|
|
|
|
POWERPC_DARWIN_TRUE = @POWERPC_DARWIN_TRUE@
|
|
|
|
POWERPC_FALSE = @POWERPC_FALSE@
|
2005-07-19 23:15:36 +02:00
|
|
|
POWERPC_FREEBSD_FALSE = @POWERPC_FREEBSD_FALSE@
|
|
|
|
POWERPC_FREEBSD_TRUE = @POWERPC_FREEBSD_TRUE@
|
2004-03-11 20:59:49 +01:00
|
|
|
POWERPC_TRUE = @POWERPC_TRUE@
|
1999-08-08 15:27:18 +02:00
|
|
|
RANLIB = @RANLIB@
|
2004-03-11 20:59:49 +01:00
|
|
|
S390_FALSE = @S390_FALSE@
|
|
|
|
S390_TRUE = @S390_TRUE@
|
|
|
|
SET_MAKE = @SET_MAKE@
|
|
|
|
SH64_FALSE = @SH64_FALSE@
|
|
|
|
SH64_TRUE = @SH64_TRUE@
|
1999-08-08 15:27:18 +02:00
|
|
|
SHELL = @SHELL@
|
2004-03-11 20:59:49 +01:00
|
|
|
SH_FALSE = @SH_FALSE@
|
|
|
|
SH_TRUE = @SH_TRUE@
|
|
|
|
SPARC_FALSE = @SPARC_FALSE@
|
|
|
|
SPARC_TRUE = @SPARC_TRUE@
|
2001-03-27 00:52:36 +02:00
|
|
|
STRIP = @STRIP@
|
1999-08-08 15:27:18 +02:00
|
|
|
TARGET = @TARGET@
|
|
|
|
TARGETDIR = @TARGETDIR@
|
2004-03-11 20:59:49 +01:00
|
|
|
TESTSUBDIR_FALSE = @TESTSUBDIR_FALSE@
|
|
|
|
TESTSUBDIR_TRUE = @TESTSUBDIR_TRUE@
|
1999-08-08 15:27:18 +02:00
|
|
|
VERSION = @VERSION@
|
2004-03-11 20:59:49 +01:00
|
|
|
X86_64_FALSE = @X86_64_FALSE@
|
|
|
|
X86_64_TRUE = @X86_64_TRUE@
|
2006-10-10 16:21:05 +02:00
|
|
|
X86_DARWIN_FALSE = @X86_DARWIN_FALSE@
|
|
|
|
X86_DARWIN_TRUE = @X86_DARWIN_TRUE@
|
2004-03-11 20:59:49 +01:00
|
|
|
X86_FALSE = @X86_FALSE@
|
|
|
|
X86_TRUE = @X86_TRUE@
|
|
|
|
X86_WIN32_FALSE = @X86_WIN32_FALSE@
|
|
|
|
X86_WIN32_TRUE = @X86_WIN32_TRUE@
|
|
|
|
ac_ct_CC = @ac_ct_CC@
|
2006-12-14 08:34:45 +01:00
|
|
|
ac_ct_RANLIB = @ac_ct_RANLIB@
|
|
|
|
ac_ct_STRIP = @ac_ct_STRIP@
|
2004-03-11 20:59:49 +01:00
|
|
|
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
|
|
|
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
|
|
|
am__include = @am__include@
|
|
|
|
am__leading_dot = @am__leading_dot@
|
|
|
|
am__quote = @am__quote@
|
2004-11-23 05:11:31 +01:00
|
|
|
am__tar = @am__tar@
|
|
|
|
am__untar = @am__untar@
|
2004-03-11 20:59:49 +01:00
|
|
|
bindir = @bindir@
|
|
|
|
build = @build@
|
|
|
|
build_alias = @build_alias@
|
|
|
|
build_cpu = @build_cpu@
|
|
|
|
build_os = @build_os@
|
|
|
|
build_vendor = @build_vendor@
|
|
|
|
datadir = @datadir@
|
|
|
|
exec_prefix = @exec_prefix@
|
|
|
|
host = @host@
|
|
|
|
host_alias = @host_alias@
|
|
|
|
host_cpu = @host_cpu@
|
|
|
|
host_os = @host_os@
|
|
|
|
host_vendor = @host_vendor@
|
|
|
|
includedir = @includedir@
|
|
|
|
infodir = @infodir@
|
|
|
|
install_sh = @install_sh@
|
|
|
|
libdir = @libdir@
|
|
|
|
libexecdir = @libexecdir@
|
|
|
|
localstatedir = @localstatedir@
|
|
|
|
mandir = @mandir@
|
2004-06-15 16:47:55 +02:00
|
|
|
mkdir_p = @mkdir_p@
|
2004-03-11 20:59:49 +01:00
|
|
|
multi_basedir = @multi_basedir@
|
|
|
|
oldincludedir = @oldincludedir@
|
|
|
|
prefix = @prefix@
|
|
|
|
program_transform_name = @program_transform_name@
|
|
|
|
sbindir = @sbindir@
|
|
|
|
sharedstatedir = @sharedstatedir@
|
|
|
|
sysconfdir = @sysconfdir@
|
|
|
|
target = @target@
|
|
|
|
target_alias = @target_alias@
|
|
|
|
target_cpu = @target_cpu@
|
|
|
|
target_os = @target_os@
|
|
|
|
target_vendor = @target_vendor@
|
2003-01-28 23:58:58 +01:00
|
|
|
toolexecdir = @toolexecdir@
|
|
|
|
toolexeclibdir = @toolexeclibdir@
|
2004-11-23 05:11:31 +01:00
|
|
|
AUTOMAKE_OPTIONS = foreign subdir-objects
|
2007-01-17 20:48:52 +01:00
|
|
|
ACLOCAL_AMFLAGS = -I .. -I ../config
|
2003-09-04 16:47:05 +02:00
|
|
|
SUBDIRS = include testsuite
|
[multiple changes]
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
|
|
|
EXTRA_DIST = LICENSE ChangeLog.v1 \
|
|
|
|
src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
|
|
|
|
src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
|
2005-04-18 19:08:58 +02:00
|
|
|
src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
|
[multiple changes]
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
|
|
|
src/mips/ffi.c src/mips/n32.S src/mips/o32.S \
|
|
|
|
src/mips/ffitarget.h \
|
2004-10-13 19:20:24 +02:00
|
|
|
src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \
|
[multiple changes]
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
|
|
|
src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \
|
|
|
|
src/powerpc/ffi.c src/powerpc/sysv.S \
|
|
|
|
src/powerpc/linux64.S src/powerpc/linux64_closure.S \
|
|
|
|
src/powerpc/ppc_closure.S src/powerpc/asm.h \
|
|
|
|
src/powerpc/aix.S src/powerpc/darwin.S \
|
|
|
|
src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \
|
|
|
|
src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \
|
|
|
|
src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \
|
|
|
|
src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \
|
|
|
|
src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
|
|
|
|
src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
|
|
|
|
src/sparc/ffi.c \
|
2006-10-10 16:21:05 +02:00
|
|
|
src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
|
2004-03-19 23:34:17 +01:00
|
|
|
src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
|
2006-04-05 23:26:34 +02:00
|
|
|
src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
|
|
|
|
src/frv/eabi.S src/frv/ffitarget.h
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
|
2000-05-01 23:35:35 +02:00
|
|
|
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
|
|
|
# values defined in terms of make variables, as is the case for CC and
|
|
|
|
# friends when we are called from the top level Makefile.
|
|
|
|
AM_MAKEFLAGS = \
|
|
|
|
"AR_FLAGS=$(AR_FLAGS)" \
|
|
|
|
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
|
|
|
"CFLAGS=$(CFLAGS)" \
|
|
|
|
"CXXFLAGS=$(CXXFLAGS)" \
|
|
|
|
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
|
|
|
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
|
|
|
"INSTALL=$(INSTALL)" \
|
|
|
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
|
|
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
|
|
|
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
|
|
|
"JC1FLAGS=$(JC1FLAGS)" \
|
|
|
|
"LDFLAGS=$(LDFLAGS)" \
|
|
|
|
"LIBCFLAGS=$(LIBCFLAGS)" \
|
|
|
|
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
|
|
|
"MAKE=$(MAKE)" \
|
|
|
|
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
|
|
|
"PICFLAG=$(PICFLAG)" \
|
|
|
|
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
2003-09-04 16:47:05 +02:00
|
|
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
2000-05-01 23:35:35 +02:00
|
|
|
"SHELL=$(SHELL)" \
|
|
|
|
"exec_prefix=$(exec_prefix)" \
|
|
|
|
"infodir=$(infodir)" \
|
|
|
|
"libdir=$(libdir)" \
|
|
|
|
"prefix=$(prefix)" \
|
|
|
|
"AR=$(AR)" \
|
|
|
|
"AS=$(AS)" \
|
|
|
|
"CC=$(CC)" \
|
|
|
|
"CXX=$(CXX)" \
|
|
|
|
"LD=$(LD)" \
|
|
|
|
"NM=$(NM)" \
|
|
|
|
"RANLIB=$(RANLIB)" \
|
|
|
|
"DESTDIR=$(DESTDIR)"
|
|
|
|
|
|
|
|
MAKEOVERRIDES =
|
1999-08-08 15:27:18 +02:00
|
|
|
toolexeclib_LTLIBRARIES = libffi.la
|
2002-03-17 01:35:21 +01:00
|
|
|
noinst_LTLIBRARIES = libffi_convenience.la
|
2004-03-11 20:59:49 +01:00
|
|
|
libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c \
|
ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise. Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable. Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument. Use ffi_closure_alloc and the
separate code pointer. Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.
From-SVN: r122652
2007-03-07 08:27:25 +01:00
|
|
|
src/raw_api.c src/java_raw_api.c src/closures.c
|
2000-05-01 23:35:35 +02:00
|
|
|
|
2004-11-23 05:11:31 +01:00
|
|
|
nodist_libffi_la_SOURCES = $(am__append_1) $(am__append_2) \
|
|
|
|
$(am__append_3) $(am__append_4) $(am__append_5) \
|
|
|
|
$(am__append_6) $(am__append_7) $(am__append_8) \
|
|
|
|
$(am__append_9) $(am__append_10) $(am__append_11) \
|
|
|
|
$(am__append_12) $(am__append_13) $(am__append_14) \
|
|
|
|
$(am__append_15) $(am__append_16) $(am__append_17) \
|
2005-07-19 23:15:36 +02:00
|
|
|
$(am__append_18) $(am__append_19) $(am__append_20) \
|
2006-10-10 16:21:05 +02:00
|
|
|
$(am__append_21) $(am__append_22) $(am__append_23)
|
2004-03-11 20:59:49 +01:00
|
|
|
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
|
|
|
|
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
|
2003-09-04 16:47:05 +02:00
|
|
|
AM_CFLAGS = -Wall -g -fexceptions
|
2004-06-17 23:32:58 +02:00
|
|
|
libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
|
2004-08-30 17:43:03 +02:00
|
|
|
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
|
|
|
|
AM_CCASFLAGS = $(AM_CPPFLAGS)
|
2004-03-11 20:59:49 +01:00
|
|
|
all: fficonfig.h
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
.SUFFIXES:
|
2004-03-11 20:59:49 +01:00
|
|
|
.SUFFIXES: .S .c .lo .o .obj
|
2004-06-15 16:47:55 +02:00
|
|
|
am--refresh:
|
|
|
|
@:
|
|
|
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
|
|
|
@for dep in $?; do \
|
|
|
|
case '$(am__configure_deps)' in \
|
|
|
|
*$$dep*) \
|
|
|
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
|
|
|
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
|
|
|
&& exit 0; \
|
|
|
|
exit 1;; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
|
|
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
2004-03-11 20:59:49 +01:00
|
|
|
cd $(top_srcdir) && \
|
|
|
|
$(AUTOMAKE) --foreign Makefile
|
2004-06-15 16:47:55 +02:00
|
|
|
.PRECIOUS: Makefile
|
|
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
|
|
@case '$?' in \
|
|
|
|
*config.status*) \
|
|
|
|
echo ' $(SHELL) ./config.status'; \
|
|
|
|
$(SHELL) ./config.status;; \
|
|
|
|
*) \
|
|
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
|
|
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
|
|
|
esac;
|
|
|
|
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
1999-08-08 15:27:18 +02:00
|
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
|
2004-06-15 16:47:55 +02:00
|
|
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
|
|
|
cd $(srcdir) && $(AUTOCONF)
|
|
|
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
2004-03-11 20:59:49 +01:00
|
|
|
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
|
|
|
|
|
|
|
fficonfig.h: stamp-h1
|
1999-08-08 15:27:18 +02:00
|
|
|
@if test ! -f $@; then \
|
2004-03-11 20:59:49 +01:00
|
|
|
rm -f stamp-h1; \
|
|
|
|
$(MAKE) stamp-h1; \
|
1999-08-08 15:27:18 +02:00
|
|
|
else :; fi
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
stamp-h1: $(srcdir)/fficonfig.h.in $(top_builddir)/config.status
|
|
|
|
@rm -f stamp-h1
|
|
|
|
cd $(top_builddir) && $(SHELL) ./config.status fficonfig.h
|
2004-06-15 16:47:55 +02:00
|
|
|
$(srcdir)/fficonfig.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
2004-03-11 20:59:49 +01:00
|
|
|
cd $(top_srcdir) && $(AUTOHEADER)
|
2004-06-15 16:47:55 +02:00
|
|
|
rm -f stamp-h1
|
|
|
|
touch $@
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
distclean-hdr:
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f fficonfig.h stamp-h1
|
2001-04-12 11:32:50 +02:00
|
|
|
|
|
|
|
clean-noinstLTLIBRARIES:
|
|
|
|
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
|
2004-03-11 20:59:49 +01:00
|
|
|
@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
|
|
|
|
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
2004-11-23 05:11:31 +01:00
|
|
|
test "$$dir" != "$$p" || dir=.; \
|
2004-03-11 20:59:49 +01:00
|
|
|
echo "rm -f \"$${dir}/so_locations\""; \
|
|
|
|
rm -f "$${dir}/so_locations"; \
|
|
|
|
done
|
1999-08-08 15:27:18 +02:00
|
|
|
install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
|
|
|
|
@$(NORMAL_INSTALL)
|
2004-06-15 16:47:55 +02:00
|
|
|
test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)"
|
1999-08-08 15:27:18 +02:00
|
|
|
@list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
|
|
|
|
if test -f $$p; then \
|
2004-11-23 05:11:31 +01:00
|
|
|
f=$(am__strip_dir) \
|
2004-06-15 16:47:55 +02:00
|
|
|
echo " $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
|
|
|
|
$(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \
|
1999-08-08 15:27:18 +02:00
|
|
|
else :; fi; \
|
|
|
|
done
|
|
|
|
|
|
|
|
uninstall-toolexeclibLTLIBRARIES:
|
|
|
|
@$(NORMAL_UNINSTALL)
|
2004-11-23 05:11:31 +01:00
|
|
|
@set -x; list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
|
|
|
|
p=$(am__strip_dir) \
|
2004-06-15 16:47:55 +02:00
|
|
|
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$p'"; \
|
|
|
|
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$p"; \
|
1999-08-08 15:27:18 +02:00
|
|
|
done
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
clean-toolexeclibLTLIBRARIES:
|
|
|
|
-test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
|
|
|
|
@list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
|
|
|
|
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
2004-11-23 05:11:31 +01:00
|
|
|
test "$$dir" != "$$p" || dir=.; \
|
2004-03-11 20:59:49 +01:00
|
|
|
echo "rm -f \"$${dir}/so_locations\""; \
|
|
|
|
rm -f "$${dir}/so_locations"; \
|
|
|
|
done
|
|
|
|
src/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/$(DEPDIR)
|
|
|
|
@: > src/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/debug.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/prep_cif.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/types.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/java_raw_api.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
|
ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise. Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable. Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument. Use ffi_closure_alloc and the
separate code pointer. Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.
From-SVN: r122652
2007-03-07 08:27:25 +01:00
|
|
|
src/closures.lo: src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/mips/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/mips
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/mips/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/mips/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/mips/$(DEPDIR)
|
|
|
|
@: > src/mips/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/mips/ffi.lo: src/mips/$(am__dirstamp) \
|
|
|
|
src/mips/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/mips/o32.lo: src/mips/$(am__dirstamp) \
|
|
|
|
src/mips/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/mips/n32.lo: src/mips/$(am__dirstamp) \
|
|
|
|
src/mips/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/x86/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/x86
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/x86/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/x86/$(DEPDIR)
|
|
|
|
@: > src/x86/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/x86/ffi.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/x86/sysv.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/x86/win32.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
2006-10-10 16:21:05 +02:00
|
|
|
src/x86/darwin.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
2006-12-14 08:34:45 +01:00
|
|
|
src/x86/ffi64.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/x86/darwin64.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/sparc/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/sparc
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/sparc/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/sparc/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/sparc/$(DEPDIR)
|
|
|
|
@: > src/sparc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sparc/ffi.lo: src/sparc/$(am__dirstamp) \
|
|
|
|
src/sparc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sparc/v8.lo: src/sparc/$(am__dirstamp) \
|
|
|
|
src/sparc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sparc/v9.lo: src/sparc/$(am__dirstamp) \
|
|
|
|
src/sparc/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/alpha/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/alpha
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/alpha/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/alpha/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/alpha/$(DEPDIR)
|
|
|
|
@: > src/alpha/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/alpha/ffi.lo: src/alpha/$(am__dirstamp) \
|
|
|
|
src/alpha/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/alpha/osf.lo: src/alpha/$(am__dirstamp) \
|
|
|
|
src/alpha/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/ia64/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/ia64
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/ia64/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/ia64/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/ia64/$(DEPDIR)
|
|
|
|
@: > src/ia64/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/ia64/ffi.lo: src/ia64/$(am__dirstamp) \
|
|
|
|
src/ia64/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/ia64/unix.lo: src/ia64/$(am__dirstamp) \
|
|
|
|
src/ia64/$(DEPDIR)/$(am__dirstamp)
|
2004-10-13 19:20:24 +02:00
|
|
|
src/m32r/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/m32r
|
|
|
|
@: > src/m32r/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/m32r/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/m32r/$(DEPDIR)
|
|
|
|
@: > src/m32r/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/m32r/sysv.lo: src/m32r/$(am__dirstamp) \
|
|
|
|
src/m32r/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/m32r/ffi.lo: src/m32r/$(am__dirstamp) \
|
|
|
|
src/m32r/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/m68k/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/m68k
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/m68k/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/m68k/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/m68k/$(DEPDIR)
|
|
|
|
@: > src/m68k/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/m68k/ffi.lo: src/m68k/$(am__dirstamp) \
|
|
|
|
src/m68k/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/m68k/sysv.lo: src/m68k/$(am__dirstamp) \
|
|
|
|
src/m68k/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/powerpc/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/powerpc
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/powerpc/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/powerpc/$(DEPDIR)
|
|
|
|
@: > src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/ffi.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/sysv.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/ppc_closure.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/linux64.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/linux64_closure.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/aix.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/aix_closure.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/darwin.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/powerpc/darwin_closure.lo: src/powerpc/$(am__dirstamp) \
|
|
|
|
src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/arm/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/arm
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/arm/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/arm/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/arm/$(DEPDIR)
|
|
|
|
@: > src/arm/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/arm/sysv.lo: src/arm/$(am__dirstamp) \
|
|
|
|
src/arm/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/arm/ffi.lo: src/arm/$(am__dirstamp) \
|
|
|
|
src/arm/$(DEPDIR)/$(am__dirstamp)
|
2005-04-18 19:08:58 +02:00
|
|
|
src/cris/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/cris
|
|
|
|
@: > src/cris/$(am__dirstamp)
|
|
|
|
src/cris/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/cris/$(DEPDIR)
|
|
|
|
@: > src/cris/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/cris/sysv.lo: src/cris/$(am__dirstamp) \
|
|
|
|
src/cris/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/cris/ffi.lo: src/cris/$(am__dirstamp) \
|
|
|
|
src/cris/$(DEPDIR)/$(am__dirstamp)
|
2004-08-30 17:43:03 +02:00
|
|
|
src/frv/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/frv
|
|
|
|
@: > src/frv/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/frv/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/frv/$(DEPDIR)
|
|
|
|
@: > src/frv/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/frv/eabi.lo: src/frv/$(am__dirstamp) \
|
|
|
|
src/frv/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/frv/ffi.lo: src/frv/$(am__dirstamp) \
|
|
|
|
src/frv/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/s390/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/s390
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/s390/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/s390/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/s390/$(DEPDIR)
|
|
|
|
@: > src/s390/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/s390/sysv.lo: src/s390/$(am__dirstamp) \
|
|
|
|
src/s390/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/s390/ffi.lo: src/s390/$(am__dirstamp) \
|
|
|
|
src/s390/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/x86/unix64.lo: src/x86/$(am__dirstamp) \
|
|
|
|
src/x86/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/sh/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/sh
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/sh/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/sh/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/sh/$(DEPDIR)
|
|
|
|
@: > src/sh/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sh/sysv.lo: src/sh/$(am__dirstamp) \
|
|
|
|
src/sh/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sh/ffi.lo: src/sh/$(am__dirstamp) src/sh/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
src/sh64/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/sh64
|
2004-03-11 20:59:49 +01:00
|
|
|
@: > src/sh64/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/sh64/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/sh64/$(DEPDIR)
|
|
|
|
@: > src/sh64/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sh64/sysv.lo: src/sh64/$(am__dirstamp) \
|
|
|
|
src/sh64/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/sh64/ffi.lo: src/sh64/$(am__dirstamp) \
|
|
|
|
src/sh64/$(DEPDIR)/$(am__dirstamp)
|
2004-03-19 23:34:17 +01:00
|
|
|
src/pa/$(am__dirstamp):
|
2004-06-15 16:47:55 +02:00
|
|
|
@$(mkdir_p) src/pa
|
2004-03-19 23:34:17 +01:00
|
|
|
@: > src/pa/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
src/pa/$(DEPDIR)/$(am__dirstamp):
|
|
|
|
@$(mkdir_p) src/pa/$(DEPDIR)
|
|
|
|
@: > src/pa/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/pa/linux.lo: src/pa/$(am__dirstamp) \
|
|
|
|
src/pa/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
src/pa/ffi.lo: src/pa/$(am__dirstamp) src/pa/$(DEPDIR)/$(am__dirstamp)
|
2006-04-05 23:26:34 +02:00
|
|
|
src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
|
|
|
|
src/pa/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
libffi.la: $(libffi_la_OBJECTS) $(libffi_la_DEPENDENCIES)
|
|
|
|
$(LINK) -rpath $(toolexeclibdir) $(libffi_la_LDFLAGS) $(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(LIBS)
|
|
|
|
libffi_convenience.la: $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_DEPENDENCIES)
|
|
|
|
$(LINK) $(libffi_convenience_la_LDFLAGS) $(libffi_convenience_la_OBJECTS) $(libffi_convenience_la_LIBADD) $(LIBS)
|
2001-03-27 00:52:36 +02:00
|
|
|
|
1999-08-08 15:27:18 +02:00
|
|
|
mostlyclean-compile:
|
2004-06-15 16:47:55 +02:00
|
|
|
-rm -f *.$(OBJEXT)
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/alpha/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/alpha/ffi.lo
|
|
|
|
-rm -f src/alpha/osf.$(OBJEXT)
|
|
|
|
-rm -f src/alpha/osf.lo
|
|
|
|
-rm -f src/arm/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/arm/ffi.lo
|
|
|
|
-rm -f src/arm/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/arm/sysv.lo
|
ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise. Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable. Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument. Use ffi_closure_alloc and the
separate code pointer. Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.
From-SVN: r122652
2007-03-07 08:27:25 +01:00
|
|
|
-rm -f src/closures.$(OBJEXT)
|
|
|
|
-rm -f src/closures.lo
|
2005-04-18 19:08:58 +02:00
|
|
|
-rm -f src/cris/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/cris/ffi.lo
|
|
|
|
-rm -f src/cris/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/cris/sysv.lo
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/debug.$(OBJEXT)
|
|
|
|
-rm -f src/debug.lo
|
2004-08-30 17:43:03 +02:00
|
|
|
-rm -f src/frv/eabi.$(OBJEXT)
|
|
|
|
-rm -f src/frv/eabi.lo
|
|
|
|
-rm -f src/frv/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/frv/ffi.lo
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/ia64/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/ia64/ffi.lo
|
|
|
|
-rm -f src/ia64/unix.$(OBJEXT)
|
|
|
|
-rm -f src/ia64/unix.lo
|
|
|
|
-rm -f src/java_raw_api.$(OBJEXT)
|
|
|
|
-rm -f src/java_raw_api.lo
|
2004-10-13 19:20:24 +02:00
|
|
|
-rm -f src/m32r/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/m32r/ffi.lo
|
|
|
|
-rm -f src/m32r/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/m32r/sysv.lo
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/m68k/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/m68k/ffi.lo
|
|
|
|
-rm -f src/m68k/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/m68k/sysv.lo
|
|
|
|
-rm -f src/mips/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/mips/ffi.lo
|
|
|
|
-rm -f src/mips/n32.$(OBJEXT)
|
|
|
|
-rm -f src/mips/n32.lo
|
|
|
|
-rm -f src/mips/o32.$(OBJEXT)
|
|
|
|
-rm -f src/mips/o32.lo
|
2004-03-19 23:34:17 +01:00
|
|
|
-rm -f src/pa/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/pa/ffi.lo
|
2006-04-05 23:26:34 +02:00
|
|
|
-rm -f src/pa/hpux32.$(OBJEXT)
|
|
|
|
-rm -f src/pa/hpux32.lo
|
2004-03-19 23:34:17 +01:00
|
|
|
-rm -f src/pa/linux.$(OBJEXT)
|
|
|
|
-rm -f src/pa/linux.lo
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/powerpc/aix.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/aix.lo
|
|
|
|
-rm -f src/powerpc/aix_closure.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/aix_closure.lo
|
|
|
|
-rm -f src/powerpc/darwin.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/darwin.lo
|
|
|
|
-rm -f src/powerpc/darwin_closure.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/darwin_closure.lo
|
|
|
|
-rm -f src/powerpc/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/ffi.lo
|
|
|
|
-rm -f src/powerpc/ffi_darwin.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/ffi_darwin.lo
|
|
|
|
-rm -f src/powerpc/linux64.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/linux64.lo
|
|
|
|
-rm -f src/powerpc/linux64_closure.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/linux64_closure.lo
|
|
|
|
-rm -f src/powerpc/ppc_closure.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/ppc_closure.lo
|
|
|
|
-rm -f src/powerpc/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/powerpc/sysv.lo
|
|
|
|
-rm -f src/prep_cif.$(OBJEXT)
|
|
|
|
-rm -f src/prep_cif.lo
|
|
|
|
-rm -f src/raw_api.$(OBJEXT)
|
|
|
|
-rm -f src/raw_api.lo
|
|
|
|
-rm -f src/s390/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/s390/ffi.lo
|
|
|
|
-rm -f src/s390/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/s390/sysv.lo
|
|
|
|
-rm -f src/sh/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/sh/ffi.lo
|
|
|
|
-rm -f src/sh/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/sh/sysv.lo
|
|
|
|
-rm -f src/sh64/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/sh64/ffi.lo
|
|
|
|
-rm -f src/sh64/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/sh64/sysv.lo
|
|
|
|
-rm -f src/sparc/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/sparc/ffi.lo
|
|
|
|
-rm -f src/sparc/v8.$(OBJEXT)
|
|
|
|
-rm -f src/sparc/v8.lo
|
|
|
|
-rm -f src/sparc/v9.$(OBJEXT)
|
|
|
|
-rm -f src/sparc/v9.lo
|
|
|
|
-rm -f src/types.$(OBJEXT)
|
|
|
|
-rm -f src/types.lo
|
2006-10-10 16:21:05 +02:00
|
|
|
-rm -f src/x86/darwin.$(OBJEXT)
|
|
|
|
-rm -f src/x86/darwin.lo
|
2006-12-14 08:34:45 +01:00
|
|
|
-rm -f src/x86/darwin64.$(OBJEXT)
|
|
|
|
-rm -f src/x86/darwin64.lo
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/x86/ffi.$(OBJEXT)
|
|
|
|
-rm -f src/x86/ffi.lo
|
|
|
|
-rm -f src/x86/ffi64.$(OBJEXT)
|
|
|
|
-rm -f src/x86/ffi64.lo
|
|
|
|
-rm -f src/x86/sysv.$(OBJEXT)
|
|
|
|
-rm -f src/x86/sysv.lo
|
|
|
|
-rm -f src/x86/unix64.$(OBJEXT)
|
|
|
|
-rm -f src/x86/unix64.lo
|
|
|
|
-rm -f src/x86/win32.$(OBJEXT)
|
|
|
|
-rm -f src/x86/win32.lo
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
distclean-compile:
|
|
|
|
-rm -f *.tab.c
|
|
|
|
|
ffi.h.in (ffi_closure_alloc, [...]): New.
libffi/ChangeLog:
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
(ffi_prep_closure_loc): New.
(ffi_prep_raw_closure_loc): New.
(ffi_prep_java_raw_closure_loc): New.
* src/closures.c: New file.
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
Replace sflags with exec_offset.
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
sub_segment_exec_offset): New macros.
(get_segment_flags, set_segment_flags, check_segment_merge): New
macros.
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
destroy_mspace): Use new macros.
(sys_alloc): Silence warning.
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
* Makefile.in: Rebuilt.
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
terms of ffi_prep_closure_loc.
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
from...
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
renamed version.
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
adjusted from...
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
the renamed version.
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
* src/pa/ffi.c: Likewise.
* src/cris/ffi.c: Likewise. Adjust.
* src/frv/ffi.c: Likewise.
* src/ia64/ffi.c: Likewise.
* src/mips/ffi.c: Likewise.
* src/powerpc/ffi_darwin.c: Likewise.
* src/s390/ffi.c: Likewise.
* src/sh/ffi.c: Likewise.
* src/sh64/ffi.c: Likewise.
* src/sparc/ffi.c: Likewise.
* src/x86/ffi64.c: Likewise.
* src/x86/ffi.c: Likewise.
(FFI_INIT_TRAMPOLINE): Adjust.
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
(ffi_prep_raw_closure): ... this.
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
(ffi_prep_closure): ... this.
(flush_icache): Adjust.
boehm-gc/ChangeLog:
* include/gc.h (GC_REGISTER_FINALIZER_UNREACHABLE): New.
(GC_register_finalizer_unreachable): Declare.
(GC_debug_register_finalizer_unreachable): Declare.
* finalize.c (GC_unreachable_finalize_mark_proc): New.
(GC_register_finalizer_unreachable): New.
(GC_finalize): Handle it.
* dbg_mlc.c (GC_debug_register_finalizer_unreachable): New.
(GC_debug_register_finalizer_no_order): Fix whitespace.
libjava/ChangeLog:
* include/jvm.h (_Jv_ClosureListFinalizer): New.
(_Jv_Linker::create_error_method): Adjust.
* boehm.cc (_Jv_ClosureListFinalizer): New.
* nogc.cc (_Jv_ClosureListFinalizer): New.
* java/lang/Class.h (class _Jv_ClosureList): New.
(class java::lang::Class): Declare it as friend.
* java/lang/natClass.cc (_Jv_ClosureList::releaseClosures): New.
(_Jv_ClosureList::registerClousure): New.
* include/execution.h (_Jv_ExecutionEngine): Add get_closure_list.
(_Jv_CompiledEngine::do_get_closure_list): New.
(_Jv_CompiledEngine::_Jv_CompiledEngine): Use it.
(_Jv_IndirectCompiledClass): Add closures.
(_Jv_IndirectCompiledEngine::get_aux_info): New.
(_Jv_IndirectCompiledEngine::do_allocate_field_initializers): Use
it.
(_Jv_IndirectCompiledEngine::do_get_closure_list): New.
(_Jv_IndirectCompiledEngine::_Jv_IndirectCompiledEngine): Use it.
(_Jv_InterpreterEngine::do_get_closure_list): Declare.
(_Jv_InterpreterEngine::_Jv_InterpreterEngine): Use it.
* interpret.cc (FFI_PREP_RAW_CLOSURE): Use _loc variants.
(node_closure): Add closure list.
(_Jv_InterpMethod::ncode): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_JNIMethod::ncode): Likewise.
(_Jv_InterpreterEngine::do_create_ncode): Pass klass to ncode.
(_Jv_InterpreterEngine::do_get_closure_list): New.
* include/java-interp.h (_Jv_InterpMethod::ncode): Adjust.
(_Jv_InterpClass): Add closures field.
(_Jv_JNIMethod::ncode): Adjust.
* defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Adjust.
(_Jv_ClassReader::handleMethodsEnd): Likewise.
* link.cc (struct method_closure): Add closure list.
(_Jv_Linker::create_error_method): Add jclass argument. Use
ffi_closure_alloc and the separate code pointer. Register the
closure for finalization.
(_Jv_Linker::link_symbol_table): Remove outdated comment about
sharing of otable and atable. Adjust.
* java/lang/reflect/natVMProxy.cc (ncode_closure): Add closure
list.
(ncode): Add jclass argument. Use ffi_closure_alloc and the
separate code pointer. Register the closure for finalization.
(java::lang::reflect::VMProxy::generateProxyClass): Adjust.
* testsuite/libjava.jar/TestClosureGC.java: New.
* testsuite/libjava.jar/TestClosureGC.out: New.
* testsuite/libjava.jar/TestClosureGC.xfail: New.
* testsuite/libjava.jar/TestClosureGC.jar: New.
From-SVN: r122652
2007-03-07 08:27:25 +01:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/closures.Plo@am__quote@
|
2004-11-23 05:11:31 +01:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/debug.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/java_raw_api.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/prep_cif.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/raw_api.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/types.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/alpha/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/arm/$(DEPDIR)/ffi.Plo@am__quote@
|
2005-04-18 19:08:58 +02:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/cris/$(DEPDIR)/ffi.Plo@am__quote@
|
2004-11-23 05:11:31 +01:00
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/frv/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/ia64/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m32r/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/m68k/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ffi_darwin.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/sh64/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/sparc/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
|
|
|
|
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
.S.o:
|
2004-06-15 16:47:55 +02:00
|
|
|
$(CCASCOMPILE) -c $<
|
2004-03-11 20:59:49 +01:00
|
|
|
|
|
|
|
.S.obj:
|
2004-06-15 16:47:55 +02:00
|
|
|
$(CCASCOMPILE) -c `$(CYGPATH_W) '$<'`
|
2004-03-11 20:59:49 +01:00
|
|
|
|
|
|
|
.S.lo:
|
2004-06-15 16:47:55 +02:00
|
|
|
$(LTCCASCOMPILE) -c -o $@ $<
|
2004-03-11 20:59:49 +01:00
|
|
|
|
|
|
|
.c.o:
|
2004-11-23 05:11:31 +01:00
|
|
|
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
|
|
|
|
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
|
|
|
|
@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ $<
|
2004-03-11 20:59:49 +01:00
|
|
|
|
|
|
|
.c.obj:
|
2004-11-23 05:11:31 +01:00
|
|
|
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
|
|
|
|
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
|
|
|
@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCC_FALSE@ $(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
2004-03-11 20:59:49 +01:00
|
|
|
|
|
|
|
.c.lo:
|
2004-11-23 05:11:31 +01:00
|
|
|
@am__fastdepCC_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
|
|
|
|
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
|
|
|
|
@am__fastdepCC_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
|
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
|
|
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
2004-03-19 23:34:17 +01:00
|
|
|
|
1999-08-08 15:27:18 +02:00
|
|
|
mostlyclean-libtool:
|
|
|
|
-rm -f *.lo
|
|
|
|
|
|
|
|
clean-libtool:
|
|
|
|
-rm -rf .libs _libs
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -rf src/.libs src/_libs
|
|
|
|
-rm -rf src/alpha/.libs src/alpha/_libs
|
|
|
|
-rm -rf src/arm/.libs src/arm/_libs
|
2005-04-18 19:08:58 +02:00
|
|
|
-rm -rf src/cris/.libs src/cris/_libs
|
2004-08-30 17:43:03 +02:00
|
|
|
-rm -rf src/frv/.libs src/frv/_libs
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -rf src/ia64/.libs src/ia64/_libs
|
2004-10-13 19:20:24 +02:00
|
|
|
-rm -rf src/m32r/.libs src/m32r/_libs
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -rf src/m68k/.libs src/m68k/_libs
|
|
|
|
-rm -rf src/mips/.libs src/mips/_libs
|
2004-03-19 23:34:17 +01:00
|
|
|
-rm -rf src/pa/.libs src/pa/_libs
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -rf src/powerpc/.libs src/powerpc/_libs
|
|
|
|
-rm -rf src/s390/.libs src/s390/_libs
|
|
|
|
-rm -rf src/sh/.libs src/sh/_libs
|
|
|
|
-rm -rf src/sh64/.libs src/sh64/_libs
|
|
|
|
-rm -rf src/sparc/.libs src/sparc/_libs
|
|
|
|
-rm -rf src/x86/.libs src/x86/_libs
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
distclean-libtool:
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f libtool
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2004-11-23 05:11:31 +01:00
|
|
|
# GNU Make needs to see an explicit $(MAKE) variable in the command it
|
|
|
|
# runs to enable its job server during parallel builds. Hence the
|
|
|
|
# comments below.
|
2004-03-11 20:59:49 +01:00
|
|
|
all-multi:
|
2004-11-23 05:11:31 +01:00
|
|
|
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
|
2004-03-11 20:59:49 +01:00
|
|
|
install-multi:
|
2004-11-23 05:11:31 +01:00
|
|
|
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
|
2001-04-12 11:32:50 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
mostlyclean-multi:
|
2004-11-23 05:11:31 +01:00
|
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
|
2004-03-11 20:59:49 +01:00
|
|
|
clean-multi:
|
2004-11-23 05:11:31 +01:00
|
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
|
2004-03-11 20:59:49 +01:00
|
|
|
distclean-multi:
|
2004-11-23 05:11:31 +01:00
|
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
|
2004-03-11 20:59:49 +01:00
|
|
|
maintainer-clean-multi:
|
2004-11-23 05:11:31 +01:00
|
|
|
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
|
2004-03-11 20:59:49 +01:00
|
|
|
uninstall-info-am:
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2000-05-01 23:35:35 +02:00
|
|
|
# This directory's subdirectories are mostly independent; you can cd
|
|
|
|
# into them and run `make' without going through this Makefile.
|
|
|
|
# To change the values of `make' variables: instead of editing Makefiles,
|
|
|
|
# (1) if the variable is set in `config.status', edit `config.status'
|
|
|
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
|
|
|
# (2) otherwise, pass the desired values on the `make' command line.
|
2004-03-11 20:59:49 +01:00
|
|
|
$(RECURSIVE_TARGETS):
|
2006-05-24 03:45:57 +02:00
|
|
|
@failcom='exit 1'; \
|
|
|
|
for f in x $$MAKEFLAGS; do \
|
|
|
|
case $$f in \
|
|
|
|
*=* | --[!k]*);; \
|
|
|
|
*k*) failcom='fail=yes';; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
2000-05-01 23:35:35 +02:00
|
|
|
dot_seen=no; \
|
|
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
|
|
echo "Making $$target in $$subdir"; \
|
|
|
|
if test "$$subdir" = "."; then \
|
|
|
|
dot_seen=yes; \
|
|
|
|
local_target="$$target-am"; \
|
|
|
|
else \
|
|
|
|
local_target="$$target"; \
|
|
|
|
fi; \
|
|
|
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
2006-05-24 03:45:57 +02:00
|
|
|
|| eval $$failcom; \
|
2000-05-01 23:35:35 +02:00
|
|
|
done; \
|
|
|
|
if test "$$dot_seen" = "no"; then \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
|
|
|
fi; test -z "$$fail"
|
|
|
|
|
|
|
|
mostlyclean-recursive clean-recursive distclean-recursive \
|
|
|
|
maintainer-clean-recursive:
|
2006-05-24 03:45:57 +02:00
|
|
|
@failcom='exit 1'; \
|
|
|
|
for f in x $$MAKEFLAGS; do \
|
|
|
|
case $$f in \
|
|
|
|
*=* | --[!k]*);; \
|
|
|
|
*k*) failcom='fail=yes';; \
|
|
|
|
esac; \
|
|
|
|
done; \
|
2000-05-01 23:35:35 +02:00
|
|
|
dot_seen=no; \
|
2004-03-11 20:59:49 +01:00
|
|
|
case "$@" in \
|
|
|
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
|
|
|
*) list='$(SUBDIRS)' ;; \
|
|
|
|
esac; \
|
|
|
|
rev=''; for subdir in $$list; do \
|
|
|
|
if test "$$subdir" = "."; then :; else \
|
|
|
|
rev="$$subdir $$rev"; \
|
|
|
|
fi; \
|
2000-05-01 23:35:35 +02:00
|
|
|
done; \
|
2004-03-11 20:59:49 +01:00
|
|
|
rev="$$rev ."; \
|
2000-05-01 23:35:35 +02:00
|
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
|
|
for subdir in $$rev; do \
|
|
|
|
echo "Making $$target in $$subdir"; \
|
|
|
|
if test "$$subdir" = "."; then \
|
|
|
|
local_target="$$target-am"; \
|
|
|
|
else \
|
|
|
|
local_target="$$target"; \
|
|
|
|
fi; \
|
|
|
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
2006-05-24 03:45:57 +02:00
|
|
|
|| eval $$failcom; \
|
2000-05-01 23:35:35 +02:00
|
|
|
done && test -z "$$fail"
|
|
|
|
tags-recursive:
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
|
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
|
|
|
done
|
2004-03-11 20:59:49 +01:00
|
|
|
ctags-recursive:
|
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
|
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
|
|
|
done
|
|
|
|
|
|
|
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
|
|
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
|
|
|
unique=`for i in $$list; do \
|
|
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
|
|
done | \
|
|
|
|
$(AWK) ' { files[$$0] = 1; } \
|
1999-08-08 15:27:18 +02:00
|
|
|
END { for (i in files) print i; }'`; \
|
2004-03-11 20:59:49 +01:00
|
|
|
mkid -fID $$unique
|
2004-06-15 16:47:55 +02:00
|
|
|
tags: TAGS
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
|
|
|
|
$(TAGS_FILES) $(LISP)
|
1999-08-08 15:27:18 +02:00
|
|
|
tags=; \
|
|
|
|
here=`pwd`; \
|
2004-11-23 05:11:31 +01:00
|
|
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
2004-03-11 20:59:49 +01:00
|
|
|
include_option=--etags-include; \
|
2004-11-23 05:11:31 +01:00
|
|
|
empty_fix=.; \
|
2004-03-11 20:59:49 +01:00
|
|
|
else \
|
|
|
|
include_option=--include; \
|
2004-11-23 05:11:31 +01:00
|
|
|
empty_fix=; \
|
2004-03-11 20:59:49 +01:00
|
|
|
fi; \
|
2000-05-01 23:35:35 +02:00
|
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
2004-03-11 20:59:49 +01:00
|
|
|
if test "$$subdir" = .; then :; else \
|
2004-11-23 05:11:31 +01:00
|
|
|
test ! -f $$subdir/TAGS || \
|
2004-03-11 20:59:49 +01:00
|
|
|
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
|
|
|
fi; \
|
2000-05-01 23:35:35 +02:00
|
|
|
done; \
|
2004-03-11 20:59:49 +01:00
|
|
|
list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
|
|
|
|
unique=`for i in $$list; do \
|
|
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
|
|
done | \
|
|
|
|
$(AWK) ' { files[$$0] = 1; } \
|
1999-08-08 15:27:18 +02:00
|
|
|
END { for (i in files) print i; }'`; \
|
2004-11-23 05:11:31 +01:00
|
|
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
|
|
|
test -n "$$unique" || unique=$$empty_fix; \
|
|
|
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
|
|
$$tags $$unique; \
|
|
|
|
fi
|
2004-03-11 20:59:49 +01:00
|
|
|
ctags: CTAGS
|
|
|
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) fficonfig.h.in $(TAGS_DEPENDENCIES) \
|
|
|
|
$(TAGS_FILES) $(LISP)
|
|
|
|
tags=; \
|
|
|
|
here=`pwd`; \
|
|
|
|
list='$(SOURCES) $(HEADERS) fficonfig.h.in $(LISP) $(TAGS_FILES)'; \
|
|
|
|
unique=`for i in $$list; do \
|
|
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
|
|
done | \
|
|
|
|
$(AWK) ' { files[$$0] = 1; } \
|
|
|
|
END { for (i in files) print i; }'`; \
|
|
|
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
|
|
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
|
|
$$tags $$unique
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
GTAGS:
|
|
|
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
|
|
|
&& cd $(top_srcdir) \
|
|
|
|
&& gtags -i $(GTAGS_ARGS) $$here
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
distclean-tags:
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
|
|
|
|
1999-08-08 15:27:18 +02:00
|
|
|
distdir: $(DISTFILES)
|
2004-03-11 20:59:49 +01:00
|
|
|
$(am__remove_distdir)
|
1999-08-08 15:27:18 +02:00
|
|
|
mkdir $(distdir)
|
2007-01-17 20:48:52 +01:00
|
|
|
$(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/include $(distdir)/src/alpha $(distdir)/src/arm $(distdir)/src/cris $(distdir)/src/frv $(distdir)/src/m32r $(distdir)/src/m68k $(distdir)/src/mips $(distdir)/src/pa $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh $(distdir)/src/sh64 $(distdir)/src/sparc $(distdir)/src/x86
|
2004-03-11 20:59:49 +01:00
|
|
|
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
|
|
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
|
|
|
list='$(DISTFILES)'; for file in $$list; do \
|
|
|
|
case $$file in \
|
|
|
|
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
|
|
|
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
|
|
|
esac; \
|
|
|
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
|
|
|
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
|
|
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
|
|
|
dir="/$$dir"; \
|
2004-06-15 16:47:55 +02:00
|
|
|
$(mkdir_p) "$(distdir)$$dir"; \
|
2004-03-11 20:59:49 +01:00
|
|
|
else \
|
|
|
|
dir=''; \
|
|
|
|
fi; \
|
1999-08-08 15:27:18 +02:00
|
|
|
if test -d $$d/$$file; then \
|
2004-03-11 20:59:49 +01:00
|
|
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
|
|
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
|
|
|
fi; \
|
|
|
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
1999-08-08 15:27:18 +02:00
|
|
|
else \
|
|
|
|
test -f $(distdir)/$$file \
|
2004-03-11 20:59:49 +01:00
|
|
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
|
|
|
|| exit 1; \
|
2000-05-01 23:35:35 +02:00
|
|
|
fi; \
|
|
|
|
done
|
2004-11-23 05:11:31 +01:00
|
|
|
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
2000-05-01 23:35:35 +02:00
|
|
|
if test "$$subdir" = .; then :; else \
|
2004-06-15 16:47:55 +02:00
|
|
|
test -d "$(distdir)/$$subdir" \
|
2004-11-23 05:11:31 +01:00
|
|
|
|| $(mkdir_p) "$(distdir)/$$subdir" \
|
2000-05-01 23:35:35 +02:00
|
|
|
|| exit 1; \
|
2004-11-23 05:11:31 +01:00
|
|
|
distdir=`$(am__cd) $(distdir) && pwd`; \
|
|
|
|
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
2004-03-11 20:59:49 +01:00
|
|
|
(cd $$subdir && \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) \
|
2004-11-23 05:11:31 +01:00
|
|
|
top_distdir="$$top_distdir" \
|
|
|
|
distdir="$$distdir/$$subdir" \
|
2004-03-11 20:59:49 +01:00
|
|
|
distdir) \
|
2000-05-01 23:35:35 +02:00
|
|
|
|| exit 1; \
|
1999-08-08 15:27:18 +02:00
|
|
|
fi; \
|
|
|
|
done
|
2004-03-11 20:59:49 +01:00
|
|
|
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
|
|
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
|
|
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
|
|
|
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
|
|
|
|| chmod -R a+r $(distdir)
|
|
|
|
dist-gzip: distdir
|
2004-11-23 05:11:31 +01:00
|
|
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
2004-03-11 20:59:49 +01:00
|
|
|
$(am__remove_distdir)
|
|
|
|
|
2004-06-15 16:47:55 +02:00
|
|
|
dist-bzip2: distdir
|
2004-11-23 05:11:31 +01:00
|
|
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
2004-06-15 16:47:55 +02:00
|
|
|
$(am__remove_distdir)
|
|
|
|
|
|
|
|
dist-tarZ: distdir
|
2004-11-23 05:11:31 +01:00
|
|
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
2004-06-15 16:47:55 +02:00
|
|
|
$(am__remove_distdir)
|
|
|
|
|
|
|
|
dist-shar: distdir
|
|
|
|
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
|
|
|
$(am__remove_distdir)
|
|
|
|
|
|
|
|
dist-zip: distdir
|
|
|
|
-rm -f $(distdir).zip
|
|
|
|
zip -rq $(distdir).zip $(distdir)
|
|
|
|
$(am__remove_distdir)
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
dist dist-all: distdir
|
2004-11-23 05:11:31 +01:00
|
|
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
2004-03-11 20:59:49 +01:00
|
|
|
$(am__remove_distdir)
|
|
|
|
|
|
|
|
# This target untars the dist file and tries a VPATH configuration. Then
|
|
|
|
# it guarantees that the distribution is self-contained by making another
|
|
|
|
# tarfile.
|
|
|
|
distcheck: dist
|
2004-06-15 16:47:55 +02:00
|
|
|
case '$(DIST_ARCHIVES)' in \
|
|
|
|
*.tar.gz*) \
|
2004-11-23 05:11:31 +01:00
|
|
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
2004-06-15 16:47:55 +02:00
|
|
|
*.tar.bz2*) \
|
2004-11-23 05:11:31 +01:00
|
|
|
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
2004-06-15 16:47:55 +02:00
|
|
|
*.tar.Z*) \
|
2004-11-23 05:11:31 +01:00
|
|
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
2004-06-15 16:47:55 +02:00
|
|
|
*.shar.gz*) \
|
2004-11-23 05:11:31 +01:00
|
|
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
2004-06-15 16:47:55 +02:00
|
|
|
*.zip*) \
|
|
|
|
unzip $(distdir).zip ;;\
|
|
|
|
esac
|
2004-03-11 20:59:49 +01:00
|
|
|
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
|
|
|
mkdir $(distdir)/_build
|
|
|
|
mkdir $(distdir)/_inst
|
|
|
|
chmod a-w $(distdir)
|
|
|
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
|
|
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
|
|
|
&& cd $(distdir)/_build \
|
|
|
|
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
|
|
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
|
|
|
distuninstallcheck \
|
|
|
|
&& chmod -R a-w "$$dc_install_base" \
|
|
|
|
&& ({ \
|
2004-06-15 16:47:55 +02:00
|
|
|
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
2004-03-11 20:59:49 +01:00
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
|
|
|
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
|
|
|
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
|
|
|
&& rm -rf "$$dc_destdir" \
|
2004-06-15 16:47:55 +02:00
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
|
|
|
&& rm -rf $(DIST_ARCHIVES) \
|
2004-03-11 20:59:49 +01:00
|
|
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
|
|
|
$(am__remove_distdir)
|
2004-06-15 16:47:55 +02:00
|
|
|
@(echo "$(distdir) archives ready for distribution: "; \
|
|
|
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
|
|
|
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
2004-03-11 20:59:49 +01:00
|
|
|
distuninstallcheck:
|
|
|
|
@cd $(distuninstallcheck_dir) \
|
|
|
|
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
|
|
|
|| { echo "ERROR: files left after uninstall:" ; \
|
|
|
|
if test -n "$(DESTDIR)"; then \
|
|
|
|
echo " (check DESTDIR support)"; \
|
|
|
|
fi ; \
|
|
|
|
$(distuninstallcheck_listfiles) ; \
|
|
|
|
exit 1; } >&2
|
|
|
|
distcleancheck: distclean
|
|
|
|
@if test '$(srcdir)' = . ; then \
|
|
|
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
|
|
|
exit 1 ; \
|
|
|
|
fi
|
|
|
|
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
|
|
|
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
|
|
|
$(distcleancheck_listfiles) ; \
|
|
|
|
exit 1; } >&2
|
|
|
|
check-am: all-am
|
2000-05-01 23:35:35 +02:00
|
|
|
check: check-recursive
|
2004-03-11 20:59:49 +01:00
|
|
|
all-am: Makefile $(LTLIBRARIES) all-multi fficonfig.h
|
|
|
|
installdirs: installdirs-recursive
|
|
|
|
installdirs-am:
|
2004-06-15 16:47:55 +02:00
|
|
|
for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
|
|
|
|
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
|
|
|
done
|
2004-03-11 20:59:49 +01:00
|
|
|
install: install-recursive
|
2000-05-01 23:35:35 +02:00
|
|
|
install-exec: install-exec-recursive
|
|
|
|
install-data: install-data-recursive
|
2004-03-11 20:59:49 +01:00
|
|
|
uninstall: uninstall-recursive
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
install-am: all-am
|
|
|
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
installcheck: installcheck-recursive
|
|
|
|
install-strip:
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
|
|
`test -z '$(STRIP)' || \
|
|
|
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
1999-08-08 15:27:18 +02:00
|
|
|
mostlyclean-generic:
|
|
|
|
|
|
|
|
clean-generic:
|
|
|
|
|
|
|
|
distclean-generic:
|
2004-11-23 05:11:31 +01:00
|
|
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
|
|
|
-rm -f src/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/$(am__dirstamp)
|
|
|
|
-rm -f src/alpha/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/alpha/$(am__dirstamp)
|
|
|
|
-rm -f src/arm/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/arm/$(am__dirstamp)
|
2005-04-18 19:08:58 +02:00
|
|
|
-rm -f src/cris/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/cris/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
-rm -f src/frv/$(DEPDIR)/$(am__dirstamp)
|
2004-08-30 17:43:03 +02:00
|
|
|
-rm -f src/frv/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
-rm -f src/ia64/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/ia64/$(am__dirstamp)
|
|
|
|
-rm -f src/m32r/$(DEPDIR)/$(am__dirstamp)
|
2004-10-13 19:20:24 +02:00
|
|
|
-rm -f src/m32r/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
-rm -f src/m68k/$(DEPDIR)/$(am__dirstamp)
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f src/m68k/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
-rm -f src/mips/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/mips/$(am__dirstamp)
|
|
|
|
-rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
|
2004-03-19 23:34:17 +01:00
|
|
|
-rm -f src/pa/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
-rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/powerpc/$(am__dirstamp)
|
|
|
|
-rm -f src/s390/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/s390/$(am__dirstamp)
|
|
|
|
-rm -f src/sh/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/sh/$(am__dirstamp)
|
|
|
|
-rm -f src/sh64/$(DEPDIR)/$(am__dirstamp)
|
2004-10-13 19:20:24 +02:00
|
|
|
-rm -f src/sh64/$(am__dirstamp)
|
2004-11-23 05:11:31 +01:00
|
|
|
-rm -f src/sparc/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/sparc/$(am__dirstamp)
|
|
|
|
-rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
|
|
|
|
-rm -f src/x86/$(am__dirstamp)
|
1999-08-08 15:27:18 +02:00
|
|
|
|
|
|
|
maintainer-clean-generic:
|
2004-03-11 20:59:49 +01:00
|
|
|
@echo "This command is intended for maintainers to use"
|
1999-08-08 15:27:18 +02:00
|
|
|
@echo "it deletes files that may require special tools to rebuild."
|
2004-03-11 20:59:49 +01:00
|
|
|
clean: clean-multi clean-recursive
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
|
|
|
|
clean-toolexeclibLTLIBRARIES mostlyclean-am
|
2001-03-27 00:52:36 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
distclean: distclean-multi distclean-recursive
|
|
|
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
2005-04-18 19:08:58 +02:00
|
|
|
-rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f Makefile
|
2004-06-15 16:47:55 +02:00
|
|
|
distclean-am: clean-am distclean-compile distclean-generic \
|
|
|
|
distclean-hdr distclean-libtool distclean-tags
|
2001-03-27 00:52:36 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
dvi: dvi-recursive
|
2001-03-27 00:52:36 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
dvi-am:
|
2000-05-01 23:35:35 +02:00
|
|
|
|
2004-06-15 16:47:55 +02:00
|
|
|
html: html-recursive
|
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
info: info-recursive
|
2001-03-27 00:52:36 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
info-am:
|
2000-05-01 23:35:35 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
install-data-am:
|
2000-05-01 23:35:35 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
install-exec-am: install-multi install-toolexeclibLTLIBRARIES
|
2000-05-01 23:35:35 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
install-info: install-info-recursive
|
1999-08-08 15:27:18 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
install-man:
|
[multiple changes]
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
|
|
|
|
2004-03-11 20:59:49 +01:00
|
|
|
installcheck-am:
|
|
|
|
|
|
|
|
maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
|
|
|
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
|
|
|
-rm -rf $(top_srcdir)/autom4te.cache
|
2005-04-18 19:08:58 +02:00
|
|
|
-rm -rf src/$(DEPDIR) src/alpha/$(DEPDIR) src/arm/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/mips/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/x86/$(DEPDIR)
|
2004-03-11 20:59:49 +01:00
|
|
|
-rm -f Makefile
|
|
|
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
|
|
|
|
|
|
|
mostlyclean: mostlyclean-multi mostlyclean-recursive
|
|
|
|
|
|
|
|
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
|
|
|
mostlyclean-libtool
|
|
|
|
|
|
|
|
pdf: pdf-recursive
|
|
|
|
|
|
|
|
pdf-am:
|
|
|
|
|
|
|
|
ps: ps-recursive
|
|
|
|
|
|
|
|
ps-am:
|
|
|
|
|
|
|
|
uninstall-am: uninstall-info-am uninstall-toolexeclibLTLIBRARIES
|
|
|
|
|
|
|
|
uninstall-info: uninstall-info-recursive
|
|
|
|
|
2004-06-15 16:47:55 +02:00
|
|
|
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-multi \
|
|
|
|
am--refresh check check-am clean clean-generic clean-libtool \
|
|
|
|
clean-multi clean-noinstLTLIBRARIES clean-recursive \
|
2004-03-11 20:59:49 +01:00
|
|
|
clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \
|
2004-06-15 16:47:55 +02:00
|
|
|
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
|
|
|
distcheck distclean distclean-compile distclean-generic \
|
|
|
|
distclean-hdr distclean-libtool distclean-multi \
|
|
|
|
distclean-recursive distclean-tags distcleancheck distdir \
|
|
|
|
distuninstallcheck dvi dvi-am html html-am info info-am \
|
|
|
|
install install-am install-data install-data-am install-exec \
|
|
|
|
install-exec-am install-info install-info-am install-man \
|
|
|
|
install-multi install-strip install-toolexeclibLTLIBRARIES \
|
|
|
|
installcheck installcheck-am installdirs installdirs-am \
|
2004-03-11 20:59:49 +01:00
|
|
|
maintainer-clean maintainer-clean-generic \
|
|
|
|
maintainer-clean-multi maintainer-clean-recursive mostlyclean \
|
|
|
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
2004-06-15 16:47:55 +02:00
|
|
|
mostlyclean-multi mostlyclean-recursive pdf pdf-am ps ps-am \
|
|
|
|
tags tags-recursive uninstall uninstall-am uninstall-info-am \
|
2004-03-11 20:59:49 +01:00
|
|
|
uninstall-toolexeclibLTLIBRARIES
|
[multiple changes]
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
* configure.in: AC_LINK_FILES(ffitarget.h).
* configure: Regenerate.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* fficonfig.h.in: Likewise.
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
Richard Henderson <rth@redhat.com>
Avoid that ffi.h includes fficonfig.h.
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(TARGET_SRC_MIPS_SGI): Removed.
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
(MIPS_SGI): Removed.
(CLEANFILES): Removed.
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
targets.
* acconfig.h: Removed.
* configure.in: Compute sizeofs only for double and long double.
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
into AC_DEFINE instead of using acconfig.h. Create
include/ffitarget.h instead of include/fficonfig.h. Rename
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
AC_DEFINE EH_FRAME_FLAGS.
* include/Makefile.am (DISTCLEANFILES): New automake macro.
(hack_DATA): Add ffitarget.h.
* include/ffi.h.in: Remove all system specific definitions.
Declare raw API even if it is not installed, why bother?
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
* include/ffi_common.h (bool): Do not define.
(ffi_assert): Accept failed assertion.
(ffi_type_test): Return void and accept file/line.
(FFI_ASSERT): Pass stringized failed assertion.
(FFI_ASSERT_AT): New macro.
(FFI_ASSERT_VALID_TYPE): New macro.
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
UINT64, SINT64): Define here with gcc's __attribute__ macro
instead of in ffi.h
(FLOAT32, ALIGN): Define here instead of in ffi.h
* include/ffi-mips.h: Removed. Its content moved to
src/mips/ffitarget.h after separating assembly and C sections.
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
SIZEOF_ARG -> FFI_SIZEOF_ARG.
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
* src/debug.c (ffi_assert): Accept stringized failed assertion.
(ffi_type_test): Rewritten.
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
FFI_ASSERT_VALID_TYPE.
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
src/s390/ffitarget.h, src/sh/ffitarget.h,
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
src/x86/ffitarget.h: New files.
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
src/powerpc/aix.S, src/powerpc/darwin.S,
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
include fficonfig.h
From-SVN: r72766
2003-10-21 21:01:58 +02:00
|
|
|
|
2006-05-24 03:45:57 +02:00
|
|
|
|
2007-03-02 00:51:37 +01:00
|
|
|
# No install-html or install-pdf support in automake yet
|
|
|
|
.PHONY: install-html install-pdf
|
2006-05-24 03:45:57 +02:00
|
|
|
install-html:
|
2007-03-02 00:51:37 +01:00
|
|
|
install-pdf:
|
2007-01-18 08:17:57 +01:00
|
|
|
|
|
|
|
# Multilib support. Automake should provide these on its own.
|
|
|
|
all-recursive: all-multi
|
|
|
|
install-recursive: install-multi
|
|
|
|
mostlyclean-recursive: mostlyclean-multi
|
|
|
|
clean-recursive: clean-multi
|
|
|
|
distclean-recursive: distclean-multi
|
|
|
|
maintainer-clean-recursive: maintainer-clean-multi
|
1999-08-08 15:27:18 +02:00
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
|
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
|
|
.NOEXPORT:
|