Permalink
Commits on Sep 16, 2013
  1. @ivmai

    Fix race in GC_print_all_errors regarding GC_leaked

    * reclaim.c (GC_add_leaked): Remove FIXME.
    * reclaim.c (GC_print_all_errors): Declare n_leaked, leaked[] local
    variables initialized from GC_[n_]leaked while holding the allocation
    lock (reset GC_n_leaked and GC_leaked[] as well); add GC_ASSERT for
    n_leaked; use [n_]leaked while printing leaked objects count and
    pointers.
    * reclaim.c (GC_print_all_errors): Acquire lock to reset
    printing_errors.
    ivmai committed Sep 16, 2013
Commits on Sep 15, 2013
  1. @nealef @ivmai

    Add weak attribute to avoid __data_start undefined messages (s390x)

    (Apply commit 8d3e3ac from 'mono_libgc' branch.)
    
    * include/private/gcconfig.h (__data_start, _end): Add "weak"
    attribute for Linux/s390.
    
    Conflicts:
    
        include/private/gcconfig.h
    nealef committed with ivmai May 9, 2013
  2. @ivmai

    Merge (dummy) remote-tracking branch 'pcpa/master'

    Conflicts:
        include/gc_mark.h
        include/private/gc_priv.h
        mark.c
        os_dep.c
    ivmai committed Sep 15, 2013
  3. @ivmai

    Adjust 'pthread_[un]register_cancel undefined ref' workaround (Pthreads)

    * misc.c (__pthread_register_cancel, __pthread_unregister_cancel):
    Move prototypes to pthread_support.c.
    * pthread_support.c (__pthread_unregister_cancel,
    __pthread_unregister_cancel): Declare only if
    PTHREAD_REGISTER_CANCEL_WEAK_STUBS defined.
    ivmai committed Sep 15, 2013
  4. @ivmai

    Add weak stubs for pthread_cancel API.

    Alex Rozenman committed with ivmai Jun 2, 2013
  5. @ivmai
  6. @ivmai

    Revert "All interior pointers must be enabled for finalized allocation."

    (Ensuring all-interior-pointers mode is no longer needed.)
    
    This reverts commit 97f1133.
    ivmai committed Sep 15, 2013
Commits on Sep 14, 2013
  1. @ivmai

    Merge (dummy) remote-tracking branch 'paurkedal/t/thread_create_bug'

    Conflicts:
        pthread_start.c
        pthread_support.c
    ivmai committed Sep 14, 2013
  2. @ivmai

    Merge (dummy) remote-tracking branch 'paurkedal/remove-disclaim-cd'

    Conflicts:
        include/private/gc_priv.h
    ivmai committed Sep 14, 2013
  3. @ivmai

    Merge (dummy) remote-tracking branch 'paurkedal/finalizer-at-end'

    Conflicts:
        fnlz_mlc.c
        tests/disclaim_test.c
    ivmai committed Sep 14, 2013
  4. @ivmai

    Detect dladdr() presence by configure

    * configure.ac (have_dladdr): Add check for "dladdr" presence.
    * configure.ac (HAVE_DLADDR): New AC define based on have_dladdr.
    ivmai committed Sep 14, 2013
  5. @ivmai

    Explicitly specify that Darwin, Linux and Solaris platforms have dlad…

    …dr()
    
    * include/private/gcconfig.h (HAVE_DLADDR): Define also for DARWIN
    (conditionally), LINUX and SOLARIS (conditionally).
    ivmai committed Sep 13, 2013
