2009-12-17 Dave Korn * 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 * 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 * 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 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 * ld.texinfo: Make it clear that --nmagic disables linking against shared libraries. 2009-11-30 Joseph Myers * configure: Regenerate. 2009-11-30 Alan Modra PR ld/11006 * lexsup.c (parse_args): Allow nested --start-group, --end-group. 2009-11-27 Tristan Gingold * pe-dll.c (pe_implied_import_dll): Return early if there is no export entries. 2009-11-26 Nick Clifton 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 * 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 * ldexp.c: Copy symbol type for simple assignments. 2009-11-20 Thomas Schwinge * 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 PR ld/9863 * emulparams/armelf_linux.sh (DATA_START_SYMBOLS): Use PROVIDE with __data_start. 2009-11-19 Ben Elliston * ldlex.l: Enable nounput flex option. 2009-11-15 Kai Tietz * 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 * po/id.po: Updated Indonesian translation. 2009-11-11 Jan Kratochvil * configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE. * aclocal.m4: Regenerate. * configure: Regenerate. 2009-11-10 Nick Clifton 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 PR ld/10912 * ldmain.c (add_DT_NEEDED_for_dynamic): Default to TRUE. 2009-11-06 Kai Tietz * 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 * 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 * 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 * emulparams/vxworks.sh (OTHER_READONLY_SECTIONS): Move into ... (OTHER_READWRITE_SECTIONS): ... here. 2009-10-28 Kai Tietz * emultempl/pep.em (U): Define underscore macro. (init): Use for __ImageBase U macro. 2009-10-23 Kai Tietz * 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 * deffilep.y (def_lex): Allow '<' and '>' characters in identifier strings. 2009-10-23 Ryan Mansfield 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 * Makefile.am: Remove spurious sanitization marker. * Makefile.in: Regenerate. 2009-10-16 Dmitry Gorbachev * 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 * ldlex.l (yy_input): Remove second argument and return the value instead. (YY_INPUT): Adjust. 2009-10-14 Alan Modra * emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix. 2009-10-14 Ryan Mansfield * ldlang.c (load_symbols): Set whole_archive from entry when parsing a linker script. 2009-10-10 Alan Modra * 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 PR ld/10749 * ldlang.c (lang_size_sections_1): Zero section vmas only for COFF. 2009-10-08 Alan Modra 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 * 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 * 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 * emulparams/m68kelf.sh (NOP): Use 0x4e71 (nop) rather than 0x4e75 (rts). 2009-09-29 DJ Delorie * 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 * ldlang.c (lang_size_sections_1): Allow scripts to specify a non-zero vma even when relocatable. 2009-09-28 Alan Modra * 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 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 Update sources to make arm targets compile cleanly with -Wc++-compat: * emultempl/armelf.em: Add casts. 2009-09-23 Matt Rice * 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 * po/vi.po: Updated Vietnamese translation. 2009-09-22 Alan Modra * 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 * 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 * po/es.po: Updated Spanish translation. 2009-09-13 Alan Modra 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 * po/ld.pot: Updated by the Translation project. * po/fi.po: Updated Finnish translation. 2009-09-11 Martin Thuresson 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 * 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 * po/ld.pot: Regenerate. 2009-09-05 Martin Thuresson * emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols, gld${EMULATION_NAME}_try_needed): Rename variable class to link_class. 2009-09-04 Tristan Gingold * NEWS: Add marker for 2.20. 2009-09-04 Alan Modra * scripttempl/elf.sc (.text): Add cold text sections. 2009-09-04 Jie Zhang * emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Add .l2.text and .l2.data. 2009-09-03 Dave Korn * 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 * 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 * ldver.c (ldversion): Change to "Copyright 2009". 2009-09-01 Jie Zhang * scripttempl/elf.sc: Add ${USER_LABEL_PREFIX} to _start, etext, _stack and __bss_start. * emulparams/bfin.sh (ENTRY): Remove. 2009-08-30 Alan Modra PR ld/10569 * ldexp.c (fold_name ): Return config.maxpagesize. (fold_name ): 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 * 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 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 * 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 * 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 * 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 * scripttempl/elf.sc: Discard sections with .gnu.lto_ prefix. 2009-08-12 Tristan Gingold * 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 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 * 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 * 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 PR 10474 * emultempl/ppc32elf.em (ppc_before_allocation): Test rawsize, not size, after lang_reset_memory_regions. 2009-07-30 Alan Modra * 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 * 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 * (po/fi.po): Updated Finnish translation. 2009-07-25 H.J. Lu * 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 * NEWS: Mention the linker's support for symbols with a binding of STB_GNU_UNIQUE. 2009-07-22 H.J. Lu 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 * ldlang.c (insert_os_after): Don't tie assignments to non-alloc output sections. 2009-07-10 Alan Modra * emultempl/ppc32elf.em (ppc_before_allocation): Turn on linker relaxation if it might be necessary. 2009-07-10 Alan Modra * emulparams/elf32ppc.sh (GOTPLT, PLT): Handle .iplt. 2009-07-06 Matthias Klose * ld.texinfo: Fix typo. 2009-07-03 Tristan Gingold * scripttempl/pep.sc: Put .eh_frame in its own section. * scripttempl/pe.sc: Ditto. 2009-06-26 Kai Tietz * scripttempl/pe.sc (.debug_pubtypes): Added section rule. * scripttempl/pep.sc: Likewise. 2009-06-25 Tristan Gingold * 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 Merge cegcc and mingw32ce target name changes from CeGCC project: 2008-09-24 Pedro Alves * configure.tgt (arm*-*-cegcc*): Set LIB_PATH to ${tooldir}/lib/w32api. 2007-12-25 Pedro Alves * configure.tgt: Add arm*-*-cegcc* target. 2007-12-17 Pedro Alves * configure.tgt: Add arm-*-mingw32ce* target. 2009-06-10 Philip Blundell * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Avoid crash if section has no ELF data. 2009-06-06 H.J. Lu * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc. 2009-06-05 H.J. Lu * scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn. 2009-06-04 Alan Modra * 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 * 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 * 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 * ldmain.c (main): Don't reject --relax -r. * ld.texinfo (PowerPC ELF32): Document behaviour of relaxing partial links. 2009-05-26 Nick Clifton * po/id.po: Updated Indonesian translation. * po/ld.pot: Updated template file. 2009-05-26 Alan Modra * 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 * ldlang.c (lang_check_section_addresses): Ignore non-alloc sections. 2009-05-22 Julian Brown * 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 * 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 * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2009-05-19 Dave Korn * 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 * pe-dll.c (process_def_file): Do not create empty export table. 2009-05-15 Alan Modra * 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 * emultempl/spuelf.em (PARSE_AND_LIST_ARGS_CASES): Always use compact stubs with software i-cache. 2009-05-14 Alan Modra * emultempl/spuelf.em (spu_before_allocation): Call spu_elf_place_overlay_data. 2009-05-14 Alan Modra * ldlang.c (lang_insert_orphan): Add __start_
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 * emultempl/armelf.em (compare_output_sec_vma): New function. (gld${EMULATION_NAME}_finish): Add exidx munging code. 2009-05-05 Anatoly Sokolov * 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 * 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 * emulparams/vxworks.sh (TEXT_START_ADDR): Override. 2009-04-30 Nick Clifton * NEWS: Mention support for IFUNC symbols. 2009-04-29 Anthony Green * emulparams/elf32moxie.sh (STACK_ADDR): Move default stack position out to accommodate larger programs. 2009-04-29 Chris Demetriou * 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 * deffilep.y (STACKSIZE_K): Rename from STACKSIZE. 2009-04-25 Alan Modra PR 10061 * genscripts.sh: Don't pass $EMULATION_NAME as $CUSTOMIZER_SCRIPT param. 2009-04-21 Daniel Jacobowitz * 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 * ldlang.c (lang_one_common): Use bfd_define_common_symbol. 2009-04-15 Anthony Green * 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 * ldlang.c: Do not include limits.h. 2009-04-14 Alan Modra 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 * ldfile.c (ldfile_find_command_file): Revert the last change. 2009-04-11 H.J. Lu PR ld/10047 * ldfile.c (ldfile_find_command_file): First try raw name. 2009-04-09 Nick Clifton 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 * emultempl/spuelf.em (embedded_spu_file): Use pex_one in place of fork/execvp. 2009-04-08 H.J. Lu * 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 * emulparams/elf32mep.sh: Change default endian to little. 2009-04-07 Nick Clifton * 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 * ldfile.c (ldfile_find_command_file): Initialize result. 2009-04-06 Kazu Hirata * 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 * 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 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 * emultempl/aix.em (gld${EMULATION_NAME}_open_dynamic_archive): New function. (ld_${EMULATION_NAME}_emulation): Use it. 2009-03-20 H.J. Lu PR ld/9970 * ldlang.c (lang_end): Warn missing entry symbol for -pie. 2009-03-19 Alan Modra * emultempl/spuelf.em (spu_before_allocation): Report errors from spu_elf_find_overlays. 2009-03-18 H.J. Lu PR ld/6766 * lexsup.c (parse_args): Call ldlang_add_undef for -e. 2009-03-18 Alan Modra * ld.h: Remove alloca handling. 2009-03-17 Alan Modra * 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 * configure.host (HOSTING_LIBS): Two dollars on shell variable expansion to suit make. 2009-03-17 Alan Modra * 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 * 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 * 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 * emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Set config.dynamic_link to TRUE. 2009-03-14 Richard Sandiford * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Mark .text, .data and .bss output sections as SEC_KEEP. 2009-03-14 Richard Sandiford * configure.tgt: Extend AIX 5 behavior to AIX 6 and above. 2009-03-14 Dave Korn Danny Smith * 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 * po/es.po: Updated Spanish translation. 2009-03-03 Dave Korn * 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 * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2009-03-02 Sebastian Huber * 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 * 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 * 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 * configure: Regenerate. 2009-02-27 Dave Korn * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Set default state of auto-import flag based on $target. 2009-02-24 Joseph Myers * 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 * 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 * 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 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Don't emit inadvertent .reloc sections caused by refactoring accident. 2009-02-16 Alan Modra * ldlang.c (process_insert_statements): ASSERT that output section statements are in order. 2009-02-16 Alan Modra * 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 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 * emulparams/m68kelf.sh: Add newline at end of file. 2009-02-04 Nick Clifton 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 * emultempl/spuelf.em (spu_after_open): Don't combine .text.ia.* during relocatable link. 2009-02-03 Nick Clifton PR 9797 * ld.texinfo (Constants): Document the base-encoding suffixes supported in linker scripts. 2009-02-03 Alan Modra * NEWS: Mention --as-needed change. 2009-02-03 Carlos O'Donell * 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 * ld.texinfo (--as-needed): Update. 2009-01-29 Andrew Jenner * emultempl/armelf.em: Correct formatting of help text for --no-enum-size-warning option. 2009-01-26 Nathan Sidwell * 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 * pe-dll.c (tmp_seq2): New static variable. (make_singleton_name_imp): New. (make_import_fixup_entry): Use for v2 the _imp_ 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 * 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 * 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 * emultempl/spu_icache.o_c: Regenerate. 2009-01-12 Alan Modra * 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 * 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 * emultempl/pe.em: Prefix dollar characters to be outputed in generated C file. * emultempl/pep.em: Likewise. 2009-01-03 Dave Korn * 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 * 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: