2009-12-17  Dave Korn  <dave.korn.cygwin@gmail.com>

	* pe-dll.c (generate_reloc): Take account of wrapper options when
	testing if a weak symbol is defined or not, and when it is not,
	consider whether the default value requires a base reloc anyway.

2009-12-17  Dave Korn  <dave.korn.cygwin@gmail.com>

	* deffilep.y (def_file_free): Add missing shadow parameter renaming.
	(def_file_print): Likewise.
	(def_stash_module): Likewise.
	(def_file_add_import): Likewise.

2009-12-11  Nick Clifton  <nickc@redhat.com>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* deffilep.y: Fix shadowed variable warnings.
	* ldlang.c: Likewise.
	* ldmain.c: Likewise.
	* pe-dll.c: Likewise.
	* emultempl/elf32.em: Likewise.

2009-12-09  Alan Modra  <amodra@bigpond.net.au>

	PR ld/11012
	* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Move .rela.opd ..
	(INITIAL_RELOC_SECTIONS): .. to here.  New define.
	* scripttempl/elf.sc: Expand INITIAL_RELOC_SECTIONS.

2009-12-04  Jie Zhang  <jie.zhang@analog.com>

	* ld.texinfo: Make it clear that --nmagic disables linking
	against shared libraries.

2009-11-30  Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

2009-11-30  Alan Modra  <amodra@bigpond.net.au>

	PR ld/11006
	* lexsup.c (parse_args): Allow nested --start-group, --end-group.

2009-11-27  Tristan Gingold  <gingold@adacore.com>

	* pe-dll.c (pe_implied_import_dll): Return early if there is no
	export entries.

