aboutsummaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-07-08 03:42:49 +0000
committerUlrich Drepper <drepper@redhat.com>2003-07-08 03:42:49 +0000
commitd810b3584c4569612e078cbdd36bbf5c9272430c (patch)
tree608b5f60a5cb8ee434551768a69e5c0a0841e2a0 /nptl
parentdb54f488ee24b14027c485e0005950dfdd5ef885 (diff)
downloadglibc-d810b3584c4569612e078cbdd36bbf5c9272430c.zip
glibc-d810b3584c4569612e078cbdd36bbf5c9272430c.tar.gz
glibc-d810b3584c4569612e078cbdd36bbf5c9272430c.tar.bz2
Update.
2003-07-07 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/kernel-features.h: Version __ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for compilation with HAVE_AUX_SECURE defined.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/sysdeps/alpha/elf/pt-initfini.c12
-rw-r--r--nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h9
3 files changed, 15 insertions, 13 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 4fa3910..2792696 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2003-07-05 Richard Henderson <rth@redhat.com>
+
+ * sysdeps/alpha/elf/pt-initfini.c: Avoid .ent/.end.
+ * sysdeps/unix/sysv/linux/alpha/lowlevellock.h (lll_futex_wait,
+ lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success
+ return actual return value from the syscall, not 0.
+
2003-07-07 Ulrich Drepper <drepper@redhat.com>
* descr.h (struct pthread): Add pid field.
diff --git a/nptl/sysdeps/alpha/elf/pt-initfini.c b/nptl/sysdeps/alpha/elf/pt-initfini.c
index d48c571..ba2e419 100644
--- a/nptl/sysdeps/alpha/elf/pt-initfini.c
+++ b/nptl/sysdeps/alpha/elf/pt-initfini.c
@@ -45,17 +45,15 @@ __asm__ (" \n\
/*@_init_PROLOG_BEGINS*/ \n\
.section .init, \"ax\", @progbits \n\
.globl _init \n\
- .ent _init \n\
+ .type _init,@function \n\
+ .usepv _init,std \n\
_init: \n\
ldgp $29, 0($27) \n\
subq $30, 16, $30 \n\
stq $26, 0($30) \n\
stq $29, 8($30) \n\
- .prologue 1 \n\
bsr $26, __pthread_initialize_minimal_internal !samegp \n\
.align 3 \n\
- .end _init \n\
- .size _init, 0 \n\
/*@_init_PROLOG_ENDS*/ \n\
\n\
/*@_init_EPILOG_BEGINS*/ \n\
@@ -69,16 +67,14 @@ _init: \n\
/*@_fini_PROLOG_BEGINS*/ \n\
.section .fini, \"ax\", @progbits \n\
.globl _fini \n\
- .ent _fini \n\
+ .type _fini,@function \n\
+ .usepv _fini,std \n\
_fini: \n\
ldgp $29, 0($27) \n\
subq $30, 16, $30 \n\
stq $26, 0($30) \n\
stq $29, 8($30) \n\
- .prologue 1 \n\
.align 3 \n\
- .end _fini \n\
- .size _fini, 0 \n\
/*@_fini_PROLOG_ENDS*/ \n\
\n\
/*@_fini_EPILOG_BEGINS*/ \n\
diff --git a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
index e286ef3..cc054f9 100644
--- a/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
@@ -39,7 +39,7 @@
long int __ret; \
__ret = INTERNAL_SYSCALL (futex, __err, 4, \
(futexp), FUTEX_WAIT, (val), 0); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \
})
#define lll_futex_timed_wait(futexp, val, timespec) \
@@ -48,7 +48,7 @@
long int __ret; \
__ret = INTERNAL_SYSCALL (futex, __err, 4, \
(futexp), FUTEX_WAIT, (val), (timespec)); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \
})
#define lll_futex_wake(futexp, nr) \
@@ -57,18 +57,17 @@
long int __ret; \
__ret = INTERNAL_SYSCALL (futex, __err, 4, \
(futexp), FUTEX_WAKE, (nr), 0); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \
})
#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex) \
({ \
INTERNAL_SYSCALL_DECL (__err); \
long int __ret; \
- \
__ret = INTERNAL_SYSCALL (futex, __err, 5, \
(futexp), FUTEX_REQUEUE, (nr_wake), (nr_move), \
(mutex)); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret: 0; \
+ INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \
})
/* Set *futex to 1 if it is 0, atomically. Returns the old value */