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

	* ld.texinfo (Options): Describe -Trodata-segment.
	* ldlex.h (enum option_values): Add OPTION_TRODATA_SEGMENT.
	* lexsup.c (ld_options, parse_args): Handle -Trodata-segment.
	* scripttempl/elf.sc (RODATA_ADDR, SHLIB_RODATA_ADDR): Wrap
	SEGMENT_START("rodata-segment", ...) + SIZEOF_HEADERS around the value.

2012-12-17  Nick Clifton  <nickc@redhat.com>

	* MAINTAINERS: Add copyright notice.
	* Makefile.am: Likewise.
	* NEWS: Likewise.
	* README: Likewise.
	* configure.host: Likewise.
	* configure.in: Likewise.
	* gen-doc.texi: Likewise.
	* h8-doc.texi: Likewise.
	* ldlex-wrapper.c: Likewise.
	* emulparams/README: Likewise.
	* emultempl/README: Likewise.
	* scripttempl/README: Likewise.
	* Makefile.in: Regenerate.

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

	PR ld/14962
	* ldexp.h (struct ldexp_control): Add "assign_name".
	* ldexp.c (fold_name <NAME>): Compare and clear assign_name on match.
	(exp_fold_tree_1): Remove existing code testing for self assignment.
	Instead set and test expld.assign_name.
	* ldlang.c (scan_for_self_assignment): Delete.
	(print_assignment): Instead set and test expld.assign_name.

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

	* emulparams/elf_nacl.sh (nacl_rodata_addr): New shell function.
	(RODATA_ADDR, SHLIB_RODATA_ADDR): Use it to base the calculation
	on SEGMENT_START("text-segment", ...) rather than ... alone.
	* Makefile.am (earmelf_nacl.c, earmelfb_nacl.c): Add missing
	dependency on $(srcdir)/emulparams/elf_nacl.sh.
	* Makefile.in: Regenerate.

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

	PR ld/14915
	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Also
	check DT_NEEDED entries when creating shared object with
	--copy-dt-needed-entries.

2012-12-05  Leif Ekblad  <leif@rdos.net>

	* configure.tgt: Add x86_64-*-rdos.

2012-12-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/14904
	* ldmain.c (main): Don't check plugin_load_plugins return.

	* lexsup.c (parse_args): Don't check plugin_opt_plugin return.

	* plugin.c (dlerror): New.  Defined if HAVE_DLFCN_H isn't
	defined.
	(plugin_opt_plugin): Change return type to void.  Stop on
	dlopen error and report error with dlerror ().
	(plugin_load_plugins): Change return type to void.  Stop on
	dlsym error and report error with dlerror ().  Don't use
	set_plugin_error.
	(plugin_call_cleanup): Issue an error for each plugin.

	* plugin.h (plugin_opt_plugin): Change return type to void.
	(plugin_load_plugins): Likewise.

2012-11-30  Joern Rennecke <joern.rennecke@embecosm.com>

	* scripttempl/epiphany_4x4.sc, emulparams/elf32epiphany_4x4.sh: Add.
	* emultempl/epiphanyelf_4x4.em: Likewise.
	* configure.tgt: Add elf32epiphany_4x4 support.
	* Makefile.am: Likewise.
	* Makefile.in: Regenerate.

2012-11-29  Maciej W. Rozycki  <macro@codesourcery.com>

	* Makefile.in: Regenerate.

2012-11-27  Nick Clifton  <nickc@redhat.com>

	PR ld/14776
	* ld.texinfo: Fix spelling mistakes.

2012-11-26  Roland McGrath  <mcgrathr@google.com>

	* emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
	Copy last elf32.em here too.
	* emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
	* emultempl/mmixelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
	* emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse): Likewise.

2012-11-21  Roland McGrath  <mcgrathr@google.com>

	* ld.h (ld_config_type): New flag member separate_code.
	* emultempl/elf32.em
	(gld${EMULATION_NAME}_before_parse): Set it based on $SEPARATE_CODE.
	* ldlang.c (ldlang_override_segment_assignment): If it's set, then
	always return TRUE when SEC_CODE differs between the sections.

2012-11-20  H.J. Lu  <hongjiu.lu@intel.com>

	* ld.texinfo: Document "-z global".

	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Support
	"-z global".
	(gld${EMULATION_NAME}_list_options): Likewise.

2012-11-15  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Port lib32 arrangement from Debian.
	* emulparams/elf_i386.sh: Include lib32 directories in library search
	path.

2012-11-15  Simon Baldwin  <simonb@google.com>

	* ldmain.c (main): Add start_sbrk set to sbrk(0) on entry.
	On exit, compute data size as the delta between current
	sbrk(0) and start_sbrk.

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

	* emultempl/rxelf.em (no_flag_mismatch_warnings): Initialise to
	true.
	(PARSE_AND_LIST_LONGOPTS): Add flag-mismatch-warnings.
	(PARSE_AND_LIST_ARG_CASES): Add support for
	--flag-mismatch-warnings.

	* Makefile.am: (ALL_EMULATION_SOURCES): Add ev850_rh850.c.
	* Makefile.in: Regenerate.
	* configure.tgt (v850*-*-*): Make v850_rh850 the default
	emulation. Add vanilla v850 as an extra emulation.
	* emulparams/v850_rh850.sh: New file.
	* scripttempl/v850_rh850.sc: New file.

