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

[Commits] r17956 - in /fsf/trunk/libc: ./ elf/ sysdeps/i386/i686/ sysdeps/sparc/sparc32/ sysdeps/sparc/sparc64/ sysdeps/x86_64/



Author: eglibc
Date: Sun Apr  8 00:02:06 2012
New Revision: 17956

Log:
Import glibc-mainline for 2012-04-08

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/elf/dynamic-link.h
    fsf/trunk/libc/elf/elf.h
    fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S
    fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h
    fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h
    fsf/trunk/libc/sysdeps/x86_64/memset_chk.S

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Apr  8 00:02:06 2012
@@ -1,3 +1,21 @@
+2012-04-07  Mike Frysinger  <vapier@xxxxxxxxxx>
+
+	* sysdeps/i386/i686/memset_chk.S: Change PIC to SHARED.
+	* sysdeps/x86_64/memset_chk.S: Likewise.
+
+2012-04-07  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* elf/elf.h (R_SPARC_WDISP10): Define.
+	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle
+	R_SPARC_SIZE32.
+	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle
+	R_SPARC_SIZE64 and R_SPARC_H34.
+
+2012-04-07  Carlos O'Donell  <carlos_odonell@xxxxxxxxxx>
+
+	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Simplify
+	conditions and remove no longer applicable assertion.
+
 2012-04-06  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 
 	* bits/byteswap.h (__bswap_16): Removed.

Modified: fsf/trunk/libc/elf/dynamic-link.h
==============================================================================
--- fsf/trunk/libc/elf/dynamic-link.h (original)
+++ fsf/trunk/libc/elf/dynamic-link.h Sun Apr  8 00:02:06 2012
@@ -278,13 +278,7 @@
 									      \
 	if (__builtin_expect (ranges[0].size, 1))			      \
 	  ranges[0].size = (start - ranges[0].start);			      \
-	if (! ELF_DURING_STARTUP					      \
-	    && ((do_lazy)						      \
-		/* This test does not only detect whether the relocation      \
-		   sections are in the right order, it also checks whether    \
-		   there is a DT_REL/DT_RELA section.  */		      \
-		|| __builtin_expect (ranges[0].start + ranges[0].size	      \
-				     != start, 0)))			      \
+	if (! ELF_DURING_STARTUP && ((do_lazy) || ranges[0].size == 0))	      \
 	  {								      \
 	    ranges[1].start = start;					      \
 	    ranges[1].size = (map)->l_info[DT_PLTRELSZ]->d_un.d_val;	      \
@@ -293,7 +287,6 @@
 	else								      \
 	  {								      \
 	    /* Combine processing the sections.  */			      \
-	    assert (ranges[0].start + ranges[0].size == start);		      \
 	    ranges[0].size += (map)->l_info[DT_PLTRELSZ]->d_un.d_val;	      \
 	  }								      \
       }									      \

Modified: fsf/trunk/libc/elf/elf.h
==============================================================================
--- fsf/trunk/libc/elf/elf.h (original)
+++ fsf/trunk/libc/elf/elf.h Sun Apr  8 00:02:06 2012
@@ -1327,6 +1327,7 @@
 #define R_SPARC_H34		85
 #define R_SPARC_SIZE32		86
 #define R_SPARC_SIZE64		87
+#define R_SPARC_WDISP10		88
 #define R_SPARC_JMP_IREL	248
 #define R_SPARC_IRELATIVE	249
 #define R_SPARC_GNU_VTINHERIT	250

Modified: fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S Sun Apr  8 00:02:06 2012
@@ -19,7 +19,7 @@
 #include <sysdep.h>
 #include "asm-syntax.h"
 
-#ifndef PIC
+#ifndef SHARED
 	/* For libc.so this is defined in memset.S.
 	   For libc.a, this is a separate source to avoid
 	   memset bringing in __chk_fail and all routines

Modified: fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h Sun Apr  8 00:02:06 2012
@@ -359,6 +359,12 @@
   if (__builtin_expect (r_type == R_SPARC_NONE, 0))
     return;
 
+  if (__builtin_expect (r_type == R_SPARC_SIZE32, 0))
+    {
+      *reloc_addr = sym->st_size + reloc->r_addend;
+      return;
+    }
+
 #if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
   if (__builtin_expect (r_type == R_SPARC_RELATIVE, 0))
     {

Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h Sun Apr  8 00:02:06 2012
@@ -385,6 +385,12 @@
   if (__builtin_expect (r_type == R_SPARC_NONE, 0))
     return;
 
+  if (__builtin_expect (r_type == R_SPARC_SIZE64, 0))
+    {
+      *reloc_addr = sym->st_size + reloc->r_addend;
+      return;
+    }
+
 #if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
   if (__builtin_expect (r_type == R_SPARC_RELATIVE, 0))
     {
@@ -552,6 +558,12 @@
 	 (((value & 0x3ff) + ELF64_R_TYPE_DATA (reloc->r_info)) & 0x1fff));
       break;
 
+      /* ABS34 code model reloc */
+    case R_SPARC_H34:
+      *(unsigned int *) reloc_addr =
+	((*(unsigned int *)reloc_addr & 0xffc00000) |
+	 ((value >> 12) & 0x3fffff));
+
       /* MEDMID code model relocs */
     case R_SPARC_H44:
       *(unsigned int *) reloc_addr =

Modified: fsf/trunk/libc/sysdeps/x86_64/memset_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/memset_chk.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/memset_chk.S Sun Apr  8 00:02:06 2012
@@ -19,7 +19,7 @@
 #include <sysdep.h>
 #include "asm-syntax.h"
 
-#ifndef PIC
+#ifndef SHARED
 	/* For libc.so this is defined in memset.S.
 	   For libc.a, this is a separate source to avoid
 	   memset bringing in __chk_fail and all routines

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits