* allchblk.c (GC_allochblk_nth): Dont overlook available space if
GC disabled, correctly convert GC_finalizer_mem_freed to byte,
total_size to words.
* dyn_load.c (win32 GC_register_dynamic_libraries): Consider only
MEM_IMAGE regions.
* mach_dep.c (GC_with_callee_saves_pushed): separate into new function,
and indent appropriately.
* mark_rts.c (GC_approx_sp): Access stack.
* pthread_stop_world.c: (GC_suspend_handler): Explicitly push
callee-saves registers when appropriate.
(GC_stop_world): Handle EINTR from sem_wait (sync with Mono GC).
From-SVN: r94776
2005-01-01 Bryce McKinlay <mckinlay@redhat.com>
* include/boehm-gc.h: Include gc_ext_config.h, not gc_config.h.
2005-01-01 Bryce McKinlay <mckinlay@redhat.com>
* configure.ac (AC_CONFIG_HEADERS): Build both include/gc_config.h
and include/gc_ext_config.h.
* include/gc_ext_config.h: New file. Define only THREAD_LOCAL_ALLOC.
* include/gc.h: Undef PACKAGE_* before including gc_config.h.
From-SVN: r92801
2004-11-26 Bryce McKinlay <mckinlay@redhat.com>
Fix "PACKAGE_NAME redefined" errors.
* configure.ac (AC_CONFIG_HEADERS): Build both include/config.h
and include/gc_config.h.
* configure: Regenerated.
* include/gc_config.h.in: No longer auto-generated. Define only the
macros needed by libjava.
* include/config.h.in: Generated by autoheader.
* include/gc.h: Include config.h, not gc_config.h.
From-SVN: r91330
2004-08-16 Bryce McKinlay <mckinlay@redhat.com>
* specific.c: Check GC_LINUX_THREADS before including
private/specific.h. From Richard Earnshaw.
From-SVN: r86084
2004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
* aclocal.m4: Remove obsolete construct for old automake.
* acinclude.m4: Regenerate with aclocal 1.9.1.
* configure.ac: Remove duplicate AC_WITH calls. Replace
AC_CANONICAL_SYSTEM with AC_CANONICAL_HOST, AC_CANONICAL_TARGET.
Replace _GCC_TOPLEV_NONCANONICAL calls with ACX_NONCANONICAL_TARGET.
Remove now-redundant subst of target_noncanonical. Remove
now-gratuitous m4 quoting around $. Replace AM_PROG_LIBTOOL with
AC_PROG_LIBTOOL and remove second, redundant AC_PROG_LIBTOOL.
Use slightly more modern form of AC_INIT.
* configure: Rebuild with autoconf 2.59.
* Makefile.in, include/Makefile.in: Rebuild with automake 1.9.1.
From-SVN: r86071
2004-08-16 Andreas Tobler <a.tobler@schweiz.ch>
* solaris_threads.c: Remove ifdef around #include "private/gc_priv.h"
since they're not known at this time.
* solaris_pthreads.c: Likewise.
From-SVN: r86062
2004-06-20 Andreas Tobler <a.tobler@schweiz.ch>
* Makefile.am: Add rule for .S files to fix bootstrap on
solaris and alpha.
* Makefile.in: Regenerate.
From-SVN: r83406
boehm-gc/ChangeLog:
2005-06-16 Paolo Bonzini <bonzini@gnu.org>
* boehm-gc/configure.ac: New name of configure.in.
Remove useless multilib stuff. Change uses of
INCLUDES and CXXINCLUDES to AM_CPPFLAGS.
* boehm-gc/configure.in: New name of configure.in.
* boehm-gc/Makefile.am: Update for automake 1.8.5.
* boehm-gc/acinclude.m4: Include ../config/acx.m4.
* boehm-gc/aclocal.m4: Regenerate.
* boehm-gc/configure: Regenerate.
contrib/ChangeLog:
2004-06-16 Paolo Bonzini <bonzini@gnu.org>
* gcc_update (boehm-gc/configure): Depend on
boehm-gc/configure.ac instead of boehm-gc/configure.in
gcc/ChangeLog:
2004-06-16 Paolo Bonzini <bonzini@gnu.org>
* doc/install.texi: boehm-gc now uses automake 1.8.5.
From-SVN: r83227
* acinclude.m4: De-precious CC and CXX so that the right flags
are passed down to multilibs.
* aclocal.m4: Regenerate.
* configure: Regenerate.
From-SVN: r78456
2004-02-22 Zack Weinberg <zack@codesourcery.com>
Nathanael Nerode <neroden@twcny.rr.com>
Alexandre Oliva <aoliva@redhat.com>
boehm-gc:
libjava/libltdl:
* config.sub, config.guess: Replace with forwarding scripts
which invoke the master copies in the top level.
From-SVN: r78332
2004-02-19 Andrew Cagney <cagney@redhat.com>
* config.guess: Update from version 2003-10-16 to 2004-02-16.
* config.sub: Update from version 2003-11-03 to 2004-02-16.
Index: boehm-gc/ChangeLog
2004-02-19 Andrew Cagney <cagney@redhat.com>
* config.guess: Update from version 2002-01-10 to 2004-02-16.
* config.sub: Update from version 2002-01-02 to 2004-02-16.
Index: libjava/libltdl/ChangeLog
2004-02-19 Andrew Cagney <cagney@redhat.com>
* config.guess: Update from version 2003-10-07 to 2004-02-16.
* config.sub: Update from version 2003-10-07 to 2004-02-16.
From-SVN: r78171
boehm-gc:
* configure.in: Remove wildcard from Solaris 8-9/Intel and Solaris
2.3/SPARC, there are no micro versions.
Treat Solaris 10 and up alike.
* configure: Regenerate.
gcc:
* config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
Solaris 7-9.
* fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
wildcards which explicitly match micro versions.
* fixinc/fixincl.x: Regenerate.
libstdc++-v3:
* configure.host: Handle Solaris 2.5 micro releases explicitly.
Remove wildcards from Solaris 2.6, 7-9: there were no
micro releases.
Treat Solaris 10 and up like 7-9.
From-SVN: r71914
boehm-gc:
* configure.in: Set INCLUDES to absolute path.
Save $INCLUDES in boehm-cflags, too.
Set INCLUDES so it's available to config.status.
* configure: Regenerate.
libjava:
* configure.in: Don't initialize GCINCS to boehm-gc/include.
* configure: Regenerate.
libjava/libltdl:
* configure.in: Don't initialize GCINCS to boehm-gc/include.
* Regenerate.
Co-Authored-By: Roger Sayle <roger@eyesopen.com>
From-SVN: r70233
* include/gc.h (GC_CreateThread): Declare with WINAPI
attribute.
* win32_threads.c (GC_CreateThread): Make definitions consistent
with declaration. Cast &thread_table[i].handle to PHANDLE
in call to DuplicateHandle
(thread_start): Declare as static.
From-SVN: r69990
* configure.host: Only use +ESdbgasm when using the HPUX native
compiler on PA-Risc. It isn't recognized by GCC and is silently
ignored by HP's compilers on ia64.
From-SVN: r69788
* include/private/gc_locks.h [IA64]: Include ia64intrin.h.
(GC_test_and_set): Use __sync_lock_test_and_set.
(GC_clear): Use volatile assignment.
(GC_compare_and_exchange): Use __sync_bool_compare_and_swap.
(GC_memory_write_barrier): Use __sync_synchronize.
From-SVN: r64736
2003-03-04 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gcconfig.h (GC_data_start): declare when needed.
* include/private/gc_priv.h: Include gcconfig.h after ptr_t
declaration.
* dyn_load.c (GC_register_dynamic_libraries_dl_iterate_phdr,
GC_register_dynlib_callback): Register main data for static
executable if dl_iterate_phdr() didn't.
* misc.c (GC_init_inner): Call GC_init_linux_data_start() even
if we don't expect to register main static data.
From-SVN: r63809
* ltconfig (osf[345]): Append $major to soname_spec.
Reflect this in library_names_spec.
* ltmain.sh (osf): Prefix $major with . for use as extension.
boehm-gc:
* ltconfig (osf[345]): Append $major to soname_spec.
Reflect this in library_names_spec.
* ltmain.sh (osf): Prefix $major with . for use as extension.
From-SVN: r59306
* irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
(GC_pthread_create): Fix typo.
(GC_TRY_LOCK): Likewise.
* include/private/gc_locks.h (GC_test_and_set): Only take one
one argument.
(LOCK): Adjust appropriately.
* include/private/gc_priv.h (SIG_SUSPEND): Use SIGRTMIN if
_SIGRTMIN is unavailable.
From-SVN: r53636
* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
script entry, and set LD to it when configuring multilibs.
* configure: Rebuilt.
From-SVN: r53278
2002-04-22 David S. Miller <davem@redhat.com>
* include/private/gcconfig.h: Hard-code STACKBOTTOM on
64-bit SPARC Linux, the __libc_stack_end technique does
not work in this case.
2002-04-22 Jeff Sturm <jsturm@one-point.com>
* gcconfig.h: Enable DYNAMIC_LOADING for all sparc-solaris ABIs.
From-SVN: r52601
* include/private/gcconfig.h: Add support for an unmapped
memory hole between the end of the initialized data segment
and the start of the BSS on FreeBSD/i386.
From-SVN: r51867
* include/private/gcconfig.h: Change all likely references
to linker script synthesized symbols to use this idiom:
extern int etext[]; etext
From-SVN: r51352
* include/private/gcconfig.h: Add unified test for FreeBSD.
Support FreeBSD/alpha.
* os_dep.c: Do not include <machine/trap.h> unless available.
(GC_freebsd_stack_base): Fix types.
From-SVN: r51159
zlib:
* Makefile.am: Make target library a convenience library.
* Makefile.in: Rebuilt.
libffi:
* Makefile.am: libfficonvenience -> libffi_convenience.
* Makefile.in: Rebuilt.
boehm-gc:
* Makefile.am: Make a convenience library.
* Makefile.in: Rebuilt.
libjava:
Build a single libgcj.so, without separate gc and zlib libraries.
* configure.in: Use convenience libraries for boehm-gc and zlib. Set
SYS_ZLIBS if system zlib is used.
* configure: Rebuilt.
* Makefile.am: Use boehm-gc and zlib convenience libraries.
* Makefile.in: Rebuilt.
* libtool-version: Increment .so version number.
From-SVN: r50900
2002-03-12 Adam Megacz <adam@xwt.org>
* dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
* misc.c: Renamed GC_is_win32s() to GC_no_win32_dlls
* os_dep.c: Renamed GC_win32s to GC_no_win32_dlls and
statically initialized it to TRUE if compiling with GCC.
* win32_threads.c (thread_start): We no longer use SEH if
compiling with GCC.
* mark.c (GC_mark_some): We no longer use SEH if
compiling with GCC.
From-SVN: r50671
libjava:
Hashtable synchronization for PowerPC.
* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
slow_pthread_self. Set up symlink for sysdeps directory.
* configure: Rebuild.
* configure.host: Document more shell variables. Set sysdeps_dir
for most platforms. Set slow_pthread_self for i686. Set
enable_hash_synchronization_default and slow_pthread_self for PowerPC.
* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
that memory barrier is emitted where required.
* prims.cc: 64-bit align static primitive class instances.
* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
read_barrier() to enforce ordering of reads.
* sysdep/powerpc/locks.h: New file. Implementation of synchronization
primitives for PowerPC.
* sysdep/i386/locks.h: New file. Synchronization primitives for i386
moved from natObject.cc.
* sysdep/alpha/locks.h: Likewise.
* sysdep/ia64/locks.h: Likewise.
* sysdep/generic/locks.h: Likewise.
* java/lang/natObject.cc: Move thread synchronization primitives to
system-dependent headers.
gcc/java:
* decl.c (java_init_decl_processing): Make sure class_type_node
alignment is not less than 64 bits if hash synchronization isenabled.
boehm-gc:
* include/gc_priv.h: Define ALIGN_DOUBLE on 32 bit targets if GCJ
support is enabled, for hash synchronization.
From-SVN: r50523
2002-02-24 Adam Megacz <adam@xwt.org>
* Makefile.am: Added win32_threads.c to sources list.
* win32_threads.c: Added two */'s which I had neglected.
From-SVN: r50016
* dbg_mlc.c (GC_debug_generic_malloc): Removed.
* sparc_mach_dep.S: Rename from sparc_mach_dep.s as it is a
preprocessor file.
* mips_sgi_mach_dep.S: Likewise.
* Makefile.am: Update for above changes.
* Makefile.in: Rebuilt.
From-SVN: r49720
2002-02-06 Adam Megacz <adam@xwt.org>
* boehm-gc/include/gc.h: (GC_CreateThread) This function is
now exposed on all Win32 platforms.
* boehm-gc/win32_threads.c: (GC_CreateThread) This now
compiles on Win32; it invokes CreateThread() if GC is built
as a DLL; otherwise it registers the thread.
* boehm-gc/misc.c (GC_init): Initialize GC_allocate_ml in case
libgcjgc was not built as a DLL.
From-SVN: r49563
* include/gc.h (GC_INIT): Add DATASTART and DATAEND roots on AIX.
* include/private/gcconfig.h (RS6000): Add 64-bit AIX support.
Define USE_GENERIC_PUSH_REGS. Use AIX _data and _end symbols for
DATASTART and DATAEND roots.
* rs6000_mach_dep.s: Add function descriptor and traceback table.
From-SVN: r49218
* dyn_load.c: Define ElfW (if needed) for all targets,
not just GNU/Linux.
(GC_FirstDLOpenedLinkMap): Use it.
(GC_register_dynamic_libraries_dl): Use it.
* include/private/gcconfig.h: Define CPP_WORDSZ, ELF_CLASS
for sparcv9.
From-SVN: r48086
* include/gc_pthread_redirects.h: Generalize test to use GC_PTHREADS.
* linux_threads.c (WRAP_FUNC(pthread_join)): Conditionalized on
GC_FREEBSD_THREADS, handle strange interaction between system
pthread implementation and boehm-gc signal-handler architecture.
* tests/test.c (main): Conditionalized on GC_FREEBSD_THREADS,
set stack.
* include/private/gcconfig.h (configuration keyed off FREEBSD):
Define SIG_SUSPEND, SIG_THR_RESTART. Do not define
MPROTECT_VDB when GC_FREEBSD_THREADS is defined.
From-SVN: r46307
* include/Makefile.am: New file. It defines include_HEADERS.
* Makefile.am (SUBDIRS): New macro, set to include.
* configure.in (AC_OUTPUT): Add include/Makefile.
From-SVN: r45555
2001-08-02 David Billinghurst <David.Billinghurst>
* configure: Rebuilt.
* configure.in: POSIX threads on cygwin does not link with
-lpthreads.
From-SVN: r44574
* configure.in (AC_EXEEXT): Work around in case it expands to
nothing, as in autoconf 2.50.
* acinclude.m4: Likewise.
* aclocal.m4, configure: Rebuilt.
From-SVN: r43107
* Makefile.am: Override gctest_OBJECTS so tests/test.c can be built.
(libgcjgc_la_SOURCES): Remove typo.
* tests/test.c: Fix struct names and includes for GC_GCJ_SUPPORT case.
* Makefile.in: Rebuilt.
From-SVN: r42524
2001-05-01 Jeffrey Oldham <oldham@codesourcery.com>
* gc_priv.h (UNLOCK): Change type of GC_noop1 argument.
(GC_noop1): Change declaration to take one argument.
From-SVN: r41738
* misc.c: Back out buggy changes to stack clearing code.
Reduce CLEAR_SIZE to 1/4 of original value to reduce time
spent clearing memory.
From-SVN: r41172
2001-04-04 Hans Boehm <hans_boehm@hp.com>
* finalize.c:
- Accomodate finalization requests for static objects.
(Will be required by hash synchronization. May be needed
in some configurations now.)
* gc_priv.h:
- Define MIN_WORDS. All allocation requests are rounded
up to at least this size. Removes a subtle assumption that
Java objects have a 2 word header.
* gcconfig.h:
- Adjust Linux/IA64 configuration for non-ancient kernels.
(Necessary fix for IA64.)
* linux_threads.c:
- Fix syntax error in currently unused code. Will be needed
for Linux/PA-RISC.
* malloc.c:
- Handle MIN_WORDS.
* misc.c:
- Handle MIN_WORDS.
- Change stack cleaning code to typically clear about one tenth
the memory it used to in the threads configuration. Occasionally
still clear more. (This is really a fix for a long-standing
and fairly significant performance bug with threads.)
* os_dep.c:
- Fix the code for finding the beginning of the data segment under
Linux. I believe this is necessary for some IA64 Linux
distributions. It will also helo other platforms, though those
may additionally require a gcconfig.h adjustment. (This basically
works around the absence of a data_start or __data_start
definition in glibc.)
* test.c:
- Handle rounding due to MIN_WORDS.
From-SVN: r41102