* 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
* configure.in: Rename THREADLIB to THREADLIBS.
* Makefile.am (LINK): Add $(THREADLIBS) to libtool command line. This
ensures that we link the correct version of the linuxthreads semaphore
functions.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
* linux_thread.c (GC_thr_init, GC_suspend_handler): Add SIGABRT to the
list of signals which are not blocked during suspend in the NO_SIGNALS
case.
For libjava:
* Makefile.am (libgcj_la_LIBADD): Add $(THREADLIBS). This ensures that
the correct versions of various linuxthreads functions get linked.
* Makefile.in: Rebuilt.
* java/lang/natThread.cc (finalize_native): New static function. Call
_Jv_ThreadDestroyData.
(initialize_native): Register finalizer for "data".
* include/posix-threads.h (_Jv_ThreadInitData): New simpler prototype.
(_Jv_ThreadDestroyData): New prototype.
* include/win32-threads.h: Ditto.
* include/no-threads.h: Ditto.
* posix-threads.cc (_Jv_ThreadInitData): Implement new prototype.
(_Jv_ThreadDestroyData): New function. Free native thread "data" and
move mutex and condition variable destroy code from:
(really_start): ...here.
(_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED.
* win32-threads.cc (_Jv_ThreadInitData): Implement new prototype.
(_Jv_ThreadDestroyData): Implemented.
* nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t".
(_Jv_AllocArray): Ditto.
From-SVN: r38557
2000-04-26 Jakub Jelinek <jakub@redhat.com>
* gcconfig.h (SPARC): Define ALIGNMENT to 8 for 64bit SPARC.
(SPARC/LINUX): Use GC_SysVGetDataStart instead of LINUX_DATA_START
- sparc glibc does not provide it.
(SAVE_CALL_CHAIN, ASM_CLEAR_CODE): Define on sparc*-linux*.
Make STACKBOTTOM depend on the wordsize.
* os_dep.c (GC_SysVGetDataStart): Compile in on sparc*-linux*.
(struct frame): Declare on sparc*-linux*.
(GC_save_callers): Bias the frame pointers if needed (sparc64).
* mach_dep.c (GC_save_regs_in_stack): Optimize on sparc32.
Implement on sparc64.
(GC_clear_stack_inner): Implement on sparc64.
* gc_priv.h (GC_test_and_set): Implement for sparc.
* linux_threads.c (GC_suspend_handler, GC_push_all_stacks): Use
From-SVN: r33452