2009-12-17  Dave Korn  <[email protected]>

       * pe-dll.c (generate_reloc): Take account of wrapper options when
       testing if a weak symbol is defined or not, and when it is not,
       consider whether the default value requires a base reloc anyway.

2009-12-17  Dave Korn  <[email protected]>

       * deffilep.y (def_file_free): Add missing shadow parameter renaming.
       (def_file_print): Likewise.
       (def_stash_module): Likewise.
       (def_file_add_import): Likewise.

2009-12-11  Nick Clifton  <[email protected]>

       * Makefile.in: Regenerate.
       * configure: Regenerate.
       * deffilep.y: Fix shadowed variable warnings.
       * ldlang.c: Likewise.
       * ldmain.c: Likewise.
       * pe-dll.c: Likewise.
       * emultempl/elf32.em: Likewise.

2009-12-09  Alan Modra  <[email protected]>

       PR ld/11012
       * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Move .rela.opd ..
       (INITIAL_RELOC_SECTIONS): .. to here.  New define.
       * scripttempl/elf.sc: Expand INITIAL_RELOC_SECTIONS.

2009-12-04  Jie Zhang  <[email protected]>

       * ld.texinfo: Make it clear that --nmagic disables linking
       against shared libraries.

2009-11-30  Joseph Myers  <[email protected]>

       * configure: Regenerate.

2009-11-30  Alan Modra  <[email protected]>

       PR ld/11006
       * lexsup.c (parse_args): Allow nested --start-group, --end-group.

2009-11-27  Tristan Gingold  <[email protected]>

       * pe-dll.c (pe_implied_import_dll): Return early if there is no
       export entries.

