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.21-399-g3e058c9


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  3e058c9d7eab6d6361e7cda5ba1394bc1757c9f6 (commit)
      from  333e1ba4e53456a603621274177ae9393b9d5385 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3e058c9d7eab6d6361e7cda5ba1394bc1757c9f6

commit 3e058c9d7eab6d6361e7cda5ba1394bc1757c9f6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 22 17:46:42 2015 -0700

    Don't issue an error if DT_PLTRELSZ is missing
    
    A shared object doesn't need PLT if there are no PLT relocations.  It
    shouldn't be an error if DT_PLTRELSZ is missing.
    
    	[BZ #18410]
    	* elf/dl-reloc.c (_dl_relocate_object): Don't issue an error
    	for missing DT_PLTRELSZ.

diff --git a/ChangeLog b/ChangeLog
index f546455..4e289a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-05-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #18410]
+	* elf/dl-reloc.c (_dl_relocate_object): Don't issue an error
+	for missing DT_PLTRELSZ.
+
 2015-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Remove obsolete aliases that broke 'locale -a'
diff --git a/NEWS b/NEWS
index 529b79b..2e47f79 100644
--- a/NEWS
+++ b/NEWS
@@ -18,8 +18,8 @@ Version 2.22
   18029, 18030, 18032, 18036, 18038, 18039, 18042, 18043, 18046, 18047,
   18049, 18068, 18080, 18093, 18100, 18104, 18110, 18111, 18125, 18128,
   18138, 18185, 18196, 18197, 18206, 18210, 18211, 18217, 18220, 18221,
-  18244, 18247, 18287, 18319, 18333, 18346, 18397, 18409, 18412, 18418,
-  18434, 18444.
+  18244, 18247, 18287, 18319, 18333, 18346, 18397, 18409, 18410, 18412,
+  18418, 18434, 18444.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 0872636..61252d7 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -258,21 +258,13 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
     ELF_DYNAMIC_RELOCATE (l, lazy, consider_profiling, skip_ifunc);
 
 #ifndef PROF
-    if (__glibc_unlikely (consider_profiling))
+    if (__glibc_unlikely (consider_profiling)
+	&& l->l_info[DT_PLTRELSZ] != NULL)
       {
 	/* Allocate the array which will contain the already found
 	   relocations.  If the shared object lacks a PLT (for example
 	   if it only contains lead function) the l_info[DT_PLTRELSZ]
 	   will be NULL.  */
-	if (l->l_info[DT_PLTRELSZ] == NULL)
-	  {
-	    errstring = N_("%s: no PLTREL found in object %s\n");
-	  fatal:
-	    _dl_fatal_printf (errstring,
-			      RTLD_PROGNAME,
-			      l->l_name);
-	  }
-
 	size_t sizeofrel = l->l_info[DT_PLTREL]->d_un.d_val == DT_RELA
 			   ? sizeof (ElfW(Rela))
 			   : sizeof (ElfW(Rel));
@@ -283,7 +275,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
 	  {
 	    errstring = N_("\
 %s: out of memory to store relocation results for %s\n");
-	    goto fatal;
+	    _dl_fatal_printf (errstring, RTLD_PROGNAME, l->l_name);
 	  }
       }
 #endif

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

Summary of changes:
 ChangeLog      |    6 ++++++
 NEWS           |    4 ++--
 elf/dl-reloc.c |   14 +++-----------
 3 files changed, 11 insertions(+), 13 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]