* sysdeps/powerpc/dl-machine.c: Include dl-machine.h after the
authorgeoffk <geoffk>
Mon, 12 Jun 2000 07:13:19 +0000 (07:13 +0000)
committergeoffk <geoffk>
Mon, 12 Jun 2000 07:13:19 +0000 (07:13 +0000)
other header files.  Mention about 128-byte cache line sizes.
(__elf_machine_fixup_plt): Make types match elf_machine_fixup_plt.
* sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Update
for current calling sequence.
* sysdeps/powerpc/dl-start.S (_dl_start_user): Close comment.

* sysdeps/powerpc/fpu/s_rint.c: Handle rounding to -0 correctly.
* sysdeps/powerpc/fpu/s_rintf.c: Likewise.

* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add getrlimit
and setrlimit syscalls for backwards compatibility.

ChangeLog
sysdeps/powerpc/dl-machine.c
sysdeps/powerpc/dl-machine.h
sysdeps/powerpc/dl-start.S
sysdeps/powerpc/fpu/s_rint.c
sysdeps/powerpc/fpu/s_rintf.c
sysdeps/unix/sysv/linux/powerpc/syscalls.list

index 613ec4d..ff88eb8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2000-04-11  Geoff Keating  <geoffk@cygnus.com>
+
+       * sysdeps/powerpc/dl-machine.c: Include dl-machine.h after the
+       other header files.  Mention about 128-byte cache line sizes.
+       (__elf_machine_fixup_plt): Make types match elf_machine_fixup_plt.
+       * sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Update
+       for current calling sequence.
+       * sysdeps/powerpc/dl-start.S (_dl_start_user): Close comment.
+
+       * sysdeps/powerpc/fpu/s_rint.c: Handle rounding to -0 correctly.
+       * sysdeps/powerpc/fpu/s_rintf.c: Likewise.
+
+       * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add getrlimit
+       and setrlimit syscalls for backwards compatibility.
+
 2000-06-10  Ulrich Drepper  <drepper@redhat.com>
 
        * iconv/skeleton.c:  Rename converted written to correcter name
index 82895d8..ac2d94a 100644 (file)
@@ -1,5 +1,6 @@
 /* Machine-dependent ELF dynamic relocation functions.  PowerPC version.
-   Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 
+   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
@@ -21,9 +22,9 @@
 #include <string.h>
 #include <sys/param.h>
 #include <link.h>
-#include <dl-machine.h>
 #include <ldsodefs.h>
 #include <elf/dynamic-link.h>
+#include <dl-machine.h>
 
 /* Because ld.so is now versioned, these functions can be in their own file;
    no relocations need to be done to call them.
@@ -299,8 +300,7 @@ __elf_machine_runtime_setup (struct link_map *map, int lazy, int profile)
         there may be a little overlap at the start and the end.
 
         Assumes that dcbst and icbi apply to lines of 16 bytes or
-        more.  At present, all PowerPC processors have line sizes of
-        16 or 32 bytes.  */
+        more.  Current known line sizes are 16, 32, and 128 bytes.  */
 
       size_modified = lazy ? rel_offset_words : 6;
       for (i = 0; i < size_modified; i += 4)
@@ -315,7 +315,7 @@ __elf_machine_runtime_setup (struct link_map *map, int lazy, int profile)
   return lazy;
 }
 
-void
+Elf32_Addr
 __elf_machine_fixup_plt(struct link_map *map, const Elf32_Rela *reloc,
                        Elf32_Addr *reloc_addr, Elf32_Addr finaladdr)
 {
@@ -361,6 +361,7 @@ __elf_machine_fixup_plt(struct link_map *map, const Elf32_Rela *reloc,
        }
     }
   MODIFIED_CODE (reloc_addr);
+  return finaladdr;
 }
 
 void
index f80544f..0307a29 100644 (file)
@@ -1,5 +1,6 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  PowerPC version.
-   Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 
+   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
@@ -252,12 +253,11 @@ extern Elf32_Addr __elf_machine_fixup_plt (struct link_map *map,
                                           Elf32_Addr finaladdr);
 
 static inline Elf32_Addr
-elf_machine_fixup_plt (struct link_map *l, lookup_t t,
+elf_machine_fixup_plt (struct link_map *map, lookup_t t,
                       const Elf32_Rela *reloc,
-                      Elf32_Addr *reloc_addr, Elf64_Addr value)
+                      Elf32_Addr *reloc_addr, Elf64_Addr finaladdr)
 {
-  __elf_machine_fixup_plt (map, reloc, reloc_addr, finaladdr);
-  return value;
+  return __elf_machine_fixup_plt (map, reloc, reloc_addr, finaladdr);
 }
 
 /* Return the final value of a plt relocation.  */
index 685c085..1974c44 100644 (file)
@@ -56,7 +56,7 @@ ENTRY(_dl_start_user)
        lwz     r29,_dl_argc@got(r31)
        lwz     r27,_dl_argv@got(r31)
 
-/* Call _dl_init (_dl_loaded, _dl_argc, _dl_argv, _dl_argv+_dl_argc+1)
+/* Call _dl_init (_dl_loaded, _dl_argc, _dl_argv, _dl_argv+_dl_argc+1). */
        lwz     r3,0(r28)
        lwz     r4,0(r29)
        lwz     r5,0(r27)
index a475875..204381e 100644 (file)
@@ -1,5 +1,5 @@
 /* Round a 64-bit floating point value to the nearest integer.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000 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
@@ -33,8 +33,8 @@ __rint (double x)
        }
       else if (x < 0.0)
        {
-         x -= TWO52;
-         x += TWO52;
+         x = TWO52 - x;
+         x = -(x - TWO52);
        }
     }
 
index dde40bb..12c6b55 100644 (file)
@@ -1,5 +1,5 @@
 /* Round a 32-bit floating point value to the nearest integer.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000 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
@@ -33,8 +33,8 @@ __rintf (float x)
        }
       else if (x < 0.0)
        {
-         x -= TWO23;
-         x += TWO23;
+         x = TWO23 - x;
+         x = -(x - TWO23);
        }
     }
   
index c5ba61d..c21081a 100644 (file)
@@ -46,3 +46,5 @@ sys_mknod     xmknod  mknod           3       __syscall_mknod
 sys_readv      readv   readv           3       __syscall_readv
 sys_stat       xstat   stat            2       __syscall_stat
 sys_writev     writev  writev          3       __syscall_writev
+oldgetrlimit   EXTRA   getrlimit       2       __old_getrlimit getrlimit@GLIBC_2.0
+oldsetrlimit   EXTRA   setrlimit       2       __old_setrlimit setrlimit@GLIBC_2.0