aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2010-03-31 * elf32-cris.c (cris_elf_relocate_section): Correct first argumentHans-Peter Nilsson2-2/+9
to _bfd_elf_get_dynamic_reloc_section. (elf_cris_discard_excess_dso_dynamics): Ditto.
2010-03-312010-03-31 Kai Tietz <kai.tietz@onevision.com>Kai Tietz3-6/+13
* coff-i386.c (in_reloc_p): Check also for R_SECREL32. * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
2010-03-31 * elf64-ppc.c (ppc64_elf_relocate_section): Nop out optimizedAlan Modra2-0/+17
TPREL16_HI and TPREL16_HA insns.
2010-03-31 PR ld/11458Hans-Peter Nilsson2-21/+65
* elf32-cris.c (elf_cris_copy_indirect_symbol): Remove invalid assert of empty pcrel_relocs_copied on the direct symbol. Instead of moving the list from the indirect symbol to the direct symbol, merge into any existing list. (cris_elf_check_relocs): Store the original section in the pcrel_relocs_copied list, not the relocation section. (elf_cris_discard_excess_dso_dynamics): Adjust accordingly to find the relocation section, for reducing its size. Change the BFD_ASSERT into a check for the section being read-only, and only emit warnings and TEXTREL marker when there's an entry for a read-only section.
2010-03-30daily updateAlan Modra1-1/+1
2010-03-29daily updateAlan Modra1-1/+1
2010-03-29 bfd/Daniel Jacobowitz2-0/+7
* elf32-arm.c (using_thumb_only): Handle v6-M. ld/testsuite/ * ld-arm/arm-elf.exp (armeabitests): Add v6-M farcall test.
2010-03-28daily updateAlan Modra1-1/+1
2010-03-27daily updateAlan Modra1-1/+1
2010-03-26daily updateAlan Modra1-1/+1
2010-03-26 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_EMB_RELSDA>): Not pc-relative.Alan Modra5-11/+12
* bfd-in.h (elf_discarded_section): Clarify comment. * reloc.c (struct reloc_howto_struct <pc_relative>): Likewise. * bfd-in2.h: Regenerate.
2010-03-26 * archive.c (_bfd_compute_and_write_armap): Allow symbols flaggedAlan Modra2-3/+9
as unique in the armap.
2010-03-26 PR ld/11375Alan Modra2-20/+20
* elf64-ppc.c (ppc64_elf_relocate_section): Always look up a possible stub on branches.
2010-03-26add pr refAlan Modra1-0/+1
2010-03-25daily updateAlan Modra1-1/+1
2010-03-25bfd:Joseph Myers13-1/+1209
* Makefile.am (ALL_MACHINES): Add cpu-tic6x.lo. (ALL_MACHINES_CFILES): Add cpu-tic6x.c. (BFD32_BACKENDS): Add elf32-tic6x.lo. (BFD32_BACKENDS_CFILES): Add elf32-tic6x.c. * Makefile.in: Regenerate. * archures.c (bfd_arch_tic6x, bfd_tic6x_arch): New. (bfd_archures_list): Update. * config.bfd (tic6x-*-elf): New. * configure.in (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New. * configure: Regenerate. * cpu-tic6x.c, elf32-tic6x.c: New. * reloc.c (BFD_RELOC_C6000_PCR_S21, BFD_RELOC_C6000_PCR_S12, BFD_RELOC_C6000_PCR_S10, BFD_RELOC_C6000_PCR_S7, BFD_RELOC_C6000_ABS_S16, BFD_RELOC_C6000_ABS_L16, BFD_RELOC_C6000_ABS_H16, BFD_RELOC_C6000_SBR_U15_B, BFD_RELOC_C6000_SBR_U15_H, BFD_RELOC_C6000_SBR_U15_W, BFD_RELOC_C6000_SBR_S16, BFD_RELOC_C6000_SBR_L16_B, BFD_RELOC_C6000_SBR_L16_H, BFD_RELOC_C6000_SBR_L16_W, BFD_RELOC_C6000_SBR_H16_B, BFD_RELOC_C6000_SBR_H16_H, BFD_RELOC_C6000_SBR_H16_W, BFD_RELOC_C6000_SBR_GOT_U15_W, BFD_RELOC_C6000_SBR_GOT_L16_W, BFD_RELOC_C6000_SBR_GOT_H16_W, BFD_RELOC_C6000_DSBT_INDEX, BFD_RELOC_C6000_PREL31, BFD_RELOC_C6000_COPY, BFD_RELOC_C6000_ALIGN, BFD_RELOC_C6000_FPHEAD, BFD_RELOC_C6000_NOCMP): New. * targets.c (bfd_elf32_tic6x_be_vec, bfd_elf32_tic6x_le_vec): New. (_bfd_target_vector): Update. * bfd-in2.h, libbfd.h: Regenerate. binutils: * MAINTAINERS: Add self as TI C6X maintainer. * NEWS: Add news entry for TI C6X support. * readelf.c: Include elf/tic6x.h. (guess_is_rela): Handle EM_TI_C6000. (dump_relocations): Likewise. (get_tic6x_dynamic_type): New. (get_dynamic_type): Call it. (get_machine_flags): Handle EF_C6000_REL. (get_osabi_name): Handle machine-specific values only for relevant machines. Handle C6X values. (get_tic6x_segment_type): New. (get_segment_type): Call it. (get_tic6x_section_type_name): New. (get_section_type_name): Call it. (is_32bit_abs_reloc, is_16bit_abs_reloc, is_none_reloc): Handle EM_TI_C6000. gas: * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c. (TARGET_CPU_HFILES): Add config/tc-tic6x.h. * Makefile.in: Regenerate. * NEWS: Add news entry for TI C6X support. * app.c (do_scrub_chars): Handle "||^" for TI C6X. Handle TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR. Keep spaces in operands if TC_KEEP_OPERAND_SPACES. * configure.tgt (tic6x-*-*): New. * config/tc-ia64.h (TC_PREDICATE_START_CHAR, TC_PREDICATE_END_CHAR): Define. * config/tc-tic6x.c, config/tc-tic6x.h: New. * doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi. * doc/Makefile.in: Regenerate. * doc/all.texi (TIC6X): Define. * doc/as.texinfo: Add TI C6X documentation. Include c-tic6x.texi. * doc/c-tic6x.texi: New. gas/testsuite: * gas/tic6x: New directory and testcases. include: * dis-asm.h (print_insn_tic6x): Declare. include/elf: * common.h (ELFOSABI_C6000_ELFABI, ELFOSABI_C6000_LINUX): Define. * tic6x.h: New. include/opcode: * tic6x-control-registers.h, tic6x-insn-formats.h, tic6x-opcode-table.h, tic6x.h: New. ld: * Makefile.am (ALL_EMULATIONS): Add eelf32_tic6x_be.o and eelf32_tic6x_le.o. (eelf32_tic6x_be.c, eelf32_tic6x_le.c): New. * NEWS: Add news entry for TI C6X support. * configure.tgt (tic6x-*-*): New. * emulparams/elf32_tic6x_be.sh, emulparams/elf32_tic6x_le.sh: New. ld/testsuite: * ld-elf/flags1.d, ld-elf/merge.d: XFAIL for tic6x-*-*. * ld-elf/sec-to-seg.exp: Set B_test_same_seg to 0 for tic6x-*-*. * ld-tic6x: New directory and testcases. opcodes: * Makefile.am (TARGET_LIBOPCODES_CFILES): Add tic6x-dis.c. * Makefile.in: Regenerate. * configure.in (bfd_tic6x_arch): New. * configure: Regenerate. * disassemble.c (ARCH_tic6x): Define if ARCH_all. (disassembler): Handle TI C6X. * tic6x-dis.c: New.
2010-03-24daily updateAlan Modra1-1/+1
2010-03-24Update copyright year.H.J. Lu13-12/+35
2010-03-24 H.J. Lu <hongjiu.lu@intel.com> * aout-target.h: Update copyright year. * aout-tic30.c: Likewise. * coff-alpha.c: Likewise. * coff-rs6000.c: Likewise. * coff64-rs6000.c: Likewise. * elf64-mips.c: Likewise. * ieee.c: Likewise. * libecoff.h: Likewise. * mach-o-target.c: Likewise. * mach-o.c: Likewise. * oasys.c: Likewise. * targets.c: Likewise.
2010-03-24Update copyright year on libbfd-in.h.H.J. Lu2-1/+6
2010-03-24 H.J. Lu <hongjiu.lu@intel.com> * libbfd-in.h: Update copyright year.
2010-03-23daily updateAlan Modra1-1/+1
2010-03-22daily updateAlan Modra1-1/+1
2010-03-21Check !executable instead of shared for PIE.H.J. Lu2-2/+8
2010-03-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/11413 * elflink.c (_bfd_elf_add_default_symbol): Check !executable instead of shared.
2010-03-21daily updateAlan Modra1-1/+1
2010-03-20daily updateAlan Modra1-1/+1
2010-03-19daily updateAlan Modra1-1/+1
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.