new c++ new/delete overloads need wrapping?

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Jul 30 11:03:19 GMT 2025


On Jul 29 14:34, Jeremy Drake via Cygwin wrote:
> 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).

Yeah, so we can only do this after we updated Cygwin.
Maybe we only want that with 3.7, it sounds like a major version
kind of breakage.
Corinna


More information about the Cygwin mailing list

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