2012-11-05  Alan Modra  <amodra@gmail.com>

	* configure.in: Apply 2012-09-10 change to config.in here.

2012-09-10  Matthias Klose  <doko@ubuntu.com>

	* config.in: Disable sanity check for kfreebsd.

2012-09-10  Hans-Peter Nilsson  <hp@bitrange.com>

	* emultempl/mmo.em (mmo_place_orphan): Rewrite to also attach
	orphan sections to .data and .bss output sections, not just .text.
	When giving up on finding a suitable output section, attach to any
	output section other than .MMIX.reg_contents, if it exists.
	* scripttempl/mmo.sc: Move output debug sections to just before
	.MMIX.reg_contents.  Add .gnu.attributes.  Add new . = . NOP
	assignments and move end-of-section provide-symbols after them
	to force the end-of-section symbols to the address after orphan
	placement.  Add SORT_NONE to .init and .fini sections.

2012-09-10  Maciej W. Rozycki  <macro@codesourcery.com>

	* emulparams/elf32bmip.sh: Make _gp hidden.
	* emulparams/elf32bmipn32-defs.sh: Likewise.
	* emulparams/elf32mipswindiss.sh: Likewise.
	* scripttempl/mips.sc: Likewise.

2012-08-06  Maciej W. Rozycki  <macro@codesourcery.com>

	* ldexp.h (etree_union): Add defsym member to the assign member
	structure.
	(exp_assign): Add hidden argument to prototype.
	* ldexp.c (exp_fold_tree_1): Use the defsym member to handle
	--defsym symbols.
	(exp_assop): Add defsym argument, initialize the defsym member
	of the assign structure.
	(exp_assign): Handle hidden symbols.
	(exp_defsym): Update to use the defsym argument to exp_assop.
	(exp_provide): Update to handle the defsym argument to exp_assop.
	* ldlex.l (HIDDEN): New token.
	* ldgram.y (HIDDEN): Likewise.
	(assignment, section): Update calls to exp_assign.
	* ldctor.c (ldctor_build_sets): Likewise.
	* mri.c (mri_format): Likewise.
	* ldlang.c (lang_insert_orphan, lang_leave_overlay): Likewise.
	(open_input_bfds): Remove --defsym symbols special case.
	* emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Update
	call to exp_assign.
	* emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
	* emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
	* emultempl/spuelf.em (spu_place_special_section): Likewise.
	* emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets):
	Likewise.
	* ld.texinfo (Assigning Values to Symbols): Add HIDDEN.
	(HIDDEN): New subsection.

2012-08-13  Ian Bolton  <ian.bolton@arm.com>
            Laurent Desnogues  <laurent.desnogues@arm.com>
            Jim MacArthur  <jim.macarthur@arm.com>
            Marcus Shawcroft  <marcus.shawcroft@arm.com>
            Nigel Stephens  <nigel.stephens@arm.com>
            Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Richard Earnshaw  <rearnsha@arm.com>
            Sofiane Naci  <sofiane.naci@arm.com>
            Tejas Belagod  <tejas.belagod@arm.com>
            Yufeng Zhang  <yufeng.zhang@arm.com>

	* Makefile.am: Add AArch64.
	* Makefile.in: Regenerate.
	* configure.tgt: Add AArch64.
	* emulparams/aarch64elf.sh: New file.
	* emulparams/aarch64elfb.sh: New file.
	* emulparams/aarch64linux.sh: New file.
	* emulparams/aarch64linuxb.sh: New file.
	* emultempl/aarch64elf.em: New file.
	* NEWS: Mention the new feature.

2012-08-14  Nick Clifton  <nickc@redhat.com>

	* configure.in (ALL_LINGUGAS): Add uk.
	* configure: Regenerate.
	* po/uk.po: New Ukranian translation.

2012-08-09  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2012-08-07  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.

2012-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline
	2012-07-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/14156
	* ldlang.c (wild_sort): Properly handle by_none.

	* scripttempl/elf.sc: Add SORT_NONE to .init and .fini sections.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

