| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check SYM_MAP rather than SYM as definedness check.
Handle R_PPC64_ADDR32, R_PPC64_ADDR30, and R_PPC64_REL64 relocs.
Don't handle R_PPC64_REL24 reloc.
Mostly from Steven Munroe <sjmunroe@us.ibm.com>.
* sysdeps/powerpc/powerpc64/dl-machine.h
[USE_TLS] (elf_machine_type_class): Match all the TLS relocs in a
block, so we cover all the TPREL16* flavors without 6 ||s.
[USE_TLS] (elf_machine_tprel): New function.
(elf_machine_rela) [USE_TLS]: Use elf_machine_tprel for TPREL64 reloc,
and handle TPREL16 relocs too. Return rather than break for DTPREL64.
Mostly from Steven Munroe <sjmunroe@us.ibm.com>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela):
Check SYM_MAP rather than SYM as definedness check.
Handle R_PPC64_ADDR32, R_PPC64_ADDR30, and R_PPC64_REL64 relocs.
Don't handle R_PPC64_REL24 reloc.
Mostly from Steven Munroe <sjmunroe@us.ibm.com>.
* sysdeps/powerpc/powerpc64/dl-machine.h
[USE_TLS] (elf_machine_type_class): Match all the TLS relocs in a
block, so we cover all the TPREL16* flavors without 6 ||s.
[USE_TLS] (elf_machine_tprel): New function.
(elf_machine_rela) [USE_TLS]: Use elf_machine_tprel for TPREL64 reloc,
and handle TPREL16 relocs too. Return rather than break for DTPREL64.
Mostly from Steven Munroe <sjmunroe@us.ibm.com>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Fix asm syntax.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/x86_64/tls.h (THREAD_SELF, THREAD_GETMEM, THREAD_GETMEM_NC,
THREAD_SETMEM, THREAD_SETMEM_NC): Correct asm syntax.
* allocatestack.c [! TLS_MULTIPLE_THREADS_IN_TCB] (allocate_stack):
Initialize *__libc_multiple_threads_ptr not __libc_multiple_threads.
* sysdeps/pthread/createthread.c [! TLS_MULTIPLE_THREADS_IN_TCB]
(create_thread): Likewise.
Define __pthread_multiple_threads and __libc_multiple_threads_ptr.
* init.c (__pthread_initialize_minimal_internal): Initialize
__libc_multiple_threads_ptr if necessary.
* pthreadP.h: Adjust prototype for __libc_pthread_init. Declare
__pthread_multiple_threads and __libc_multiple_threads_ptr.
* sysdeps/unix/sysv/linux/libc_pthread_init.c: Define
__libc_multiple_threads.
(__libc_pthread_init): Return pointer to __libc_pthread_init if
necessary.
* sysdeps/i386/tls.h (THREAD_SETMEM): Fix one-byte variant.
(THREAD_SETMEM_NC): Likewise.
* sysdeps/x86_64/pthread_spin_trylock.c: Removed.
* sysdeps/x86_64/pthread_spin_trylock.S: New file.
* sysdeps/x86_64/pthread_spin_unlock.c: Removed.
* sysdeps/x86_64/pthread_spin_unlock.S: New file.
* sysdeps/i386/i486/pthread_spin_trylock.S (pthread_spin_trylock):
Eliminate one entire instruction.
|
|
|
|
|
|
|
|
| |
2003-03-11 Ralf Baechle <ralf@linux-mips.org>
* sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): Use jal
instead of jalr to invoke subroutine so restoring the $gp register
will work properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cancellation.c (__pthread_enable_asynccancel_2): New function.
* pthreadP.h: Declare __pthread_enable_asynccancel_2.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Use __pthread_enable_asynccancel_2
instead of __pthread_enable_asynccancel.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__pthread_cond_wait): Likewise.
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Likewise.
* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__condvar_cleanup): Wake up all waiters in case we got signaled
after being woken up but before disabling asynchronous
cancellation.
* sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
(__condvar_cleanup): Likewise.
* init.c (__NR_set_tid_address): If already defined, don't redefine.
Make it an error if architecture has no #if case. Add x86-64.
* sysdeps/unix/sysv/linux/x86_64/Makefile: Add flags for
pt-initfini.s generation.
* sysdeps/x86_64/tls.h: Include <asm/prctl.h>.
(TLS_INIT_TP): Fix typo.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/ia64/system.c: New file.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with
kernel >= 2.5.64.
2003-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
|
|
|
|
|
|
|
|
| |
2003-03-11 Ulrich Drepper <drepper@redhat.com>
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
allocate space even for the trailing '/'.
Reported by John Reiser <jreiser@BitWagon.com>.
* sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6,
ASM_CLOBBERS_6): Define.
(ASM_CLOBBERS_5): Use ASM_CLOBBERS_6.
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments
to match IA-32 order.
* sysdeps/unix/sysv/linux/i386/clone.S: Fix comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/pthread/createthread.c (ARCH_CLONE): Define if not defined.
(create_thread): Only assert PD->tcb != NULL under [TLS_TCB_AT_TP].
Use ARCH_CLONE.
* allocatestack.c (ALLOCATE_STACK_PARMS): New macro.
[NEED_SEPARATE_REGISTER_STACK] (STACK_VARIABLES,
STACK_VARIABLES_ARGS, STACK_VARIABLES_PARMS, ALLOCATE_STACK_PARMS,
ALLOCATE_STACK): New macros.
(TLS_TPADJ): New macro.
(get_cached_stack, queue_stack, __deallocate_stack): Use TLS_TPADJ.
(allocate_stack): Handle TLS_DTV_AT_TP and
NEED_SEPARATE_REGISTER_STACK. Use TLS_TPADJ.
* pthread_create.c (__pthread_create_2_1) [! TLS_TCB_AT_TP]:
Don't set PD->self.
* init.c [__ia64__] (__NR_set_tid_address): Define.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sem_trywait.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: New file.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: New file.
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Fix error value in
unused code.
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S: New file
* sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S: Likewise.
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
lowlevelbarrier.sym.
* sysdeps/unix/sysv/linux/lowlevelbarrier.sym: New file.
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S:
Include lowlevelbarrier.h and don't define offsets locally.
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
(__lll_mutex_lock_wait): Reverse order of first two parameters.
(__lll_mutex_timedlock_wait): Likewise.
(lll_mutex_lock): Adjust asm for that.
(lll_mutex_timedlock): Likewise. Mark cx, cc, r10 as clobbered.
(lll_lock): Adjust asm for operand order change.
* sysdeps/unix/sysv/linux/x86_64/lowlevelmutex.S: New file.
* sysdeps/unix/sysv/linux/x86_64/libc-lowlevelmutex.S: New file.
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (__lll_lock_wait):
Reverse order of parameters.
(__lll_timedwait_tid): Remove regparms attribute.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: New file.
* sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: New file.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
(__lll_timedwait_tid): Remove one unnecessary instruction.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/sh/lowlevelmutex.S: Define
__lll_mutex_timedlock_wait only for NOT_IN_libc.
* sysdeps/unix/sysv/linux/sh/libc-lowlevelmutex.S: Include
lowlevelmutex.S.
* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
lll_unlock_wake_cb, __lll_wait_tid, and __lll_timedwait_tid only
for NOT_IN_libc.
* sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S: Include
lowlevellock.S.
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: Not needed anymore.
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/i486/lowlevelmutex.S: Don't define
LOCK is already defined. Don't define __lll_mutex_timedlock_wait
for libc.so.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevelmutex.S: Only
define LOCK here (if UP is not defined). The actual code is in
lowlevelmutex.S.
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Don't define
LOCK is already defined. Don't define lll_unlock_wake_cb and
__lll_timedwait_tid for libc.so.
* sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Only
define LOCK here (if UP is not defined). The actual code is in
lowlevellock.S.
|
|
|
|
| |
* sysdeps/unix/sysv/linux/sh/lowlevelrwlock.h: Removed.
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/s390/lowlevelsem.h: Likewise.
* sysdeps/unix/sysv/linux/s390/sem_post.c: Include lowlevellock.h
instead of lowlevelsem.h.
* 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.
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/lowlevelsem.h: New needed anymore.
|
| |
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
Copy extra params for NPTL to registers used in clone syscall.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7.
Copy extra params for NPTL to registers used in clone syscall.
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add
lowlevelrwlock.sym.
* sysdeps/unix/sysv/linux/lowlevelrwlock.sym: New file.
* sysdeps/unix/sysv/linux/i386/lowlevelrwlock.h: Removed.
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_trylock): Fix
register loading.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_trylock): Undo
last changed. D'oh.
|
| |
|
|
|
|
| |
call names for pread and pwrite.
|
|
|
|
|
|
|
| |
* td_ta_thr_iter.c (iterate_thread_list): Don't use `header.data.'
prefix for `struct pthread' members.
* td_thr_validate.c (check_thread_list): Likewise.
* td_thr_tls_get_addr.c (td_thr_tls_get_addr): Likewise.
|
|
|
|
|
|
|
|
| |
2003-03-10 Ulrich Drepper <drepper@redhat.com>
* td_ta_thr_iter.c: Update for TCB change.
* td_thr_tls_get_addr.c: Likewise.
* td_thr_validate.c: Likewise.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dlfcn/dladdr1.c: New file.
* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
a const ElfNN_Sym ** to fill in.
* include/dlfcn.h: Update decl. Include <link.h>.
* dlfcn/dladdr.c (dladdr): Update caller.
* malloc/mtrace.c (tr_where): Likewise.
* sysdeps/generic/elf/backtracesyms.c: Likewise.
* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
* Versions.def (libdl): Define GLIBC_2.3.3 set.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-03-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: New file.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Remove declaration
of __libc_locking_needed.
(lll_trylock): Initialize %eax to zero.
* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Update
pthread_cond_t definition.
* sysdeps/unix/sysv/linux/x86_64/fork.c: New file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dlfcn/Makefile (libdl-routines): Add dladdr1.
* dlfcn/dladdr1.c: New file.
* dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1.
[__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants.
* elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and
a const ElfNN_Sym ** to fill in.
* include/dlfcn.h: Update decl. Include <link.h>.
* dlfcn/dladdr.c (dladdr): Update caller.
* malloc/mtrace.c (tr_where): Likewise.
* sysdeps/generic/elf/backtracesyms.c: Likewise.
* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
* dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1.
* Versions.def (libdl): Define GLIBC_2.3.3 set.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assembler command.
* sysdeps/unix/Makefile (compile-syscall): New variable.
Pass -g0 to compiler for assembling syscall stubs from stdin.
* sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO]
(STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END):
Define these to do nothing.
* configure.in: New check for -g on .S files.
* configure: Regenerated.
* config.make.in (have-cpp-asm-debuginfo): New variable.
* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
* Makeconfig (ASFLAGS): New variable, if undefined and
$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
|
|
|
|
|
|
|
|
|
|
| |
* configure.in: New check for -g on .S files.
* configure: Regenerated.
* config.make.in (have-cpp-asm-debuginfo): New variable.
* config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef.
* Makeconfig (ASFLAGS): New variable, if undefined and
$(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS).
* Makerules (compile.S, COMPILE.S): Use $(ASFLAGS).
|
| |
|
| |
|
|
|
|
|
|
| |
used by NPTL on new kernels. From Paul Mackerras <paulus@samba.org>.
* rt/tst-aio7.c (do_test): Give BUFF permanent extent, too.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args
used by NPTL on new kernels. From Paul Mackerras <paulus@samba.org>.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* allocatestack.c (allocate_stack) [!TLS_MULTIPLE_THREADS_IN_TCB]:
Instead of setting PD->multiple_threads, set globals
__pthread_multiple_threads and __libc_multiple_threads.
* sysdeps/pthread/createthread.c (create_thread): Likewise.
* sysdeps/i386/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Define it.
* sysdeps/s390/tls.h (TLS_MULTIPLE_THREADS_IN_TCB): Likewise.
* descr.h (struct pthread): Conditionalize first member on
[!TLS_DTV_AT_TP]. Replace the `header' member with an anonymous union
containing an anonymous tcbhead_t. Move `list' member out.
[TLS_MULTIPLE_THREADS_IN_TCB]: Define a `multiple_threads' member.
* allocatestack.c: Remove use of `header.data.' prefix.
* pthread_create.c: Likewise.
* init.c (__pthread_initialize_minimal_internal): Likewise.
* sysdeps/pthread/createthread.c (create_thread): Likewise.
* sysdeps/i386/tls.h (INSTALL_DTV): Add parens.
(THREAD_SELF, THREAD_DTV, INSTALL_NEW_DTV): No `header.data.' prefix.
* sysdeps/x86_64/tls.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
(SINGLE_THREAD_P): Likewise.
* sysdeps/i386/tls.h (tcbhead_t): Remove `list' member.
* sysdeps/s390/tls.h (tcbhead_t): Likewise.
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/lowlevelcond.sym: New file.
* sysdeps/unix/sysv/linux/Makefile (gen-as-const-headers): Add it.
* sysdeps/unix/sysv/linux/sh/lowlevelcond.h: File removed.
* sysdeps/unix/sysv/linux/i386/lowlevelcond.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/lowlevelcond.h: Likewise.
|