diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index dc49607a9..cbd8f9822 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2006-06-02 Christopher Faylor + + * cygtls.h (CYGTLS_PADSIZE): Bump up or suffer a regrettable collision + with the call chain. + 2006-06-02 Christopher Faylor * fhandler.cc (fhandler_base::fixup_after_exec): Declare here. diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h index 0a3b06d6f..5cccf4898 100644 --- a/winsup/cygwin/cygtls.h +++ b/winsup/cygwin/cygtls.h @@ -238,7 +238,7 @@ struct _cygtls }; #pragma pack(pop) -const int CYGTLS_PADSIZE = 3 * sizeof (_cygtls); +const int CYGTLS_PADSIZE = 4 * sizeof (_cygtls); /*gentls_offsets*/ extern char *_tlsbase __asm__ ("%fs:4"); diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index b18aaa1a6..59f451a62 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -534,13 +534,14 @@ child_info_fork::alloc_stack () } } -#ifdef DEBUGGING -void +extern "C" void break_here () { + static int NO_COPY sent_break; + if (!sent_break++) + DebugBreak (); debug_printf ("break here"); } -#endif static void initial_env () @@ -578,7 +579,6 @@ initial_env () error_start_init (p); try_to_debug (); console_printf ("*** Sending Break. gdb may issue spurious SIGTRAP message.\n"); - DebugBreak (); break_here (); } } diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 04f597d6a..a5e71d86a 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -345,7 +345,8 @@ try_to_debug (bool waitloop) return 0; if (being_debugged ()) { - DebugBreak (); + extern void break_here (); + break_here (); return 0; } diff --git a/winsup/cygwin/tlsoffsets.h b/winsup/cygwin/tlsoffsets.h index b0ddd9aa7..36c81a3c3 100644 --- a/winsup/cygwin/tlsoffsets.h +++ b/winsup/cygwin/tlsoffsets.h @@ -1,129 +1,129 @@ //;# autogenerated: Do not edit. //; $tls::sizeof__cygtls = 4212; -//; $tls::func = -12636; +//; $tls::func = -16848; //; $tls::pfunc = 0; -//; $tls::el = -12632; +//; $tls::el = -16844; //; $tls::pel = 4; -//; $tls::saved_errno = -12624; +//; $tls::saved_errno = -16836; //; $tls::psaved_errno = 12; -//; $tls::sa_flags = -12620; +//; $tls::sa_flags = -16832; //; $tls::psa_flags = 16; -//; $tls::oldmask = -12616; +//; $tls::oldmask = -16828; //; $tls::poldmask = 20; -//; $tls::deltamask = -12612; +//; $tls::deltamask = -16824; //; $tls::pdeltamask = 24; -//; $tls::event = -12608; +//; $tls::event = -16820; //; $tls::pevent = 28; -//; $tls::errno_addr = -12604; +//; $tls::errno_addr = -16816; //; $tls::perrno_addr = 32; -//; $tls::sigmask = -12600; +//; $tls::sigmask = -16812; //; $tls::psigmask = 36; -//; $tls::sigwait_mask = -12596; +//; $tls::sigwait_mask = -16808; //; $tls::psigwait_mask = 40; -//; $tls::sigwait_info = -12592; +//; $tls::sigwait_info = -16804; //; $tls::psigwait_info = 44; -//; $tls::thread_context = -12588; +//; $tls::thread_context = -16800; //; $tls::pthread_context = 48; -//; $tls::thread_id = -12376; +//; $tls::thread_id = -16588; //; $tls::pthread_id = 260; -//; $tls::threadkill = -12372; +//; $tls::threadkill = -16584; //; $tls::pthreadkill = 264; -//; $tls::infodata = -12368; +//; $tls::infodata = -16580; //; $tls::pinfodata = 268; -//; $tls::tid = -12220; +//; $tls::tid = -16432; //; $tls::ptid = 416; -//; $tls::local_clib = -12216; +//; $tls::local_clib = -16428; //; $tls::plocal_clib = 420; -//; $tls::__dontuse = -12216; +//; $tls::__dontuse = -16428; //; $tls::p__dontuse = 420; -//; $tls::locals = -11152; +//; $tls::locals = -15364; //; $tls::plocals = 1484; -//; $tls::_ctinfo = -9520; +//; $tls::_ctinfo = -13732; //; $tls::p_ctinfo = 3116; -//; $tls::andreas = -9516; +//; $tls::andreas = -13728; //; $tls::pandreas = 3120; -//; $tls::wq = -9508; +//; $tls::wq = -13720; //; $tls::pwq = 3128; -//; $tls::prev = -9480; +//; $tls::prev = -13692; //; $tls::pprev = 3156; -//; $tls::next = -9476; +//; $tls::next = -13688; //; $tls::pnext = 3160; -//; $tls::sig = -9472; +//; $tls::sig = -13684; //; $tls::psig = 3164; -//; $tls::incyg = -9468; +//; $tls::incyg = -13680; //; $tls::pincyg = 3168; -//; $tls::spinning = -9464; +//; $tls::spinning = -13676; //; $tls::pspinning = 3172; -//; $tls::stacklock = -9460; +//; $tls::stacklock = -13672; //; $tls::pstacklock = 3176; -//; $tls::stackptr = -9456; +//; $tls::stackptr = -13668; //; $tls::pstackptr = 3180; -//; $tls::stack = -9452; +//; $tls::stack = -13664; //; $tls::pstack = 3184; -//; $tls::initialized = -8428; +//; $tls::initialized = -12640; //; $tls::pinitialized = 4208; //; __DATA__ -#define tls_func (-12636) +#define tls_func (-16848) #define tls_pfunc (0) -#define tls_el (-12632) +#define tls_el (-16844) #define tls_pel (4) -#define tls_saved_errno (-12624) +#define tls_saved_errno (-16836) #define tls_psaved_errno (12) -#define tls_sa_flags (-12620) +#define tls_sa_flags (-16832) #define tls_psa_flags (16) -#define tls_oldmask (-12616) +#define tls_oldmask (-16828) #define tls_poldmask (20) -#define tls_deltamask (-12612) +#define tls_deltamask (-16824) #define tls_pdeltamask (24) -#define tls_event (-12608) +#define tls_event (-16820) #define tls_pevent (28) -#define tls_errno_addr (-12604) +#define tls_errno_addr (-16816) #define tls_perrno_addr (32) -#define tls_sigmask (-12600) +#define tls_sigmask (-16812) #define tls_psigmask (36) -#define tls_sigwait_mask (-12596) +#define tls_sigwait_mask (-16808) #define tls_psigwait_mask (40) -#define tls_sigwait_info (-12592) +#define tls_sigwait_info (-16804) #define tls_psigwait_info (44) -#define tls_thread_context (-12588) +#define tls_thread_context (-16800) #define tls_pthread_context (48) -#define tls_thread_id (-12376) +#define tls_thread_id (-16588) #define tls_pthread_id (260) -#define tls_threadkill (-12372) +#define tls_threadkill (-16584) #define tls_pthreadkill (264) -#define tls_infodata (-12368) +#define tls_infodata (-16580) #define tls_pinfodata (268) -#define tls_tid (-12220) +#define tls_tid (-16432) #define tls_ptid (416) -#define tls_local_clib (-12216) +#define tls_local_clib (-16428) #define tls_plocal_clib (420) -#define tls___dontuse (-12216) +#define tls___dontuse (-16428) #define tls_p__dontuse (420) -#define tls_locals (-11152) +#define tls_locals (-15364) #define tls_plocals (1484) -#define tls__ctinfo (-9520) +#define tls__ctinfo (-13732) #define tls_p_ctinfo (3116) -#define tls_andreas (-9516) +#define tls_andreas (-13728) #define tls_pandreas (3120) -#define tls_wq (-9508) +#define tls_wq (-13720) #define tls_pwq (3128) -#define tls_prev (-9480) +#define tls_prev (-13692) #define tls_pprev (3156) -#define tls_next (-9476) +#define tls_next (-13688) #define tls_pnext (3160) -#define tls_sig (-9472) +#define tls_sig (-13684) #define tls_psig (3164) -#define tls_incyg (-9468) +#define tls_incyg (-13680) #define tls_pincyg (3168) -#define tls_spinning (-9464) +#define tls_spinning (-13676) #define tls_pspinning (3172) -#define tls_stacklock (-9460) +#define tls_stacklock (-13672) #define tls_pstacklock (3176) -#define tls_stackptr (-9456) +#define tls_stackptr (-13668) #define tls_pstackptr (3180) -#define tls_stack (-9452) +#define tls_stack (-13664) #define tls_pstack (3184) -#define tls_initialized (-8428) +#define tls_initialized (-12640) #define tls_pinitialized (4208)