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.24-671-g6fab532


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  6fab532b4781b0bcb554fd5c2f2e6d5448343aff (commit)
      from  ed8d5ffd0a14e84298a15ae2ec9b799010166b28 (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=6fab532b4781b0bcb554fd5c2f2e6d5448343aff

commit 6fab532b4781b0bcb554fd5c2f2e6d5448343aff
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Feb 2 13:14:43 2017 -0800

    Allow IFUNC relocation against unrelocated shared library
    
    IFUNC relocation against definition in unrelocated shared library
    will lead to segfault when the IFUNC function is called.  This
    patch allows such IFUNC relocations with a warning.  This isn't
    a real fix for
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21041
    
    It simply allows the program to load.  The program will segfault
    when longjmp is called.
    
    	* sysdeps/i386/dl-machine.h (elf_machine_rel): Replace
    	_dl_fatal_printf with _dl_error_printf for IFUNC relocation
    	against unrelocated shared library.
    	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.

diff --git a/ChangeLog b/ChangeLog
index a210e63..9b5b2eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-02-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/i386/dl-machine.h (elf_machine_rel): Replace
+	_dl_fatal_printf with _dl_error_printf for IFUNC relocation
+	against unrelocated shared library.
+	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
+
 2017-02-02  Siddhesh Poyarekar  <siddhesh@sourceware.org>
 
 	* sysdeps/generic/unsecvars.h: Add GLIBC_TUNABLES.
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index 6eca69d..99a72f6 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -329,7 +329,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
 	    {
 	      const char *strtab
 		= (const char *) D_PTR (map, l_info[DT_STRTAB]);
-	      _dl_fatal_printf ("\
+	      _dl_error_printf ("\
 %s: Relink `%s' with `%s' for IFUNC symbol `%s'\n",
 				RTLD_PROGNAME, map->l_name,
 				sym_map->l_name,
diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h
index 3e7ae22..daf4d8c 100644
--- a/sysdeps/x86_64/dl-machine.h
+++ b/sysdeps/x86_64/dl-machine.h
@@ -339,7 +339,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
 	    {
 	      const char *strtab
 		= (const char *) D_PTR (map, l_info[DT_STRTAB]);
-	      _dl_fatal_printf ("\
+	      _dl_error_printf ("\
 %s: Relink `%s' with `%s' for IFUNC symbol `%s'\n",
 				RTLD_PROGNAME, map->l_name,
 				sym_map->l_name,

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

Summary of changes:
 ChangeLog                   |    7 +++++++
 sysdeps/i386/dl-machine.h   |    2 +-
 sysdeps/x86_64/dl-machine.h |    2 +-
 3 files changed, 9 insertions(+), 2 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]