* exceptions.cc (unused_sig_wrapper): Still need additional level of

indirection when setting errno.
This commit is contained in:
Christopher Faylor 2002-09-30 14:18:43 +00:00
parent 00a8c44a5b
commit 63e5f2006d
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2002-09-30 Christopher Faylor <cgf@redhat.com>
* exceptions.cc (unused_sig_wrapper): Still need additional level of
indirection when setting errno.
2002-09-30 Robert Collins <rbtcollins@hotmail.com> 2002-09-30 Robert Collins <rbtcollins@hotmail.com>
* thread.cc (pthread_mutex::initMutex): Use the wrapper init call. * thread.cc (pthread_mutex::initMutex): Use the wrapper init call.

View File

@ -1205,7 +1205,8 @@ _sigreturn: \n\
1: popl %%eax # saved errno \n\ 1: popl %%eax # saved errno \n\
testl %%eax,%%eax # Is it < 0 \n\ testl %%eax,%%eax # Is it < 0 \n\
jl 2f # yup. ignore it \n\ jl 2f # yup. ignore it \n\
movl %%eax,%1 \n\ movl %1,%%ebx \n\
movl %%eax,(%%ebx) \n\
2: popl %%eax \n\ 2: popl %%eax \n\
popl %%ebx \n\ popl %%ebx \n\
popl %%ecx \n\ popl %%ecx \n\
@ -1245,7 +1246,7 @@ _sigdelayed0: \n\
popl %%eax \n\ popl %%eax \n\
jmp *%%eax \n\ jmp *%%eax \n\
__no_sig_end: \n\ __no_sig_end: \n\
" : "=m" (sigsave.sig): "X" (errno), " : "=m" (sigsave.sig): "X" ((char *) &_impure_ptr->_errno),
"g" (sigsave.retaddr), "g" (sigsave.oldmask), "g" (sigsave.sig), "g" (sigsave.retaddr), "g" (sigsave.oldmask), "g" (sigsave.sig),
"g" (sigsave.func), "g" (sigsave.saved_errno), "g" (sigsave.newmask) "g" (sigsave.func), "g" (sigsave.saved_errno), "g" (sigsave.newmask)
); );