diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-08-22 13:21:33 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-08-22 13:21:33 +0400 |
commit | 3f3bd10104550243781f0b4d9248975e35d91ac7 (patch) | |
tree | c7ac2839d2c3da2321bd9979a1574667ed39bc26 /winsup/cygwin/tlsoffsets.h | |
parent | 33ed7bb5bc2cb41259df064229968933d9c898ca (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.h | 156 |
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) |