gdbsupport/ 2021-05-02 Jan Kratochvil * new-op.cc (opertor delete 6x): New. diff --git a/gdbsupport/new-op.cc b/gdbsupport/new-op.cc index 5ab19621a43..f70d3ef191d 100644 --- a/gdbsupport/new-op.cc +++ b/gdbsupport/new-op.cc @@ -92,4 +92,44 @@ operator new[] (std::size_t sz, const std::nothrow_t&) noexcept { return ::operator new (sz, std::nothrow); } + +/* Define also operators delete as one can LD_PRELOAD=libasan.so.* + without recompiling the program with -fsanitize=address . */ + +void +operator delete (void *p) +{ + free (p); +} + +void +operator delete (void *p, const std::nothrow_t&) noexcept +{ + return ::operator delete (p); +} + +void +operator delete (void *p, std::size_t) noexcept +{ + return ::operator delete (p, std::nothrow); +} + +void +operator delete[] (void *p) +{ + return ::operator delete (p); +} + +void +operator delete[] (void *p, const std::nothrow_t&) noexcept +{ + return ::operator delete (p, std::nothrow); +} + +void +operator delete[] (void *p, std::size_t) noexcept +{ + return ::operator delete[] (p, std::nothrow); +} + #endif