OSDN Git Service

* scripttempt/elf.sc (.bss): Align tail in a way that allows
[pf3gnuchains/pf3gnuchains3x.git] / ld / ChangeLog
index befde5d..977e4c9 100644 (file)
@@ -1,3 +1,230 @@
+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.
+
+>>>>>>> 1.1366
+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'.