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 /nptl/sysdeps | |
parent | 015a2dc9c518d9eb87df84d1f8f7e64e80b7013b (diff) | |
download | glibc-a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e.tar.gz glibc-a218c9cfe3cda7f6e427651cfcb0cd6d27ac933e.tar.xz 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.
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevelsem.S | 22 |
1 files changed, 22 insertions, 0 deletions
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 |