From d849a4a7f55525fcc8e7ff40805547a236c03960 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 28 Mar 2016 08:42:54 -0500 Subject: [PATCH] make check fails on test_stack for ppc64le arch (#1096574), drop reference to 0032.patch --- gc_ppc64le_force_AO_load.patch | 26 ++++++++++++++++++++++++++ libatomic_ops.spec | 18 ++++++++++++------ 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 gc_ppc64le_force_AO_load.patch diff --git a/gc_ppc64le_force_AO_load.patch b/gc_ppc64le_force_AO_load.patch new file mode 100644 index 0000000..3fd8647 --- /dev/null +++ b/gc_ppc64le_force_AO_load.patch @@ -0,0 +1,26 @@ +Subject: gc ppc64le force AO load +From: Michel Normand + +Force AO_load() to map to AO_load_acquire() for powerpc. The +AO_load_acquire() function includes isync instructions that +are critical for proper behavior on power system. + +Signed-Off-By: Will Schmidt +Signed-off-by: Michel Normand +--- + libatomic_ops/src/atomic_ops/sysdeps/gcc/powerpc.h | 2 ++ + 1 file changed, 2 insertions(+) + +Index: libatomic_ops/src/atomic_ops/sysdeps/gcc/powerpc.h +=================================================================== +--- libatomic_ops/src/atomic_ops/sysdeps/gcc/powerpc.h ++++ libatomic_ops/src/atomic_ops/sysdeps/gcc/powerpc.h +@@ -32,6 +32,8 @@ + + #include "../all_aligned_atomic_load_store.h" + ++#define AO_load(addr) AO_load_acquire(addr) ++ + #include "../test_and_set_t_is_ao_t.h" + /* There seems to be no byte equivalent of lwarx, so this */ + /* may really be what we want, at least in the 32-bit case. */ diff --git a/libatomic_ops.spec b/libatomic_ops.spec index 8d864f3..3ce0af1 100644 --- a/libatomic_ops.spec +++ b/libatomic_ops.spec @@ -1,7 +1,7 @@ Name: libatomic_ops Summary: Atomic memory update operations Version: 7.4.2 -Release: 8%{?dist} +Release: 9%{?dist} # libatomic_ops MIT, libatomic_ops_gpl GPLv2 License: GPLv2 and MIT @@ -25,7 +25,10 @@ Patch17: 0017-Fix-GCC-5.x-compatibility-for-AArch64-double-wide-pr.patch Patch116: 0016-Use-LLD-and-SCD-instructions-on-mips64.patch Patch117: 0017-Remove-inclusion-of-acquire_release_volatile.h-on-mi.patch Patch118: 0018-Minor-fix-of-code-alignment-in-mips-AO_compare_and_s.patch -Patch132: 0032-Add-initial-nios2-architecture-support.patch + +## upstreamable patches +# https://bugzilla.redhat.com/show_bug.cgi?id=1096574 +Patch500: gc_ppc64le_force_AO_load.patch # re-autofoo for patch2 (and others) BuildRequires: automake libtool @@ -77,10 +80,10 @@ rm -fv %{buildroot}%{_datadir}/libatomic_ops/{COPYING,README*,*.txt} %check -# ignore failures on powerpc, atomic stack feature not working (#883748) -%ifarch ppc ppc64 ppc64le aarch64 -%global arch_ignore ||: -%endif +## ignore failures on powerpc, atomic stack feature not working (#883748) +#ifarch ppc ppc64 ppc64le aarch64 +#global arch_ignore ||: +#endif make check %{?arch_ignore} %post -p /sbin/ldconfig @@ -109,6 +112,9 @@ make check %{?arch_ignore} %changelog +* Mon Mar 28 2016 Rex Dieter 7.4.2-9 +- make check fails on test_stack for ppc64le arch (#1096574), drop reference to 0032.patch + * Mon Mar 28 2016 Rex Dieter - 7.4.2-8 - pull in upstream (7.4 branch) fixes - Add support for 64-bit MIPS (#1317509)