Commits on Sep 7, 2013
  1. @ivmai

    Fix collection of objects referenced only from GC_mark_stack_X variables

    (Apply commit a7a5666 from 'release-7_2' branch.)
    
    * include/private/gc_pmark.h (mse): Move to gc_priv.h (as used by
    GC_mark_stack_limit, GC_mark_stack_top, GC_mark_stack).
    * include/private/gc_pmark.h (GC_mark_stack_limit, GC_mark_stack_top,
    GC_mark_stack): Remove variable declaration.
    * include/private/gc_priv.h (_GC_arrays): Add _mark_stack,
    _mark_stack_limit, _mark_stack_top fields.
    * include/private/gc_priv.h (GC_mark_stack_limit, GC_mark_stack_top,
    GC_mark_stack): Define macro (redirecting to the corresponding field
    of GC_arrays).
    * mark.c (GC_mark_stack, GC_mark_stack_limit, GC_mark_stack_top):
    Remove variable; move comment to gc_priv.h.
    * mark.c (GC_push_marked1, GC_push_marked2, GC_push_marked4): Undefine
    GC_mark_stack_top and GC_mark_stack_limit macros (before redefining
    them to local variables) at function start, redefine them back to the
    corresponding field of GC_arrays at function exit.
    
    Conflicts:
    
        include/private/gc_pmark.h
    ivmai committed Sep 6, 2013
Commits on Sep 3, 2013
  1. @ivmai
Commits on Sep 2, 2013
  1. @ivmai
  2. @ivmai

    Rename subthread_create to subthreadcreate_test (Makefile)

    * tests/tests.am (TESTS, check_PROGRAMS, subthreadcreate_SOURCES,
    subthreadcreate_test_LDADD): Rename "subthread_create" to
    "subthreadcreate_test" (except for .c file).
    * .gitignore: Likewise.
    ivmai committed Sep 2, 2013
  3. @ivmai

    tests: Append _test suffix to 'initsecondarythread' binary file names

    * tests/tests.am (TESTS, check_PROGRAMS, initsecondarythread_SOURCES,
    initsecondarythread_LDADD): Rename initsecondarythread to
    initsecondarythread_test (except for .c file).
    * .gitignore: Likewise.
    ivmai committed Sep 2, 2013
  4. @ivmai

    Prevent misleading AC_MSG_ERROR/AS_IF errors reported in configure.ac

    * configure.ac (PKG_CHECK_MODULES): Move AS_IF and AC_MSG_ERROR out of
    ACTION-IF-NOT-FOUND argument (setting "missing_libatomic_ops" variable
    instead) to prevent misleading
    "possibly undefined macro: AC_MSG_ERROR, AS_IF" error reported by
    Autoconf (pointing to code lines where these macros first occur) in
    case of PKG_CHECK_MODULES is not defined in aclocal.m4; add comment
    about missing Autotools pkg.m4 file.
    ivmai committed Sep 1, 2013
Commits on Sep 1, 2013
  1. @ivmai

    Replace deprecated [CXX]INCLUDES to AM_C[PP]FLAGS in configure.ac

    * configure.ac (INCLUDES): Replace with AM_CFLAGS (as the former is
    deprecated in Automake 1.13.4).
    * configure.ac (CXXINCLUDES): Replace with AM_CPPFLAGS.
    ivmai committed Sep 1, 2013
  2. @ivmai

    Remove configure.ac outdated revision number

    * configure.ac (AC_REVISION): Remove item (outdated).
    ivmai committed Sep 1, 2013
  3. @ivmai

    Specify LT_INIT in configure.ac

    * configure.ac (LT_INIT): Specify (otherwise Automake 1.13.4 reports
    error at "check_LTLIBRARIES" item in Makefile.am); add comment about
    "LIBTOOL is undefined" error.
    ivmai committed Sep 1, 2013
Commits on Aug 31, 2013
  1. @ivmai
