mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-10 07:10:06 +00:00
* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.
This commit is contained in:
parent
d8ff3792a8
commit
6df7ffad19
@ -1,3 +1,7 @@
|
||||
2007-05-26 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.
|
||||
|
||||
2007-05-25 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* io/bits/fcntl2.h (__open_2): Add nonnull attribute.
|
||||
|
@ -1,5 +1,17 @@
|
||||
2007-05-26 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sem_wait.c: Add missing break.
|
||||
* sysdeps/unix/sysv/linux/sem_timedwait.c: Removed left-over
|
||||
duplication of __sem_wait_cleanup.
|
||||
|
||||
* allocatestack.c: Revert last change.
|
||||
* init.c: Likewise.
|
||||
* sysdeps/i386/tls.h: Likewise.
|
||||
* sysdeps/x86_64/tls.h: Likewise.
|
||||
* descr.h [TLS_DTV_AT_TP] (struct pthread): Add private_futex field to
|
||||
header structure.
|
||||
* sysdeps/powerpc/tcb-offsets.sym: Add PRIVATE_FUTEX_OFFSET.
|
||||
|
||||
* sysdeps/unix/sysv/linux/internaltypes.h (struct pthread_barrier):
|
||||
Add private field.
|
||||
* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: Add PRIVATE definition.
|
||||
|
@ -376,9 +376,10 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
|
||||
__pthread_multiple_threads = *__libc_multiple_threads_ptr = 1;
|
||||
#endif
|
||||
|
||||
#ifdef THREAD_COPY_PRIVATE_FUTEX
|
||||
#ifndef __ASSUME_PRIVATE_FUTEX
|
||||
/* The thread must know when private futexes are supported. */
|
||||
THREAD_COPY_PRIVATE_FUTEX (pd);
|
||||
pd->header.private_futex = THREAD_GETMEM (THREAD_SELF,
|
||||
header.private_futex);
|
||||
#endif
|
||||
|
||||
#ifdef NEED_DL_SYSINFO
|
||||
|
@ -37,6 +37,7 @@
|
||||
#endif
|
||||
#define __need_res_state
|
||||
#include <resolv.h>
|
||||
#include <kernel-features.h>
|
||||
|
||||
#ifndef TCB_ALIGNMENT
|
||||
# define TCB_ALIGNMENT sizeof (double)
|
||||
@ -131,6 +132,9 @@ struct pthread
|
||||
struct
|
||||
{
|
||||
int multiple_threads;
|
||||
# ifndef __ASSUME_PRIVATE_FUTEX
|
||||
int private_futex;
|
||||
# endif
|
||||
} header;
|
||||
#endif
|
||||
|
||||
|
@ -284,7 +284,7 @@ __pthread_initialize_minimal_internal (void)
|
||||
res = INTERNAL_SYSCALL (futex, err, 3, &word,
|
||||
FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1);
|
||||
if (!INTERNAL_SYSCALL_ERROR_P (res, err))
|
||||
THREAD_SET_PRIVATE_FUTEX (FUTEX_PRIVATE_FLAG);
|
||||
pd->header.private_futex = FUTEX_PRIVATE_FLAG;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -458,16 +458,6 @@ union user_desc_init
|
||||
#define THREAD_GSCOPE_WAIT() \
|
||||
GL(dl_wait_lookup_done) ()
|
||||
|
||||
|
||||
#ifndef __ASSUME_PRIVATE_FUTEX
|
||||
# define THREAD_SET_PRIVATE_FUTEX(value) \
|
||||
THREAD_SETMEM (THREAD_SELF, header.private_futex, value)
|
||||
# define THREAD_COPY_PRIVATE_FUTEX(descr) \
|
||||
((descr)->header.private_futex \
|
||||
= THREAD_GETMEM (THREAD_SELF, header.private_futex))
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
#endif /* tls.h */
|
||||
|
@ -15,3 +15,4 @@ MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
|
||||
PID thread_offsetof (pid)
|
||||
TID thread_offsetof (tid)
|
||||
POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
|
||||
PRIVATE_FUTEX_OFFSET thread_offsetof (header.private_futex)
|
||||
|
@ -31,16 +31,6 @@
|
||||
extern void __sem_wait_cleanup (void *arg) attribute_hidden;
|
||||
|
||||
|
||||
void
|
||||
attribute_hidden
|
||||
__sem_wait_cleanup (void *arg)
|
||||
{
|
||||
struct new_sem *isem = (struct new_sem *) arg;
|
||||
|
||||
atomic_decrement (&isem->nwaiters);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
sem_timedwait (sem_t *sem, const struct timespec *abstime)
|
||||
{
|
||||
|
@ -65,6 +65,7 @@ __new_sem_wait (sem_t *sem)
|
||||
{
|
||||
__set_errno (-err);
|
||||
err = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
if (atomic_decrement_if_positive (&isem->value) > 0)
|
||||
|
@ -364,14 +364,6 @@ typedef struct
|
||||
#define THREAD_GSCOPE_WAIT() \
|
||||
GL(dl_wait_lookup_done) ()
|
||||
|
||||
#ifndef __ASSUME_PRIVATE_FUTEX
|
||||
# define THREAD_SET_PRIVATE_FUTEX(value) \
|
||||
THREAD_SETMEM (THREAD_SELF, header.private_futex, value)
|
||||
# define THREAD_COPY_PRIVATE_FUTEX(descr) \
|
||||
((descr)->header.private_futex \
|
||||
= THREAD_GETMEM (THREAD_SELF, header.private_futex))
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLER__ */
|
||||
|
||||
#endif /* tls.h */
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <ldsodefs.h>
|
||||
#include <sysdep.h>
|
||||
#include <bp-start.h>
|
||||
#include <bp-sym.h>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user