enable apr_atomic test again
This commit is contained in:
parent
280f685fb3
commit
3076dbcb1e
@ -1,14 +0,0 @@
|
|||||||
diff --git a/test/testatomic.c b/test/testatomic.c
|
|
||||||
index bf388c7..03e1c32 100644
|
|
||||||
--- a/test/testatomic.c
|
|
||||||
+++ b/test/testatomic.c
|
|
||||||
@@ -953,7 +953,8 @@ abts_suite *testatomic(abts_suite *suite)
|
|
||||||
abts_run_test(suite, test_atomics_threaded64, NULL);
|
|
||||||
abts_run_test(suite, test_atomics_busyloop_threaded, NULL);
|
|
||||||
abts_run_test(suite, test_atomics_busyloop_threaded64, NULL);
|
|
||||||
- abts_run_test(suite, test_atomics_threaded_setread64, NULL);
|
|
||||||
+// disable this test due to i686 issues
|
|
||||||
+// abts_run_test(suite, test_atomics_threaded_setread64, NULL);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return suite;
|
|
29
apr-1.7.2-r1907541.patch
Normal file
29
apr-1.7.2-r1907541.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--- a/atomic/unix/mutex64.c 2023/02/09 12:45:02 1907540
|
||||||
|
+++ b/atomic/unix/mutex64.c 2023/02/09 13:36:18 1907541
|
||||||
|
@@ -96,7 +96,26 @@
|
||||||
|
|
||||||
|
APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem)
|
||||||
|
{
|
||||||
|
+ /* On 32bit CPUs this loads with two instructions (tearing),
|
||||||
|
+ * so a lock is needed to ensure atomicity.
|
||||||
|
+ *
|
||||||
|
+ * APR_SIZEOF_VOIDP is probably not the right check for 32 vs 64 bits CPUs
|
||||||
|
+ * but it spares an (hardly-)exhaustive list of supported CPUs (and using
|
||||||
|
+ * assembly). If APR_SIZEOF_VOIDP==4 means that the compiler generates
|
||||||
|
+ * 32bit instructions (-m32 or whatever) then it's the right check though.
|
||||||
|
+ */
|
||||||
|
+#if APR_SIZEOF_VOIDP >= 8
|
||||||
|
return *mem;
|
||||||
|
+#else
|
||||||
|
+ apr_uint64_t cur_value;
|
||||||
|
+ DECLARE_MUTEX_LOCKED(mutex, mem);
|
||||||
|
+
|
||||||
|
+ cur_value = *mem;
|
||||||
|
+
|
||||||
|
+ MUTEX_UNLOCK(mutex);
|
||||||
|
+
|
||||||
|
+ return cur_value;
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
APR_DECLARE(void) apr_atomic_set64(volatile apr_uint64_t *mem, apr_uint64_t val)
|
9
apr.spec
9
apr.spec
@ -12,7 +12,7 @@
|
|||||||
Summary: Apache Portable Runtime library
|
Summary: Apache Portable Runtime library
|
||||||
Name: apr
|
Name: apr
|
||||||
Version: 1.7.2
|
Version: 1.7.2
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
# ASL 2.0: everything
|
# ASL 2.0: everything
|
||||||
# ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c
|
# ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c
|
||||||
# BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c,
|
# BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c,
|
||||||
@ -27,7 +27,7 @@ Patch1: apr-1.7.2-libdir.patch
|
|||||||
Patch2: apr-1.2.7-pkgconf.patch
|
Patch2: apr-1.2.7-pkgconf.patch
|
||||||
Patch3: apr-1.7.0-deepbind.patch
|
Patch3: apr-1.7.0-deepbind.patch
|
||||||
Patch4: apr-1.7.2-autoconf.patch
|
Patch4: apr-1.7.2-autoconf.patch
|
||||||
Patch5: apr-1.7.2-disable-atomic-read-test.patch
|
Patch5: apr-1.7.2-r1907541.patch
|
||||||
BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3
|
BuildRequires: gcc, autoconf, libtool, libuuid-devel, python3
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ C data structures and routines.
|
|||||||
%patch2 -p1 -b .pkgconf
|
%patch2 -p1 -b .pkgconf
|
||||||
%patch3 -p1 -b .deepbind
|
%patch3 -p1 -b .deepbind
|
||||||
%patch4 -p1 -b .autoconf-2-71
|
%patch4 -p1 -b .autoconf-2-71
|
||||||
%patch5 -p1 -b .dis-atomic-rd-test
|
%patch5 -p1 -b .r1907541
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# regenerate configure script etc.
|
# regenerate configure script etc.
|
||||||
@ -144,6 +144,9 @@ popd
|
|||||||
%{_datadir}/aclocal/*.m4
|
%{_datadir}/aclocal/*.m4
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 10 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.2-2
|
||||||
|
- enable apr_atomic test again
|
||||||
|
|
||||||
* Thu Feb 02 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.2-1
|
* Thu Feb 02 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.7.2-1
|
||||||
- new version 1.7.2
|
- new version 1.7.2
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user