Age | Commit message (Collapse) | Author | Files | Lines |
|
(struct ppc64_elf_obj_tdata): New.
(ppc64_elf_tdata, ppc64_tlsld_got): Define.
(ppc64_elf_mkobject): New function.
(struct got_entry): Add "owner". Move "tls_type".
(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
(ppc64_elf_init_stub_bfd): New function.
(create_got_section): Create header .got in dynobj. Create .got
and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
Look for dynobj .got, and test it.
(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
(update_local_sym_info): Likewise.
(ppc64_elf_check_relocs): Likewise.
(ppc64_elf_gc_sweep_hook): Likewise.
(ppc64_elf_tls_optimize): Likewise.
(allocate_dynrelocs): Likewise.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc64_elf_relocate_section): Likewise.
(ppc64_elf_next_toc_section): Update comment.
(toc_adjusting_stub_needed): Remove unneeded cast.
(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
testing section flags.
(ppc64_elf_build_stubs): Likewise.
(ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
(ppc64_elf_finish_dynamic_sections): Write out got sections.
(func_desc_adjust): Copy over dynamic info for undef weaks.
* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
(ppc64_elf_size_stubs): Update prototype.
* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
input sections rather than scanning dynobj.
|
|
|
|
(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
(mips_elf_create_msym_section): Delete.
(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
(_bfd_mips_elf_copy_indirect_symbol): Likewise.
(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
(_bfd_mips_elf_finish_dynamic_sections): Likewise.
|
|
symbols protected.
|
|
of relocations whose offset is -2.
|
|
forced-local symbols like other locals. Don't create relocations
against STN_UNDEF in irix objects.
|
|
compatible objects, add the values of defined external symbols
to the addend.
|
|
initialize a GOT entry to the symbol's st_value.
|
|
|
|
* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
(ppc_elf_tdata): Define.
(elf_local_ptr_offsets): Adjust.
(ppc_elf_mkobject): New function.
(bfd_elf32_mkobject): Define.
|
|
* elfcore.h (elf_core_file_p): Likewise.
* section.c (bfd_section_init): Remove prototype.
|
|
|
|
field.
(enum elf_linker_section_enum): Delete.
(struct elf_linker_section): Delete.
(struct elf_linker_section_pointers): Delete.
(struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
Make linker_section_pointers a void**.
(elf_local_ptr_offsets, elf_linker_section): Don't define.
* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
of old item in elf-bfd.h.
(struct elf_linker_section): Likewise.
(struct elf_linker_section_pointers): Likewise.
(elf_local_ptr_offsets): Define.
(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
(ppc_elf_link_hash_newfunc): Init it.
(struct ppc_elf_link_hash_table): Add sbss.
(ppc_elf_link_hash_table_create): zmalloc rather than clearing
individual fields.
(elf_create_linker_section): Fold into..
(ppc_elf_create_linker_section): ..here. Remove hole_size code.
Make rela section here if shared.
(elf_find_pointer_linker_section): Pass lsect rather than enum.
(elf_create_pointer_linker_section): Adjust. zalloc rather than
clearing in a loop.
(elf_finish_pointer_linker_section): Adjust. Don't make rela
section here.
(ppc_elf_check_relocs): Adjust.
(ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
creating .sbss by hand.
* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
|
|
complain_overflow_bitfield.
* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
complain_overflow_bitfield.
|
|
|
|
|
|
|
|
|
|
|
|
true even if -pie.
|
|
* 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.
|
|
(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
<R_H8_DIR32A16>: Fix type of relocation.
* ld-h8300/h8300.exp: Replace loop with explicit list. Run relax.d
unconditionally. Run relax-2.d for *-elf targets.
* ld-h8300/relax.d: Fix typo.
* ld-h8300/relax.s: Add 0x prefixes.
* ld-h8300/relad-2.[sd]: New test.
|
|
sections were created already. Remove unnecessary tests of
the previous change.
|
|
bfd_make_section for existing sections.
|
|
create_got_section if we already have done so.
* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
(sh_elf_check_relocs): Likewise.
(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
htab->root.dynobj instead.
(sh_elf_check_relocs): Likewise.
(sh_elf_finish_dynamic_sections): Likewise.
|
|
|
|
ppc_elf_create_got if we've already done so.
|
|
(_bfd_elf_find_pointer_linker_section): Likewise.
(bfd_elf32_create_pointer_linker_section): Likewise.
(bfd_elf32_finish_pointer_linker_section): Likewise.
(bfd_elf64_create_pointer_linker_section): Likewise.
(bfd_elf64_finish_pointer_linker_section): Likewise.
(_bfd_elf_make_linker_section_rela): Likewise.
* elfcode.h (elf_create_pointer_linker_section): Don't define.
(elf_finish_pointer_linker_section): Likewise.
* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
(_bfd_elf_create_linker_section): Move this function..
(_bfd_elf_find_pointer_linker_section): ..and this..
* elflink.h (elf_create_pointer_linker_section): ..and this..
(elf_finish_pointer_linker_section): ..and this..
* elf32-ppc.c: ..to here, renaming to the following, and adjusting
calls.
(elf_create_linker_section): Convert to C90, tidy.
(elf_find_pointer_linker_section): Likewise.
(elf_create_pointer_linker_section): Likewise.
(elf_finish_pointer_linker_section): Likewise.
* elf32-i370.c: Delete #if 0 code.
|
|
|
|
|
|
_restf* to be satisfied by shared libs, and always force them local.
(toc_adjusting_stub_needed): Avoid scanning linker created sections.
Correct test for "bl".
(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
primary opcode 31.
|
|
|
|
(s390_tls_reloc): New function.
(elf_howto_table): Add long displacement relocations R_390_20,
R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
(elf_s390_reloc_type_lookup): Likewise.
(elf_s390_check_relocs): Likewise.
(elf_s390_gc_sweep_hook): Likewise.
(elf_s390_relocate_section): Likewise.
* elf64-s390.c: Same changes as for elf32-s390.c.
* reloc.c: Add long displacement relocations BFD_RELOC_390_20,
BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
BFD_RELOC_390_TLS_GOTIE20.
* bfd-in2.h: Regenerate.
* libbfd.h: Likewise.
|
|
|
|
(ins_imms, ins_immsm1u4): Likewise. Warning fix.
|
|
|
|
|
|
|
|
unnecessary prototypes. Replace PTR with void *.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
relocation header setup.
* binutils-all/readelf.ss-tmips: Adjust symbol indices.
|
|
|
|
|
|
|
|
(ppc_elf_reloc_type_lookup): Modify comment.
(ppc_elf_info_to_howto): Ditto.
(ppc_elf_relocate_section): Ditto.
(ppc_elf_check_relocs): Call ppc_elf_howto_init.
|