Commit Graph

53 Commits

Author SHA1 Message Date
Richard Earnshaw
351c2c4b2f * include/private/gcconfig.h: Add support for arm-netbsdelf.
From-SVN: r65692
2003-04-16 18:28:29 +00:00
Tom Tromey
739c578934 gcconfig.h (LINUX_STACKBOTTOM): Define for POWERPC.
* include/private/gcconfig.h (LINUX_STACKBOTTOM): Define for
	POWERPC.
	(STACK_GRAN, HEURISTIC1): Don't define for POWERPC.

From-SVN: r65411
2003-04-10 00:08:10 +00:00
Richard Henderson
2298018014 gc_locks.h [IA64]: Include ia64intrin.h.
* 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-22 17:36:22 -08:00
Hans Boehm
c62b906422 gcconfig.h (GC_data_start): declare when needed.
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
2003-03-04 22:18:08 +00:00
Hans Boehm
ebcc6a7ec0 mark_rts.c (GC_cond_register_dynamic_libraries): add.
2003-03-03  Hans Boehm  <Hans.Boehm@hp.com>
	* mark_rts.c (GC_cond_register_dynamic_libraries): add.
	(GC_push_roots): explicitly mark free list headers, register
	dynamic libraries only if !REGISTER_LIBRARIES_EARLY.
	* alloc.c (GC_stopped_mark): Conditionally call
	GC_cond_register_dynamic_libraries().
	(GC_collect_a_little_inner, GC_try_to_collect_inner): Check GC_dont_gc.
	* dyn_load.c (GC_register_main_static_data): define.
	(GC_register_dyn_libraries (Linux /proc, Linux ELF versions)):
	no longer skip main data.
	* misc.c (GC_REGISTER_MAIN_STATIC_DATA): define.
	(GC_init_inner): Make main data registration conditional.
	* include/private/gc_priv.h (GC_register_main_static_data): declare.
	* include/private/gcconfig.h (REGISTER_LIBRARIES_EARLY): define
	for LINUX.

From-SVN: r63727
2003-03-03 19:34:11 +00:00
Andreas Tobler
290a4db981 gcconfig.h: undefine MPROTECT_VDB for MACOSX
2003-02-11  Andreas Tobler  <a.tobler@schweiz.ch>

        * include/private/gcconfig.h: undefine MPROTECT_VDB for MACOSX

From-SVN: r62705
2003-02-11 19:22:08 +01:00
Tom Tromey
7d60eb23b7 For PR libgcj/8933:
* include/Makefile.in: Rebuilt.
	* include/Makefile.am (noinst_HEADERS): Renamed from
	include_HEADERS.

From-SVN: r60702
2002-12-31 17:52:25 +00:00
Andreas Jaeger
eae853b7d5 * include/private/gcconfig.h (HBLKSIZE): Define for x86-64.
From-SVN: r57728
2002-10-02 08:25:37 +02:00
Richard Earnshaw
82cfabc1a9 gcconfig.h: Don't check for __XSCALE__.
* include/private/gcconfig.h: Don't check for __XSCALE__.  Instead
check for __arm__ or __thumb__.

From-SVN: r57610
2002-09-28 12:12:36 +00:00
Ulrich Weigand
10a197ee7c gcconfig: Add machine type S390.
* include/private/gcconfig: Add machine type S390.  Add s390x support.
	* include/private/gc_locks.h (GC_test_and_set): Implement for s390.
	(GC_compare_and_exchange): Likewise.

From-SVN: r57592
2002-09-27 20:40:06 +00:00
Jason Thorpe
179a9cafbe * include/private/gcconfig.h: Fix NetBSD/mips parameters.
From-SVN: r57479
2002-09-24 17:41:01 +00:00
Bo Thorsen
c42c75bfc4 Remove dead endif so x86-64 compilation works.
From-SVN: r55585
2002-07-19 13:21:36 +02:00
Bo Thorsen
48528b673e gcconfig.h: Add x86-64 definitions.
2002-07-18  Bo Thorsen  <bo@suse.de>

	* include/private/gcconfig.h: Add x86-64 definitions.
	* os_dep.c: Add x86-64 support.
	* configure.in: Likewise.
	* configure: Regenerate.

Approved by Hans Boehm.

From-SVN: r55584
2002-07-19 10:54:44 +02:00
H.J. Lu
f3e83dc224 gc_locks.h (GC_test_and_set): Support Linux/mips.
* 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.

From-SVN: r54444
2002-06-10 17:10:21 +00:00
Mark Mitchell
61039cd09e irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
* 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
2002-05-19 17:36:14 +00:00
David S. Miller
a61df6c727 [multiple changes]
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
2002-04-21 23:07:41 -07:00
Hans Boehm
9416403264 gcconfig.h: Use LINUX_STACKBOTTOM for SPARC Linux.
* include/private/gcconfig.h: Use LINUX_STACKBOTTOM for
	SPARC Linux.

From-SVN: r52440
2002-04-17 19:54:59 +00:00
Loren J. Rittle
b911c031b3 gcconfig.h (DATAEND): Update comment example to match reality.
* include/private/gcconfig.h (DATAEND): Update comment example
	to match reality.

