]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 11 Mar 2003 19:40:00 +0000 (19:40 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 11 Mar 2003 19:40:00 +0000 (19:40 +0000)
2003-03-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>

* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define
to __NR_pread if not defined.
(__NR_pwrite64): Define to __NR_pwrite if not defined.

12 files changed:
ChangeLog
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_post.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_trywait.S
nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h

index d2659db611fc20c9e2f7b3c8016467166824fddd..2fa3359cfbe3619120a0f1c0885905509b2a2676 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-03-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define
+       to __NR_pread if not defined.
+       (__NR_pwrite64): Define to __NR_pwrite if not defined.
+
 2003-03-11  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/ia64/system.c: New file.
index 2a8e66dd81eea54317e4415f8c0cba251d5c6eac..be858950f9a4c38450a672be9f601ba17ef884f1 100644 (file)
@@ -1,5 +1,31 @@
+2003-03-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Swap 2nd and
+       3rd argument of __arch_compare_and_exchange_{32,64}_val_acq.
+
+       * sysdeps/unix/sysv/linux/ia64/sem_post.c: Include semaphore.h.
+       * sysdeps/unix/sysv/linux/ia64/sem_timedwait.c: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/sem_trywait.c: Likewise.
+       * sysdeps/unix/sysv/linux/ia64/sem_wait.c: Likewise.
+       * sysdeps/unix/sysv/linux/s390/sem_post.c: Likewise.
+       * sysdeps/unix/sysv/linux/s390/sem_timedwait.c: Likewise.
+       * sysdeps/unix/sysv/linux/s390/sem_trywait.c: Likewise.
+       * sysdeps/unix/sysv/linux/s390/sem_wait.c: Likewise.
+
 2003-03-11  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/pthread/pthread_cond_timedwait.c
+       (__pthread_cond_timedwait): Return the result of the final
+       locking.  If it succeeds, the regular function return value.
+
+       * sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait):
+       Return result of the final locking.
+       * version.c (__nptl_main): Work around problems with the strange
+       INTERNAL_SYSCALL macro on ppc32.
+       * init.c (__pthread_initialize_minimal_internal): Unblock
+       SIGCANCEL in case the parent blocked it.
+       Reported by Paul Mackerras <paulus@samba.org>.
+
        * sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: New file.
        * sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: New file.
        * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: New file.
index c4ee4dbc08549bf194066700eabddb993898fe9d..036da4394420dc7c665a0de6e1e101f1811d61dd 100644 (file)
@@ -110,17 +110,17 @@ pthread_barrier_wait:
        retq
 
 1:     addq    $MUTEX, %rdi
-       call    __lll_lock_wait
+       callq   __lll_lock_wait
        subq    $MUTEX, %rdi
        jmp     2b
 
 4:     addq    $MUTEX, %rdi
-       call    __lll_unlock_wake
+       callq   __lll_unlock_wake
        subq    $MUTEX, %rdi
        jmp     5b
 
 6:     addq    $MUTEX, %rdi
-       call    __lll_unlock_wake
+       callq   __lll_unlock_wake
        subq    $MUTEX, %rdi
        jmp     7b
        .size   pthread_barrier_wait,.-pthread_barrier_wait
index 6c28bc4751a1f3ae102c0d2c5e202c787cad8d80..cc12f5407ce9fd82721c6737b7d8d0c527ad57da 100644 (file)
@@ -88,7 +88,7 @@ __pthread_cond_broadcast:
 #if cond_lock != 0
        addq    $cond_lock, %rdi
 #endif
-       call    __lll_mutex_lock_wait
+       callq   __lll_mutex_lock_wait
 #if cond_lock != 0
        subq    $cond_lock, %rdi
 #endif
@@ -96,12 +96,12 @@ __pthread_cond_broadcast:
 
        /* Unlock in loop requires waekup.  */
 5:     addq    $cond_lock-wakeup_seq, %rdi
-       call    __lll_mutex_unlock_wake
+       callq   __lll_mutex_unlock_wake
        jmp     6b
 
        /* Unlock in loop requires waekup.  */
 7:     addq    $cond_lock-wakeup_seq, %rdi
-       call    __lll_mutex_unlock_wake
+       callq   __lll_mutex_unlock_wake
        subq    $cond_lock-wakeup_seq, %rdi
        jmp     8b
        .size   __pthread_cond_broadcast, .-__pthread_cond_broadcast
index 0d3249a37ae867c9308abed2f552487273fcbfa5..64458628f5a860a46b33b1ffbdff4e3bff2d9896 100644 (file)
@@ -78,15 +78,15 @@ __pthread_cond_signal:
 #if cond_lock != 0
        addq    $cond_lock, %rdi
 #endif
