diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-12-25 08:56:55 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-12-25 08:56:55 +0000 |
commit | a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e (patch) | |
tree | a728345bbc1cb63cf1bce63d09783b7a21764aab | |
parent | 015a2dc9c518d9eb87df84d1f8f7e64e80b7013b (diff) | |
download | glibc-a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e.tar glibc-a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e.tar.gz glibc-a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e.tar.bz2 glibc-a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e.zip |
Update.
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.
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index d65839fa6b..fdfcf7c580 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -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> * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Add missing #endif. diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S index bfec6fa155..dd7d34e30f 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S @@ -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 |