Module Name:    src
Committed By:   christos
Date:           Fri Jan 17 16:07:28 UTC 2025

Modified Files:
        src/external/lgpl2/userspace-rcu/dist/include/urcu: futex.h
            syscall-compat.h
        src/external/lgpl2/userspace-rcu/dist/tests/common: thread-id.h
Added Files:
        src/external/lgpl2/userspace-rcu: Makefile.inc
        src/external/lgpl2/userspace-rcu/include/urcu: config.h
        src/external/lgpl2/userspace-rcu/lib: Makefile Makefile.inc
        src/external/lgpl2/userspace-rcu/lib/liburcu: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-bp: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-cds: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-common: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-mb: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-memb: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-qsbr: Makefile
        src/external/lgpl2/userspace-rcu/lib/liburcu-signal: Makefile

Log Message:
Add build glue and NetBSD-specific changes. The changes have been fed upstream:
https://github.com/urcu/userspace-rcu/pull/27


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/lgpl2/userspace-rcu/Makefile.inc
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/lgpl2/userspace-rcu/dist/include/urcu/futex.h \
    src/external/lgpl2/userspace-rcu/dist/include/urcu/syscall-compat.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/external/lgpl2/userspace-rcu/dist/tests/common/thread-id.h
cvs rdiff -u -r0 -r1.1 src/external/lgpl2/userspace-rcu/include/urcu/config.h
cvs rdiff -u -r0 -r1.1 src/external/lgpl2/userspace-rcu/lib/Makefile \
    src/external/lgpl2/userspace-rcu/lib/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/external/lgpl2/userspace-rcu/lib/liburcu/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-bp/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-cds/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-common/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-mb/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-memb/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-qsbr/Makefile
cvs rdiff -u -r0 -r1.1 \
    src/external/lgpl2/userspace-rcu/lib/liburcu-signal/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/lgpl2/userspace-rcu/dist/include/urcu/futex.h
diff -u src/external/lgpl2/userspace-rcu/dist/include/urcu/futex.h:1.1.1.1 src/external/lgpl2/userspace-rcu/dist/include/urcu/futex.h:1.2
--- src/external/lgpl2/userspace-rcu/dist/include/urcu/futex.h:1.1.1.1	Fri Jan 17 11:00:49 2025
+++ src/external/lgpl2/userspace-rcu/dist/include/urcu/futex.h	Fri Jan 17 11:07:26 2025
@@ -37,6 +37,12 @@
 # include <sys/time.h>
 # include <sys/futex.h>
 
+#elif defined(__NetBSD__) && defined(SYS___futex)
+
+# include <unistd.h>
+# include <sys/time.h>
+# include <sys/futex.h>
+
 #endif
 
 #ifdef __cplusplus
@@ -200,6 +206,41 @@ static inline int futex_async(int32_t *u
 	return ret;
 }
 
