We can also obviously get rid of the sparc32 patch. Now tested on amd64, i386, sparc64, powerpc, hppa, aarch64 and arm.
Index: Makefile =================================================================== RCS file: /cvs/ports/devel/boehm-gc/Makefile,v retrieving revision 1.69 diff -u -p -r1.69 Makefile --- Makefile 24 Oct 2018 14:27:59 -0000 1.69 +++ Makefile 23 Dec 2018 18:51:02 -0000 @@ -4,14 +4,13 @@ COMMENT-main= garbage collection and mem COMMENT-atomic= access to hardware provided atomic memory operations VERSION= 7.6.0 -LIBAO_VERSION= 7.4.4 +LIBAO_VERSION= 7.6.6 DISTNAME= gc-${VERSION} PKGNAME-atomic= libatomic_ops-${LIBAO_VERSION} PKGNAME-main= boehm-gc-${VERSION} REVISION-main= 2 -REVISION-atomic=2 DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX} @@ -21,8 +20,8 @@ MULTI_PACKAGES= -main -atomic 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 1.3 # 1.3 -SHARED_LIBS += atomic_ops_gpl 1.3 # 1.3 +SHARED_LIBS += atomic_ops 2.0 # 1.3 +SHARED_LIBS += atomic_ops_gpl 2.0 # 1.3 CATEGORIES= devel Index: distinfo =================================================================== RCS file: /cvs/ports/devel/boehm-gc/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- distinfo 12 Nov 2016 10:33:04 -0000 1.10 +++ distinfo 23 Dec 2018 18:51:02 -0000 @@ -1,4 +1,4 @@ SHA256 (gc-7.6.0.tar.gz) = oUoosRKb6Q5VzW9xEn/8VZThCR1dVBMVKMJM0MA7fZA= -SHA256 (libatomic_ops-7.4.4.tar.gz) = vyEKYA3Rvsv3k23SkUz19dM1YEaQSEjc/SfQyLErb48= +SHA256 (libatomic_ops-7.6.6.tar.gz) = mf6rxfVId/MU20+t6xCfCz4dGlSvtrSz37oecH444HQ= SIZE (gc-7.6.0.tar.gz) = 1111751 -SIZE (libatomic_ops-7.4.4.tar.gz) = 480094 +SIZE (libatomic_ops-7.6.6.tar.gz) = 498187 Index: patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h =================================================================== RCS file: patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h diff -N patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h --- patches/patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h 21 Feb 2016 22:01:57 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,28 +0,0 @@ -$OpenBSD: patch-libatomic_ops_src_atomic_ops_sysdeps_gcc_sparc_h,v 1.1 2016/02/21 22:01:57 tobiasu Exp $ - -No easy way to set AO_NO_SPARC_V9 permanently on sparc32. It must be defined -in every libatomic_ops user on sparc. -This is meant to help operating systems that support sparcv9 in 32bit mode, -multilib, etc. -We don't have to worry about these setups and can just do the obvious fix. - ---- libatomic_ops/src/atomic_ops/sysdeps/gcc/sparc.h.orig Sat Feb 20 01:05:41 2016 -+++ libatomic_ops/src/atomic_ops/sysdeps/gcc/sparc.h Sat Feb 20 01:06:25 2016 -@@ -37,7 +37,7 @@ AO_test_and_set_full(volatile AO_TS_t *addr) { - } - #define AO_HAVE_test_and_set_full - --#ifndef AO_NO_SPARC_V9 -+#ifdef __sparc64__ - /* Returns nonzero if the comparison succeeded. */ - AO_INLINE int - AO_compare_and_swap_full(volatile AO_t *addr, AO_t old, AO_t new_val) { -@@ -62,7 +62,7 @@ AO_compare_and_swap_full(volatile AO_t *addr, AO_t old - #define AO_HAVE_compare_and_swap_full - - /* TODO: implement AO_fetch_compare_and_swap. */ --#endif /* !AO_NO_SPARC_V9 */ -+#endif /* __sparc64__ */ - - /* TODO: Extend this for SPARC v8 and v9 (V8 also has swap, V9 has CAS, */ - /* there are barriers like membar #LoadStore, CASA (32-bit) and */ Index: pkg/PLIST-atomic =================================================================== RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-atomic,v retrieving revision 1.5 diff -u -p -r1.5 PLIST-atomic --- pkg/PLIST-atomic 17 May 2018 09:41:24 -0000 1.5 +++ pkg/PLIST-atomic 23 Dec 2018 18:51:02 -0000 @@ -29,9 +29,11 @@ include/atomic_ops/sysdeps/gcc/ia64.h include/atomic_ops/sysdeps/gcc/m68k.h include/atomic_ops/sysdeps/gcc/mips.h include/atomic_ops/sysdeps/gcc/powerpc.h +include/atomic_ops/sysdeps/gcc/riscv.h include/atomic_ops/sysdeps/gcc/s390.h include/atomic_ops/sysdeps/gcc/sh.h include/atomic_ops/sysdeps/gcc/sparc.h +include/atomic_ops/sysdeps/gcc/tile.h include/atomic_ops/sysdeps/gcc/x86.h include/atomic_ops/sysdeps/generic_pthread.h include/atomic_ops/sysdeps/hpc/ @@ -80,11 +82,11 @@ 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 -share/libatomic_ops/ -share/libatomic_ops/COPYING -share/libatomic_ops/LICENSING.txt -share/libatomic_ops/README.md -share/libatomic_ops/README.txt -share/libatomic_ops/README_malloc.txt -share/libatomic_ops/README_stack.txt -share/libatomic_ops/README_win32.txt +share/doc/libatomic_ops/ +share/doc/libatomic_ops/COPYING +share/doc/libatomic_ops/LICENSING.txt +share/doc/libatomic_ops/README.md +share/doc/libatomic_ops/README_details.txt +share/doc/libatomic_ops/README_malloc.txt +share/doc/libatomic_ops/README_stack.txt +share/doc/libatomic_ops/README_win32.txt