2009-11-26  Nick Clifton  <[email protected]>

       PR ld/10956
       * ld.h (struct args_type): Rename 'relax' field to
       'disable_target_specific_optimizations' and turn it into a
       tri-state variable.
       (RELAXATION_DISABLED_BY_DEFAULT): New macro.
       (RELAXATION_DISABLED_BY_USER): New macro.
       (RELAXATION_ENABLED): New macro.
       (DISABLE_RELAXATION): New macro.
       (ENABLE_RELAXATION): New macro.
       * lexsup (enum option_values): Add OPTION_NO_RELAX.
       (struct ld_options): Add --no-relax.
       (parse_args): Handle OPTION_NO_RELAX.  Use DISABLE_RELAXATION and
       ENABLE_RELAXATION macros.
       * ldlang.c (lang_relax_sections): Use RELAXATION_ENABLED macro.
       (lang_process): Likewise.
       * ldmain.c (main): Initialise
       disable_target_specific_optimizations field.
       (multiple_definition): Use RELAXATION_ENABLED macro.
       * ld.texinfo: Document new command line option.
       * emultempl/alphaelf.em: Remove --no-relax option.
       (before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
       Use ENABLE_RELAXATION macro.
       * emultempl/avrelf.em: (after_allocation): Test RELAXATION_ENABLED
       macro.
       * emultempl/cr16elf.em: Remove --no-relax option.
       (before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
       Use ENABLE_RELAXATION macro.
       * emultempl/crxelf.em: Remove --no-relax option.
       (before_allocation): Test RELAXATION_DISABLED_BY_USER macro.
       Use ENABLE_RELAXATION macro.
       * emultempl/mmix-elfnmmo.em: (before_allocation): Use
       ENABLE_RELAXATION macro.
       * emultempl/needrelax.em: (before_allocation): Use
       ENABLE_RELAXATION macro.
       * emultempl/ppc32elf.em: (before_allocation): Test
       RELAXATION_DISABLED_BY_DEFAULT macro. Use
       ENABLE_RELAXATION macro.
       * emultempl/sh64elf.em: (before_allocation): Test
       RELAXATION_ENABLED macro. Use DISABLE_RELAXATION macro.
       * emultempl/xtensaelf.em: Remove --no-relax option.
       (before_allocation): Test RELAXATION_ENABLED macro.
       Use ENABLE_RELAXATION macro.

2009-11-25  Kai Tietz  <[email protected]>

       * scripttempl/pe.sc: (.note.GNU-stack): Mark as discardable.
       (.gnu.lto_*): Likewise.
       * scripttempl/pep.sc: (.note.GNU-stack): Mark as discardable.
       (.gnu.lto_*): Likewise.

2009-11-23  Paul Brook  <[email protected]>

       * ldexp.c: Copy symbol type for simple assignments.

2009-11-20  Thomas Schwinge  <[email protected]>

       * emulparams/armelf.sh (OTHER_READONLY_SECTIONS)
       <__exidx_start, __exidx_end>: Use PROVIDE_HIDDEN.
       * emulparams/armelf_linux_eabi.sh (OTHER_READONLY_SECTIONS)
       <__exidx_start, __exidx_end>: Likewise.
       * emulparams/armsymbian.sh (OTHER_READONLY_SECTIONS)
       <.ARM.exidx$$Base, __exidx_start, __exidx_end, .ARM.exidx$$Limit>:
       Likewise.

2009-11-19  Matthias Klose  <[email protected]>

       PR ld/9863
       * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE
       with __data_start.

2009-11-19  Ben Elliston  <[email protected]>

       * ldlex.l: Enable nounput flex option.

2009-11-15  Kai Tietz  <[email protected]>

       * pe-dll.c (pe_undef_alias_cdecl_match): New function.
       (pe_find_cdecl_alias_match): New function.
       (pe_process_import_defs): Add matching for import symbols
       declared as cdecl for fastcall/stdcall.
       * emultempl/pe.em (pe_undef_cdecl_match): Treat fastcall
       symbols, too.
       (pe_fixup_stdcalls): Likewise.
       (gld_XXX_after_open): Redo scanning for imported
       fastcall/stdcall symbols as cdecl one.
       * emultempl/pep.em (pep_undef_cdecl_match): Treat fastcall
       symbols, too.
       (pep_fixup_stdcalls): Likewise.
       (gld_XXX_after_open): Redo scanning for imported
       fastcall/stdcall symbols as cdecl one.

2009-11-11  Nick Clifton  <[email protected]>

       * po/id.po: Updated Indonesian translation.

2009-11-11  Jan Kratochvil  <[email protected]>

       * configure.in: Call ACX_LARGEFILE.  Stop calling AC_SYS_LARGEFILE.
       * aclocal.m4: Regenerate.
       * configure: Regenerate.

2009-11-10  Nick Clifton  <[email protected]>

       PR ld/10864
       * ld.texinfo (Entry Point): Mention that the default entry symbol
       is not 'start' on some targets.

2009-11-06  H.J. Lu  <[email protected]>

       PR ld/10912
       * ldmain.c (add_DT_NEEDED_for_dynamic): Default to TRUE.

2009-11-06  Kai Tietz  <[email protected]>

       * pe.em (DEFAULT_PSEUDO_RELOC_VERSION): New macro.
       (gld_XXX_before_parse): Set pseudo-relocation default
       version to DEFAULT_PSEUDO_RELOC_VERSION.
       (gldXXX_handle_option): Likewise.


2009-11-05  Nick Clifton  <[email protected]>

       * lexsup.c: Rename --add-needed to --copy-dt-needed-entries.
       * ldlang.h (struct lang_input_statement_struct): Rename add_needed
       to add_DT_NEEDED_for_dynamic.  Rename as_needed to
       add_DT_NEEDED_for_regular.
       * ldlang.c: Likewise.
       * ldlang.h: Likewise.
       * ldlang.c: Use the new variable names.
       * ldgram.y: Likewise.
       * emultempl/elf32.em: Likewise.
       * ld.texinfo: Document the renamed option.  Also mention its
       affect on the resolution of dynamic symbols.
       * NEWS: Mention the changed option name.

2009-11-04  Kai Tietz  <[email protected]>

       * emulparams/arm_epoc_pe.sh: Remove ENTRY.
       * emulparams/arm_wince_pe.sh: Likewise.
       * emulparams/i386pe.sh: Likewise.
       * emulparams/i386pe_posix.sh: Likewise.
       * emulparams/mcorepe.sh: Likewise.
       * emulparams/mipspe.sh: Likewise.
       * emulparams/ppcpe.sh: Likewise.
       * emulparams/armpe.sh: Likewise.
       * emulparams/i386pep.sh: Likewise.
       * emulparams/shpe.sh: Likewise.
       Additionally cleaned up double-defined
       variables SUBSYSTEM and INITIAL_SYMBOL_CHAR.
       * emultempl/pe.em: Remove use of ENTRY.
       (pe_subsystem): New local variable.
       (gld_XXX_before_parse): Don't set default
       entry point here.
       (set_entry_point): New function to set entry
       point.
       (set_pe_subsystem): Remove code for entry point.
       (gld_XXX_after_parse): Use set_entry_point here.
       * emultempl/pep.em: Likewise.

2009-10-29  Nathan Sidwell  <[email protected]>

       * emulparams/vxworks.sh (OTHER_READONLY_SECTIONS): Move into ...
       (OTHER_READWRITE_SECTIONS): ... here.

2009-10-28  Kai Tietz  <[email protected]>

       * emultempl/pep.em (U): Define underscore macro.
       (init): Use for __ImageBase U macro.

2009-10-23  Kai Tietz  <[email protected]>

       * deffile.h (def_file_export): New member its_name.
       (def_file_import): Likewise.
       (def_file_add_export): Add argument its_name.
       (def_file_add_import): Likewise.
       * deffilep.y (def_exports): Add argument its_name.
       (def_import): Likewise.
       (EQUAL): Add new token for '=='.
       (opt_equalequal_name): New rule.
       (expline): Add rule opt_equalequal_name.
       (impline): Likewise.
       (def_file_free): Free for exports and imports
       the optional member its_name.
       (def_lex): Add scan of '==' as EQUAL.
       * pe-dll.c (pe_export_sort): Sort for its_name too.
       (process_def_file_and_drectve): Adjust calls to
       def_file_add_export.
       (generate_edata): Take its_name in account.
       (make_one): Likewise.
       (pe_process_import_defs): Likewise.
       (pe_dll_generate_def_file): Add print of new '==' option.
       * ld.texinfo: Extend documentation about .def file syntax.
       * NEWS: Mention new feature.

2009-10-23  Kai Tietz  <[email protected]>

       * deffilep.y (def_lex): Allow '<' and '>' characters in identifier
       strings.

2009-10-23  Ryan Mansfield  <[email protected]>

       PR ld/10489
       * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Handle
       drive specifiers for DOS based filesystems in rpath-link strings.

2009-10-19  Nick Clifton  <[email protected]>

       * Makefile.am: Remove spurious sanitization marker.
       * Makefile.in: Regenerate.

2009-10-16  Dmitry Gorbachev  <[email protected]>

       * emultempl/pe.em (OPTION_EXCLUDE_ALL_SYMBOLS): New macro.
       (gld${EMULATION_NAME}_add_options): Add new --exclude-all-symbols option
       to exclude all symbols from automatic export.
       (gld_${EMULATION_NAME}_list_options): Describe it.
       (gld${EMULATION_NAME}_handle_option): Handle it.
       * emultempl/pep.em: Likewise to all the above.
       * pe-dll.c (pe_dll_exclude_all_symbols): New variable.
       (process_def_file_and_drectve): Use it.
       * pe-dll.h (pe_dll_exclude_all_symbols): Declare.
       * pep-dll.c (pep_dll_exclude_all_symbols): Define pep_ alias.
       * pep-dll.h (pe_dll_exclude_all_symbols): Declare.
       * NEWS: Mention the new feature.
       * ld.texinfo: Document the new command line switch.

2009-10-14  Andreas Schwab  <[email protected]>

       * ldlex.l (yy_input): Remove second argument and return the value
       instead.
       (YY_INPUT): Adjust.

2009-10-14  Alan Modra  <[email protected]>

       * emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix.

2009-10-14  Ryan Mansfield  <[email protected]>

       * ldlang.c (load_symbols): Set whole_archive from entry when
       parsing a linker script.

2009-10-10  Alan Modra  <[email protected]>

       * scripttempl/elf32cr16.sc: Revert 2009-09-28 changes.
       * scripttempl/elf32cr16c.sc: Likewise.
       * scripttempl/elf32crx.sc: Likewise.
       * scripttempl/tic54xcoff.sc: Likewise.
       * scripttempl/aix.sc: Likewise.
       * scripttempl/avr.sc: Likewise.
       * scripttempl/elf32msp430.sc: Likewise.
       * scripttempl/elf32msp430_3.sc: Likewise.
       * scripttempl/elf32sh-symbian.sc: Likewise.
       * scripttempl/elf_chaos.sc: Likewise.
       * scripttempl/elfi370.sc: Likewise.
       * scripttempl/nw.sc: Likewise.
       * scripttempl/psos.sc: Likewise.
       * scripttempl/armbpabi.sc: Likewise.
       * scripttempl/elf.sc: Likewise.
       * scripttempl/elf64hppa.sc: Likewise.
       * scripttempl/elfd10v.sc: Likewise.
       * scripttempl/elfd30v.sc: Likewise.
       * scripttempl/elfm68hc11.sc: Likewise.
       * scripttempl/elfm68hc12.sc: Likewise.
       * scripttempl/elfmicroblaze.sc: Likewise.
       * scripttempl/elfxtensa.sc: Likewise.
       * scripttempl/iq2000.sc: Likewise.
       * scripttempl/mep.sc: Likewise.
       * scripttempl/xstormy16.sc: Likewise.

2009-10-09  Alan Modra  <[email protected]>

       PR ld/10749
       * ldlang.c (lang_size_sections_1): Zero section vmas only for COFF.

2009-10-08  Alan Modra  <[email protected]>

       PR ld/10744
       * ldlang.c (lang_new_phdr): Allow FILEHDR/PHDRS on more than the
       first PT_LOAD header.
       * ld.texinfo: Update.

2009-10-06  Nathan Sidwell  <[email protected]>

       * ldlang.c (lang_new_phdr): Check PHDRS and FILEHDR in loadable
       segments do not appear after a different loadable segment.
       * ld.texinfo (PHDRS): Document order of processing segments.
       Document where PHDRS and FILEHDR may appear.

2009-10-03  Alan Modra  <[email protected]>

       * emultempl/ppc32elf.em (emit_stub_syms): Init to -1.
       (ppc_after_open): Set emit_stubs_syms by default when shared.
       (OPTION_NO_STUBSYMS): Define.
       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
       PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.
       * emultempl/ppc64elf.em (emit_stub_syms): Init to -1.
       (gld${EMULATION_NAME}_finish): Set emit_stubs_syms by default.
       (OPTION_NO_STUBSYMS): Define.
       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
       PARSE_AND_LIST_ARGS_CASES): Handle --no-emit-stub-syms.

2009-09-29  Joel Sherrill <[email protected]>

       * emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75
       (rts).

2009-09-29  DJ Delorie  <[email protected]>

       * Makefile.am: Add rules to build RX emulation.
       * configure.tgt: Likewise.
       * NEWS: Mention support for RX architecture.
       * Makefile.in: Regenerate.
       * emulparams/elf32rx.sh: New file.
       * emultempl/rxelf.em: New file.

2009-09-29  Alan Modra  <[email protected]>

       * ldlang.c (lang_size_sections_1): Allow scripts to specify a
       non-zero vma even when relocatable.

2009-09-28  Alan Modra  <[email protected]>

       * scripttempl/elf32cr16.sc: Emit empty script for ld -r and ld -Ur.
       * scripttempl/elf32cr16c.sc: Likewise.
       * scripttempl/elf32crx.sc: Likewise.
       * scripttempl/tic54xcoff.sc: Likewise.
       * scripttempl/aix.sc: Delete ${RELOCATING-0}.
       * scripttempl/avr.sc: Likewise.
       * scripttempl/elf32msp430.sc: Likewise.
       * scripttempl/elf32msp430_3.sc: Likewise.
       * scripttempl/elf32sh-symbian.sc: Likewise.
       * scripttempl/elf_chaos.sc: Likewise.
       * scripttempl/elfi370.sc: Likewise.
       * scripttempl/nw.sc: Likewise.
       * scripttempl/psos.sc: Likewise.
       * scripttempl/armbpabi.sc: Delete ${RELOCATING-0} and ${CONSTRUCTING-0}.
       * scripttempl/elf.sc: Likewise.
       * scripttempl/elf64hppa.sc: Likewise.
       * scripttempl/elfd10v.sc: Likewise.
       * scripttempl/elfd30v.sc: Likewise.
       * scripttempl/elfm68hc11.sc: Likewise.
       * scripttempl/elfm68hc12.sc: Likewise.
       * scripttempl/elfmicroblaze.sc: Likewise.
       * scripttempl/elfxtensa.sc: Likewise.
       * scripttempl/iq2000.sc: Likewise.
       * scripttempl/mep.sc: Likewise.
       * scripttempl/xstormy16.sc: Likewise.

2009-09-27  Christopher Faylor  <[email protected]>

       PR ld/10634
       * ldlang.c (lang_size_sections_1): Always force output vma to zero for
       relocatable sections.
       (lang_size_sections_1): Revert previous COFF-only accommodation for
       relocatable sections.

2009-09-25  Martin Thuresson  <[email protected]>

       Update sources to make arm targets compile cleanly with
       -Wc++-compat:
       * emultempl/armelf.em: Add casts.

2009-09-23  Matt Rice  <[email protected]>

       * emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit,
       --depaudit, and -P options.
       (gld${EULATION_NAME}_handle_options): Ditto.
       (gld${EULATION_NAME}_list_options): Ditto.
       (gld${EMULATION_NAME}_append_to_separated_string): New function for
       handling rpath-like colon separated strings.
       (gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit
       libs to bfd.  Propagate DT_AUDIT from needed libs to depaudit.
       * ld.texinfo: Document new options.

2009-09-23  Nick Clifton  <[email protected]>

       * po/vi.po: Updated Vietnamese translation.

2009-09-22  Alan Modra  <[email protected]>

       * scripttempl/a29k.sc: Delete.
       * scripttempl/ebmon29k.sc: Delete.
       * scripttempl/m68klynx.sc: Delete.
       * scripttempl/sa29200.sc: Delete.
       * scripttempl/sparclynx.sc: Delete.

2009-09-21  Alan Modra  <[email protected]>

       * emultempl/ppc32elf.em (no_tls_get_addr_opt): New var.
       (ppc_before_allocation): Pass to ppc_elf_tls_setup.
       (OPTION_NO_TLS_GET_ADDR_OPT): Define.  Redefine other options in
       terms of previous option.
       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
       --no-tls-get-addr-optimize.
       (PARSE_AND_LIST_ARGS_CASES): Handle it.
       * emultempl/ppc64elf.em (no_tls_get_addr_opt): New var.
       (ppc_before_allocation): Pass to ppc64_elf_tls_setup.
       (OPTION_NO_TLS_GET_ADDR_OPT): Define.
       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
       --no-tls-get-addr-optimize.
       (PARSE_AND_LIST_ARGS_CASES): Handle it.

2009-09-18  Nick Clifton  <[email protected]>

       * po/es.po: Updated Spanish translation.

2009-09-13  Alan Modra  <[email protected]>

       PR ld/6766
       * lexsup.c (parse_args <-e>): Revert 2009-03-18 change.
       * ldemul.c (after_parse_default): Add entry symbol as undef.
       * emultempl/alphaelf.em (alpha_after_parse): Call after_parse_default.
       * emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
       * emultempl/crxelf.em (crxelf_after_parse): Likewise.
       * emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
       * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise.
       * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call
       after_parse_default and delete now duplicate code.
       * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise.
       * scripttempl/elf32cr16.sc: No need to make entry extern.
       * scripttempl/elf32cr16c.sc: Likewise.
       * scripttempl/elf32crx.sc: Likewise.
       * scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link.

2009-09-11  Nick Clifton  <[email protected]>

       * po/ld.pot: Updated by the Translation project.
       * po/fi.po: Updated Finnish translation.

2009-09-11  Martin Thuresson  <[email protected]>

       Updated sources to compile cleanly with -Wc++-compat:
       * ld.h (enum endian_enum,enum symbolic_enum,enum
       dynamic_list_enum): Move to top level.
       * ldcref.c: Add casts.
       * ldctor.c: Add casts.
       * ldexp.c
       * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
       * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead
       of integer.
       * ldlang.h (enum statement_enum): Move to top level.
       * ldmain.c: Add casts.
       * ldwrite.c: Add casts.
       * lexsup.c: Add casts. (enum control_enum): Move to top level.
       * mri.c: Add casts. (mri_draw_tree): Use enum name instead of
       integer.

2009-09-09  Alan Modra  <[email protected]>

       * scripttempl/aix.sc: Only provide ENTRY on final link.
       * scripttempl/alpha.sc: Likewise.
       * scripttempl/armcoff.sc: Likewise.
       * scripttempl/crisaout.sc: Likewise.
       * scripttempl/delta68.sc: Likewise.
       * scripttempl/ebmon29k.sc: Likewise.
       * scripttempl/elf32xc16x.sc: Likewise.
       * scripttempl/elf32xc16xl.sc: Likewise.
       * scripttempl/elfmicroblaze.sc: Likewise.
       * scripttempl/epocpe.sc: Likewise.
       * scripttempl/h8300.sc: Likewise.
       * scripttempl/h8300h.sc: Likewise.
       * scripttempl/h8300hn.sc: Likewise.
       * scripttempl/h8300s.sc: Likewise.
       * scripttempl/h8300sn.sc: Likewise.
       * scripttempl/h8300sx.sc: Likewise.
       * scripttempl/h8300sxn.sc: Likewise.
       * scripttempl/hppaelf.sc: Likewise.
       * scripttempl/i386beos.sc: Likewise.
       * scripttempl/i386coff.sc: Likewise.
       * scripttempl/i386go32.sc: Likewise.
       * scripttempl/m68kaux.sc: Likewise.
       * scripttempl/m68klynx.sc: Likewise.
       * scripttempl/m88kbcs.sc: Likewise.
       * scripttempl/maxqcoff.sc: Likewise.
       * scripttempl/mcorepe.sc: Likewise.
       * scripttempl/mips.sc: Likewise.
       * scripttempl/ppcpe.sc: Likewise.
       * scripttempl/sa29200.sc: Likewise.
       * scripttempl/sparccoff.sc: Likewise.
       * scripttempl/sparclynx.sc: Likewise.
       * scripttempl/tic4xcoff.sc: Likewise.
       * scripttempl/tic54xcoff.sc: Likewise.
       * scripttempl/tic80coff.sc: Likewise.
       * scripttempl/z8000.sc: Likewise.

2009-09-07  Tristan Gingold  <[email protected]>

       * po/ld.pot: Regenerate.

2009-09-05  Martin Thuresson  <[email protected]>

       * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols,
       gld${EMULATION_NAME}_try_needed): Rename variable class to
       link_class.

2009-09-04  Tristan Gingold  <[email protected]>

       * NEWS: Add marker for 2.20.

2009-09-04  Alan Modra  <[email protected]>

       * scripttempl/elf.sc (.text): Add cold text sections.

2009-09-04  Jie Zhang  <[email protected]>

       * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Add .l2.text
       and .l2.data.

2009-09-03  Dave Korn  <[email protected]>

       * scripttempl/pe.sc (.text): Add "*(.text.*)" in order to catch
       new GCC hot/cold/unlikely partitions.
       * scripttempl/pep.sc: Likewise.
       * scripttempl/epocpe.sc: Likewise.
       * scripttempl/mcorepe.sc: Likewise.
       * scripttempl/ppcpe.sc: Likewise.

2009-09-01  Ralf Wildenhues  <[email protected]>

       * Makefile.am (ldgram.o, ldlex.o, deffilep.o): Supply correct
       source file name for generated files which may be in $(srcdir).
       * Makefile.in: Regenerate.

2009-09-01  H.J. Lu  <[email protected]>

       * ldver.c (ldversion): Change to "Copyright 2009".

2009-09-01  Jie Zhang  <[email protected]>

       * scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext,
       _stack and __bss_start.
       * emulparams/bfin.sh (ENTRY): Remove.

2009-08-30  Alan Modra  <[email protected]>

       PR ld/10569
       * ldexp.c (fold_name <MAXPAGESIZE>): Return config.maxpagesize.
       (fold_name <COMMONPAGESIZE>): Similarly.
       * ldlang.c (output_target): Make global.
       * ldlang.h (output_target): Declare.
       * ldmain.c (main): Set config.maxpagesize from bfd_emul_get_maxpagesize.
       Similarly for config.commonpagesize.
       * ldemul.c (set_output_arch_default): Call bfd_emul_set_maxpagesize
       and bfd_emul_set_commonpagesize.
       * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Don't call
       bfd_emul_set_maxpagesize or bfd_emul_set_commonpagesize here.

2009-08-29  Martin Thuresson  <[email protected]>

       * ldexp.c (exp_intop, exp_bigintop, exp_relop, exp_binop)
       (exp_trinop, exp_unop, exp_nameop, exp_assop): Rename variable new
       to new_e.
       * ldfile.c (ldfile_add_library_path): Rename variable new to
       new_dirs. (ldfile_add_arch): Rename variable new to new_arch.
       * ldlang.c (new_statement, lang_final, lang_add_wild)
       (lang_target, lang_add_fill, lang_add_data, lang_add_assignment)
       (lang_add_insert): Rename variable new to new_stmt. (new_afile):
       Added missing cast. (lang_memory_region_lookup): Rename variable
       new to new_region. (init_os): Rename variable new to
       new_userdata. (lang_add_section): Rename variable new to
       new_section. (ldlang_add_undef): Rename variable new to
       new_undef. (realsymbol): Rename variable new to new_name.

2009-08-26  Nick Clifton  <[email protected]>

       PR ld/10555
       * emultempl/elf32.em (_after_open): Do not create a
       .note.gnu-build-id section if there are no input files.

2009-08-24  Nick Clifton  <[email protected]>

       * scripttempl/elfxtensa.sc (DISCARDED): Discard sections with
       .gnu.lto_ prefix.
       * scripttempl/armbpabi.sc: Likewise.
       * scripttempl/elf32sh-symbian.sc: Likewise.
       * scripttempl/elf64hppa.sc: Likewise.
       * scripttempl/mep.sc: Likewise.

2009-08-24  Ralf Wildenhues  <[email protected]>

       * Makefile.am (ldmain.o, ldfile.o): Fix typos in non-fastdep
       rules.
       (eelf32_spu.o): Add dependency tracking.
       * Makefile.in: Regenerate.

       * Makefile.am (am__skiplex, am__skipyacc): New.
       * Makefile.in: Regenerate.

2009-08-22  Ralf Wildenhues  <[email protected]>

       * Makefile.am (bin_PROGRAMS): Renamed from ...
       (noinst_PROGRAMS): ... this.
       (transform): Override, including the renaming of ld-new to ld.
       (install-exec-local): Installation of ld in $(bindir) not needed
       here any more.
       (AM_CPPFLAGS): Renamed from ...
       (INCLUDES): ... this.
       (MAINTAINERCLEANFILES): Add ld.1.
       * Makefile.in: Regenerate.

       * Makefile.am (AUTOMAKE_OPTIONS): Remove cygnus.  Add
       no-texinfo.tex, no-dist, foreign.
       (TEXINFO_TEX): New variable.
       (install-data-local): Removed, not needed any more.
       (all): Dependencies upon info and ld.1 not needed any more.
       (MKDEP, DEP, DEP1, dep.sed, dep, dep-in, dep-am): Removed.
       (mkdep generated section): Removed.
       (ldgram.o, ldlex.o, deffilep.o, ldmain.o, ldfile.o): Rewrite to
       use automake dependency tracking mechanism.
       (EXTRA_ld_new_SOURCES): Add pep-dll.c, pe-dll.c, and
       $(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c) so their
       dependencies are tracked too.
       (BUILT_SOURCES): New, list $(GENERATED_HFILES) to ensure they
       are built early.
       * configure.in: Use AM_MAINTAINER_MODE.
       * aclocal.m4, configure, Makefile.in: Regenerate.

       * Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
       (install-pdf-recursive, html__strip_dir, install-html)
       (install-html-am, install-html-recursive): Remove.
       * Makefile.in: Regenerate.

       * Makefile.in: Regenerate.
       * aclocal.m4: Likewise.
       * config.in: Likewise.
       * configure: Likewise.

2009-08-21  Richard Guenther  <[email protected]>

       * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix.

2009-08-12  Tristan Gingold  <[email protected]>

       * ld.h (fat_user_section_struct): Add map_symbol_def_count field.
       * ldlang.c (hash_entry_addr_cmp): New function.
       (print_all_symbols): Sort the symbols by address before printing them.

2009-08-10  Alan Modra  <[email protected]>

       PR 10474
       * ldemul.c (after_allocation_default): Run lang_relax_sections.
       * ldlang.h (lang_relax_sections): Declare.
       * ldlang.c (relax_sections): Delete.
       (lang_relax_sections): New function.
       (lang_process): Don't relax directly from here.
       * emultempl/alphaelf.em (alpha_finish): Call finish_default.
       * emultempl/armelf.em (arm_elf_after_allocation): Delete.  Move body..
       (gld${EMULATION_NAME}_finish): ..to here.  Move existing code..
       (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
       (LDEMUL_AFTER_ALLOCATION): Update.
       * emultempl/avrelf.em (avr_elf_finish, LDEMUL_FINISH): Delete.
       (avr_elf_after_allocation): New function.
       (LDEMUL_AFTER_ALLOCATION): Define.
       * emultempl/elf-generic.em (gld${EMULATION_NAME}_map_segments): Call
       lang_relax_sections.
       * emultempl/elf32.em (gld${EMULATION_NAME}_finish): Delete.  Move..
       (gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
       (LDEMUL_AFTER_ALLOCATION, LDEMUL_FINISH): Update.
       * emultempl/genelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
       (gld${EMULATION_NAME}_after_allocation): ..code to here.  New function.
       (LDEMUL_FINISH): Delete.
       (LDEMUL_AFTER_ALLOCATION): Define.
       * emultempl/hppaelf.em (gld${EMULATION_NAME}_finish): Delete.  Move..
       (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
       (LDEMUL_FINISH): Delete.
       (LDEMUL_AFTER_ALLOCATION): Define.
       * emultempl/m68hc1xelf.em (m68hc11elf_finish): Delete.  Move..
       (m68hc11elf_after_allocation): ..to here.  New function.
       (LDEMUL_FINISH): Delete.
       (LDEMUL_AFTER_ALLOCATION): Define.
       * emultempl/m68kelf.em (m68k_elf_after_allocation): Call
       gld${EMULATION_NAME}_after_allocation.
       * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Call
       gld${EMULATION_NAME}_after_allocation.
       * emultempl/mmo.em (mmo_finish): Delete.  Move body..
       (gld${EMULATION_NAME}_after_allocation): ..to here.  New function.
       (LDEMUL_FINISH): Define.
       * emultempl/ppc64elf.em (ppc_layout_sections_again): Set elf_gp.
       (gld${EMULATION_NAME}_finish): Move code sizing sections..
       (gld${EMULATION_NAME}_after_allocation): ..to here.
       * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation):
       Call gld${EMULATION_NAME}_after_allocation.
       * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Delete
       bfd_elf_discard_info and map_segments call.

2009-08-06  Michael Eager <[email protected]>

       * Makefile.am: Add eelf32mb_linux.o, eelf32microblaze.o to
       ALL_EMULATIONS, targets.
       * Makefile.in: Regenerate.
       * configure.tgt: Add microblaze*-linux*, microblaze* targets.
       * emulparams/elf32mb_linux.sh: New.
       * emulparams/elf32microblaze.sh. New.
       * scripttempl/elfmicroblaze.sc: New.

2009-08-05  Trevor Smigiel  <[email protected]>

       * emulparams/elf32_spu.sh (OTHER_READONLY_SECTIONS): Add .fixup
       section and __fixup_start symbol.
       * emultempl/spuelf.em (params): Initialize emit_fixups member.
       (spu_before_allocation): Call spu_elf_size_sections.
       (OPTION_SPU_EMIT_FIXUPS): Define.
       (PARSE_AND_LIST_LONGOPTS): Add --emit-fixups.
       (PARSE_AND_LIST_ARGS_CASES): Handle --emit-fixups.
       * ld.texinfo (--emit-fixups): Document.

2009-08-04  Alan Modra  <[email protected]>

       PR 10474
       * emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize,
       not size, after lang_reset_memory_regions.

2009-07-30  Alan Modra  <[email protected]>

       * emulparams/elf32ppc.sh (PLT): Don't include ".iplt".
       * emulparams/elf_i386.sh (IREL_IN_PLT): Define.
       * emulparams/elf_x86_64.sh (IREL_IN_PLT): Define.
       * scripttempl/elf.sc: Create separate .iplt and .rela.iplt sections
       when !IREL_IN_PLT.

2009-07-29  Hans-Peter Nilsson  <[email protected]>

       * scripttempl/mmo.sc: For relocateable links, set $OUTPUT_FORMAT to
       the new $RELOCATEABLE_OUTPUT_FORMAT, if set.
       (OUTPUT_FORMAT): Use the variable $OUTPUT_FORMAT.
       (ENTRY): Don't emit for relocateable links.
       (/DISCARD/): Don't discard .gnu.warning.* for relocateable links.
       * emulparams/mmo.sh (RELOCATEABLE_OUTPUT_FORMAT): Set, to
       elf64-mmix.
       * emulparams/elf64mmix.sh (OTHER_TEXT_SECTIONS): Empty, don't
       provide "Main" or set "_start.", for relocateable links.

2009-07-27  Nick Clifton  <[email protected]>

       * (po/fi.po): Updated Finnish translation.

2009-07-25  H.J. Lu  <[email protected]>

       * configure.tgt (targ64_extra_emuls): Add elf_l1om if elf_x86_64
       is supported.  Add elf_l1om_fbsd if elf_x86_64_fbsd is supported.
       (targ_extra_emuls): Likewise.

       * Makefile.am (ALL_64_EMULATIONS): Add eelf_l1om.o and
       eelf_l1om_fbsd.o
       (eelf_l1om.c): New.
       (eelf_l1om_fbsd.c): Likewise.
       * Makefile.in: Regenerated.

       * emulparams/elf_l1om.sh: New.
       * emulparams/elf_l1om_fbsd.sh: Likewise.

2009-07-23  Ulrich Drepper  <[email protected]>

       * NEWS: Mention the linker's support for symbols with a binding of
       STB_GNU_UNIQUE.

2009-07-22  H.J. Lu  <[email protected]>

       PR ld/10429
       * ldlang.c (insert_os_after): Tie assignments to non-alloc
       output sections if there is no-input section.

2009-07-11  Alan Modra  <[email protected]>

       * ldlang.c (insert_os_after): Don't tie assignments to non-alloc
       output sections.

2009-07-10  Alan Modra  <[email protected]>

       * emultempl/ppc32elf.em (ppc_before_allocation): Turn on
       linker relaxation if it might be necessary.

2009-07-10  Alan Modra  <[email protected]>

       * emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt.

2009-07-06  Matthias Klose <[email protected]>

       * ld.texinfo: Fix typo.

2009-07-03  Tristan Gingold  <[email protected]>

       * scripttempl/pep.sc: Put .eh_frame in its own section.
       * scripttempl/pe.sc: Ditto.

2009-06-26  Kai Tietz  <[email protected]>

       * scripttempl/pe.sc (.debug_pubtypes): Added section rule.
       * scripttempl/pep.sc: Likewise.

2009-06-25  Tristan Gingold  <[email protected]>

       * ldlang.c (print_input_section): Add is_discarded parameter.  Adjust
       prototype.
       (lang_map): Print the size of discarded sections.
       (print_statement): Adjust call to print_input_section.

2009-06-18  Dave Korn  <[email protected]>

       Merge cegcc and mingw32ce target name changes from CeGCC project:

       2008-09-24  Pedro Alves  <[email protected]>

       * configure.tgt (arm*-*-cegcc*): Set LIB_PATH to
       ${tooldir}/lib/w32api.

       2007-12-25  Pedro Alves  <[email protected]>

       * configure.tgt: Add arm*-*-cegcc* target.

       2007-12-17  Pedro Alves  <[email protected]>

       * configure.tgt: Add arm-*-mingw32ce* target.

2009-06-10  Philip Blundell  <[email protected]>

       * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash
       if section has no ELF data.

2009-06-06  H.J. Lu  <[email protected]>

       * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.

2009-06-05  H.J. Lu  <[email protected]>

       * scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.

2009-06-04  Alan Modra  <[email protected]>

       * dep-in.sed: Don't use \n in replacement part of s command.
       * Makefile.am (DEP1): LC_ALL for uniq.
       * Makefile.in: Regenerate.

2009-06-01  H.J. Lu  <[email protected]>

       * scripttempl/elf.sc (PLT): Add "*(.iplt)".
       (GOT): Add "*(.igot.plt)a" and "*(.igot)".
       (GOTPLT): Add "*(.igot)".
       (__rel_iplt_start): New.
       (__rel_iplt_end): Likewise.
       (__rela_iplt_start): Likewise.
       (__rela_iplt_end): Likewise.

2009-05-27  Dave Korn  <[email protected]>

       * deffilep.y (%union):  Add new string-type semantic value 'digits'.
       (%token):  Remove NUMBER as token, add DIGITS.
       (%type):  Add NUMBER as type.  Add new id types anylang_id, opt_id.
       (ALIGNCOMM):  Parse an anylang_id instead of a plain ID.
       (anylang_id):  New production.
       (opt_digits):  Likewise.
       (opt_id):  Likewise.
       (NUMBER):  Likewise.
       (def_lex):  Return strings of digits in raw string form as DIGITS
       token, instead of converting to numeric integer type.

2009-05-26  Nathan Sidwell  <[email protected]>

       * ldmain.c (main): Don't reject --relax -r.
       * ld.texinfo (PowerPC ELF32): Document behaviour of relaxing
       partial links.

2009-05-26  Nick Clifton  <[email protected]>

       * po/id.po: Updated Indonesian translation.
       * po/ld.pot: Updated template file.

2009-05-26  Alan Modra  <[email protected]>

       * dep-in.sed: Output one filename per line with all lines having
       continuation backslash.  Prefix first line with "A", following
       lines with "B".
       * Makefile.am (DEP): Don't use dep.sed here.
       (DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
       sort and uniq.
       * Makefile.in: Regenerate.

2009-05-26  Alan Modra  <[email protected]>

       * ldlang.c (lang_check_section_addresses): Ignore non-alloc sections.

2009-05-22  Julian Brown  <[email protected]>

       * emultempl/armelf.em (fix_cortex_a8): New.
       (arm_elf_before_allocation): Call bfd_elf32_arm_set_cortex_a8_fix.
       (arm_elf_create_output_section_statements): Add fix_cortex_a8 to
       bfd_elf32_arm_set_target_relocs.
       (OPTION_FIX_CORTEX_A8, OPTION_NO_FIX_CORTEX_A8): New.
       (PARSE_AND_LIST_LONGOPTS): Add [no-]fix-cortex-a8 options.
       (PARSE_AND_LIST_OPTIONS): Add [no-]fix-cortex-a8 options.
       (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_[NO_]FIX_CORTEX_A8.
       * ld.texinfo (--[no-]fix-cortex-a8): Briefly document new options.

2009-05-22  Nathan Sidwell  <[email protected]>

       * ldlang.c (lang_check_section_addresses): Ignore non-loadable
       sections when checking for overlap.  Clarify error message
       concerns load address.

2009-05-22  Alan Modra  <[email protected]>

       * Makefile.am: Run "make dep-am".
       * Makefile.in: Regenerate.

2009-05-19  Dave Korn  <[email protected]>

       * NEWS:  Mention new feature.
       * deffile.h (def_file_aligncomm):  Add new struct definition.
       (def_file):  Add new def_file_aligncomm member.
       * deffilep.y (%token):  Add new ALIGNCOMM token.
       (command):  Add production rule for ALIGNCOMM.
       (def_file_free):  Free any chained def_file_aligncomm structs.
       (diropts[]):  Add entry for '-aligncomm' .drectve command.
       (def_aligncomm):  New grammar function.
       * ld.texinfo:  Document new feature.
       * pe-dll.c (process_def_file):  Rename from this ...
       (process_def_file_and_drectve):  ... to this, updating all callers,
       and process any aligncomms chained to the def file after scanning
       all .drectve sections.
       (generate_edata):  Updated to match.
       (pe_dll_build_sections):  Likewise.

2009-05-17  Aaron W. LaFramboise  <[email protected]>

       * pe-dll.c (process_def_file): Do not create empty export table.

2009-05-15  Alan Modra  <[email protected]>

       * ldlang.c (lang_output_section_statement_lookup): Add function
       comment.  Make "name" non-const.  Ensure duplicate entries use
       the same string, allowing simple comparison in hash bucket loop.
       Tweak constraint check.
       (next_matching_output_section_statement): New function.
       * ldlang.h (lang_output_section_statement_lookup): Update.
       (next_matching_output_section_statement): Declare.
       * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
       combine orphan sections when input sections flags differ in
       alloc or load.
       * emultempl/pe.em: Formatting throughout.
       (gld${EMULATION_NAME}_place_orphan): As for elf32.em.
       * emultempl/pep.em: Formatting throughout.
       (gld${EMULATION_NAME}_place_orphan): As for elf32.em.

2009-05-14  Ulrich Weigand  <[email protected]>

       * emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use
       compact stubs with software i-cache.

2009-05-14  Alan Modra  <[email protected]>

       * emultempl/spuelf.em (spu_before_allocation): Call
       spu_elf_place_overlay_data.

2009-05-14  Alan Modra  <[email protected]>

       * ldlang.c (lang_insert_orphan): Add __start_<section> symbol
       assignment inside output section statement.  Ensure only one
       set of symbols per output section.
       * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Add non-
       dollar sections before dollar sections.  Correct add_child
       list insertion.
       * emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.

2009-05-05  Paul Brook  <[email protected]>

       * emultempl/armelf.em (compare_output_sec_vma): New function.
       (gld${EMULATION_NAME}_finish): Add exidx munging code.

2009-05-05  Anatoly Sokolov  <[email protected]>

       * scripttempl/avr.sc (MEMORY): Use DATA_ORIGIN.
       * emulparams/avr1.sh (DATA_ORIGIN): Add.
       * emulparams/avr2.sh (DATA_ORIGIN): Add.
       * emulparams/avr25.sh (DATA_ORIGIN): Add.
       * emulparams/avr3.sh (DATA_ORIGIN): Add.
       * emulparams/avr31.sh (DATA_ORIGIN): Add.
       * emulparams/avr35.sh (DATA_ORIGIN): Add.
       * emulparams/avr4.sh (DATA_ORIGIN): Add.
       * emulparams/avr5.sh (DATA_ORIGIN): Add.
       * emulparams/avr51.sh (DATA_ORIGIN): Add.
       (DATA_LENGTH): Update.
       * emulparams/avr6.sh (DATA_ORIGIN): Add.
       (DATA_LENGTH): Update.

2009-05-04  Dave Korn  <[email protected]>

       * NEWS:  Mention new feature.
       * ld.texinfo (--version-script):  Document extent of PE support.
       (WIN32):  Mention --version-script.  Extend auto-export description.
       * pe-dll.c (process_def_file):  Use version script info to filter
       symbols from auto-export.
       * testsuite/ld-pe/vers-script-1.d:  New file.
       * testsuite/ld-pe/vers-script-2.d:  New file.
       * testsuite/ld-pe/vers-script-3.d:  New file.
       * testsuite/ld-pe/vers-script-4.d:  New file.
       * testsuite/ld-pe/vers-script-1.ver:  New file.
       * testsuite/ld-pe/vers-script-2.ver:  New file.
       * testsuite/ld-pe/vers-script-3.ver:  New file.
       * testsuite/ld-pe/vers-script-4.ver:  New file.
       * testsuite/ld-pe/vers-script-dll.c:  New file.
       * testsuite/ld-pe/vers-script.exp:  New test script.

2009-05-01  Nathan Sidwell  <[email protected]>

       * emulparams/vxworks.sh (TEXT_START_ADDR): Override.

2009-04-30  Nick Clifton  <[email protected]>

       * NEWS: Mention support for IFUNC symbols.

2009-04-29  Anthony Green  <[email protected]>

       * emulparams/elf32moxie.sh (STACK_ADDR): Move default stack
       position out to accommodate larger programs.

2009-04-29  Chris Demetriou  <[email protected]>

       * lexsup.c (option_values): Add OPTION_NO_EXPORT_DYNAMIC.
       (ld_options): Likewise.
       (parse_args): Likewise.
       * ld.texinfo: Document --no-export-dynamic.
       * NEWS: Mention --no-export-dynamic.

2009-04-29  Alan Modra  <[email protected]>

       * deffilep.y (STACKSIZE_K): Rename from STACKSIZE.

2009-04-25  Alan Modra  <[email protected]>

       PR 10061
       * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT
       param.

2009-04-21  Daniel Jacobowitz  <[email protected]>

       * emultempl/armelf.em (bfd_for_interwork, arm_elf_after_open)
       (arm_elf_set_bfd_for_interworking): Delete.
       (arm_elf_before_allocation): Do not set the interworking BFD.
       Move allocation inside not-dynamic block.
       (arm_elf_create_output_section_statements): Create glue sections
       and set the interworking BFD here.
       (LDEMUL_AFTER_OPEN): Delete.

2009-04-16  Richard Sandiford  <[email protected]>

       * ldlang.c (lang_one_common): Use bfd_define_common_symbol.

2009-04-15  Anthony Green  <[email protected]>

       * configure.tgt: Add moxie support.
       * Makefile.am: Add moxie files.
       * Makefile.in: Rebuilt.
       * emulparams/elf32moxie.sh: New file.
       * scripttempl/moxie.sc: New file.

2009-04-15  Kazu Hirata  <[email protected]>

       * ldlang.c: Do not include limits.h.

2009-04-14  Alan Modra  <[email protected]>

       PR ld/10047
       * ldfile.c (find_scripts_dir): Use make_relative_prefix to find
       ldscripts in build tree.  Don't repeat search for ../lib/ldscripts.

2009-04-13  H.J. Lu  <[email protected]>

       * ldfile.c (ldfile_find_command_file): Revert the last change.

2009-04-11  H.J. Lu  <[email protected]>

       PR ld/10047
       * ldfile.c (ldfile_find_command_file): First try raw name.

2009-04-09  Nick Clifton  <[email protected]>

       PR 9824
       * ld.texinfo (Output Section Constraint): New node.  Documents the
       ONLY_IF_RO and ONLY_IF_RW constraints.
       (Symbolic Constants): New node.  Documents the CONSTANT operator.

2009-04-09  Thilo Fischer <[email protected]>

       * emultempl/spuelf.em (embedded_spu_file): Use pex_one in place
       of fork/execvp.

2009-04-08  H.J. Lu  <[email protected]>

       * lexsup.c (option_values): Add OPTION_WARN_ALTERNATE_EM.
       (ld_options): Likewise.
       (parse_args): Likewise.

       * ld.texinfo: Document --warn-alternate-em.

       * NEWS: Mention --warn-alternate-em.

2009-04-07  DJ Delorie  <[email protected]>

       * emulparams/elf32mep.sh: Change default endian to little.

2009-04-07  Nick Clifton  <[email protected]>

       * ld.texinfo (Output Section Address): Note that specifying an
       address for an output section will only change the location
       counter if the output section is used.

2009-04-06  Kazu Hirata  <[email protected]>

       * ldfile.c (ldfile_find_command_file): Initialize result.

2009-04-06  Kazu Hirata  <[email protected]>

       * ld.texinfo (-L): Mention that -L options do not affect how ld
       searches for a linker script unless -T option is specified.
       * ldfile.c (ldfile_find_command_file): Append the path obtained
       from the program name to the search path instead of
       prepending. Add a new parameter "default_only". Restrict the
       search to the default script location if the new parameter is
       true.
       (ldfile_open_command_file_1): New.
       (ldfile_open_command_file): Call ldfile_open_command_file_1.
       (ldfile_open_default_command_file): New.

2009-04-03  Nathan Sidwell  <[email protected]>

       * ldlang.c (lang_leave_output_section_statement): Set lma_region
       if it is not overridden and section is for the same vma region as
       the previous section.

2009-04-02  Dave Korn  <[email protected]>

       PR ld/6744
       * ld.texinfo (--export-dynamic):  Mention --export-all-symbols.
       * emultempl/pe.em (gld_${EMULATION_NAME}_after_parse):  Issue
       warning if --export-dynamic was passed on command-line.
       * emultempl/pep.em (gld_${EMULATION_NAME}_after_parse):  Likewise.

2009-04-01  Richard Sandiford  <[email protected]>

       * emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New
       function.
       (ld_${EMULATION_NAME}_emulation): Use it.

2009-03-20  H.J. Lu  <[email protected]>

       PR ld/9970
       * ldlang.c (lang_end): Warn missing entry symbol for -pie.

2009-03-19  Alan Modra  <[email protected]>

       * emultempl/spuelf.em (spu_before_allocation): Report errors from
       spu_elf_find_overlays.

2009-03-18  H.J. Lu  <[email protected]>

       PR ld/6766
       * lexsup.c (parse_args): Call ldlang_add_undef for -e.

2009-03-18  Alan Modra  <[email protected]>

       * ld.h: Remove alloca handling.

2009-03-17  Alan Modra  <[email protected]>

       * emultempl/spu_icache.S: Add new entry to dummy handler.
       * emultempl/spu_icache.o_c: Regenerate.
       * emultempl/spuelf.em (params): Init new field.
       (no_overlays): New static var.
       (spu_before_allocation): Use it.
       (OPTION_SPU_COMPACT_STUBS): Define.
       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add compact-stubs.
       (PARSE_AND_LIST_ARGS_CASES): Handle compact-stubs.  Adjust no-overlays
       handling.

2009-03-17  Alan Modra  <[email protected]>

       * configure.host (HOSTING_LIBS): Two dollars on shell variable
       expansion to suit make.

2009-03-17  Alan Modra  <[email protected]>

       * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
       * Makefile.am (check-DEJAGNU): Set DO_COMPARE.
       * aclocal.m4: Regenerate.
       * configure: Regenerate.
       * Makefile.in: Regenerate.

2009-03-14  Richard Sandiford  <[email protected]>

       * emultempl/aix.em (auto_export_flags): New variable.
       (explicit_auto_export_flags): Likewise.
       (OPTION_EXPALL, OPTION_EXPFULL): New enum values.
       (OPTION_NOEXPALL, OPTION_NOEXPFULL): Likewise.
       (gld${EMULATION_NAME}_add_options): Add -bexpall, -bexpfull,
       -bnoexpall and -bnoexpfull.
       (gld${EMULATION_NAME}_handle_option): Handle them.
       (gld${EMULATION_NAME}_before_allocation): Update the call to
       bfd_size_dynamic_sections.

2009-03-14  Richard Sandiford  <[email protected]>

       * emultempl/aix.em (gld${EMULATION_NAME}_handle_option): Make
       -berok and -bernotok control link_info.unresolved_syms_in_objects
       and link_info.unresolved_syms_in_shared_libs instead of
       force_make_executable.

2009-03-14  Richard Sandiford  <[email protected]>

       * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set
       config.dynamic_link to TRUE.

2009-03-14  Richard Sandiford  <[email protected]>

       * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark
       .text, .data and .bss output sections as SEC_KEEP.

2009-03-14  Richard Sandiford  <[email protected]>

       * configure.tgt: Extend AIX 5 behavior to AIX 6 and above.

2009-03-14  Dave Korn  <[email protected]>
           Danny Smith  <[email protected]>

       * emultmpl/pe.em (pe_dll_characteristics): New variable.
       (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
       OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
       OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
       New macros for options to set DllCharacteristics flag bits.
       (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
       nxcompat, no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
       (init): Add DllCharacteristics field.
       (gld_${EMULATION_NAME}_list_options): List new options.
       (gld${EMULATION_NAME}_handle_option): Handle new options.
       * emultmpl/pep.em (pe_dll_characteristics): New variable.
       (OPTION_DYNAMIC_BASE, OPTION_FORCE_INTEGRITY, OPTION_NX_COMPAT,
       OPTION_NO_ISOLATION. OPTION_NO_SEH, OPTION_NO_BIND,
       OPTION_WDM_DRIVER, OPTION_TERMINAL_SERVER_AWARE):
       New macros for options to set DllCharacteristics flags.
       (gld${EMULATION_NAME}_add_options): Add dynamicbase, forceinteg,
       nxcompat,no-isolation, no-seh, no-bind, wdmdriver, tsaware options.
       (init): Add DllCharacteristics field.
       (gld_${EMULATION_NAME}_list_options): List new options.
       (gld${EMULATION_NAME}_handle_option): Handle new options.
       * ldtexinfo : Document dynamicbase, forceinteg, nxcompat,
       no-isolation, no-seh, no-bind, wdmdriver, tsaware options.

2009-03-06  Nick Clifton  <[email protected]>

       * po/es.po: Updated Spanish translation.

2009-03-03  Dave Korn  <[email protected]>

       * emultempl/pe.em (debug_section_p):  New bfd_map_over_sections hook.
       (gld_${EMULATION_NAME}_after_open):  Use it to iterate all sections
       of all input BFDs, looking for debug info.  Enable long section names
       if any found.
       * emultempl/pe.em (debug_section_p):  Likewise.
       (gld_${EMULATION_NAME}_after_open):  Likewise.
       * NEWS:  Retrospectively adjust news announcement.
       * ld.texinfo:  Update documentation to mention new behaviour.

2009-03-03  Alan Modra  <[email protected]>

       * Makefile.am: Run "make dep-am".
       * Makefile.in: Regenerate.

2009-03-02  Sebastian Huber  <[email protected]>

       * ldgram.y: Add support for REGION_ALIAS operator.
       * ldlang.c: Likewise.
       * ldlang.h: Likewise.
       * ldlex.l: Likewise.
       * NEWS: Mention the new feature.
       * ld.texinfo: Document the new feature.

2009-03-02  Qinwei  <[email protected]>

       * Makefile.am: Replace score elf emulation with score3 and score7
       emulations.
       * Makefile.in: Regenerate,
       * NEWS: Mention support for Score7 architecture.
       * configure.tgt: Add score7 emulation to score-elf target.
       * emulparams/scoreelf.sh: Add score7 support.
       * emultempl/scoreelf.em: Likewise.

2009-03-01  John David Anglin  <[email protected]>

       * configure.tgt: Only use elf64hppa target emulation for hpux.
       * emulparams/elf64hppa.sh: Don't include hppa64linux.sh.
       (SCRIPT_NAME): Use new script elf64hppa.
       (SCRIPT_NAME, ELFSIZE, NO_REL_RELOCS, ARCH, MACHINE, ENTRY,
       TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT, OTHER_READONLY_SECTIONS,
       OTHER_READWRITE_SECTIONS, OTHER_BSS_SECTIONS, OTHER_GOT_RELOC_SECTIONS,
       DATA_START_SYMBOLS, OTHER_SYMBOLS, DATA_PLT, PLT_BEFORE_GOT,
       TEXT_DYNAMIC): Define.
       * emulparams/hppa64linux.sh: Adjust comments.
       * scripttempl/elf64hppa.sc: New file.

2009-03-01  Ralf Wildenhues  <[email protected]>

       * configure: Regenerate.

2009-02-27  Dave Korn  <[email protected]>

       * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):  Set
       default state of auto-import flag based on $target.

2009-02-24  Joseph Myers  <[email protected]>

       * ld.texinfo (ARM): Document changed meaning of --stub-group-size.
       * emultempl/armelf.em (hook_in_stub): Insert after the input section.
       (elf32_arm_add_stub_section): Update comment.
       (PARSE_AND_LIST_OPTIONS): Update help for --stub-group-size.

2009-02-24  Sandra Loosemore  <[email protected]>

       * ld.texinfo (Options): Correct typos in example.  Recommend
       using joined forms of syntax for passing options with arguments
       from a driver.
       (-a): Use consistent syntax for documenting option arguments.
       Clean up indexing and markup.
       (-A/--architecture): Likewise.
       (-f/--auxiliary): Likewise.
       (-F/--filter): Likewise.
       (-fini): Likewise.
       (-G/--gpsize): Likewise.
       (-h/-soname):Likewise.
       (-init): Likewise.
       (-l/--library): Likewise.
       (-L/--library-path): Likewise.
       (-m): Likewise.
       (--defsym): Likewise.
       (-I/--dynamic-linker): Likewise.
       (-Map): Likewise.
       (--oformat): Likewise.
       (--retain-symbols-file): Likewise.
       (-rpath): Likewise.
       (-rpath-link): Likewise.
       (--sort-common): Likewise.
       (--sort-section): Likewise.
       (--split-by-file): Likewise.
       (--split-by-reloc): Likewise.
       (--sysroot): Likewise.
       (--section-start): Likewise.
       (-Tbss, -Tdata, -Ttext): Likewise.
       (-Ttext-segment): Likewise.
       (--version-script): Likewise.
       (--wrap): Likewise.

2009-02-18  Dave Korn  <[email protected]>

       * ld.texinfo:  Update to mention long section name options.
       * NEWS:  Mention new behaviour and command-line options.
       * pe-dll.c (pe_use_coff_long_section_names):  New global variable.
       (pe_output_file_set_long_section_names):  New function.
       (pe_dll_build_sections):  Call it on output BFDs.
       (pe_exe_build_sections):  Likewise.
       (pe_dll_fill_sections):  Likewise.
       (pe_exe_fill_sections):  Likewise.
       * pe-dll.h (pe_use_coff_long_section_names):  Declare extern.
       (pe_output_file_set_long_section_names):  Add prototype.
       * pep-dll.c (pe_use_coff_long_section_names):  Define pep_ alias.
       (pe_output_file_set_long_section_names):  Likewise.
       * pep-dll.h (pep_use_coff_long_section_names):  Declare extern.
       (pep_output_file_set_long_section_names):  Add prototype.
       * pe.em (OPTION_ENABLE_LONG_SECTION_NAMES):  New getopt value macro.
       (OPTION_DISABLE_LONG_SECTION_NAMES):  Likewise.
       (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
       (gld_${EMULATION_NAME}_list_options):  Describe them.
       (gld${EMULATION_NAME}_handle_option):  Set or clear global
       pe_use_coff_long_section_names flag when options recognised.
       (gld_${EMULATION_NAME}_after_open):  En/disable long section names
       for main output bfd by calling pe_output_file_set_long_section_names.
       * pep.em (enum options):  Extend enum with new getopt option values.
       (gld${EMULATION_NAME}_add_options):  Add new options to xtra_long[].
       (gld_${EMULATION_NAME}_list_options):  Describe them.
       (gld${EMULATION_NAME}_handle_option):  Set or clear global
       pe_use_coff_long_section_names flag when options recognised.
       (gld_${EMULATION_NAME}_after_open):  En/disable long section names
       for main output bfd by calling pep_output_file_set_long_section_names.

2009-02-16  Dave Korn  <[email protected]>

       * emultempl/pe.em (gld_${EMULATION_NAME}_after_open):  Don't emit
       inadvertent .reloc sections caused by refactoring accident.

2009-02-16  Alan Modra  <[email protected]>

       * ldlang.c (process_insert_statements): ASSERT that output section
       statements are in order.

2009-02-16  Alan Modra  <[email protected]>

       * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions.
       (stat_save, stat_save_ptr): New variables.
       (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr.
       (load_symbols): Likewise.  Delete dead "bad_load" code.
       (open_input_bfds): Warn on script containing output sections.
       (lang_enter_output_section_statement): Use push_stat_ptr.
       (lang_enter_group): Likewise.
       (lang_leave_output_section_statement): Use pop_stat_ptr.
       (lang_leave_group): Likewise.
       * ldlang.h (push_stat_ptr, pop_stat_ptr): Declare.
       * ldctor.c (ldctor_build_sets): Use push_stat_ptr and pop_stat_ptr.
       * emultempl/beos.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
       * emultempl/pe.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
       * emultempl/pep.em (gld_${EMULATION_NAME}_set_symbols): Likewise.
       * emultempl/spuelf.em (spu_place_special_section): Likewise.
       * emultempl/xtensaelf.em (ld_xtensa_insert_page_offsets): Likewise.

2009-02-09  Nathan Sidwell  <[email protected]>

       Missing piece of 2009-01-26 commit
       * ldlang.c (lang_process): Don't consider relocatable flag when
       checking for overlap.

2009-02-05  Joseph Myers  <[email protected]>

       * emulparams/m68kelf.sh: Add newline at end of file.

2009-02-04  Nick Clifton  <[email protected]>

       PR 9805
       * ld.texinfo (--allow-shlib-undefined): Correct description of
       default settings and tidy up the rest of the entry.

2009-02-04  Alan Modra  <[email protected]>

       * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.*
       during relocatable link.

2009-02-03  Nick Clifton  <[email protected]>

       PR 9797
       * ld.texinfo (Constants): Document the base-encoding suffixes
       supported in linker scripts.

2009-02-03  Alan Modra  <[email protected]>

       * NEWS: Mention --as-needed change.

2009-02-03  Carlos O'Donell  <[email protected]>

       * configure.in: AC_SUBST pdfdir.
       * Makefile.am: Add install-pdf, install-pdf-am,
       and install-pdf-recursive targets. Define pdf__strip_dir.
       * po/Make-in: Add install-pdf target.
       * configure: Regenerate.
       * Makefile.in: Regenerate.

2009-01-31  Alan Modra  <[email protected]>

       * ld.texinfo (--as-needed): Update.

2009-01-29  Andrew Jenner  <[email protected]>

       * emultempl/armelf.em: Correct formatting of help text for
       --no-enum-size-warning option.

2009-01-26  Nathan Sidwell  <[email protected]>

       * lexsup.c (parse_args): Set check_section_addresses to 1 or 0.
       * ld.h (args_type): Make check_section_addresses a char.
       * ldmain.c (main): Default check_section_addresses to -1. Check it
       for relocatable links.
       * ld.texinfo (--check-sections): Update documentation.

2009-01-26  Kai Tietz  <[email protected]>

       * pe-dll.c (tmp_seq2): New static variable.
       (make_singleton_name_imp): New.
       (make_import_fixup_entry): Use for v2 the _imp_<name> symbol and
       avoid duplicate import table generation for same symbol.
       (pe_create_runtime_relocator_reference): Make reference for
       64-bit 8 bytes.

2009-01-21  Alan Modra  <[email protected]>

       * emultempl/spuelf.em (params): Init new field.
       (OPTION_SPU_NON_IA_TEXT): Define.
       (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --non-ia-text.
       (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_SPU_NON_IA_TEXT.

2009-01-16  H.J. Lu  <[email protected]>

       * lexsup.c (option_values): Add OPTION_TTEXT_SEGMENT.
       (ld_options): Add -Ttext-segment.
       (parse_args): Handle OPTION_TTEXT_SEGMENT.

       * ld.texinfo: Document -Ttext-segment.

       * NEWS: Mention -Ttext-segment.

       * scripttempl/elf.sc (TEXT_START_ADDR): Use SEGMENT_START.
       (SHLIB_TEXT_START_ADDR): Likewise.

2009-01-13  Alan Modra  <[email protected]>

       * emultempl/spu_icache.o_c: Regenerate.

2009-01-12  Alan Modra  <[email protected]>

       * emultempl/spuelf.em (params): Init new fields.
       (num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
       (spu_place_special_section): Adjust placement for soft-icache.  Pad
       soft-icache section to a fixed size.  Clear addr_tree.
       (spu_elf_load_ovl_mgr): Support soft-icache.  Map overlay manager
       sections a little more intelligently.
       (gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
       (OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
       (OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
       (OPTION_SPU_LRLIVE): Define.
       (PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
       (PARSE_AND_LIST_OPTIONS): Likewise.
       (PARSE_AND_LIST_ARGS_CASES): Handle them.
       * emultempl/spu_icache.S: Dummy file.
       * emultempl/spu_icache.o_c: Regenerate.
       * Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
       (spu_icache.o_c): Add rule to build.
       (CLEANFILES): Zap temp files.
       (EXTRA_DIST): Add spu_icache.o_c.
       * Makefile.in: Regenerate.

2009-01-08  Kai Tietz  <[email protected]>

       * pe.em (OPTION_USE_NUL_PREFIXED_IMPORT_TABLES): New.
       (gld..._add_options): Add new option
       --use-nul-prefixed-import-tables.
       (gld..._handle_option): Likewise.
       * pep.em: Same as for pe.em.
       * ld.texinfo: Add new option documentation for
       --use-nul-prefixed-import-tables.
       * pe-dll.c (pe_use_nul_prefixed_import_tables): New.
       (make_head): Make prefix leading zero prefix element for
       idata$4 and idata$5 dependent to new flag.
       (make_import_fixup_entry): Remove idata4/5 prefix.
       * pe-dll.h (pe_use_nul_prefixed_import_tables): New.
       * pep-dll.c (pe_use_nul_prefixed_import_tables): New.
       * pep-dll.h (pep_use_nul_prefixed_import_tables): New.
       * NEWS: Add new option.

2009-01-05  Kai Tietz  <[email protected]>

       * emultempl/pe.em: Prefix dollar characters to be outputed in
       generated C file.
       * emultempl/pep.em: Likewise.

2009-01-03  Dave Korn  <[email protected]>

       * NEWS:  Mention new feature --exclude-modules-for-implib.
       * ld.texinfo:  Document new --exclude-modules-for-implib option.
       * pe-dll.c (exclude_list_struct):  Change type member from int to
       new enumeration exclude_type.
       (pe_dll_add_excludes):  Accept exclude_type instead of int param.
       (auto_export):  Replace magic constants by exclude_type values and
       handle new choice EXCLUDEFORIMPLIB.
       (pe_dll_generate_implib):  Accept a pointer to the link_info and
       iterate all input BFDs looking for EXCLUDEFORIMPLIB modules; re-open
       fresh BFDs for any found and link into import lib archive chain.
       * pe-dll.h (exclude_type):  Add new enumerated type to replace magic
       constants previously used for exclude_list_struct type member.
       (pe_dll_add_excludes, pe_dll_generate_implib):  Update prototypes.
       * pep-dll.h (exclude_type, pe_dll_add_excludes,
       pe_dll_generate_implib):  Likewise to all the above.
       * emultempl/pe.em (OPTION_EXCLUDE_MODULES_FOR_IMPLIB):  Define new
       getopts long option code for new --exclude-modules-for-implib option.
       (gld${EMULATION_NAME}_add_options):  Add new entry to xtra_long[].
       (gld_${EMULATION_NAME}_list_options):  List usage for it.
       (gld${EMULATION_NAME}_handle_option):  Use exclude_type enumerated
       values when calling pe_dll_add_excludes, and handle EXCLUDEFORIMPLIB.
       (gld_${EMULATION_NAME}_finish):  Pass pointer to link_info when
       calling pe_dll_generate_implib.
       * emultempl/pep.em (options):  Define new enumerated value for getopts
       long option code for new --exclude-modules-for-implib option.
       (gld${EMULATION_NAME}_add_options, gld_${EMULATION_NAME}_list_options,
       gld${EMULATION_NAME}_handle_option, gld_${EMULATION_NAME}_finish):
       Again, likewise to all the above.

2009-01-03  Dave Korn  <[email protected]>

       * pe-dll.c (autofilter_liblist):  Add entry for shared libgcc.
       (libnamencmp):  New function.
       (auto_export):  Use it in place of strncmp when filtering libraries.

For older changes see ChangeLog-2008

Copyright (C) 2009 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End: