+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.
2004-08-27 Nick Clifton <nickc@redhat.com>
* emultempl/pe.em (after_open): Do not assume that either bfd is
- an archive.
+ an archive.
2004-08-26 Alan Modra <amodra@bigpond.net.au>