ld/
[deliverable/binutils-gdb.git] / ld / ChangeLog
index f9a078054a60d9d2126d41a05f577edc214e80d9..fc61f7f8ede5373a2f8a98f81c3951e3b1a0545e 100644 (file)
@@ -1,3 +1,191 @@
+2004-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 63
+       * ldlang.h (lang_output_section_statement_type): Make "next" a
+       struct lang_output_section_statement_struct *.
+       (struct orphan_save): Move from elf32.em.  Add "name" and "flags".
+       (lang_output_section_find_by_flags, lang_insert_orphan): Declare.
+       * ldlang.c (lang_output_section_find_1): Adjust for changed
+       output_section_statement "next".
+       (strip_excluded_output_sections): Likewise.
+       (lang_record_phdrs): Likewise.
+       (lang_output_section_find_by_flags): New function.
+       (output_prev_sec_find): Move from pe.em.  Adjust iterator.
+       (lang_insert_orphan): New function.  Tail end of elf32.em's
+       place_orphan merged with that from pe.em.  Allow bfd_section to
+       be placed first.  New heuristic for placing new output section
+       statement in existing script, and accompanying split of __start
+       symbol alignment into a separate assignment to dot.
+       (lang_add_section): Consistently use output->bfd_section rather than
+       an alias, section->output_section.
+       (map_input_to_output_sections): Rename overly long arg.  Move
+       initialization of data_statement output section to here..
+       (lang_check_section_addresses): ..from here.
+       (print_assignment): Correct printing of etree_assert.
+       (print_all_symbols): Don't bomb if userdata is NULL.
+       (IGNORE_SECTION): Rearrange.
+       * emultempl/elf32.em (output_rel_find): Adjust interator.
+       (output_prev_sec_find): Delete.
+       (struct orphan_save): Delete.
+       (gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
+       flags without creating a duplicate output section statement.
+       Revise code holding history of various orphan section placements.
+       Allow orphan sections to place before script specified output
+       sections.  Call lang_output_section_find_by_flags when placement
+       by name fails.  Use lang_insert_orphan.
+       * emultempl/mmo.em (output_prev_sec_find): Delete.
+       (struct orphan_save): Delete.
+       (mmo_place_orphan): Revise code holding history of orphan placement.
+       Allow orphans to place before existing output sections.  Use
+       lang_insert_orphan.
+       * emultempl/pe.em (output_prev_sec_find): Delete.
+       (struct orphan_save): Delete.
+       (gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
+       lang_insert_orphan.
+
+2004-10-13  Mark Mitchell  <mark@codesourcery.com>
+
+       * scripttempl/armbpabi.sc: Do not put .gnu.version.* into a
+       loadable segment.
+
+2004-10-13  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 44
+       * ldcref.c (check_section_sym_xref): Delete.
+       (check_local_sym_xref): New function.
+       (check_nocrossrefs): Adjust call.
+       * emultempl/pe.em (struct orphan_save): Add os_tail.
+       (place_orphan): Backport assorted fixes from elf32.em.
+
+2004-10-12  Bob Wilson  <bob.wilson@acm.org>
+
+       * emultempl/xtensaelf.em: Use ISO C90 formatting.
+
+2004-10-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_parse_ld_so_conf): Avoid
+       getline for portability.
+
+       * emultempl/elf32.em (gld${EMULATION_NAME}_ld_so_conf): New structure.
+       (gld${EMULATION_NAME}_parse_ld_so_conf,
+       gld${EMULATION_NAME}_parse_ld_so_conf_include): New functions.
+       (gld${EMULATION_NAME}_check_ld_so_conf): Use them.
+
+2004-10-11  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 423
+       * ldfile.c (ldfile_try_open_bfd): Ensure dynamic objects are
+       rejected when linking statically.
+
+2004-10-08  Daniel Jacobowitz  <dan@debian.org>
+
+       * configure.tgt: Include elf_x86_64 for i[3-7]86-*-solaris2*.
+
+2004-10-07  Bob Wilson  <bob.wilson@acm.org>
+
+       * ld.texinfo (Xtensa): Describe new linker relaxation to optimize
+       assembler-generated longcall sequences.  Describe new --size-opt
+       option.
+       * emulparams/elf32xtensa.sh (OTHER_SECTIONS): Add .xt.prop section.
+       * emultempl/xtensaelf.em (remove_section,
+       replace_insn_sec_with_prop_sec, replace_instruction_table_sections,
+       elf_xtensa_after_open): New.
+       (OPTION_OPT_SIZEOPT, OPTION_LITERAL_MOVEMENT,
+       OPTION_NO_LITERAL_MOVEMENT): Define.
+       (elf32xtensa_size_opt, elf32xtensa_no_literal_movement): New globals.
+       (PARSE_AND_LIST_LONGOPTS): Add size-opt and [no-]literal-movement.
+       (PARSE_AND_LIST_OPTIONS): Add --size-opt.
+       (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_OPT_SIZEOPT,
+       OPTION_LITERAL_MOVEMENT, and OPTION_NO_LITERAL_MOVEMENT.
+       (LDEMUL_AFTER_OPEN): Set to elf_xtensa_after_open.
+       * scripttempl/elfxtensa.sc: Update with changes from elf.sc.
+       * Makefile.am (eelf32xtensa.c): Update dependencies.
+       * Makefile.in: Regenerate.
+
+2004-10-07  Jeff Baker  <jbaker@qnx.com>
+
+       * lexsup.c: Handle --warn-shared-textrel option.
+       (ld_options): Restore alpha sorting of options.
+       * ldmain.c (main): Initialise warn_shared_info field to FALSE.
+       * ld.texinfo: Add documentation for --warn-shared-textrel.
+       * NEWS: Added mention of --warn-shared-textrel option.
+
+2004-10-05  Tomer Levi  <Tomer.Levi@nsc.com>
+
+       * emultempl/crxelf.em (disable_relaxation): Add.
+       (crxelf_before_allocation): Enable --relax option by default.
+       (PARSE_AND_LIST_PROLOGUE): Add OPTION_NO_RELAX.
+       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --no-relax.
+       (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_NO_RELAX.
+
+2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
+       --sort-section name|alignment.
+
+       * ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
+       --sort-section name|alignment.
+
+       * ld.h (sort_type): New enum.
+       (wildcard_spec): Change the type of `sorted' to sort_type.
+
+       * ldgram.y (SORT): Removed.
+       (SORT_BY_NAME): Added.
+       (SORT_BY_ALIGNMENT): Added.
+       (wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
+       SORT_BY_ALIGNMENT.
+       (input_section_spec_no_keep): Updated `sorted'.
+       (statement): Replace SORT with SORT_BY_NAME.
+
+       * ldlang.c (compare_section): New function to compare 2
+       sections with different sorting schemes.
+       (wild_sort): Updated. Use compare_section.
+       (update_wild_statements): New function.
+       (lang_process): Call update_wild_statements before
+       map_input_to_output_sections.
+
+       * ldlex.l (SORT_BY_NAME): New.
+       (SORT_BY_ALIGNMENT): New.
+       (SORT): Return SORT_BY_NAME.
+
+       * ldmain.c (sort_section): New. Defined.
+       (main): Initialize it to none.
+
+       * lexsup.c (option_values): Add OPTION_SORT_SECTION.
+       (ld_options): Add an entry for OPTION_SORT_SECTION.
+       (parse_args): Handle OPTION_SORT_SECTION.
+
+       * mri.c (mri_draw_tree): Updated `sorted'.
+
+2004-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * ldgram.y (DATA_SEGMENT_RELRO_END): Add one argument.
+       * scripttempl/elf.sc (DATA_SEGMENT_RELRO_END): Add 0 as first
+       argument.
+       (DATA_SEGMENT_RELRO_GOTPLT_END): Pass $SEPARATE_GOTPLT as first
+       and . as second argument.
+       (GOTPLT): Move $DATA_SEGMENT_RELRO_GOTPLT_END before the section.
+       * ldexp.c (fold_unary): Remove DATA_SEGMENT_RELRO_END handling here.
+       (fold_binary): Add it here.  Insert padding to make relro_end
+       COMMONPAGESIZE bytes aligned.  For DATA_SEGMENT_ALIGN in
+       exp_dataseg_relro_adjust phase just use previously computed
+       exp_data_seg.base.
+       * ldlang.c (lang_size_sections): Set exp_data_seg.base for
+       relro_adjust here.  Call lang_size_sections_1 once more if there
+       was too big padding at DATA_SEGMENT_RELRO_END.
+       * ld.texinfo (DATA_SEGMENT_RELRO_END): Add documentation.
+
+2004-10-01  Paul Brook  <paul@codesourcery.com>
+
+       * emulparams/armelf.sh: Add unwinding table sections.
+
+2004-09-30  Filip Navara  <navaraf@reactos.com>
+
+       * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Generate
+       correct base address for position independant executables.
+       * pe-dll.c (pe_dll_fill_sections): Don't mark position independant
+       executables as DLLs.
+
 2004-09-30  Paul Brook  <paul@codesourcery.com>
 
        * ld.texinfo: Document --target2=abs.
This page took 0.027609 seconds and 4 git commands to generate.