aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2011-08-26daily updateAlan Modra1-1/+1
2011-08-25daily updateAlan Modra1-1/+1
2011-08-24daily updateAlan Modra1-1/+1
2011-08-23daily updateAlan Modra1-1/+1
2011-08-22daily updateAlan Modra1-1/+1
2011-08-21daily updateAlan Modra1-1/+1
2011-08-20daily updateAlan Modra1-1/+1
2011-08-19 * elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit ifAlan Modra2-1/+6
we haven't seen expected -mcmodel=medium/large code relocs.
2011-08-19daily updateAlan Modra1-1/+1
2011-08-182011-08-18 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-0/+6
* mach-o.c (bfd_mach_o_read_segment): Initialize list.
2011-08-18daily updateAlan Modra1-1/+1
2011-08-172011-08-17 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-1/+5
* mach-o.c (bfd_mach_o_write_section_32): Fix typo.
2011-08-17 PR ld/12762Alan Modra16-461/+357
bfd/ * bfd-in.h (struct bfd_section_already_linked): Forward declare. (_bfd_handle_already_linked): Declare. * coff-alpha.c (_bfd_ecoff_section_already_linked): Define as _bfd_coff_section_already_linked. * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise. * coffcode.h (coff_section_already_linked): Likewise. * cofflink.c (coff_link_add_symbols): Revert 2011-07-09 changes. * elf-bfd.h: Likewise. * libbfd-in.h: Likewise. * targets.c: Likewise. * linker.c (bfd_section_already_linked): Likewise. (bfd_section_already_linked_table_lookup): Likewise. (bfd_section_already_linked_table_insert): Likewise. (_bfd_generic_section_already_linked): Likewise. Call _bfd_handle_already_linked. (_bfd_handle_already_linked): New function, split out from.. * elflink.c (_bfd_elf_section_already_linked): ..here. Revert 2011-07-09 changes. Avoid unnecessary strcmp when matching already_linked_list entries. Match plugin linkonce section. (section_signature): Delete. * coffgen.c (_bfd_coff_section_already_linked): New function. * libcoff-in.h (_bfd_coff_section_already_linked): Declare. * libbfd.h: Regenerate. * libcoff.h: Regenerate. * bfd-in2.h: Regenerate. ld/ * ldlang.c (section_already_linked): Revert 2011-07-09 changes. * plugin.c: Likewise. (asymbol_from_plugin_symbol): Create linkonce section for syms with comdat_key.
2011-08-17daily updateAlan Modra1-1/+1
2011-08-16daily updateAlan Modra1-1/+1
2011-08-15daily updateAlan Modra1-1/+1
2011-08-14 * elf32-ppc.c (ppc_elf_select_plt_layout): Force bss-plt whenAlan Modra2-1/+31
shared and call to _mcount will go via plt.
2011-08-14 * elf64-ppc.c: Prefix all einfo error strings with "%P: ".Alan Modra3-36/+43
* elf32-ppc.c: Likewise. (ppc_elf_select_plt_layout): Use einfo rather than info to report forced bss-plt.
2011-08-14daily updateAlan Modra1-1/+1
2011-08-13daily updateAlan Modra1-1/+1
2011-08-12Add R_X86_64_RELATIVE64 and handle R_X86_64_64 for x32.H.J. Lu2-0/+29
bfd/ 2011-08-12 H.J. Lu <hongjiu.lu@intel.com> PR ld/13082 * elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_RELATIVE64. (elf_x86_64_relocate_section): Treat R_X86_64_64 like R_X86_64_32 and zero-extend it to 64bit if addend is zero for x32. Generate R_X86_64_RELATIVE64 for x32. include/elf/ 2011-08-12 H.J. Lu <hongjiu.lu@intel.com> PR ld/13082 * x86-64.h (R_X86_64_RELATIVE64): New. ld/testsuite/ 2011-08-12 H.J. Lu <hongjiu.lu@intel.com> PR ld/13082 * ld-x86-64/pr13082-1.s: New. * ld-x86-64/pr13082-1a.d: Likewise. * ld-x86-64/pr13082-1b.d: Likewise. * ld-x86-64/pr13082-2.s: Likewise. * ld-x86-64/pr13082-2a.d: Likewise. * ld-x86-64/pr13082-2b.d: Likewise. * ld-x86-64/pr13082-3.s: Likewise. * ld-x86-64/pr13082-3a.d: Likewise. * ld-x86-64/pr13082-3b.d: Likewise. * ld-x86-64/pr13082-4.s: Likewise. * ld-x86-64/pr13082-4a.d: Likewise. * ld-x86-64/pr13082-4b.d: Likewise. * ld-x86-64/pr13082-5.s: Likewise. * ld-x86-64/pr13082-5a.d: Likewise. * ld-x86-64/pr13082-5b.d: Likewise. * ld-x86-64/pr13082-6.s: Likewise. * ld-x86-64/pr13082-6a.d: Likewise. * ld-x86-64/pr13082-6b.d: Likewise. * ld-x86-64/x86-64.exp: Run pr13082-[1-6][ab].
2011-08-10daily updateAlan Modra1-1/+1
2011-08-09 * bfd/bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.Matthew Gretton-Dann4-6/+34
* bfd/bfd-in2.h (bfd_elf32_arm_set_target_relocs): Likewise. * bfd/elf32-arm.c (elf32_arm_link_hash_table): New field. (elf232_arm_link_hash_table_create): Initialise new field. (check_use_blx): Change test depending on fix_arm1176. (bfd_elf32_arm_set_target_relocs): Set fix_arm1176 from command line options. * ld/emultempl/armelf.em (fix_arm1176): New variable. (arm_elf_create_output_section_statements): Pass fix_arm1176 option to bfd backend. (OPTION_FIX_ARM1176): New define. (OPTION_NO_FIX_ARM1176): Likewise. (PARSE_AND_LIST_LONGOPTS): Add new command line options. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. * ld/ld.texinfo: Document new command line options. * ld/testsuite/ld-arm/arm-elf.exp (armelftests): Update for new command-line options. (armeabitests): Update for new command-line options, and add new test cases. * ld/testsuite/ld-arm/fix-arm1176.s: Add test case. * ld/testsuite/ld-arm/fix-arm1176-off.d: Likewise. * ld/testsuite/ld-arm/fix-arm1176-on.d: Likewise.
2011-08-082011-08-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-3/+15
* mach-o.c (struct mach_o_segment_name_xlat): Add comments. (segsec_names_xlat): Reorder elements. (bfd_mach_o_read_section_32): Fix typo. (bfd_mach_o_read_section_64): Fix typo.
2011-08-082011-08-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold4-169/+250
* mach-o.h (BFD_MACH_O_SEGNAME_SIZE): New macro. (BFD_MACH_O_SECTNAME_SIZE): Ditto. (bfd_mach_o_section): Use them. Add next field. (bfd_mach_o_segment_command): Replace sections array by sect_head and sect_tail. (bfd_mach_o_get_mach_o_section): New macro. (bfd_mach_o_lookup_section): Remove. (bfd_mach_o_new_section_hook): New function. * mach-o.c (bfd_mach_o_normalize_section_name): Use strncmp instead of strcmp. (bfd_mach_o_convert_section_name_to_bfd): Replaces section parameter with segname and sectname parameters. Adjust. (bfd_mach_o_append_section_to_segment): New function. Use a linked list for Mach-O sections. (bfd_mach_o_write_segment_32): Adjust. (bfd_mach_o_write_segment_64): Ditto. (bfd_mach_o_build_commands): Fix comment. Adjust. (bfd_mach_o_flatten_sections): Adjust. (bfd_mach_o_print_section_map): Adjust. (bfd_mach_o_set_section_flags_from_bfd): Ditto. (bfd_mach_o_new_section_hook): New function. (bfd_mach_o_init_section_from_mach_o): Ditto. (bfd_mach_o_read_section_32): Remove section parameter. Return a section instead. (bfd_mach_o_read_section_64): Ditto. (bfd_mach_o_read_section): Ditto. (bfd_mach_o_make_bfd_section): Adjust. (bfd_mach_o_read_segment): Adjust for new profile of bfd_mach_o_read_section. (bfd_mach_o_lookup_section): Remove. * mach-o-target.c (bfd_mach_o_new_section_hook): Remove.
2011-08-08bfd/Tristan Gingold3-5/+92
2011-08-08 Tristan Gingold <gingold@adacore.com> * mach-o.h (bfd_mach_o_version_min_command): New structure. (bfd_mach_o_load_command): Add version_min. (mach_o_data_struct): Fix comment. * mach-o.c (bfd_mach_o_read_version_min): New function. (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_FUNCTION_STARTS, BFD_MACH_O_LC_VERSION_MIN_MACOSX and BFD_MACH_O_LC_VERSION_MIN_IPHONEOS. (bfd_mach_o_get_name_or_null): New function. (bfd_mach_o_get_name): Use the above new one. (bfd_mach_o_load_command_name): Add the above new commands. (bfd_mach_o_bfd_print_private_bfd_data): Display numerically unknown commands. Handle BFD_MACH_O_LC_FUNCTION_STARTS, BFD_MACH_O_LC_VERSION_MIN_MACOSX and BFD_MACH_O_LC_VERSION_MIN_IPHONEOS. include/mach-o/ 2011-08-08 Tristan Gingold <gingold@adacore.com> * loader.h (bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_LOAD_UPWARD_DYLIB, BFD_MACH_O_LC_VERSION_MIN_MACOSX, BFD_MACH_O_LC_VERSION_MIN_IPHONEOS, BFD_MACH_O_LC_FUNCTION_STARTS, and BFD_MACH_O_LC_DYLD_ENVIRONMENT. * external.h (mach_o_version_min_command_external): New structure.
2011-08-08bfd/Tristan Gingold5-341/+367
2011-08-08 Tristan Gingold <gingold@adacore.com> * mach-o.h: Move size macros to external.h Move reloc macros to reloc.h and x86-64.h. * mach-o-i386.c: Includes mach-o/reloc.h * mach-o-x86-64.c: Ditto and includes mach-o/x86-64.h * mach-o.c: Add includes. (bfd_mach_o_write_header): Use structure from external.h to convert. (bfd_mach_o_write_thread): Ditto. (bfd_mach_o_write_relocs): Ditto. (bfd_mach_o_write_section_32): Ditto. (bfd_mach_o_write_section_64): Ditto. (bfd_mach_o_write_segment_32): Ditto. (bfd_mach_o_write_segment_64): Ditto. (bfd_mach_o_write_symtab): Ditto. (bfd_mach_o_write_contents): Ditto. (bfd_mach_o_read_header): Ditto. (bfd_mach_o_read_section_32): Ditto. (bfd_mach_o_read_section_64): Ditto. (bfd_mach_o_read_symtab_symbol): Ditto. (bfd_mach_o_read_dylinker): Ditto. (bfd_mach_o_read_dylib): Ditto. (bfd_mach_o_read_dysymtab): Ditto. (bfd_mach_o_read_symtab): Ditto. (bfd_mach_o_read_linkedit): Ditto. (bfd_mach_o_read_str): Ditto. (bfd_mach_o_read_dyld_info): Ditto. (bfd_mach_o_read_segment): Ditto. (bfd_mach_o_read_command): Ditto. (bfd_mach_o_archive_p): Ditto. (bfd_mach_o_canonicalize_one_reloc): Ditto. Change the BUF parameter. (bfd_mach_o_canonicalize_relocs): Adjust to call the above function. (bfd_mach_o_read_dysymtab_symbol): Rename BUF variable. (bfd_mach_o_read_uuid): Remove useless cast. Use a macro instead of an hard-coded value. include/mach-o 2011-08-08 Tristan Gingold <gingold@adacore.com> * loader.h: Reorder declarations. * x86-64.h: New file. * external.h: New file. * reloc.h: New file.
2011-08-082011-08-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-14/+36
* mach-o-x86-64.c (bfd_mach_o_x86_64_mkobject): Fix cut-and-past typos. (bfd_mach_o_x86_64_swap_reloc_out): Handle BFD_RELOC_32_PCREL, BFD_RELOC_MACH_O_X86_64_SUBTRACTOR64 and BFD_RELOC_MACH_O_X86_64_GOT_LOAD. Share common code.
2011-08-082011-08-08 Tristan Gingold <gingold@adacore.com>Tristan Gingold3-18/+70
* mach-o.c (bfd_mach_o_normalize_section_name): New function. (bfd_mach_o_convert_section_name_to_bfd): Use it. (bfd_mach_o_get_section_type_from_name): New function. (bfd_mach_o_get_section_attribute_from_name): Ditto. * mach-o.h (bfd_mach_o_section): Move bfdsection field at the end. Add comments. Add prototypes for the above new functions.
2011-08-08daily updateAlan Modra1-1/+1
2011-08-07daily updateAlan Modra1-1/+1
2011-08-06daily updateAlan Modra1-1/+1
2011-08-05* netbsd-core.c (netbsd_core_vec): Init match_priority field.Mark Kettenis2-0/+5
2011-08-05bfd/Alan Modra2-4/+28
* elf64-ppc.c (maybe_strip_output): New function. (ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame. ld/testsuite/ * ld-powerpc/tlsexe.r: Update for stripped .branch_lt. * ld-powerpc/tlsexetoc.r: Likewise. * ld-powerpc/tlsso.r: Likewise. * ld-powerpc/tlstocso.r: Likewise.
2011-08-05 PR ld/12762Alan Modra8-37/+54
bfd/ * elflink.c (_bfd_elf_section_already_linked): Return matched status. Remove COFF comdat section handling. * linker.c (_bfd_generic_section_already_linked): Return matched status. Don't set SEC_GROUP in l_flags for plugin entries. (bfd_section_already_linked): Update prototype. * targets.c (_section_already_linked): Likewise. * elf-bfd.h (_bfd_elf_section_already_linked): Likewise. * libbfd-in.h (_bfd_generic_section_already_linked): Likewise. (_bfd_nolink_section_already_linked): Update. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. ld/ * plugin.c (add_symbols): Exclude comdat_key symbols from symbol table if already seen.
2011-08-05 * elf32-ppc.c: Include dwarf2.h.Alan Modra2-7/+125
(struct ppc_elf_link_hash_table): Add glink_eh_frame. (ppc_elf_create_glink): Create .eh_frame section. (glink_eh_frame_cie): New array. (ppc_elf_size_dynamic_sections): Size glink_eh_frame. (ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
2011-08-05daily updateAlan Modra1-1/+1
2011-08-042011-08-04 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-2/+7
* vms-alpha.c (_bfd_vms_write_eeom): Round vms_linkage_index. (_bfd_vms_write_etir): Initialize vms_linkage_index to 0.
2011-08-04daily updateAlan Modra1-1/+1
2011-08-032011-08-03 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-2/+17
* mach-o.c (bfd_mach_o_canonicalize_symtab): Handle no symbols case. (bfd_mach_o_read_symtab_symbols): Return if no symbols.
2011-08-03daily updateAlan Modra1-1/+1
2011-08-02 * elfxx-mips.c (check_4byte_branch): Remove function.Maciej W. Rozycki2-26/+41
(check_relocated_bzc): New function. (_bfd_mips_elf_relax_section): Permit the relaxation of LUI instructions that immediately follow a compact branch instruction.
2011-08-02 * elf64-ppc.c (build_plt_stub): Correct emitted relocs when noAlan Modra2-13/+31
plt_static_chain. (ppc_build_one_stub): Adjust get_relocs call to suit.. (ppc_size_one_stub): ..and reloc sizing. Correct plt size corner case.
2011-08-02daily updateAlan Modra1-1/+1
2011-08-01Check R_X86_64_32 overflow and allow R_X86_64_64 for x32.H.J. Lu5-42/+92
bfd/ 2011-08-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/13048 * archures.c (bfd_mach_i386_intel_syntax): New. (bfd_mach_i386_i8086): Updated. (bfd_mach_i386_i386): Likewise. (bfd_mach_x86_64): Likewise. (bfd_mach_x64_32): Likewise. (bfd_mach_i386_i386_intel_syntax): Likewise. (bfd_mach_x86_64_intel_syntax): Likewise. (bfd_mach_x64_32_intel_syntax): Likewise. (bfd_mach_l1om): Likewise. (bfd_mach_l1om_intel_syntax): Likewise. (bfd_mach_k1om): Likewise. (bfd_mach_k1om_intel_syntax): Likewise. * bfd-in2.h: Regenerated. * cpu-i386.c (bfd_i386_compatible): Check mach instead of bits_per_address. (bfd_x64_32_arch_intel_syntax): Set bits_per_address to 64. (bfd_x64_32_arch): Likewise. * elf64-x86-64.c: Include "libiberty.h". (x86_64_elf_howto_table): Append x32 R_X86_64_32. (elf_x86_64_rtype_to_howto): Support x32 R_X86_64_32. (elf_x86_64_reloc_type_lookup): Likewise. (elf_x86_64_reloc_name_lookup): Likewise. (elf_x86_64_relocate_section): Likewise. (elf_x86_64_check_relocs): Allow R_X86_64_64 relocations for x32. gas/ 2011-08-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/13048 * config/tc-i386.c (handle_quad): Removed. (md_pseudo_table): Remove "quad". (tc_gen_reloc): Don't check BFD_RELOC_64 for disallow_64bit_reloc. (x86_dwarf2_addr_size): New. * config/tc-i386.h (x86_dwarf2_addr_size): New. (DWARF2_ADDR_SIZE): Likewise. gas/testsuite/ 2011-08-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/13048 * gas/i386/ilp32/ilp32.exp: Don't run inval. * gas/i386/ilp32/inval.l: Removed. * gas/i386/ilp32/inval.s: Likewise. * gas/i386/ilp32/quad.d: Expect R_X86_64_64 instead of R_X86_64_32. * gas/i386/ilp32/x86-64-pcrel.s: Add tests for movabs. * gas/i386/ilp32/x86-64-pcrel.d: Updated. ld/testsuite/ 2011-08-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/13048 * ld-x86-64/ilp32-6.d: New. * ld-x86-64/ilp32-6.s: Likewise. * ld-x86-64/ilp32-7.d: Likewise. * ld-x86-64/ilp32-7.s: Likewise. * ld-x86-64/ilp32-8.d: Likewise. * ld-x86-64/ilp32-8.s: Likewise. * ld-x86-64/ilp32-9.d: Likewise. * ld-x86-64/ilp32-9.s: Likewise. * ld-x86-64/x86-64.exp: Run ilp32-6, ilp32-7, ilp32-8 and ilp32-9. opcodes/ 2011-08-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/13048 * i386-dis.c (print_insn): Optimize info->mach check.
2011-08-01daily updateAlan Modra1-1/+1
2011-07-31daily updateAlan Modra1-1/+1
2011-07-30daily updateAlan Modra1-1/+1
2011-07-29 * elfxx-mips.c (check_br32): Fix return type.Maciej W. Rozycki2-1/+5
2011-07-29 * elfxx-mips.c (bz_insn_16): Correct opcode mask.Maciej W. Rozycki2-1/+5