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.16-ports-merge-380-gaa9bbfe


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  aa9bbfe6a79fce593ab3d298bb0e880d77eb7f71 (commit)
      from  c39bc8b8254364fda301a89180130c3586859d75 (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=aa9bbfe6a79fce593ab3d298bb0e880d77eb7f71

commit aa9bbfe6a79fce593ab3d298bb0e880d77eb7f71
Author: David S. Miller <davem@davemloft.net>
Date:   Thu Sep 27 21:33:54 2012 -0700

    Fix sparc64 crashes with LD_BIND_NOW and --enable-bind-now.
    
    	[BZ #14376]
    	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Do not
    	pass reloc->r_addend in as the 'high' argument to
    	sparc64_fixup_plt when handling R_SPARC_JMP_IREL relocations.

diff --git a/ChangeLog b/ChangeLog
index c55a72e..5729b4c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-09-27  David S. Miller  <davem@davemloft.net>
+
+	[BZ #14376]
+	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Do not
+	pass reloc->r_addend in as the 'high' argument to
+	sparc64_fixup_plt when handling R_SPARC_JMP_IREL relocations.
+
 2012-09-28  Pino Toscano  <toscano.pino@tiscali.it>
 
 	* rt/tst-aio2.c: Include <pthread.h>.
diff --git a/NEWS b/NEWS
index cd0c579..c0a671d 100644
--- a/NEWS
+++ b/NEWS
@@ -13,8 +13,8 @@ Version 2.17
   13412, 13542, 13629, 13679, 13696, 13717, 13741, 13939, 13966, 14042,
   14090, 14150, 14151, 14154, 14157, 14166, 14173, 14195, 14237, 14252,
   14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349,
-  14459, 14476, 14505, 14510, 14516, 14518, 14519, 14530, 14532, 14538,
-  14544, 14545, 14562, 14576, 14579, 14583, 14587, 14621.
+  14376, 14459, 14476, 14505, 14510, 14516, 14518, 14519, 14530, 14532,
+  14538, 14544, 14545, 14562, 14576, 14579, 14583, 14587, 14621.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index 35c24d1..2f8bbe1 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -458,7 +458,14 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
       break;
     case R_SPARC_JMP_IREL:
       value = ((Elf64_Addr (*) (int)) value) (GLRO(dl_hwcap));
-      /* Fall thru */
+      /* 'high' is always zero, for large PLT entries the linker
+	 emits an R_SPARC_IRELATIVE.  */
+#ifdef RESOLVE_CONFLICT_FIND_MAP
+      sparc64_fixup_plt (NULL, reloc, reloc_addr, value, 0, 0);
+#else
+      sparc64_fixup_plt (map, reloc, reloc_addr, value, 0, 0);
+#endif
+      break;
     case R_SPARC_JMP_SLOT:
 #ifdef RESOLVE_CONFLICT_FIND_MAP
       /* R_SPARC_JMP_SLOT conflicts against .plt[32768+]

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

Summary of changes:
 ChangeLog                          |    7 +++++++
 NEWS                               |    4 ++--
 sysdeps/sparc/sparc64/dl-machine.h |    9 ++++++++-
 3 files changed, 17 insertions(+), 3 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]