This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.15-566-g5ed848f


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  5ed848f3d8b5b3be92fe3006fd18a089ef982316 (commit)
      from  96154cd892c614f13f32996ce75df1442641fb5b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5ed848f3d8b5b3be92fe3006fd18a089ef982316

commit 5ed848f3d8b5b3be92fe3006fd18a089ef982316
Author: David S. Miller <davem@davemloft.net>
Date:   Sat Apr 7 09:29:14 2012 -0700

    Handle some new sparc relocation types.
    
    	* 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.

diff --git a/ChangeLog b/ChangeLog
index 0544a89..cdecc65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-04-07  David S. Miller  <davem@davemloft.net>
+
+	* 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@mentor.com>
 
 	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Simplify
diff --git a/elf/elf.h b/elf/elf.h
index a71de72..347d6d8 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1327,6 +1327,7 @@ typedef struct
 #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
diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h
index 31b540a..2dfeeb2 100644
--- a/sysdeps/sparc/sparc32/dl-machine.h
+++ b/sysdeps/sparc/sparc32/dl-machine.h
@@ -359,6 +359,12 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
   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))
     {
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index 4b14593..35c24d1 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -385,6 +385,12 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
   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 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
 	 (((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 =

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                          |    8 ++++++++
 elf/elf.h                          |    1 +
 sysdeps/sparc/sparc32/dl-machine.h |    6 ++++++
 sysdeps/sparc/sparc64/dl-machine.h |   12 ++++++++++++
 4 files changed, 27 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]