* ldlang.c (exp_init_os): Handle etree_provide.
[deliverable/binutils-gdb.git] / ld / ChangeLog
index 95c97a36351e43f2dd68ceb3a700f6ebdb0186e1..14f2bf4ddea395a7a2f907d5201132453670ca15 100644 (file)
@@ -1,3 +1,822 @@
+2005-08-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (exp_init_os): Handle etree_provide.
+       * emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from..
+       (OTHER_BSS_END_SYMBOLS): ..this.
+       * emulparams/armelf_linux.sh: Likewise.
+       * emulparams/armnto.sh: Likewise.
+       * emulparams/criself.sh: Likewise.
+       * emulparams/crislinux.sh: Likewise.
+       * emulparams/elf32frv.sh: Likewise.
+       * emulparams/elf32mcore.sh: Likewise.
+       * emulparams/elf32ppc.sh: Likewise.
+       * emulparams/elf32ppclinux.sh: Likewise.
+       * emulparams/hppa64linux.sh: Likewise.
+       * scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not
+       $OTHER_BSS_END_SYMBOLS.
+       * scripttempl/elf32sh-symbian.sc: Likewise.
+       * scripttempl/elf_chaos.sc: Likewise.
+       * scripttempl/iq2000.sc: Likewise.
+       * scripttempl/xstormy16.sc: Likewise.
+       * scripttempl/elf.sc: Likewise.  Delete __bss_start comment.
+       * scripttempl/elfxtensa.sc: Likewise.
+
+2005-07-29  Nick Clifton  <nickc@redhat.com>
+
+       * ldmain.c (main): Allow -shared and -static to be used together.
+       * ld.texinfo (-static): Mention that it is allowed with -shared.
+
+2005-07-28  DJ Delorie  <dj@redhat.com>
+
+       * ldlang.c (lang_output_section_statement_lookup_1): Don't cast a
+       unary & address operator, as that breaks GCC's strict aliasing
+       rules.
+
+2005-07-25  Jan Hubicka  <jh@suse.cz>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emulparams/elf_x86_64.sh (LARGE_SECTIONS): New.
+
+       * scripttempl/elf.sc: Updated for large section support.
+
+2005-07-21  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * configure.tgt: Remove i[3-7]86-*-rtemself*.
+       Remove sparc-*-rtemself*.
+
+2005-07-21  Ben Elliston  <bje@gnu.org>
+
+       * ldgram.y (ldgram_want_filename): Remove unused static.
+
+2005-07-20  DJ Delorie  <dj@redhat.com>
+
+       * emulparams/elf32m32c.sh (TEMPLATE_NAME): New.
+       (EXTRA_EM_FILE): New.
+
+2005-07-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ldmain.c (main): Reindent.
+
+2005-07-19  Paul Brook  <paul@codesourcery.com>
+
+       * configure.host (HOSTING_CRT0): Parse output of gcc --help --verbose
+       to determine dynamic linker name.
+
+2005-07-18  Nick Clifton  <nickc@redhat.com>
+
+       * configure.tgt: Restore alpha ordering to list of arches.
+
+2005-07-16  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/elf32.em (gld*_provide_init_fini_syms): Prototype.
+       (gld*_before_allocation): Call ldemul_do_assignments rather than
+       gld*_provide_init_fini_syms directly.
+       * emultempl/ppc32elf.em (gld*_after_allocation): Delete.
+       (ppc_do_assignments): New function.
+       (LDEMUL_AFTER_ALLOCATION): Don't define.
+       (LDEMUL_DO_ASSIGNMENTS): Define.
+
+2005-07-16  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       (emipsidt.c, emipsidtl.c): Depend on generic.em.
+       * Makefile.in: Regenerate.
+
+2005-07-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldemul.c (ldemul_do_assignments): New function.
+       (do_assignments_default): New function.
+       * ldemul.h (ldemul_do_assignments): Declare.
+       (do_assignments_default): Declare.
+       (struct ld_emulation_xfer_struct): Add do_assignments.
+       * ldlang.c (lang_do_assignments) Call ldemul_do_assignments.
+       * emultempl/aix.em (ld_*_emulation): Init do_assignments field.
+       * emultempl/armcoff.em: Likewise.
+       * emultempl/beos.em: Likewise.
+       * emultempl/generic.em: Likewise.
+       * emultempl/gld960.em: Likewise.
+       * emultempl/gld960c.em: Likewise.
+       * emultempl/linux.em: Likewise.
+       * emultempl/lnk960.em: Likewise.
+       * emultempl/m68kcoff.em: Likewise.
+       * emultempl/pe.em: Likewise.
+       * emultempl/sunos.em: Likewise.
+       * emultempl/ticoff.em: Likewise.
+       * emultempl/vanilla.em: Likewise.
+       * emultempl/elf32.em: Likewise, to call gld*_provide_init_fini_syms.
+       (gld*_find_exp_assignment): Adjust bfd_elf_record_link_assignment call.
+
+2005-07-14  Jim Blandy  <jimb@redhat.com>
+
+       Add support for the Renesas M32C and M16C.
+       * Makefile.am (ALL_EMULATIONS): Add eelf32m32c.o.
+       (eelf32m32c.c): New target.
+       * Makefile.in: Regenerated.
+       * configure.tgt: Add case for m32c-*-elf.
+       * emulparams/elf32m32c.sh: New file.
+
+2005-07-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (strip_excluded_output_sections): Don't call
+       bfd_gc_sections.
+       * emultempl/elf32.em (gld*_provide_bound_symbols): Move.
+       (gld*_provide_init_fini_syms): Move.
+       (gld*_before_allocation): Call the above from here..
+       (gld*_finish): ..not here.  Call _bfd_elf_fix_excluded_sec_syms.
+       * emultempl/hppaelf.em (hppaelf_finish): Likewise.
+       * emultempl/ppc64elf.em (ppc_finish): Likewise.
+
+2005-07-10  Ralf Corsepius <ralf.corsepius@rtems.org>
+
+       * configure.tgt: Remove sparc*-*-rtemsaout*, i[3-7]86-go32-rtems*,
+       i[3-7]86-*-rtemscoff*, hppa*-*-rtems*, mips*el-*-rtems*,
+       powerpcle-*-rtems*.
+
+2005-07-09  Christopher Faylor  <cgf@timesys.com>
+
+       * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Enable runtime
+       relocation by default.
+       (compute_dll_image_base): Avoid linking into cygwin dll address space.
+
+2005-07-08  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (wild_sort): Formatting.
+       (strip_excluded_output_sections): Strip zero size sections here.
+       * emultempl/elf32.em (gld*_strip_empty_sections): Delete.
+       (gld*_finish): Don't call the above.
+       * emultempl/hppaelf.em (hppaelf_finish): Likewise.
+       * emultempl/ppc64elf.em (ppc_finish): Likewise.
+
+2005-07-05  Paul Brook  <paul@codesourcery.com>
+
+       * Makefile.am (ALL_EMULATIONS): Add eelf32ppcvxworks.o.
+       (eelf32ppcvxworks.o): Add dependencies.
+       * Makefile.in: Regenerate.
+       * configure.tgt: Add entry for powerpc-vxworks.
+       * emulparams/elf32-ppc.c: Mention elf32ppcvxworks.sh in comment.
+       * emulparams/elf32ppcvxworks.sh: New file.
+       * emultempl/ppc32elf.em (bfd_elf32_powerpc_vxworks_vec): Declare.
+       (is_ppc_elf32_vec): New function.
+       (ppc_after_open, ppc_before_allocation,
+       gld${EMULATION_NAME}_after_allocation): Use it.
+
+2005-07-05  Peter S. Mazinger" <ps.m@gmx.net>
+
+       * emulparams/elf32bmip.sh (GENERATE_PIE_SCRIPT): Define as "yes".
+       * emulparams/elf32bmipn32-defs.sh (GENERATE_PIE_SCRIPT): Define as "yes".
+
+2005-07-04  Mike Frysinger <vapier@gentoo.org>
+
+       * emulparams/hppalinux.sh (GENERATE_PIE_SCRIPT): Fix typo in
+       name.
+
+2005-07-04  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+       * emulparams/m32relf_linux.sh (GENERATE_PIE_SCRIPT): Set to yes.
+
+2005-07-04  Aurelien Jarno  <aurel32@debian.org>
+
+       * emultempl/elf32.em: Enable use of ld.so.conf for *-*-k*bsd-*.
+
+2005-07-01  Alan Modra  <amodra@bigpond.net.au>
+
+       * scripttempl/elf.sc (.gcc_except_table): Don't KEEP.
+
+2005-06-30  Ben Elliston  <bje@gnu.org>
+
+       * Makefile.am (check-DEJAGNU): Don't search for expect.
+       * Makefile.in: Regenerate.
+
+2005-06-30  Ben Elliston  <bje@gnu.org>
+
+       * Makefile.am (EXPECT): Set to expect.
+       (RUNTEST): Likewise, set to runtest.
+       * Makefile.in: Regenerate.
+
+2005-06-16  Alexander Klimov  <alserkli@inbox.ru>
+
+       * emultempl/armelf.em: Add quotes to avoid a null test
+       expression.
+
+2005-06-12  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * ld.texinfo (Command Line Options): Add @item for --hash-size.
+
+2005-06-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * scripttempt/elf.sc (.bss): Align tail in a way that allows
+       empty section pruning.
+
+2005-06-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * configure.in (AM_BINUTILS_WARNINGS): Add.
+       (BFD_NEED_DECLARATION) Replace with AC_CHECK_DECLS.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * sysdep.h (NEED_DECLARATION_*): Replace with HAVE_DECL_*
+       * ldmain.c: Ditto.
+
+2005-06-09  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldexp.c (fold_unary <ALIGN_K>): Revert last change.
+
+2005-06-09  Alan Modra  <amodra@bigpond.net.au>
+
+       * ld.h (lang_phase_type): Move to..
+       * ldexp.h: ..here.  Add lang_mark_phase_enum.
+       (node_type): Remove etree_undef and etree_unspec.
+       (exp_data_seg): Delete.
+       (struct ldexp_control, expld): New.
+       (invalid, exp_mark_used_section): Delete.
+       (exp_fold_tree, exp_get_vma, exp_get_value_int, exp_get_fill,
+       exp_get_abs_int): Update prototypes.
+       * ldexp.c (assigning_to_dot): Delete.
+       (expld): Define.
+       (make_abs): Operate directly on expld.result.  Update all callers.
+       (new_abs): Likewise.  Return void.
+       (new_rel_from_abs): Rename from new_rel_from_section.
+       (new_rel, new_rel_from_abs): Operate on expld.result and return void.
+       Update all callers.
+       (fold_unary): Operate on expld.result and return void.  Remove
+       "current_section", "allocation_done", "dot", "dotp" and "mark_used"
+       params.  Update all callers.
+       (fold_binary, fold_trinary, fold_name, exp_fold_tree_1): Likewise.
+       (fold_unary <ALIGN_K>): Ensure alignment is absolute.
+       (fold_unary <ABSOLUTE>): Use make_abs.
+       (fold_unary <DATA_SEGMENT_END>): Evaluate mark_phase as for
+       allocating_phase.
+       (fold_binary <DATA_SEGMENT_ALIGN, DATA_SEGMENT_RELRO_END, >): Ditto.
+       (fold_binary <'%','/'>): Don't error if marking.
+       (fold_name <SIZEOF_HEADERS>): Don't call bfd_sizeof_headers when
+       marking.
+       (fold_name <NAME>): Remove FIXME; -R is handled correctly.  Don't
+       error when marking.
+       (fold_name <ADDR, LOADADDR, SIZEOF>): Don't set SEC_KEEP.
+       (exp_fold_tree_1): Don't error when marking.
+       (exp_fold_tree_1 <etree_rel>): Evaluate in all phases except first.
+       (exp_fold_tree_1 <etree_assign to dot>): Don't check for NULL
+       current section, instead check for NULL dotp.
+       (exp_fold_tree_1 <etree_provide>): Don't evaluate the assignment
+       source unless the symbol is referenced and undefined.
+       (exp_fold_tree): Remove "allocation_done" and "dot" params.  Save
+       params to expld.
+       (exp_fold_tree_no_dot): Remove "current_section", "allocation_done
+       and "mark_used" params.  Save params to expld.  Update all callers.
+       (exp_assop): Do without temp var.
+       (exp_print_tree <etree_undef>): Delete code.
+       (exp_get_vma): Remove "allocation_done" param.  Correct error return.
+       (exp_get_fill, exp_get_abs_int): Likewise.
+       (exp_get_value_int): Remove "allocation_done" param.
+       (exp_mark_used_section): Delete.
+       * ldgram.y (fill_exp): Update exp_get_fill call.
+       (origin_spec, length_spec): Update exp_get_vma call.
+       * ldlang.c (lang_init): Don't bother clearing lang_statement_iteration.
+       (lang_mark_used_section_1, lang_mark_used_section): Delete.
+       (strip_excluded_output_sections): Call one_lang_size_sections_pass in
+       marking mode.  Merge old lang_mark_used_section code.  Correct handling
+       of output sections with excluded input sections and data statements.
+       Don't drop non-zero sized sections.  Don't zap os->bfd_section.
+       Do set SEC_EXCLUDE when appropriate.
+       (print_output_section_statement): Update for changed ldexp.c
+       interface.
+       (print_assignment, lang_size_sections_1): Likewise.
+       (lang_do_assignments_1, lang_enter_output_section_statement): Likewise.
+       (lang_new_phdr, lang_record_phdrs): Likewise.
+       (lang_size_sections): Likewise.
+       (insert_pad): Use following statement if it is a pad, rather than
+       creating a new one.
+       (lang_size_sections_1 <lang_output_section_statement_enum>): Do
+       process ignored output section to set vma and lma, but don't
+       update dot for these sections.  Don't error if marking.
+       (lang_size_sections_1 <lang_assignment_statement_enum>): Don't
+       update dot for ignored sections.
+       (lang_size_sections_1 <lang_data_statement_enum>): Don't mark absolute
+       section with SEC_ALLOC.
+       (one_lang_size_sections_pass): New function.
+       (lang_size_sections): Remove first five params.  Set expld.phase on
+       entry and exit.   Use one_lang_size_sections_pass.
+       (lang_do_assignments): Remove all params.  Update all callers.
+       (lang_reset_memory_regions): Clear os->processed for all output
+       section statements.
+       * ldlang.h (lang_do_assignments): Update prototype.
+       (lang_size_sections): Likewise.
+       (one_lang_size_sections_pass): Declare.
+       * pe-dll.c (pe_dll_fill_sections, pe_exe_fill_sections): Update
+       lang_size_sections and lang_do_assignments calls.
+       * emultempl/elf32.em (layout_sections_again): Likewise.
+       * emultempl/ppc64elf.em (ppc_before_allocation): Use
+       one_lang_size_sections_pass.
+
+2005-06-08  Aldy Hernandez  <aldyh@redhat.com>
+
+       * emulparams/elf32ms1.sh: New.
+
+2005-06-07  Eric Christopher  <echristo@redhat.com>
+
+       * Makefile.am (eelf32ms1.c): Use tab.
+       * Makefile.in: Regenerate.
+
+2005-06-07  Aldy Hernandez  <aldyh@redhat.com>
+           Michael Snyder  <msnyder@redhat.com>
+           Stan Cox  <scox@redhat.com>
+
+       * configure.tgt: Same.
+
+       * Makefile.am (ALL_EMULATIONS): Depend on eelf32ms1.o.
+       (eelf32ms1.c): Add eelf32ms1.c rule.
+
+       * Makefile.in: Regenerate.
+
+2005-06-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/ppc64elf.em (ppc_before_allocation): Always run
+       ppc64_elf_edit_opd.
+
+2005-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ldexp.c (exp_mark_used_section): Set SEC_KEEP on current
+       section only if the symbol will be defined.
+
+2005-06-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 992
+       * ldexp.c (exp_mark_used_section): Set SEC_KEEP on current
+       section for etree_assign, etree_provide and etree_provided.
+       Call fold_binary on etree_binary.
+
+       * ldlang.c (lang_mark_used_section_1): Handle load base.
+
+2005-06-03  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldmain.c (link_callbacks): Add einfo.
+       (add_archive_element): Use passed info, not link_info.
+       (constructor_callback): Likewise.
+       (reloc_overflow): Don't handle null bfd specially.
+       (reloc_dangerous, unattached_reloc): Likewise.
+       * ldmisc.c (vfinfo <B>): Print "ld generated" for null bfd.
+       (vfinfo <C, D, G>): Handle null bfd.  Wrap comments.
+
+2005-06-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldexp.h (etree_value_type): Use "asection *" in place of
+       "struct lang_output_section_statement_struct *" for "section".
+       (exp_fold_tree): Likewise.
+       (exp_mark_used_section): Likewise.
+       * ldexp.c (new_rel, new_rel_from_section, fold_unary, fold_binary,
+       fold_trinary, fold_name, exp_fold_tree_1, exp_fold_tree,
+       exp_mark_used_section): Likewise for "current_section" param.
+       (make_abs, new_abs, exp_binop, exp_unop, exp_get_vma, exp_get_fill,
+       exp_get_abs_int): Adjust for above changes.
+       * ldlang.c (lang_mark_used_section_1, print_assignment,
+       lang_size_sections_1, lang_do_assignments_1): Likewise.
+       * ldexp.c (fold_name): Init entire result struct.
+
+2005-06-01  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * emulparams/elf32btsmip.sh: Unset DATA_ADDR.
+
+2005-05-31  Zack Weinberg  <zack@codesourcery.com>
+
+       * ldlang.c (entry_symbol_default): New file-scope global.
+       (lang_finish): Use it, not a hardwired "start".
+       (lang_default_entry): Set it.
+       * ldlang.h: Declare lang_default_entry.
+       * emultempl/beos.em, emultempl/pe.em: Use lang_default_entry,
+       not lang_add_entry, to override default entry point symbol.
+
+2005-05-29  Richard Henderson  <rth@redhat.com>
+
+       * emulparams/elf64alpha.sh (PLT): New.
+       (TEXT_PLT): New.
+       * emultempl/alphaelf.em (disable_relaxation): New.
+       (limit_32bit): Rename from elf64alpha_32bit; update all users.
+       (elf64_alpha_use_secureplt): Declare.
+       (bfd_elf64_alpha_vec, bfd_elf64_alpha_freebsd_vec): Declare.
+       (alpha_after_open): New.
+       (alpha_before_allocation): New.
+       (OPTION_NO_RELAX, OPTION_SECUREPLT, OPTION_NO_SECUREPLT): New.
+       (PARSE_AND_LIST_LONGOPTS): Include them.
+       (PARSE_AND_LIST_OPTIONS): Likewise.
+       (PARSE_AND_LIST_ARGS_CASES): Likewise.
+       (LDEMUL_AFTER_OPEN, LDEMUL_BEFORE_ALLOCATION): New.
+       * scripttempl/elf.sc (TEXT_PLT): New.
+       (PLT): Use it.
+
+2005-05-27  Andreas Schwab  <schwab@suse.de>
+
+       * configure.host (HOSTING_LIBS): Add libunwind.a if it exists.
+
+2005-05-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/ppc32elf.em (after_allocation): Don't call
+       ppc_elf_set_sdata_syms when relocatable.
+
+2005-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.am (ld.1): Revert the last 2 changes.
+       (info-recursive): Depend on ld.1.
+       * Makefile.in: Regenerated.
+
+2005-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.am (ld.1): Depend on "info" instead of
+       "configdoc.texi ldver.texi".
+       * Makefile.in: Regenerated.
+
+2005-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.am (ld.1): Depend on "info".
+       * Makefile.in: Regenerated.
+
+2005-05-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.am: Have 'all' depend on 'info' and 'ld.1'.
+       * Makefile.in: Regenerate.
+
+2005-05-17  Zack Weinberg  <zack@codesourcery.com>
+
+       * ld-arm/mixed-app.d: Adjust expected disassembly a little.
+
+2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.am (ldver.texi): Don't use $<.
+       * Makefile.in: Regenerated.
+
+2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Explicitly include
+       $(srcdir) before $(BFDDIR)/doc.
+       * Makefile.in: Regenerated.
+
+2005-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 797
+       * ldexp.c (exp_fold_tree_1): Renamed from exp_fold_tree and
+       take take a bfd_boolean, mark_used. Ignore assert failure if
+       mark_used is TRUE.
+       (exp_fold_tree) Call exp_fold_tree_1 with mark_used == FALSE.
+       (exp_fold_tree_no_dot): Updated to take a bfd_boolean,
+       mark_used and pass down.
+       (fold_unary): Likewise.
+       (fold_binary): Likewise.
+       (fold_trinary): Likewise.
+       (exp_binop): Add FALSE to call to exp_fold_tree_no_dot.
+       (exp_trinop): Likewise.
+       (exp_unop): Likewise.
+       (exp_nameop): Likewise.
+       (exp_get_vma): Likewise.
+       (exp_get_fill): Likewise.
+       (exp_get_abs_int): Likewise.
+       (fold_name): Likewise. Set SEC_KEEP in output section flags.
+       (exp_mark_used_section): New.
+
+       * ldexp.h (exp_mark_used_section): New.
+
+       * ldlang.c (lang_output_section_statement_lookup_1): Set the
+       ignored field to FALSE.
+       (lang_mark_used_section_1): New.
+       (lang_mark_used_section): Call lang_mark_used_section_1.
+       (strip_excluded_output_sections): Call lang_mark_used_section
+       and check for unused sections.
+       (lang_size_sections_1): Skip an output section if it should
+       be ignored.
+       (lang_do_assignments_1): Likewise.
+       (lang_process): Don't call lang_mark_used_section here.
+
+       * ldlang.h (lang_output_section_statement_type): Change
+       all_input_readonly to bitfield. Add ignored.
+
+2005-05-17  Lennert Buytenhek  <buytenh@wantstofly.org>
+           Peter S. Mazinger" <ps.m@gmx.net>
+
+       * emulparams/armelf_linux.sh (GENERATE_PIE_SCRIPT): Define as "yes".
+       * emulparams/hppalinux.sh (GENERATE_PIE_SCRIPT): Define as "yes".
+
+2005-05-17  Julian Brown <julian@codesourcery.com>
+
+       * ldlang.c (print_assignment): Do not rely upon a valid result
+       having a section associated with it.
+
+2005-05-17  Nick Clifton  <nickc@redhat.com>
+
+       * ldlang.c (Scan_for_self_assignment): Check an assignment tree to
+       see if the same value is being used on the rhs as on the lhs.
+       (print_assignment): Call scan_for_self_assignment and if it
+       returns true, do no display the result of the computation but
+       instead just the final value of the symbol on the lhs.
+       * ld.texinfo: Document this behaviour and provide an example of
+       when it will happen.
+
+2005-05-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * Makefile.am (AM_MAKEINFOFLAGS): Define.
+       (TEXI2DVI): Define.
+       (ldver.texi): Depend on distributed files instead of built files.
+       (ld.info): Include $(srcdir) in the rule target.  Remove actions.
+       (ld.dvi): Remove actions.
+       (MAINTAINERCLEANFILES): Add configdoc.texi.
+       (CONFIG_STATUS_DEPENDENCIES): Add bfd/configure.in.
+       (install-data-local): Renamed from install.
+       (Makefile): Remove explicit dependency.
+       * acinclude.m4: Remove obsolete code.
+       * configure.in: Update AC_PREREQ.  Remove extra $CONFIG_SHELL.
+       * Makefile.in, aclocal.m4, config.in, configure: Regenerated.
+
+2005-05-11  Bob Wilson  <bob.wilson@acm.org>
+
+       * scripttempl/elfxtensa.sc: Sync up with elf.sc.
+       * emulparams/elf32xtensa.sh (PLT, GOT): Define.
+
+2005-05-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldgram.y: Add SPECIAL token.
+       (sect_constraint): Handle SPECIAL.
+       * ldlang.c (lang_output_section_find_1): Don't match SPECIAL.
+       (map_input_to_output_sections): Likewise.
+       * ldlex.l (SPECIAL): Define.
+       * emulparams/elf32ppc.sh (DATA_GOT, SDATA_GOT, SEPARATE_GOTPLT,
+       GOT, PLT, GOTPLT): Define.
+       * emultempl/ppc32elf.em (old_plt, old_got): New static vars.
+       (ppc_after_open): New function.
+       (PARSE_AND_LIST_PROLOGUE): Define OPTION_OLD_LPT and OPTION_OLD_GOT.
+       (PARSE_AND_LIST_LONGOPTS): Add "bss-plt" and "sdata-got".
+       (PARSE_AND_LIST_OPTIONS): Document them.
+       (PARSE_AND_LIST_ARGS_CASES): Handle them.
+       (LDEMUL_AFTER_OPEN): Define.
+       * scripttempl/elf.sc (PLT): Don't override existing define.
+       (DATA_GOT, SDATA_GOT): Define and use to enable alternate got
+       placement rather than using NO_SMALL_DATA.  Emit GOTPLT for RELRO_NOW.
+
+2005-05-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * scripttempl/elf.sc (DATA_SEGMENT_RELRO_GOTPLT_END): Delete.
+       (DATA_SEGMENT_RELRO_END): Use SEPARATE_GOTPLT value.
+       (GOTPLT): Remove DATA_SEGMENT_RELRO_GOTPLT_END.  Place after
+       DATA_SEGMENT_RELRO_END in script.
+
+2005-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
+       Don't use a removed section.
+
+2005-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ldmain.c (reloc_overflow): Use output_bfd if the symbol
+       is defined in the ABS section.
+
+2005-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
+       Put back !link_info.relocatable.
+
+2005-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 878
+       * emultempl/elf32.em (gld${EMULATION_NAME}_provide_init_fini_syms):
+       Just check link_info.executable.
+
+2005-05-06  Nick Clifton  <nickc@redhat.com>
+
+       * Update the address and phone number of the FSF organization in
+       the GPL notices in the following files:
+       aclocal.m4, deffile.h, deffilep.y, fdl.texi, ld.h, ldcref.c,
+       ldctor.c, ldctor.h, ldemul.c, ldexp.c, ldexp.h, ldfile.c,
+       ldfile.h, 20ldgram.y, ldint.texinfo, ldlang.c, ldlang.h, ldlex.h,
+       ldlex.l, ldmain.c, ldmain.h, ldmisc.c, ldmisc.h, ldver.c, ldver.h,
+       ldwrite.c, ldwrite.h, lexsup.c, mri.c, mri.h, pe-dll.c, pe-dll.h,
+       sysdep.h, emultempl/aix.em, emultempl/alphaelf.em,
+       emultempl/armcoff.em, emultempl/armelf.em, emultempl/beos.em,
+       emultempl/crxelf.em, emultempl/elf32.em, emultempl/generic.em,
+       emultempl/gld960.em, emultempl/gld960c.em, emultempl/hppaelf.em,
+       emultempl/ia64elf.em, emultempl/irix.em,  emultempl/linux.em,
+       emultempl/lnk960.em, emultempl/m68hc1xelf.em,
+       emultempl/m68kcoff.em, emultempl/m68kelf.em,
+       emultempl/mipsecoff.em, emultempl/mmix-elfnmmo.em,
+       emultempl/mmixelf.em, emultempl/mmo.em, emultempl/needrelax.em,
+       emultempl/pe.em, emultempl/ppc32elf.em, emultempl/ppc64elf.em,
+       emultempl/sh64elf.em, emultempl/sunos.em, emultempl/ticoff.em,
+       emultempl/vanilla.em, emultempl/xtensaelf.em
+
+2005-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * scripttempl/elf.sc: Document the usage of __bss_start.
+
+2005-05-05  Paul Brook  <paul@codesourcery.com>
+
+       * Makefile.am: Add eelf_i386_vxworks.
+       * Makefile.in: Regenerate.
+       * configure.tgt: Make i?86-*-vxworks use targ_emul=elf_i386_vxworks.
+       * emulparams/elf_i386_vxworks.sh: New file.
+       * emulparams/vxworks.sh: New file.
+       * scripttempl/elf.sc: Add DATA_END_SYMBOLS and ETEXT_NAME.
+
+2005-05-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
+       Call _bfd_elf_provide_section_bound_symbols.
+
+2005-05-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldemul.c: Include bfdlink.h.
+       (ldemul_before_allocation): Assume before_allocation is non-zero.
+       (before_allocation_default): Call strip_excluded_output_sections.
+       * ldlang.c (stripped_excluded_sections): New variable.
+       (lang_add_section): Build input section list for each output
+       section, attached via map_head and map_tail pointers.
+       (strip_excluded_output_sections): Make global.  Traverse the
+       input section lists to find which output sections can go.  Clear
+       link_order pointers and set stripped_excluded_sections.
+       (lang_process): Call strip_excluded_output_sections.
+       * ldlang.h (strip_excluded_output_sections): Declare.
+       * ldwrite.c: Update throuhout for link_order_head -> map_head change.
+       * emultempl/aix.em (before_allocation): Call
+       strip_excluded_output_sections.
+       * emultempl/armcoff.em (before_allocation): Likewise.
+       * emultempl/beos.em (before_allocation): Likewise.
+       * emultempl/linux.em (before_allocation): Likewise.
+       * emultempl/pe.em (before_allocation): Likewise.
+       * emultempl/sunos.em (before_allocation): Likewise.
+       * emultempl/elf32.em (before_allocation): Likewise.  Call
+       bfd_elf_size_dynsym_hash_dynstr too.
+       * emultempl/lnk960.em (lnk960_before_allocation): Delete.
+       (ld_lnk960): Use before_allocation_default.
+
+2005-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_strip_empty_section):
+       Updated for bfd_section_list_remove change.
+       * ldlang.c (lang_insert_orphan): Likewise.
+       (strip_excluded_output_sections): Likewise.
+       (sort_sections_by_lma): New.
+       (lang_check_section_addresses): Sort the sections before
+       checking addresses.
+
+2005-04-29  Ralf Corsepius <ralf.corsepius@rtems.org>
+
+       * configure.tgt: Add h8300*-*-rtemscoff.
+       Switch h8300*-*-rtems* to elf.
+
+2005-04-29  Ben Elliston  <bje@au.ibm.com>
+
+       * ldgram.y (lang_memory_region_type): Make static.
+       (ldgram_want_filename): Likewise.
+       * ldemul.c (ld_emulation): Make static.
+       * ldfile.h (ldfile_find_command_file): Remove extern.
+       * ldfile.c (ldfile_find_command_file): Make static.
+       * ldlang.h (unique_section_list): Remove extern declaration.
+       * ldlang.c (unique_section_list): Make static.
+       * mri.h (symbol_truncate): Remove extern declaration.
+       * mri.c (symbol_truncate): Make static.
+       (order, only_load, address, alias): Likewise.
+       (alignment, subalignment): Likewise.
+
+2005-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols):
+       Use the first SEC_ALLOC section which isn't SEC_READONLY or the
+       last SEC_ALLOC section if such a section doesn't exist.
+
+2005-04-24  Mark Kettenis  <kettenis@gnu.org>
+
+       * configure.host: Add *-*-openbsd support.
+
+2005-04-15  Julian Brown  <julian@codesourcery.com>
+
+       * ld.texinfo: Document --use-blx.
+       * emultempl/armelf.em (use_blx): New variable.
+       (arm_elf_create_output_section_statements): Communicate value of
+       use_blx to bfd.
+       (PARSE_AND_LIST_PROLOGUE): Add OPTION_USE_BLX.
+       (PARSE_AND_LIST_OPTIONS): Add --use-blx option.
+       (PARSE_AND_LIST_ARGS_CASES): Add OPTION_USE_BLX case.
+
+2005-04-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am (NO_WERROR): Define.  Use instead of -Wno-error.
+       * configure.in: Include ../bfd/warning.m4 contents.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+
+2005-04-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       (ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
+       * Makefile.in: Regenerate.
+       * config.in: Regenerate.
+
+2005-04-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Ignore
+       as_needed libs that were not needed.
+       (gld${EMULATION_NAME}_check_needed): Likewise.
+
+2005-04-07  Nick Clifton  <nickc@redhat.com>
+
+       * emultempl/m68kcoff.em: Include ldexp.h and ldlang.h so that
+       ldfile.h can use the lang_input_statement type.
+
+2005-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * ldlang.c: Formatting.
+       (walk_wild_consider_section): Remember return value from wildcardp.
+       (is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen.
+       (wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen.
+
+2005-04-06  Robert O'Callahan  <rocallahan@novell.com>
+
+       * ld.h (lean_section_userdata_type): Remove.
+       (fat_section_userdata_type): Remove file field.
+       (SECTION_USERDATA_SIZE): Remove.
+       * ldlang.c (init_os): Eliminate initialization of unused
+       lean_section_userdata_type.
+
+       * ldlang.h (callback_t, walk_wild_section_handler_t): New
+       typedefs.
+       (struct lang_wild_statement_struct): Add walk_wild_section_handler
+       and handler_data fields.
+       * ldlang.c (callback_t): Removed.
+       (walk_wild_consider_section, walk_wild_section_general,
+       section_iterator_callback, find_section, is_simple_wild,
+       match_simple_wild, walk_wild_section_specs1_wild0,
+       walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1,
+       walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2,
+       wild_spec_can_overlap, analyze_walk_wild_section_handler): New
+       functions.
+       (lang_add_wild): Call analyze_walk_wild_section_handler.
+       (walk_wild_section): Renamed to walk_wild_section_general and
+       created a wrapper function.
+       (section_iterator_callback_data): New typedef.
+
+2005-04-04  Nick Clifton  <nickc@redhat.com>
+
+       * configure.in: Add a check for <unistd.h> providing a prototype
+       for getopt() which is compatible with the one in
+       include/getopt.h.  If so then define HAVE_DECL_GETOPT.
+       * configure: Regenerate.
+       * config.in (HAVE_DECL_GETOPT): Add.
+       * ldemul.c: Include config.h
+       * lexsup.c: Likewise.
+       * emultempl/elf32.sc: Likewise.
+
+2005-03-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_layout_sections_again):
+       New function, extracted from static void gld${EMULATION_NAME}_finish.
+       (gld${EMULATION_NAME}_strip_empty_sections): Likewise.
+       (gld${EMULATION_NAME}_provide_init_fini_syms): Likewise.
+       * emultempl/ppc64elf.em: Revert last change.
+       (ppc_layout_sections_again): Use
+       gld${EMULATION_NAME}_layout_sections_again.
+       (ppc_finish): Don't call gld${EMULATION_NAME}_finish.  Instead call
+       gld${EMULATION_NAME}_strip_empty_sections and
+       gld${EMULATION_NAME}_provide_init_fini_syms.
+       * emultempl/hppaelf.em: Similarly.
+
+2005-03-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/ppc64elf.em (need_laying_out): Delete.  Remove all refs.
+       (ppc_finish): Don't call bfd_elf_discard_info.
+       * emultempl/hppaelf.em: Similarly.
+
+2005-03-24  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+
+2005-03-23  Mike Frysinger  <vapier@gentoo.org>
+           Nick Clifton  <nickc@redhat.com>
+
+       * configure.host: Accept any C library to accompany a GNU Linux
+       implementation, not just the GNU C library.
+       * configure.tgt: Likewise.
+       * emultempl/elf32.em: Likewise.
+
+2005-03-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
+       (gld${EMULATION_NAME}_finish): Call
+       gld${EMULATION_NAME}_provide_bound_symbols to provide
+       __preinit_array_start, __preinit_array_end, __init_array_start,
+       __init_array_end, __fini_array_start and __fini_array_end.
+
+       * scripttempl/elf.sc: Don't provide __preinit_array_start,
+       __preinit_array_end, __init_array_start, __init_array_end,
+       __fini_array_start nor __fini_array_end.
+
+2005-03-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
+       SEC_EXCLUDE on .gnu.warning sections.
+
+2005-03-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
+
+2005-03-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New
+       function.
+       (LDEMUL_AFTER_ALLOCATION): Define.
+
 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
 
        * emultempl/ppc64elf.em (ppc_finish): Rename from
        * scripttempl/maxqcoff.sc: New linker script for target maxq.
        * NEWS: Mention the new target.
 
-2004-11-08  Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
-
-       * testsuite/ld-scripts/weak.exp: Enable test on PE,
-       XFAIL non-i386 PE.
-       * testsuite/ld-undefined/weak-undef.exp: Enable test on PE,
-       XFAIL non-i386 PE.
-       * testsuite/lib/ld-lib.exp (is_pecoff_format): New.
-
 2004-11-04  Daniel Jacobowitz  <dan@debian.org>
 
        * Makefile.am (ALL_EMULATIONS): Remove earmelf_oabi.o.
        * ldlang.c (gc_section_callback): Move SEC_EXCLUDE twiddles..
        (lang_gc_sections): .. to a LANG_FOR_EACH_INPUT_STATEMENT loop here.
 
-2004-05-28  Andrew Stubbs <andrew.stubbs@superh.com>
-
-       * testsuite/ld-sh/arch/arch.exp: New test script.
-       * testsuite/ld-sh/arch/arch_expected.txt: New file.
-       * testsuite/ld-sh/arch/sh.s: New file.
-       * testsuite/ld-sh/arch/sh2.s: New file.
-       * testsuite/ld-sh/arch/sh-dsp.s: New file.
-       * testsuite/ld-sh/arch/sh2e.s: New file.
-       * testsuite/ld-sh/arch/sh3-nommu.s: New file.
-       * testsuite/ld-sh/arch/sh3.s: New file.
-       * testsuite/ld-sh/arch/sh3-dsp.s: New file.
-       * testsuite/ld-sh/arch/sh3e.s: New file.
-       * testsuite/ld-sh/arch/sh4-nommu-nofpu.s: New file.
-       * testsuite/ld-sh/arch/sh4-nofpu.s: New file.
-       * testsuite/ld-sh/arch/sh4.s: New file.
-       * testsuite/ld-sh/arch/sh4a-nofpu.s: New file.
-       * testsuite/ld-sh/arch/sh4al-dsp.s: New file.
-       * testsuite/ld-sh/arch/sh4a.s: New file.
-
 2004-05-28  Alan Modra  <amodra@bigpond.net.au>
 
        * ldlang.c: Formatting.  Wrap long lines, expand bfd_get_section_flags
This page took 0.031167 seconds and 4 git commands to generate.