From patchwork Thu Mar 2 10:14:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 6656 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 (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4PS7723hwxz3xDh for ; Thu, 2 Mar 2023 10:45:50 +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 ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4PS6h119Rxz1wf; Thu, 2 Mar 2023 10:25:53 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4PS6h04GRgz30K0; Thu, 2 Mar 2023 10:25:52 +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 (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4PS6gy32T8z2xfc for ; Thu, 2 Mar 2023 10:25:50 +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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4PS6RL28K4z2Ky; Thu, 2 Mar 2023 10:14:54 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1677752094; 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=ZPInmp+FMAFCKPsMt7kUOzE0tjtjtR4bRzJQhzfG69I=; b=c0X6yfuXZE87r78PuZ5uNuHBEoEkJvius/C6AbNkBvIiYSmns16dT7pPgJbbfMR1DuzKfK z3/D82hHM4qFLHDA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1677752094; 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=ZPInmp+FMAFCKPsMt7kUOzE0tjtjtR4bRzJQhzfG69I=; b=k+WtFIVDdK3AsBgtsV3T1k4IuR0rUtVDq07M+r4Z88T3vRikU9YG1P1dskELND2g/ZvFby Z15j/js6fYS36jGHUGNsXwhxiW6Wg749tG2FFtq0l0TElZDhmN/5RaS2Nr1dPbyljVVZK9 vyxFIOlmENqrpQeWRcNsRqc8NMWG1V3LDAeSO12EoQ8BQMpssbxln3dXyrzJRvSntkQHTB A6DXg3n1VnBwakh3no/ZoPUFm5spltPws1Dn6WbWQ+St74BRAiqSifukP82My6offHoZL8 s8IuSvuNc1Dc+0TnyVQVdAZVvl8bQmThsIiulzdIvSKJzSEVKnKSg2jAxmv4ng== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH] liburcu: Update to version 0.14.0 Date: Thu, 2 Mar 2023 11:14:13 +0100 Message-Id: <20230302101419.3443689-8-adolf.belka@ipfire.org> In-Reply-To: <20230302101419.3443689-1-adolf.belka@ipfire.org> References: <20230302101419.3443689-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - Update from version 0.13.2 to 0.14.0 - Update of rootfile - Changelog 2023-02-14 Userspace RCU 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 * Fix: changelog: v0.13.0 was released in 2021 * 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 Signed-off-by: Adolf Belka --- config/rootfiles/common/liburcu | 18 ++++++++++-------- lfs/liburcu | 6 +++--- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/config/rootfiles/common/liburcu b/config/rootfiles/common/liburcu index c67695c8d..029fc6f50 100644 --- a/config/rootfiles/common/liburcu +++ b/config/rootfiles/common/liburcu @@ -24,6 +24,7 @@ #usr/include/urcu/arch/sparc64.h #usr/include/urcu/arch/tile.h #usr/include/urcu/arch/x86.h +#usr/include/urcu/assert.h #usr/include/urcu/call-rcu.h #usr/include/urcu/cds.h #usr/include/urcu/compiler.h @@ -92,6 +93,7 @@ #usr/include/urcu/urcu-futex.h #usr/include/urcu/urcu-mb.h #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 @@ -102,35 +104,35 @@ #usr/lib/liburcu-bp.la #usr/lib/liburcu-bp.so usr/lib/liburcu-bp.so.8 -usr/lib/liburcu-bp.so.8.0.0 +usr/lib/liburcu-bp.so.8.1.0 #usr/lib/liburcu-cds.la #usr/lib/liburcu-cds.so usr/lib/liburcu-cds.so.8 -usr/lib/liburcu-cds.so.8.0.0 +usr/lib/liburcu-cds.so.8.1.0 #usr/lib/liburcu-common.la #usr/lib/liburcu-common.so usr/lib/liburcu-common.so.8 -usr/lib/liburcu-common.so.8.0.0 +usr/lib/liburcu-common.so.8.1.0 #usr/lib/liburcu-mb.la #usr/lib/liburcu-mb.so usr/lib/liburcu-mb.so.8 -usr/lib/liburcu-mb.so.8.0.0 +usr/lib/liburcu-mb.so.8.1.0 #usr/lib/liburcu-memb.la #usr/lib/liburcu-memb.so usr/lib/liburcu-memb.so.8 -usr/lib/liburcu-memb.so.8.0.0 +usr/lib/liburcu-memb.so.8.1.0 #usr/lib/liburcu-qsbr.la #usr/lib/liburcu-qsbr.so usr/lib/liburcu-qsbr.so.8 -usr/lib/liburcu-qsbr.so.8.0.0 +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.0.0 +usr/lib/liburcu-signal.so.8.1.0 #usr/lib/liburcu.la #usr/lib/liburcu.so usr/lib/liburcu.so.8 -usr/lib/liburcu.so.8.0.0 +usr/lib/liburcu.so.8.1.0 #usr/lib/pkgconfig/liburcu-bp.pc #usr/lib/pkgconfig/liburcu-cds.pc #usr/lib/pkgconfig/liburcu-mb.pc diff --git a/lfs/liburcu b/lfs/liburcu index 5b1d6fd45..6825b50a6 100644 --- a/lfs/liburcu +++ b/lfs/liburcu @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team # +# Copyright (C) 2007-2023 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.13.2 +VER = 0.14.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 = 6d502e0035b03df262c917ba70f7442e2bd81369091b2c521fe5c32f31ed2ef7404070759f3a8910b767153e05d28e354d5e5ece2a3ba17e4a31dd7db3e1924f +$(DL_FILE)_BLAKE2 = ba9fa4c6dec693d2616234187db531f00fc0ade65f7e2a57182d9441728ddfa6f3e9d4544b824ca5edf7c027a43c9231d998a309c01f4bbab1eeefe856344f77 install : $(TARGET)