summaryrefslogtreecommitdiff
path: root/bfd/elf32-i386.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2003-07-04 13:53:37 +0000
committerJakub Jelinek <jakub@redhat.com>2003-07-04 13:53:37 +0000
commitb673ba41ccd86116cb1800e75260de6bf773d977 (patch)
tree1e6729378eacf18e3d57881de5e34346891c6c4b /bfd/elf32-i386.c
parent2814b965bf798b3aa52c91cabeed23c9257857ee (diff)
downloadgdb-b673ba41ccd86116cb1800e75260de6bf773d977.tar.gz
bfd/
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec. (elfNN_ia64_dynamic_symbol_p): Change info->shared into !info->executable. (get_fptr): For -pie create .opd as writable section and create .rela.opd as well. (elfNN_ia64_check_relocs): Change info->shared into !info->executable. (allocate_fptr): Likewise. (allocate_dynrel_entries): Account for a relative reloc for -pie @fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr for undefweak symbol. Account for an IPLT reloc in .rela.opd section if -pie. (set_got_entry): Don't create a relative reloc if -pie want_ltoff_fptr for undefweak symbol. (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie. (elfNN_ia64_relocate_section): Emit a relative reloc for -pie @fptr(). * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol even if -pie. * elf32-i386.c (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elf32-ppc.c (ppc_elf_relocate_section): Likewise. ld/ * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't include .opd if -pie. (OTHER_READWRITE_SECTIONS): Include .opd if -pie. * scripttempl/elf.sc: Use SHLIB_DATA_ADDR instead of DATA_ADDR if -pie.
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r--bfd/elf32-i386.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 3c7bbd991da..0ddd5078fc2 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -2177,7 +2177,7 @@ elf_i386_relocate_section (bfd *output_bfd,
}
else if (h->root.type == bfd_link_hash_undefweak)
;
- else if (info->shared
+ else if (!info->executable
&& !info->no_undefined
&& ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
;