[webkitgtk3] Fix for not building on ppc32 with JIT disabled
Tomas Popela
tpopela at fedoraproject.org
Fri Feb 22 09:07:59 UTC 2013
commit c834dbb2edac47b6c6618c0e6a9e88cd554f8f2f
Author: Tomas Popela <tpopela at redhat.com>
Date: Fri Feb 22 10:07:44 2013 +0100
Fix for not building on ppc32 with JIT disabled
webkitgtk-1.11.5-libatomic.patch | 43 ++++++++++++
webkitgtk-1.11.5-ppcFetch8Fix.patch | 128 -----------------------------------
webkitgtk3.spec | 18 ++++-
3 files changed, 57 insertions(+), 132 deletions(-)
---
diff --git a/webkitgtk-1.11.5-libatomic.patch b/webkitgtk-1.11.5-libatomic.patch
new file mode 100644
index 0000000..d9c571f
--- /dev/null
+++ b/webkitgtk-1.11.5-libatomic.patch
@@ -0,0 +1,43 @@
+diff -up webkitgtk-1.11.5/GNUmakefile.in.libatomic webkitgtk-1.11.5/GNUmakefile.in
+--- webkitgtk-1.11.5/GNUmakefile.in.libatomic 2013-02-05 10:19:17.000000000 +0100
++++ webkitgtk-1.11.5/GNUmakefile.in 2013-02-21 11:46:22.174606897 +0100
+@@ -20924,6 +20924,7 @@ libWTF_la_CXXFLAGS = \
+ $(libWTF_la_CFLAGS)
+
+ libWTF_la_CFLAGS = \
++ -latomic \
+ -fstrict-aliasing \
+ -O3 \
+ $(global_cflags) \
+diff -up webkitgtk-1.11.5/Source/WTF/GNUmakefile.am.libatomic webkitgtk-1.11.5/Source/WTF/GNUmakefile.am
+--- webkitgtk-1.11.5/Source/WTF/GNUmakefile.am.libatomic 2013-02-02 15:44:07.000000000 +0100
++++ webkitgtk-1.11.5/Source/WTF/GNUmakefile.am 2013-02-21 11:44:37.170481443 +0100
+@@ -25,6 +25,7 @@ libWTF_la_CXXFLAGS = \
+ $(libWTF_la_CFLAGS)
+
+ libWTF_la_CFLAGS = \
++ -latomic \
+ -fstrict-aliasing \
+ -O3 \
+ $(global_cflags) \
+diff -up webkitgtk-1.11.5/Source/WTF/wtf/Atomics.h.libatomic webkitgtk-1.11.5/Source/WTF/wtf/Atomics.h
+--- webkitgtk-1.11.5/Source/WTF/wtf/Atomics.h.libatomic 2013-02-01 16:03:26.000000000 +0100
++++ webkitgtk-1.11.5/Source/WTF/wtf/Atomics.h 2013-02-21 11:42:04.212836334 +0100
+@@ -107,6 +107,17 @@ inline int atomicDecrement(int volatile*
+ inline int atomicIncrement(int volatile* addend) { return __atomic_inc(addend) + 1; }
+ inline int atomicDecrement(int volatile* addend) { return __atomic_dec(addend) - 1; }
+
++#elif COMPILER(GCC) && (__GNUC__ > 4 || (__GNUC__ == 4 \
++ && (__GNUC_MINOR__ > 8 || (__GNUC_MINOR__ == 8 \
++ && (__GNUC_PATCHLEVEL__ > 0 || (__GNUC_PATCHLEVEL__ == 0)))))) \
++ && CPU(PPC)
++#define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
++inline int atomicIncrement(int volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
++inline int atomicDecrement(int volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
++
++inline int64_t atomicIncrement(int64_t volatile* addend) { return __atomic_fetch_add(addend, 1, __ATOMIC_ACQ_REL); }
++inline int64_t atomicDecrement(int64_t volatile* addend) { return __atomic_fetch_sub(addend, 1, __ATOMIC_ACQ_REL); }
++
+ #elif COMPILER(GCC) && !CPU(SPARC64) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc
+ #define WTF_USE_LOCKFREE_THREADSAFEREFCOUNTED 1
+
diff --git a/webkitgtk3.spec b/webkitgtk3.spec
index bedd9c0..1f76826 100644
--- a/webkitgtk3.spec
+++ b/webkitgtk3.spec
@@ -7,7 +7,7 @@
Name: webkitgtk3
Version: 1.11.5
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: GTK+ Web content engine library
Group: Development/Libraries
@@ -31,7 +31,7 @@ Patch7: webkitgtk-1.11.5-i686-linking.patch
Patch8: webkitgtk-1.11.5-atkFix.patch
# Fix for not building with JIT disabled
Patch9: webkitgtk-1.11.5-JSCJSValueFix.patch
-Patch10: webkitgtk-1.11.5-ppcFetch8Fix.patch
+Patch10: webkitgtk-1.11.5-libatomic.patch
BuildRequires: bison
BuildRequires: cairo-devel
@@ -64,6 +64,10 @@ BuildRequires: perl-Switch
BuildRequires: ruby
BuildRequires: mesa-libGL-devel
+%ifarch ppc
+BuildRequires: libatomic
+%endif
+
%description
WebKitGTK+ is the port of the portable web rendering engine WebKit to the
GTK+ platform.
@@ -101,7 +105,9 @@ This package contains developer documentation for %{name}.
%patch7 -p1 -b .i686
%patch8 -p1 -b .atkFix
%patch9 -p1 -b .JSCJSValueFix
-%patch10 -p1 -b .ppcFetch8Fix
+%ifarch ppc
+%patch10 -p1 -b .libatomic
+%endif
%build
%ifarch s390 %{arm} ppc
@@ -224,6 +230,10 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%changelog
+* Fri Feb 22 2013 Tomas Popela <tpopela at redhat.com> 1.11.5-5
+- Fix for not building on ppc32 with JIT disabled
+- BR libatomic (needs gcc >= 4.8.0) for ppc32
+
* Mon Feb 18 2013 Tomas Popela <tpopela at redhat.com> 1.11.5-4
- Backported fixes for not building with disabled JIT
@@ -424,7 +434,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
* Wed Dec 1 2010 Matthias Clasen <mclasen at redhat.com> 1.3.7-1
- Update to 1.3.7
-* Wed Nov 11 2010 Matthias Clasen <mclasen at redhat.com> 1.3.6-1
+* Thu Nov 11 2010 Matthias Clasen <mclasen at redhat.com> 1.3.6-1
- Update to 1.3.6
- Disable the s390 patch again :-( Upstream it, maybe ?
More information about the scm-commits
mailing list