Commit graph

37 commits

Author SHA1 Message Date
recht
762ef6ce87 update boehm-gc to 6.3b1
changes:
- Add a patch provided by UCHIYAMA Yasushi in PR 26180 to support NetBSD/sh3.
- Correctly define ELFSIZE for NetBSD. Fixes PR 26252 by Kouichirou Hiratsuka.

Bump BUILDLINK_DEPNDS to 6.3nb1 for the ELFSIZE fix.
2004-07-13 14:22:27 +00:00
recht
f278361648 update to 6.3
This is mostly a bug fix release.

Selection of changes:
- most pkgsrc patches have been integrated
- amd64 support for NetBSD/OpenBSD (thanks to drochner@)
- enhanced Darwin support

For a complete list see:
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/recent_changes
2004-07-09 00:18:54 +00:00
toshii
1feba07590 Make this buildable on NetBSD/amd64.
Changes are quite mechanical, but "gctest" appears to work...
2004-06-28 15:45:18 +00:00
cjep
c3f6e4f661 Add RCS tags 2004-05-07 12:06:47 +00:00
hubertf
a5b6c49dd3 Fix building on m68k (tested: amiga), OK'd by Hans Boehm (hans.boehm hp com)
Bump to 6.2nb3
2004-04-03 10:26:14 +00:00
recht
c65f30767e Add a patch from Christian Limpach wrt to signal handling.
bump PKGREVISION
2003-12-03 00:14:16 +00:00
kei
4d96eca469 install private header files as well. an application (latest version of
lang/gauche, actually) needs them.  there are some comments in
doc/README.changes about this issue.
2003-08-17 05:01:58 +00:00
jmmv
466195406a Update to 6.2alpha5:
- GC_invoke_finalizers could, under rare conditions, set
   GC_finalizer_mem_freed to an essentially random value.  This could
   possibly cause unbounded heap growth for long-running applications
   under some conditions.  (The bug was introduced in 6.1alpha5, and
   is not in gcc3.3.  Thanks to Ben Hutchings for finding it.)
 - Attempted to sanitize the various DLL macros.  GC_USE_DLL disappeared.
   GC_DLL is used instead.  All internal tests are now on GC_DLL.
   README.macros is now more precise about the intended meaning.
 - Include DllMain in the multithreaded win32 version only if the
   collector is actually built as a dll.  (Thanks to Mohan Embar for
   a version of the patch.)
 - Hide the cygwin threadAttach/Detach functions.  They were violating our
   namespace rules.
 - Fixed an assertion in GC_check_heap_proc.  Added GC_STATIC_ASSERT.
   (Thanks again to Ben Hutchings.)
 - Removed some obsolete definitions for Linux/PowerPC in gcconfig.h.
 - CORD_cat was not rebalancing unbalanced trees in some cases, violating
   a CORD invariant.  Also tweaked the rebalancing rule for
   CORD_cat_char_star.  (Thanks to Alexandr Petrosian for the bug report
   and patch.)
 - Added hand-coded structured exception handling support to mark.c.
   This should enable support of dynamic libraries under win32 with
   gcc-compiled code.  (Thanks to Ranjit Mathew for the patch.)
   Turned on dynamic library scanning for win32/gcc.
 - Removed some remnants of read wrapping.  (Thanks to Kenneth Schalk.)
   GC_USE_LD_WRAP ws probably broken in recent versions.
 - The build could fail on some platforms since gcconfig.h could include
   declarations mentioning ptr_t, which was not defined, e.g. when if_mach
   was built.  (Thanks to Yann Dirson for pointing this out.)  Also
   cleaned up tests for GC_PRIVATE_H in gcconfig.h a bit.
 - The GC_LOOP_ON_ABORT environment variable interfered with incremental
   collection, since the write fault handler was erroneously overridden.
   Handlers are now set up in the correct order.
 - It used to be possible to call GC_mark_thread_local_free_lists() while
   the world was not stopped during an incremental GC.  This was not safe.
   Fortunately, it was also unnecessary.  Added GC_world_stopped flag
   to avoid it.  (This caused occasional crashes in GC_set_fl_marks
   with thread local allocation and incremental GC.  This probably happened
   primarily on old, slow multiprocessors.)
 - Allowed overriding of MAX_THREADS in win32_threads.c from the build
   command line.  (Patch from Yannis Bres.)
 - Taught the IA64/linux code to determine the register backing store base from
   /proc/self/maps after checking the __libc symbol, but before guessing.
   (__libc symbols are on the endangered list, and the guess is likely to not
   always be right for 2.6 kernels.)  Restructured the code to read and parse
   /proc/self/maps so it only exists in one place (all platforms).
 - The -DUSE_PROC_FOR_LIBRARIES code was broken on Linux.  It claimed that it
   also registered the main data segment, but didn't actually do so.  (I don't
   think anyone actually uses this configuration, but ...)
 - Made another attempt to get --enablecplusplus to do the right thing.
   Since there are unavoidable problems with C programs linking against a
   dynamic library that includes C++ code, I separated out the c++ code into
   libgccpp.

