Use mmap and cache the view buffer for get_view
[external/binutils.git] / ld / ChangeLog
index 541c329..e838ac8 100644 (file)
@@ -1,3 +1,158 @@
+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.