aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2010-03-19 * elf32-arm.c (struct section_list): Remove.Jie Zhang2-131/+22
(section_list): Remove typedef. (record_section_with_arm_elf_section_data): Remove. (find_arm_elf_section_entry): Remove. (get_arm_elf_section_data): Use is_arm_elf. (unrecord_section_with_arm_elf_section_data): Remove. (elf32_arm_new_section_hook): Don't call record_section_with_arm_elf_section_data. (elf32_arm_write_section): Set mapcount to -1 when the map has been used. Don't call unrecord_section_with_arm_elf_section_data. (unrecord_section_via_map_over_sections): Remove. (elf32_arm_close_and_cleanup): Remove. (elf32_arm_bfd_free_cached_info): Remove. (bfd_elf32_close_and_cleanup): Don't define. (bfd_elf32_bfd_free_cached_info): Don't define.
2010-03-18daily updateAlan Modra1-1/+1
2010-03-18Don't add IMAGE_FILE_RELOCS_STRIPPED for PIE.H.J. Lu4-1/+24
2010-03-18 H.J. Lu <hongjiu.lu@intel.com> PR binutils/11396 * libcoff-in.h (pe_tdata): Add dont_strip_reloc. * libcoff.h: Regenerated. * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Clear F_RELFLG if dont_strip_reloc is set. (_bfd_XX_bfd_copy_private_bfd_data_common): Set dont_strip_reloc on output if there is no .reloc and IMAGE_FILE_RELOCS_STRIPPED isn't set in input.
2010-03-18bfd/Nick Clifton5-0/+14
2010-03-15 Wei Guozhi <carrot@google.com> PR gas/11323 * bfd-in2.h (enum bfd_reloc_code_real): New BFD_RELOC_GOT_PREL type. * elf32-arm.c (elf32_arm_reloc_map): BFD_RELOC_GOT_PREL to R_ARM_GOT_PREL map. * libbfd.h (bfd_reloc_code_real_names): BFD_RELOC_GOT_PREL name. * reloc.c (comments): Document the new relocation. gas/ 2010-03-15 Wei Guozhi <carrot@google.com> PR gas/11323 * config/tc-arm.c (reloc_names): New relocation names. (md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL. (tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL. * doc/c-arm.texi (ARM-Relocations): Document the new relocation. gas/testsuite 2010-03-15 Wei Guozhi <carrot@google.com> PR gas/11323 * gas/arm/got_prel.s: New test case. * gas/arm/got_prel.d: Likewise.
2010-03-17daily updateAlan Modra1-1/+1
2010-03-17Revert accidental changes.H.J. Lu2-4/+5
2010-03-17 H.J. Lu <hongjiu.lu@intel.com> * reloc.c (BFD_RELOC_SPU_PIC18): Removed. (BFD_RELOC_SPU_STUB): Likewise.
2010-03-17Avoid overflow.H.J. Lu2-1/+6
2010-03-17 Jie Zhang <jie@codesourcery.com> * elf.c (assign_file_positions_for_load_sections): Avoid overflow.
2010-03-17 * plugin.c (bfd_plugin_object_p): Pass iostream to fileno usingAlan Modra2-2/+7
proper type.
2010-03-17warning fixesAlan Modra2-1/+5
2010-03-16daily updateAlan Modra1-1/+1
2010-03-16 * elf64-ppc.c (struct ppc_link_hash_table): Add do_toc_opt.Alan Modra2-1/+139
(ppc64_elf_edit_toc): Set it here. (ha_reloc_match): New function. (ppc64_elf_relocate_section): Optimize bigtoc insn sequences.
2010-03-15daily updateAlan Modra1-1/+1
2010-03-15 * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.Alan Modra3-0/+17
* elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
2010-03-14daily updateAlan Modra1-1/+1
2010-03-14bfd/Alan Modra3-161/+217
PR ld/11378 * elf64-ppc.h (ppc64_elf_check_init_fini): Declare. * elf64-ppc.c (call_check_done): Define. (ppc64_elf_add_symbol_hook): Substitute bfd_get_section_name macro. (ppc64_elf_check_relocs, ppc64_elf_size_dynamic_sections): Likewise. (ppc64_elf_finish_multitoc_partition): Remove unnecessary check. (toc_adjusting_stub_needed): Use call_check_done rather than toc_off. Simplify return logic. Iterate over all .init and .fini fragments by recursion. Set makes_toc_func_call here.. (ppc64_elf_next_input_section): ..rather than here. (check_pasted_section, ppc64_elf_check_init_fini): New functions. ld/ PR ld/11378 * emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation): Call ppc64_elf_check_init_fini and warn if .init/.fini use different TOCs.
2010-03-13daily updateAlan Modra1-1/+1
2010-03-12daily updateAlan Modra1-1/+1
2010-03-12 PR ld/11375Alan Modra2-3/+12
* elf64-ppc.c (ppc_type_of_stub): Always set *hash to the function descriptor symbol if there is one, not just for plt stubs. (ppc64_elf_relocate_section): Use fdh on all ppc_get_stub_entry calls.
2010-03-11daily updateAlan Modra1-1/+1
2010-03-10daily updateAlan Modra1-1/+1
2010-03-09daily updateAlan Modra1-1/+1
2010-03-08daily updateAlan Modra1-1/+1
2010-03-07daily updateAlan Modra1-1/+1
2010-03-06daily updateAlan Modra1-1/+1
2010-03-05 ld:Rainer Orth8-7/+110
* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o, eelf_i386_sol2.o. (ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o. (eelf32_sparc_sol2.c): New rule. (eelf64_sparc_sol2.c): Likewise. (eelf_x86_64_sol2.c): Likewise. (eelf_i386_sol2.c): Likewise. * Makefile.in: Regenerate. * configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to elf_i386_sol2. Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls. (x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2. Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls. (sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2. Add target_extra_emuls. (sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2. Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls. (sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2. Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls. * emulparams/elf32_sparc_sol2.sh: New file. * emulparams/elf64_sparc_sol2.sh: New file. * emulparams/elf_i386_sol2.sh: New file. * emulparams/elf_x86_64_sol2.sh: New file. * emultempl/solaris2.em: New file. bfd: * elflink.c (bfd_elf_size_dynamic_sections): Don't emit base version twice. Skip it when constructing def.vd_next. * elf32-i386.c (TARGET_LITTLE_SYM): Redefine to bfd_elf32_i386_sol2_vec. (TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2. (elf32_bed): Redefine to elf32_i386_sol2_bed. (elf_backend_want_plt_sym): Redefine to 1. * elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to bfd_elf64_x86_64_sol2_vec. (TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2. (elf64_bed): Redefine to elf64_x86_64_sol2_bed. (elf_backend_want_plt_sym): Redefine to 1. * config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec. Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in targ64_selvecs. (x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec. Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in targ_selvecs. * configure.in: Handle bfd_elf32_i386_sol2_vec, bfd_elf64_x86_64_sol2_vec. * configure: Regenerate. * targets.c (bfd_elf32_i386_sol2_vec): Declare. (bfd_elf64_x86_64_sol2_vec): Declare. (_bfd_target_vector): Add bfd_elf32_i386_sol2_vec, bfd_elf64_x86_64_sol2_vec.
2010-03-04daily updateAlan Modra1-1/+1
2010-03-04 * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-programDaniel Jacobowitz2-0/+7
sections.
2010-03-04 PR 11302Alan Modra2-60/+130
* dwarf2.c (read_abbrevs): Return NULL on alloc failures. (read_attribute_value, decode_line_info): Likewise. (add_line_info, read_rangelist): Return FALSE on alloc failures. (arange_add, sort_line_sequences): Likewise. (find_abstract_instance_name): Handle failures from called funcs. (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise. (find_line): Realloc to a temp, and handle alloc fail.
2010-03-03daily updateAlan Modra1-1/+1
2010-03-03 * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not addDaniel Jacobowitz2-1/+7
a mapping symbol to an empty section.
2010-03-02daily updateAlan Modra1-1/+1
2010-03-02 * ld/testsuite/ld-arm/arm-merge-incompatible.d: New test.Matthew Gretton-Dann2-1/+7
* ld/testsuite/ld-arm/arm-merge-incompatiblea.s: Likewise. * ld/testsuite/ld-arm/arm-merge-incompatibleb.s: Likewise. * ld/testsuite/ld-arm/arm-elf.exp: Run the new test. * bfd/elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the return value from the call to _bfd_elf_merge_object_attributes.
2010-03-022010-03-02 Christophe Lyon <christophe.lyon@st.com>Christophe Lyon2-107/+192
Alan Modra <amodra@gmail.com> bfd/ * elf32-arm.c (a8_erratum_fix): Add st_type field to record the destination mode of the a8 stub. (elf32_arm_link_hash_table): Add top_id field. (elf32_arm_link_hash_table_create): Initialize top_id. (arm_type_of_stub): Update prototype, st_type can now be updated by this function. Actual destination address in case of PLT is computed here, to help factorizing code. (elf32_arm_stub_name): Update prototype, use stub_type additional parameter to build stub name. (elf32_arm_get_stub_entry): Update prototype, use stub_type additional parameter to build stub entry. (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of put_thumb_insn/put_arm_insn as BE8 encoding is now handled later. Call elf32_arm_final_link_relocate to process all in-stub relocations. (elf32_arm_setup_section_lists): Update top_id. (cortex_a8_erratum_scan): Record stub destination mode. (elf32_arm_size_stubs): Update call to arm_type_of_stub according to new prototype. (elf32_arm_final_link_relocate): Enable processing of in-stub REL32 relocations. Rely on arm_type_of_stub to detect if a stub is needed, enabling code factorization. (elf32_arm_final_link): Process stub sections. (elf32_arm_output_map_sym): Add entry to code/data map. ld/testsuite/ * ld-arm/arm-elf.exp: Change .text start address for farcall-thumb-arm tests. Add v4t variant for farcall-mixed-lib test. * ld-arm/farcall-mixed-lib-v4t.d: New test. * ld-arm/farcall-mixed-lib1.s: Don't force armv5t. * ld-arm/farcall-mixed-lib2.s: Likewise. * ld-arm/arm-call.d: Update expected results. * ld-arm/cortex-a8-far.d: Likewise. * ld-arm/farcall-group-size2.d: Likewise. * ld-arm/farcall-group.d: Likewise. * ld-arm/farcall-mix.d: Likewise. * ld-arm/farcall-mix2.d: Likewise. * ld-arm/farcall-mixed-app-v5.d: Likewise. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/farcall-thumb-arm.d: Likewise. * ld-arm/farcall-thumb-arm-blx.d: Likewise. * ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise. * ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Likewise. * ld-arm/farcall-thumb-arm.s: Update test. Add a new call to potentially generate different types of stubs.
2010-03-02 * elfxx-sparc.c (struct elf_reloc_map): Delete.David S. Miller2-105/+245
(sparc_reloc_map): Delete. (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each relocation type in switch statements.
2010-03-02 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC andDavid S. Miller2-3/+15
h->def_regular, set h->ref_regular. (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries and dynamic relocations if h->ref_regular.
2010-03-01daily updateAlan Modra1-1/+1
2010-02-28daily updateAlan Modra1-1/+1
2010-02-27daily updateAlan Modra1-1/+1
2010-02-26daily updateAlan Modra1-1/+1
2010-02-25daily updateAlan Modra1-1/+1
2010-02-25bfd/Alan Modra2-7/+17
PR ld/11304 * elf.c (_bfd_elf_init_private_section_data): Rename need_group to final_link and invert. For final link allow some flags to differ. Don't specially allow flags to be all zero. ld/ * ldlang.c (init_os): Remove isec param. Don't check for bfd_section already set or call bfd_init_private_section_data here. (exp_init_os): Update init_os call. (lang_add_section): Tidy. Really don't set SEC_LINK_ONCE flags. Call bfd_init_private_section_data here. (map_input_to_output_sections): Tidy. Update init_os calls. Use os->sectype to select sec flags for lang_data_statement.
2010-02-24daily updateAlan Modra1-1/+1
2010-02-24 PR binutils/10858Nick Clifton2-3/+8
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Ise SYMBOL_REFERENCES_LOCAL to exclude entries from the dynamic symbol table.
2010-02-23daily updateAlan Modra1-1/+1
2010-02-23PR 11297: Add support for 8-bit relocations to the AVR toolchain.Nick Clifton2-4/+25
2010-02-22daily updateAlan Modra1-1/+1
2010-02-21daily updateAlan Modra1-1/+1
2010-02-21 * reloc.c (bfd_check_overflow): When forming addrmask, shiftAlan Modra2-4/+17
fieldmask left by rightshift. (_bfd_relocate_contents): Likewise. Use rightshift addrmask in all overflow checks.
2010-02-20daily updateAlan Modra1-1/+1
2010-02-20Don't check STT_GNU_IFUNC on large common symbol.H.J. Lu2-1/+6
2010-02-20 H.J. Lu <hongjiu.lu@intel.com> * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): Don't check STT_GNU_IFUNC on large common symbol.