summaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-12 02:12:47 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-12 02:14:34 -0700
commit9f8575350f980aa6da8c488c6aa30862620eaa1f (patch)
treeb0bc03bd7456aad7444e20a511405cf3ab4ccce4 /bfd/elf32-i386.c
parent359987e21867b730564ff46ddceaafdc93d0fb49 (diff)
downloadbinutils-gdb-9f8575350f980aa6da8c488c6aa30862620eaa1f.tar.gz
x86: Add _bfd_x86_elf_hide_symbol
When there is no dynamic interpreter in PIE, make the undefined weak symbol dynamic so that PC relative branch to the undefined weak symbol will land to address 0. * elf32-i386.c (elf_backend_hide_symbol): New. * elf64-x86-64.c (elf_backend_hide_symbol): Likewise. * elfxx-x86.c (_bfd_x86_elf_hide_symbol): Likewise. * elfxx-x86.h (_bfd_x86_elf_hide_symbol): Likewise.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index bcb219ebe4d..cf2e43fc5e1 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -4586,6 +4586,7 @@ elf_i386_link_setup_gnu_properties (struct bfd_link_info *info)
#define elf_backend_reloc_type_class elf_i386_reloc_type_class
#define elf_backend_relocate_section elf_i386_relocate_section
#define elf_backend_setup_gnu_properties elf_i386_link_setup_gnu_properties
+#define elf_backend_hide_symbol _bfd_x86_elf_hide_symbol
#define elf_backend_linux_prpsinfo32_ugid16 TRUE