+#elif defined(__NetBSD__) && defined(SYS___futex)
+
+static inline int futex(int32_t *uaddr, int op, int32_t val,
+		const struct timespec *timeout, int32_t *uaddr2, int32_t val3)
+{
+	return syscall(SYS___futex, uaddr, op, val, timeout, uaddr2, 0, val3);
+}
+
+static inline int futex_noasync(int32_t *uaddr, int op, int32_t val,
+		const struct timespec *timeout, int32_t *uaddr2, int32_t val3)
+{
+	int ret;
+
+	ret = futex(uaddr, op, val, timeout, uaddr2, val3);
+	if (caa_unlikely(ret < 0 && errno == ENOSYS)) {
+		return compat_futex_async(uaddr, op, val, timeout,
+				uaddr2, val3);
+	}
+	return ret;
+
+}
+
+static inline int futex_async(int32_t *uaddr, int op, int32_t val,
+		const struct timespec *timeout, int32_t *uaddr2, int32_t val3)
+{
+	int ret;
+
+	ret = futex(uaddr, op, val, timeout, uaddr2, val3);
+	if (caa_unlikely(ret < 0 && errno == ENOSYS)) {
+		return compat_futex_async(uaddr, op, val, timeout,
+				uaddr2, val3);
+	}
+	return ret;
+}
+
 #elif defined(__CYGWIN__)
 
 /*
Index: src/external/lgpl2/userspace-rcu/dist/include/urcu/syscall-compat.h
diff -u src/external/lgpl2/userspace-rcu/dist/include/urcu/syscall-compat.h:1.1.1.1 src/external/lgpl2/userspace-rcu/dist/include/urcu/syscall-compat.h:1.2
--- src/external/lgpl2/userspace-rcu/dist/include/urcu/syscall-compat.h:1.1.1.1	Fri Jan 17 11:00:49 2025
+++ src/external/lgpl2/userspace-rcu/dist/include/urcu/syscall-compat.h	Fri Jan 17 11:07:26 2025
@@ -13,6 +13,8 @@
 #include <sys/syscall.h>
 #elif defined(__linux__) || defined(__GLIBC__)
 #include <syscall.h>
+#elif defined(__NetBSD__)
+#include <sys/syscall.h>
 
 #elif defined(__CYGWIN__) || defined(__APPLE__) || \
 	defined(__FreeBSD__) || defined(__DragonFly__) || \

Index: src/external/lgpl2/userspace-rcu/dist/tests/common/thread-id.h
diff -u src/external/lgpl2/userspace-rcu/dist/tests/common/thread-id.h:1.1.1.1 src/external/lgpl2/userspace-rcu/dist/tests/common/thread-id.h:1.2
--- src/external/lgpl2/userspace-rcu/dist/tests/common/thread-id.h:1.1.1.1	Fri Jan 17 11:00:50 2025
+++ src/external/lgpl2/userspace-rcu/dist/tests/common/thread-id.h	Fri Jan 17 11:07:26 2025
@@ -67,6 +67,14 @@ unsigned long urcu_get_thread_id(void)
 {
 	return (unsigned long) getthrid();
 }
+#elif defined(__NetBSD__)
+#include <lwp.h>
+
+static inline
+unsigned long urcu_get_thread_id(void)
+{
+	return (unsigned long) _lwp_self();
+}
 #else
 # warning "use pid as thread ID"
 static inline

Added files:

Index: src/external/lgpl2/userspace-rcu/Makefile.inc
diff -u /dev/null src/external/lgpl2/userspace-rcu/Makefile.inc:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/Makefile.inc	Fri Jan 17 11:07:26 2025
@@ -0,0 +1,11 @@
+# $Makefile$
+
+URCU:= ${.PARSEDIR}
+URCU_DIST= ${URCU}/dist
+
+.PATH.c: ${URCU_DIST}/src
+
+CPPFLAGS+=	-DHAVE_CONFIG_H -include ${URCU}/include/urcu/config.h
+CPPFLAGS+=	-I${URCU}/include -I${URCU_DIST}/include
+CFLAGS+=	-pthread
+LDFLAGS+=	-pthread

Index: src/external/lgpl2/userspace-rcu/include/urcu/config.h
diff -u /dev/null src/external/lgpl2/userspace-rcu/include/urcu/config.h:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/include/urcu/config.h	Fri Jan 17 11:07:26 2025
@@ -0,0 +1,360 @@
+/* include/config.h.  Generated from config.h.in by configure.  */
+/* include/config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Enable extra debugging checks for lock-free hash table iterator traversal.
+   Alters the rculfhash ABI. Make sure to compile both library and application
+   with matching configuration. */
+/* #undef CONFIG_CDS_LFHT_ITER_DEBUG */
+
+/* Enable internal debugging self-checks. Introduces a performance penalty. */
+/* #undef CONFIG_RCU_DEBUG */
+
+/* Emit legacy memory barriers that were documented in the APIs. */
+#define CONFIG_RCU_EMIT_LEGACY_MB 1
+
+/* Require the operating system to support the membarrier system call for
+   default and bulletproof flavors. */
+/* #undef CONFIG_RCU_FORCE_SYS_MEMBARRIER */
+
+/* clock_gettime() is detected. */
+#define CONFIG_RCU_HAVE_CLOCK_GETTIME 1
+
+/* Enable SMP support. With SMP support enabled, uniprocessors are also
+   supported. With SMP support disabled, UP systems work fine, but the
+   behavior of SMP systems is undefined. */
+#define CONFIG_RCU_SMP 1
+
+/* Use compiler provided Thread Local Storage. */
+#define CONFIG_RCU_TLS 1
+
+/* Use compiler atomic builtins. */
+/* #undef CONFIG_RCU_USE_ATOMIC_BUILTINS */
+
+/* Define to 1 if you have the 'atexit' function. */
+#define HAVE_ATEXIT 1
+
+/* define if the compiler supports basic C++11 syntax */
+#define HAVE_CXX11 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the 'fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the 'getcpuid' function. */
+/* #undef HAVE_GETCPUID */
+
+/* Define to 1 if you have the 'getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the 'gettid' function. */
+/* #undef HAVE_GETTID */
+
+/* Define to 1 if you have the 'gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the 'memeset' function. */
+/* #undef HAVE_MEMESET */
+
+/* Define to 1 if you have the 'memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the <minix/config.h> header file. */
+/* #undef HAVE_MINIX_CONFIG_H */
+
+/* Define to 1 if you have a working 'mmap' system call. */
+#define HAVE_MMAP 1
+
+/* Define to 1 if you have the 'munmap' function. */
+#define HAVE_MUNMAP 1
+
+/* Define if you have POSIX threads libraries and header files. */
+#define HAVE_PTHREAD 1
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#define HAVE_PTHREAD_PRIO_INHERIT 1
+
+/* Define to 1 if you have the 'rand_r' function. */
+#define HAVE_RAND_R 1
+
+/* Define to 1 if you have the 'sched_getcpu' function. */
+/* #undef HAVE_SCHED_GETCPU */
+
+/* Define to 1 if you have the 'sched_setaffinity' function. */
+/* #undef HAVE_SCHED_SETAFFINITY */
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the 'strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the 'strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if you have the 'sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if typeof works with your compiler. */
+#define HAVE_TYPEOF 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the 'vfork' function. */
+#define HAVE_VFORK 1
+
+/* Define to 1 if you have the <vfork.h> header file. */
+/* #undef HAVE_VFORK_H */
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define to 1 if 'fork' works. */
+#define HAVE_WORKING_FORK 1
+
+/* Define to 1 if 'vfork' works. */
+#define HAVE_WORKING_VFORK 1
+
+/* Define to 1 if the system has the type '_Bool'. */
+#define HAVE__BOOL 1
+
+/* define if your compiler has __attribute__ */
+#define HAVE___ATTRIBUTE__ 1
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#define LT_OBJDIR ".libs/"
+
+#ifndef PACKAGE
+/* Name of package */
+#define PACKAGE "userspace-rcu"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "mathieu dot desnoyers at efficios dot com"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "userspace-rcu"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "userspace-rcu 0.15.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "userspace-rcu"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "http://liburcu.org/";
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.15.0"
+#endif
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* Enable extensions on AIX, Interix, z/OS.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# define _HPUX_ALT_XOPEN_SOCKET_API 1
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+/* # undef _MINIX */
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# define _NETBSD_SOURCE 1
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# define _OPENBSD_SOURCE 1
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+/* # undef _POSIX_SOURCE */
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+/* # undef _POSIX_1_SOURCE */
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
+#endif
+/* Enable extensions specified by C23 Annex F.  */
+#ifndef __STDC_WANT_IEC_60559_EXT__
+# define __STDC_WANT_IEC_60559_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
+#endif
+/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# define __STDC_WANT_LIB_EXT2__ 1
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+/* # undef _XOPEN_SOURCE */
+#endif
+
+
+#ifndef VERSION
+/* Version number of package */
+#define VERSION "0.15.0"
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to 1 on platforms where this makes off_t a 64-bit type. */
+/* #undef _LARGE_FILES */
+
+/* Number of bits in time_t, on hosts where this is settable. */
+/* #undef _TIME_BITS */
+
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
+/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT64_T */
+
+/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT8_T */
+
+/* Define to 1 on platforms where this makes time_t a 64-bit type. */
+/* #undef __MINGW_USE_VC2005_COMPAT */
+
+/* Define to '__inline__' or '__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to the type of a signed integer type of width exactly 32 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef int32_t */
+
+/* Define as a signed integer type capable of holding a process identifier. */
+/* #undef pid_t */
+
+/* Define as 'unsigned int' if <stddef.h> doesn't define. */
+/* #undef size_t */
+
+/* Define as 'int' if <sys/types.h> doesn't define. */
+/* #undef ssize_t */
+
+/* Define to __typeof__ if your compiler spells it that way. */
+/* #undef typeof */
+
+/* Define to the type of an unsigned integer type of width exactly 16 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint16_t */
+
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
+
+/* Define to the type of an unsigned integer type of width exactly 64 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint64_t */
+
+/* Define to the type of an unsigned integer type of width exactly 8 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint8_t */
+
+/* Define as 'fork' if 'vfork' does not work. */
+/* #undef vfork */

