new c++ new/delete overloads need wrapping?

Jeremy Drake cygwin@jdrake.com
Fri Jul 25 05:41:04 GMT 2025


I was looking into C++ new/delete --wrap linker options, and noticed that
in a quick test the wrapper for delete was not being called. This was
because delete is being compiled to _ZdlPvm and that symbol is not present
in the --wrap arguments in the GCC spec, and is not part of the
per_process_cxx_malloc struct. I'm not seeing anything in that cxx_malloc
struct like a size or version number, so I don't know a good way to
extend it given that it is part of the startup code linked into every
binary.
Here are the current symbols from libc++ and how they demangle:
_ZdaPv	operator delete[](void*)
_ZdaPvm	operator delete[](void*, unsigned long)
_ZdaPvmSt11align_val_t	operator delete[](void*, unsigned long, std::align_val_t)
_ZdaPvRKSt9nothrow_t	operator delete[](void*, std::nothrow_t const&)
_ZdaPvSt11align_val_t	operator delete[](void*, std::align_val_t)
_ZdaPvSt11align_val_tRKSt9nothrow_t	operator delete[](void*, std::align_val_t, std::nothrow_t const&)
_ZdlPv	operator delete(void*)
_ZdlPvm	operator delete(void*, unsigned long)
_ZdlPvmSt11align_val_t	operator delete(void*, unsigned long, std::align_val_t)
_ZdlPvRKSt9nothrow_t	operator delete(void*, std::nothrow_t const&)
_ZdlPvSt11align_val_t	operator delete(void*, std::align_val_t)
_ZdlPvSt11align_val_tRKSt9nothrow_t	operator delete(void*, std::align_val_t, std::nothrow_t const&)
_Znam	operator new[](unsigned long)
_ZnamRKSt9nothrow_t	operator new[](unsigned long, std::nothrow_t const&)
_ZnamSt11align_val_t	operator new[](unsigned long, std::align_val_t)
_ZnamSt11align_val_tRKSt9nothrow_t	operator new[](unsigned long, std::align_val_t, std::nothrow_t const&)
_Znwm	operator new(unsigned long)
_ZnwmRKSt9nothrow_t	operator new(unsigned long, std::nothrow_t const&)
_ZnwmSt11align_val_t	operator new(unsigned long, std::align_val_t)
_ZnwmSt11align_val_tRKSt9nothrow_t	operator new(unsigned long, std::align_val_t, std::nothrow_t const&)


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /