Title: [224642] trunk
Revision
224642
Author
mcatanz...@igalia.com
Date
2017-11-09 12:56:03 -0800 (Thu, 09 Nov 2017)

Log Message

[WPE] Use linker script to control exported symbols
https://bugs.webkit.org/show_bug.cgi?id=179358

Reviewed by Carlos Alberto Lopez Perez.

The C API is being inadvertently exported because it's marked as WEBKIT_EXPORT in the header
files. But of course it should only be exported in DEVELOPER_MODE, where it's needed for
WebKitTestRunner. Use (almost) the same linker version script as GTK to fix this. It's
slightly different because WPE does not have WebKitPluginProcess.

This also reduces binary size of libWPEWebKit.so in debug mode from 615 MB down to 497 MB.
(Haven't checked release mode.)

* Source/cmake/OptionsWPE.cmake:
* Source/cmake/wpesymbols.filter: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (224641 => 224642)


--- trunk/ChangeLog	2017-11-09 20:22:10 UTC (rev 224641)
+++ trunk/ChangeLog	2017-11-09 20:56:03 UTC (rev 224642)
@@ -1,3 +1,21 @@
+2017-11-09  Michael Catanzaro  <mcatanz...@igalia.com>
+
+        [WPE] Use linker script to control exported symbols
+        https://bugs.webkit.org/show_bug.cgi?id=179358
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        The C API is being inadvertently exported because it's marked as WEBKIT_EXPORT in the header
+        files. But of course it should only be exported in DEVELOPER_MODE, where it's needed for
+        WebKitTestRunner. Use (almost) the same linker version script as GTK to fix this. It's
+        slightly different because WPE does not have WebKitPluginProcess.
+
+        This also reduces binary size of libWPEWebKit.so in debug mode from 615 MB down to 497 MB.
+        (Haven't checked release mode.)
+
+        * Source/cmake/OptionsWPE.cmake:
+        * Source/cmake/wpesymbols.filter: Added.
+
 2017-11-08  Michael Catanzaro  <mcatanz...@igalia.com>
 
         [WPE] Turn on ENABLE_INDEXED_DATABASE_IN_WORKERS

Modified: trunk/Source/cmake/OptionsWPE.cmake (224641 => 224642)


--- trunk/Source/cmake/OptionsWPE.cmake	2017-11-09 20:22:10 UTC (rev 224641)
+++ trunk/Source/cmake/OptionsWPE.cmake	2017-11-09 20:56:03 UTC (rev 224642)
@@ -108,11 +108,8 @@
 set(FORWARDING_HEADERS_WPE_EXTENSION_DIR ${FORWARDING_HEADERS_DIR}/wpe-webextension)
 set(DERIVED_SOURCES_WPE_API_DIR ${DERIVED_SOURCES_WEBKIT_DIR}/wpe)
 
-# Build with -fvisibility=hidden to reduce the size of the shared library.
-# Not to be used when building the WebKitTestRunner library.
 if (NOT DEVELOPER_MODE)
-    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -fvisibility=hidden")
-    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fvisibility=hidden -fvisibility-inlines-hidden")
+    set(WebKit_VERSION_SCRIPT "-Wl,--version-script,${CMAKE_MODULE_PATH}/wpesymbols.filter")
 endif ()
 
 include(GStreamerChecks)

Added: trunk/Source/cmake/wpesymbols.filter (0 => 224642)


--- trunk/Source/cmake/wpesymbols.filter	                        (rev 0)
+++ trunk/Source/cmake/wpesymbols.filter	2017-11-09 20:56:03 UTC (rev 224642)
@@ -0,0 +1,12 @@
+{
+global:
+  webkit_*;
+  WebProcessMainUnix;
+  NetworkProcessMainUnix;
+  StorageProcessMainUnix;
+  _ZN6WebKit22WebKitExtensionManager10initializeEPNS_14InjectedBundleEPN3API6ObjectE;
+  _ZN6WebKit22WebKitExtensionManager9singletonEv;
+local:
+  webkit_media_player_debug;
+  *;
+};
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to