summaryrefslogtreecommitdiff
path: root/linuxthreads
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-04-22 07:31:18 +0000
committerUlrich Drepper <drepper@redhat.com>2004-04-22 07:31:18 +0000
commit091e1f6a1b47232375494f47a6b4d0e5ddea81f9 (patch)
treef153c6874d87b4317569981325a82f8640123ffd /linuxthreads
parentab8dc78f717d875a18d24719f35e1d21d69aa2c9 (diff)
Update.
2004-04-22 Philip Blundell <philb@gnu.org> * sysdeps/arm/dl-machine.h (elf_machine_rela): Don't use INTUSE when calling _dl_signal_error. (elf_machine_rel): Likewise.
Diffstat (limited to 'linuxthreads')
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S9
2 files changed, 12 insertions, 2 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 40e23ec337..48e31cbf5a 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
+
+ * sysdeps/unix/sysv/linux/sh/vfork.S: Fix wrong function pointer
+ reference in PIC case.
+
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* oldsemaphore.c (SEM_VALUE_MAX): Remove.
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S
index 07589c162b..f230c01226 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S
+++ b/linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,8 +27,11 @@
ENTRY (__vfork)
#ifdef SHARED
+ mov.l .Lgot, r1
+ mova .Lgot, r0
+ add r0, r1
mov.l .Lpthread_func, r0
- mov.l @(r0,r12), r0
+ mov.l @(r0,r1), r0
#else
mov.l .Lpthread_create, r0
#endif
@@ -50,6 +53,8 @@ ENTRY (__vfork)
.L1: .word __NR_vfork
.align 2
#ifdef SHARED
+.Lgot:
+ .long _GLOBAL_OFFSET_TABLE_
.Lpthread_func:
.long __libc_pthread_functions@GOTOFF
#else