* autoload.cc (SetThreadStackGuarantee): Import.
        * cygtls.h (struct _cygtls): Replace thread_context with a ucontext_t
        called context.
        * exceptions.cc (exception::handle): Exit from process via signal_exit
        in case sig_send returns from handling a stack overflow SIGSEGV.
        Explain why.
        (dumpstack_overflow_wrapper): Thread wrapper to create a stackdump
        from another thread.
        (signal_exit): Fix argument list to reflect three-arg signal handler.
        In case we have to create a stackdump for a stack overflow condition,
        do so from a separate thread.  Explain why.
        (sigpacket::process): Don't run signal_exit on alternate stack.
        (altstack_wrapper): Wrapper function to do stack correction when
        calling the signal handler on an alternate stack to handle a stack
        overflow.  Make sure to have lots of comments.
        (_cygtls::call_signal_handler): Drop local context variable to reduce
        stack pressure.  Use this->context instead.  Change inline assembler
        to call altstack_wrapper.
        (_cygtls::signal_debugger): Accommodate aforementioned change to
        struct _cygtls.
        * tlsoffset.h: Regenerate.
        * tlsoffset64.h: Regenerate.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
		
	
		
			
				
	
	
		
			126 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
//;# autogenerated:  Do not edit.
 | 
						|
 | 
						|
//; $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::altstack = -9860;
 | 
						|
//; $tls::paltstack = 2840;
 | 
						|
//; $tls::sigwait_info = -9848;
 | 
						|
//; $tls::psigwait_info = 2852;
 | 
						|
//; $tls::signal_arrived = -9844;
 | 
						|
//; $tls::psignal_arrived = 2856;
 | 
						|
//; $tls::will_wait_for_signal = -9840;
 | 
						|
//; $tls::pwill_wait_for_signal = 2860;
 | 
						|
//; $tls::__align = -9836;
 | 
						|
//; $tls::p__align = 2864;
 | 
						|
//; $tls::context = -9832;
 | 
						|
//; $tls::pcontext = 2868;
 | 
						|
//; $tls::thread_id = -9084;
 | 
						|
//; $tls::pthread_id = 3616;
 | 
						|
//; $tls::infodata = -9080;
 | 
						|
//; $tls::pinfodata = 3620;
 | 
						|
//; $tls::tid = -8932;
 | 
						|
//; $tls::ptid = 3768;
 | 
						|
//; $tls::_ctinfo = -8928;
 | 
						|
//; $tls::p_ctinfo = 3772;
 | 
						|
//; $tls::andreas = -8924;
 | 
						|
//; $tls::pandreas = 3776;
 | 
						|
//; $tls::wq = -8920;
 | 
						|
//; $tls::pwq = 3780;
 | 
						|
//; $tls::sig = -8892;
 | 
						|
//; $tls::psig = 3808;
 | 
						|
//; $tls::incyg = -8888;
 | 
						|
//; $tls::pincyg = 3812;
 | 
						|
//; $tls::spinning = -8884;
 | 
						|
//; $tls::pspinning = 3816;
 | 
						|
//; $tls::stacklock = -8880;
 | 
						|
//; $tls::pstacklock = 3820;
 | 
						|
//; $tls::stackptr = -8876;
 | 
						|
//; $tls::pstackptr = 3824;
 | 
						|
//; $tls::stack = -8872;
 | 
						|
//; $tls::pstack = 3828;
 | 
						|
//; $tls::initialized = -7848;
 | 
						|
//; $tls::pinitialized = 4852;
 | 
						|
//; __DATA__
 | 
						|
 | 
						|
#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_altstack (-9860)
 | 
						|
#define tls_paltstack (2840)
 | 
						|
#define tls_sigwait_info (-9848)
 | 
						|
#define tls_psigwait_info (2852)
 | 
						|
#define tls_signal_arrived (-9844)
 | 
						|
#define tls_psignal_arrived (2856)
 | 
						|
#define tls_will_wait_for_signal (-9840)
 | 
						|
#define tls_pwill_wait_for_signal (2860)
 | 
						|
#define tls___align (-9836)
 | 
						|
#define tls_p__align (2864)
 | 
						|
#define tls_context (-9832)
 | 
						|
#define tls_pcontext (2868)
 | 
						|
#define tls_thread_id (-9084)
 | 
						|
#define tls_pthread_id (3616)
 | 
						|
#define tls_infodata (-9080)
 | 
						|
#define tls_pinfodata (3620)
 | 
						|
#define tls_tid (-8932)
 | 
						|
#define tls_ptid (3768)
 | 
						|
#define tls__ctinfo (-8928)
 | 
						|
#define tls_p_ctinfo (3772)
 | 
						|
#define tls_andreas (-8924)
 | 
						|
#define tls_pandreas (3776)
 | 
						|
#define tls_wq (-8920)
 | 
						|
#define tls_pwq (3780)
 | 
						|
#define tls_sig (-8892)
 | 
						|
#define tls_psig (3808)
 | 
						|
#define tls_incyg (-8888)
 | 
						|
#define tls_pincyg (3812)
 | 
						|
#define tls_spinning (-8884)
 | 
						|
#define tls_pspinning (3816)
 | 
						|
#define tls_stacklock (-8880)
 | 
						|
#define tls_pstacklock (3820)
 | 
						|
#define tls_stackptr (-8876)
 | 
						|
#define tls_pstackptr (3824)
 | 
						|
#define tls_stack (-8872)
 | 
						|
#define tls_pstack (3828)
 | 
						|
#define tls_initialized (-7848)
 | 
						|
#define tls_pinitialized (4852)
 |