2015-04-14 H.J. Lu PR ld/pr17709 * ld.texinfo: Document "-z noextern-protected-data". * ldmain.c (main): Initialize link_info.extern_protected_data to -1. * lexsup.c (elf_shlib_list_options): Add "-z [no]extern-protected-data". * emulparams/elf32_x86_64.sh: Source extern_protected_data.sh. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_i386_be.sh: Likewise. * emulparams/elf_i386_chaos.sh: Likewise. * emulparams/elf_i386_ldso.sh: Likewise. * emulparams/elf_i386_vxworks.sh: Likewise. * emulparams/elf_k1om.sh: Likewise. * emulparams/elf_l1om.sh: Likewise. * emulparams/elf_x86_64.sh: Source extern_protected_data.sh. (PARSE_AND_LIST_OPTIONS): Renamed to ... (PARSE_AND_LIST_OPTIONS_BNDPLT): This. (PARSE_AND_LIST_ARGS_CASE_Z): Renamed to ... (PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT): This. (PARSE_AND_LIST_OPTIONS): Append $PARSE_AND_LIST_OPTIONS_BNDPLT. (PARSE_AND_LIST_ARGS_CASE_Z): Append $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT. * emulparams/extern_protected_data.sh: New file. 2015-04-11 H.J. Lu * plugin.c (plugin_load_plugins): Removed an extra ';'. 2015-04-10 Nick Clifton PR binutils/18198 * ld.texinfo (--be8): Add a note about the interaction of this option with the assembler's -EB option. 2015-04-10 Alan Modra * configure.ac: Set elf_list_options etc. in proper case. * configure: Regenerate. 2015-04-10 Alan Modra PR ld/18223 * ldlang.c (lang_process): Add _init and _fini to gc_sym_list. 2015-04-09 H.J. Lu * emulparams/elf_x86_64.sh (BNDPLT): Removed. (PARSE_AND_LIST_OPTIONS): New. (PARSE_AND_LIST_ARGS_CASE_Z): Likewise. * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Remove BNDPLT check. Handle PARSE_AND_LIST_ARGS_CASE_Z. (gld${EMULATION_NAME}_list_options): Remove BNDPLT check. 2015-04-09 Nick Clifton * po/fr.po: Updated French translation. 2015-04-08 H.J. Lu * configure.ac (elf_list_options): Set to TRUE for --enable-targets=all. (elf_shlib_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. * configure: Regenerated. 2015-04-08 H.J. Lu * emulparams/elf32bmipn32-defs.sh: Skip empty EMULATION_NAME. 2015-04-08 H.J. Lu * Makefile.am (ELF_CLFAGS): New. (AM_CFLAGS): Add $(ELF_CLFAGS). * configure.ac (elf_list_options): New. AC_SUBST. (elf_shlib_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. * lexsup.c (elf_shlib_list_options): New. (elf_static_list_options): Likewise. (elf_plt_unwind_list_options): Likewise. (ld_list_options): Likewise. (help): Call ld_list_options. * Makefile.in: Regenerated. * configure: Likewise. * emulparams/plt_unwind.sh (PLT_UNWIND): New. (PARSE_AND_LIST_OPTIONS): Removed. * emultempl/elf32.em (gld_list_options): New. (gld${EMULATION_NAME}_list_options): Define only if BNDPLT or PARSE_AND_LIST_OPTIONS is defined. (ld_${EMULATION_NAME}_emulation): Replace gld${EMULATION_NAME}_list_options with ${gld_list_options. 2015-04-07 Alan Modra PR ld/18176 * ldlang.c (lang_size_sections): Cast shift expression. 2015-04-07 Alan Modra * emultempl/ppc32elf.em: Handle --no-pic-fixup. (params): Init new field. (ppc_before_allocation): Enable relaxation for pic_fixup. 2015-04-07 Nick Clifton * ld.h (struct ld_config_type): Add new field: warn_orphan. * ldlex.h (enum option_values): Add OPTION_WARN_ORPHAN and OPTION_NO_WARN_ORPHAN. * lexsup.c (ld_options): Add --warn-orphan and --no-warn-orphan. (parse_args): Handle the new options. * ldemul.c (ldemul_place_orphan): If requested, generate a warning message when an orphan section is placed in the output file. * ld.texinfo: Document the new option. * NEWS: Mention the new feature. 2015-04-02 Andrew Turner * Makefile.am: Add FreeBSD aarch64 files. * Makefile.in: Regenerate. * configure.tgt: Add aarch64-*-freebsd* target triple. * emulparams/aarch64fbsd.sh: New file. * emulparams/aarch64fbsdb.sh: New file. 2015-04-01 H.J. Lu * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Work around a GCC uninitialized warning bug fixed in GCC 4.6. 2015-04-01 Tejas Belagod * emultempl/aarch64elf.em (aarch64_elf_create_output_section_statements): Add parameter in bfd_elf${ELFSIZE}_aarch64_set_options call. (OPTION_FIX_ERRATUM_843419): Define. (PARSE_AND_LIST_LONGOPTS): Add fix-cortex-a53-843419. (PARSE_AND_LIST_ARGS_CASES): Add OPTION_FIX_ERRATUM_843419. 2015-04-01 Chen Gang * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for relocating operation. 2015-04-01 Alan Modra PR ld/18176 * ldlang.c (lang_size_sections): When alignment of sections results in relro base adjustment being too large, don't go lower than the initial value. * ldexp.c (fold_binary ): Comment. * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Omit SEGMENT_SIZE alignment when SEGMENT_SIZE is the same as MAXPAGESIZE. 2015-04-01 Alan Modra * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't init ehdr_start_save. 2015-04-01 Alan Modra * Makefile.am (eelf32ppcvxworks.c): Depend on ppc32elf.em and ldemul-list.h. (eelf32lppc.c, eelf32lppclinux.c, eelf32lppcnto.c, eelf32lppcsim.c, eelf32ppc.c, eelf32ppc_fbsd.c, eelf32ppclinux.c, eelf32ppcnto.c, eelf32ppcsim.c): Rearrange deps for consistency. * Makefile.in: Regenerate. 2015-04-01 Ed Schouten * emultempl/elf32.em (gld*_before_allocation): Zero-initialize the ehdr_start_save variable. 2015-03-31 Ed Schouten * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf_x86_64_cloudabi.c. (eelf_x86_64_cloudabi.c): New. * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for x86_64-*-cloudabi*. * Makefile.in: Regenerated. * emulparams/elf_x86_64_cloudabi.sh: New file. 2015-03-31 H.J. Lu * configure.ac (AM_ZLIB): Removed. * Makefile.in: Regenerated. * config.in: Likewise. * configure: Likewise. 2015-03-24 Marcus Shawcroft * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section alignment to 2. 2015-03-23 Marcus Shawcroft * emultempl/aarch64elf.em (elf${ELFSIZE}_aarch64_add_stub_section): Adjust layout. 2015-03-18 Chen Gang * ldmain.c (main): Use %F instead of %X for einfo. 2015-03-02 Alan Modra * ld.texinfo (Options <-z nocopyreloc>): Rewrite. 2015-02-27 Nick Clifton PR ld/17900 * ldlang.c (lang_set_flags): Allow exclamation mark to reverse the sense of the following memory region attribute characters. 2015-02-27 Alan Modra * Makefile.am (ALL_EMULATION_SOURCES): Sort new h8300 entries. (eh8300elf_linux.c, eh8300helf_linux.c, eh8300self_linux.c, eh8300sxelf_linux.c): Do not invoke genscripts here. * Makefile.in: Regenerate. 2015-02-24 Nick Clifton * Makefile.am (ev850.c): Add dependency upon $(srcdir)/emultempl/v850elf.em. (ev850_rh850.c): Likewise. * Makefile.in: Regenerate. * emultempl/v850elf.em: New file. * emulparams/v850.sh (EXTRA_EM_FILE): Define. * emulparams/v850_rh850.sh (EXTRA_EM_FILE): Define. * scripttempl/v850.sc: Add .note.renesas section. * scripttempl/v850_rh850.sc: Likewise. 2015-02-24 Senthil Kumar Selvaraj * scripttempl/avr.sc: Add new user_signatures region. Define and use symbols for all region lengths. * scripttempl/avrtiny.sc: Define and use symbols for all region lengths. 2015-01-21 Yoshinori Sato * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations. * Makefile.in: Regenerate. * configure.tgt: Add h8300-*-linux * emulparams/h8300elf_linux.sh: Add new emulation. * emulparams/h8300helf_linux.sh: Likewise. * emulparams/h8300self_linux.sh: Likewise. * emulparams/h8300sxelf_linux.sh: Likewise. 2015-02-23 Nick Clifton * lexsup.c (parse_args): Produce a more reasonable error message when -ixxx or -rxxx is the last option on the linker command line. 2015-02-14 H.J. Lu PR ld/17973 * testplug2.c (allsymbolsread_silent): New. (set_register_hook): Handle allsymbolsreadsilent. (onall_symbols_read): Skip a message if allsymbolsread_silent is TRUE. 2015-02-14 Alan Modra PR ld/17973 * ldlang.h (struct lang_input_statement_flags): Add lto_output. * ldlang.c (lang_process): Don't set loading_lto_outputs. * ldfile.c (ldfile_try_open_bfd): Transfer entry flags.lto_output to bfd. * plugin.c (add_input_file, add_input_library): Set flags.lto_output. 2015-02-13 H.J. Lu * NEWS: Mention support for LLVM plugin. 2015-02-13 Alan Modra * ld.texinfo (Options <--defsym>): Correct cross reference. 2015-02-11 H.J. Lu * lexsup.c (ld_options): Add --[no-]map-whole-files for gold option compatibility. 2015-02-11 H.J. Lu * plugin.c (message): Output "warning:" for LDPL_WARNING. Output "error:" for LDPL_FATAL and LDPL_ERROR. * testplug2.c (parse_option): Handle fatal, error and warning. 2015-02-11 H.J. Lu * testplug2.c (dump_tv_tag): Removed. (onall_symbols_read): Return LDPS_ERR if the file descriptor isn't closed. * testplug3.c (dump_tv_tag): Removed. (onclaim_file): Fix typo. 2015-02-11 H.J. Lu PR ld/17878 * Makefile.am (noinst_LTLIBRARIES): Add libldtestplug2.la and libldtestplug3.la. (libldtestplug2_la_SOURCES): New. (libldtestplug2_la_CFLAGS): Likewise. (libldtestplug2_la_LDFLAGS): Likewise. (libldtestplug3_la_SOURCES): New. (libldtestplug3_la_CFLAGS): Likewise. (libldtestplug3_la_LDFLAGS): Likewise. * Makefile.in: Regenerated. * testplug2.c: New file. * testplug3.c: Likewise. 2015-02-11 H.J. Lu PR ld/17878 * plugin.c: Include ../bfd/plugin.h. (plugin_get_ir_dummy_bfd): Call bfd_create with link_info.output_bfd instead of srctemplate. Copy BFD info from srctemplate only if it doesn't use BFD plugin target vector. (plugin_load_plugins): Call register_ld_plugin_object_p with (plugin_object_p) (plugin_maybe_claim): Renamed to ... (plugin_object_p): This. Return dummy BFD target vector if input is calimed by plugin library, otherwise return NULL. Update plugin_format and plugin_dummy_bfd. (plugin_maybe_claim): New. Use plugin_object_p. 2015-02-10 H.J. Lu * plugin.c (plugin_maybe_claim): Initialize use_mmap. 2015-02-10 H.J. Lu * plugin.c (plugin_input_file_t): Add use_mmap. (plugin_pagesize): New. (get_view): Use plugin_pagesize. Set use_mmap if mmap is used. (plugin_load_plugins): Initialize plugin_pagesize. (plugin_maybe_claim): Unmap the buffer if plugin didn't claim the file. 2015-02-10 H.J. Lu * plugin.c (get_view): Align offset passed to mmap. 2015-02-08 H.J. Lu * ldfile.c (ldfile_try_open_bfd): Don't call bfd_check_format if plugin isn't active or there is no thing more to claim. 2015-02-08 H.J. Lu * plugin.c (plugin_maybe_claim): Check format against bfd_object directly. 2015-02-07 H.J. Lu * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with ibfd. 2015-02-07 H.J. Lu * plugin.c: Include "libbfd.h". (plugin_strdup): New. (plugin_maybe_claim): Remove the argument of pointer to struct ld_plugin_input_file. Open and handle input entry. * plugin.h (plugin_maybe_claim): Updated. * ldfile.c (ldfile_try_open_bfd): Call plugin_maybe_claim directly without passing a pointer to struct ld_plugin_input_file. * ldmain.c: Don't include "libbfd.h". (add_archive_element): Call plugin_maybe_claim directly without passing a pointer to struct ld_plugin_input_file. 2015-02-06 H.J. Lu * ld.texinfo: Document -z text, -z notext and -z textoff. * emultempl/elf32.em (gld${EMULATION_NAME}_list_options): Add -z text, -z notext and -z textoff. 2015-02-06 H.J. Lu * configure.ac: Add AC_FUNC_MMAP. * config.in: Regenerated. * configure: Likewise. * plugin.c: Include . (MAP_FAILED): New. Defined if not defined. (PROT_READ): Likewise. (MAP_PRIVATE): Likewise. (view_buffer_t): New. (plugin_input_file_t): Add view_buffer. (get_view): Try mmap and cache the view buffer. (plugin_maybe_claim): Initialize view_buffer. 2015-02-05 H.J. Lu * plugin.c (release_input_file): Set fd to -1 after closing it. (plugin_maybe_claim): Close fd only if fd != -1. 2015-02-05 H.J. Lu PR ld/17878 * plugin.c: Include . (errno): New. Declare if needed. (plugin_input_file_t): New. (get_input_file): Implemented. (get_view): Likewise. (release_input_file): Likewise. (add_symbols): Updated. (get_symbols): Likewise. (plugin_maybe_claim): Allocate a plugin_input_file_t. Close fd only for a bfd_object input. 2015-02-02 Alan Modra * emultempl/ppc64elf.em (toc_section_name): New var. (ppc_after_open): Set it. (ppc_before_allocation): Use it. (gld${EMULATION_NAME}_after_allocation): Here too. 2015-01-29 H.J. Lu * ldfile.c (ldfile_try_open_bfd): Replace plugin_active_plugins_p() with link_info.lto_plugin_active. * ldlang.c (lang_process): Likewise. * ldmain.c (add_archive_element): Likewise. * plugin.c (plugin_active_plugins_p): Removed. * plugin.h (plugin_active_plugins_p): Likewise. 2015-01-28 H.J. Lu * plugin.h (plugin_get_ir_dummy_bfd): Removed. Move comments to ... * plugin.c (plugin_get_ir_dummy_bfd): Here. Make it static. 2015-01-28 H.J. Lu PR ld/17878 * plugin.c (tv_header_tags(): Add LDPT_GET_VIEW. (get_view): New function. (set_tv_header): Handle LDPT_GET_VIEW. * testplug.c (tag_names): Add LDPT_GET_VIEW. (tv_get_view): New. (dump_tv_tag): Handle LDPT_GET_VIEW. (parse_tv_tag): Likewise. 2015-01-28 Alan Modra * emulparams/elf64ppc.sh (INITIAL_READWRITE_SECTIONS): Define. * emultempl/ppc64elf.em (params): Init new field. (ppc_after_open): New function. (LDEMUL_AFTER_OPEN): Define. * ldlang.c (lang_final): Whitespace fix. 2015-01-28 James Bowman * Makefile.am: Add FT32 files. * configure.tgt: Handle FT32 target. * emulparams/elf32ft32.sh: New file. * scripttempl/ft32.sc: New file. * Makefile.in: Regenerate. 2015-01-28 Senthil Kumar Selvaraj PR 4643 * ldexp.c (fold_name): Fold LENGTH only after lang_first_phase_enum. * ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH rightaway. * ldlang.h (struct memory_region_struct): Add origin_exp and length_exp fields. * ldlang.c (lang_do_memory_regions): New. (lang_memory_region_lookup): Initialize origin_exp and length_exp fields. (lang_process): Call lang_do_memory_regions. 2015-01-20 Andrew Burgess * ldlang.c (print_assignment): Only evaluate the expression for a PROVIDE'd assignment when the destination is being defined. Display a special message for PROVIDE'd symbols that are not being provided. 2015-01-20 Alan Modra * emulparams/elf64ppc.sh (OTHER_SDATA_SECTIONS): Use in place of.. (OTHER_BSS_SYMBOLS): ..this. (OTHER_PLT_RELOC_SECTIONS): Don't define. (OTHER_GOT_RELOC_SECTIONS): Add rela.toc1 and rela.tocbss. (OTHER_READWRITE_SECTIONS): Don't define. Move .toc1 to.. (OTHER_RELRO_SECTIONS_2): ..here. * scripttempl/elf.sc: Move SBSS too when DATA_SDATA. 2015-01-20 Alan Modra * emulparams/elf64ppc.sh (BSS_PLT): Don't define. (OTHER_READWRITE_SECTIONS): Move .branch_lt to.. (OTHER_RELRO_SECTIONS_2): ..here. (DATA_GOT, SEPARATE_GOTPLT, DATA_SDATA, DATA_PLT, PLT_BEFORE_GOT): Define. * scripttempl/elf.sc: Handle DATA_SDATA and DATA_GOT/DATA_PLT/ PLT_BEFORE_GOT combination. (DATA_GOT, SDATA_GOT): Don't define if either is already defined. 2015-01-20 Alan Modra * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to.. (OTHER_RELRO_SECTIONS_2): ..here, new define. * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2. 2015-01-19 Alan Modra PR ld/17615 * ldlang.c (lang_process): Run lang_common before lang_gc_sections. 2015-01-14 Jiong Wang * ld-arm/elf32-reject.s: New testcase. * ld-arm/elf32-reject.d: Likewise. * ld-arm/elf32-reject-pie.s: Likewise. * ld-arm/elf32-reject-pie.d: Likewise. * ld-arm/arm-elf.exp: Run new testcases. * ld-arm/ifunc-7.s: Delete f2/f4 test items. * ld-arm/ifunc-7.rd: Likewise. * ld-arm/ifunc-7.gd: Likewise. * ld-arm/ifunc-7.dd: Likewise. * ld-arm/ifunc-8.s: Likewise. * ld-arm/ifunc-8.rd: Likewise. * ld-arm/ifunc-8.gd: Likewise. * ld-arm/ifunc-8.dd: Likewise. 2015-01-01 Alan Modra * ldver.c (ldversion): Just print current year. 2015-01-01 Alan Modra Update year range in copyright notice of all files. For older changes see ChangeLog-2014 Copyright (C) 2015 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: