URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [bfd/] [ChangeLog] - Rev 826
Go to most recent revision | Compare with Previous | Blame | View Log
2010-03-03 Tristan Gingold <gingold@adacore.com>* Makefile.am (RELEASE): Unset.* Makefile.in: Regenerate.2010-03-01 Tristan Gingold <gingold@adacore.com>* configure.in: Bump version to 2.20.1* Makefile.am (RELEASE): Set.* configure, Makefile.in: Regenerate.2010-02-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>* elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize ofR_ARM_THM_CALL entry.(elf32_arm_final_link_relocate): Correct calculation ofreloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,or R_ARM_THM_JUMP24 relocation.2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>PR binutils/11280* configure.host (*-*-solaris2.11): Add host define to selectvalid default code page for windres/windmc on solaris.2010-01-30 Richard Sandiford <r.sandiford@uk.ibm.com>* coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.(_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.* coff64-rs6000.c (xcoff64_howto_table): Change size to 0 andbitsize to 1.(xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.2010-01-27 Alan Modra <amodra@gmail.com>PR ld/11217* elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.(ppc64_elf_setup_section_lists): Init them.(ppc64_elf_next_toc_section): Don't partition multi-toc between .gotand .toc on the same input file.(ppc64_elf_relocate_section): Correct GOT entry offset.2010-01-25 Alan Modra <amodra@gmail.com>PR ld/11217* elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequenceswith relocations against undefined weak symbols.(ppc64_elf_relocate_section): Don't optimize calls to undefinedweak functions if the symbol is dynamic.(ppc64_elf_relocate_section): Edit tprel tls sequences.* elf32-ppc.c (ppc_elf_relocate_section): Likewise.(_bfd_elf_ppc_at_tprel_transform): New function.* bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.* bfd-in2.h: Regenerate.2010-01-25 Alan Modra <amodra@gmail.com>2009-12-11 Nick Clifton <nickc@redhat.com>* elf32-ppc.c: Fix shadowed variable warnings.* elf64-ppc.c: Likewise.2009-11-18 Alan Modra <amodra@bigpond.net.au>* bfd-in.h (_bfd_elf_ppc_at_tls_transform): Declare.* bfd-in2.h: Regenerate.* elf64-ppc.c (ppc64_elf_relocate_section): Move code for R_PPC64_TLSinsn optimisation to..* elf32-ppc.c (_bfd_elf_ppc_at_tls_transform): ..here. New function.(ppc_elf_relocate_section): Use it.2010-01-11 Alan Modra <amodra@gmail.com>PR 11103* dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.2010-01-11 Alan Modra <amodra@gmail.com>PR 6832* dwarf2.c (struct comp_unit): Add sec_info_ptr.(find_abstract_instance_name): Use it.(parse_comp_unit): Set it.2009-12-21 Alan Modra <amodra@gmail.com>* elf64-ppc.c: Delete my email address.2009-12-17 Alan Modra <amodra@bigpond.net.au>PR ld/11088* elf32-ppc.c (update_plt_info): Clear sec here when addend isless than 32768..(ppc_elf_check_relocs): ..rather than doing so here. Ignore newrelax relocs.(ppc_elf_gc_sweep_hook): Don't segfault when symbol hiding hasremoved plt_entry records.(ppc_elf_tls_setup): Handle PIE calls to __tls_get_addr correctly.(ppc_elf_tls_optimize): Likewise. Also dec __tls_get_addr refcountwhen optimizing code using new tlsgd and tlsld marker relocs.(ppc_elf_relax_section): Differentiate relaxed PLTREL24 relocsfrom ADDR24 relocs using plt or glink. Don't clear the addendfor R_PPC_RELAX_PLTREL24.(ppc_elf_relocate_section): Correctly handle addends on relaxedPLTREL24 relocs.2009-12-17 Alan Modra <amodra@bigpond.net.au>PR ld/11088* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Don't abort if symbolhiding has nulled out plt.plist.2009-12-03 Alan Modra <amodra@bigpond.net.au>PR ld/11047* elf32-ppc.c (ppc_elf_relocate_section): Delete __tls_get_addrsymbol reference from relocs belonging to calls that areoptimized away.* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.2009-11-17 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (struct spu_link_hash_table): Remove overlay_fixed,reserved, and extra_stack_space members.(spu_elf_auto_overlay): Use auto_overlay_fixed, auto_overlay_reserved,and extra_stack_space members of htab->params instead.2009-11-03 Alan Modra <amodra@bigpond.net.au>Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (mark_functions_via_relocs): Handle non-branch relocs(jump tables or other references to code labels) as well.2009-10-20 Alan Modra <amodra@bigpond.net.au>PR binutils/10802* opncls.c (_maybe_make_executable): Make DYNAMIC files executable.2009-10-19 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:Don't subtract the size of the TLS block for non-shared objectsfrom the relocation.2009-10-16 Tristan Gingold <gingold@adacore.com>* configure.in: Bump version to 2.20.0* Makefile.am (RELEASE): Unset.* configure, Makefile.in: Regenerate.2009-10-16 Tristan Gingold <gingold@adacore.com>* configure.in: Bump version to 2.20* Makefile.am (RELEASE): Set.* configure, Makefile.in: Regenerate.2009-10-16 Alan Modra <amodra@bigpond.net.au>PR binutils/10785* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Don't bfd_allocbim and bim->buffer. bfd_malloc instead.* peicode.h (pe_ILF_build_a_bfd): Similarly.(ILF_DATA_SIZE): Don't include bim.* opncls.c (bfd_close): Test bim->buffer non-NULL before freeing.2009-10-06 Tristan Gingold <gingold@adacore.com>* configure.in: Bump version to 2.19.92* configure: Regenerate.2009-10-01 Dave Korn <dave.korn.cygwin@gmail.com>* cofflink.c (_bfd_coff_generic_relocate_section): Look for the auxsymbol for a weak undef in the auxbfd, not the input bfd.2009-10-01 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (spu_elf_auto_overlay): Insert icache linker scriptafter .toe instead of before .text section. Set the LMA of alloverlay sections to their icache IA address.(spu_elf_find_overlays): Determine icache set id without referenceto the LMA.2009-09-30 Tristan Gingold <gingold@adacore.com>* configure.com: Use hosts/alphavms.h on both alpha and ia64 VMS.2009-09-24 Alan Modra <amodra@bigpond.net.au>PR binutils/10654* dwarf2.c (lookup_address_in_line_info_table): Remove workaroundfor invalid location lists generated by gcc-2.95 and Intel 6.0 C++.Remove "function" parm, adjust caller.2009-09-23 Jie Zhang <jie.zhang@analog.com>* elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty.rel.plt and .plt sections are removed.(elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbsssection. Remove the duplicated removing of empty .rel.pltsection.2009-09-21 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (TLS_GET_ADDR_GLINK_SIZE): Define.(ADD_3_12_2, BEQLR, CMPWI_11_0, LWZ_11_3, LWZ_12_3): Define.(MR_0_3, MR_3_0): Define.(struct ppc_elf_link_hash_table): Add no_tls_get_addr_opt.(ppc_elf_select_plt_layout): Save emit_stub_syms param earlier.(ppc_elf_tls_setup): Add no_tls_get_addr_opt param and save to hashtable. Check for presense of __tls_get_addr_opt(allocate_dynrelocs): Increase glink entry size for __tls_get_addr.(ppc_elf_size_dynamic_sections): Add DT_PPC_TLS_OPT tag.(write_glink_stub): Add param p.(ppc_elf_relocate_section): Adjust write_glink_stub call.(ppc_elf_finish_dynamic_symbol): Emit special glink call stub for__tls_get_addr.* elf32-ppc.h (ppc_elf_tls_setup): Update prototype.* elf64-ppc.c (struct ppc_link_hash_table): Add no_tls_get_addr_opt.(ppc64_elf_tls_setup): Add no_tls_get_addr_opt param and save to hashtable. Check for presense of __tls_get_addr_opt.(ppc64_elf_size_dynamic_sections): Add DT_PPC64_TLS_OPT tag.(LD_R11_0R3, LD_R12_0R3, MR_R0_R3, CMPDI_R11_0, ADD_R3_R12_R13,BEQLR, MR_R3_R0, MFLR_R11, STD_R11_0R1, BCTRL, LD_R11_0R1,LD_R2_0R1, MTLR_R11): Define.(build_tls_get_addr_stub): New function.(ppc_build_one_stub): Call it.(ppc_size_one_stub): Add extra size for __tls_get_addr stub.(ppc64_elf_relocate_section): Don't change nop to ld 2,40(1) for__tls_get_addr plt call.* elf64-ppc.h (ppc64_elf_tls_setup): Update prototype.2009-09-18 Alan Modra <amodra@bigpond.net.au>PR ld/10406* elf32-ppc.c (ppc_elf_howto_raw): Make R_PPC_EMB_SDAI16 andR_PPC_EMB_SDA2I16 complain_overflow_signed.(create_sdata_sym): Pass info rather than htab.Update all callers. Ensure symbols are hidden.(ppc_elf_check_relocs): Allow SDAREL16 when shared.(ppc_elf_size_dynamic_sections): When shared, equate _SDA_BASE_ to_GLOBAL_OFFSET_TABLE_.(elf_finish_pointer_linker_section): Don't assume that sdata basesymbol is always at 0x8000 offset. Don't subtract the addend here.(is_static_defined): New function.(ppc_elf_relocate_section): Verify symbol base used in SDA relocsis statically defined. Clear addend for EMB_SDAI16 and EMB_SDA2I16relocs. Downgrade error on unexpected section for EMB_SDA2RELreloc symbols to a warning.2009-09-18 Nick Clifton <nickc@redhat.com>* po/es.po: Updated Spanish translation.* po/vi.po: Updated Vietnamese translation.2009-09-18 Alan Modra <amodra@bigpond.net.au>* elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): Newfunctions. Use throughout.(ppc64_elf_copy_indirect_symbol): Set direct symbol "oh" fieldfrom indirect symbol.(lookup_fdh): Rename from get_fdh. Follow indirect sym links.(add_symbol_adjust): Simplify.(defined_code_entry, defined_func_desc): New functions.(ppc64_elf_gc_keep): Follow indirect sym links. Use defined_code_entry.(ppc64_elf_gc_mark_dynamic_ref): Use defined_func_desc anddefined_code_entry to follow indirect sym links.(ppc64_elf_gc_mark_hook, func_desc_adjust): Likewise.(ppc_type_of_stub): Follow indirect sym links.(toc_adjusting_stub_needed): Likewise.(ppc_build_one_stub): Likewise. Make undefined dot-symbols weakrather than defining them at stub.(ppc64_elf_relocate_section): Rewrite call test to avoid multipleassignments in test.2009-09-14 Daniel Jacobowitz <dan@codesourcery.com>* elf32-arm.c (elf32_arm_final_link_relocate): Set sym_flagsfor the mode of target PLT entries.(allocate_dynrelocs): Only adjust symbol type if setting itsvalue.2009-09-14 Nick Clifton <nickc@redhat.com>* po/fi.po: Updated Finnish translation.2009-09-11 Nick Clifton <nickc@redhat.com>* po/bfd.pot: Updated by the Translation project.2009-09-11 Nick Clifton <nickc@redhat.com>* rs6000-core.c (read_hdr): Fix typo in recent C++ compatibilitychanges.2009-09-11 Jie Zhang <jie.zhang@analog.com>* elf32-bfin.c (bfinfdpic_relocs_info_find): Just returnNULL if `ht' is NULL.2009-09-10 Tristan Gingold <gingold@adacore.com>* configure.in: Bump version to 2.19.91* configure: Regenerate.2009-09-09 Martin Thuresson <martin@mtme.org>Update sources to compile cleanly with -Wc++-compat:* aoutx.h: Add casts.* archive.c: Add casts.* archive64.c: Add casts.* archures.c: Add casts.* bfd-in2.h: Regenerated.* bfd.c: Add casts. (enum bfd_direction): Move out to top level.* bfdio.c: Add casts.* binary.c: Add casts.* cache.c (cache_bseek,cache_bread_1,cache_bwrite): Updatedparameter to use enum value instead of int.* coffcode.h: Add casts.* coffgen.c: Add casts.* cofflink.c: Add casts.* compress.c: Add casts.* dwarf1.c: Add casts.* dwarf2.c: Add casts. (struct dwarf2_debug): Rename member bfd tobfd_ptr. Update code to use new name.* elf-attrs.c: Add casts.* elf-bfd.h (elf_link_virtual_table_entry): Gives name toanonymous struct. (union gotplt_union, structelf_link_virtual_table_entry): Move to top level.* elf-eh-frame.c: Add casts.* elf-strtab.c: Add casts.* elf.c: Add casts. (_bfd_elm_make_Section_from_phdr): Changeargument name from typename to type_name.* elf32-i386.c: Add casts.* elf64-x86-64.c: Add casts.* elfcode.h: Add casts.* elfcore.h: Add casts.* elflink.c: Add casts.* format.c: Add casts.* hash.c: Add casts.* ihex.c: Add casts.* libaout.h (enum aout_subformat, enum aout_magic): Move to toplevel.* libbfd.c: Add casts.* linker.c: Add casts.* merge.c: Add casts.* opncls.c: Add casts.* peXXigen.c: Add casts.* peicode.h: Add casts.* reloc.c: Add casts.* section.c: Add casts.* simple.c: Add casts.* srec.c: Add casts.* stabs.c: Add casts.* syms.c: Add casts.* targets.c: Add casts.* tekhex.c: Add casts.* verilog.c: Add casts.2009-09-09 Nick Clifton <nickc@redhat.com>PR 10478:* elf.c (bfd_section_from_shdr): Do not reject sparc binaries withsection headers containing sh_link values of SHN_BEFORE orSHN_AFTER.* elfcode.h (elf_object_p): Likewise.2009-09-09 Alan Modra <amodra@bigpond.net.au>* elf32-xtensa.c (elf_xtensa_relax_section): Delete -r check.2009-09-07 Tristan Gingold <gingold@adacore.com>* po/bfd.pot: Regenerate* po/SRC-POTFILES.in: Regenerate2009-09-07 Tristan Gingold <gingold@adacore.com>* bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,BFD_HAVE_SYS_STAT_TYPE_MEMBER): Moved to gas/acinclude.m4* configure.in: Move tests for tm_gmtoff, st_mtim.tv_sec andst_mtim.tv_nsec to gas/configure.in(bfd_elf64_ia64_vms_vec): Remove vmsutil.lo* configure: Regenerate.* config.in: Regenerate.* vmsutil.c: Moved to gas/config/te-vms.c* vmsutil.h: Removed.* Makefile.am (BFD32_BACKENDS_CFILES): Remove vmsutil.c(BFD32_BACKENDS): Remove vmsutil.lo* Makefile.in: Regenerate.2009-09-05 Martin Thuresson <martin@mtme.org>* coff-arm.c (coff_arm_relocate_section)(record_thumb_to_arm_glue, bfd_arm_process_before_allocation):Change member name class to symbol_class.* coff-i960.c (coff_i960_relocate_section) Rename variableclass to class_val. Change member name class to symbol_class.* coff-rs6000.c (_bfd_xcoff_swap_aux_in)(_bfd_xcoff_swap_aux_out): Rename arguments class to in_class.* coff-stgo32.c (adjust_aux_in_post)(adjust_aux_out_pre, adjust_aux_out_post): Rename arguments classto in_class.* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in)(_bfd_xcoff64_swap_aux_out): Rename arguments class to in_class.* coffcode.h (coff_pointerize_aux_hook): Rename variable classto n_sclass.* coffgen.c (coff_write_symbol, coff_pointerize_aux): Renamevariables named class to n_sclass. (coff_write_symbols): Renamevariable class to sym_class. (bfd_coff_set_symbol_class): Renameargument class to symbol_class.* cofflink.c (_bfd_coff_link_hash_newfunc)(coff_link_add_symbols, _bfd_coff_link_input_bfd)(_bfd_coff_write_global_sym, _bfd_coff_generic_relocate_section):Update code to use renamed members.* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Renameargument class to in_class.* libcoff-in.h (struct coff_link_hash_entry, structcoff_debug_merge_type) Renamed members class to symbol_class andtype_class.* libcoff.h Regenerated.* peXXigen.c: (_bfd_XXi_swap_aux_in, _bfd_XXi_swap_aux_out):Rename argument class to in_class.* pef.c (bfd_pef_parse_imported_symbol): Update code to userenamed members.* pef.h (struct bfd_pef_imported_symbol): Changed name ofmember class to symbol_class.2009-09-04 Tristan Gingold <gingold@adacore.com>* configure.in: Bump version to 2.19.90* configure: Regenerated.2009-09-04 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_relocate_section): Correct 2009-07-24 logic.2009-09-04 Jie Zhang <jie.zhang@analog.com>* elf32-bfin.c (elf32_bfinfdpic_create_dynamic_sections): Alwayscreate .rela.bss.(elf32_bfinfdpic_size_dynamic_sections): Set SEC_EXCLUDE flagfor empty .rela.bss and .rel.plt sections.2009-09-03 Adam Nemet <anemet@caviumnetworks.com>* elfxx-mips.c (mips_elf_calculate_relocation): Don't relocateR_MIPS_JALR unless symbol resolves locally.2009-09-03 Adam Nemet <anemet@caviumnetworks.com>* elfxx-mips.c (_bfd_mips_elf_check_relocs): Don't sethas_static_relocs for R_MIPS_JALR.2009-09-03 Maciej W. Rozycki <macro@codesourcery.com>* elf64-mips.c (mips_elf64_howto_table_rela): Add support forR_MIPS_TLS_DTPMOD64 and R_MIPS_TLS_TPREL64, replacing therespective stubs.2009-09-01 H.J. Lu <hongjiu.lu@intel.com>* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Declareplt earlier.2009-09-01 Tristan Gingold <gingold@adacore.com>* makefile.vms: Ported to Itanium VMS. Remove useless variable anddependencies. Reindent.* configure.com: Ported to Itanium VMS. Now generates a build.comto build without make. Add messages but make edit silent.* hosts/alphavms.h: Add a prototype for stpcpy.* vms.c: Add a missing include for Alpha VMS.* elfxx-ia64.c (ELF_OSABI): Define for OpenVMS.2009-08-31 Jan Beulich <jbeulich@novell.com>* elf-bfd.h (bfd_elf_get_default_section_type): Declare.* elf.c (bfd_elf_get_default_section_type): New.(elf_fake_sections): Use bfd_elf_get_default_section_type.2009-08-30 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert theaccidental checkin.* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likwise.2009-08-30 Alan Modra <amodra@bigpond.net.au>PR ld/10569* bfd.c (bfd_emul_get_maxpagesize): Don't abort.(bfd_emul_get_commonpagesize): Likewise.2009-08-29 Martin Thuresson <martin@mtme.org>* elf32-arm.c (struct stub_def): Rename member template totemplate_sequence. (arm_build_one_stub,find_stub_size_and_template, arm_size_one_stub, arm_map_one_stub):Rename variable template to template_sequence.* elfxx-ia64.c (elfNN_ia64_relax_br, elfNN_ia64_relax_brl):Rename variable template to template_val.* aoutx.h (NAME (aout, make_empty_symbol)): Rename variablenew to new_symbol.* coffgen.c (coff_make_empty_symbol)(coff_bfd_make_debug_symbol): Rename variable new to new_symbol.* cpu-ia64-opc.c (ext_reg, ins_imms_scaled): Rename variablenew to new_insn.* ecoff.c (_bfd_ecoff_make_empty_symbol): Rename variable newto new_symbol.* elf32-m68k.c (elf_m68k_get_got_entry_type): Rename argumentnew to new_reloc.* hash.c (bfd_hash_lookup): Rename variable new to new_string.* ieee.c (ieee_make_empty_symbol): Rename variable new tonew_symbol.* linker.c (bfd_new_link_order): Rename variable new tonew_lo.* mach-o.c (bfd_mach_o_sizeof_headers): Rename variable new tosymbol.* oasys.c (oasys_make_empty_symbol): Rename variable new tonew_symbol_type.* pdp11.c (NAME (aout, make_empty_symbol)): Rename variablenew to new_symbol_type.* plugin.c (bfd_plugin_make_empty_symbol): Rename variable newto new_symbol.* rs6000-core.c (CoreHdr, VmInfo): Rename union member new tonew_dump.(read_hdr, rs6000coff_core_p)(rs6000coff_core_file_matches_executable_p)(rs6000coff_core_file_failing_command)(rs6000coff_core_file_failing_signal): Updated function to use newunion member name.* som.c (som_make_empty_symbol): Rename variable new tonew_symbol_type.* syms.c (_bfd_generic_make_empty_symbol): Rename variable newto new_symbol.* tekhex.c (first_phase, tekhex_make_empty_symbol): Renamevariable new to new_symbol.2009-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>* acinclude.m4 (AM_INSTALL_LIBBFD): Call AM_SUBST_NOTMAKE forbfdlibdir and bfdincludedir.* Makefile.am (bfdlibdir, bfdincludedir): Move definition ...[INSTALL_LIBBFD]: ... here, ...[INSTALL_LIBBFD]: ... and empty overrides here.[!INSTALL_LIBBFD]: (rpath_bfdlibdir): New variable.[!INSTALL_LIBBFD] (libbfd_la_LDFLAGS): Use it.* Makefile.in: Regenerate.* configure: Regenerate.2009-08-26 Maxim Kuvyrkov <maxim@codesourcery.com>* elf32-m68k.c: Rewrite initialization of GOT entries for TLSrelocations. Rewrite output of dynamic TLS relocations.(DTP_OFFSET, TP_OFFSET): New constants.(dtpoff_base): Update.(tpoff): Rename to tpoff_base, update.(elf_m68k_init_got_entry_static, elf_m68k_init_got_entry_local_shared):New functions. Move code from elf_m68k_relocate_section here.(elf_m68k_relocate_section): Update.(elf_m68k_finish_dynamic_symbol): Fix handling of local TLS symbols.2009-08-26 Maxim Kuvyrkov <maxim@codesourcery.com>* elf32-m68k.c (elf_m68k_copy_indirect_symbol): Propagatenon_got_ref value.(elf_m68k_check_relocs): Handle dynamic TLS relocations.Handle non_got_ref field.(elf_m68k_adjust_dynamic_symbol): Handle non_got_ref field.2009-08-26 Alan Modra <amodra@bigpond.net.au>PR ld/10518* linker.c (bfd_find_version_for_sym): Revert warning.2009-08-26 Alan Modra <amodra@bigpond.net.au>PR ld/10518* linker.c (bfd_find_version_for_sym): Override a "*" match by anyother wildcard match. Warn on multiple wildcard matches.2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>* Makefile.am (libbfd_la_LDFLAGS): Initialize early, to allowappending.[INSTALL_LIBBFD] (bfdlib_LTLIBRARIES, bfdinclude_HEADERS): Setonly in this condition.[!INSTALL_LIBBFD] (noinst_LTLIBRARIES, libbfd_la_LDFLAGS): New,to build but not install libbfd.la in this condition.(install-bfdlibLTLIBRARIES, uninstall-bfdlibLTLIBRARIES)(install_libbfd, install_libbfd): Remove.* Makefile.in: Regenerate.* doc/Makefile.am (AM_CPPFLAGS): Renamed from ...(INCLUDES): ... this.($(MKDOC)): Adjust.* doc/Makefile.in: Regenerate.* Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus, instead useno-dist and foreign.(EXTRA_libbfd_la_SOURCES): New, list $(CFILES) to allowdependency tracking to work for them.(targets.lo, archures.lo, dwarf.lo): Rewrite touse automake dependency tracking mechanism.(MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Remove.(mkdep section): Remove.(BUILT_SOURCES): New, list $(BUILD_HFILES).* Makefile.in: Regenerate.* po/SRC-POTFILES.in, po/bfd.pot: Regenerate.* Makefile.am (datarootdir, docdir, htmldor, pdfdir)(install-pdf, install-pdf-recursive, install-html)(install-html-recursive): Remove.* Makefile.in: Regenerate.* Makefile.in: Regenerate.* aclocal.m4: Likewise.* config.in: Likewise.* configure: Likewise.2009-08-21 Daniel Gutson <dgutson@codesourcery.com>* elf32-arm.c (arch_has_thumb2_nop): New function.(arch_has_arm_nop): New function.(elf32_arm_final_link_relocate): NOP opcodes changed.2009-08-16 Doug Evans <dje@google.com>* opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,at least don't leak memory.2009-08-13 DJ Delorie <dj@redhat.com>* elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizesif needed.2009-08-12 Nick Clifton <nickc@redhat.com>* po/fi.po: Updated Finnish translation.2009-08-11 Bernd Schmidt <bernd.schmidt@analog.com>Merge some FRV FDPIC changes into the Blackfin code.* elf32-bfin.c (struct bfinfdpic_elf_link_hash_table): Add pointer tosummary reloc information.(bfinfdpic_dynamic_got_plt_info): New.(_bfin_create_got_section): Create the PLT section here.(elf32_bfinfdpic_create_dynamic_sections): Not here.(_bfinfdpic_count_nontls_entries): Move out of...(_bfinfdpic_count_got_plt_entries): ... here.(_bfinfdpic_count_relocs_fixups): Likewise.(_bfinfdpic_reset_got_plt_entries): New.(_bfinfdpic_size_got_plt): Move out of...(elf32_bfinfdpic_size_dynamic_sections): ... here.(bfinfdpic_relocate_section): Be careful not to call_bfinfdpic_add_rofixup or _bfinfdpic_add_dyn_reloc for deleted relocs.(bfinfdpic_check_discarded_relocs, bfinfdpic_elf_discard_info):New functions.(elf_backend_discard_info): Define for FD-PIC.2009-08-11 Alan Modra <amodra@bigpond.net.au>* elflink.c: Add FIXMEs for some places that require octets_per_byteadjustments.* elf-eh-frame.c: Likewise.* merge.c: Likewise.2009-08-11 Alan Modra <amodra@bigpond.net.au>* configure.in: Remove elf-ifunc.lo from common ELF files. Addto x86 and x86_64 configurations.* configure: Regenerate.2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>Stop using bfd_usrdata in libbfd.* coff-stgo32.c (bfd_coff_go32stub): Remove.(stub_bytes, comment): Replace STUBSIZE by GO32_STUBSIZE.(adjust_filehdr_in_post): Declare the abfd parameter as unused.Replace STUBSIZE by GO32_STUBSIZE. Save now the stub infilehdr_dst->u.go32.stub. New comment with the reason.(adjust_filehdr_out_pre): Replace STUBSIZE by GO32_STUBSIZE.Substitute the removed macro bfd_coff_go32stub.(adjust_filehdr_out_post, adjust_scnhdr_in_post, adjust_scnhdr_out_pre)(adjust_scnhdr_out_post, adjust_aux_in_post, adjust_aux_out_pre)(adjust_aux_out_post): Replace STUBSIZE by GO32_STUBSIZE.(create_go32_stub, go32_stubbed_coff_bfd_copy_private_bfd_data):Replace STUBSIZE by GO32_STUBSIZE. Substitute the removed macrobfd_coff_go32stub.* coffcode.h (coff_mkobject_hook): Initialize coff->go32stub.* libcoff-in.h (coff_data_type): New field go32stub.* libcoff.h: Regenerated.2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>Fix go32 stub preservation by objcopy.* coff-stgo32.c (adjust_filehdr_in_post): Use bfd_malloc.(go32_stubbed_coff_bfd_copy_private_bfd_data): Optionally allocate OBFDgo32stub.2009-08-10 Nathan Sidwell <nathan@codesourcery.com>* elf32-arm.c (elf32_arm_size_stubs): Don't die on undefined localsymbols.(elf32_arm_final_link_relocate): Treat local undefined symbols thesame as global undefined symbols.(elf32_arm_relocate_section): Give an error for local undefinednon-weak symbols, unless the reloc will not use the symbol.2009-08-10 Nathan Sidwell <nathan@codesourcery.com>* elf32-ppc.c (shared_stub_entry, stub_entry): Use r12, not r11.(ppc_elf_relax_section): Use symbol index to distinguishrelocatable stubs.2009-08-10 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_relax_section): Ignore non-code sections.2009-08-10 Alan Modra <amodra@bigpond.net.au>* elflink.c (_bfd_elf_adjust_dynamic_symbol): Don't clear pltinfo for STT_GNU_IFUNC.* elf32-ppc.c (ppc_elf_check_relocs): Count a needed plt entryon got refs in case the symbol turns out to be ifunc.(ppc_elf_gc_sweep_hook): Similarly.(ppc_elf_adjust_dynamic_symbol): Adjust assertion.(allocate_dynrelocs): Don't specially allocate got relocs for ifunc.(ppc_elf_size_dynamic_sections): Likewise.(ppc_elf_relocate_section): Likewise.2009-08-09 Bernd Schmidt <bernd.schmidt@analog.com>From Mike Frysinger <michael.frysinger@analog.com>* elf32-bfin.c (bfin_howto_table, bfin_reloc_map, bfin_check_relocs,bfin_final_link_relocate, bfin_relocate_section, bfin_gc_sweep_hook,_bfinfdpic_emit_got_relocs_plt_entries, bfinfdpic_relocate_section,bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):Adjust to match the renamed reloc definitions.2009-08-08 Alan Modra <amodra@bigpond.net.au>PR 10494* elf.c (_bfd_elf_make_section_from_shdr): When setting up sectionLMAs, use ELF_IS_SECTION_IN_SEGMENT to match sections with headers.2009-08-07 Tom Tromey <tromey@redhat.com>* elf32-microblaze.c (microblaze_elf_check_relocs): Avoid strictaliasing error.2009-08-06 Michael Eager <eager@eagercon.com>* Makefile.am: Add cpu-microblaze.{lo,c}, elf32-microblaze.{lo,c}.* Makefile.in: Regenerate.* archures.c: Add bfd_arch_microblaze.* bfd-in2.h: Regenerate.* config.bfd: Add microblaze target.* configure.in: Add bfd_elf32_microblaze_vec target.* configure: Regenerate.* cpu-microblaze.c: New.* elf32-microblaze.c: New.* libbfd-in.h: Add prototype _bfd_dwarf2_fixup_section_debug_loc().* libbfd.h: Regenerate.* reloc.c: Add MICROBLAZE relocations.* section.c: Add struct relax_table and relax_count to section.* targets.c: Add bfd_elf32_microblaze_vec.2009-08-06 Jakub Jelinek <jakub@redhat.com>Alan Modra <amodra@bigpond.net.au>PR binutils/10492* elf.c (sym_is_global): Return true even for BSF_GNU_UNIQUEsymbols.* elf32-mips.c (mips_elf_sym_is_global): Likewise.* elfn32-mips.c (mips_elf_sym_is_global): Likewise.2009-08-06 Nathan Sidwell <nathan@codesourcery.com>* elf32-arm.c (elf32_arm_size_stubs): Call layout_sections_againat least once when fixing cortex-a8.2009-08-05 Chao-ying Fu <fu@mips.com>* elf32-mips.c (mips_reloc_map): Add BFD_RELOC_MIPS_JALR.* elfxx-mips.c (JAL_TO_BAL_P): New define to transform JAL to BALfor CPUs. It is true for RM9000.(JALR_TO_BAL_P): New define to transform JALR to BAL. It is truefor all CPUs.(mips_elf_perform_relocation): Use JAL_TO_BAL_P and JALR_TO_BAL_Pto guard the transformation.2009-08-05 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>* elf32-spu.h (spu_elf_params): Add member emit_fixups.(spu_elf_size_sections): Declare prototype.* elf32-spu.c (spu_link_hash_table): Add member sfixup.(FIXUP_RECORD_SIZE, FIXUP_GET, FIXUP_PUT): New macros.(spu_elf_emit_fixup): New function.(spu_elf_relocate_section): Emit fixup for each SPU_ADDR32.(spu_elf_size_sections): New function.2009-08-05 Nathan Sidwell <nathan@codesourcery.com>* elf32-arm.c (elf32_arm_stub_type): Add arm_stub_a8_veneer_lwm.(arm_build_one_stub): Build a8 veneers as a separate pass.(cortex_a8_erratum_scan): Add prev_num_a8_fixes and stub_changed_pparameters. Use them to check if we create a different a8 fixupthan the previous pass.(elf32_arm_size_stubs): Move scope of stub_changed andprev_num_a8_fixes into main loop.(elf32_arm_build_stubs): Build a8 veneers in a second pass.2009-08-04 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_relax_section): Correct conditions underwhich find_plt_ent is called. Delete redundant code.2009-08-03 H.J. Lu <hongjiu.lu@intel.com>PR binutils/10363* elf.c (bfd_elf_string_from_elf_section): Return NULL oninvalid string offset.2009-08-03 H.J. Lu <hongjiu.lu@intel.com>PR ld/10433* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Set gotto htab->init_got_offset and plt to htab->init_plt_offsetwhen discarding space for dynamic relocations.2009-08-03 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (struct plt_entry): Revise comments.(ppc_elf_check_relocs): Don't create needless plt_entry infofor non-pie executables. Don't test info->pie when info->sharedalready covers that case.(ppc_elf_gc_sweep_hook): Adjust for above change.(add_stub_sym): Don't test info->pie when info->shared tested.(allocate_dynrelocs, ppc_elf_size_dynamic_sections): Likewise.(write_glink_stub, ppc_elf_finish_dynamic_symbol): Likewise.(ppc_elf_relax_section): Adjust find_plt_ent arguments.(ppc_elf_relocate_section): Likewise.2009-08-03 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_check_relocs): Always add a plt ref countfor local ifunc symbols in non-pie executables, regardless ofreloc type. Don't specially create ifunc dyn relocs. Tidy ifunccode so that it's obvious that we only do anything special forlocal ifunc syms.(ppc_elf_gc_sweep_hook): Adjust to suit check_relocs changes.(allocate_dynrelocs): Correct comment for syms defined in plt.Don't specially allocate ifunc dyn relocs.(ppc_elf_relax_section): Relax branches to ifunc plt entries too.(ppc_elf_relocate_section): Set "relocation" value for ifuncsyms in non-pie executables. No specially allocated dyn relocsfor ifunc to write. Allow for local sym on R_PPC_RELAX32_PLT.(ppc_elf_finish_dynamic_symbol): Set value of ifunc symbols ina non-pie executable.2009-08-02 H.J. Lu <hongjiu.lu@intel.com>Jakub Jelinek <jakub@redhat.com>PR ld/6443* elf32-i386.c (elf_i386_tls_transition): Check executableinstead of shared for TLS when building PIE.(elf_i386_check_relocs): Likewise.(elf_i386_allocate_dynrelocs): Likewise.(elf_i386_relocate_section): Likewise.* elf64-x86-64.c (elf64_x86_64_tls_transition): Check executableinstead of shared for TLS when building PIE.(elf64_x86_64_check_relocs): Likewise.(elf64_x86_64_allocate_dynrelocs): Likewise.(elf64_x86_64_relocate_section): Likewise.2009-07-31 Anthony Green <green@moxielogic.com>* config.bfd (targ_cpu): Add moxie-uclinux support.2009-07-31 Hans-Peter Nilsson <hp@bitrange.com>* linker.c (fix_syms): Consider SEC_LOAD when choosing section.2009-07-30 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_check_relocs): Always set up sectionsused by indirect function support. Count dynamic relocs forifunc syms.(ppc_elf_adjust_dynamic_symbol): Tweak for ifunc.(allocate_dynrelocs): Allocate all non-dynamic ifunc plt entriesin iplt and their relocs in reliplt. Don't make ifunc symsdynamic. Allocate got entry relocs for non-dynamic ifunc inreliplt. Handle other dynamic relocs for ifunc.(ppc_elf_size_dynamic_sections): Alloc dyn relocs for staticifunc in reliplt, likewise relocs for got against local ifunc.Typo fix on reliplt size adjust.(ppc_elf_relocate_section): Don't use plt scheme of allocatingrelocs 1-1 with entries for iplt, instead just add usingreloc_count. Write got relocs and dyn relocs for ifunc to reliplt.Error on invalid ifunc dyn relocs.(ppc_elf_finish_dynamic_symbol): Adjust for non-dynamic ifunc pltin iplt/reliplt.* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_JMP_IREL,R_PPC64_REL16, R_PPC64_REL16_LO, R_PPC64_REL16_HI, R_PPC64_REL16_HA.(ppc64_elf_reloc_type_lookup): Handle new relocs.(ppc64_elf_check_relocs): Likewise. Count dyn relocs for ifunc.(allocate_dynrelocs): As for elf32-ppc.c above.(ppc64_elf_size_dynamic_sections): Likewise.(ppc_build_one_stub): Put non-dynamic ifunc plt call stubs in iplt,and their relocs in reliplt. Use R_PPC64_JMP_IREL.(ppc_size_one_stub): Similarly.(ppc64_elf_relocate_section): As for elf32-ppc.c above. Handle newrelocs too.(ppc64_elf_finish_dynamic_symbol): As for elf32-ppc.c above.2009-07-29 Hans-Peter Nilsson <hp@bitrange.com>* elf64-mmix.c (mmix_elf_relax_section): Revert 2009-05-27change. Add note to head comment.2009-07-28 Jan Beulich <jbeulich@novell.com>* archive.c (get_extended_arelt_filename): Remove redundantrange check on index.2009-07-27 Doug Kwan <dougkwan@google.com>* elf32-arm.c (stub_hash_newfunc): Initialize field output_name.2009-07-27 H.J. Lu <hongjiu.lu@intel.com>* archures.c bfd_*_arch): Sorted.(bfd_archures_list): Likewise.2009-07-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>* elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handleto R_cr16_NUM32 relocation.2009-07-26 Michael Eager <eager@eagercon.com>* archures.c: Add bfd_mach_ppc_405* bfd-in2.h: Same.2009-07-25 H.J. Lu <hongjiu.lu@intel.com>* cpu-i386.c (bfd_x86_64_arch): Fix comment typos.* cpu-l1om.c (bfd_l1om_arch): Likewise.2009-07-25 H.J. Lu <hongjiu.lu@intel.com>* archures.c (bfd_architecture): Add bfd_arch_l1om.(bfd_l1om_arch): New.(bfd_archures_list): Add &bfd_l1om_arch.* bfd-in2.h: Regenerated.* config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec ifbfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vecif bfd_elf64_x86_64_freebsd_vec is supported.(targ_selvecs): Likewise.* configure.in: Support bfd_elf64_l1om_vec andbfd_elf64_l1om_freebsd_vec.* configure: Regenerated.* cpu-l1om.c: New.* elf64-x86-64.c (elf64_l1om_elf_object_p): New.(bfd_elf64_l1om_vec): Likewise.(bfd_elf64_l1om_freebsd_vec): Likewise.* Makefile.am (ALL_MACHINES): Add cpu-l1om.lo.(ALL_MACHINES_CFILES): Add cpu-l1om.c.* Makefile.in: Regenerated.* targets.c (bfd_elf64_l1om_vec): New.(bfd_elf64_l1om_freebsd_vec): Likewise.(_bfd_target_vector): Add bfd_elf64_l1om_vec andbfd_elf64_l1om_freebsd_vec.2009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>Alan Modra <amodra@bigpond.net.au>* reloc.c (BFD_RELOC_SPU_ADD_PIC): Define.* bfd-in2.h: Regenerate.* libbfd.h: Regenerate.* elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC.(spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC.(spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC.2009-07-23 H.J. Lu <hongjiu.lu@intel.com>PR ld/10434* elf64-x86-64.c (elf64_x86_64_check_relocs): Check executableinstead of shared for R_X86_64_TPOFF32.(elf64_x86_64_relocate_section): Likewise.2009-07-23 Ulrich Drepper <drepper@redhat.com>* elf-bfd.h (struct elf_link_hash_entry): Add unique_global field.* elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbolswith the BSF_GNU_UNIQUE flag bit set.* elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flagfor symbols with STB_GNU_UNIQUE binding.* elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbolswith the STB_GNU_UNIQUE binding.(elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag forsymbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE forsymbols with the unique_global field set.(elf_link_output_extsym): Set unique_global field for symbols withthe STB_GNU_UNIQUE binding.* syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit.(bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUEsymbols.(bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUEsymbols.* bfd-in2.h: Regenerate.2009-07-22 H.J. Lu <hongjiu.lu@intel.com>* elflink.c (elf_link_output_extsym): Revert the last change.2009-07-22 H.J. Lu <hongjiu.lu@intel.com>PR ld/10433* elflink.c (elf_link_output_extsym): Special case ifunc symswhen ref_regular, not def_regular.2009-07-21 H.J. Lu <hongjiu.lu@intel.com>PR ld/10426* elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbolfrom a DSO into a normal FUNC symbol.(elf_link_output_extsym): Turn an undefined IFUNC symbol intoa normal FUNC symbol.2009-07-17 Chao-ying Fu <fu@mips.com>* elfxx-mips.c (LOAD_INTERLOCKS_P): New define.(_bfd_mips_elf_size_dynamic_sections): For CPUs without loadinterlocking, the last PLT entry needs a nop in the branch delay slot.(_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,output the last two PLT entries in reverse order.2009-07-16 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_relocate_section): Don't get localSTT_GNU_IFUNC symbol for relocatable link.* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.2009-07-10 H.J. Lu <hongjiu.lu@intel.com>* bfdio.c (bfd_iovec): Add comments for bmmap.* bfd-in2.h: Regenerated.2009-07-10 H.J. Lu <hongjiu.lu@intel.com>* Makefile.am: Run "make dep-am".* Makefile.in: Regenerated.2009-07-10 Doug Kwan <dougkwan@google.com>* elf32-arm.c (stub_hash_newfunc): Initialize fieldstarget_addend and orig_insn.2009-07-10 Tom Tromey <tromey@redhat.com>* Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h.(elf-eh-frame.lo): Likewise.(elf32-bfin.lo): Likewise.(elf32-frv.lo): Likewise.(elf32-xc16x.lo): Likewise.* Makefile.in: Rebuild.* dwarf2.c: Included dwarf.h, not elf/dwarf2.h.* elf-eh-frame.c: Likewise.* elf32-bfin.c: Likewise.* elf32-frv.c: Likewise.* elf32-xc16x.c: Likewise.2009-07-10 Julian Brown <julian@codesourcery.com>* elf32-arm.c (arm_build_one_stub): Use the hash entry of thesymbol a stub entry is derived from, not the entry for the stubitself, in call to elf32_arm_final_link_relocate.2009-07-10 H.J. Lu <hongjiu.lu@intel.com>* elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeroswhen reporting addends.2009-07-10 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache managerdata even when no stubs.(spu_elf_place_overlay_data, spu_elf_build_stubs): Adjust.2009-07-10 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_IRELATIVE.(ppc_elf_get_synthetic_symtab): Report addend.(PLT_IFUNC): Define.(struct ppc_elf_link_hash_table): Add iplt and reliplt.(ppc_elf_create_glink): New function.(ppc_elf_create_dynamic_sections): Use it.(ppc_elf_add_symbol_hook): Set has_ifunc_symbols.(update_local_sym_info): Allocate space for local_plt array.Don't bump local_got_refcounts for PLT_IFUNC. Return local_pltentry pointer.(is_branch_reloc): New function.(ppc_elf_check_relocs): Handle STT_GNU_IFUNC symbols.(ppc_elf_gc_sweep_hook): Likewise.(ppc_elf_adjust_dynamic_symbol): Likewise.(allocate_dynrelocs): Likewise.(ppc_elf_size_dynamic_sections): Likewise.(ppc_elf_relocate_section): Likewise.(branch_reloc_hash_match): Use is_branch_reloc.(ppc_elf_tls_optimize): Adjust for local_plt.(write_glink_stub): New function, extracted from..(ppc_elf_finish_dynamic_symbol): ..here. Handle STT_GNU_IFUNC.(ppc_elf_finish_dynamic_sections): Only write plt resolver andbranch table when dynamic.(elf_backend_post_process_headers): Define.* elf64-ppc.c (elf_backend_post_process_headers): Define.(ppc64_elf_howto_raw): Add R_PPC64_IRELATIVE.(ppc64_elf_get_synthetic_symtab): Report addend.(struct ppc_stub_hash_entry): Add plt_ent.(PLT_IFUNC): Define.(struct ppc_link_hash_table): Add iplt and reliplt.(create_linkage_sections): Make .iplt and .rela.iplt sections.(ppc64_elf_add_symbol_hook): Set has_ifunc_symbols.(update_local_sym_info): Allocate space for local_plt array.Don't bump local_got_ents for PLT_IFUNC. Return local_pltentry pointer.(update_plt_info): Pass pointer to plt_entry rather than sym hash,and don't change hash flags here.(is_branch_reloc): New function.(ppc64_elf_check_relocs): Handle STT_GNU_IFUNC.(ppc64_elf_gc_sweep_hook): Likewise.(ppc64_elf_adjust_dynamic_symbol): Likewise.(allocate_dynrelocs): Likewise.(ppc64_elf_size_dynamic_sections): Likewise.(ppc_build_one_stub, ppc_size_one_stub): Likewise.(ppc64_elf_size_stubs): Likewise.(ppc64_elf_relocate_section): Likewise.(get_sym_h): Adjust for local_plt.(branch_reloc_hash_match): Use is_branch_reloc.(ppc_type_of_stub): Pass plt_entry pointer and handle ifunc.(ppc64_elf_toc): Ignore SEC_EXCLUDE sections.2009-07-10 Alan Modra <amodra@bigpond.net.au>* elf.c (_bfd_elf_get_synthetic_symtab): Report addends.2009-07-10 Alan Modra <amodra@bigpond.net.au>* elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regularand ref_regular_nonweak comment.* elflink.c (elf_link_output_extsym): Special case ifunc symswhen def_regular, not ref_regular.(elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,..* elf32-i386.c (elf_i386_check_relocs): ..set it here instead..* elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here.2009-07-09 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (mark_functions_via_relocs): Init broken_cycle fieldof malloc'd struct call_info.(pasted_function): Likewise, priority too.2009-07-07 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_auto_overlay): Take into account sectionalignment when packing sections into overlays.2009-07-03 Cary Coutant <ccoutant@google.com>* dwarf2.c (decode_line_info): Ignore DW_LNE_set_discriminator.2009-07-03 Dave Korn <dave.korn.cygwin@gmail.com>* coffcode.h (sec_to_styp_flags): Partially revert (functionalchanges only) earlier patch:-2009-06-25 Kai Tietz <kai.tietz@onevision.com>* coffcode.h (sec_to_styp_flags): Set discardable for .reloc andgive .debug and .reloc data characteristics.(DOT_RELOC): New define for .reloc section string.(coff_write_object_contents): Use DOT_RELOC instead of string.2009-07-02 Tom Tromey <tromey@redhat.com>* aoutx.h (aout_get_external_symbols): Declare 'amt' locally.* bfdwin.c (bfd_free_window): Cast to unsigned long.2009-07-01 Nick Clifton <nickc@redhat.com>* elf-m10300.c: Remove trailing white space.* reloc.c: Likewise.2009-07-01 Douglas B Rupp <rupp@gnat.com>* bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER,BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions.* configure.in: Use them.* configure: Regenerate.* config.in: Regenerate.* vmsutil.c: Include sysdep.h, remove ansidecl.h.#define _BSD_SOURCE. Add comments.(vms_file_stats_name): Calculate creation date based on availableruntime data. Return 1 for version instead of 0.2009-07-01 Nick Clifton <nickc@redhat.com>PR 10072* elf32-arm.c (elf32_arm_final_link_relocate): Add code to handleto R_ARM_THM_PC8 relocation.2009-06-29 Nick Clifton <nickc@redhat.com>* elf-m10300.c (mn10300_elf_relax_section): Allow for thedifferent uses of the relocations addend when a symbol is in amerged section.2009-06-27 H.J. Lu <hongjiu.lu@intel.com>PR ld/10337* elf.c (bfd_section_from_shdr): Don't change sh_link forSHT_REL/SHT_RELA sections on executable nor shared library.Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEFas a normal section.2009-06-25 Nick Clifton <nickc@redhat.com>* elf-m10300.c (mn10300_elf_relax_section): Handle non-sectionsymbols with SEC_MERGE flag.2009-06-25 Kai Tietz <kai.tietz@onevision.com>* coffcode.h (sec_to_styp_flags): Set discardable for .reloc andgive .debug and .reloc data characteristics.(DOT_RELOC): New define for .reloc section string.(coff_write_object_contents): Use DOT_RELOC instead of string.2009-06-25 Tristan Gingold <gingold@adacore.com>* mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound)(bfd_mach_o_canonicalize_dynamic_symtab)(bfd_mach_o_get_synthetic_symtab): Defines.(TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry.(TARGET_NAME): Use Mach-O specific functions for dynamic.* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexesfor scattered relocations.(bfd_mach_o_i386_print_thread): New function.(bfd_mach_o_print_thread): Define.* mach-o.c (text_section_names_xlat): Add an entry for __const.(bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):New functions extracted from ...(bfd_mach_o_canonicalize_reloc): ... This. Simplified.(bfd_mach_o_get_dynamic_reloc_upper_bound): New function.(bfd_mach_o_canonicalize_dynamic_reloc): New function.(bfd_mach_o_i386_flavour_string): Adjusted after enum renaming.(bfd_mach_o_ppc_flavour_string): Reindentation. Add 64 bits cases.(bfd_mach_o_scan_read_dylinker): Do not create a section anymore.Set name_str field.(bfd_mach_o_scan_read_dylib): Ditto.(bfd_mach_o_scan_read_thread): Set mdata at declaration. Add comments,reindent.(bfd_mach_o_scan_read_dysymtab): Set mdata at declaration. Correctlydecode isym and flags on little endian targets. Set dysymtab field.(bfd_mach_o_scan_start_address): Adjust for enum names.(bfd_mach_o_lookup_section): Do not look for segments anymore.(bfd_mach_o_print_section): Display bfd section name.(bfd_mach_o_print_segment): Display none if no name.(bfd_mach_o_print_dysymtab): Display next index for local, externaland undefined symbols.(bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str.Display dylinker name. Display thread and unixthread commands content.(bfd_mach_o_print_thread): New macro.* mach-o.h (bfd_mach_o_mach_header_magic): Align numbers.(bfd_mach_o_ppc_thread_flavour): Ditto.(bfd_mach_o_i386_thread_flavour): Ditto.(BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum.(BFD_MACH_O_x86_THREAD_STATE_NONE): ReplacesBFD_MACH_O_THREAD_STATE_NONE.(bfd_mach_o_segment_command): Remove segment field.(bfd_mach_o_thread_flavour): Field offset is now unsigned long.(bfd_mach_o_dylinker_command): Remove section field, add name_str.(bfd_mach_o_prebound_dylib_command): Ditto.(bfd_mach_o_dylib_command): Ditto.(bfd_mach_o_prebound_dylib_command): Remove section field.(mach_o_data_struct): Add dysymtab field.(bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field.(bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc)(bfd_mach_o_build_commands): Remove parameter names and attributes.(bfd_mach_o_get_dynamic_reloc_upper_bound)(bfd_mach_o_canonicalize_dynamic_reloc): New prototypes.2009-06-25 Rafael Avila de Espindola <espindola@google.com>* plugin.c (load_plugin): Use stat and S_ISREG instead of the d_typefield of struct dirent.2009-06-23 Tristan Gingold <gingold@adacore.com>* vms.c (vms_get_synthetic_symtab): Remove duplicate definitionof this macro. Fix indentation.2009-06-22 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (elf32_arm_size_stubs): Use PLT address asdestination for defined dynamic symbols when deciding whether toinsert a stub or not.(allocate_dynrelocs): Make sure functions are not marked as Thumbwhen actually accessed through a PLT, even when generating ashared lib.2009-06-22 Tristan Gingold <gingold@adacore.com>* mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel tothe relocs array.2009-06-22 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_check_relocs): Handle R_PPC_RELAX* in switch.* elf32-v850.c (v850_elf_relocate_section): Warning fix.2009-06-22 Alan Modra <amodra@bigpond.net.au>* elf64-ppc.c (ppc64_elf_edit_opd): Avoid gcc warning.2009-06-19 H.J. Lu <hongjiu.lu@intel.com>* elflink.c (elf_link_add_object_symbols): Avoid warningfrom -Wjump-misses-init in gcc 4.5.0.2009-06-19 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Properly check localsymbol on error.* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.2009-06-19 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_tls_transition): Add a parameter,r_symndx. Report local symbol name on error.(elf_i386_check_relocs): Updated. Report local symbol name onerror.(elf_i386_gc_sweep_hook): Updated.(elf_i386_relocate_section): Likewise.* elf64-x86-64.c (elf64_x86_64_tls_transition): Add a parameter,r_symndx. Report local symbol name on error.(elf64_x86_64_check_relocs): Updated. Report local symbol nameon error.(elf64_x86_64_gc_sweep_hook): Updated.(elf64_x86_64_relocate_section): Likewise.2009-06-19 Tristan Gingold <gingold@adacore.com>* mach-o.c (bfd_mach_o_print_private_header): Fix format character.2009-06-19 Tristan Gingold <gingold@adacore.com>* mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Add prototype.(bfd_mach_o_version): Use bfd_mach_o_get_data instead of direct access.(bfd_mach_o_valid): Ditto.(bfd_mach_o_wide_p): Ditto.(bfd_mach_o_canonicalize_reloc): Ditto.(bfd_mach_o_build_commands): Ditto.(bfd_mach_o_scan_read_thread): Ditto.(bfd_mach_o_flatten_sections): Ditto.(bfd_mach_o_scan_start_address): Ditto.(bfd_mach_o_lookup_section): Ditto.(bfd_mach_o_core_fetch_environment): Ditto.(bfd_mach_o_write_contents): Ditto. Handle reexport_dylib.(bfd_mach_o_scan_write_relocs): Adjust for bfd_mach_o_get_data.(bfd_mach_o_scan_write_symtab): Ditto.Use macros instead of hard-coded values.(bfd_mach_o_scan_read_symtab_symbol): Make the function static.Use bfd_mach_o_get_data instead of direct access. Use macrosinstead of hard-coded values.(bfd_mach_o_scan_read_symtab_strtab): Make the function static.Remove sym argument and get section from mdata.Move code into the else branch.(bfd_mach_o_scan_read_symtab_symbols): Make the function static.Remove sym argument and get section from mdata. Adjust code.(bfd_mach_o_scan_read_dylib): Move assertion into the createdswitch (which replaces consecutive if statements).(bfd_mach_o_scan_read_dysymtab): Rename seg to cmd. Loadmodule table, table of content, indirect symbols and externalreferenced symbols.(bfd_mach_o_scan_read_symtab): Renames seg to symtab. Set symtabfield.(bfd_mach_o_scan_read_linkedit): New function.(bfd_mach_o_scan_read_str): Ditto.(bfd_mach_o_count_symbols): Simplify the code by using the symtabfield of mdata.(bfd_mach_o_get_symtab_upper_bound): Remove check asbfd_mach_o_count_symbols never returns an error.(bfd_mach_o_canonicalize_symtab): Simplify the code by using thesymtab field (there might be only one symtab).(bfd_mach_o_scan_read_command): Handle reexported dylib.Handle sub frameworks, sub umbrella, sub library and sub client.Read code signature and segment split info commands.(bfd_mach_o_scan): Reindent.(bfd_mach_o_xlat_name): New type.(bfd_mach_o_print_flags): New function.(bfd_mach_o_get_name): Ditto.(bfd_mach_o_cpu_name): New variable.(bfd_mach_o_filetype_name, bfd_mach_o_header_flags_name)(bfd_mach_o_section_type_name)(bfd_mach_o_section_attribute_name)(bfd_mach_o_load_command_name): New variables.(bfd_mach_o_print_private_header): New function.(bfd_mach_o_print_section_map): New function extracted frombfd_mach_o_print_private_bfd_data.(bfd_mach_o_print_section): Ditto. Print more infos.(bfd_mach_o_print_segment): Ditto.(bfd_mach_o_print_dysymtab): Ditto.(bfd_mach_o_bfd_print_private_bfd_data): Reworked. Handleload weak dylib, reexport dylib and id dylib.Handle code signature and segment_split info.Handle sub frameworks, sub umbrella, sub library and sub client.(bfd_mach_o_section_get_nbr_indirect): New function.* mach-o.h (BFD_MACH_O_REFERENCE_MASK): New macro. Add comment.(bfd_mach_o_header_flags): New enum to define header flags.(bfd_mach_o_section_attribute): New enum to replace ...(BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC,BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG,BFD_MACH_O_S_SELF_MODIFYING_CODE, BFD_MACH_O_S_ATTR_LIVE_SUPPORT,BFD_MACH_O_S_ATTR_NO_DEAD_STRIP, BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS,BFD_MACH_O_S_ATTR_NO_TOC, BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): ...these removed macros.(BFD_MACH_O_NLIST_SIZE, BFD_MACH_O_NLIST_64_SIZE): New macros.(bfd_mach_o_dylib_module): New type.(BFD_MACH_O_DYLIB_MODULE_SIZE, BFD_MACH_O_DYLIB_MODULE_64_SIZE): Newmacros.(bfd_mach_o_dylib_table_of_content): New type.(BFD_MACH_O_TABLE_OF_CONTENT_SIZE): New macro.(bfd_mach_o_dylib_reference): New type.(BFD_MACH_O_REFERENCE_SIZE): New macro.(bfd_mach_o_dysymtab_command): Add fields for loaded and decodedmodules, toc, references and indirect syms.(BFD_MACH_O_INDIRECT_SYMBOL_SIZE): New macro.(bfd_mach_o_dylinker_command): Remove cmd and cmdsize fields (wereunused). Add comment.(bfd_mach_o_dylib_command): Ditto.(bfd_mach_o_prebound_dylib_command): Ditto.(bfd_mach_o_linkedit_command): New type.(bfd_mach_o_str_command): New type.(bfd_mach_o_load_command): Add linkedit and str fields.(mach_o_data_struct): Add symtab field.(bfd_get_mach_o_data): Renamed to ...(bfd_mach_o_get_data): ... this new macro.(bfd_mach_o_scan_read_symtab_symbol,bfd_mach_o_scan_read_symtab_strtab,bfd_mach_o_scan_read_symtab_symbols): Prototypes removed.* mach-o-i386.c (bfd_mach_o_i386_mkobject): Use bfd_mach_o_get_datainstead of direct access.2009-06-19 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols forR_PPC_PLTREL24 relocs.(ppc_elf_relocate_section): Likewise.2009-06-19 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (find_plt_ent): Pass pointer to plist rather thanpointer to sym hash. Update all uses.(update_plt_info): Likewise. Don't check addend here.2009-06-18 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Remove isymbuf and usebfd_sym_from_r_symndx.* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.2009-06-18 Alan Modra <amodra@bigpond.net.au>* elf-bfd.h (struct sym_sec_cache): Delete.(struct sym_cache): New.(bfd_section_from_r_symndx): Delete prototype.(bfd_sym_from_r_symndx): Define prototype.* elf.c (bfd_section_from_r_symndx): Delete, replace with..(bfd_sym_from_r_symndx): ..new function.* elf32-arm.c: Update all uses of struct sym_sec_cache andbfd_section_from_r_symndx to new struct and function.* elf32-bfin.c: Likewise.* elf32-hppa.c: Likewise.* elf32-i386.c: Likewise.* elf32-m32r.c: Likewise.* elf32-m68hc1x.c: Likewise.* elf32-m68hc1x.h: Likewise.* elf32-m68k.c: Likewise.* elf32-ppc.c: Likewise.* elf32-s390.c: Likewise.* elf32-sh.c: Likewise.* elf64-ppc.c: Likewise.* elf64-s390.c: Likewise.* elf64-x86-64.c: Likewise.* elfxx-sparc.c: Likewise.* elfxx-sparc.h: Likewise.2009-06-18 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Cache or free isymbuf.* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.2009-06-18 Nick Clifton <nickc@redhat.com>* elflink.c (elf_link_sort_relocs): Return early if there are norelocs to sort.2009-06-18 Dave Korn <dave.korn.cygwin@gmail.com>Merge cegcc and mingw32ce target name changes fromCeGCC project:2007-12-25 Pedro Alves <pedro_alves@portugalmail.pt>* config.bfd: Add arm*-*-cegcc* target.2007-12-17 Pedro Alves <pedro_alves@portugalmail.pt>* config.bfd: Add arm-*-mingw32ce* target.2009-06-17 H.J. Lu <hongjiu.lu@intel.com>* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): New.* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Likewise.* elf32-i386.c (elf_i386_allocate_dynrelocs): Use it.* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.2009-06-17 H.J. Lu <hongjiu.lu@intel.com>* elf-bfd.h (_bfd_elf_create_ifunc_dyn_reloc): New.* elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Likewise.* elf32-i386.c (elf_i386_check_relocs): Use it.* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.2009-06-17 H.J. Lu <hongjiu.lu@intel.com>* elf-bfd.h (elf_dyn_relocs): New.* elf32-i386.c (elf_i386_dyn_relocs): Removed.(elf_i386_link_hash_entry): Replace elf_i386_dyn_relocs withelf_dyn_relocs.(elf_i386_copy_indirect_symbol): Likewise.(elf_i386_check_relocs): Likewise.(elf_i386_gc_sweep_hook): Likewise.(elf_i386_allocate_dynrelocs): Likewise.(elf_i386_readonly_dynrelocs): Likewise.(elf_i386_size_dynamic_sections): Likewise.* elf64-x86-64.c (elf64_x86_64_dyn_relocs): Removed.(elf64_x86_64_link_hash_entry): Replace elf64_x86_64_dyn_relocswith elf_dyn_relocs.(elf64_x86_64_copy_indirect_symbol): Updated.(elf64_x86_64_check_relocs): Likewise.(elf64_x86_64_gc_sweep_hook): Likewise.(elf64_x86_64_adjust_dynamic_symbol): Likewise.(elf64_x86_64_allocate_dynrelocs): Likewise.(elf64_x86_64_readonly_dynrelocs): Likewise.(elf64_x86_64_size_dynamic_sections): Likewise.2009-06-17 H.J. Lu <hongjiu.lu@intel.com>* elf32-arm.c (create_got_section): Get existing .rela.gotsection.* elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.* elf32-lm32.c (create_got_section): Likewise.* elf32-m32r.c (create_got_section): Likewise.* elf32-ppc.c (ppc_elf_create_got): Likewise.* elf32-s390.c (create_got_section): Likewise.* elf32-sh.c (create_got_section): Likewise.* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.* elf64-s390.c (create_got_section): Likewise.* elfxx-sparc.c (create_got_section): Likewise.* elflink.c (_bfd_elf_create_got_section): Properly initializethe GOT size.2009-06-16 H.J. Lu <hongjiu.lu@intel.com>* elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): New.* elf32-i386.c (elf_i386_local_hash): Removed.(elf_i386_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.(elf_i386_get_local_sym_hash): Likewise.* elf64-x86-64.c (elf64_x86_64_local_hash): Removed.(elf64_x86_64_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH.(elf64_x86_64_get_local_sym_hash): Likewise.* elfxx-ia64.c (elfNN_ia64_local_htab_hash): Likewise.(get_local_sym_hash): Likewise.2009-06-16 H.J. Lu <hongjiu.lu@intel.com>* elfxx-ia64.c (elfNN_ia64_link_hash_table): Remove got_sec,rel_got_sec and plt_sec.(elfNN_ia64_relax_section): Updated.(elfNN_ia64_create_dynamic_sections): Likewise.(get_got): Likewise.(allocate_dynrel_entries): Likewise.(elfNN_ia64_size_dynamic_sections): Likewise.(set_got_entry): Likewise.(elfNN_ia64_choose_gp): Likewise.(elfNN_ia64_relocate_section): Likewise.(elfNN_ia64_finish_dynamic_symbol): Likewise.(elfNN_ia64_finish_dynamic_sections): Likewise.2009-06-16 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (needs_ovl_stub): Respect .brinfo lrlive bitsalso for calls.2009-06-16 H.J. Lu <hongjiu.lu@intel.com>* configure.in (elf): Add elf-ifunc.lo.* configure: Regenerated.* Makefile.in: Likewise.* elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt,srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc.* elf32-i386.c (elf_i386_link_hash_table): Remove sgot,sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt andirelifunc.(elf_i386_link_hash_table_create): Likewise.(elf_i386_create_dynamic_sections): Likewise.(elf_i386_check_relocs): Likewise.(elf_i386_allocate_dynrelocs): Likewise.(elf_i386_size_dynamic_sections): Likewise.(elf_i386_relocate_section): Likewise.(elf_i386_finish_dynamic_symbol): Likewise.(elf_i386_finish_dynamic_sections): Likewise.(elf_i386_create_got_section): Removed.* elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot,sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt andirelifunc.(elf64_x86_64_compute_jump_table_size): Updated.(elf64_x86_64_link_hash_table_create): Likewise.(elf64_x86_64_create_dynamic_sections): Likewise.(elf64_x86_64_check_relocs): Likewise.(elf64_x86_64_allocate_dynrelocs): Likewise.(elf64_x86_64_size_dynamic_sections): Likewise.(elf64_x86_64_relocate_section): Likewise.(elf64_x86_64_finish_dynamic_symbol): Likewise.(elf64_x86_64_finish_dynamic_sections): Likewise.(elf64_x86_64_create_got_section): Removed.* elflink.c (_bfd_elf_create_got_section): Use log_file_alignfor pointer alignment. Set up section pointers.(_bfd_elf_create_dynamic_sections): Likewise.(_bfd_elf_create_ifunc_sections): Moved to ...* elf-ifunc.c: Here. New.* Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo.(BFD32_BACKENDS_CFILES): Add elf-ifunc.c.Run "make dep-am".2009-06-16 Doug Kwan <dougkwan@google.com>* elf32-arm.c (cortex_a8_erratum_scan): Change type of offsetto bfd_signed_vma. Cast constant operands which are used inoffset related expressions to bfd_signed_vma type as appropriate.2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>* elf32-vax.c (elf_vax_plt_sym_val): New function.(elf_backend_plt_sym_val): Define.2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>* elf32-vax.c (elf_vax_reloc_type_class): New function.(elf_backend_reloc_type_class): Define.2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>* elf32-vax.c (elf_vax_relocate_section): For symbol referencesfrom an executable to a shared library treat R_VAX_PC32relocations as R_VAX_PLT32 ones.2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>* elf32-vax.c (elf_vax_instantiate_got_entries): Skip localsymbols in GOT space calculation.(elf_vax_relocate_section): Adjust accordingly.2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>* elf32-vax.c (elf_vax_plt_entry): Set the entry mask toinclude <R11:R2>.2009-06-16 Maciej W. Rozycki <macro@linux-mips.org>* elf32-vax.c (elf_vax_check_relocs): Handle the visibilityattribute.(elf_vax_relocate_section): Likewise.2009-06-15 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments.* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.2009-06-15 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Reformat.* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.2009-06-15 H.J. Lu <hongjiu.lu@intel.com>* Makefile.am: Run "make dep-am".* Makefile.in: Regenerated.2009-06-15 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_allocate_dynrelocs): Fix a typo.* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.2009-06-15 Nick Clifton <nickc@redhat.com>* po/ru.po: New Russian translation.* configure.in (ALL_LINGUAS): Add ru.* configure: Regenerate.2009-06-14 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c: Remove duplicated comments.2009-06-14 H.J. Lu <hongjiu.lu@intel.com>PR ld/10270* elf32-i386.c (elf_i386_allocate_dynrelocs): Disallowdynamic IFUNC pointer in non-shared object. Use .got.pltfor IFUNC definition in PIE.(elf_i386_allocate_dynrelocs): Resolve IFUNC definition inPIE locally.* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Disallowdynamic IFUNC pointer in non-shared object. Use .got.pltfor IFUNC definition in PIE.(elf64_x86_64_relocate_section): Resolve IFUNC definition inPIE locally.2009-06-13 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Properly reportlocal symbol for unhandled relocation against STT_GNU_IFUNCsymbol.(elf_i386_relocate_section): Likewise.* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.(elf64_x86_64_relocate_section): Likewise.2009-06-13 H.J. Lu <hongjiu.lu@intel.com>PR ld/10269* elf32-i386.c: Include "objalloc.h" and "hashtab.h".(elf_i386_link_hash_table): Add loc_hash_table andloc_hash_memory.(elf_i386_local_hash): New.(elf_i386_local_htab_hash): Likewise.(elf_i386_local_htab_eq): Likewise.(elf_i386_get_local_sym_hash): Likewise.(elf_i386_link_hash_table_free): Likewise.(elf_i386_allocate_local_dynrelocs): Likewise.(elf_i386_finish_local_dynamic_symbol): Likewise.(bfd_elf64_bfd_link_hash_table_free): Likewise.(elf_i386_link_hash_table_create): Create loc_hash_table andloc_hash_memory.(elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols.(elf_i386_size_dynamic_sections): Likewise.(elf_i386_relocate_section): Likewise.(elf_i386_finish_dynamic_sections): Likewise.(elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if symisn't NULL.* elf64-x86-64.c: Include "objalloc.h" and "hashtab.h".(elf64_x86_64_link_hash_table): Add loc_hash_table andloc_hash_memory.(elf64_x86_64_local_hash): New.(elf64_x86_64_local_htab_hash): Likewise.(elf64_x86_64_local_htab_eq): Likewise.(elf64_x86_64_get_local_sym_hash): Likewise.(elf64_x86_64_link_hash_table_free): Likewise.(elf64_x86_64_allocate_local_dynrelocs): Likewise.(elf64_x86_64_finish_local_dynamic_symbol): Likewise.(bfd_elf64_bfd_link_hash_table_free): Likewise.(elf64_x86_64_link_hash_table_create): Create loc_hash_tableand loc_hash_memory.(elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNCsymbols.(elf64_x86_64_size_dynamic_sections): Likewise.(elf64_x86_64_relocate_section): Likewise.(elf64_x86_64_finish_dynamic_sections): Likewise.(elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only ifsym isn't NULL.2009-06-10 Philip Blundell <philb@gnu.org>* elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash ifelf_sec->this_hdr == NULL.2009-06-12 Tristan Gingold <gingold@adacore.com>* reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.* bfd-in2.h: Regenerated.* libbfd.h: Regenerated.* mach-o.c (FILE_ALIGN): New macro.(bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.(bfd_mach_o_print_symbol): Ditto.(bfd_mach_o_scan_write_thread): Adjust type of variable offset.(bfd_mach_o_get_reloc_upper_bound): New function.(bfd_mach_o_canonicalize_reloc): Ditto.(bfd_mach_o_scan_write_relocs): Ditto.(bfd_mach_o_scan_write_section_32): Remove offset argument.(bfd_mach_o_scan_write_section_64): Ditto.(bfd_mach_o_scan_write_segment_32): Write relocs. Fix size of datawritten for load command. Do not compute section file offset.(bfd_mach_o_scan_write_segment_64): Ditto.(bfd_mach_o_scan_write_symtab): Compute file offset first.Adjust for bfd_mach_o_asymbol. Move code to convert from BFD toMach-O to ...(bfd_mach_o_mangle_symbols): ... this new function.(bfd_mach_o_write_contents): Be sure to have load commands built.Call bfd_mach_o_mangle_symbols.(bfd_mach_o_build_commands): Adjust for filelen field.Use FILE_ALIGN macro. Clear section file offset if section is empty.Do not set symtab file offset anymore here.(bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.(bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.Set reloc_count and rel_filepos section fields.(bfd_mach_o_scan_read_section_32): Type of argument offset is nowunsigned int.(bfd_mach_o_scan_read_section_64): Ditto.(bfd_mach_o_scan_read_section): Ditto.(bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is nowbfd_mach_o_asymbol. Use unsigned int for file offset type.(bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.Handle weak-ref symbols.(bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.(bfd_mach_o_scan): Remove assignment to removed field.(bfd_mach_o_mkobject_init): Ditto.(bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.(bfd_mach_o_bfd_reloc_type_lookup): New macro.(bfd_mach_o_bfd_reloc_name_lookup): Ditto.(bfd_mach_o_swap_reloc_in): Ditto.(bfd_mach_o_swap_reloc_out): Ditto.* mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)(BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)(BFD_MACH_O_REFERENCE_FLAG_DEFINED)(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)(BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)(BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)(BFD_MACH_O_N_WEAK_DEF): New macros.Add comments.(bfd_mach_o_section_type): Add new enumeration values.(BFD_MACH_O_S_SELF_MODIFYING_CODE)(BFD_MACH_O_S_ATTR_LIVE_SUPPORT)(BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)(BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): Newmacros.(BFD_MACH_O_GENERIC_RELOC_VANILLA)(BFD_MACH_O_GENERIC_RELOC_PAIR)(BFD_MACH_O_GENERIC_RELOC_SECTDIFF)(BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)(BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.(BFD_MACH_O_RELENT_SIZE): Ditto.(BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)(BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)(BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)(BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.(BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)(BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)(BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)(BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.(bfd_mach_o_reloc_info): New struct.(bfd_mach_o_asymbol): New struct.(bfd_mach_o_symtab_command): The symbols field is now of typebfd_mach_o_asymbol.(bfd_mach_o_load_command): The offset and len fields are now of typeunsigned int.(mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.Add a filelen field. Add comments.(bfd_mach_o_backend_data): New struct.(bfd_mach_o_get_backend_data): New macro.(bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of typebfd_mach_o_asymbol.(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.(bfd_mach_o_get_reloc_upper_bound): New prototype.(bfd_mach_o_canonicalize_reloc): Ditto.* mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Removeduplicated macro. Now defined to _bfd_generic_is_local_label.(TARGET_NAME_BACKEND): New macro...(TARGET_NAME_BACKEND): ... used to name a new variable.(TARGET_NAME): Define relocs table using bfd_mach_o, referenceMach-O backend data.* mach-o-i386.c (i386_howto_table): New variable.(bfd_mach_o_i386_swap_reloc_in): New function.(bfd_mach_o_i386_swap_reloc_out): Ditto.(bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.(bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.(bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.(bfd_mach_o_bfd_reloc_type_lookup)(bfd_mach_o_bfd_reloc_name_lookup): Ditto.2009-06-11 Eric Paris <eparis@redhat.com>Nick Clifton <nickc@redhat.com>* opncls.c (_maybe_make_executable): New function. Gives executepermission to an executable bfd that was opened for writingprovided that it is a regular file. Replaces common code found in...(bfd_close): here and ...(bfd_close_all_done): here.2009-06-11 Anthony Green <green@moxielogic.com>* reloc.c: Add BFD_RELOC_MOXIE_10_PCREL.* bfd-in2.h: Rebuilt.* libbfd.h: Rebuilt.* elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10relocation support.(moxie_reloc_map): Ditto.Clean up copyright notice.2009-06-10 Paul Pluzhnikov <ppluzhnikov@google.com>* bfd-in2.h: bfd_mmap prototype.* bfdio.c (bfd_mmap): New function.* libbfd.h (bfd_iovec): Add bmmap.* cache.c (cache_bmmap): New function.(cache_iovec): Initialize bmmap member.* opencls.c (opncls_bmmap): New function.(opncls_iovec): Initialize bmmap member.2009-06-09 Tristan Gingold <gingold@adacore.com>* mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segmentand stabstr_segment fields.(mach_o_be_vec, mach_o_le_vec): Removed(bfd_mach_o_version): New prototype.* mach-o.c (bfd_mach_o_version): Make this function public.(mach_o_wide_p): New function.(bfd_mach_o_wide_p): Ditto.(bfd_mach_o_convert_section_name_to_bfd): Add prefix only forweird names.(bfd_mach_o_convert_section_name_to_mach_o): Fix typo in comment.Search in the list only if the name starts with a dot.(bfd_mach_o_write_header): Use mach_o_wide_p instead of hard-codedtest. Check bfd_seek status.(bfd_mach_o_scan_write_thread): Check bfd_seek status.(bfd_mach_o_scan_write_section_32): Ditto.(bfd_mach_o_scan_write_section_64): Ditto.(bfd_mach_o_scan_write_section): Removed.(bfd_mach_o_scan_write_segment): Split into ...(bfd_mach_o_scan_write_segment_32): ... this and ...(bfd_mach_o_scan_write_segment_64): ... this. Check bfd_seek status.(bfd_mach_o_scan_write_symtab_symbols): Moved into ...(bfd_mach_o_scan_write_symtab): ... this. Write symtab from BFDsymbol table. Now returns a boolean.(bfd_mach_o_write_contents): Set filetype. Check bfd_seek status.Adjust for status type.(bfd_mach_o_build_commands): Use mach_o_wide_p instead of hard-codedtest. Write symbol table. Numbers the sections.(bfd_mach_o_read_header): Check bfd_seek status.Use mach_o_wide_p instead of hard-coded test.(bfd_mach_o_scan_read_section_32): Check bfd_seek status.(bfd_mach_o_scan_read_section_64): Ditto.(bfd_mach_o_scan_read_symtab_symbol): Ditto. Check bfd_seek status.Use BFD_MACH_O_N_TYPE instead of hard-coded value. Correctlyhandled common symbols.(bfd_mach_o_scan_read_symtab_strtab): Check bfd_seek status.(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.(bfd_mach_o_scan_read_dylinker): Ditto.(bfd_mach_o_scan_read_dylib): Ditto.(bfd_mach_o_scan_read_thread): Ditto.(bfd_mach_o_scan_read_symtab): Ditto.Do not create a section for the stabs.(bfd_mach_o_scan_read_uuid): Check bfd_seek status.(bfd_mach_o_scan_read_segment): Ditto.(bfd_mach_o_scan_read_command): Ditto.(bfd_mach_o_scan_start_address): Ditto.(bfd_mach_o_scan): Use mach_o_wide_p instead of hard-coded test.(bfd_mach_o_archive_p): Check bfd_seek status.(bfd_mach_o_core_fetch_environment): Ditto.* mach-o-i386.c (bfd_mach_o_i386_mkobject): Don't set filetype.2009-06-06 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_link_hash_table): Add irelifunc.(elf_i386_link_hash_table_create): Initialize irelifunc.(elf_i386_check_relocs): Updated. Set up irelifunc forshared objects.(elf_i386_allocate_dynrelocs): Use irelifunc for dynamicrelocation for non-GOT reference of STT_GNU_IFUNC symbol inshared objects.(elf_i386_relocate_section): Likewise.* elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc.(elf64_x86_64_link_hash_table_create): Initialize irelifunc.(elf64_x86_64_check_relocs): Updated. Set up irelifunc forshared objects.(elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamicrelocation for non-GOT reference of STT_GNU_IFUNC symbol inshared objects.(elf64_x86_64_relocate_section): Likewise.* elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to...(_bfd_elf_create_ifunc_sections): This.* elflink.c (_bfd_elf_create_static_ifunc_sections): Renamed to...(_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifuncfor shared objects.2009-06-06 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Make room for dynamicrelocation for R_386_32 against STT_GNU_IFUNC symbol whenbuilding shared object. Check info->executable instead of!info->shared when setting non_got_ref.(elf_i386_allocate_dynrelocs): Allocate dynamic relocationfor non-GOT reference of STT_GNU_IFUNC symbol in sharedobject. Allocate GOT relocation agsinst STT_GNU_IFUNCsymbol if needed.(elf_i386_relocate_section): Output dynamic relocation forR_386_32 against STT_GNU_IFUNC symbol to get the realfunction address when building shared object.(elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DATrelocation for STT_GNU_IFUNC symbol in shared object.* elf64-x86-64.c (elf64_x86_64_check_relocs): Make room fordynamic relocation for R_X86_64_64 against STT_GNU_IFUNCsymbol when building shared object. Check info->executableinstead of !info->shared when setting non_got_ref.(elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocationfor non-GOT reference of STT_GNU_IFUNC symbol in sharedlibrary. Allocate GOT relocation agsinst STT_GNU_IFUNC symbolif needed.(elf64_x86_64_relocate_section): Output dynamic relocationfor R_X86_64_64 against STT_GNU_IFUNC symbol to get the realfunction address when building shared object.(elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DATrelocation for STT_GNU_IFUNC symbol in shared object.2009-06-06 Jan Kratochvil <jan.kratochvil@redhat.com>* Makefile.am: Run "make dep-am".(BFD32_BACKENDS): Add mach-o-i386.lo.(BFD32_BACKENDS_CFILES): Add mach-o-i386.c.* Makefile.in: Regenerate.2009-06-06 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_relocate_section): Match overlay numberwhen looking for soft-icache stubs.2009-06-05 Tristan Gingold <gingold@adacore.com>* mach-o.h: Update copyright year.(bfd_mach_o_mach_header_magic): New enum.(bfd_mach_o_cpu_subtype): Now an enum.(BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros.(BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto.(BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto.(bfd_mach_o_load_command): Field type_required is now a boolean.Reindent prototypes.(bfd_mach_o_object_p, bfd_mach_o_core_p): Remove.(bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype.(bfd_mach_o_bfd_copy_private_section_data): Ditto.(bfd_mach_o_bfd_copy_private_bfd_data): Ditto.(bfd_mach_o_get_symtab_upper_bound): Ditto.(bfd_mach_o_canonicalize_symtab): Ditto.(bfd_mach_o_get_symbol_info): Ditto.(bfd_mach_o_print_symbol): Ditto.(bfd_mach_o_bfd_print_private_bfd_data): Ditto.(bfd_mach_o_make_empty_symbol): Ditto.(bfd_mach_o_write_contents): Ditto.* mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p,bfd_mach_o_mkobject): Defines.(bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1.Do not check with target vector but with flavour.(struct mach_o_section_name_xlat): New declaration.(dwarf_section_names_xlat): Ditto.(text_section_names_xlat): Ditto.(data_section_names_xlat): Ditto.(struct mach_o_segment_name_xlat): Ditto.(segsec_names_xlat): Ditto.(bfd_mach_o_convert_section_name_to_bfd): New function.(bfd_mach_o_convert_section_name_to_mach_o): Ditto.(bfd_mach_o_bfd_copy_private_symbol_data): Make it public.(bfd_mach_o_bfd_copy_private_section_data): Ditto.(bfd_mach_o_bfd_copy_private_bfd_data): Ditto.Accept any input and output flavour. Do not share private dataanymore.(bfd_mach_o_count_symbols): Add a comment.(bfd_mach_o_get_symtab_upper_bound): Make it public.(bfd_mach_o_canonicalize_symtab): Ditto.(bfd_mach_o_get_symbol_info): Ditto.(bfd_mach_o_print_symbol): Ditto.(bfd_mach_o_write_header): Now returns a boolean instead of an int.Use constants instead of hard-coded values.(bfd_mach_o_scan_write_section_32): Use constants instead of hard-codedvalues.(bfd_mach_o_scan_write_section_64): Ditto.(bfd_mach_o_scan_write_segment): Ditto.Do not copy sections anymore.(bfd_mach_o_write_contents): Make it public.Remove dead code. Rewrite typeflag assignment.(bfd_mach_o_build_commands): New function.(bfd_mach_o_set_section_contents): Ditto.(bfd_mach_o_make_empty_symbol): Make it public.(bfd_mach_o_read_header): Make it static.Convert to bfd_boolean.Use constants instead of hard-coded values.(bfd_mach_o_make_bfd_section): Callbfd_mach_o_convert_section_name_to_bfd to create name.(bfd_mach_o_scan_read_section_32): Use constants instead of hard-codedvalues.(bfd_mach_o_scan_read_section_64): Ditto.(bfd_mach_o_scan_read_segment): Do not create a bfd section fora segment anymore. Use constants instead of hard-coded values.(bfd_mach_o_scan_read_command): Fix style.(bfd_mach_o_scan): Use constants instead of hard-coded values.Get rid of BFD_IO_FUNCS.(bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject.(bfd_mach_o_header_p): Created from bfd_mach_o_object_p.(bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p.(bfd_mach_o_object_p): Removed.(bfd_mach_o_gen_core_p): New function, replaces ...(bfd_mach_o_core_p): ... deleted.(bfd_mach_o_bfd_print_private_bfd_data): Make it public.* mach-o-i386.c: New file.* config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin.* configure.in (TDEFINES): Add mach_o_i386_vec.* configure: Regenerated.* targets.c: Add mach_o_i386_vec.* mach-o.c: Update copyright years.(BFD_IO_FUNCS): Remove (was not used).(bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armapbfd_mach_o_slurp_extended_name_table,bfd_mach_o_construct_extended_name_table,bfd_mach_o_truncate_arname, bfd_mach_o_write_armap,bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt,bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup,bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook,bfd_mach_o_get_section_contents_in_window,bfd_mach_o_bfd_is_local_label_name,bfd_mach_o_bfd_is_target_special_symbol,bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno,bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info,bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols,bfd_mach_o_minisymbol_to_symbol,bfd_mach_o_bfd_get_relocated_section_contents,bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create,bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols,bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link,bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach,bfd_mach_o_bfd_merge_private_bfd_data,bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents,bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections,bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group,bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol,bfd_mach_o_bfd_copy_private_header_data,bfd_mach_o_core_file_matches_executable_p): Move these defines ...* mach-o-target.c: ... here.Update copyright years.2009-06-04 Alan Modra <amodra@bigpond.net.au>* dep-in.sed: Don't use \n in replacement part of s command.* Makefile.am (DEP1): LC_ALL for uniq.Run "make dep-am".* Makefile.in: Regenerate.2009-06-03 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check ofh->plt.refcount > 0 on STT_GNU_IFUNC symbol.* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.2009-06-03 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_allocate_dynrelocs): AllocateGOT entry for STT_GNU_IFUNC symbol with pointer equality.(elf_i386_relocate_section): Adjust R_386_GOT32 relocationagainst STT_GNU_IFUNC symbols for static executables.(elf_i386_finish_dynamic_symbol): Load GOT entry withPLT entry for STT_GNU_IFUNC symbol with pointer equality.* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): AllocateGOT entry for STT_GNU_IFUNC symbol with pointer equality.(elf64_x86_64_finish_dynamic_symbol): Load GOT entry withPLT entry for STT_GNU_IFUNC symbol with pointer equality.2009-06-02 Richard Sandiford <r.sandiford@uk.ibm.com>* coff-rs6000.c (xcoff_ppc_relocate_section): Allow undefinedsymbols to be left unimported when linking statically.* xcofflink.c (xcoff_link_add_symbols): Ignore global linkagecode when linking statically.2009-06-02 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_relocs): Incrementgot.refcount for R_386_GOT32/R_386_GOTOFF relocationsagainst STT_GNU_IFUNC symbol.(elf_i386_allocate_dynrelocs): Set got.refcount to 0 iflocal STT_GNU_IFUNC definition is used.(elf_i386_relocate_section): Handle got.offset != -1 forR_386_GOT32/R_386_GOTOFF relocations against STT_GNU_IFUNCsymbol.* elf64-x86-64.c (elf64_x86_64_check_relocs): Incrementgot.refcount for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64relocations against STT_GNU_IFUNC symbol.(elf64_x86_64_allocate_dynrelocs): Set got.refcount to 0 iflocal STT_GNU_IFUNC definition is used.(elf64_x86_64_relocate_section): Handle got.offset != -1for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 relocations againstSTT_GNU_IFUNC symbol.2009-06-01 H.J. Lu <hongjiu.lu@intel.com>PR ld/10205* elf32-i386.c (elf_howto_table): Add R_386_IRELATIVE.(elf_i386_reloc_type_lookup): Likewise.(R_386_tls): Removed.(R_386_irelative): New.(R_386_vt_offset): Updated.(elf_i386_rtype_to_howto): Likewise.(elf_i386_link_hash_table): Add igotplt, iplt and irelplt.(elf_i386_link_hash_table_create): Initialize igotplt,iplt and irelplt.(elf_i386_check_relocs): Handle STT_GNU_IFUNC symbol first.(elf_i386_adjust_dynamic_symbol): Likewise.(elf_i386_allocate_dynrelocs): Likewise.(elf_i386_relocate_section): Likewise.(elf_i386_size_dynamic_sections): Set up .iplt and .igot.pltsections.(elf_i386_finish_dynamic_symbol): When building a staticexecutable, use .iplt, .igot.plt and .rel.iplt sections forSTT_GNU_IFUNC symbols. Generate R_386_IRELATIVE relocation forlocally defined STT_GNU_IFUNC symbol.* elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_IRELATIVE.(x86_64_reloc_map): Likewise.(R_X86_64_standard): Updated.(elf64_x86_64_link_hash_table): Add igotplt, iplt and irelplt.(elf64_x86_64_link_hash_table_create): Initialize igotplt,iplt and irelplt.(elf64_x86_64_check_relocs): Handle STT_GNU_IFUNC symbol first.(elf64_x86_64_adjust_dynamic_symbol): Likewise.(elf64_x86_64_allocate_dynrelocs): Likewise.(elf64_x86_64_relocate_section): Likewise.(elf64_x86_64_size_dynamic_sections): Set up .iplt and .igot.pltsections.(elf64_x86_64_finish_dynamic_symbol): When building a staticexecutable, use .iplt, .igot.plt and .rela.iplt sections forSTT_GNU_IFUNC symbols. Generate R_X86_64_IRELATIVE relocationfor locally defined STT_GNU_IFUNC symbol.* reloc.c (BFD_RELOC_386_IRELATIVE): New.(BFD_RELOC_X86_64_IRELATIVE): Likewise.* bfd-in2.h: Regenerated.* libbfd.h: Likewise.2009-06-01 H.J. Lu <hongjiu.lu@intel.com>* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs.(_bfd_elf_make_ifunc_reloc_section): Removed.(_bfd_elf_is_ifunc_symbol): Likewise.(_bfd_elf_create_static_ifunc_sections): New.* elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNCsymbol check to ...(elf_link_add_object_symbols): Here.(_bfd_elf_link_hash_hide_symbol): Don't clean plt onSTT_GNU_IFUNC symbol.(elf_link_output_extsym): Call elf_backend_finish_dynamic_symbolif a STT_GNU_IFUNC symbol is referenced in a non-shared object.(IFUNC_INFIX): Removed.(get_ifunc_reloc_section_name): Likewise.(_bfd_elf_make_ifunc_reloc_section): Likewise.(_bfd_elf_is_ifunc_symbol): Likewise.(_bfd_elf_create_static_ifunc_sections): New.2009-05-29 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (link_hash_newfunc): Add elf_i386_ prefix.(create_got_section): Likewise.(allocate_dynrelocs): Likewise.(readonly_dynrelocs): Likewise.(set_tls_module_base): Likewise.(dtpoff_base): Likewise.(tpoff): Likewise.(elf_i386_link_hash_table_create): Updated.(elf_i386_create_dynamic_sections): Likewise.(elf_i386_check_relocs): Likewise.(elf_i386_size_dynamic_sections): Likewise.(elf_i386_relocate_section): Likewise.* elf64-x86-64.c (link_hash_newfunc): Add elf64_x86_64_ prefix.(create_got_section): Likewise.(allocate_dynrelocs): Likewise.(readonly_dynrelocs): Likewise.(set_tls_module_base): Likewise.(dtpoff_base): Likewise.(tpoff): Likewise.(elf64_x86_64_link_hash_table_create): Updated.(elf64_x86_64_create_dynamic_sections): Likewise.(elf64_x86_64_check_relocs): Likewise.(elf64_x86_64_size_dynamic_sections): Likewise.(elf64_x86_64_relocate_section): Likewise.2009-05-28 Nick Clifton <nickc@redhat.com>* targets.c (_bfd_target_vector): Only include plugin target inall-targets build if BFD_SUPPORTS_PLUGINS is non-zero.2009-05-28 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (struct call_info): New member broken_cycle.(remove_cycle): Instead of physically removing call_info structuresto break call graph cycles, mark them using the broken_cycle flag.(mark_overlay_section): Respect broken_cycle flag.(unmark_overlay_section): Likewise.(collect_lib_sections): Likewise.(collect_overlays): Likewise.(sum_stack): Likewise.2009-05-28 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (insert_callee): Accumulate incoming callee->count.(mark_functions_via_relocs): Initialize callee->count to 1.(pasted_function): Likewise.(spu_elf_auto_overlay): Honor call counts when determining numberof stubs required in software i-cache mode.2009-05-27 Rafael Avila de Espindola <espindola@google.com>* plugin.c (program_name): Remove.(plugin_program_name): New.(bfd_plugin_set_program_name): New.(try_load_plugin): Use plugin_program_name.* plugin.h (bfd_plugin_set_program_name): New.2009-05-27 Rafael Avila de Espindola <espindola@google.com>* aclocal.m4: Include ../config/plugins.m4.* configure.in: Use AC_PLUGINS.* configure: Regenerate.* Makefile.in: Regenerate.* doc/Makefile.in: Regenerate.2009-05-27 Nathan Sidwell <nathan@codesourcery.com>* elf32-ppc.c (ppc_elf_relax_section): Work with a partiallink.* bout.c (b_out_bfd_relax_section): Reject relocatable links.* elf32-m10300.c (mn10300_elf_relax_section): Likewise.* elf32-avr.c (elf32_avr_relax_section): Likewise.* elf32-frv.c (elf32_avr_relax_section): Likewise.* elf32-xtensa.c (elf_xtensa_relax_section): Likewise.* elf64-mmix.c (mmix_elf_relax_section): Likewise.* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.* elfxx-sparc.c (_bfd_sparc_elf_relax_section): Likewise.* reloc.c (bfd_generic_relax_section): Likewise.* reloc16.c (bfd_coff_reloc16_relax_section): Likewise.* vms.c (vms_bfd_relax_section): Likewise.2009-05-26 H.J. Lu <hongjiu.lu@intel.com>* elf-bfd.h (_bfd_elf_is_ifunc_symbol): New.* elf32-i386.c (is_indirect_symbol): Renamed to ...* elflink.c (_bfd_elf_is_ifunc_symbol): This.* elf32-i386.c (allocate_dynrelocs): Updated.(elf_i386_relocate_section): Likewise.* elf64-x86-64.c (allocate_dynrelocs): Likewise.(elf64_x86_64_relocate_section): Likewise.* elf64-x86-64.c (is_indirect_symbol): Removed.2009-05-26 Nick Clifton <nickc@redhat.com>* po/id.po: Updated Indonesian translation.2009-05-26 Rafael Avila de Espindola <espindola@google.com>* Makefile.am: Run "make dep-am".(AM_CPPFLAGS): New.(LIBDL): New.(ALL_MACHINES): Add cpu-plugin.lo.(ALL_MACHINES_CFILES): Add cpu-plugin.c.(BFD32_BACKENDS): Add plugin.lo.(BFD32_BACKENDS_CFILES): Add plugin.c.(libbfd_la_LIBADD): Add LIBDL* archures.c (bfd_architecture): Add bfd_arch_plugin.(bfd_plugin_arch): Declare.* bfd-in.h (BFD_SUPPORTS_PLUGINS): New.* bfd.c (bfd): Add plugin_data.* config.bfd: Handle the plugin target.* configure.in: Check for --enable-plugins.(LT_INIT): Use the dlopen option.* cpu-plugin.c: New.* plugin.c: New.* plugin.h: New.* targets.c (plugin_vec): Declare.(_bfd_target_vector): Add plugin_vec.* Makefile.in: Regenerate.* bfd-in2.h: Regenerate.* configure: Regenerate.2009-05-26 Alan Modra <amodra@bigpond.net.au>* dep-in.sed: Don't modify .o to .lo here. Output one filenameper line with all lines having continuation backslash. Prefixfirst line with "A", following lines with "B".* Makefile.am (DEP): Don't use dep.sed here.(DEP1): Run $MKDEP on single files, modify .o to .lo here. Usedep.sed here on dependencies, sort and uniq.* Makefile.in: Regenerate.2009-05-25 Tristan Gingold <gingold@adacore.com>* makefile.vms: Add verilog.obj to object list OBJS.2009-05-24 Alan Modra <amodra@bigpond.net.au>* bfdio.c (bfd_seek): Formatting. Ensure newly allocated memoryfor BFD_IN_MEMORY is cleared.(bfd_bwrite): Zero excess memory allocated.2009-05-22 Julian Brown <julian@codesourcery.com>* elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): Newmacros.(elf32_arm_stub_a8_veneer_b_cond, elf32_arm_stub_a8_veneer_b)(elf32_arm_stub_a8_veneer_blx): New stub sequences.(elf32_arm_stub_type): Add arm_stub_a8_veneer_b_cond,arm_stub_a8_veneer_b and arm_stub_a8_veneer_blx.(elf32_arm_stub_hash_entry): Add target_addend, orig_insn fields.(a8_erratum_fix, a8_erratum_reloc): New structs.(elf32_arm_link_hash_table): Add a8_erratum_fixes,num_a8_erratum_fixes, fix_cortex_a8 fields.(elf32_arm_link_hash_table_create): Zero fix_cortex_a8.(elf32_arm_add_stub): Split into two parts, creating...(elf32_arm_create_or_find_stub_sec): New function.(elf32_arm_final_link_relocate): Add forward declaration.(arm_build_one_stub): Add support for THUMB32_TYPE, Thumb-2relocations, multiple relocations per stub.(find_stub_size_and_template): New (using parts of arm_size_one_stub).(arm_size_one_stub): Use find_stub_size_and_template.(a8_reloc_compare): New.(find_thumb_glue): Add forward declaration.(cortex_a8_erratum_scan): New.(elf32_arm_size_stubs): Add Cortex-A8 erratum workaround support.(bfd_elf32_arm_set_cortex_a8_fix): New.(bfd_elf32_arm_set_target_relocs): Add fix_cortex_a8 argument.(arm_map_one_stub): Add THUMB32_TYPE support.(a8_branch_to_stub_data): New.(make_branch_to_a8_stub): New.(elf32_arm_write_section): Add Cortex-A8 erratum workaround support.* bfd-in.h (bfd_elf32_arm_set_cortex_a8_fix): New.(bfd_elf32_arm_set_target_relocs): Add argument for controllingCortex-A8 erratum workaround.* bfd-in2.h: Regenerate.2009-05-22 Alan Modra <amodra@bigpond.net.au>* Makefile.am: Run "make dep-am".* Makefile.in: Regenerate.* po/SRC-POTFILES.in: Regenerate.2009-05-21 Alan Modra <amodra@bigpond.net.au>* elflink.c (elf_link_input_bfd): Correct *pindex change in lastcommit.2009-05-21 Alan Modra <amodra@bigpond.net.au>* elf-bfd.h (struct elf_backend_data<elf_backend_link_output_symbol_hook>): Return an int.* elf64-ppc.c (ppc64_elf_output_symbol_hook): Return 2 to dropsymbols on deleted .opd entries.* elflink.c (elf_link_output_sym): Return without outputting symif output_symbol_hook returns 2.(elf_link_output_extsym): Don't assign h->indx when symbol discarded.Abort if we must not discard sym.(elf_link_input_bfd): Similarly, don't set finfo->indices forlocal syms.(bfd_elf_final_link): Adjust elf_link_output_sym calls.* elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Adjust forelf_backend_link_output_symbol_hook return type change.* elf32-arm.c (output_arch_syminfo): Likewise.(elf32_arm_output_map_sym, elf32_arm_output_stub_sym): Likewise.(elf32_arm_output_arch_local_syms): Likewise.* elf32-cr16c.c (elf32_cr16c_link_output_symbol_hook): Likewise.* elf32-score.c (s3_bfd_score_elf_link_output_symbol_hook): Likewise.(bfd_score_elf_link_output_symbol_hook): Likewise.* elf32-score.h (s7_bfd_score_elf_link_output_symbol_hook): Likewise.* elf32-score7.c (s7_bfd_score_elf_link_output_symbol_hook): Likewise.* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Likewise.* elf32-spu.c (spu_elf_output_symbol_hook): Likewise.* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.* elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.2009-05-21 Alan Modra <amodra@bigpond.net.au>* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't segfault onout of range .opd symbols.2009-05-21 Dave Korn <dave.korn.cygwin@gmail.com>* coffgen.c (coff_print_symbol): Use bfd_fprintf_vma, notfprintf_vma directly.* peXXigen.c (pe_print_edata): Likewise.(pe_print_pdata): Likewise.(_bfd_XX_print_ce_compressed_pdata): Likewise.(_bfd_XX_print_private_bfd_data_common): Likewise.2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>* cofflink.c (process_embedded_commands): Ignore "-aligncomm".2009-05-15 Andrew Stubbs <ams@codesourcery.com>Paul Brook <paul@codesourcery.com>* elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt tofix discarded sections.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (mark_overlay_section): Move .init and .finisections into the software icache.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (build_stub): Always build "compact" sofwarei-cache stubs.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2.(spu_elf_setup): Initialize it.(spu_elf_size_stubs): Move .ovtab into .bss for software i-cache.Update to new-sytle cache manager data structures.(spu_elf_build_stubs): Generate new-style cache manager datastructures and symbols.(spu_elf_auto_overlay): Update size computation.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAYsegments first amongst the program headers.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (spu_elf_relocate_section): Only encode overlay indexinto addresses for relocation types that look at high bits. Removespecial handling of relocation overflow warnings.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (mark_functions_via_relocs): Handle cycles in thecontrol flow graph between fragments of a function.2009-05-14 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode,generate only a 16-byte .toe section.(spu_elf_build_stubs, spu_elf_auto_overlay): Likewise.2009-05-14 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_size_stubs): Split out section placement to..(spu_elf_place_overlay_data): ..here. New function.* elf32-spu.h (spu_elf_place_overlay_data): Declare.2009-05-13 Andrew Jenner <andrew@codesourcery.com>* elf32-arm.c: Move sysdep.h to start of file.2009-05-11 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma asstart of overlays.(spu_elf_build_stubs): Don't define __icache_tagbase. Define__icache_tag_array and __icache_tag_array_size.2009-05-11 Masaki Muranaka <monaka@monami-software.com>* elf32-bfin.c (bfin_bfd_reloc_type_lookup): Remove unnecessaryATTRIBUTE_UNUSED.(bfinfdpic_link_omit_section_dynsym): Likewise.(elf32_bfinfdpic_finish_dynamic_sections): Likewise.2009-05-05 Paul Brook <paul@codesourcery.com>* bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype.* bfd-in2.h: Regenerate.* elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define.(_arm_elf_section_data): Add text and exidx fields.(add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size,insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31,copy_exidx_entry): New functions.(elf32_arm_write_section): Fixup .ARM.exidx contents.2009-05-05 Christophe lyon <christophe.lyon@st.com>* elf32-arm.c (DEF_STUBS): New helper define.(DEF_STUB): Likewise.(stub_def): New type.(stub_definitions): New array, containing stub template pointersand sizes.(arm_size_one_stub): Make use of stub_definitions.2009-05-04 Dave Korn <dave.korn.cygwin@gmail.com>* elflink.c (find_version_for_sym): Remove from here, ...* linker.c (bfd_find_version_for_sym): ... rename, replacehere, make public and update all callers.* bfd-in2.h: Regenerate.2009-04-30 Nick Clifton <nickc@redhat.com>* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocssection pointer.(struct elf_obj_data): Add has_ifunc_symbols boolean.* elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flagsinto a STT_GNU_IFUNC symbol type.(_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a functiontype.(_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX ifthe binary contains ifunc symbols.* elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNCsymbol type into a BSF_GNU_INDIRECT_FUNCTION flag.* elf32-i386.c (is_indirect_function): New function.(elf_i386_check_relocs): Create an ifunc output section.(allocate_dynrelocs): Create dynamic relocs in the ifunc outputsection if necessary.(elf_i386_relocate_section): Emit a reloc against an ifunc symbolif necessary.(elf_i386_add_symbol_hook): New function. Set thehas_ifunc_symbols field of the elf_obj_data structure if an ifuncsymbol is encountered.(elf_backend_post_process_headers): Define.(elf_backend_add_symbol_hook): Define.(elf_i386_post_process_headers): Rename toelf_i388_fbsd_post_process_headers.* elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro.(is_indirect_function): New function.(elf64_x86_64_check_relocs): Create an ifunc output section.(allocate_dynrelocs): Create dynamic relocs in the ifunc outputsection if necessary.(elf64_x86_64_relocate_section): Emit a reloc against an ifuncsymbol if necessary.(elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of theelf_obj_data structure if an ifunc symbol is encountered.(elf_backend_post_process_headers): Define.* elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLTif we have ifunc symbols to handle.(get_ifunc_reloc_section_name): New function. Computes the namefor an ifunc section.(_bfd_elf_make_ifunc_reloc_section): New function. Creates asection to hold ifunc relocs.* syms.c (BSF_GNU_INDIRECT_FUNCTION): Define.(bfd_print_symbol_vandf): Handle ifunc symbols.(bfd_decode_symclass): Likewise.* bfd-in2.h: Regenerate.2009-04-30 Joseph Myers <joseph@codesourcery.com>* elf32-arm.c (elf32_arm_check_relocs): Give errors for absoluteMOVW and MOVT relocations in a shared library link.2009-04-27 Anthony Green <green@moxielogic.com>* verilog.c: New file.* Makefile.am (BFD32_LIBS): Add verilog.c.(BFD32_LIBS_CFILES): Add verilog.c.(verilog.lo): New build rule.* Makefile.in: Rebuilt.* targets.c: Add verilog support.* bfd.c (tdata union): Add Verilog private data field.* bfd-in2.h: Regenerate.2009-04-27 H.J. Lu <hongjiu.lu@intel.com>* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don'tcopy pe_opthdr.2009-04-23 Matthias Klose <doko@ubuntu.com>* peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'.2009-04-22 Christophe Lyon <christophe.lyon@st.com>PR9743* elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24,R_ARM_JUMP24 and R_ARM_PLT32 relocations.(elf32_arm_size_stubs): Likewise.(record_thumb_to_arm_glue): Deleted unused function.(bfd_elf32_arm_process_before_allocation): No longer handleR_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here.(elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24,R_ARM_JUMP24 and R_ARM_PLT32 relocations.2009-04-21 Daniel Jacobowitz <dan@codesourcery.com>* elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED.(elf32_arm_write_section): Declare early.(elf32_arm_size_stubs): Skip non-stub sections in the stub BFD.(arm_allocate_glue_section_space): Exclude empty sections.(ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED.(bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stubBFD.(elf32_arm_output_glue_section, elf32_arm_final_link): New.(elf32_arm_merge_eabi_attributes): Skip the stub BFD.(elf32_arm_size_dynamic_sections): Allocate interworkingsections here.(bfd_elf32_bfd_final_link): Define.2009-04-21 H.J. Lu <hongjiu.lu@intel.com>* coff-ia64.c (COFF_PAGE_SIZE): Changed to 8K.* coffcode.h (coff_compute_section_file_positions): ClearD_PAGED if PE section alignment is smaller than COFF_PAGE_SIZE.* libcoff-in.h (pe_tdata): Remove force_minimum_alignment andforce_minimum_alignment.* libcoff.h: Regenerated.* pei-ia64.c (PEI_TARGET_SUBSYSTEM): Removed.(PEI_FORCE_MINIMUM_ALIGNMENT): Likewise.* peicode.h (pe_mkobject): Don't set force_minimum_alignmentnor target_subsystem.* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't checkforce_minimum_alignment nor target_subsystem.2009-04-21 Kai Tietz <kai.tietz@onevision.com>* coff-x86_64.c (PEI_HEADERS): Protect includes.(bfd_pe_print_pdata): Remove #ifdef PE variation.* pei-x86_64.c (PEI_HEADERS): Define to prevent doubleinclude in coff-x86_64.c of headers.(PDATA_ROW_SIZE): New define.(pex_regs[]): New static array.(pex64_get_runtime_function): New static function.(pex64_get_unwind_info): Likewise.(pex64_get_scope_entry): Likewise.(pex64_xdata_print_uwd_codes): Likewise.(pex64_get_section_by_rva): Likewise.(pex64_dump_xdata): Likewise.(pex64_bfd_print_pdata): Likewise.(bfd_pe_print_pdata): Define as pex64_bfd_print_pdata.* peXXigen.c (_bfd_pex64_print_pdata): Removed implementation.* libpei.h (_bfd_pex64_print_pdata): Removed declaration.2009-04-19 Peter O'Gorman <binutils@mlists.thewrittenword.com>Alan Modra <amodra@bigpond.net.au>Dave Korn <dave.korn.cygwin@gmail.com>* peXXigen.c (_bfd_XXi_swap_sym_in): Fix name handling w.r.tlong names and non-NUL-terminated strings.2009-04-17 H.J. Lu <hongjiu.lu@intel.com>* bfd-in2.h: Regenerated.2009-04-17 H.J. Lu <hongjiu.lu@intel.com>* peXXigen.c (_bfd_XX_print_private_bfd_data_common): ReplaceIMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER.2009-04-17 H.J. Lu <hongjiu.lu@intel.com>PR binutils/10074* coffcode.h (bfd_pei_p): New.* config.bfd: Remove bfd_efi_bsdrv_ia32_vec,bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec andbfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec,bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec withi386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively.* configure.in: Remove bfd_efi_bsdrv_ia32_vec,bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec,bfd_efi_rtdrv_x86_64_vec,bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replacebfd_efi_ia64_vec with bfd_pei_ia64_vec.* targets.c: Likewise.* configure: Regenerated.* libcoff.h: Likewise.* Makefile.in: Likewise.* efi-app-ia32.c: Removed.* efi-app-x86_64.c: Likewise.* efi-bsdrv-ia32.c: Likewise.* efi-bsdrv-ia64.c: Likewise.* efi-bsdrv-x86_64.c: Likewise.* efi-rtdrv-ia32.c: Likewise.* efi-rtdrv-ia64.c: Likewise.* efi-rtdrv-x86_64.c: Likewise.* efi-rtdrv-ia32.c: Likewise.* efi-app-ia64.c: Moved to ...* pei-ia64.c: This.(TARGET_SYM): Set to bfd_pei_ia64_vec.(TARGET_NAME): Set to pei-ia64.* libpei.h (bfd_target_pei_p): Removed.(bfd_target_pei_arch): Likewise.(bfd_target_efi_app_p): Likewise.(bfd_target_efi_app_arch): Likewise.(bfd_target_efi_bsdrv_p): Likewise.(bfd_target_efi_bsdrv_arch): Likewise.(bfd_target_efi_rtdrv_p): Likewise.(bfd_target_efi_rtdrv_arch): Likewise.(bfd_pe_executable_p): Likewise.* Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo,efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo.(BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.cand efi-rtdrv-ia32.c.(BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo,efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo andefi-rtdrv-x86_64.lo. Add pei-ia64.lo.(BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c,efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c andefi-rtdrv-x86_64.c. Add pei-ia64.c.(efi-app-ia64.lo): Removed.(efi-bsdrv-ia32.lo): Likewise.(efi-rtdrv-ia32.lo): Likewise.(efi-app-ia64.lo): Likewise.(efi-bsdrv-ia64.lo): Likewise.(efi-rtdrv-ia64.lo): Likewise.(efi-app-x86_64.lo): Likewise.(efi-bsdrv-x86_64.lo): Likewise.(efi-rtdrv-x86_64.lo): Likewise.(pei-ia64.lo): New.* peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_pwith bfd_pei_p.(arch_type): Removed.(pe_arch): Likewise.(pe_bfd_object_p): Just return coff_object_p.* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replacebfd_pe_executable_p with bfd_pei_p.2009-04-17 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (elf32_arm_size_stubs): Handle long branches throughPLT entries to an undefined symbol when generating a sharedlibrary.2009-04-17 Nick Clifton <nickc@redhat.com>PR 9909* coffcode.h (handle_COMDAT): Allow for external COMDAT symbols.2009-04-16 Richard Sandiford <r.sandiford@uk.ibm.com>* aout-adobe.c (aout_32_bfd_define_common_symbol): Define.* aout-target.h (MY_bfd_define_common_symbol): Likewise.* aout-tic30.c (MY_bfd_define_common_symbol): Likewise.* binary.c (binary_bfd_define_common_symbol): Likewise.* bout.c (b_out_bfd_define_common_symbol): Likewise.* coff-alpha.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.* coff-mips.c (_bfd_ecoff_bfd_define_common_symbol): Likewise.* coffcode.h (coff_bfd_define_common_symbol): Likewise.* elfxx-target.h (bfd_elfNN_bfd_define_common_symbol): Likewise.* i386msdos.c (msdos_bfd_define_common_symbol): Likewise.* i386os9k.c (os9k_bfd_define_common_symbol): Likewise.* ieee.c (ieee_bfd_define_common_symbol): Likewise.* ihex.c (ihex_bfd_define_common_symbol): Likewise.* libbfd-in.h (_bfd_nolink_bfd_define_common_symbol): Likewise.* mach-o.c (bfd_mach_o_bfd_define_common_symbol): Likewise.* mmo.c (mmo_bfd_define_common_symbol): Likewise.* nlm-target.h (nlm_bfd_define_common_symbol): Likewise.* oasys.c (oasys_bfd_define_common_symbol): Likewise.* pef.c (bfd_pef_bfd_define_common_symbol): Likewise.* ppcboot.c (ppcboot_bfd_define_common_symbol): Likewise.* som.c (som_bfd_define_common_symbol): Likewise.* srec.c (srec_bfd_define_common_symbol): Likewise.* tekhex.c (tekhex_bfd_define_common_symbol): Likewise.* versados.c (versados_bfd_define_common_symbol): Likewise.* vms.c (vms_bfd_define_common_symbol): Likewise.* xcoff-target.h (_bfd_xcoff_bfd_define_common_symbol): Likewise.* xsym.c (bfd_sym_bfd_define_common_symbol): Likewise.* coff-rs6000.c (rs6000coff_vec): Add _bfd_xcoff_define_common_symbol.(pmac_xcoff_vec): Likewise.* coff64-rs6000.c (rs6000coff64_vec): Likewise.(aix5coff64_vec): Likewise.* linker.c (bfd_generic_define_common_symbol): New function.* targets.c (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_define_common_symbol.(_bfd_define_common_symbol): New field.* libcoff-in.h (_bfd_xcoff_define_common_symbol): Declare.* xcofflink.c (_bfd_xcoff_define_common_symbol): New function.(xcoff_build_ldsyms): Don't set XCOFF_DEF_REGULAR for commonsymbols here.* bfd-in2.h: Regenerate.* libbfd.h: Likewise.* libcoff.h: Likewise.2009-04-15 Anthony Green <green@moxielogic.com>* targets.c: Add moxie support.* Makefile.am: Ditto.* Makefile.in: Rebuilt.* cpu-moxie.c, elf32-moxie.c: New files.* archures.c: Add moxie support.* configure.in: Add moxie support.* configure: Rebuilt.* config.bfd, archures.c: Add moxie support.* bfd-in2.h: Rebuilt.2009-04-15 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (elf32_arm_final_link_relocate): Don't convert ARMbranch to an undef weak symbol into a jump to next instruction ifa PLT entry will be created.2009-04-14 Dave Korn <dave.korn.cygwin@gmail.com>* coffgen.c (make_a_section_from_file): Set the backend longsection names enable if long section names found on input.* coffcode.h: Extend long section names documentation to match.2009-04-08 H.J. Lu <hongjiu.lu@intel.com>* elflink.c (elf_link_add_object_symbols): Warn alternate ELFmachine code.2009-04-07 DJ Delorie <dj@redhat.com>* archures.c: Add bfd_mach_mep_c5.* bfd-in2.h: Likewise.* cpu-mep.c: Add bfd_c5_arch.* elf32-mep.c: Support it.2009-04-07 H.J. Lu <hongjiu.lu@intel.com>* elflink.c (_bfd_elf_section_already_linked): Add `\n' forinfo->callbacks->einfo.* linker.c (_bfd_generic_section_already_linked): Likewise.2009-04-06 DJ Delorie <dj@redhat.com>* elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes.2009-04-06 H.J. Lu <hongjiu.lu@intel.com>* coff-x86_64.c (bfd_pe_print_pdata): Defined to_bfd_pex64_print_pdata only if PE is defined.* libpei.h (_bfd_pep_print_x64_pdata): Renamed to ...(_bfd_pex64_print_pdata): This.* peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ...(_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64is defined.2009-04-05 Kai Tietz <kai.tietz@onevision.com>* coff-x86_64.c (bfd_pe_print_pdata): Define as_bfd_pep_print_x64_pdata.* libpei.h (_bfd_pep_print_x64_pdata): Add prototype.* peXXigen.c (_bfd_pep_print_x64_pdata): New.2009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com>* elf32-xtensa.c (relax_property_section): Always set r_offsetto zero.2009-04-02 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb,elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new longbranch stubs.(elf32_arm_stub_type): New enum values for the two new stubs.(arm_type_of_stub): Make use of the two new stubs.(arm_size_one_stub): Handle the two new stubs.2009-04-01 Matt Thomas <matt@netbsd.org>* elf32-vax.c (elf_vax_check_relocs): Do not put relocations againsthidden symbols into the GOT or PLT.GOT.(elf_vax_relocate_section): Do not emit a PCREL relocinto a shared object if it is against a hidden symbol.2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_archive_info): Add contains_shared_object_pand know_contains_shared_object_p.(xcoff_archive_contains_shared_object_p): Add an "info" parameter.Cache the result in the archive_info table.(xcoff_auto_export_p): Add an "info" parameter and update thecall to xcoff_archive_contains_shared_object_p.(xcoff_mark_auto_exports): Update accordingly.(xcoff_post_gc_symbol): Likewise.2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXTrather than C_EXT.2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>* coff-rs6000.c (member_layout): New structure.(archive_iterator): Likewise.(member_layout_init): New function.(archive_iterator_begin): Likewise.(archive_iterator_next): Likewise.(xcoff_write_armap_old): Use the new iterator functions.(do_shared_object_padding): Delete.(xcoff_write_armap_big): Use the new iterator functions. Simplifyhandling of arch_info.(xcoff_write_archive_contents_old): Allocate arelt_data in thefirst loop rather than the second. Allocate a member header ifthere isn't one, then work out the stat information and lengthin the first loop too. Use the new iterators for the second loop.(xcoff_write_archive_contents_big): Likewise.2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>* bfd-in.h (bfd_xcoff_split_import_path): Declare.(bfd_xcoff_set_archive_import_path): Likewise.* bfd-in2.h: Regenerate.* xcofflink.c: Include libiberty.h.(xcoff_archive_info): New structure.(xcoff_archive_info_hash): New function.(xcoff_archive_info_eq): Likewise.(xcoff_get_archive_info): Likewise.(_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info.(bfd_xcoff_split_import_path): New function.(bfd_xcoff_set_archive_import_path): Likewise.(xcoff_set_import_path): Move earlier in file.(xcoff_link_add_dynamic_symbols): Set the import path of a non-archiveobject to the the directory part of the bfd's filename. Get theimport path and filename of an archive object from the archive'sxcoff_tdata, initializing it if necessary. Update use ofimport_file_id.(bfd_link_input_bfd): Update use of import_file_id.(xcoff_write_global_symbol): Likewise.2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h.2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_link_create_extra_sections): Don't createa .loader section for relocatable links.(xcoff_need_ldrel_p): New function.(xcoff_mark): Use it.(bfd_xcoff_link_count_reloc): Only count loader relocs if there'sa loader section.(xcoff_build_ldsym): New function, split out from...(xcoff_build_ldsyms): ...here. Rename to...(xcoff_post_gc_symbol): ...this. Only export symbols, and onlycall xcoff_build_ldsym, if there's a loader section.(xcoff_build_loader_section): New function, extracted verbatim from...(bfd_xcoff_size_dynamic_sections): ...here. Only call it ifthere's a loader section. Only add an __rtinit loader symbolif there's a loader section. Update after above name change.(xcoff_symbol_section, xcoff_create_ldrel): New functions.(bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_sectionand xcoff_create_ldrel.(xcoff_write_global_symbol): Use xcoff_create_ldrel.(xcoff_reloc_link_order): Likewise, but only call it if there'sa loader section. Use xcoff_symbol_section.(_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsymif there's a loader section.2009-04-01 Richard Sandiford <rdsandiford@googlemail.com>* xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.2009-04-01 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (group_sections): Rewrite loops for betterreadability.2009-03-30 DJ Delorie <dj@redhat.com>* elflink.c (elf_link_input_bfd): Don't try to resolve complexrelocs when doing a relocatable link.2009-03-28 Mark Mitchell <mark@codesourcery.com>* coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not"ERROR:", in error messages.* cpu-arm.c (bfd_arm_merge_machines): Likewise.* elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.* elf32-arm.c (tag_cpu_arch_combine): Likewise.(elf32_arm_merge_eabi_attributes): Likewise.(elf32_arm_merge_private_bfd_data): Likewise.2009-03-27 Nick Clifton <nickc@redhat.com>* section.c (bfd_get_section_contents): Detect and handle the casewhere a section has the SEC_IN_MEMORY flag set but no actualcontents allocated.2009-03-26 Alan Modra <amodra@bigpond.net.au>PR 6494* elf.c (copy_elf_program_header): Do not check that PT_GNU_RELROp_filesz and p_memsz are equal. Use p_memsz as the segment size.(assign_file_positions_for_non_load_sections): Zap PT_GNU_RELROif we don't find matching PT_LOAD when copying.2009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>* elf32-crx.c (crx_elf_howto_table): Zero the src_mask field ofthe reloc descriptions.2009-03-25 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD><R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols.<case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto.2009-03-24 H.J. Lu <hongjiu.lu@intel.com>* cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static.(bfd_i386_arch_intel_syntax): Likewise.(i8086_arch): Likewise.(bfd_x86_64_arch): Likewise.2009-03-24 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (cris_elf_relocate_section): <caseR_CRIS_16_DTPREL, R_CRIS_32_DTPREL>: Allow use of non-localsymbols for non-allocated sections. Don't check whether togenerate R_CRIS_DTPMOD for non-allocated sections.(cris_elf_gc_sweep_hook) <case R_CRIS_32_DTPREL>: Don'thandle relocation GC:ing if applied to non-allocated section.(cris_elf_check_relocs): Similar.* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD><R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: Don't include the TLS sizewhen emitting a known TP offset in the GOT.2009-03-23 Alan Modra <amodra@bigpond.net.au>* elf64-ppc.c (synthetic_opd): Delete.(compare_symbols): Look for .opd name rather than section match.(ppc64_elf_get_synthetic_symtab): Likewise.2009-03-21 Alan Modra <amodra@bigpond.net.au>* elf32-ppc.c (is_pic_glink_stub): Delete.(is_nonpic_glink_stub): New function.(ppc_elf_get_synthetic_symtab): Check for last non-pic stub ratherthan first pic one.(struct ppc_elf_link_hash_table <glink_pltresolve>): Comment fix.2009-03-20 Martin Schwidefsky <schwidefsky@de.ibm.com>Andreas Krebbel <Andreas.Krebbel@de.ibm.com>* elf32-s390.c (elf_s390_check_relocs): Use the SYMBOL_*macros for visibilty and locality checks.(elf_s390_adjust_dynamic_symbol): Likewise.(allocate_dynrelocs): Likewise.(elf_s390_relocate_section): Likewise.(elf_s390_finish_dynamic_symbol): Likewise.* elf64-s390.c (elf_s390_check_relocs): Likewise.(elf_s390_adjust_dynamic_symbol): Likewise.(allocate_dynrelocs): Likewise.(elf_s390_relocate_section): Likewise.(elf_s390_finish_dynamic_symbol): Likewise.2009-03-19 Kai Tietz <kai.tietz@onevision.com>* bfd-in2.h: Regenerated.* coffcode.h (sec_to_styp_flags): For pe-coff add SEC_READONLYfor debugging sections and map memory read/write dependent onSEC_COFF_NOREAD.(styp_to_sec_flags): Set SEC_COFF_NOREAD for sectionswithout memory read flags set.* section.c: Add SEC_COFF_NOREAD to section flags.2009-03-19 Andreas Schwab <schwab@linux-m68k.org>* elf32-hppa.c (final_link_relocate): Cast bfd_vma values to longfor format string.2009-03-19 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_find_overlays): Separate error return from"no overlays" return. If there are overlays, create overlaymanager entry symbols here, so that..(spu_elf_build_stubs): ..we don't need to set them up here.Simplify entry symbol tests.* elf32-spu.h (spu_elf_find_overlays): Update prototype.2009-03-18 Mark Kettenis <kettenis@gnu.org>* elf.c (elfcore_grok_openbsd_procinfo)(elfcore_grok_openbsd_note): New functions.(elf_parse_notes): Handle notes from OpenBSD ELF core files.2009-03-18 Alan Modra <amodra@bigpond.net.au>* vms-hdr.c: Don't include alloca.h.* elf32-m68hc1x.c: Include alloca-conf.h.* xsym.c: Likewise.* elf64-hppa.c: Likewise. Remove existing #if's handling alloca.* som.c: Likewise.* Makefile.am: Run "make dep-am".* Makefile.in: Regenerate.2009-03-17 Daniel Jacobowitz <dan@codesourcery.com>* elf32-arm.c (elf32_arm_check_relocs): Correct symbian_p test.2009-03-17 Alan Modra <amodra@bigpond.net.au>* elf32-spu.h (struct spu_elf_params): ovly_flavour now only 1 bit.Add compact_stub.(emum _ovly_flavour): Delete ovly_compact, ovly_none.* elf32-spu.c (struct spu_link_hash_table): Replace ovly_load andovly_return fields with ovly_entry[2]. Adjust all users.(spu_elf_find_overlays): Set ovly_entry[1] from __icache_call_handlerwhen soft-icache.(spu_elf_build_stubs): Likewise.(ovl_stub_size): Change arg to spu_elf_params pointer. Adjust forovly_flavour changes. Update all callers.(ovl_stub_size_log2): New function.(build_stub): Handle compact icache stubs. Use different managerentry point for stubs in non-icache area.(spu_elf_size_stubs): Don't allocate space for indirect branchdescriptors.(spu_elf_build_stubs): And don't built them.2009-03-16 Andrew Stubbs <ams@codesourcery.com>* dwarf2.c (read_section): Always use rawsize, if available.2009-03-16 Alan Modra <amodra@bigpond.net.au>* simple.c (bfd_simple_get_relocated_section_contents): Use largerof rawsize and size for buffer.2009-03-15 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (spu_elf_check_vma): Do not reset auto_overlayparameter just because fixed sections fit into local store.(spu_elf_auto_overlay): Do not declare as "noreturn". Skipgenerating overlays if fixed sections plus reserved stackand heap space fit into local store.2009-03-15 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (build_stub): Correct icache set_id.(spu_elf_relocate_section): Likewise.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_link_check_archive_element): Only free thesymbol table if it was created by the current call.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_build_ldsyms): Give imported descriptorsclass XMC_DS rather than XMC_UA.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* bfd-in.h (bfd_xcoff_size_dynamic_sections): Replace thebfd_boolean export_defineds parameter with an unsigned intauto_export_flags parameter.* bfd-in2.h: Regenerate.* xcofflink.c (xcoff_archive_contains_shared_object_p): New function,split out from xcoff_build_ldsyms.(xcoff_covered_by_expall_p): New function.(xcoff_auto_export_p): New function, split out from xcoff_build_ldsymsbut with extra code to handle -bexpfull and -bexpall.(xcoff_mark_auto_exports): New function.(xcoff_build_ldsyms): Use xcoff_auto_export_p to decide whethera function should be automatically exported.(bfd_xcoff_size_dynamic_sections): Replace the export_definedsparameter with an auto_export_flags parameter. Update ldinfoaccordingly. Use xcoff_mark_auto_exports to mark all automatically-exported symbols.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_mark_symbol_by_name): New function.(bfd_xcoff_size_dynamic_sections): Use it to mark the entry,init and fini functions. Do garbage collection for objectswithout an entry point too.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* coffcode.h (coff_pointerize_aux_hook): Update CSECT_SYM_P tocheck whether a symbol has csect information.(coff_print_aux): Likewise.* coff-rs6000.c (_bfd_xcoff_swap_aux_in): Handle auxillary csectinformation for C_AIX_WEAKEXT too.(_bfd_xcoff_swap_aux_out): Likewise.(xcoff_reloc_type_br): Handle defweak symbols too.* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Handle auxillary csectinformation for C_AIX_WEAKEXT too.(_bfd_xcoff64_swap_aux_out): Likewise.(xcoff64_reloc_type_br): Handle defweak symbols too.* coffgen.c (coff_print_symbol): Handle auxillary functioninformation for C_AIX_WEAKEXT too.* xcofflink.c (_bfd_xcoff_canonicalize_dynamic_symtab): Set BSF_WEAKinstead of BSF_GLOBAL if the L_WEAK flag is set.(xcoff_dynamic_definition_p): New function.(xcoff_link_add_dynamic_symbols): Use it to decide whether ldsymdefines h. Don't change h if ldsym isn't the definition. Otherwise,always take the symbol class from the ldsym. Use weak bfd symboltypes for weak ldsyms.(xcoff_link_add_symbols): Use CSECT_SYM_P and EXTERN_SYM_P.Fix the check for whether a definition is from a shared object.Allow redefinitions of weak symbols.(xcoff_link_check_ar_symbols): Use EXTERN_SYM_P.(xcoff_keep_symbol_p): Likewise.(bfd_xcoff_size_dynamic_sections): Use CSECT_SYM_P.(xcoff_link_input_bfd): Use CSECT_SYM_P and EXTERN_SYM_P.Add .loader entries for C_AIX_WEAKEXT as well as C_EXT symbols,but mark them as L_WEAK.(xcoff_write_global_symbol): Treat weak symbols as C_AIX_WEAKEXTinstead of C_EXT if C_AIX_WEAKEXT == C_WEAKEXT.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_mark): When walking the relocations,only mark the target symbol or the target section, not both.(xcoff_final_definition_p): New function.(xcoff_keep_symbol_p): Use it to check whether an external XCOFFsymbol is a valid definition of the associated output symbol.Use XCOFF_ALLOCATED to stop the same hash table entry havingtwo output symbols.(bfd_xcoff_size_dynamic_sections): Set XCOFF_ALLOCATED whenkeeping a symbol.(xcoff_link_input_bfd): Use xcoff_final_definition_p.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (bfd_xcoff_import_symbol): Treat imported absolutesymbols as XMC_XO.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* libcoff-in.h (xcoff_tdata): Add a lineno_counts field.* libcoff.h: Regenerate.* xcofflink.c (xcoff_link_add_symbols): Record per-symbolline-number counts in the bfd's lineno_counts field.Don't keep per-csect line-number counts.(xcoff_sweep): Don't update per-csect line-number counts.(bfd_xcoff_size_dynamic_sections): Count the number of line-numberentries in each output section.(xcoff_link_input_bfd): Get the number of line numbers fromthe bfd's lineno_counts field, rather than recalculating itfrom scratch. Fix the range check when updating C_BINCL andC_EINCL symbols.(_bfd_xcoff_bfd_final_link): Don't count the output line numbershere. Don't expect csects to have line-number counts.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* libcoff-in.h (xcoff_tdata): Change debug_indices to a signed long.* libcoff.h: Regenerate.* xcofflink.c (xcoff_keep_symbol_p): New function, using the"skip" logic from xcoff_link_input_bfd.(bfd_xcoff_size_dynamic_sections): Explicitly skip dynamicobjects in a dynamic link, rather than checking whether csectppis null. Always allocate debug_index for other objects,and always go through the loop. Update the type of debug_indexafter the change above. Read the auxillary csect informationand use xcoff_keep_symbol_p to decide whether a symbol shouldbe kept. Set its debug_index to -2 if not.(xcoff_link_input_bfd): Update the type of debug_index afterthe change above and always expect it to be nonnull. Use it totest whether a symbol should be stripped, rather than making thedecision here. Postpone all symbol creation to the second pass.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c: (xcoff_mark_symbol): Mark the TOC section whencreating a descriptor.(xcoff_sweep): Don't mark toc_section unless it's needed.(bfd_xcoff_size_dynamic_sections): Skip the toc_sectionwhen marking every bfd.(xcoff_link_input_bfd): Skip all TOC anchors.(xcoff_toc_section_p, xcoff_find_tc0): New functions.(_bfd_xcoff_bfd_final_link): Don't set the output bfd's TOC anchorto -1; call xcoff_find_tc0 instead.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* libcoff-in.h (xcoff_section_tdata): Update commentary.* libcoff.h: Regenerate.* xcofflink.c (xcoff_link_add_symbols): Set the csect of XTY_ERsymbols to bfd_und_section_ptr or bfd_abs_section_ptr, rather thanthe previous symbol's csect. Treat last_symndx as an inclusive valueand simplify its handling.(xcoff_mark): Treat last_symndx as an inclusive value. Only marksymbols with the right csect. Don't mark rsec when processingrelocations against undefined or absolute sections.(bfd_xcoff_size_dynamic_sections): Don't check the SEC_MARK flagof bfd_und_section_ptr.(xcoff_link_input_bfd): Likewise.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* coff-rs6000.c (xcoff_ppc_relocate_section): Report relocationsagainst undefined symbols if the symbol's XCOFF_WAS_UNDEFINEDflag is set. Assert that all undefined symbols are eitherimported or defined by a dynamic object.* coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise.* xcofflink.c (xcoff_link_add_symbols): Extend function-symbolhandling to all relocations. Only set XCOFF_CALLED for functionsymbols.(xcoff_find_function): New function, split out from...(bfd_xcoff_export_symbol) ...here.(xcoff_set_import_path): New function, split out from...(bfd_xcoff_import_symbol): ...here. Remove assertion for oldmeaning of XCOFF_CALLED.(xcoff_mark_symbol): If we mark an undefined and unimportedsymbol, find some way of defining it. If the symbol is a functiondescriptor, fill in its definition automatically. If the symbolis a function, mark its descriptor and allocate room for globallinkage code. Otherwise mark the symbol as implicitly imported.Move the code for creating function descriptors from...(xcoff_build_ldsyms): ...here. Use XCOFF_WAS_UNDEFINED tocheck for symbols that were implicitly defined.(xcoff_mark): Don't count any dynamic relocations againstfunction symbols.(bfd_xcoff_size_dynamic_sections): Save the rtld parameterin the xcoff link info.(xcoff_link_input_bfd): Remove handling of undefined andunexported symbols.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* coff-rs6000.c (xcoff_reloc_type_br): Make the branch absoluteif the target is absolute. Fix comment typo.(xcoff_ppc_relocate_section): Remove FIXME.* coff64-rs6000.c (xcoff64_reloc_type_br): Make the branch absoluteif the target is absolute.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* xcofflink.c (xcoff_mark, xcoff_link_input_bfd): Don't copyR_POS and R_NEG relocations against absolute symbols to the.loader section.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* coff64-rs6000.c (xcoff64_write_object_contents): Set the cputypeto 2 for bfd_mach_ppc_620.2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>* config.bfd: Treat AIX 6+ in the same way as AIX 5.* configure.in: Likewise.* configure: Regenerate.2009-03-13 H.J. Lu <hongjiu.lu@intel.com>PR binutils/9945* elf.c (assign_section_numbers): Generate symbol table if thereis any relocation in output.(_bfd_elf_compute_section_file_positions): Likewise.2009-03-13 Nick Clifton <nickc@redhat.com>PR 9934* elf-bfd.h (NUM_SHDR_ENTRIES): Cope with an empty section.* elflink.c (elf_link_read_relocs_from_section): UseNUM_SHDR_ENTRIES. Gracefully handle the case where there arerelocs but no symbol table.* elf32-arm.c (elf32_arm_check_relocs): Likewise.2009-03-12 H.J. Lu <hongjiu.lu@intel.com>PR ld/9938* elf32-i386.c (elf_i386_check_tls_transition): Use strncmpto check ___tls_get_addr.* elf64-x86-64.c (elf64_x86_64_check_tls_transition): Usestrncmp to check __tls_get_addr.2009-03-12 Andrew Stubbs <ams@codesourcery.com>* dwarf2.c (read_section): Always check the offset, even when thesection has been read before.2009-03-11 H.J. Lu <hongjiu.lu@intel.com>* elf32-i386.c (elf_i386_check_tls_transition): Fix a typo incomments.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_OUTPUTflag is set, use 0 for uid, gid, and timestamp, and use 0644 for filemode.(bsd_write_armap): Likewise.(_bfd_archive_bsd_update_armap_timestamp): If BFD_DETERMINISTIC_OUTPUTflag is set, do nothing.(coff_write_armap): If BFD_DETERMINISTIC_OUTPUT flag is set, use 0for timestamp.2009-03-11 Ulrich Weigand <uweigand@de.ibm.com>* elf32-spu.c (find_function_stack_adjust): Handle sf instructionused to update stack pointer.2009-03-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>PR binutils/9921* som.c (som_bfd_derive_misc_symbol_info): Set symbol type ST_ABSOLUTEfor unknown symbols in absolute section.2009-03-06 Nick Clifton <nickc@redhat.com>* po/es.po: Updated Spanish translation.2009-03-05 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (group_sections): Take next section size intoaccount before accepting to group it.2009-03-05 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (arm_type_of_stub): Handle long branches targettingPLT entries.(elf32_arm_final_link_relocate): Likewise.2009-03-05 Moritz Kroll <Moritz.Kroll@gmx.de>PR 9923* peXXigen.c (_bfd_XXi_final_link_postscript): Check h->root.type.2009-03-04 Alan Modra <amodra@bigpond.net.au>* 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 suchwithout marker relocs.(ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocsif 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 handlingarg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLDrelocs.* 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 suchwithout marker relocs.(ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocsif section has no old-style calls. Set toc_ref for new relocs asappropriate.(ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.Don't try to optimize new-style __tls_get_addr call when handlingarg setup relocs. Instead do so for R_PPC_TLSGD and R_PPC_TLSLDrelocs.2009-03-04 Alan Modra <amodra@bigpond.net.au>PR 6768* configure.in: Test for ld --as-needed support. Link sharedlibbfd against libm.* configure: Regenerate.2009-03-03 Alan Modra <amodra@bigpond.net.au>* Makefile.am: Run "make dep-am".* Makefile.in: Regenerate.2009-03-02 Qinwei <qinwei@sunnorth.com.cn>* elf32-score7.c: New file.* elf32-score.h: New file.* elf32-score.c: Add code to support score 7. Set score7 as thedefault.* cpu-score.c: Add score7 architecure.(compatibile): New function.* Makefile.am: Add rules for building elf32-score7 object.* Makefile.in: Regenerate.* configure.in: Add elf32-score7 object to score vectors.* configure: Regenerate.* reloc.c: Add score7 relocs.* archures.c: Add score3 and score7 machine numbers.* bfd-in2.h: Regenerate.* libbfd.h: Regenerate.2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>* configure: Regenerate.2009-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>* elf32-hppa.c (hppa32_elf_local_refcounts): New function.(elf32_hppa_check_relocs): Use it.* elf_hppa_add_symbol_hook (elf_hppa_add_symbol_hook): Move toelf64-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-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>* elf-hppa.h (elf_hppa_final_link): Use elf_hppa_final_link.(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 derivefrom 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 * insteadof 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 recordinglocal DLT, PLT and OPD reference counts.(elf64_hppa_dynamic_symbol_p): Revise using "eh" for structelf_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-02-26 Christophe Lyon <christophe.lyon@st.com>* 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 uselesscondition.2009-02-25 H.J. Lu <hongjiu.lu@intel.com>* elf.c (elf_find_function): Use is_function_type to checkfunction symbol.2009-02-24 Sterling Augustine <sterling@jaw.hq.tensilica.com>* xtensa-modules.c: Revert to previous version 1.11 dueto inadvertant commit.2009-02-24 Sterling Augustine <sterling@tensilica.com>* elf32-xtensa.c (text_action_add): Separate test for actiontype. Break if saved action is ta_widen_insn at same offset.2009-02-24 Daniel Jacobowitz <dan@codesourcery.com>* elf32-arm.c (elf32_arm_stub_long_branch_any_any_pic): Renameto 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 PICseparately.2009-02-24 Joseph Myers <joseph@codesourcery.com>* 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.2009-02-23 Daniel Jacobowitz <dan@codesourcery.com>* elf32-arm.c (arm_build_one_stub): Initialize stub_reloc_offset.Fix formatting.(arm_size_one_stub): Remove unnecessary break.(arm_map_one_stub): Fix formatting. Return after BFD_FAIL.2009-02-23 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (stub_insn_type): New type.(stub_reloc_type): Likewise.(insn_sequence): Likewise.(elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.(elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.(elf32_arm_stub_long_branch_thumb_only): Likewise.(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.(elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.(elf32_arm_stub_long_branch_any_any_pic): Likewise.(elf32_arm_stub_hash_entry): Add new helper fields.(stub_hash_newfunc): Initialize these new fields.(arm_build_one_stub): Encode Arm and Thumb instructions separatelyto take endianness into account.(arm_size_one_stub): Compute size of stubs using insn_sequence.(arm_map_one_stub): Code is now more generic, thanks toinsn_sequence.2009-02-23 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (elf32_arm_stub_long_branch_thumb_only): Fix stubcode.(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.(arm_type_of_stub): Use Thumb-only long branch stub (non-PIC) whenBLX is not available. Fix typo in warning message. Add commentsand improve formatting.(arm_build_one_stub): Adjust to newelf32_arm_stub_long_branch_v4t_thumb_arm stub.(arm_map_one_stub): Likewise.2009-02-23 Tristan Gingold <gingold@adacore.com>Eric Botcazou <ebotcazou@adacore.com>Douglas B Rupp <rupp@gnat.com>* vms.h: Update copyright year, fix comments, reorder declarations.(_bfd_save_vms_section): Remove the prototype.(EGPS_S_V_NO_SHIFT): New constant.(bfd_vms_set_section_flags): New prototype.(EGPS_S_B_ALIGN, EGPS_S_W_FLAGS, EGPS_S_L_ALLOC, EGPS_S_B_NAMLNG): Newconstants.(EGSY_S_W_FLAGS): Ditto.(EGSY_S_V_QUAD_VAL): Ditto.(ESDF_S_L_VALUE, ESDF_S_L_PSINDX, ESDF_S_B_NAMLNG): Ditto.(EGST_S_W_FLAGS, EGST_S_Q_LP_1, EGST_S_Q_LP_2, EGST_S_L_PSINDX,EGST_S_B_NAMLNG): Ditto.(ESRF_S_B_NAMLNG): Ditto.(ETIR_S_C_HEADER_SIZE): Ditto.(EGPS_S_V_ALLOC_64BIT): Ditto.(DST_S_C_EPILOG): Ditto.(DST_S_C_SRC_SETLNUM_L, DST_S_C_SRC_SETLNUM_W) : Ditto.(DST_S_C_SRC_INCRLNUM_B): Ditto.(DST_S_B_PCLINE_UNSBYTE, DST_S_W_PCLINE_UNSWORD): Ditto.(DST_S_L_PCLINE_UNSLONG): Ditto.(DST_S_B_MODBEG_NAME, DST_S_L_RTNBEG_ADDRESS) : Ditto(DST_S_B_RTNBEG_NAME, DST_S_L_RTNEND_SIZE): Ditto(DST_S_C_SOURCE_HEADER_SIZE): Ditto.(DST_S_B_SRC_DF_LENGTH, DST_S_W_SRC_DF_FILEID): Ditto.(DST_S_B_SRC_DF_FILENAME, DST_S_B_SRC_UNSBYTE): Ditto.(DST_S_B_SRC_UNSBYTE): Ditto.(DST_S_W_SRC_UNSWORD, DST_S_L_SRC_UNSLONG): Ditto.Add prototypes.(vms_section, vms_reloc): Remove types.(hdr_struc): Replaced by ...(hdr_struct): ... new type.(EMH_S_W_HDRTYP, EMH_S_B_STRLVL, EMH_S_L_ARCH1): New constants.(EMH_S_L_ARCH2, EMH_S_L_RECSIZ, EMH_S_B_NAMLNG): Ditto.(EMH_DATE_LENGTH): Ditto.(eom_struc): Replaced by ...(eom_struct): ... new type.(EEOM_S_L_TOTAL_LPS, EEOM_S_W_COMCOD, EEOM_S_B_TFRFLG): New constants.(EEOM_S_L_PSINDX, EEOM_S_L_TFRADR): Ditto.(EIHD_S_K_MAJORID, EIHD_S_K_MINORID, EIHD_S_K_EXE): Ditto.(EIHD_S_L_SIZE, EIHD_S_L_ISDOFF, EIHD_S_L_SYMDBGOFF): Ditto.(EIHD_S_Q_SYMVVA, EIHD_S_L_IMGTYPE): Ditto.(EISD_S_L_EISDSIZE, EISD_S_L_SECSIZE, EISD_S_Q_VIR_ADDR): Ditto.(EISD_S_L_FLAGS, EISD_S_L_VBN, EISD_S_R_CONTROL): Ditto.(EISD_S_L_IDENT, EISD_S_T_GBLNAM): Ditto.(EISD_S_M_GBL, EISD_S_M_CRF, EISD_S_M_DZRO, EISD_S_M_WRT): Ditto.(EISD_S_M_INITALCODE, EISD_S_M_BASED, EISD_S_M_FIXUPVEC): Ditto.(EISD_S_M_RESIDENT, EISD_S_M_VECTOR, EISD_S_M_PROTECT): Ditto.(EISD_S_M_LASTCLU, EISD_S_M_EXE, EISD_S_M_NONSHRADR): Ditto.(EISD_S_M_QUAD_LENGTH, EISD_S_M_ALLOC_64BIT): Ditto.(EIHS_S_L_DSTVBN, EIHS_S_L_DSTSIZE, EIHS_S_L_GSTVBN): Ditto.(EIHS_S_L_GSTSIZE, EIHS_S_L_DMTVBN, EIHS_S_L_DMTBYTES): Ditto.(DBG_S_L_DMT_MODBEG, DBG_S_L_DST_SIZE): Ditto.(DBG_S_W_DMT_PSECT_COUNT, DBG_S_C_DMT_HEADER_SIZE): Ditto.(DBG_S_L_DMT_PSECT_START, DBG_S_L_DMT_PSECT_LENGTH)(DBG_S_C_DMT_PSECT_SIZE): Ditto.(enum file_type_enum): New type.(struct location_struct): Removed.(struct fileinfo, struct srecinfo, struct lineinfo): New types.(struct funcinfo, struct module): Ditto.(struct vms_private_data_struct): Update fields.(struct vms_section_data_struct): New type.* vms.c: Update copyright year, fix comments,Fix includes for DECC, add prototypes.(vms_initialize): Use bfd_alloc instead of bfd_zalloc and removesome initializers.Use flavour to set is_vax, location_stack is removed.(struct pair): Declare.(fill_section_ptr): Initialize variables at declaration.Add guard to set SECTION_SYM flag, handlde und section.(vms_fixup_sections): Use struct pair for fill_section_ptr argument.(_bfd_vms_slurp_object_records): New function, replaces previousvms_object_p.(vms_slurp_module): New function.(vms_slurp_image): Ditto.(vms_object_p): Complete rewrite.(vms_mkobject): Use is_vax field to slect architecture.(free_reloc_stream): New function.(vms_convert_to_var): Ditto.(vms_convert_to_var_1): Ditto.(vms_convert_to_var_unix_filename): Ditto.(vms_close_and_cleanup): Call free_reloc_stream, convert file toVAR format on VMS.(vms_new_section_hook): Set alignment to 0, allocate private data.(vms_get_section_contents): Load content.(vms_get_symbol_info): Handle undefined section.(vms_find_nearest_line): Handle.(alloc_reloc_stream): New function.(vms_slurp_reloc_table): Ditto.(vms_get_reloc_upper_bound): Make it real.(vms_canonicalize_reloc): Do the real work.(alpha_howto_table): Add ALPHA_R_NOP, ALPHA_R_BSR, ALPHA_R_LDA,ALPHA_R_BOH.(vms_bfd_reloc_type_lookup): Handle NOP, BSR, LDA and BOH.(vms_set_arch_mach): Check arch.(vms_set_section_contents): Copy the content after allocation.(vms_alpha_vec): Update object flags.* vms-tir.c: Update copyright year, fix comments,add prototypes for new functions.(dst_define_location): New function.(dst_restore_location): New function.(dst_retrieve_location): New function.(dst_check_allocation): New function.(image_dump): Call dst_check_allocation.(image_write_b): Ditto.(image_write_w): Ditto.(image_write_l): Ditto.(image_write_q): Ditto.(cmd_name): Handle STA_LW, STA_QW, STO_OFF, STO_IMM, STO_IMMR, STO_LW,STO_QW, OPR_ADD, CTL_SETRB, STC_LP_PSB, CTL_DFLOC, CTL_STLOC,CTL_STKDL.Call error handler instead of abort if name is not known.(etir_sta): Add quarter_relocs argument and set it.Fix cast.(etir_sto): Ditto.(etir_opr): Ditto, return FALSE in case of error.(etir_ctl): Add quarter_relocs argument and set it, fix cast.Fix CTL_DFLOC, CTL_STLOC, CTL_STKDL.(etir_stc): Add quarter_relocs argument and set it, fix cast.Fix STC_LP, STC_LP_PSB, STC_GBL and STC_CGA.Handle STC_LP_PSB, STC_BSR_GBL, STC_LDA_GBL, STC_BOH_GBL.Move STC_NOP_PS, STC_BSR_PS, STC_LDA_PS, STC_BOH_PS, STC_NBH_PS.Return FALSE in case of error.(tir_sta): Change sign of psect.(tir_ctl): Ditto.(tir_cmd): Fix cast. Makes tir_table static const.(etir_cmd): Add quarter_relocs argument, makes etir_table const,add argument to explain.(analyze_etir): Initialize maxptr, add quarter_relocsdeclaration, move some declarations into inner scopes.Handle quarter_relocs and STO_IMM.(_bfd_vms_slurp_tir): Use constant instead of hard-coded values.(_bfd_vms_slurp_relocs): New function.(_bfd_vms_decode_relocs): New function.(sto_imm): Rewritten.(start_first_etbt_record): New function.(start_another_etbt_record): Ditto.(etir_output_check): Ditto.(defer_reloc_p): Ditto.(_bfd_vms_write_tir): Remove nextoffset, convert a while-loop toa for-loop. Correctly deals with contents, deals with .vmsdebug,rewritte relocations handling.(_bfd_vms_write_tbt): Removed.(_bfd_vms_write_dbg): Ditto.* vms-misc.c: Update copyright year, Fix comments.(_bfd_vms_get_header_values): Use 'size' instead of 'length'.(maybe_adjust_record_pointer_for_object): New function.(_bfd_vms_get_first_record): New function, replaces ...(_bfd_vms_get_record): .. removed.(_bfd_vms_get_object_record): New function.(_bfd_vms_get_object_record): New function.(vms_get_remaining_object_record): New function, replaces ...(_bfd_vms_get_next_record): ... removed.(add_new_contents): Removed.(_bfd_save_vms_section): Removed.(_bfd_get_vms_section): Removed.(_bfd_vms_output_flush): Write in VAR format.(new_symbol): Don't make UND section.* vms-hdr.c: Update copyright year, update list of record handled.(_bfd_vms_slurp_hdr): rec_length renamed to rec_size.(_bfd_vms_write_hdr): Strip vms and unix patches,add comments, truncate module name at 31 characters,use constants instead of hard-coded value,write BFD version instead of a fixed string.(_bfd_vms_slurp_ihd): New function.(_bfd_vms_slurp_isd): Ditto.(_bfd_vms_slurp_ihs): Ditto.(new_module): Ditto.(parse_module): Ditto(build_module_list): Ditto.(module_find_nearest_line): Ditto.(_bfd_vms_find_nearest_dst_line): Ditto.(vms_slurp_debug): Ditto.(_bfd_vms_slurp_dbg): Ditto.(_bfd_vms_slurp_tbt): Ditto.(_bfd_vms_write_dbg): Ditto.(_bfd_vms_write_tbt): Ditto.* vms-gsd.c: Update copyright year, update list of records handled.(EVAX_LITERALS_NAME): New macro.(evax_section_flags): Add an entry for EVAX_LITERALS_NAME.(gpsflagdesc, gsyflagdesc): Moved out of _bfd_vms_slurp_gsd.(register_universal_symbol): New function and prototype.(_bfd_vms_slurp_gsd): Fix indentations and casts,improve debug messages,use constants instead of hard-coded value,fix missing endianness conversion,handle global symbol (SYMG).(bfd_vms_set_section_flags): New function.(_bfd_vms_write_gsd): Don't write .vmsdebug section,handle section literals,fix indentation,handle section bfd and vms flags,don't output LIB$INITIALIZE symbol,fix handling of weak symbols,fix evax vs vax procedure descriptor,handle absolute symbols.* reloc.c (BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_BSR,BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BOH): New relocations.* makefile.vms (DEFS): Fix flags for VMS.* bfdio.c (real_fopen): Handle multiple VMS fopen attributes.* bfd-in2.h: Regenerated.* libbfd.h: Regenerated.2009-02-20 Cary Coutant <ccoutant@google.com>* vmsutil.c (vms_file_stats_name): Fix incorrect use of st_mtimein struct stat.2009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>PR gas/7059* coffcode.h (coff_write_object_contents): Don't let the stringtable offset overflow the s_name field when using long section names.2009-18-02 Dave Korn <dave.korn.cygwin@gmail.com>* coff-alpha.c (alpha_ecoff_backend_data): Initialise fields whichcontrol long section name handling with ECOFF_NO_LONG_SECTION_NAMES.* coff-mips.c (mips_ecoff_backend_data): Likewise.* coff-rs6000.c (bfd_xcoff_backend_data): Initialise fields whichcontrol long section name handling with XCOFF_NO_LONG_SECTION_NAMES.(bfd_pmac_xcoff_backend_data): Likewise.* coff64-rs6000.c (bfd_xcoff_backend_data): Likewise.(bfd_xcoff_aix5_backend_data): Likewise.(xcoff64_write_object_contents): Delete unused long_section_nameslocal variable.* coff-sh.c (bfd_coff_small_swap_table): Initialise long sectionname members using COFF_DEFAULT_LONG_SECTION_NAMES and make entirestruct non-const.* coffcode.h (documentation): Update to describe long section names.(COFFLONGSECTIONCATHELPER): New helper macro.(BLANKOR1TOODD): Likewise.(COFF_ENABLE_LONG_SECTION_NAMES): Likewise.(COFF_LONG_SECTION_NAMES_SETTER): Likewise.(COFF_DEFAULT_LONG_SECTION_NAMES): Likewise.(bfd_coff_set_long_section_names_allowed): New function.(bfd_coff_set_long_section_names_disallowed): Likewise.(struct bfd_coff_backend_data): Add new backend hook functionpointer _bfd_coff_set_long_section_names.(bfd_coff_set_long_section_names): New backend hook.(coff_write_object_contents): Only generate long section names ifbfd_coff_long_section_names() indicates they are currently enabled.(bfd_coff_std_swap_table): Make non-const, and initialise longsection name fields using COFF_DEFAULT_LONG_SECTION_NAMES.(ticoff0_swap_table): Likewise to both.(ticoff1_swap_table): Again, likewise to both.* coffgen.c (make_a_section_from_file): Allow long section namesas inputs even if not currently allowed for outputs.* ecoff.c (_bfd_ecoff_no_long_sections): New function.* efi-app-ia32.c (COFF_LONG_SECTION_NAMES): Define to 0, not blank.* efi-app-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-app-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-bsdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-bsdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-bsdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-rtdrv-ia32.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-rtdrv-ia64.c (COFF_LONG_SECTION_NAMES): Likewise.* efi-rtdrv-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-arm.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-i386.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-mcore.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-mips.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-ppc.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-sh.c (COFF_LONG_SECTION_NAMES): Likewise.* pei-x86_64.c (COFF_LONG_SECTION_NAMES): Likewise.* libcoff-in.h: Update copyright year to cause updated copyrightyear in generated libcoff.h, and fix typo.* libcoff.h: Regenerated.* libecoff.h (ECOFF_NO_LONG_SECTION_NAMES): New macro.(_bfd_ecoff_no_long_sections): Add prototype.* libxcoff.h (XCOFF_NO_LONG_SECTION_NAMES): New macro.* pe-mips.c (COFF_LONG_SECTION_NAMES): Define empty if not alreadydefined by an including .c file.* ticoff.h (ticoff0_swap_table): Make non-const, and initialiselong section name fields using COFF_DEFAULT_LONG_SECTION_NAMES.(ticoff1_swap_table): Likewise to both.2009-02-18 Christophe Lyon <christophe.lyon@st.com>* elf32-arm.c (arm_build_one_stub): Fix relocation target for picstub. Catch default case error.(arm_map_one_stub): Add missing Thumb mapping symbol.2009-02-18 Bjoern Haase <bjoern.m.haase@web.de>PR 9841* elf32-avr.c: Handle case where no local symbos exist correctly.2009-02-16 Christophe Lyon <christophe.lyon@st.com>bfd/* elf32-arm.c (arm_long_branch_stub,arm_thumb_v4t_long_branch_stub,arm_thumb_thumb_long_branch_stub,arm_thumb_arm_v4t_long_branch_stub,arm_thumb_arm_v4t_short_branch_stub,arm_pic_long_branch_stub):Renamed to elf32_arm_stub_long_branch_any_any,elf32_arm_stub_long_branch_v4t_arm_thumb,elf32_arm_stub_long_branch_thumb_only,elf32_arm_stub_long_branch_v4t_thumb_arm,elf32_arm_stub_short_branch_v4t_thumb_arm,elf32_arm_stub_long_branch_any_any_pic.(arm_stub_long_branch, arm_thumb_v4t_stub_long_branch,arm_thumb_thumb_stub_long_branch,arm_thumb_arm_v4t_stub_long_branch,arm_thumb_arm_v4t_stub_short_branch, arm_stub_pic_long_branch):Renamed to arm_stub_long_branch_any_any,arm_stub_long_branch_v4t_arm_thumb,arm_stub_long_branch_thumb_only,arm_stub_long_branch_v4t_thumb_arm,arm_stub_short_branch_v4t_thumb_arm,arm_stub_long_branch_any_any_pic.2009-02-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>* elf-hppa.h (elf_hppa_final_link_relocate): Correct addend value usedin branch offset check.2009-02-15 Alan Modra <amodra@bigpond.net.au>* elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx,add toc.symndx and toc.add.(ppc64_elf_check_relocs): Don't set htab->tls_get_addr here.Set up toc.add.(get_tls_mask): Add toc_addend param, set from toc.add. Adjust allcallers.(ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd.(branch_reloc_hash_match): New function, extracted from..(ppc64_elf_tls_optimize): ..here.(ppc64_elf_relocate_section): Properly set addends when optimizingtls sequences. Avoid unnecessary reading and writing of insns.Only redo reloc when symbol changed. Bypass symbol checks whenusing tlsld_got.* elf32-ppc.c (ppc_elf_tls_setup): Correct comment.(branch_reloc_hash_match): New function, extracted from..(ppc_elf_tls_optimize): ..here.(ppc_elf_relocate_section): Avoid unnecessary reading of insns.Don't clear addend on zapped __tls_get_addr reloc.2009-02-12 Nick Clifton <nickc@redhat.com>PR 9827* elflink.c (bfd_elf_final_link): When counting the relocations,if the header size has not been set yet then assume that it willmatch the output section's reloc type.2009-02-12 Nathan Sidwell <nathan@codesourcery.com>* elf32-mips.c (mips_elf_final_gp): Don't add 0x4000 offset forrelocatable link.2009-02-09 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_find_overlays): Call bfd_set_error on errors.(find_function): Likewise.(pasted_function): Don't error if no prior function found.(discover_functions): Revert 2008-12-10 change. Extend firstfunction range to start of section.2009-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>* elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. Convertfunctions to C90.* elf64-hppa.h: Likewise.2009-02-06 Joseph Myers <joseph@codesourcery.com>* elfxx-mips.c (_bfd_mips_elf_section_processing): Remove special.sbss handling.2009-02-04 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_build_stubs): Define __icache_neg_log2_linesize.Define __icache_ptr_handler*, not __icache_ptr___icache_bi_handler*.2009-02-03 Sandip Matte <sandip@rmicorp.com>* aoutx.h (NAME (aout, machine_type)): Handle bfd_mach_mips_xlr.* archures.c (bfd_mach_mips_xlr): Define.* bfd-in2.h: Regenerate.* cpu-mips.c (I_xlr): Define.(arch_info_struct): Add XLR entry.* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_XLR.(mips_set_isa_flags): Handle bfd_mach_mips_xlr(mips_mach_extensions): Add XLR entry.2009-02-03 Eric B. Weddington <eric.weddington@atmel.com>* elf32-avr.c (avr_final_link_relocate): Allow avr25 to wraparound.2009-02-03 Carlos O'Donell <carlos@codesourcery.com>* configure.in: AC_SUBST pdfdir.* Makefile.am: Add install-pdf, install-pdf-amand install-pdf-recursive targets. Define pdfdir.* doc/Makefile.am: Define pdf__strip_dir. Addinstall-pdf and install-pdf-am targets.* po/Make-in: Add install-pdf target.* configure: Regenerate.* Makefile.in: Regenerate* doc/Makefile.in: Regenerate.2009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>* bfd-in2.h: Regenerate.* elf32-m68k.c: Handle 2-slot GOT entries. Rename variables andfields from n_entries to n_slots where appropriate, update comments.(HOWTO): Add TLS relocations.(reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.(enum elf_m68k_got_offset_size): New enum.(struct elf_m68k_got_entry.type): Move field to ...(struct elf_m68k_got_entry_key): ... here. Update all uses.(elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New staticfunctions.(elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New staticfunctions.(struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entriesfields into n_entries array. Update comments.(elf_m68k_init_got): Simplify, update all uses.(elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slotGOT entries; update name, update all uses.(ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.(elf_m68k_get_got_entry): Update.(elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,simplify.(elf_m68k_remove_got_entry_type): Simplify.(elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.(elf_m68k_can_merge_gots): Update.(elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.(struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slotGOT entries, simplify.(elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.(struct elf_m68k_partition_multi_got_arg): Add slots_relas_difffield, remove obsoleted local_n_entries field.(elf_m68k_partition_multi_got_2): New static function.(elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;update.(elf_m68k_remove_got_entry_type): Update.(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.(elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessaryupdate of sgot->size and srelgot->size.(elf_m68k_gc_sweep_hook): Update.(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.(elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): HandleTLS relocations.* reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.* libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.2009-02-02 DJ Delorie <dj@redhat.com>* elf32-mep.c (config_names): Regenerate configuration.2009-02-02 Alan Modra <amodra@bigpond.net.au>* elf-bfd.h (bfd_elf_get_str_section): Don't declare.(bfd_elf_find_section, _sh_elf_set_mach_from_flags): Likewise.* elf.c (bfd_elf_get_str_section): Make static.(bfd_elf_find_section): Delete.* libbfd.h: Regenerate.2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>* elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.(_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.2009-01-31 Alan Modra <amodra@bigpond.net.au>* elflink.c (on_needed_list): New function.(elf_link_add_object_symbols): Link in --as-needed libs if theysatisfy undefined symbols in other libs.2009-01-30 Julian Brown <julian@codesourcery.com>* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Skip BFDs withEXEC_P or DYNAMIC flags, and skip sections which are being linkedwith --just-symbols (-R).2009-01-29 Adam Nemet <anemet@caviumnetworks.com>* dwarf2.c (read_rangelist): Use read_address to read low_pc andhigh_pc in order to properly sign-extend VMAs.2009-01-29 Daniel Jacobowitz <dan@codesourcery.com>Mark Shinwell <shinwell@codesourcery.com>Catherine Moore <clm@codesourcery.com>* elf-attrs.c, elflink.c, elfxx-mips.c: Correct typos in comments.2009-01-28 Catherine Moore <clm@codesourcery.com>* elf32-arm.c (elf32_arm_check_relocs): Set SEC_ALLOC andSEC_LOAD for dynamic relocation sections.2009-01-27 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (cris_elf_relocate_section): Use elf_hash_table(info)->tls_size, not elf_hash_table (info)->tls_sec->size forthe size of local TLS data.2009-01-27 Andreas Schwab <schwab@suse.de>* mach-o.c (bfd_mach_o_archive_p): Restrict the number ofarchitectures in the archive.2009-01-27 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_DTPREL><R_CRIS_32_DTPREL>: Correct relocation value.* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_8><R_CRIS_16, R_CRIS_32>: Don't call BFD_ASSERT for weak undefinedsymbols with non-default visibility.2009-01-26 Nathan Sidwell <nathan@codesourcery.com>* elf32-ppc.c (ppc_elf_relax_section): Add space for relocsdescribing the trampolines.(ppc_elf_relocate_section): Update relocs to describe thetrampolines.2009-01-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>* elf-hppa.h (elf_hppa_final_link_relocate): Add check to ensure thatbranch targets can be reached for R_PARISC_PCREL22F, R_PARISC_PCREL17Fand R_PARISC_PCREL12F relocations.2009-01-24 Alan Modra <amodra@bigpond.net.au>PR 6022* elflink.c (find_version_for_sym): New function split out from,but without export_dynamic test, ..(_bfd_elf_link_assign_sym_version): ..here.(_bfd_elf_export_symbol): Use it.2009-01-23 Alan Modra <amodra@bigpond.net.au>* elf-bfd.h (struct elf_assign_sym_version_info): Delete.(struct elf_info_failed, struct elf_find_verdep_info): Move to..* elflink.c: ..here, somewhat modified.* elf-bfd.h (_bfd_elf_add_default_symbol, _bfd_elf_export_symbol,_bfd_elf_link_find_version_dependencies,_bfd_elf_link_assign_sym_version, _bfd_elf_link_size_reloc_section,_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,_bfd_elf_link_sec_merge_syms, bfd_elf_link_mark_dynamic_symbol): Don'tdeclare..* elflink.c: ..and make static here.(_bfd_elf_link_find_version_dependencies): Adjust for removalof output_bfd from struct elf_find_verdep_info.(_bfd_elf_link_assign_sym_version): Similarly adjust to usestruct elf_info_failed.(bfd_elf_size_dynamic_sections): Adjust.2009-01-22 Alan Modra <amodra@bigpond.net.au>PR 6832* dwarf2.c (find_line): Don't update stash->sec_info_ptr untilafter comp_unit_find_line call.2009-01-21 Nick Clifton <nickc@redhat.com>PR 9769* vmsutil.c (vms_file_stats_name): Remove use of unsupportedtm_gmtoff field in struct tm.2009-01-21 Alan Modra <amodra@bigpond.net.au>* elf32-spu.h (struct spu_elf_params): Add non_ia_text.* elf32-spu.c (mark_overlay_section): Only include .text.ia.*sections in soft-icache lines unless non_ia_text. Don't addrodata if doing so would exceed line size.2009-01-19 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (elf_cris_copy_indirect_symbol): For other symboltypes than bfd_link_hash_indirect, before early return, call_bfd_elf_link_hash_copy_indirect.2009-01-19 Andrew Stubbs <ams@codesourcery.com>* elf-attrs.c (vendor_set_obj_attr_contents): Support tag ordering.* elf-bfd.h (elf_backend_data): Add obj_attrs_order.* elf32-arm.c (elf32_arm_obj_attrs_order): New function.(elf_backend_obj_attrs_order): New define.* elfxx-target.h (elf_backend_obj_attrs_order): New define.(elfNN_bed): Add elf_backend_obj_attrs_order.2009-01-19 Andrew Stubbs <ams@codesourcery.com>* elf-attrs.c (is_default_attr): Substitute magic numbers with macros.(obj_attr_size): Likewise.(write_obj_attribute): Likewise.(_bfd_elf_copy_obj_attributes): Likewise.(_bfd_elf_parse_attributes): Likewise.* elf-bfd.h (ATTR_TYPE_FLAG_INT_VAL): New define.(ATTR_TYPE_FLAG_STR_VAL, ATTR_TYPE_FLAG_NO_DEFAULT): New defines.(ATTR_TYPE_HAS_INT_VAL, ATTR_TYPE_HAS_STR_VAL): New defines.(ATTR_TYPE_HAS_NO_DEFAULT): New define.* elf32-arm.c (elf32_arm_obj_attrs_arg_type): Replace magic numberswith macros.2009-01-19 Andrew Stubbs <ams@codesourcery.com>* elf-attrs.c (is_default_attr): Support defaultless attributes.(bfd_elf_add_obj_attr_int): Get type from _bfd_elf_obj_attrs_arg_type.(bfd_elf_add_obj_attr_string): Likewise.(bfd_elf_add_obj_attr_int_string): Likewise.(_bfd_elf_parse_attributes): Allow for unknown flag bits in type.* elf-bfd.h (struct obj_attribute): Document new flag bit.* elf32-arm.c (elf32_arm_obj_attrs_arg_type): Specify thatTag_nodefaults has no default value.(elf32_arm_merge_eabi_attributes): Modify the Tag_nodefaultscomment to reflect the new state.2009-01-19 Alan Modra <amodra@bigpond.net.au>PR 9695* pdp11.c (N_BADMAG): True for anything but OMAGIC, NMAGIC, ZMAGIC.(some_aout_object_p): Delete dead code handling QMAGIC and BMAGIC.(adjust_z_magix): Delete dead code handling QMAGIC.2009-01-16 Kai Tietz <kai.tietz@onevision.com>* coffcode.h (styp_to_sec_flags): Correct interpretation ofIMAGE_SCN_MEM_DISCARDABLE.2009-01-16 Alan Modra <amodra@bigpond.net.au>* Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): SubstituteSHARED_LIBADD and SHARED_LDFLAGS rather than WIN32LIBADD, WIN32LDFLAGS.* configure.in (commonbfdlib): Delete.(SHARED_LDFLAGS): Rename from WIN32LDFLAGS/(SHARED_LIBADD): Rename from WIN32LIBADD. Add pic libiberty if suchis available, not just for linux.* po/SRC-POTFILES.in: Regenerate.* Makefile.in: Regenerate.* configure: Regenerate.2009-01-15 Andrew Stubbs <ams@codesourcery.com>Julian Brown <julian@codesourcery.com>* elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all knownARM attributes in ABI 2.07.* elf32-arm.c (get_secondary_compatible_arch): New function.(set_secondary_compatible_arch): New function.(tag_cpu_arch_combine): New function.(elf32_arm_copy_one_eabi_other_attribute): Delete function.(elf32_arm_copy_eabi_other_attribute_list): Delete function.(elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 tomake it fit with order_01243.Add support for Tag_also_compatible_with,Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,Tag_MPextension_use, Tag_nodefaults and Tag_conformance.Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,Tag_VFP_arch and Tag_ABI_FP_16bit_format.Rework the way unknown attributes are handled.Defer errors until all attributes have been processed.2009-01-15 Andrew Stubbs <ams@codesourcery.com>* elf-attrs.c (bfd_elf_add_obj_attr_compat): Rename tobfd_elf_add_obj_attr_int_string.Read Tag_compatibility from its new location in the attribute array,rather than the attribute list.(_bfd_elf_copy_obj_attributes): bfd_elf_add_obj_attr_compat ->bfd_elf_add_obj_attr_int_string.(_bfd_elf_parse_attributes): Likewise.(_bfd_elf_merge_object_attributes): There's now only oneTag_compatibility, and it's in the array, not the list.* elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 33 to includeTag_compatibility.(bfd_elf_add_obj_attr_compat): Rename tobfd_elf_add_obj_attr_int_string.(bfd_elf_add_proc_attr_compat): Rename tobfd_elf_add_proc_attr_int_string.* elf32-arm.c (elf32_arm_merge_eabi_attributes): Explicitly don't handleTag_compatibility.2009-01-15 Douglas B Rupp <rupp@gnat.com>* Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo(BFD32_BACKENDS_CFILES): Add new file vmsutil.c(vmsutil.lo): Add dependency rule.* Makefile.in: Regenerate.* config.bfd (ia64*-*-*vms*): Add case.* configure.in (bfd_elf64_ia64_vms_vec): Add case.* configure: Regenerate.* vmsutil.c: New file.* vmsutil.h: New file.* elf-bfd.h (struct bfd_elf_special_section): Change type ofattr to bfd_vma.* elfxx-ia64.c (elfNN_vms_post_process_headers,elfNN_vms_section_processing, elfNN_vms_final_write_processing,elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,elfNN_vms_object_p): New functions* targets.c (bfd_elf64_ia64_vms_vec): New target.2009-01-14 H.J. Lu <hongjiu.lu@intel.com>PR ld/9727* elflink.c (elf_gc_sweep): Exclude the group section if thefirst member of the section group is excluded.2009-01-14 Alan Modra <amodra@bigpond.net.au>PR 9735* syms.c (_bfd_stab_section_find_nearest_line): Don't freesaved filename, use bfd_alloc rather than bfd_malloc for it.2009-01-13 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_build_stubs): Make __icache_base absolute.2009-01-13 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (remove_cycles): Always set call->max_depth.2009-01-12 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (spu_elf_auto_overlay): Correct vma mask.2009-01-12 Alan Modra <amodra@bigpond.net.au>* elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,num_lines_log2.(struct got_entry): Add br_addr.(struct call_info): Add priority.(struct function_info): Add lr_store and sp_adjust.(spu_elf_setup): Init line_size_log2 and num_lines_log2.(spu_elf_find_overlays): For soft-icache, mark any section within cachearea as an overlay, and check that no other overlays exist. Look upicache overlay manager entry sym.(BRA_STUBS, BRA, BRASL): Define.(enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.(needs_ovl_stub): Adjust for soft-icache. Return priority encodedin branch insn.(count_stub, build_stub): Support soft-icache.(build_spuear_stubs, process_stubs): Adjust build_stub call.(spu_elf_size_stubs): Size soft-icache stubs.(overlay_index): New function.(spu_elf_build_stubs): Make static. Support soft-icache.(spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.(find_function_stack_adjust): Save lr store and stack adjust insnoffsets.(maybe_insert_function): Adjust find_function_stack_adjust call.(mark_functions_via_relocs): Retrieve priority.(remove_cycles): Only warn about pruned arcs when stack_analysis.(sort_calls): Sort by priority first.(mark_overlay_section): Ignore .ovl.init.(sum_stack): Only print when stack_analysis.(print_one_overlay_section): New function, extracted from..(spu_elf_auto_overlay): ..here. Support soft-icache overlays.(spu_elf_stack_analysis): Only print when htab->stack_analysis.(spu_elf_final_link): Call spu_elf_stack_analysis for lrliveanalysis. Call spu_elf_build_stubs.(spu_elf_relocate_section): For soft-icache encode overlay indexinto addresses.(spu_elf_output_symbol_hook): Support soft-icache.(spu_elf_modify_program_headers: Likewise.* elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Renamenum_regions to num_lines. Add line_size and max_branch.(enum _ovly_flavour): Add ovly_soft_icache.(spu_elf_build_stubs): Delete.2009-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>* elflink.c (_bfd_elf_section_already_linked): Handle g++-3.4relocations in `.gnu.linkonce.r.*' referencing its `.gnu.linkonce.t.*'.2009-01-07 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD><case R_CRIS_16_GOT_GD, R_CRIS_32_GOT_GD>: For a symbol defined inthe program, the known offset starts at the negative size of theTLS section.<case R_CRIS_32_IE, R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL>:Similar.2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>* config.bfd: Add lm32-*-rtems*.2009-01-03 H.J. Lu <hongjiu.lu@intel.com>* coff-ppc.c: Add 2009 to Copyright.* elf32-cris.c: Likewise.* elflink.c: Likewise.2009-01-03 Hans-Peter Nilsson <hp@axis.com>* elf32-cris.c (elf_cris_finish_dynamic_symbol): Renamegotplt_index to rela_plt_index. Adjust for R_CRIS_DTPMOD entry.2009-01-02 H.J. Lu <hongjiu.lu@intel.com>PR ld/9679* elflink.c (elf_merge_st_other): New.(_bfd_elf_merge_symbol): Use it on skipped weak definitions andhide them if needed.(elf_link_add_object_symbols): Updated.2009-01-02 H.J. Lu <hongjiu.lu@intel.com>PR ld/9676* elflink.c (elf_link_add_object_symbols): Update def_dynamic,ref_dynamic and dynamic_def fields when setting def_regularto 1.2009-01-02 Curtis Mackie <curtmackevo@gmail.com>PR 9682* coff-ppc.c (dump_toc): Fix up calls to fprintf without a stringliteral.For older changes see ChangeLog-2008Local Variables:mode: change-logleft-margin: 8fill-column: 74version-control: neverEnd:
Go to most recent revision | Compare with Previous | Blame | View Log
