webkitgtk/webkitgtk-2.0.4-libatomic.patch
2013-08-04 21:20:02 +02:00

64 lines
3.0 KiB
Diff

diff -up webkitgtk-2.0.4/GNUmakefile.in.ppc webkitgtk-2.0.4/GNUmakefile.in
--- webkitgtk-2.0.4/GNUmakefile.in.ppc 2013-08-04 21:12:16.184460261 +0200
+++ webkitgtk-2.0.4/GNUmakefile.in 2013-08-04 21:13:31.235462408 +0200
@@ -20865,6 +20865,7 @@ libWTF_la_CXXFLAGS = \
$(libWTF_la_CFLAGS)
libWTF_la_CFLAGS = \
+ -latomic \
-fstrict-aliasing \
-O3 \
$(global_cflags) \
@@ -22243,6 +22244,7 @@ Programs_WebKitPluginProcess_SOURCES = \
$(webkit2_plugin_process_sources)
Programs_WebKitPluginProcess_LDADD = \
+ -latomic \
-lpthread \
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
WebCoreLayerGtk2.a \
diff -up webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am.ppc webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am
--- webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am.ppc 2013-08-04 21:13:45.056462804 +0200
+++ webkitgtk-2.0.4/Source/WebKit2/GNUmakefile.am 2013-08-04 21:14:10.076463519 +0200
@@ -604,6 +604,7 @@ Programs_WebKitPluginProcess_SOURCES = \
$(webkit2_plugin_process_sources)
Programs_WebKitPluginProcess_LDADD = \
+ -latomic \
-lpthread \
libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
WebCoreLayerGtk2.a \
diff -up webkitgtk-2.0.4/Source/WTF/GNUmakefile.am.ppc webkitgtk-2.0.4/Source/WTF/GNUmakefile.am
--- webkitgtk-2.0.4/Source/WTF/GNUmakefile.am.ppc 2013-08-04 21:14:22.140463865 +0200
+++ webkitgtk-2.0.4/Source/WTF/GNUmakefile.am 2013-08-04 21:14:50.155464666 +0200
@@ -25,6 +25,7 @@ libWTF_la_CXXFLAGS = \
$(libWTF_la_CFLAGS)
libWTF_la_CFLAGS = \
+ -latomic \
-fstrict-aliasing \
-O3 \
$(global_cflags) \
diff -up webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h.ppc webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h
--- webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h.ppc 2013-08-04 21:15:01.142464980 +0200
+++ webkitgtk-2.0.4/Source/WTF/wtf/Atomics.h 2013-08-04 21:16:59.951468379 +0200
@@ -107,6 +107,18 @@ 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