2009-11-26  Nick Clifton  <nickc@redhat.com>

	PR ld/10956
	* ld.h (struct args_type): Rename 'relax' field to
	'disable_target_specific_optimizations' and turn it into a
	tri-state variable.
	(RELAXATION_DISABLED_BY_DEFAULT): New macro.
	(RELAXATION_DISABLED_BY_USER): New macro.
	(RELAXATION_ENABLED): New macro.
	(DISABLE_RELAXATION): New macro.
	(ENABLE_RELAXATION): New macro.
	* lexsup (enum option_values): Add OPTION_NO_RELAX.
	(struct ld_options): Add --no-relax.
	(parse_args): Handle OPTION_NO_RELAX.  Use DISABLE_RELAXATION and
	ENABLE_RELAXATION macros.
	* ldlang.c (lang_relax_sections): Use RELAXATION_ENABLED macro.
	(lang_process): Likewise.
	* ldmain.c (main): Initialise
	disable_target_specific_optimizations field.
	(multiple_definition): Use RELAXATION_ENABLED macro.
	* ld.texinfo: Document new command line option.
	* emultempl/alphaelf.em: Remove --no-relax option.
	(before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
	Use ENABLE_RELAXATION macro.
	* emultempl/avrelf.em: (after_allocation): Test RELAXATION_ENABLED
	macro.
	* emultempl/cr16elf.em: Remove --no-relax option.
	(before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
	Use ENABLE_RELAXATION macro.
	* emultempl/crxelf.em: Remove --no-relax option.
	(before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
	Use ENABLE_RELAXATION macro.
	* emultempl/mmix-elfnmmo.em: (before_allocation): Use
	ENABLE_RELAXATION macro.
	* emultempl/needrelax.em: (before_allocation): Use
	ENABLE_RELAXATION macro.
	* emultempl/ppc32elf.em: (before_allocation): Test
	RELAXATION_DISABLED_BY_DEFAULT macro. Use
	ENABLE_RELAXATION macro.
	* emultempl/sh64elf.em: (before_allocation): Test
	RELAXATION_ENABLED macro. Use DISABLE_RELAXATION macro.
	* emultempl/xtensaelf.em: Remove --no-relax option.
	(before_allocation): Test RELAXATION_ENABLED macro.
	Use ENABLE_RELAXATION macro.
	
2009-11-25  Kai Tietz  <kai.tietz@onevision.com>

	* scripttempl/pe.sc: (.note.GNU-stack): Mark as discardable.
	(.gnu.lto_*): Likewise.
	* scripttempl/pep.sc: (.note.GNU-stack): Mark as discardable.
	(.gnu.lto_*): Likewise.

2009-11-23  Paul Brook  <paul@codesourcery.com>

	* ldexp.c: Copy symbol type for simple assignments.

2009-11-20  Thomas Schwinge  <thomas@codesourcery.com>

	* emulparams/armelf.sh (OTHER_READONLY_SECTIONS)
	<__exidx_start, __exidx_end>: Use PROVIDE_HIDDEN.
	* emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS)
	<__exidx_start, __exidx_end>: Likewise.
	* emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS)
	<.ARM.exidx$$Base, __exidx_start, __exidx_end, .ARM.exidx$$Limit>:
	Likewise.

2009-11-19  Matthias Klose  <doko@ubuntu.com>

	PR ld/9863
	* emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
	with __data_start.

2009-11-19  Ben Elliston  <bje@au.ibm.com>

	* ldlex.l: Enable nounput flex option.

2009-11-15  Kai Tietz  <kai.tietz@onevision.com>

	* pe-dll.c (pe_undef_alias_cdecl_match): New function.
	(pe_find_cdecl_alias_match): New function.
	(pe_process_import_defs): Add matching for import symbols
	declared as cdecl for fastcall/stdcall.
	* emultempl/pe.em (pe_undef_cdecl_match): Treat fastcall
	symbols, too.
	(pe_fixup_stdcalls): Likewise.
	(gld_XXX_after_open): Redo scanning for imported
	fastcall/stdcall symbols as cdecl one.
	* emultempl/pep.em (pep_undef_cdecl_match): Treat fastcall
	symbols, too.
	(pep_fixup_stdcalls): Likewise.
	(gld_XXX_after_open): Redo scanning for imported
	fastcall/stdcall symbols as cdecl one.

2009-11-11  Nick Clifton  <nickc@redhat.com>

	* po/id.po: Updated Indonesian translation.

2009-11-11  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* configure.in: Call ACX_LARGEFILE.  Stop calling AC_SYS_LARGEFILE.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2009-11-10  Nick Clifton  <nickc@redhat.com>

	PR ld/10864
	* ld.texinfo (Entry Point): Mention that the default entry symbol
	is not 'start' on some targets.

2009-11-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10912
	* ldmain.c (add_DT_NEEDED_for_dynamic): Default to TRUE.

2009-11-06  Kai Tietz  <kai.tietz@onevision.com>

	* pe.em (DEFAULT_PSEUDO_RELOC_VERSION): New macro.
	(gld_XXX_before_parse): Set pseudo-relocation default
	version to DEFAULT_PSEUDO_RELOC_VERSION.
	(gldXXX_handle_option): Likewise.


2009-11-05  Nick Clifton  <nickc@redhat.com>

	* lexsup.c: Rename --add-needed to --copy-dt-needed-entries.
	* ldlang.h (struct lang_input_statement_struct): Rename add_needed
	to add_DT_NEEDED_for_dynamic.  Rename as_needed to
	add_DT_NEEDED_for_regular.
	* ldlang.c: Likewise.
	* ldlang.h: Likewise.
	* ldlang.c: Use the new variable names.
	* ldgram.y: Likewise.
	* emultempl/elf32.em: Likewise.
	* ld.texinfo: Document the renamed option.  Also mention its
	affect on the resolution of dynamic symbols.
	* NEWS: Mention the changed option name.

2009-11-04  Kai Tietz  <kai.tietz@onevision.com>

	* emulparams/arm_epoc_pe.sh: Remove ENTRY.
	* emulparams/arm_wince_pe.sh: Likewise.
	* emulparams/i386pe.sh: Likewise.
	* emulparams/i386pe_posix.sh: Likewise.
	* emulparams/mcorepe.sh: Likewise.
	* emulparams/mipspe.sh: Likewise.
	* emulparams/ppcpe.sh: Likewise.
	* emulparams/armpe.sh: Likewise.
	* emulparams/i386pep.sh: Likewise.
	* emulparams/shpe.sh: Likewise.
	Additionally cleaned up double-defined
	variables SUBSYSTEM and INITIAL_SYMBOL_CHAR.
	* emultempl/pe.em: Remove use of ENTRY.
	(pe_subsystem): New local variable.
	(gld_XXX_before_parse): Don't set default
	entry point here.
	(set_entry_point): New function to set entry
	point.
	(set_pe_subsystem): Remove code for entry point.
	(gld_XXX_after_parse): Use set_entry_point here.
	* emultempl/pep.em: Likewise.

2009-10-29  Nathan Sidwell  <nathan@codesourcery.com>

	* emulparams/vxworks.sh (OTHER_READONLY_SECTIONS): Move into ...
	(OTHER_READWRITE_SECTIONS): ... here.

2009-10-28  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pep.em (U): Define underscore macro.
	(init): Use for __ImageBase U macro.

2009-10-23  Kai Tietz  <kai.tietz@onevision.com>

	* deffile.h (def_file_export): New member its_name.
	(def_file_import): Likewise.
	(def_file_add_export): Add argument its_name.
	(def_file_add_import): Likewise.
	* deffilep.y (def_exports): Add argument its_name.
	(def_import): Likewise.
	(EQUAL): Add new token for '=='.
	(opt_equalequal_name): New rule.
	(expline): Add rule opt_equalequal_name.
	(impline): Likewise.
	(def_file_free): Free for exports and imports
	the optional member its_name.
	(def_lex): Add scan of '==' as EQUAL.
	* pe-dll.c (pe_export_sort): Sort for its_name too.
	(process_def_file_and_drectve): Adjust calls to
	def_file_add_export.
	(generate_edata): Take its_name in account.
	(make_one): Likewise.
	(pe_process_import_defs): Likewise.
	(pe_dll_generate_def_file): Add print of new '==' option.
	* ld.texinfo: Extend documentation about .def file syntax.
	* NEWS: Mention new feature.

2009-10-23  Kai Tietz  <kai.tietz@onevision.com>

	* deffilep.y (def_lex): Allow '<' and '>' characters in identifier
	strings.

2009-10-23  Ryan Mansfield  <rmansfield@qnx.com>

	PR ld/10489
	* emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
	drive specifiers for DOS based filesystems in rpath-link strings.

2009-10-19  Nick Clifton  <nickc@redhat.com>

	* Makefile.am: Remove spurious sanitization marker.
	* Makefile.in: Regenerate.

2009-10-16  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>

	* emultempl/pe.em (OPTION_EXCLUDE_ALL_SYMBOLS): New macro.
	(gld${EMULATION_NAME}_add_options): Add new --exclude-all-symbols option
	to exclude all symbols from automatic export.
	(gld_${EMULATION_NAME}_list_options): Describe it.
	(gld${EMULATION_NAME}_handle_option): Handle it.
	* emultempl/pep.em: Likewise to all the above.
	* pe-dll.c (pe_dll_exclude_all_symbols): New variable.
	(process_def_file_and_drectve): Use it.
	* pe-dll.h (pe_dll_exclude_all_symbols): Declare.
	* pep-dll.c (pep_dll_exclude_all_symbols): Define pep_ alias.
	* pep-dll.h (pe_dll_exclude_all_symbols): Declare.
	* NEWS: Mention the new feature.
	* ld.texinfo: Document the new command line switch.

2009-10-14  Andreas Schwab  <schwab@linux-m68k.org>

	* ldlex.l (yy_input): Remove second argument and return the value
	instead.
	(YY_INPUT): Adjust.

2009-10-14  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix.

2009-10-14  Ryan Mansfield  <rmansfield@qnx.com>

	* ldlang.c (load_symbols): Set whole_archive from entry when
	parsing a linker script.

2009-10-10  Alan Modra  <amodra@bigpond.net.au>

	* scripttempl/elf32cr16.sc: Revert 2009-09-28 changes.
	* scripttempl/elf32cr16c.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/tic54xcoff.sc: Likewise.
	* scripttempl/aix.sc: Likewise.
	* scripttempl/avr.sc: Likewise.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/nw.sc: Likewise.
	* scripttempl/psos.sc: Likewise.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfmicroblaze.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.

2009-10-09  Alan Modra  <amodra@bigpond.net.au>

	PR ld/10749
	* ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.

2009-10-08  Alan Modra  <amodra@bigpond.net.au>

	PR ld/10744
	* ldlang.c (lang_new_phdr): Allow FILEHDR/PHDRS on more than the
	first PT_LOAD header.
	* ld.texinfo: Update.

2009-10-06  Nathan Sidwell  <nathan@codesourcery.com>

	* ldlang.c (lang_new_phdr): Check PHDRS and FILEHDR in loadable
	segments do not appear after a different loadable segment.
	* ld.texinfo (PHDRS): Document order of processing segments.
	Document where PHDRS and FILEHDR may appear.

2009-10-03  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/ppc32elf.em (emit_stub_syms): Init to -1.
	(ppc_after_open): Set emit_stubs_syms by default when shared.
	(OPTION_NO_STUBSYMS): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
	PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
	* emultempl/ppc64elf.em (emit_stub_syms): Init to -1.
	(gld${EMULATION_NAME}_finish): Set emit_stubs_syms by default.
	(OPTION_NO_STUBSYMS): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
	PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.

2009-09-29  Joel Sherrill <joel.sherrill@oarcorp.com>

	* emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75
	(rts).

2009-09-29  DJ Delorie  <dj@redhat.com>

	* Makefile.am: Add rules to build RX emulation.
	* configure.tgt: Likewise.
	* NEWS: Mention support for RX architecture.
	* Makefile.in: Regenerate.
	* emulparams/elf32rx.sh: New file.
	* emultempl/rxelf.em: New file.

2009-09-29  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (lang_size_sections_1): Allow scripts to specify a
	non-zero vma even when relocatable.

2009-09-28  Alan Modra  <amodra@bigpond.net.au>

	* scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.
	* scripttempl/elf32cr16c.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/tic54xcoff.sc: Likewise.
	* scripttempl/aix.sc: Delete ${RELOCATING-0}.
	* scripttempl/avr.sc: Likewise.
	* scripttempl/elf32msp430.sc: Likewise.
	* scripttempl/elf32msp430_3.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf_chaos.sc: Likewise.
	* scripttempl/elfi370.sc: Likewise.
	* scripttempl/nw.sc: Likewise.
	* scripttempl/psos.sc: Likewise.
	* scripttempl/armbpabi.sc: Delete ${RELOCATING-0} and ${CONSTRUCTING-0}.
	* scripttempl/elf.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/elfd10v.sc: Likewise.
	* scripttempl/elfd30v.sc: Likewise.
	* scripttempl/elfm68hc11.sc: Likewise.
	* scripttempl/elfm68hc12.sc: Likewise.
	* scripttempl/elfmicroblaze.sc: Likewise.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/iq2000.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
	* scripttempl/xstormy16.sc: Likewise.

2009-09-27  Christopher Faylor  <me+cygwin@cgf.cx>

	PR ld/10634
	* ldlang.c (lang_size_sections_1): Always force output vma to zero for
	relocatable sections.
	(lang_size_sections_1): Revert previous COFF-only accommodation for
	relocatable sections.

2009-09-25  Martin Thuresson  <martint@google.com>

	Update sources to make arm targets compile cleanly with
	-Wc++-compat:
	* emultempl/armelf.em: Add casts.

2009-09-23  Matt Rice  <ratmice@gmail.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit,
	--depaudit, and -P options.
	(gld${EULATION_NAME}_handle_options): Ditto.
	(gld${EULATION_NAME}_list_options): Ditto.
	(gld${EMULATION_NAME}_append_to_separated_string): New function for
	handling rpath-like colon separated strings.
	(gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit
	libs to bfd.  Propagate DT_AUDIT from needed libs to depaudit.
	* ld.texinfo: Document new options.

2009-09-23  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2009-09-22  Alan Modra  <amodra@bigpond.net.au>

	* scripttempl/a29k.sc: Delete.
	* scripttempl/ebmon29k.sc: Delete.
	* scripttempl/m68klynx.sc: Delete.
	* scripttempl/sa29200.sc: Delete.
	* scripttempl/sparclynx.sc: Delete.

2009-09-21  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/ppc32elf.em (no_tls_get_addr_opt): New var.
	(ppc_before_allocation): Pass to ppc_elf_tls_setup.
	(OPTION_NO_TLS_GET_ADDR_OPT): Define.  Redefine other options in
	terms of previous option.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
	--no-tls-get-addr-optimize.
	(PARSE_AND_LIST_ARGS_CASES): Handle it.
	* emultempl/ppc64elf.em (no_tls_get_addr_opt): New var.
	(ppc_before_allocation): Pass to ppc64_elf_tls_setup.
	(OPTION_NO_TLS_GET_ADDR_OPT): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
	--no-tls-get-addr-optimize.
	(PARSE_AND_LIST_ARGS_CASES): Handle it.

2009-09-18  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2009-09-13  Alan Modra  <amodra@bigpond.net.au>

	PR ld/6766
	* lexsup.c (parse_args <-e>): Revert 2009-03-18 change.
	* ldemul.c (after_parse_default): Add entry symbol as undef.
	* emultempl/alphaelf.em (alpha_after_parse): Call after_parse_default.
	* emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
	* emultempl/crxelf.em (crxelf_after_parse): Likewise.
	* emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
	* emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise.
	* emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call
	after_parse_default and delete now duplicate code.
	* emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise.
	* scripttempl/elf32cr16.sc: No need to make entry extern.
	* scripttempl/elf32cr16c.sc: Likewise.
	* scripttempl/elf32crx.sc: Likewise.
	* scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link.

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

	* po/ld.pot: Updated by the Translation project.
	* po/fi.po: Updated Finnish translation.

2009-09-11  Martin Thuresson  <martint@google.com>

	Updated sources to compile cleanly with -Wc++-compat:
	* ld.h (enum endian_enum,enum symbolic_enum,enum
	dynamic_list_enum): Move to top level.
	* ldcref.c: Add casts.
	* ldctor.c: Add casts.
	* ldexp.c
	* ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
	* ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead
	of integer.
	* ldlang.h (enum statement_enum): Move to top level.
	* ldmain.c: Add casts.
	* ldwrite.c: Add casts.
	* lexsup.c: Add casts. (enum control_enum): Move to top level.
	* mri.c: Add casts. (mri_draw_tree): Use enum name instead of
	integer.

2009-09-09  Alan Modra  <amodra@bigpond.net.au>

	* scripttempl/aix.sc: Only provide ENTRY on final link.
	* scripttempl/alpha.sc: Likewise.
	* scripttempl/armcoff.sc: Likewise.
	* scripttempl/crisaout.sc: Likewise.
	* scripttempl/delta68.sc: Likewise.
	* scripttempl/ebmon29k.sc: Likewise.
	* scripttempl/elf32xc16x.sc: Likewise.
	* scripttempl/elf32xc16xl.sc: Likewise.
	* scripttempl/elfmicroblaze.sc: Likewise.
	* scripttempl/epocpe.sc: Likewise.
	* scripttempl/h8300.sc: Likewise.
	* scripttempl/h8300h.sc: Likewise.
	* scripttempl/h8300hn.sc: Likewise.
	* scripttempl/h8300s.sc: Likewise.
	* scripttempl/h8300sn.sc: Likewise.
	* scripttempl/h8300sx.sc: Likewise.
	* scripttempl/h8300sxn.sc: Likewise.
	* scripttempl/hppaelf.sc: Likewise.
	* scripttempl/i386beos.sc: Likewise.
	* scripttempl/i386coff.sc: Likewise.
	* scripttempl/i386go32.sc: Likewise.
	* scripttempl/m68kaux.sc: Likewise.
	* scripttempl/m68klynx.sc: Likewise.
	* scripttempl/m88kbcs.sc: Likewise.
	* scripttempl/maxqcoff.sc: Likewise.
	* scripttempl/mcorepe.sc: Likewise.
	* scripttempl/mips.sc: Likewise.
	* scripttempl/ppcpe.sc: Likewise.
	* scripttempl/sa29200.sc: Likewise.
	* scripttempl/sparccoff.sc: Likewise.
	* scripttempl/sparclynx.sc: Likewise.
	* scripttempl/tic4xcoff.sc: Likewise.
	* scripttempl/tic54xcoff.sc: Likewise.
	* scripttempl/tic80coff.sc: Likewise.
	* scripttempl/z8000.sc: Likewise.

2009-09-07  Tristan Gingold  <gingold@adacore.com>

	* po/ld.pot: Regenerate.

2009-09-05  Martin Thuresson  <martin@mtme.org>

	* emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols,
	gld${EMULATION_NAME}_try_needed): Rename variable class to
	link_class.

2009-09-04  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.20.

2009-09-04  Alan Modra  <amodra@bigpond.net.au>

	* scripttempl/elf.sc (.text): Add cold text sections.

2009-09-04  Jie Zhang  <jie.zhang@analog.com>

	* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Add .l2.text
	and .l2.data.

2009-09-03  Dave Korn  <dave.korn.cygwin@gmail.com>

	* scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch
	new GCC hot/cold/unlikely partitions.
	* scripttempl/pep.sc: Likewise.
	* scripttempl/epocpe.sc: Likewise.
	* scripttempl/mcorepe.sc: Likewise.
	* scripttempl/ppcpe.sc: Likewise.

2009-09-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (ldgram.o, ldlex.o, deffilep.o): Supply correct
	source file name for generated files which may be in $(srcdir).
	* Makefile.in: Regenerate.

2009-09-01  H.J. Lu  <hongjiu.lu@intel.com>

	* ldver.c (ldversion): Change to "Copyright 2009".

2009-09-01  Jie Zhang  <jie.zhang@analog.com>

	* scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext,
	_stack and __bss_start.
	* emulparams/bfin.sh (ENTRY): Remove.

2009-08-30  Alan Modra  <amodra@bigpond.net.au>

	PR ld/10569
	* ldexp.c (fold_name <MAXPAGESIZE>): Return config.maxpagesize.
	(fold_name <COMMONPAGESIZE>): Similarly.
	* ldlang.c (output_target): Make global.
	* ldlang.h (output_target): Declare.
	* ldmain.c (main): Set config.maxpagesize from bfd_emul_get_maxpagesize.
	Similarly for config.commonpagesize.
	* ldemul.c (set_output_arch_default): Call bfd_emul_set_maxpagesize
	and bfd_emul_set_commonpagesize.
	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Don't call
	bfd_emul_set_maxpagesize or bfd_emul_set_commonpagesize here.

2009-08-29  Martin Thuresson  <martin@mtme.org>

	* ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop)
	(exp_trinop, exp_unop, exp_nameop, exp_assop): Rename variable new
	to new_e.
	* ldfile.c (ldfile_add_library_path): Rename variable new to
	new_dirs. (ldfile_add_arch): Rename variable new to new_arch.
	* ldlang.c (new_statement, lang_final, lang_add_wild)
	(lang_target, lang_add_fill, lang_add_data, lang_add_assignment)
	(lang_add_insert): Rename variable new to new_stmt. (new_afile):
	Added missing cast. (lang_memory_region_lookup): Rename variable
	new to new_region. (init_os): Rename variable new to
	new_userdata. (lang_add_section): Rename variable new to
	new_section. (ldlang_add_undef): Rename variable new to
	new_undef. (realsymbol): Rename variable new to new_name.

