-2014-01-28 Nick Clifton <nickc@redhat.com>
+2015-03-23 Marcus Shawcroft <marcus.shawcroft@arm.com>
- * Makefile.am: Remove obsolete MSP430 emulations.
- * configure.tgt: Likewise.
- * emulparams/msp430all.sh: Likewise.
+ * 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.
-2014-01-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/16498
- * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Improve
- orphaned TLS section handling.
-
-2014-01-24 Alan Modra <amodra@gmail.com>
-
- * 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 <amodra@gmail.com>
-
- * 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 <amodra@gmail.com>
-
- * 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 <amodra@gmail.com>
-
- * 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 <marcus.shawcroft@arm.com>
-
- * emulparams/aarch64linuxb.sh (ELF_INTERPRETER_NAME): Define.
-
-2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
-
- * emulparams/aarch64linux.sh (ELF_INTERPRETER_NAME): Define.
-
-2014-01-20 Alan Modra <amodra@gmail.com>
-
- * 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 <lang_definedness_table>): 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 <DEFINED>): Update.
- (fold_name <NAME>): Allow self-assignment for absolute symbols
- defined in a linker script.
-
-2014-01-20 Guy Martin <gmsoft@tuxicoman.be>
- Alan Modra <amodra@gmail.com>
-
- * 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 <amodra@gmail.com>
-
- * 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 <hongjiu.lu@intel.com>
-
- 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 <amodra@gmail.com>
-
- * 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 <hongjiu.lu@intel.com>
-
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
- Silence uninitialized warning on ehdr_start_save with older
- GCC.
-
-2014-01-15 Alan Modra <amodra@gmail.com>
-
- * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
- __ehdr_start before size_dynamic_sections and restore afterwards.
-
-2014-01-10 Alan Modra <amodra@gmail.com>
-
- 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 <hp@axis.com>
-
- * emulparams/crislinux.sh (COMMONPAGESIZE): Define.
-
-2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR ld/14207
- PR ld/16322
- PR binutils/16323
- * ldlang.c (lang_size_sections): Properly align RELRO base.
-
-2014-01-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * ldver.c (ldversion): Update copyright year to 2014.
-
-For older changes see ChangeLog-2013
+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..
+ (OTHER_RELRO_SECTIONS_2): ..here, new define.
+ * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2.
+
+2015-01-19 Alan Modra <amodra@gmail.com>
+
+ PR ld/17615
+ * ldlang.c (lang_process): Run lang_common before lang_gc_sections.
+
+2015-01-14 Jiong Wang <jiong.wang@arm.com>
+
+ * 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 <amodra@gmail.com>
+
+ * ldver.c (ldversion): Just print current year.
+
+2015-01-01 Alan Modra <amodra@gmail.com>
+
+ Update year range in copyright notice of all files.
+
+For older changes see ChangeLog-2014
\f
-Copyright (C) 2014 Free Software Foundation, Inc.
+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