99 lines
2.9 KiB
Diff
99 lines
2.9 KiB
Diff
From ee65c9dde382e0235b6b53fa847b23d0097f554f Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Thu, 12 Jan 2017 12:13:32 -0800
|
|
Subject: [PATCH 28/28] Revert "Check IFUNC definition in unrelocated shared
|
|
library [BZ #20019]"
|
|
|
|
This reverts commit 0e6d3adc60d8073397af6a320e594d98d7fbedde.
|
|
|
|
Causes regression in OE a new tracker to fix it has been opened
|
|
|
|
https://sourceware.org/bugzilla/show_bug.cgi?id=21041
|
|
---
|
|
Upstream-Status: Inappropriate
|
|
|
|
ChangeLog | 7 -------
|
|
sysdeps/i386/dl-machine.h | 18 +-----------------
|
|
sysdeps/x86_64/dl-machine.h | 18 +-----------------
|
|
3 files changed, 2 insertions(+), 41 deletions(-)
|
|
|
|
diff --git a/ChangeLog b/ChangeLog
|
|
index f06c02a3c6..11d718d561 100644
|
|
--- a/ChangeLog
|
|
+++ b/ChangeLog
|
|
@@ -4396,13 +4396,6 @@
|
|
|
|
* math/test-nan-overflow.c: Include stdlib.h for malloc.
|
|
|
|
-2016-10-28 H.J. Lu <hongjiu.lu@intel.com>
|
|
-
|
|
- [BZ #20019]
|
|
- * sysdeps/i386/dl-machine.h (elf_machine_rel): Check IFUNC
|
|
- definition in unrelocated shared library.
|
|
- * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise.
|
|
-
|
|
2016-10-28 Florian Weimer <fweimer@redhat.com>
|
|
|
|
[BZ #20729]
|
|
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
|
|
index 6eca69d567..a9edb41aa6 100644
|
|
--- a/sysdeps/i386/dl-machine.h
|
|
+++ b/sysdeps/i386/dl-machine.h
|
|
@@ -321,23 +321,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
|
0)
|
|
&& __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
|
|
&& __builtin_expect (!skip_ifunc, 1))
|
|
- {
|
|
-# ifndef RTLD_BOOTSTRAP
|
|
- if (sym_map != map
|
|
- && sym_map->l_type != lt_executable
|
|
- && !sym_map->l_relocated)
|
|
- {
|
|
- const char *strtab
|
|
- = (const char *) D_PTR (map, l_info[DT_STRTAB]);
|
|
- _dl_fatal_printf ("\
|
|
-%s: Relink `%s' with `%s' for IFUNC symbol `%s'\n",
|
|
- RTLD_PROGNAME, map->l_name,
|
|
- sym_map->l_name,
|
|
- strtab + refsym->st_name);
|
|
- }
|
|
-# endif
|
|
- value = ((Elf32_Addr (*) (void)) value) ();
|
|
- }
|
|
+ value = ((Elf32_Addr (*) (void)) value) ();
|
|
|
|
switch (r_type)
|
|
{
|
|
diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h
|
|
index 3e7ae22c67..b3eb33f036 100644
|
|
--- a/sysdeps/x86_64/dl-machine.h
|
|
+++ b/sysdeps/x86_64/dl-machine.h
|
|
@@ -331,23 +331,7 @@ elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
|
0)
|
|
&& __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
|
|
&& __builtin_expect (!skip_ifunc, 1))
|
|
- {
|
|
-# ifndef RTLD_BOOTSTRAP
|
|
- if (sym_map != map
|
|
- && sym_map->l_type != lt_executable
|
|
- && !sym_map->l_relocated)
|
|
- {
|
|
- const char *strtab
|
|
- = (const char *) D_PTR (map, l_info[DT_STRTAB]);
|
|
- _dl_fatal_printf ("\
|
|
-%s: Relink `%s' with `%s' for IFUNC symbol `%s'\n",
|
|
- RTLD_PROGNAME, map->l_name,
|
|
- sym_map->l_name,
|
|
- strtab + refsym->st_name);
|
|
- }
|
|
-# endif
|
|
- value = ((ElfW(Addr) (*) (void)) value) ();
|
|
- }
|
|
+ value = ((ElfW(Addr) (*) (void)) value) ();
|
|
|
|
switch (r_type)
|
|
{
|
|
--
|
|
2.11.0
|
|
|