* 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.
rth [Sun, 23 Mar 2003 01:36:22 +0000 (01:36 +0000)]
* 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.
hboehm [Tue, 4 Mar 2003 22:18:08 +0000 (22:18 +0000)]
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.
* 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.
aoliva [Wed, 14 Aug 2002 02:40:00 +0000 (02:40 +0000)]
* boehm-gc/configure, libf2c/configure: Rebuilt.
* libffi/configure, libiberty/configure: Ditto.
* libjava/configure, libobjc/configure: Ditto.
* libstdc++-v3/configure, zlib/configure: Ditto.
Merged from binutils:
2002-01-27 Daniel Jacobowitz <drow@mvista.com>
From Steve Ellcey <sje@cup.hp.com>:
* libtool.m4 (HPUX_IA64_MODE): Set to 32 or 64 based on ABI.
(lt_cv_deplibs_check_method, lt_cv_file_magic_cmd,
lt_cv_file_magic_test_file): Set to appropriate values for HP-UX
IA64.
* ltcf-c.sh (archive_cmds, hardcode_*): Ditto.
* ltconfig (shlibpath_*, dynamic_linker, library_names_spec,
soname_spec, sys_lib_search_path_spec): Ditto.
hboehm [Mon, 10 Jun 2002 17:10:21 +0000 (17:10 +0000)]
* include/private/gc_locks.h (GC_test_and_set): Support
Linux/mips.
(GC_TEST_AND_SET_DEFINED): Likewise.
* include/private/gcconfig.h (DYNAMIC_LOADING): Defined for
Linux/mips.
(DATAEND): Likewise.
(LINUX_STACKBOTTOM): Likewise.
(STACKBOTTOM): Removed for Linux/mips.
mmitchel [Sun, 19 May 2002 17:36:14 +0000 (17:36 +0000)]
* 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.
* 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.
ljrittle [Fri, 22 Mar 2002 02:40:32 +0000 (02:40 +0000)]
* 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.
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.
megacz [Tue, 12 Mar 2002 19:06:36 +0000 (19:06 +0000)]
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.
bryce [Sun, 10 Mar 2002 03:53:16 +0000 (03:53 +0000)]
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.
bryce [Wed, 13 Feb 2002 05:38:39 +0000 (05:38 +0000)]
* 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.
megacz [Thu, 7 Feb 2002 03:56:40 +0000 (03:56 +0000)]
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.
dje [Fri, 25 Jan 2002 18:06:24 +0000 (18:06 +0000)]
* 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.
jsturm [Mon, 17 Dec 2001 03:24:50 +0000 (03:24 +0000)]
* 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.
ljrittle [Wed, 17 Oct 2001 04:55:30 +0000 (04:55 +0000)]
* 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.
* include/Makefile.am: New file. It defines include_HEADERS.
* Makefile.am (SUBDIRS): New macro, set to include.
* configure.in (AC_OUTPUT): Add include/Makefile.
aoliva [Sat, 9 Jun 2001 21:29:08 +0000 (21:29 +0000)]
* configure.in (AC_EXEEXT): Work around in case it expands to
nothing, as in autoconf 2.50.
* acinclude.m4: Likewise.
* aclocal.m4, configure: Rebuilt.
bryce [Thu, 24 May 2001 07:28:39 +0000 (07:28 +0000)]
* 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.
aoliva [Sun, 20 May 2001 18:55:59 +0000 (18:55 +0000)]
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254. Rebuilt a number
of subdir/configure scripts to use the new libtool.m4.
* 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.)