2007-04-04  Paul Brook  <paul@codesourcery.com>

	* configure.tgt: Loosen checks for arm uclinux eabi targets.

2007-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4090
	* ldexp.h (node_type): Add lineno.
	* ldexp.c: Include "ldlex.h".
	(exp_intop): Set the lineno field from lineno.
	(exp_bigintop): Likewise.
	(exp_relop): Likewise.
	(exp_nameop): Likewise.
	(exp_binop): Set the lineno field from lineno of lhs.
	(exp_trinop): Likewise.
	(exp_unop): Set the lineno field from lineno of child.
	(exp_assop): Set the lineno field from lineno of src.
	(exp_provide): Likewise.
	(exp_assert): Set the lineno field from lineno of exp.
	(exp_get_abs_int): Set lineno from lineno of nonconstant
	expression when report problem.

2007-03-29  Richard Sandiford  <richard@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* NEWS: Mention -l:foo.
	* ld.texinfo: Document it.
	* ldlang.c (new_afile): If a lang_input_file_is_l_enum
	entry as a name beginning with a coloh, convert it to a
	lang_input_file_is_search_file_enum entry without the colon.

2007-03-28  Richard Sandiford  <richard@codesourcery.com>

	* ld.h (ld_config_type): Add rpath_separator.
	* ldmain.c (main): Initialize it.
	* lexsup.c (parse_args): Honor config.rpath_separator.
	* emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Likewise.
	(gld${EMULATION_NAME}_add_sysroot): Likewise.
	(gld${EMULATION_NAME}_parse_ld_so_conf): Use config.rpath_separator
	rather than ':' when building the path.
	* emultempl/vxworks.em (vxworks_before_parse): New function.
	Override config.rpath_separator.
	(LDEMUL_AFTER_OPEN): Do not change if EXTRA_EM_FILE has been
	set to gld${EMULATION_NAME}_after_open; #define that identifier
	to vxworks_foo instead.
	(LDEMUL_BEFORE_PARSE): Override in the same way as LDEMUL_AFTER_OPEN.

2007-03-28  Richard Sandiford  <richard@codesourcery.com>
	    Phil Edwards  <phil@codesourcery.com>

	* ld.texinfo: Put the contents after the title page rather
	than at the end of the document.

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

	* Makefile.am: Add dependency on ldemul-list.h for powerpc and
	spu target emul files.
	* configure.in: Check for mkstemp and waitpid.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* config.in: Regenerate.
	* ldlang.c (input_file_chain): Make global.
	(lang_add_input_file): Don't set lang_has_input_file here.
	* ldlang.h (input_file_chain): Declare.
	* emultempl/ppc32elf.em (ppc_recognized_file): New function.
	(LDEMUL_RECOGNIZED_FILE): Define.
	* emultempl/ppc64elf.em (ppc64_recognized_file): New function.
	(LDEMUL_RECOGNIZED_FILE): Define.
	* emultempl/spuelf.em (struct tflist): New.
	(tmp_file_list): New var.
	(clean_tmp, embedded_spu_file): New functions.

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

	* ldlang.c (lang_insert_orphan): Provide start/stop loadaddr syms
	rather than defining unconditionally.
	(lang_leave_overlay_section): Likewise.
	* ld.texinfo (Overlay Description): Update description and examples
	for start/stop syms.

2007-03-22  Joseph Myers  <joseph@codesourcery.com>

	* ld.texinfo: Include VERSION_PACKAGE when reporting version.

2007-03-20  Paul Brook  <paul@codesourcery.com>

	* emultempl/armelf.em (pic_veneer): New variable.
	(PARSE_AND_LIST_PROLOGUE): Add OPTION_PIC_VENEER.
	(PARSE_AND_LIST_ARGS_CASES): Ditto.
	(PARSE_AND_LIST_LONGOPTS): Add "pic-veneer".
	(PARSE_AND_LIST_OPTIONS): Ditto.
	* ld.texinfo: Document --pic-veneer.

