Sync from SUSE:SLFO:Main userspace-rcu revision c8a1939c3c630174a15bad2786e5fa85

This commit is contained in:
Adrian Schröter 2024-05-04 01:40:26 +02:00
commit f35414ed81
7 changed files with 765 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
liburcu8

BIN
userspace-rcu-0.14.0.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEKgtO2RXy0/pF9bFiFygKl4EYas8FAmPrrAkACgkQFygKl4EY
as8G6QgAsvua4n/lXSqR1NdwPNRzbdSOI+x+UIlBpsDIEC0YT6xtUQIDRWuHlwFe
2vHpZ42ivKc3cqB3l4VuLxuZ8F67Ev8w448dkriy73nBbUIzJ9fmD2I3uR5ayW5I
Q+tXUFrYpUulkX6ff+LyxnJ1X34sIuiSjrxo/dvXqZ68PZnIUmtcR4DLhLga6o+x
mWYLcTaqx9VJLUdBC/dSJFT+tPfKF53J2oRYXo8yDN803djsLnDD+KXLpyuev48z
SBOvm2Nf/K8pmRRveqYCdXfKiXhN39lVyYkXLHQLnEH74qdNnBiwTOroSnzYk6jI
4ntfF/SN7Cj/C3hGTd9unLOP7plhlw==
=l+j1
-----END PGP SIGNATURE-----

419
userspace-rcu.changes Normal file
View File

