This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: [RFC] Cygwin libstdc++ plan (operator new/delete replacement)
- From: Christopher Faylor <cgf-use-the-mailinglist-please at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Fri, 2 Oct 2009 01:27:17 -0400
- Subject: Re: [RFC] Cygwin libstdc++ plan (operator new/delete replacement)
- References: <4A47746C.5040407@gmail.com> <20090628170827.GA417@ednor.casa.cgf.cx> <4A47ACC7.6090505@gmail.com> <20090628183857.GC417@ednor.casa.cgf.cx> <4AC52645.1030602@gmail.com> <20091002045822.GA21121@ednor.casa.cgf.cx> <4AC59029.6000706@gmail.com>
- Reply-to: cygwin-developers at cygwin dot com
On Fri, Oct 02, 2009 at 06:31:21AM +0100, Dave Korn wrote:
>Christopher Faylor wrote:
>>Why isn't this handled by change #1.362 to dcrt0.cc?
>
>It is! I was using -61 instead of the snapshot.
>
>>That should always set cxx_malloc unconditionally (which, now that I
>>think of it, might not always be what you want either).
>
>Yeh, I'd like to replace these hacks with something that copies back
>the updated entries if it finds the malloc stuct pointer has been
>redirected, and then resets the pointer if it has been either nulled or
>redirected. Also remove the hack in cygwin_external;
Actually, I take it back. Setting this to cxx_malloc is fine since it
is the contents of that structure that are supposed to be changed, not
the pointer itself. The cxx_malloc pointer should essentially be
read-only and should never change.
I don't see how you can remove the cygwin_external call as long as there
are dlls out there which reset this field in cygwin_crt0.cc. You just
need one problem dll and this causes all sorts of bad problems when
loading other dlls.
cgf