Index: src/external/lgpl2/userspace-rcu/lib/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/Makefile	Fri Jan 17 11:07:26 2025
@@ -0,0 +1,6 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:26 christos Exp $
+
+SUBDIR+= liburcu liburcu-bp liburcu-cds liburcu-common liburcu-mb
+SUBDIR+= liburcu-memb liburcu-qsbr liburcu-signal
+
+.include "bsd.subdir.mk"
Index: src/external/lgpl2/userspace-rcu/lib/Makefile.inc
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/Makefile.inc:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/Makefile.inc	Fri Jan 17 11:07:26 2025
@@ -0,0 +1,2 @@
+# $NetBSD: Makefile.inc,v 1.1 2025/01/17 16:07:26 christos Exp $
+.include "${.PARSEDIR}/../Makefile.inc"

Index: src/external/lgpl2/userspace-rcu/lib/liburcu/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu/Makefile	Fri Jan 17 11:07:26 2025
@@ -0,0 +1,11 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:26 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu
+CPPFLAGS+=-DRCU_MEMBARRIER
+
+SRCS+= urcu.c urcu-pointer.c compat_arch.c compat_futex.c
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-bp/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-bp/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-bp/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,11 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-bp
+
+SRCS+= urcu-bp.c urcu-pointer.c compat_arch.c compat_futex.c
+
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-cds/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-cds/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-cds/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,13 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+NOLINT=yes	# XXX
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-cds
+
+SRCS+= rculfqueue.c rculfstack.c lfstack.c workqueue.c rculfhash.c
+SRCS+= rculfhash-mm-order.c rculfhash-mm-chunk.c rculfhash-mm-mmap.c
+SRCS+= compat_arch.c compat_futex.c
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-common/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-common/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-common/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,10 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-common
+
+SRCS+=wfqueue.c wfcqueue.c wfstack.c compat_arch.c compat_futex.c
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-mb/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-mb/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-mb/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,12 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-mb
+CPPFLAGS+=-DRCU_MB
+
+SRCS+= urcu.c urcu-pointer.c compat_arch.c compat_futex.c
+
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-memb/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-memb/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-memb/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,11 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-memb
+CPPFLAGS+=-DRCU_MEMBARRIER
+
+SRCS+= urcu.c urcu-pointer.c compat_arch.c compat_futex.c
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-qsbr/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-qsbr/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-qsbr/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,11 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-qsbr
+CPPFLAGS+=-DRCU_QSBR
+
+SRCS+= urcu-qsbr.c  urcu-pointer.c compat_arch.c compat_futex.c
+
+.include <bsd.lib.mk>

Index: src/external/lgpl2/userspace-rcu/lib/liburcu-signal/Makefile
diff -u /dev/null src/external/lgpl2/userspace-rcu/lib/liburcu-signal/Makefile:1.1
--- /dev/null	Fri Jan 17 11:07:28 2025
+++ src/external/lgpl2/userspace-rcu/lib/liburcu-signal/Makefile	Fri Jan 17 11:07:27 2025
@@ -0,0 +1,11 @@
+# $NetBSD: Makefile,v 1.1 2025/01/17 16:07:27 christos Exp $
+
+.include <bsd.own.mk>
+
+LIBISPRIVATE=yes
+LIB=urcu-mb
+CPPFLAGS+=-DRCU_SIGNAL -DRCU_MEMBARRIER
+
+SRCS+= urcu.c urcu-pointer.c compat_arch.c compat_futex.c
+
+.include <bsd.lib.mk>

Reply via email to