new-op.c: Add comment about -fsanitize=address
authorPedro Alves <palves@redhat.com>
Tue, 25 Oct 2016 12:32:26 +0000 (13:32 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 25 Oct 2016 12:32:26 +0000 (13:32 +0100)
gdb/ChangeLog:
2016-10-25  Pedro Alves  <palves@redhat.com>

* common/new-op.c: Add comment about -fsanitize=address.

gdb/ChangeLog
gdb/common/new-op.c

index 40fab9b..c2a8579 100644 (file)
@@ -1,5 +1,9 @@
 2016-10-25  Pedro Alves  <palves@redhat.com>
 
+       * common/new-op.c: Add comment about -fsanitize=address.
+
+2016-10-25  Pedro Alves  <palves@redhat.com>
+
        * common/common-defs.h (__STDC_CONSTANT_MACROS)
        (__STDC_LIMIT_MACROS): Define.
 
index f04c5cb..1eb4f94 100644 (file)
    new-handler function instead (std::set_new_handler) because we want
    to catch allocation errors from within global constructors too.
 
+   Skip overriding if building with -fsanitize=address though.
+   Address sanitizer wants to override operator new/delete too in
+   order to detect malloc+delete and new+free mismatches.  Our
+   versions would mask out ASan's, with the result of losing that
+   useful mismatch detection.
+
    Note that C++ implementations could either have their throw
    versions call the nothrow versions (libstdc++), or the other way
    around (clang/libc++).  For that reason, we replace both throw and