From 449ad0316790f1e194245691fea388cc1ebb5a97 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Tue, 29 May 2007 17:38:31 +0000 Subject: [PATCH] add fix for bad variable handling on PPC --- libatomic_ops-1.2-ppclwzfix.patch | 11 +++++++++++ libatomic_ops.spec | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 libatomic_ops-1.2-ppclwzfix.patch diff --git a/libatomic_ops-1.2-ppclwzfix.patch b/libatomic_ops-1.2-ppclwzfix.patch new file mode 100644 index 0000000..bcebcd7 --- /dev/null +++ b/libatomic_ops-1.2-ppclwzfix.patch @@ -0,0 +1,11 @@ +--- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:29:52.000000000 +0200 ++++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:30:48.000000000 +0200 +@@ -72,7 +72,7 @@ + /* registers. I always got "impossible constraint" when I */ + /* tried the "y" constraint. */ + __asm__ __volatile__ ( +- "lwz %0,%1\n" ++ "lwz%U1%X1 %0,%1\n" + "cmpw cr7,%0,%0\n" + "bne- cr7,1f\n" + "1: isync\n" diff --git a/libatomic_ops.spec b/libatomic_ops.spec index 586757e..8f53d8a 100644 --- a/libatomic_ops.spec +++ b/libatomic_ops.spec @@ -4,7 +4,7 @@ Name: libatomic_ops Version: 1.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Atomic memory update operations Group: Development/Libraries @@ -13,6 +13,8 @@ URL: http://www.hpl.hp.com/research/linux/atomic_ops/ Source0: http://www.hpl.hp.com/research/linux/atomic_ops/download/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch1: libatomic_ops-1.2-ppclwzfix.patch + %description Provides implementations for atomic memory update operations on a number of architectures. This allows direct use of these in reasonably @@ -35,6 +37,7 @@ that involves minimum overhead across a variety of architectures. %prep %setup -q +%patch1 -p1 chmod a-x src/*.h %build @@ -63,6 +66,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue May 29 2007 Pierre Ossman 1.2-2 +- Added fix for PPC AO_load_acquire. + * Fri Nov 10 2006 Pierre Ossman 1.2-1 - Update to 1.2.