* exceptions.cc (unused_sig_wrapper): Accommodate newer compilers.

This commit is contained in:
Christopher Faylor 2002-09-30 04:26:52 +00:00
parent f789fbbf35
commit e7733defb9
3 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,7 @@
2002-09-30 Christopher Faylor <cgf@redhat.com>
* exceptions.cc (unused_sig_wrapper): Accommodate newer compilers.
2002-09-29 Christopher Faylor <cgf@redhat.com> 2002-09-29 Christopher Faylor <cgf@redhat.com>
* security.cc (allow_ntsec): Default to zero. * security.cc (allow_ntsec): Default to zero.

View File

@ -1178,7 +1178,13 @@ reset_signal_arrived ()
sigproc_printf ("reset signal_arrived"); sigproc_printf ("reset signal_arrived");
} }
void unused_sig_wrapper () static void unused_sig_wrapper () __attribute__((const, unused));
#undef errno
#define errno ((DWORD volatile) _impure_ptr) + (((char *) &_impure_ptr->_errno) - ((char *) _impure_ptr))
static void
unused_sig_wrapper ()
{ {
/* Signal cleanup stuff. Cleans up stack (too bad that we didn't /* Signal cleanup stuff. Cleans up stack (too bad that we didn't
prototype signal handlers as __stdcall), calls _set_process_mask prototype signal handlers as __stdcall), calls _set_process_mask
@ -1199,8 +1205,7 @@ _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 %1,%%ebx \n\ movl %%eax,%1 \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\
@ -1240,7 +1245,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) : "m" (&_impure_ptr->_errno), " : "=m" (sigsave.sig): "X" (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)
); );

View File

@ -2225,7 +2225,7 @@ pthread_mutex::init (pthread_mutex_t *mutex,
DWORD waitResult = WaitForSingleObject (mutexInitializationLock, INFINITE); DWORD waitResult = WaitForSingleObject (mutexInitializationLock, INFINITE);
if (waitResult != WAIT_OBJECT_0) if (waitResult != WAIT_OBJECT_0)
{ {
system_printf ("Received a unexpected wait result on mutexInitializationLock %d\n", waitResult); system_printf ("Received a unexpected wait result on mutexInitializationLock %d, %E\n", waitResult);
return EINVAL; return EINVAL;
} }