Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 22 Apr 2004 07:31:18 +0000 (07:31 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 22 Apr 2004 07:31:18 +0000 (07:31 +0000)
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.

ChangeLog
linuxthreads/ChangeLog
linuxthreads/sysdeps/unix/sysv/linux/sh/vfork.S
sysdeps/arm/dl-machine.h

index a8a6615..52a3234 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
 2004-04-21  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/ia64/setjmp.S: Define _GI___sigsetjmp
index 40e23ec..48e31cb 100644 (file)
@@ -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.
index 07589c1..f230c01 100644 (file)
@@ -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
 
 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
index 25a8515..a131676 100644 (file)
@@ -507,9 +507,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
                 topbits = newvalue & 0xfe000000;
                 if (topbits != 0xfe000000 && topbits != 0x00000000)
                   {
-                    INTUSE (_dl_signal_error)
-                      (0, map->l_name, NULL,
-                       "R_ARM_PC24 relocation out of range");
+                    _dl_signal_error (0, map->l_name, NULL,
+                                      "R_ARM_PC24 relocation out of range");
                   }
               }
             newvalue >>= 2;
@@ -588,9 +587,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
                 topbits = newvalue & 0xfe000000;
                 if (topbits != 0xfe000000 && topbits != 0x00000000)
                   {
-                    INTUSE (_dl_signal_error)
-                      (0, map->l_name, NULL,
-                       "R_ARM_PC24 relocation out of range");
+                    _dl_signal_error (0, map->l_name, NULL,
+                                      "R_ARM_PC24 relocation out of range");
                   }
               }
             newvalue >>= 2;