2009-08-26  Nick Clifton  <nickc@redhat.com>

	PR ld/10555
	* emultempl/elf32.em (_after_open): Do not create a
	.note.gnu-build-id section if there are no input files.

2009-08-24  Nick Clifton  <nickc@redhat.com>

	* scripttempl/elfxtensa.sc (DISCARDED): Discard sections with
	.gnu.lto_ prefix.
	* scripttempl/armbpabi.sc: Likewise.
	* scripttempl/elf32sh-symbian.sc: Likewise.
	* scripttempl/elf64hppa.sc: Likewise.
	* scripttempl/mep.sc: Likewise.

2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (ldmain.o, ldfile.o): Fix typos in non-fastdep
	rules.
	(eelf32_spu.o): Add dependency tracking.
	* Makefile.in: Regenerate.

	* Makefile.am (am__skiplex, am__skipyacc): New.
	* Makefile.in: Regenerate.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (bin_PROGRAMS): Renamed from ...
	(noinst_PROGRAMS): ... this.
	(transform): Override, including the renaming of ld-new to ld.
	(install-exec-local): Installation of ld in $(bindir) not needed
	here any more.
	(AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	(MAINTAINERCLEANFILES): Add ld.1.
	* Makefile.in: Regenerate.

	* Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus.  Add
	no-texinfo.tex, no-dist, foreign.
	(TEXINFO_TEX): New variable.
	(install-data-local): Removed, not needed any more.
	(all): Dependencies upon info and ld.1 not needed any more.
	(MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Removed.
	(mkdep generated section): Removed.
	(ldgram.o, ldlex.o, deffilep.o, ldmain.o, ldfile.o): Rewrite to
	use automake dependency tracking mechanism.
	(EXTRA_ld_new_SOURCES): Add pep-dll.c, pe-dll.c, and
	$(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c) so their
	dependencies are tracked too.
	(BUILT_SOURCES): New, list $(GENERATED_HFILES) to ensure they
	are built early.
	* configure.in: Use AM_MAINTAINER_MODE.
	* aclocal.m4, configure, Makefile.in: Regenerate.

	* Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(install-pdf-recursive, html__strip_dir, install-html)
	(install-html-am, install-html-recursive): Remove.
	* Makefile.in: Regenerate.

	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.

2009-08-21  Richard Guenther  <rguenther@suse.de>

	* scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.

2009-08-12  Tristan Gingold  <gingold@adacore.com>

	* ld.h (fat_user_section_struct): Add map_symbol_def_count field.
	* ldlang.c (hash_entry_addr_cmp): New function.
	(print_all_symbols): Sort the symbols by address before printing them.

2009-08-10  Alan Modra  <amodra@bigpond.net.au>

	PR 10474
	* ldemul.c (after_allocation_default): Run lang_relax_sections.
	* ldlang.h (lang_relax_sections): Declare.
	* ldlang.c (relax_sections): Delete.
	(lang_relax_sections): New function.
	(lang_process): Don't relax directly from here.
	* emultempl/alphaelf.em (alpha_finish): Call finish_default.
	* emultempl/armelf.em (arm_elf_after_allocation): Delete.  Move body..
	(gld${EMULATION_NAME}_finish): ..to here.  Move existing code..
	(gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
	(LDEMUL_AFTER_ALLOCATION): Update.
	* emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete.
	(avr_elf_after_allocation): New function.
	(LDEMUL_AFTER_ALLOCATION): Define.
	* emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call
	lang_relax_sections.
	* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete.  Move..
	(gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
	(LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update.
	* emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
	(gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
	(LDEMUL_FINISH): Delete.
	(LDEMUL_AFTER_ALLOCATION): Define.
	* emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
	(gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
	(LDEMUL_FINISH): Delete.
	(LDEMUL_AFTER_ALLOCATION): Define.
	* emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete.  Move..
	(m68hc11elf_after_allocation): ..to here.  New function.
	(LDEMUL_FINISH): Delete.
	(LDEMUL_AFTER_ALLOCATION): Define.
	* emultempl/m68kelf.em (m68k_elf_after_allocation): Call
	gld${EMULATION_NAME}_after_allocation.
	* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call
	gld${EMULATION_NAME}_after_allocation.
	* emultempl/mmo.em (mmo_finish): Delete.  Move body..
	(gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
	(LDEMUL_FINISH): Define.
	* emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp.
	(gld${EMULATION_NAME}_finish): Move code sizing sections..
	(gld${EMULATION_NAME}_after_allocation): ..to here.
	* emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
	Call gld${EMULATION_NAME}_after_allocation.
	* emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete
	bfd_elf_discard_info and map_segments call.

2009-08-06  Michael Eager <eager@eagercon.com>

	* Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
	ALL_EMULATIONS, targets.
	* Makefile.in: Regenerate.
	* configure.tgt: Add microblaze*-linux*, microblaze* targets.
	* emulparams/elf32mb_linux.sh: New.
	* emulparams/elf32microblaze.sh. New.
	* scripttempl/elfmicroblaze.sc: New.

2009-08-05  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>

	* emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
	section and __fixup_start symbol.
	* emultempl/spuelf.em (params): Initialize emit_fixups member.
	(spu_before_allocation): Call spu_elf_size_sections.
	(OPTION_SPU_EMIT_FIXUPS): Define.
	(PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
	(PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
	* ld.texinfo (--emit-fixups): Document.

2009-08-04  Alan Modra  <amodra@bigpond.net.au>

	PR 10474
	* emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize,
	not size, after lang_reset_memory_regions.

2009-07-30  Alan Modra  <amodra@bigpond.net.au>

	* emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
	* emulparams/elf_i386.sh (IREL_IN_PLT): Define.
	* emulparams/elf_x86_64.sh (IREL_IN_PLT): Define.
	* scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections
	when !IREL_IN_PLT.

2009-07-29  Hans-Peter Nilsson  <hp@bitrange.com>

	* scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
	the new $RELOCATEABLE_OUTPUT_FORMAT, if set.
	(OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT.
	(ENTRY): Don't emit for relocateable links.
	(/DISCARD/): Don't discard .gnu.warning.* for relocateable links.
	* emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to
	elf64-mmix.
	* emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't
	provide "Main" or set "_start.", for relocateable links.

2009-07-27  Nick Clifton  <nickc@redhat.com>

	* (po/fi.po): Updated Finnish translation.

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
	is supported.  Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
	(targ_extra_emuls): Likewise.

	* Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
	eelf_l1om_fbsd.o
	(eelf_l1om.c): New.
	(eelf_l1om_fbsd.c): Likewise.
	* Makefile.in: Regenerated.

	* emulparams/elf_l1om.sh: New.
	* emulparams/elf_l1om_fbsd.sh: Likewise.

2009-07-23  Ulrich Drepper  <drepper@redhat.com>

	* NEWS: Mention the linker's support for symbols with a binding of
	STB_GNU_UNIQUE.

2009-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10429
	* ldlang.c (insert_os_after): Tie assignments to non-alloc
	output sections if there is no-input section.

2009-07-11  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (insert_os_after): Don't tie assignments to non-alloc
	output sections.

2009-07-10  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/ppc32elf.em (ppc_before_allocation): Turn on
	linker relaxation if it might be necessary.

2009-07-10  Alan Modra  <amodra@bigpond.net.au>

	* emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt.

2009-07-06  Matthias Klose <doko@ubuntu.com>

	* ld.texinfo: Fix typo.

2009-07-03  Tristan Gingold  <gingold@adacore.com>

	* scripttempl/pep.sc: Put .eh_frame in its own section.
	* scripttempl/pe.sc: Ditto.

2009-06-26  Kai Tietz  <kai.tietz@onevision.com>

	* scripttempl/pe.sc (.debug_pubtypes): Added section rule.
	* scripttempl/pep.sc: Likewise.

2009-06-25  Tristan Gingold  <gingold@adacore.com>

	* ldlang.c (print_input_section): Add is_discarded parameter.  Adjust
	prototype.
	(lang_map): Print the size of discarded sections.
	(print_statement): Adjust call to print_input_section.

2009-06-18  Dave Korn  <dave.korn.cygwin@gmail.com>

	Merge cegcc and mingw32ce target name changes from CeGCC project:

	2008-09-24  Pedro Alves  <pedroalves@users.sourceforge.net>

	* configure.tgt (arm*-*-cegcc*): Set LIB_PATH to
	${tooldir}/lib/w32api.

	2007-12-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* configure.tgt: Add arm*-*-cegcc* target.

	2007-12-17  Pedro Alves  <pedro_alves@portugalmail.pt>

	* configure.tgt: Add arm-*-mingw32ce* target.

2009-06-10  Philip Blundell  <philb@gnu.org>

	* emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash
	if section has no ELF data.

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

	* scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.

2009-06-05  H.J. Lu  <hongjiu.lu@intel.com>

	* scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.

2009-06-04  Alan Modra  <amodra@bigpond.net.au>

	* dep-in.sed: Don't use \n in replacement part of s command.
	* Makefile.am (DEP1): LC_ALL for uniq.
	* Makefile.in: Regenerate.

2009-06-01  H.J. Lu  <hongjiu.lu@intel.com>

	* scripttempl/elf.sc (PLT): Add "*(.iplt)".
	(GOT): Add "*(.igot.plt)a" and "*(.igot)".
	(GOTPLT): Add "*(.igot)".
	(__rel_iplt_start): New.
	(__rel_iplt_end): Likewise.
	(__rela_iplt_start): Likewise.
	(__rela_iplt_end): Likewise.

2009-05-27  Dave Korn  <dave.korn.cygwin@gmail.com>

	* deffilep.y (%union):  Add new string-type semantic value 'digits'.
	(%token):  Remove NUMBER as token, add DIGITS.
	(%type):  Add NUMBER as type.  Add new id types anylang_id, opt_id.
	(ALIGNCOMM):  Parse an anylang_id instead of a plain ID.
	(anylang_id):  New production.
	(opt_digits):  Likewise.
	(opt_id):  Likewise.
	(NUMBER):  Likewise.
	(def_lex):  Return strings of digits in raw string form as DIGITS
	token, instead of converting to numeric integer type.

2009-05-26  Nathan Sidwell  <nathan@codesourcery.com>

	* ldmain.c (main): Don't reject --relax -r.
	* ld.texinfo (PowerPC ELF32): Document behaviour of relaxing
	partial links.

2009-05-26  Nick Clifton  <nickc@redhat.com>

	* po/id.po: Updated Indonesian translation.
	* po/ld.pot: Updated template file.

2009-05-26  Alan Modra  <amodra@bigpond.net.au>

	* dep-in.sed: Output one filename per line with all lines having
	continuation backslash.  Prefix first line with "A", following
	lines with "B".
	* Makefile.am (DEP): Don't use dep.sed here.
	(DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
	sort and uniq.
	* Makefile.in: Regenerate.

2009-05-26  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (lang_check_section_addresses): Ignore non-alloc sections.

2009-05-22  Julian Brown  <julian@codesourcery.com>

	* emultempl/armelf.em (fix_cortex_a8): New.
	(arm_elf_before_allocation): Call bfd_elf32_arm_set_cortex_a8_fix.
	(arm_elf_create_output_section_statements): Add fix_cortex_a8 to
	bfd_elf32_arm_set_target_relocs.
	(OPTION_FIX_CORTEX_A8, OPTION_NO_FIX_CORTEX_A8): New.
	(PARSE_AND_LIST_LONGOPTS): Add [no-]fix-cortex-a8 options.
	(PARSE_AND_LIST_OPTIONS): Add [no-]fix-cortex-a8 options.
	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_[NO_]FIX_CORTEX_A8.
	* ld.texinfo (--[no-]fix-cortex-a8): Briefly document new options.

2009-05-22  Nathan Sidwell  <nathan@codesourcery.com>

	* ldlang.c (lang_check_section_addresses): Ignore non-loadable
	sections when checking for overlap.  Clarify error message
	concerns load address.

2009-05-22  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

	* NEWS:  Mention new feature.
	* deffile.h (def_file_aligncomm):  Add new struct definition.
	(def_file):  Add new def_file_aligncomm member.
	* deffilep.y (%token):  Add new ALIGNCOMM token.
	(command):  Add production rule for ALIGNCOMM.
	(def_file_free):  Free any chained def_file_aligncomm structs.
	(diropts[]):  Add entry for '-aligncomm' .drectve command.
	(def_aligncomm):  New grammar function.
	* ld.texinfo:  Document new feature.
	* pe-dll.c (process_def_file):  Rename from this ...
	(process_def_file_and_drectve):  ... to this, updating all callers,
	and process any aligncomms chained to the def file after scanning
	all .drectve sections.
	(generate_edata):  Updated to match.
	(pe_dll_build_sections):  Likewise.

2009-05-17  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>

	* pe-dll.c (process_def_file): Do not create empty export table.

2009-05-15  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (lang_output_section_statement_lookup): Add function
	comment.  Make "name" non-const.  Ensure duplicate entries use
	the same string, allowing simple comparison in hash bucket loop.
	Tweak constraint check.
	(next_matching_output_section_statement): New function.
	* ldlang.h (lang_output_section_statement_lookup): Update.
	(next_matching_output_section_statement): Declare.
	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
	combine orphan sections when input sections flags differ in
	alloc or load.
	* emultempl/pe.em: Formatting throughout.
	(gld${EMULATION_NAME}_place_orphan): As for elf32.em.
	* emultempl/pep.em: Formatting throughout.
	(gld${EMULATION_NAME}_place_orphan): As for elf32.em.

2009-05-14  Ulrich Weigand  <uweigand@de.ibm.com>

	* emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use
	compact stubs with software i-cache.

2009-05-14  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (spu_before_allocation): Call
	spu_elf_place_overlay_data.

2009-05-14  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (lang_insert_orphan): Add __start_<section> symbol
	assignment inside output section statement.  Ensure only one
	set of symbols per output section.
	* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add non-
	dollar sections before dollar sections.  Correct add_child
	list insertion.
	* emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.

2009-05-05  Paul Brook  <paul@codesourcery.com>

	* emultempl/armelf.em (compare_output_sec_vma): New function.
	(gld${EMULATION_NAME}_finish): Add exidx munging code.

2009-05-05  Anatoly Sokolov  <aesok@post.ru>

	* scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.
	* emulparams/avr1.sh (DATA_ORIGIN): Add.
	* emulparams/avr2.sh (DATA_ORIGIN): Add.
	* emulparams/avr25.sh (DATA_ORIGIN): Add.
	* emulparams/avr3.sh (DATA_ORIGIN): Add.
	* emulparams/avr31.sh (DATA_ORIGIN): Add.
	* emulparams/avr35.sh (DATA_ORIGIN): Add.
	* emulparams/avr4.sh (DATA_ORIGIN): Add.
	* emulparams/avr5.sh (DATA_ORIGIN): Add.
	* emulparams/avr51.sh (DATA_ORIGIN): Add.
	(DATA_LENGTH): Update.
	* emulparams/avr6.sh (DATA_ORIGIN): Add.
	(DATA_LENGTH): Update.

2009-05-04  Dave Korn  <dave.korn.cygwin@gmail.com>

	* NEWS:  Mention new feature.
	* ld.texinfo (--version-script):  Document extent of PE support.
	(WIN32):  Mention --version-script.  Extend auto-export description.
	* pe-dll.c (process_def_file):  Use version script info to filter
	symbols from auto-export.
	* testsuite/ld-pe/vers-script-1.d:  New file.
	* testsuite/ld-pe/vers-script-2.d:  New file.
	* testsuite/ld-pe/vers-script-3.d:  New file.
	* testsuite/ld-pe/vers-script-4.d:  New file.
	* testsuite/ld-pe/vers-script-1.ver:  New file.
	* testsuite/ld-pe/vers-script-2.ver:  New file.
	* testsuite/ld-pe/vers-script-3.ver:  New file.
	* testsuite/ld-pe/vers-script-4.ver:  New file.
	* testsuite/ld-pe/vers-script-dll.c:  New file.
	* testsuite/ld-pe/vers-script.exp:  New test script.

2009-05-01  Nathan Sidwell  <nathan@codesourcery.com>

	* emulparams/vxworks.sh (TEXT_START_ADDR): Override.

2009-04-30  Nick Clifton  <nickc@redhat.com>

	* NEWS: Mention support for IFUNC symbols.

2009-04-29  Anthony Green  <green@moxielogic.com>

	* emulparams/elf32moxie.sh (STACK_ADDR): Move default stack
	position out to accommodate larger programs.

2009-04-29  Chris Demetriou  <cgd@google.com>

	* lexsup.c (option_values): Add OPTION_NO_EXPORT_DYNAMIC.
	(ld_options): Likewise.
	(parse_args): Likewise.
	* ld.texinfo: Document --no-export-dynamic.
	* NEWS: Mention --no-export-dynamic.

2009-04-29  Alan Modra  <amodra@bigpond.net.au>

	* deffilep.y (STACKSIZE_K): Rename from STACKSIZE.

2009-04-25  Alan Modra  <amodra@bigpond.net.au>

	PR 10061
	* genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT
	param.

2009-04-21  Daniel Jacobowitz  <dan@codesourcery.com>

	* emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open)
	(arm_elf_set_bfd_for_interworking): Delete.
	(arm_elf_before_allocation): Do not set the interworking BFD.
	Move allocation inside not-dynamic block.
	(arm_elf_create_output_section_statements): Create glue sections
	and set the interworking BFD here.
	(LDEMUL_AFTER_OPEN): Delete.

2009-04-16  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* ldlang.c (lang_one_common): Use bfd_define_common_symbol.

2009-04-15  Anthony Green  <green@moxielogic.com>

	* configure.tgt: Add moxie support.
	* Makefile.am: Add moxie files.
	* Makefile.in: Rebuilt.
	* emulparams/elf32moxie.sh: New file.
	* scripttempl/moxie.sc: New file.

2009-04-15  Kazu Hirata  <kazu@codesourcery.com>

	* ldlang.c: Do not include limits.h.

2009-04-14  Alan Modra  <amodra@bigpond.net.au>

	PR ld/10047
	* ldfile.c (find_scripts_dir): Use make_relative_prefix to find
	ldscripts in build tree.  Don't repeat search for ../lib/ldscripts.

2009-04-13  H.J. Lu  <hongjiu.lu@intel.com>

	* ldfile.c (ldfile_find_command_file): Revert the last change.

2009-04-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/10047
	* ldfile.c (ldfile_find_command_file): First try raw name.

2009-04-09  Nick Clifton  <nickc@redhat.com>

	PR 9824
	* ld.texinfo (Output Section Constraint): New node.  Documents the
	ONLY_IF_RO and ONLY_IF_RW constraints.
	(Symbolic Constants): New node.  Documents the CONSTANT operator.

2009-04-09  Thilo Fischer <thilo.fischer@uni-muenster.de>

	* emultempl/spuelf.em (embedded_spu_file): Use pex_one in place
	of fork/execvp.

2009-04-08  H.J. Lu  <hongjiu.lu@intel.com>

	* lexsup.c (option_values): Add OPTION_WARN_ALTERNATE_EM.
	(ld_options): Likewise.
	(parse_args): Likewise.

	* ld.texinfo: Document --warn-alternate-em.

	* NEWS: Mention --warn-alternate-em.

2009-04-07  DJ Delorie  <dj@redhat.com>

	* emulparams/elf32mep.sh: Change default endian to little.

2009-04-07  Nick Clifton  <nickc@redhat.com>

	* ld.texinfo (Output Section Address): Note that specifying an
	address for an output section will only change the location
	counter if the output section is used.

2009-04-06  Kazu Hirata  <kazu@codesourcery.com>

	* ldfile.c (ldfile_find_command_file): Initialize result.

2009-04-06  Kazu Hirata  <kazu@codesourcery.com>

	* ld.texinfo (-L): Mention that -L options do not affect how ld
	searches for a linker script unless -T option is specified.
	* ldfile.c (ldfile_find_command_file): Append the path obtained
	from the program name to the search path instead of
	prepending. Add a new parameter "default_only". Restrict the
	search to the default script location if the new parameter is
	true.
	(ldfile_open_command_file_1): New.
	(ldfile_open_command_file): Call ldfile_open_command_file_1.
	(ldfile_open_default_command_file): New.

2009-04-03  Nathan Sidwell  <nathan@codesourcery.com>

	* ldlang.c (lang_leave_output_section_statement): Set lma_region
	if it is not overridden and section is for the same vma region as
	the previous section.

2009-04-02  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR ld/6744
	* ld.texinfo (--export-dynamic):  Mention --export-all-symbols.
	* emultempl/pe.em (gld_${EMULATION_NAME}_after_parse):  Issue
	warning if --export-dynamic was passed on command-line.
	* emultempl/pep.em (gld_${EMULATION_NAME}_after_parse):  Likewise.

2009-04-01  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New
	function.
	(ld_${EMULATION_NAME}_emulation): Use it.

2009-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/9970
	* ldlang.c (lang_end): Warn missing entry symbol for -pie.

2009-03-19  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (spu_before_allocation): Report errors from
	spu_elf_find_overlays.

2009-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/6766
	* lexsup.c (parse_args): Call ldlang_add_undef for -e.

2009-03-18  Alan Modra  <amodra@bigpond.net.au>

	* ld.h: Remove alloca handling.

2009-03-17  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spu_icache.S: Add new entry to dummy handler.
	* emultempl/spu_icache.o_c: Regenerate.
	* emultempl/spuelf.em (params): Init new field.
	(no_overlays): New static var.
	(spu_before_allocation): Use it.
	(OPTION_SPU_COMPACT_STUBS): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs.
	(PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs.  Adjust no-overlays
	handling.

2009-03-17  Alan Modra  <amodra@bigpond.net.au>

	* configure.host (HOSTING_LIBS): Two dollars on shell variable
	expansion to suit make.

2009-03-17  Alan Modra  <amodra@bigpond.net.au>

	* configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
	* Makefile.am (check-DEJAGNU): Set DO_COMPARE.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* emultempl/aix.em (auto_export_flags): New variable.
	(explicit_auto_export_flags): Likewise.
	(OPTION_EXPALL, OPTION_EXPFULL): New enum values.
	(OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
	(gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
	-bnoexpall and -bnoexpfull.
	(gld${EMULATION_NAME}_handle_option): Handle them.
	(gld${EMULATION_NAME}_before_allocation): Update the call to
	bfd_size_dynamic_sections.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
	-berok and -bernotok control link_info.unresolved_syms_in_objects
	and link_info.unresolved_syms_in_shared_libs instead of
	force_make_executable.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
	config.dynamic_link to TRUE.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
	.text, .data and .bss output sections as SEC_KEEP.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* configure.tgt: Extend AIX 5 behavior to AIX 6 and above.

2009-03-14  Dave Korn  <dave.korn.cygwin@gmail.com>
	    Danny Smith  <dannysmith@users.sourceforge.net>

	* emultmpl/pe.em (pe_dll_characteristics): New variable.
	(OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
	OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
	OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
	New macros for options to set DllCharacteristics flag bits.
	(gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
	nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
	(init): Add DllCharacteristics field.
	(gld_${EMULATION_NAME}_list_options): List new options.
	(gld${EMULATION_NAME}_handle_option): Handle new options.
	* emultmpl/pep.em (pe_dll_characteristics): New variable.
	(OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
	OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
	OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
	New macros for options to set DllCharacteristics flags.
	(gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
	nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
	(init): Add DllCharacteristics field.
	(gld_${EMULATION_NAME}_list_options): List new options.
	(gld${EMULATION_NAME}_handle_option): Handle new options.
	* ldtexinfo : Document dynamicbase, forceinteg,	nxcompat,
	no-isolation, no-seh, no-bind, wdmdriver, tsaware options.

2009-03-06  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2009-03-03  Dave Korn  <dave.korn.cygwin@gmail.com>

	* emultempl/pe.em (debug_section_p):  New bfd_map_over_sections hook.
	(gld_${EMULATION_NAME}_after_open):  Use it to iterate all sections
	of all input BFDs, looking for debug info.  Enable long section names
	if any found.
	* emultempl/pe.em (debug_section_p):  Likewise.
	(gld_${EMULATION_NAME}_after_open):  Likewise.
	* NEWS:  Retrospectively adjust news announcement.
	* ld.texinfo:  Update documentation to mention new behaviour.

2009-03-03  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-03-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* ldgram.y: Add support for REGION_ALIAS operator.
	* ldlang.c: Likewise.
	* ldlang.h: Likewise.
	* ldlex.l: Likewise.
	* NEWS: Mention the new feature.
	* ld.texinfo: Document the new feature.

2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>

	* Makefile.am: Replace score elf emulation with score3 and score7
	emulations.
	* Makefile.in: Regenerate,
	* NEWS: Mention support for Score7 architecture.
	* configure.tgt: Add score7 emulation to score-elf target.
	* emulparams/scoreelf.sh: Add score7 support.
	* emultempl/scoreelf.em: Likewise.

2009-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* configure.tgt: Only use elf64hppa target emulation for hpux.
	* emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
	(SCRIPT_NAME): Use new script elf64hppa.
	(SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
	TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
	OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
	DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
	TEXT_DYNAMIC): Define.
	* emulparams/hppa64linux.sh: Adjust comments.
	* scripttempl/elf64hppa.sc: New file.

2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-02-27  Dave Korn  <dave.korn.cygwin@gmail.com>

	* emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):  Set
	default state of auto-import flag based on $target.

2009-02-24  Joseph Myers  <joseph@codesourcery.com>

	* ld.texinfo (ARM): Document changed meaning of --stub-group-size.
	* emultempl/armelf.em (hook_in_stub): Insert after the input section.
	(elf32_arm_add_stub_section): Update comment.
	(PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.

2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>

	* ld.texinfo (Options): Correct typos in example.  Recommend
	using joined forms of syntax for passing options with arguments
	from a driver.
	(-a): Use consistent syntax for documenting option arguments.
	Clean up indexing and markup.
	(-A/--architecture): Likewise.
	(-f/--auxiliary): Likewise.
	(-F/--filter): Likewise.
	(-fini): Likewise.
	(-G/--gpsize): Likewise.
	(-h/-soname):Likewise.
	(-init): Likewise.
	(-l/--library): Likewise.
	(-L/--library-path): Likewise.
	(-m): Likewise.
	(--defsym): Likewise.
	(-I/--dynamic-linker): Likewise.
	(-Map): Likewise.
	(--oformat): Likewise.
	(--retain-symbols-file): Likewise.
	(-rpath): Likewise.
	(-rpath-link): Likewise.
	(--sort-common): Likewise.
	(--sort-section): Likewise.
	(--split-by-file): Likewise.
	(--split-by-reloc): Likewise.
	(--sysroot): Likewise.
	(--section-start): Likewise.
	(-Tbss, -Tdata, -Ttext): Likewise.
	(-Ttext-segment): Likewise.
	(--version-script): Likewise.
	(--wrap): Likewise.

2009-02-18  Dave Korn  <dave.korn.cygwin@gmail.com>

	* ld.texinfo:  Update to mention long section name options.
	* NEWS:  Mention new behaviour and command-line options.
	* pe-dll.c (pe_use_coff_long_section_names):  New global variable.
	(pe_output_file_set_long_section_names):  New function.
	(pe_dll_build_sections):  Call it on output BFDs.
	(pe_exe_build_sections):  Likewise.
	(pe_dll_fill_sections):  Likewise.
	(pe_exe_fill_sections):  Likewise.
	* pe-dll.h (pe_use_coff_long_section_names):  Declare extern.
	(pe_output_file_set_long_section_names):  Add prototype.
	* pep-dll.c (pe_use_coff_long_section_names):  Define pep_ alias.
	(pe_output_file_set_long_section_names):  Likewise.
	* pep-dll.h (pep_use_coff_long_section_names):  Declare extern.
	(pep_output_file_set_long_section_names):  Add prototype.
	* pe.em (OPTION_ENABLE_LONG_SECTION_NAMES):  New getopt value macro.
	(OPTION_DISABLE_LONG_SECTION_NAMES):  Likewise.
	(gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
	(gld_${EMULATION_NAME}_list_options):  Describe them.
	(gld${EMULATION_NAME}_handle_option):  Set or clear global
	pe_use_coff_long_section_names flag when options recognised.
	(gld_${EMULATION_NAME}_after_open):  En/disable long section names
	for main output bfd by calling pe_output_file_set_long_section_names.
	* pep.em (enum options):  Extend enum with new getopt option values.
	(gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
	(gld_${EMULATION_NAME}_list_options):  Describe them.
	(gld${EMULATION_NAME}_handle_option):  Set or clear global
	pe_use_coff_long_section_names flag when options recognised.
	(gld_${EMULATION_NAME}_after_open):  En/disable long section names
	for main output bfd by calling pep_output_file_set_long_section_names.

2009-02-16  Dave Korn  <dave.korn.cygwin@gmail.com>

	* emultempl/pe.em (gld_${EMULATION_NAME}_after_open):  Don't emit
	inadvertent .reloc sections caused by refactoring accident.

2009-02-16  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (process_insert_statements): ASSERT that output section
	statements are in order.

2009-02-16  Alan Modra  <amodra@bigpond.net.au>

	* ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
	(stat_save, stat_save_ptr): New variables.
	(lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
	(load_symbols): Likewise.  Delete dead "bad_load" code.
	(open_input_bfds): Warn on script containing output sections.
	(lang_enter_output_section_statement): Use push_stat_ptr.
	(lang_enter_group): Likewise.
	(lang_leave_output_section_statement): Use pop_stat_ptr.
	(lang_leave_group): Likewise.
	* ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
	* ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
	* emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
	* 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.

2009-02-09  Nathan Sidwell  <nathan@codesourcery.com>

	Missing piece of 2009-01-26 commit
	* ldlang.c (lang_process): Don't consider relocatable flag when
	checking for overlap.

2009-02-05  Joseph Myers  <joseph@codesourcery.com>

	* emulparams/m68kelf.sh: Add newline at end of file.

2009-02-04  Nick Clifton  <nickc@redhat.com>

	PR 9805
	* ld.texinfo (--allow-shlib-undefined): Correct description of
	default settings and tidy up the rest of the entry.

2009-02-04  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.*
	during relocatable link.

2009-02-03  Nick Clifton  <nickc@redhat.com>

	PR 9797
	* ld.texinfo (Constants): Document the base-encoding suffixes
	supported in linker scripts.

2009-02-03  Alan Modra  <amodra@bigpond.net.au>

	* NEWS: Mention --as-needed change.

2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>

	* configure.in: AC_SUBST pdfdir.
	* Makefile.am: Add install-pdf, install-pdf-am,
	and install-pdf-recursive targets. Define pdf__strip_dir.
	* po/Make-in: Add install-pdf target.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2009-01-31  Alan Modra  <amodra@bigpond.net.au>

	* ld.texinfo (--as-needed): Update.

2009-01-29  Andrew Jenner  <andrew@codesourcery.com>

	* emultempl/armelf.em: Correct formatting of help text for
	--no-enum-size-warning option.

2009-01-26  Nathan Sidwell  <nathan@codesourcery.com>

	* lexsup.c (parse_args): Set check_section_addresses to 1 or 0.
	* ld.h (args_type): Make check_section_addresses a char.
	* ldmain.c (main): Default check_section_addresses to -1. Check it
	for relocatable links.
	* ld.texinfo (--check-sections): Update documentation.

2009-01-26  Kai Tietz  <kai.tietz@onevision.com>

	* pe-dll.c (tmp_seq2): New static variable.
	(make_singleton_name_imp): New.
	(make_import_fixup_entry): Use for v2 the _imp_<name> symbol and
	avoid duplicate import table generation for same symbol.
	(pe_create_runtime_relocator_reference): Make reference for
	64-bit 8 bytes.

2009-01-21  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (params): Init new field.
	(OPTION_SPU_NON_IA_TEXT): Define.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text.
	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT.

2009-01-16  H.J. Lu  <hongjiu.lu@intel.com>

	* lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT.
	(ld_options): Add -Ttext-segment.
	(parse_args): Handle OPTION_TTEXT_SEGMENT.

	* ld.texinfo: Document -Ttext-segment.

	* NEWS: Mention -Ttext-segment.

	* scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START.
	(SHLIB_TEXT_START_ADDR): Likewise.

2009-01-13  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spu_icache.o_c: Regenerate.

2009-01-12  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (params): Init new fields.
	(num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
	(spu_place_special_section): Adjust placement for soft-icache.  Pad
	soft-icache section to a fixed size.  Clear addr_tree.
	(spu_elf_load_ovl_mgr): Support soft-icache.  Map overlay manager
	sections a little more intelligently.
	(gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
	(OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
	(OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
	(OPTION_SPU_LRLIVE): Define.
	(PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
	(PARSE_AND_LIST_OPTIONS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Handle them.
	* emultempl/spu_icache.S: Dummy file.
	* emultempl/spu_icache.o_c: Regenerate.
	* Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
	(spu_icache.o_c): Add rule to build.
	(CLEANFILES): Zap temp files.
	(EXTRA_DIST): Add spu_icache.o_c.
	* Makefile.in: Regenerate.

2009-01-08  Kai Tietz  <kai.tietz@onevision.com>

	* pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
	(gld..._add_options): Add new option
	--use-nul-prefixed-import-tables.
	(gld..._handle_option): Likewise.
	* pep.em: Same as for pe.em.
	* ld.texinfo: Add new option documentation for
	--use-nul-prefixed-import-tables.
	* pe-dll.c (pe_use_nul_prefixed_import_tables): New.
	(make_head): Make prefix leading zero prefix element for
	idata$4 and idata$5 dependent to new flag.
	(make_import_fixup_entry): Remove idata4/5 prefix.
	* pe-dll.h (pe_use_nul_prefixed_import_tables): New.
	* pep-dll.c (pe_use_nul_prefixed_import_tables): New.
	* pep-dll.h (pep_use_nul_prefixed_import_tables): New.
	* NEWS: Add new option.

2009-01-05  Kai Tietz  <kai.tietz@onevision.com>

	* emultempl/pe.em: Prefix dollar characters to be outputed in
	generated C file.
	* emultempl/pep.em: Likewise.

2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>

	* NEWS:  Mention new feature --exclude-modules-for-implib.
	* ld.texinfo:  Document new --exclude-modules-for-implib option.
	* pe-dll.c (exclude_list_struct):  Change type member from int to
	new enumeration exclude_type.
	(pe_dll_add_excludes):  Accept exclude_type instead of int param.
	(auto_export):  Replace magic constants by exclude_type values and
	handle new choice EXCLUDEFORIMPLIB.
	(pe_dll_generate_implib):  Accept a pointer to the link_info and
	iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
	fresh BFDs for any found and link into import lib archive chain.
	* pe-dll.h (exclude_type):  Add new enumerated type to replace magic
	constants previously used for exclude_list_struct type member.
	(pe_dll_add_excludes, pe_dll_generate_implib):  Update prototypes.
	* pep-dll.h (exclude_type, pe_dll_add_excludes,
	pe_dll_generate_implib):  Likewise to all the above.
	* emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB):  Define new
	getopts long option code for new --exclude-modules-for-implib option.
	(gld${EMULATION_NAME}_add_options):  Add new entry to xtra_long[].
	(gld_${EMULATION_NAME}_list_options):  List usage for it.
	(gld${EMULATION_NAME}_handle_option):  Use exclude_type enumerated
	values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
	(gld_${EMULATION_NAME}_finish):  Pass pointer to link_info when
	calling pe_dll_generate_implib.
	* emultempl/pep.em (options):  Define new enumerated value for getopts
	long option code for new --exclude-modules-for-implib option.
	(gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
	gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
	Again, likewise to all the above.

2009-01-03  Dave Korn  <dave.korn.cygwin@gmail.com>

	* pe-dll.c (autofilter_liblist):  Add entry for shared libgcc.
	(libnamencmp):  New function.
	(auto_export):  Use it in place of strncmp when filtering libraries.

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