Based on patch provided in PR pkg/21569 by Marc Recht.
2003-05-22 16:46:48 +00:00
jmmv
367e68568c Add patch missed during update to 6.2alpha4. 2003-05-09 12:57:19 +00:00
jmmv
ef2fc0f967 Update to 6.2alpha4. The package version is set to 6.1.994 so that future
version checking will be correct when 6.2 final is out.

Changes since 6.1:
 - Guard the test for GC_DUMP_REGULARLY in misc.c with
   "#ifndef NO_DEBUGGING".  Otherwise it fails to build with NO_DEBUGGING
   defined.  (Thanks to Manuel Serrano.)
 - Message about retrying suspend signals was incorrectly generated even when
   flag was not set.
 - Cleaned up MACOSX/NEXT root registration code.  There was apparently a
   separate ifdef case in GC_register_data_segments() for no reason.
 - Removed MPROTECT_VDB for MACOSX port, based on one negative report.
 - Arrange for gc.h and friends to be correctly installed with GNU-style
   "make install".
 - Enable the GNU-style build facility include C++ support in the library
   with --enable-cplusplus. (Thanks to Thomas Maier for some of the patch.)
 - Mark from GC_thread_key in linux_threads.c, in case that's allocated
   from the garbage collected heap, as it is with our own thread-specific
   storage implementation.  (Thanks to Jeff Sturm.)
 - Mark all free list header blocks if they are heap allocated.  This avoids
   some unnecessary tracing.  And it remains correct if we clear the
   root set. (Thanks to Jeff Sturm for identifying the bug.)
 - Improved S390/Linux support.  Add S390/Linux 64-bit support.  (Thanks
   to Ulrich Weigand.)
 - Corrected the spelling of GC_{M,C}ALLOC_EXPLICTLY_TYPED to
   GC_{M,C}ALLOC_EXPLICITLY_TYPED in gc_typed.h.  This is technically
   an interface change.  Based on the fact that nobody reported this,
   I suspect/hope there were no clients.
 - Cleaned up gc_typed.h so that (1) it adds an extern "C" declaration
   when appropriate, (2) doesn't generate references to undefined internal
   macros, and (3) allows easier manual construction of descriptors.
 - Close the file descriptor used by GC_print_address_map().
 - Set the "close-on-exec" bit for various file descriptors maintained
   for the collector's internal use.
 - Added a hack to find memory segments owned by the system allocator
   under win32.  Based on my tests, this tends to eventually find all
   segments, though it may take a while.  There appear to be cleaner,
   but slower solutions under NT/XP.  But they rely on an API that's
   unsupported under 9X.
 - Changed Linux PowerPC stack finding to LINUX_STACKBOTTOM.  (Thanks
   to Akira Tagoh for pointing out that HEURISTIC1 doesn't work on
   64-bit kernels.)
 - Added GC_set_free_space_divisor to avoid some Windows dll issues.
 - Added FIXUP_POINTER, POINTER_SHIFT, POINTER_MASK to allow preprocessing
   of candidate pointers for tagging, etc.
 - Always lock around GC_notify_full_gc().  Simplified code for
   invoking GC_notify_full_gc().
 - Changed the way DATASTART is defined on FreeBSD to be robust against
   an unmapped page after etext.  (Thanks to Hironori Sakamoto for
   tracking down the intermittent failure.)
 - Made GC_enable() and GC_disable() official.  Deprecated direct update
   of GC_dont_gc.  Changed GC_gcollect to be a noop when garbage collection
   is disabled.
 - Call GC_register_dynamic_libraries before stopping the world on Linux,
   in order to avoid a potential deadlock due to the dl_iterate_phdr lock.
 - Introduced a more general mechanism for platform-dependent code to
   decide whether the main data segment should be handled separately
   from dynamic libraries, or registered by GC_register_dynamic_libraries.
   The latter is more reliable and easier on Linux with dl_iterate_phdr.

