From afa7c230d990e7e52bf757087d3cb31f396bb49e Mon Sep 17 00:00:00 2001 From: jca Date: Sat, 24 Jul 2021 16:45:24 +0000 Subject: [PATCH] Major update to liburcu-0.13.0 Blocked for a long time for various TLS problems which don't seem present any more. There are two tests ("multiflavor") that segfault, though. Tested on amd64, sparc64, riscv64 (previously unsupported) and powerpc (thx cwen@). --- devel/liburcu/Makefile | 31 +++++----- devel/liburcu/distinfo | 4 +- .../patch-include_urcu_syscall-compat_h | 14 ++--- .../patches/patch-tests_benchmark_common_sh | 17 +++--- devel/liburcu/patches/patch-tests_unit_run_sh | 32 ----------- devel/liburcu/pkg/PLIST | 56 ++++++++++++++++++- 6 files changed, 85 insertions(+), 69 deletions(-) delete mode 100644 devel/liburcu/patches/patch-tests_unit_run_sh diff --git a/devel/liburcu/Makefile b/devel/liburcu/Makefile index 147169641eb..f9d6b9577bb 100644 --- a/devel/liburcu/Makefile +++ b/devel/liburcu/Makefile @@ -1,18 +1,18 @@ -# $OpenBSD: Makefile,v 1.21 2019/12/27 22:08:55 jca Exp $ +# $OpenBSD: Makefile,v 1.22 2021/07/24 16:45:24 jca Exp $ COMMENT = user-level RCU implementation -DISTNAME = userspace-rcu-0.10.2 -PKGNAME = liburcu-0.10.2 -REVISION = 0 +DISTNAME = userspace-rcu-0.13.0 +PKGNAME = liburcu-0.13.0 -SHARED_LIBS += urcu-bp 1.0 # 6.0 -SHARED_LIBS += urcu-cds 1.0 # 6.0 -SHARED_LIBS += urcu-common 1.0 # 6.0 -SHARED_LIBS += urcu-mb 1.0 # 6.0 -SHARED_LIBS += urcu-qsbr 1.0 # 6.0 -SHARED_LIBS += urcu-signal 1.0 # 6.0 -SHARED_LIBS += urcu 1.0 # 6.0 +SHARED_LIBS += urcu-bp 2.0 # 8.0 +SHARED_LIBS += urcu-cds 2.0 # 8.0 +SHARED_LIBS += urcu-common 2.0 # 8.0 +SHARED_LIBS += urcu-mb 2.0 # 8.0 +SHARED_LIBS += urcu-memb 0.0 # 8.0 +SHARED_LIBS += urcu-qsbr 1.0 # 8.0 +SHARED_LIBS += urcu-signal 2.0 # 8.0 +SHARED_LIBS += urcu 2.0 # 8.0 CATEGORIES = devel @@ -30,15 +30,12 @@ EXTRACT_SUFX = .tar.bz2 DEBUG_PACKAGES = ${BUILD_PACKAGES} -# For atomic builtins -MODULES+= gcc4 -MODGCC4_ARCHS= alpha hppa +# atomics, TLS (__thread) +COMPILER = base-clang ports-gcc +COMPILER_LANGS = c USE_GMAKE = Yes CONFIGURE_STYLE = gnu -# Thread-local storage emulation from clang or lang/gcc doesn't work in -# regress tests. -CONFIGURE_ENV = ac_cv_tls=none .include diff --git a/devel/liburcu/distinfo b/devel/liburcu/distinfo index 45c056b9248..c687323f163 100644 --- a/devel/liburcu/distinfo +++ b/devel/liburcu/distinfo @@ -1,2 +1,2 @@ -SHA256 (userspace-rcu-0.10.2.tar.bz2) = s/aIja9v4CwfgJf0oImOQbX+mXXhIdx5K53e9LFyYcw= -SIZE (userspace-rcu-0.10.2.tar.bz2) = 503833 +SHA256 (userspace-rcu-0.13.0.tar.bz2) = y7INvhqJLCpNiJi6xDFhduWFOSaT1Jh2bMu8aM8guiA= +SIZE (userspace-rcu-0.13.0.tar.bz2) = 608434 diff --git a/devel/liburcu/patches/patch-include_urcu_syscall-compat_h b/devel/liburcu/patches/patch-include_urcu_syscall-compat_h index 5e6aaff2bae..792dcd1d6ad 100644 --- a/devel/liburcu/patches/patch-include_urcu_syscall-compat_h +++ b/devel/liburcu/patches/patch-include_urcu_syscall-compat_h @@ -1,16 +1,14 @@ -$OpenBSD: patch-include_urcu_syscall-compat_h,v 1.1 2018/11/27 12:04:36 jca Exp $ +$OpenBSD: patch-include_urcu_syscall-compat_h,v 1.2 2021/07/24 16:45:24 jca Exp $ Index: include/urcu/syscall-compat.h --- include/urcu/syscall-compat.h.orig +++ include/urcu/syscall-compat.h -@@ -32,8 +32,8 @@ - #elif defined(__linux__) || defined(__GLIBC__) +@@ -33,7 +33,7 @@ #include --#elif defined(__CYGWIN__) || defined(__APPLE__) --/* Don't include anything on Cygwin or MacOSX. */ -+#elif defined(__CYGWIN__) || defined(__APPLE__) || defined(__OpenBSD__) -+/* Don't include anything on Cygwin or MacOSX or OpenBSD. */ + #elif defined(__CYGWIN__) || defined(__APPLE__) || \ +- defined(__FreeBSD__) || defined(__DragonFly__) ++ defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) + /* Don't include anything on these platforms. */ #else - #error "Add platform support to urcu/syscall-compat.h" diff --git a/devel/liburcu/patches/patch-tests_benchmark_common_sh b/devel/liburcu/patches/patch-tests_benchmark_common_sh index c7cd1e33b2f..89f098feceb 100644 --- a/devel/liburcu/patches/patch-tests_benchmark_common_sh +++ b/devel/liburcu/patches/patch-tests_benchmark_common_sh @@ -1,15 +1,16 @@ -$OpenBSD: patch-tests_benchmark_common_sh,v 1.1.1.1 2015/04/12 15:02:32 jca Exp $ +$OpenBSD: patch-tests_benchmark_common_sh,v 1.2 2021/07/24 16:45:24 jca Exp $ Our time(1) doesn't support -a and -o options. ---- tests/benchmark/common.sh.orig Tue Nov 4 16:04:53 2014 -+++ tests/benchmark/common.sh Fri Apr 3 02:13:56 2015 -@@ -4,8 +4,6 @@ - +Index: tests/benchmark/common.sh +--- tests/benchmark/common.sh.orig ++++ tests/benchmark/common.sh +@@ -22,8 +22,6 @@ xseq() { + # Set TEST_TIME_BIN if [ -x "$URCU_TEST_TIME_BIN" ]; then - test_time_bin="$URCU_TEST_TIME_BIN" + TEST_TIME_BIN="$URCU_TEST_TIME_BIN" -elif [ -x "/usr/bin/time" ]; then -- test_time_bin="/usr/bin/time" +- TEST_TIME_BIN="/usr/bin/time" else - test_time_bin="" + TEST_TIME_BIN="" fi diff --git a/devel/liburcu/patches/patch-tests_unit_run_sh b/devel/liburcu/patches/patch-tests_unit_run_sh deleted file mode 100644 index 6a689aca996..00000000000 --- a/devel/liburcu/patches/patch-tests_unit_run_sh +++ /dev/null @@ -1,32 +0,0 @@ -$OpenBSD: patch-tests_unit_run_sh,v 1.1 2018/11/27 12:04:36 jca Exp $ - -Drop dep on bash - -Index: tests/unit/run.sh ---- tests/unit/run.sh.orig -+++ tests/unit/run.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - # - # Copyright (C) 2013 - Christian Babeux - # 2016 - Michael Jeanson -@@ -19,7 +19,7 @@ - # - - INPUT=$1 --ARGS=() -+ARGS= - shift 1 - - if [ -z "${INPUT}" ]; then -@@ -28,7 +28,7 @@ if [ -z "${INPUT}" ]; then - fi - - if [ "x$V" == "x1" ]; then -- ARGS+=('-v') -+ ARGS='-v' - fi - --prove "${@}" "${ARGS[@]}" --merge --exec '' - < "${INPUT}" -+prove "${@}" ${ARGS} --merge --exec '' - < "${INPUT}" diff --git a/devel/liburcu/pkg/PLIST b/devel/liburcu/pkg/PLIST index 576665cacc3..4437e061966 100644 --- a/devel/liburcu/pkg/PLIST +++ b/devel/liburcu/pkg/PLIST @@ -1,4 +1,4 @@ -@comment $OpenBSD: PLIST,v 1.5 2019/12/27 22:08:55 jca Exp $ +@comment $OpenBSD: PLIST,v 1.6 2021/07/24 16:45:24 jca Exp $ include/urcu/ include/urcu-bp.h include/urcu-call-rcu.h @@ -9,19 +9,42 @@ include/urcu-qsbr.h include/urcu.h include/urcu/arch/ include/urcu/arch.h +include/urcu/arch/aarch64.h +include/urcu/arch/alpha.h +include/urcu/arch/arm.h +include/urcu/arch/gcc.h include/urcu/arch/generic.h +include/urcu/arch/hppa.h +include/urcu/arch/ia64.h +include/urcu/arch/m68k.h +include/urcu/arch/mips.h +include/urcu/arch/nios2.h +include/urcu/arch/ppc.h +include/urcu/arch/riscv.h +include/urcu/arch/s390.h +include/urcu/arch/sparc64.h +include/urcu/arch/tile.h +include/urcu/arch/x86.h +include/urcu/call-rcu.h include/urcu/cds.h include/urcu/compiler.h include/urcu/config.h include/urcu/debug.h +include/urcu/defer.h +include/urcu/flavor.h include/urcu/futex.h include/urcu/hlist.h include/urcu/lfstack.h include/urcu/list.h include/urcu/map/ +include/urcu/map/clear.h include/urcu/map/urcu-bp.h +include/urcu/map/urcu-mb.h +include/urcu/map/urcu-memb.h include/urcu/map/urcu-qsbr.h +include/urcu/map/urcu-signal.h include/urcu/map/urcu.h +include/urcu/pointer.h include/urcu/rcuhlist.h include/urcu/rculfhash.h include/urcu/rculfqueue.h @@ -30,11 +53,16 @@ include/urcu/rculist.h include/urcu/ref.h include/urcu/static/ include/urcu/static/lfstack.h +include/urcu/static/pointer.h include/urcu/static/rculfqueue.h include/urcu/static/rculfstack.h include/urcu/static/urcu-bp.h -include/urcu/static/urcu-pointer.h +include/urcu/static/urcu-common.h +include/urcu/static/urcu-mb.h +include/urcu/static/urcu-memb.h include/urcu/static/urcu-qsbr.h +include/urcu/static/urcu-signal-nr.h +include/urcu/static/urcu-signal.h include/urcu/static/urcu.h include/urcu/static/wfcqueue.h include/urcu/static/wfqueue.h @@ -44,9 +72,30 @@ include/urcu/system.h include/urcu/tls-compat.h include/urcu/uatomic/ include/urcu/uatomic.h +include/urcu/uatomic/aarch64.h +include/urcu/uatomic/alpha.h +include/urcu/uatomic/arm.h +include/urcu/uatomic/gcc.h include/urcu/uatomic/generic.h +include/urcu/uatomic/hppa.h +include/urcu/uatomic/ia64.h +include/urcu/uatomic/m68k.h +include/urcu/uatomic/mips.h +include/urcu/uatomic/nios2.h +include/urcu/uatomic/ppc.h +include/urcu/uatomic/riscv.h +include/urcu/uatomic/s390.h +include/urcu/uatomic/sparc64.h +include/urcu/uatomic/tile.h +include/urcu/uatomic/x86.h include/urcu/uatomic_arch.h +include/urcu/urcu-bp.h include/urcu/urcu-futex.h +include/urcu/urcu-mb.h +include/urcu/urcu-memb.h +include/urcu/urcu-qsbr.h +include/urcu/urcu-signal.h +include/urcu/urcu.h include/urcu/urcu_ref.h include/urcu/wfcqueue.h include/urcu/wfqueue.h @@ -63,6 +112,9 @@ lib/liburcu-common.la @static-lib lib/liburcu-mb.a lib/liburcu-mb.la @lib lib/liburcu-mb.so.${LIBurcu-mb_VERSION} +@static-lib lib/liburcu-memb.a +lib/liburcu-memb.la +@lib lib/liburcu-memb.so.${LIBurcu-memb_VERSION} @static-lib lib/liburcu-qsbr.a lib/liburcu-qsbr.la @lib lib/liburcu-qsbr.so.${LIBurcu-qsbr_VERSION}