2011-11-15 Andreas Schwab <schwab@linux-m68k.org> * ldlang.c (insert_pad): Change alignment_needed argument to bfd_size_type. (size_input_section): Change alignment_needed varible to bfd_size_type. * ldlang.h (lang_padding_statement_type): Change size field to bfd_size_type. 2011-11-03 Tristan Gingold <gingold@adacore.com> * scripttempl/aix.sc: Consider header size for .text and .data alignment. 2011-11-02 Tristan Gingold <gingold@adacore.com> * emultempl/aix.em (read_file_list): New function. (_handle_option): Handle '-f'. * NEWS: Mention this feature. 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * configure.tgt (x86_64-*-solaris2*): Use $targ_extra_emuls for targ_extra_libpath. 2011-11-01 DJ Delorie <dj@redhat.com> * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32rl78.c. (+eelf32rl78.c): New rule. * Makefile.in: Regenerate. * configure.tgt: Add rl78-*-* case. * emulparams/elf32rl78.sh: New file. * NEWS: Mention addition of Renesas RL78 support. 2011-10-28 Walter Lee <walt@tilera.com> * NEWS: Fix TILEPro capitalization. 2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com> * NEWS: Mention addition of Adapteva Epiphany support. * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32epiphany.c . (eelf32epiphany.c): New rule. * configure.tgt: Handle epiphany-*-elf. * emulparams/elf32epiphany.sh: New file. * Makefile.in: Regenerate. * po/ld.pot: Regenerate. 2011-10-24 Nick Clifton <nickc@redhat.com> * po/ja.po: Updated Japanese translation. 2011-10-20 Alan Modra <amodra@gmail.com> PR ld/13287 * plugin.c (plugin_should_reload): New function. * plugin.h (plugin_should_reload): Declare. * ldlang.c (open_input_bfds): Use above function. 2011-10-19 Alan Modra <amodra@gmail.com> PR ld/13254 * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Add -z text, -z notext, -z textoff options for all targets having shared lib support. 2011-10-15 Alan Modra <amodra@gmail.com> * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Remove toc check. 2011-10-13 Dave Korn <dave.korn.cygwin@gmail.com> * pe-dll.c (generate_reloc): Don't emit a base reloc for an underlying BFD reloc that will be discarded in eh_frame data. 2011-10-10 Nick Clifton <nickc@redhat.com> * po/bg.po: Updated Bulgarian translation. * po/es.po: Updated Spanish translation. * po/fi.po: Updated Finnish translation. * po/fr.po: Updated French translation. 2011-10-10 Alan Modra <amodra@gmail.com> * ldmain.c (main): Move code twiddling various config and link_info bits to.. * lexsup.c (parse_args): ..here. Move plugin_load_plugins call into main. * plugin.c (set_tv_header): Test link_info.executable, not link_info.shared. (is_visible_from_outside): Likewise. Delete redundant is_ir_dummy_bfd check and "section" parameter. 2011-10-10 Alan Modra <amodra@gmail.com> * emultempl/ppc64elf.em (ppc_add_stub_section): Align to 32 bytes. 2011-10-09 Alan Modra <amodra@gmail.com> * emultempl/ppc64elf.em (ppc_create_output_section_statements): Add missing colon to error message. (ppc_before_allocation): Likewise. 2011-10-06 Alan Modra <amodra@gmail.com> PR ld/13229 * plugin.c (tv_header_tags): Add LDPT_GET_SYMBOLS_V2. (set_tv_header): Handle it. Adjust LDPT_GET_SYMBOLS. Return void. (get_symbols): Add def_ironly_exp param. Return that value for syms exported from shared libs. (get_symbols_v1, get_symbols_v2): New wrapper functions. * testplug.c: Update for above changes. 2011-09-27 Kai Tietz <ktietz@redhat.com> * scripttempl/pe.sc (.text): Add support for .gnu.linkonce.t.* section. (.debug_info): Only use .gnu.linkonce.wi.* for relocating. * scripttempl/pep.sc: Likewise. 2011-09-22 Tristan Gingold <gingold@adacore.com> * NEWS: Add marker for 2.22. 2011-09-20 Alan Modra <amodra@gmail.com> PR ld/13201 * ldlang.h (lang_input_statement_type): Add "reload" bitfield. Clarify comments. * ldlang.c (new_afile): Init new field. (load_symbols): Don't call ldlang_add_file when reloading. (open_input_bfds): Reload as-needed libs during plugin rescan. 2011-09-15 H.J. Lu <hongjiu.lu@intel.com> PR ld/12975 * ldlang.c (lang_elf_version_info): Removed. (lang_register_vers_node): Replace lang_elf_version_info with link_info.version_info. (lang_add_vers_depend): Likewise. * pe-dll.c (process_def_file_and_drectve): Likewise. * emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise. * ldlang.h (lang_elf_version_info): Removed. * plugin.c (is_visible_from_outside): Check if symbol is hidden by version script. * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Remove lang_elf_version_info. 2011-09-15 Dmitry Gorbachev <d.g.gorbachev@gmail.com> PR ld/13183 * ldmain.c (add_archive_element): Support thin archive member for LTO. 2011-08-26 Nick Clifton <nickc@redhat.com> * po/es.po: Updated Spanish translation. 2011-08-26 Nick Clifton <nickc@redhat.com> * NEWS: Mention that --no-copy-dt-needed-entries is now the default. 2011-08-22 Michael Matz <matz@suse.de> * ldmain.c (add_DT_NEEDED_for_dynamic): Default to FALSE. * ld.texinfo (--copy-dt-needed-entries): Mention new default. 2011-08-17 Alan Modra <amodra@gmail.com> PR ld/12762 * ldlang.c (section_already_linked): Revert 2011-07-09 changes. * plugin.c: Likewise. (asymbol_from_plugin_symbol): Create linkonce section for syms with comdat_key. 2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * emultempl/armelf.em (fix_arm1176): New variable. (arm_elf_create_output_section_statements): Pass fix_arm1176 option to bfd backend. (OPTION_FIX_ARM1176): New define. (OPTION_NO_FIX_ARM1176): Likewise. (PARSE_AND_LIST_LONGOPTS): Add new command line options. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. * ld.texinfo: Document new command line options. 2011-08-09 Alan Modra <amodra@gmail.com> PR ld/13066 * plugin.c (add_symbols): Revert 2011-08-05. 2011-08-06 Kai Tietz <ktietz@redhat.com> * scripttempl/pep.sc: Add .debug_macro section. * scripttempl/pe.sc: Likewise. 2011-08-05 Alan Modra <amodra@gmail.com> PR ld/12762 * plugin.c (add_symbols): Exclude comdat_key symbols from symbol table if already seen. 2011-08-04 H.J. Lu <hongjiu.lu@intel.com> * ldmain.c (main): Replace remove_output with ld_cleanup in comments. 2011-07-26 Alan Modra <amodra@gmail.com> * emulparams/elf32ppc.sh: Source plt_unwind.sh. * emulparams/elf64ppc.sh: Likewise. * emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust. (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to existing values. * emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust. (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to existing values. 2011-07-22 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (ALL_64_EMULATIONS): Add eelf_k1om.o and eelf_k1om_fbsd.o (eelf_k1om.c): New. (eelf_k1om_fbsd.c): Likewise. * Makefile.in: Regenerated. * configure.tgt (targ64_extra_emuls): Add elf_k1om if elf_x86_64 is supported. Add elf_k1om_fbsd if elf_x86_64_fbsd is supported. (targ_extra_emuls): Likewise. * emulparams/elf_k1om.sh: New. * emulparams/elf_k1om_fbsd.sh: Likewise. 2011-07-16 Roland McGrath <roland@hack.frob.com> * ld.h (args_type): New field print_output_format. * lexsup.c (enum option_values, ld_options, parse_args): Handle --print-output-format. * ldmain.c (main): Implement --print-output-format. * ld.texinfo (Options): Document it. * ldlang.c (lang_get_output_target): Don't return current_target when it's NULL. 2011-07-15 Alan Modra <amodra@gmail.com> * Makefile.am (e*.c): Sort. * Makefile.in: Regenerate. 2011-07-14 Alan Modra <amodra@gmail.com> * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options): Don't condition -z relro and -z norelro on COMMONPAGESIZE being defined. 2011-07-14 Alan Modra <amodra@gmail.com> * emultempl/ppc64elf.em (plt_static_chain): New var. (gld${EMULATION_NAME}_after_allocation): Pass to ppc64_elf_size_stubs. (PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Handle --plt-static-chain and --no-plt-static-chain. 2011-07-14 Alan Modra <amodra@gmail.com> * emultempl/elf32.em (gld${EMULATION_NAME}_add_options, gld${EMULATION_NAME}_handle_option, gld${EMULATION_NAME}_list_options): Provide --build-id, -z defs, -z muldefs, -z max-page-size, -z common-page-size, -z execstack, -z noexecstack for all targets. Add help for --exclude-libs. (OPTION_LD_GENERATED_UNWIND_INFO, OPTION_NO_LD_GENERATED_UNWIND_INFO): Move this.. (gld${EMULATION_NAME}_handle_option): ..and code handling --ld-generated-unwind-info and --no-ld-generated-unwind-info.. * emulparams/plt_unwind.sh: ..to here. New file. Add help. * emulparams/elf32_x86_64.sh: Include plt_unwind.sh. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_l1om.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. 2011-07-11 Catherine Moore <clm@codesourcery.com> * ld.h (section_flag_list): Add field to struct wildcard_spec. * ld.texinfo (INPUT_SECTION_FLAGS): Document. * ldgram.y (flag_info_list, flag_info): Add to union. (INPUT_SECTION_FLAGS): New token. (wildcard_spec): Initialize section_flag_list to NULL for each alternative. (sect_flag_list, sect_flags): New rules. (input_section_spec_no_keep): Add alternatives to recognize sect_flags. * ldlang.c (walk_wild_consider_section): Initialize section_flag_info field of the section struct. (lang_add_section): Check input section flags. (lang_add_wild): Initialize section_flag_list field of the statement struct. * ldlang.h (lang_input_statement_struct): Add section_flag_list field. (lang_wild_statement_struct): Likewise. * ldlex.l (INPUT_SECTION_FLAGS): New token. * mri.c (mri_draw_tree): Initialize section_flag_list to NULL. * NEWS: Announce INPUT_SECTION_FLAGS enhancement. 2011-07-09 H.J. Lu <hongjiu.lu@intel.com> PR ld/12942 * ldlang.c (section_already_linked): Pass "struct already_linked *" to bfd_section_already_linked. (lang_process): Set link_info.loading_lto_outputs before loading LTO outputs. * plugin.c: Include "libbfd.h". (add_symbols): Call bfd_section_already_linked with comdat_key. 2011-06-20 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Revert x32 change. 2011-06-20 Jakub Jelinek <jakub@redhat.com> PR ld/12570 * emultempl/elf32.em (OPTION_LD_GENERATED_UNWIND_INFO, OPTION_NO_LD_GENERATED_UNWIND_INFO): Define. (gld${EMULATION_NAME}_handle_option): Handle --ld-generated-unwind-info and --no-ld-generated-unwind-info. * ld.texinfo (--ld-generated-unwind-info, --no-ld-generated-unwind-info): Document. 2011-06-19 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Support x32. 2011-06-15 Nick Clifton <nickc@redhat.com> * NEWS: Mention addition of TILEPRO and TIKE-Gx support. 2011-06-13 Walter Lee <walt@tilera.com> * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx.c and eelf32tilepro.c. (ALL_64_EMULATION_SOURCES): Add eelf64tilegx.c. (eelf32tilegx.c): New target. (eelf32tilepro.c): Likewise. (eelf64tilegx.c): Likewise. * Makefile.in: Regenerate. * configure.tgt: Handle tilegx-*-* and tilepro-*-*. * emulparams/elf32tilegx.sh: New file. * emulparams/elf64tilegx.sh: New file. * emulparams/elf32tilepro.sh: New file. 2011-06-13 Alan Modra <amodra@gmail.com> * ldlang.c (sort_def_symbol, lang_one_common): Don't handle warning symbols here. * emultempl/pe.em (pr_sym): Remove redundant test. * emultempl/pep.em (pr_sym): Likewise. 2011-06-09 Nick Clifton <nickc@redhat.com> PR ld/12845 * emultempl/mipself.em (mips_add_stub_section): Do not add stubs for sections that have been removed by garbage collection. 2011-06-08 Alan Modra <amodra@gmail.com> * ldlang.c (lang_one_common): Handle warning symbols. 2011-06-07 Nick Clifton <nickc@redhat.com> * configure.tgt: Accept any V850 architecture. 2011-06-03 Nick Clifton <nickc@redhat.com> * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32am33lin.c Add rule to build eelf32am33lin.c * Makefile.in: Regenerate. 2011-06-02 Nick Clifton <nickc@redhat.com> * lexsup.c: Fix spelling mistake in comment. * scripttempl/epocpe.sc: Likewise. * scripttempl/i386beos.sc: Likewise. * scripttempl/mcorepe.sc: Likewise. * scripttempl/pe.sc: Likewise. * scripttempl/pep.sc: Likewise. * po/ld.pot: Regenerate. 2011-05-27 Nick Clifton <nickc@redhat.com> * scripttempl/v850.sc (_heap_start): Provide. 2011-05-23 Alan Modra <amodra@gmail.com> * ldmisc.c (vfinfo): Add %H. * ldmain.c (reloc_overflow): Use %H rather than %C. (reloc_dangerous, unattached_reloc): Likewise. 2011-05-23 Alan Modra <amodra@gmail.com> PR 12763 * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2 like sections to existing .sdata2, and similarly for orphan TLS sections. * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss. 2011-05-17 Tomohiro Kashiwada <kikairoya@gmail.com> PR ld/12759 * emultempl/rxelf.em (ignore_lma): New variable. (rx_elf_create_output_section_statements): Pass the setiing of ignore_lma to bfd_elf32_rx_set_target_flags. (OPTION_IGNORE_LMA): Define. (OPTION_NO_IGNORE_LMA): Define. (PARSE_AND_LIST_LONGOPTS): Add ignore lma. (PARSE_AND_LIST_OPTIONS): Add ignore lma. (PARSE_AND_LIST_ARGS_CASES): Add ignore lma. 2011-05-17 Alan Modra <amodra@gmail.com> PR ld/12760 * ldmain.c (notice): Add "flags" and "string" param. * plugin.c (plugin_notice): Likewise. Handle indirect, warning and constructor syms. 2010-05-16 Daniel Jacobowitz <dan@codesourcery.com> * ldlang.c (print_assignment): Use the symbol's section if we use its value. * ldexp.c (exp_fold_tree_1): Skip self-assignment. Expand comment on copying symbol type. 2011-05-16 H.J. Lu <hongjiu.lu@intel.com> PR ld/12760 * plugin.c (plugin_notice): Set u.undef.abfd for symbols made undefweak. 2011-05-16 Alan Modra <amodra@gmail.com> * ldlang.c (lang_leave_output_section_statement): Don't copy previous lma_region if given address. 2011-05-13 Bernd Schmidt <bernds@codesourcery.com> (eelf32_tic6x_linux_be.c, eelf32_tic6x_linux_le.c, eelf32_tic6x_elf_be.c, eelf32_tic6x_elf_le.c): New rules. * Makefile.am (ALL_EMULATIONS): Add these files. (eelf32_tic6x_be.c, eelf32_tic6x_le.c): Depend on tic6xdsbt.em. * Makefile.in: Regenerated. * emultempl/tic6xdsbt.em (is_tic6x_target): Allow more tic6x target vectors. * emulparams/elf32_tic6x_elf_be.sh: New file. * emulparams/elf32_tic6x_elf_le.sh: New file. * emulparams/elf32_tic6x_linux_be.sh: New file. * emulparams/elf32_tic6x_linux_le.sh: New file. * configure.tgt (tic6x-*-elf, tic6x-*-uclinux): New. (tic6x-*-*): Replaced by these. 2011-05-13 Jan Beulich <jbeulich@novell.com> * configure.tgt: Add targets x86_64-*-pe and x86_64-*-pep. 2011-05-09 Paul Brook <paul@codesourcery.com> * emultempl/tic6xdsbt.em (merge_exidx_entries): New. (compare_output_sec_vma): New function. (gld${EMULATION_NAME}_after_allocation): New function. (OPTION_NO_MERGE_EXIDX_ENTRIES): Define. (PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES. (LDEMUL_AFTER_ALLOCATION): Set. * ld.texinfo: Document c6x --no-merge-exidx-entries. 2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> PR ld/12365 * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition. (__rt_psrelocs_end): Likewise. (__rt_psrelocs_size): Likewise difference between the above. (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section immediately after end of pseudo-reloc data. (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise. (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and calculate backward from list end. (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise. * scripttempl/pep.sc: Likewise. 2011-05-06 Tristan Gingold <gingold@adacore.com> * scripttempl/alphavms.sc (CODE): Add *$CODE*. 2011-05-04 Tristan Gingold <gingold@adacore.com> * emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Add LDEMUL_ADD_OPTIONS and LDEMUL_HANDLE_OPTION. * emultempl/vms.em (OPTION_IDENTIFICATION): New macro. (gld${EMULATION_NAME}_add_options): New function. (gld${EMULATION_NAME}_list_options): Ditto. (gld${EMULATION_NAME}_handle_option): Ditto. (LDEMUL_ADD_OPTIONS, LDEMUL_HANDLE_OPTION) (LDEMUL_LIST_OPTIONS): Define. 2011-05-04 Alan Modra <amodra@gmail.com> PR ld/12726 * ldexp.h (lang_phase_type): Add lang_assigning_phase_enum. * ldexp.c (exp_fold_tree_1): Correct assign to dot comment. Don't assign to dot when lang_assigning_phase_enum. * ldlang.h (lang_do_assignments): Update prototype. * ldlang.c (lang_do_assignments): Add phase parameter. Update all callers. * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update lang_do_assignments calls. 2011-04-28 Daniel C. Klauer <daniel.c.klauer@web.de> PR ld/12614 * emultempl/pe.em (_after_open): Correctly check whether symbol is in undef list. 2011-04-26 Kai Tietz <ktietz@redhat.com> * scripttempl/pe.sc: Handle .eh_frame($|.)* sections. * scripttempl/pep.sc: Likewise. 2011-04-24 Alan Modra <amodra@gmail.com> PR ld/12365 PR ld/12696 * ldmain.c (notice): Delete "name" param, add "h". * plugin.c (plugin_notice): Likewise. Set non_ir_ref. Handle redefinitions of IR symbols in real BFDs. (plugin_multiple_definition, plugin_multiple_common): Delete. (non_ironly_hash, init_non_ironly_hash): Delete. (is_visible_from_outside): Traverse entry_symbol chain. (get_symbols): Use non_ir_ref flag rather than hash lookup. 2011-04-21 Tristan Gingold <gingold@adacore.com> * scripttempl/alphavms.sc: Add dwarf2 embedding marks. 2011-04-20 Tristan Gingold <gingold@adacore.com> * emultempl/aix.em (_add_options): Ignore -bbigtoc switch. 2011-04-20 Alan Modra <amodra@gmail.com> * ld.h (ld_config_type <hash_table_size>): Make it an unsigned long. 2011-04-20 Alan Modra <amodra@gmail.com> PR ld/12365 * ldfile.c (ldfile_try_open_bfd): Move code creating and switching to plugin IR BFD.. * ldmain.c (add_archive_element): ..and similar code here.. * plugin.c (plugin_maybe_claim): ..to here. New function. (plugin_call_claim_file): Make static. (asymbol_from_plugin_symbol): Set ELF st_shndx for common syms. (plugin_multiple_common): New function. (plugin_call_all_symbols_read): Hook in plugin_multiple_common. * plugin.h (plugin_call_claim_file): Don't declare. (plugin_maybe_claim): Declare. 2011-04-20 Alan Modra <amodra@gmail.com> PR ld/12365 * ldmain.c (multiple_definition): Take a bfd_link_hash_entry pointer arg rather than "name", "obfd", "osec", "oval". Add code removed from linker.c. Hack around xcofflink.c oddity in passing NULL nbfd. (multiple_common): Similarly. * plugin.c (orig_allow_multiple_defs): Delete. (plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition. (plugin_multiple_definition): Update. 2011-04-18 Kai Tietz <ktietz@redhat.com> * deffilep.y (def_aligncomm): Avoid duplets. * deffilep.y (def_pool_str): New type. (pool_strs): Local static. (def_pool_alloc): Local function. (def_pool_strdup): Likewise. (def_pool_free): Likewise. (opt_name): Replace xmalloc/xstrdup by def_pool_alloc/def_pool_strdup. (dot_name): Likewise. (anylang_id): Likewise. (def_lex): Likewise. (def_file_parse): Call def_pool_free on exit and cleanup directives elements. (def_file_add_directive): Call def_pool_free. 2011-04-18 Paul Brook <paul@codesourcery.com> * emulparams/elf32_tic6x_le.sh: Define OTHER_READONLY_SECTIONS for unwinding tables. 2011-04-18 Alan Modra <amodra@gmail.com> PR ld/12365 PR ld/12672 * ldfile.c (ldfile_try_open_bfd): Don't attempt any plugin action when no_more_claiming. * ldmain.c (add_archive_element): Likewise. (multiple_definition): Remove plugin_multiple_definition call. (notice): Remove plugin_notice call. * ldlang.c (lang_list_insert_after, void lang_list_remove_tail): Move. Delete prototype. (plugin_insert): New static var. (open_input_bfds): Only rescan libs after plugin insert point. (lang_gc_sections): Omit plugin claimed files. (lang_process): Set plugin_insert. Only rescan when plugin adds objects. * plugin.h (no_more_claiming): Declare. (plugin_notice, plugin_multiple_definition): Don't declare. * plugin.c: Formatting. (orig_notice_all, orig_allow_multiple_defs, orig_callbacks, plugin_callbacks): New static vars. (no_more_claiming): Make global. (plugin_cached_allow_multiple_defs): Delete. (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section, use newer bfd_make_section variant. Make COMMON section too. Error handling. Correct setting of gp size. (asymbol_from_plugin_symbol): Properly cast last arg of concat. (message): Likewise for ACONCAT. (asymbol_from_plugin_symbol): Use our COMMON section. (get_symbols): When report_plugin_symbols, show visibility too. (init_non_ironly_hash): Move. Don't test non_ironly_hash. (plugin_load_plugins): Save state of linker callbacks, set up to call plugin_notice instead. Call init_non_ironly_hash here. (plugin_call_all_symbols_read): Set plugin_multiple_definition in plugin callbacks. (plugin_notice): Rewrite. (plugin_multiple_definition): Make static, call original callback. 2011-04-15 Alan Modra <amodra@gmail.com> PR ld/12672 * ldlang.c (enum open_bfd_mode): New. (open_input_bfds): Replace "force" param with "mode". Reload archives for rescan. Update all callers. (lang_process): Make another open_input_bfds pass for plugins. 2011-04-13 Kai Tietz <ktietz@redhat.com> PR binutils/12658 * deffile.h (def_file_add_export): Add is_dup argument. (def_file_add_import): Likewise. * deffilep.y (are_names_equal): New helper. (cmp_export_elem): New helper. (find_export_in_list): Add search routine for exports. (def_file_add_export): Check for duplicates. (cmp_import_elem): New helper. (find_import_in_list): Add search routine for imports. (def_file_add_import): Check for duplicates. (def_exports): Handle duplicates. (def_imports): Likewise. * pe-dll.c (process_def_file_and_drectve): Likewise. (pe_implied_import_dll): Likewise. 2011-04-11 Chris Quenelle <chris.quenelle@oracle.com> * scripttempl/elf.sc (.exception_ranges): Add new section. 2011-04-08 Hector Oron <hector.oron@gmail.com> PR ld/12643 * configure.tgt: Add support for arm-*-gnueabihf targets. 2011-04-07 Eric B. Weddington <eric.weddington@atmel.com> * Makefile.in: Regenerate. Remove stray eavrtiny10 rules. 2011-04-07 Joseph Myers <joseph@codesourcery.com> * configure.tgt: Remove stray ;;. 2011-04-06 Joseph Myers <joseph@codesourcery.com> * configure.tgt (thumb-*-linux-* | thumb-*-uclinux*, strongarm-*-coff, strongarm-*-elf, strongarm-*-kaos*, thumb-*-coff, thumb-*-elf, thumb-epoc-pe, thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets. 2011-03-31 H.J. Lu <hongjiu.lu@intel.com> * configure.tgt: Add elf_l1om to targ_extra_libpath for x86_64-*-linux-*. * emulparams/elf_l1om.sh: Remove duplicates. 2011-03-31 Bernd Schmidt <bernds@codesourcery.com> * emulparams/elf32_tic6x_le.sh (BIG_OUTPUT_FORMAT, EXTRA_EM_FILE, GENERATE_SHLIB_SCRIPT): New defines. (TEXT_START_ADDR): Define differently depending on target. (.got): Redefine to include "*(.dsbt)". (SDATA_START_SYMBOLS): Remove, replace with (OTHER_GOT_SYMBOLS): New. (OTHER_BSS_SECTIONS): Define only for ELF targets. * emultempl/tic6xdsbt.em: New file. * gen-doc.texi: Set C6X. * ld.texinfo: Likewise. (Options specific to C6X uClinux targets): New section. 2011-03-29 Alan Modra <amodra@gmail.com> PR ld/12613 * ldlex.l (lex_warn_invalid): Don't assume char is unsigned. 2011-03-26 John Marino <binutils@marino.st> * configure.host: Update *-*-dragonfly* host entry. * configure.tgt: Update *-*-dragonfly* target entry. * ldlex.l: Prevent redefinition of YY_NO_UNPUT. 2011-03-28 Joseph Myers <joseph@codesourcery.com> * configure.in: Check for windows.h, not Windows.h. * configure: Regenerate. * plugin.c: Include windows.h, not Windows.h. 2011-03-25 Eric B. Weddington <eric.weddington@atmel.com> * Makefile.in: Regenerate. 2011-03-23 Joseph Myers <joseph@codesourcery.com> * lexsup.c (parse_args): Only set report_plugin_symbols if plugins are enabled. Mark level as possibly unused. 2011-03-22 Eric B. Weddington <eric.weddington@atmel.com> * Makefile.am (ALL_EMULATION_SOURCES): Add AVR XMEGA architectures. (eavrxmega?.c): Likewise. * configure.tgt (targ_extra_emuls): Likewise. * emulparams/avrxmega1.sh: New file. * emulparams/avrxmega2.sh: Likewise. * emulparams/avrxmega3.sh: Likewise. * emulparams/avrxmega4.sh: Likewise. * emulparams/avrxmega5.sh: Likewise. * emulparams/avrxmega6.sh: Likewise. * emulparams/avrxmega7.sh: Likewise. * emultempl/avrelf.em (avr_elf_${EMULATION_NAME}_before_allocation): Add avrxmega6, avrxmega7 to list of architectures for no stubs. 2011-03-21 Eric B. Weddington <eric.weddington@atmel.com> * scripttempl/avr.sc: Add fuse, lock, and signature memory regions. 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check eh->target_internal. 2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> * emultempl/armelf.em (arm_elf_before_allocation): Check dynobj instead of dynamic_sections_created. 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com> * plugin.c (get_symbols): Use wrapped lookup for undefined symbols. 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com> * ldlang.c (lang_check): Don't run checks on dummy IR BFDs. 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com> * ldlang.h (lang_input_statement_type): Add new 'claim_archive' flag, wrapping both it and 'claim' flag in #ifdef ENABLE_PLUGINS. * ldmain.c (add_archive_element): Set it if the member is claimed. * ldlang.c (new_afile): Initialise claim_archive and claimed members. (find_replacements_insert_point): New helper function. (lang_process): After adding and opening replacement files passed from plugin, splice them into correct place in statement list and file chains to preserve critical link order. (lang_list_insert_after): New helper function. (lang_list_remove_tail): Likewise. 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com> * plugin.c (IRONLY_SUFFIX): Revise to nicely human-readable form. (IRONLY_SUFFIX_LEN): Delete. (plugin_get_ir_dummy_bfd): Don't append IRONLY_SUFFIX. (is_ir_dummy_bfd): Don't look for suffix; check claimed flag of enclosing lang input statement instead. 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com> * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Preserve alignment of input sections when creating orphan output sections during relocatable link. * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise. 2011-03-04 H.J. Lu <hongjiu.lu@intel.com> * ld.texinfo: Document --verbose[=NUMBER]. * lexsup.c (ld_options): Update --verbose. (parse_args): Set report_plugin_symbols. * plugin.c (report_plugin_symbols): New. (get_symbols): Report plugin symbols if report_plugin_symbols is TRUE. * plugin.h (report_plugin_symbols): New. 2011-03-01 H.J. Lu <hongjiu.lu@intel.com> PR ld/12529 * testplug.c: Don't include "filenames.h". (onclaim_file): Don't use filename_cmp. 2011-02-28 Kai Tietz <kai.tietz@onevision.com> * emultempl/beos.em (sort_by_file_name): Use filename_(n)cmp. * emultempl/elf32.em (gld${EMULATION_NAME}_vercheck): Likewise. (gld${EMULATION_NAME}_stat_needed): Likewise. (gld${EMULATION_NAME}_check_needed): Likewise. * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. (gld_${EMULATION_NAME}_unrecognized_file): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. (gld_${EMULATION_NAME}_unrecognized_file): Likewise. * ldfile.c (ldfile_open_file): Likewise. * ldlang.c (wild_sort): Likewise. (lookup_name): Likewise. (check_excluded_libs): Likewise. * ldmisc.c (vfinfo): Likewise. * pe-dll.c (libnamencmp): Likewise. (auto_export): Likewise. (pe_dll_generate_implib): Likewise. * testplug.c (onclaim_file): Likewise. 2011-02-24 H.J. Lu <hongjiu.lu@intel.com> PR ld/12507 * plugin.c (get_symbols): Don't check entry symbol here. (init_non_ironly_hash): Add entry_symbol chain into non_ironly_hash. 2011-02-24 H.J. Lu <hongjiu.lu@intel.com> PR ld/12507 * plugin.c (get_symbols): Don't mark entry symbol IR only. 2011-02-18 John David Anglin <dave.anglin@nrc-cnnrc.gc.ca> PR ld/12376 emulparams/hppalinux.sh (DATA_ADDR): Define. (SHLIB_DATA_ADDR): Likewise. 2011-02-16 H.J. Lu <hongjiu.lu@intel.com> * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX): Changed to x32 for x32. 2011-02-15 Kai Tietz <kai.tietz@onevision.com> * pe-dll.c (process_def_file_and_drectve): Don't strip leading underscore from symbol by calling bfd_find_version_for_sym. 2011-02-14 Mike Frysinger <vapier@gentoo.org> * ldlang.c (lang_vers_match): Declare a new c_sym, assign it to the bfd_demangle of sym, change users of sym to c_sym when not already demangling, and free when done. Change callers of cplus_demangle to bfd_demangle. 2011-02-14 Alan Modra <amodra@gmail.com> * plugin.c (plugin_get_ir_dummy_bfd): Set SEC_EXCLUDE on dummy .text section, use newer bfd_make_section variant. Error handling. Correct setting of gp size. (asymbol_from_plugin_symbol): Properly cast last arg of concat. (message): Likewise for ACONCAT. (get_symbols): Formatting. 2011-02-14 Alan Modra <amodra@gmail.com> * ldmain.c (remove_output): Rename to.. (ld_cleanup): ..this. Call bfd_cache_close_all and plugin_call_cleanup. (main): Adjust. * plugin.c (plugin_call_cleanup): Make global. (plugin_load_plugins): Don't register plugin_call_cleanup with xatexit. * plugin.h (plugin_call_cleanup): Declare. 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure: Regenerate. 2011-02-10 Alan Modra <amodra@gmail.com> * scripttempl/armbpabi.sc: Revert 2010-11-02 H.J. Lu. * scripttempl/avr.sc: Likewise. * scripttempl/elf32cr16.sc: Likewise. * scripttempl/elf32crx.sc: Likewise. * scripttempl/elf32msp430.sc: Likewise. * scripttempl/elf32msp430_3.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elf_chaos.sc: Likewise. * scripttempl/elfd10v.sc: Likewise. * scripttempl/elfd30v.sc: Likewise. * scripttempl/elfi370.sc: Likewise. * scripttempl/elfm68hc11.sc: Likewise. * scripttempl/elfm68hc12.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/ip2k.sc: Likewise. * scripttempl/iq2000.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/mmo.sc: Likewise. * scripttempl/v850.sc: Likewise. * scripttempl/xstormy16.sc: Likewise. * scripttempl/elf.sc: Revert 2010-10-29 H.J. Lu. 2011-01-22 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (CXX): Removed. * configure.in: Add AC_PROG_CXX. * Makefile.in: Regenerated. * configure: Likewise. 2011-01-22 Richard Sandiford <rdsandiford@googlemail.com> * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's private data and GP size. 2011-01-21 Alan Modra <amodra@gmail.com> * ldexp.c (fold_binary): Set result section for arithmetic and logical operations to NULL when both operands are in same section. * ld.texinfo (Expression Section): Describe this. 2011-01-14 Alan Modra <amodra@gmail.com> * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't attempt to put non-alloc orphans before debug sections, just place them after .comment. 2011-01-14 J. Park <grassman@gmail.com> PR ld/12339 * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols. 2011-01-14 Alan Modra <amodra@gmail.com> * Makefile.am: Sort emulation rules. (eelf32am33lin.c): Delete. (ALL_EMULATION_SOURCES): Sort, add missing entries. (ALL_64_EMULATION_SOURCES): Likewise. * Makefile.in: Regenerate. 2011-01-13 Alan Modra <amodra@gmail.com> PR ld/12356 * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE. (Expression Section): Update. * ld.h (ld_config_type): Add sane_expr. * ldgram.y (ifile_p1): Add LD_FEATURE. * ldlex.l (LD_FEATYRE): New. * ldemul.c (after_parse_default): Delete code handling ld_compatibility. * ldexp.h (struct ldexp_control): Delete uses_defined. * ldexp.c: Remove all uses of uses_defined. (fold_name): Test config.sane_expr rather than ld_compatibility. (exp_fold_tree_1): Likewise. Adjust handling of assignments during first phase. * ldlang.h (ld_compatibility): Delete. (lang_ld_feature): Declare. * ldlang.c (ld_compatibility): Delete. (open_input_bfds): Only handle assignments for --defsym. (lang_ld_feature): New function. PR ld/12356 * ldexp.h (exp_assop): Delete. (exp_assign, exp_defsym): Declare. * ldexp.c (exp_assop): Make static, handle all assignment variations. (exp_assign, exp_defsym): New functions. (exp_provide): Use exp_assop. * ldgram.y (defsym_expr): Use exp_defsym. * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em, * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em, * emultempl/xtensaelf.em: Update exp_assop -> exp_assign. 2011-01-12 Alan Modra <amodra@gmail.com> PR ld/12380 * ldexp.h (enum phase_enum): Comment. Add exp_dataseg_done. * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code. Test for exp_dataseg_done rather than expld.phase == lang_final_phase_enum to detect when we've finished sizing sections. (fold_binary <DATA_SEGMENT_ALIGN>): Likewise. (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise. Also test that we are not inside an output section statement. * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if not exp_dataseg_relro_adjust or exp_dataseg_adjust. Don't set lang_final_phase_enum here. (lang_process): Set lang_final_phase_enum here. 2011-01-10 Nick Clifton <nickc@redhat.com> * po/da.po: Updated Danish translation. 2011-01-10 H.J. Lu <hongjiu.lu@intel.com> * ldlang.c (startup_file): Removed. (lang_startup): Updated. 2011-01-05 H.J. Lu <hongjiu.lu@intel.com> PR ld/12364 * plugin.c (get_symbols): Check if owner_sec->owner is NULL before accessing its flags field. 2011-01-01 H.J. Lu <hongjiu.lu@intel.com> * ldver.c (ldversion): Update copyright to 2011. For older changes see ChangeLog-2010 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: