* sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of
lll_wake_tid. This was used only to work around kernel limits in
the early days.
* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
2003-03-07 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/i386/i486/bits/atomic.h: Fix a few unused definitions.
+
+ * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove all trace of
+ lll_wake_tid. This was used only to work around kernel limits in
+ the early days.
+ * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Likewise.
+ * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise.
+ * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise.
+
* init.c (__static_tls_align_m1): Renamed from __static_tls_align.
(__pthread_initialize_minimal_internal): Change initialization of
__static_tls_align_m1 appropriately.
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
__result; })
-#define lll_wake_tid(tid) \
- do { \
- int __ignore; \
- (tid) = 0; \
- __asm __volatile (LLL_TID_EBX_LOAD \
- LLL_TID_ENTER_KERNEL \
- LLL_TID_EBX_LOAD \
- : "=a" (__ignore) \
- : "0" (SYS_futex), LLL_TID_EBX_REG (&(tid)), "S" (0), \
- "c" (FUTEX_WAKE), "d" (0x7fffffff) \
- "i" (offsetof (tcbhead_t, sysinfo))); \
- } while (0)
-
-
/* Conditional variable handling. */
extern void __lll_cond_wait (pthread_cond_t *cond)
#define lll_timedwait_tid(tid, abstime) __lll_timedwait_tid (&(tid), abstime)
-static inline void
-__attribute__ ((always_inline))
-__lll_wake_tid (int *ptid)
-{
- *ptid = 0;
- lll_futex_wake (ptid, INT_MAX);
-}
-#define lll_wake_tid(tid) __lll_wake_tid (&(tid))
-
-
/* Conditional variable handling. */
extern void __lll_cond_wait (pthread_cond_t *cond)
nop
.size __lll_wait_tid,.-__lll_wait_tid
-
+
.globl __lll_timedwait_tid
.type __lll_timedwait_tid,@function
.hidden __lll_timedwait_tid
.long 1000000000
.size __lll_timedwait_tid,.-__lll_timedwait_tid
-
-
- .globl __lll_wake_tid
- .type __lll_wake_tid,@function
- .hidden __lll_wake_tid
-__lll_wake_tid:
- mov #FUTEX_WAKE, r5
- mov #-1, r6
- shlr r6 /* r6 = 0x7fffffff */
- mov #0, r7
- mov #SYS_futex, r3
- extu.b r3, r3
- trapa #0x14
- SYSCALL_INST_PAD
- rts
- nop
- .size __lll_wake_tid,.-__lll_wake_tid
nop
.size __lll_wait_tid,.-__lll_wait_tid
-
+
.globl __lll_timedwait_tid
.type __lll_timedwait_tid,@function
.hidden __lll_timedwait_tid
.long 1000000000
.size __lll_timedwait_tid,.-__lll_timedwait_tid
-
-
- .globl __lll_wake_tid
- .type __lll_wake_tid,@function
- .hidden __lll_wake_tid
-__lll_wake_tid:
- mov #FUTEX_WAKE, r5
- mov #-1, r6
- shlr r6 /* r6 = 0x7fffffff */
- mov #0, r7
- mov #SYS_futex, r3
- extu.b r3, r3
- trapa #0x14
- SYSCALL_INST_PAD
- rts
- nop
- .size __lll_wake_tid,.-__lll_wake_tid
-
-
__result; })
-extern int __lll_wake_tid (int *tid) attribute_hidden;
-#define lll_wake_tid(tid) \
- do { \
- (tid) = 0; \
- ___lll_wake_tid (&tid); \
- } while (0)
-
-
/* Conditional variable handling. */
extern void __lll_cond_wait (pthread_cond_t *cond) attribute_hidden;