On Fri, Jul 06, 2007 at 06:52:26PM +0200, Matthias Kilian wrote: > > (minor nit, but patch-doc_gc_man has a date that has changed) > > The patch changes the manual section to 3 and adds some notes for [blah]
Sorry, I totally misread your mail. So here's a proper diff after a complete update-patches, with the date in the manpage fixed. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/boehm-gc/Makefile,v retrieving revision 1.33 diff -u -p -r1.33 Makefile --- Makefile 28 Oct 2006 11:19:20 -0000 1.33 +++ Makefile 6 Jul 2007 20:15:55 -0000 @@ -3,19 +3,21 @@ COMMENT= "garbage collection and memory leak detection for C and C++" -VERSION= 6.2 -DISTNAME= gc${VERSION} -PKGNAME= boehm-gc-${VERSION}p1 -SHARED_LIBS += gc 1.2 # .1.2 +VERSION= 7.0 +DISTNAME= gc-${VERSION} +PKGNAME= boehm-gc-${VERSION} + +SHARED_LIBS += gc 2.0 # .1.2 +SHARED_LIBS += cord 1.3 # .1.3 CATEGORIES= devel + MASTER_SITES= ${HOMEPAGE}gc_source/ HOMEPAGE= http://www.hpl.hp.com/personal/Hans_Boehm/gc/ MAINTAINER= Todd T. Fries <[EMAIL PROTECTED]> - NOT_FOR_ARCHS= hppa powerpc vax PERMIT_PACKAGE_CDROM= Yes @@ -28,15 +30,16 @@ MAKE_ENV= CP="cp" \ INSTALL_MAN="${INSTALL_MAN}" USE_LIBTOOL= Yes -CONFIGURE_STYLE=autoconf no-autoheader -AUTOCONF_VERSION=2.54 -CONFIGURE_ARGS= ${CONFIGURE_SHARED} --enable-full-debug + +CONFIGURE_STYLE=gnu + +CONFIGURE_ARGS= ${CONFIGURE_SHARED} \ + CFLAGS="-DSIG_SUSPEND=SIGUSR2" \ + --enable-full-debug # XXX the below causes failures still # --enable-redirect-malloc -WRKDIST= ${WRKDIR}/gc${VERSION} - pre-configure: @mv ${WRKSRC}/doc/gc.man ${WRKSRC}/doc/gc.man.in @sed -e "s,@PREFIX@,${PREFIX},g" ${WRKSRC}/doc/gc.man.in > \ @@ -45,6 +48,7 @@ pre-configure: aliases= malloc malloc_atomic free realloc enable_incremental \ register_finalizer malloc_ignore_off_page \ malloc_atomic_ignore_off_page set_warn_proc + post-install: ${INSTALL_DATA} ${WRKSRC}/doc/gc.man ${PREFIX}/man/man3/gc.3 .for i in ${aliases} @@ -54,6 +58,6 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/include/gc{,_{cpp,backptr,gcj,mark,typed}}.h ${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/include/private/gc{config,_{hdrs,locks,priv,pmark}}.h ${PREFIX}/include/private -REGRESS_TARGET= check-TESTS +REGRESS_FLAGS= LDFLAGS="-lpthread" .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/devel/boehm-gc/distinfo,v retrieving revision 1.6 diff -u -p -r1.6 distinfo --- distinfo 5 Apr 2007 15:37:52 -0000 1.6 +++ distinfo 6 Jul 2007 20:15:55 -0000 @@ -1,5 +1,5 @@ -MD5 (gc6.2.tar.gz) = FUkrFMp7mp4DUjhhHpzR4w== -RMD160 (gc6.2.tar.gz) = hJlpAh5BaX3Hz9Z3Ngesc/C1Jb4= -SHA1 (gc6.2.tar.gz) = 7xf49W6YU+9BgI/fXEx78vePH+w= -SHA256 (gc6.2.tar.gz) = NE0b8RJeCPDB0gew995foGJ1sWczO1rMl6wVXQxY2fc= -SIZE (gc6.2.tar.gz) = 750883 +MD5 (gc-7.0.tar.gz) = NkXM9fMuuyfZmyew0p6cOA== +RMD160 (gc-7.0.tar.gz) = SRLiWQ3YISvr7rHjJQZ2LKMdAIg= +SHA1 (gc-7.0.tar.gz) = ZX2EtwKlcvilENLChXim26rT/tI= +SHA256 (gc-7.0.tar.gz) = 0grG6Tm4J3BDS3bk99wYpAmdUH609CpdOtdGJQwBHls= +SIZE (gc-7.0.tar.gz) = 1072682 Index: patches/patch-configure_in =================================================================== RCS file: patches/patch-configure_in diff -N patches/patch-configure_in --- patches/patch-configure_in 15 Oct 2003 17:11:36 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,32 +0,0 @@ -$OpenBSD: patch-configure_in,v 1.1 2003/10/15 17:11:36 todd Exp $ ---- configure.in.orig 2003-10-15 06:16:18.000000000 -0500 -+++ configure.in 2003-10-15 06:17:19.000000000 -0500 -@@ -236,27 +236,13 @@ AC_SUBST(CXXINCLUDES) - AC_MSG_CHECKING(whether to build shared libraries) - AC_ENABLE_SHARED - --case "$host" in -- alpha-*-openbsd*) -- enable_shared=no -- AC_MSG_RESULT(no) -- ;; -- *) -- AC_MSG_RESULT(yes) -- ;; --esac -+AC_MSG_RESULT(yes) - - # Configuration of machine-dependent code - # - AC_MSG_CHECKING(which machine-dependent code should be used) - machdep= - case "$host" in -- alpha-*-openbsd*) -- machdep="alpha_mach_dep.lo" -- if test x"${ac_cv_lib_dl_dlopen}" != xyes ; then -- AC_MSG_WARN(OpenBSD/Alpha without dlopen(). Shared library support is disabled) -- fi -- ;; - alpha*-*-linux*) - machdep="alpha_mach_dep.lo" - ;; Index: patches/patch-doc_gc_man =================================================================== RCS file: /cvs/ports/devel/boehm-gc/patches/patch-doc_gc_man,v retrieving revision 1.3 diff -u -p -r1.3 patch-doc_gc_man --- patches/patch-doc_gc_man 5 Sep 2005 11:41:56 -0000 1.3 +++ patches/patch-doc_gc_man 6 Jul 2007 20:15:55 -0000 @@ -1,13 +1,13 @@ $OpenBSD: patch-doc_gc_man,v 1.3 2005/09/05 11:41:56 espie Exp $ ---- doc/gc.man.orig Wed Sep 22 01:55:00 1999 -+++ doc/gc.man Mon Sep 5 13:31:16 2005 +--- doc/gc.man.orig Tue Oct 11 00:33:34 2005 ++++ doc/gc.man Fri Jul 6 22:13:16 2007 @@ -1,4 +1,4 @@ --.TH GC_MALLOC 1L "12 February 1996" -+.TH GC_MALLOC 3 "12 February 1996" +-.TH GC_MALLOC 1L "2 October 2003" ++.TH GC_MALLOC 3 "2 October 2003" .SH NAME GC_malloc, GC_malloc_atomic, GC_free, GC_realloc, GC_enable_incremental, GC_register_finalizer, GC_malloc_ignore_off_page, GC_malloc_atomic_ignore_off_page, GC_set_warn_proc \- Garbage collecting malloc replacement .SH SYNOPSIS -@@ -67,6 +67,48 @@ GC_enable_incremental. +@@ -81,6 +81,48 @@ GC_enable_incremental. This may temporarily write protect pages in the heap. See the README file for more information on how this interacts with system calls that write to the heap. .LP Other facilities not discussed here include limited facilities to support incremental collection on machines without appropriate VM support, provisions for providing more explicit object layout information to the garbage collector, more direct support for ``weak'' pointers, support for ``abortable'' garbage collections during idle time, etc. Index: patches/patch-dyn_load_c =================================================================== RCS file: /cvs/ports/devel/boehm-gc/patches/patch-dyn_load_c,v retrieving revision 1.4 diff -u -p -r1.4 patch-dyn_load_c --- patches/patch-dyn_load_c 16 Oct 2003 04:11:15 -0000 1.4 +++ patches/patch-dyn_load_c 6 Jul 2007 20:15:55 -0000 @@ -1,15 +1,15 @@ $OpenBSD: patch-dyn_load_c,v 1.4 2003/10/16 04:11:15 todd Exp $ ---- dyn_load.c.orig 2003-05-30 19:54:50.000000000 -0500 -+++ dyn_load.c 2003-10-16 02:31:35.000000000 -0500 -@@ -57,6 +57,7 @@ +--- dyn_load.c.orig Thu Jun 28 23:36:03 2007 ++++ dyn_load.c Fri Jul 6 22:13:16 2007 +@@ -63,6 +63,7 @@ static int (*GC_has_static_roots)(const char *, void * !defined(HPUX) && !(defined(LINUX) && defined(__ELF__)) && \ - !defined(RS6000) && !defined(SCO_ELF) && !defined(DGUX) && \ + !defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \ !(defined(FREEBSD) && defined(__ELF__)) && \ + !(defined(OPENBSD) && (defined(__ELF__) || defined(M68K))) && \ !(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \ - !defined(DARWIN) + !defined(DARWIN) && !defined(CYGWIN32) --> We only know how to find data segments of dynamic libraries for the -@@ -82,9 +83,9 @@ +@@ -84,9 +85,9 @@ static int (*GC_has_static_roots)(const char *, void * #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ @@ -20,7 +20,7 @@ $OpenBSD: patch-dyn_load_c,v 1.4 2003/10 # include <link.h> #endif -@@ -266,6 +267,7 @@ void GC_register_dynamic_libraries() +@@ -216,6 +217,7 @@ void GC_register_dynamic_libraries() #if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \ (defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \ @@ -28,12 +28,12 @@ $OpenBSD: patch-dyn_load_c,v 1.4 2003/10 (defined(NETBSD) && defined(__ELF__)) || defined(HURD) -@@ -444,7 +446,7 @@ GC_bool GC_register_main_static_data() +@@ -414,7 +416,7 @@ GC_bool GC_register_main_static_data() /* This doesn't necessarily work in all cases, e.g. with preloaded * dynamic libraries. */ -#if defined(NETBSD) +#if defined(NETBSD) || defined(OPENBSD) # include <sys/exec_elf.h> - #else - # include <elf.h> + /* for compatibility with 1.4.x */ + # ifndef DT_DEBUG Index: patches/patch-finalize_c =================================================================== RCS file: patches/patch-finalize_c diff -N patches/patch-finalize_c --- patches/patch-finalize_c 11 Nov 2003 23:49:08 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-finalize_c,v 1.1 2003/11/11 23:49:08 espie Exp $ ---- finalize.c.orig 2003-11-11 19:15:17.000000000 +0100 -+++ finalize.c 2003-11-11 19:15:29.000000000 +0100 -@@ -803,7 +803,7 @@ int GC_invoke_finalizers() - return count; - } - --void (* GC_finalizer_notifier)() = (void (*) GC_PROTO((void)))0; -+void (* GC_finalizer_notifier) GC_PROTO((void)) = (void (*) GC_PROTO((void)))0; - - static GC_word last_finalizer_notification = 0; - Index: patches/patch-include_gc_h =================================================================== RCS file: patches/patch-include_gc_h diff -N patches/patch-include_gc_h --- patches/patch-include_gc_h 11 Nov 2003 23:49:08 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-include_gc_h,v 1.1 2003/11/11 23:49:08 espie Exp $ ---- include/gc.h.orig 2003-11-11 19:12:31.000000000 +0100 -+++ include/gc.h 2003-11-11 19:15:50.000000000 +0100 -@@ -122,7 +122,7 @@ GC_API int GC_java_finalization; - /* ordered finalization. Default value is */ - /* determined by JAVA_FINALIZATION macro. */ - --GC_API void (* GC_finalizer_notifier)(); -+GC_API void (* GC_finalizer_notifier) GC_PROTO((void)); - /* Invoked by the collector when there are */ - /* objects to be finalized. Invoked at most */ - /* once per GC cycle. Never invoked unless */ Index: patches/patch-include_private_gcconfig_h =================================================================== RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_private_gcconfig_h,v retrieving revision 1.12 diff -u -p -r1.12 patch-include_private_gcconfig_h --- patches/patch-include_private_gcconfig_h 15 Mar 2004 02:47:24 -0000 1.12 +++ patches/patch-include_private_gcconfig_h 6 Jul 2007 20:15:55 -0000 @@ -1,8 +1,7 @@ -$OpenBSD: patch-include_private_gcconfig_h,v 1.12 2004/03/15 02:47:24 pvalchev Exp $ ---- include/private/gcconfig.h.orig 2003-06-16 20:01:23.000000000 -0600 -+++ include/private/gcconfig.h 2004-03-14 14:19:44.000000000 -0700 -@@ -97,7 +97,7 @@ - # define ARM32 +--- include/private/gcconfig.h.orig Fri Jun 29 04:00:09 2007 ++++ include/private/gcconfig.h Wed Jul 4 17:29:16 2007 +@@ -99,7 +99,7 @@ + # define SH # define mach_type_known # endif -# if defined(vax) @@ -10,7 +9,7 @@ $OpenBSD: patch-include_private_gcconfig # define VAX # ifdef ultrix # define ULTRIX -@@ -216,6 +216,10 @@ +@@ -219,6 +219,10 @@ # define I386 # define mach_type_known # endif @@ -21,9 +20,9 @@ $OpenBSD: patch-include_private_gcconfig # if defined(LINUX) && defined(__x86_64__) # define X86_64 # define mach_type_known -@@ -278,6 +282,16 @@ - # define POWERPC - # define mach_type_known +@@ -290,6 +294,16 @@ + # define MACOS + # define mach_type_known # endif +# if defined(__OpenBSD__) && (defined(__powerpc__)) +# define POWERPC @@ -35,10 +34,10 @@ $OpenBSD: patch-include_private_gcconfig +# define OPENBSD +# define mach_type_known +# endif - # if defined(__APPLE__) && defined(__MACH__) && defined(__i386__) - # define DARWIN - # define I386 -@@ -326,6 +340,10 @@ + # if defined(macosx) || (defined(__APPLE__) && defined(__MACH__)) + # define DARWIN + # if defined(__ppc__) || defined(__ppc64__) +@@ -358,6 +372,10 @@ /* DGUX defined */ # define mach_type_known # endif @@ -49,56 +48,59 @@ $OpenBSD: patch-include_private_gcconfig # if defined(_WIN32_WCE) /* SH3, SH4, MIPS already defined for corresponding architectures */ # if defined(SH3) || defined(SH4) -@@ -595,8 +613,8 @@ +@@ -647,14 +665,17 @@ + # define ALIGNMENT 2 # ifdef OPENBSD # define OS_TYPE "OPENBSD" - # define HEURISTIC2 -- extern char etext[]; --# define DATASTART ((ptr_t)(etext)) -+# define DATASTART GC_data_start -+# define USE_GENERIC_PUSH_REGS +-# define HEURISTIC2 +-# ifdef __ELF__ +-# define DATASTART GC_data_start +-# define DYNAMIC_LOADING +-# else +- extern char etext[]; +-# define DATASTART ((ptr_t)(etext)) +-# endif ++//# define HEURISTIC2 ++//# ifdef __ELF__ ++//# define DATASTART GC_data_start ++//# define DYNAMIC_LOADING ++//# else ++// extern char etext[]; ++//# define DATASTART ((ptr_t)(etext)) ++//# endif ++# define OPENBSD_STACKBOTTOM ++# define DATASTART GC_data_start ++# define HAVE_PUSH_REGS # endif # ifdef NETBSD # define OS_TYPE "NETBSD" -@@ -761,6 +779,14 @@ - # define DATASTART GC_data_start - # define DYNAMIC_LOADING - # endif -+# ifdef OPENBSD -+# define ALIGNMENT 4 -+# define OS_TYPE "OPENBSD" -+# define HEURISTIC2 -+ extern char etext; -+# define DATASTART GC_data_start -+# define DYNAMIC_LOADING -+# endif - # ifdef NOSYS - # define ALIGNMENT 4 - # define OS_TYPE "NOSYS" -@@ -897,9 +923,9 @@ +@@ -955,9 +976,12 @@ # endif # ifdef OPENBSD # define OS_TYPE "OPENBSD" -# define STACKBOTTOM ((ptr_t) 0xf8000000) - extern int etext[]; -# define DATASTART ((ptr_t)(etext)) -+# define HEURISTIC2 ++//# define STACKBOTTOM ((ptr_t) 0xf8000000) ++// extern int etext[]; ++//# define DATASTART ((ptr_t)(etext)) ++# define OPENBSD_STACKBOTTOM +# define DATASTART GC_data_start +# define DYNAMIC_LOADING # endif # ifdef NETBSD # define OS_TYPE "NETBSD" -@@ -1145,6 +1171,9 @@ +@@ -1203,6 +1227,9 @@ # endif # ifdef OPENBSD # define OS_TYPE "OPENBSD" -+# define HEURISTIC2 ++# define OPENBSD_STACKBOTTOM +# define DATASTART GC_data_start +# define DYNAMIC_LOADING # endif # ifdef FREEBSD # define OS_TYPE "FREEBSD" -@@ -1173,7 +1202,7 @@ +@@ -1238,7 +1265,7 @@ # ifdef BSDI # define OS_TYPE "BSDI" # endif @@ -107,69 +109,67 @@ $OpenBSD: patch-include_private_gcconfig || defined(THREE86BSD) || defined(BSDI) # define HEURISTIC2 extern char etext[]; -@@ -1435,7 +1464,7 @@ - # define MACH_TYPE "ALPHA" - # define ALIGNMENT 8 - # define CPP_WORDSZ 64 --# ifndef LINUX -+# if !defined(LINUX) - # define USE_GENERIC_PUSH_REGS - /* Gcc and probably the DEC/Compaq compiler spill pointers to preserved */ - /* fp registers in some cases when the target is a 21264. The assembly */ -@@ -1449,6 +1478,7 @@ - # define ELFCLASS32 32 - # define ELFCLASS64 64 - # define ELF_CLASS ELFCLASS64 -+# define CPP_WORDSZ 64 - # define DYNAMIC_LOADING +@@ -1489,12 +1516,14 @@ # endif # ifdef OPENBSD -@@ -1456,9 +1486,8 @@ - # define HEURISTIC2 + # define OS_TYPE "OPENBSD" +-# define HEURISTIC2 ++//# define HEURISTIC2 ++# define OPENBSD_STACKBOTTOM # ifdef __ELF__ /* since OpenBSD/Alpha 2.9 */ # define DATASTART GC_data_start -# define ELFCLASS32 32 -# define ELFCLASS64 64 ++//# define ELFCLASS32 32 ++//# define ELFCLASS64 64 # define ELF_CLASS ELFCLASS64 +# define DYNAMIC_LOADING # else /* ECOFF, until OpenBSD/Alpha 2.7 */ # define DATASTART ((ptr_t) 0x140000000) # endif -@@ -1614,16 +1643,22 @@ +@@ -1662,9 +1691,15 @@ + # define MACH_TYPE "M88K" # define ALIGNMENT 4 - # define ALIGN_DOUBLE extern int etext[]; +# ifdef OPENBSD +# define OS_TYPE "OPENBSD" -+# define HEURISTIC2 ++# define OPENBSD_STACKBOTTOM +# define DATASTART GC_data_start +# endif # ifdef CX_UX # define OS_TYPE "CX_UX" - # define DATASTART ((((word)etext + 0x3fffff) & ~0x3fffff) + 0x10000) +-# define DATASTART ((((word)etext + 0x3fffff) & ~0x3fffff) + 0x10000) ++//# define DATASTART ((((word)etext + 0x3fffff) & ~0x3fffff) + 0x10000) +# define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */ # endif # ifdef DGUX # define OS_TYPE "DGUX" - extern ptr_t GC_SysVGetDataStart(); - # define DATASTART GC_SysVGetDataStart(0x10000, etext) -+# define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */ - # endif --# define STACKBOTTOM ((char*)0xf0000000) /* determined empirically */ - # endif - - # ifdef S370 -@@ -1765,6 +1800,13 @@ +@@ -1764,6 +1799,14 @@ + # define OS_TYPE "MSWINCE" + # define DATAEND /* not needed */ # endif - # define CACHE_LINE_SIZE 64 - # define USE_GENERIC_PUSH_REGS ++# ifdef OPENBSD ++# define ALIGNMENT 4 ++# define OS_TYPE "OPENBSD" ++# define OPENBSD_STACKBOTTOM ++ extern char etext; ++# define DATASTART GC_data_start ++# define DYNAMIC_LOADING ++# endif + # ifdef NOSYS + /* __data_start is usually defined in the target linker script. */ + extern int __data_start[]; +@@ -1838,6 +1881,13 @@ + # define CPP_WORDSZ 64 + # ifndef HBLKSIZE + # define HBLKSIZE 4096 ++# endif +# ifdef OPENBSD +# define OS_TYPE "OPENBSD" +# define DATASTART GC_data_start +# define HEURISTIC2 +# define ELF_CLASS ELFCLASS64 +# define DYNAMIC_LOADING -+# endif + # endif + # define CACHE_LINE_SIZE 64 # ifdef LINUX - # define OS_TYPE "LINUX" - # define LINUX_STACKBOTTOM Index: patches/patch-mach_dep_c =================================================================== RCS file: /cvs/ports/devel/boehm-gc/patches/patch-mach_dep_c,v retrieving revision 1.3 diff -u -p -r1.3 patch-mach_dep_c --- patches/patch-mach_dep_c 15 Oct 2003 12:58:11 -0000 1.3 +++ patches/patch-mach_dep_c 6 Jul 2007 20:15:55 -0000 @@ -1,12 +1,11 @@ -$OpenBSD: patch-mach_dep_c,v 1.3 2003/10/15 12:58:11 todd Exp $ ---- mach_dep.c.orig 2003-06-06 04:50:30.000000000 +1000 -+++ mach_dep.c 2003-10-15 13:42:32.000000000 +1000 -@@ -456,7 +456,7 @@ ptr_t cold_gc_frame; - /* the stack. Return sp. */ - # ifdef SPARC - asm(" .seg \"text\""); --# if defined(SVR4) || defined(NETBSD) -+# if defined(SVR4) || defined(NETBSD) || defined(__ELF__) - asm(" .globl GC_save_regs_in_stack"); - asm("GC_save_regs_in_stack:"); - asm(" .type GC_save_regs_in_stack,#function"); +--- mach_dep.c.orig Mon Jul 2 19:07:21 2007 ++++ mach_dep.c Fri Jul 6 22:13:16 2007 +@@ -73,7 +73,7 @@ asm static void PushMacRegisters() + /* and should not be used on platforms that are either UNIX-like, or */ + /* require thread support. */ + +-#undef HAVE_PUSH_REGS ++#define HAVE_PUSH_REGS + + #if defined(USE_ASM_PUSH_REGS) + # define HAVE_PUSH_REGS Index: patches/patch-misc_c =================================================================== RCS file: /cvs/ports/devel/boehm-gc/patches/patch-misc_c,v retrieving revision 1.5 diff -u -p -r1.5 patch-misc_c --- patches/patch-misc_c 16 Oct 2003 04:11:15 -0000 1.5 +++ patches/patch-misc_c 6 Jul 2007 20:15:55 -0000 @@ -1,19 +1,14 @@ -$OpenBSD: patch-misc_c,v 1.5 2003/10/16 04:11:15 todd Exp $ ---- misc.c.orig 2003-05-29 10:50:10.000000000 -0500 -+++ misc.c 2003-10-16 02:31:36.000000000 -0500 -@@ -635,7 +635,14 @@ void GC_init_inner() +--- misc.c.orig Thu Jun 28 20:14:55 2007 ++++ misc.c Fri Jul 6 22:13:16 2007 +@@ -629,7 +629,10 @@ void GC_init_inner() # if defined(SEARCH_FOR_DATA_START) GC_init_linux_data_start(); # endif -# if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__) -+# if defined(OPENBSD) -+# if defined(__ELF__) -+ GC_init_openbsd_elf(); -+# else -+ GC_init_openbsd_aout(); -+# endif -+# endif ++#if defined(OPENBSD) ++ GC_init_openbsd(); ++#endif +# if defined(NETBSD) && defined(__ELF__) GC_init_netbsd_elf(); # endif - # if defined(GC_PTHREADS) || defined(GC_SOLARIS_THREADS) + # if !defined(THREADS) || defined(GC_PTHREADS) || defined(GC_WIN32_THREADS) \ Index: patches/patch-os_dep_c =================================================================== RCS file: /cvs/ports/devel/boehm-gc/patches/patch-os_dep_c,v retrieving revision 1.5 diff -u -p -r1.5 patch-os_dep_c --- patches/patch-os_dep_c 16 Oct 2003 04:11:15 -0000 1.5 +++ patches/patch-os_dep_c 6 Jul 2007 20:15:55 -0000 @@ -1,34 +1,72 @@ -$OpenBSD: patch-os_dep_c,v 1.5 2003/10/16 04:11:15 todd Exp $ ---- os_dep.c.orig 2003-06-13 14:11:00.000000000 -0500 -+++ os_dep.c 2003-10-16 02:31:36.000000000 -0500 -@@ -391,6 +391,30 @@ static void *tiny_sbrk(ptrdiff_t increme +--- os_dep.c.orig Fri Jun 29 21:17:44 2007 ++++ os_dep.c Fri Jul 6 22:13:16 2007 +@@ -486,7 +486,7 @@ static void *tiny_sbrk(ptrdiff_t increment) + #define sbrk tiny_sbrk + # endif /* ECOS */ + +-#if (defined(NETBSD) || defined(OPENBSD)) && defined(__ELF__) ++#if defined(NETBSD) && defined(__ELF__) + ptr_t GC_data_start; + + void GC_init_netbsd_elf(void) +@@ -499,6 +499,18 @@ static void *tiny_sbrk(ptrdiff_t increment) } #endif +#if defined(OPENBSD) -+ #if defined(__ELF__) -+ ptr_t GC_data_start; -+ -+ void GC_init_openbsd_elf() -+ { -+ extern ptr_t GC_find_limit(); -+ /* This may need to be environ, without the underscore, for */ -+ /* some versions. */ -+ GC_data_start = GC_find_limit((ptr_t)&end, FALSE); -+ } -+ #else + ptr_t GC_data_start; + -+ void GC_init_openbsd_aout() ++ /* Use __progname as GC_data_start. This seems to work on i386. */ ++ void GC_init_openbsd() + { -+ extern ptr_t GC_find_limit(); -+ /* This may need to be environ, without the underscore, for */ -+ /* some versions. */ -+ GC_data_start = GC_find_limit((ptr_t)&end, FALSE); ++ extern char **__progname; ++ GC_data_start = (ptr_t)&__progname; + } -+ #endif +#endif + ++ # ifdef OS2 # include <stddef.h> +@@ -1095,13 +1107,30 @@ ptr_t GC_get_main_stack_base(void) + + #endif /* FREEBSD_STACKBOTTOM */ + ++#ifdef OPENBSD_STACKBOTTOM ++ ++/* Find the stack using pthread_stackseg_np() */ ++ ++# include <sys/signal.h> ++# include <pthread.h> ++# include <pthread_np.h> ++ ++ ptr_t GC_openbsd_stack_base(void) ++ { ++ stack_t stack; ++ pthread_stackseg_np(pthread_self(), &stack); ++ return stack.ss_sp; ++ } ++#endif /* OPENBSD_STACKBOTTOM */ ++ ++ + #if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \ + && !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \ + && !defined(CYGWIN32) + + ptr_t GC_get_main_stack_base(void) + { +-# if defined(HEURISTIC1) || defined(HEURISTIC2) ++# if defined(HEURISTIC1) || defined(HEURISTIC2) || defined(OPENBSD_STACKBOTTOM) + word dummy; + # endif + ptr_t result; +@@ -1126,6 +1155,9 @@ ptr_t GC_get_main_stack_base(void) + # endif + # ifdef FREEBSD_STACKBOTTOM + result = GC_freebsd_stack_base(); ++# endif ++# ifdef OPENBSD_STACKBOTTOM ++ result = GC_openbsd_stack_base(); + # endif + # ifdef HEURISTIC2 + # ifdef STACK_GROWS_DOWN Index: pkg/PFRAG.shared =================================================================== RCS file: /cvs/ports/devel/boehm-gc/pkg/PFRAG.shared,v retrieving revision 1.4 diff -u -p -r1.4 PFRAG.shared --- pkg/PFRAG.shared 6 Jan 2006 14:42:59 -0000 1.4 +++ pkg/PFRAG.shared 6 Jul 2007 20:15:55 -0000 @@ -1,2 +1,3 @@ @comment $OpenBSD: PFRAG.shared,v 1.4 2006/01/06 14:42:59 bernd Exp $ [EMAIL PROTECTED] lib/libcord.so.${LIBcord_VERSION} @lib lib/libgc.so.${LIBgc_VERSION} Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST,v retrieving revision 1.10 diff -u -p -r1.10 PLIST --- pkg/PLIST 5 Sep 2005 11:41:56 -0000 1.10 +++ pkg/PLIST 6 Jul 2007 20:15:55 -0000 @@ -3,39 +3,37 @@ include/gc/ include/gc.h include/gc/gc.h -include/gc/gc_alloc.h include/gc/gc_allocator.h include/gc/gc_amiga_redirects.h include/gc/gc_backptr.h include/gc/gc_config_macros.h include/gc/gc_cpp.h include/gc/gc_gcj.h -include/gc/gc_inl.h include/gc/gc_inline.h -include/gc/gc_local_alloc.h include/gc/gc_mark.h include/gc/gc_pthread_redirects.h +include/gc/gc_tiny_fl.h include/gc/gc_typed.h include/gc/leak_detector.h include/gc/new_gc_alloc.h include/gc/weakpointer.h include/gc_backptr.h -include/gc_config_macros.h include/gc_cpp.h include/gc_gcj.h -include/gc_local_alloc.h include/gc_mark.h -include/gc_pthread_redirects.h include/gc_typed.h -include/leak_detector.h include/private/ include/private/gc_hdrs.h include/private/gc_locks.h include/private/gc_pmark.h include/private/gc_priv.h include/private/gcconfig.h +lib/libcord.a +lib/libcord.la lib/libgc.a lib/libgc.la +lib/pkgconfig/ +lib/pkgconfig/bdw-gc.pc @man man/man3/GC_enable_incremental.3 @man man/man3/GC_free.3 @man man/man3/GC_malloc.3 @@ -70,11 +68,15 @@ share/gc/README.sgi share/gc/README.solaris2 share/gc/README.uts share/gc/README.win32 +share/gc/README.win64 share/gc/barrett_diagram share/gc/debugging.html @comment share/gc/gc.man share/gc/gcdescr.html share/gc/gcinterface.html share/gc/leak.html +share/gc/overview.html +share/gc/porting.html share/gc/scale.html +share/gc/simple_example.html share/gc/tree.html