On Wed, 2021-02-03 at 23:37 -0500, George Koehler wrote:
> On Tue, 2 Feb 2021 18:40:50 -0500 (EST)
> k...@intricatesoftware.com wrote:
> 
> > 
> > Update to 8.0.4 with the following additional changes:
> > - Use mmap via the configure argument instead of hard-coding it.
> > - Define USE_MMAP_ANON for all OpenBSD arch to match upstream
> >   code conventions.
> > - Remove unused ELF_CLASS define for OpenBSD.
> > - Remove old HAVE_DL_ITERATE_PHDR workaround for OpenBSD.
> > - Don't use old GC_find_limit_openbsd() which is only needed for
> >   uthreads.
> > 
> > I've tested this on i386, amd64, sparc64 and aarch64 using the
> > port's regress tests and by using w3m....
> Your update to 8.0.4 passes the port's "make test" on powerpc and
> powerpc64.  It works with net/clic on powerpc64.  ok gkoehler@
> 
> This update fixes -fno-common
> 
> I like how you adjusted the patches, and you tested the port on
> multiple platforms.  I had added the mmap patch along with the
> powerpc64 support, but upstream has changed their mmap code, so you
> needed to adjust the patch.  Defining USE_MMAP_ANON for each arch
> is exactly what upstream does for systems like Mac (DARWIN).  Another
> way is at include/private/gcconfig.h.orig:2906, where upstream defines
> USE_MMAP_ANON for all arches of LINUX.    --George

Thanks for the review and tests. Indeed I missed that part of
gcconfig.h, thanks for pointing it out. My intent was to have
the configure argument control the use of mmap, but I see that
I didn't get that quite right due to this part:

#if defined(USE_MMAP_ANON) && !defined(USE_MMAP)
#   define USE_MMAP 1
#elif defined(LINUX) && defined(USE_MMAP)
    /* The kernel may do a somewhat better job merging mappings etc.    */
    /* with anonymous mappings.                                         */
#   define USE_MMAP_ANON
#endif

The way I have it now it always uses mmap, so I'd like to
revise that to remove the USE_MMAP_ANON per arch and adjust
this section above as follows to allow the configure argument
to control the use of mmap:

#if defined(USE_MMAP_ANON) && !defined(USE_MMAP)
#   define USE_MMAP 1
#elif defined(LINUX) && defined(USE_MMAP)
    /* The kernel may do a somewhat better job merging mappings etc.    */
    /* with anonymous mappings.                                         */
#   define USE_MMAP_ANON
#elif defined(OPENBSD) && defined(USE_MMAP)
#   define USE_MMAP_ANON
#endif

I'm not sure if my MUA will mangle the in-line diff so I'll
attach it was well.

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/Makefile,v
retrieving revision 1.75
diff -u -p -u -r1.75 Makefile
--- Makefile    24 Aug 2020 21:31:13 -0000      1.75
+++ Makefile    4 Feb 2021 14:13:31 -0000
@@ -3,8 +3,8 @@
 COMMENT-main=  garbage collection and memory leak detection for C and C++
 COMMENT-atomic=        access to hardware provided atomic memory operations
 
-VERSION=       7.6.0
-LIBAO_VERSION= 7.6.6
+VERSION=       8.0.4
+LIBAO_VERSION= 7.6.10
 # has various machine-dependent parts; updates definitely need
 # tests on more than just amd64.
 
@@ -12,7 +12,6 @@ DISTNAME=     gc-${VERSION}
 
 PKGNAME-atomic=        libatomic_ops-${LIBAO_VERSION}
 PKGNAME-main=  boehm-gc-${VERSION}
-REVISION=      6
 
 DISTFILES=     ${DISTNAME}${EXTRACT_SUFX} \
                libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX}
@@ -20,11 +19,11 @@ DISTFILES=  ${DISTNAME}${EXTRACT_SUFX} \
 MULTI_PACKAGES=        -main -atomic
 DEBUG_PACKAGES=        ${BUILD_PACKAGES}
 
-SHARED_LIBS += gc              4.0     # 1.3
-SHARED_LIBS += gccpp           0.0     # 1.3
-SHARED_LIBS += cord            2.3     # 1.3
-SHARED_LIBS +=  atomic_ops     2.0     # 1.3
-SHARED_LIBS +=  atomic_ops_gpl 2.0     # 1.3
+SHARED_LIBS += gc              5.0     # 5.3
+SHARED_LIBS += gccpp           1.0     # 5.0
+SHARED_LIBS += cord            3.0     # 5.0
+SHARED_LIBS +=  atomic_ops     3.0     # 2.1
+SHARED_LIBS +=  atomic_ops_gpl 3.0     # 2.2
 
 CATEGORIES=    devel
 
@@ -49,7 +48,9 @@ CONFIGURE_STYLE= gnu
 
 CONFIGURE_ARGS= --with-libatomic-ops=no \
                --enable-cplusplus \
-               --enable-threads=pthreads
+               --enable-threads=pthreads \
+               --enable-mmap \
+               --enable-static=yes
 
 post-extract:
        @perl -pi -e "s,/usr/local,${PREFIX},g" ${WRKSRC}/doc/gc.man
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/distinfo,v
retrieving revision 1.11
diff -u -p -u -r1.11 distinfo
--- distinfo    30 Dec 2018 17:08:09 -0000      1.11
+++ distinfo    4 Feb 2021 14:13:31 -0000
@@ -1,4 +1,4 @@
-SHA256 (gc-7.6.0.tar.gz) = oUoosRKb6Q5VzW9xEn/8VZThCR1dVBMVKMJM0MA7fZA=
-SHA256 (libatomic_ops-7.6.6.tar.gz) = 
mf6rxfVId/MU20+t6xCfCz4dGlSvtrSz37oecH444HQ=
-SIZE (gc-7.6.0.tar.gz) = 1111751
-SIZE (libatomic_ops-7.6.6.tar.gz) = 498187
+SHA256 (gc-8.0.4.tar.gz) = Q2oN3GexrAsEBbYalnW8qeB1yBVvTevR0G86VsfNKJ0=
+SHA256 (libatomic_ops-7.6.10.tar.gz) = 
WH7fYIF/Vtrx4as4pLPHKbjoRv9ntPYqYVcYNwjwma8=
+SIZE (gc-8.0.4.tar.gz) = 1160528
+SIZE (libatomic_ops-7.6.10.tar.gz) = 503734
Index: patches/patch-bdw-gc_pc_in
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/patches/patch-bdw-gc_pc_in,v
retrieving revision 1.1
diff -u -p -u -r1.1 patch-bdw-gc_pc_in
--- patches/patch-bdw-gc_pc_in  9 Dec 2009 20:36:49 -0000       1.1
+++ patches/patch-bdw-gc_pc_in  4 Feb 2021 14:13:31 -0000
@@ -1,10 +1,11 @@
 $OpenBSD: patch-bdw-gc_pc_in,v 1.1 2009/12/09 20:36:49 sthen Exp $
