summaryrefslogtreecommitdiff
path: root/devel/boehm-gc
AgeCommit message (Collapse)AuthorFilesLines
2005-02-23Add RMD160 digests.agc1-1/+2
2005-02-19Update to 6.4:wiz5-76/+15
- Merge gcconfig.h changes from gcc tree. - Unconditionally include gc_priv.h in solaris_pthreads.c, win32_threads.h, aix_irix_threads.c, and solaris_threads.c to get thread definitions. - Start marker threads in GC_thr_init, so that they get started even if no other threads are ever started. (Oddly enough, the parallel collector worked correctly, though not well, with no helper threads.) - Go ahead and split large blocks in GC_allochblk_nth if GC_dont_gc is set. (Thanks to Alexander Petrossian.) - GC_PRINT_BACK_HEIGHT would deadlock with thread support. - Let in_progress_space in backgraph.s grow dynamically. - Fix README.solaris2. The GC_thr_init() hack doesn't work anymore. - Convert GC_finalizer_mem_freed to bytes in allchblk.c. - Add missing declaration for GC_generic_malloc_words_small_inner. Without it, s390x breaks. (Thanks to Ulrich Weigand.) - Applied several MacOSX patches to support older tool chains. (Thanks to Stefan Ring.) - Bug fix for NetBSD/amd64. (Thanks to Marc Recht.) Add NetBSD/sh3 support. (Thanks to Uchiyama Yasushi.) - Fixed an uninitialized variable in cordprnt.c. (Thanks to gcc for providing the warning.) - Eliminated some, but not all, gcc -Wall warnings. - Changed some old style casts to reinterpret_cast in new_gc_alloc.h. (Thanks to Dan Grayson.) - GC_extend_size_map shouldn't adjust for GC_all_interior_pointers if GC_DONT_ADD_BYTE_AT_END is set. - Changed some (long) casts to (word) in preparation for win64. (Thanks to Peter Colson.) - Changed "int stack_size" declaration in pthread_support.c to use size_t. (Only mattered with GC_ASSERTIONS enabled.) - Added CRIS (etrax) support. (Thanks to Simon Posnjak and Hans-Peter Nilsson.) - Removed GC_IGNORE_FB frame buffer recognition, and replaced it with a check that the mapping type is MEM_IMAGE. In theory, this should work much better, but it is a high risk change for win32. (Thanks to Ashley Bone for the crucial experimental data behind this, and to Rutger Ovidus for some further experiments.) - Fixed print_block_list to print the correct kind number for STUBBORN. (Thanks to Rutger Ovidus.) - GC_allochblk_nth incremented GC_words_wasted by bytes rather than words. - Consider GC_words_wasted in GC_adj_words_allocd only if it is within reason. (A hack to avoid some extremely unlikely scenarios in which we manage to allocate only "wasted" space. 7.0 has a better fix.) - Changed PowerPC GC_clear implementation to use lwsync instead of eieio, since the documentation recommends against eieio, and it seems to be incorrect if the preceding memory op is a load. - Fixed print_block_list to print the correct kind number for STUBBORN. (Thanks to Rutger Ovidus.) - GC_allochblk_nth incremented GC_words_wasted by bytes rather than words. - Have configure.in generate an error if it is asked to support pthreads, but doesn't know how to. - Added Kazuhiro Inaoka's patch for Renesas M32R support. - Have the GNU build mechanism link with -ldl. Rename THREADLIBS to THREADDLLIBS to reflect this. (Thanks to Sven Verdoolaege.) - Added Hannes Mehnert's patch for FreeBSD/SPARC support. - Merged some FreeBSD specific patches to threadlibs.c and dyn_load.c. (Thanks tp John Merryweather Cooper.) - Define MPROTECT_VDB on MACOSX only if threads are being used, since the dirty page tracking mechanism uses threads. (This avoids an undefined reference to _GC_darwin_register_mach_handler_thread.) - By popular demand, use __libc symbols only if we are built with USE_LIBC_PRIVATES, which is off by default, and not otherwise documented. - Ignore GC_enable_incremental() requests when KEEP_BACK_PTRS is set. The GC itself will dirty lots of pages in this cases, probably making it counterproductive on all platforms. And the DARWIN port crashes.
2004-12-06Fixed Darwin build PR#26588adam1-4/+7
2004-11-10Make pkglint a bit happier.snj1-3/+2
2004-11-10Make this build on sparc64. Prompt supplied by Gert Doering in PR pkg/27757.snj2-1/+23
2004-10-03Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10tv2-3/+4
in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
2004-09-22Mechanical changes to package PLISTs to make use of LIBTOOLIZE_PLIST.jlam1-9/+1
All library names listed by *.la files no longer need to be listed in the PLIST, e.g., instead of: lib/libfoo.a lib/libfoo.la lib/libfoo.so lib/libfoo.so.0 lib/libfoo.so.0.1 one simply needs: lib/libfoo.la and bsd.pkg.mk will automatically ensure that the additional library names are listed in the installed package +CONTENTS file. Also make LIBTOOLIZE_PLIST default to "yes".
2004-07-13update boehm-gc to 6.3b1recht5-5/+61
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-09update to 6.3recht10-266/+43
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-06-28Make this buildable on NetBSD/amd64.toshii3-9/+35
Changes are quite mechanical, but "gctest" appears to work...
2004-05-12No longer used.snj1-29/+0
2004-05-07Add RCS tagscjep1-0/+1
2004-04-03Fix building on m68k (tested: amiga), OK'd by Hans Boehm (hans.boehm hp com)hubertf4-16/+30
Bump to 6.2nb3
2004-03-05Reorder location and setting of BUILDLINK_PACKAGES to match templatejlam1-2/+4
buildlink3.mk file in revision 1.101 of bsd.buildlink3.mk.
2004-02-28boehm-gc doesn't build on amd64/x86_64 (and thus mono's internal gc), sorecht1-1/+4
add NOT_FOR_PLATFORM accordingly
2004-02-14LIBTOOL_OVERRIDE and SHLIBTOOL_OVERRIDE are now lists of shell globsjlam1-2/+1
relative to ${WRKSRC}. Remove redundant LIBTOOL_OVERRIDE settings that are automatically handled by the default setting in bsd.pkg.mk.
2004-01-24Append to BUILDLINK_DEPENDS.<pkg> instead of setting a default value. Injlam1-2/+2
the normal case when BUILDLINK_DEPENDS.<pkg> isn't specified, it receives a value only once due to the multiple inclusion protection in the bulldlink3.mk files. In the case where a package includes several buildlink3.mk files that each want a slightly different version of another dependency, having BUILDLINK_DEPENDS.<pkg> be a list allows for the strictest <pkg> dependency to be matched.
2004-01-22replace deprecated USE_GMAKE with USE_GNU_TOOLS+=make.grant1-2/+2
2004-01-05bl3ifyjlam1-2/+5
2004-01-05Use S/+$// instead of C/\+$// to save a backslash. Very highlyjlam1-2/+2
recommended by seb :)
2004-01-04Re-arrange to match example buildlink3.mk file in bsd.buildlink3.mk.jlam1-9/+6
2004-01-03Initial sprinkling of work-in-progress buildlink3.mk files for using thejlam1-0/+19
buildlink3 framework.
2003-12-03Add a patch from Christian Limpach wrt to signal handling.recht3-3/+67
bump PKGREVISION
2003-09-14Use my NetBSD.org email address.recht1-2/+2
2003-08-17install private header files as well. an application (latest version ofkei5-5/+41
lang/gauche, actually) needs them. there are some comments in doc/README.changes about this issue.
2003-06-29Add a test target. One appropriate ${MAKE_PROGRAM}.uebayasi1-2/+9
2003-06-27Update to 6.2:jmmv3-6/+7
Since 6.2alpha5: - There was extra underscore in the name of GC_save_registers_in_stack for NetBSD/SPARC. (Thanks to Jaap Boender for the patch.) - Integrated Brian Alliet's patch for Darwin. This restructured the linuxthreads/pthreads support to separate generic pthreads support from more the system-dependent thread-stopping code. I believe this should make it easier to eliminate the code duplication between pthreads platforms in the future. The patch included some other code cleanups. - Integrated Dan Bonachea's patch to support AIX threads. This required substantial manual integration, mostly due to conflicts with other recent threads changes. It may take another iteration to get it to work. - Removed HPUX/PA-RISC support from aix_irix_threads.c. It wasn't used anyway and it cluttered up the code. And anything we can do to migrate towards generic pthreads support is a good thing. - Added a more explicit test for tracing of function arguments to test.c. (Thanks to Dan Grayson.) - Added Akira Tagoh's PowerPC64 patch. - Fixed some bit rot in the Cygwin port. (Thanks to Dan Bonachea for pointing it out.) Gc.h now includes just windows.h, not winbase.h. - Declared GC_save_regs_in_stack() in gc_priv.h. Remove other declarations. - Changed --enable-cplusplus to use automake consitionals. The old way confused libtool. "Make install" didn't work correctly for the old version. Previously --enable-cplusplus was broken on cygwin. - Changed the C version of GC_push_regs to fail at compile time if it is generated with an empty body. This seems to have been the cause of one or two subtle failures on unusual platforms. Those failures should now occur at build time and be easily fixable. Since 6.2alpha6: - Integrated a second round of Irix/AIX patches from Dan Bonachea. Renamed mips_sgi_mach_dep.S back to mips_sgi_mach_dep.s, since it requires the Irix assembler to do the C preprocessing; gcc -E doesn't work. - Fixed Makefile.direct for DARWIN. (Thanks to Manuel Serrano.) - There was a race between GC_pthread_detach and thread exit that could result in a thread structure being deallocated by GC_pthread_detach eventhough it was still needed by the thread exit code. (Thanks to Dick Porter for the small test case that allowed this to be debugged.) - Fixed version parsing for non-alpha versions in acinclude.m4 and version checking in version.h.
2003-05-23Add new header files into buildlink2.mk. Toru Takamizu in PR21657.uebayasi1-1/+4
2003-05-22Update to 6.2alpha5:jmmv8-53/+39
- 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-10Link header files in two different places, as many programs search themjmmv1-2/+7
in include/ rather than include/gc/. When boehm-gc 6.2 is out, this should be removed, fixing the package to install things in both places as intended (removing patch-af), bumping the version in this buildlink and bumping revisions for all packages using this one. As discussed with wiz@. Fixes pkg/21521 by charlie at rubberduck.com.
2003-05-09Package tools support the "alpha" suffix properly to compare versions, sojmmv1-2/+2
set boehm-gc's version to 6.2alpha4 instead of 6.1.994. Thanks, agc@.
2003-05-09Add patch missed during update to 6.2alpha4.jmmv1-0/+13
2003-05-09Update to 6.2alpha4. The package version is set to 6.1.994 so that futurejmmv5-19/+80
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-02-17I forgot to rebuild distinfo after changing the patch file again. Sorrykei1-2/+2
for inconvenience.
2003-02-17added m68k ELF support to boehm-gc. stolen from the diff for sparc.kei3-6/+22
bump PKGREVISION to 2.
2003-02-14Update to 6.1nb1, from Marc Recht in PR 20008: Install shared libs.wiz8-72/+35
2003-02-12Re-generate checksum for patch-ad after its modification.agc1-2/+2
2003-02-10make this compile on arm-ELF platforms. it would be a good if someone whokei1-2/+11
have such platforms test this. and I heard that it is currently broken on mac68k. changes suggested by Izumi Tsutsui.
2002-12-27Test if __m68k__ is defined on NetBSD/m68k ELF.uebayasi2-5/+14
2002-10-09Unused.wiz1-37/+0
2002-09-25Update to 6.1, provided by Julio Merino in PR 18240.wiz6-38/+48
Changes: lots of bugfixes and improvements.
2002-08-25Merge changes in packages from the buildlink2 branch that havejlam4-4/+26
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-07-31Fix build on pmax/1.4.x. Closes pkg/15201.wiz2-1/+26
2001-11-19Trivially mark as USE_BUILDLINK_ONLY.jlam1-2/+3
2001-11-19Add buildlink.mk file for use by other package Makefiles.jlam1-0/+37
2001-11-01Move pkg/ files into package's toplevel directoryzuntum2-1/+1
2001-09-08updated to boehm-gc 6.0 (gc6.0) which incorporated most of our patch.kei11-413/+54
On i386 aout/ELF, saprc ELF and macppc, 'cd ${WRKSRC}; make test' got success and www/w3m package which depends on this runs.
2001-05-04Deal with "unix no longer predefined" warning. Modify Makefile so we don'tjlam4-46/+44
need to pass in various variables through MAKE_ENV, and honor CFLAGS passed in from environment during build.
2001-04-21Move to sha1 digests, and/or add distfile sizes.wiz1-1/+1
2001-04-18Move to sha1 digest, and add distfile sizeagc1-2/+3