From-SVN: r52098
2002-04-09 23:11:36 +00:00
Loren J. Rittle
e285b25952 * include/private/gcconfig.h (DATAEND): Clarify comment.
From-SVN: r52054
2002-04-09 01:35:21 +00:00
Hans Boehm
787bf7e377 gc_priv.h (WARN macro): Add "GC warning:" prefix.
* include/private/gc_priv.h (WARN macro): Add "GC warning:" prefix.
	(GC_large_alloc_warn_interval, GC_large_alloc_warn_suppressed):
	declare.
	* allchblk.c (GC_allchblk_nth): Change text and support reduced
	frequency for blacklist warning message.
	* misc.c (GC_large_alloc_warn_interval,
	GC_large_alloc_warn_suppressed): define.
	(GC_init_inner): Check GC_NO_BLACKLIST_WARNING and
	GC_LARGE_ALLOC_WARN_INTERVAL environment variables.
	* doc/README.environment (GC_NO_BLACKLIST_WARNING): Deprecate.
	(GC_LARGE_ALLOC_WARN_INTERVAL): Add documentation.

	* dyn_load.c (_DYNAMIC): Move declaration to file scope.

From-SVN: r52053
2002-04-09 00:39:16 +00:00
Loren J. Rittle
3c55704ebb gcconfig.h: Add support for an unmapped memory hole between the end of the initialized data...
* 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
2002-04-04 20:49:38 +00:00
Bryce McKinlay
c71f2c0640 gcconfig.h: define DYNAMIC_LOADING for ELF NetBSD/i386.
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* include/private/gcconfig.h: define DYNAMIC_LOADING for ELF
        NetBSD/i386.

From-SVN: r51616
2002-03-31 00:15:36 +00:00
Hans Boehm
4d6ac5424e linux_threads.c (return_free_lists): Clear fl[i] unconditionally.
* linux_threads.c (return_free_lists): Clear fl[i] unconditionally.
	(GC_local_gcj_malloc): Add assertion.
	(start_mark_threads): Fix abort message.
	* mark.c (GC_mark_from): Generalize assertion.
	* reclaim.c (GC_clear_fl_links): New function.
	(GC_start_reclaim): Must clear some freelist links.
	* include/private/specific.h, specific.c: Add assertions.
	Safer definition for INVALID_QTID, quick_thread_id.  Fix/add comments.
	Rearrange tse fields.

From-SVN: r51582
2002-03-29 22:52:13 +00:00
Loren J. Rittle
ed47971a35 gcconfig.h: Change all likely references to linker script synthesized symbols to use this...
* include/private/gcconfig.h: Change all likely references
	to linker script synthesized symbols to use this idiom:
	extern int etext[]; etext

From-SVN: r51352
2002-03-25 23:20:31 +00:00
Loren J. Rittle
c0561434cd gcconfig.h: Add unified test for FreeBSD.
* 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
2002-03-22 02:40:32 +00:00
Bryce McKinlay
4559716751 Hashtable synchronization for PowerPC.
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-03-10 03:53:16 +00:00
Bryce McKinlay
79f777fd1e Imported GC 6.1 Alpha 3. Finally.
From-SVN: r49698
2002-02-12 04:37:57 +00:00
Anthony Green
b6459d9a78 xscale-elf support
From-SVN: r49626
2002-02-09 00:50:05 +00:00
Adam Megacz
b1d246853d gc.h: (GC_CreateThread) This function is now exposed on all Win32 platforms.
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
2002-02-07 03:56:40 +00:00
Adam Megacz
7e57448e82 2002-02-01 Adam Megacz <adam@xwt.org>
* boehm-gc on win32 now automatically detects if it is being built
	as a DLL; see http://gcc.gnu.org/ml/java/2001-12/msg00240.html

From-SVN: r49426
2002-02-02 04:23:13 +00:00
David Edelsohn
6cb3421f1f gc.h (GC_INIT): Add DATASTART and DATAEND roots on AIX.
* 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
2002-01-25 13:06:24 -05:00
Jeff Sturm
a5b2a65b97 dyn_load.c: Define ElfW (if needed) for all targets, not just GNU/Linux.
* 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
2001-12-17 03:24:50 +00:00
Loren J. Rittle
dc8a02024d solaris_threads.h: Update to use GC_SOLARIS_THREADS.
* include/private/solaris_threads.h: Update to use GC_SOLARIS_THREADS.

Co-Authored-By: Andreas Tobler <toa@pop.agri.ch>

From-SVN: r46451
2001-10-23 23:21:39 +00:00
Bryce McKinlay
aeb76991de linux_threads.c (GC_init_parallel): Do not declare as a static constructor.
* linux_threads.c (GC_init_parallel): Do not declare as a static
	constructor.
	* include/gc.h (GC_init): Declare here. Add description.
	* include/private/gc_priv.h (GC_init): Remove declaration.