2012-07-30  Nick Clifton  <nickc@redhat.com>

	* po/ld.pot: Updated template.
	* po/bg.po: Updated Bulgarian translation.
	* po/es.po: Updated Spanish translation.
	* po/fi.po: Updated Finnish translation.

2012-07-27  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.23.

2012-07-24  Jan Waclawek <konfera@efton.sk>

	PR ld/14058
	* emultempl/avrelf.em (avr_elf_after_allocation): Call
	elf32_avr_size_stubs with is_prealloc_run as TRUE.

2012-07-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* emulparams/elf_s390.sh (IREL_IN_PLT): Define.
	* emulparams/elf64_s390.sh (IREL_IN_PLT): Define.

2012-07-13  Nick Clifton  <nickc@redhat.com>

	PR ld/14357
	* ldmain.c (trace_file_tries): Rename to 'verbose'.
	* ldfile.c: Likewise.
	* ldlang.c: Likewise.
	* ldmain.h: Likewise.
	* lexsup.c: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultemp/spuelf.em: Likewise.
	* pe-dll.c (pe_dll_generate_implib): Only print creation message
	in verbose mode.

2012-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/14156
	* NEWS: Mention SORT_NONE.

	* ld.h (sort_type): Add by_none.

	* ld.texinfo: Document SORT_NONE.

	* ldgram.y: Handle SORT_NONE.

	* ldlang.c (update_wild_statements): Handle by_none.  Don't
	sort .init/.fini sections.

	* ldlex.l: Add SORT_NONE.

2012-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	* ld.texinfo: Replace __end_SECNAME with __stop_SECNAME.

2012-06-29  Nick Clifton  <nickc@redhat.com>

	* scripttempl/alphavms.sc: Add .debug_macro section.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/ia64vms.sc: Likewise.

	* scripttempl/armbpabi.sc: Add .debug_pubtypes, .debug_ranges and
	.debug_macro sections.
	* 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/elfd30v.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfxgate.sc: Likewise.
	* scripttempl/i386beos.sc: Likewise.
	* scripttempl/i386go32.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.

2012-06-28  H.J. Lu  <hongjiu.lu@intel.com>

	* ldlang.c (update_wild_statements): Remove redundant statement.

2012-06-25  Alan Modra  <amodra@gmail.com>

	* ldlang.c (load_symbols): Close file and set flags.loaded
	after parsing script file.
	(open_input_bfds): Don't segv on closed script.

2012-06-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt: Enable elf_k1om for x86_64-*-linux-gnux32.
	Remove x32 in tdir_i386linux and tdir_elf_i386.

2012-06-22  Roland McGrath  <mcgrathr@google.com>

	* NEWS: Mention __ehdr_start.

2012-06-21  Alan Modra  <amodra@gmail.com>

	* ldlang.c (lang_insert_orphan): Don't make __start_<sec> symbol
	absolute, and remove unnecessary alignment.

