2cd7eb7f60
* 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 = -12800;
|
|
//; $tls::locals = -12800;
|
|
//; $tls::plocals = 0;
|
|
//; $tls::local_clib = -10624;
|
|
//; $tls::plocal_clib = 2176;
|
|
//; $tls::__dontuse = -10624;
|
|
//; $tls::p__dontuse = 2176;
|
|
//; $tls::func = -8736;
|
|
//; $tls::pfunc = 4064;
|
|
//; $tls::saved_errno = -8728;
|
|
//; $tls::psaved_errno = 4072;
|
|
//; $tls::sa_flags = -8724;
|
|
//; $tls::psa_flags = 4076;
|
|
//; $tls::oldmask = -8720;
|
|
//; $tls::poldmask = 4080;
|
|
//; $tls::deltamask = -8712;
|
|
//; $tls::pdeltamask = 4088;
|
|
//; $tls::errno_addr = -8704;
|
|
//; $tls::perrno_addr = 4096;
|
|
//; $tls::sigmask = -8696;
|
|
//; $tls::psigmask = 4104;
|
|
//; $tls::sigwait_mask = -8688;
|
|
//; $tls::psigwait_mask = 4112;
|
|
//; $tls::altstack = -8680;
|
|
//; $tls::paltstack = 4120;
|
|
//; $tls::sigwait_info = -8656;
|
|
//; $tls::psigwait_info = 4144;
|
|
//; $tls::signal_arrived = -8648;
|
|
//; $tls::psignal_arrived = 4152;
|
|
//; $tls::will_wait_for_signal = -8640;
|
|
//; $tls::pwill_wait_for_signal = 4160;
|
|
//; $tls::__align = -8632;
|
|
//; $tls::p__align = 4168;
|
|
//; $tls::context = -8624;
|
|
//; $tls::pcontext = 4176;
|
|
//; $tls::thread_id = -7328;
|
|
//; $tls::pthread_id = 5472;
|
|
//; $tls::infodata = -7324;
|
|
//; $tls::pinfodata = 5476;
|
|
//; $tls::tid = -7176;
|
|
//; $tls::ptid = 5624;
|
|
//; $tls::_ctinfo = -7168;
|
|
//; $tls::p_ctinfo = 5632;
|
|
//; $tls::andreas = -7160;
|
|
//; $tls::pandreas = 5640;
|
|
//; $tls::wq = -7152;
|
|
//; $tls::pwq = 5648;
|
|
//; $tls::sig = -7104;
|
|
//; $tls::psig = 5696;
|
|
//; $tls::incyg = -7100;
|
|
//; $tls::pincyg = 5700;
|
|
//; $tls::spinning = -7096;
|
|
//; $tls::pspinning = 5704;
|
|
//; $tls::stacklock = -7092;
|
|
//; $tls::pstacklock = 5708;
|
|
//; $tls::stackptr = -7088;
|
|
//; $tls::pstackptr = 5712;
|
|
//; $tls::stack = -7080;
|
|
//; $tls::pstack = 5720;
|
|
//; $tls::initialized = -5032;
|
|
//; $tls::pinitialized = 7768;
|
|
//; __DATA__
|
|
|
|
#define tls_locals (-12800)
|
|
#define tls_plocals (0)
|
|
#define tls_local_clib (-10624)
|
|
#define tls_plocal_clib (2176)
|
|
#define tls___dontuse (-10624)
|
|
#define tls_p__dontuse (2176)
|
|
#define tls_func (-8736)
|
|
#define tls_pfunc (4064)
|
|
#define tls_saved_errno (-8728)
|
|
#define tls_psaved_errno (4072)
|
|
#define tls_sa_flags (-8724)
|
|
#define tls_psa_flags (4076)
|
|
#define tls_oldmask (-8720)
|
|
#define tls_poldmask (4080)
|
|
#define tls_deltamask (-8712)
|
|
#define tls_pdeltamask (4088)
|
|
#define tls_errno_addr (-8704)
|
|
#define tls_perrno_addr (4096)
|
|
#define tls_sigmask (-8696)
|
|
#define tls_psigmask (4104)
|
|
#define tls_sigwait_mask (-8688)
|
|
#define tls_psigwait_mask (4112)
|
|
#define tls_altstack (-8680)
|
|
#define tls_paltstack (4120)
|
|
#define tls_sigwait_info (-8656)
|
|
#define tls_psigwait_info (4144)
|
|
#define tls_signal_arrived (-8648)
|
|
#define tls_psignal_arrived (4152)
|
|
#define tls_will_wait_for_signal (-8640)
|
|
#define tls_pwill_wait_for_signal (4160)
|
|
#define tls___align (-8632)
|
|
#define tls_p__align (4168)
|
|
#define tls_context (-8624)
|
|
#define tls_pcontext (4176)
|
|
#define tls_thread_id (-7328)
|
|
#define tls_pthread_id (5472)
|
|
#define tls_infodata (-7324)
|
|
#define tls_pinfodata (5476)
|
|
#define tls_tid (-7176)
|
|
#define tls_ptid (5624)
|
|
#define tls__ctinfo (-7168)
|
|
#define tls_p_ctinfo (5632)
|
|
#define tls_andreas (-7160)
|
|
#define tls_pandreas (5640)
|
|
#define tls_wq (-7152)
|
|
#define tls_pwq (5648)
|
|
#define tls_sig (-7104)
|
|
#define tls_psig (5696)
|
|
#define tls_incyg (-7100)
|
|
#define tls_pincyg (5700)
|
|
#define tls_spinning (-7096)
|
|
#define tls_pspinning (5704)
|
|
#define tls_stacklock (-7092)
|
|
#define tls_pstacklock (5708)
|
|
#define tls_stackptr (-7088)
|
|
#define tls_pstackptr (5712)
|
|
#define tls_stack (-7080)
|
|
#define tls_pstack (5720)
|
|
#define tls_initialized (-5032)
|
|
#define tls_pinitialized (7768)
|