From-SVN: r46420
2001-10-23 01:28:56 +01:00
Loren J. Rittle
f6d882d975 gc_pthread_redirects.h: Generalize test to use GC_PTHREADS.
* 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
2001-10-17 04:55:30 +00:00
Bryce McKinlay
4c7726b172 Makefile.am, [...]: Imported GC 6.1 Alpha 1 and merged local changes.
* Makefile.am, acinclude.m4, configure.in: Imported GC 6.1 Alpha 1
	and merged local changes.

From-SVN: r46283
2001-10-16 10:01:40 +01:00
Rainer Orth
9c383523a3 solaris_threads.c (MAX_ORIG_STACK_SIZE): Provide special Solaris 2/Intel definition.
* solaris_threads.c (MAX_ORIG_STACK_SIZE) [I386]: Provide special
	Solaris 2/Intel definition.

	* configure.in (i?86-*-solaris2.[89]*): Define
	SOLARIS25_PROC_VDB_BUG_FIXED.
	* include/private/gcconfig.h [I386 && SUNOS5]: Use it.
	* configure: Regenerate.

	* include/private/gcconfig.h [I386 && SUNOS5] (DATASTART): Use _etext.
	(DATAEND): Define using _end.

From-SVN: r45825
2001-09-26 13:22:03 +00:00
Per Bothner
1a8a749c24 Makefile.am: New file.
* 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-09-11 18:57:03 -07:00
Tom Tromey
5a2586cf8f Makefile.am, [...]: Imported GC 6.0 and merged local changes.
* Makefile.am, acinclude.m4, configure.in: Imported GC 6.0 and
	merged local changes.

From-SVN: r44994
2001-08-18 01:04:43 +00:00
Richard Henderson
f6823cb5cd alpha_mach_dep.s: Mark call-saved FP registers.
* alpha_mach_dep.s: Mark call-saved FP registers.
	* include/private/gcconfig.h (ALPHA): Remove USE_GENERIC_PUSH_REGS.
	* configure.in (alpha*): Re-enable alpha_mach_dep.s
	* configure: Rebuild.

From-SVN: r43593
2001-06-26 15:21:26 -07:00
Bryce McKinlay
9110a741e3 Imported version version 6.0alpha7.
* README, README.Mac, README.OS2, README.QUICK, README.alpha,
	README.amiga, README.debugging, README.dj, README.hp, README.linux,
	README.rs6000, README.sgi, README.solaris2, README.uts,
	README.win32, SCoptions.amiga, backptr.h, barrett_diagram,
	dbg_mlc.h, gc.h, gc.man, gc_alloc.h, gc_cpp.h, gc_hdrs.h, gc_mark.h,
	gc_priv.h, gc_private.h, gc_typed.h, gcconfig.h,
	hpux_irix_threads.c, makefile.depend, nursery.c,
	solaris_threads.h, test.c, test_cpp.cc, weakpointer.h, cord/README,
	cord/SCOPTIONS.amiga, cord/SMakefile.amiga, cord/cord.h,
	cord/ec.h, cord/gc.h, cord/private/cord_pos.h, include/backptr.h,
	include/gc_copy_descr.h, include/gc_nursery.h: Remove obsolete/moved
	files.

From-SVN: r42379
2001-05-21 09:35:14 +01:00
Bryce McKinlay
abdbd4a8ec This commit was generated by cvs2svn to compensate for changes in r42373,
which included commits to RCS files with non-trunk default branches.

From-SVN: r42374
2001-05-21 07:39:25 +01:00
Bryce McKinlay
f54d42879f Initial revision
From-SVN: r42370
2001-05-21 07:39:23 +01:00
Bryce McKinlay
2caa2a6997 This commit was generated by cvs2svn to compensate for changes in r34605,
which included commits to RCS files with non-trunk default branches.

From-SVN: r34606
2000-06-20 00:42:00 +01:00
Bryce McKinlay
179977c13a This commit was generated by cvs2svn to compensate for changes in r33746,
which included commits to RCS files with non-trunk default branches.

From-SVN: r33747
2000-05-07 00:59:01 +01:00
Bryce McKinlay
93002327db Imported version version 5.0alpha6.
* acinclude.m4: Bump version to 5.0a6.
	* configure.in: Don't use alpha_mach_dep.s.
	* include/private/config.h, irix_threads.c gc_watcom.asm: Delete
	obsolete files.

From-SVN: r33251
2000-04-19 11:10:01 +01:00
Bryce McKinlay
56293c2be2 This commit was generated by cvs2svn to compensate for changes in r33244,
which included commits to RCS files with non-trunk default branches.

From-SVN: r33245
2000-04-19 03:29:16 +01:00
Bryce McKinlay
0eebf9e5c7 Initial revision
From-SVN: r33241
2000-04-19 03:29:14 +01:00
Tom Tromey
85f29b3bb5 This commit was generated by cvs2svn to compensate for changes in r30327,
which included commits to RCS files with non-trunk default branches.

From-SVN: r30328
1999-11-01 20:48:52 +00:00
Tom Tromey
fd6a6309db Initial revision
From-SVN: r30324
1999-11-01 20:48:50 +00:00