Changes since 6.2alpha1:
 - Fixed the completely broken FreeBSD code in 6.2alpha1.  (Thanks to
   Hironori Sakamoto for the patch.)
 - Changed IRIX reference in dbg_mlc.c to IRIX5. (Thanks to Marcus Herbert.)
 - Attempted to work around the problems with .S filenames and the SGI
   compiler.  (Reported by several people. Untested.)
 - Worked around an HP/UX make issue with the GNU-style build process.
 - Fixed the --enable-cplusplus build machinery to allow builds without
   a C++ compiler.  (That was always the intent ...)
 - Changed the debugging allocation macros to explicitly pass the return
   address for Linux and XXXBSD on hardware for which we can't get stack
   traces.  Use __builtin_return_address(0) to generate it when possible.
   Some of the configuration work was cleaned up (good) and moved to gc.h
   (bad, but necessary).  This should make leak detection more useful
   on a number of platforms.  (Thanks to Fabian Thylman for the suggestion.)
 - Fixed compilation problems in dbg_mlc.c with GC_ADD_CALLER.
 - Bumped revision number for dynamic library.

Changes since 6.2alpha2:
 - Don't include execinfo.h in os_dep.c when it's not needed, and may not exist.

Changes since 6.2alpha3:
 - Use LINUX_STACKBOTTOM for >= glibc2.2 on Linux/MIPS.  (See Debian bug
   # 177204)
 - Integrated Jeff Sturm and Jesse Rosenstock's MACOSX threads patches.
 - Integrated Grzegorz Jakacki's substantial GNU build patch.  "Make dist"
   should now work for the GNU build process.  Documentation files
   are installed under share/gc.
 - Tweaked gc_cpp.h to again support the Borland compiler.  (Thanks to
   Rene Girard for pointing out the problems.)
 - Updated BCC_MAKEFILE (thanks to Rene Girard).
 - Added GC_ASSERT check for minimum thread stack size.
 - Added --enable-gc-assertions.
 - Added some web documentation to the distribution.  Updated it in the
   process.
 - Separate gc_conf_macros.h from gc.h.
 - Added generic GC_THREADS client-defined macro to set the appropriate
   GC_XXX_THREADS internal macro.  (gc_config_macros.h.)
 - Add debugging versions of _ignore_off_page allocation primitves.
 - Moved declarations of GC_make_closure and GC_debug_invoke_finalizer
   from gc.h to gc_priv.h.
 - Reset GC_fail_count even if only a small allocation succeeds.
 - Integrated Brian Alliet's patch for dynamic library support on Darwin.
 - gc_cpp.h's gc_cleanup destructor called GC_REGISTER_FINALIZER_IGNORE_SELF
   when it should have called the lower case version, since it was
   explicitly computing a base pointer.
2003-05-09 12:53:26 +00:00
kei
9506ea7bd2 added m68k ELF support to boehm-gc. stolen from the diff for sparc.
bump PKGREVISION to 2.
2003-02-17 12:32:04 +00:00
wiz
c5ade8fb8a Update to 6.1nb1, from Marc Recht in PR 20008: Install shared libs. 2003-02-14 18:50:50 +00:00
kei
bfcd7b4a26 make this compile on arm-ELF platforms. it would be a good if someone who
have such platforms test this.  and I heard that it is currently broken on
mac68k.

changes suggested by Izumi Tsutsui.
2003-02-10 14:08:21 +00:00
uebayasi
a30073360f Test if __m68k__ is defined on NetBSD/m68k ELF. 2002-12-27 10:11:53 +00:00
wiz
1256280570 Update to 6.1, provided by Julio Merino in PR 18240.
Changes: lots of bugfixes and improvements.
2002-09-25 18:18:51 +00:00
jlam
e2afa97f51 Merge changes in packages from the buildlink2 branch that have
buildlink2.mk files back into the main trunk.  This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
2002-08-25 18:38:05 +00:00
wiz
91094709a0 Fix build on pmax/1.4.x. Closes pkg/15201. 2002-07-31 14:28:32 +00:00
kei
3573eb268b updated to boehm-gc 6.0 (gc6.0) which incorporated most of our patch.
On i386 aout/ELF, saprc ELF and macppc, 'cd ${WRKSRC}; make test' got
success and www/w3m package which depends on this runs.
2001-09-08 00:36:09 +00:00
jlam
db2bbbf859 Deal with "unix no longer predefined" warning. Modify Makefile so we don't
need to pass in various variables through MAKE_ENV, and honor CFLAGS
passed in from environment during build.
2001-05-04 01:28:14 +00:00
thorpej
3ee0dc48d9 Use __builtin_return_address(0) to get the PC of the caller. 2001-03-30 04:08:34 +00:00
kei
46b126c942 * added support for vax architechture. Patch supplied by Shinmyoh Koji in
pkg/12282.  Thanks!
2001-02-25 13:36:17 +00:00
jlam
11f07d09b1 Avoid warnings about `unix' being redefined when compiling with gcc-2.95.2. 2000-12-06 08:12:37 +00:00
abs
b22c965339 Fix compilation on arm32 by testing for __arm32__ not arm32 2000-11-16 10:42:24 +00:00
jlam
765e6d695b Use generic GC_push_regs() on mipsel (hpcmips) platforms. Patch applied
from pkg/10674 by Hiroyuki Yanai <fk200329@fsinet.or.jp>.
2000-07-25 05:58:25 +00:00
jlam
46c7a05b85 Add support for mipsel (hpcmips). Patch taken from PR#10643 by
Hiroyuki Yanai <fk200329@fsinet.or.jp>.
2000-07-25 00:46:58 +00:00
itojun
63ee94d24c defuzz 2000-06-30 19:36:05 +00:00
jlam
09e151bd43 Update boehm-gc to 5.0alpha7. Changes from 5.0alpha3 are mostly bugfixes
but there is the addition of the NetBSD/arm32 bits.

This has been tested on mac68k, macppc, sparc ELF, i386 ELF.

Update provided in PR#10062 by Sunagawa Keiki <kei_sun@ba2.so-net.ne.jp>.
2000-06-20 21:50:19 +00:00
jlam
7cacd75db4 Update boehm-gc to 5.0alpha7. Changes from 5.0alpha3 are mostly bugfixes
but there is the addition of the NetBSD/arm32 bits.

This has been tested on mac68k, macppc, sparc ELF, i386 ELF.

Update provided in PR#10062 by Sunagawa Keiki <kei_sun@ba2.so-net.ne.jp>.
2000-06-20 21:47:20 +00:00
minoura
d4cb36531f Make this compile (again) on sparc/a.out.
Thanks to Toshihiro Kobayashi <koba@lsig.nel.co.jp>.
1999-12-28 14:07:43 +00:00
wiz
b4473517cd RCS tag added 1999-12-28 04:56:52 +00:00
rh
1764488705 defuzz 1999-11-15 17:59:47 +00:00
minoura
c9412ae2aa Make this work on sparcs.
Needs tests on a.out systems.
1999-11-04 15:21:57 +00:00
jlam
aa7a93bc67 Update boehm-gc to 5.0alpha3. It now supports m68k, i386, sparc a.out
systems and ELF ones (checked on alpha, i386, powerpc) as well.  Update
supplied by SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp> in PR#8482 with
minor additions by me.
1999-09-24 16:42:05 +00:00
christos
ca4653b0c4 Make this compile on the sparc 1998-09-06 16:06:58 +00:00
agc
86db14e819 Add NetBSD RCS Ids. 1998-08-07 10:35:47 +00:00
agc
5a57b96406 Re-do Makefile patches for version 4.12. 1998-02-26 16:50:29 +00:00
agc
450dc62227 Initial import of FreeBSD devel ports into NetBSD
packages system.
1997-10-06 14:06:09 +00:00