2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>

	* ld.texinfo: Document --no-enum-size-warning.
	* emultempl/armelf.em (no_enum_size_warning): New.
	(arm_elf_create_output_section_statements): Correct typo
	in comment.  Pass no_enum_size_warning to
	bfd_elf32_arm_set_target_relocs.
	(PARSE_AND_LIST_PROLOGUE): Define OPTION_NO_ENUM_SIZE_WARNING.
	(PARSE_AND_LIST_OPTIONS): Document --no-enum-size-warning.
	(PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_ENUM_SIZE_WARNING
	case.

2007-03-19  Bernd Schmidt  <bernd.schmidt@analog.com>

	* configure.tgt (bfin-*-elf, bfin-*-uclinux*): Add targ_extra_libpath.
	(bfin-*-linux-uclibc*): New target.

2007-03-16  Kai Tietz  <Kai.Tietz@onevision.com>

	* pe-dll.c (make_one): Use pc-relative relocation instead of an
	absolute relocation for x86_64-pc-mingw32 target.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (ld_TEXINFOS): Remove ldver.texi.
	(AM_MAKEINFOFLAGS): Add -I ../../bfd/doc.
	(TEXI2DVI): Likewise.
	(REPORT_BUGS_TO): Removed.
	(INCLUDES): Remove -DREPORT_BUGS_TO.
	(ldver.texi): Likewise.
	(ld.1): Don't depend on ldver.texi.
	(MOSTLYCLEANFILES): Remove ldver.texi.
	* Makefile.in: Regenerated.

	* configure.in (--with-bugurl): Removed.
	* configure: Regenerated.

	* lexsup.c: Include bfdver.h.

	* ld.texinfo: Include bfdver.texi instead of ldver.texi.

2007-03-11  Hans-Peter Nilsson  <hp@bitrange.com>

	* emultempl/mmixelf.em: Remove incorrect '#line' directive.

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

	* ldlang.c (lang_size_sections_1): Correct backwards dot move
	test to not trigger on overlays.  Only warn on backwards move
	if non-default lma.

2007-03-07  Joseph Myers  <joseph@codesourcery.com>

	* configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of
	bug-reporting URL.
	* Makefile.am (ldver.texi): Define BUGURL.
	* ld.texinfo: Use BUGURL.
	* Makefile.in, configure: Regenerate.

2007-03-07  Nick Clifton  <nickc@redhat.com>

	PR ld/4023
	* emultempl/aix.em (..._before_allocation): Strip sysroot prefix
	from any paths being inserted into the output binary's DT_RPATH.

2007-03-02  Nathan Sidwell  <nathan@codesourcery.com>

	* emulparams/shelf_uclinux.sh: New. Missed in 2007-02-28 commit.

2007-03-01  Joseph Myers  <joseph@codesourcery.com>

	* ldver.c (ldversion): Remove word "version" from output.  Update
	copyright date.

2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add eshelf_uclinux.o
	(eshelf_uclinux.c): New target.
	* Makefile.in: Rebuilt.
	* configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): New stanza.
	* emulparams/shelf_uclinux.sh: New.

2007-02-28  Alan Modra  <amodra@bigpond.net.au>

	* configure.tgt: Fix type last change.
	* configure.tgt (spu-*-elf*): Delete targ_extra_ofiles.

2007-02-27  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (ALL_EMUL_EXTRA_OFILES): Remove spu_inc.o.
	(eelf32_spu.c): Adjust dependencies.
	* Makefile.in: Regenerate.
	* emultempl/spuelf.em (ovl_mgr): New array.  Insert spu_ovl.o
	code using bin2c.
	(_binary_spu_ovl_o_start, _binary_spu_ovl_o_end): Delete.
	(ovl_mgr_stream): Update.
	* emultempl/spu_inc.s: Delete.
	* emultempl/spu_none.s: Delete.

2007-02-26  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spuelf.em (_binary_builtin_ovl_mgr_start): Rename
	to _binary_spu_ovl_o_start.
	(_binary_builtin_ovl_mgr_end): Rename to _binary_spu_ovl_o_end.
	(spu_elf_load_ovl_mgr): Fatal error on missing overlay manager.
	* emultempl/spu_inc.s: Rename symbols.
	* emultempl/spu_none.s: New file.
	* emultempl/spu_ovl.S: Update copyright.
	* Makefile.am (spu_inc.o): Try building with ld -r first, then
	gas incbin, then build without overlay manager.
	* Makefile.in: Regenerate.

2007-02-22  Joseph Myers  <joseph@codesourcery.com>

	* configure.tgt (mips64*el-*-linux-*, mips64*-*-linux-*,
	mips*el-*-linux-*, mips*-*-linux-*): Set
	targ_extra_libpath=$targ_extra_emuls.

2007-02-21  Nick Clifton  <nickc@redhat.com>

	* ldlang.c (ldlang_override_segment_assignment): New function.
	* ldlang.h (ldlang_override_segment_assignment): Prototype.
	* ldmain.c (link_callbacks): Add
	ldlang_override_segment_assignment.