2012-06-16  Alan Modra  <amodra@gmail.com>

	* ldlang.h (lang_output_section_statement_type): Add after_end field.
	(lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
	(section_for_dot): Declare.
	* ldlang.c (lang_size_sections_1): Correct comment.
	(current_section): Move earlier.
	(current_assign, prefer_next_section): New static vars.
	(lang_do_assignments_1): Add found_end param.  Detect _end
	assignment to set found_end.  Set os->after_end.  Set above statics.
	(lang_do_assignments): Adjust lang_do_assignments_1 call.  Init
	vars.
	(section_for_dot): New function.
	(lang_set_startof): Don't make an absolute symbol.
	(lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
	* ldexp.c (new_rel_from_abs): Use section_for_dot.
	* emultempl/lnk960.em (symbol_at_beginning_of): New function.
	(symbol_at_end_of): Likewise.
	(lnk960_after_allocation): Use them.
	* scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and
	likewise before __bss_start.

2012-06-14  H.J. Lu  <hongjiu.lu@intel.com>

	* plugin.c (set_tv_header): Handle link_info.pie.

2012-06-11  Alan Modra  <amodra@gmail.com>

	PR ld/14215
	* ldexp.c (fold_name <SIZEOF, ALIGNOF>): Allow forward section
	references.
	* emulparams/elf32_x86_64.sh (SEPARATE_GOTPLT): Depend on size of
	.got.plt.
	* emulparams/elf32mb_linux.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf32tilegx.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf32tilepro.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf64tilegx.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf_i386.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf_k1om.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf_l1om.sh (SEPARATE_GOTPLT): Likewise.
	* emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Likewise.

2012-06-07  Georg-Johann Lay  <avr@gjlay.de>

	PR 13697
	* scripttempl/avr.sc (.data): Keep it.

2012-06-02  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile.am (TEXINFO_TEX): Remove $(top_srcdir) prefix.
	* Makefile.in: Regenerate.

2012-05-30  Alan Modra  <amodra@gmail.com>

	* ldlang.h (lang_output_section_statement_type): Rename
	"section_relative_symbol" field to "update_dot".
	* ldlang.c: Update all uses.
	(strip_excluded_output_sections): Don't test update_dot_tree here..
	(lang_leave_overlay): ..set update_dot here.

2012-05-26  Alan Modra  <amodra@gmail.com>

	* ldlex.h (enum option_values): Move from..
	* lexsup.c: ..here.
	* emultempl/ppc32elf.em: Include ldlex.h.
	(PARSE_AND_LIST_ARGS_CASES): Disable optimisations when
	--traditional-format.
	* emultempl/ppc64elf.em: Likewise.

2012-05-25  Alan Modra  <amodra@gmail.com>

	PR ld/13909
	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Handle
	multiple .eh_frame sections attached to bfd.

2012-05-23  Cary Coutant  <ccoutant@google.com>

	* scripttempl/armbpabi.sc: Match .data.rel.ro.* sections more
	carefully.  Fix typo where .rela.data.rel.ro matches
	.rel.data.rel.ro.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/elf.sc: Match .data.rel.ro.* sections more carefully.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.

2012-05-17  Daniel Richard G.  <skunk@iskunk.org>
	    Nick Clifton  <nickc@redhat.com>

	PR 14072
	* configure.in: Add check that sysdep.h has been included before
	any system header files.
	* configure: Regenerate.
	* config.in: Regenerate.
	* sysdep.h: Generate an error if included before config.h.

2012-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>

	* emultempl/m68hc1xelf.em (hook_in_stub): Pass proper `bfd'
	as the first argument for `bfd_get_section_name'.

2012-05-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	PR ld/14069
	* emultempl/elf32.em: Include *-*-gnu* targets in ld.so.conf
	support.

2012-05-15  James Murray <jsm@jsm-net.demon.co.uk>

	* NEWS: Mention the support for S12X processors.

2012-05-14  James Lemke  <jwlemke@codesourcery.com>

	* ldlang.c (walk_wild_consider_section): Don't copy section_flag_list.
	Pass it to callback.
	(walk_wild_section_general): Pass section_flag_list to callback.
	(lang_add_section): Add sflag_list parm.
	Move out logic to keep / omit a section & call bfd_lookup_section_flags.
	(output_section_callback_fast): Add sflag_list parm.
	Add new parm to lang_add_section calls.
	(output_section_callback): Likewise.
	(check_section_callback): Add sflag_list parm.
	(lang_place_orphans): Add new parm to lang_add_section calls.
	(gc_section_callback): Add sflag_list parm.
	(find_relro_section_callback): Likewise.
	* ldlang.h (callback_t): Add flag_info parm.
	(lang_add_section): Add sflag_list parm.
	* emultempl/armelf.em (elf32_arm_add_stub_section):
	Add lang_add_section parm.
	* emultempl/beos.em (gld*_place_orphan): Likewise.
	* emultempl/elf32.em (gld*_place_orphan): Likewise.
	* emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
	* emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
	* emultempl/mipself.em (mips_add_stub_section): Likewise.
	* emultempl/mmo.em (mmo_place_orphan): Likewise.
	* emultempl/pe.em (gld_*_place_orphan): Likewise.
	* emultempl/pep.em (gld_*_place_orphan): Likewise.
	* emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
	* emultempl/spuelf.em (spu_place_special_section): Likewise.
	* emultempl/vms.em (vms_place_orphan): Likewise.

2012-05-14  Catherine Moore  <clm@codesourcery.com>

	* NEWS:  Mention PowerPC VLE port.

2012-05-11  Daniel Richard G.  <skunk@iskunk.org>

	PR binutils/14028
	* configure.in: Invoke ACX_HEADER_STRING.
	* configure: Regenerate.
	* config.in: Regenerate.
	* sysdep.h: If STRINGS_WITH_STRING is defined then include both
	string.h and strings.h.

2012-05-08  Alan Modra  <amodra@gmail.com>

	* Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
	LC and LANG environment vars.
	* Makefile.in: Regenerate.

2012-05-07  Tristan Gingold  <gingold@adacore.com>

	* pe-dll.c (udef_table): Make it static.

2012-05-05  Alan Modra  <amodra@gmail.com>

	* pe-dll.c (process_def_file_and_drectve): Use bfd_und_section_ptr.
	(generate_reloc): Use bfd_abs_section_ptr.

2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt: Support x86_64-*-linux-gnux32.

2012-05-03  Sean Keys  <skeys@ipdatasys.com>

	* Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
	and XGATE (elf).
	* Makefile.in: Rebuild.
	* configure.tgt: Recognize XGATE.
	* scripttempl/elfxgate.sc: New file, mostly cloned from m68hc12.
	* emulparams/xgateelf: New emulation, mostly cloned from m68hc12.
	* NEWS: Mention new support.

2012-04-26  Hans-Peter Nilsson  <hp@axis.com>

	Make bfd asserts cause linker errors.
	* ldmain.c (default_bfd_assert_handler): New variable.
	(ld_bfd_assert_handler): New function.
	(main): Call bfd_set_assert_handler.

2012-04-24  Alan Modra  <amodra@gmail.com>

	* ldlang.c (size_input_section): Use sec_info_type rather than
	usrdata->flags.just_syms.
	* ldwrite.c (build_link_order): Likewise.
	* emultempl/hppaelf.em (build_section_lists): Likewise.
	* emultempl/ppc64elf.em (build_toc_list): Likewise.
	* emultempl/armelf.em (build_section_lists): Likewise.
	(after_allocation): Update for renamed sec_info_type value.
	* emultempl/tic6xdsbt.em: Likewise.

2012-04-12  Roland McGrath  <mcgrathr@google.com>

	* configure.tgt (arm*-*-nacl*, arm*b-*-nacl*): Handle them.
	* emulparams/armelf_nacl.sh: New file.
	* emulparams/armelfb_nacl.sh: New file.
	* Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_nacl.c
	and earmelfb_nacl.c here.
	(earmelf_nacl.c, earmelfb_nacl.c): New targets.
	* Makefile.in: Regenerated.

2012-04-11  Tristan Gingold  <gingold@adacore.com>

	* scripttempl/ia64vms.sc: New file.
	* emultempl/vms.em (_before_parse): Support for ia64.
	(elf64-ia64-vms): New fragment for ia64.
	* emulparams/elf64_ia64_vms.sh: New file.
	* configure.tgt (ia64-*-*vms*): Add.
	* Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf64_ia64_vms.c
	(eelf64_ia64_vms.c): New rule.
	* Makefile.in: Regenerate.

2012-04-06  Roland McGrath  <mcgrathr@google.com>

	* configure.in (AC_CHECK_HEADERS): Add locale.h.
	* config.in: Regenerate.
	* configure: Regenerate.

2012-04-05  Nick Clifton  <nickc@redhat.com>

	* configure.in (AC_CHECK_FUNCS): Add setlocale.
	(AM_LC_MESSAGES): Add.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.

2012-04-03  Roland McGrath  <mcgrathr@google.com>

	* configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them.
	* emulparams/elf_nacl.sh: New file.
	* emulparams/elf_i386_nacl.sh: New file.
	* emulparams/elf32_x86_64_nacl.sh: New file.
	* emulparams/elf_x86_64_nacl.sh: New file.
	* Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here.
	(ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and
	eelf_x86_64_nacl.c here.
	(eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c):
	New targets.
	* Makefile.in: Regenerated.

	* scripttempl/elf.sc: Handle SEPARATE_CODE cases.

2012-04-02  Mike Frysinger  <vapier@gentoo.org>

	* ldmisc.c (vfinfo): Assign new local str to fmt.  Delete
	putc call.  If str and fmt are different, call fwrite on
	the difference.

2012-03-30  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2012-03-27  Roland McGrath  <mcgrathr@google.com>

	* configure.in: Set want64 on a 64-bit host regardless of
	--enable-targets=all.
	* configure: Regenerated.

2012-03-26  Tristan Gingold  <gingold@adacore.com>

	* lexsup.c (parse_args): Add a missing '\n'.

2012-03-25  Alan Modra  <amodra@gmail.com>

	* ldemul.c (before_allocation_default): Revert last change.
	* ldlang.c (lang_add_section): Likewise.
	(strip_excluded_output_sections): Don't strip output sections with
	user input sections when emitrelocations, unless all are SEC_EXCLUDE.

2012-03-23  Alan Modra  <amodra@gmail.com>

	* ldemul.c (before_allocation_default): When emitrelocations,
	don't strip sections..
	* ldlang.c (lang_add_section): ..and don't set up map_head, map_tail.

2012-03-14  Kai Tietz  <ktietz@redhat.com>
	    Pascal Obry  <pascal@obry.net>

	* pe-dll.c (found_sym): New static variable.
	(undef_count): Likewise.
	(key_value): New structure.
	(undef_sort_cmp): Compare routine for qsort/bsearch.
	(pe_find_cdecl_alias_match): Add new argument.
	(pe_undef_alias_cdecl_match): Removed.
	(pe_undef_count): New helper routine.
	(pe_create_undef_table): Likewise.
	(pe_process_import_defs): Use pe_create_undef_table and
	new pe_undef_alias_cdecl_match function.

2012-03-14  Alan Modra  <amodra@gmail.com>

	PR ld/13839
	* ldexp.c (fold_name): Ignore undefined symbols when assigning to
	dot in mark phase.
	(exp_fold_tree_1): Evaluate assignment to dot expressions even when
	discarding result, for side effects.  Fix typo in error message.

2012-03-08  Tristan Gingold  <gingold@adacore.com>

	* ldexp.c (exp_print_tree): Special case for SEGMENT_START.
	(exp_print_token): Constify.

2012-03-08  Alan Modra  <amodra@gmail.com>

	PR ld/10340
	* ldfile.c (is_sysrooted_pathname): Remove notsame param.
	(ldfile_add_library_path): Don't set sysrooted flag.
	(ldfile_open_file_search): Likewise, and don't copy them.
	(try_open): Delete exten and code handling such.  Add sysrooted
	param and return whether path is in sysroot.
	(ldfile_find_command_file): Delete extend param.  Add sysrooted
	param.  Rename local var.  Update try_open calls.
	(ldfile_open_command_file_1): Pass sysrooted to lex_push_file.
	* ldfile.h (search_dirs_type): Remove sysrooted field.
	* ldlang.c (new_afile): Always set sysrooted from input_flags.
	(load_symbols): Don't set input_flags.sysrooted.
	* ldlang.h (struct lang_input_statement_flags): Revise sysrooted
	comment.
	* ldlex.h (lex_push_file): Update prototype.
	* ldlex.l (sysrooted_stack): New array.
	(EOF): Pop input_flags.sysrooted.
	(lex_push_file): Add sysrooted param.  Save and set
	input_flags.sysrooted.

2012-03-06  Alan Modra  <amodra@gmail.com>

	* ldlang.h (struct lang_input_statement_flags): New, extract from..
	(lang_input_statement_type): ..here.  New field "flags".
	(input_flags): Declare.
	(missing_file): Delete.
	* ldmain.h (whole_archive): Delete.
	(add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
	* ld.h (ld_config_type <dynamic_link>): Delete.
	* ldmain.c (whole_archive): Delete.
	(add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
	* ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
	(input_flags): New variable.  Replace all uses of config.dynamic_link,
	missing_file, ldlang_sysrooted_script, whole_archive,
	add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
	from here.
	* ldfile.c: Likewise.
	* ldgram.y: Likewise.
	* ldmain.c: Likewise.
	* ldwrite.c: Likewise.
	* lexsup.c: Likewise.
	* plugin.c: Likewise.
	* emultempl/aix.em: Likewise.
	* emultempl/armelf.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/pep.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/scoreelf.em: Likewise.
	* emultempl/spuelf.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/vms.em: Likewise.
	* ldlang.c (new_afile): Use memset to init zero fields.
	(load_symbols): Simplify save and restore of flags around command
	file processing.
	* ldfile.c (is_sysrooted_pathname): Tidy.

2012-03-05  Hans-Peter Nilsson  <hp@axis.com>

	* configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*)
	(mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by
	replacing trailing "-*" with "*".

2012-02-25  Walter Lee  <walt@tilera.com>

	* Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx_be.c.
	(ALL_64_EMULATION_SOURCES): Add eelf64tilegx_be.c.
	(eelf32tilegx_be.c): Add rule to build this file.
	(eelf64tilegx_be.c): Ditto.
	* Makefile.in: Regenerate.
	* configure.tgt (tilegx-*-*): Support big endian.
	(tilegxbe-*-*): New.
	* emulparams/elf32tilegx.sh (OUTPUT_FORMAT): Rename.
	(BIG_OUTPUT_FORMAT): Define.
	(LITTLE_OUTPUT_FORMAT): Define.
	* emulparams/elf32tilegx_be.sh: New.
	* emulparams/elf64tilegx.sh (OUTPUT_FORMAT): Rename.
	(BIG_OUTPUT_FORMAT): Define.
	(LITTLE_OUTPUT_FORMAT): Define.
	* emulparams/elf64tilegx_be.sh: New.

2012-02-24  Kai Tietz  <ktietz@redhat.com>

	PR binutils/13710
	* deffilep.y (keyword_as_name): Disable LIBRARY
	keyword.

2012-02-22  Alan Modra  <amodra@gmail.com>

	PR ld/13683
	* ldlang.c (lang_process): Rerun lang_do_assignments before
	starting garbage collection.
	* ldexp.c (fold_name): Generate a reloc for defined symbols
	found without an associated output section during the mark phase.
	(exp_fold_tree_1): Continue processing an expression, even if we
	are unable to fold it, if we are in the first two evaluation
	phases.
	* ldexp.h (enum lang_phase_type): Add descriptions of the phases.

2012-02-19  Kai Tietz  <ktietz@redhat.com>

	* deffilep.y (cmp_import_elem): Sort first by module name.
	* pe-dll.c (process_def_file_and_drectve): Free strings
	from removed export-element.
	(add_bfd_to_link): Optimize loop on import-elements and lower
	allocated memory.
	(pe_implied_import_dll): Pass NULL instead of 0 for pointer
	argument.

2012-02-18  Hans-Peter Nilsson  <hp@axis.com>

	* ldmisc.c (vfinfo <%S>): Use same type and avoid cast for
	temporary variable node used for NULL argument.

2012-02-18  Alan Modra  <amodra@gmail.com>

	PR ld/13343
	* ld.h (parsing_defsym): Delete.
	* ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
	(fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
	exp_get_abs_int): Add tree arg for %S in error messages.  Don't
	fudge lineno.
	(exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
	type.filename from sub-tree.
	(exp_trinop): Likewise, and use "cond" rather than "lhs".
	* ldexp.h (node_type): Add filename field to struct.
	* ldfile.c (ldfile_input_filename): Delete.  Remove all refs.
	* ldfile.h (ldfile_input_filename): Delete.
	* ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
	%S in error messages.
	* ldemul.c (syslib_default, hll_default): Likewise.
	* ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
	lang_get_regions, lang_new_phdr): Likewise.
	(lang_size_sections_1): Pass addr_tree for %S.
	* ldlex.h (lex_redirect): Update prototype.
	(ldlex_filename): Declare.
	* ldlex.l (<EOF>): Don't set ldfile_input_filename.
	(lex_redirect): Add fake_filename and count params.  Push
	fake_filename to file_name_stack and init lineno from count.
	(ldlex_filename): New function.
	(lex_warn_invalid): Use above.
	* ldmain.c (main): Update lex_redirect call.
	* ldmisc.c (vfinfo <%S>): Take file name and line number from
	etree_type arg, or use current if arg is NULL.
	* lexsup.c (parsing_defsym): Delete.
	(parse_args <OPTION_DEFSYM>): Update lex_redirect call.

2012-02-13  Kai Tietz  <ktietz@redhat.com>

	* deffilep.y (find_export_in_list): Set is_indent for
	first or last element, if identical.
	(find_import_in_list): Likewise.

2012-02-11  Kai Tietz  <ktietz@redhat.com>

	* deffilep.y (%union): New type id_const.
	(opt_name2): New rule.
	(keyword_as_name): New rule.
	(dot_name): Replaced by opt_name2 rule.
	(opt_name): Adjust rule.
	(opt_equal_name): Likewise.

2012-02-11  Pascal Obry  <pascal@obry.net>

	* pe-dll.c (auto_export): Use bsearch to speed up scan of exports
	table.
	(process_def_file_and_drectve): Maintain sorting of exports table
	after stripping leading @ signs.

2012-02-09  Alan Modra  <amodra@gmail.com>

	* ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags.

2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/13616
	* emulparams/elf32_x86_64.sh: Remove NOP.
	* emulparams/elf_i386.sh: Likewise.
	* emulparams/elf_i386_be.sh: Likewise.
	* emulparams/elf_i386_ldso.sh: Likewise.
	* emulparams/elf_i386_vxworks.sh: Likewise.
	* emulparams/elf_k1om.sh: Likewise.
	* emulparams/elf_l1om.sh: Likewise.
	* emulparams/elf_x86_64.sh: Likewise.

	* ldlang.c (zero_fill): Initialized to 0.

	* ldwrite.c (build_link_order): Set data size to linker odrder
	size when they are the same.

	* scripttempl/elf.sc: Don't specify fill if NOP is undefined.

2012-01-17  Alan Modra  <amodra@gmail.com>

	* ldver.c (ldversion): Update copyright message year.

2012-01-15  Alan Modra  <amodra@gmail.com>

	PR ld/12758
	* ldlang.c (lang_process): Don't reopen all files, just those
	newly added by plugin.

2012-01-11  Alan Modra  <amodra@gmail.com>

	* emultempl/ppc64elf.em (PARSE_AND_LIST_PROLOGUE,
	PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
	PARSE_AND_LIST_ARGS_CASES): Handle --{no-,}plt-thread-safe and
	--{no-,}plt-align.
	(plt_thread_safe, plt_stub_align): New vars.
	(gld${EMULATION_NAME}_after_allocation): Pass them to
	ppc64_elf_size_stubs.  Align stub sections according to plt_stub_align.
	* ld.texinfo: Document new command line options, and an old
	undocumented option.

2012-01-09  Roland McGrath  <mcgrathr@google.com>

	* configure.in: Use AM_ZLIB.
	* configure: Regenerated.

For older changes see ChangeLog-2011

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
