2014-06-26 Linda Zhang * emultempl/pe.em: Initialise insert_timestamp to true. Add a --no-insert-timestamp command line option. * emultempl/pep.em: Likewise. * ld.texinfo: Document that --insert-timestamp is enabled by default and that it now has an inverse command line option. * NEWS: Mention the new behaviour. 2014-06-25 Nick Clifton * Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from here... (ALL_64_EMULATION_SOURCES): ... to here. (ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here... (ALL_64_EMUL_EXTRA_OFILES): New. ... to here. * configure.in (EMUL_EXTRA_OFILES): Include ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build. * Makefile.in: Regenerate. * configure: Regenerate. 2014-06-18 Andreas Tobler * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls. (arm*b-*-freebsd*): Add target. * emulparams/armelfb_fbsd.sh: Added. * emulparams/armelf_fbsd.sh: Updated. * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c. * Makefile.in: Regenerate. 2014-06-16 Alan Modra * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from .rel sections, and __rel_iplt from .rela sections. * scripttempl/nds32elf.sc: Likewise. * Makefile.am (ends32*.c) Depend on nds32elf.sc. * Makefile.in: Regenerate. 2014-06-13 Alan Modra PR 17047 * ldlang.c (output_bfd_hash_table_free_fn): Delete. (open_output): Don't set it.. * ldmain.c (ld_cleanup): ..or call it. 2014-06-13 Alan Modra * emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em, * emultempl/m68kcoff.em, * emultempl/m68kelf.em, * emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em, * ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change. 2014-06-13 Alan Modra * Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c. * Makefile.in: Regenerate. 2014-06-07 Alan Modra * ldexp.c (exp_fold_tree_1 ): Make PROVIDEd linker script symbol value override a built-in linker symbol. 2014-06-05 Joel Brobecker * Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add dependency on bfd's development.sh. * Makefile.in, configure: Regenerate. 2014-06-02 Alan Modra * emulparams/elf32bfin.sh: Rename from bfin.sh. * emulparams/elf32bfinfd.sh: Update to suit. * emulparams/msp430.sh: Rename from msp430all.sh. Remove MSP430_NAME and msp430X vars. * emulparams/msp430X.sh: New. * emulparams/score3_elf.sh: Rename from scoreelf.sh. Remove SCORE_NAME and score7_elf ARCH setting. * emulparams/score7_elf.sh: New. * Makefile.am (eelf32bfin.c, eelf32bfinfd.c): Update dependencies. (emsp430.c, emsp430X.c, escore3_elf.c, escore7_elf.c): Likewise. * Makefile.in: Regenerate. * genscripts.sh: Delete customizer_script param. 2014-05-28 Hans-Peter Nilsson * Makefile.am: Change all rules with ${GENSCRIPTS} invocations to be just dependencies. ($(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)) (run-genscripts): New rules. * Makefile.in: Regenerate. 2014-05-27 DJ Delorie * ld/ldemul.h (extra_map_file_text): New field. (ldemul_extra_map_file_text): Declare. * ld/ldemul.c (ldemul_extra_map_file_text): Define. * ld/ldlang.c (lang_map): Call it. * ld/emultempl/rxelf.em: Add extra_map_file_text hook. * ld/emultempl/aix.em: Add NULL extra_map_file_text hook. * ld/emultempl/armcoff.em: Likewise. * ld/emultempl/beos.em: Likewise. * ld/emultempl/elf32.em: Likewise. * ld/emultempl/generic.em: Likewise. * ld/emultempl/gld960.em: Likewise. * ld/emultempl/gld960c.em: Likewise. * ld/emultempl/linux.em: Likewise. * ld/emultempl/lnk960.em: Likewise. * ld/emultempl/m68kcoff.em: Likewise. * ld/emultempl/pe.em: Likewise. * ld/emultempl/pep.em: Likewise. * ld/emultempl/sunos.em: Likewise. * ld/emultempl/ticoff.em: Likewise. * ld/emultempl/vanilla.em: Likewise. 2014-05-24 Alan Modra * ldlang.c (base): Move variable to.. * mri.c: ..here, and make static. * ldlang.h (base): Delete declaration. 2014-05-20 Hans-Peter Nilsson * Makefile.am (ALL_EMULATION_SOURCES): Add missing eelf32mbel_linux.c. * Makefile.in: Regenerate. 2014-05-20 Alan Modra PR 16952 * emulparams/elf32ppccommon.sh (_SDA_BASE_, _SDA2_BASE_): Delete. * emultempl/ppc32elf.em (ppc_before_allocation): Call ppc_elf_maybe_strip_sdata_syms. * ldlang.c (size_input_section): Correct output_offset value for excluded input sections. 2014-05-16 John Marino * configure.tgt: Add /lib to dragonfly NATIVE_LIB_DIRS. 2014-05-11 Chung-Lin Tang * emulparams/nios2linux.sh (OTHER_GOT_SYMBOLS): Wrap _gp in HIDDEN(), and gp in PROVIDE_HIDDEN. 2014-05-10 Hans-Peter Nilsson * ldlang.c (lang_finish): Don't call bfd_link_hash_table_free here. (output_bfd_hash_table_free_fn): New variable. (open_output): Save the _bfd_link_hash_table_free function for the output_bfd into output_bfd_hash_table_free_fn. * ldmain.c (ld_cleanup): If set, call output_bfd_hash_table_free_fn on link_info.hash. * ldlang.h (output_bfd_hash_table_free_fn): Declare. 2014-05-02 Alan Modra * emultempl/metagelf.em: Update bfd target vector naming. * emultempl/nios2elf.em: Likewise. * emultempl/spuelf.em: Likewise. * emultempl/tic6xdsbt.em: Likewise. 2014-04-22 Christian Svensson * Makefile.am: Remove openrisc and or32 support. Add support for or1k. * configure.tgt: Likewise. * emulparams/elf32or1k.sh: New file. * emulparams/elf32or1k_linux.sh: New file. * emulparams/elf32openrisc.sh: Delete. * emulparams/or32.sh: Delete. * emulparams/or32elf.sh: Delete. * scripttempl/or32.sc: Delete. * Makefile.in: Regenerate. 2014-04-21 Richard Henderson * emultempl/alphaelf.em (alpha_after_parse): Enable 2 relax passes. 2014-04-16 Steve Ellcey * emultempl/elf32.em: Include safe-ctype.h. 2014-04-16 Steve Ellcey * ldbuildid.c (generate_build_id): Add ATTRIBUTE_UNUSED to size arg. 2014-04-09 Nick Clifton * Makefile.am (default-manifest.o): Remove rule. (EMUL_EXTRA_BINARIES): Delete. (ALL_EMUL_EXTRA_BINARIES): Delete. (ld_new_DEPENDENCIES): Remove EMUL_EXTRA_BINARIES. (install-data-local): Remove EMUL_EXTRA_BINARIES. * Makefile.in: Regenerate. * configure.in (all_emul_extra_binaries): Delete. (EMUL_EXTRA_BINARIES): Remove. * configure: Regenerate. * configure.tgt (target_extra_binaries): Delete. * emultempl/default-manifest.rc: Delete. * ld.texinfo: Remove discussion of default manifest. * emulparams/i386pe.sh (DEFAULT_MANIFEST): Delete. * emulparams/i386pep.sh (DEFAULT_MANIFEST): Delete. 2014-04-09 Alan Modra * emultempl/spuelf.em: Include safe-ctype.h, remove duplicate errno.h. * emultempl/nds32elf.em: Include bfd_stdint.h. * po/POTFILES.in: Regenerate. 2014-04-09 Alan Modra * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions. (LDEMUL_FINISH): Define. 2014-04-08 Nick Clifton * scripttempl/pe.sc (R_RSRC): Remove default manifest. * scripttempl/pep.sc (R_RSRC): Remove default manifest. 2014-04-08 Jon TURNEY * emultempl/elf32.em (id_note_section_size, read_hex, write_build_id): Move code for parsing build-id option and calculating the build-id to... * ldbuildid.c: New file. * ldbuildid.h: New file. * Makefile.am (CFILES, HFILES, OFILES, ld_new_SOURCES): Add new files. * Makefile.in: Regenerate. * ld.texinfo: Update --build-id description to mention COFF support. * NEWS: Mention support for COFF build ids. * emultempl/pe.em (gld${EMULATION_NAME}_handle_option): (pecoff_checksum_contents, write_build_id, setup_build_id) (gld_${EMULATION_NAME}_after_open): Handle and implement build-id option. * emultempl/pep.em: Likewise. 2014-04-04 Cary Coutant PR gold/16804 * ld.texinfo: Document optional comma following output section command and overlay command. 2014-04-04 Alan Modra * ldlang.c (lang_size_sections_1 ): Use current "fill", not "output_section_statement->fill". 2014-03-31 Nick Clifton PR ld/16744 * emultempl/elf32.em (_after_open): Create a .note.GNU-stack section when performing a relocatable link with -z [no]execstack specified. 2014-03-27 H.J. Lu PR ld/16756 * ldmain.c (symbol_warning): New function. (warning_callback): Use it. Scan all input files for a reference to SYMBOL. 2014-03-21 Christopher Faylor * ld.texinfo: Document change in handling of --enable-auto-image-base. * emultempl/pe.em (pe_auto_image_base): Set to default base. (gld_${EMULATION_NAME}_list_options): Change usage message to reflect optional --enable-auto-image-base argument. (gld${EMULATION_NAME}_handle_option): Handle optional --enable-auto-image-base argument. (compute_dll_image_base): Eliminate constant. Use pe_auto_image_base. 2014-03-19 Nick Clifton * Makefile.am (default-manifest.o): Use WINDRES_FOR_TARGET. * Makefile.in: Regenerate. * emultempl/default-manifest.rc: Fix typo. * scripttempl/pe.sc (R_RSRC): Fix default-manifest exclusion. (.rsrc): Add SUBALIGN(4). Remove SORT. * scripttempl/pep.sc: Likewise. 2014-03-17 Christopher Faylor * Makefile.am: Use host version of windres. * Makefile.in: Regenerate. 2014-03-14 Romain Geissler Alan Modra * ldlang.h (full_name_provided): New input flag. * ldlang.c (new_afile): Don't use lang_input_file_is_search_file_enum for -l:namespec. Instead use lang_input_file_is_l_enum with full_name_provided flag. * ldlfile.c (ldfile_open_file_search): Don't complete lib name if full_name_provided flag is set. * emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive): Handle full_name_provided libraries. Tidy EXTRA_SHLIB_EXTENSION support. Set DT_NEEDED for -l:namespec as namespec. * emultempl/aix.em (ppc_after_open_output): Handle full_name_provided. * emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive): Don't handle full_name_provided libraries. * emultempl/pe.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto. * emultempl/pep.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto. * emultempl/vms.em (gld${EMULATION_NAME}_open_dynamic_archive): Ditto. 2014-03-12 Alan Modra * Makefile.in: Regenerate. 2014-03-05 Alan Modra Update copyright years. 2014-03-04 Nick Clifton * Makefile.am (ALL_EMUL_EXTRA_BINARIES): Remove default-manifest. * Makefile.in: Regenerate. 2014-02-27 Yuri Gribov * emultempl/armelf.em (OPTION_LONG_PLT): Define. (PARSE_AND_LIST_LONGOPTS): Add long-plt. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Handle long-plt. * ld.texinfo: Document --long-plt. 2014-02-27 Alan Modra * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and use ppc32elf.em. * emultempl/ppc32elf.em (ppc_after_open): Don't compile for vxworks. (LDEMUL_AFTER_OPEN): Don't set for vxworks. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude -secure-plt, -bss-plt and -sdata-got when vxworks. 2014-02-27 Nick Clifton * configure.in (all_emul_extra_binaries): New variable. Populated by invoking configure.tgt. (EMUL_EXTRA_BINARIES): New substitution. * configure: Regenerate. * configure.tgt (target_extra_binaries): New variable. Set to default-manifest.o for Cygwin and MinGW targets. * Makefile.am (EMUL_EXTRA_BINARIES): New variable. Initialised by the configure script. (ALL_EMUL_EXTRA_BINARIES): New variable. (default-manifest.o): New rule to build the default manifest. (ld_new_DEPENDENCIES): Add EMUL_EXTRA_BINARIES. (install-data-local): Add EMUL_EXTRA_BINARIES. * Makefile.in: Regenerate. * ld.texinfo: Document default manifest support. * emulparams/i386pe.sh (DEFAULT_MANIFEST): Define. * emulparams/i386pep.sh (DEFAULT_MANIFEST): Define. * emultempl/default-manifest.rc: New file. * scripttempl/pe.sc (R_RSRC): Include DEFAULT_MANIFEST, if defined. * scripttempl/pep.sc (R_RSRC): Likewise. 2014-02-26 Dan Mick PR ld/16569 * ldcref.c (cref_sort_array): Compare unmangled names unless demanglng has been requiested. (output_one_cref): Output unmangled name unless demangling has been requested. 2014-02-19 Igor Zamyatin H.J. Lu * emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): New. 2014-02-19 Alan Modra * emultempl/ppc64elf.em (params): Init new field. (ppc_create_output_section_statements): Set params.save_restore_funcs default. (PARSE_AND_LIST_*): Add support for --save-restore-funcs and --no-save-restore-funcs. 2014-02-17 Alan Modra * emultemps/ppc64elf.em (params): New static struct replacing various other static vars. Adjust code throughout file. 2014-02-17 Alan Modra * emultempl/ppc32elf.em (ppc_after_open_output): Really enable ppc476 workaround for ld -r. 2014-02-12 Alan Modra * emultempl/ppc32elf.em (pagesize): New static var. (ppc_after_open_output): Set params.pagesize_p2 from pagesize. (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize. 2014-02-11 Andrew Pinski * emulparams/aarch64linux32.sh (LIBPATH_SUFFIX): Change to ilp32. (ELF_INTERPRETER_NAME): Define. * emulparams/aarch64linux32b.sh (ELF_INTERPRETER_NAME): Define. 2014-02-10 Alan Modra * po/ld.pot: Regenerate. 2014-02-03 Alan Modra * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms) plt_style): Delete. Adjust all refs to instead use.. (params): ..this. New variable. (ppc_after_open_output): New function. Tweak params and pass to ppc_elf_link_params. (ppc_after_open): Adjust ppc_elf_select_plt_layout call. (ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable relaxation for ppc476 workaround. (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define. 2014-02-02 Sebastian Huber * ld/ld.texinfo: Change ALIGN_WITH_INPUT documentation. * ld/ldlang.c (lang_size_sections_1): Add dotdelta variable which reflects the VMA change due to alignment requirements. Use dotdelta do change the LMA if ALIGN_WITH_INPUT is requested. 2014-02-01 Hans-Peter Nilsson * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in call to bfd_set_section_vma exposed by recent bfd_set_section_vma change. 2014-01-30 Sandra Loosemore * Makefile.am (enios2elf.c, enios2linux.c): Update dependencies. * Makefile.in: Regenerated. * emulparams/nios2elf.sh (EXTRA_EM_FILE): Set. * emulparams/nios2linux.sh (EXTRA_EM_FILE): Set. * emultempl/nios2elf.em: New file. * gen-doc.texi (NIOSII): Set. * ld.texinfo (NIOSII): Set. 2014-01-28 Nick Clifton * Makefile.am: Remove obsolete MSP430 emulations. * configure.tgt: Likewise. * emulparams/msp430all.sh: Likewise. * Makefile.in: Regenerate. 2014-01-24 H.J. Lu PR ld/16498 * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve orphaned TLS section handling. 2014-01-24 Alan Modra * ldlang.c (lang_output_section_find_by_flags): Be careful to test look->bfd_section->flags if available rather than look->flags. Separate SEC_THREAD_LOCAL handling from SEC_READONLY loop, and rewrite. 2014-01-22 Alan Modra * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars. (lang_init): Initialise them. (lang_print_asneeded): New function. (lang_process): Call lang_print_asneeded. * ldlang.h (struct asneeded_minfo): New. (asneeded_list_tail): Declare. * ldmain.c (add_archive_element): Improve archive map heading. * ldmisc.c (minfo): Stash --as-needed info. 2014-01-22 Alan Modra * ld.h (struct map_symbol_def): Move to.. * ldlang.h: ..here. * ldlang.c (print_assignment): Don't set expld.assign_name to dot. 2014-01-22 Alan Modra * ld.texinfo (Output Section Discarding): Mention assigning to dot as a way of keeping otherwise empty sections. * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0, is_dot_plus_0, is_align_conditional): New predicates. (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an output section, except for some special cases. * scripttempl/elfmicroblaze.sc: Use canonical form to align at end of .heap and .stack. 2014-01-20 Marcus Shawcroft * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define. 2014-01-20 Marcus Shawcroft * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define. 2014-01-20 Alan Modra * ldlang.h (struct lang_definedness_hash_entry): Add by_object and by_script. Make iteration a single bit field. (lang_track_definedness, lang_symbol_definition_iteration): Delete. (lang_symbol_defined): Declare. * ldlang.c (lang_statement_iteration): Expand comment a little. (lang_init ): Make it bigger. (lang_track_definedness, lang_symbol_definition): Delete. (lang_definedness_newfunc): Update. (lang_symbol_defined): New function. (lang_update_definedness): Create entries here. Do track whether script definition of symbol is valid, even when also defined in an object file. * ldexp.c (fold_name ): Update. (fold_name ): Allow self-assignment for absolute symbols defined in a linker script. 2014-01-20 Guy Martin Alan Modra * ldlang.h (lang_output_section_get): Define. * ldlang.c (lang_output_section_get): Likewise. (init_os): Set the output_section userdata to the output section statement. * emultempl/hppaelf.em: Use lang_output_section_get instead of lang_output_section_find where applicable. * emultempl/aarch64elf.em: Likewise. * emultempl/aix.em: Likewise. * emultempl/armelf.em: Likewise. * emultempl/m68hc1xelf.em: Likewise. * emultempl/metagelf.em: Likewise. * emultempl/mipself.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/spuelf.em: Likewise. 2014-01-17 Alan Modra * genscripts.sh (COMPILE_IN): Don't set if already set. * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set COMPILE_IN=no. * emulparams/nds32elf16m.sh: Likewise. * emulparams/nds32elf_linux.sh: Likewise. * emultempl/aix.em: Test COMPILE_IN value is "yes". * emultempl/armcoff.em: Likewise. * emultempl/elf32.em: Likewise. * emultempl/generic.em: Likewise. * emultempl/gld960.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/lnk960.em: Likewise. * emultempl/m68kcoff.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/ticoff.em: Likewise. 2014-01-16 H.J. Lu PR ld/16456 * genscripts.sh: Don't search directory with LIBPATH_SUFFIX_SKIP suffix. * emulparams/elf32_x86_64.sh (LIBPATH_SUFFIX_SKIP): Set to 64 for elf32_x86_64 emulation. * emulparams/elf_i386.sh (LIBPATH_SUFFIX_SKIP): Set to 64 for elf_i386 emulation. 2014-01-16 Alan Modra * ld.h (fat_section_userdata_type, get_userdata): Move to.. * ldlang.h (input_section_userdata_type, get_userdata): ..here. * ldlang.c (init_map_userdata): Delete. Fold into.. (sort_def_symbol): ..here. Don't attach input section userdata to output sections or global bfd sections. (lang_map): Don't pre-allocate input section userdata. (init_os): Don't allocate userdata for output sections. (print_all_symbols): Update. 2014-01-15 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Silence uninitialized warning on ehdr_start_save with older GCC. 2014-01-15 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define __ehdr_start before size_dynamic_sections and restore afterwards. 2014-01-10 Alan Modra PR ld/14207 PR ld/16322 PR binutils/16323 * ldlang.c (lang_size_sections): Remove unneeded RELRO base adjust. Tidy comments. * ld.texinfo (DATA_SEGMENT_RELRO_END): Correct description. 2014-01-10 Hans-Peter Nilsson * emulparams/crislinux.sh (COMMONPAGESIZE): Define. 2014-01-08 H.J. Lu PR ld/14207 PR ld/16322 PR binutils/16323 * ldlang.c (lang_size_sections): Properly align RELRO base. 2014-01-08 H.J. Lu * ldver.c (ldversion): Update copyright year to 2014. For older changes see ChangeLog-2013 Copyright (C) 2014 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: