new c++ new/delete overloads need wrapping?
Jeremy Drake
cygwin@jdrake.com
Tue Jul 29 21:34:00 GMT 2025
On 2025年7月29日, Jeremy Drake via Cygwin wrote:
> On 2025年7月29日, Corinna Vinschen via Cygwin wrote:
>> > On Jul 28 12:57, Jeremy Drake via Cygwin wrote:
> > > On 2025年7月28日, Corinna Vinschen via Cygwin wrote:
> > > > Unless there's some automatism referencing the __wrap_X functions even
> > > > if the --wrap option isn't present, I don't see this incompatibility as
> > > > much of a problem. We're trying to maintain backward compat, but that
> > > > doesn't mean an executable created under and for a newer Cygwin DLL
> > > > has to run under an older DLL.
> > >
> > > OK, then the patch adds support for wrapping these functions ends up in a
> > > stable Cygwin release, then GCC is updated to add additional --wrap
> > > parameters for them, and that GCC and binaries it produces will no longer
> > > be compatible with older Cygwin DLLs.
> >
> > *iff* the --wrap option is used with functions not provided by older
> > DLLs, right? Not for some reason generally incompatible, I hope...
>> Correct. However, I expect that to be very common for C++ binaries,
> because it seems like the C++14 sized delete is now used by default for
> ordinary (non-array) delete.
Oh, and you know what else uses these symbols... libstdc++-6.dll.
And the larger cygwin_cxx_malloc struct will mean that binaries that try
to fill it out will need a newer DLL version with the larger struct
(libstdc++-6.dll being notable there as it provides the implementations
generally).
More information about the Cygwin
mailing list