Age | Commit message (Collapse) | Author | Files | Lines |
|
* elf32-d30v.c: Likewise.
* elf32-dlx.c: Likewise.
* elf32-h8300.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-ip2k.c: Likewise.
* elf32-m68hc11.c: Likewise.
* elf32-mcore.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-v850.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-mips.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-sparc.c: Likewise.
* elflink.c: Likewise.
* elflink.h: Likewise.
* elfn32-mips.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
|
|
Add link info argument.
* elf32-i370.c (elf_backend_modify_segment_map): Likewise.
* elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
* elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
* elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
* elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
* elf.c (assign_file_positions_except_relocs,
assign_file_positions_for_segments): Likewise. Adjust calls.
|
|
of the note.
|
|
|
|
(mips_elf_set_no_stub): New function.
(mips_elf_multi_got): Call it.
(_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
use mips_elf_create_dynamic_relocation to deal with any compatibility
issues. Store the adjusted addend in the GOT slot.
|
|
|
|
|
|
ppc_stub_plt_call to symbols defined in shared libs.
|
|
|
|
* aout-arm.c: Likewise.
* aout-ns32k.c: Likewise.
* aoutx.h: Likewise.
* archures.c: Likewise.
* bfd-in.h: Likewise.
* bfd.c: Likewise.
* bfdio.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-i860.c: Likewise.
* coff-m88k.c: Likewise.
* coff-mcore.c: Likewise.
* coff-ppc.c: Likewise.
* coff-rs6000.c: Likewise.
* coff-z8k.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* cofflink.c: Likewise.
* cpu-alpha.c: Likewise.
* cpu-arm.c: Likewise.
* cpu-ns32k.c: Likewise.
* dwarf2.c: Likewise.
* bfd-in2.h: Regenerate.
|
|
|
|
|
|
* elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
* elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
(elf_i386_check_relocs): Set it.
(elf_i386_finish_dynamic_symbol): If it is not set,
clear st_value of SHN_UNDEF symbol.
|
|
|
|
|
|
family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
|
|
section for reloc output and subtract the output section's address
from the addend when converting a relocation into one against a
section symbol.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
|
|
|
bfd/ChangeLog
* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
(elfNN_ia64_size_dynamic_sections): When stripping sections, check
for ia64_info->rel_fptr_sec.
ld/ChangeLog
* emulparams/elf64_ia64.sh (OTHER_PLT_RELOC_SECTIONS): Include
.rela.opd if -pie.
|
|
|
|
size is zero.
|
|
|
|
ELF_LINK_HASH_NEEDS_PLT. Fix formatting.
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
* elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
(elf_backend_copy_indirect_symbol): Don't define.
|
|
|
|
GOT entries.
|
|
|
|
to R_390_RELAVITE. Convert the other relocations against local
symbols to relocations against the start of the section.
* elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
to R_390_RELAVITE. Convert the other relocations against local
symbols to relocations against the start of the section.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(shared_stub_entry, stub_entry): Make them arrays of ints.
Remove initial branch.
(ppc_elf_relax_section): Write one branch around all trampolines
instead. Correct bogus R_PPC_PLTREL24 handling. Correct
branch range check. Only use shared_stub_entry when shared.
Test that branches can reach stubs. Write trampolines out at
end so that just one realloc is used. Handle little-endian
mode. Move relevant code from ppc_elf_install_value to here.
(ppc_elf_relocate_section): Move code handling RELAX32 from
ppc_elf_install_value to here.
|
|
(ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate
cases.
(shared_stub_entry): Correct opcode.
(ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
(ppc_elf_relocate_section): Handle them.
|
|
|
|
updated section in case of merged section.
* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
* elf32-cris.c (cris_elf_relocate_section): Likewise.
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-s390.c (elf_s390_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf32-v850.c (v850_elf_relocate_section) Likewise.
* elf32-vax.c (elf_vax_relocate_section): Likewise.
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
* elf64-s390.c (elf_s390_relocate_section): Likewise.
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
section for reloc output.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf32-vax.c (elf_vax_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value
return value.
* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
sec->id.
|
|
(elf32_d10v_relocate_section): Use them to handle -r reloc
adjustments, and in place of _bfd_elf_rela_local_sym.
|
|
|
|
(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
weakdefs.
(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
(elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef
NON_GOT_REF.
(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with
non-default visibility.
(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
SYMBOL_CALLS_LOCAL.
|
|
|
|
* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
|
|
"dereferencing type-punned pointer" warnings.
|
|
* aoutx.h (NAME(aout,set_section_contents)): Ditto.
* bfd-in2.h: Regenerate.
* binary.c (binary_set_section_contents): Ditto.
* bout.c (b_out_set_section_contents): Ditto.
* coff-tic54x.c (tic54x_set_section_contents): Ditto.
* coffcode.h (coff_set_section_contents): Ditto.
* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
* elf.c (_bfd_elf_set_section_contents): Ditto.
* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
* i386msdos.c (msdos_set_section_contents): Ditto.
* ieee.c (ieee_set_section_contents): Ditto.
* ihex.c (ihex_set_section_contents): Ditto.
* libaout.h (NAME(aout,set_section_contents)): Ditto.
* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
(_bfd_generic_set_section_contents): Ditto.
* libbfd.h: Regenerate.
* libbfd.c (_bfd_generic_set_section_contents): Ditto.
* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
* libnlm.h (nlmNAME(set_section_contents)): Ditto.
(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
* mmo.c (mmo_set_section_contents): Ditto.
* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
* nlmcode.h (nlm_set_section_contents): Ditto.
* oasys.c (oasys_set_section_contents): Ditto.
* pdp11.c (NAME(aout,set_section_contents)): Ditto.
* ppcboot.c (ppcboot_set_section_contents): Ditto.
* srec.c (srec_set_section_contents): Ditto.
* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
* tekhex.c (tekhex_set_section_contents): Ditto.
(move_section_contents): Ditto.
* versados.c (versados_set_section_contents): Ditto.
* vms-misc.c (_bfd_save_vms_section): Ditto.
* vms.c (vms_set_section_contents): Ditto.
* vms.h (_bfd_save_vms_section): Ditto.
|
|
rather than htab.
(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
relbrlt size.
(ppc64_elf_build_stubs): Allocate space for relbrlt.
|
|
* bfd-in2.h: Regenerate.
* elf-bfd.h (struct elf_link_tls_segment): Delete.
(struct elf_link_hash_table): Add tls_sec and tls_size.
* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
* elflink.c (_bfd_elf_tls_setup): New function.
* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
(elf_bfd_final_link): Don't set first_tls_sec here. Update code
saving tls segment info, round segment size up.
(elf_link_output_extsym): Adjust code using tls segment info.
(elf_link_input_bfd): Likewise.
* elf32-i386.c (dtpoff_base, tpoff): Likewise.
* elf32-s390.c (dtpoff_base, tpoff): Likewise.
* elf32-sh.c (dtpoff_base, tpoff): Likewise.
* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
* elf64-s390.c (dtpoff_base, tpoff): Likewise.
* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
(elfNN_ia64_dtprel_base): Likewise.
* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
(alpha_get_tprel_base): Likewise.
(struct alpha_relax_info): Remove tls_segment.
(elf64_alpha_relax_got_load): Adjust invocation of
alpha_get_dtprel_base and alpha_get_tprel_base.
(elf64_alpha_relax_tls_get_addr): Likewise.
(elf64_alpha_relax_section): Likewise.
(elf64_alpha_relocate_section): Likewise.
(elf64_alpha_relax_find_tls_segment): Delete.
* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
(ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
* elf32-ppc.h (ppc_elf_tls_setup): Update.
* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
(ppc64_elf_relocate_section): Likewise.
* elf64-ppc.h (ppc64_elf_tls_setup): Update.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
_bfd_elf_tls_setup.
|
|
|
|
* elf-m10300.c (elf_backend_plt_header_size): Don't define.
* elf32-arm.h (elf_backend_plt_header_size): Don't define.
* elf32-cris.c (elf_backend_plt_header_size): Don't define.
* elf32-i386.c (elf_backend_plt_header_size): Don't define.
* elf32-mips.c (elf_backend_plt_header_size): Don't define.
* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
* elf32-s390.c (elf_backend_plt_header_size): Don't define.
* elf32-sh.c (elf_backend_plt_header_size): Don't define.
* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
* elf64-mips.c (elf_backend_plt_header_size): Don't define.
* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
* elf64-s390.c (elf_backend_plt_header_size): Don't define.
* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
* elfxx-target.h (elf_backend_plt_header_size): Don't define
or include in target initializer.
|