aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2011-10-21Replace IRELATIVE relocations with RELATIVE in .rel.dyn.H.J. Lu3-13/+25
bfd/ 2011-10-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/13302 * elf32-i386.c (elf_i386_relocate_section): Replace R_386_IRELATIVE with R_386_RELATIVE. * elf64-x86-64.c (elf_x86_64_relocate_section): Replace R_X86_64_IRELATIVE with R_X86_64_RELATIVE. ld/testsuite/ 2011-10-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/13302 * ld-i386/i386.exp: Run pr13302. * ld-i386/pr13302.d: New. * ld-i386/pr13302.s: Likewise. * ld-x86-64/pr13082-5b.d: Updated. * ld-x86-64/pr13082-6a.d: Likewise. * ld-x86-64/pr13082-6b.d: Likewise.
2011-10-21Fix a typo in comments.H.J. Lu3-2/+8
2011-10-21 H.J. Lu <hongjiu.lu@intel.com>. * elf32-i386.c (elf_i386_relocate_section): Fix a typo in comments. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2011-10-21Put IRELATIVE relocations after JUMP_SLOT.H.J. Lu3-38/+102
bfd/ 2011-10-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/13302 * elf32-i386.c (elf_i386_link_hash_table): Add next_jump_slot_index and next_irelative_index. (elf_i386_link_hash_table_create): Initialize next_jump_slot_index and next_irelative_index. (elf_i386_allocate_dynrelocs): Increment reloc_count instead of next_tls_desc_index. (elf_i386_size_dynamic_sections): Set next_tls_desc_index and next_irelative_index from reloc_count. (elf_i386_finish_dynamic_symbol): Put R_386_IRELATIVE after R_386_JUMP_SLOT. * elf64-x86-64.c (elf_x86_64_link_hash_table): Add next_jump_slot_index and next_irelative_index. (elf_x86_64_link_hash_table_create): Initialize next_jump_slot_index and next_irelative_index. (elf_x86_64_size_dynamic_sections): Set next_irelative_index from reloc_count. (elf_x86_64_finish_dynamic_symbol): Put R_X86_64_IRELATIVE after R_X86_64_JUMP_SLOT. ld/testsuite/ 2011-10-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/13302 * ld-ifunc/ifunc-16-i386.d: New. * ld-ifunc/ifunc-16-x86-64.d: Likewise. * ld-ifunc/ifunc-16-x86.s: Likewise.
2011-10-20daily updateAlan Modra1-1/+1
2011-10-20 PR ld/13049Nick Clifton4-9/+42
* elf32-arm.c (STUB_SUFFIX): Avoid collision with user namespace symbol names. * elf64-ppc.c (STUB_SUFFIX): Likewise. * elf32-hppa.c (STUB_SUFFIX): Likewise.
2011-10-19 * elf32-i386.c (i386_opcode16): Delete.Alan Modra3-37/+20
(elf_i386_check_tls_transition): Use memcmp to compare contents. * elf64-x86-64.c (x86_64_opcode16, x86_64_opcode32): Delete. (elf_x86_64_check_tls_transition): Use memcmp to compare contents.
2011-10-19daily updateAlan Modra1-1/+1
2011-10-19 PR ld/13177Alan Modra23-36/+129
bfd/ * elflink.c (_bfd_elf_gc_mark_rsec): Set symbol "mark". (elf_gc_sweep_symbol): Don't test plt/got refcounts, instead test "mark". Hide undefweak too. Clear def_regular and ref_regular. * elf-m10300.c (mn10300_elf_relocate_section): Ignore unresolved reloc errors from garbage-collected code. * elf32-arm.c (elf32_arm_relocate_section): Likewise. * elf32-bfin.c (bfin_relocate_section): Likewise. (bfinfdpic_relocate_section): Likewise. * elf32-cris.c (cris_elf_relocate_section): Likewise. * elf32-frv.c (elf32_frv_relocate_section): Likewise. * elf32-i386.c (elf_i386_relocate_section): Likewise. * elf32-m32r.c (m32r_elf_relocate_section): Likewise. * elf32-m68k.c (elf_m68k_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-spu.c (spu_elf_relocate_section): Likewise. * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise. * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. * elf64-alpha.c (elf64_alpha_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-x86-64.c (elf_x86_64_relocate_section): Likewise. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise. ld/testsuite/ * ld-elf/elf.exp: Move test for shared lib support.. * lib/ld-lib.exp (check_shared_lib_support): ..to here. Add m68hc1*, and s/ms1/mt/. (check_gc_sections_available): Match hppa*64 not hppa64. Comment. * ld-gc/libpersonality.s: New. * ld-gc/personality.s, * ld-gc/personality.d: New. * ld-gc/gc.exp: Run personality test.
2011-10-19 PR ld/13311Alan Modra2-2/+9
* elflink.c (elf_link_output_extsym): Correct test for warning when forced local executable syms are referenced from shared libraries.
2011-10-19 PR ld/13254Alan Modra2-3/+13
include/ * bfdlink.h (struct bfd_link_info): Add error_textrel. bfd/ * elflink.c (bfd_elf_final_link): Emit error_textrel error. ld/ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add -z text, -z notext, -z textoff options for all targets having shared lib support.
2011-10-19Fix sparc TLS call relaxation when the delay slot sets up %o0.David S. Miller2-1/+43
bfd/ PR binutils/13301 * elfxx-sparc.c (sparc_elf_find_reloc_at_ofs): New function. (_bfd_sparc_elf_relocate_section): Always move the __tls_get_addr call delay slot instruction forward 4 bytes when performing relaxation. gold/ PR binutils/13301 * sparc.cc (Target_sparc::Relocate::reloc_adjust_addr_): New member to track relocation locations that have moved during TLS reloc optimizations. (Target_sparc::Relocate::Relocate): Initialize to NULL. (Target_sparc::Relocate::relocate): Adjust view down by 4 bytes if it matches reloc_adjust_addr_. (Target_sparc::Relocate::relocate_tls): Always move the __tls_get_addr call delay slot instruction forward 4 bytes when performing relaxation. ld/testsuite/ * ld-sparc/tlssunbin32.dd: Update for TLS call relaxation fix for PR 13301. * ld-sparc/tlssunbin64.dd: Likewise. * ld-sparc/tlssunpic32.dd: Likewise. * ld-sparc/tlssunpic64.dd: Likewise.
2011-10-18daily updateAlan Modra1-1/+1
2011-10-17daily updateAlan Modra1-1/+1
2011-10-17 PR ld/12975Alan Modra2-1/+11
PR ld/13195 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Apply 2011-09-15 and 2011-09-29 bfd_elf_gc_mark_dynamic_ref_symbol changes here too.
2011-10-16daily updateAlan Modra1-1/+1
2011-10-15daily updateAlan Modra1-1/+1
2011-10-14daily updateAlan Modra1-1/+1
2011-10-14 * elf32-cris.c (cris_elf_gc_sweep_hook) <R_CRIS_16_GOTPLT>Hans-Peter Nilsson2-0/+22
<R_CRIS_32_GOTPLT>: Fix missing update of gotplt refcount for global symbols. <R_CRIS_8, R_CRIS_16, R_CRIS_32>: New cases for similar missing updates of the plt refcount. (elf_cris_adjust_gotplt_to_got): Assert integrity of the gotplt refcount in relation to the plt refcount.
2011-10-13daily updateAlan Modra1-1/+1
2011-10-13 * elf32-arm.c (elf32_arm_final_link_relocate): Mark PLT calls viaNick Clifton2-8/+22
stubs as resolved.
2011-10-12daily updateAlan Modra1-1/+1
2011-10-11daily updateAlan Modra1-1/+1
2011-10-11 PR binutils/13278Alan Modra2-3/+11
* archive.c (bfd_generic_archive_p): Only check first element when target_defaulted. (_bfd_construct_extended_name_table): Use ar_maxnamelen. (_bfd_archive_bsd44_construct_extended_name_table): Likewise.
2011-10-11 PR binutils/13257Alan Modra2-2/+17
* archive.c (_bfd_find_nested_archive, _bfd_get_elt_at_filepos): Open thin archive element using container target if not defaulted.
2011-10-10daily updateAlan Modra1-1/+1
2011-10-10Updated Bulgarian, Spanish, Finnish, French, Russian and Ukranian translations.Nick Clifton5-4176/+5080
2011-10-10include/elf/Alan Modra2-5/+145
* ppc64.h (R_PPC64_TOCSAVE): Add. bfd/ * elf64-ppc.c (ppc64_elf_howto_table): Add R_PPC64_TOCSAVE entry. (struct ppc_link_hash_table): Add tocsave_htab. (struct tocsave_entry): New. (tocsave_htab_hash, tocsave_htab_eq, tocsave_find): New functions. (ppc64_elf_link_hash_table_create): Create tocsave_htab.. (ppc64_elf_link_hash_table_free): ..and delete it. (build_plt_stub): Always put STD_R2_40R1 first. (ppc64_elf_size_stubs): Check for R_PPC64_TOCSAVE following reloc on plt call. If present add prologue nop location to tocsave_htab. (ppc64_elf_relocate_section): Convert prologue nop to std. Skip first insn of plt call stub when R_PPC64_TOCSAVE present.
2011-10-09daily updateAlan Modra1-1/+1
2011-10-08daily updateAlan Modra1-1/+1
2011-10-08Preserve the maximum alignment/size for common symbols.H.J. Lu2-0/+29
bfd/ 2011-10-08 H.J. Lu <hongjiu.lu@intel.com> PR ld/13250 * elflink.c (elf_link_add_object_symbols): Preserve the maximum alignment and size for common symbols. ld/testsuite/ 2011-10-08 H.J. Lu <hongjiu.lu@intel.com> PR ld/13250 * ld-elf/shared.exp (build_tests): Add tests for PR ld/13250. (run_tests): Likewise. * ld-elf/pr13250-1.c: New. * ld-elf/pr13250-2.c: Likewise. * ld-elf/pr13250-3.c: Likewise.
2011-10-08 PR ld/13229Alan Modra2-4/+14
PR ld/13244 * elflink.c (elf_link_add_object_symbols): Don't make IR symbols dynamic.
2011-10-07 * elflink.c (elf_link_output_extsym): Strip defined plugin symbolsAlan Modra2-4/+11
even when strip_discarded is false.
2011-10-07daily updateAlan Modra1-1/+1
2011-10-06daily updateAlan Modra1-1/+1
2011-10-06 * coffgen.c (coff_write_alien_symbol): Don't writeKai Tietz2-0/+24
symbol for discarded sections, if strip_discarded isn't explicit set to false. (coff_write_native_symbol): Likewise.
2011-10-05daily updateAlan Modra1-1/+1
2011-10-05Add missing ChangeLog entries.H.J. Lu1-0/+10
2011-10-05 * readelf.c (get_machine_dlags): Add support for RX's PID mode.Nick Clifton2-4/+75
* ld-scripts/phdrs.exp: Expect to fail for the RX. * elf32-rx.c: Add support for PID mode. (rx_elf_relocate_section): Add checks for unsafe PID relocations. Include addend in R_RX_SYM relocations. * config/rx-defs.h (rx_pid_register): New. (rx_gp_register): New. * config/rx-parse.y (rx_lex): Add support for %gpreg and %pidreg. (displacement): Add PID support. * config/tc-rx.c (rx_pid_mode): New. (rx_num_int_regs): New. (rx_pid_register): New. (rx_gp_register): New. (options): Add -mpid and -mint-register= options. (md_longopts): Likewise. (md_parse_option): Likewise. (md_show_usage): Likewise. (rx_pid_symbol): New. (rx_pidreg_symbol): New. (rx_gpreg_symbol): New. (md_begin): Support PID. (rx_validate_fix_sub): Support PID. (tc_gen_reloc): Support PID. * doc/c-rx.texi: Document PID support. * rx.h (E_FLAG_RX_PID): New.
2011-10-04daily updateAlan Modra1-1/+1
2011-10-03daily updateAlan Modra1-1/+1
2011-10-02daily updateAlan Modra1-1/+1
2011-10-01daily updateAlan Modra1-1/+1
2011-10-01daily updateAlan Modra1-1/+1
2011-09-302011-09-30 Tristan Gingold <gingold@adacore.com>Tristan Gingold12-72/+205
* dwarf2.c (struct dwarf2_debug): Add field debug_sections. (read_section): Add sec argument. Adjust the code to get section names from it. (read_indirect_string): Adjust call to read_section. (read_abbrevs): Ditto. (decode_line_info): Ditto. (read_debug_ranges): Ditto. (DWARF2_DEBUG_INFO, DWARF2_COMPRESSED_DEBUG_INFO): Remove. (find_debug_info): Add debug_sections parameter. Use it instead the above macros. (place_sections): Get section names from stash. (find_line): Add debug_sections argument. Initialize debug_sections field of stash from it. Adjust calls to find_debug_info. (_bfd_dwarf2_find_nearest_line): Add debug_sections argument. Adjust call to find_line. (_bfd_dwarf2_find_line): Adjust call to find_line. * libcoff-in.h (struct dwarf_debug_section): New declaration. (coff_find_nearest_line_with_names): Likewise. * libcoff.h: Regenerate. * libbfd-in.h (struct dwarf_debug_section): Move declaration. (dwarf_debug_sections): Likewise. (_bfd_dwarf2_find_nearest_line): Add debug_sections argument. * libbfd.h: Regenerate. * elf.c (_bfd_elf_find_nearest_line): Adjust call to _bfd_dwarf2_find_nearest_line. * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Ditto. * elf64-alpha.c (elf64_alpha_find_nearest_line): Ditto. * elf32-arm.c (elf32_arm_find_nearest_line): Ditto. * coffgen.c (coff_find_nearest_line_with_names): New function. (coff_find_nearest_line): Calls coff_find_nearest_line_with_names. * coff-rs6000.c (xcoff_debug_sections): New constant. (xcoff_find_nearest_line): New function. (rs6000coff_vec): Use xcoff_find_nearest_line. (pmac_xcoff_vec): Ditto.
2011-09-30 PR ld/13235Alan Modra2-108/+58
bfd/ * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add ha_relocs_not_using_r2. (ppc64_elf_edit_toc): Check HA relocs. (ha_reloc_match): Delete function. (ppc64_elf_relocate_section): Remove delayed HA nop optimization. Instead do it and low part optimization based on ha_relocs_not_using_r2. ld/testsuite/ * ld-powerpc/tocopt.d: Update. * ld-powerpc/tocopt5.d, * ld-powerpc/tocopt5.s: New test. * ld-powerpc/powerpc.exp: Run new test.
2011-09-30daily updateAlan Modra1-1/+1
2011-09-29 PR ld/13233Alan Modra2-2/+9
* elflink.c (_bfd_elf_gc_mark_extra_sections): Mark single member debug and special section groups.
2011-09-29Fix --gc-sections failure with symbol versioning.H.J. Lu1-5/+7
bfd/ 2011-09-28 H.J. Lu <hongjiu.lu@intel.com> PR ld/13195 * elflink.c (_bfd_elf_merge_symbol): Don't set dynamic_def when clearing def_dynamic. (elf_link_add_object_symbols): Likewise. Set dynamic_def when setting def_dynamic. (bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is versioned. ld/testsuite/ 2011-09-28 H.J. Lu <hongjiu.lu@intel.com> PR ld/13195 * ld-elf/elf.exp: Add a C link testcase for PR ld/13195. * ld-elf/pr13195.c: New. * ld-elf/pr13195.d: Likewise. * ld-elf/pr13195.s: Likewise. * ld-elf/pr13195.t: Likewise.
2011-09-29daily updateAlan Modra1-1/+1
2011-09-28daily updateAlan Modra1-1/+1