REGRESSION(r226266): [GTK] RELEASE_ASSERT(reservedZoneSize >= minimumReservedZoneSize...
authormcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Jan 2018 08:45:13 +0000 (08:45 +0000)
committermcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 15 Jan 2018 08:45:13 +0000 (08:45 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181438
<rdar://problem/36376724>

Reviewed by Carlos Garcia Campos.

.:

Build JSC as a shared library.

Stop using -fvisibility=hidden. This is a shame, but it is causing problems that I don't
know how to fix.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:

Source/JavaScriptCore:

Roll out the functional changes of r226266. We'll keep the minor CMake library type setting
cleanup, but we have to switch back to building JSC only as a shared library, and we have to
get rid of the version script.

* PlatformGTK.cmake:
* javascriptcoregtk-symbols.map: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226945 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/PlatformGTK.cmake
Source/JavaScriptCore/javascriptcoregtk-symbols.map [deleted file]
Source/cmake/OptionsGTK.cmake
Source/cmake/WebKitCompilerFlags.cmake

index 3433284..a3c4887 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2018-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        REGRESSION(r226266): [GTK] RELEASE_ASSERT(reservedZoneSize >= minimumReservedZoneSize) in JSC::VM::updateStackLimits
+        https://bugs.webkit.org/show_bug.cgi?id=181438
+        <rdar://problem/36376724>
+
+        Reviewed by Carlos Garcia Campos.
+
+        Build JSC as a shared library.
+
+        Stop using -fvisibility=hidden. This is a shame, but it is causing problems that I don't
+        know how to fix.
+
+        * Source/cmake/OptionsGTK.cmake:
+        * Source/cmake/WebKitCompilerFlags.cmake:
+
 2018-01-11  Keith Miller  <keith_miller@apple.com>
 
         Rename ENABLE_ASYNC_ITERATION to ENABLE_JS_ASYNC_ITERATION
index e5d47f1..98e28a5 100644 (file)
@@ -1,3 +1,18 @@
+2018-01-15  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        REGRESSION(r226266): [GTK] RELEASE_ASSERT(reservedZoneSize >= minimumReservedZoneSize) in JSC::VM::updateStackLimits
+        https://bugs.webkit.org/show_bug.cgi?id=181438
+        <rdar://problem/36376724>
+
+        Reviewed by Carlos Garcia Campos.
+
+        Roll out the functional changes of r226266. We'll keep the minor CMake library type setting
+        cleanup, but we have to switch back to building JSC only as a shared library, and we have to
+        get rid of the version script.
+
+        * PlatformGTK.cmake:
+        * javascriptcoregtk-symbols.map: Removed.
+
 2018-01-14  Saam Barati  <sbarati@apple.com>
 
         Unreviewed. r226928 broke the CLOOP build. This patch fixes the CLOOP build.
index 2ec177f..35b8a7c 100644 (file)
@@ -1,3 +1,5 @@
+set(JavaScriptCore_OUTPUT_NAME javascriptcoregtk-${WEBKITGTK_API_VERSION})
+
 list(APPEND JavaScriptCore_UNIFIED_SOURCE_LIST_FILES
     "SourcesGTK.txt"
 )
@@ -50,23 +52,3 @@ list(APPEND JavaScriptCore_LIBRARIES
 list(APPEND JavaScriptCore_SYSTEM_INCLUDE_DIRECTORIES
     ${GLIB_INCLUDE_DIRS}
 )
-
-# Linking WebKit properly is extremely tricky. We need to build both a static library
-# and a shared library for JSC. See https://bugs.webkit.org/show_bug.cgi?id=179914.
-set(JavaScriptCoreGTK_LIBRARIES
-    JavaScriptCore${DEBUG_SUFFIX}
-)
-ADD_WHOLE_ARCHIVE_TO_LIBRARIES(JavaScriptCoreGTK_LIBRARIES)
-
-add_library(JavaScriptCoreGTK SHARED "${CMAKE_BINARY_DIR}/cmakeconfig.h")
-target_link_libraries(JavaScriptCoreGTK ${JavaScriptCoreGTK_LIBRARIES})
-set_target_properties(JavaScriptCoreGTK PROPERTIES OUTPUT_NAME javascriptcoregtk-${WEBKITGTK_API_VERSION})
-
-WEBKIT_POPULATE_LIBRARY_VERSION(JAVASCRIPTCORE)
-set_target_properties(JavaScriptCoreGTK PROPERTIES VERSION ${JAVASCRIPTCORE_VERSION} SOVERSION ${JAVASCRIPTCORE_VERSION_MAJOR})
-
-if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
-    WEBKIT_ADD_TARGET_PROPERTIES(JavaScriptCoreGTK LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/javascriptcoregtk-symbols.map")
-endif ()
-
-install(TARGETS JavaScriptCoreGTK DESTINATION "${LIB_INSTALL_DIR}")
diff --git a/Source/JavaScriptCore/javascriptcoregtk-symbols.map b/Source/JavaScriptCore/javascriptcoregtk-symbols.map
deleted file mode 100644 (file)
index 9b856ff..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-global:
-  JS*;
-local:
-  *;
-};
index b4d4e6b..dd62e22 100644 (file)
@@ -376,6 +376,7 @@ set(WebKit_PKGCONFIG_FILE ${CMAKE_BINARY_DIR}/Source/WebKitLegacy/gtk/webkitgtk-
 set(WebKit2_PKGCONFIG_FILE ${CMAKE_BINARY_DIR}/Source/WebKit/webkit2gtk-${WEBKITGTK_API_VERSION}.pc)
 set(WebKit2WebExtension_PKGCONFIG_FILE ${CMAKE_BINARY_DIR}/Source/WebKit/webkit2gtk-web-extension-${WEBKITGTK_API_VERSION}.pc)
 
+set(JavaScriptCore_LIBRARY_TYPE SHARED)
 set(SHOULD_INSTALL_JS_SHELL ON)
 
 # Add a typelib file to the list of all typelib dependencies. This makes it easy to
index 869290e..7953a16 100644 (file)
@@ -105,13 +105,6 @@ if (COMPILER_IS_GCC_OR_CLANG)
         WEBKIT_APPEND_GLOBAL_CXX_FLAGS(-std=c++14
                                        -fno-rtti)
 
-        if (UNIX AND NOT DEVELOPER_MODE)
-            # These are used even for ports that use symbol maps so that the
-            # compiler can take visibility into account for code optimization.
-            WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-fvisibility=hidden)
-            WEBKIT_APPEND_GLOBAL_CXX_FLAGS(-fvisibility-inlines-hidden)
-        endif ()
-
         if (WIN32)
             WEBKIT_APPEND_GLOBAL_COMPILER_FLAGS(-mno-ms-bitfields)
             WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-unknown-pragmas)