Title: [204823] releases/WebKitGTK/webkit-2.12
Revision
204823
Author
[email protected]
Date
2016-08-23 05:30:41 -0700 (Tue, 23 Aug 2016)

Log Message

Merge r203446 - JSC JIT Broken on ARMv7 Traditional (without Thumb2)
https://bugs.webkit.org/show_bug.cgi?id=159880

Reviewed by Carlos Garcia Campos.

* Source/cmake/OptionsCommon.cmake: Use the BFD linker on ARM traditional because of a gold linker bug.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.12/ChangeLog (204822 => 204823)


--- releases/WebKitGTK/webkit-2.12/ChangeLog	2016-08-23 12:28:08 UTC (rev 204822)
+++ releases/WebKitGTK/webkit-2.12/ChangeLog	2016-08-23 12:30:41 UTC (rev 204823)
@@ -1,3 +1,12 @@
+2016-07-20  Csaba Osztrogonác  <[email protected]>
+
+        JSC JIT Broken on ARMv7 Traditional (without Thumb2)
+        https://bugs.webkit.org/show_bug.cgi?id=159880
+
+        Reviewed by Carlos Garcia Campos.
+
+        * Source/cmake/OptionsCommon.cmake: Use the BFD linker on ARM traditional because of a gold linker bug.
+
 2016-05-24  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.3 release.

Modified: releases/WebKitGTK/webkit-2.12/Source/cmake/OptionsCommon.cmake (204822 => 204823)


--- releases/WebKitGTK/webkit-2.12/Source/cmake/OptionsCommon.cmake	2016-08-23 12:28:08 UTC (rev 204822)
+++ releases/WebKitGTK/webkit-2.12/Source/cmake/OptionsCommon.cmake	2016-08-23 12:30:41 UTC (rev 204823)
@@ -68,10 +68,29 @@
 
 EXPOSE_VARIABLE_TO_BUILD(WTF_CPU_ARM64_CORTEXA53)
 
+set(ARM_TRADITIONAL_DETECTED FALSE)
+if (WTF_CPU_ARM)
+    set(ARM_THUMB2_TEST_SOURCE
+    "
+    #if !defined(thumb2) && !defined(__thumb2__)
+    #error \"Thumb2 instruction set isn't available\"
+    #endif
+    int main() {}
+   ")
+
+    include(CheckCXXSourceCompiles)
+    CHECK_CXX_SOURCE_COMPILES("${ARM_THUMB2_TEST_SOURCE}" ARM_THUMB2_DETECTED)
+    if (NOT ARM_THUMB2_DETECTED)
+        set(ARM_TRADITIONAL_DETECTED TRUE)
+        # See https://bugs.webkit.org/show_bug.cgi?id=159880#c4 for details.
+        message(STATUS "Disabling GNU gold linker, because it doesn't support ARM instruction set properly.")
+    endif ()
+endif ()
+
 # Use ld.gold if it is available and isn't disabled explicitly
 include(CMakeDependentOption)
 CMAKE_DEPENDENT_OPTION(USE_LD_GOLD "Use GNU gold linker" ON
-                       "NOT CXX_ACCEPTS_MFIX_CORTEX_A53_835769" OFF)
+                       "NOT CXX_ACCEPTS_MFIX_CORTEX_A53_835769;NOT ARM_TRADITIONAL_DETECTED" OFF)
 if (USE_LD_GOLD)
     execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
     if ("${LD_VERSION}" MATCHES "GNU gold")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to