Title: [228628] releases/WebKitGTK/webkit-2.20
Revision
228628
Author
carlo...@webkit.org
Date
2018-02-19 01:36:00 -0800 (Mon, 19 Feb 2018)

Log Message

Merge r228134 - [CMake] Add ENABLE_ADDRESS_SANITIZER to make it easier to build with asan support
https://bugs.webkit.org/show_bug.cgi?id=182400

Reviewed by Konstantin Tokarev.

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

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.20/ChangeLog (228627 => 228628)


--- releases/WebKitGTK/webkit-2.20/ChangeLog	2018-02-19 09:35:56 UTC (rev 228627)
+++ releases/WebKitGTK/webkit-2.20/ChangeLog	2018-02-19 09:36:00 UTC (rev 228628)
@@ -1,3 +1,13 @@
+2018-02-05  Michael Catanzaro  <mcatanz...@igalia.com>
+
+        [CMake] Add ENABLE_ADDRESS_SANITIZER to make it easier to build with asan support
+        https://bugs.webkit.org/show_bug.cgi?id=182400
+
+        Reviewed by Konstantin Tokarev.
+
+        * Source/cmake/OptionsGTK.cmake:
+        * Source/cmake/WebKitCompilerFlags.cmake:
+
 2018-02-05  Carlos Garcia Campos  <cgar...@igalia.com>
 
         Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.90 release.

Modified: releases/WebKitGTK/webkit-2.20/Source/cmake/OptionsGTK.cmake (228627 => 228628)


--- releases/WebKitGTK/webkit-2.20/Source/cmake/OptionsGTK.cmake	2018-02-19 09:35:56 UTC (rev 228627)
+++ releases/WebKitGTK/webkit-2.20/Source/cmake/OptionsGTK.cmake	2018-02-19 09:36:00 UTC (rev 228628)
@@ -355,6 +355,11 @@
     endif ()
 endif ()
 
+# https://bugs.webkit.org/show_bug.cgi?id=182247
+if (ENABLED_COMPILER_SANITIZERS)
+    set(ENABLE_INTROSPECTION OFF)
+endif ()
+
 # Override the cached variables, gtk-doc and gobject-introspection do not really work when cross-building.
 if (CMAKE_CROSSCOMPILING)
     set(ENABLE_GTKDOC OFF)

Modified: releases/WebKitGTK/webkit-2.20/Source/cmake/WebKitCompilerFlags.cmake (228627 => 228628)


--- releases/WebKitGTK/webkit-2.20/Source/cmake/WebKitCompilerFlags.cmake	2018-02-19 09:35:56 UTC (rev 228627)
+++ releases/WebKitGTK/webkit-2.20/Source/cmake/WebKitCompilerFlags.cmake	2018-02-19 09:36:00 UTC (rev 228628)
@@ -155,6 +155,21 @@
     set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "-Wl,--no-keep-memory ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
 endif ()
 
+if (COMPILER_IS_GCC_OR_CLANG)
+    # Careful: this needs to be above where ENABLED_COMPILER_SANITIZERS is set.
+    # Also, it's not possible to use the normal prepend/append macros for
+    # -fsanitize=address, because check_cxx_compiler_flag will report it's
+    # unsupported, because it causes the build to fail if not used when linking.
+    option(ENABLE_ADDRESS_SANITIZER "Enable address sanitizer" OFF)
+    if (ENABLE_ADDRESS_SANITIZER)
+        WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-fno-omit-frame-pointer
+                                             -fno-optimize-sibling-calls)
+        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
+        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_THREAD_LIBS_INIT} ${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
+        set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_THREAD_LIBS_INIT} ${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
+    endif ()
+endif ()
 
 if (NOT MSVC)
     string(REGEX MATCHALL "-fsanitize=[^ ]*" ENABLED_COMPILER_SANITIZERS ${CMAKE_CXX_FLAGS})
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to