Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-08-22 13:21:33 +0400
committerCorinna Vinschen <corinna@vinschen.de>2014-08-22 13:21:33 +0400
commit3f3bd10104550243781f0b4d9248975e35d91ac7 (patch)
treec7ac2839d2c3da2321bd9979a1574667ed39bc26 /winsup/cygwin/tlsoffsets.h
parent33ed7bb5bc2cb41259df064229968933d9c898ca (diff)
* Throughout, use __try/__except/__endtry blocks, rather than myfault
handler. * cygtls.cc (_cygtls::remove): Accommodate the fact that pathbufs has been moved from _local_storage to _cygtls. * cygtls.h (class tls_pathbuf): Add comment to hint to gendef usage of counters. Change type of counters to uint32_t for clarity. Remove _cygtls as friend class. (struct _local_storage): Move pathbufs from here... (struct _cygtls): ...to here, allowing to access it from _sigbe. (class san): Only define on 32 bit. Remove errno, _c_cnt and _w_cnt members. (san::setup): Drop parameter. Don't initialize removed members. (san::leave): Don't set removed members. (class myfault): Only define on 32 bit. (myfault::faulted): Only keep implementation not taking any parameter. Drop argument in call to sebastian.setup. (__try/__leave/__except/__endtry): Implement to support real SEH. For now stick to SJLJ on 32 bit. * dcrt0.cc (dll_crt0_0): Drop 64 bit call to exception::install_myfault_handler. * exception.h (exception_handler): Define with EXCEPTION_DISPOSITION as return type. (PDISPATCHER_CONTEXT): Define as void * on 32 bit. Define as pointer to _DISPATCHER_CONTEXT on 64 bit. (class exception): Define separately for 32 and 64 bit. (exception::myfault): Add handler for myfault SEH handling on 64 bit. (exception::exception): Fix mangled method name to account for change in type of last parameter. (exception::install_myfault_handler): Remove. * exceptions.cc (exception::myfault_handle): Remove. (exception::myfault): New SEH handler for 64 bit. * gendef (_sigbe): Set tls_pathbuf counters to 0 explicitely when returning to the caller. * ntdll.h: Move a comment to a better place. (struct _SCOPE_TABLE): Define on 64 bit. * thread.cc (verifyable_object_isvalid): Remove gcc 4.7 workaround. * tls_pbuf.cc (tls_pbuf): Fix to accommodate new place of pathbufs. (tls_pathbuf::destroy): Change type of loop variables to uint32_t. * tls_pbuf.h (class tmp_pathbuf): Change type of buffer counters to uint32_t. Accommodate new place of pathbufs. * tlsoffsets.h: Regenerate. * tlsoffsets64.h: Regenerate.
Diffstat (limited to 'winsup/cygwin/tlsoffsets.h')
-rw-r--r--winsup/cygwin/tlsoffsets.h156
1 files changed, 80 insertions, 76 deletions
diff --git a/winsup/cygwin/tlsoffsets.h b/winsup/cygwin/tlsoffsets.h
index 572dfb7b7..308da2d78 100644
--- a/winsup/cygwin/tlsoffsets.h
+++ b/winsup/cygwin/tlsoffsets.h
@@ -3,44 +3,46 @@
//; $tls::start_offset = -12700;
//; $tls::locals = -12700;
//; $tls::plocals = 0;
-//; $tls::local_clib = -10980;
-//; $tls::plocal_clib = 1720;
-//; $tls::__dontuse = -10980;
-//; $tls::p__dontuse = 1720;
-//; $tls::func = -9892;
-//; $tls::pfunc = 2808;
-//; $tls::saved_errno = -9888;
-//; $tls::psaved_errno = 2812;
-//; $tls::sa_flags = -9884;
-//; $tls::psa_flags = 2816;
-//; $tls::oldmask = -9880;
-//; $tls::poldmask = 2820;
-//; $tls::deltamask = -9876;
-//; $tls::pdeltamask = 2824;
-//; $tls::errno_addr = -9872;
-//; $tls::perrno_addr = 2828;
-//; $tls::sigmask = -9868;
-//; $tls::psigmask = 2832;
-//; $tls::sigwait_mask = -9864;
-//; $tls::psigwait_mask = 2836;
-//; $tls::sigwait_info = -9860;
-//; $tls::psigwait_info = 2840;
-//; $tls::signal_arrived = -9856;
-//; $tls::psignal_arrived = 2844;
-//; $tls::will_wait_for_signal = -9852;
-//; $tls::pwill_wait_for_signal = 2848;
-//; $tls::thread_context = -9848;
-//; $tls::pthread_context = 2852;
-//; $tls::thread_id = -9636;
-//; $tls::pthread_id = 3064;
-//; $tls::infodata = -9632;
-//; $tls::pinfodata = 3068;
-//; $tls::tid = -9484;
-//; $tls::ptid = 3216;
-//; $tls::_ctinfo = -9480;
-//; $tls::p_ctinfo = 3220;
-//; $tls::andreas = -9476;
-//; $tls::pandreas = 3224;
+//; $tls::local_clib = -11388;
+//; $tls::plocal_clib = 1312;
+//; $tls::__dontuse = -11388;
+//; $tls::p__dontuse = 1312;
+//; $tls::func = -10300;
+//; $tls::pfunc = 2400;
+//; $tls::saved_errno = -10296;
+//; $tls::psaved_errno = 2404;
+//; $tls::sa_flags = -10292;
+//; $tls::psa_flags = 2408;
+//; $tls::oldmask = -10288;
+//; $tls::poldmask = 2412;
+//; $tls::deltamask = -10284;
+//; $tls::pdeltamask = 2416;
+//; $tls::errno_addr = -10280;
+//; $tls::perrno_addr = 2420;
+//; $tls::sigmask = -10276;
+//; $tls::psigmask = 2424;
+//; $tls::sigwait_mask = -10272;
+//; $tls::psigwait_mask = 2428;
+//; $tls::sigwait_info = -10268;
+//; $tls::psigwait_info = 2432;
+//; $tls::signal_arrived = -10264;
+//; $tls::psignal_arrived = 2436;
+//; $tls::will_wait_for_signal = -10260;
+//; $tls::pwill_wait_for_signal = 2440;
+//; $tls::thread_context = -10256;
+//; $tls::pthread_context = 2444;
+//; $tls::thread_id = -10044;
+//; $tls::pthread_id = 2656;
+//; $tls::infodata = -10040;
+//; $tls::pinfodata = 2660;
+//; $tls::tid = -9892;
+//; $tls::ptid = 2808;
+//; $tls::_ctinfo = -9888;
+//; $tls::p_ctinfo = 2812;
+//; $tls::andreas = -9884;
+//; $tls::pandreas = 2816;
+//; $tls::pathbufs = -9880;
+//; $tls::ppathbufs = 2820;
//; $tls::wq = -9472;
//; $tls::pwq = 3228;
//; $tls::sig = -9444;
@@ -61,44 +63,46 @@
#define tls_locals (-12700)
#define tls_plocals (0)
-#define tls_local_clib (-10980)
-#define tls_plocal_clib (1720)
-#define tls___dontuse (-10980)
-#define tls_p__dontuse (1720)
-#define tls_func (-9892)
-#define tls_pfunc (2808)
-#define tls_saved_errno (-9888)
-#define tls_psaved_errno (2812)
-#define tls_sa_flags (-9884)
-#define tls_psa_flags (2816)
-#define tls_oldmask (-9880)
-#define tls_poldmask (2820)
-#define tls_deltamask (-9876)
-#define tls_pdeltamask (2824)
-#define tls_errno_addr (-9872)
-#define tls_perrno_addr (2828)
-#define tls_sigmask (-9868)
-#define tls_psigmask (2832)
-#define tls_sigwait_mask (-9864)
-#define tls_psigwait_mask (2836)
-#define tls_sigwait_info (-9860)
-#define tls_psigwait_info (2840)
-#define tls_signal_arrived (-9856)
-#define tls_psignal_arrived (2844)
-#define tls_will_wait_for_signal (-9852)
-#define tls_pwill_wait_for_signal (2848)
-#define tls_thread_context (-9848)
-#define tls_pthread_context (2852)
-#define tls_thread_id (-9636)
-#define tls_pthread_id (3064)
-#define tls_infodata (-9632)
-#define tls_pinfodata (3068)
-#define tls_tid (-9484)
-#define tls_ptid (3216)
-#define tls__ctinfo (-9480)
-#define tls_p_ctinfo (3220)
-#define tls_andreas (-9476)
-#define tls_pandreas (3224)
+#define tls_local_clib (-11388)
+#define tls_plocal_clib (1312)
+#define tls___dontuse (-11388)
+#define tls_p__dontuse (1312)
+#define tls_func (-10300)
+#define tls_pfunc (2400)
+#define tls_saved_errno (-10296)
+#define tls_psaved_errno (2404)
+#define tls_sa_flags (-10292)
+#define tls_psa_flags (2408)
+#define tls_oldmask (-10288)
+#define tls_poldmask (2412)
+#define tls_deltamask (-10284)
+#define tls_pdeltamask (2416)
+#define tls_errno_addr (-10280)
+#define tls_perrno_addr (2420)
+#define tls_sigmask (-10276)
+#define tls_psigmask (2424)
+#define tls_sigwait_mask (-10272)
+#define tls_psigwait_mask (2428)
+#define tls_sigwait_info (-10268)
+#define tls_psigwait_info (2432)
+#define tls_signal_arrived (-10264)
+#define tls_psignal_arrived (2436)
+#define tls_will_wait_for_signal (-10260)
+#define tls_pwill_wait_for_signal (2440)
+#define tls_thread_context (-10256)
+#define tls_pthread_context (2444)
+#define tls_thread_id (-10044)
+#define tls_pthread_id (2656)
+#define tls_infodata (-10040)
+#define tls_pinfodata (2660)
+#define tls_tid (-9892)
+#define tls_ptid (2808)
+#define tls__ctinfo (-9888)
+#define tls_p_ctinfo (2812)
+#define tls_andreas (-9884)
+#define tls_pandreas (2816)
+#define tls_pathbufs (-9880)
+#define tls_ppathbufs (2820)
#define tls_wq (-9472)
#define tls_pwq (3228)
#define tls_sig (-9444)