* cygtls.h (_cygtls::init_exception_handler): Eliminate argument.

(_cygtls::andreas): Convert to a pointer.
(san): Convert to a real class with methods.  Use a linked list to keep track
of previous handlers on the "stack".
(myfault): Rewrite to use new san class rather than calling directly into
_cygtls.
* cygtls.cc (_cygtls::init_exception_handler): Just assume that we're always
using the standard exception handler.
(_cygtls::init_thread): Reflect loss of argument to init_exception_handler.
* dcrt0.cc (dll_crt0_1): Ditto.
* dfcn.cc (dlopen): Ditto.
(dlclose): Reset the exception handler after FreeLibrary.
* dll_init.cc (dll_list::detach): Make sure that the exception handler is
initialized before calling destructors.
* exceptions.cc (_cygtls::handle_exceptions): Accommodate new andreas pointer.
* thread.cc (verifyable_object_isvalid): Pass objectptr to faulted for explicit
NULL pointer checking.
* tlsoffsets.h: Regenerate.
This commit is contained in:
Christopher Faylor
2010-02-26 21:36:31 +00:00
parent b6336c95b4
commit d5d5bf4dd5
9 changed files with 125 additions and 89 deletions

View File

@@ -1,6 +1,6 @@
//;# autogenerated: Do not edit.
//; $tls::sizeof__cygtls = 4324;
//; $tls::sizeof__cygtls = 4312;
//; $tls::func = -12700;
//; $tls::pfunc = 0;
//; $tls::el = -12696;
@@ -43,22 +43,22 @@
//; $tls::p_ctinfo = 3228;
//; $tls::andreas = -9468;
//; $tls::pandreas = 3232;
//; $tls::wq = -9452;
//; $tls::pwq = 3248;
//; $tls::sig = -9424;
//; $tls::psig = 3276;
//; $tls::incyg = -9420;
//; $tls::pincyg = 3280;
//; $tls::spinning = -9416;
//; $tls::pspinning = 3284;
//; $tls::stacklock = -9412;
//; $tls::pstacklock = 3288;
//; $tls::stackptr = -9408;
//; $tls::pstackptr = 3292;
//; $tls::stack = -9404;
//; $tls::pstack = 3296;
//; $tls::initialized = -8380;
//; $tls::pinitialized = 4320;
//; $tls::wq = -9464;
//; $tls::pwq = 3236;
//; $tls::sig = -9436;
//; $tls::psig = 3264;
//; $tls::incyg = -9432;
//; $tls::pincyg = 3268;
//; $tls::spinning = -9428;
//; $tls::pspinning = 3272;
//; $tls::stacklock = -9424;
//; $tls::pstacklock = 3276;
//; $tls::stackptr = -9420;
//; $tls::pstackptr = 3280;
//; $tls::stack = -9416;
//; $tls::pstack = 3284;
//; $tls::initialized = -8392;
//; $tls::pinitialized = 4308;
//; __DATA__
#define tls_func (-12700)
@@ -103,19 +103,19 @@
#define tls_p_ctinfo (3228)
#define tls_andreas (-9468)
#define tls_pandreas (3232)
#define tls_wq (-9452)
#define tls_pwq (3248)
#define tls_sig (-9424)
#define tls_psig (3276)
#define tls_incyg (-9420)
#define tls_pincyg (3280)
#define tls_spinning (-9416)
#define tls_pspinning (3284)
#define tls_stacklock (-9412)
#define tls_pstacklock (3288)
#define tls_stackptr (-9408)
#define tls_pstackptr (3292)
#define tls_stack (-9404)
#define tls_pstack (3296)
#define tls_initialized (-8380)
#define tls_pinitialized (4320)
#define tls_wq (-9464)
#define tls_pwq (3236)
#define tls_sig (-9436)
#define tls_psig (3264)
#define tls_incyg (-9432)
#define tls_pincyg (3268)
#define tls_spinning (-9428)
#define tls_pspinning (3272)
#define tls_stacklock (-9424)
#define tls_pstacklock (3276)
#define tls_stackptr (-9420)
#define tls_pstackptr (3280)
#define tls_stack (-9416)
#define tls_pstack (3284)
#define tls_initialized (-8392)
#define tls_pinitialized (4308)