Stuart Henderson writes: > On 2019/05/14 23:31, Ivan Maidanski wrote: >> Hello, >> >> Here's a patch to update boehm-gc to v7.6.12 and libatomic_ops to v7.6.10. >> >> gc v7.6.0 was an experimental release not intended for the production code. > > > > On which arches has this been tested?
I can't download 7.6.12. Was this a typo? Pasting my diff for 8.0.4 (from https://marc.info/?l=openbsd-ports&m=155721770419329&w=2). An important change is the new configure flag `--enable-static=yes' Removed maintainer request since I don't understand the platform-dependent parts. Feel free to merge it with what you have if it helps. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/boehm-gc/Makefile,v retrieving revision 1.70 diff -u -p -u -p -r1.70 Makefile --- Makefile 30 Dec 2018 17:08:09 -0000 1.70 +++ Makefile 14 May 2019 21:12:26 -0000 @@ -3,50 +3,50 @@ 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 DISTNAME= gc-${VERSION} PKGNAME-atomic= libatomic_ops-${LIBAO_VERSION} PKGNAME-main= boehm-gc-${VERSION} -REVISION-main= 2 DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ libatomic_ops-${LIBAO_VERSION}${EXTRACT_SUFX} 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 2.0 # 1.3 -SHARED_LIBS += atomic_ops_gpl 2.0 # 1.3 +SHARED_LIBS+= gc 5.0 # 5.3 +SHARED_LIBS+= gccpp 0.1 # 5.0 +SHARED_LIBS+= cord 2.3 # 5.0 +SHARED_LIBS+= atomic_ops 2.0 # 2.1 +SHARED_LIBS+= atomic_ops_gpl 2.0 # 2.2 CATEGORIES= devel MASTER_SITES= ${HOMEPAGE}gc_source/ -HOMEPAGE= http://hboehm.info/gc/ +HOMEPAGE= https://hboehm.info/gc/ # currently works only on most ELF archs NOT_FOR_ARCHS= m88k PERMIT_PACKAGE_CDROM= Yes -WANTLIB-main += m pthread ${COMPILER_LIBCXX} +WANTLIB-main+= m pthread ${COMPILER_LIBCXX} -COMPILER = base-clang ports-gcc base-gcc +COMPILER= base-clang ports-gcc base-gcc MAKE_ENV= CP="cp" \ INSTALL_DATA="${INSTALL_DATA}" \ INSTALL_MAN="${INSTALL_MAN}" -CONFIGURE_STYLE= gnu +CONFIGURE_STYLE= gnu -CONFIGURE_ARGS= --with-libatomic-ops=no \ +CONFIGURE_ARGS= --with-libatomic-ops=no \ --enable-cplusplus \ - --enable-threads=pthreads + --enable-threads=pthreads \ + --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 -p -r1.11 distinfo --- distinfo 30 Dec 2018 17:08:09 -0000 1.11 +++ distinfo 14 May 2019 21:12:26 -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 -p -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 14 May 2019 21:12:26 -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-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 -p -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 14 May 2019 21:12:26 -0000 @@ -1,21 +1,23 @@ $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 +Index: include/gc_config_macros.h +--- include/gc_config_macros.h.orig ++++ include/gc_config_macros.h +@@ -81,15 +81,15 @@ + # define GC_THREADS # endif --# if defined(__sparc) && !defined(__linux__) \ + #elif defined(GC_THREADS) +-# if defined(__linux__) +# if 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(__linux__) + # define GC_LINUX_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.22 diff -u -p -u -p -r1.22 patch-include_private_gcconfig_h --- patches/patch-include_private_gcconfig_h 15 Apr 2017 14:02:46 -0000 1.22 +++ patches/patch-include_private_gcconfig_h 14 May 2019 21:12:26 -0000 @@ -1,22 +1,22 @@ $OpenBSD: patch-include_private_gcconfig_h,v 1.22 2017/04/15 14:02:46 naddy Exp $ - 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 ---- include/private/gcconfig.h.orig Tue Aug 2 21:36:14 2016 -+++ include/private/gcconfig.h Fri Apr 14 17:44:40 2017 -@@ -102,7 +102,8 @@ - # endif +Index: include/private/gcconfig.h +--- include/private/gcconfig.h.orig ++++ include/private/gcconfig.h +@@ -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(OPENBSD) \ ++ && !defined(NN_BUILD_TARGET_PLATFORM_NX) # define NOSYS # define mach_type_known # endif -@@ -137,6 +138,10 @@ +@@ -196,6 +197,10 @@ EXTERN_C_BEGIN # define ARM32 # define mach_type_known # endif @@ -27,26 +27,17 @@ $OpenBSD: patch-include_private_gcconfig # if defined(OPENBSD) && defined(__sh__) # define SH # define mach_type_known -@@ -1712,14 +1717,15 @@ - # endif - # ifdef OPENBSD - # define OS_TYPE "OPENBSD" --# define ALIGNMENT 4 -+# define CPP_WORDSZ 64 -+# define ALIGNMENT 8 +@@ -1076,7 +1081,8 @@ EXTERN_C_BEGIN + # endif + # ifdef OPENBSD + # 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 +2171,19 @@ + EXTERN_C_END + # include <sys/param.h> +@@ -2328,6 +2334,19 @@ EXTERN_C_BEGIN extern char etext[]; # define DATASTART GC_FreeBSDGetDataStart(0x1000, (ptr_t)etext) # define DATASTART_USES_BSDGETDATASTART @@ -64,5 +55,5 @@ $OpenBSD: patch-include_private_gcconfig +# define DATAEND ((ptr_t)(&_end)) +# define DYNAMIC_LOADING # endif - # ifdef NOSYS - /* __data_start is usually defined in the target linker script. */ + # ifdef NETBSD + # define OS_TYPE "NETBSD" Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/devel/boehm-gc/pkg/PLIST-main,v retrieving revision 1.5 diff -u -p -u -p -r1.5 PLIST-main --- pkg/PLIST-main 12 Nov 2016 10:33:04 -0000 1.5 +++ pkg/PLIST-main 14 May 2019 21:12:26 -0000 @@ -20,7 +20,6 @@ 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 lib/libcord.la @@ -33,38 +32,37 @@ 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
