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.
+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.
{
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,
{
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,