From b63ba3b6aaa71856f1d01cfc235c4d11b3e3ad8f Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sun, 30 Nov 2003 02:19:45 +0000 Subject: [PATCH] * exceptions.cc (_threadinfo::pop): Zero *contents* of popped stack location rather than the actual stack pointer. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/Makefile.in | 2 +- winsup/cygwin/exceptions.cc | 4 ++-- winsup/cygwin/pinfo.h | 2 -- winsup/cygwin/sigproc.h | 2 ++ 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index ef86002a0..eac4aa6df 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-11-29 Christopher Faylor + + * exceptions.cc (_threadinfo::pop): Zero *contents* of popped stack + location rather than the actual stack pointer. + 2003-11-29 Nicholas Wourms * Makefile.in: (DLL_OFILES): Add flock.o. diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in index c445e8667..b7bcbe532 100644 --- a/winsup/cygwin/Makefile.in +++ b/winsup/cygwin/Makefile.in @@ -54,7 +54,7 @@ CC_FOR_TARGET:=$(CC) CFLAGS=@CFLAGS@ -fmerge-constants -ftracer override CFLAGS+=-MMD ${$(*F)_CFLAGS} CXX=@CXX@ -CXXFLAGS=@CXXFLAGS@ -fmerge-constants +CXXFLAGS=@CXXFLAGS@ AR:=@AR@ AR_FLAGS:=qv diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index ef2bf2270..6e5aa3059 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -189,8 +189,8 @@ _threadinfo::pop () assert (stackptr > stack); #endif __stack_t res = *--stackptr; -#ifndef DEBUGGING - _my_tls.stackptr = 0; +#ifdef DEBUGGING + *stackptr = 0; debug_printf ("popped %p, stack %p, stackptr %p", res, stack, stackptr); #endif return res; diff --git a/winsup/cygwin/pinfo.h b/winsup/cygwin/pinfo.h index a8ca9f92f..1fd222bf5 100644 --- a/winsup/cygwin/pinfo.h +++ b/winsup/cygwin/pinfo.h @@ -26,8 +26,6 @@ enum picom PICOM_FIFO = 2 }; -extern struct sigaction *global_sigs; - class _pinfo { public: diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index 834a569b2..f55618b67 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -86,6 +86,8 @@ void __stdcall sigalloc (); extern char myself_nowait_dummy[]; +extern struct sigaction *global_sigs; + #define WAIT_SIG_PRIORITY THREAD_PRIORITY_TIME_CRITICAL #define myself_nowait ((_pinfo *)myself_nowait_dummy)