+2015-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld.texinfo: Document --compress-debug-sections=.
+ * ldmain.c (main): Set BFD_COMPRESS on output_bfd if
+ COMPRESS_DEBUG is set. Set BFD_COMPRESS_GABI on output_bfd
+ for COMPRESS_DEBUG_GABI_ZLIB.
+ * lexsup.c (elf_static_list_options): Add
+ --compress-debug-sections=.
+ * emultempl/elf32.em (OPTION_COMPRESS_DEBUG): New.
+ (xtra_long): Add "compress-debug-sections".
+ (gld${EMULATION_NAME}_handle_option): Handle
+ OPTION_COMPRESS_DEBUG.
+
+2015-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ 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 <hongjiu.lu@intel.com>
+
+ * plugin.c (plugin_load_plugins): Removed an extra ';'.
+
+2015-04-10 Nick Clifton <nickc@redhat.com>
+
+ 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 <amodra@gmail.com>
+
+ * configure.ac: Set elf_list_options etc. in proper case.
+ * configure: Regenerate.
+
+2015-04-10 Alan Modra <amodra@gmail.com>
+
+ PR ld/18223
+ * ldlang.c (lang_process): Add _init and _fini to gc_sym_list.
+
+2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * emulparams/elf32bmipn32-defs.sh: Skip empty EMULATION_NAME.
+
+2015-04-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <amodra@gmail.com>
+
+ PR ld/18176
+ * ldlang.c (lang_size_sections): Cast shift expression.
+
+2015-04-07 Alan Modra <amodra@gmail.com>
+
+ * emultempl/ppc32elf.em: Handle --no-pic-fixup.
+ (params): Init new field.
+ (ppc_before_allocation): Enable relaxation for pic_fixup.
+
+2015-04-07 Nick Clifton <nickc@redhat.com>
+
+ * 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 <andrew@freebsd.org>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <tejas.belagod@arm.com>
+
+ * 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 <gang.chen.5i5j@gmail.com>
+
+ * emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
+ relocating operation.
+
+2015-04-01 Alan Modra <amodra@gmail.com>
+
+ 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 <DATA_SEGMENT_RELRO_END>): Comment.
+ * scripttempl/elf.sc (DATA_SEGMENT_ALIGN): Omit SEGMENT_SIZE
+ alignment when SEGMENT_SIZE is the same as MAXPAGESIZE.
+
+2015-04-01 Alan Modra <amodra@gmail.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Don't
+ init ehdr_start_save.
+
+2015-04-01 Alan Modra <amodra@gmail.com>
+
+ * 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 <ed@nuxi.nl>
+
+ * emultempl/elf32.em (gld*_before_allocation): Zero-initialize
+ the ehdr_start_save variable.
+
+2015-03-31 Ed Schouten <ed@nuxi.nl>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * configure.ac (AM_ZLIB): Removed.
+ * Makefile.in: Regenerated.
+ * config.in: Likewise.
+ * configure: Likewise.
+
+2015-03-24 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section
+ alignment to 2.
+
+2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * emultempl/aarch64elf.em
+ (elf${ELFSIZE}_aarch64_add_stub_section): Adjust layout.
+
+2015-03-18 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ * ldmain.c (main): Use %F instead of %X for einfo.
+
+2015-03-02 Alan Modra <amodra@gmail.com>
+
+ * ld.texinfo (Options <-z nocopyreloc>): Rewrite.
+
+2015-02-27 Nick Clifton <nickc@redhat.com>
+
+ 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 <amodra@gmail.com>
+
+ * 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 <nickc@redhat.com>
+
+ * 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 <senthil_kumar.selvaraj@atmel.com>
+
+ * 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 <ysato@users.sourceforge.jp>
+
+ * 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 <nickc@redhat.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ 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 <amodra@gmail.com>
+
+ 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 <hongjiu.lu@intel.com>
+
+ * NEWS: Mention support for LLVM plugin.
+
+2015-02-13 Alan Modra <amodra@gmail.com>
+
+ * ld.texinfo (Options <--defsym>): Correct cross reference.
+
+2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lexsup.c (ld_options): Add --[no-]map-whole-files for gold
+ option compatibility.
+
+2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ 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 <hongjiu.lu@intel.com>
+
+ 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 <hongjiu.lu@intel.com>
+
+ * plugin.c (plugin_maybe_claim): Initialize use_mmap.
+
+2015-02-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * plugin.c (get_view): Align offset passed to mmap.
+
+2015-02-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * plugin.c (plugin_maybe_claim): Check format against bfd_object
+ directly.
+
+2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * plugin.c (plugin_maybe_claim): Replace entry->the_bfd with
+ ibfd.
+
+2015-02-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * configure.ac: Add AC_FUNC_MMAP.
+ * config.in: Regenerated.
+ * configure: Likewise.
+ * plugin.c: Include <sys/mman.h>.
+ (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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ PR ld/17878
+ * plugin.c: Include <errno.h>.
+ (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 <amodra@gmail.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ * 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 <hongjiu.lu@intel.com>
+
+ 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 <amodra@gmail.com>
+
+ * 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 <james.bowman@ftdichip.com>
+
+ * 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 <senthil_kumar.selvaraj@atmel.com>
+
+ 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 <andrew.burgess@embecosm.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
+
+ * 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 <amodra@gmail.com>
* emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to..