2012-11-09  Edgar E. Iglesias <edgar.iglesias@gmail.com>

	* Makefile.am: Add eelf32microblazeel.c and eelf32mbel_linux.c.
	* Makefile.in: Regenerated.
	* configure.tgt: Add microblazeel and set endian per target.
	* emulparams/elf32mb_linux.sh: Add OUTPUT_FORMAT.
	* emulparams/elf32microblaze.sh: Likewise.
	* emulparams/elf32mbel_linux.sh: New file.
	* emulparams/elf32microblazeel.sh: Likewise.

2012-11-09  H.J. Lu  <hongjiu.lu@intel.com>

	* testplug.c (record_add_file): Remove trailing redundant `;'.

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

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

2012-11-01  Nathan Sidwell  <nathan@codesourcery.com>

	* emultempl/elf32.em: Print stacksize help.

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

	* ldlang.c (insert_pad): Correct output section size calculation.
	(lang_size_sections_1): Likewise for lang_data_statement and
	lang_reloc_statement.

2012-10-29  Alan Modra  <amodra@gmail.com>

	* configure.tgt (powerpcle-pe,winnt,cygwin): Add deffilep.o
	and pe-dll.o.

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

	* ld.h (command_line): Remove
	disable_target_specific_optimizations.
	(RELAXATION_DISABLED_BY_DEFAULT): Removed.
	(RELAXATION_DISABLED_BY_USER): Likewise.
	(RELAXATION_ENABLED): Likewise.
	(DISABLE_RELAXATION): Likewise.
	(ENABLE_RELAXATION): Likewise.

	* ldmain.c (main): Updated.

	* ldmain.h (RELAXATION_DISABLED_BY_DEFAULT): New macro.
	(RELAXATION_DISABLED_BY_USER): Likewise.
	(RELAXATION_ENABLED): Likewise.
	(DISABLE_RELAXATION): Likewise.
	(ENABLE_RELAXATION): Likewise.

2012-10-23  Nathan Sidwell  <nathan@codesourcery.com>

	* ld.texinfo (stack-size): New option.
	* emultempl/elf32.em: Add stack-size option.

2012-10-22  Jan Beich  <jbeich@tormail.org>
	    Alan Modra  <amodra@gmail.com>

	PR ld/14426
	* ldlex.h (option_values): Add OPTION_IGNORE_UNRESOLVED_SYMBOL.
	* lexsup.c (parse_args): Likewise.
	(ld_options): Describe --ignore-unresolved-symbol.
	* ldmain.h (add_ignoresym): Declare.
	* ldmain.c (add_ignoresym): New function, extracted from..
	(undefined_symbol): ..here.  Return if the symbol is in ignore_hash.
	(constructor_callback): Don't use global link_info here.
	(reloc_overflow): Likewise.

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

	* plugin.c (plugin_load_plugins): Warning fix.

2012-10-18  Kai Tietz  <ktietz@redhat.com>

	PR binutils/14067
	* NEWS: Menition new feature.
	* scripttempl/pep.sc: Add zdebug sections.
	* scripttempl/pe.sc: L

2012-09-19  Steve Ellcey  <sellcey@mips.com>

	* configure.tgt: Add mips*-mti-elf* target.

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

	* ld.texinfo (Expression Section): Correct description of
	conversions for a binary operation involving an absolute symbol
	and a number.

2012-09-14  David Edelsohn  <dje.gcc@gmail.com>

	* configure: Regenerate.

2012-09-13  Anthony Green  <green@moxielogic.com>

	* emulparams/elf32moxie.sh (BIG_OUTPUT_FORMAT,
	LITTLE_OUTPUT_FORMAT): Define.
	(OUTPUT_FORMAT): Change to elf32-bigmoxie.
	(EMBEDDED): Define.

2012-09-12  DJ Delorie  <dj@redhat.com>

	* emulparams/elf32rx.sh (OTHER_READONLY_SECTIONS): Add W_* sections.

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

	* config.in: Disable sanity check for kfreebsd.

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

	* configure: Regenerated.

2012-09-10  Iain Sandoe  <iain@codesourcery.com>
	    Alan Modra  <amodra@gmail.com>

	* configure.tgt (powerpc-*-elf, et al): Define targ_extra_libpath.
	Correct whitespace.
	(powerpcle-*-elf, et al): Likewise.  Correct targ_extra_emuls.

2012-09-10  Iain Sandoe  <iain@codesourcery.com>

	* configure.tgt (powerpc-*-elf, et al): Define targ64_extra_emuls
	and targ64_extra_libpath.
	(powerpcle-*-elf, et al): Likewise.

2012-09-09  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-08-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/14525
	* scripttempl/elf.sc: Also provide __executable_start for PIE.

2012-08-17  Kai Tietz  <ktietz@redhat.com>

	PR ld/14326
	* scripttempl/pe.sc: Add _etext symbol.

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

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

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-09  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2012-08-07  Daniel Green  <venix1@gmail.com>

	* scripttempl/pe.sc (R_TLS): Add .tls$AAA and .tls$ZZZ.
	* scripttempl/pep.sc (R_TLS): Add .tls$AAA and .tls$ZZZ.

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

	* po/ja.po: Updated Japanese translation.

2012-08-06  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-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  Mike Frysinger  <vapier@gentoo.org>

	* configure.in (BFD_VERSION): Run bfd/configure --version and
	parse the output of that.
	* configure: Regenerate.

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

Copyright (C) 2012 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
