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 00:58:22 -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>
- Reply-to: cygwin-developers at cygwin dot com
On Thu, Oct 01, 2009 at 10:59:33PM +0100, Dave Korn wrote:
>Christopher Faylor wrote:
>> On Sun, Jun 28, 2009 at 06:47:51PM +0100, Dave Korn wrote:
>
>>>>> Index: winsup/cygwin/globals.cc
>
>>>>> - DWORD unused[7];
>>>>> + DWORD unused[6];
>>>>> + struct per_process_cxx_malloc *cxx_malloc;
>
>> I thought there was precedent for putting it first but the unused field
>> has oscillated for years. How about if we just leave it alone and
>> repurpose the forkee field?
>
> Then it will be zeroed out on startup by old executables:
>
>> @@ -64,8 +96,6 @@
>> else
>> u->impure_ptr_ptr = &_impure_ptr; /* Older DLLs need this. */
>>
>> - u->forkee = 0; /* This should only be set in dcrt0.cc
>> - when the process is actually forked */
>> u->main = f;
>>
>> /* These functions are executed prior to main. They are just stubs unless the
>
> Argh! Patch to follow shortly :-)
Why isn't this handled by change #1.362 to dcrt0.cc? That should always
set cxx_malloc unconditionally (which, now that I think of it, might not
always be what you want either).
cgf