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

Reply via email to