From 346f18ae184514eacd3b90ae2e727dec0a3c34bb Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 28 Jun 2004 21:05:24 +0000 Subject: [BZ #230, BZ #231] Update. 2004-06-28 Jakub Jelinek * sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo. [BZ #231] * sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp relocation in librt.so. [BZ #230] * sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load _dl_skip_args. Patch by Jakub Bogusz . --- ChangeLog | 12 ++++++++++++ nptl/ChangeLog | 5 +++++ nptl/sysdeps/alpha/tcb-offsets.sym | 2 -- sysdeps/alpha/dl-machine.h | 3 ++- sysdeps/unix/alpha/sysdep.S | 5 +++-- sysdeps/unix/alpha/sysdep.h | 5 +++-- 6 files changed, 25 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2bff85de08..c9040fe4d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-06-28 Jakub Jelinek + + * sysdeps/unix/alpha/sysdep.h (inline_syscall6): Fix a typo. + + [BZ #231] + * sysdeps/unix/alpha/sysdep.S (__syscall_error): Avoid !samegp + relocation in librt.so. + + [BZ #230] + * sysdeps/alpha/dl-machine.h (_dl_start_user): Use ldah/ldl to load + _dl_skip_args. Patch by Jakub Bogusz . + 2004-06-27 Ulrich Drepper * elf/ldconfig.c (add_dir): Take chroot into account. diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 275d1a7ff5..6ef7ff136f 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2004-06-28 Jakub Jelinek + + * sysdeps/alpha/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define + unconditionally. + 2004-06-28 Jakub Jelinek * sysdeps/pthread/pthread_rwlock_timedwrlock.c diff --git a/nptl/sysdeps/alpha/tcb-offsets.sym b/nptl/sysdeps/alpha/tcb-offsets.sym index a1a1e45951..14494ee2cd 100644 --- a/nptl/sysdeps/alpha/tcb-offsets.sym +++ b/nptl/sysdeps/alpha/tcb-offsets.sym @@ -7,7 +7,5 @@ # define __builtin_thread_pointer() ((void *) 0) # define thread_offsetof(mem) ((void *) &THREAD_SELF->mem - (void *) 0) -#if TLS_MULTIPLE_THREADS_IN_TCB MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) -#endif PID_OFFSET thread_offsetof (pid) diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h index 35d7e1dbde..7c5f3c1518 100644 --- a/sysdeps/alpha/dl-machine.h +++ b/sysdeps/alpha/dl-machine.h @@ -321,7 +321,8 @@ _dl_start_user: \n\ mov $0, $9 \n\ /* See if we were run as a command with the executable \n\ file name as an extra leading argument. */ \n\ - ldl $1, _dl_skip_args($gp) !gprel \n\ + ldah $1, _dl_skip_args($gp) !gprelhigh \n\ + ldl $1, _dl_skip_args($1) !gprellow \n\ bne $1, $fixup_stack \n\ $fixup_stack_ret: \n\ /* The special initializer gets called with the stack \n\ diff --git a/sysdeps/unix/alpha/sysdep.S b/sysdeps/unix/alpha/sysdep.S index ce848f4e9b..c67a6542f6 100644 --- a/sysdeps/unix/alpha/sysdep.S +++ b/sysdeps/unix/alpha/sysdep.S @@ -1,4 +1,5 @@ -/* Copyright (C) 1993, 1996, 1998, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1996, 1998, 2002, 2003, 2004 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -95,7 +96,7 @@ __syscall_error: PROLOGUE /* Find our per-thread errno address */ -#ifdef PIC +#if defined PIC && !defined IS_IN_librt bsr ra, __errno_location !samegp #else jsr ra, __errno_location diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h index 26cf918c1c..f60eafea49 100644 --- a/sysdeps/unix/alpha/sysdep.h +++ b/sysdeps/unix/alpha/sysdep.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1992, 1995, 1996, 2000, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -364,7 +365,7 @@ __LABEL(name) \ __asm__ __volatile__ \ ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \ : inline_syscall_r0_out_constraint (_sc_0), \ - "=r"(_sc_19) "=r"(_sc_16), "=r"(_sc_17), \ + "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \ "=r"(_sc_18), "=r"(_sc_20), "=r"(_sc_21) \ : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), "4"(_sc_18), \ "1"(_sc_19), "5"(_sc_20), "6"(_sc_21) \ -- cgit 1.4.1