From patchwork Fri Jan 3 14:21:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 8381 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4YPm3Q43bgz3xF4 for ; Fri, 3 Jan 2025 14:21:38 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature ECDSA (secp384r1)) (Client CN "mail02.haj.ipfire.org", Issuer "E5" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4YPm3L11F1z4jk; Fri, 3 Jan 2025 14:21:34 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4YPm3L0Hyxz3340; Fri, 3 Jan 2025 14:21:34 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4YPm3G18VDz32qp for ; Fri, 3 Jan 2025 14:21:30 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4YPm3F6fyNz66; Fri, 3 Jan 2025 14:21:29 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1735914090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XJ752wKwTg82aYk3S/zq3NaZwHId7ztjMZDJ1hjR3WE=; b=9rzRvSWHT7SWdDGYft7FbbPcfTlXPWPxzmuekQpqlpS/LoDxz7iygaRoe3vpqAIrQRG5iK +r3hsds66tpn/3CQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1735914090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XJ752wKwTg82aYk3S/zq3NaZwHId7ztjMZDJ1hjR3WE=; b=cJOCWsvVzL6+keUAMeL7Vg4d1zkN+nsPUka2V7j9hx3paaB1YufPuPkl4shj8Oa50qgQYI ipNbwr0EyFcb/Wful9lWroMkVi/X45RBV8NY05RUB8yv69qlFi5cevDpRb9cxBpAu6V6Mc WcGXNrAUD/7bgmHU5jpbYQQhRShVzdAowaVsMf4ps8eA9OguQ4KdKWEst067UPO6Gu1BuF Dj0cGLcYl/NWXyx6wWCz2S0HqEk3n69NXnbzEUhetOeB2kylqQqtMdO2hVXDffMWoO+SAB VM3Z8wzAQN77emJRqP4SCXJpPn+bM/0rY6QUJyFKMPYDoXxYdr2oxFlf/Yn/bw== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH] liburcu: Update to version 0.15.0 Date: Fri, 3 Jan 2025 15:21:21 +0100 Message-ID: <20250103142122.13241-3-adolf.belka@ipfire.org> In-Reply-To: <20250103142122.13241-1-adolf.belka@ipfire.org> References: <20250103142122.13241-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: WXYZRDVUEGX5INVE2OOT2LA6SJJYCYTA X-Message-ID-Hash: WXYZRDVUEGX5INVE2OOT2LA6SJJYCYTA X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - Update from version 0.14.1 to 0.15.0 - Update of rootfile - Changelog 0.15.0 * Fix compilation errors * Document cmm_cast_volatile * Honor URCU_DEREFERENCE_USE_VOLATILE * arm: Use atomic builtins for xchg if supported * Introduce _CMM_TOOLCHAIN_SUPPORT_C11_MM * Seperate uatomic and uatomic_mo * uatomic: Fix header guard comment * Fix: missing typename in URCU_FORCE_CAST * Allow building with GCC >= 13.3 on RISC-V * pointer.h: Fix the rcu_cmpxchg_pointer documentation * rculfhash: make cds_lfht_iter_get_node argument const * lfstack: make cds_lfs_empty argument const * wfcqueue: make cds_wfcq_empty arguments const * wfstack: make cds_wfs_empty argument const * cds_list: make cds_list_replace @old argument const * cds_list: make cds_list_empty const * Adjust shell script to allow Bash in other locations * futex.h: Indent preprocessor directives * futex.h: Use urcu_posix_assert to validate unused values * Use futex on OpenBSD * fix: handle EINTR correctly in get_cpu_mask_from_sysfs * Relicense src/compat-smp.h to MIT * uatomic/x86: Remove redundant memory barriers * cleanup: move rand_r compat code to tests * ppc: Document cache line size choice * Fix: change order of _cds_lfht_new_with_alloc parameters * Add support for custom memory allocators for rculfhash * ppc.h: use mftb on ppc * rcutorture: Check histogram of ages * docs: Add links to project resources * Fix: allow clang to build liburcu on RISC-V * Fix -Walloc-size * cleanup: use an enum for the error states of nr_cpus_mask * fix: add missing SPDX licensing tags * urcu/uatomic/riscv: Mark RISC-V as broken * Fix: urcu-bp: misaligned reader accesses * rculfhash: Only pass integral types to atomic builtins * LoongArch: Document that byte and short atomics are implemented with LL/SC * Add LoongArch support * Tests: Add test for byte/short atomics on addresses which are not word-aligned * Complete removal of urcu-signal flavor * doc/examples: Remove urcu-signal example * tests/common: Remove urcu-signal common test files * tests/benchmark: Remove urcu-signal benchmark tests * tests/regression: Remove urcu-signal regression tests * tests/unit: Remove urcu-signal unit tests * Fix: Add missing cmm_smp_mb() in deprecated urcu-signal * urcu/uatomic.h: Improve verbosity of static assert error messages * urcu/compiler: Add urcu_static_assert * Phase 1 of deprecating liburcu-signal * uatomic/generic: Fix redundant declaration warning * tests: Add tests for checking race conditions * Add cmm_emit_legacy_smp_mb() * urcu/annotate: Add CMM annotation * tests/unit/test_build: Quiet unused return value * benchmark: Use uatomic for accessing global states * tests: Use uatomic for accessing global states * urcu-wait: Fix wait state load/store * Add CMM memory model * urcu/arch/generic: Use atomic builtins if configured * urcu/compiler: Use atomic builtins if configured * configure: Add --enable-compiler-atomic-builtins option * Fix: tests/rcutorture: Put thread offline on busy-wait * tests/regression/rcutorture: Use urcu-wait * tests/rcutorture: Factor out thread registration * tests/regression/rcutorture: Add wait state * urcu-wait: Initialize node in URCU_WAIT_NODE_INIT * Complete REUSE support * extras/abi: license data files under CC-1.0 * examples: use SPDX identifiers * tests: use SPDX identifiers * src: use SPDX identifiers * Public headers: use SPDX identifiers * Build system: use SPDX identifiers * Fix: urcu-wait: add missing futex.h include * doc: update GCC baseline to 4.8 * doc: update FreeBSD tested version * doc: Remove Solaris from tested platforms * Revert "compiler.h: Introduce caa_unqual_scalar_typeof" * rculfhash: Use caa_container_of_check_null in cds_lfht_entry * compiler.h: Introduce caa_container_of_check_null * compiler.h: Introduce caa_unqual_scalar_typeof * Avoid calling caa_container_of on NULL pointer in cds_lfht macros * Fix: revise urcu_read_lock_update() comment * Fix: uatomic powerpc comment about lwsync * fix: aarch64: allow RHEL7 gcc 4.8.5-11 * aarch64: Implement caa_cpu_relax as yield instruction * fix: warning 'noreturn' function does return on ppc * Fix: use __noreturn__ for C11-compatibility * Adjust shell scripts to allow Bash in other locations * Add support for OpenBSD * Bump version to 0.15.0-pre Signed-off-by: Adolf Belka --- config/rootfiles/common/liburcu | 17 +++++------------ lfs/liburcu | 6 +++--- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/config/rootfiles/common/liburcu b/config/rootfiles/common/liburcu index ae77325f2..d890c2ebd 100644 --- a/config/rootfiles/common/liburcu +++ b/config/rootfiles/common/liburcu @@ -6,6 +6,7 @@ #usr/include/urcu-pointer.h #usr/include/urcu-qsbr.h #usr/include/urcu.h +#usr/include/urcu/annotate.h #usr/include/urcu/arch #usr/include/urcu/arch.h #usr/include/urcu/arch/aarch64.h @@ -43,7 +44,6 @@ #usr/include/urcu/map/urcu-mb.h #usr/include/urcu/map/urcu-memb.h #usr/include/urcu/map/urcu-qsbr.h -#usr/include/urcu/map/urcu-signal.h #usr/include/urcu/map/urcu.h #usr/include/urcu/pointer.h #usr/include/urcu/rcuhlist.h @@ -62,8 +62,6 @@ #usr/include/urcu/static/urcu-mb.h #usr/include/urcu/static/urcu-memb.h #usr/include/urcu/static/urcu-qsbr.h -#usr/include/urcu/static/urcu-signal-nr.h -#usr/include/urcu/static/urcu-signal.h #usr/include/urcu/static/urcu.h #usr/include/urcu/static/wfcqueue.h #usr/include/urcu/static/wfqueue.h @@ -75,7 +73,10 @@ #usr/include/urcu/uatomic.h #usr/include/urcu/uatomic/aarch64.h #usr/include/urcu/uatomic/alpha.h +#usr/include/urcu/uatomic/api.h #usr/include/urcu/uatomic/arm.h +#usr/include/urcu/uatomic/builtins-generic.h +#usr/include/urcu/uatomic/builtins.h #usr/include/urcu/uatomic/gcc.h #usr/include/urcu/uatomic/generic.h #usr/include/urcu/uatomic/hppa.h @@ -97,7 +98,6 @@ #usr/include/urcu/urcu-memb.h #usr/include/urcu/urcu-poll.h #usr/include/urcu/urcu-qsbr.h -#usr/include/urcu/urcu-signal.h #usr/include/urcu/urcu.h #usr/include/urcu/urcu_ref.h #usr/include/urcu/wfcqueue.h @@ -127,10 +127,6 @@ usr/lib/liburcu-memb.so.8.1.0 #usr/lib/liburcu-qsbr.so usr/lib/liburcu-qsbr.so.8 usr/lib/liburcu-qsbr.so.8.1.0 -#usr/lib/liburcu-signal.la -#usr/lib/liburcu-signal.so -usr/lib/liburcu-signal.so.8 -usr/lib/liburcu-signal.so.8.1.0 #usr/lib/liburcu.la #usr/lib/liburcu.so usr/lib/liburcu.so.8 @@ -140,10 +136,9 @@ usr/lib/liburcu.so.8.1.0 #usr/lib/pkgconfig/liburcu-mb.pc #usr/lib/pkgconfig/liburcu-memb.pc #usr/lib/pkgconfig/liburcu-qsbr.pc -#usr/lib/pkgconfig/liburcu-signal.pc #usr/lib/pkgconfig/liburcu.pc #usr/share/doc/userspace-rcu -#usr/share/doc/userspace-rcu/LICENSE +#usr/share/doc/userspace-rcu/LICENSE.md #usr/share/doc/userspace-rcu/README.md #usr/share/doc/userspace-rcu/cds-api.md #usr/share/doc/userspace-rcu/examples @@ -210,12 +205,10 @@ usr/lib/liburcu.so.8.1.0 #usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.mb #usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.membarrier #usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.qsbr -#usr/share/doc/userspace-rcu/examples/urcu-flavors/Makefile.signal #usr/share/doc/userspace-rcu/examples/urcu-flavors/bp.c #usr/share/doc/userspace-rcu/examples/urcu-flavors/mb.c #usr/share/doc/userspace-rcu/examples/urcu-flavors/membarrier.c #usr/share/doc/userspace-rcu/examples/urcu-flavors/qsbr.c -#usr/share/doc/userspace-rcu/examples/urcu-flavors/signal.c #usr/share/doc/userspace-rcu/examples/wfcqueue #usr/share/doc/userspace-rcu/examples/wfcqueue/Makefile #usr/share/doc/userspace-rcu/examples/wfcqueue/Makefile.cds_wfcq_dequeue diff --git a/lfs/liburcu b/lfs/liburcu index 09ea0956e..e30924d60 100644 --- a/lfs/liburcu +++ b/lfs/liburcu @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2024 IPFire Team # +# Copyright (C) 2007-2025 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 0.14.1 +VER = 0.15.0 THISAPP = userspace-rcu-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -41,7 +41,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 6ae6a98020f731b5dc3bef5e7cf1a0b590087dbaff8836a4d2b694ad8d0d76b298261d99bea4281907cb516980b69c673d80baac17ae244e2f4fe690fc539293 +$(DL_FILE)_BLAKE2 = 3502cd0acd6e8e1370a2fd369207a305b3138b0db3186a37a9511bcf2f9ba362787274b030b0138111fe1d4805acd95bbae00c4d2332f1a0761f02bdc7f89e38 install : $(TARGET)