[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r8522 - in /fsf/trunk/libc: ./ manual/ sysdeps/i386/ sysdeps/x86_64/



Author: eglibc
Date: Tue Jun  2 00:08:53 2009
New Revision: 8522

Log:
Import glibc-mainline for 2009-06-02

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/manual/charset.texi
    fsf/trunk/libc/sysdeps/i386/dl-irel.h
    fsf/trunk/libc/sysdeps/i386/dl-machine.h
    fsf/trunk/libc/sysdeps/x86_64/dl-irel.h
    fsf/trunk/libc/sysdeps/x86_64/dl-machine.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Tue Jun  2 00:08:53 2009
@@ -1,3 +1,13 @@
+2009-06-01  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/i386/dl-machine.h (elf_machine_rel): Reorder conditions
+	for STT_GNU_IFUNC handling for efficiency.
+	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
+
+	* sysdeps/i386/dl-irel.h (elf_irel): Use __libc_fatal instead of just
+	_exit.
+	* sysdeps/x86_64/dl-irel.h (elf_irela): Likewise.
+
 2009-05-31  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/x86_64/multiarch/sched_cpucount.c: Also use optimized code

Modified: fsf/trunk/libc/manual/charset.texi
==============================================================================
--- fsf/trunk/libc/manual/charset.texi (original)
+++ fsf/trunk/libc/manual/charset.texi Tue Jun  2 00:08:53 2009
@@ -1234,7 +1234,7 @@
       /* @r{If any characters must be carried forward,}
          @r{put them at the beginning of @code{buffer}.} */
       if (filled > 0)
-        memmove (inp, buffer, filled);
+        memmove (buffer, inp, filled);
     @}
 
   return 1;

Modified: fsf/trunk/libc/sysdeps/i386/dl-irel.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/dl-irel.h (original)
+++ fsf/trunk/libc/sysdeps/i386/dl-irel.h Tue Jun  2 00:08:53 2009
@@ -21,6 +21,7 @@
 #ifndef _DL_IREL_H
 #define _DL_IREL_H
 
+#include <stdio.h>
 #include <unistd.h>
 
 #define ELF_MACHINE_IREL	1
@@ -38,7 +39,7 @@
       *reloc_addr = value;
     }
   else
-    _exit (-1);
+    __libc_fatal ("unexpected reloc type in static binary");
 }
 
 #endif /* dl-irel.h */

Modified: fsf/trunk/libc/sysdeps/i386/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/i386/dl-machine.h Tue Jun  2 00:08:53 2009
@@ -345,9 +345,9 @@
       Elf32_Addr value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value;
 
       if (sym != NULL
-	  && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
 	  && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC,
-			       0))
+			       0)
+	  && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1))
 	value = ((Elf32_Addr (*) (void)) value) ();
 
       switch (r_type)

Modified: fsf/trunk/libc/sysdeps/x86_64/dl-irel.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/dl-irel.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/dl-irel.h Tue Jun  2 00:08:53 2009
@@ -21,6 +21,7 @@
 #ifndef _DL_IREL_H
 #define _DL_IREL_H
 
+#include <stdio.h>
 #include <unistd.h>
 
 #define ELF_MACHINE_IRELA	1
@@ -38,7 +39,7 @@
       *reloc_addr = value;
     }
   else
-    _exit (-1);
+    __libc_fatal ("unexpected reloc type in static binary");
 }
 
 #endif /* dl-irel.h */

Modified: fsf/trunk/libc/sysdeps/x86_64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/dl-machine.h Tue Jun  2 00:08:53 2009
@@ -297,9 +297,9 @@
 			  : (Elf64_Addr) sym_map->l_addr + sym->st_value);
 
       if (sym != NULL
-	  && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
 	  && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC,
-			       0))
+			       0)
+	  && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1))
 	value = ((Elf64_Addr (*) (void)) value) ();
 
 # if defined RTLD_BOOTSTRAP && !USE___THREAD