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

@ -1,3 +1,8 @@
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.
2002-12-24 Ulrich Drepper <drepper@redhat.com> 2002-12-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Add missing #endif. * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Add missing #endif.

View File

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