# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # devel_boehm-gc.diff # devel_boehm-gc-redirect.diff # devel_boehm-gc-threaded.diff # echo x - devel_boehm-gc.diff sed 's/^X//' >devel_boehm-gc.diff << 'd3fa4b9dca7ee1bd5c11b389305842c8' Xdiff -urN /usr/ports/devel/boehm-gc/Makefile devel/boehm-gc/Makefile X--- /usr/ports/devel/boehm-gc/Makefile 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/Makefile 2013-01-17 20:45:02.000000000 +0900 X@@ -1,52 +1,96 @@ X-# New ports collection makefile for: boehm-gc X-# Date created: 15 November 1996 X-# Whom: Mike McGaughey X-# X+# Created by: Mike McGaughey X # $FreeBSD: head/devel/boehm-gc/Makefile 300896 2012-07-14 13:54:48Z beat $ X-# X X PORTNAME= boehm-gc X-PORTVERSION= 7.1 X-PORTREVISION= 0 X+PORTVERSION= 7.2d X+PORTREVISION?= 0 X CATEGORIES= devel X MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ X-DISTNAME= gc-${PORTVERSION:S/.a/alpha/} X+DISTNAME= gc-${PORTVERSION} X X MAINTAINER= ports@FreeBSD.org X COMMENT= Garbage collection and memory leak detection for C and C++ X X-GNU_CONFIGURE= yes X+OPTIONS_DEFINE= PARALLEL_MARK DEBUG X+PARALLEL_MARK_DESC= Parallel-thread marking (faster for SMP) X+ X+WRKSRC= ${WRKDIR}/gc-${PORTVERSION:C,[[:alpha:]],,g} X+ X USE_GNOME= gnomehack X+GNU_CONFIGURE= yes X+CONFIGURE_ARGS= --enable-cplusplus --disable-static \ X+ --datadir=${WRKDIR}/tmproot X USE_LDCONFIG= yes X-CONFIGURE_ARGS= --enable-cplusplus --disable-static --disable-threads X MAKE_JOBS_UNSAFE= yes X-OPTIONS_DEFINE= DEBUG X X-.include X+.if defined(GC_VARIANT) X+PKGNAMESUFFIX= -${GC_VARIANT} X+RUN_DEPENDS+= ${PREFIX}/include/gc/gc.h:${PORTSDIR}/devel/boehm-gc X+PLIST= ${NONEXISTENT} X+PLIST_FILES= ${INSTLIBS:S,^,lib/lib,g:S,$,-${GC_VARIANT}.so.${SOVER},g} \ X+ ${INSTLIBS:S,^,lib/lib,g:S,$,-${GC_VARIANT}.so,g} \ X+ libdata/pkgconfig/bdw-gc-${GC_VARIANT}.pc X+INSTLIBS= cord gc gccpp X+SOVER= 1 X+.if ${GC_VARIANT} == "redirect" X+CONFIGURE_ARGS+= --disable-threads --enable-redirect-malloc X+.endif X+.if ${GC_VARIANT} == "threaded" X+CONFIGURE_ARGS+= --enable-threads=posix --disable-redirect-malloc \ X+ --enable-thread-local-alloc X+.endif X+.else X+OPTIONS_DEFINE+=DOCS X+CONFIGURE_ARGS+= --disable-threads --disable-redirect-malloc X+MAN3= gc.3 X+.endif X+ X+.include X+ X+.if ${PORT_OPTIONS:MPARALLEL_MARK} X+CONFIGURE_ARGS+= --enable-parallel-mark X+.endif X X .if ${PORT_OPTIONS:MDEBUG} X CONFIGURE_ARGS+= --enable-gc-debug X PKGNAMESUFFIX:= ${PKGNAMESUFFIX}+fulldebug X .endif X X-MAN3= gc.3 X+.include X X .if ${ARCH} == "ia64" X-BROKEN= Does not compile on ia64 X+BROKEN= Does not compile on ia64 X .endif X X+.if defined(GC_VARIANT) X+post-patch: X+ @${REINPLACE_CMD} -e \ X+ 's,libgc\.la,libgc-${GC_VARIANT}.la,g ; \ X+ s,libgccpp\.la,libgccpp-${GC_VARIANT}.la,g ; \ X+ s,libcord\.la,libcord-${GC_VARIANT}.la,g' ${WRKSRC}/Makefile.in X+ @${REINPLACE_CMD} -e \ X+ 's,-lgc,-lgc-${GC_VARIANT},' ${WRKSRC}/bdw-gc.pc.in X+ X+do-install: X+.for LIB in ${INSTLIBS} X+ ${INSTALL_DATA} ${WRKSRC}/.libs/lib${LIB}-${GC_VARIANT}.so.${SOVER} \ X+ ${PREFIX}/lib/lib${LIB}-${GC_VARIANT}.so.${SOVER} X+ ${LN} -sf lib${LIB}-${GC_VARIANT}.so.${SOVER} \ X+ ${PREFIX}/lib/lib${LIB}-${GC_VARIANT}.so X+.endfor X+ ${INSTALL_DATA} ${WRKSRC}/bdw-gc.pc \ X+ ${PREFIX}/libdata/pkgconfig/bdw-gc-${GC_VARIANT}.pc X+.else X post-patch: X @${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/doc/gc.man X X-# X-# Get rid of .la and static library files X-# X-post-configure: X- @${REINPLACE_CMD} -E -e \ X- '/Install the pseudo-library/,/staticlibs=/s,^,#,' ${WRKSRC}/libtool X- X post-install: X- ${INSTALL_MAN} ${WRKSRC}/doc/gc.man ${PREFIX}/man/man3/gc.3 X+ (cd ${WRKSRC}/doc && ${INSTALL_MAN} gc.man ${MAN3PREFIX}/man/man3/gc.3) X+.if ${PORT_OPTIONS:MDOCS} X+ @${MKDIR} ${DOCSDIR} X+ (cd ${WRKDIR}/tmproot/gc && ${INSTALL_DATA} * ${DOCSDIR}) X+.endif X+.endif X X test: build X cd ${WRKSRC} && ${MAKE} check Xdiff -urN /usr/ports/devel/boehm-gc/distinfo devel/boehm-gc/distinfo X--- /usr/ports/devel/boehm-gc/distinfo 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/distinfo 2013-01-16 19:31:59.000000000 +0900 X@@ -1,2 +1,2 @@ X-SHA256 (gc-7.1.tar.gz) = e3cef6028fe3efe7de3bcf4107c880eae50b3ee79841450d885467c09bcebf30 X-SIZE (gc-7.1.tar.gz) = 1077714 X+SHA256 (gc-7.2d.tar.gz) = d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e X+SIZE (gc-7.2d.tar.gz) = 1263064 Xdiff -urN /usr/ports/devel/boehm-gc/files/patch-Makefile.in devel/boehm-gc/files/patch-Makefile.in X--- /usr/ports/devel/boehm-gc/files/patch-Makefile.in 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/files/patch-Makefile.in 1970-01-01 09:00:00.000000000 +0900 X@@ -1,11 +0,0 @@ X---- Makefile.in.orig 2009-10-20 01:25:20.000000000 +0400 X-+++ Makefile.in 2009-10-20 01:25:30.000000000 +0400 X-@@ -75,7 +75,7 @@ X- srcdir = @srcdir@ X- top_srcdir = @top_srcdir@ X- VPATH = @srcdir@ X--pkgdatadir = $(datadir)/@PACKAGE@ X-+pkgdatadir = $(datadir)/doc/@PACKAGE@ X- pkglibdir = $(libdir)/@PACKAGE@ X- pkgincludedir = $(includedir)/@PACKAGE@ X- top_builddir = . Xdiff -urN /usr/ports/devel/boehm-gc/files/patch-dbg_mlc.c devel/boehm-gc/files/patch-dbg_mlc.c X--- /usr/ports/devel/boehm-gc/files/patch-dbg_mlc.c 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/files/patch-dbg_mlc.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,77 +0,0 @@ X---- dbg_mlc.c.orig 2009-10-20 00:34:39.000000000 +0400 X-+++ dbg_mlc.c 2009-10-20 00:41:22.000000000 +0400 X-@@ -456,10 +456,34 @@ X- GC_register_displacement((word)sizeof(oh) + offset); X- } X- X-+#if defined(__FreeBSD__) X-+#include X-+static void GC_caller_func_offset(ad, symp, offp) X-+const GC_word ad; X-+const char **symp; X-+int *offp; X-+{ X-+ Dl_info caller; X-+ if (dladdr((const void *)ad, &caller) && caller.dli_sname != NULL) { X-+ *symp = caller.dli_sname; X-+ *offp = (const char *)ad - (const char *)caller.dli_saddr; X-+ } X-+} X-+#else X-+#define GC_caller_func(ad, symp, offp) X-+#endif X-+ X- void * GC_debug_malloc(size_t lb, GC_EXTRA_PARAMS) X- { X- void * result = GC_malloc(lb + DEBUG_BYTES); X-- X-+ X-+#ifdef GC_ADD_CALLER X-+ if (s == NULL) { X-+ GC_caller_func_offset(ra, &s, &i); X-+ if (s == NULL) X-+ s = "unknown"; X-+ } X-+#endif X- if (result == 0) { X- GC_err_printf("GC_debug_malloc(%lu) returning NIL (", X- (unsigned long) lb); X-@@ -764,6 +788,13 @@ X- size_t old_sz; X- hdr * hhdr; X- X-+#ifdef GC_ADD_CALLER X-+ if (s == NULL) { X-+ GC_caller_func_offset(ra, &s, &i); X-+ if (s == NULL) X-+ s = "unknown"; X-+ } X-+#endif X- if (p == 0) return(GC_debug_malloc(lb, OPT_RA s, i)); X- if (base == 0) { X- GC_err_printf("Attempt to reallocate invalid pointer %p\n", p); X-@@ -1041,17 +1072,21 @@ X- } X- X- #ifdef GC_ADD_CALLER X--# define RA GC_RETURN_ADDR, X-+# ifdef GC_RETURN_ADDR_PARENT X-+# define RA GC_RETURN_ADDR_PARENT, X-+# else X-+# define RA GC_RETURN_ADDR, X-+# endif X- #else X- # define RA X- #endif X- X- void * GC_debug_malloc_replacement(size_t lb) X- { X-- return GC_debug_malloc(lb, RA "unknown", 0); X-+ return GC_debug_malloc(lb, RA NULL, 0); X- } X- X- void * GC_debug_realloc_replacement(void *p, size_t lb) X- { X-- return GC_debug_realloc(p, lb, RA "unknown", 0); X-+ return GC_debug_realloc(p, lb, RA NULL, 0); X- } Xdiff -urN /usr/ports/devel/boehm-gc/files/patch-include-gc.h devel/boehm-gc/files/patch-include-gc.h X--- /usr/ports/devel/boehm-gc/files/patch-include-gc.h 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/files/patch-include-gc.h 1970-01-01 09:00:00.000000000 +0900 X@@ -1,10 +0,0 @@ X---- include/gc.h.orig Wed Jun 4 17:07:33 2003 X-+++ include/gc.h Wed May 12 20:03:22 2004 X-@@ -487,6 +487,7 @@ X- /* gcc knows how to retrieve return address, but we don't know */ X- /* how to generate call stacks. */ X- # define GC_RETURN_ADDR (GC_word)__builtin_return_address(0) X-+# define GC_RETURN_ADDR_PARENT (GC_word)__builtin_return_address(1) X- # else X- /* Just pass 0 for gcc compatibility. */ X- # define GC_RETURN_ADDR 0 Xdiff -urN /usr/ports/devel/boehm-gc/files/patch-include-private-gcconfig.h devel/boehm-gc/files/patch-include-private-gcconfig.h X--- /usr/ports/devel/boehm-gc/files/patch-include-private-gcconfig.h 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/files/patch-include-private-gcconfig.h 2013-01-16 22:57:49.000000000 +0900 X@@ -1,63 +1,47 @@ X --- include/private/gcconfig.h.orig 2008-02-20 22:23:00.000000000 +0300 X +++ include/private/gcconfig.h 2009-10-20 01:08:38.000000000 +0400 X-@@ -64,7 +64,7 @@ X- /* Determine the machine type: */ X- # if defined(__arm__) || defined(__thumb__) X+@@ -73,6 +73,7 @@ X+ # if defined(__arm) || defined(__arm__) || defined(__thumb__) X # define ARM32 X--# if !defined(LINUX) && !defined(NETBSD) X-+# if !defined(LINUX) && !defined(NETBSD) && !defined(FREEBSD) X+ # if !defined(LINUX) && !defined(NETBSD) && !defined(OPENBSD) \ X++ && !defined(FREEBSD) \ X+ && !defined(DARWIN) && !defined(_WIN32) && !defined(__CEGCC__) X # define NOSYS X # define mach_type_known X- # endif X-@@ -334,10 +334,26 @@ X- # define X86_64 X- # define mach_type_known X+@@ -359,10 +360,18 @@ X+ # define I386 X+ # define mach_type_known X # endif X-+# if defined(__FreeBSD__) && defined(__amd64__) X-+# define X86_64 X-+# define mach_type_known X-+# endif X-+# if defined(__FreeBSD__) && defined(__ia64__) X-+# define IA64 X-+# define mach_type_known X-+# endif X- # if defined(FREEBSD) && defined(__sparc__) X- # define SPARC X- # define mach_type_known X+-# if defined(FREEBSD) && defined(__x86_64__) X++# if defined(FREEBSD) && (defined(__amd64__) || defined(__x86_64__)) X+ # define X86_64 X+ # define mach_type_known X # endif X-+# if defined(FREEBSD) && defined(__powerpc__) X-+# define POWERPC X++# if defined(FREEBSD) && defined(__ia64__) X++# define IA64 X +# define mach_type_known X +# endif X +# if defined(FREEBSD) && defined(__arm__) X +# define ARM32 X +# define mach_type_known X +# endif X- # if defined(bsdi) && (defined(i386) || defined(__i386__)) X- # define I386 X- # define BSDI X-@@ -1771,6 +1787,16 @@ X- # define OS_TYPE "MSWINCE" X- # define DATAEND /* not needed */ X+ # if defined(__NetBSD__) && (defined(i386) || defined(__i386__)) X+ # define I386 X+ # define mach_type_known X+@@ -1986,6 +1995,16 @@ X+ # define DATAEND ((ptr_t)(&_end)) X+ # define DYNAMIC_LOADING X # endif X +# ifdef FREEBSD X-+# define ALIGNMENT 4 X-+# define OS_TYPE "FREEBSD" X-+# ifdef __ELF__ X-+# define DYNAMIC_LOADING X-+# endif X-+# define HEURISTIC2 X-+ extern char etext[]; X-+# define SEARCH_FOR_DATA_START X++# define ALIGNMENT 4 X++# define OS_TYPE "FREEBSD" X++# ifdef __ELF__ X++# define DYNAMIC_LOADING X++# endif X++# define HEURISTIC2 X++ extern char etext[]; X++# define SEARCH_FOR_DATA_START X +# endif X # ifdef NOSYS X /* __data_start is usually defined in the target linker script. */ X extern int __data_start[]; X-@@ -1800,6 +1826,7 @@ X- # define OS_TYPE "MSWINCE" X- # define DATAEND /* not needed */ X- # endif X-+ X- # ifdef LINUX X- # define OS_TYPE "LINUX" X- # define LINUX_STACKBOTTOM Xdiff -urN /usr/ports/devel/boehm-gc/files/patch-include__gc_config_macros.h devel/boehm-gc/files/patch-include__gc_config_macros.h X--- /usr/ports/devel/boehm-gc/files/patch-include__gc_config_macros.h 1970-01-01 09:00:00.000000000 +0900 X+++ devel/boehm-gc/files/patch-include__gc_config_macros.h 2013-01-16 22:06:06.000000000 +0900 X@@ -0,0 +1,10 @@ X+--- include/gc_config_macros.h.orig X++++ include/gc_config_macros.h X+@@ -287,6 +287,7 @@ X+ /* gcc knows how to retrieve return address, but we don't know */ X+ /* how to generate call stacks. */ X+ # define GC_RETURN_ADDR (GC_word)__builtin_return_address(0) X++# define GC_RETURN_ADDR_PARENT (GC_word)__builtin_return_address(1) X+ # else X+ /* Just pass 0 for gcc compatibility. */ X+ # define GC_RETURN_ADDR 0 Xdiff -urN /usr/ports/devel/boehm-gc/files/patch-os_dep.c devel/boehm-gc/files/patch-os_dep.c X--- /usr/ports/devel/boehm-gc/files/patch-os_dep.c 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/files/patch-os_dep.c 2013-01-16 22:56:46.000000000 +0900 X@@ -1,44 +1,29 @@ X --- os_dep.c.orig 2008-02-29 11:01:28.000000000 -0800 X +++ os_dep.c 2010-04-01 00:50:34.000000000 -0700 X-@@ -816,7 +816,7 @@ X- || defined(HURD) || defined(NETBSD) X- static struct sigaction old_segv_act; X- # if defined(_sigargs) /* !Irix6.x */ || defined(HPUX) \ X-- || defined(HURD) || defined(NETBSD) X-+ || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- static struct sigaction old_bus_act; X- # endif X- # else X-@@ -826,7 +826,7 @@ X- void GC_set_and_save_fault_handler(handler h) X+@@ -840,8 +840,8 @@ X+ X+ GC_INNER void GC_set_and_save_fault_handler(GC_fault_handler_t h) X { X- # if defined(SUNOS5SIGS) || defined(IRIX5) \ X-- || defined(OSF1) || defined(HURD) || defined(NETBSD) X-+ || defined(OSF1) || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- struct sigaction act; X+-# if defined(SUNOS5SIGS) || defined(IRIX5) \ X+- || defined(OSF1) || defined(HURD) || defined(NETBSD) X++# if defined(SUNOS5SIGS) || defined(IRIX5) || defined(OSF1) \ X++ || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X+ struct sigaction act; X X- act.sa_handler = h; X-@@ -846,7 +846,7 @@ X- # else X- (void) sigaction(SIGSEGV, &act, &old_segv_act); X- # if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \ X-- || defined(HPUX) || defined(HURD) || defined(NETBSD) X-+ || defined(HPUX) || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- /* Under Irix 5.x or HP/UX, we may get SIGBUS. */ X- /* Pthreads doesn't exist under Irix 5.x, so we */ X- /* don't have to worry in the threads case. */ X-@@ -2713,7 +2713,13 @@ X- # include X- # if defined(FREEBSD) X- # define SIG_OK TRUE X--# define CODE_OK (code == BUS_PAGE_FAULT) X+ act.sa_handler = h; X+@@ -3073,8 +3073,14 @@ X+ # ifndef SEGV_ACCERR X+ # define SEGV_ACCERR 2 X+ # endif X+-# define CODE_OK (si -> si_code == BUS_PAGE_FAULT \ X +# if defined(POWERPC) X-+# define AIM /* Pretend that we're AIM. */ X-+# include X-+# define CODE_OK (code == EXC_DSI) X++# define AIM /* Pretend that we're AIM. */ X++# include X++# define CODE_OK (si -> si_code == EXC_DSI) X +# else X-+# define CODE_OK (code == BUS_PAGE_FAULT) X++# define CODE_OK (si -> si_code == BUS_PAGE_FAULT \ X+ || si -> si_code == SEGV_ACCERR) X +# endif X # elif defined(OSF1) X- # define SIG_OK (sig == SIGSEGV) X- # define CODE_OK (code == 2 /* experimentally determined */) X+ # define CODE_OK (si -> si_code == 2 /* experimentally determined */) X+ # elif defined(IRIX5) Xdiff -urN /usr/ports/devel/boehm-gc/pkg-plist devel/boehm-gc/pkg-plist X--- /usr/ports/devel/boehm-gc/pkg-plist 2012-11-08 04:39:10.000000000 +0900 X+++ devel/boehm-gc/pkg-plist 2013-01-17 00:03:12.000000000 +0900 X@@ -1,4 +1,5 @@ X include/gc.h X+include/gc/cord.h X include/gc/gc.h X include/gc/gc_allocator.h X include/gc/gc_amiga_redirects.h X@@ -16,47 +17,51 @@ X include/gc/new_gc_alloc.h X include/gc/weakpointer.h X include/gc_cpp.h X+lib/libcord.la X lib/libcord.so X lib/libcord.so.1 X+lib/libgc.la X lib/libgc.so X lib/libgc.so.1 X+lib/libgccpp.la X lib/libgccpp.so X lib/libgccpp.so.1 X libdata/pkgconfig/bdw-gc.pc X-share/doc/gc/README X-share/doc/gc/README.DGUX386 X-share/doc/gc/README.Mac X-share/doc/gc/README.MacOSX X-share/doc/gc/README.OS2 X-share/doc/gc/README.amiga X-share/doc/gc/README.arm.cross X-share/doc/gc/README.autoconf X-share/doc/gc/README.changes X-share/doc/gc/README.contributors X-share/doc/gc/README.cords X-share/doc/gc/README.darwin X-share/doc/gc/README.dj X-share/doc/gc/README.environment X-share/doc/gc/README.ews4800 X-share/doc/gc/README.hp X-share/doc/gc/README.linux X-share/doc/gc/README.macros X-share/doc/gc/README.rs6000 X-share/doc/gc/README.sgi X-share/doc/gc/README.solaris2 X-share/doc/gc/README.uts X-share/doc/gc/README.win32 X-share/doc/gc/README.win64 X-share/doc/gc/barrett_diagram X-share/doc/gc/debugging.html X-share/doc/gc/gc.man X-share/doc/gc/gcdescr.html X-share/doc/gc/gcinterface.html X-share/doc/gc/leak.html X-share/doc/gc/overview.html X-share/doc/gc/porting.html X-share/doc/gc/scale.html X-share/doc/gc/simple_example.html X-share/doc/gc/tree.html X-@dirrm share/doc/gc X+%%PORTDOCS%%%%DOCSDIR%%/README X+%%PORTDOCS%%%%DOCSDIR%%/README.DGUX386 X+%%PORTDOCS%%%%DOCSDIR%%/README.Mac X+%%PORTDOCS%%%%DOCSDIR%%/README.MacOSX X+%%PORTDOCS%%%%DOCSDIR%%/README.OS2 X+%%PORTDOCS%%%%DOCSDIR%%/README.amiga X+%%PORTDOCS%%%%DOCSDIR%%/README.arm.cross X+%%PORTDOCS%%%%DOCSDIR%%/README.autoconf X+%%PORTDOCS%%%%DOCSDIR%%/README.changes X+%%PORTDOCS%%%%DOCSDIR%%/README.cmake X+%%PORTDOCS%%%%DOCSDIR%%/README.contributors X+%%PORTDOCS%%%%DOCSDIR%%/README.cords X+%%PORTDOCS%%%%DOCSDIR%%/README.darwin X+%%PORTDOCS%%%%DOCSDIR%%/README.dj X+%%PORTDOCS%%%%DOCSDIR%%/README.environment X+%%PORTDOCS%%%%DOCSDIR%%/README.ews4800 X+%%PORTDOCS%%%%DOCSDIR%%/README.hp X+%%PORTDOCS%%%%DOCSDIR%%/README.linux X+%%PORTDOCS%%%%DOCSDIR%%/README.macros X+%%PORTDOCS%%%%DOCSDIR%%/README.rs6000 X+%%PORTDOCS%%%%DOCSDIR%%/README.sgi X+%%PORTDOCS%%%%DOCSDIR%%/README.solaris2 X+%%PORTDOCS%%%%DOCSDIR%%/README.uts X+%%PORTDOCS%%%%DOCSDIR%%/README.win32 X+%%PORTDOCS%%%%DOCSDIR%%/README.win64 X+%%PORTDOCS%%%%DOCSDIR%%/barrett_diagram X+%%PORTDOCS%%%%DOCSDIR%%/debugging.html X+%%PORTDOCS%%%%DOCSDIR%%/gc.man X+%%PORTDOCS%%%%DOCSDIR%%/gcdescr.html X+%%PORTDOCS%%%%DOCSDIR%%/gcinterface.html X+%%PORTDOCS%%%%DOCSDIR%%/leak.html X+%%PORTDOCS%%%%DOCSDIR%%/overview.html X+%%PORTDOCS%%%%DOCSDIR%%/porting.html X+%%PORTDOCS%%%%DOCSDIR%%/scale.html X+%%PORTDOCS%%%%DOCSDIR%%/simple_example.html X+%%PORTDOCS%%%%DOCSDIR%%/tree.html X+%%PORTDOCS%%@dirrm %%DOCSDIR%% X @dirrm include/gc d3fa4b9dca7ee1bd5c11b389305842c8 echo x - devel_boehm-gc-redirect.diff sed 's/^X//' >devel_boehm-gc-redirect.diff << 'abfa6072f2c9834f0488586bc29bf3c8' Xdiff -urN /usr/ports/devel/boehm-gc-redirect/Makefile devel/boehm-gc-redirect/Makefile X--- /usr/ports/devel/boehm-gc-redirect/Makefile 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/Makefile 2013-01-17 20:36:29.000000000 +0900 X@@ -1,63 +1,11 @@ X-# New ports collection makefile for: boehm-gc-redirect X-# Date created: 12/17/2009 X-# Whom: stas X-# X+# Created by: stas X # $FreeBSD: head/devel/boehm-gc-redirect/Makefile 300896 2012-07-14 13:54:48Z beat $ X-# X X-PORTNAME= boehm-gc X-PORTVERSION= 7.1 X-CATEGORIES= devel X-MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ X-PKGNAMESUFFIX= -${GC_VARIANT} X-DISTNAME= gc-${PORTVERSION:S/.a/alpha/} X+PORTREVISION= 0 X X-MAINTAINER= ports@FreeBSD.org X-COMMENT= Garbage collection and memory leak detection for C and C++ X+MASTERDIR= ${.CURDIR}/../boehm-gc X+DESCR= ${.CURDIR}/pkg-descr X X-RUN_DEPENDS= ${PREFIX}/include/gc/gc.h:${PORTSDIR}/devel/boehm-gc X- X-GNU_CONFIGURE= yes X-USE_LDCONFIG= yes X-CONFIGURE_ARGS= --enable-cplusplus --disable-static --disable-threads \ X- --enable-redirect-malloc X-CONFIGURE_ENV= CFLAGSS="${CFLAGS} LIBS="${LIBS} X-MAKE_JOBS_UNSAFE= yes X-INSTLIBS= cord gc gccpp X GC_VARIANT= redirect X-SOVER= 1 X- X-OPTIONS_DEFINE= DEBUG X- X-PLIST_FILES= ${INSTLIBS:S,^,lib/lib,g:S,$,-${GC_VARIANT}.so.${SOVER},g} \ X- ${INSTLIBS:S,^,lib/lib,g:S,$,-${GC_VARIANT}.so,g} X- X-.include X- X-.if ${ARCH} == "ia64" X-BROKEN= Does not compile on ia64 X-.endif X- X-.if ${PORT_OPTIONS:MDEBUG} X-CONFIGURE_ARGS+= --enable-gc-debug X-PKGNAMESUFFIX:= ${PKGNAMESUFFIX}+fulldebug X-.endif X- X-post-patch: X- ${REINPLACE_CMD} -E -e 's,libgc\.la,libgc-${GC_VARIANT}.la,g' \ X- -e 's,libgccpp\.la,libgccpp-${GC_VARIANT}.la,g' \ X- -e 's,libcord\.la,libcord-${GC_VARIANT}.la,g' \ X- ${WRKSRC}/Makefile.in X- X-do-install: X-.for LIB in ${INSTLIBS} X- ${INSTALL_DATA} ${WRKSRC}/.libs/lib${LIB}-${GC_VARIANT}.so.${SOVER} \ X- ${PREFIX}/lib/lib${LIB}-${GC_VARIANT}.so.${SOVER} X- @(cd ${PREFIX}/lib && ${LN} -s lib${LIB}-${GC_VARIANT}.so.${SOVER} \ X- lib${LIB}-${GC_VARIANT}.so) X-.endfor X- X-test: build X- cd ${WRKSRC} && ${MAKE} check X X-.include X+.include "${MASTERDIR}/Makefile" Xdiff -urN /usr/ports/devel/boehm-gc-redirect/distinfo devel/boehm-gc-redirect/distinfo X--- /usr/ports/devel/boehm-gc-redirect/distinfo 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/distinfo 1970-01-01 09:00:00.000000000 +0900 X@@ -1,2 +0,0 @@ X-SHA256 (gc-7.1.tar.gz) = e3cef6028fe3efe7de3bcf4107c880eae50b3ee79841450d885467c09bcebf30 X-SIZE (gc-7.1.tar.gz) = 1077714 Xdiff -urN /usr/ports/devel/boehm-gc-redirect/files/patch-configure devel/boehm-gc-redirect/files/patch-configure X--- /usr/ports/devel/boehm-gc-redirect/files/patch-configure 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/files/patch-configure 1970-01-01 09:00:00.000000000 +0900 X@@ -1,12 +0,0 @@ X---- configure.orig 2009-12-19 14:02:54.000000000 +0300 X-+++ configure 2009-12-19 14:04:13.000000000 +0300 X-@@ -6161,6 +6161,9 @@ X- sparc-*-netbsd*) X- machdep="mach_dep.lo sparc_netbsd_mach_dep.lo" X- ;; X-+ sparc64-*-freebsd*) X-+ machdep="mach_dep.lo sparc_mach_dep.lo" X-+ ;; X- sparc-sun-solaris2.3) X- machdep="mach_dep.lo sparc_mach_dep.lo" X- cat >>confdefs.h <<\_ACEOF Xdiff -urN /usr/ports/devel/boehm-gc-redirect/files/patch-dbg_mlc.c devel/boehm-gc-redirect/files/patch-dbg_mlc.c X--- /usr/ports/devel/boehm-gc-redirect/files/patch-dbg_mlc.c 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/files/patch-dbg_mlc.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,77 +0,0 @@ X---- dbg_mlc.c.orig 2009-10-20 00:34:39.000000000 +0400 X-+++ dbg_mlc.c 2009-10-20 00:41:22.000000000 +0400 X-@@ -456,10 +456,34 @@ X- GC_register_displacement((word)sizeof(oh) + offset); X- } X- X-+#if defined(__FreeBSD__) X-+#include X-+static void GC_caller_func_offset(ad, symp, offp) X-+const GC_word ad; X-+const char **symp; X-+int *offp; X-+{ X-+ Dl_info caller; X-+ if (dladdr((const void *)ad, &caller) && caller.dli_sname != NULL) { X-+ *symp = caller.dli_sname; X-+ *offp = (const char *)ad - (const char *)caller.dli_saddr; X-+ } X-+} X-+#else X-+#define GC_caller_func(ad, symp, offp) X-+#endif X-+ X- void * GC_debug_malloc(size_t lb, GC_EXTRA_PARAMS) X- { X- void * result = GC_malloc(lb + DEBUG_BYTES); X-- X-+ X-+#ifdef GC_ADD_CALLER X-+ if (s == NULL) { X-+ GC_caller_func_offset(ra, &s, &i); X-+ if (s == NULL) X-+ s = "unknown"; X-+ } X-+#endif X- if (result == 0) { X- GC_err_printf("GC_debug_malloc(%lu) returning NIL (", X- (unsigned long) lb); X-@@ -764,6 +788,13 @@ X- size_t old_sz; X- hdr * hhdr; X- X-+#ifdef GC_ADD_CALLER X-+ if (s == NULL) { X-+ GC_caller_func_offset(ra, &s, &i); X-+ if (s == NULL) X-+ s = "unknown"; X-+ } X-+#endif X- if (p == 0) return(GC_debug_malloc(lb, OPT_RA s, i)); X- if (base == 0) { X- GC_err_printf("Attempt to reallocate invalid pointer %p\n", p); X-@@ -1041,17 +1072,21 @@ X- } X- X- #ifdef GC_ADD_CALLER X--# define RA GC_RETURN_ADDR, X-+# ifdef GC_RETURN_ADDR_PARENT X-+# define RA GC_RETURN_ADDR_PARENT, X-+# else X-+# define RA GC_RETURN_ADDR, X-+# endif X- #else X- # define RA X- #endif X- X- void * GC_debug_malloc_replacement(size_t lb) X- { X-- return GC_debug_malloc(lb, RA "unknown", 0); X-+ return GC_debug_malloc(lb, RA NULL, 0); X- } X- X- void * GC_debug_realloc_replacement(void *p, size_t lb) X- { X-- return GC_debug_realloc(p, lb, RA "unknown", 0); X-+ return GC_debug_realloc(p, lb, RA NULL, 0); X- } Xdiff -urN /usr/ports/devel/boehm-gc-redirect/files/patch-dyn_load.c devel/boehm-gc-redirect/files/patch-dyn_load.c X--- /usr/ports/devel/boehm-gc-redirect/files/patch-dyn_load.c 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/files/patch-dyn_load.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,15 +0,0 @@ X---- dyn_load.c.orig Thu May 6 08:03:06 2004 X-+++ dyn_load.c Sun Oct 31 01:53:01 2004 X-@@ -97,6 +97,12 @@ X- # else X- # define ElfW(type) Elf64_##type X- # endif X-+# elif defined(__FreeBSD__) X-+# if __ELF_WORD_SIZE == 32 X-+# define ElfW(type) Elf32_##type X-+# else X-+# define ElfW(type) Elf64_##type X-+# endif X- # else X- # if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32 X- # define ElfW(type) Elf32_##type Xdiff -urN /usr/ports/devel/boehm-gc-redirect/files/patch-include-gc.h devel/boehm-gc-redirect/files/patch-include-gc.h X--- /usr/ports/devel/boehm-gc-redirect/files/patch-include-gc.h 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/files/patch-include-gc.h 1970-01-01 09:00:00.000000000 +0900 X@@ -1,10 +0,0 @@ X---- include/gc.h.orig Wed Jun 4 17:07:33 2003 X-+++ include/gc.h Wed May 12 20:03:22 2004 X-@@ -487,6 +487,7 @@ X- /* gcc knows how to retrieve return address, but we don't know */ X- /* how to generate call stacks. */ X- # define GC_RETURN_ADDR (GC_word)__builtin_return_address(0) X-+# define GC_RETURN_ADDR_PARENT (GC_word)__builtin_return_address(1) X- # else X- /* Just pass 0 for gcc compatibility. */ X- # define GC_RETURN_ADDR 0 Xdiff -urN /usr/ports/devel/boehm-gc-redirect/files/patch-include-private-gcconfig.h devel/boehm-gc-redirect/files/patch-include-private-gcconfig.h X--- /usr/ports/devel/boehm-gc-redirect/files/patch-include-private-gcconfig.h 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/files/patch-include-private-gcconfig.h 1970-01-01 09:00:00.000000000 +0900 X@@ -1,63 +0,0 @@ X---- include/private/gcconfig.h.orig 2008-02-20 22:23:00.000000000 +0300 X-+++ include/private/gcconfig.h 2009-10-20 01:08:38.000000000 +0400 X-@@ -64,7 +64,7 @@ X- /* Determine the machine type: */ X- # if defined(__arm__) || defined(__thumb__) X- # define ARM32 X--# if !defined(LINUX) && !defined(NETBSD) X-+# if !defined(LINUX) && !defined(NETBSD) && !defined(FREEBSD) X- # define NOSYS X- # define mach_type_known X- # endif X-@@ -334,10 +334,26 @@ X- # define X86_64 X- # define mach_type_known X- # endif X-+# if defined(__FreeBSD__) && defined(__amd64__) X-+# define X86_64 X-+# define mach_type_known X-+# endif X-+# if defined(__FreeBSD__) && defined(__ia64__) X-+# define IA64 X-+# define mach_type_known X-+# endif X- # if defined(FREEBSD) && defined(__sparc__) X- # define SPARC X- # define mach_type_known X- # endif X-+# if defined(FREEBSD) && defined(__powerpc__) X-+# define POWERPC X-+# define mach_type_known X-+# endif X-+# if defined(FREEBSD) && defined(__arm__) X-+# define ARM32 X-+# define mach_type_known X-+# endif X- # if defined(bsdi) && (defined(i386) || defined(__i386__)) X- # define I386 X- # define BSDI X-@@ -1771,6 +1787,16 @@ X- # define OS_TYPE "MSWINCE" X- # define DATAEND /* not needed */ X- # endif X-+# ifdef FREEBSD X-+# define ALIGNMENT 4 X-+# define OS_TYPE "FREEBSD" X-+# ifdef __ELF__ X-+# define DYNAMIC_LOADING X-+# endif X-+# define HEURISTIC2 X-+ extern char etext[]; X-+# define SEARCH_FOR_DATA_START X-+# endif X- # ifdef NOSYS X- /* __data_start is usually defined in the target linker script. */ X- extern int __data_start[]; X-@@ -1800,6 +1826,7 @@ X- # define OS_TYPE "MSWINCE" X- # define DATAEND /* not needed */ X- # endif X-+ X- # ifdef LINUX X- # define OS_TYPE "LINUX" X- # define LINUX_STACKBOTTOM Xdiff -urN /usr/ports/devel/boehm-gc-redirect/files/patch-os_dep.c devel/boehm-gc-redirect/files/patch-os_dep.c X--- /usr/ports/devel/boehm-gc-redirect/files/patch-os_dep.c 2012-11-08 04:44:39.000000000 +0900 X+++ devel/boehm-gc-redirect/files/patch-os_dep.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,44 +0,0 @@ X---- os_dep.c.orig 2008-02-29 11:01:28.000000000 -0800 X-+++ os_dep.c 2010-04-01 00:50:34.000000000 -0700 X-@@ -816,7 +816,7 @@ X- || defined(HURD) || defined(NETBSD) X- static struct sigaction old_segv_act; X- # if defined(_sigargs) /* !Irix6.x */ || defined(HPUX) \ X-- || defined(HURD) || defined(NETBSD) X-+ || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- static struct sigaction old_bus_act; X- # endif X- # else X-@@ -826,7 +826,7 @@ X- void GC_set_and_save_fault_handler(handler h) X- { X- # if defined(SUNOS5SIGS) || defined(IRIX5) \ X-- || defined(OSF1) || defined(HURD) || defined(NETBSD) X-+ || defined(OSF1) || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- struct sigaction act; X- X- act.sa_handler = h; X-@@ -846,7 +846,7 @@ X- # else X- (void) sigaction(SIGSEGV, &act, &old_segv_act); X- # if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \ X-- || defined(HPUX) || defined(HURD) || defined(NETBSD) X-+ || defined(HPUX) || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- /* Under Irix 5.x or HP/UX, we may get SIGBUS. */ X- /* Pthreads doesn't exist under Irix 5.x, so we */ X- /* don't have to worry in the threads case. */ X-@@ -2713,7 +2713,13 @@ X- # include X- # if defined(FREEBSD) X- # define SIG_OK TRUE X--# define CODE_OK (code == BUS_PAGE_FAULT) X-+# if defined(POWERPC) X-+# define AIM /* Pretend that we're AIM. */ X-+# include X-+# define CODE_OK (code == EXC_DSI) X-+# else X-+# define CODE_OK (code == BUS_PAGE_FAULT) X-+# endif X- # elif defined(OSF1) X- # define SIG_OK (sig == SIGSEGV) X- # define CODE_OK (code == 2 /* experimentally determined */) abfa6072f2c9834f0488586bc29bf3c8 echo x - devel_boehm-gc-threaded.diff sed 's/^X//' >devel_boehm-gc-threaded.diff << '4667d3e4f3c25a353f30946228b2e3d7' Xdiff -urN /usr/ports/devel/boehm-gc-threaded/Makefile devel/boehm-gc-threaded/Makefile X--- /usr/ports/devel/boehm-gc-threaded/Makefile 2012-11-08 04:45:15.000000000 +0900 X+++ devel/boehm-gc-threaded/Makefile 2013-01-17 19:53:55.000000000 +0900 X@@ -1,73 +1,11 @@ X-# New ports collection makefile for: boehm-gc-redirect X-# Date created: 12/17/2009 X-# Whom: stas X-# X+# Created by: stas X # $FreeBSD: head/devel/boehm-gc-threaded/Makefile 300896 2012-07-14 13:54:48Z beat $ X-# X X-PORTNAME= boehm-gc X-PORTVERSION= 7.1 X-PORTREVISION= 1 X-CATEGORIES= devel X-MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/ X-PKGNAMESUFFIX= -${GC_VARIANT} X-DISTNAME= gc-${PORTVERSION:S/.a/alpha/} X+PORTREVISION= 0 X X-MAINTAINER= ports@FreeBSD.org X-COMMENT= Garbage collection and memory leak detection for C and C++ X+MASTERDIR= ${.CURDIR}/../boehm-gc X+DESCR= ${.CURDIR}/pkg-descr X X-RUN_DEPENDS= ${PREFIX}/include/gc/gc.h:${PORTSDIR}/devel/boehm-gc X- X-GNU_CONFIGURE= yes X-USE_LDCONFIG= yes X-CONFIGURE_ARGS= --enable-cplusplus --disable-static --enable-threads=posix \ X- --enable-thread-local-alloc X-CONFIGURE_ENV= CFLAGSS="${CFLAGS} LIBS="${LIBS} X-MAKE_JOBS_UNSAFE= yes X-INSTLIBS= cord gc gccpp X GC_VARIANT= threaded X-SOVER= 1 X- X-OPTIONS_DEFINE= PARALLEL_MARK DEBUG X-PARALLEL_MARK_DESC= Parallel-thread marking (faster for SMP) X- X-PLIST_FILES= ${INSTLIBS:S,^,lib/lib,g:S,$,-${GC_VARIANT}.so.${SOVER},g} \ X- ${INSTLIBS:S,^,lib/lib,g:S,$,-${GC_VARIANT}.so,g} \ X- libdata/pkgconfig/bdw-gc-${GC_VARIANT}.pc X- X-.include X- X-.if ${ARCH} == "ia64" X-BROKEN= Does not compile on ia64 X-.endif X- X-.if ${PORT_OPTIONS:MPARALLEL_MARK} X-CONFIGURE_ARGS+= --enable-parallel-mark X-.endif X- X-.if ${PORT_OPTIONS:MDEBUG} X-CONFIGURE_ARGS+= --enable-gc-debug X-PKGNAMESUFFIX:= ${PKGNAMESUFFIX}+fulldebug X-.endif X- X-post-patch: X- ${REINPLACE_CMD} -E -e 's,libgc\.la,libgc-${GC_VARIANT}.la,g' \ X- -e 's,libgccpp\.la,libgccpp-${GC_VARIANT}.la,g' \ X- -e 's,libcord\.la,libcord-${GC_VARIANT}.la,g' \ X- ${WRKSRC}/Makefile.in X- ${REINPLACE_CMD} -e 's,-lgc,-lgc-${GC_VARIANT},' ${WRKSRC}/bdw-gc.pc.in X- X-do-install: X-.for LIB in ${INSTLIBS} X- ${INSTALL_DATA} ${WRKSRC}/.libs/lib${LIB}-${GC_VARIANT}.so.${SOVER} \ X- ${PREFIX}/lib/lib${LIB}-${GC_VARIANT}.so.${SOVER} X- @(cd ${PREFIX}/lib && ${LN} -s lib${LIB}-${GC_VARIANT}.so.${SOVER} \ X- lib${LIB}-${GC_VARIANT}.so) X-.endfor X- ${INSTALL_DATA} ${WRKSRC}/bdw-gc.pc \ X- ${PREFIX}/libdata/pkgconfig/bdw-gc-${GC_VARIANT}.pc X- X-test: build X- cd ${WRKSRC} && ${MAKE} check X X-.include X+.include "${MASTERDIR}/Makefile" Xdiff -urN /usr/ports/devel/boehm-gc-threaded/distinfo devel/boehm-gc-threaded/distinfo X--- /usr/ports/devel/boehm-gc-threaded/distinfo 2012-11-08 04:45:14.000000000 +0900 X+++ devel/boehm-gc-threaded/distinfo 1970-01-01 09:00:00.000000000 +0900 X@@ -1,2 +0,0 @@ X-SHA256 (gc-7.1.tar.gz) = e3cef6028fe3efe7de3bcf4107c880eae50b3ee79841450d885467c09bcebf30 X-SIZE (gc-7.1.tar.gz) = 1077714 Xdiff -urN /usr/ports/devel/boehm-gc-threaded/files/patch-configure devel/boehm-gc-threaded/files/patch-configure X--- /usr/ports/devel/boehm-gc-threaded/files/patch-configure 2012-11-08 04:45:15.000000000 +0900 X+++ devel/boehm-gc-threaded/files/patch-configure 1970-01-01 09:00:00.000000000 +0900 X@@ -1,12 +0,0 @@ X---- configure.orig 2009-12-19 14:02:54.000000000 +0300 X-+++ configure 2009-12-19 14:04:13.000000000 +0300 X-@@ -6161,6 +6161,9 @@ X- sparc-*-netbsd*) X- machdep="mach_dep.lo sparc_netbsd_mach_dep.lo" X- ;; X-+ sparc64-*-freebsd*) X-+ machdep="mach_dep.lo sparc_mach_dep.lo" X-+ ;; X- sparc-sun-solaris2.3) X- machdep="mach_dep.lo sparc_mach_dep.lo" X- cat >>confdefs.h <<\_ACEOF Xdiff -urN /usr/ports/devel/boehm-gc-threaded/files/patch-dbg_mlc.c devel/boehm-gc-threaded/files/patch-dbg_mlc.c X--- /usr/ports/devel/boehm-gc-threaded/files/patch-dbg_mlc.c 2012-11-08 04:45:14.000000000 +0900 X+++ devel/boehm-gc-threaded/files/patch-dbg_mlc.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,77 +0,0 @@ X---- dbg_mlc.c.orig 2009-10-20 00:34:39.000000000 +0400 X-+++ dbg_mlc.c 2009-10-20 00:41:22.000000000 +0400 X-@@ -456,10 +456,34 @@ X- GC_register_displacement((word)sizeof(oh) + offset); X- } X- X-+#if defined(__FreeBSD__) X-+#include X-+static void GC_caller_func_offset(ad, symp, offp) X-+const GC_word ad; X-+const char **symp; X-+int *offp; X-+{ X-+ Dl_info caller; X-+ if (dladdr((const void *)ad, &caller) && caller.dli_sname != NULL) { X-+ *symp = caller.dli_sname; X-+ *offp = (const char *)ad - (const char *)caller.dli_saddr; X-+ } X-+} X-+#else X-+#define GC_caller_func(ad, symp, offp) X-+#endif X-+ X- void * GC_debug_malloc(size_t lb, GC_EXTRA_PARAMS) X- { X- void * result = GC_malloc(lb + DEBUG_BYTES); X-- X-+ X-+#ifdef GC_ADD_CALLER X-+ if (s == NULL) { X-+ GC_caller_func_offset(ra, &s, &i); X-+ if (s == NULL) X-+ s = "unknown"; X-+ } X-+#endif X- if (result == 0) { X- GC_err_printf("GC_debug_malloc(%lu) returning NIL (", X- (unsigned long) lb); X-@@ -764,6 +788,13 @@ X- size_t old_sz; X- hdr * hhdr; X- X-+#ifdef GC_ADD_CALLER X-+ if (s == NULL) { X-+ GC_caller_func_offset(ra, &s, &i); X-+ if (s == NULL) X-+ s = "unknown"; X-+ } X-+#endif X- if (p == 0) return(GC_debug_malloc(lb, OPT_RA s, i)); X- if (base == 0) { X- GC_err_printf("Attempt to reallocate invalid pointer %p\n", p); X-@@ -1041,17 +1072,21 @@ X- } X- X- #ifdef GC_ADD_CALLER X--# define RA GC_RETURN_ADDR, X-+# ifdef GC_RETURN_ADDR_PARENT X-+# define RA GC_RETURN_ADDR_PARENT, X-+# else X-+# define RA GC_RETURN_ADDR, X-+# endif X- #else X- # define RA X- #endif X- X- void * GC_debug_malloc_replacement(size_t lb) X- { X-- return GC_debug_malloc(lb, RA "unknown", 0); X-+ return GC_debug_malloc(lb, RA NULL, 0); X- } X- X- void * GC_debug_realloc_replacement(void *p, size_t lb) X- { X-- return GC_debug_realloc(p, lb, RA "unknown", 0); X-+ return GC_debug_realloc(p, lb, RA NULL, 0); X- } Xdiff -urN /usr/ports/devel/boehm-gc-threaded/files/patch-dyn_load.c devel/boehm-gc-threaded/files/patch-dyn_load.c X--- /usr/ports/devel/boehm-gc-threaded/files/patch-dyn_load.c 2012-11-08 04:45:14.000000000 +0900 X+++ devel/boehm-gc-threaded/files/patch-dyn_load.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,15 +0,0 @@ X---- dyn_load.c.orig Thu May 6 08:03:06 2004 X-+++ dyn_load.c Sun Oct 31 01:53:01 2004 X-@@ -97,6 +97,12 @@ X- # else X- # define ElfW(type) Elf64_##type X- # endif X-+# elif defined(__FreeBSD__) X-+# if __ELF_WORD_SIZE == 32 X-+# define ElfW(type) Elf32_##type X-+# else X-+# define ElfW(type) Elf64_##type X-+# endif X- # else X- # if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32 X- # define ElfW(type) Elf32_##type Xdiff -urN /usr/ports/devel/boehm-gc-threaded/files/patch-include-gc.h devel/boehm-gc-threaded/files/patch-include-gc.h X--- /usr/ports/devel/boehm-gc-threaded/files/patch-include-gc.h 2012-11-08 04:45:14.000000000 +0900 X+++ devel/boehm-gc-threaded/files/patch-include-gc.h 1970-01-01 09:00:00.000000000 +0900 X@@ -1,10 +0,0 @@ X---- include/gc.h.orig Wed Jun 4 17:07:33 2003 X-+++ include/gc.h Wed May 12 20:03:22 2004 X-@@ -487,6 +487,7 @@ X- /* gcc knows how to retrieve return address, but we don't know */ X- /* how to generate call stacks. */ X- # define GC_RETURN_ADDR (GC_word)__builtin_return_address(0) X-+# define GC_RETURN_ADDR_PARENT (GC_word)__builtin_return_address(1) X- # else X- /* Just pass 0 for gcc compatibility. */ X- # define GC_RETURN_ADDR 0 Xdiff -urN /usr/ports/devel/boehm-gc-threaded/files/patch-include-private-gcconfig.h devel/boehm-gc-threaded/files/patch-include-private-gcconfig.h X--- /usr/ports/devel/boehm-gc-threaded/files/patch-include-private-gcconfig.h 2012-11-08 04:45:14.000000000 +0900 X+++ devel/boehm-gc-threaded/files/patch-include-private-gcconfig.h 1970-01-01 09:00:00.000000000 +0900 X@@ -1,63 +0,0 @@ X---- include/private/gcconfig.h.orig 2008-02-20 22:23:00.000000000 +0300 X-+++ include/private/gcconfig.h 2009-10-20 01:08:38.000000000 +0400 X-@@ -64,7 +64,7 @@ X- /* Determine the machine type: */ X- # if defined(__arm__) || defined(__thumb__) X- # define ARM32 X--# if !defined(LINUX) && !defined(NETBSD) X-+# if !defined(LINUX) && !defined(NETBSD) && !defined(FREEBSD) X- # define NOSYS X- # define mach_type_known X- # endif X-@@ -334,10 +334,26 @@ X- # define X86_64 X- # define mach_type_known X- # endif X-+# if defined(__FreeBSD__) && defined(__amd64__) X-+# define X86_64 X-+# define mach_type_known X-+# endif X-+# if defined(__FreeBSD__) && defined(__ia64__) X-+# define IA64 X-+# define mach_type_known X-+# endif X- # if defined(FREEBSD) && defined(__sparc__) X- # define SPARC X- # define mach_type_known X- # endif X-+# if defined(FREEBSD) && defined(__powerpc__) X-+# define POWERPC X-+# define mach_type_known X-+# endif X-+# if defined(FREEBSD) && defined(__arm__) X-+# define ARM32 X-+# define mach_type_known X-+# endif X- # if defined(bsdi) && (defined(i386) || defined(__i386__)) X- # define I386 X- # define BSDI X-@@ -1771,6 +1787,16 @@ X- # define OS_TYPE "MSWINCE" X- # define DATAEND /* not needed */ X- # endif X-+# ifdef FREEBSD X-+# define ALIGNMENT 4 X-+# define OS_TYPE "FREEBSD" X-+# ifdef __ELF__ X-+# define DYNAMIC_LOADING X-+# endif X-+# define HEURISTIC2 X-+ extern char etext[]; X-+# define SEARCH_FOR_DATA_START X-+# endif X- # ifdef NOSYS X- /* __data_start is usually defined in the target linker script. */ X- extern int __data_start[]; X-@@ -1800,6 +1826,7 @@ X- # define OS_TYPE "MSWINCE" X- # define DATAEND /* not needed */ X- # endif X-+ X- # ifdef LINUX X- # define OS_TYPE "LINUX" X- # define LINUX_STACKBOTTOM Xdiff -urN /usr/ports/devel/boehm-gc-threaded/files/patch-os_dep.c devel/boehm-gc-threaded/files/patch-os_dep.c X--- /usr/ports/devel/boehm-gc-threaded/files/patch-os_dep.c 2012-11-08 04:45:14.000000000 +0900 X+++ devel/boehm-gc-threaded/files/patch-os_dep.c 1970-01-01 09:00:00.000000000 +0900 X@@ -1,44 +0,0 @@ X---- os_dep.c.orig 2008-02-29 11:01:28.000000000 -0800 X-+++ os_dep.c 2010-04-01 00:50:34.000000000 -0700 X-@@ -816,7 +816,7 @@ X- || defined(HURD) || defined(NETBSD) X- static struct sigaction old_segv_act; X- # if defined(_sigargs) /* !Irix6.x */ || defined(HPUX) \ X-- || defined(HURD) || defined(NETBSD) X-+ || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- static struct sigaction old_bus_act; X- # endif X- # else X-@@ -826,7 +826,7 @@ X- void GC_set_and_save_fault_handler(handler h) X- { X- # if defined(SUNOS5SIGS) || defined(IRIX5) \ X-- || defined(OSF1) || defined(HURD) || defined(NETBSD) X-+ || defined(OSF1) || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- struct sigaction act; X- X- act.sa_handler = h; X-@@ -846,7 +846,7 @@ X- # else X- (void) sigaction(SIGSEGV, &act, &old_segv_act); X- # if defined(IRIX5) && defined(_sigargs) /* Irix 5.x, not 6.x */ \ X-- || defined(HPUX) || defined(HURD) || defined(NETBSD) X-+ || defined(HPUX) || defined(HURD) || defined(NETBSD) || defined(FREEBSD) X- /* Under Irix 5.x or HP/UX, we may get SIGBUS. */ X- /* Pthreads doesn't exist under Irix 5.x, so we */ X- /* don't have to worry in the threads case. */ X-@@ -2713,7 +2713,13 @@ X- # include X- # if defined(FREEBSD) X- # define SIG_OK TRUE X--# define CODE_OK (code == BUS_PAGE_FAULT) X-+# if defined(POWERPC) X-+# define AIM /* Pretend that we're AIM. */ X-+# include X-+# define CODE_OK (code == EXC_DSI) X-+# else X-+# define CODE_OK (code == BUS_PAGE_FAULT) X-+# endif X- # elif defined(OSF1) X- # define SIG_OK (sig == SIGSEGV) X- # define CODE_OK (code == 2 /* experimentally determined */) 4667d3e4f3c25a353f30946228b2e3d7 exit