[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