aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2009-03-14bfd/Richard Sandiford3-23/+83
* coff-rs6000.c (xcoff_reloc_type_br): Make the branch absolute if the target is absolute. Fix comment typo. (xcoff_ppc_relocate_section): Remove FIXME. * coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absolute if the target is absolute. ld/testsuite/ * ld-powerpc/aix-abs-branch-1.im, ld-powerpc/aix-abs-branch-1.ex, ld-powerpc/aix-abs-branch-1.s, ld-powerpc/aix-abs-branch-1.dd: New test. * ld-powerpc/aix52.exp: Run it.
2009-03-14bfd/Richard Sandiford2-0/+16
* xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copy R_POS and R_NEG relocations against absolute symbols to the .loader section. ld/testsuite/ * ld-powerpc/aix-abs-reloc-1.ex, ld-powerpc/aix-abs-reloc-1.im, ld-powerpc/aix-abs-reloc-1.od, ld-powerpc/aix-abs-reloc-1.s: New test. * ld-powerpc/aix52.exp: Run it.
2009-03-14bfd/Richard Sandiford2-0/+7
* coff64-rs6000.c (xcoff64_write_object_contents): Set the cputype to 2 for bfd_mach_ppc_620.
2009-03-14bfd/Richard Sandiford4-4/+12
* config.bfd: Treat AIX 6+ in the same way as AIX 5. * configure.in: Likewise. * configure: Regenerate. binutils/ * configure.tgt: Extend AIX 5 behavior to AIX 6 and above. * configure.in: Likewise. * configure: Regenerate. gas/ * configure.tgt: Extend AIX 5 behavior to AIX 6 and above. * configure.in: Likewise. * configure: Regenerate. ld/ * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
2009-03-14daily updateAlan Modra1-1/+1
2009-03-13bfd/H.J. Lu2-4/+21
2009-03-13 H.J. Lu <hongjiu.lu@intel.com> PR binutils/9945 * elf.c (assign_section_numbers): Generate symbol table if there is any relocation in output. (_bfd_elf_compute_section_file_positions): Likewise. binutils/ 2009-03-13 H.J. Lu <hongjiu.lu@intel.com> PR binutils/9945 * objcopy.c (copy_object): Clear HAS_RELOC when stripping all.
2009-03-13 PR 9934Nick Clifton4-10/+41
* elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section. * elflink.c (elf_link_read_relocs_from_section): Use NUM_SHDR_ENTRIES. Gracefully handle the case where there are relocs but no symbol table. * elf32-arm.c (elf32_arm_check_relocs): Likewise.
2009-03-13daily updateAlan Modra1-1/+1
2009-03-122009-03-12 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu3-2/+17
PR ld/9938 * elf32-i386.c (elf_i386_check_tls_transition): Use strncmp to check ___tls_get_addr. * elf64-x86-64.c (elf64_x86_64_check_tls_transition): Use strncmp to check __tls_get_addr.
2009-03-122009-03-12 Andrew Stubbs <ams@codesourcery.com>Andrew Stubbs2-38/+43
* dwarf2.c (read_section): Always check the offset, even when the section has been read before.
2009-03-12daily updateAlan Modra1-1/+1
2009-03-112009-03-11 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+6
* elf32-i386.c (elf_i386_check_tls_transition): Fix a typo in comments.
2009-03-11[bfd/ChangeLog]Chris Demetriou4-5/+62
2009-03-11 Chris Demetriou <cgd@google.com> * bfd.c (BFD_DETERMINISTIC_OUTPUT): New flag. * bfd-in2.h: Regenerate. * archive.c (bfd_ar_hdr_from_filesystem): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0 for uid, gid, and timestamp, and use 0644 for file mode. (bsd_write_armap): Likewise. (_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUT flag is set, do nothing. (coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0 for timestamp. [binutils/ChangeLog] 2009-03-11 Chris Demetriou <cgd@google.com> * ar.c (deterministic): New global variable. (main): Recognize new 'D' option, which enables 'deterministic mode'. (usage): Document new 'D' option. (write_archive): Set BFD_DETERMINISTIC_OUTPUT in output archive's flags if deterministic mode was requested. * doc/binutils.texi (ar): Document deterministic mode ('D' option). [binutils/testsuite/ChangeLog] 2009-03-11 Chris Demetriou <cgd@google.com> * binutils-all/ar.exp (deterministic_archive): New test.
2009-03-11 * elf32-spu.c (find_function_stack_adjust): Handle sf instructionUlrich Weigand2-0/+18
used to update stack pointer.
2009-03-11daily updateAlan Modra1-1/+1
2009-03-10daily updateAlan Modra1-1/+1
2009-03-09daily updateAlan Modra1-1/+1
2009-03-08daily updateAlan Modra1-1/+1
2009-03-07 PR binutils/9921Dave Anglin2-2/+10
* som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTE for unknown symbols in absolute section.
2009-03-07daily updateAlan Modra1-1/+1
2009-03-06Updated Spanish translations.Nick Clifton2-894/+1053
2009-03-0609-03-05 Christophe Lyon <christophe.lyon@st.com>Christophe Lyon2-8/+29
bfd/ * elf32-arm.c (group_sections): Take next section size into account before accepting to group it. testsuite/ * ld-arm/arm-elf.exp: Add new farcall-group-limit test. * ld-arm/farcall-group-limit.d: New file. * ld-arm/farcall-group3.s: New file. * ld-arm/farcall-group4.s: New file.
2009-03-06daily updateAlan Modra1-1/+1
2009-03-052009-03-05 Christophe Lyon <christophe.lyon@st.com>Christophe Lyon2-11/+48
bfd/ * elf32-arm.c (arm_type_of_stub): Handle long branches targetting PLT entries. (elf32_arm_final_link_relocate): Likewise. testsuite/ * ld-arm/arm-elf.exp: Add 2 more tests to check long branch stubs in PLT context. * ld-arm/farcall-mixed-app-v5.d: New file. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-app.r: Likewise. * ld-arm/farcall-mixed-app.s: Likewise. * ld-arm/farcall-mixed-app.sym: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/farcall-mixed-lib.r: Likewise.
2009-03-05 PR 9923Alan Modra2-3/+18
* peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.
2009-03-05daily updateAlan Modra1-1/+1
2009-03-04include/elf/Alan Modra8-86/+459
* ppc.h (R_PPC_TLSGD, R_PPC_TLSLD): Add new relocs. * ppc64.h (R_PPC64_TLSGD, R_PPC64_TLSLD): Add new relocs. bfd/ * reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New. * section.c (struct bfd_section): Add has_tls_get_addr_call. (BFD_FAKE_SECTION): Init new flag. * ecoff.c (bfd_debug_section): Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD. (ppc_elf_reloc_type_lookup): Handle new relocs. (ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such without marker relocs. (ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs if section has no old-style calls. (ppc_elf_relocate_section): Set tls_mask for non-tls relocs too. Don't try to optimize new-style __tls_get_addr call when handling arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD relocs. * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD. (ppc64_elf_reloc_type_lookup): Handle new relocs. (ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such without marker relocs. (ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs if section has no old-style calls. Set toc_ref for new relocs as appropriate. (ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too. Don't try to optimize new-style __tls_get_addr call when handling arg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLD relocs. gas/ * config/tc-ppc.c (ppc_elf_suffix): Error if ppc32 tls got relocs have non-zero addend. (md_assemble): Parse args of __tls_get_addr calls. (md_apply_fix): Handle BFD_RELOC_PPC_TLSGD and BFD_RELOC_PPC_TLSLD. ld/testsuite/ * ld-powerpc/tlsmark.s, * ld-powerpc/tlsmark.d: New test. * ld-powerpc/tlsmark32.s, * ld-powerpc/tlsmark32.d: New test. * ld-powerpc/powerpc.exp: Run them.
2009-03-04bfd/Alan Modra3-1/+275
PR 6768 * configure.in: Test for ld --as-needed support. Link shared libbfd against libm. * configure: Regenerate. opcodes/ PR 6768 * configure.in: Test for ld --as-needed support. Link shared libopcodes against libm. * configure: Regenerate.
2009-03-04missing from make dep-am commitAlan Modra1-0/+5
2009-03-04daily updateAlan Modra1-1/+1
2009-03-03make dep-am and regenAlan Modra2-31/+30
opcodes/ * Makefile.am (HFILES): Move lm32-desc.h and lm32-opc.h from.. (CFILES): ..here.
2009-03-03daily updateAlan Modra1-1/+1
2009-03-02Add support for Score7 architecture.Nick Clifton13-842/+5659
2009-03-02daily updateAlan Modra1-1/+1
2009-03-01 Backport from git Libtool:Ralf Wildenhues2-4/+8
2009-01-19 Robert Millan <rmh@aybabtu.com> Support GNU/kOpenSolaris. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize GNU/kOpenSolaris. binutils/ * configure: Regenerate. opcodes/ * configure: Regenerate. bfd/ * configure: Regenerate. gas/ * configure: Regenerate. gprof/ * configure: Regenerate. ld/ * configure: Regenerate.
2009-03-01 * elf32-hppa.c (hppa32_elf_local_refcounts): New function.Dave Anglin2-34/+39
(elf32_hppa_check_relocs): Use it.
2009-03-01 * elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move toDave Anglin3-1198/+1209
elf64-hppa.c. (elf_hppa_unmark_useless_dynamic_symbols): Likewise. (elf_hppa_remark_useless_dynamic_symbols): Likewise. (elf_hppa_is_dynamic_loader_symbol): Likewise. (elf_hppa_record_segment_addrs): Likewise. (elf_hppa_final_link): Likewise. (elf_hppa_relocate_insn): Likewise. (elf_hppa_final_link_relocate): Likewise. (elf64_hppa_relocate_section): Likewise. * elf64-hppa.c: Insert above.
2009-03-01 * elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.Dave Anglin3-631/+777
(elf_hppa_final_link_relocate ): Rewrite eliminating dynamic hash table. (elf_hppa_relocate_section): Likewise. * elf64-hppa.c (struct elf64_hppa_link_hash_entry): Change to derive from struct elf_link_hash_entry. Add count field. (struct elf64_hppa_dyn_hash_table): Delete. (struct elf64_hppa_link_hash_table): Delete dyn_hash_table field. (elf64_hppa_hash_table): Rename to hppa_link_hash_table. (hppa_elf_hash_entry, eh_name): Define. (elf64_hppa_new_dyn_hash_entry): Delete. (elf64_hppa_dyn_hash_lookup): Delete. (elf64_hppa_dyn_hash_traverse): Delete. (get_dyn_name): Delete. (elf64_hppa_finalize_opd): Use struct elf_link_hash_entry * instead of struct elf64_hppa_dyn_hash_entry *. (elf64_hppa_finalize_dlt, llocate_global_data_dlt, allocate_global_data_plt, allocate_global_data_stub, allocate_global_data_opd, count_dyn_reloc, allocate_dynrel_entries): Likewise. (hppa64_link_hash_newfunc): New. (elf64_hppa_hash_table_create): Rework. (count_dyn_reloc): Likewise. (hppa64_elf_local_refcounts): New. (elf64_hppa_check_relocs): Rework using standard technique for recording local DLT, PLT and OPD reference counts. (elf64_hppa_dynamic_symbol_p): Revise using "eh" for struct elf_link_hash_entry *. (elf64_hppa_mark_exported_functions, allocate_global_data_dlt, allocate_global_data_plt, allocate_global_data_stub, allocate_global_data_opd, allocate_dynrel_entries, elf64_hppa_adjust_dynamic_symbol, elf64_hppa_mark_milli_and_exported_functions): Likewise. (elf64_hppa_create_dynamic_sections, elf64_hppa_size_dynamic_sections): Use hppa_link_hash_table. Rework. (elf64_hppa_link_output_symbol_hook): Rework. (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd, elf64_hppa_finalize_dlt, elf64_hppa_finalize_dynreloc, elf64_hppa_finish_dynamic_sections): Likewise.
2009-03-01daily updateAlan Modra1-1/+1
2009-02-28daily updateAlan Modra1-1/+1
2009-02-27daily updateAlan Modra1-1/+1
2009-02-262009-02-26 Christophe Lyon <christophe.lyon@st.com>Christophe Lyon2-27/+87
bfd/ * elf32-arm.c (stub_reloc_type): Removed. (insn_sequence): Renamed reloc_type field to r_type. (elf32_arm_stub_long_branch_v4t_arm_thumb_pic): New stub. (elf32_arm_stub_long_branch_v4t_thumb_arm_pic): Likewise. (elf32_arm_stub_long_branch_thumb_only_pic): Likewise. (elf32_arm_stub_type): Add new enum entries for the new stubs. (arm_stub_is_thumb): Catch new stubs. (arm_type_of_stub): Handle new stubs. (arm_size_one_stub): Use ARRAY_SIZE. Handle new stubs. (bfd_elf32_arm_process_before_allocation): Remove useless condition. testsuite/ * ld-arm/arm-elf.exp: Add 3 tests for the 3 new stubs. * ld-arm/farcall-thumb-arm-pic-veneer.d: New expected result, the test is now expected to pass. * ld-arm/farcall-thumb-thumb-m-pic-veneer.d: Likewise. * ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise.
2009-02-26daily updateAlan Modra1-1/+1
2009-02-25Update contributors list for update of alpha-vms bfd.Tristan Gingold1-0/+2
(Sorry).
2009-02-252009-02-25 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-5/+13
* elf.c (elf_find_function): Use is_function_type to check function symbol.
2009-02-25daily updateAlan Modra1-1/+1
2009-02-242009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>Sterling Augustine2-1347/+2122
* xtensa-modules.c: Revert to previous version 1.11 due to inadvertent commit.
2009-02-242009-02-24 Sterling Augustine <sterling@tensilica.com>Sterling Augustine3-2122/+1365
* elf32-xtensa.c (text_action_add): Separate test for action type. Break if saved action is ta_widen_insn at same offset.
2009-02-24 bfd/Daniel Jacobowitz2-10/+36
* elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Rename to elf32_arm_stub_long_branch_any_arm_pic. (elf32_arm_stub_long_branch_any_thumb_pic): New. (enum elf32_arm_stub_type, arm_type_of_stub) (arm_size_one_stub): Handle any to ARM PIC and any to Thumb PIC separately. ld/testsuite/ * ld-arm/farcall-arm-thumb-blx-pic-veneer.d, ld-arm/farcall-arm-thumb-pic-veneer.d, ld-arm/farcall-thumb-thumb-blx-pic-veneer.d: Update for fixed Thumb PIC stub.
2009-02-242009-02-24 Joseph Myers <joseph@codesourcery.com>Daniel Jacobowitz2-28/+56
bfd/ * elf32-arm.c (PREV_SEC): Update comment. (group_sections): Rename argument to stubs_always_after_branch. Reverse the list and place stubs at the end of input sections. Undefine NEXT_SEC. (elf32_arm_size_stubs): Update to use stubs_always_after_branch. ld/ * ld.texinfo (ARM): Document changed meaning of --stub-group-size. * emultempl/armelf.em (hook_in_stub): Insert after the input section. (elf32_arm_add_stub_section): Update comment. (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size. 2009-02-24 Daniel Jacobowitz <dan@codesourcery.com> ld/testsuite/ * ld-arm/arm-elf.exp (armeabitests): Update duplicate test names. Use normal output files for big-endian. * ld-arm/farcall-arm-arm-be.d, ld-arm/farcall-thumb-arm-be.d: Delete. * ld-arm/farcall-arm-arm-be8.d, ld-arm/farcall-arm-arm-pic-veneer.d, ld-arm/farcall-arm-arm.d, ld-arm/farcall-arm-thumb-blx-pic-veneer.d, ld-arm/farcall-arm-thumb-blx.d, ld-arm/farcall-arm-thumb-pic-veneer.d, ld-arm/farcall-arm-thumb.d, ld-arm/farcall-group-size2.d, ld-arm/farcall-group.d, ld-arm/farcall-mix.d, ld-arm/farcall-mix2.d, ld-arm/farcall-thumb-arm-be8.d, ld-arm/farcall-thumb-arm-blx-pic-veneer.d, ld-arm/farcall-thumb-arm-blx.d, ld-arm/farcall-thumb-arm-short.d, ld-arm/farcall-thumb-arm.d, ld-arm/farcall-thumb-thumb-blx-pic-veneer.d, ld-arm/farcall-thumb-thumb-blx.d, ld-arm/farcall-thumb-thumb-m.d, ld-arm/farcall-thumb-thumb.d, ld-arm/thumb2-bl-as-thumb1-bad.d, ld-arm/thumb2-bl-bad.d: Update for moved stubs.