1. 01 Feb, 2017 1 commit
  2. 15 Nov, 2013 14 commits
  3. 27 Aug, 2013 1 commit
    • Alan Modra's avatar
      * elf-bfd.h (struct elf_backend_data): Remove as_needed_cleanup. · e5034e59
      Alan Modra authored
      	Add notice_as_needed.
      	* elf64-ppc.c (elf_backend_as_needed_cleanup): Don't define.
      	(elf_backend_notice_as_needed): Define.
      	(ppc64_elf_as_needed_cleanup): Rename and adjust..
      	(ppc64_elf_notice_as_needed): ..to this.
      	* elflink.c (_bfd_elf_notice_as_needed): New function, extracted..
      	(elf_link_add_object_symbols): ..from here.
      	* elfxx-target.h (elf_backend_as_needed_cleanup): Don't define.
      	(elf_backend_notice_as_needed): Define..
      	(elfNN_bed): ..and use here.
      e5034e59
  4. 25 Jul, 2013 1 commit
  5. 03 Jul, 2013 3 commits
    • Alan Modra's avatar
      * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't hide .TOC. · 5295321c
      Alan Modra authored
      	when relocatable.  Don't change root.type or type here.
      	(ppc64_elf_set_toc): Set type of .TOC. to STT_OBJECT.
      5295321c
    • Alan Modra's avatar
      bfd/ · ba8ca3e7
      Alan Modra authored
      	* elf64-ppc.c (struct ppc_stub_hash_entry): Delete "addend".
      	(ppc64_elf_size_stubs): Don't set "addend".
      	(ppc64_elf_relocate_section): Don't allow calls via
      	toc-adjusting stubs without a following nop even in an
      	executable, except for self-calls and both libc_start_main
      	and .libc_start_main.
      gold/
      	* powerpc.cc (Target_powerpc::Relocate::relocate): Update self-call
      	comment.
      ba8ca3e7
    • Alan Modra's avatar
  6. 02 Jul, 2013 1 commit
    • Alan Modra's avatar
      bfd/ · f40da81b
      Alan Modra authored
      	* elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
      	.TOC. after relocatable check.
      gas/
      	* config/tc-ppc.c (ppc_elf_adjust_symtab): Don't make .TOC. weak.
      f40da81b
  7. 01 Jul, 2013 1 commit
    • Alan Modra's avatar
      bfd/ · 1c865ab2
      Alan Modra authored
      	* elf64-ppc.h (ppc64_elf_toc): Delete.
      	(ppc64_elf_set_toc): Declare.
      	* elf64-ppc.c (ppc64_elf_toc_reloc): Replace call to ppc64_elf_toc
      	with call the ppc64_elf_set_toc.
      	(ppc64_elf_toc_ha_reloc, ppc64_elf_toc64_reloc): Likewise.
      	(ppc64_elf_start_multitoc_partition): Likewise.
      	(struct ppc_link_hash_table): Delete dot_toc_dot.  Replace all uses
      	with elf.hgot.
      	(ppc64_elf_process_dot_syms): Don't make a fake function descriptor
      	for ".TOC.".
      	(ppc64_elf_check_relocs): Mark sections with a reference to .TOC.
      	as needing a toc pointer.
      	(ppc64_elf_size_stubs): Don't set dot_toc_dot here.
      	(ppc64_elf_set_toc): Rename from ppc64_elf_toc.  Add info param.
      	Set elf.hgot value.
      ld/
      	* emultempl/ppc64elf.em: (ppc_layout_sections_again): Call
      	ppc64_elf_set_toc rather than ppc64_elf_toc/_bfd_set_gp_value.
      	(gld${EMULATION_NAME}_after_allocation): Likewise.
      1c865ab2
  8. 06 May, 2013 1 commit
  9. 22 Apr, 2013 1 commit
    • Alan Modra's avatar
      bfd/ · bfeb4a28
      Alan Modra authored
      	* elf64-ppc.c (ppc64_elf_check_relocs): Don't call
      	create_linkage_sections here..
      	(ppc64_elf_init_stub_bfd): ..do so here.  Return status.
      	(create_linkage_sections): Move earlier in file.
      	(ppc64_elf_setup_section_lists): Remove now useless htab->brlt test.
      	* elf64-ppc.h (ppc64_elf_init_stub_bfd): Update proto.
      ld/
      	* emultempl/ppc64elf.em (ppc_create_output_section_statements):
      	Check return from ppc64_elf_init_stub_bfd.
      ld/testsuite/
      	* ld-powerpc/tlsexe.d: Adjust.
      	* ld-powerpc/tlsexe.r: Adjust.
      	* ld-powerpc/tlsexetoc.d: Adjust.
      	* ld-powerpc/tlsexetoc.r: Adjust.
      	* ld-powerpc/tlsso.d: Adjust.
      	* ld-powerpc/tlsso.r: Adjust.
      	* ld-powerpc/tlstocso.d: Adjust.
      	* ld-powerpc/tlstocso.r: Adjust.
      bfeb4a28
  10. 06 Apr, 2013 1 commit
  11. 30 Mar, 2013 1 commit
    • Alan Modra's avatar
      PR ld/15323 · 81fbe831
      Alan Modra authored
      bfd/
      	* elf-m10300.c (mn10300_elf_check_relocs): Set non_ir_ref for
      	global symbols referenced by relocs.
      	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
      	* elf32-bfin.c (bfin_check_relocs): Likewise.
      	* elf32-cr16.c (cr16_elf_check_relocs): Likewise.
      	* elf32-cris.c (cris_elf_check_relocs): Likewise.
      	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
      	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
      	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
      	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
      	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
      	* elf32-i370.c (i370_elf_check_relocs): Likewise.
      	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
      	* elf32-lm32.c (lm32_elf_check_relocs): Likewise.
      	* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
      	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
      	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
      	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
      	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
      	* elf32-metag.c (elf_metag_check_relocs): Likewise.
      	* elf32-microblaze.c (microblaze_elf_check_relocs): Likewise.
      	* elf32-moxie.c (moxie_elf_check_relocs): Likewise.
      	* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
      	* elf32-mt.c (mt_elf_check_relocs): Likewise.
      	* elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
      	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
      	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
      	* elf32-rl78.c (rl78_elf_check_relocs): Likewise.
      	* elf32-s390.c (elf_s390_check_relocs): Likewise.
      	* elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
      	* elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
      	* elf32-sh.c (sh_elf_check_relocs): Likewise.
      	* elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
      	* elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
      	* elf32-v850.c (v850_elf_check_relocs): Likewise.
      	* elf32-vax.c (elf_vax_check_relocs): Likewise.
      	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
      	* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
      	* elf64-aarch64.c (elf64_aarch64_check_relocs): Likewise.
      	* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
      	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
      	* elf64-ia64-vms.c (elf64_ia64_check_relocs): Likewise.
      	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
      	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
      	* elf64-s390.c (elf_s390_check_relocs): Likewise.
      	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
      	* elfnn-ia64.c (elfNN_ia64_check_relocs): Likewise.
      	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
      	* elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
      	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.  Don't
      	test indirect/warning links for NULL.
      ld/testsuite/
      	* ld-plugin/lto.exp (pr15323a.c): Compile without -flto rather
      	than using -r to effectively strip out lto info.
      81fbe831
  12. 28 Mar, 2013 1 commit
    • Alan Modra's avatar
      * elf64-ppc.c (struct ppc_dyn_relocs): New. · 19e08130
      Alan Modra authored
      	(ppc64_elf_check_relocs): Separate dynrel counts for local syms
      	into ifunc and non-ifunc.
      	(dec_dynrel_count): Pass in sym rather than sym_sec.  Handle
      	separate ifunc/non-ifunc dynrel counts.
      	(allocate_got): Always use reliplt for ifunc.
      	(allocate_dynrelocs): Likewise.
      	(ppc64_elf_size_dynamic_sections): Likewise.
      	(ppc64_elf_layout_multitoc): Likewise.
      	(ppc64_elf_relocate_section): Likewise.
      19e08130
  13. 27 Mar, 2013 1 commit
    • Alan Modra's avatar
      * elf-bfd.h (enum elf_reloc_type_class): Add reloc_class_ifunc. · 7e612e98
      Alan Modra authored
      	(struct elf_backend_data <elf_backed_reloc_type_class>): Add
      	bfd_link_info* and asection* params.
      	(_bfd_elf_reloc_type_class): Likewise.
      	* elf.c (_bfd_elf_reloc_type_class): Likewise.
      	* elflink.c (elf_link_sort_cmp2): Sort first on reloc class.
      	(elf_link_sort_relocs): Update elf_backed_reloc_type_class call.
      	* elf32-ppc.c (ppc_elf_reloc_type_class): Return reloc_class_ifunc
      	for any reliplt reloc.  Don't return reloc_class_plt for
      	R_PPC_REL24 and R_PPC_ADDR24.
      	* elf64-ppc.c (allocate_got): Formatting.
      	(ppc64_elf_reloc_type_class): Return reloc_class_ifunc for any
      	reliplt reloc.
      	* elf-m10300.c, * elf32-arm.c, * elf32-bfin.c, * elf32-cr16.c,
      	* elf32-cris.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c,
      	* elf32-m32r.c, * elf32-m68k.c, * elf32-metag.c, * elf32-nios2.c,
      	* elf32-s390.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilepro.c,
      	* elf32-vax.c, * elf32-xtensa.c, * elf64-aarch64.c, * elf64-alpha.c,
      	* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-s390.c, * elf64-sparc.c,
      	* elf64-x86-64.c, * elfnn-ia64.c, * elfxx-tilegx.c, * elfxx-tilegx.h:
      	Add extra params to the various reloc_type_class functions.
      7e612e98
  14. 21 Feb, 2013 1 commit
    • Alan Modra's avatar
      * elf-bfd.h (struct core_elf_obj_tdata): New. · 228e534f
      Alan Modra authored
      	(struct elf_obj_tdata): Delete core_signal, core_pid, core_lwpid,
      	core_program, and core_command.  Add "core".
      	* elf.c (bfd_elf_mkcorefile): Allocate "core" struct.
      	Update all refs to tdata core fields.
      	* elf32-am33lin.c, * elf32-arm.c, * elf32-cris.c, * elf32-frv.c,
      	* elf32-hppa.c, * elf32-i386.c, * elf32-m68k.c, * elf32-mips.c,
      	* elf32-nios2.c, * elf32-ppc.c, * elf32-s390.c, * elf32-score.c,
      	* elf32-score7.c, * elf32-sh.c, * elf32-sparc.c, * elf32-tilegx.c,
      	* elf32-tilepro.c, * elf32-xtensa.c, * elf64-aarch64.c,
      	* elf64-hppa.c, * elf64-mips.c, * elf64-ppc.c, * elf64-tilegx.c,
      	* elf64-x86-64.c, * elfcore.h, * elfn32-mips.c: Update all refs
      	to tdata core fields.
      228e534f
  15. 11 Feb, 2013 1 commit
    • Alan Modra's avatar
      * elfcode.h (elf_checksum_contents): Free contents. · 9f7c3e5e
      Alan Modra authored
      	* elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
      	* elflink.c (_bfd_elf_link_hash_table_free): New function.
      	(elf_final_link_free): New function, extracted from..
      	(bfd_elf_final_link): ..here.  Always call
      	_bfd_elf_write_section_eh_frame_hdr.
      	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
      	_bfd_elf_link_hash_table_free.
      	* libbfd-in.h (_bfd_merge_sections_free): Declare.
      	* libbfd.h: Regenerate.
      	* merge.c (_bfd_merge_sections_free): New function.
      	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
      	hdr_info->array.
      	* elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
      	_bfd_elf_link_hash_table_free.
      	* elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
      	* elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
      	* elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
      	* elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
      	* elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
      	* elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
      	* elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
      	* elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
      	* elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
      	* elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
      	* elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
      	* elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
      	* elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
      	* elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
      	(bfd_elf32_bfd_link_hash_table_free): Don't define.
      	* elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
      	(bfd_elf32_bfd_link_hash_table_free): Dont' define.
      9f7c3e5e
  16. 01 Feb, 2013 1 commit
  17. 31 Jan, 2013 1 commit
    • Alan Modra's avatar
      bfd/ · bcaa2f82
      Alan Modra authored
      	* elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
      ld/testsuite/
      	* ld-powerpc/tlsexe.d: Update for changed stub names.
      	* ld-powerpc/tlsexe.r: Likewise.
      	* ld-powerpc/tlsexetoc.d: Likewise.
      	* ld-powerpc/tlsexetoc.r: Likewise.
      	* ld-powerpc/tlsso.d: Likewise.
      	* ld-powerpc/tlsso.r: Likewise.
      	* ld-powerpc/tlstocso.d: Likewise.
      	* ld-powerpc/tlstocso.r: Likewise.
      bcaa2f82
  18. 30 Jan, 2013 1 commit
  19. 28 Jan, 2013 1 commit
    • Alan Modra's avatar
      * elf64-ppc.c: Use %T to print symbols names and remove redundant · bc30df16
      Alan Modra authored
      	"relocation" in error messages throughout file.
      	(ppc64_elf_relocate_section): Remove sibling call error message,
      	replace with "call lacks nop".  Specially report errors for
      	branches to function entry points via OPD lookup and branches
      	to stubs.  Remove NULL symbol handling now done by %T.
      bc30df16
  20. 15 Jan, 2013 1 commit
    • Alan Modra's avatar
      bfd/ · e2458743
      Alan Modra authored
      	* elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
      	plt-thread-safe.
      gold/
      	* powerpc.cc (Target_powerpc::do_relax): Default shared libs to
      	plt-thread-safe.
      ld/testsuite/
      	* ld-powerpc/tlsso.d: Adjust for plt-thread-safe stubs.
      	* ld-powerpc/tlsso.g: Likewise.
      	* ld-powerpc/tlsso.r: Likewise.
      	* ld-powerpc/tlstocso.d: Likewise.
      	* ld-powerpc/tlstocso.g: Likewise.
      e2458743
  21. 10 Jan, 2013 1 commit
    • H.J. Lu's avatar
      Remove trailing white spaces in bfd · 68ffbac6
      H.J. Lu authored
      	* aout0.c: Remove trailing white spaces.
      	* archive.c: Likewise.
      	* archures.c: Likewise.
      	* bfd-in.h: Likewise.
      	* bfd-in2.h: Likewise.
      	* coff-alpha.c: Likewise.
      	* coff-i860.c: Likewise.
      	* coff-mips.c: Likewise.
      	* coff-ppc.c: Likewise.
      	* coff-tic80.c: Likewise.
      	* coff-x86_64.c: Likewise.
      	* coff-z80.c: Likewise.
      	* coffcode.h: Likewise.
      	* coffgen.c: Likewise.
      	* cofflink.c: Likewise.
      	* compress.c: Likewise.
      	* corefile.c: Likewise.
      	* cpu-arm.c: Likewise.
      	* cpu-avr.c: Likewise.
      	* cpu-bfin.c: Likewise.
      	* cpu-cr16.c: Likewise.
      	* cpu-cr16c.c: Likewise.
      	* cpu-crx.c: Likewise.
      	* cpu-h8300.c: Likewise.
      	* cpu-i386.c: Likewise.
      	* cpu-lm32.c: Likewise.
      	* cpu-m68k.c: Likewise.
      	* cpu-moxie.c: Likewise.
      	* cpu-msp430.c: Likewise.
      	* cpu-sh.c: Likewise.
      	* cpu-xc16x.c: Likewise.
      	* dwarf2.c: Likewise.
      	* ecofflink.c: Likewise.
      	* ecoffswap.h: Likewise.
      	* elf-ifunc.c: Likewise.
      	* elf-m10300.c: Likewise.
      	* elf-vxworks.c: Likewise.
      	* elf32-avr.c: Likewise.
      	* elf32-avr.h: Likewise.
      	* elf32-cr16.c: Likewise.
      	* elf32-cr16c.c: Likewise.
      	* elf32-cris.c: Likewise.
      	* elf32-crx.c: Likewise.
      	* elf32-frv.c: Likewise.
      	* elf32-hppa.c: Likewise.
      	* elf32-i860.c: Likewise.
      	* elf32-ip2k.c: Likewise.
      	* elf32-iq2000.c: Likewise.
      	* elf32-m32c.c: Likewise.
      	* elf32-m68hc1x.c: Likewise.
      	* elf32-msp430.c: Likewise.
      	* elf32-mt.c: Likewise.
      	* elf32-ppc.c: Likewise.
      	* elf32-rl78.c: Likewise.
      	* elf32-s390.c: Likewise.
      	* elf32-score.h: Likewise.
      	* elf32-sh-symbian.c: Likewise.
      	* elf32-sh.c: Likewise.
      	* elf32-spu.c: Likewise.
      	* elf32-tic6x.c: Likewise.
      	* elf32-v850.c: Likewise.
      	* elf32-xc16x.c: Likewise.
      	* elf32-xtensa.c: Likewise.
      	* elf64-alpha.c: Likewise.
      	* elf64-hppa.c: Likewise.
      	* elf64-ppc.c: Likewise.
      	* elf64-s390.c: Likewise.
      	* elfcore.h: Likewise.
      	* elflink.c: Likewise.
      	* elfxx-mips.c: Likewise.
      	* elfxx-sparc.c: Likewise.
      	* elfxx-tilegx.c: Likewise.
      	* ieee.c: Likewise.
      	* libcoff.h: Likewise.
      	* libpei.h: Likewise.
      	* libxcoff.h: Likewise.
      	* linker.c: Likewise.
      	* mach-o-i386.c: Likewise.
      	* mach-o-target.c: Likewise.
      	* mach-o.c: Likewise.
      	* mach-o.h: Likewise.
      	* mmo.c: Likewise.
      	* opncls.c: Likewise.
      	* pdp11.c: Likewise.
      	* pe-x86_64.c: Likewise.
      	* peXXigen.c: Likewise.
      	* pef-traceback.h: Likewise.
      	* pei-x86_64.c: Likewise.
      	* peicode.h: Likewise.
      	* plugin.c: Likewise.
      	* reloc.c: Likewise.
      	* riscix.c: Likewise.
      	* section.c: Likewise.
      	* som.c: Likewise.
      	* syms.c: Likewise.
      	* tekhex.c: Likewise.
      	* ticoff.h: Likewise.
      	* vaxbsd.c: Likewise.
      	* xcofflink.c: Likewise.
      	* xtensa-isa.c: Likewise.
      68ffbac6
  22. 05 Dec, 2012 1 commit
  23. 06 Nov, 2012 2 commits
    • Alan Modra's avatar
      bfd/ · a38a07e0
      Alan Modra authored
      	* elf64-ppc.c (struct ppc_link_hash_table): Add dot_toc_dot.
      	(ppc64_elf_size_stubs): Lookup ".TOC.".
      	(ppc64_elf_relocate_section): Resolve special symbol ".TOC.".
      gas/
      	* config/tc-ppc.c (ppc_elf_adjust_symtab): New function, split out..
      	(ppc_frob_file_before_adjust): ..from here.
      	(md_apply_fix): Set BSF_KEEP on .TOC. if not @tocbase.
      	* config/tc-ppc.h (ppc_elf_adjust_symtab): Declare.
      	(tc_adjust_symtab): Define.
      a38a07e0
    • Alan Modra's avatar
      53d8967a
  24. 05 Nov, 2012 1 commit