Title: [267358] trunk/Tools
Revision
267358
Author
[email protected]
Date
2020-09-21 13:02:25 -0700 (Mon, 21 Sep 2020)

Log Message

Enable AddressSanitizer in C++ std library templates
<https://webkit.org/b/216746>

Reviewed by Darin Adler.

This change also prevents duplicate command-line switches from
being passed to clang since OTHER_CFLAGS is used when compiling
C++ sources.

* sanitizer/asan.xcconfig:
(WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES): Add.
- Undefines _LIBCPP_HAS_NO_ASAN macro to enable ASan for C++ std
  library templates.

* sanitizer/sanitizer.xcconfig:
(WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES): Add.
- Provide placeholder.
(OTHER_CPLUSPLUSFLAGS):
- Switch from WK_SANITIZER_OTHER_CFLAGS_ prefix to
  WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_ prefix.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (267357 => 267358)


--- trunk/Tools/ChangeLog	2020-09-21 19:51:02 UTC (rev 267357)
+++ trunk/Tools/ChangeLog	2020-09-21 20:02:25 UTC (rev 267358)
@@ -1,3 +1,26 @@
+2020-09-21  David Kilzer  <[email protected]>
+
+        Enable AddressSanitizer in C++ std library templates
+        <https://webkit.org/b/216746>
+
+        Reviewed by Darin Adler.
+
+        This change also prevents duplicate command-line switches from
+        being passed to clang since OTHER_CFLAGS is used when compiling
+        C++ sources.
+
+        * sanitizer/asan.xcconfig:
+        (WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES): Add.
+        - Undefines _LIBCPP_HAS_NO_ASAN macro to enable ASan for C++ std
+          library templates.
+
+        * sanitizer/sanitizer.xcconfig:
+        (WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES): Add.
+        - Provide placeholder.
+        (OTHER_CPLUSPLUSFLAGS):
+        - Switch from WK_SANITIZER_OTHER_CFLAGS_ prefix to
+          WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_ prefix.
+
 2020-09-21  Aakash Jain  <[email protected]>
 
         Make ews-app robust against config.json issues (follow-up fix)

Modified: trunk/Tools/sanitizer/asan.xcconfig (267357 => 267358)


--- trunk/Tools/sanitizer/asan.xcconfig	2020-09-21 19:51:02 UTC (rev 267357)
+++ trunk/Tools/sanitizer/asan.xcconfig	2020-09-21 20:02:25 UTC (rev 267358)
@@ -5,3 +5,5 @@
 ENABLE_ADDRESS_SANITIZER_NO = YES;
 
 WK_ENABLE_SANITIZER = $(ENABLE_ADDRESS_SANITIZER);
+
+WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES = $(inherited) -U_LIBCPP_HAS_NO_ASAN;

Modified: trunk/Tools/sanitizer/sanitizer.xcconfig (267357 => 267358)


--- trunk/Tools/sanitizer/sanitizer.xcconfig	2020-09-21 19:51:02 UTC (rev 267357)
+++ trunk/Tools/sanitizer/sanitizer.xcconfig	2020-09-21 20:02:25 UTC (rev 267358)
@@ -4,9 +4,10 @@
 GCC_OPTIMIZATION_LEVEL_Release = 1;
 
 WK_SANITIZER_OTHER_CFLAGS_YES = -fno-omit-frame-pointer -g;
+WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_YES = ;
 
 OTHER_CFLAGS = $(inherited) $(WK_SANITIZER_OTHER_CFLAGS_$(WK_ENABLE_SANITIZER));
-OTHER_CPLUSPLUSFLAGS = $(inherited) $(WK_SANITIZER_OTHER_CFLAGS_$(WK_ENABLE_SANITIZER));
+OTHER_CPLUSPLUSFLAGS = $(inherited) $(WK_SANITIZER_OTHER_CPLUSPLUSFLAGS_$(WK_ENABLE_SANITIZER));
 
 // Workaround for rdar://problem/49498092
 OTHER_LDFLAGS = $(inherited) $(WK_LDFLAGS_SANITIZER_$(WK_ENABLE_SANITIZER));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to