ld/
[deliverable/binutils-gdb.git] / ld / ChangeLog
index 9ca82f612f6efa46c51f60e8b204307bfcf0f357..fc61f7f8ede5373a2f8a98f81c3951e3b1a0545e 100644 (file)
@@ -1,3 +1,329 @@
+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.
+       * emulparms/armsymbian.sh (TARGET2_TYPE): Set.
+
+2004-09-29  Nick Clifton  <nickc@redhat.com>
+
+       * scripttempl/xstormy16.sc: Only perform the assignments to the
+       ROM region when not performing a relocatable link.  The ROM region
+       does not start at address 0, but the sections will.
+       * Makefile.am: Fix linker script dependency for the generation of
+       eelf32xstormy16.c.
+       * Makefile.in: Regenerate.
+
+2004-09-18  Filip Navara  <navaraf@reactos.com>
+
+       * emulparams/arm_epoc_pe.sh, emulparams/armpe.sh, emulparams/i386pe.sh,
+       emulparams/i386pe_posix.sh, emulparams/mcorepe.sh,
+       emulparams/mipspe.sh, emulparams/ppcpe.sh, scripttempl/pe.sc: Define
+       TARGET_PAGE_SIZE.
+       * scripttempl/pe.sc: Make the virtual address and file offset synced if
+       the alignment is lower than the target page size.
+
+2004-09-27  Filip Navara  <navaraf@reactos.com>
+
+       * emultempl/pe.em (gld_${EMULATION_NAME}_unrecognized_file): Allow
+       def_file_parse to handle pe_def_file if NULL and prevent crash with
+       invalid .def files.
+
+2004-09-27  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Enable
+       --emit-stub-syms automatically when --emit-relocs.
+
+2004-09-24  Paul Brook  <paul@codeosurcery.com>
+
+       * scripttempl/elf.sc: Keep .preinit_array, .init_array and
+       .fini_array sections.
+
+2004-09-19  Andreas Schwab  <schwab@suse.de>
+
+       * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Adjust data segment
+       base so that relro end is suitably aligned.
+
+2004-09-17  Paul Brook  <paul@codesourcery.com>
+
+       * ld.texinfo: Rename arm-specific section.  Document --target*
+       * emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
+       * emulparams/armelf_linux.sh: Ditto.
+       * emulparams/armelf_nbsd.sh: Ditto.
+       * emultempl/armelf.em: Set default for TARGET2_TYPE.
+       (target2_type): New variable.
+       (arm_elf_before_allocation): Don't pass target1_type.
+       (arm_elf_create_output_section_statements): New function.
+       (PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
+       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
+       (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
+       (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
+       * emultempl/armelf_oabi.em (_before_allocation): Remove extra
+       argument to bfd_elf32_arm_process_before_allocation.
+
+2004-09-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldexp.c (fold_name): Update u.undef.next refs.
+       * emultempl/pe.em: Likewise.
+       * emultempl/sunos.em: Likewise.
+
+2004-09-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       * Makefile.in: Regenerate.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+       * po/ld.pot: Regenerate.
+
+2004-09-16  Tomer Levi  <Tomer.Levi@nsc.com>
+
+       * scripttempl/elf32crx.sc (.init): Add KEEP for section's *personality*.
+       (.fini): Likewise.
+       (.jcr): Likewise.
+
+2004-09-16  Alan Modra  <amodra@bigpond.net.au>
+
+       * emultempl/armelf_oabi.em (before_allocation): Add extra zero param
+       to bfd_elf32_arm_process_before_allocation call.
+
+2004-09-13  Paul Brook  <paul@codesourcery.com>
+
+       * emulparams/armsymbian.sh: Set TARGET1_IS_REL.
+       * emultempl/armelf.em: Use TARGET1_IS_REL.  Add --target1-{rel,abs}.
+
+2004-09-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated with autconfig 2.13.
+
+2004-09-07  Andreas Schwab  <schwab@suse.de>
+
+       * ldexp.c (fold_binary) [DATA_SEGMENT_ALIGN]: Apply data segment
+       alignment before adjusting DATA_SEGMENT_RELRO_END.
+
+2004-09-06  Mark Mitchell  <mark@codesourcery.com>
+
+       * emulparams/armsymbian.sh: Use armbpabi script.
+       * scripttempl/armbpabi.sc: New script.
+
+2004-09-02  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
+       (earmsymbian.c): New target.
+       * configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
+       * Makefile.in: Regenerated.
+       * aclocal.m4: Likewise.
+       * configure: Likewise.
+       * emulparams/armsymbian.sh: New file.
+
+2004-09-03  Tomer Levi  <Tomer.Levi@nsc.com>
+
+       * scripttempl/elf32crx.sc: Edit file with comments.
+       (.init): Add new section.
+       (.fini): Likewise.
+       (.ctor): Control the linkage order.
+       (.dtor): Likewise.
+
+2004-08-27  Nick Clifton  <nickc@redhat.com>
+
+       * emultempl/pe.em (after_open): Do not assume that either bfd is
+       an archive.
+
+2004-08-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (lang_init): Don't compare with TRUE.
+
+2004-08-25  Dmitry Diky  <diwil@spec.ru>
+
+       * emulparams/msp430all.sh: Fix RAM sizes for all targets.
+       * scripttempl/elf32msp430.sc: Add .profiler section definition.
+
 2004-08-24  H.J. Lu  <hongjiu.lu@intel.com>
 
        * ldlang.c (wildcardp): Defined as a macro with strpbrk.
This page took 0.027499 seconds and 4 git commands to generate.