Commits on Aug 25, 2013
  1. @ivmai

    Remove changes in Makefile.in and doc/gc.man specific to FreeBSD ports

    (Revert part of commit 8666ba2 from 'freebsd-ports-devel-boehm-gc' branch.)
    (Apply commit 8f8d395 from 'release-7_2' branch.)
    
    * doc/gc.man: Remove "PORT INFORMATION".
    
    Conflicts:
    
        Makefile.in
    ivmai committed Aug 25, 2013
  2. @ivmai

    Use __builtin_extract_return_addr in GC_RETURN_ADDR_PARENT (gcc/x86)

    * include/gc_config_macros.h (GC_RETURN_ADDR_PARENT): Use
    __builtin_extract_return_addr (since the address passed to dladdr);
    do not define the macro for GCC pre-v4.
    ivmai committed Aug 25, 2013
  3. @ivmai

    Prevent use of unsupported __builtin_return_address(1) in GC_DBG_EXTRAS

    * include/gc_config_macros.h (GC_CAN_SAVE_CALL_STACKS): Define also
    for __amd64__ (synonym for __x86_64__).
    * include/gc_config_macros.h (GC_RETURN_ADDR_PARENT): Define only for
    x86 and x86_64 (which have frame-pointer register, for other targets
    GCC might report "unsupported argument to __builtin_return_address"
    warning).
    ivmai committed Aug 24, 2013
  4. @ivmai

    Define GC_caller_func_offset only if HAVE_DLADDR and GC_RETURN_ADDR_P…

    …ARENT
    
    (Apply commit 5d94f18 from 'release-7_2' branch.)
    
    * dbg_mlc.c (GC_caller_func_offset): Do not define (and do not include
    dlfcn.h) unless GC_ADD_CALLER; test HAVE_DLADDR (and
    GC_RETURN_ADDR_PARENT) instead of FREEBSD macro.
    * dbg_mlc.c (GC_caller_func_offset): Use STATIC; replace the K&R-style
    function definition with the ANSI C one; remove unnecessary "const" in
    type casts; do not call dladdr() if address is 0.
    * dbg_mlc.c (GC_debug_malloc, GC_debug_realloc): Move assignment of
    "s" argument to "unknown" to GC_caller_func_offset (if GC_ADD_CALLER).
    * dbg_mlc.c (GC_debug_realloc): Do not call GC_caller_func_offset if
    "p" argument is NULL (i.e., if redirected to GC_debug_malloc)..
    * include/private/gcconfig.h (HAVE_DLADDR): Define for FREEBSD.
    
    Conflicts:
    
        dbg_mlc.c
    ivmai committed Aug 24, 2013
  5. @ivmai

    Replace GC_DBG_RA with GC_DBG_EXTRAS macro

    * dbg_mlc.c (GC_debug_malloc_replacement,
    GC_debug_realloc_replacement): Use GC_DBG_EXTRAS (instead of
    "GC_DBG_RA NULL, 0").
    * malloc.c (GC_debug_malloc_replacement): Likewise.
    * mallocx.c (GC_debug_realloc_replacement): Likewise.
    * include/private/gc_priv.h (GC_DBG_EXTRAS): New macro (similar to
    GC_EXTRAS but pass NULL/0 instead of __FILE__and __LINE__);
    pass "unknown" instead of NULL unless GC_ADD_CALLER.
    * include/private/gc_priv.h (GC_DBG_RA): Remove.
    ivmai committed Aug 23, 2013
  6. @ivmai

    Adjust GC_debug_malloc/realloc_replacement macro to match the API fun…

    …ction
    
    * malloc.c (GC_debug_malloc_replacement): Pass NULL (instead of
    "unknown") to "s" argument of GC_debug_malloc to match that
    replacement definition in dbg_mlc.c.
    * mallocx.c (GC_debug_realloc_replacement): Likewise.
    ivmai committed Aug 23, 2013
  7. @ivmai

    Fix old_segv/bus_act variables initialization for FreeBSD

    * os_dep.c (old_segv_act): Define static variable for FREEBSD (same as
    for NETBSD).
    * os_dep.c (GC_set_and_save_fault_handler): Reformat code (related to
    FreeBSD).
    * os_dep.c (GC_reset_fault_handler): Initialize old_segv_act (and
    old_bus_act) for FREEBSD (same as for NETBSD).
    ivmai committed Aug 22, 2013
  8. @ivmai

    Reformat gcconfig.h (related to FreeBSD/arm)

    * include/private/gcconfig.h (ALIGNMENT, OS_TYPE, DYNAMIC_LOADING,
    HEURISTIC2, etext, SEARCH_FOR_DATA_START): Reformat (adjust
    indentation) for FreeBSD/arm.
    ivmai committed Aug 22, 2013
  9. @ivmai

    Adjust configure.ac to match configure regarding FreeBSD/sparc64

    (Apply commit 41a99fb from 'release-7_2' branch.)
    
    * configure.ac (Configuration of machine-dependent code): Handle
    sparc64-*-freebsd* case.
    ivmai committed Jul 21, 2013
  10. @ivmai

    Fix GC_caller_func_offset and GC_DBG_RA names

    (Apply commit 28e6e4f from 'release-7_2' branch.)
    
    * dbg_mlc.c (GC_caller_func_offset): Test FREEBSD macro instead of
    __FreeBSD__ (since the former is always defined in gcconfig.h included
    from this file indirectly).
    * dyn_load.c (ElfW): Likewise.
    * dbg_mlc.c (GC_caller_func): Fix name to GC_caller_func_offset.
    * dbg_mlc.c (GC_debug_realloc): Invoke GC_caller_func_offset if
    GC_ADD_CALLER (same as in GC_debug_malloc and commit 2cdf7ec).
    * include/private/gc_priv.h (RA): Fix name to GC_DBG_RA.
    * include/private/gcconfig.h (X86_64): Test __x86_64__ in addition to
    __amd64__ for FreeBSD (proposed in commit b54833a).
    
    Conflicts:
    
        include/private/gcconfig.h
    ivmai committed Jul 21, 2013
  11. @magv @ivmai

    FreeBSD New ports collection for boehm-gc v7.2d

    (Apply commit 8666ba2 from 'release-7_2' branch.)
    
    * include/private/gc_priv.h (RA): Define to "GC_RETURN_ADDR_PARENT,"
    if GC_RETURN_ADDR_PARENT defined.
    * include/private/gcconfig.h (FREEBSD): Group rules.
    
    Conflicts:
    
        Makefile.in
        configure
        dbg_mlc.c
        include/private/gc_priv.h
        include/private/gcconfig.h
        os_dep.c
    magv committed with ivmai Jul 21, 2013
  12. @ivmai

    FreeBSD New ports collection for boehm-gc v7.1

    (Imported from freebsd-ports/devel/boehm-gc)
    (Apply commit 2cdf7ec from 'release-7_2' branch.)
    
    * dbg_mlc.c (GC_caller_func_offset): New function (empty unless
    FreeBSD).
    * dbg_mlc.c (GC_debug_malloc, GC_debug_realloc): Invoke
    GC_caller_func_offset if GC_ADD_CALLER.
    * include/private/gc_priv.h (GC_DBG_RA): Define to GC_RETURN_ADDR_PARENT
    (if the latter is defined).
    * dbg_mlc.c (GC_debug_malloc_replacement,
    GC_debug_realloc_replacement): Pass NULL (instead of "unknown") to
    GC_debug_malloc/realloc.
    * doc/gc.man: Add "PORT INFORMATION".
    * dyn_load.c (ElfW): Define for FreeBSD.
    * include/private/gcconfig.h (X86_64, IA64, POWERPC, ARM32,
    mach_type_known, ALIGNMENT, OS_TYPE, DYNAMIC_LOADING, HEURISTIC2,
    etext, SEARCH_FOR_DATA_START): Likewise.
    * os_dep.c (old_bus_act): Likewise.
    * include/gc.h (GC_RETURN_ADDR_PARENT): New macro.
    * os_dep.c (GC_set_and_save_fault_handler): Invoke sigaction(SIGBUS)
    for FreeBSD.
    * os_dep.c (AIM): Define before include machine/trap.h if FreeBSD/ppc.
    * os_dep.c (CODE_OK): Define to test "code" against EXC_DSI (instead
    of BUS_PAGE_FAULT) if FreeBSD/ppc.
    
    Conflicts:
    
        Makefile.in
        configure
        dbg_mlc.c
        include/gc.h
        include/private/gcconfig.h
        os_dep.c
    Mike McGaughey committed with ivmai Jul 21, 2013
Commits on Aug 15, 2013
  1. @ivmai

    Fix GC_INLINE definition to comply with ISO C90 standard (GCC)

    * include/private/gc_priv.h (GC_INLINE): Define as "static __inline"
    for GCC if "strict ISO/ANSI C90" mode is enforced.
    ivmai committed Aug 15, 2013