generic-poky/meta/recipes-core/glibc/glibc/0028-Revert-Check-IFUNC-def...

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