2007-02-20  Alan Modra  <amodra@bigpond.net.au>

	* ldexp.c (fold_name <LOADADDR>): Ensure result is always absolute.

2007-02-17  Mark Mitchell  <mark@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Vladimir Prus  <vladimir@codesourcery.com
            Joseph Myers  <joseph@codesourcery.com>

	* configure.in (--with-bugurl): New option.
	* configure: Regenerate.
	* Makefile.am (REPORT_BUGS_TO): Define.
	(INCLUDES): Define REPORT_BUGS_TO.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* ld.h: Remove include of bin-bugs.h.
	* lexsup.c (help): Don't print empty REPORT_BUGS_TO.

2007-02-17  Alan Modra  <amodra@bigpond.net.au>

	* ldcref.c (check_reloc_refs): Compare section for local syms.

2007-02-13  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/spu_ovl.S (__ovly_return, __ovly_load): Set sym size.
	(__ovly_load_event): Define.
	(size): Rename to osize.
	* emultempl/spu_ovl.o: Regenerate.

2007-02-13  Alan Modra  <amodra@bigpond.net.au>

	* emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Add ".branch_lt".
	* emultempl/ppc64elf.em (ppc_add_stub_section): Create without
	SEC_RELOC flag set.

2007-02-09  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in (targ_extra_emuls): Add $targ64_extra_emuls if
	want64 is true.
	(targ_extra_libpath): Add $targ64_extra_libpath if want64 is
	true
	* configure: Regenerated.

	* configure.tgt (targ_extra_libpath): Initialize.
	(targ64_extra_emuls): New. Document. Initialize.
	(targ64_extra_libpath): Likewise.
	(i[3-7]86-*-linux-*): Set targ64_extra_emuls and
	targ64_extra_libpath.
	(powerpc*-*-linux*): Likewise.
	(s390-*-linux*): Likewise.

