* external.cc (cygwin_internal): Add hack to always reset cxx_malloc to proper
value. * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Relocate wayward comment.
This commit is contained in:
parent
50a8741474
commit
adfbdcdb07
@ -1,3 +1,11 @@
|
|||||||
|
2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
|
|
||||||
|
* external.cc (cygwin_internal): Add hack to always reset cxx_malloc to
|
||||||
|
proper value.
|
||||||
|
|
||||||
|
* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Relocate wayward
|
||||||
|
comment.
|
||||||
|
|
||||||
2009-09-19 Christopher Faylor <me+cygwin@cgf.cx>
|
2009-09-19 Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
|
|
||||||
* exceptions.cc (sigpacket::process): Explicitly set thread-specific
|
* exceptions.cc (sigpacket::process): Explicitly set thread-specific
|
||||||
|
@ -195,6 +195,11 @@ cygwin_internal (cygwin_getinfo_types t, ...)
|
|||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
case CW_USER_DATA:
|
case CW_USER_DATA:
|
||||||
|
/* This is a kludge to work around a version of _cygwin_common_crt0
|
||||||
|
which overwrote the cxx_malloc field with the local DLL copy.
|
||||||
|
Hilarity ensues if the DLL is not loaded like while the process
|
||||||
|
is forking. */
|
||||||
|
__cygwin_user_data.cxx_malloc = &default_cygwin_cxx_malloc;
|
||||||
return (DWORD) &__cygwin_user_data;
|
return (DWORD) &__cygwin_user_data;
|
||||||
|
|
||||||
case CW_PERFILE:
|
case CW_PERFILE:
|
||||||
|
@ -68,8 +68,6 @@ struct per_process_cxx_malloc __cygwin_cxx_malloc =
|
|||||||
int __stdcall
|
int __stdcall
|
||||||
_cygwin_crt0_common (MainFunc f, per_process *u)
|
_cygwin_crt0_common (MainFunc f, per_process *u)
|
||||||
{
|
{
|
||||||
/* This is used to record what the initial sp was. The value is needed
|
|
||||||
when copying the parent's stack to the child during a fork. */
|
|
||||||
per_process *newu = (per_process *) cygwin_internal (CW_USER_DATA);
|
per_process *newu = (per_process *) cygwin_internal (CW_USER_DATA);
|
||||||
bool uwasnull;
|
bool uwasnull;
|
||||||
|
|
||||||
@ -110,6 +108,9 @@ _cygwin_crt0_common (MainFunc f, per_process *u)
|
|||||||
u->premain[2] = cygwin_premain2;
|
u->premain[2] = cygwin_premain2;
|
||||||
u->premain[3] = cygwin_premain3;
|
u->premain[3] = cygwin_premain3;
|
||||||
u->fmode_ptr = &_fmode;
|
u->fmode_ptr = &_fmode;
|
||||||
|
|
||||||
|
/* This is used to record what the initial sp was. The value is needed
|
||||||
|
when copying the parent's stack to the child during a fork. */
|
||||||
u->initial_sp = (char *) __builtin_frame_address (1);
|
u->initial_sp = (char *) __builtin_frame_address (1);
|
||||||
|
|
||||||
/* Remember whatever the user linked his application with - or
|
/* Remember whatever the user linked his application with - or
|
||||||
|
Loading…
x
Reference in New Issue
Block a user