diff options
author | Christopher Faylor <me@cgf.cx> | 2006-05-25 02:33:13 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-05-25 02:33:13 +0000 |
commit | 38229bcdcf45221857163f39d865d1d5d113a9b7 (patch) | |
tree | 4a525ef2515e8ce1715ea075e12d34a55c198390 /winsup/cygwin/cygtls.h | |
parent | 99fc5e10f338e668b85288366e03727157f23af5 (diff) | |
download | newlib-38229bcdcf45221857163f39d865d1d5d113a9b7.zip newlib-38229bcdcf45221857163f39d865d1d5d113a9b7.tar.gz newlib-38229bcdcf45221857163f39d865d1d5d113a9b7.tar.bz2 |
* cygtls.cc (_cygtls::call): Call call2 using _my_tls.
(_cygtls::init_exception_handler): Always replace existing exception handler
with cygwin exception handler.
* cygtls.h (_cygtls::call2): Remove static designation.
* dcrto.cc (dll_crt0_1): Define in a way that allows calling via _cygtls::call.
(_initialize_main_tls): Delete.
(_dll_crt0): Call dll_crt0_1 via cygtls::call. Set _main_tls here.
* external.cc (cygwin_internal): Implement CW_CYGTLS_PADSIZE.
* include/sys/cygwin.h (CW_CYGTLS_PADSIZE): Define.
* tlsoffsets.h: Regenerate.
Diffstat (limited to 'winsup/cygwin/cygtls.h')
-rw-r--r-- | winsup/cygwin/cygtls.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h index fb34df2..6379f8c 100644 --- a/winsup/cygwin/cygtls.h +++ b/winsup/cygwin/cygtls.h @@ -138,6 +138,7 @@ typedef __uint32_t __stack_t; struct _cygtls { void (*func) /*gentls_offsets*/(int)/*gentls_offsets*/; + exception_list el; int saved_errno; int sa_flags; sigset_t oldmask; @@ -159,7 +160,6 @@ struct _cygtls }; struct _local_storage locals; class cygthread *_ctinfo; - exception_list el; san andreas; waitq wq; struct _cygtls *prev, *next; @@ -176,7 +176,7 @@ struct _cygtls static void init (); void init_thread (void *, DWORD (*) (void *, void *)); static void call (DWORD (*) (void *, void *), void *); - static void call2 (DWORD (*) (void *, void *), void *, void *) __attribute__ ((regparm (3))); + void call2 (DWORD (*) (void *, void *), void *, void *) __attribute__ ((regparm (3))); static struct _cygtls *find_tls (int sig); void remove (DWORD); void push (__stack_t) __attribute__ ((regparm (2))); |