1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
2002-12-25  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S: Implement
	correct errno access for case that USE___THREAD is not defined.
This commit is contained in:
Ulrich Drepper
2002-12-25 08:56:55 +00:00
parent 015a2dc9c5
commit a218c9cfe3
2 changed files with 27 additions and 0 deletions

View File

@ -80,9 +80,15 @@ __new_sem_wait:
4:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
#if USE___THREAD
movl %gs:0, %edx
subl errno@gottpoff(%ebx), %edx
movl %eax, (%edx)
#else
movl %eax, %edx
call __errno_location@plt
movl %edx, (%eax)
#endif
orl $-1, %eax
popl %esi
popl %ebx
@ -121,9 +127,14 @@ __new_sem_trywait:
3:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ecx
#if USE___THREAD
movl %gs:0, %edx
subl errno@gottpoff(%ecx), %edx
movl $EAGAIN, (%edx)
#else
call __errno_location@plt
movl $EAGAIN, (%eax)
#endif
orl $-1, %eax
ret
.size __new_sem_trywait,.-__new_sem_trywait
@ -226,9 +237,15 @@ sem_timedwait:
4:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
#if USE___THREAD
movl %gs:0, %edx
subl errno@gottpoff(%ebx), %edx
movl %eax, (%edx)
#else
movl %eax, %edx
call __errno_location@plt
movl %edx, (%eax)
#endif
addl $8, %esp
orl $-1, %eax
@ -272,9 +289,14 @@ __new_sem_post:
4:
#endif
addl $_GLOBAL_OFFSET_TABLE_, %ebx
#if USE___THREAD
movl %gs:0, %edx
subl errno@gottpoff(%ebx), %edx
movl $EINVAL, (%edx)
#else
call __errno_location@plt
movl $EAGAIN, (%eax)
#endif
orl $-1, %eax
popl %ebx