diff options
Diffstat (limited to 'boehm-gc')
-rw-r--r-- | boehm-gc/ChangeLog | 17 | ||||
-rw-r--r-- | boehm-gc/Makefile.in | 5 | ||||
-rwxr-xr-x | boehm-gc/configure | 8 | ||||
-rw-r--r-- | boehm-gc/configure.ac | 4 | ||||
-rw-r--r-- | boehm-gc/configure.host | 9 | ||||
-rw-r--r-- | boehm-gc/dyn_load.c | 5 | ||||
-rw-r--r-- | boehm-gc/include/Makefile.in | 29 | ||||
-rw-r--r-- | boehm-gc/include/gc_config.h.in | 3 | ||||
-rw-r--r-- | boehm-gc/include/private/gc_priv.h | 4 |
9 files changed, 73 insertions, 11 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index b9c7c46ae05..9b5852d4777 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,20 @@ +2005-03-01 Kelley Cook <kcook@gcc.gnu.org> + + * Makefile.in, include/Makefile.in: Regenerate. + +2005-02-26 Richard Earnshaw <rearnsha@arm.com> + + * dyn_load.c: On NetBSD, include machine/elf_machdep.h and define + ELFSIZE in terms of ARCH_ELFSIZE (back-ported from gc7.0alpha1). + +2005-02-15 Bryce McKinlay <mckinlay@redhat.com> + + PR libgcj/19823 + * configure.host: Set gc_use_mmap on *-linux*. + * configure.ac: Define USE_MMAP if gc_use_mmap is set. + * include/private/gc_priv.h: Include gc_config.h. + * configure, include/gc_config.h.in: Rebuilt. + 2005-02-07 Hans Boehm <Hans.Boehm@hp.com> * allchblk.c (GC_allochblk_nth): Dont overlook available space if diff --git a/boehm-gc/Makefile.in b/boehm-gc/Makefile.in index a81e3d0b466..6f842205efe 100644 --- a/boehm-gc/Makefile.in +++ b/boehm-gc/Makefile.in @@ -77,7 +77,8 @@ 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 -CONFIG_HEADER = $(top_builddir)/include/gc_config.h +CONFIG_HEADER = $(top_builddir)/include/gc_config.h \ + $(top_builddir)/include/gc_ext_config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = @@ -100,7 +101,7 @@ am_gctest_OBJECTS = tests/test.$(OBJEXT) gctest_OBJECTS = $(am_gctest_OBJECTS) gctest_DEPENDENCIES = ./libgcjgc.la $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_builddir)/include depcomp = am__depfiles_maybe = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ diff --git a/boehm-gc/configure b/boehm-gc/configure index 36243d4c58b..b205d328c03 100755 --- a/boehm-gc/configure +++ b/boehm-gc/configure @@ -6558,6 +6558,14 @@ _ACEOF fi fi; +if test "${gc_use_mmap}" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define USE_MMAP 1 +_ACEOF + +fi + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_noncanonical)' diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac index 208a9160872..dfb0e17e261 100644 --- a/boehm-gc/configure.ac +++ b/boehm-gc/configure.ac @@ -446,6 +446,10 @@ AC_ARG_ENABLE(gc-debug, esac fi]) +if test "${gc_use_mmap}" = "yes"; then + AC_DEFINE(USE_MMAP, 1, [use MMAP instead of sbrk to get new memory]) +fi + if test -n "$with_cross_host" && test x"$with_cross_host" != x"no"; then toolexecdir='$(exec_prefix)/$(target_noncanonical)' diff --git a/boehm-gc/configure.host b/boehm-gc/configure.host index a98a0a7cb30..97f4dacb6de 100644 --- a/boehm-gc/configure.host +++ b/boehm-gc/configure.host @@ -18,8 +18,11 @@ # It sets the following shell variables: # gc_cflags Special CFLAGS to use when building +# gc_use_mmap Set to "yes" on platforms where mmap should be used instead +# of sbrk. This will define USE_MMAP. gc_cflags="" +gc_use_mmap= # We should set -fexceptions if we are using gcc and might be used # inside something like gcj. This is the zeroth approximation: @@ -37,6 +40,12 @@ else esac fi +case "${host}" in + *-linux*) + gc_use_mmap=yes + ;; +esac + case "${target_optspace}:${host}" in yes:*) gc_cflags="${gc_cflags} -Os" diff --git a/boehm-gc/dyn_load.c b/boehm-gc/dyn_load.c index dfe0a3c87e8..c5139aa80a8 100644 --- a/boehm-gc/dyn_load.c +++ b/boehm-gc/dyn_load.c @@ -80,6 +80,11 @@ # define l_name lm_name #endif +#if defined(NETBSD) +# include <machine/elf_machdep.h> +# define ELFSIZE ARCH_ELFSIZE +#endif + #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) diff --git a/boehm-gc/include/Makefile.in b/boehm-gc/include/Makefile.in index 66aacac205a..4c823287b32 100644 --- a/boehm-gc/include/Makefile.in +++ b/boehm-gc/include/Makefile.in @@ -39,14 +39,15 @@ host_triplet = @host@ target_triplet = @target@ subdir = include DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/gc_config.h.in + $(srcdir)/Makefile.in $(srcdir)/gc_config.h.in \ + $(srcdir)/gc_ext_config.h.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -CONFIG_HEADER = gc_config.h +CONFIG_HEADER = gc_config.h gc_ext_config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = @@ -179,7 +180,7 @@ AUTOMAKE_OPTIONS = foreign noinst_HEADERS = gc.h gc_backptr.h gc_local_alloc.h \ gc_pthread_redirects.h gc_cpp.h -all: gc_config.h +all: gc_config.h gc_ext_config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: @@ -227,8 +228,18 @@ $(srcdir)/gc_config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) rm -f stamp-h1 touch $@ +gc_ext_config.h: stamp-h2 + @if test ! -f $@; then \ + rm -f stamp-h2; \ + $(MAKE) stamp-h2; \ + else :; fi + +stamp-h2: $(srcdir)/gc_ext_config.h.in $(top_builddir)/config.status + @rm -f stamp-h2 + cd $(top_builddir) && $(SHELL) ./config.status include/gc_ext_config.h + distclean-hdr: - -rm -f gc_config.h stamp-h1 + -rm -f gc_config.h stamp-h1 gc_ext_config.h stamp-h2 mostlyclean-libtool: -rm -f *.lo @@ -250,11 +261,11 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) mkid -fID $$unique tags: TAGS -TAGS: $(HEADERS) $(SOURCES) gc_config.h.in $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) gc_config.h.in gc_ext_config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) gc_config.h.in $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) gc_config.h.in gc_ext_config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ @@ -266,11 +277,11 @@ TAGS: $(HEADERS) $(SOURCES) gc_config.h.in $(TAGS_DEPENDENCIES) \ $$tags $$unique; \ fi ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) gc_config.h.in $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) gc_config.h.in gc_ext_config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - list='$(SOURCES) $(HEADERS) gc_config.h.in $(LISP) $(TAGS_FILES)'; \ + list='$(SOURCES) $(HEADERS) gc_config.h.in gc_ext_config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ @@ -317,7 +328,7 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile $(HEADERS) gc_config.h +all-am: Makefile $(HEADERS) gc_config.h gc_ext_config.h installdirs: install: install-am install-exec: install-exec-am diff --git a/boehm-gc/include/gc_config.h.in b/boehm-gc/include/gc_config.h.in index 60ffb9741b6..92f1b2cf460 100644 --- a/boehm-gc/include/gc_config.h.in +++ b/boehm-gc/include/gc_config.h.in @@ -145,6 +145,9 @@ /* define GC_local_malloc() & GC_local_malloc_atomic() */ #undef THREAD_LOCAL_ALLOC +/* use MMAP instead of sbrk to get new memory */ +#undef USE_MMAP + /* POSIX version of C Source */ #undef _POSIX_C_SOURCE diff --git a/boehm-gc/include/private/gc_priv.h b/boehm-gc/include/private/gc_priv.h index e5bd52b62b7..c336ce5c433 100644 --- a/boehm-gc/include/private/gc_priv.h +++ b/boehm-gc/include/private/gc_priv.h @@ -19,6 +19,10 @@ # ifndef GC_PRIVATE_H # define GC_PRIVATE_H +/* Autoconf definitions. */ +/* FIXME: This should really be included directly from each .c file. */ +#include <gc_config.h> + #if defined(mips) && defined(SYSTYPE_BSD) && defined(sony_news) /* sony RISC NEWS, NEWSOS 4 */ # define BSD_TIME |