---- bdw-gc.pc.in.orig  Mon Dec  7 10:57:34 2009
-+++ bdw-gc.pc.in       Mon Dec  7 10:57:46 2009
+Index: bdw-gc.pc.in
+--- bdw-gc.pc.in.orig
++++ bdw-gc.pc.in
 @@ -6,5 +6,5 @@ includedir=@includedir@
  Name: Boehm-Demers-Weiser Conservative Garbage Collector
  Description: A garbage collector for C and C++
  Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lgc
-+Libs: -L${libdir} -lgc -pthread
+-Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc
++Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc -pthread
  Cflags: -I${includedir}
Index: patches/patch-dyn_load_c
===================================================================
RCS file: patches/patch-dyn_load_c
diff -N patches/patch-dyn_load_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-dyn_load_c    4 Feb 2021 14:13:31 -0000
@@ -0,0 +1,33 @@
+$OpenBSD$
+
+- Remove old HAVE_DL_ITERATE_PHDR workaround for OpenBSD
+
+Index: dyn_load.c
+--- dyn_load.c.orig
++++ dyn_load.c
+@@ -81,13 +81,6 @@ STATIC GC_has_static_roots_func GC_has_static_roots = 
+ #   define ELFSIZE ARCH_ELFSIZE
+ #endif
+ 
+-#if defined(OPENBSD)
+-# include <sys/param.h>
+-# if (OpenBSD >= 200519) && !defined(HAVE_DL_ITERATE_PHDR)
+-#   define HAVE_DL_ITERATE_PHDR
+-# endif
+-#endif /* OPENBSD */
+-
+ #if defined(SCO_ELF) || defined(DGUX) || defined(HURD) \
+     || (defined(__ELF__) && (defined(LINUX) || defined(FREEBSD) \
+                              || defined(NACL) || defined(NETBSD) \
+@@ -150,8 +143,10 @@ STATIC GC_has_static_roots_func GC_has_static_roots = 
+ #    elif defined(NETBSD) || defined(OPENBSD)
+ #      if ELFSIZE == 32
+ #        define ElfW(type) Elf32_##type
+-#      else
++#      elif ELFSIZE == 64
+ #        define ElfW(type) Elf64_##type
++#      else
++#        error Missing required ELFSIZE define
+ #      endif
+ #    else
+ #      if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
Index: patches/patch-include_gc_config_macros_h
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_gc_config_macros_h,v
retrieving revision 1.3
diff -u -p -u -r1.3 patch-include_gc_config_macros_h
--- patches/patch-include_gc_config_macros_h    9 Feb 2014 06:01:54 -0000       
1.3
+++ patches/patch-include_gc_config_macros_h    4 Feb 2021 14:13:31 -0000
@@ -1,21 +1,24 @@
-$OpenBSD: patch-include_gc_config_macros_h,v 1.3 2014/02/09 06:01:54 shadchin 
Exp $
---- include/gc_config_macros.h.orig    Sat Jan 18 23:56:01 2014
-+++ include/gc_config_macros.h Sat Jan 18 23:54:59 2014
-@@ -87,14 +87,14 @@
- # if defined(__mips) && !defined(__linux__)
- #   define GC_IRIX_THREADS
- # endif
--# if defined(__sparc) && !defined(__linux__) \
-+# if defined(__OpenBSD__)
+$OpenBSD$
+
+- make sure the check for GC_OPENBSD_THREADS is before any arch
+  specific checks
+
+Index: include/gc_config_macros.h
+--- include/gc_config_macros.h.orig
++++ include/gc_config_macros.h
+@@ -83,13 +83,13 @@
+ #elif defined(GC_THREADS)
+ # if defined(__linux__)
+ #   define GC_LINUX_THREADS
++# elif defined(__OpenBSD__)
 +#   define GC_OPENBSD_THREADS
-+# elif defined(__sparc) && !defined(__linux__) \
-      || defined(sun) && (defined(i386) || defined(__i386__) \
-                          || defined(__amd64__))
- #   define GC_SOLARIS_THREADS
- # elif defined(__APPLE__) && defined(__MACH__)
- #   define GC_DARWIN_THREADS
+ # elif defined(_PA_RISC1_1) || defined(_PA_RISC2_0) || defined(hppa) \
+        || defined(__HPPA) || (defined(__ia64) && defined(_HPUX_SOURCE))
+ #   define GC_HPUX_THREADS
+ # elif defined(__HAIKU__)
+ #   define GC_HAIKU_THREADS
 -# elif defined(__OpenBSD__)
 -#   define GC_OPENBSD_THREADS
- # elif !defined(GC_LINUX_THREADS) && !defined(GC_HPUX_THREADS) \
-        && !defined(GC_OSF1_THREADS) && !defined(GC_IRIX_THREADS)
-     /* FIXME: Should we really need for FreeBSD and NetBSD to check     */
+ # elif defined(__DragonFly__) || defined(__FreeBSD_kernel__) \
+        || (defined(__FreeBSD__) && !defined(SN_TARGET_ORBIS))
+ #   define GC_FREEBSD_THREADS
Index: patches/patch-include_private_gcconfig_h
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_private_gcconfig_h,v
retrieving revision 1.23
diff -u -p -u -r1.23 patch-include_private_gcconfig_h
--- patches/patch-include_private_gcconfig_h    24 Aug 2020 21:31:13 -0000      
1.23
+++ patches/patch-include_private_gcconfig_h    4 Feb 2021 14:13:31 -0000
@@ -1,46 +1,36 @@
-$OpenBSD: patch-include_private_gcconfig_h,v 1.23 2020/08/24 21:31:13 gkoehler 
Exp $
+$OpenBSD$
 
-- use mmap, not sbrk, on OpenBSD
+- define USE_MMAP_ANON on OpenBSD when USE_MMAP is defined
 - All OpenBSD mips platforms are 64-bit, so correct the wordsize and alignment
 - use __data_start instead of _fdata on OpenBSD/mips64
 - add support for OpenBSD/aarch64 and powerpc64
+- Remove unused ELF_CLASS for OpenBSD
 
 Index: include/private/gcconfig.h
 --- include/private/gcconfig.h.orig
 +++ include/private/gcconfig.h
-@@ -76,6 +76,10 @@
- /* And one for OpenBSD: */
- # if defined(__OpenBSD__)
- #    define OPENBSD
-+#    ifndef USE_MMAP
-+#      define USE_MMAP
-+#    endif
-+#    define USE_MMAP_ANON
- # endif
- 
- /* And one for FreeBSD: */
-@@ -102,7 +106,8 @@
- # endif
+@@ -160,7 +160,8 @@ EXTERN_C_BEGIN
  # if defined(__aarch64__)
  #    define AARCH64
--#    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD)
-+#    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD) \
-+      && !defined(OPENBSD)
+ #    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD) \
+-        && !defined(NETBSD) && !defined(NN_BUILD_TARGET_PLATFORM_NX)
++        && !defined(NETBSD) && !defined(NN_BUILD_TARGET_PLATFORM_NX) \
++        && !defined(OPENBSD)
  #      define NOSYS
  #      define mach_type_known
  #    endif
-@@ -137,6 +142,10 @@
+@@ -196,6 +197,10 @@ EXTERN_C_BEGIN
  #    define ARM32
  #    define mach_type_known
  # endif
 +# if defined(OPENBSD) && defined(__aarch64__)
-+#    define AARCH64
-+#    define mach_type_known
++#   define AARCH64
++#   define mach_type_known
 +# endif
  # if defined(OPENBSD) && defined(__sh__)
  #    define SH
  #    define mach_type_known
-@@ -962,7 +971,12 @@
+@@ -1076,7 +1081,12 @@ EXTERN_C_BEGIN
  #   endif
  #   ifdef OPENBSD
  #     define OS_TYPE "OPENBSD"
@@ -52,44 +42,69 @@ Index: include/private/gcconfig.h
 +#       define ALIGNMENT 4
 +#     endif
  #     ifndef GC_OPENBSD_THREADS
+         EXTERN_C_END
  #       include <sys/param.h>
- #       include <uvm/uvm_extern.h>
-@@ -1712,14 +1726,15 @@
+@@ -1847,7 +1857,8 @@ EXTERN_C_BEGIN
  #  endif
  #  ifdef OPENBSD
- #    define OS_TYPE "OPENBSD"
--#    define ALIGNMENT 4
-+#    define CPP_WORDSZ 64
-+#    define ALIGNMENT 8
+ #     define OS_TYPE "OPENBSD"
+-#     define ALIGNMENT 4
++#     define CPP_WORDSZ 64
++#     define ALIGNMENT 8
  #     ifndef GC_OPENBSD_THREADS
- #      include <sys/param.h>
- #      include <uvm/uvm_extern.h>
- #      define STACKBOTTOM ((ptr_t)USRSTACK)
- #    endif
--     extern int _fdata[];
--#    define DATASTART ((ptr_t)_fdata)
-+     extern int __data_start[];
-+#    define DATASTART ((ptr_t)__data_start)
-      extern int _end[];
- #    define DATAEND ((ptr_t)(&_end))
- #    define DYNAMIC_LOADING
-@@ -2165,6 +2180,19 @@
-       extern char etext[];
- #     define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext)
- #     define DATASTART_USES_BSDGETDATASTART
-+#   endif
+         EXTERN_C_END
+ #       include <sys/param.h>
+@@ -1859,8 +1870,8 @@ EXTERN_C_BEGIN
+ #         define HEURISTIC2
+ #       endif
+ #     endif
+-      extern int _fdata[];
+-#     define DATASTART ((ptr_t)_fdata)
++      extern int __data_start[];
++#     define DATASTART ((ptr_t)__data_start)
+       extern int _end[];
+ #     define DATAEND ((ptr_t)(&_end))
+ #     define DYNAMIC_LOADING
+@@ -2019,7 +2030,6 @@ EXTERN_C_BEGIN
+ #   endif
+ #   ifdef OPENBSD
+ #       define OS_TYPE "OPENBSD"
+-#       define ELF_CLASS ELFCLASS64
+ #       ifndef GC_OPENBSD_THREADS
+           EXTERN_C_END
+ #         include <sys/param.h>
+@@ -2345,6 +2355,17 @@ EXTERN_C_BEGIN
+       void *switch_get_stack_bottom(void);
+ #     define STACKBOTTOM ((ptr_t)switch_get_stack_bottom())
+ #   endif
 +#   ifdef OPENBSD
 +#     define OS_TYPE "OPENBSD"
 +#     ifndef GC_OPENBSD_THREADS
-+#       include <sys/param.h>
-+#       include <uvm/uvm_extern.h>
-+#       define STACKBOTTOM ((ptr_t)USRSTACK)
++#       define HEURISTIC2
 +#     endif
 +      extern int __data_start[];
 +#     define DATASTART ((ptr_t)__data_start)
 +      extern int _end[];
 +#     define DATAEND ((ptr_t)(&_end))
 +#     define DYNAMIC_LOADING
- #   endif
++#   endif
  #   ifdef NOSYS
        /* __data_start is usually defined in the target linker script.   */
+       extern int __data_start[];
+@@ -2604,7 +2625,6 @@ EXTERN_C_BEGIN
+ #   endif
+ #   ifdef OPENBSD
+ #       define OS_TYPE "OPENBSD"
+-#       define ELF_CLASS ELFCLASS64
+ #       ifndef GC_OPENBSD_THREADS
+           EXTERN_C_END
+ #         include <sys/param.h>
+@@ -2906,6 +2926,8 @@ EXTERN_C_BEGIN
+ #elif defined(LINUX) && defined(USE_MMAP)
+     /* The kernel may do a somewhat better job merging mappings etc.    */
+     /* with anonymous mappings.                                         */
++#   define USE_MMAP_ANON
++#elif defined(OPENBSD) && defined(USE_MMAP)
+ #   define USE_MMAP_ANON
+ #endif
+ 
Index: patches/patch-os_dep_c
===================================================================
RCS file: patches/patch-os_dep_c
diff -N patches/patch-os_dep_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-os_dep_c      4 Feb 2021 14:13:31 -0000
@@ -0,0 +1,57 @@
+$OpenBSD$
+
+- GC_find_limit_openbsd is only needed for uthreads
+
+Index: os_dep.c
+--- os_dep.c.orig
++++ os_dep.c
+@@ -514,23 +514,22 @@ GC_INNER char * GC_get_maps(void)
+   static struct sigaction old_segv_act;
+   STATIC JMP_BUF GC_jmp_buf_openbsd;
+ 
+-# ifdef THREADS
++  STATIC void GC_fault_handler_openbsd(int sig GC_ATTR_UNUSED)
++  {
++     LONGJMP(GC_jmp_buf_openbsd, 1);
++  }
++
++# ifdef GC_OPENBSD_UTHREADS
+ #   include <sys/syscall.h>
+     EXTERN_C_BEGIN
+     extern sigset_t __syscall(quad_t, ...);
+     EXTERN_C_END
+-# endif
+ 
+   /* Don't use GC_find_limit() because siglongjmp() outside of the      */
+   /* signal handler by-passes our userland pthreads lib, leaving        */
+   /* SIGSEGV and SIGPROF masked.  Instead, use this custom one that     */
+   /* works-around the issues.                                           */
+ 
+-  STATIC void GC_fault_handler_openbsd(int sig GC_ATTR_UNUSED)
+-  {
+-     LONGJMP(GC_jmp_buf_openbsd, 1);
+-  }
+-
+   /* Return the first non-addressable location > p or bound.    */
+   /* Requires the allocation lock.                              */
+   STATIC ptr_t GC_find_limit_openbsd(ptr_t p, ptr_t bound)
+@@ -573,6 +572,7 @@ GC_INNER char * GC_get_maps(void)
+     sigaction(SIGSEGV, &old_segv_act, 0);
+     return(result);
+   }
++# endif
+ 
+   /* Return first addressable location > p or bound.    */
+   /* Requires the allocation lock.                      */
+@@ -2004,7 +2004,11 @@ void GC_register_data_segments(void)
+     ABORT_ARG2("Wrong DATASTART/END pair",
+                ": %p .. %p", (void *)region_start, (void *)DATAEND);
+   for (;;) {
++# ifdef GC_OPENBSD_UTHREADS
+     ptr_t region_end = GC_find_limit_openbsd(region_start, DATAEND);
++# else
++    ptr_t region_end = GC_find_limit_with_bound(region_start, TRUE, DATAEND);
++# endif
+ 
+     GC_add_roots_inner(region_start, region_end, FALSE);
+     if ((word)region_end >= (word)DATAEND)
Index: pkg/PLIST-atomic
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-atomic,v
retrieving revision 1.6
diff -u -p -u -r1.6 PLIST-atomic
--- pkg/PLIST-atomic    30 Dec 2018 17:08:09 -0000      1.6
+++ pkg/PLIST-atomic    4 Feb 2021 14:13:31 -0000
@@ -75,10 +75,10 @@ include/atomic_ops/sysdeps/test_and_set_
 include/atomic_ops/sysdeps/test_and_set_t_is_char.h
 include/atomic_ops_malloc.h
 include/atomic_ops_stack.h
-lib/libatomic_ops.a
+@static-lib lib/libatomic_ops.a
 lib/libatomic_ops.la
 @lib lib/libatomic_ops.so.${LIBatomic_ops_VERSION}
-lib/libatomic_ops_gpl.a
+@static-lib lib/libatomic_ops_gpl.a
 lib/libatomic_ops_gpl.la
 @lib lib/libatomic_ops_gpl.so.${LIBatomic_ops_gpl_VERSION}
 lib/pkgconfig/atomic_ops.pc
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-main,v
retrieving revision 1.5
diff -u -p -u -r1.5 PLIST-main
--- pkg/PLIST-main      12 Nov 2016 10:33:04 -0000      1.5
+++ pkg/PLIST-main      4 Feb 2021 14:13:31 -0000
@@ -20,51 +20,50 @@ include/gc/gc_typed.h
 include/gc/gc_version.h
 include/gc/javaxfc.h
 include/gc/leak_detector.h
-include/gc/weakpointer.h
 include/gc_cpp.h
-lib/libcord.a
+@static-lib lib/libcord.a
 lib/libcord.la
 @lib lib/libcord.so.${LIBcord_VERSION}
-lib/libgc.a
+@static-lib lib/libgc.a
 lib/libgc.la
 @lib lib/libgc.so.${LIBgc_VERSION}
-lib/libgccpp.a
+@static-lib lib/libgccpp.a
 lib/libgccpp.la
 @lib lib/libgccpp.so.${LIBgccpp_VERSION}
 lib/pkgconfig/bdw-gc.pc
 @man man/man3/gc.3
-share/gc/
-share/gc/AUTHORS
-share/gc/README.DGUX386
-share/gc/README.Mac
-share/gc/README.OS2
-share/gc/README.amiga
-share/gc/README.arm.cross
-share/gc/README.autoconf
-share/gc/README.cmake
-share/gc/README.cords
-share/gc/README.darwin
-share/gc/README.environment
-share/gc/README.ews4800
-share/gc/README.hp
-share/gc/README.linux
-share/gc/README.macros
-share/gc/README.md
-share/gc/README.rs6000
-share/gc/README.sgi
-share/gc/README.solaris2
-share/gc/README.symbian
-share/gc/README.uts
-share/gc/README.win32
-share/gc/README.win64
-share/gc/debugging.html
-share/gc/finalization.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
+share/doc/gc/
+share/doc/gc/AUTHORS
+share/doc/gc/README.DGUX386
+share/doc/gc/README.Mac
+share/doc/gc/README.OS2
+share/doc/gc/README.amiga
+share/doc/gc/README.arm.cross
+share/doc/gc/README.autoconf
+share/doc/gc/README.cmake
+share/doc/gc/README.cords
+share/doc/gc/README.darwin
+share/doc/gc/README.environment
+share/doc/gc/README.ews4800
+share/doc/gc/README.hp
+share/doc/gc/README.linux
+share/doc/gc/README.macros
+share/doc/gc/README.md
+share/doc/gc/README.rs6000
+share/doc/gc/README.sgi
+share/doc/gc/README.solaris2
+share/doc/gc/README.symbian
+share/doc/gc/README.uts
+share/doc/gc/README.win32
+share/doc/gc/README.win64
+share/doc/gc/debugging.md
+share/doc/gc/finalization.md
+share/doc/gc/gcdescr.md
+share/doc/gc/gcinterface.md
+share/doc/gc/leak.md
+share/doc/gc/overview.md
+share/doc/gc/porting.md
+share/doc/gc/scale.md
+share/doc/gc/simple_example.md
+share/doc/gc/tree.md
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/Makefile,v
retrieving revision 1.75
diff -u -p -u -r1.75 Makefile
--- Makefile	24 Aug 2020 21:31:13 -0000	1.75
+++ Makefile	4 Feb 2021 14:13:31 -0000
@@ -3,8 +3,8 @@
 COMMENT-main=	garbage collection and memory leak detection for C and C++
 COMMENT-atomic=	access to hardware provided atomic memory operations
 
-VERSION=	7.6.0
-LIBAO_VERSION=	7.6.6
+VERSION=	8.0.4
+LIBAO_VERSION=	7.6.10
 # has various machine-dependent parts; updates definitely need
 # tests on more than just amd64.
 
@@ -12,7 +12,6 @@ DISTNAME=	gc-${VERSION}
 
 PKGNAME-atomic=	libatomic_ops-${LIBAO_VERSION}
 PKGNAME-main=	boehm-gc-${VERSION}
-REVISION=	6
 
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \
 		libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX}
@@ -20,11 +19,11 @@ DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \
 MULTI_PACKAGES=	-main -atomic
 DEBUG_PACKAGES=	${BUILD_PACKAGES}
 
-SHARED_LIBS +=	gc		4.0	# 1.3
-SHARED_LIBS +=	gccpp		0.0	# 1.3
-SHARED_LIBS +=	cord		2.3	# 1.3
-SHARED_LIBS +=  atomic_ops	2.0	# 1.3
-SHARED_LIBS +=  atomic_ops_gpl	2.0	# 1.3
+SHARED_LIBS +=	gc		5.0	# 5.3
+SHARED_LIBS +=	gccpp		1.0	# 5.0
+SHARED_LIBS +=	cord		3.0	# 5.0
+SHARED_LIBS +=  atomic_ops	3.0	# 2.1
+SHARED_LIBS +=  atomic_ops_gpl	3.0	# 2.2
 
 CATEGORIES=	devel
 
@@ -49,7 +48,9 @@ CONFIGURE_STYLE= gnu
 
 CONFIGURE_ARGS= --with-libatomic-ops=no \
 		--enable-cplusplus \
-		--enable-threads=pthreads
+		--enable-threads=pthreads \
+		--enable-mmap \
+		--enable-static=yes
 
 post-extract:
 	@perl -pi -e "s,/usr/local,${PREFIX},g" ${WRKSRC}/doc/gc.man
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/distinfo,v
retrieving revision 1.11
diff -u -p -u -r1.11 distinfo
--- distinfo	30 Dec 2018 17:08:09 -0000	1.11
+++ distinfo	4 Feb 2021 14:13:31 -0000
@@ -1,4 +1,4 @@
-SHA256 (gc-7.6.0.tar.gz) = oUoosRKb6Q5VzW9xEn/8VZThCR1dVBMVKMJM0MA7fZA=
-SHA256 (libatomic_ops-7.6.6.tar.gz) = mf6rxfVId/MU20+t6xCfCz4dGlSvtrSz37oecH444HQ=
-SIZE (gc-7.6.0.tar.gz) = 1111751
-SIZE (libatomic_ops-7.6.6.tar.gz) = 498187
+SHA256 (gc-8.0.4.tar.gz) = Q2oN3GexrAsEBbYalnW8qeB1yBVvTevR0G86VsfNKJ0=
+SHA256 (libatomic_ops-7.6.10.tar.gz) = WH7fYIF/Vtrx4as4pLPHKbjoRv9ntPYqYVcYNwjwma8=
+SIZE (gc-8.0.4.tar.gz) = 1160528
+SIZE (libatomic_ops-7.6.10.tar.gz) = 503734
Index: patches/patch-bdw-gc_pc_in
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/patches/patch-bdw-gc_pc_in,v
retrieving revision 1.1
diff -u -p -u -r1.1 patch-bdw-gc_pc_in
--- patches/patch-bdw-gc_pc_in	9 Dec 2009 20:36:49 -0000	1.1
+++ patches/patch-bdw-gc_pc_in	4 Feb 2021 14:13:31 -0000
@@ -1,10 +1,11 @@
 $OpenBSD: patch-bdw-gc_pc_in,v 1.1 2009/12/09 20:36:49 sthen Exp $
---- bdw-gc.pc.in.orig	Mon Dec  7 10:57:34 2009
-+++ bdw-gc.pc.in	Mon Dec  7 10:57:46 2009
+Index: bdw-gc.pc.in
+--- bdw-gc.pc.in.orig
++++ bdw-gc.pc.in
 @@ -6,5 +6,5 @@ includedir=@includedir@
  Name: Boehm-Demers-Weiser Conservative Garbage Collector
  Description: A garbage collector for C and C++
  Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lgc
-+Libs: -L${libdir} -lgc -pthread
+-Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc
++Libs: -L${libdir} @ATOMIC_OPS_LIBS@ -lgc -pthread
  Cflags: -I${includedir}
Index: patches/patch-dyn_load_c
===================================================================
RCS file: patches/patch-dyn_load_c
diff -N patches/patch-dyn_load_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-dyn_load_c	4 Feb 2021 14:13:31 -0000
@@ -0,0 +1,33 @@
+$OpenBSD$
+
+- Remove old HAVE_DL_ITERATE_PHDR workaround for OpenBSD
+
+Index: dyn_load.c
+--- dyn_load.c.orig
++++ dyn_load.c
+@@ -81,13 +81,6 @@ STATIC GC_has_static_roots_func GC_has_static_roots = 
+ #   define ELFSIZE ARCH_ELFSIZE
+ #endif
+ 
+-#if defined(OPENBSD)
+-# include <sys/param.h>
+-# if (OpenBSD >= 200519) && !defined(HAVE_DL_ITERATE_PHDR)
+-#   define HAVE_DL_ITERATE_PHDR
+-# endif
+-#endif /* OPENBSD */
+-
+ #if defined(SCO_ELF) || defined(DGUX) || defined(HURD) \
+     || (defined(__ELF__) && (defined(LINUX) || defined(FREEBSD) \
+                              || defined(NACL) || defined(NETBSD) \
+@@ -150,8 +143,10 @@ STATIC GC_has_static_roots_func GC_has_static_roots = 
+ #    elif defined(NETBSD) || defined(OPENBSD)
+ #      if ELFSIZE == 32
+ #        define ElfW(type) Elf32_##type
+-#      else
++#      elif ELFSIZE == 64
+ #        define ElfW(type) Elf64_##type
++#      else
++#        error Missing required ELFSIZE define
+ #      endif
+ #    else
+ #      if !defined(ELF_CLASS) || ELF_CLASS == ELFCLASS32
Index: patches/patch-include_gc_config_macros_h
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_gc_config_macros_h,v
retrieving revision 1.3
diff -u -p -u -r1.3 patch-include_gc_config_macros_h
--- patches/patch-include_gc_config_macros_h	9 Feb 2014 06:01:54 -0000	1.3
+++ patches/patch-include_gc_config_macros_h	4 Feb 2021 14:13:31 -0000
@@ -1,21 +1,24 @@
-$OpenBSD: patch-include_gc_config_macros_h,v 1.3 2014/02/09 06:01:54 shadchin Exp $
---- include/gc_config_macros.h.orig	Sat Jan 18 23:56:01 2014
-+++ include/gc_config_macros.h	Sat Jan 18 23:54:59 2014
-@@ -87,14 +87,14 @@
- # if defined(__mips) && !defined(__linux__)
- #   define GC_IRIX_THREADS
- # endif
--# if defined(__sparc) && !defined(__linux__) \
-+# if defined(__OpenBSD__)
+$OpenBSD$
+
+- make sure the check for GC_OPENBSD_THREADS is before any arch
+  specific checks
+
+Index: include/gc_config_macros.h
+--- include/gc_config_macros.h.orig
++++ include/gc_config_macros.h
+@@ -83,13 +83,13 @@
+ #elif defined(GC_THREADS)
+ # if defined(__linux__)
+ #   define GC_LINUX_THREADS
++# elif defined(__OpenBSD__)
 +#   define GC_OPENBSD_THREADS
-+# elif defined(__sparc) && !defined(__linux__) \
-      || defined(sun) && (defined(i386) || defined(__i386__) \
-                          || defined(__amd64__))
- #   define GC_SOLARIS_THREADS
- # elif defined(__APPLE__) && defined(__MACH__)
- #   define GC_DARWIN_THREADS
+ # elif defined(_PA_RISC1_1) || defined(_PA_RISC2_0) || defined(hppa) \
+        || defined(__HPPA) || (defined(__ia64) && defined(_HPUX_SOURCE))
+ #   define GC_HPUX_THREADS
+ # elif defined(__HAIKU__)
+ #   define GC_HAIKU_THREADS
 -# elif defined(__OpenBSD__)
 -#   define GC_OPENBSD_THREADS
- # elif !defined(GC_LINUX_THREADS) && !defined(GC_HPUX_THREADS) \
-        && !defined(GC_OSF1_THREADS) && !defined(GC_IRIX_THREADS)
-     /* FIXME: Should we really need for FreeBSD and NetBSD to check     */
+ # elif defined(__DragonFly__) || defined(__FreeBSD_kernel__) \
+        || (defined(__FreeBSD__) && !defined(SN_TARGET_ORBIS))
+ #   define GC_FREEBSD_THREADS
Index: patches/patch-include_private_gcconfig_h
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/patches/patch-include_private_gcconfig_h,v
retrieving revision 1.23
diff -u -p -u -r1.23 patch-include_private_gcconfig_h
--- patches/patch-include_private_gcconfig_h	24 Aug 2020 21:31:13 -0000	1.23
+++ patches/patch-include_private_gcconfig_h	4 Feb 2021 14:13:31 -0000
@@ -1,46 +1,36 @@
-$OpenBSD: patch-include_private_gcconfig_h,v 1.23 2020/08/24 21:31:13 gkoehler Exp $
+$OpenBSD$
 
-- use mmap, not sbrk, on OpenBSD
+- define USE_MMAP_ANON on OpenBSD when USE_MMAP is defined
 - All OpenBSD mips platforms are 64-bit, so correct the wordsize and alignment
 - use __data_start instead of _fdata on OpenBSD/mips64
 - add support for OpenBSD/aarch64 and powerpc64
+- Remove unused ELF_CLASS for OpenBSD
 
 Index: include/private/gcconfig.h
 --- include/private/gcconfig.h.orig
 +++ include/private/gcconfig.h
-@@ -76,6 +76,10 @@
- /* And one for OpenBSD: */
- # if defined(__OpenBSD__)
- #    define OPENBSD
-+#    ifndef USE_MMAP
-+#      define USE_MMAP
-+#    endif
-+#    define USE_MMAP_ANON
- # endif
- 
- /* And one for FreeBSD: */
-@@ -102,7 +106,8 @@
- # endif
+@@ -160,7 +160,8 @@ EXTERN_C_BEGIN
  # if defined(__aarch64__)
  #    define AARCH64
--#    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD)
-+#    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD) \
-+	&& !defined(OPENBSD)
+ #    if !defined(LINUX) && !defined(DARWIN) && !defined(FREEBSD) \
+-        && !defined(NETBSD) && !defined(NN_BUILD_TARGET_PLATFORM_NX)
++        && !defined(NETBSD) && !defined(NN_BUILD_TARGET_PLATFORM_NX) \
++        && !defined(OPENBSD)
  #      define NOSYS
  #      define mach_type_known
  #    endif
-@@ -137,6 +142,10 @@
+@@ -196,6 +197,10 @@ EXTERN_C_BEGIN
  #    define ARM32
  #    define mach_type_known
  # endif
 +# if defined(OPENBSD) && defined(__aarch64__)
-+#    define AARCH64
-+#    define mach_type_known
++#   define AARCH64
++#   define mach_type_known
 +# endif
  # if defined(OPENBSD) && defined(__sh__)
  #    define SH
  #    define mach_type_known
-@@ -962,7 +971,12 @@
+@@ -1076,7 +1081,12 @@ EXTERN_C_BEGIN
  #   endif
  #   ifdef OPENBSD
  #     define OS_TYPE "OPENBSD"
@@ -52,44 +42,69 @@ Index: include/private/gcconfig.h
 +#       define ALIGNMENT 4
 +#     endif
  #     ifndef GC_OPENBSD_THREADS
+         EXTERN_C_END
  #       include <sys/param.h>
- #       include <uvm/uvm_extern.h>
-@@ -1712,14 +1726,15 @@
+@@ -1847,7 +1857,8 @@ EXTERN_C_BEGIN
  #  endif
  #  ifdef OPENBSD
- #    define OS_TYPE "OPENBSD"
--#    define ALIGNMENT 4
-+#    define CPP_WORDSZ 64
-+#    define ALIGNMENT 8
+ #     define OS_TYPE "OPENBSD"
+-#     define ALIGNMENT 4
++#     define CPP_WORDSZ 64
++#     define ALIGNMENT 8
  #     ifndef GC_OPENBSD_THREADS
- #      include <sys/param.h>
- #      include <uvm/uvm_extern.h>
- #      define STACKBOTTOM ((ptr_t)USRSTACK)
- #    endif
--     extern int _fdata[];
--#    define DATASTART ((ptr_t)_fdata)
-+     extern int __data_start[];
-+#    define DATASTART ((ptr_t)__data_start)
-      extern int _end[];
- #    define DATAEND ((ptr_t)(&_end))
- #    define DYNAMIC_LOADING
-@@ -2165,6 +2180,19 @@
-       extern char etext[];
- #     define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext)
- #     define DATASTART_USES_BSDGETDATASTART
-+#   endif
+         EXTERN_C_END
+ #       include <sys/param.h>
+@@ -1859,8 +1870,8 @@ EXTERN_C_BEGIN
+ #         define HEURISTIC2
+ #       endif
+ #     endif
+-      extern int _fdata[];
+-#     define DATASTART ((ptr_t)_fdata)
++      extern int __data_start[];
++#     define DATASTART ((ptr_t)__data_start)
+       extern int _end[];
+ #     define DATAEND ((ptr_t)(&_end))
+ #     define DYNAMIC_LOADING
+@@ -2019,7 +2030,6 @@ EXTERN_C_BEGIN
+ #   endif
+ #   ifdef OPENBSD
+ #       define OS_TYPE "OPENBSD"
+-#       define ELF_CLASS ELFCLASS64
+ #       ifndef GC_OPENBSD_THREADS
+           EXTERN_C_END
+ #         include <sys/param.h>
+@@ -2345,6 +2355,17 @@ EXTERN_C_BEGIN
+       void *switch_get_stack_bottom(void);
+ #     define STACKBOTTOM ((ptr_t)switch_get_stack_bottom())
+ #   endif
 +#   ifdef OPENBSD
 +#     define OS_TYPE "OPENBSD"
 +#     ifndef GC_OPENBSD_THREADS
-+#       include <sys/param.h>
-+#       include <uvm/uvm_extern.h>
-+#       define STACKBOTTOM ((ptr_t)USRSTACK)
++#       define HEURISTIC2
 +#     endif
 +      extern int __data_start[];
 +#     define DATASTART ((ptr_t)__data_start)
 +      extern int _end[];
 +#     define DATAEND ((ptr_t)(&_end))
 +#     define DYNAMIC_LOADING
- #   endif
++#   endif
  #   ifdef NOSYS
        /* __data_start is usually defined in the target linker script.   */
+       extern int __data_start[];
+@@ -2604,7 +2625,6 @@ EXTERN_C_BEGIN
+ #   endif
+ #   ifdef OPENBSD
+ #       define OS_TYPE "OPENBSD"
+-#       define ELF_CLASS ELFCLASS64
+ #       ifndef GC_OPENBSD_THREADS
+           EXTERN_C_END
+ #         include <sys/param.h>
+@@ -2906,6 +2926,8 @@ EXTERN_C_BEGIN
+ #elif defined(LINUX) && defined(USE_MMAP)
+     /* The kernel may do a somewhat better job merging mappings etc.    */
+     /* with anonymous mappings.                                         */
++#   define USE_MMAP_ANON
++#elif defined(OPENBSD) && defined(USE_MMAP)
+ #   define USE_MMAP_ANON
+ #endif
+ 
Index: patches/patch-os_dep_c
===================================================================
RCS file: patches/patch-os_dep_c
diff -N patches/patch-os_dep_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-os_dep_c	4 Feb 2021 14:13:31 -0000
@@ -0,0 +1,57 @@
+$OpenBSD$
+
+- GC_find_limit_openbsd is only needed for uthreads
+
+Index: os_dep.c
+--- os_dep.c.orig
++++ os_dep.c
+@@ -514,23 +514,22 @@ GC_INNER char * GC_get_maps(void)
+   static struct sigaction old_segv_act;
+   STATIC JMP_BUF GC_jmp_buf_openbsd;
+ 
+-# ifdef THREADS
++  STATIC void GC_fault_handler_openbsd(int sig GC_ATTR_UNUSED)
++  {
++     LONGJMP(GC_jmp_buf_openbsd, 1);
++  }
++
++# ifdef GC_OPENBSD_UTHREADS
+ #   include <sys/syscall.h>
+     EXTERN_C_BEGIN
+     extern sigset_t __syscall(quad_t, ...);
+     EXTERN_C_END
+-# endif
+ 
+   /* Don't use GC_find_limit() because siglongjmp() outside of the      */
+   /* signal handler by-passes our userland pthreads lib, leaving        */
+   /* SIGSEGV and SIGPROF masked.  Instead, use this custom one that     */
+   /* works-around the issues.                                           */
+ 
+-  STATIC void GC_fault_handler_openbsd(int sig GC_ATTR_UNUSED)
+-  {
+-     LONGJMP(GC_jmp_buf_openbsd, 1);
+-  }
+-
+   /* Return the first non-addressable location > p or bound.    */
+   /* Requires the allocation lock.                              */
+   STATIC ptr_t GC_find_limit_openbsd(ptr_t p, ptr_t bound)
+@@ -573,6 +572,7 @@ GC_INNER char * GC_get_maps(void)
+     sigaction(SIGSEGV, &old_segv_act, 0);
+     return(result);
+   }
++# endif
+ 
+   /* Return first addressable location > p or bound.    */
+   /* Requires the allocation lock.                      */
+@@ -2004,7 +2004,11 @@ void GC_register_data_segments(void)
+     ABORT_ARG2("Wrong DATASTART/END pair",
+                ": %p .. %p", (void *)region_start, (void *)DATAEND);
+   for (;;) {
++# ifdef GC_OPENBSD_UTHREADS
+     ptr_t region_end = GC_find_limit_openbsd(region_start, DATAEND);
++# else
++    ptr_t region_end = GC_find_limit_with_bound(region_start, TRUE, DATAEND);
++# endif
+ 
+     GC_add_roots_inner(region_start, region_end, FALSE);
+     if ((word)region_end >= (word)DATAEND)
Index: pkg/PLIST-atomic
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-atomic,v
retrieving revision 1.6
diff -u -p -u -r1.6 PLIST-atomic
--- pkg/PLIST-atomic	30 Dec 2018 17:08:09 -0000	1.6
+++ pkg/PLIST-atomic	4 Feb 2021 14:13:31 -0000
@@ -75,10 +75,10 @@ include/atomic_ops/sysdeps/test_and_set_
 include/atomic_ops/sysdeps/test_and_set_t_is_char.h
 include/atomic_ops_malloc.h
 include/atomic_ops_stack.h
-lib/libatomic_ops.a
+@static-lib lib/libatomic_ops.a
 lib/libatomic_ops.la
 @lib lib/libatomic_ops.so.${LIBatomic_ops_VERSION}
-lib/libatomic_ops_gpl.a
+@static-lib lib/libatomic_ops_gpl.a
 lib/libatomic_ops_gpl.la
 @lib lib/libatomic_ops_gpl.so.${LIBatomic_ops_gpl_VERSION}
 lib/pkgconfig/atomic_ops.pc
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-main,v
retrieving revision 1.5
diff -u -p -u -r1.5 PLIST-main
--- pkg/PLIST-main	12 Nov 2016 10:33:04 -0000	1.5
+++ pkg/PLIST-main	4 Feb 2021 14:13:31 -0000
@@ -20,51 +20,50 @@ include/gc/gc_typed.h
 include/gc/gc_version.h
 include/gc/javaxfc.h
 include/gc/leak_detector.h
-include/gc/weakpointer.h
 include/gc_cpp.h
-lib/libcord.a
+@static-lib lib/libcord.a
 lib/libcord.la
 @lib lib/libcord.so.${LIBcord_VERSION}
-lib/libgc.a
+@static-lib lib/libgc.a
 lib/libgc.la
 @lib lib/libgc.so.${LIBgc_VERSION}
-lib/libgccpp.a
+@static-lib lib/libgccpp.a
 lib/libgccpp.la
 @lib lib/libgccpp.so.${LIBgccpp_VERSION}
 lib/pkgconfig/bdw-gc.pc
 @man man/man3/gc.3
-share/gc/
-share/gc/AUTHORS
-share/gc/README.DGUX386
-share/gc/README.Mac
-share/gc/README.OS2
-share/gc/README.amiga
-share/gc/README.arm.cross
-share/gc/README.autoconf
-share/gc/README.cmake
-share/gc/README.cords
-share/gc/README.darwin
-share/gc/README.environment
-share/gc/README.ews4800
-share/gc/README.hp
-share/gc/README.linux
-share/gc/README.macros
-share/gc/README.md
-share/gc/README.rs6000
-share/gc/README.sgi
-share/gc/README.solaris2
-share/gc/README.symbian
-share/gc/README.uts
-share/gc/README.win32
-share/gc/README.win64
-share/gc/debugging.html
-share/gc/finalization.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
+share/doc/gc/
+share/doc/gc/AUTHORS
+share/doc/gc/README.DGUX386
+share/doc/gc/README.Mac
+share/doc/gc/README.OS2
+share/doc/gc/README.amiga
+share/doc/gc/README.arm.cross
+share/doc/gc/README.autoconf
+share/doc/gc/README.cmake
+share/doc/gc/README.cords
+share/doc/gc/README.darwin
+share/doc/gc/README.environment
+share/doc/gc/README.ews4800
+share/doc/gc/README.hp
+share/doc/gc/README.linux
+share/doc/gc/README.macros
+share/doc/gc/README.md
+share/doc/gc/README.rs6000
+share/doc/gc/README.sgi
+share/doc/gc/README.solaris2
+share/doc/gc/README.symbian
+share/doc/gc/README.uts
+share/doc/gc/README.win32
+share/doc/gc/README.win64
+share/doc/gc/debugging.md
+share/doc/gc/finalization.md
+share/doc/gc/gcdescr.md
+share/doc/gc/gcinterface.md
+share/doc/gc/leak.md
+share/doc/gc/overview.md
+share/doc/gc/porting.md
+share/doc/gc/scale.md
+share/doc/gc/simple_example.md
+share/doc/gc/tree.md

Reply via email to