./devel/boehm-gc, Garbage collection and memory leak detection for C and C++

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 7.6.0nb2, Package name: boehm-gc-7.6.0nb2, Maintainer: pkgsrc-users

The Boehm-Weiser garbage collection package, for C and C++ -
garbage collection and memory leak detection libraries.

A garbage collector is something which automatically frees malloc'd
memory for you by working out what parts of memory your program
no longer has pointers to. As a result, garbage collectors can also
inform you of memory leaks (if they find memory they can free, it means
you have lost all of your pointers to it, but you didn't free it).

This package has two libraries and some include files:
libgc.a - a garbage collection library, replaces malloc/free/new/delete/etc
with versions that do automatic garbage collection
libleak.a - a leak detection library, which is just libgc.a compiled with
different switches.

C programs may be linked against either of these, and should run (with
GC or leak detection) without change. C++ programs must include a header
to use garbage collection, though leak detection should work without
such source code modifications. See the man page and header files.

PS: garbage collection is addictive.

Required to run:

Required to build:

Master sites:

SHA1: bae6b3754ff8d3845b5171346bf924e13be6c693
RMD160: f69b900fed7ae844d355cfccad90cd25214da98e
Filesize: 1085.694 KB

Version history: (Expand)

CVS history: (Expand)

   2016-12-03 04:09:26 by John Marino | Files touched by this commit (5)
Log message:
devel/boehm-gc: Fix functionality on DragonFly

Boehm-gc built on DragonFly, but it wasn't working properly.  This is
one of the major reasons lang/guile20 doesn't build.  Ths fix is proven
as it has been taken from DPorts.
   2016-09-28 10:15:30 by Jonathan Perkin | Files touched by this commit (1) | Package updated
Log message:
Limit the Snow Leopard build fix to just Snow Leopard, it causes runtime
failures on newer releases, shown in 'make test' failures and reported in
PR#51511.  Both 'make test' and lang/guile20 now work.  Bump PKGREVISION.
   2016-09-21 19:59:11 by Maya Rashish | Files touched by this commit (3)
Log message:
boehm-gc: apply upstream build fix for FreeBSD/DragonflyBSD.
Requested by David Shao in PR pkg/51414

from upstream commit:
https://github.com/ivmai/bdwgc/commit/6 … de0e7b354c
   2016-08-09 14:50:39 by Makoto Fujiwara | Files touched by this commit (3) | Package updated
Log message:
Updated devel/boehm-gc to 7.6.0
== [7.6.0] 2016-08-02 ==

* ABORT_ARGn log details at INFO level (Android).
* Add 'pragma message' to gc.h to detect inconsistent WIN64/_WIN64 (MS VC).
* Add API function to calculate total memory in use by all GC blocks.
* Add API function to set/modify GC log file descriptor (Unix).
* Add alloc_size attribute to GC_generic_malloc.
* Add alt-stack registration support.
* Add assertion for GC_new_kind boolean arguments.
* Add assertion on lock status to GC_alloc_large and its callers.
* Add build scripts for VC 9 (Win32/64)
* Add build system plumbing for building with -Werror.
* Add incremental GC support for Darwin/arm64
* Add profiling callback events to indicate start/end of reclaim phase.
* Add support for enumerating the reachable objects in the heap.
* Add toggle-ref support (following Mono GC API).
* Added instructions to README.md for building from git.
* Adjust code indentation of malloc/calloc/str[n]dup.
* Allow fork() automatic handling on Android with API level 21+.
* Allow specific TLS attributes for GC_thread_key.
* Allow thread local allocations from within pthread TLS destructors.
* Allow to force GC_dump_regularly set on at compilation.
* Altera NIOS2 support.
* Change 'cord' no-argument functions declaration style to ANSI C.
* Check DATASTART is less than DATAEND even assertions off.
* Check for execinfo.h by configure.
* Code refactoring of GC_push_finalizer/thread/typed_structures.
* Code refactoring regarding 'data start' definition for FreeBSD.
* Consistently set type of DATASTART/END to ptr_t (code refactoring).
* Consistently use int[] type for '_end' symbol (code refactoring).
* Consistently use outermost parentheses for DATASTART/END, STACKBOTTOM.
* Define ROUNDUP_PAGESIZE, ROUNDUP_GRANULE_SIZE macros (code refactoring).
* Define public GC_GENERIC_OR_SPECIAL_MALLOC and GC_get_kind_and_size.
* Do no declare kernel_id field of GC_Thread_Rep for 64-bit Android.
* Do not warn of missing PT_GNU_RELRO segment when custom DSO filter used.
* Document GC_register_my_thread returned value.
* Dump the block information in CSV format.
* Eliminate redundant *flh check for null in GC_allocobj.
* Enable atomic-uncollectable in operator new in gc_cpp.h.
* Enable build with musl libc.
* Enable gc.h inclusion by client without implicit include windows.h (Win32).
* Enable huge_test for Win64 (and LLP64 target).
* Enable thread-local storage for Android Clang.
* Enable thread-local storage usage for GC_malloc/calloc_explicitly_typed.
* Export GC_push_all_eager, GC_push_finalizer_structures.
* Fix 'arg parameter might be clobbered by setjmp' compiler warning.
* Fix assertion in GC_mark_from for non-heap regions.
* Fix compilation for Android clang/arm with bfd linker.
* Fix integer shift undefined behavior in GC_init_explicit_typing.
* Fix missing new-line and redundant trailing dot in WARN messages.
* Fix STACKBOTTOM for Solaris 11/x86.
* Fix tag collision between ENABLE_DISCLAIM and KEEP_BACK_PTRS.
* Fix unchecked fork() result in gctest (Unix, Cygwin).
* Fix user-defined signals drop by marker threads.
* Fix various typos in comments and documentation.
* FreeBSD/arm support improvement.
* GC_make_descriptor code refactoring (eliminate two local variables).
* GC_malloc[_atomic] global and thread-local generalization with kind.
* GC_malloc_[atomic_]uncollectable generalization.
* GC_scratch_alloc code refactoring (and WARN message improvement).
* Group all compact fields of GC_arrays to fit in single page.
* Handle load_segs overflow in register_dynlib_callback gracefully.
* Harmonize OSX/iOS configuration; enable compiling for iPhone simulator.
* Implement event callbacks for profiling (following Mono GC API).
* Implement the finalization extension API.
* Implement thread suspend/resume API (Linux threads only).
* Improve documentation for disappearing links in gc.h.
* Make heap growth more conservative after GC_gcollect_and_unmap call.
* Mark fo_head, finalize_now with a single GC_push_all call (refactoring).
* Move MessageBox invocation code from GC_abort to a separate routine (Win32).
* NaCl/arm initial support; NaCl runtime fixes for other CPUs.
* New macro (GC_ALWAYS_MULTITHREADED) to set multi-threaded mode implicitly.
* New macro (NO_WINMAIN_ENTRY) to prefer main() instead of WinMain in test.
* New macro (REDIRECT_MALLOC_IN_HEADER) to enable source-level redirection.
* Process all PT_LOAD segments before PT_GNU_RELRO segments (Glibc).
* Re-implement GC_finalized_malloc using GC_malloc_kind.
* Refactoring of android_thread_kill/pthread_kill calls.
* Refactoring of GC_Xobjfreelist (use single array to keep free lists).
* Refactoring of thread-local *_freelists (use single array of free lists).
* Refine description in README how to build from source repository.
* Refine GC_free_space_divisor comment regarding its initial value.
* Reformat code of gc_cpp.cc/h.
* Remove 'opp' local variable in GC_malloc_X.
* Remove 'sig' argument of GC_suspend_handler_inner (code refactoring).
* Remove code commented out by 'ifdef UNDEFINED'.
* Remove hb_large_block field (use 1 extra bit of hb_flags instead).
* Remove obsolete BACKING_STORE_ALIGNMENT/DISPLACEMENT macros for Linux/IA64.
* Remove redundant casts in GC_generic_or_special_malloc and similar.
* Remove unsupported FreeBSD/ia64 case from gcconfig.h file.
* Remove unused GC_gcjdebugobjfreelist.
* Replace non-API occurrences of GC_word to word (code refactoring).
* Return GC_UNIMPLEMENTED instead of abort in GC_get_stack_base (OS/2).
* Show WoW64 warning message if running 32-bit on Win64 (enabled by macro).
* Standalone profiling callback for threads suspend/resume.
* Support (add machine description for) TILE-Gx and TILEPro targets.
* Support build for Android 64-bit (arm64, mips64, x86_64).
* Support FreeBSD/aarch64, FreeBSD/mips.
* Support iOS7 64-bit (AArch64) and iOS8+ 32/64-bit (Darwin).
* Support MinGW build in scripts.
* Turn off sigsetjmp workaround for Android/x86 starting from NDK r8e.
* Use magic header on objects to improve disclaim_test.
* Workaround 'sa_sigaction member missing' compiler error (Android/x32).
* Workaround 'unresolved __tls_get_addr' error for Android NDK Clang.
* Workaround a bug in winpthreads causing parallel marks deadlock (MinGW).
   2016-06-12 16:36:29 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
Updated boehm-gc to 7.4.4.

== [7.4.4] 2016-05-25 ==

* Allow GC_FAST_MALLOC_GRANS() multiple use in a function.
* Also enable the TSX workaround for i386 (Linux).
* Avoid unstructured procfs on Solaris.
* Change cord/de main() declaration style from K-R to ANSI C.
* Change no-argument functions declaration style to ANSI C (cord).
* Do not include sigcontext.h and asm/sigcontext.h.
* Eliminate 'divide by zero' compiler warning in cordtest.
* Eliminate warning about 64-bit pointer-to-int cast (Win64/pthreads-w32).
* Eliminate warnings detected by Cppcheck in cord de[_win].
* Fix 'comparison of non-null parameter is always false' warning (Clang).
* Fix 'CORD_iter5 unused result' code defect in cordxtra.
* Fix 'GC_generic_malloc_inner_ignore_off_page not used' compiler warning.
* Fix 'implicit declaration of vsnprintf' GCC warning (if strict ANSI mode).
* Fix 'signed-to-bigger-unsigned value assignment' in GC_init_size_map.
* Fix 'signed-to-bigger-unsigned value assignment' warning for hb_map.
* Fix 'signed-to-bigger-unsigned value assignment' warning in GC_setpagesize.
* Fix 'statement unreachable' compiler warning in GC_mark_from.
* Fix 'statement unreachable' compiler warning in memalign.
* Fix 'unused label' compiler warning in cord/de.
* Fix 'value truncated' compiler warning in CORD_cat (MS VC).
* Fix 'variable unused' warning in GC_save_callers.
* Fix 'visibility attribute not supported' GCC warning (IBM AIX).
* Fix CMake warning about CMP0054 by unquoting instances of HOST.
* Fix Cygwin64 build.
* Fix GC_REALLOC to call GC_FREE if new size is zero and pointer is non-NULL.
* Fix Makefile.direct for Cygwin.
* Fix __alloc_size__ availability detection (Clang).
* Fix abort message in GC_move_long_link.
* Fix and code refactoring of lock elision workaround (Linux/x64).
* Fix assertion on mark_lock_holder for non-unique NUMERIC_THREAD_ID.
* Fix data race in GC_init_explicit_typing.
* Fix gc.mak regarding msvc_dbg and test (MSVC).
* Fix missing error handling of pthread_attr_init/getstacksize.
* Fix missing error handling of pthreads_mutex_init and cond_wait.
* Fix missing numeric casts in cord.
* Fix potential left shift overflows in finalize.c (64-bit targets).
* Fix pthreads-win32 name in comments and documentation.
* Fix setup_mark_lock missing prototype.
* Fix unchecked fcntl() result.
* Fix unchecked pointer dereference in check_ints (gctest).
* Fix unchecked pthread_join() result in threadkey_test.
* Fix unchecked sigdelset() result in pthread_support.
* Fix undefined PTRFREE/NORMAL in gc_inline.h.
* Prefix PREFETCH_FOR_WRITE with GC_ as used in gc_inline.h public header.
* Relax mark_mutex attribute needed to disable elision (Linux/x64).
* Remove (deprecate) TODO file.
* Remove code duplication in GC_realloc.
* Remove duplicate new-line in OUT_OF_MEMORY message (cord).
* Remove references to missing linux_threads.c from documentation.
* Revert "Move asm machine-dependent files to 'src' folder" (partly).
* Support Android API level 21.
* Update compiler options in gc.mak (Win32).
* Use mmap instead of sbrk (Hurd).
* Workaround 'comparison is always false' GCC warning in GC_FAST_MALLOC_GRANS.
* Workaround 'identical expr on both sides of bitwise op' warning.
* Workaround Linux NTPL lock elision bug.
* Workaround false warning about unreachable code path.
* Workaround invalid '_end' symbol on Android clang 3.5+.
Also, includes 7.2g changes.
   2016-02-25 13:12:50 by Jonathan Perkin | Files touched by this commit (39)
Log message:
   2015-11-03 04:29:40 by Alistair G. Crooks | Files touched by this commit (1995)
Log message:
Add SHA512 digests for distfiles for devel category

Issues found with existing distfiles:
No changes made to these distinfo files.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-02-16 09:07:20 by Tobias Nygren | Files touched by this commit (1)
Log message:
reference upstream bug report for previous