summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/alpha/tcb-offsets.sym2
-rw-r--r--sysdeps/alpha/dl-machine.h3
-rw-r--r--sysdeps/unix/alpha/sysdep.S5
-rw-r--r--sysdeps/unix/alpha/sysdep.h5
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 <jakub@redhat.com>
+
+ * 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 <qboosh@pld-linux.org>.
+
2004-06-27 Ulrich Drepper <drepper@redhat.com>
* 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,5 +1,10 @@
2004-06-28 Jakub Jelinek <jakub@redhat.com>
+ * sysdeps/alpha/tcb-offsets.sym (MULTIPLE_THREADS_OFFSET): Define
+ unconditionally.
+
+2004-06-28 Jakub Jelinek <jakub@redhat.com>
+
* sysdeps/pthread/pthread_rwlock_timedwrlock.c
(pthread_rwlock_timedwrlock): Return EINVAL if tv_nsec is negative,
instead of tv_sec.
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) \