@ -0,0 +1,419 @@
-------------------------------------------------------------------
Wed Mar 8 16:10:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.14.0:
* Fix: urcu-bp: only teardown call-rcu worker in destructor
* Fix: rculfhash: urcu_die() takes positive error value
* Fix: call_rcu: teardown default call_rcu worker on
application exit
* Fix: join worker thread in call_rcu_data_free
* Docs: clarify grace period polling API
* Document grace period polling in rcu-api.md
* Implement poll rcu stress test in rcutorture
* urcu-memb,mb,signal: Implement grace period polling
* Fix: auto-resize hash table destroy deadlock
* Fix building on MSYS2
* rculfhash: Include rculfhash-internal.h from local directory
* Remove "Darwin" from "should also work on list"
* Merge branch 'adah1972-improve-md'
* Add semicolons at the end of function prototypes
* Wrap a file name in backticks
* Wrap command-line options in backticks
* Fix a wrong format
* Wrap URLs in angle brackets
* Fix Markdown issues
* Fix: Always check pthread_create for failures
* Disable signals in URCU background threads
* Fix: futex.h: include headers outside extern C
* Fix: add missing unused attribute to _rcu_dereference
* Fix: change method used by _rcu_dereference to strip type
constness
* Fix: remove type constness in URCU_FORCE_CAST's C++ version
* Move extern "C" down in include/urcu/urcu-bp.h
* fix: ifdef linux specific cpu count compat
* Add unit tests for possible_cpus_array_len
* fix: sysconf(_SC_NPROCESSORS_CONF) can be less than max cpu
id
* Fix: revise obsolete command in README.md
* Fix: workqueue: remove unused variable "ret"
* Fix: urcu-qsbr: futex wait: handle spurious futex wakeups
* Fix: urcu: futex wait: handle spurious futex wakeups
* Fix: urcu-wait: futex wait: handle spurious futex wakeups
* Fix: defer_rcu: futex wait: handle spurious futex wakeups
* Fix: call_rcu: futex wait: handle spurious futex wakeups
* Fix: workqueue: futex wait: handle spurious futex wakeups
* Fix: Use %lu rather than %ld to print count
* Update ABI definition files
* Bump version current and age
* alpha: allocate membarrier system call number
* Bump version to 0.14.0-pre
* Improved test framework
* rculfhash: introduce cds_lfht_node_init_deleted
* cleanup: i386 arch detection
* fix: properly detect 'cmpxchg' on x86-32
* fix: use urcu-tls compat with c++ compiler
* Fix typo
* fix: remove autoconf features default value in help message
* fix: add missing pkgconfig file for memb flavour lib
* Cleanup: Tests: Remove useless pre-C99 compatibility code
from tap.h
* Document C99 and C++11 requirement in README.md
* Always use '__thread' for Thread local storage except on MSVC
* Fix: powerpc32: transparent unions alter calling convention
* fix: don't use C++ thread_local on MacOs
* wfcqueue API: implement overloaded wrappers with templates
* wfcqueue: combine C++ API cds_wfcq_head_cast with overloading
* wfstack C++ API: implement overloaded wrappers with templates
* lfstack C++ API: implement overloaded wrappers with templates
* wfstack: combine C++ API cds_wfs_stack_cast with overloading
* lfstack: combine C++ API cds_lfs_stack_cast with overloading
* fix: test_build tap plan
* Test C++ build of list head init
* Fix order of initializers in CDS_LIST_HEAD_INIT
* unit tests: test wfcqueue, wfstack, lfstack empty check
functions in C++
* wfcqueue: implement C++ API based on function overloading
* wfstack: implement C++ API based on function overloading
* lfstack: implement C++ API based on function overloading
* Fix tap.h: remove extra semicolon in pass/fail macros
* Add C++ build tests
* Build and run regression and unit tests as C++ programs
* Add --enable-Werror configure switch
* Add `urcu_posix_assert()` as `assert()` replacement
* Rename `urcu_assert()` to `urcu_assert_debug()`
* cleanup: spelling fixes in comments
* Make temporary variable in _rcu_dereference non-const
* (tls-ie2) Fix: x86 and s390: uatomic __hp() macro C++ support
* Fix: x86 and s390: uatomic __hp() macro clang support
* Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11
-------------------------------------------------------------------
Fri Aug 19 14:30:31 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 0.13.2:
* Revert "Fix: remove type constness in URCU_FORCE_CAST's C++
version".
* Fix: futex.h: include headers outside extern C.
* Fix: add missing unused attribute to _rcu_dereference.
* Fix: change method used by _rcu_dereference to strip type constness.
* Fix: remove type constness in URCU_FORCE_CAST's C++ version.
* Move extern "C" down in include/urcu/urcu-bp.h.
* Fix: ifdef linux specific cpu count compat.
* Set git-review branch to stable-0.13.
* Fix: sysconf(_SC_NPROCESSORS_CONF) can be less than max cpu id.
* Fix: revise obsolete command in README.md.
* Fix: workqueue: remove unused variable "ret".
* Fix: futex wait: handle spurious futex wakeups.
* Fix: Use %lu rather than %ld to print count.
-------------------------------------------------------------------
Sun Jan 23 10:46:40 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.13.1:
* fix: properly detect 'cmpxchg' on x86-32
* fix: use urcu-tls compat with c++ compiler
* fix: remove autoconf features default value in help message
* fix: add missing pkgconfig file for memb flavour lib
* Make temporary variable in _rcu_dereference non-const
* Fix: x86 and s390: uatomic __hp() macro C++ support
* Fix: x86 and s390: uatomic __hp() macro clang support
* Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11
-------------------------------------------------------------------
Wed Dec 15 21:11:57 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 0.13.0:
* The Userspace RCU 0.13 release is mostly a library soname version bump
to address an ABI incompatibility between the 0.10 and { 0.11, 0.12 }
releases. see https://lists.lttng.org/pipermail/lttng-dev/2021-June/030023.html
-------------------------------------------------------------------
Mon Mar 8 23:28:27 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 0.12.2:
* fix: exclude clang from GCC version blacklists
* aarch64: blacklist gcc prior to 5.1
* Fix: configure: support Autoconf 2.70
* fix: bump tests thread limit to 4096
* cleanup: Improve wording of CONFIG_RCU_DEBUG description
* fix: explicitly include urcu/config.h in files using CONFIG_RCU_ defines
* Fix typo in README.md
* fix: add -lurcu-common to pkg-config libs for each flavor
* call_rcu: Fix race between rcu_barrier() and call_rcu_data_free()
-------------------------------------------------------------------
Tue Aug 25 09:30:59 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 0.12.1:
* Fix: tls-compat.h exposes compiler-dependent public configuration
* Fix: tap array subscript has type char warning
* tls-compat.h: introduce DEFINE_URCU_TLS_INIT
* Use _umtx_op for futex on FreeBSD
* Add FreeBSD, DragonFly to syscall-compat.h
* urcu-bp: perform thread registration on urcu_bp_register_thread
* Require automake >= 1.12
* cds_lfht_is_node_deleted parameter can be marked const
* Fix: provide errno as argument to urcu_die()
* Fix: rculfhash worker needs to unblock to SIGRCU
* Cleanup: test_perthreadlock_timing: handle pthread mutex errors
* Fix: SONAME bump to 6.1.0
* Cleanup: remove unused variable from configure.ac check
* Fix: urcu/futex.h: users of struct timespec should include time.h
* Bump library version to 6:0:1
* Cleanup: update code layout to fix old gcc warning
* Fix: typo CPPLAGS in examples Makefile
* Harmonize pprint macro across projects
* Check for TLS support after CC detection
* Update macros from the autotools archive
* tap-driver.sh: flush stdout after each test result
* Update dead link in lgpl-relicensing.txt
* Add multiflavor compat identifiers
* Cleanup: missing sign compare fixes
* Cleanup: enable signed/unsigned compare compiler warning
* Cleanup: compiler warning on 32-bit architectures
* config.h.in: rename CONFIG_RCU_MULTIFLAVOR to CONFIG_RCU_HAVE_MULTIFLAVOR
* rculfhash: implement iterator debugging config option
* Fix: examples silent rules on Solaris
* Add missing fall through annotations
* Fix: symbol aliases with TLS compat
* Port: no symbols aliases on MacOS
* Add -Wextra to CFLAGS
* Add silent mode to examples Makefiles
* doc: update examples to API changes
* test multiflavor single compile unit
* Update README following API changes
* Use new header locations for includes from urcu code
* Update call-rcu.h and defer.h comments and include guards
* rculfqueue.h: do not include urcu-call-rcu.h
* rculfhash: support use with multiple flavors per compile unit
* rculfhash: do not include urcu-call-rcu.h from public API
* Refactor liburcu to support many flavors per compile unit
* Fix: only wait if work queue is empty in real-time mode
* Fix: don't wait after completion of a work queue job batch
* Fix: don't wait after completion of job batch if work queue is empty
* Fix: workqueue: struct urcu_work vs rcu_head mixup
* Cleanup: workqueue: update comments referring to call-rcu
* Fix: mixup between URCU_WORKQUEUE_RT and URCU_CALL_RCU_RT
* test_rwlock: Add per-thread count to verbose output
* Add *.exe to gitignore for Cygwin
* Fix: pthread_rwlock initialization on Cygwin
* Fix: compat_futex_noasync on Cygwin
* wfcqueue: allow defining CDS_WFCQ_WAIT_SLEEP to override `poll'
* Update documentation for call_rcu before/after fork
* Add support for the RISC-V architecture
* Tests: Add tap-driver.sh for automake < 1.12
* Tests: Replace prove by autotools tap runner
* liburcu-bp: Use membarrier private expedited when available
* liburcu: Use membarrier private expedited when available
* rculfhash: improve error handling of mmap backend
* Fix: don't use overlapping mmap mappings on Cygwin
* Tests fix: errors in shell scripts
* Revert "Use initial-exec tls model"
* Use initial-exec tls model
* Fix: don't use membarrier SHARED syscall command in liburcu-bp
* Tests fix: add missing Cygwin thread id
* Fix: assignment from incompatible pointer type warnings
* Tests fix: unused variable warnings
* Fix: add missing m68k headers to dist
-------------------------------------------------------------------
Wed Nov 29 09:37:35 UTC 2017 - dimstar@opensuse.org
- Add baselibs.conf: create liburcu6-32bit package as a dependency
to liblttng-ust0-32bit.
-------------------------------------------------------------------
Fri Sep 1 18:56:18 UTC 2017 - tonyj@suse.com
- Update to version 0.10.0 for SLE15 (bsc#1055683)
Drop patch: userspace-rcu-aarch64.patch (upstream v0.9.0~99)
Drop patch: userspace-rcu-ppc64le.patch (upstream v0.9.0~24)
Adjust library soname to 6
Update keyring
-------------------------------------------------------------------
Tue Mar 15 15:56:31 UTC 2016 - dvaleev@suse.com
- userspace-rcu-ppc64le.patch use ppc for ppc64le
http://git.lttng.org/?p=userspace-rcu.git;a=commit;h=61126bd9c901fa403315db71d8d5351d716717cb
-------------------------------------------------------------------
Tue Sep 29 19:09:49 UTC 2015 - dmueller@suse.com
- remove dependency on gpg-offline, is done by source validator
- drop userspace-rcu-ppc64le.patch, included in
userspace-rcu-aarch64.patch
-------------------------------------------------------------------
Mon Aug 31 19:14:52 UTC 2015 - dmueller@suse.com
- add userspace-rcu-aarch64.patch (fate#318370)
enables build for aarch64
-------------------------------------------------------------------
Tue Jul 28 22:32:41 UTC 2015 - tonyj@suse.com
- Update to version 0.8,7 (FATE#319273)
Changelog 0.8.7:
* Fix: deadlock when thread join is issued in read-side C.S.
* Fix: rename RCU_DEBUG to DEBUG_RCU in urcu-qsbr.h
* Mark braced-groups within expressions with __extension__
* Fix: compat_futex_noasync race condition
* Fix: documentation: urcu-pointer.h: s/rcu_dereference_pointer/rcu_dereference/
* Fix: call rcu should call internal RCU API
-------------------------------------------------------------------
Mon Nov 24 15:56:46 UTC 2014 - mq@suse.cz
- updated to 0.8.6:
* Fix: silence gcc -Wextra warning
* compiler: use __GNUC__ instead of the undefined __GNUC_MAJOR__
* Fix: lfstack reversed empty/non-empty return value
* lfstack: fix: add missing __cds_lfs_init
* Fix: preserve example files' timestamps when copying
* rculfhash: remove duplicated code
* rculfhash: handle pthread_create failures
* rculfhash: fall back to single-threaded resize on calloc failure
* x86: drop extra semi-colon in caa_cpu_relax
* Fix: Use after free in rcu_barrier()
* Fix: rcu_barrier(): uninitialized futex field
* call_rcu threads should clear their PAUSED flag when they unpause
* Fix: bring back dummy rcu_bp_exit symbol
-------------------------------------------------------------------
Fri Mar 28 10:47:13 UTC 2014 - pgajdos@suse.com
- updated to 0.8.4:
* Fix: move wait loop increment before first conditional block
* Fix: high cpu usage in synchronize_rcu with long RCU read-side C.S.
* Fix: out of tree build: doc/examples
* Fix: out of tree build tests/common
* tests/unit: use lib rather than source
* automake: Rename INCLUDES to AM_CPPFLAGS (new name)
* tests regressions: use lib rather than recompile from source
* tests: use common lib rather than recompile compat sources
* urcu tests: use lib rather than compile from source
* urcu mb tests: use lib rather than recompile from source
* urcu signal tests: use library rather than recompile source
* tests: move yield debug to common test library
* tests urcu bp: use lib rather than recompile source
* test_urcu_defer: link on urcu lib rather than recompile source
* tests/benchmark: use urcu qsbr lib rather than recompile from source
* Pass the CC variable to the example Makefiles
* Fix: urcu-bp interaction with threads vs constructors/destructors
* Fix undefined NULL pointer arithmetic
* Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2
* rculfhash: document max_nr_buckets = 0
-------------------------------------------------------------------
Tue Dec 3 15:11:55 UTC 2013 - dvaleev@suse.com
- Fix build on ppc64le platform
- added patches:
* userspace-rcu-ppc64le.patch
-------------------------------------------------------------------
Tue Nov 26 15:07:34 UTC 2013 - pgajdos@suse.com
- updated to 0.8.1:
* tls-compat: fix comment typo
* Keep ABI compatible with already compiled LGPL applications
* Fix: tls-compat multi-lib conflict
* Use cross compiler for doc examples
* gcc warning fixes: -Wsign-compare and -Wextra
* Fix: urcu-qsbr: reversed logic on RCU_DEBUG
* Fix: urcu-bp segfault in glibc pthread_kill()
* Fix urcu-bp: don't move registry
* Fix: compat futex duplicated lock and completion
* Fix: i386 compat code duplicated mutex instances
* Fix: urcu-bp: Bulletproof RCU arena resize bug
* Fix: test_mutex.c uninitialized mutex
-------------------------------------------------------------------
Mon Sep 9 14:52:29 UTC 2013 - pgajdos@suse.com
- updated to 0.8.0:
* Fix: hash table growth (for small tables) should be limited
* Fix: doc/examples cross-build
* Introduce URCU_INLINE_SMALL_FUNCTIONS
* etc., see ChangeLog
- gpg-offline
-------------------------------------------------------------------
Wed Mar 27 07:56:12 UTC 2013 - pgajdos@suse.com
- updated to 0.7.6:
* Discourage use of pthread_atfork() for call_rcu handlers
* Fix call_rcu fork handling
* test: fork handling
* Fix TLS detection: test with linker, add --disable-compiler-tls
* Cleanup: cast pthread_self() return value to unsigned long
* Fallback mechanism not working on platform where TLS is unsupported
-------------------------------------------------------------------
Tue Nov 20 10:59:25 UTC 2012 - pgajdos@suse.com
- updated to 0.7.5:
* 19cf3ae Fix: call_rcu list corruption on teardown
* Ensure that read-side functions meet 10-line LGPL criterion
* tls-compat.h: document sigaltstack(2) limitation
* urcu: add notice to URCU_TLS() for it is not strictly async-signal-safe
* Document sigaltstack(2) limitation
* Documentation: update LICENSE file
-------------------------------------------------------------------
Wed Aug 29 10:55:07 UTC 2012 - cfarrell@suse.com
- license update: LGPL-2.1+ and MIT and GPL-2.0+
See LICENSE file
-------------------------------------------------------------------
Tue Aug 28 06:23:06 UTC 2012 - pascal.bleser@opensuse.org
- update to 0.7.4:
* Fix: rculfhash should be offline while waiting for resize to complete
* urcu: move busy-wait code and name it ___cds_wfq_node_sync_next()
* urcu: fix compat_futex_noasync()
* urcu: add hint to DEFINE_URCU_TLS() for compound types
* Fix: CAA_BUILD_BUG_ON should refer to CAA_BUILD_BUG_ON_ZERO
* Add MIPS support
* Fix inappropriate lib behavior: don't call exit()
* Fix: re-enable compatibility with autoconf < 2.64
* Fix c99 compatibility: use __asm__ and __volatile__ in public headers
* Fix c99 compatibility: use __typeof__ instead of typeof in public headers
- changes from 0.7.1:
* fix: uatomic_set return value compile fix for non-x86 arch
- changes from 0.7.0:
* Update return value of "set" operations
* rculfhash: document implied memory barriers
* rculfhash: Ensure future-proof memory barrier semantic consistency
* uatomic: add memory barrier API for and/or/add/sub/inc/sub
* rculfhash: fix: race between replace and del operations
* rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED
* rculfhash: check malloc NULL pointer
* Fix uatomic sign cast
* Remove unused jhash.h file
* RCU lock-free hash table: implement cds_lfht_is_node_deleted()
* rculfhash: remove an invocation of bit_reverse_ulong() when adding
* cds_lfht_replace: add checks for old/new node hash/value match
* Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment
* _cds_lfht_del is not used for buckets anymore, remove parameter
* rculfhash: Relax atomicity guarantees required by removal operation
* simplify the deletion for bucket node
* Cleanup DEFINE_RCU_FLAVOR()
* Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32
* Merge RCU Lock-Free Resizable Hash Table
-------------------------------------------------------------------
Wed May 23 11:08:07 UTC 2012 - jengelh@inai.de
- Exclusively ship shared library
- Strip redundant tags/sections from specfile
-------------------------------------------------------------------
Thu Mar 29 10:59:43 CET 2012 - pascal.bleser@opensuse.org
- initial version (0.6.7)

183
userspace-rcu.keyring Normal file
View File

@ -0,0 +1,183 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
i9jU3K5d8KbnDbztMg07C+K0CLyt77kWJwQvX0nDk4QTpGwPF77Jk6bonEev0tmI
VtJl3KTWCsN1zjKH392B3/vVaXRMl04gkuJEb6KqzyjX0cBuxYOUQnCOwFlrcvzU
7cdGbuj+spFEGKsCgz6zBE2D+H4OCosYaOoYEGsrshfNi+Wm2AQviP34pFgS5ReM
FFnWJMXo7SBB9M0FmwLlrCCkne0GCBaymjc6eYgcdaEUJpezA5fXsNLVPH263BHR
So7nWje7drhGTLL/mqWIn4xVE0ccYxYTlpKPYN6OmF0P////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/////////////////////////////////7kCDQROqWKrARAA3luuz6tMuFRmQps/
J8kLmt81cidofCxQVDVlOvnDHda3sqIiJS6eKCQa+l8zZNPxErs3FGQPsSxKpF0a
4fDNp31slx9aMJ+L2bIscCHchhK6uILtS0E+bjUZYtOG9NAaxUpjf78RCjMjQscD
ynmhHMVAKwI0Z+gypebbwB9f0ixttYw8A1aVCdCqYnA+voihuia+aA8OZIQHlmUh
wc/7qeECRYWUfYi+ZGfei85xssRcx7HQIzbF7QvCNqankhDrXycmyJ0CFkD8n4dA
gbQKFVw2AFzc1NtWwHiLWUAZhKHtkAsuLohI7xruu/GfmGM/gn9YMDHWDniqfLFL
ngE5xsL4Qx2jyo5UbGQzdY84Ih7sFaMg7msRUpIZVo27pSWygnDBKagfY8HaNht2
2BGaAjzdshLgxVW/huy7LXbOyMWe8ityWwG0VfloZoWd4DpCBCb7k5tybGoNBIKd
EXJwyqpLwsrfYdVTrg8+wsj/78oK6IM7MA46S0MvEhoW3njbH4WXqvZmetiGsIbv
kassFei2fb6d4W1w+zR/k9VowGXtEkgH+TiquUFxOD57M5f+YtBtrO7PEHlUK4HL
rWJk+tssVoRfnJAgywZGtvTZb/FVJwzLEhh2xLyxlV3QsDC+odiGnfFVcGSj85aR
cSrV6kNE2PyIJR5i1goH0z6g4zkAEQEAAYkBHwQYAQIACQUCTqliqwIbDAAKCRAX
KAqXgRhqz7RrB/9pw6N2DyUfLlRfqO3a+nGujMH0sE0LGUjNy2F2ytAYMZPBbApn
kGqmmfKzL+K7quPQtYWj64ip3r/396OMKTQsUbPdSmI7VgoDhkMUUTUcAuLLXpoD
nG6eI9ELCd7RENOQIWhPsPud+phXT6yfRFs1KEX2aUpk4+o4gzb64eoWpDTvPbS7
/ew6c4N/U1hkwgqWkmumsCdvcOt1MVy+0VmtLHOdh+s2n2Mg6aLkjG3psrfKHVmK
Q3YoVnRAhIG22fDQXY8R9k3e0P3crOnx/BnMMfktcGn8BfuNyOo6jTPa1LVz3c7V
Nj9YbdEthpLGDW/pl9g8YWz/3ejKRGpSqorG
=7Ccs
-----END PGP PUBLIC KEY BLOCK-----

125
userspace-rcu.spec Normal file
View File

@ -0,0 +1,125 @@
# vim: set sw=4 ts=4 et nu:
#
# spec file for package userspace-rcu
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2012 Pascal Bleser <pascal.bleser@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define soname 8
Name: userspace-rcu
Version: 0.14.0
Release: 0
Summary: Userspace Read-Copy-Update Library
License: GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND GPL-3.0-or-later
Group: System/Libraries
URL: https://liburcu.org/
Source0: https://lttng.org/files/urcu/userspace-rcu-%{version}.tar.bz2
Source1: https://lttng.org/files/urcu/userspace-rcu-%{version}.tar.bz2.asc
Source2: userspace-rcu.keyring
Source99: baselibs.conf
BuildRequires: gcc-c++
BuildRequires: glibc-devel
BuildRequires: make
BuildRequires: pkgconfig
%description
liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This data
synchronization library provides read-side access which scales linearly with
the number of cores. It does so by allowing multiples copies of a given data
structure to live at the same time, and by monitoring the data structure
accesses to detect grace periods after which memory reclamation is possible.
%package -n liburcu%{soname}
Summary: Userspace Read-Copy-Update Library
Group: System/Libraries
%description -n liburcu%{soname}
liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This data
synchronization library provides read-side access which scales linearly with
the number of cores. It does so by allowing multiples copies of a given data
structure to live at the same time, and by monitoring the data structure
accesses to detect grace periods after which memory reclamation is possible.
Accesses to detect grace periods after which memory reclamation is possible.
%package -n liburcu-devel
Summary: Userspace Read-Copy-Update Library
Group: Development/Libraries/C and C++
Requires: liburcu%{soname} = %{version}
%description -n liburcu-devel
liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This data
synchronization library provides read-side access which scales linearly with
the number of cores. It does so by allowing multiples copies of a given data
structure to live at the same time, and by monitoring the data structure
accesses to detect grace periods after which memory reclamation is possible.
%prep
%setup -q
%build
%configure --disable-silent-rules --disable-static
%make_build
%install
%make_install
rm -rf "%{buildroot}%{_datadir}/doc"
find %{buildroot} -type f -name "*.la" -delete -print
%post -n liburcu%{soname} -p /sbin/ldconfig
%postun -n liburcu%{soname} -p /sbin/ldconfig
%files -n liburcu%{soname}
%license LICENSE
%doc ChangeLog README.md *.txt doc/*.md
%{_libdir}/liburcu.so.%{soname}
%{_libdir}/liburcu.so.%{soname}.*
%{_libdir}/liburcu-bp.so.%{soname}
%{_libdir}/liburcu-bp.so.%{soname}.*
%{_libdir}/liburcu-cds.so.%{soname}
%{_libdir}/liburcu-cds.so.%{soname}.*
%{_libdir}/liburcu-common.so.%{soname}
%{_libdir}/liburcu-common.so.%{soname}.*
%{_libdir}/liburcu-mb.so.%{soname}
%{_libdir}/liburcu-mb.so.%{soname}.*
%{_libdir}/liburcu-memb.so.%{soname}
%{_libdir}/liburcu-memb.so.%{soname}.*
%{_libdir}/liburcu-qsbr.so.%{soname}
%{_libdir}/liburcu-qsbr.so.%{soname}.*
%{_libdir}/liburcu-signal.so.%{soname}
%{_libdir}/liburcu-signal.so.%{soname}.*
%files -n liburcu-devel
%{_includedir}/urcu*.h
%{_includedir}/urcu
%{_libdir}/liburcu.so
%{_libdir}/liburcu-bp.so
%{_libdir}/liburcu-cds.so
%{_libdir}/liburcu-common.so
%{_libdir}/liburcu-mb.so
%{_libdir}/liburcu-memb.so
%{_libdir}/liburcu-qsbr.so
%{_libdir}/liburcu-signal.so
%{_libdir}/pkgconfig/liburcu.pc
%{_libdir}/pkgconfig/liburcu-bp.pc
%{_libdir}/pkgconfig/liburcu-cds.pc
%{_libdir}/pkgconfig/liburcu-mb.pc
%{_libdir}/pkgconfig/liburcu-memb.pc
%{_libdir}/pkgconfig/liburcu-qsbr.pc
%{_libdir}/pkgconfig/liburcu-signal.pc
%changelog