> I can't download 7.6.12. Sorry, I've forgot to check it is there. I've just sent a request to Hans Boehm to add this tarball. It should be there in a couple of days, or alternately you can fetch it from https://github.com/ivmai/bdwgc/releases/download/v7.6.12/gc-7.6.12.tar.gz
>Среда, 15 мая 2019, 0:59 +03:00 от Nam Nguyen <[email protected]>: > >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 > > -- Ivan Maidanski