2007-02-07  Paul Brook  <paul@codesourcery.com>

	* configure.tgt: Add arm*-*-uclinux-*eabi.

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

	* ldlang.c (lang_size_sections_1): Add a missing `)'.

2007-02-06  Alan Modra  <amodra@bigpond.net.au>

	PR ld/3966
	* ldlang.c (lang_size_sections_1): Don't warn on backwards dot
	move unless section size is non-zero.

2007-02-05  Dave Brolley  <brolley@redhat.com>

	* Makefile.am (ALL_EMULATIONS): Add support for Toshiba MeP.
	* configure.tgt: Likewise.
	* scripttempl/mep.sc: New file.
	* emulparams/elf32mep.sh: New file.
	* Makefile.in: Regenerate.

2006-01-29  Julian Brown  <julian@codesourcery.com>

	* NEWS: Mention --vfp11-denorm-fix option.
	* ld.texinfo: Document above.
	* emulparams/armelf_linux.sh (OTHER_TEXT_SECTIONS): Add
	.vfp11_veneer section.
	* emulparams/armelf.sh (OTHER_TEXT_SECTIONS): Likewise.
	* emultempl/armelf.em (vfp11_denorm_fix): New static variable.
	(arm_elf_before_allocation): Call bfd_elf32_arm_set_vfp11_fix,
	bfd_elf32_arm_init_maps and bfd_elf32_arm_vfp11_erratum_scan.
	(arm_elf_after_allocation): New function. Call
	bfd_elf32_arm_vfp11_fix_veneer_locations for all input statements.
	(arm_elf_create_output_section_statements): Pass vfp11 fix command
	line option to BFD.
	(OPTION_VFP11_DENORM_FIX): New option.
	(PARSE_AND_LIST_LONGOPTS): Handle new option.
	(PARSE_AND_LIST_OPTIONS): Likewise.
	(PARSE_AND_LIST_ARGS_CASES): Likewise.
	(LDEMUL_AFTER_ALLOCATION): Define.

2007-01-24  H.J. Lu  <hongjiu.lu@intel.com>

	* ldgram.y (SIZEOF_HEADERS): Remove duplicated one.
	(DEFSYMEND): Likewise.
	(NAME): Likewise.
	(LNAME): Likewise.

2007-01-19  Murali Vemulapati  <murali.vemulapati@gmail.com>

	* pe-dll.c: (make_one) Conditionally include jump stubs.
	* emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Identify
	redundant jump stubs from import libraries and exclude them from
	link.

2007-01-19  H.J. Lu  <hongjiu.lu@intel.com>

	* ld.h (args_type): Add new symbolic and dynamic_list fields.

	* ld.texinfo: Update -Bsymbolic-functions.

	* ldmain.c (main): Initialize command_line.symbolic to
	symbolic_unset and command_line.dynamic_list to
	dynamic_list_unset.  Check -Bsymbolic, -Bsymbolic-functions and
	--dynamic-list* before setting link_info.symbolic,
	link_info.dynamic and link_info.dynamic_data.

	* lexsup.c (option_values): Add OPTION_SYMBOLIC_FUNCTIONS.
	(ld_options): Use OPTION_SYMBOLIC_FUNCTIONS with
	-Bsymbolic-functions.
	(parse_args): Handle -Bsymbolic-functions.  Don't set
	link_info.dynamic, link_info.dynamic_data and link_info.symbolic
	here.  Set command_line.symbolic for -Bsymbolic.  Set
	command_line.dynamic_list and command_line.symbolic for
	--dynamic-list-data, --dynamic-list-cpp-new,
	--dynamic-list-cpp-typeinfo and --dynamic-list.

2007-01-19  Jakub Jelinek  <jakub@redhat.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/elf32.em (handle_option): Make sure -z max-page-size
	or -z common-page-size argument is a power of 2.  Call
	bfd_emul_set_maxpagesize and bfd_emul_set_commonpagesize.

2007-01-19  H.J. Lu  <hongjiu.lu@intel.com>

	* ldmain.c (main): Don't call bfd_emul_set_maxpagesize nor
	bfd_emul_set_commonpagesize.

2007-01-19  H.J. Lu  <hongjiu.lu@intel.com>

	* NEWS: Mention --default-script/-dT.

	* ld.h (args_type): Add a default_script field.

	* ld.texinfo: Document --default-script/-dT.

	* ldmain.c (main): Handle command_line.default_script.

	* lexsup.c (option_values): Add OPTION_DEFAULT_SCRIPT.
	(ld_options): Add entries for --default-script and -dT.
	(parse_args): Handle --default-script/-dT.

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

	PR ld/3831
	* NEWS: Mention -Bsymbolic-functions, --dynamic-list-data and
	--dynamic-list-cpp-new.

	* ld.texinfo: Document -Bsymbolic-functions, --dynamic-list-data
	and --dynamic-list-cpp-new.

	* ldlang.c (lang_append_dynamic_list_cpp_new): New.
	(lang_process): Change link_info.dynamic to
	link_info.dynamic_list.
	(lang_append_dynamic_list): Likewise.
	* ldmain.c (main): Likewise.  Initialize link_info.dynamic and
	link_info.dynamic_data to FALSE.

	* ldlang.h (lang_append_dynamic_list_cpp_new): New.

	* lexsup.c (option_values): Add OPTION_DYNAMIC_LIST_DATA and
	OPTION_DYNAMIC_LIST_CPP_NEW.
	(ld_options): Add entries for -Bsymbolic-functions,
	--dynamic-list-data and --dynamic-list-cpp-new.  Make
	-Bsymbolic-functions an alias of --dynamic-list-data.
	(parse_args): Change link_info.dynamic to link_info.dynamic_list.
	Set link_info.dynamic to TRUE for --dynamic-list and
	--dynamic-list-cpp-typeinfo.  Handle --dynamic-list-data and
	--dynamic-list-cpp-new.

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

	* emultempl/elf-generic.em (gdl_map_segments): Only allow header
	shrinkage for the first few iterations.

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

	* configure.tgt: Renamed target x86_64-*-mingw64 to
	x86_64-*-mingw*.

2007-01-08  Pedro Alves  <pedro_alves@portugalmail.pt>

	* configure.host: Add i[3-7]86-*-mingw* case.

2007-01-08  Nick Clifton  <nickc@redhat.com>

	* pep-dll.h (pep_bfd_is_dll): Add prototype.

2007-01-08  Aurelien Jarno  <aurelien@aurel32.net>

	PR ld/3843
	* configure.tgt (x86_64_[k]freebsd*): Add targ_extra_libpath and
	tdir_elf_i386_fbsd.

2007-01-06  Nathan Sidwell  <nathan@codesourcery.com>

	* ldexp.c (fold_name): Issue error on undefined sections.

2007-01-02  Alan Modra  <amodra@bigpond.net.au>

	* pe-dll.c: Include pe-dll.h.
	* pep-dll.c (pe_bfd_is_dll): Define.

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