Fix the atomicIncrement implementation for MIPS GCC
[WebKit-https.git] / Source / WTF / ChangeLog
index 2acd571..545a0f0 100644 (file)
@@ -1,3 +1,29 @@
+2013-02-26  Balazs Kilvady  <kilvadyb@homejinni.com>
+
+        Fix the atomicIncrement implementation for MIPS GCC
+        https://bugs.webkit.org/show_bug.cgi?id=106739
+
+        Reviewed by Oliver Hunt.
+
+        Implementation of missing __sync_[add|sub]_and_fetch_8 functions.
+
+        Some architectures, like MIPS32, don't have GCC implementation for
+        builtin __sync_* functions with 64 bits variable size. GCC answer
+        for the problem: If a target doesn't support atomic operations on
+        certain variable sizes, you are out of luck with atomicity in that
+        case (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56296). GCC >= 4.8
+        will support __atomic_* builtin functions for this purpose for all
+        the GCC targets, but for current compilers we have to include our
+        own implementation.
+
+        * GNUmakefile.list.am:
+        * WTF.pro:
+        * wtf/Atomics.cpp: Added.
+        (WTF):
+        (WTF::getSwapLock):
+        (WTF::atomicStep):
+        * wtf/CMakeLists.txt:
+
 2013-02-26  Oliver Hunt  <oliver@apple.com>
 
         Appease the QT bots.