-       call    __lll_mutex_lock_wait
+       callq   __lll_mutex_lock_wait
 #if cond_lock != 0
        subq    $cond_lock, %rdi
 #endif
        jmp     2b
 
        /* Unlock in loop requires waekup.  */
-5:      addq   $cond_lock-wakeup_seq, %rdi
-       call    __lll_mutex_unlock_wake
+5:     addq    $cond_lock-wakeup_seq, %rdi
+       callq   __lll_mutex_unlock_wake
        jmp     6b
        .size   __pthread_cond_signal, .-__pthread_cond_signal
 versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal,
index 385161eba2698d2bf6fa77881df375879844cb6b..060f35e8a98d61eec725a1ee93b6952fdfd529d2 100644 (file)
@@ -228,7 +228,7 @@ __pthread_cond_wait:
 #if cond_lock != 0
        addq    $cond_lock, %rdi
 #endif
-       call    __lll_mutex_lock_wait
+       callq   __lll_mutex_lock_wait
 #if cond_lock != 0
        subq    $cond_lock, %rdi
 #endif
index 43eadcf40a98a0c3a5c7a6c1a01cb45beb352dc1..8db9d9413bc70b04a4c81231deacb8c2e0403e83 100644 (file)
@@ -88,14 +88,14 @@ __pthread_once:
        leaq    clear_once_control(%rip), %rsi
        movq    %rdi, %rdx
        movq    %rsp, %rdi
-       call    __pthread_cleanup_push  /* Note: no @PLT.  */
+       callq   __pthread_cleanup_push  /* Note: no @PLT.  */
 
-       call    *40(%rsp)
+       callq   *40(%rsp)
 
        /* Pop the cleanup handler.  */
        movq    %rsp, %rdi
        xorq    %rsi, %rsi
-       call    __pthread_cleanup_pop   /* Note: no @PLT.  */
+       callq   __pthread_cleanup_pop   /* Note: no @PLT.  */
 
        addq    $32, %rsp
 
index 647aee8834c83afcbe37d98e05d3df54d530f1e3..945de2d01e709a87aa6557f2ff72b43f1e573336 100644 (file)
@@ -58,7 +58,7 @@ __new_sem_post:
        movq    errno@gottpoff(%rip), %rdx
        movl    $EINVAL, %fs:(%rdx)
 #else
-       call    __errno_location@plt
+       callq   __errno_location@plt
        movl    $EINVAL, (%rax)
 #endif
 
index 76d9fee3c680f0b78b73215dab9be0eaa1a20ed7..afdec13e501be762777b001006b9c6548ac37f69 100644 (file)
@@ -50,7 +50,7 @@ sem_timedwait:
        jne     2b
 
        xorl    %eax, %eax
-       ret
+       retq
 
        /* Check whether the timeout value is valid.  */
 1:     subq    $16, %rsp
@@ -118,7 +118,7 @@ sem_timedwait:
        movl    %eax, %fs:(%rdx)
 #else
        movl    %eax, %edx
-       call    __errno_location@plt
+       callq   __errno_location@plt
        movl    %edx, (%rax)
 #endif
 
index 001d68d63f73075812f86469e8e6d8fbe7e39109..663868febbd3a9d8dc3b2a2f78f3fdaba904e7bb 100644 (file)
@@ -55,7 +55,7 @@ __new_sem_trywait:
        movq    errno@gottpoff(%rip), %rdx
        movl    $EAGAIN, %fs:(%rdx)
 #else
-       call    __errno_location@plt
+       callq   __errno_location@plt
        movl    $EAGAIN, (%rax)
 #endif
        orl     $-1, %eax
index 82e63c07b1599010c866ad22373f4ac33d31fa98..d71e6b4100909746590250790ea1202560b58a45 100644 (file)
@@ -65,7 +65,7 @@ __new_sem_wait:
        movl    %eax, %fs:(%rdx)
 #else
        movl    %eax, %edx
-       call    __errno_location@plt
+       callq   __errno_location@plt
        movl    %edx, (%rax)
 #endif
        orl     $-1, %eax
index 6de2dae288b5e05e77581ce33a4c7c778f47d146..f5a074ff6f698fc8761e4e3693fbacb8b1583fc6 100644 (file)
 /* In newer 2.1 kernels __NR_syscall is missing so we define it here.  */
 #define __NR_syscall 0
 
+/*
+ * Newer kernel versions redefined __NR_pread and __NR_pwrite to
+ * __NR_pread64 and __NR_pwrite64. We use the new names but have
+ * to define them on our own for compiling against older kernels.
+ */
+#ifndef __NR_pread64
+# define __NR_pread64 __NR_pread
+#endif
+#ifndef __NR_pwrite64
+# define __NR_pwrite64 __NR_pwrite
+#endif
+
 #undef SYS_ify
 #define SYS_ify(syscall_name)  __NR_##syscall_name