Title: [226268] trunk/Source
- Revision
- 226268
- Author
- [email protected]
- Date
- 2017-12-22 10:12:53 -0800 (Fri, 22 Dec 2017)
Log Message
[GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
https://bugs.webkit.org/show_bug.cgi?id=179914
<rdar://problem/36196039>
Unreviewed.
Source/_javascript_Core:
* PlatformGTK.cmake:
Source/WebKit:
I messed up a last-minute change, and inverted the conditional that determines whether to
use the version script. I did test this change to ensure that it worked properly by checking
that the library size was correct, but only in non-developer mode. My test was thwarted by
-fvisibility=hidden. It looks like so few internal symbols are exported that missing the
version script had little impact on the size of the resulting libraries. That's good, I
suppose.
* PlatformGTK.cmake:
* PlatformWPE.cmake:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (226267 => 226268)
--- trunk/Source/_javascript_Core/ChangeLog 2017-12-22 18:06:34 UTC (rev 226267)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-12-22 18:12:53 UTC (rev 226268)
@@ -2,7 +2,17 @@
[GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
https://bugs.webkit.org/show_bug.cgi?id=179914
+ <rdar://problem/36196039>
+ Unreviewed.
+
+ * PlatformGTK.cmake:
+
+2017-12-22 Michael Catanzaro <[email protected]>
+
+ [GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
+ https://bugs.webkit.org/show_bug.cgi?id=179914
+
Reviewed by Carlos Garcia Campos.
Add a new _javascript_CoreGTK build target, to build JSC as a shared library. Link the
Modified: trunk/Source/_javascript_Core/PlatformGTK.cmake (226267 => 226268)
--- trunk/Source/_javascript_Core/PlatformGTK.cmake 2017-12-22 18:06:34 UTC (rev 226267)
+++ trunk/Source/_javascript_Core/PlatformGTK.cmake 2017-12-22 18:12:53 UTC (rev 226268)
@@ -65,7 +65,7 @@
WEBKIT_POPULATE_LIBRARY_VERSION(_javascript_CORE)
set_target_properties(_javascript_CoreGTK PROPERTIES VERSION ${_javascript_CORE_VERSION} SOVERSION ${_javascript_CORE_VERSION_MAJOR})
-if (DEVELOPER_MODE)
+if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
WEBKIT_ADD_TARGET_PROPERTIES(_javascript_CoreGTK LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/_javascript_coregtk-symbols.map")
endif ()
Modified: trunk/Source/WebKit/ChangeLog (226267 => 226268)
--- trunk/Source/WebKit/ChangeLog 2017-12-22 18:06:34 UTC (rev 226267)
+++ trunk/Source/WebKit/ChangeLog 2017-12-22 18:12:53 UTC (rev 226268)
@@ -2,7 +2,25 @@
[GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
https://bugs.webkit.org/show_bug.cgi?id=179914
+ <rdar://problem/36196039>
+ Unreviewed.
+
+ I messed up a last-minute change, and inverted the conditional that determines whether to
+ use the version script. I did test this change to ensure that it worked properly by checking
+ that the library size was correct, but only in non-developer mode. My test was thwarted by
+ -fvisibility=hidden. It looks like so few internal symbols are exported that missing the
+ version script had little impact on the size of the resulting libraries. That's good, I
+ suppose.
+
+ * PlatformGTK.cmake:
+ * PlatformWPE.cmake:
+
+2017-12-22 Michael Catanzaro <[email protected]>
+
+ [GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
+ https://bugs.webkit.org/show_bug.cgi?id=179914
+
Reviewed by Carlos Garcia Campos.
Mark a few InjectedBundle symbols with default visibility, so they don't get hidden by
Modified: trunk/Source/WebKit/PlatformGTK.cmake (226267 => 226268)
--- trunk/Source/WebKit/PlatformGTK.cmake 2017-12-22 18:06:34 UTC (rev 226267)
+++ trunk/Source/WebKit/PlatformGTK.cmake 2017-12-22 18:12:53 UTC (rev 226268)
@@ -24,7 +24,7 @@
add_definitions(-DLIBDIR="${LIB_INSTALL_DIR}")
add_definitions(-DDATADIR="${CMAKE_INSTALL_FULL_DATADIR}")
-if (DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
+if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
WEBKIT_ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map")
endif ()
Modified: trunk/Source/WebKit/PlatformWPE.cmake (226267 => 226268)
--- trunk/Source/WebKit/PlatformWPE.cmake 2017-12-22 18:06:34 UTC (rev 226267)
+++ trunk/Source/WebKit/PlatformWPE.cmake 2017-12-22 18:12:53 UTC (rev 226268)
@@ -16,7 +16,7 @@
add_definitions(-DLIBEXECDIR="${LIBEXEC_INSTALL_DIR}")
add_definitions(-DLOCALEDIR="${CMAKE_INSTALL_FULL_LOCALEDIR}")
-if (DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
+if (NOT DEVELOPER_MODE AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
WEBKIT_ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/webkitglib-symbols.map")
endif ()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes