public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  users/jkratoch/index: DWARF-5: .debug_names index consumer
@ 2017-06-28 21:21 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2017-06-28 21:21 UTC (permalink / raw)
  To: archer-commits

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 135102 bytes --]

The branch, users/jkratoch/index has been updated
  discards  458882a19f9d084b9a10444dc0d867085171162a (commit)
  discards  eeb6810fc7fd76359517d882d861447ad063b37c (commit)
  discards  17ceeb59d9c75ab41e5a3e6a2d89c5eb03324538 (commit)
  discards  e2936bef9ce99169f039e0e1b994852fee28582c (commit)
  discards  157966fcdc971d7686a57d8ee81fd51f9da9668e (commit)
  discards  b1ba635f9cb13a3655e633b1e3728d6b3b9bd78f (commit)
  discards  8349711e0442dffafc803193e71cfd96683324b0 (commit)
       via  2e95764753977d499d61d925a0886c0b4f19102f (commit)
       via  d60714a3a1e2329fab05042bd3be248ddaf20d98 (commit)
       via  6d34e133d6c5081761aea128791fe8c11a654fa5 (commit)
       via  0cece0b84e139eefe775579aa194bacea9bc0f10 (commit)
       via  17b528bc016dd508ebc7baf01808c33c7610d575 (commit)
       via  53c0ab91b7e4b657b9d43be08dfcd323adec5c48 (commit)
       via  4cca419b6d63715cf03067abcc7de1cdc01882a6 (commit)
       via  328ce951b2513a102711bb640496a2f1b5f8d3dd (commit)
       via  47fdcf63c04b5c220974affc8ff1d9ef8a041919 (commit)
       via  6e75794e9da0e12b44c36272e16d18449d25a03d (commit)
       via  bc491f2e76df1f2cec877eb07e88209b609ddecf (commit)
       via  88305e1b9f4592a2ab129015ce409fcc16613ebb (commit)
       via  65a55fbbd949868f7df3c65d39eb8d4455515132 (commit)
       via  c604a79ad4d47070bbcc0bc082188fb16892ceef (commit)
       via  41664b45ab6387184bd0e7512fcf7a72c58744e7 (commit)
       via  819e1f86976dbbd13e0de004cdd3e3089e4c3fc0 (commit)
       via  c7d289d129cde92c0d351446c5072c5f744040fe (commit)
       via  38bf472a15210c222bb3885820e763c47760a704 (commit)
       via  9991e9d77fe04c4fde9b88964c6f25119a781e0d (commit)
       via  6da67eb10df978c1237ca863990f38cdd4ca2e95 (commit)
       via  23732b1e32dd58f7c731d9aee56ff0b22a645d53 (commit)
       via  a4d1e79aaa4b9d994cd9790fc3b756748dc5571c (commit)
       via  2d68166e8704569eeceb76ac743ea1e7cca2af26 (commit)
       via  8268c77870de3c27ef598348f3023ba159fd0fca (commit)
       via  6806377956c76c23ae96a3844e29412ae117e07a (commit)
       via  db665f427ca781d631d9e29b1bb744fb11ffcbba (commit)
       via  ea9aafc41a764e4e2dbb88a7b031e886b481b99a (commit)
       via  79cb3f75debfeb1355f8883143f0f6dc98f70080 (commit)
       via  b0bd097ef63edac71b6720e850b9a04605a87f7f (commit)
       via  2438385a4dea36eba111ee931a2fe2d159c676c8 (commit)
       via  daba08c913105615c5e57dddcfcfa5d8c4237eb9 (commit)
       via  7575e6a752ecfa66a41a5d4636ed79524cb50ccb (commit)
       via  1284e99a6ce362d342d6468e5caa39ddab574721 (commit)
       via  b1a2d7a0e57abc06e6ec99c88ca9992780f45f71 (commit)
       via  a6cbf936e3dce68114d28cdf60d510a3f78a6d40 (commit)
       via  7211ae501eb0de1044983f2dfb00091a58fbd66c (commit)
       via  dc819143fe1d44970a3da4b9ebc7828fa2337115 (commit)
       via  ab27f80c5dceaa23c4ba7f62c0d5d22a5d5dd7a1 (commit)
       via  1f473e3d0ad285195934e6a077c7ed32afe66437 (commit)
       via  b417536f2350881ad28952b3906a025a54d241bd (commit)
       via  0630b49c470ca2e3c3f74da4c7e4ff63440dd71f (commit)
       via  515a4464176efc6ac31c83bd40b5c67f61c3b044 (commit)
       via  873c08142c4c377d2d3ed0b1b1b9e262ddc06c61 (commit)
       via  8b5a7a6e8ceb34f8e82aa361ee91ec25e0049774 (commit)
       via  d1435379df189d1c358ebd9776af8824a9158533 (commit)
       via  04e15b4a9462cb1ae819e878a6009829aab8020b (commit)
       via  cfd14a500e0485374596234de4db10e88ebc7618 (commit)
       via  0602cdad745472ed2561d8096a4bb021c8d0301d (commit)
       via  a3aea05a66ec325ddd19b0c8dbe504958a295cd3 (commit)
       via  fd52715cfa77b7e06f4ab5eadfe7946d22180adc (commit)
       via  93ec5e23766a9f75aa4950748cf73964028a8d1b (commit)
       via  49fa50ef9c59aa6d03bc2e33a25b2d832a9e692b (commit)
       via  cf9bdae906f897ae13563c03c65f325cad05bf1c (commit)
       via  46adbd17408fda28aca5320e2247ede30b7e9649 (commit)
       via  57963c05b9911c3555add356a7cd9952d391dfe4 (commit)
       via  cc75e0fdaeb179efc66ddd1cb1b6da40e6adacc1 (commit)
       via  07809eafc959a0c588663c0c949eaf8044a1b40a (commit)
       via  f076f0349cb958b451872ce4a7987821533c2f49 (commit)
       via  d7e2ebe7e73105766a854f4f0e3a5c509fd0e82a (commit)
       via  2d3392bd42e16b5c8894c357f250dbde245e96fe (commit)
       via  5cc4ca837deac7dc962d8a3741aa120c50ab41da (commit)
       via  b21351faa29dfa6deab3afcb5a2ee78548239274 (commit)
       via  0cda1e190dffc804d1f1ffc4bd849ffdca694914 (commit)
       via  bff0500d7abc215bbc6d4e9332047c023f4ce2cb (commit)
       via  ced40572e478927f43a849d5c39f794868da8d38 (commit)
       via  173205ca3356cab0590c2debaac97107fb9a7fcd (commit)
       via  926770baf44bb47c41e85486957f4ae70b694837 (commit)
       via  9bdfdbf929d581cf845ffc815ae94a39d9f7b032 (commit)
       via  94f78a777c396fa1ce2f40d34afed1b6b5012196 (commit)
       via  4aa57d6a2bfc4e48fa6a685bfa164db5ae2e1c1c (commit)
       via  7ee7ff7015840f2d0156bf386a050bd728d22fc4 (commit)
       via  7e57d19e48f94ff9a19a9413cf25d1887e3a7f52 (commit)
       via  0e158763b0c5671cd40cdd2faee48d6659489ddd (commit)
       via  0dd5cbc56307afaf6a366a8e78ef25cf9cefe514 (commit)
       via  b4cbbe8f7294070cc93a71ace78f134965ddad82 (commit)
       via  790ba5c89893f31dabb6d8e85c8d4be61c52ad99 (commit)
       via  0056441823b1b1b2488dcf069b4feb55b00137ba (commit)
       via  5d8763a38211dd79459485ba0be4f76849ef8200 (commit)
       via  922109c7182858b005f55f6ac69bb6af145fc710 (commit)
       via  84da4cf89efed1df483914d06210daae79ce3eb8 (commit)
       via  d4c6ce5b011b03c7e4a84b530cba1f9b56441131 (commit)
      from  458882a19f9d084b9a10444dc0d867085171162a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 2e95764753977d499d61d925a0886c0b4f19102f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:28 2017 +0200

    DWARF-5: .debug_names index consumer
    
    Hi,
    
    it is not regression-free against no-index but it is regression-free against
    .gdb_index.  That is because .gdb_index is not regression-free against
    no-index.
    
    Some testcases needed to be updated as they were missing .debug_aranges.
    While that does not matter for no-index (as GDB builds the mapping internally
    during dwarf2_build_psymtabs_hard) and neither for .gdb_index (as GDB uses that
    internally built mapping which it stores into .gdb_index) it does matter for
    .debug_names as that simply assumes existing .debug_aranges from GCC.
    
    I tried some performance checking but the index handling speed is negligible
    compared to the CU expansion associated with it.  .debug_names looked even as
    a bit faster to me than .gdb_index which rather surprised me but I did not
    investigate it more.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_debug_names): New declaration.
    	* dwarf2read.c (mapped_debug_names): New.
    	(struct dwarf2_per_objfile): Add debug_names, debug_aranges and
    	debug_names_table.
    	(dwarf2_elf_names): Add debug_names and debug_aranges.
    	(struct dwz_file): Add debug_names.
    	(dwarf2_locate_sections): Add debug_names and debug_aranges.
    	(locate_dwz_sections): Add debug_names.
    	(create_signatured_type_table_from_debug_names)
    	(create_addrmap_from_aranges): New.
    	(dwarf2_read_index): Update function comment.
    	(read_debug_names_from_section, create_cus_from_debug_names_list)
    	(create_cus_from_debug_names, dwarf2_read_debug_names): New.
    	(dwarf5_djb_hash): Function renamed from DebugNamesNameTable::djb_hash.
    	(dw2_debug_names_iterator): New.
    	(read_indirect_string_at_offset): New declaration.
    	(mapped_debug_names::namei_to_name)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
    	(dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
    	(dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
    	New.
    	(dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
    	(dwarf2_free_objfile): Delete also debug_names_table;
    	(debug_names::djb_hash): Rename it to dwarf5_djb_hash.
    	(debug_names::build): Update djb_hash caller.
    	* elfread.c (elf_sym_fns_debug_names): New.
    	* psymtab.h (dwarf2_debug_names_functions): New declaration.
    	* symfile.h (struct dwarf2_debug_sections): Add debug_names and
    	debug_aranges.
    	* xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
    
    gdb/testsuite/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/maint.exp (check for .gdb_index): Check also for
    	.debug_names.
    	* gdb.dlang/watch-loc.c (.debug_aranges): New.
    	* gdb.dwarf2/dw2-case-insensitive-debug.S: Likewise.
    	* gdb.dwarf2/gdb-index.exp (check if index present, .gdb_index used)
    	(.gdb_index used after symbol reloading): Support also .debug_names.
    	* gdb.mi/dw2-ref-missing-frame-func.c (.debug_aranges): New.

commit d60714a3a1e2329fab05042bd3be248ddaf20d98
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:27 2017 +0200

    Refactor: Move some generic code out of .gdb_index code
    
    Hi,
    
    just for the next patch.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_cu_from_index_list): New from ...
    	(create_cus_from_index_list): ... this function, use it.
    	(dw_expand_symtabs_matching_file_matcher)
    	(dw2_expand_symtabs_matching_one): New from ...
    	(dw2_expand_symtabs_matching): ... this function, use them.

commit 6d34e133d6c5081761aea128791fe8c11a654fa5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:26 2017 +0200

    Code cleanup: dwarf2_initialize_objfile return value
    
    Hi,
    
    dwarf2_initialize_objfile was returning boolean whether it is psymtabs or
    .gdb_index while now it needs to return also whether it is .debug_names.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
    	declarations from elfread.c.
    	(dwarf2_initialize_objfile): Change return value.
    	* elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
    	declarations to defs.h.
    	(elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
    	* symfile.h (dwarf2_initialize_objfile): Change return type.

commit 0cece0b84e139eefe775579aa194bacea9bc0f10
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:26 2017 +0200

    DWARF-5: .debug_names index producer
    
    Hi,
    
    there are two FIXME lines I do not have a real answer for.
    
    Also I am not sure if the -dwarf-4 option for former .gdb_index should be named
    that way.  And contrib/gdb-add-index.sh (incl. cc-with-tweaks.sh) has no
    commandline option for that -dwarf-4 GDB option.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/gdb-add-index.sh (index): Rename to ...
    	(index4): ... here.
    	(index5, debugstr, debugstrmerge, debugstrerr): New variables.
    	Support also .debug_names and .debug_str.
    	* dwarf2read.c: Include cmath, locale, set, list.
    	(INDEX_SUFFIX): Rename to ...
    	(INDEX4_SUFFIX): ... here.
    	(INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
    	(file_write, file_write, file_write): New.
    	(data_buf::append_unsigned_leb128, data_buf::empty): New.
    	(data_buf::file_write): Use ::file_write.
    	(data_buf::operator const char *, debug_names, check_dwarf64_offsets):
    	New.
    	(psyms_seen_size, write_gdbindex): New from write_psymtabs_to_index
    	code.
    	(write_debug_names): New.
    	(write_psymtabs_to_index): New parameter is_dwarf5.  Support
    	filename_str and out_file_str.  Move code to write_gdbindex, possibly
    	call write_debug_names.
    	(save_gdb_index_command): New parameter -dwarf-4.
    	(_initialize_dwarf2_read): Document the new parameter -dwarf-4.
    
    gdb/doc/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Index Files): Document .debug_names and -dwarf-4.
    	(Index Section Format): Mention .debug_names.

commit 17b528bc016dd508ebc7baf01808c33c7610d575
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:25 2017 +0200

    cc-with-tweaks.sh: Use gdb-add-index.sh
    
    Hi,
    
    currently contrib/cc-with-tweaks.sh is calling for its -i option objcopy itself
    instead of using contrib/gdb-add-index.sh which does the same.
    
    With DWARF-5 .debug_names the commands are more complicated (as now also
    .debug_str needs to be modified) and so I have decided to rather reuse
    contrib/gdb-add-index.sh instead of duplicating its code
    in contrib/cc-with-tweaks.sh.
    
    The problem is when no index is produced whether contrib/cc-with-tweaks.sh
    should fail or not.  As originally contrib/cc-with-tweaks.sh was more quiet
    (=successful) than contrib/gdb-add-index.sh and so after this patch the
    testsuite runs with an index would "regress".  I have tried to keep the
    behavior unchanged.  Some cases still error with:
    	Ada is not currently supported by the index
    But some cases (such as some trivial gdb.dwarf2/ testcases with no DWARF data
    to index) produce no index while the testcases still PASS now instead of:
    	-PASS: gdb.arch/i386-bp_permanent.exp: stack pointer value matches
    	+gdb compile failed, gdb-add-index.sh: No index was created for /quadgdb/testsuite.unix.-m64/outputs/gdb.arch/i386-bp_permanent/i386-bp_permanent
    	+gdb-add-index.sh: [Was there no debuginfo? Was there already an index?]
    	+UNTESTED: gdb.arch/i386-bp_permanent.exp: failed to compile
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/cc-with-tweaks.sh (t, GDB_ADD_INDEX): New variables.
    	<$want_index>: Call $GDB_ADD_INDEX.

commit 53c0ab91b7e4b657b9d43be08dfcd323adec5c48
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:25 2017 +0200

    binutils

commit 4cca419b6d63715cf03067abcc7de1cdc01882a6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jun 28 23:07:25 2017 +0200

    gccidx

commit 328ce951b2513a102711bb640496a2f1b5f8d3dd
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 28 11:07:04 2017 -0700

    Don't call bfd_get_file_size in _bfd_generic_get_section_contents
    
    Since it is impossible to read beyond the end of normal files, we only
    need to check archive element size in _bfd_generic_get_section_contents
    
    	* libbfd.c (_bfd_generic_get_section_contents): Don't call
    	bfd_get_file_size.  Check archive element size.
    	(_bfd_generic_get_section_contents_in_window): Likewise.

commit 47fdcf63c04b5c220974affc8ff1d9ef8a041919
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 28 11:00:13 2017 -0700

    Change bfd_get_size/bfd_get_file_size to ufile_ptr
    
    bfd_get_size and bfd_get_file_size should return the unsigned file
    size.  Otherwise they return negative values for file >= 2GB with
    32-bit ufile_ptr.
    
    bfd/
    
    	* bfd-in2.h: Regenerated.
    	* bfdio.c (bfd_get_size): Change return type to ufile_ptr.
    	(bfd_get_file_size): Likewise.
    
    binutils/
    
    	* objdump.c (dump_relocs_in_section): Cast to ufile_ptr when
    	comparing against bfd_get_file_size return.

commit 6e75794e9da0e12b44c36272e16d18449d25a03d
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jun 28 15:19:02 2017 +0100

    gdb/command.h: Include common/scoped_restore.h
    
    command.h depends on scoped_restore:
    
      extern scoped_restore_tmpl<int> prevent_dont_repeat (void);
    
    But doesn't include the corresponding header
    ("common/scoped_restore.h").  We haven't noticed a problem because
    utils.h includes scoped_restore.h, and defs.h includes utils.h.
    
    However, a patch that makes "symtab.h" include "completer.h", exposed
    the issue:
     https://sourceware.org/ml/gdb-patches/2017-06/msg00023.html.
    
    Without this fix that would break building all .o files like this:
    
     In file included from src/gdb/completer.h:21:0,
                      from src/gdb/symtab.h:28,
                      from src/gdb/language.h:26,
                      from src/gdb/frame.h:72,
                      from src/gdb/gdbarch.h:39,
                      from src/gdb/defs.h:636,
                      from src/gdb/top.c:20:
     src/gdb/command.h:434:8: error: ‘scoped_restore_tmpl’ does not name a type
      extern scoped_restore_tmpl<int> prevent_dont_repeat (void);
             ^
     Makefile:1911: recipe for target 'top.o' failed
    
    because defs.h includes gdbarch.h before it includes utils.h.
    
    gdb/ChangeLog:
    2017-06-28  Pedro Alves  <palves@redhat.com>
    
    	* command.h: Include "common/scoped_restore.h".

commit bc491f2e76df1f2cec877eb07e88209b609ddecf
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jun 28 14:48:55 2017 +0100

    Use obstack_grow_str
    
    We already have macro obstack_grow_str, which is helpful to shorten the
    code.
    
    gdb:
    
    2017-06-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
    	instead of obstack_grow.

commit 88305e1b9f4592a2ab129015ce409fcc16613ebb
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 28 14:52:12 2017 +0100

    Add support for version 2 of the GNU Build Attribute note specification.
    
    	* objcopy.c (merge_gnu_build_notes): Add support for version 2 notes.
    	* readelf.c (print_gnu_build_attribute_name): Likewise.

commit 65a55fbbd949868f7df3c65d39eb8d4455515132
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Wed Jun 28 11:09:01 2017 +0100

    [AArch64] Add dot product support for AArch64 to binutils
    
    gas/
    	* config/tc-aarch64.c (aarch64_reg_parse_32_64): Accept 4B.
    	(aarch64_features): Added dotprod.
    	* doc/c-aarch64.texi: Added dotprod.
    	* testsuite/gas/aarch64/dotproduct.d: New.
    	* testsuite/gas/aarch64/dotproduct.s: New.
    
    opcodes/
    	* aarch64-asm.c (aarch64_ins_reglane): Added 4B dotprod.
    	* aarch64-dis.c (aarch64_ext_reglane): Likewise.
    	* aarch64-tbl.h (QL_V3DOT, QL_V2DOT): New.
    	(aarch64_feature_dotprod, DOT_INSN): New.
    	(udot, sdot): New.
    	* aarch64-dis-2.c: Regenerated.
    
    include/
    	* opcode/aarch64.h: (AARCH64_FEATURE_DOTPROD): New.
    	(aarch64_insn_class): Added dotprod.

commit c604a79ad4d47070bbcc0bc082188fb16892ceef
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Jun 28 11:00:55 2017 +0100

    [ARM] Assembler and disassembler support Dot Product Extension
    
      This patch add assembler and disassembler support for new Dot Product
      Extension.
    
      The support can be enabled through the new "+dotprod" extension.
    
    include/
    	* opcode/arm.h (FPU_NEON_EXT_DOTPROD): New macro.
    	(FPU_ARCH_DOTPROD_NEON_VFP_ARMV8): New macro.
    
    gas/
    	* config/tc-arm.c (fpu_neon_ext_dotprod): New variable.
    	(neon_scalar_for_mul): Improve comments.
    	(do_neon_dotproduct): New function to encode Dot Product instructions.
    	(do_neon_dotproduct_s): Wrapper function for signed Dot Product
    	instructions.
    	(do_neon_dotproduct_u): Wrapper function for unsigned Dot Product
    	instructions.
    	(insns): New entries for vsdot and vudot.
    	(arm_extensions): New entry for "dotprod".
    	* doc/c-arm.texi: Document new "dotprod" extension.
    	* testsuite/gas/arm/dotprod.s: New test source.
    	* testsuite/gas/arm/dotprod-illegal.s: New test source.
    	* testsuite/gas/arm/dotprod.d: New test.
    	* testsuite/gas/arm/dotprod-thumb2.d: New test.
    	* testsuite/gas/arm/dotprod-illegal.d: New test.
    	* testsuite/gas/arm/dotprod-legacy-arch.d: New test.
    	* testsuite/gas/arm/dotprod-illegal.l: New error file.
    	* testsuite/gas/arm/dotprod-legacy-arch.l: New error file.
    
    opcodes/
    	* arm-dis.c (coprocessor_opcodes): New entries for vsdot and vudot.

commit 41664b45ab6387184bd0e7512fcf7a72c58744e7
Author: Doug Gilmore <Doug.Gilmore@imgtec.com>
Date:   Wed Jun 28 02:54:22 2017 +0100

    Fix PR 21337: segfault when re-reading symbols.
    
    Fix issue exposed by commit 3e29f34.
    
    The basic issue is that section data referenced through an objfile
    pointer can also be referenced via the program-space data pointer,
    although via a separate mapping mechanism, which is set up by
    update_section_map.  Thus once section data attached to an objfile
    pointer is released, the section map associated with the program-space
    data pointer must be marked dirty to ensure that update_section_map is
    called to prevent stale data being referenced.  For the matter at hand
    this marking is being done via a call to objfiles_changed.
    
    Before commit 3e29f34 objfiles_changed could be called after all of
    the objfile pointers were processed in reread_symbols since section
    data references via the program-space data pointer would not occur in
    the calls of read_symbols performed by reread_symbols.
    
    With commit 3e29f34 MIPS target specific calls to find_pc_section were
    added to the code for DWARF information processing, which is called
    via read_symbols.  Thus in reread_symbols the call to objfiles_changed
    needs to be called before calling read_symbols, otherwise stale
    section data can be referenced.
    
    Thanks to Luis Machado for providing text for the main comment
    associated with the change.
    
    gdb/
    2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
        PR gdb/21337
        * symfile.c (reread_symbols): Call objfiles_changed just before
        read_symbols.
    
    gdb/testsuite/
    2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
        PR gdb/21337
        * gdb.base/reread-readsym.exp: New file.
        * gdb.base/reread-readsym.c: New file.

commit 819e1f86976dbbd13e0de004cdd3e3089e4c3fc0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jun 28 02:07:36 2017 +0100

    MIPS: Add new Imagination interAptiv MR2 GAS and LD tests
    
    Add GAS tests to verify Imagination interAptiv MR2 instruction assembly,
    disassembly and ELF object file flags.
    
    Add LD tests to verify Imagination interAptiv MR2 ELF object file
    link-time compatibility and flag merging/propagation.  Use the framework
    enhancement added with commit 7575e6a752ec ("MIPS/LD/testsuite:
    mips-elf-flags: Add MIPS ABI Flags handling").
    
    	gas/
    	* testsuite/gas/mips/elf_mach_interaptiv-mr2.d: New test.
    	* testsuite/gas/mips/save-err.d: New test.
    	* testsuite/gas/mips/save-sub.d: New test.
    	* testsuite/gas/mips/interaptiv-mr2@save.d: New test.
    	* testsuite/gas/mips/mips1@save-sub.d: New test.
    	* testsuite/gas/mips/mips2@save-sub.d: New test.
    	* testsuite/gas/mips/mips3@save-sub.d: New test.
    	* testsuite/gas/mips/mips4@save-sub.d: New test.
    	* testsuite/gas/mips/mips5@save-sub.d: New test.
    	* testsuite/gas/mips/mips32@save-sub.d: New test.
    	* testsuite/gas/mips/mips64@save-sub.d: New test.
    	* testsuite/gas/mips/mips16@save-sub.d: New test.
    	* testsuite/gas/mips/mips16e@save-sub.d: New test.
    	* testsuite/gas/mips/r3000@save-sub.d: New test.
    	* testsuite/gas/mips/r3900@save-sub.d: New test.
    	* testsuite/gas/mips/r4000@save-sub.d: New test.
    	* testsuite/gas/mips/vr5400@save-sub.d: New test.
    	* testsuite/gas/mips/interaptiv-mr2@save-sub.d: New test.
    	* testsuite/gas/mips/sb1@save-sub.d: New test.
    	* testsuite/gas/mips/octeon2@save-sub.d: New test.
    	* testsuite/gas/mips/octeon3@save-sub.d: New test.
    	* testsuite/gas/mips/xlr@save-sub.d: New test.
    	* testsuite/gas/mips/r5900@save-sub.d: New test.
    	* testsuite/gas/mips/mips16e2-copy.d: New test.
    	* testsuite/gas/mips/mips16e2-copy-err.d: New test.
    	* testsuite/gas/mips/save.d: Remove `MIPS16e' from the `name'
    	option.  Adjust for trailing padding change.
    	* testsuite/gas/mips/mips16e2-copy-err.l: New stderr output.
    	* testsuite/gas/mips/save-sub.s: New test source.
    	* testsuite/gas/mips/mips16e2-copy.s: New test source.
    	* testsuite/gas/mips/mips16e2-copy-err.s: New test source.
    	* testsuite/gas/mips/save.s: Update description, change trailing
    	padding and remove trailing white space.
    	* testsuite/gas/mips/mips.exp: Expand `save' and `save-err'
    	tests across the regular MIPS interAptiv MR2 architecture.  Run
    	the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf-flags.exp: Add interAptiv MR2
    	tests.

commit c7d289d129cde92c0d351446c5072c5f744040fe
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jun 28 02:07:36 2017 +0100

    MIPS: Add Imagination interAptiv MR2 GAS test infrastructure
    
    Define a new regular MIPS and MIPS16 interAptiv MR2 test architecture
    and adjust existing tests now run against these architectures
    accordingly.
    
    This change causes new test failures:
    
    FAIL: MIPS jal-svr4pic (interaptiv-mr2)
    FAIL: MIPS jal-svr4pic noreorder (interaptiv-mr2)
    
    with the `mips-sgi-irix5' and `mips-sgi-irix6' targets, which are
    consistent with the remaining architecture results for these cases, that
    do not take into account the lack of R_MIPS_JALR relocations produced by
    GAS for these targets.  As a preexisting issue these failures are not
    addressed with this change.
    
    	gas/
    	* testsuite/gas/mips/mips.exp (interaptiv-mr2): New architecture.
    	(mips16e2-interaptiv-mr2): Likewise.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.d: New
    	test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.d:
    	New test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.d:
    	New test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.d:
    	New test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.d:
    	New test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64.d: New
    	test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.d: New
    	test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.d: New
    	test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.d:
    	New test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e2-mt-sub.d:
    	New test.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-asmacro.d:
    	New test.
    	* testsuite/gas/mips/interaptiv-mr2@mcu.d: New test.
    	* testsuite/gas/mips/interaptiv-mr2@isa-override-1.d: New test.
    	* testsuite/gas/mips/interaptiv-mr2@isa-override-2.d: New test.
    	* testsuite/gas/mips/attr-gnu-4-5.d: Ignore any number of ASE
    	flag lines present rather than just one.
    	* testsuite/gas/mips/attr-gnu-4-6.d: Likewise.
    	* testsuite/gas/mips/attr-gnu-4-7.d: Likewise.
    	* testsuite/gas/mips/attr-none-o32-fp64-nooddspreg.d: Likewise.
    	* testsuite/gas/mips/attr-none-o32-fp64.d: Likewise.
    	* testsuite/gas/mips/attr-none-o32-fpxx.d: Likewise.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.l: New
    	stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.l:
    	New stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.l:
    	New stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.l:
    	New stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.l:
    	New stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.l: New
    	stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.l: New
    	stderr output.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.l:
    	New stderr output.
    	* testsuite/gas/mips/interaptiv-mr2@isa-override-1.l: New stderr
    	output.
    	* testsuite/gas/mips/interaptiv-mr2@isa-override-2.l: New stderr
    	output.

commit 38bf472a15210c222bb3885820e763c47760a704
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jun 28 02:07:36 2017 +0100

    MIPS: Add Imagination interAptiv MR2 MIPS32r3 processor support
    
    Add support for the Imagination interAptiv MR2 MIPS32r3 processor with
    the MIPS16e2 ASE as per documentation, including in particular:
    
    1. Support for implementation-specific interAptiv MR2 COPYW and UCOPYW
       MIPS16e2 instructions[1], for assembly and disassembly,
    
    2. Support for implementation-specific interAptiv MR2 SAVE and RESTORE
       regular MIPS instructions[2], for assembly and disassembly,
    
    3. ELF binary file annotation for the interAptiv MR2 MIPS architecture
       extension.
    
    4. Support for interAptiv MR2 architecture selection for assembly, in
       the form of the `-march=interaptiv-mr2' command-line option and its
       corresponding `arch=interaptiv-mr2' setting for the `.set' and
       `.module' pseudo-ops.
    
    5. Support for interAptiv MR2 architecture selection for disassembly,
       in the form of the `mips:interaptiv-mr2' target architecture, for
       use e.g. with the `-m' command-line option for `objdump'.
    
    Parts of this change by Matthew Fortune and Andrew Bennett.
    
    References:
    
    [1] "MIPS32 interAptiv Multiprocessing System Software User's Manual",
        Imagination Technologies Ltd., Document Number: MD00904, Revision
        02.01, June 15, 2016, Section 24.3 "MIPS16e2 Implementation Specific
        Instructions", pp. 878-883
    
    [2] same, Chapter 25 "Implementation-specific Instructions", pp. 911-917
    
    	include/
    	* elf/mips.h (E_MIPS_MACH_IAMR2): New macro.
    	(AFL_EXT_INTERAPTIV_MR2): Likewise.
    	* opcode/mips.h: Document new operand codes defined.
    	(INSN_INTERAPTIV_MR2): New macro.
    	(INSN_CHIP_MASK): Adjust accordingly.
    	(CPU_INTERAPTIV_MR2): New macro.
    	(cpu_is_member) <CPU_INTERAPTIV_MR2>: New case.
    	(MIPS16_ALL_ARGS): Rename to...
    	(MIPS_SVRS_ALL_ARGS): ... this.
    	(MIPS16_ALL_STATICS): Rename to...
    	(MIPS_SVRS_ALL_STATICS): ... this.
    
    	bfd/
    	* archures.c (bfd_mach_mips_interaptiv_mr2): New macro.
    	* cpu-mips.c (I_interaptiv_mr2): New enum value.
    	(arch_info_struct): Add "mips:interaptiv-mr2" entry.
    	* elfxx-mips.c (_bfd_elf_mips_mach) <E_MIPS_MACH_IAMR2>: New
    	case.
    	(mips_set_isa_flags) <bfd_mach_mips_interaptiv_mr2>: Likewise.
    	(bfd_mips_isa_ext) <bfd_mach_mips_interaptiv_mr2>: Likewise.
    	(print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
    	(mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and
    	`bfd_mach_mips_interaptiv_mr2' entries.
    	* bfd-in2.h: Regenerate.
    
    	opcodes/
    	* mips-formats.h (INT_BIAS): New macro.
    	(INT_ADJ): Redefine in INT_BIAS terms.
    	* mips-dis.c (mips_arch_choices): Add "interaptiv-mr2" entry.
    	(mips_print_save_restore): New function.
    	(print_insn_arg) <OP_SAVE_RESTORE_LIST>: Update comment.
    	(validate_insn_args) <OP_SAVE_RESTORE_LIST>: Remove `abort'
    	call.
    	(print_insn_args): Handle OP_SAVE_RESTORE_LIST.
    	(print_mips16_insn_arg): Call `mips_print_save_restore' for
    	OP_SAVE_RESTORE_LIST handling, factored out from here.
    	* mips-opc.c (decode_mips_operand) <'-'> <'m'>: New case.
    	(RD_31, RD_SP, WR_SP, MOD_SP, IAMR2): New macros.
    	(mips_builtin_opcodes): Add "restore" and "save" entries.
    	* mips16-opc.c (decode_mips16_operand) <'n', 'o'>: New cases.
    	(IAMR2): New macro.
    	(mips16_opcodes): Add "copyw" and "ucopyw" entries.
    
    	binutils/
    	* readelf.c (get_machine_flags) <E_MIPS_MACH_IAMR2>: New case.
    	(print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
    	* NEWS: Mention Imagination interAptiv MR2 processor support.
    
    	gas/
    	* config/tc-mips.c (validate_mips_insn): Handle
    	OP_SAVE_RESTORE_LIST specially.
    	(mips_encode_save_restore, mips16_encode_save_restore): New
    	functions.
    	(match_save_restore_list_operand): Factor out SAVE/RESTORE
    	operand insertion into the instruction word or halfword to these
    	new functions.
    	(mips_cpu_info_table): Add "interaptiv-mr2" entry.
    
    	* doc/c-mips.texi (MIPS Options): Add `interaptiv-mr2' to the
    	`-march=' argument list.

commit 9991e9d77fe04c4fde9b88964c6f25119a781e0d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 28 00:00:40 2017 +0000

    Automatic date update in version.in

commit 6da67eb10df978c1237ca863990f38cdd4ca2e95
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jun 27 16:32:57 2017 +0100

    completion_list_add_name wrapper functions
    
    Replace macros with functions.
    
    gdb/ChangeLog:
    2017-06-27  Pedro Alves  <palves@redhat.com>
    
    	* symtab.c (COMPLETION_LIST_ADD_SYMBOL)
    	(MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
    	(completion_list_add_symbol, completion_list_add_msymbol):
    	... these new functions.
    	(add_symtab_completions)
    	(default_make_symbol_completion_list_break_on_1): Adjust.

commit 23732b1e32dd58f7c731d9aee56ff0b22a645d53
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jun 27 16:22:08 2017 +0100

    objfile_per_bfd_storage non-POD
    
    A following patch will want to add a std::vector to
    objfile_per_bfd_storage.  That makes it non-trivially
    constructible/destructible.  Since objfile_per_bfd_storage objects are
    allocated on an obstack, we need to call their ctors/dtors manually.
    This is what this patch does.  And then since we can now rely on
    ctors/dtors being run, make objfile_per_bfd_storage::storage_obstack
    be an auto_obstack.
    
    gdb/ChangeLog:
    2017-06-27  Pedro Alves  <palves@redhat.com>
    
    	* objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
    	bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
    	(free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
    	dtor.
    	* objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
    	'storage_obstack' field an auto_obstack.  In-class initialize all
    	non-bitfield fields.  Make minsyms_read bool.
    	* symfile.c (read_symbols): Adjust.

commit a4d1e79aaa4b9d994cd9790fc3b756748dc5571c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 27 13:10:16 2017 +0100

    Remove MAX_REGISTER_SIZE from remote-sim.c
    
    gdb/
    	* remote-sim.c (gdbsim_fetch_register): Use byte_vector.
    	(gdbsim_store_register): Likewise.

commit 2d68166e8704569eeceb76ac743ea1e7cca2af26
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jun 27 12:11:22 2017 +0100

    Remove debugging accidentally left in tekhex.c.
    
    	* tekhex.c (pass_over): Revert accidental conversion of a local
    	array to a static array.

commit 8268c77870de3c27ef598348f3023ba159fd0fca
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jun 27 11:07:14 2017 +0100

    Eliminate make_cleanup_obstack_free, introduce auto_obstack
    
    This commit eliminates make_cleanup_obstack_free, replacing it with a
    new auto_obstack type that inherits obstack to add cdtors.
    
    These changes in the parsers may not be obvious:
    
     -  obstack_init (&name_obstack);
     -  make_cleanup_obstack_free (&name_obstack);
     +  name_obstack.clear ();
    
    Here, the 'name_obstack' variable is a global.  The change means that
    the obstack's contents from a previous parse will stay around until
    the next parsing starts.  I.e., memory won't be reclaimed until then.
    I don't think that's a problem, these objects don't really grow much
    at all.
    
    The other option I tried was to add a separate type that is like
    auto_obstack but manages an external obstack, just for those cases.  I
    like the current approach better as that other approach adds more
    boilerplate and yet another type to learn.
    
    gdb/ChangeLog:
    2017-06-27  Pedro Alves  <palves@redhat.com>
    
    	* c-exp.y (name_obstack): Now an auto_obstack.
    	(yylex): Use auto_obstack::clear.
    	(c_parse): Use auto_obstack::clear instead of reinitializing and
    	freeing the obstack.
    	* c-lang.c (evaluate_subexp_c): Use auto_obstack.
    	* d-exp.y (name_obstack): Now an auto_obstack.
    	(yylex): Use auto_obstack::clear.
    	(d_parse): Use auto_obstack::clear instead of reinitializing and
    	freeing the obstack.
    	* dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
    	auto_obstack.
    	* dwarf2read.c (create_addrmap_from_index)
    	(dwarf2_build_psymtabs_hard)
    	(update_enumeration_type_from_children): Likewise.
    	* gdb_obstack.h (auto_obstack): New type.
    	* go-exp.y (name_obstack): Now an auto_obstack.
    	(build_packaged_name): Use auto_obstack::clear.
    	(go_parse): Use auto_obstack::clear instead of reinitializing and
    	freeing the obstack.
    	* linux-tdep.c (linux_make_mappings_corefile_notes): Use
    	auto_obstack.
    	* printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
    	* rust-exp.y (work_obstack): Now an auto_obstack.
    	(rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
    	reinitializing and freeing the obstack.
    	* utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
    	(host_char_to_target): Use auto_obstack.
    	* utils.h (make_cleanup_obstack_free): Delete declaration.
    	* valprint.c (generic_emit_char, generic_printstr): Use
    	auto_obstack.

commit 6806377956c76c23ae96a3844e29412ae117e07a
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Tue Jun 27 14:46:08 2017 +0530

    Fix PR 13402
    
    Fix incorrect adjustment of diff relocs when relaxing, and thus the
    resulting source line to address mismatch.
    
    Fix two issues when adjusting diff relocs to account for
    deleted bytes.
    
    1. Don't adjust the difference if the end address is the shrinked
    insn's address i.e. use < instead of <=. The relaxation code deletes
    count bytes from or after shrinked_insn_address, so the difference
    between start_address and end_address should remain unchanged in this
    case.
    
    2. Adjust the reloc addend if the difference is to be adjusted and
    symval + reloc addend is past the shrinked insn address. This is
    because for a typical sym1 - sym2 diff reloc, sym1 is .text +
    irel->r_addend, and the addend should be reduced to account for the
    shrinked insn.
    
    For example, assume the reloc value is .text + 0x8 with .text = 0, the
    diff value in the object file = 0x4, and shrinked_insn_address = 0x4
    with count = 0x2. Then the existing code writes 0x2 into the object
    file to account for the deleted bytes, as shrinked_insn_address lies
    between 0x8 and 0x8 - 0x4 = 0x4, but leaves the addend as is. The next
    time the reloc is looked at, the code sees if a shrinked_insn_address
    lies between 0x8 and 0x8 - 0x2 = 0x6, instead of 0x6 and 0x4. If there
    happens to be one, then the diff value in the object file ends up
    getting reduced again.
    
    bfd/
    
    2017-06-27  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
    	PR ld/13402
    	* elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust
    	reloc addend if necessary. Adjust diff only if
    	shrinked_insn_address < end_address.
    
    ld/
    
    2017-06-27  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
    	PR ld/13402
    	* testsuite/ld-avr/pr13402.d: New test.
    	* testsuite/ld-avr/pr13402.s: New test.

commit db665f427ca781d631d9e29b1bb744fb11ffcbba
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 27 10:55:36 2017 +0200

    darwin: Do not add a dummy thread
    
    Starting a process on macOS/Darwin currently leads to this error:
    
    /Users/simark/src/binutils-gdb/gdb/darwin-nat.c:383: internal-error: void darwin_check_new_threads(struct inferior *): Assertion `tp' failed.
    
    with the corresponding partial backtrace (sorry, taken with lldb,
    because well, gdb is broken :)):
    
        frame #9: 0x000000010004605a gdb`darwin_check_new_threads(inf=0x0000000100edf670) at darwin-nat.c:383
        frame #10: 0x0000000100045848 gdb`darwin_init_thread_list(inf=0x0000000100edf670) at darwin-nat.c:1710
        frame #11: 0x00000001000452f8 gdb`darwin_ptrace_him(pid=8375) at darwin-nat.c:1792
        frame #12: 0x0000000100041d95 gdb`fork_inferior(...) at fork-inferior.c:440
        frame #13: 0x0000000100043f82 gdb`darwin_create_inferior(...) at darwin-nat.c:1841
        frame #14: 0x000000010034ac32 gdb`run_command_1(args=0x0000000000000000, from_tty=1, tbreak_at_main=1) at infcmd.c:611
    
    The issue was introduced by commit
    
      "Share fork_inferior et al with gdbserver"
    
    because it changed the place where the dummy thread (pid, 0, 0) is added,
    relative to the call to the init_trace_fun callback.  In this callback, darwin
    checks for new threads in the program (there should be exactly one) in order to
    update this dummy thread with the right tid.  Previously, things happened in
    this order:
    
     - fork_inferior calls fork()
     - fork_inferior adds dummy thread
     - fork_inferior calls init_trace_fun callback, which updates the dummy
       thread info
    
    Following the commit mentioned above, the new thread is added in the
    darwin-nat code, after having called fork_inferior (in
    darwin_create_inferior).  So gdb tries to do things in this order:
    
     - fork_inferior calls fork()
     - fork_inferior calls init_trace_fun callback, which tries to update
       the dummy thread info
     - darwin_create_inferior adds the dummy thread
    
    The error happens while trying to update the dummy thread that has not
    been added yet.
    
    I don't think this dummy thread is necessary for darwin.  Previously, it
    was fork_inferior that was adding this thread, for all targets, so
    darwin had to deal with it.  Now that it's done by targets themselves,
    we can just skip that on darwin.  darwin_check_new_threads called
    indirectly by init_trace_fun/darwin_ptrace_him will simply notice the
    new thread and add it with the right information.
    
    My level of testing was: try to start a process and try to attach to a
    process, and it seems to work somewhat like it did before.  I tried to
    run the testsuite, but it leaves a huge amount of zombie processes that
    launchd doesn't seem to reap, leading to exhaustion of system resources
    (number of processes).
    
    gdb/ChangeLog:
    
    	* darwin-nat.c (darwin_check_new_threads): Don't handle dummy
    	thread.
    	(darwin_init_thread_list): Don't update dummy thread.
    	(darwin_create_inferior, darwin_attach): Don't add a dummy thread.

commit ea9aafc41a764e4e2dbb88a7b031e886b481b99a
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 27 14:43:49 2017 +0930

    Warning fix
    
    	PR binutils/21665
    	* libbfd.c (_bfd_generic_get_section_contents): Warning fix.
    	(_bfd_generic_get_section_contents_in_window): Likewise.

commit 79cb3f75debfeb1355f8883143f0f6dc98f70080
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 04:23:54 2017 +0100

    MIPS/GAS/testsuite: Drop the `mips16e-' prefix from SAVE/RESTORE tests
    
    In preparation to running these tests against regular MIPS instructions.
    
    	gas/
    	* testsuite/gas/mips/mips16e-save.d: Rename to...
    	* testsuite/gas/mips/save.d: ... this.
    	* testsuite/gas/mips/mips16e-save-err.d: Update the
    	`error-output' option and rename to...
    	* testsuite/gas/mips/save-err.d: ... this.
    	* testsuite/gas/mips/mips16e-save-err.l: Rename to...
    	* testsuite/gas/mips/save-err.l: ... this.
    	* testsuite/gas/mips/mips16e-save.s: Rename to...
    	* testsuite/gas/mips/save.s: ... this.
    	* testsuite/gas/mips/mips16e-save-err.s: Rename to...
    	* testsuite/gas/mips/save-err.s: ... this.
    	* testsuite/gas/mips/mips.exp: Rename `mips16e-save' and
    	`mips16e-save-err' invocations to `save' and `save-err'
    	respectively and reorder these tests away from MIPS16 tests.

commit b0bd097ef63edac71b6720e850b9a04605a87f7f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 04:23:54 2017 +0100

    MIPS/GAS/testsuite: Run SAVE/RESTORE tests across all MIPS16e architectures
    
    	gas/
    	* testsuite/gas/mips/mips16e-save.d: Remove `-mmips:isa32
    	-mmips:16' from `objdump' flags and `-march=mips32 -mips16' from
    	`as' flags.
    	* testsuite/gas/mips/mips16e-save-err.d: Remove `-march=mips32'
    	from `as' flags.
    	* testsuite/gas/mips/mips16e-save.s: Remove the `.set mips16'
    	pseudo-op.
    	* testsuite/gas/mips/mips16e-save-err.s: Likewise.
    	* testsuite/gas/mips/mips.exp: Run SAVE/RESTORE tests across all
    	MIPS16e architectures.

commit 2438385a4dea36eba111ee931a2fe2d159c676c8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 04:23:54 2017 +0100

    MIPS/GAS/testsuite: Convert `mips16e-save-err' list test to a dump test
    
    	gas/
    	* testsuite/gas/mips/mips16e-save-err.d: New test.
    	* gas/testsuite/gas/mips/mips.exp: Fold `mips16e-save-err' list
    	test into the new test.

commit daba08c913105615c5e57dddcfcfa5d8c4237eb9
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 04:23:53 2017 +0100

    MIPS/GAS/testsuite: Capitalize the name of the `mips16e-save' test
    
    For consistency with the subsequent changes in this area.
    
    	gas/
    	* testsuite/gas/mips/mips16e-save.d: Capitalize the `name'
    	option.

commit 7575e6a752ecfa66a41a5d4636ed79524cb50ccb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 02:58:27 2017 +0100

    MIPS/LD/testsuite: mips-elf-flags: Add MIPS ABI Flags handling
    
    Complement commit 351cdf24d223 ("[MIPS] Implement O32 FPXX, FP64 and
    FP64A ABI extensions") and add optional MIPS ABI Flags handling to
    `good_combination' in the `mips-elf-flags.exp' test script.  This lets
    callers of this procedure request to examine MIPS ABI Flags in addition
    to the `e_flags' member of the ELF file header so as to verify that
    flags are merged correctly by LD.  The presence of further arguments
    triggers this verification, in which case `readelf' is called with the
    `-A' option additionally specified and the ISA member, the ISA Extension
    member and the ASEs member will be examined as per the arguments.
    
    Unlike with `readelf -h' output consider a failure to retrieve the
    member requested a test case failure rather than an unresolved result.
    This is because unlike with the `e_flags' member of the ELF file header
    which is always there in any valid ELF file the MIPS ABI Flags structure
    is optional in LD output and the absence of this structure when expected
    is surely a bug in LD.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination):
    	Add an `args' final argument and examination code for `readelf
    	-A' output.  Update procedure description accordingly.

commit 1284e99a6ce362d342d6468e5caa39ddab574721
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 02:58:27 2017 +0100

    MIPS/LD/testsuite: mips-elf-flags: Use `remote_exec' to call `readelf'
    
    For ELF file header flag verification done in `good_combination' in the
    `mips-elf-flags.exp' test script the version of `readelf' built along
    with the rest of binutils has to be used rather than any such executable
    already present on the build system, so that flags recognized by the
    tool match those supported by LD being tested.  Use `remote_exec' as
    elsewhere in the LD test framework and also with GAS and LD used here,
    getting and arranging for extra reporting of `readelf' calls included in
    test logs on this occasion as well.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination):
    	Use `remote_exec' to call `readelf'.  Log the command issued.

commit b1a2d7a0e57abc06e6ec99c88ca9992780f45f71
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 27 02:58:27 2017 +0100

    MIPS/LD/testsuite: mips-elf-flags: Use `-h' only with `readelf'
    
    For the purpose of link-time object compatibility handling verification
    code in the `good_combination' procedure from the `mips-elf-flags.exp'
    test script only examines the `e_flags' member of the ELF file header
    and ignores data from any ELF program or section headers present.  Use
    `readelf -h' rather than `readelf --headers' then to obtain data for
    examination, avoiding unnecessary processing to extract this extraneous
    information.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf-flags.exp (good_combination):
    	Use `readelf -h' rather than `readelf --headers'.

commit a6cbf936e3dce68114d28cdf60d510a3f78a6d40
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Thu Jun 8 11:54:14 2017 -0700

    RISC-V: Use pc-relative relocation for FDE initial location
    
    The symbol address in .eh_frame may be adjusted in
    _bfd_elf_discard_section_eh_frame, and the content of .eh_frame will be
    adjusted in _bfd_elf_write_section_eh_frame. Therefore, we cannot insert
    a relocation whose addend symbol is in .eh_frame. Othrewise, the value
    may be adjusted twice.
    
    bfd/ChangeLog
    2017-06-26  Kuan-Lin Chen  <rufus@andestech.com>
    
    	* elfnn-riscv.c (perform_relocation): Support the new
    	R_RISCV_32_PCREL relocation.
    	(riscv_elf_relocate_section): Likewise.
    	* elfxx-riscv.c (howto_table): Likewise.
    	(riscv_reloc_map): Likewise.
    	* bfd-in2.h (BFD_RELOC_RISCV_32_PCREL): New relocation.
    	* libbfd.h: Regenerate.
    
    gas/ChangeLog
    2017-06-26  Kuan-Lin Chen  <rufus@andestech.com>
    
    	* config/tc-riscv.c (md_apply_fix) [BFD_RELOC_32]: Convert to a
    	R_RISCV_32_PCREL relocation.
    
    include/ChangeLog
    2017-06-26  Kuan-Lin Chen  <rufus@andestech.com>
    
    	* elf/riscv.h (R_RISCV_32_PCREL): New.

commit 7211ae501eb0de1044983f2dfb00091a58fbd66c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 27 09:45:04 2017 +0930

    More fixes for bfd_get_section_contents change
    
    	PR binutils/21665
    	* libbfd.c (_bfd_generic_get_section_contents): Delete abort.
    	Use unsigned file pointer type, and remove cast.
    	* libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
    	Add "count", not "sz".

commit dc819143fe1d44970a3da4b9ebc7828fa2337115
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 27 00:01:02 2017 +0000

    Automatic date update in version.in

commit ab27f80c5dceaa23c4ba7f62c0d5d22a5d5dd7a1
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jun 27 00:21:25 2017 +0100

    Fix GDB regressions caused by previous bfd_get_section_contents changes
    
    Ref: https://sourceware.org/ml/binutils/2017-06/msg00343.html
    
    bfd/ChangeLog:
    2017-06-26  Pedro Alves  <palves@redhat.com>
    
    	PR binutils/21665
    	* libbfd.c (_bfd_generic_get_section_contents): Add "count", not
    	"sz".

commit 1f473e3d0ad285195934e6a077c7ed32afe66437
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 26 15:47:16 2017 -0700

    Add a missing line to _bfd_generic_get_section_contents_in_window
    
    	PR binutils/21665
    	* libbfd.c (_bfd_generic_get_section_contents_in_window): Add
    	a missing line.

commit b417536f2350881ad28952b3906a025a54d241bd
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jun 26 19:20:50 2017 +0100

    MIPS/BFD: Consistently mark the LSI CW4010 as a MIPS II processor
    
    Make BFD agree with GAS and mark the LSI MiniRISC CW4010 processor core
    (for an odd reason referred to as LSI R4010 across our code base) as a
    MIPS II processor in BFD as well, fixing a bug that has been there since
    forever and addressing linker warnings like:
    
    $ as -m4010 empty.s -o 4010.o
    $ ld -r 4010.o -o 4010-r.o
    ld: 4010.o: warning: Inconsistent ISA between e_flags and .MIPS.abiflags
    $
    
    due to the ISA level being recorded as MIPS III in ELF file header's
    `e_flags' vs MIPS II in the MIPS ABI Flags section:
    
    $ readelf -Ah 4010.o
    ELF Header:
      Magic:   7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
      Class:                             ELF32
      Data:                              2's complement, big endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              REL (Relocatable file)
      Machine:                           MIPS R3000
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          0 (bytes into file)
      Start of section headers:          348 (bytes into file)
      Flags:                             0x20821000, 4010, o32, mips3
      Size of this header:               52 (bytes)
      Size of program headers:           0 (bytes)
      Number of program headers:         0
      Size of section headers:           40 (bytes)
      Number of section headers:         11
      Section header string table index: 10
    Attribute Section: gnu
    File Attributes
      Tag_GNU_MIPS_ABI_FP: Hard float (double precision)
    
    MIPS ABI Flags Version: 0
    
    ISA: MIPS2
    GPR size: 32
    CPR1 size: 32
    CPR2 size: 0
    FP ABI: Hard float (double precision)
    ISA Extension: LSI R4010
    ASEs:
    	None
    FLAGS 1: 00000000
    FLAGS 2: 00000000
    $
    
    Available documentation[1][2] clearly indicates the LSI CW4010 processor
    is only backwards compatible with the MIPS R4000 processor as far as the
    latter's 32-bit instructions are concerned and consequently can only be
    considered a MIPS II ISA implementation (with vendor extensions).
    
    This fixes an LD testsuite failure:
    
    FAIL: MIPS incompatible objects:  "-march=r4010 -32"      "-march=r4650 -32"
    
    triggered for the `mips-sgi-irix5' and `mips-sgi-irix6' targets.
    
    References:
    
    [1] Paul Cobb, Bob Caulk, Joe Cesana, "The MiniRISC CW4010: A
        Superscalar MIPS Processor ASIC Core", LSI Logic, July 1995,
        presented at Hot Chips VII, Stanford University, Stanford,
        California, August 1995
    
    [2] "MiniRISC MR4010 Superscalar Microprocessor Reference Device", LSI
        Logic, November 1996, Doc. No. DB09-000028-00, Order No. C15017
    
    	bfd/
    	* cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
    	* elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: Set
    	E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'.
    	(mips_mach_extensions): Mark `bfd_mach_mips4010' as extending
    	`bfd_mach_mips6000' rather than `bfd_mach_mips4000'.
    
    	ld/
    	* testsuite/ld-mips-elf/lsi-4010-isa.d: New test.
    	* ld/testsuite/ld-mips-elf/mips-elf.exp: Run the new test.

commit 0630b49c470ca2e3c3f74da4c7e4ff63440dd71f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 26 09:24:49 2017 -0700

    Check file size before getting section contents
    
    Don't check the section size in bfd_get_full_section_contents since
    the size of a decompressed section may be larger than the file size.
    Instead, check file size in _bfd_generic_get_section_contents.
    
    	PR binutils/21665
    	* compress.c (bfd_get_full_section_contents): Don't check the
    	file size here.
    	* libbfd.c (_bfd_generic_get_section_contents): Check for and
    	reject a section whoes size + offset is greater than the size
    	of the entire file.
    	(_bfd_generic_get_section_contents_in_window): Likewise.

commit 515a4464176efc6ac31c83bd40b5c67f61c3b044
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jun 26 16:08:55 2017 +0100

    LD: Fix .startof.SECNAME/.sizeof.SECNAME tests for MIPS/IRIX
    
    Correct .startof.SECNAME/.sizeof.SECNAME tests for MIPS/IRIX targets,
    complementing commit dc74becf498f ("ld: Add tests for -Ur") and commit
    da614360f520 ("ld: Add tests for .startof.SECNAME/.sizeof.SECNAME") with
    subsequent updates, and in reference to commit cbd0eecf261c ("Always
    define referenced __start_SECNAME/__stop_SECNAME") and commit
    7dba9362c172 ("Rewrite __start and __stop symbol handling").
    
    These targets set the STT_OBJECT type for non-function symbol
    references, according to `elf_frob_symbol' code in gas/config/obj-elf.c:
    
      /* The Irix 5 and 6 assemblers set the type of any common symbol and
         any undefined non-function symbol to STT_OBJECT.  We try to be
         compatible, since newer Irix 5 and 6 linkers care.  However, we
         only set undefined symbols to be STT_OBJECT if we are on Irix,
         because that is the only time gcc will generate the necessary
         .global directives to mark functions.  */
    
      if (S_IS_COMMON (symp))
        symbol_get_bfdsym (symp)->flags |= BSF_OBJECT;
    
      if (strstr (TARGET_OS, "irix") != NULL
          && ! S_IS_DEFINED (symp)
          && (symbol_get_bfdsym (symp)->flags & BSF_FUNCTION) == 0)
        symbol_get_bfdsym (symp)->flags |= BSF_OBJECT;
    
    and consequently entries in the symbol table listing from `readelf'
    produced with these tests do not match the NOTYPE pattern expected,
    causing test suite failures:
    
    FAIL: ld-elf/sizeofa
    FAIL: ld-elf/sizeofc
    FAIL: ld-elf/startofa
    FAIL: ld-elf/startofc
    
    specifically with the `mips-sgi-irix5' and `mips-sgi-irix6' targets.
    
    Given that it does not matter for the feature covered by these tests
    whether the type of the symbols produced is STT_NOTYPE or STT_OBJECT
    adjust the problematic cases to accept either type, removing the
    failures observed.
    
    	ld/
    	* testsuite/ld-elf/sizeofa.d: Also accept the OBJECT type for
    	the symbols examined.
    	* testsuite/ld-elf/sizeofc.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofc.d: Likewise.

commit 873c08142c4c377d2d3ed0b1b1b9e262ddc06c61
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Jun 26 15:08:36 2017 +0200

    record-full: Remove unused function netorder16
    
    clang shows this warning:
    
      /home/emaisin/src/binutils-gdb/gdb/record-full.c:2344:1: error: unused function 'netorder16' [-Werror,-Wunused-function]
      netorder16 (uint16_t input)
      ^
    
    Remove this function, which, AFAIK, has never been used.  Note that GCC
    doesn't warn about this, because the function is marked as inline.
    According to gcc's man page, it should ideed not warn:
    
      -Wunused-function
        Warn whenever a static function is declared but not defined or a non-inline static function is unused.  This warning is enabled by -Wall.
    
    So it's probably not a GCC bug that it doesn't find this unused function, but a
    different definition of "unused".
    
    gdb/ChangeLog:
    
    	* record-full.c (netorder16): Remove.

commit 8b5a7a6e8ceb34f8e82aa361ee91ec25e0049774
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Jun 26 15:08:35 2017 +0200

    vec: Silence -Wunused-function warnings on clang
    
    clang has a too aggressive (or broken, depends on how you want to see
    it) -Wunused-function warning, which is triggered by the functions
    defined by DEF_VEC_* but not used in the current source file.  Normally,
    it won't warn about unused static inline functions defined in header
    files, because it's expected that a source file won't use all functions
    defined in a header file it includes.  However, if the DEF_VEC_* macro
    is used in a source file, it considers those functions as defined in the
    source file, which leads it to think that we should remove those
    functions.  It is therefore missing a check to see whether those
    functions are resulting from macro expansion.  A bug already exists for
    that:
    
      https://bugs.llvm.org//show_bug.cgi?id=22712
    
    It's quite easy to silence this warning in a localized way, that is in
    the DEF_VEC_* macros.
    
    gdb/ChangeLog:
    
    	* common/diagnostics.h: Define macros for GCC.
    	(DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
    	* common/vec.h: Include diagnostics.h.
    	(DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
    	(DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
    	warning.

commit d1435379df189d1c358ebd9776af8824a9158533
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Jun 26 15:08:35 2017 +0200

    ada-lex: Ignore warnings about register keyword
    
    Some older versions of flex (such as the one shipped with macOS) generate
    code that use the register keyword, which clang warns about.  This patch
    makes the compiler ignore those warnings for the portion of the code
    generated by flex.
    
    gdb/ChangeLog:
    
    	* common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
    	New macro.
    	* ada-lex.l: Ignore deprecated register warnings.

commit 04e15b4a9462cb1ae819e878a6009829aab8020b
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 26 15:46:34 2017 +0100

    Fix address violation parsing a corrupt texhex format file.
    
    	PR binutils/21670
    	* tekhex.c (getvalue): Check for the source pointer exceeding the
    	end pointer before the first byte is read.

commit cfd14a500e0485374596234de4db10e88ebc7618
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 26 15:25:08 2017 +0100

    Fix address violations when atempting to parse fuzzed binaries.
    
    	PR binutils/21665
    bfd	* opncls.c (get_build_id): Check that the section is beig enough
    	to contain the whole note.
    	* compress.c (bfd_get_full_section_contents): Check for and reject
    	a section whoes size is greater than the size of the entire file.
    	* elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
    	contain a notes section.
    
    binutils* objdump.c (disassemble_section): Skip any section that is bigger
    	than the entire file.

commit 0602cdad745472ed2561d8096a4bb021c8d0301d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 26 13:25:41 2017 +0100

    Produce a consistent warning message when attempting to run a tool on a directory.
    
    	PR binutils/21659
    	* bucomm.c (get_file_size): Explicitly warn if the file is a
    	directory.

commit a3aea05a66ec325ddd19b0c8dbe504958a295cd3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 26 05:11:07 2017 -0700

    Check unsupported .symver with common symbol
    
    The .symver directive on common symbol creates a new common symbol,
    which shouldn't be allowed, similar to alias on common symbol:
    
    $ cat y.S
    	.comm	bar,8,8
    	 .set bar1,bar
    $ as -o y.o y.S
    y.S: Assembler messages:
    y.S:2: Error: `bar1' can't be equated to common symbol 'bar'
    $
    
    	PR gas/21661
    	* config/obj-elf.c (obj_elf_symver): Don't allow .symver with
    	common symbol.
    	(elf_frob_symbol): Likewise.
    	* testsuite/gas/elf/elf.exp: Run pr21661.
    	* testsuite/gas/elf/pr21661.d: New file.
    	* testsuite/gas/elf/pr21661.s: Likewise.

commit fd52715cfa77b7e06f4ab5eadfe7946d22180adc
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Jun 26 11:07:17 2017 +0200

    Add pgste marker changelog

commit 93ec5e23766a9f75aa4950748cf73964028a8d1b
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Jun 26 11:01:58 2017 +0200

    S/390: Fix testsuite segfault added with recent pgste patch.
    
    The recent pgste patch caused several testcases to fail with a
    segfault.  Fixed with this patch by adding NULL pointer checks.
    
    regression-tested on s390x.
    
    bfd/ChangeLog:
    
    2017-06-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf64-s390.c (elf_s390_additional_program_headers): Add NULL
    	pointer checks.
    	(elf_s390_modify_segment_map): Likewise.
    	(bfd_elf_s390_set_options): Lisewise.

commit 49fa50ef9c59aa6d03bc2e33a25b2d832a9e692b
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 26 09:28:51 2017 +0100

    Fix compile time warning building gas for arm-wince target.
    
    	* config/tc-arm.c (fpu_any): Only define for ELF based targets.

commit cf9bdae906f897ae13563c03c65f325cad05bf1c
Author: claziss <claziss@synopsys.com>
Date:   Wed Jun 7 15:57:56 2017 +0200

    Update check conditions for illegal placed instructions.
    
    ARC cpus do not accept any jump or instructions with long immediate
    into the delay slots.
    
    gas/
    2017-06-07  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* /config/tc-arc.c (is_br_jmp_insn_p): Update macro with known
    	instructions to be accounted as jumps.
    	(assemble_insn): Check for limms into the delay slots.  Emit an
    	error if so.
    	* testsuite/gas/arc/asm-errors-3.d: New file.
    	* testsuite/gas/arc/asm-errors-3.err: Likewise.
    	* testsuite/gas/arc/asm-errors-3.s: Likewise.

commit 46adbd17408fda28aca5320e2247ede30b7e9649
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 26 00:00:38 2017 +0000

    Automatic date update in version.in

commit 57963c05b9911c3555add356a7cd9952d391dfe4
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 26 09:10:22 2017 +0930

    Don't attach linker created section to --just-syms bfd
    
    All sections on a --just-syms bfd are discarded from the output, so
    attaching linker created sections to such a bfd results in errors.
    In other cases, like the .note.GNU-stack check, it's wrong to have a
    --just-syms object potentially affect the output.
    
    bfd/
    	* elflink.c (_bfd_elf_link_create_dynstrtab): Don't make dynobj
    	a --just-syms bfd.
    	(_bfd_elf_size_group_sections): Skip --just-syms bfds.
    	(bfd_elf_size_dynamic_sections): Ignore .note.GNU-stack and
    	.preinit_array on --just-syms bfds.
    	(_bfd_elf_gc_mark_extra_sections): Skip --just-syms bfds.
    	(elf_gc_sweep, bfd_elf_parse_eh_frame_entries): Likewise.
    	(bfd_elf_gc_sections, bfd_elf_discard_info): Likewise.
    ld/
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Skip
    	--just-syms bfds when looking for a place to attach .note.gnu.build-id
    	and .eh_frame_hdr sections.  Delete dead code.

commit cc75e0fdaeb179efc66ddd1cb1b6da40e6adacc1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Jun 25 12:57:13 2017 +0200

    main: Don't add int to string
    
    clang shows this warning:
    
      /home/emaisin/src/binutils-gdb/gdb/main.c:227:56: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus-int]
                    char *tmp_sys_gdbinit = xstrdup (SYSTEM_GDBINIT + datadir_len);
                                                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
      /home/emaisin/src/binutils-gdb/gdb/main.c:227:56: note: use array indexing to silence this warning
                    char *tmp_sys_gdbinit = xstrdup (SYSTEM_GDBINIT + datadir_len);
                                                                    ^
                                                     &              [            ]
    
    It's quite easy to get rid of it by using &foo[len] instead of foo + len.
    I think this warning is relevant to keep enabled, because it can be an
    easy mistake to do.
    
    This warning is already discussed here in GCC bugzilla:
    
      https://gcc.gnu.org/ml/gcc-patches/2017-06/msg00729.html
    
    and a patch series for it was submitted very recently.
    
    gdb/ChangeLog:
    
    	* main.c (get_init_files): Replace "SYSTEM_GDBINIT +
    	datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".

commit 07809eafc959a0c588663c0c949eaf8044a1b40a
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Jun 25 12:49:19 2017 +0200

    dtrace-probe: Put semicolon after while on its own line
    
    clang shows this warning.
    
      /home/emaisin/src/binutils-gdb/gdb/dtrace-probe.c:424:52: error: while loop has empty body [-Werror,-Wempty-body]
                while (*p++ != '\0' && p - strtab < strtab_size);
                                                                ^
      /home/emaisin/src/binutils-gdb/gdb/dtrace-probe.c:424:52: note: put the semicolon on a separate line to silence this warning
    
    Putting the semicolon on its own line is not a big sacrifice to get rid of this
    warning.  I think it's also useful to keep this, because it can catch errors
    like this:
    
      while (something);
        {
          ...
        }
    
    although gcc would warn about it in a different way (misleading indentation).
    
    This warning is already discussed here in the GCC bugzilla:
    
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62184
    
    gdb/ChangeLog:
    
    	* dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
    	its own line.

commit f076f0349cb958b451872ce4a7987821533c2f49
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Jun 25 12:38:59 2017 +0200

    x86-dregs: Print debug registers one per line
    
    This get around this warning given by clang...
    
      /home/emaisin/src/binutils-gdb/gdb/nat/x86-dregs.c:209:7: error: variable 'i' is incremented both in the loop header and in the loop body [-Werror,-Wfor-loop-analysis]
            i++;
            ^
      /home/emaisin/src/binutils-gdb/gdb/nat/x86-dregs.c:199:32: note: incremented here
        ALL_DEBUG_ADDRESS_REGISTERS (i)
                                   ^
    
    ... I decided in the end to simply print the debug registers one per
    line.  I don't think it particularly helps readability to have them two
    per line anyway.
    
    gdb/ChangeLog:
    
    	* nat/x86-dregs.c (x86_show_dr): Print registers one per line.

commit d7e2ebe7e73105766a854f4f0e3a5c509fd0e82a
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Sun Jun 25 11:39:34 2017 +0200

    Sync libiberty with upstream GCC.
    
    libiberty/ChangeLog:
    
    	* d-demangle.c (dlang_identifier): Prefix mangled init symbols
    	with `initializer for'.
    	* testsuite/demangle-expected: Update tests.
    
    	* d-demangle.c (dlang_call_convention_p): Move declaration
    	before dlang_type.
    	(dlang_type): Handle function types.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (dlang_parse_real): Remove stack buffer, write
    	the demangled hexadecimal directly to string.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (dlang_hexdigit): New function.
    	(ascii2hex): Remove function.
    	(dlang_parse_string): Update to call dlang_hexdigit.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (strtol): Remove declaration.
    	Updated all callers to use dlang_number.
    	(dlang_number): New function.
    	(dlang_value): Moved check for ISDIGIT into dlang_parse_integer.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (dlang_parse_symbol): Remove function.
    	(dlang_parse_qualified): New function.
    	(dlang_parse_mangle): New function.
    	(dlang_type): Update to call dlang_parse_qualified.
    	(dlang_identifier): Update to call either dlang_parse_qualified or
    	dlang_parse_mangle.
    	(dlang_type_modifier_p): Remove function.
    	(dlang_call_convention_p): Don't allow type modifiers in mangle.
    	(dlang_template_args): Update to call dlang_identifier.
    	(dlang_demangle): Update to call dlang_parse_mangle.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (dlang_value): Add comment explaining why cases for
    	digits are required.
    	* testsuite/d-demangle-expected: Update integer value tests.
    
    	* d-demangle.c (dlang_parse_symbol): Skip over anonymous symbols.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (dlang_identifier): Handle template constraint symbols.
    	(dlang_parse_template): Only advance if template symbol prefix is
    	followed by a digit.
    	* testsuite/d-demangle-expected: Add tests.
    
    	* d-demangle.c (dlang_attributes): Handle scope attributes.
    	* testsuite/d-demangle-expected: Add tests.

commit 2d3392bd42e16b5c8894c357f250dbde245e96fe
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Sun Jun 25 11:39:05 2017 +0200

    Sync libiberty with upstream GCC.
    
    libiberty/ChangeLog:
    
    	PR demangler/80513
    	* cp-demangle.c (d_number): Check for overflow.
    	* cplus-dem.c (consume_count): Fix overflow check.
    	(gnu_special): Check for underscore after thunk delta.
    	* testsuite/demangle-expected: Add tests for overflows and invalid
    	characters in thunks.
    
    	* cp-demangle.c (MAX_RECURSION_COUNT): New constant.
    	(struct d_print_info): Add recursion field.
    	(d_print_init): Initialize recursion.
    	(d_print_comp): Check and update d_print_info recursion depth.
    
    	* cp-demangle.c (d_substitution): Return NULL if d_add_substitution
    	fails.
    
    	* cp-demangle.h (struct d_info): Remove did_subs field.
    	* cp-demangle.c (struct d_info_checkpoint): Likewise.
    	(d_template_param): Don't update did_subs.
    	(d_substitution): Likewise.
    	(d_checkpoint): Don't assign did_subs.
    	(d_backtrack): Likewise.
    	(cplus_demangle_init_info): Don't initialize did_subs.

commit 5cc4ca837deac7dc962d8a3741aa120c50ab41da
Author: Sergei Trofimovich <slyfox@gentoo.org>
Date:   Sat Jun 24 18:40:41 2017 +0100

    fix out-of-bounds access in elf.c:find_link
    
    The out-of-bounds access is reproducible on 'ia64-strip' command
    (see sample from https://bugs.gentoo.org/show_bug.cgi?id=622500)
    
    The output file contains less section than original one.
    This tricks 'hint' access to go out-of-bounds:
    
    	* elf.c (find_link): Bounds check "hint".

commit b21351faa29dfa6deab3afcb5a2ee78548239274
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 25 00:00:40 2017 +0000

    Automatic date update in version.in

commit 0cda1e190dffc804d1f1ffc4bd849ffdca694914
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Sat Jun 24 10:56:32 2017 +0100

    [ARM] Add support for ARM Cortex-R52 processor
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to add support for ARM Cortex-R52
    processor.
    
    === Patch description ===
    
    This patch adds support for Cortex-R52 as an ARMv8-R processor with CRC
    extensions.
    
    2017-06-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* NEWS: Mention support of ARM Cortex-R52 processor.
    	* config/tc-arm.c (arm_cpus): Add entry for ARM Cortex-R52 processor.
    	* doc/c-arm.texi: Mention support for -mcpu=cortex-r52.

commit bff0500d7abc215bbc6d4e9332047c023f4ce2cb
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Sat Jun 24 10:48:08 2017 +0100

    [ARM] Add linker support for ARMv8-R
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to add support for ARMv8-R in the linker.
    
    === Patch description ===
    
    This patch is composed of 3 changes:
    
    1) The main change is the addition of the logic for merging a file whose
    Tag_CPU_arch build attribute is 15 (ARMv8-R). Namely, all pre-ARMv8 are
    merged into ARMv8-R as well as ARMv8-R itself. ARMv8-A (14) merges into
    ARMv8-A. ARMv8-M Baseline (16) and Mainline (17) are not allowed to
    merge merge with ARMv8-R. Note that merging only occurs if the two
    profiles are identical or one is S (Application or Realtime) and the
    other is R.
    
    2) using_thumb_only, using_thumb2_bl, using_thumb2 and arch_has_arm_nop
    are updated according to capabilities of ARMv8-R and their BFD_ASSERT
    updated to reflect that the logic is valid for ARMv8-R.
    
    3) 2 build attribute merging tests are added to test the first change.
    
    2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* elf32-arm.c (using_thumb_only): Update list of architectures in
    	BFD_ASSERT for which the logic is valid.
    	(using_thumb2_bl): Likewise.
    	(using_thumb2): Likewise and return true for ARMv8-R.
    	(arch_has_arm_nop): Likewise.
    	(tag_cpu_arch_combine): New v8r table for ARMv8-R Tag_CPU_arch
    	merging logic.  Update commentis for value 15 of v8m_baseline,
    	v8m_mainline and v4t_plus_v6_m arrays.  Use v8r array to decide
    	merging of value 15 of Tag_CPU_arch.
    
    ld/
    	* testsuite/ld-arm/arm-elf.exp (EABI attribute merging 11): New test.
    	(EABI attribute merging 12): Likewise.
    	* testsuite/ld-arm/attr-merge-11a.s: New file.
    	* testsuite/ld-arm/attr-merge-11b.s: New file.
    	* testsuite/ld-arm/attr-merge-11.attr: New file.
    	* testsuite/ld-arm/attr-merge-12a.s: New file.
    	* testsuite/ld-arm/attr-merge-12b.s: New file.
    	* testsuite/ld-arm/attr-merge-12.attr: New file.

commit ced40572e478927f43a849d5c39f794868da8d38
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Sat Jun 24 10:37:47 2017 +0100

    [ARM] Add support for ARMv8-R in assembler and readelf
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to add support for ARMv8-R in GAS:
    instructions, build attributes and readelf.
    
    === Patch description ===
    
    Although some differences exist for system registers, from GAS point of
    view ARMv8-R supports the same instructions as ARMv8-A Aarch32 state
    and a subset of its extensions. This patch therefore introduce a new
    feature bit to distinguish the availability of the pan, ras and rdma
    extensions between ARMv8-A and ARMv8-R and allow crypto, fp and simd
    extensions to be used by ARMv8-R.
    
    Most of the changes are then in the testsuite to (i) rename source files
    and error output to be shared between ARMv8-A and ARMv8-R, (ii) rename
    files with expected output for ARMv8-A build attributes and (iii) add
    new files with expected output for ARMv8-R build attributes.
    
    2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    binutils/
    	* readelf.c (arm_attr_tag_CPU_arch): Fill value for ARMv8-R.
    
    gas/
    	* NEWS: Mention support for ARMv8-R architecture.
    	* config/tc-arm.c (arm_archs): Add entry for ARMv8-R.
    	(arm_extensions): Restrict pan, ras and rdma extension to
    	ARMv8-A and make crypto, fp and simd extensions available to
    	ARMv8-R.
    	(cpu_arch_ver): Add entry for ARMv8-R.
    	(aeabi_set_public_attributes): Update gas_assert for Tag_DIV_use
    	logic.
    	* testsuite/gas/arm/armv8-a+fp.s: Rename into ...
    	* testsuite/gas/arm/armv8-ar+fp.s: This.  Remove .arch directive.
    	* testsuite/gas/arm/armv8-a+fp.d: Specify source to assemble and
    	architecture to assemble for.
    	* testsuite/gas/arm/armv8-r+fp.d: New.
    	* testsuite/gas/arm/armv8-a+simd.s: Rename into ...
    	* testsuite/gas/arm/armv8-ar+simd.s: This.  Remove .arch directive.
    	* testsuite/gas/arm/armv8-a+simd.d: Specify source to assemble and
    	architecture to assemble for.
    	* testsuite/gas/arm/armv8-r+simd.d: New.
    	* testsuite/gas/arm/armv8-a-bad.s: Rename into ...
    	* testsuite/gas/arm/armv8-ar-bad.s: This.  Remove .arch directive.
    	* testsuite/gas/arm/armv8-a-bad.l: Rename into ...
    	* testsuite/gas/arm/armv8-ar-bad.l: This.  Decrement line number by 1.
    	* testsuite/gas/arm/armv8-a-bad.d: Specify source to assemble,
    	architecture to assemble for and adjust error output file.
    	* testsuite/gas/arm/armv8-r-bad.d: New.
    	* testsuite/gas/arm/armv8-a-barrier.s: Rename into ...
    	* testsuite/gas/arm/armv8-ar-barrier.s: This.
    	* testsuite/gas/arm/armv8-a-barrier-arm.d: Adjust source.
    	* testsuite/gas/arm/armv8-a-barrier-thumb.d: Likewise.
    	* testsuite/gas/arm/armv8-r-barrier-arm.d: New.
    	* testsuite/gas/arm/armv8-r-barrier-thumb.d: New.
    	* testsuite/gas/arm/armv8-a-it-bad.s: Rename into ...
    	* testsuite/gas/arm/armv8-ar-it-bad.s: This.  Remove .arch directive.
    	* testsuite/gas/arm/armv8-a-it-bad.l: Rename into ...
    	* testsuite/gas/arm/armv8-ar-it-bad.l: This.  Decrement line number
    	by 1.
    	* testsuite/gas/arm/armv8-a-it-bad.d: Specify source to assemble,
    	architecture to assemble for and adjust error output file.
    	* testsuite/gas/arm/armv8-r-it-bad.d: New.
    	* testsuite/gas/arm/armv8-a.s: Rename into ...
    	* testsuite/gas/arm/armv8-ar.s: This.  Remove .arch directive.
    	* testsuite/gas/arm/armv8-a.d: Specify source to assemble and
    	architecture to assemble for.
    	* testsuite/gas/arm/armv8-r.d: New.
    	* testsuite/gas/arm/attr-march-armv8-r+crypto.d: New.
    	* testsuite/gas/arm/attr-march-armv8-r+fp.d: New.
    	* testsuite/gas/arm/attr-march-armv8-r+simd.d: New.
    	* testsuite/gas/arm/attr-march-armv8-r.d: New.
    	* testsuite/gas/arm/crc32.s: Rename into ...
    	* testsuite/gas/arm/crc32-armv8-ar.s: This.
    	* testsuite/gas/arm/crc32.d: Rename into ...
    	* testsuite/gas/arm/crc32-armv8-a.d: This.  Specify source to assemble.
    	* testsuite/gas/arm/crc32-armv8-r.d: New.
    	* testsuite/gas/arm/crc32-bad.s: Rename into ...
    	* testsuite/gas/arm/crc32-armv8-ar-bad.s: This.
    	* testsuite/gas/arm/crc32-bad.d: Rename into ...
    	* testsuite/gas/arm/crc32-armv8-a-bad.d: This.  Specify source to
    	assemble.
    	* testsuite/gas/arm/crc32-armv8-r-bad.d: New.
    	* testsuite/gas/arm/mask_1.s: Rename into ...
    	* testsuite/gas/arm/mask_1-armv8-ar.s: This.
    	* testsuite/gas/arm/mask_1.d: Rename into ...
    	* testsuite/gas/arm/mask_1-armv8-a.d: This.  Specify source to
    	assemble.
    	* testsuite/gas/arm/mask_1-armv8-r.d: new.
    
    include/
    	* elf/arm.h (TAG_CPU_ARCH_V8R): New macro.
    	* opcode/arm.h (ARM_EXT2_V8A): New macro.
    	(ARM_AEXT2_V8A): Rename into ...
    	(ARM_AEXT2_V8AR): This.
    	(ARM_AEXT2_V8A): New macro.
    	(ARM_AEXT_V8R): New macro.
    	(ARM_AEXT2_V8R): New macro.
    	(ARM_ARCH_V8R): New macro.

commit 173205ca3356cab0590c2debaac97107fb9a7fcd
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Sat Jun 24 10:26:41 2017 +0100

    [ARM] Remove ARMv6S-M special casing
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to remove special casing for ARMv6S-M
    autodetection.
    
    === Motivation ===
    
    Currently, SWI and SVC mnemonics are enabled for ARMv4T and successor
    architectures with extra checks in the handler function (do_t_swi) to
    give an error message when ARMv6-M is targeted and some more special
    casing in aeabi_set_public_attributes. This was made to exclude these
    mnemonics for ARMv6-M unless the OS extension is in use.
    
    However this logic is superfluous: there is already code to check
    whether an instruction is available based on the feature bit it is part
    of and whether the targeted architecture has that feature bit. This
    patch aims at removing that unneeded complexity.
    
    === Patch description ===
    
    The OS extension is already limited to the ARMv6-M architecture so all
    this patch does is redefined availability of the ARM_EXT_OS feature bit
    to not be present for ARM_ARCH_V6M. ARM_ARCH_V6SM does not need any
    change either because it already includes ARM_EXT_OS.
    
    The patch also make sure that the error message that was given by
    do_t_swi when SWI/SVC is unavailable is still the same by detecting the
    situation in md_assemble.
    
    2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (arm_ext_v6m): Delete.
    	(arm_ext_v7m): Delete.
    	(arm_ext_m): Remove ARM_EXT_OS from the set of feature defined M
    	profile.
    	(arm_arch_v6m_only): Delete.
    	(do_t_swi): Remove special case for ARMv6S-M.
    	(md_assemble): Display error message previously in do_t_swi when
    	SVC is not available.
    	(insns): Guard swi and svc by arm_ext_os for Thumb mode.
    	(aeabi_set_public_attributes): Remove special case for ARMv6S-M.
    
    include/
    	* opcode/arm.h (ARM_AEXT_V4TxM): Add ARM_EXT_OS bit to the set.
    	(ARM_AEXT_V4T): Likewise.
    	(ARM_AEXT_V5TxM): Likewise.
    	(ARM_AEXT_V5T): Likewise.
    	(ARM_AEXT_V6M): Mask off ARM_EXT_OS bit.

commit 926770baf44bb47c41e85486957f4ae70b694837
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 24 00:00:42 2017 +0000

    Automatic date update in version.in

commit 9bdfdbf929d581cf845ffc815ae94a39d9f7b032
Author: Andrew Waterman <andrew@sifive.com>
Date:   Mon May 15 08:50:57 2017 -0700

    RISC-V: Fix SLTI disassembly
    
    2017-06-23  Andrew Waterman  <andrew@sifive.com>
    
    	* riscv-opc.c (riscv_opcodes): Mark I-type SLT instruction as an
    	alias; do not mark SLTI instruction as an alias.

commit 94f78a777c396fa1ce2f40d34afed1b6b5012196
Author: Andrew Waterman <andrew@sifive.com>
Date:   Wed May 10 23:59:50 2017 -0700

    RISC-V: Error, don't warn, for shfit amounts/CSRs
    
    gas/ChangeLog
    
    2017-05-11  Andrew Waterman  <andrew@sifive.com>
    
           * config/tc-riscv.c (riscv_ip): Changes as_warn to as_bad for improper
           shift amounts.

commit 4aa57d6a2bfc4e48fa6a685bfa164db5ae2e1c1c
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 22 12:04:42 2017 +0100

    [AArch64] Fix typo in comments on relocation name
    
    BFD_RELOC_AARCH64_ADR_GOTPAGE should be BFD_RELOC_AARCH64_ADR_GOT_PAGE.
    
    bfd/
      * reloc.c (BFD_RELOC_AARCH64_ADR_GOTPAGE): Rename to
      BFD_RELOC_AARCH64_ADR_GOT_PAGE
      * bfd-in2.h: Regenerated.

commit 7ee7ff7015840f2d0156bf386a050bd728d22fc4
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 23 20:39:43 2017 +0930

    [GOLD] PowerPC64 localentry:0 plt call optimization
    
    elfcpp/
    	* elfcpp.h (DT_PPC64_OPT): Define.
    	* powerpc.h (PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC,
    	PPC64_OPT_LOCALENTRY): Define.
    gold/
    	* options.h (General_options): Add plt_localentry.
    	* powerpc.cc (Target_powerpc::st_other): New function.
    	(Target_powerpc::plt_localentry0_, plt_localentry0_init_,
    	has_localentry0_): New vars.
    	(Target_powerpc::plt_localentry0, set_has_localentry0,
    	is_elfv2_localentry0): New functions.
    	(Target_powerpc::Branch_info::mark_pltcall): Don't set tocsave or
    	return true for localentry:0 calls.
    	(Stub_table::Plt_stub_ent::localentry0_): New var.
    	(Stub_table::add_plt_call_entry): Set localentry0_ and has_localentry0_.
    	Don't set r2save_ for localentry:0 calls.
    	(Output_data_glink::do_write): Save r2 in __glink_PLTresolve for elfv2.
    	(Target_powerpc::scan_relocs): Default plt_localentry0_.
    	(Target_powerpc::do_finalize_sections): Set DT_PPC64_OPT.
    	(Target_powerpc::Relocate::relocate): Don't require nop following
    	calls for localentry:0 plt calls, and don't change nop.

commit 7e57d19e48f94ff9a19a9413cf25d1887e3a7f52
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 23 20:37:34 2017 +0930

    [GOLD] PowerPC64 tocsave
    
    This adds support to gold for the tocsave relocs already supported by
    ld.bfd.  R_PPC64_TOCSAVE relocs are part of a scheme to move r2 saves
    to the prologue of a function rather than in each plt call stub.  We
    don't want a compiler to always emit the r2 save, as this would be
    wasted if the calls turned out to be local.  See the tocsave*.s in
    ld/testsuite/ld-powerpc/.
    
    	* powerpc.cc (Target_powerpc::tocsave_loc_): New var.
    	(Target_powerpc::mark_pltcall, add_tocsave, tocsave_loc): New functions.
    	(Target_powerpc::Branch_info::tocsave_): New var.
    	(Target_powerpc::Branch_info::mark_pltcall): New function.
    	(Target_powerpc::Branch_info::make_stub): Pass tocsave_ to
    	add_plt_call_entry.
    	(Stub_table::Plt_stub_ent): Make public.  Add r2save_.
    	(Stub_table::add_plt_call_entry): Add bool tocsave_ param.  Set
    	r2save_.
    	(Stub_table::find_plt_call_entry): Return Plt_stub_ent*.  Adjust
    	use throughout.
    	(Stub_table::do_write): Conditionally output r2 save in plt stubs.
    	(Target_powerpc::Scan::local): Handle R_PPC64_TOCSAVE.
    	(Target_powerpc::Scan::global): Likewise.
    	(Target_powerpc::Relocate::relocate): Skip r2 save in plt call stub
    	with tocsave reloc.  Replace header tocsave nop with r2 save.
    	* symtab.h (struct Symbol_location_hash): Make public.

commit 0e158763b0c5671cd40cdd2faee48d6659489ddd
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 23 10:22:36 2017 +0100

    Make the strings utility reject directories.
    
    	PR binutils/21659
    	* strings.c (strings_file): Warn about attempts to run strings on
    	a directory.

commit 0dd5cbc56307afaf6a366a8e78ef25cf9cefe514
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Jun 23 10:21:39 2017 +0100

    Add XTENSA_MAX_REGISTER_SIZE
    
    gdb/
    	* xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
    	(xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
    	(xtensa_register_read_masked): Likewise.

commit b4cbbe8f7294070cc93a71ace78f134965ddad82
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Thu Jun 8 17:24:50 2017 +0200

    S/390: Add support for pgste marker
    
    This patch adds a new S/390 specific segment type: PT_S390_PGSTE.  For
    binaries marked with that segment the kernel will allocate 4k page
    tables.  The only user so far will be qemu.
    
    ld/ChangeLog:
    
    2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* Makefile.in: Add s390.em as build dependency.
    	* emulparams/elf64_s390.sh (EXTRA_EM_FILE): Add s390.em.
    	* emultempl/s390.em: New file.
    	* gen-doc.texi: Add documentation for --s390-pgste option.
    	* ld.texinfo: Likewise.
    
    include/ChangeLog:
    
    2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf/s390.h (PT_S390_PGSTE): Define macro.
    
    binutils/ChangeLog:
    
    2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* readelf.c (get_s390_segment_type): Add support for the new
    	segment type PT_S390_PGSTE.
    	(get_segment_type): Call get_s390_segment_type.
    
    elfcpp/ChangeLog:
    
    2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elfcpp.h (enum PT): Add PT_S390_PGSTE to enum.
    
    bfd/ChangeLog:
    
    2017-06-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf-s390.h: New file.
    	* elf64-s390.c (struct elf_s390_link_hash_table): Add params
    	field.
    	(elf_s390_additional_program_headers): New function.
    	(elf_s390_modify_segment_map): New function.
    	(bfd_elf_s390_set_options): New function.
    	(elf_backend_additional_program_headers)
    	(elf_backend_modify_segment_map): Add macro definitions.

commit 790ba5c89893f31dabb6d8e85c8d4be61c52ad99
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 23 00:00:39 2017 +0000

    Automatic date update in version.in

commit 0056441823b1b1b2488dcf069b4feb55b00137ba
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 15:13:15 2017 -0700

    i386: Add hidden weak undefined tests
    
    	* testsuite/ld-i386/i386.exp: Run weakundef1 tests.
    	* testsuite/ld-i386/weakundef1.c: New file.

commit 5d8763a38211dd79459485ba0be4f76849ef8200
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 14:26:09 2017 -0700

    x86-64: Move the error_alignment label forward
    
    Move the error_alignment label forward to avoid clang warning on
    
    if (!bfd_set_section_alignment (ebfd, sec, 2))
      goto error_alignment;
    
    htab = elf_x86_64_hash_table (info);
    
    error_alignment:
      info->callbacks->einfo (_("%F%A: failed to align section\n"), sec);
                                 "%F" causes a fatal linker error and
    			     immediate exit.
    
    sec = htab->elf.sgotplt;
    
    Also fix alignment on program property note section.
    
    	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Move
    	the error_alignment label forward.  Properly align program
    	property note section.

commit 922109c7182858b005f55f6ac69bb6af145fc710
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 12:53:39 2017 -0700

    Pass $NOPIE_CFLAGS to ELF visibility tests
    
    	PR ld/21090
    	* testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Pass
    	$NOPIE_CFLAGS if non-PIE is required.

commit 84da4cf89efed1df483914d06210daae79ce3eb8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 12:53:39 2017 -0700

    x86: Resolve local undefined weak symbol to 0
    
    Local undefined weak symbol should always be resolved to 0.
    
    	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Resolve
    	local undefined weak symbol to 0.
    	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Likewise.

commit d4c6ce5b011b03c7e4a84b530cba1f9b56441131
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Jun 22 14:50:24 2017 -0400

    Update comment on gdb_environ::unset
    
    gdb_environ::unset iterates using '.end () - 1' now, instead of '.cend
    () - 1'.  This obvious patch updates the comment.
    
    gdb/ChangeLog:
    2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* common/environ.c (gdb_environ::unset): Update comment.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |  172 ++++++
 bfd/archures.c                                     |    1 +
 bfd/bfd-in2.h                                      |   10 +-
 bfd/bfdio.c                                        |    8 +-
 bfd/compress.c                                     |    2 +-
 bfd/cpu-mips.c                                     |    5 +-
 bfd/elf-s390.h                                     |   29 +
 bfd/elf.c                                          |    6 +-
 bfd/elf32-arm.c                                    |   47 ++-
 bfd/elf32-avr.c                                    |    5 +-
 bfd/elf32-i386.c                                   |   12 +-
 bfd/elf32-v850.c                                   |    4 +-
 bfd/elf64-s390.c                                   |   81 +++
 bfd/elf64-x86-64.c                                 |   27 +-
 bfd/elflink.c                                      |   40 ++-
 bfd/elfnn-riscv.c                                  |    2 +
 bfd/elfxx-mips.c                                   |   28 +-
 bfd/elfxx-riscv.c                                  |   16 +
 bfd/libbfd.c                                       |   13 +-
 bfd/libbfd.h                                       |    1 +
 bfd/opncls.c                                       |   18 +-
 bfd/reloc.c                                        |    6 +-
 bfd/tekhex.c                                       |    4 +
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |   45 ++
 binutils/NEWS                                      |    4 +
 binutils/bucomm.c                                  |    2 +
 binutils/objcopy.c                                 |   68 ++-
 binutils/objdump.c                                 |    6 +-
 binutils/readelf.c                                 |   42 ++-
 binutils/strings.c                                 |    5 +
 elfcpp/ChangeLog                                   |   10 +
 elfcpp/elfcpp.h                                    |    7 +-
 elfcpp/powerpc.h                                   |    8 +
 gas/ChangeLog                                      |  302 +++++++++++
 gas/NEWS                                           |    3 +
 gas/config/obj-elf.c                               |   15 +
 gas/config/tc-aarch64.c                            |   10 +-
 gas/config/tc-arc.c                                |   19 +-
 gas/config/tc-arm.c                                |  148 ++++--
 gas/config/tc-mips.c                               |   75 +++-
 gas/config/tc-riscv.c                              |   36 +-
 gas/doc/c-aarch64.texi                             |    2 +
 gas/doc/c-arm.texi                                 |    3 +
 gas/doc/c-mips.texi                                |    1 +
 gas/testsuite/gas/aarch64/dotproduct.d             |  548 ++++++++++++++++++++
 gas/testsuite/gas/aarch64/dotproduct.s             |  540 +++++++++++++++++++
 gas/testsuite/gas/arc/asm-errors-3.d               |    2 +
 gas/testsuite/gas/arc/asm-errors-3.err             |    7 +
 gas/testsuite/gas/arc/asm-errors-3.s               |   14 +
 gas/testsuite/gas/arm/armv8-a+fp.d                 |    2 +
 gas/testsuite/gas/arm/armv8-a+simd.d               |    2 +
 gas/testsuite/gas/arm/armv8-a-bad.d                |    4 +-
 gas/testsuite/gas/arm/armv8-a-bad.l                |   96 ----
 gas/testsuite/gas/arm/armv8-a-barrier-arm.d        |    2 +-
 gas/testsuite/gas/arm/armv8-a-barrier-thumb.d      |    2 +-
 gas/testsuite/gas/arm/armv8-a-it-bad.d             |    5 +-
 gas/testsuite/gas/arm/armv8-a-it-bad.l             |   18 -
 gas/testsuite/gas/arm/armv8-a.d                    |    2 +
 .../gas/arm/{armv8-a+fp.s => armv8-ar+fp.s}        |    1 -
 .../gas/arm/{armv8-a+simd.s => armv8-ar+simd.s}    |    1 -
 gas/testsuite/gas/arm/armv8-ar-bad.l               |   96 ++++
 .../gas/arm/{armv8-a-bad.s => armv8-ar-bad.s}      |    1 -
 .../arm/{armv8-a-barrier.s => armv8-ar-barrier.s}  |    0
 gas/testsuite/gas/arm/armv8-ar-it-bad.l            |   18 +
 .../arm/{armv8-a-it-bad.s => armv8-ar-it-bad.s}    |    1 -
 gas/testsuite/gas/arm/{armv8-a.s => armv8-ar.s}    |    0
 .../gas/arm/{armv8-a+fp.d => armv8-r+fp.d}         |    4 +-
 .../gas/arm/{armv8-a+simd.d => armv8-r+simd.d}     |    4 +-
 gas/testsuite/gas/arm/armv8-r-bad.d                |    4 +
 ...armv8-a-barrier-arm.d => armv8-r-barrier-arm.d} |    6 +-
 ...8-a-barrier-thumb.d => armv8-r-barrier-thumb.d} |    6 +-
 gas/testsuite/gas/arm/armv8-r-it-bad.d             |    4 +
 gas/testsuite/gas/arm/{armv8-a.d => armv8-r.d}     |    4 +-
 gas/testsuite/gas/arm/attr-march-armv8-r+crypto.d  |   18 +
 gas/testsuite/gas/arm/attr-march-armv8-r+fp.d      |   17 +
 gas/testsuite/gas/arm/attr-march-armv8-r+simd.d    |   18 +
 gas/testsuite/gas/arm/attr-march-armv8-r.d         |   16 +
 .../gas/arm/{crc32-bad.d => crc32-armv8-a-bad.d}   |    3 +-
 gas/testsuite/gas/arm/{crc32.d => crc32-armv8-a.d} |    3 +-
 .../gas/arm/{crc32-bad.s => crc32-armv8-ar-bad.s}  |    0
 .../gas/arm/{crc32.s => crc32-armv8-ar.s}          |    0
 .../gas/arm/{crc32-bad.d => crc32-armv8-r-bad.d}   |    5 +-
 gas/testsuite/gas/arm/{crc32.d => crc32-armv8-r.d} |    5 +-
 gas/testsuite/gas/arm/dotprod-illegal.d            |    2 +
 gas/testsuite/gas/arm/dotprod-illegal.l            |   10 +
 gas/testsuite/gas/arm/dotprod-illegal.s            |   16 +
 gas/testsuite/gas/arm/dotprod-legacy-arch.d        |    3 +
 gas/testsuite/gas/arm/dotprod-legacy-arch.l        |    3 +
 gas/testsuite/gas/arm/dotprod-thumb2.d             |  297 +++++++++++
 gas/testsuite/gas/arm/dotprod.d                    |  297 +++++++++++
 gas/testsuite/gas/arm/dotprod.s                    |   44 ++
 .../gas/arm/{mask_1.d => mask_1-armv8-a.d}         |    3 +-
 .../gas/arm/{mask_1.s => mask_1-armv8-ar.s}        |    0
 .../gas/arm/{mask_1.d => mask_1-armv8-r.d}         |    5 +-
 gas/testsuite/gas/elf/elf.exp                      |    1 +
 gas/testsuite/gas/elf/pr21661.d                    |    2 +
 gas/testsuite/gas/elf/pr21661.l                    |    3 +
 gas/testsuite/gas/elf/pr21661.s                    |    4 +
 gas/testsuite/gas/mips/attr-gnu-4-5.d              |    2 +-
 gas/testsuite/gas/mips/attr-gnu-4-6.d              |    2 +-
 gas/testsuite/gas/mips/attr-gnu-4-7.d              |    2 +-
 .../gas/mips/attr-none-o32-fp64-nooddspreg.d       |    2 +-
 gas/testsuite/gas/mips/attr-none-o32-fp64.d        |    2 +-
 gas/testsuite/gas/mips/attr-none-o32-fpxx.d        |    2 +-
 gas/testsuite/gas/mips/elf_mach_interaptiv-mr2.d   |   24 +
 .../gas/mips/interaptiv-mr2@isa-override-1.d       |    6 +
 .../gas/mips/interaptiv-mr2@isa-override-1.l       |    5 +
 .../gas/mips/interaptiv-mr2@isa-override-2.d       |    4 +
 .../gas/mips/interaptiv-mr2@isa-override-2.l       |    8 +
 gas/testsuite/gas/mips/interaptiv-mr2@mcu.d        |  110 ++++
 gas/testsuite/gas/mips/interaptiv-mr2@save-sub.d   |   44 ++
 gas/testsuite/gas/mips/interaptiv-mr2@save.d       |   44 ++
 gas/testsuite/gas/mips/mips.exp                    |   23 +-
 gas/testsuite/gas/mips/mips16@save-sub.d           |   65 +++
 gas/testsuite/gas/mips/mips16e2-copy-err.d         |    3 +
 gas/testsuite/gas/mips/mips16e2-copy-err.l         |   29 +
 gas/testsuite/gas/mips/mips16e2-copy-err.s         |   36 ++
 gas/testsuite/gas/mips/mips16e2-copy.d             |   32 ++
 gas/testsuite/gas/mips/mips16e2-copy.s             |   32 ++
 .../mips/mips16e2-interaptiv-mr2@mips16-asmacro.d  |   15 +
 .../mips/mips16e2-interaptiv-mr2@mips16-insn-e.d   |    4 +
 .../mips/mips16e2-interaptiv-mr2@mips16-insn-e.l   |  131 +++++
 .../mips/mips16e2-interaptiv-mr2@mips16-insn-t.d   |    4 +
 .../mips/mips16e2-interaptiv-mr2@mips16-insn-t.l   |   43 ++
 .../mips/mips16e2-interaptiv-mr2@mips16-macro-e.d  |    4 +
 .../mips/mips16e2-interaptiv-mr2@mips16-macro-e.l  |   56 ++
 .../mips/mips16e2-interaptiv-mr2@mips16-macro-t.d  |    4 +
 .../mips/mips16e2-interaptiv-mr2@mips16-macro-t.l  |   56 ++
 .../mips/mips16e2-interaptiv-mr2@mips16-macro.d    |    5 +
 .../mips/mips16e2-interaptiv-mr2@mips16-macro.l    |   12 +
 .../gas/mips/mips16e2-interaptiv-mr2@mips16-sub.d  |    6 +
 .../gas/mips/mips16e2-interaptiv-mr2@mips16-sub.l  |    4 +
 .../mips/mips16e2-interaptiv-mr2@mips16e-64-sub.d  |    6 +
 .../mips/mips16e2-interaptiv-mr2@mips16e-64-sub.l  |    4 +
 .../gas/mips/mips16e2-interaptiv-mr2@mips16e-64.d  |    4 +
 .../gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.d |    6 +
 .../gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.l |    4 +
 .../mips/mips16e2-interaptiv-mr2@mips16e2-mt-sub.d |   22 +
 .../mips/{mips16e-save.d => mips16e@save-sub.d}    |    9 +-
 gas/testsuite/gas/mips/mips1@save-sub.d            |   44 ++
 gas/testsuite/gas/mips/mips2@save-sub.d            |    5 +
 gas/testsuite/gas/mips/mips32@save-sub.d           |    5 +
 gas/testsuite/gas/mips/mips3@save-sub.d            |    5 +
 gas/testsuite/gas/mips/mips4@save-sub.d            |    5 +
 gas/testsuite/gas/mips/mips5@save-sub.d            |    5 +
 gas/testsuite/gas/mips/mips64@save-sub.d           |    5 +
 gas/testsuite/gas/mips/octeon2@save-sub.d          |   44 ++
 gas/testsuite/gas/mips/octeon3@save-sub.d          |    5 +
 gas/testsuite/gas/mips/r3000@save-sub.d            |    5 +
 gas/testsuite/gas/mips/r3900@save-sub.d            |    5 +
 gas/testsuite/gas/mips/r4000@save-sub.d            |    5 +
 gas/testsuite/gas/mips/r5900@save-sub.d            |    5 +
 gas/testsuite/gas/mips/save-err.d                  |    3 +
 .../gas/mips/{mips16e-save-err.l => save-err.l}    |    0
 .../gas/mips/{mips16e-save-err.s => save-err.s}    |    2 +-
 gas/testsuite/gas/mips/save-sub.d                  |   43 ++
 gas/testsuite/gas/mips/save-sub.s                  |    2 +
 gas/testsuite/gas/mips/{mips16e-save.d => save.d}  |    8 +-
 gas/testsuite/gas/mips/{mips16e-save.s => save.s}  |    8 +-
 gas/testsuite/gas/mips/sb1@save-sub.d              |    5 +
 gas/testsuite/gas/mips/vr5400@save-sub.d           |    5 +
 gas/testsuite/gas/mips/xlr@save-sub.d              |    5 +
 gdb/ChangeLog                                      |  123 +++++
 gdb/ada-lex.l                                      |   10 +
 gdb/c-exp.y                                        |   10 +-
 gdb/c-lang.c                                       |    7 +-
 gdb/command.h                                      |    1 +
 gdb/common/diagnostics.h                           |   20 +-
 gdb/common/environ.c                               |    2 +-
 gdb/common/vec.h                                   |   25 +
 gdb/d-exp.y                                        |   11 +-
 gdb/darwin-nat.c                                   |   78 ++--
 gdb/dtrace-probe.c                                 |    3 +-
 gdb/dwarf2loc.c                                    |    7 +-
 gdb/dwarf2read.c                                   |   33 +-
 gdb/gdb_obstack.h                                  |   15 +
 gdb/go-exp.y                                       |    9 +-
 gdb/linux-tdep.c                                   |    7 +-
 gdb/main.c                                         |    2 +-
 gdb/mi/mi-cmd-break.c                              |    4 +-
 gdb/nat/x86-dregs.c                                |   16 +-
 gdb/objfiles.c                                     |   15 +-
 gdb/objfiles.h                                     |   32 +-
 gdb/printcmd.c                                     |   12 +-
 gdb/record-full.c                                  |   10 -
 gdb/remote-sim.c                                   |   38 +-
 gdb/rust-exp.y                                     |   15 +-
 gdb/symfile.c                                      |   25 +-
 gdb/symtab.c                                       |   40 +-
 gdb/testsuite/ChangeLog                            |    6 +
 gdb/testsuite/gdb.base/reread-readsym.c            |   22 +
 gdb/testsuite/gdb.base/reread-readsym.exp          |   61 +++
 gdb/utils.c                                        |   24 +-
 gdb/utils.h                                        |    3 -
 gdb/valprint.c                                     |   17 +-
 gdb/xtensa-tdep.c                                  |    7 +-
 gold/ChangeLog                                     |   39 ++
 gold/options.h                                     |    4 +
 gold/powerpc.cc                                    |  387 ++++++++++++---
 gold/symtab.h                                      |   20 +-
 include/ChangeLog                                  |   52 ++
 include/elf/arm.h                                  |    1 +
 include/elf/mips.h                                 |    2 +
 include/elf/riscv.h                                |    1 +
 include/elf/s390.h                                 |    3 +
 include/opcode/aarch64.h                           |    2 +
 include/opcode/arm.h                               |   24 +-
 include/opcode/mips.h                              |   21 +-
 ld/ChangeLog                                       |   76 +++
 ld/Makefile.in                                     |    1 +
 ld/emulparams/elf64_s390.sh                        |    1 +
 ld/emultempl/elf32.em                              |   10 +-
 ld/emultempl/s390.em                               |   64 +++
 ld/gen-doc.texi                                    |    1 +
 ld/ld.texinfo                                      |   31 ++
 ld/testsuite/ld-arm/arm-elf.exp                    |    6 +
 ld/testsuite/ld-arm/attr-merge-11.attr             |    9 +
 ld/testsuite/ld-arm/attr-merge-11a.s               |    5 +
 ld/testsuite/ld-arm/attr-merge-11b.s               |    5 +
 ld/testsuite/ld-arm/attr-merge-12.attr             |    9 +
 ld/testsuite/ld-arm/attr-merge-12a.s               |    5 +
 ld/testsuite/ld-arm/attr-merge-12b.s               |    5 +
 ld/testsuite/ld-avr/pr13402.d                      |   16 +
 ld/testsuite/ld-avr/pr13402.s                      |    9 +
 ld/testsuite/ld-elf/sizeofa.d                      |    4 +-
 ld/testsuite/ld-elf/sizeofc.d                      |    4 +-
 ld/testsuite/ld-elf/startofa.d                     |    4 +-
 ld/testsuite/ld-elf/startofc.d                     |    4 +-
 ld/testsuite/ld-elfvsb/elfvsb.exp                  |    5 +-
 ld/testsuite/ld-i386/i386.exp                      |   26 +
 ld/testsuite/ld-i386/weakundef1.c                  |   16 +
 ld/testsuite/ld-mips-elf/lsi-4010-isa.d            |   23 +
 ld/testsuite/ld-mips-elf/mips-elf-flags.exp        |  107 ++++-
 ld/testsuite/ld-mips-elf/mips-elf.exp              |    3 +
 libiberty/ChangeLog                                |  102 ++++
 libiberty/cp-demangle.c                            |   28 +-
 libiberty/cp-demangle.h                            |    4 -
 libiberty/cplus-dem.c                              |   16 +-
 libiberty/d-demangle.c                             |  518 ++++++++++---------
 libiberty/testsuite/d-demangle-expected            |  252 +++++++++-
 libiberty/testsuite/demangle-expected              |   15 +
 opcodes/ChangeLog                                  |   39 ++
 opcodes/aarch64-asm.c                              |   14 +
 opcodes/aarch64-dis-2.c                            |  382 ++++++++-------
 opcodes/aarch64-dis.c                              |   15 +
 opcodes/aarch64-tbl.h                              |   24 +
 opcodes/arm-dis.c                                  |    6 +
 opcodes/mips-dis.c                                 |  180 ++++---
 opcodes/mips-formats.h                             |    7 +-
 opcodes/mips-opc.c                                 |   11 +
 opcodes/mips16-opc.c                               |    6 +
 opcodes/riscv-opc.c                                |    4 +-
 253 files changed, 6752 insertions(+), 1205 deletions(-)
 create mode 100644 bfd/elf-s390.h
 create mode 100644 gas/testsuite/gas/aarch64/dotproduct.d
 create mode 100644 gas/testsuite/gas/aarch64/dotproduct.s
 create mode 100644 gas/testsuite/gas/arc/asm-errors-3.d
 create mode 100644 gas/testsuite/gas/arc/asm-errors-3.err
 create mode 100644 gas/testsuite/gas/arc/asm-errors-3.s
 delete mode 100644 gas/testsuite/gas/arm/armv8-a-bad.l
 delete mode 100644 gas/testsuite/gas/arm/armv8-a-it-bad.l
 rename gas/testsuite/gas/arm/{armv8-a+fp.s => armv8-ar+fp.s} (99%)
 rename gas/testsuite/gas/arm/{armv8-a+simd.s => armv8-ar+simd.s} (99%)
 create mode 100644 gas/testsuite/gas/arm/armv8-ar-bad.l
 rename gas/testsuite/gas/arm/{armv8-a-bad.s => armv8-ar-bad.s} (99%)
 rename gas/testsuite/gas/arm/{armv8-a-barrier.s => armv8-ar-barrier.s} (100%)
 create mode 100644 gas/testsuite/gas/arm/armv8-ar-it-bad.l
 rename gas/testsuite/gas/arm/{armv8-a-it-bad.s => armv8-ar-it-bad.s} (98%)
 rename gas/testsuite/gas/arm/{armv8-a.s => armv8-ar.s} (100%)
 copy gas/testsuite/gas/arm/{armv8-a+fp.d => armv8-r+fp.d} (98%)
 copy gas/testsuite/gas/arm/{armv8-a+simd.d => armv8-r+simd.d} (98%)
 create mode 100644 gas/testsuite/gas/arm/armv8-r-bad.d
 copy gas/testsuite/gas/arm/{armv8-a-barrier-arm.d => armv8-r-barrier-arm.d} (89%)
 copy gas/testsuite/gas/arm/{armv8-a-barrier-thumb.d => armv8-r-barrier-thumb.d} (89%)
 create mode 100644 gas/testsuite/gas/arm/armv8-r-it-bad.d
 copy gas/testsuite/gas/arm/{armv8-a.d => armv8-r.d} (98%)
 create mode 100644 gas/testsuite/gas/arm/attr-march-armv8-r+crypto.d
 create mode 100644 gas/testsuite/gas/arm/attr-march-armv8-r+fp.d
 create mode 100644 gas/testsuite/gas/arm/attr-march-armv8-r+simd.d
 create mode 100644 gas/testsuite/gas/arm/attr-march-armv8-r.d
 copy gas/testsuite/gas/arm/{crc32-bad.d => crc32-armv8-a-bad.d} (92%)
 copy gas/testsuite/gas/arm/{crc32.d => crc32-armv8-a.d} (92%)
 rename gas/testsuite/gas/arm/{crc32-bad.s => crc32-armv8-ar-bad.s} (100%)
 rename gas/testsuite/gas/arm/{crc32.s => crc32-armv8-ar.s} (100%)
 rename gas/testsuite/gas/arm/{crc32-bad.d => crc32-armv8-r-bad.d} (89%)
 rename gas/testsuite/gas/arm/{crc32.d => crc32-armv8-r.d} (89%)
 create mode 100644 gas/testsuite/gas/arm/dotprod-illegal.d
 create mode 100644 gas/testsuite/gas/arm/dotprod-illegal.l
 create mode 100644 gas/testsuite/gas/arm/dotprod-illegal.s
 create mode 100644 gas/testsuite/gas/arm/dotprod-legacy-arch.d
 create mode 100644 gas/testsuite/gas/arm/dotprod-legacy-arch.l
 create mode 100644 gas/testsuite/gas/arm/dotprod-thumb2.d
 create mode 100644 gas/testsuite/gas/arm/dotprod.d
 create mode 100644 gas/testsuite/gas/arm/dotprod.s
 copy gas/testsuite/gas/arm/{mask_1.d => mask_1-armv8-a.d} (93%)
 rename gas/testsuite/gas/arm/{mask_1.s => mask_1-armv8-ar.s} (100%)
 rename gas/testsuite/gas/arm/{mask_1.d => mask_1-armv8-r.d} (92%)
 create mode 100644 gas/testsuite/gas/elf/pr21661.d
 create mode 100644 gas/testsuite/gas/elf/pr21661.l
 create mode 100644 gas/testsuite/gas/elf/pr21661.s
 create mode 100644 gas/testsuite/gas/mips/elf_mach_interaptiv-mr2.d
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@isa-override-1.d
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@isa-override-1.l
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@isa-override-2.d
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@isa-override-2.l
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@mcu.d
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/interaptiv-mr2@save.d
 create mode 100644 gas/testsuite/gas/mips/mips16@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-copy-err.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-copy-err.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-copy-err.s
 create mode 100644 gas/testsuite/gas/mips/mips16e2-copy.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-copy.s
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-asmacro.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-e.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-insn-t.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-e.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro-t.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-macro.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16-sub.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64-sub.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-64.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e-sub.l
 create mode 100644 gas/testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e2-mt-sub.d
 copy gas/testsuite/gas/mips/{mips16e-save.d => mips16e@save-sub.d} (92%)
 create mode 100644 gas/testsuite/gas/mips/mips1@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips2@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips32@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips3@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips4@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips5@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/mips64@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/octeon2@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/octeon3@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/r3000@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/r3900@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/r4000@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/r5900@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/save-err.d
 rename gas/testsuite/gas/mips/{mips16e-save-err.l => save-err.l} (100%)
 rename gas/testsuite/gas/mips/{mips16e-save-err.s => save-err.s} (96%)
 create mode 100644 gas/testsuite/gas/mips/save-sub.d
 create mode 100644 gas/testsuite/gas/mips/save-sub.s
 rename gas/testsuite/gas/mips/{mips16e-save.d => save.d} (92%)
 rename gas/testsuite/gas/mips/{mips16e-save.s => save.s} (90%)
 create mode 100644 gas/testsuite/gas/mips/sb1@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/vr5400@save-sub.d
 create mode 100644 gas/testsuite/gas/mips/xlr@save-sub.d
 create mode 100644 gdb/testsuite/gdb.base/reread-readsym.c
 create mode 100644 gdb/testsuite/gdb.base/reread-readsym.exp
 create mode 100644 ld/emultempl/s390.em
 create mode 100644 ld/testsuite/ld-arm/attr-merge-11.attr
 create mode 100644 ld/testsuite/ld-arm/attr-merge-11a.s
 create mode 100644 ld/testsuite/ld-arm/attr-merge-11b.s
 create mode 100644 ld/testsuite/ld-arm/attr-merge-12.attr
 create mode 100644 ld/testsuite/ld-arm/attr-merge-12a.s
 create mode 100644 ld/testsuite/ld-arm/attr-merge-12b.s
 create mode 100644 ld/testsuite/ld-avr/pr13402.d
 create mode 100644 ld/testsuite/ld-avr/pr13402.s
 create mode 100644 ld/testsuite/ld-i386/weakundef1.c
 create mode 100644 ld/testsuite/ld-mips-elf/lsi-4010-isa.d

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index cdd6c35..ad9eecb 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,158 @@
+2017-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* libbfd.c (_bfd_generic_get_section_contents): Don't call
+	bfd_get_file_size.  Check archive element size.
+	(_bfd_generic_get_section_contents_in_window): Likewise.
+
+2017-06-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfd-in2.h: Regenerated.
+	* bfdio.c (bfd_get_size): Change return type to ufile_ptr.
+	(bfd_get_file_size): Likewise.
+
+2017-06-28  Maciej W. Rozycki  <macro@imgtec.com>
+	    Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* archures.c (bfd_mach_mips_interaptiv_mr2): New macro.
+	* cpu-mips.c (I_interaptiv_mr2): New enum value.
+	(arch_info_struct): Add "mips:interaptiv-mr2" entry.
+	* elfxx-mips.c (_bfd_elf_mips_mach) <E_MIPS_MACH_IAMR2>: New
+	case.
+	(mips_set_isa_flags) <bfd_mach_mips_interaptiv_mr2>: Likewise.
+	(bfd_mips_isa_ext) <bfd_mach_mips_interaptiv_mr2>: Likewise.
+	(print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
+	(mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and
+	`bfd_mach_mips_interaptiv_mr2' entries.
+	* bfd-in2.h: Regenerate.
+
+2017-06-27  Nick Clifton  <nickc@redhat.com>
+
+	* tekhex.c (pass_over): Revert accidental conversion of a local
+	array to a static array.
+
+2017-06-27  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR ld/13402
+	* elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust
+	reloc addend if necessary. Adjust diff only if
+	shrinked_insn_address < end_address.
+
+2017-06-27  Alan Modra  <amodra@gmail.com>
+
+	PR binutils/21665
+	* libbfd.c (_bfd_generic_get_section_contents): Warning fix.
+	(_bfd_generic_get_section_contents_in_window): Likewise.
+
+2017-06-26  Kuan-Lin Chen  <rufus@andestech.com>
+
+	* elfnn-riscv.c (perform_relocation): Support the new
+	R_RISCV_32_PCREL relocation.
+	(riscv_elf_relocate_section): Likewise.
+	* elfxx-riscv.c (howto_table): Likewise.
+	(riscv_reloc_map): Likewise.
+	* bfd-in2.h (BFD_RELOC_RISCV_32_PCREL): New relocation.
+	* libbfd.h: Regenerate.
+
+2017-06-27  Alan Modra  <amodra@gmail.com>
+
+	PR binutils/21665
+	* libbfd.c (_bfd_generic_get_section_contents): Delete abort.
+	Use unsigned file pointer type, and remove cast.
+	* libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
+	Add "count", not "sz".
+
+2017-06-26  Pedro Alves  <palves@redhat.com>
+
+	PR binutils/21665
+	* libbfd.c (_bfd_generic_get_section_contents): Add "count", not
+	"sz".
+
+2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/21665
+	* libbfd.c (_bfd_generic_get_section_contents_in_window): Add
+	a missing line.
+
+2017-06-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
+	* elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: Set
+	E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'.
+	(mips_mach_extensions): Mark `bfd_mach_mips4010' as extending
+	`bfd_mach_mips6000' rather than `bfd_mach_mips4000'.
+
+2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/21665
+	* compress.c (bfd_get_full_section_contents): Don't check the
+	file size here.
+	* libbfd.c (_bfd_generic_get_section_contents): Check for and
+	reject a section whose size + offset is greater than the size
+	of the entire file.
+	(_bfd_generic_get_section_contents_in_window): Likewise.
+
+2017-06-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21670
+	* tekhex.c (getvalue): Check for the source pointer exceeding the
+	end pointer before the first byte is read.
+
+2017-06-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21665
+	* opncls.c (get_build_id): Check that the section is big enough
+	to contain the whole note.
+	* compress.c (bfd_get_full_section_contents): Check for and reject
+	a section whose size is greater than the size of the entire file.
+	* elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
+	contain a notes section.
+
+2017-06-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* elf64-s390.c (elf_s390_additional_program_headers): Add NULL
+	pointer checks.
+	(elf_s390_modify_segment_map): Likewise.
+	(bfd_elf_s390_set_options): Lisewise.
+
+2017-06-26  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_link_create_dynstrtab): Don't make dynobj
+	a --just-syms bfd.
+	(_bfd_elf_size_group_sections): Skip --just-syms bfds.
+	(bfd_elf_size_dynamic_sections): Ignore .note.GNU-stack and
+	.preinit_array on --just-syms bfds.
+	(_bfd_elf_gc_mark_extra_sections): Skip --just-syms bfds.
+	(elf_gc_sweep, bfd_elf_parse_eh_frame_entries): Likewise.
+	(bfd_elf_gc_sections, bfd_elf_discard_info): Likewise.
+
+2017-06-25  Sergei Trofimovich  <slyfox@gentoo.org>
+
+	* elf.c (find_link): Bounds check "hint".
+
+2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* elf32-arm.c (using_thumb_only): Update list of architectures in
+	BFD_ASSERT for which the logic is valid.
+	(using_thumb2_bl): Likewise.
+	(using_thumb2): Likewise and return true for ARMv8-R.
+	(arch_has_arm_nop): Likewise.
+	(tag_cpu_arch_combine): New v8r table for ARMv8-R Tag_CPU_arch
+	merging logic.  Update commentis for value 15 of v8m_baseline,
+	v8m_mainline and v4t_plus_v6_m arrays.  Use v8r array to decide
+	merging of value 15 of Tag_CPU_arch.
+
+2017-06-23  Jiong Wang  <jiong.wang@arm.com>
+
+	* reloc.c (BFD_RELOC_AARCH64_ADR_GOTPAGE): Rename to
+	BFD_RELOC_AARCH64_ADR_GOT_PAGE
+	* bfd-in2.h: Regenerate.
+
+2017-06-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Move
+	the error_alignment label forward.  Properly align program
+	property note section.
+
 2017-06-22  Eric Christopher  <echristo@gmail.com>
 
 	* elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than
@@ -5,6 +160,12 @@
 
 2017-06-22  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Resolve
+	local undefined weak symbol to 0.
+	* elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Likewise.
+
+2017-06-22  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk
 	is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
 	(elf_i386_link_setup_gnu_properties): If info->shstk is set,
@@ -138,6 +299,17 @@
 	allocation so that loops can be caught.  Check for NULL pointers
 	when processing a group list.
 
+2017-06-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+	* elf-s390.h: New file.
+	* elf64-s390.c (struct elf_s390_link_hash_table): Add params
+	field.
+	(elf_s390_additional_program_headers): New function.
+	(elf_s390_modify_segment_map): New function.
+	(bfd_elf_s390_set_options): New function.
+	(elf_backend_additional_program_headers)
+	(elf_backend_modify_segment_map): Add macro definitions.
+
 2017-06-19  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/21626
diff --git a/bfd/archures.c b/bfd/archures.c
index 2fefec5..433b95f 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -200,6 +200,7 @@ DESCRIPTION
 .#define bfd_mach_mips_octeon2		6502
 .#define bfd_mach_mips_octeon3          6503
 .#define bfd_mach_mips_xlr              887682   {* decimal 'XLR'  *}
+.#define bfd_mach_mips_interaptiv_mr2   736550   {* decimal 'IA2'  *}
 .#define bfd_mach_mipsisa32             32
 .#define bfd_mach_mipsisa32r2           33
 .#define bfd_mach_mipsisa32r3           34
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 4348793..1343780 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1240,9 +1240,9 @@ char *bfd_follow_build_id_debuglink (bfd *abfd, const char *dir);
 /* Extracted from bfdio.c.  */
 long bfd_get_mtime (bfd *abfd);
 
-file_ptr bfd_get_size (bfd *abfd);
+ufile_ptr bfd_get_size (bfd *abfd);
 
-file_ptr bfd_get_file_size (bfd *abfd);
+ufile_ptr bfd_get_file_size (bfd *abfd);
 
 void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
     int prot, int flags, file_ptr offset,
@@ -2059,6 +2059,7 @@ enum bfd_architecture
 #define bfd_mach_mips_octeon2          6502
 #define bfd_mach_mips_octeon3          6503
 #define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
+#define bfd_mach_mips_interaptiv_mr2   736550   /* decimal 'IA2'  */
 #define bfd_mach_mipsisa32             32
 #define bfd_mach_mipsisa32r2           33
 #define bfd_mach_mipsisa32r3           34
@@ -4771,6 +4772,7 @@ number for the SBIC, SBIS, SBI and CBI instructions  */
   BFD_RELOC_RISCV_SET8,
   BFD_RELOC_RISCV_SET16,
   BFD_RELOC_RISCV_SET32,
+  BFD_RELOC_RISCV_32_PCREL,
 
 /* Renesas RL78 Relocations.  */
   BFD_RELOC_RL78_NEG8,
@@ -6014,12 +6016,12 @@ conjunction with BFD_RELOC_AARCH64_LD64_GOT_LO12_NC.  */
 
 /* Unsigned 12 bit byte offset for 64 bit load/store from the page of
 the GOT entry for this symbol.  Used in conjunction with
-BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in LP64 ABI only.  */
+BFD_RELOC_AARCH64_ADR_GOT_PAGE.  Valid in LP64 ABI only.  */
   BFD_RELOC_AARCH64_LD64_GOT_LO12_NC,
 
 /* Unsigned 12 bit byte offset for 32 bit load/store from the page of
 the GOT entry for this symbol.  Used in conjunction with
-BFD_RELOC_AARCH64_ADR_GOTPAGE.  Valid in ILP32 ABI only.  */
+BFD_RELOC_AARCH64_ADR_GOT_PAGE.  Valid in ILP32 ABI only.  */
   BFD_RELOC_AARCH64_LD32_GOT_LO12_NC,
 
 /* Unsigned 16 bit byte offset for 64 bit load/store from the GOT entry
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index e301570..fa7fb21 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -392,7 +392,7 @@ FUNCTION
 	bfd_get_size
 
 SYNOPSIS
-	file_ptr bfd_get_size (bfd *abfd);
+	ufile_ptr bfd_get_size (bfd *abfd);
 
 DESCRIPTION
 	Return the file size (as read from file system) for the file
@@ -420,7 +420,7 @@ DESCRIPTION
 	size reasonable?".
 */
 
-file_ptr
+ufile_ptr
 bfd_get_size (bfd *abfd)
 {
   struct stat buf;
@@ -439,7 +439,7 @@ FUNCTION
 	bfd_get_file_size
 
 SYNOPSIS
-	file_ptr bfd_get_file_size (bfd *abfd);
+	ufile_ptr bfd_get_file_size (bfd *abfd);
 
 DESCRIPTION
 	Return the file size (as read from file system) for the file
@@ -448,7 +448,7 @@ DESCRIPTION
 
 */
 
-file_ptr
+ufile_ptr
 bfd_get_file_size (bfd *abfd)
 {
   if (abfd->my_archive != NULL
diff --git a/bfd/compress.c b/bfd/compress.c
index c854a20..ef549f9 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -254,7 +254,7 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr)
 		  /* xgettext:c-format */
 		  (_("error: %B(%A) is too large (%#lx bytes)"),
 		  abfd, sec, (long) sz);
-	    return FALSE;
+	      return FALSE;
 	    }
 	}
 
diff --git a/bfd/cpu-mips.c b/bfd/cpu-mips.c
index b9ecdd6..2493094 100644
--- a/bfd/cpu-mips.c
+++ b/bfd/cpu-mips.c
@@ -104,6 +104,7 @@ enum
   I_mipsocteon2,
   I_mipsocteon3,
   I_xlr,
+  I_interaptiv_mr2,
   I_micromips
 };
 
@@ -114,7 +115,7 @@ static const bfd_arch_info_type arch_info_struct[] =
   N (32, 32, bfd_mach_mips3000, "mips:3000",      FALSE, NN(I_mips3000)),
   N (32, 32, bfd_mach_mips3900, "mips:3900",      FALSE, NN(I_mips3900)),
   N (64, 64, bfd_mach_mips4000, "mips:4000",      FALSE, NN(I_mips4000)),
-  N (64, 64, bfd_mach_mips4010, "mips:4010",      FALSE, NN(I_mips4010)),
+  N (32, 32, bfd_mach_mips4010, "mips:4010",      FALSE, NN(I_mips4010)),
   N (64, 64, bfd_mach_mips4100, "mips:4100",      FALSE, NN(I_mips4100)),
   N (64, 64, bfd_mach_mips4111, "mips:4111",      FALSE, NN(I_mips4111)),
   N (64, 64, bfd_mach_mips4120, "mips:4120",      FALSE, NN(I_mips4120)),
@@ -155,6 +156,8 @@ static const bfd_arch_info_type arch_info_struct[] =
   N (64, 64, bfd_mach_mips_octeon2,"mips:octeon2",  FALSE, NN(I_mipsocteon2)),
   N (64, 64, bfd_mach_mips_octeon3, "mips:octeon3",  FALSE, NN(I_mipsocteon3)),
   N (64, 64, bfd_mach_mips_xlr, "mips:xlr",       FALSE, NN(I_xlr)),
+  N (32, 32, bfd_mach_mips_interaptiv_mr2, "mips:interaptiv-mr2", FALSE,
+     NN(I_interaptiv_mr2)),
   N (64, 64, bfd_mach_mips_micromips,"mips:micromips",FALSE,0)
 };
 
diff --git a/bfd/elf-s390.h b/bfd/elf-s390.h
new file mode 100644
index 0000000..b37ec18
--- /dev/null
+++ b/bfd/elf-s390.h
@@ -0,0 +1,29 @@
+/* S/390-specific support for ELF.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+   This file is part of BFD, the Binary File Descriptor library.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* Used to pass info between ld and bfd.  */
+struct s390_elf_params
+{
+  /* Tell the kernel to allocate 4k page tables.  */
+  int pgste;
+};
+
+bfd_boolean bfd_elf_s390_set_options (struct bfd_link_info *info,
+				      struct s390_elf_params *params);
diff --git a/bfd/elf.c b/bfd/elf.c
index 5f37e7f..76c6a5c 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1283,7 +1283,8 @@ section_match (const Elf_Internal_Shdr * a,
    to be the correct section.  */
 
 static unsigned int
-find_link (const bfd * obfd, const Elf_Internal_Shdr * iheader, const unsigned int hint)
+find_link (const bfd *obfd, const Elf_Internal_Shdr *iheader,
+	   const unsigned int hint)
 {
   Elf_Internal_Shdr ** oheaders = elf_elfsections (obfd);
   unsigned int i;
@@ -1291,7 +1292,8 @@ find_link (const bfd * obfd, const Elf_Internal_Shdr * iheader, const unsigned i
   BFD_ASSERT (iheader != NULL);
 
   /* See PR 20922 for a reproducer of the NULL test.  */
-  if (oheaders[hint] != NULL
+  if (hint < elf_numsections (obfd)
+      && oheaders[hint] != NULL
       && section_match (oheaders[hint], iheader))
     return hint;
 
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index e499b0e..b9f5d04 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -3567,9 +3567,7 @@ using_thumb_only (struct elf32_arm_link_hash_table *globals)
   arch = bfd_elf_get_obj_attr_int (globals->obfd, OBJ_ATTR_PROC, Tag_CPU_arch);
 
   /* Force return logic to be reviewed for each new architecture.  */
-  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8
-	      || arch == TAG_CPU_ARCH_V8M_BASE
-	      || arch == TAG_CPU_ARCH_V8M_MAIN);
+  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8M_MAIN);
 
   if (arch == TAG_CPU_ARCH_V6_M
       || arch == TAG_CPU_ARCH_V6S_M
@@ -3596,14 +3594,13 @@ using_thumb2 (struct elf32_arm_link_hash_table *globals)
   arch = bfd_elf_get_obj_attr_int (globals->obfd, OBJ_ATTR_PROC, Tag_CPU_arch);
 
   /* Force return logic to be reviewed for each new architecture.  */
-  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8
-	      || arch == TAG_CPU_ARCH_V8M_BASE
-	      || arch == TAG_CPU_ARCH_V8M_MAIN);
+  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8M_MAIN);
 
   return (arch == TAG_CPU_ARCH_V6T2
 	  || arch == TAG_CPU_ARCH_V7
 	  || arch == TAG_CPU_ARCH_V7E_M
 	  || arch == TAG_CPU_ARCH_V8
+	  || arch == TAG_CPU_ARCH_V8R
 	  || arch == TAG_CPU_ARCH_V8M_MAIN);
 }
 
@@ -3616,9 +3613,7 @@ using_thumb2_bl (struct elf32_arm_link_hash_table *globals)
     bfd_elf_get_obj_attr_int (globals->obfd, OBJ_ATTR_PROC, Tag_CPU_arch);
 
   /* Force return logic to be reviewed for each new architecture.  */
-  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8
-	      || arch == TAG_CPU_ARCH_V8M_BASE
-	      || arch == TAG_CPU_ARCH_V8M_MAIN);
+  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8M_MAIN);
 
   /* Architecture was introduced after ARMv6T2 (eg. ARMv6-M).  */
   return (arch == TAG_CPU_ARCH_V6T2
@@ -3824,14 +3819,13 @@ arch_has_arm_nop (struct elf32_arm_link_hash_table *globals)
 					     Tag_CPU_arch);
 
   /* Force return logic to be reviewed for each new architecture.  */
-  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8
-	      || arch == TAG_CPU_ARCH_V8M_BASE
-	      || arch == TAG_CPU_ARCH_V8M_MAIN);
+  BFD_ASSERT (arch <= TAG_CPU_ARCH_V8M_MAIN);
 
   return (arch == TAG_CPU_ARCH_V6T2
 	  || arch == TAG_CPU_ARCH_V6K
 	  || arch == TAG_CPU_ARCH_V7
-	  || arch == TAG_CPU_ARCH_V8);
+	  || arch == TAG_CPU_ARCH_V8
+	  || arch == TAG_CPU_ARCH_V8R);
 }
 
 static bfd_boolean
@@ -13329,6 +13323,25 @@ tag_cpu_arch_combine (bfd *ibfd, int oldtag, int *secondary_compat_out,
       T(V8),		/* V7E_M.  */
       T(V8)		/* V8.  */
     };
+  const int v8r[] =
+    {
+      T(V8R),		/* PRE_V4.  */
+      T(V8R),		/* V4.  */
+      T(V8R),		/* V4T.  */
+      T(V8R),		/* V5T.  */
+      T(V8R),		/* V5TE.  */
+      T(V8R),		/* V5TEJ.  */
+      T(V8R),		/* V6.  */
+      T(V8R),		/* V6KZ.  */
+      T(V8R),		/* V6T2.  */
+      T(V8R),		/* V6K.  */
+      T(V8R),		/* V7.  */
+      T(V8R),		/* V6_M.  */
+      T(V8R),		/* V6S_M.  */
+      T(V8R),		/* V7E_M.  */
+      T(V8),		/* V8.  */
+      T(V8R),		/* V8R.  */
+    };
   const int v8m_baseline[] =
     {
       -1,		/* PRE_V4.  */
@@ -13346,7 +13359,7 @@ tag_cpu_arch_combine (bfd *ibfd, int oldtag, int *secondary_compat_out,
       T(V8M_BASE),	/* V6S_M.  */
       -1,		/* V7E_M.  */
       -1,		/* V8.  */
-      -1,
+      -1,		/* V8R.  */
       T(V8M_BASE)	/* V8-M BASELINE.  */
     };
   const int v8m_mainline[] =
@@ -13366,7 +13379,7 @@ tag_cpu_arch_combine (bfd *ibfd, int oldtag, int *secondary_compat_out,
       T(V8M_MAIN),	/* V6S_M.  */
       T(V8M_MAIN),	/* V7E_M.  */
       -1,		/* V8.  */
-      -1,
+      -1,		/* V8R.  */
       T(V8M_MAIN),	/* V8-M BASELINE.  */
       T(V8M_MAIN)	/* V8-M MAINLINE.  */
     };


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  users/jkratoch/index: DWARF-5: .debug_names index consumer
@ 2017-06-22 20:03 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2017-06-22 20:03 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/index has been updated
  discards  2b5a46380bbd3241b12049f79e3eb20a880d0eaa (commit)
  discards  8f65b17a537789c51eaf56c933377159fb99f038 (commit)
  discards  dd8677e1f7b751b0bf808840dbcc0fa00ddcef49 (commit)
  discards  b647fdee7e9f43d10d25e6b341cd45f9da90ff90 (commit)
       via  458882a19f9d084b9a10444dc0d867085171162a (commit)
       via  eeb6810fc7fd76359517d882d861447ad063b37c (commit)
       via  17ceeb59d9c75ab41e5a3e6a2d89c5eb03324538 (commit)
       via  e2936bef9ce99169f039e0e1b994852fee28582c (commit)
      from  2b5a46380bbd3241b12049f79e3eb20a880d0eaa (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 458882a19f9d084b9a10444dc0d867085171162a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:21 2017 +0200

    DWARF-5: .debug_names index consumer
    
    Hi,
    
    it is not regression-free against no-index but it is regression-free against
    .gdb_index.  That is because .gdb_index is not regression-free against
    no-index.
    
    Some testcases needed to be updated as they were missing .debug_aranges.
    While that does not matter for no-index (as GDB builds the mapping internally
    during dwarf2_build_psymtabs_hard) and neither for .gdb_index (as GDB uses that
    internally built mapping which it stores into .gdb_index) it does matter for
    .debug_names as that simply assumes existing .debug_aranges from GCC.
    
    I tried some performance checking but the index handling speed is negligible
    compared to the CU expansion associated with it.  .debug_names looked even as
    a bit faster to me than .gdb_index which rather surprised me but I did not
    investigate it more.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_debug_names): New declaration.
    	* dwarf2read.c (mapped_debug_names): New.
    	(struct dwarf2_per_objfile): Add debug_names, debug_aranges and
    	debug_names_table.
    	(dwarf2_elf_names): Add debug_names and debug_aranges.
    	(struct dwz_file): Add debug_names.
    	(dwarf2_locate_sections): Add debug_names and debug_aranges.
    	(locate_dwz_sections): Add debug_names.
    	(create_signatured_type_table_from_debug_names)
    	(create_addrmap_from_aranges): New.
    	(dwarf2_read_index): Update function comment.
    	(read_debug_names_from_section, create_cus_from_debug_names_list)
    	(create_cus_from_debug_names, dwarf2_read_debug_names): New.
    	(dwarf5_djb_hash): Function renamed from DebugNamesNameTable::djb_hash.
    	(dw2_debug_names_iterator): New.
    	(read_indirect_string_at_offset): New declaration.
    	(mapped_debug_names::namei_to_name)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
    	(dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
    	(dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
    	New.
    	(dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
    	(dwarf2_free_objfile): Delete also debug_names_table;
    	(debug_names::djb_hash): Rename it to dwarf5_djb_hash.
    	(debug_names::build): Update djb_hash caller.
    	* elfread.c (elf_sym_fns_debug_names): New.
    	* psymtab.h (dwarf2_debug_names_functions): New declaration.
    	* symfile.h (struct dwarf2_debug_sections): Add debug_names and
    	debug_aranges.
    	* xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
    
    gdb/testsuite/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/maint.exp (check for .gdb_index): Check also for
    	.debug_names.
    	* gdb.dlang/watch-loc.c (.debug_aranges): New.
    	* gdb.dwarf2/dw2-case-insensitive-debug.S: Likewise.
    	* gdb.dwarf2/gdb-index.exp (check if index present, .gdb_index used)
    	(.gdb_index used after symbol reloading): Support also .debug_names.
    	* gdb.mi/dw2-ref-missing-frame-func.c (.debug_aranges): New.

commit eeb6810fc7fd76359517d882d861447ad063b37c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:21 2017 +0200

    Refactor: Move some generic code out of .gdb_index code
    
    Hi,
    
    just for the next patch.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_cu_from_index_list): New from ...
    	(create_cus_from_index_list): ... this function, use it.
    	(dw_expand_symtabs_matching_file_matcher)
    	(dw2_expand_symtabs_matching_one): New from ...
    	(dw2_expand_symtabs_matching): ... this function, use them.

commit 17ceeb59d9c75ab41e5a3e6a2d89c5eb03324538
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:20 2017 +0200

    Code cleanup: dwarf2_initialize_objfile return value
    
    Hi,
    
    dwarf2_initialize_objfile was returning boolean whether it is psymtabs or
    .gdb_index while now it needs to return also whether it is .debug_names.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
    	declarations from elfread.c.
    	(dwarf2_initialize_objfile): Change return value.
    	* elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
    	declarations to defs.h.
    	(elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
    	* symfile.h (dwarf2_initialize_objfile): Change return type.

commit e2936bef9ce99169f039e0e1b994852fee28582c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:20 2017 +0200

    DWARF-5: .debug_names index producer
    
    Hi,
    
    there are two FIXME lines I do not have a real answer for.
    
    Also I am not sure if the -dwarf-4 option for former .gdb_index should be named
    that way.  And contrib/gdb-add-index.sh (incl. cc-with-tweaks.sh) has no
    commandline option for that -dwarf-4 GDB option.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/gdb-add-index.sh (index): Rename to ...
    	(index4): ... here.
    	(index5, debugstr, debugstrmerge, debugstrerr): New variables.
    	Support also .debug_names and .debug_str.
    	* dwarf2read.c: Include cmath, locale, set, list.
    	(INDEX_SUFFIX): Rename to ...
    	(INDEX4_SUFFIX): ... here.
    	(INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
    	(file_write, file_write, file_write): New.
    	(data_buf::append_unsigned_leb128, data_buf::empty): New.
    	(data_buf::file_write): Use ::file_write.
    	(data_buf::operator const char *, debug_names, check_dwarf64_offsets):
    	New.
    	(psyms_seen_size, write_gdbindex): New from write_psymtabs_to_index
    	code.
    	(write_debug_names): New.
    	(write_psymtabs_to_index): New parameter is_dwarf5.  Support
    	filename_str and out_file_str.  Move code to write_gdbindex, possibly
    	call write_debug_names.
    	(save_gdb_index_command): New parameter -dwarf-4.
    	(_initialize_dwarf2_read): Document the new parameter -dwarf-4.
    
    gdb/doc/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Index Files): Document .debug_names and -dwarf-4.
    	(Index Section Format): Mention .debug_names.

-----------------------------------------------------------------------

Summary of changes:
 gdb/doc/gdb.texinfo |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

First 500 lines of diff:
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 7411ce8..d2057ca 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -19246,11 +19246,13 @@ To create an index file, use the @code{save gdb-index} command:
 @table @code
 @item save gdb-index [-dwarf-4] @var{directory}
 @kindex save gdb-index
-Create an index file for each symbol file currently known by
-@value{GDBN}.  Each file is named after its corresponding symbol file,
-with @file{.debug_names} and @file{.debug_str} (or @file{.gdb-index}
-from @code{-dwarf-4} option for older index consumers) appended, and is written
-into the given @var{directory}.
+Create index files for all symbol files currently known by
+@value{GDBN}.  For each known @var{symbol-file}, this command
+by default creates 2 files: @file{@var{symbol-file}.debug_names}
+and @file{@var{symbol-file}.debug_str}.  If you invoke this
+command with the @option{-dwarf-4} option, it produces a single
+file @file{@var{symbol-file}.gdb-index}.  The files are created
+in the given @var{directory}.
 @end table
 
 Once you have created an index file you can merge it into your symbol


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  users/jkratoch/index: DWARF-5: .debug_names index consumer
@ 2017-06-22 18:34 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2017-06-22 18:34 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/index has been updated
  discards  b137841b37b6247aa63d8270e5820c8c605d9093 (commit)
  discards  5229437ae3de0f997b264835433697889d9c94b6 (commit)
  discards  14f14266282cc676c6424a78d8f84d82a8502773 (commit)
  discards  4be4f2b35cd1d2313268c1cb77687d4e1968c231 (commit)
  discards  e39de6c1d1c9ede6e08c98e99e0db418a7ce974b (commit)
  discards  426b46fa0c561ae485b9b09c4972f269a0632103 (commit)
  discards  16c6cfce5fe4f039e3dfe7829bfe8686bd6d4f14 (commit)
       via  2b5a46380bbd3241b12049f79e3eb20a880d0eaa (commit)
       via  8f65b17a537789c51eaf56c933377159fb99f038 (commit)
       via  dd8677e1f7b751b0bf808840dbcc0fa00ddcef49 (commit)
       via  b647fdee7e9f43d10d25e6b341cd45f9da90ff90 (commit)
       via  157966fcdc971d7686a57d8ee81fd51f9da9668e (commit)
       via  b1ba635f9cb13a3655e633b1e3728d6b3b9bd78f (commit)
       via  8349711e0442dffafc803193e71cfd96683324b0 (commit)
       via  e652757bad63e4cf8c0c72df6e95c0c826f8e29d (commit)
       via  329b5ba137687c4cf00413534a08ec33c8acb556 (commit)
       via  9d1c54ed7f3a4a70f35f85658c311697c17a95f5 (commit)
       via  16892a0323ce6cf41ca80e384dfba12524247902 (commit)
       via  d7dcbefc724e59aa49e4ac2ac2337c8e1b8c367a (commit)
       via  b30ff123fbff63d6c8be1115320efd0158e49a7f (commit)
       via  4fa847d78edd4a3901414655bd4b31234b91ba2a (commit)
       via  48580982ef41907a45cda259a63d9e6878cbbea3 (commit)
       via  ee2fdd6f36c10ceb84e05c7234983bcfbe6146d5 (commit)
       via  f4906a9a7441ef9c2758513420568994a1e7fed3 (commit)
       via  d269dfc64fb5307dbbaecbc5d55861a705b729ab (commit)
       via  b45a120833d862aeeba6803b2cc131724ef89dda (commit)
       via  d19237d98d5c227bc33693057eb466702386cdfb (commit)
       via  e7d39ed3e0ca36d0dbd6ddd4cb955aa73b0974e6 (commit)
       via  a765d0724259ec77ab69c3dbb1cc2e16e2e038e1 (commit)
       via  194747873fbe037e923eac3a61481ba16e50e322 (commit)
       via  6b7373708821500a7388a8248b6c19fa1826c514 (commit)
       via  e5c89b096d9cb9e5956e98cd5863519c87c6890b (commit)
       via  127d08c03f8bdb515389359ab605b6ee548996fd (commit)
       via  68193357e8d0fb53a229114713db9f0385f60ed8 (commit)
       via  75312ae3ab577c3a72ada54512533fec8bfae7bb (commit)
       via  7f2c8a1d37af46c46828909b7b748c79aa4b7ff0 (commit)
       via  2c6b98ea6fcc1358639253d4e96c9b55a672fb0c (commit)
       via  6879f5a99e25c068fec34126b6b0fe4325223aa0 (commit)
       via  2234eee61c42ad3f4d17894236873e04b633e969 (commit)
       via  c2f7640243bdab93cafb3bf516e17a72fcc2f051 (commit)
       via  9fef80d683d79934bacd3221f5252ce8c14ff5c0 (commit)
       via  7adc0a8174f1233f6d92edd0671c18c9870e64e7 (commit)
       via  3d030cdb4a8d338c87e48b249338a4870fdcd322 (commit)
       via  54bab2816dfd025fc53618e46be140573d5bc02e (commit)
       via  bdab445c82ba93bc9aaad1ae974a3cf5c4aa8a26 (commit)
       via  6e1816be66892d06e1a983f08407135fa7f7fc17 (commit)
       via  81209eff905bf76a01bbc3dc07b8973d1d0cdaad (commit)
       via  6c290d5387f770a6b098162f0a0f9ea420de540d (commit)
       via  c168ce07e5b4a2a0258c796748899e1ba2e6dc7c (commit)
       via  996b5569bf24fe29dcd832a068d9f42b2903f48b (commit)
       via  20bd1b6ba53491e4979c03a4f679d0d17b9b9046 (commit)
       via  e4da2c61669d199c75b96a1be25e13e3b8254e89 (commit)
       via  3de58d950c984bce176d883a8e7bcf3415be8c84 (commit)
       via  cb06d03ad92ffcfaa09c3f065837cb39e9e1486d (commit)
       via  c458d0079cc5e8ff29256355e6532ad2f96a8aa6 (commit)
       via  ce49701009db42a9a53e5dcf172a6a211b1025b3 (commit)
       via  1e29262747bed568c673b8765d214a4a16772da1 (commit)
       via  eb83230b4d5c0129174937846ded9eaa9f78ff28 (commit)
       via  eceb74ca646e78adab1fa9f5c3b7cce51e894bc3 (commit)
       via  69431babfb54b26000fdcc016323cf811d48e862 (commit)
       via  a206891ad10040bdee41999019af3cbf45abb5d6 (commit)
       via  96160d605128658378af73bb62732d1cbfa73d8a (commit)
       via  9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e (commit)
       via  75c554cf9c375432af6e93653880d5498cd5f918 (commit)
       via  72ddacb77e3301a0481003a23b2d8dced7116de5 (commit)
       via  94de2a2c57b7f6b2870f72ecdcacc6d909c6421a (commit)
       via  abfa390dac6ffcfc6de9659c0b78cfe524347450 (commit)
       via  a6cab9afd2c81465265c8d09569e3e6ef43d2954 (commit)
       via  325c9fd4aa054118b80c621262f10fc6ffe98e25 (commit)
       via  66953522c9061874047d2e9832c206af783c971c (commit)
       via  d16fdddb4e96e9e7bcfce6fe487b321c54b2c7c7 (commit)
       via  bc21b167eb0106eb31d946a0eb5acfb7e4d5d8a1 (commit)
       via  0f6d864de2469af4223391993b430b0d45573dcb (commit)
       via  acb56a83016611bcb5f0a32368fddc8c213f7dd0 (commit)
       via  80053e466b3a8055334b9be9bac7d99e0d617cbe (commit)
       via  16b7a7199881fa26fc863279bbf08741e5674b5d (commit)
       via  72e84f969481f52daf6741c6bb4d0e92f9668389 (commit)
       via  875ffa3edc5f27f0ad5e3d95d96782832edad00e (commit)
       via  1c8e01c96054973c50ec1dec2f220af4734e1de5 (commit)
       via  65ce7763dfbca7f74c951767050ad2da0739869b (commit)
       via  ffce45d2243e5f52f411e314fc4e1a69f431a81f (commit)
      from  b137841b37b6247aa63d8270e5820c8c605d9093 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 2b5a46380bbd3241b12049f79e3eb20a880d0eaa
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:21 2017 +0200

    DWARF-5: .debug_names index consumer
    
    Hi,
    
    it is not regression-free against no-index but it is regression-free against
    .gdb_index.  That is because .gdb_index is not regression-free against
    no-index.
    
    Some testcases needed to be updated as they were missing .debug_aranges.
    While that does not matter for no-index (as GDB builds the mapping internally
    during dwarf2_build_psymtabs_hard) and neither for .gdb_index (as GDB uses that
    internally built mapping which it stores into .gdb_index) it does matter for
    .debug_names as that simply assumes existing .debug_aranges from GCC.
    
    I tried some performance checking but the index handling speed is negligible
    compared to the CU expansion associated with it.  .debug_names looked even as
    a bit faster to me than .gdb_index which rather surprised me but I did not
    investigate it more.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_debug_names): New declaration.
    	* dwarf2read.c (mapped_debug_names): New.
    	(struct dwarf2_per_objfile): Add debug_names, debug_aranges and
    	debug_names_table.
    	(dwarf2_elf_names): Add debug_names and debug_aranges.
    	(struct dwz_file): Add debug_names.
    	(dwarf2_locate_sections): Add debug_names and debug_aranges.
    	(locate_dwz_sections): Add debug_names.
    	(create_signatured_type_table_from_debug_names)
    	(create_addrmap_from_aranges): New.
    	(dwarf2_read_index): Update function comment.
    	(read_debug_names_from_section, create_cus_from_debug_names_list)
    	(create_cus_from_debug_names, dwarf2_read_debug_names): New.
    	(dwarf5_djb_hash): Function renamed from DebugNamesNameTable::djb_hash.
    	(dw2_debug_names_iterator): New.
    	(read_indirect_string_at_offset): New declaration.
    	(mapped_debug_names::namei_to_name)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
    	(dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
    	(dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
    	New.
    	(dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
    	(dwarf2_free_objfile): Delete also debug_names_table;
    	(debug_names::djb_hash): Rename it to dwarf5_djb_hash.
    	(debug_names::build): Update djb_hash caller.
    	* elfread.c (elf_sym_fns_debug_names): New.
    	* psymtab.h (dwarf2_debug_names_functions): New declaration.
    	* symfile.h (struct dwarf2_debug_sections): Add debug_names and
    	debug_aranges.
    	* xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
    
    gdb/testsuite/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/maint.exp (check for .gdb_index): Check also for
    	.debug_names.
    	* gdb.dlang/watch-loc.c (.debug_aranges): New.
    	* gdb.dwarf2/dw2-case-insensitive-debug.S: Likewise.
    	* gdb.dwarf2/gdb-index.exp (check if index present, .gdb_index used)
    	(.gdb_index used after symbol reloading): Support also .debug_names.
    	* gdb.mi/dw2-ref-missing-frame-func.c (.debug_aranges): New.

commit 8f65b17a537789c51eaf56c933377159fb99f038
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:21 2017 +0200

    Refactor: Move some generic code out of .gdb_index code
    
    Hi,
    
    just for the next patch.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_cu_from_index_list): New from ...
    	(create_cus_from_index_list): ... this function, use it.
    	(dw_expand_symtabs_matching_file_matcher)
    	(dw2_expand_symtabs_matching_one): New from ...
    	(dw2_expand_symtabs_matching): ... this function, use them.

commit dd8677e1f7b751b0bf808840dbcc0fa00ddcef49
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:20 2017 +0200

    Code cleanup: dwarf2_initialize_objfile return value
    
    Hi,
    
    dwarf2_initialize_objfile was returning boolean whether it is psymtabs or
    .gdb_index while now it needs to return also whether it is .debug_names.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
    	declarations from elfread.c.
    	(dwarf2_initialize_objfile): Change return value.
    	* elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
    	declarations to defs.h.
    	(elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
    	* symfile.h (dwarf2_initialize_objfile): Change return type.

commit b647fdee7e9f43d10d25e6b341cd45f9da90ff90
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:20 2017 +0200

    DWARF-5: .debug_names index producer
    
    Hi,
    
    there are two FIXME lines I do not have a real answer for.
    
    Also I am not sure if the -dwarf-4 option for former .gdb_index should be named
    that way.  And contrib/gdb-add-index.sh (incl. cc-with-tweaks.sh) has no
    commandline option for that -dwarf-4 GDB option.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/gdb-add-index.sh (index): Rename to ...
    	(index4): ... here.
    	(index5, debugstr, debugstrmerge, debugstrerr): New variables.
    	Support also .debug_names and .debug_str.
    	* dwarf2read.c: Include cmath, locale, set, list.
    	(INDEX_SUFFIX): Rename to ...
    	(INDEX4_SUFFIX): ... here.
    	(INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
    	(file_write, file_write, file_write): New.
    	(data_buf::append_unsigned_leb128, data_buf::empty): New.
    	(data_buf::file_write): Use ::file_write.
    	(data_buf::operator const char *, debug_names, check_dwarf64_offsets):
    	New.
    	(psyms_seen_size, write_gdbindex): New from write_psymtabs_to_index
    	code.
    	(write_debug_names): New.
    	(write_psymtabs_to_index): New parameter is_dwarf5.  Support
    	filename_str and out_file_str.  Move code to write_gdbindex, possibly
    	call write_debug_names.
    	(save_gdb_index_command): New parameter -dwarf-4.
    	(_initialize_dwarf2_read): Document the new parameter -dwarf-4.
    
    gdb/doc/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Index Files): Document .debug_names and -dwarf-4.
    	(Index Section Format): Mention .debug_names.

commit 157966fcdc971d7686a57d8ee81fd51f9da9668e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:19 2017 +0200

    cc-with-tweaks.sh: Use gdb-add-index.sh
    
    Hi,
    
    currently contrib/cc-with-tweaks.sh is calling for its -i option objcopy itself
    instead of using contrib/gdb-add-index.sh which does the same.
    
    With DWARF-5 .debug_names the commands are more complicated (as now also
    .debug_str needs to be modified) and so I have decided to rather reuse
    contrib/gdb-add-index.sh instead of duplicating its code
    in contrib/cc-with-tweaks.sh.
    
    The problem is when no index is produced whether contrib/cc-with-tweaks.sh
    should fail or not.  As originally contrib/cc-with-tweaks.sh was more quiet
    (=successful) than contrib/gdb-add-index.sh and so after this patch the
    testsuite runs with an index would "regress".  I have tried to keep the
    behavior unchanged.  Some cases still error with:
    	Ada is not currently supported by the index
    But some cases (such as some trivial gdb.dwarf2/ testcases with no DWARF data
    to index) produce no index while the testcases still PASS now instead of:
    	-PASS: gdb.arch/i386-bp_permanent.exp: stack pointer value matches
    	+gdb compile failed, gdb-add-index.sh: No index was created for /quadgdb/testsuite.unix.-m64/outputs/gdb.arch/i386-bp_permanent/i386-bp_permanent
    	+gdb-add-index.sh: [Was there no debuginfo? Was there already an index?]
    	+UNTESTED: gdb.arch/i386-bp_permanent.exp: failed to compile
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/cc-with-tweaks.sh (t, GDB_ADD_INDEX): New variables.
    	<$want_index>: Call $GDB_ADD_INDEX.

commit b1ba635f9cb13a3655e633b1e3728d6b3b9bd78f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:19 2017 +0200

    binutils

commit 8349711e0442dffafc803193e71cfd96683324b0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jun 22 20:18:18 2017 +0200

    gccidx

commit e652757bad63e4cf8c0c72df6e95c0c826f8e29d
Author: Eric Christopher <echristo@gmail.com>
Date:   Thu Jun 22 10:57:52 2017 -0700

    2017-06-22  Eric Christopher  <echristo@gmail.com>
    
            * elf32-arm.c (elf32_arm_final_link_relocate): Use labs	rather than
    	abs to fix a truncation warning.

commit 329b5ba137687c4cf00413534a08ec33c8acb556
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 10:07:53 2017 -0700

    Pass $NOPIE_CFLAGS/$NOPIE_LDFLAGS to "Run pr19031"
    
    	PR ld/21090
    	* testsuite/ld-i386/i386.exp: Pass $NOPIE_CFLAGS and
    	$NOPIE_LDFLAGS to "Run pr19031".

commit 9d1c54ed7f3a4a70f35f85658c311697c17a95f5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 09:53:33 2017 -0700

    Pass $NOPIE_CFLAGS and $NOPIE_LDFLAGS to more ELF tests
    
    	PR ld/21090
    	* testsuite/ld-gc/gc.ex: Compile tmpdir/pr14265.o with
    	$NOPIE_CFLAGS.
    	* testsuite/ld-i386/i386.exp: Pass $NOPIE_CFLAGS and
    	$NOPIE_LDFLAGS if non-PIE is required.
    	* testsuite/ld-i386/no-plt.exp (NOPIE_CFLAGS): New.
    	(NOPIE_LDFLAGS): Likewise.
    	Pass $NOPIE_LDFLAGS if non-PIE is required.
    	* testsuite/ld-shared/shared.exp: Compile tmpdir/sh1np.o with
    	$NOPIE_CFLAGS.

commit 16892a0323ce6cf41ca80e384dfba12524247902
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 22 16:30:15 2017 +0100

    Fix cached_frame allocation in py-unwind
    
    gdb/
    	* python/py-unwind.c (pyuw_sniffer): Allocate space for
    	registers.

commit d7dcbefc724e59aa49e4ac2ac2337c8e1b8c367a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 22 15:33:18 2017 +0100

    Remove an instance of MAX_REGISTER_SIZE from record-full.c
    
    gdb/
    	* record-full.c (record_full_exec_insn): Use byte_vector.

commit b30ff123fbff63d6c8be1115320efd0158e49a7f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jun 22 13:41:27 2017 +0100

    Regenerate two regformats/i386/.dat files
    
    The self tests which compare pre-generated target descriptions and
    dynamically created target descriptions fail, and it turns out that two
    pre-generated target descriptions are wrong, so regenerate them.
    
    gdb:
    
    2017-06-22  Yao Qi  <yao.qi@linaro.org>
    
    	* regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
    	* regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.

commit 4fa847d78edd4a3901414655bd4b31234b91ba2a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 22 14:09:52 2017 +0100

    Remove MAX_REGISTER_SIZE from py-unwind.c
    
    gdb/
    	* remote.c (cached_reg): Move from here...
    	* regcache.h (cached_reg): ...to here.
    	* python/py-unwind.c (struct reg_info): Remove.
    	(cached_frame_info): Use cached_reg_t.
    	(pyuw_prev_register): Likewise.
    	(pyuw_sniffer): Use cached_reg_t and allocate registers.
    	(pyuw_dealloc_cache): Free all registers.

commit 48580982ef41907a45cda259a63d9e6878cbbea3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 05:50:20 2017 -0700

    x86: Support Intel Shadow Stack with SHSTK property
    
    To support Intel Shadow Stack (SHSTK) in Intel Control-flow Enforcement
    Technology (CET) instructions:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
     #define GNU_PROPERTY_X86_FEATURE_1_SHSTK (1U << 1)
    
    is added to GNU program properties to indicate that all executable sections
    are compatible with SHSTK where return address popped from shadow stack
    always matches return address popped from normal stack.
    
    GNU_PROPERTY_X86_FEATURE_1_SHSTK is set on output only if it is set on all
    relocatable inputs.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk
    	is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
    	(elf_i386_link_setup_gnu_properties): If info->shstk is set,
    	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
    	* elf64-x86-64.c (elf_x86_64_merge_gnu_properties): If
    	info->shstk is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
    	(elf_x86_64_link_setup_gnu_properties): If info->shstk is set,
    	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
    
    binutils/
    
    	* readelf.c (decode_x86_feature): Decode
    	GNU_PROPERTY_X86_FEATURE_1_SHSTK.
    	* testsuite/binutils-all/i386/shstk.d: New file.
    	* testsuite/binutils-all/i386/shstk.s: Likewise.
    	* testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/shstk.d: Likewise.
    	* testsuite/binutils-all/x86-64/shstk.s: Likewise.
    
    include/
    
    	* bfdlink.h (bfd_link_info): Add shstk.
    	* elf/common.h (GNU_PROPERTY_X86_FEATURE_1_SHSTK): New.
    
    ld/
    
    	* NEWS: Mention -z shstk and GNU_PROPERTY_X86_FEATURE_1_SHSTK.
    	* emulparams/cet.sh (PARSE_AND_LIST_OPTIONS_CET): Add "-z shstk".
    	(PARSE_AND_LIST_ARGS_CASE_Z_CET): Support "-z shstk".
    	* ld.texinfo: Document -z shstk.
    	* testsuite/ld-i386/i386.exp: Run SHSTK tests.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-i386/property-x86-shstk.s: New file.
    	* testsuite/ld-i386/property-x86-shstk1a.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk1b.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk2.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk4.d: Likewise.
    	* testsuite/ld-i386/property-x86-shstk5.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk2.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk4.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-shstk5.d: Likewise.

commit ee2fdd6f36c10ceb84e05c7234983bcfbe6146d5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 22 05:44:37 2017 -0700

    x86: Support Intel IBT with IBT property and IBT-enable PLT
    
    To support IBT in Intel Control-flow Enforcement Technology (CET)
    instructions:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
     #define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002
    
     #define GNU_PROPERTY_X86_FEATURE_1_IBT (1U << 0)
    
    are added to GNU program properties to indicate that all executable
    sections are compatible with IBT when ENDBR instruction starts each
    valid target where an indirect branch instruction can land.
    
    GNU_PROPERTY_X86_FEATURE_1_IBT is set on output only if it is set on
    all relocatable inputs.
    
    The followings changes are made to the Procedure Linkage Table (PLT):
    
    1. For 64-bit x86-64,  PLT is changed to
    
    PLT0:  push       GOT[1]
           bnd jmp    *GOT[2]
           nop
    ...
    PLTn:  endbr64
           push       namen_reloc_index
           bnd jmp    PLT0
    
    together with the second PLT section:
    
    PLTn:  endbr64
           bnd jmp   *GOT[namen_index]
           nop
    
    BND prefix is also added so that IBT-enabled PLT is compatible with MPX.
    
    2. For 32-bit x86-64 (x32) and i386,  PLT is changed to
    
    PLT0:  push       GOT[1]
           jmp        *GOT[2]
           nop
    ...
    PLTn:  endbr64                                 # endbr32 for i386.
           push       namen_reloc_index
           jmp        PLT0
    
    together with the second PLT section:
    
    PLTn:  endbr64                                 # endbr32 for i386.
           jmp       *GOT[namen_index]
           nop
    
    BND prefix isn't used since MPX isn't supported on x32 and BND registers
    aren't used in parameter passing on i386.
    
    GOT is an array of addresses.  Initially, GOT[namen_index] is filled
    with the address of the ENDBR instruction of the corresponding entry
    in the first PLT section.  The function, namen, is called via the
    ENDBR instruction in the second PLT entry.  GOT[namen_index] is updated
    to the actual address of the function, namen, at run-time.
    
    2 linker command line options are added:
    
    1. -z ibtplt: Generate IBT-enabled PLT.
    2. -z ibt: Generate GNU_PROPERTY_X86_FEATURE_1_IBT in GNU program
    properties as well as IBT-enabled PLT.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New.
    	(elf_i386_lazy_ibt_plt_entry): Likewise.
    	(elf_i386_pic_lazy_ibt_plt0_entry): Likewise.
    	(elf_i386_non_lazy_ibt_plt_entry): Likewise.
    	(elf_i386_pic_non_lazy_ibt_plt_entry): Likewise.
    	(elf_i386_eh_frame_lazy_ibt_plt): Likewise.
    	(elf_i386_lazy_plt_layout): Likewise.
    	(elf_i386_non_lazy_plt_layout): Likewise.
    	(elf_i386_link_hash_entry): Add plt_second.
    	(elf_i386_link_hash_table): Add plt_second and
    	plt_second_eh_frame.
    	(elf_i386_allocate_dynrelocs): Use the second PLT if needed.
    	(elf_i386_size_dynamic_sections): Use .plt.got unwind info for
    	the second PLT.  Check the second PLT.
    	(elf_i386_relocate_section): Use the second PLT to resolve
    	PLT reference if needed.
    	(elf_i386_finish_dynamic_symbol): Fill and use the second PLT if
    	needed.
    	(elf_i386_finish_dynamic_sections): Set sh_entsize on the
    	second PLT.  Generate unwind info for the second PLT.
    	(elf_i386_plt_type): Add plt_second.
    	(elf_i386_get_synthetic_symtab): Support the second PLT.
    	(elf_i386_parse_gnu_properties): Support
    	GNU_PROPERTY_X86_FEATURE_1_AND.
    	(elf_i386_merge_gnu_properties): Support
    	GNU_PROPERTY_X86_FEATURE_1_AND.  If info->ibt is set, turn
    	on GNU_PROPERTY_X86_FEATURE_1_IBT
    	(elf_i386_link_setup_gnu_properties): If info->ibt is set,
    	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.  Use IBT-enabled PLT
    	for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
    	is set on all relocatable inputs.
    	* elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New.
    	(elf_x32_lazy_ibt_plt_entry): Likewise.
    	(elf_x86_64_non_lazy_ibt_plt_entry): Likewise.
    	(elf_x32_non_lazy_ibt_plt_entry): Likewise.
    	(elf_x86_64_eh_frame_lazy_ibt_plt): Likewise.
    	(elf_x32_eh_frame_lazy_ibt_plt): Likewise.
    	(elf_x86_64_lazy_ibt_plt): Likewise.
    	(elf_x32_lazy_ibt_plt): Likewise.
    	(elf_x86_64_non_lazy_ibt_plt): Likewise.
    	(elf_x32_non_lazy_ibt_plt): Likewise.
    	(elf_x86_64_get_synthetic_symtab): Support the second PLT.
    	(elf_x86_64_parse_gnu_properties): Support
    	GNU_PROPERTY_X86_FEATURE_1_AND.
    	(elf_x86_64_merge_gnu_properties): Support
    	GNU_PROPERTY_X86_FEATURE_1_AND.  If info->ibt is set, turn
    	on GNU_PROPERTY_X86_FEATURE_1_IBT
    	(elf_x86_64_link_setup_gnu_properties): If info->ibt is set,
    	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.  Use IBT-enabled PLT
    	for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
    	is set on all relocatable inputs.
    
    binutils/
    
    	* readelf.c (decode_x86_feature): New.
    	(print_gnu_property_note): Call decode_x86_feature on
    	GNU_PROPERTY_X86_FEATURE_1_AND.
    	* testsuite/binutils-all/i386/empty.d: New file.
    	* testsuite/binutils-all/i386/empty.s: Likewise.
    	* testsuite/binutils-all/i386/ibt.d: Likewise.
    	* testsuite/binutils-all/i386/ibt.s: Likewise.
    	* testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/empty.d: Likewise.
    	* testsuite/binutils-all/x86-64/empty.s: Likewise.
    	* testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
    	* testsuite/binutils-all/x86-64/ibt.d: Likewise.
    	* testsuite/binutils-all/x86-64/ibt.s: Likewise.
    
    include/
    
    	* bfdlink.h (bfd_link_info): Add ibtplt and ibt.
    	* elf/common.h (GNU_PROPERTY_X86_FEATURE_1_AND): New.
    	(GNU_PROPERTY_X86_FEATURE_1_IBT): Likewise.
    
    ld/
    
    	* Makefile.am (ELF_X86_DEPS): Add $(srcdir)/emulparams/cet.sh.
    	* Makefile.in: Regenerated.
    	* NEWS: Mention GNU_PROPERTY_X86_FEATURE_1_IBT, -z ibtplt
    	and -z ibt.
    	* emulparams/cet.sh: New file.
    	* testsuite/ld-i386/ibt-plt-1.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-1.s: Likewise.
    	* testsuite/ld-i386/ibt-plt-2.s: Likewise.
    	* testsuite/ld-i386/ibt-plt-2a.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-2b.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-2c.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-2d.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3.s: Likewise.
    	* testsuite/ld-i386/ibt-plt-3a.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3b.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3c.d: Likewise.
    	* testsuite/ld-i386/ibt-plt-3d.d: Likewise.
    	* testsuite/ld-i386/plt-main-ibt.dd: Likewise.
    	* testsuite/ld-i386/plt-pie-ibt.dd: Likewise.
    	* testsuite/ld-i386/property-x86-empty.s: Likewise.
    	* testsuite/ld-i386/property-x86-ibt.s: Likewise.
    	* testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt2.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt4.d: Likewise.
    	* testsuite/ld-i386/property-x86-ibt5.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-1.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-1.s: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2.s: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2c.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-2d.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3.s: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3a-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3a.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3b-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3b.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3c.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise.
    	* testsuite/ld-x86-64/ibt-plt-3d.d: Likewise.
    	* testsuite/ld-x86-64/plt-main-ibt-now.rd: Likewise.
    	* testsuite/ld-x86-64/plt-main-ibt-x32.dd: Likewise.
    	* testsuite/ld-x86-64/plt-main-ibt.dd: Likewise.
    	* testsuite/ld-x86-64/property-x86-empty.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
    	* emulparams/elf32_x86_64.sh: Source emulparams/cet.sh.
    	(TINY_READONLY_SECTION): Add .plt.sec.
    	* emulparams/elf_i386.sh: Likewise.
    	* emulparams/elf_x86_64.sh: Source emulparams/cet.sh.
    	* ld.texinfo: Document -z ibtplt and -z ibt.
    	* testsuite/ld-i386/i386.exp: Run IBT and IBT PLT tests.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-x86-64/pr21481b.S (check): Updated for x32.

commit f4906a9a7441ef9c2758513420568994a1e7fed3
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jun 22 10:31:20 2017 +0200

    environ-selftests: Ignore -Wself-move warning
    
    clang gives this warning:
    
     ..../gdb/unittests/environ-selftests.c:139:7: error: explicitly moving variable of type 'gdb_environ' to itself [-Werror,-Wself-move]
       env = std::move (env);
       ~~~ ^            ~~~
    
    Ignoring the warning locally is the right thing to do, since it warns
    about behavior we want to unit test, while an explicit self-move in
    real code would likely be a mistake that we'd want to catch.
    
    To avoid cluttering the code with preprocessor conditionals, this
    commit adds the file common/diagnostics.h, in which we can put macros
    used to control compiler diagnostics.
    
    GCC enhancement request here:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81159
    
    gdb/ChangeLog:
    2017-06-22  Pedro Alves  <palves@redhat.com>
    	    Simon Marchi  <simon.marchi@ericsson.com>
    
    	* unittests/environ-selftests.c (run_tests): Ignore -Wself-move
    	warning.
    	* common/diagnostics.h: New file.

commit d269dfc64fb5307dbbaecbc5d55861a705b729ab
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jun 22 10:23:30 2017 +0100

    Add STRINGIFY to gdb/common/preprocessor.h
    
    We have several copies of this common idiom under gdb/ currently.
    This commit moves them / factors them out to gdb/common/preprocessor.h.
    
    gdb/ChangeLog:
    2017-06-22  Pedro Alves  <palves@redhat.com>
    
    	* common/agent.h: Include "common/preprocessor.h".
    	(STRINGIZE_1, STRINGIZE): Delete.
    	(IPA_SYM): Use STRINGIFY instead.
    	* common/preprocessor.h (STRINGIFY_1, STRINGIFY): New.
    	* compile/compile-c-support.c: Include "common/preprocessor.h".
    	(STR, STRINGIFY): Delete.
    	* ia64-libunwind-tdep.c: Include "common/preprocessor.h".
    	(STRINGIFY2, STRINGIFY): Delete.

commit b45a120833d862aeeba6803b2cc131724ef89dda
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jun 22 10:57:13 2017 +0100

    common/agent.h: Add missing include guards
    
    gdb/ChangeLog:
    2017-06-22  Pedro Alves  <palves@redhat.com>
    
    	* common/agent.h: Add include guards.

commit d19237d98d5c227bc33693057eb466702386cdfb
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 22 10:33:56 2017 +0100

    Fix address violation parsing a corrupt SOM binary.
    
    	PR binutils/21649
    	* som.c (setup_sections): NUL terminate the space_strings buffer.
    	Check that the space.name field does not index beyond the end of
    	the space_strings buffer.

commit e7d39ed3e0ca36d0dbd6ddd4cb955aa73b0974e6
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 22 09:34:12 2017 +0100

    Fix compile time warning about unused static variable.
    
    	* config/tc-arm.c (arm_ext_v7m): Add ATTRIBUTE_UNUSED.

commit a765d0724259ec77ab69c3dbb1cc2e16e2e038e1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 22 00:01:05 2017 +0000

    Automatic date update in version.in

commit 194747873fbe037e923eac3a61481ba16e50e322
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 15:29:38 2017 -0700

    Use DWARF_VMA_FMT to report error
    
    Use DWARF_VMA_FMT to report error to work for both 32-bit and 64-bit
    builds.
    
    	* dwarf.c (READ_ULEB): Use DWARF_VMA_FMT to report error.
    	(READ_SLEB): Likewise.

commit 6b7373708821500a7388a8248b6c19fa1826c514
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 15:22:05 2017 -0700

    Pass $NOPIE_CFLAGS and $NOPIE_LDFLAGS to some ELF tests
    
    Some ELF tests will fail when PIE is used.
    
    	PR ld/21090
    	* testsuite/ld-elf/shared.exp: Pass $NOPIE_CFLAGS and
    	$NOPIE_LDFLAGS if non-PIE is required.

commit e5c89b096d9cb9e5956e98cd5863519c87c6890b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 14:57:53 2017 -0700

    Pass $NOPIE_CFLAGS to NOCROSSREFS tests
    
    	PR ld/21090
    	* testsuite/ld-scripts/crossref.exp: Also pass $NOPIE_CFLAGS
    	to CC.

commit 127d08c03f8bdb515389359ab605b6ee548996fd
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 14:49:30 2017 -0700

    Add missing ChangeLog entries

commit 68193357e8d0fb53a229114713db9f0385f60ed8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 14:45:16 2017 -0700

    Pass $NOPIE_LDFLAGS size tests
    
    	PR ld/21090
    	* testsuite/ld-size/size.exp: Pass $NOPIE_LDFLAGS to size-4a,
    	size-4b, size-5a, size-5b, size-6 and size-8 tests.

commit 75312ae3ab577c3a72ada54512533fec8bfae7bb
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Fri Jun 2 17:58:12 2017 -0700

    Use noncapturing subpattern/parens in gdb_test implementation
    
    This is the portion of gdb_test which performs the match against
    the RE (regular expression) passed to it:
    
        return [gdb_test_multiple $command $message {
            -re "\[\r\n\]*($pattern)\[\r\n\]+$gdb_prompt $" {
                if ![string match "" $message] then {
                    pass "$message"
                }
            }
    
    In a test that I've been working on recently, I wanted to use
    a backreference - that's the \1 in the the RE below:
    
    gdb_test "info threads"  \
    	{.*[\r\n]+\* +([0-9]+) +Thread[^\r\n]* do_something \(n=\1\) at.*}
    
    Put into English, I wanted to make sure that the value of n passed to
    do_something() is the same as the thread number shown in the "info
    threads" Id column.  (I've structured the test case so that this
    *should* be the case.)
    
    It didn't work though.  It turned out that ($pattern) in the RE
    noted above is capturing the attempted backreference.  So, in this
    case, the backreference does not refer to ([0-9]+) as intended, but
    instead refers to ($pattern).  This is wrong because it's not what I
    intended, but is also wrong because, if allowed, it could only match a
    string of infinite length.
    
    This problem can be fixed by using parens for a "noncapturing
    subpattern".  The way that this is done, syntactically, is to use
    (?:$pattern) instead of ($pattern).
    
    My research shows that this feature has been present since tcl8.1 which
    was released in 1999.
    
    The current tcl version is 8.6 - at least that's what I have on my
    machine.  It appears to me that mingw uses some subversion of tcl8.4
    which will also have this feature (since 8.4 > 8.1).
    
    So it seems to me that any platform upon which we might wish to test
    GDB will have a version of tcl which has this feature.  That being the
    case, my hope is that there won't be any objections to its use.
    
    When I looked at the implementation of gdb_test, I wondered whether
    the parens were needed at all.  I've concluded that they are.  In the
    event that $pattern is an RE which uses alternation at the top level,
    e.g. a|b, we need to make $pattern a subpattern (via parens) to limit
    the extend of the alternation.  I.e, we don't want the alternation to
    extend to the other portions of the RE which gdb_test uses to match
    potential blank lines at the beginning of the pattern or the gdb
    prompt at the end.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.exp (gdb_test): Using noncapturing parens for the $pattern
    	subpattern.

commit 7f2c8a1d37af46c46828909b7b748c79aa4b7ff0
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 18:05:44 2017 +0100

    Fix address violation when reading corrupt DWARF data.
    
    	PR binutils/21648
    	* dwarf.c (LEB): Rename to SKIP_ULEB and READ_ULEB.  Add check for
    	reading a value that is too big for the containing variable.
    	(SLEB): Rename to SKIP_SLEB and READ_SLEB.  Add similar check.
    	Replace uses of LEB and SLEB with appropriate new macro.
    	(display_debug_frames): Use an unsigned int for the 'reg'
    	variable.  Use a signed long for the 'l' variable.

commit 2c6b98ea6fcc1358639253d4e96c9b55a672fb0c
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Jun 21 16:32:40 2017 +0100

    [ARM] Rework Tag_CPU_arch build attribute value selection
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to rework the Tag_CPU_arch build attribute
    value selection to (i) match architecture or CPU if specified by user
    without any need for hack and (ii) match an architecture with all the
    features used if in autodetection mode or return an error.
    
    === Motivation ===
    
    Currently, Tag_CPU_arch build attribute value selection assumes that an
    architecture is always a superset of architectures released earlier. As
    such, the logic is to browse architectures in chronological order of
    release and selecting the Tag_CPU_arch value of the last one to
    contribute a feature used[1]/requested[2] not contributed by earlier
    architectures.
    
    [1] in case of autodetection mode
    [2] otherwise, ie. in case of -mcpu/-march or associated directives
    
    This logic fails the two objectives mentionned in the Context section.
    First, due to the assumption it does an architecture can be selected
    while not having all the features used/requested which fails the second
    objective. Second, not doing an exact match when an architecture or CPU
    is selected by the user means the wrong value is chosen when a later
    architecture provides a subset of the feature bits of an earlier
    architecture. This is the case for the implementation of ARMv8-R (see
    later patch).
    
    An added benefit of this patch is that it is possible to easily generate
    more consistent build attribute by setting the feature bits from the
    architecture matched in aeabi_set_public_attributes in autodetection
    mode. This is better done as a separate patch because lots of testcase'
    expected results must then be updated accordingly.
    
    === Patch description ===
    
    The patch changes the main logic for Tag_CPU_arch and
    Tag_CPU_arch_profile
    values selection to:
    - look for an exact match in case an architecture or CPU was specified
      on the command line or in a directive
    - select the first released architecture that provides a superset of the
      feature used in the autodetection case
    - select the most featureful architecture in case of -march=all
    The array cpu_arch_ver is updated to include all architectures in order
    to make the first point work.
    
    Note that when looking for an exact match, the architecture with
    selected extension is tried first and then only the architecture. This
    is because some architectures are exactly equivalent to an earlier
    architecture with its extensions selected. ARMv6S-M (= ARMv6-M + OS
    extension) and ARMv6KZ (ARMv6K + security extension) are two such
    examples.
    
    Other adjustments are also necessary in aeabi_set_public_attributes to
    make this change work.
    
    1) The logic to set Tag_ARM_ISA_use and Tag_THUMB_ISA_use must check the
    absence of feature bit used/requested to decide whether to give the
    default value for empty files (see EABI attribute defaults test). It was
    previously checking that arch == 0 which would only happen if no feature
    bit could be matched by any architecture, ie there is no feature bit to
    match.
    
    2) A fallback to a superset match must exist when no_cpu_selected ()
    returns true. This is because aeabi_set_public_attributes is called
    again after relaxation and at this point selected_cpu is set from the
    previous execution of that function. There is therefore no way to check
    whether the user specified an architecture or CPU.
    
    3) Tag_CPU_arch lines are removed from expected output when the
    detected architecture should be pre-ARMv4, since 0 is the Tag_CPU_arch
    value for pre-ARMv4 architectures and default value for an absent entry
    is 0.
    
    2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (fpu_any): Defined from FPU_ANY.
    	(cpu_arch_ver): Add all architectures and sort by release date.
    	(have_ext_for_needed_feat_p): New.
    	(get_aeabi_cpu_arch_from_fset): New.
    	(aeabi_set_public_attributes): Call above function to determine
    	Tag_CPU_arch and Tag_CPU_arch_profile values.  Adapt Tag_ARM_ISA_use
    	and Tag_THUMB_ISA_use selection logic to check absence of feature bit
    	accordingly.
    	* testsuite/gas/arm/attr-march-armv1.d: Fix expected Tag_CPU_arch build
    	attribute value.
    	* testsuite/gas/arm/attr-march-armv2.d: Likewise.
    	* testsuite/gas/arm/attr-march-armv2a.d: Likewise.
    	* testsuite/gas/arm/attr-march-armv2s.d: Likewise.
    	* testsuite/gas/arm/attr-march-armv3.d: Likewise.
    	* testsuite/gas/arm/attr-march-armv3m.d: Likewise.
    	* testsuite/gas/arm/pr12198-2.d: Likewise.
    
    include/
    	* opcode/arm.h (FPU_ANY): New macro.

commit 6879f5a99e25c068fec34126b6b0fe4325223aa0
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 16:36:44 2017 +0100

    Fix addrss violation when processing a corrupt SH COFF binary.
    
    	PR binutils/21646
    	* coff-sh.c (sh_reloc): Check for an out of range reloc.

commit 2234eee61c42ad3f4d17894236873e04b633e969
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 08:32:38 2017 -0700

    x86: CET v2.0: Update incssp and setssbsy
    
    Update x86 assembler and disassembler for CET v2.0:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
    1. incsspd and incsspq are changed to take a register opeand with a
    different opcode.
    2. setssbsy is changed to take no opeand with a different opcode.
    
    gas/
    
    	* testsuite/gas/i386/cet-intel.d: Updated.
    	* testsuite/gas/i386/cet.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet.d: Likewise.
    	* testsuite/gas/i386/cet.s: Update incsspd and setssbsy tests.
    	* testsuite/gas/i386/x86-64-cet.s: Likewise.
    
    opcodes/
    
    	* i386-dis.c (RM_0FAE_REG_5): Removed.
    	(PREFIX_MOD_3_0F01_REG_5_RM_1): Likewise.
    	(PREFIX_MOD_3_0F01_REG_5_RM_0): New.
    	(PREFIX_MOD_3_0FAE_REG_5): Likewise.
    	(prefix_table): Remove PREFIX_MOD_3_0F01_REG_5_RM_1.  Add
    	PREFIX_MOD_3_0F01_REG_5_RM_0.
    	(prefix_table): Update PREFIX_MOD_0_0FAE_REG_5.  Add
    	PREFIX_MOD_3_0FAE_REG_5.
    	(mod_table): Update MOD_0FAE_REG_5.
    	(rm_table): Update RM_0F01_REG_5.  Remove RM_0FAE_REG_5.
    	* i386-opc.tbl: Update incsspd, incsspq and setssbsy.
    	* i386-tbl.h: Regenerated.

commit c2f7640243bdab93cafb3bf516e17a72fcc2f051
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 08:30:01 2017 -0700

    x86: CET v2.0: Rename savessp to saveprevssp
    
    Replace savessp with saveprevssp for CET v2.0:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
    gas/
    
    	* testsuite/gas/i386/cet-intel.d: Updated.
    	* testsuite/gas/i386/cet.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet.d: Likewise.
    	* testsuite/gas/i386/cet.s: Replace savessp with saveprevssp.
    	* testsuite/gas/i386/x86-64-cet.s: Likewise.
    
    opcodes/
    
    	* i386-dis.c (prefix_table): Replace savessp with saveprevssp.
    	* i386-opc.tbl: Likewise.
    	* i386-tbl.h: Regenerated.

commit 9fef80d683d79934bacd3221f5252ce8c14ff5c0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 08:28:30 2017 -0700

    x86: CET v2.0: Update NOTRACK prefix
    
    Update NOTRACK prefix handling to support memory indirect branch for
    CET v2.0:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
    gas/
    
    	* config/tc-i386.c (md_assemble): Update NOTRACK prefix check.
    	* testsuite/gas/i386/notrack-intel.d: Updated.
    	* testsuite/gas/i386/notrack.d: Likewise.
    	* testsuite/gas/i386/notrackbad.l: Likewise.
    	* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-notrack.d: Likewise.
    	* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.
    	* testsuite/gas/i386/notrack.s: Add NOTRACK prefix tests with
    	memory indirect branch.
    	* testsuite/gas/i386/x86-64-notrack.s: Likewise.
    	* testsuite/gas/i386/notrackbad.s: Remove memory indirect branch
    	with NOTRACK prefix.
    	* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.
    
    opcodes/
    
    	* i386-dis.c (reg_table): Swap indirEv with NOTRACK on "call{&|}"
    	and "jmp{&|}".
    	(NOTRACK_Fixup): Support memory indirect branch with NOTRACK
    	prefix.

commit 7adc0a8174f1233f6d92edd0671c18c9870e64e7
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 15:21:11 2017 +0100

    Fix address violation parsing a corrupt Alpha VMS binary file.
    
    	PR binutils/21639
    	* vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as
    	type of the size parameter.
    	(_bfd_vms_save_counted_string): Add second parameter - the maximum
    	length of the counted string.
    	* vms.h (_bfd_vms_save_sized_string): Update prototype.
    	(_bfd_vms_save_counted_string): Likewise.
    	* vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to
    	_bfd_vms_save_counted_string.
    	(_bfd_vms_slurp_ehdr): Likewise.
    	(_bfd_vms_slurp_egsd): Likewise.
    	(Parse_module): Likewise.

commit 3d030cdb4a8d338c87e48b249338a4870fdcd322
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Jun 21 15:06:51 2017 +0100

    [ARM] Allow Thumb division as an extension for ARMv7
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to allow ARMv7 to be selected in automatic
    architecture selection in presence of Thumb division instructions.
    
    === Motivation ===
    
    any-idiv.d and automatic-sdiv.d testcases in GAS testsuite expect
    autodetection code to select ARMv7 in presence of Thumb integer
    division. However, the definition of ARM_AEXT_V7 and thus ARM_ARCH_V7 do
    not contain these instructions and the idiv extension is only available
    for ARMv7-A and ARMv7-R. Therefore, under the stricter automatic
    detection code proposed in the subsequent patch of the series ARMv7 is
    refused if a Thumb division instruction is present.
    
    === Patch description ===
    
    This patch adds a new "idiv" extension after the existing one that is
    available to all ARMv7 targets. This new entry is ignored by all current
    code parsing arm_extensions such that it would be unavailable on the
    command-line and remain a purely internal hack, easily removed in favor
    of a better solution later. This is considered though by the subsequent
    patch reworking automatic detection of build attributes such that ARMv7
    is allowed to match in present of Thumb division instructions. For good
    measure, comments are added in all instances of code browsing
    arm_extensions to mention the expected behavior in case of duplicate
    entries as well as a new testcase.
    
    2017-06-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (arm_extensions): New duplicate idiv entry to enable
    	Thumb division for ARMv7 architecture.
    	(arm_parse_extension): Document expected behavior for duplicate
    	entries.
    	(s_arm_arch_extension): Likewise.
    	* testsuite/gas/arm/forbid-armv7-idiv-ext.d: New test.
    	* testsuite/gas/arm/forbid-armv7-idiv-ext.l: New expected output for
    	above test.

commit 54bab2816dfd025fc53618e46be140573d5bc02e
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Jun 21 14:57:53 2017 +0100

    [ARM] Rework selection of feature bits to base build attributes on
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to set the feature bits on which to decide
    what the build attributes should be according to the mode
    (autodetection, user specified architecture or CPU, or
    -march/-mcpu=all).
    
    === Motivation ===
    
    Currently, the flags variable which is used to determine the build
    attribute is constructed from the instruction used (arm_arch_used and
    thumb_arch_used) as well as the user specified architecture or CPU
    (selected_cpu). This means when several .arch are specified the
    resulting feature bits can be such that no architecture provide them
    all and can thus result in incorrect Tag_CPU_arch. See for instance
    what having both .arch armv8-a and .arch armv8-m.base would result in.
    This is not caught by the testsuite because of further bugs in the
    Tag_CPU_arch build attribute value selection logic (see next patch in
    the series).
    
    === Patch description ===
    
    As one would expect, this patch solves the problem by setting flags
    from feature bits used if in autodetection mode [1] and from
    selected_cpu otherwise. The logic to set arm_ext_v1, arm_ext_v4t and
    arm_ext_os feature bits is also moved to only run in autodetection mode
    since otherwise the architecture or CPU would have a consistent set of
    feature bits already.
    
    [1] No architecture or CPU was specified by the user
    
    2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (aeabi_set_public_attributes): Populate flags from
    	feature bits used or selected_cpu depending on whether a CPU was
    	selected by the user.

commit bdab445c82ba93bc9aaad1ae974a3cf5c4aa8a26
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 21 10:10:00 2017 +0930

    [GOLD] PowerPC move plt indx_ out of unordered map key
    
    I was lazy when adding indx_ to Plt_stub_ent.  The field isn't part of
    the key, so ought to be part of the mapped type.  Make it so.
    
    	* powerpc.cc (Plt_stub_key): Rename from Plt_stub_ent.  Remove indx_.
    	(Plt_stub_key_hash): Rename from Plt_stub_ent_hash.
    	(struct Plt_stub_ent): New.
    	(Plt_stub_entries): Map from Plt_stub_key to Plt_stub_ent.  Adjust
    	use throughout file.

commit 6e1816be66892d06e1a983f08407135fa7f7fc17
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 21 15:03:25 2017 +0930

    PowerPC64 localentry:0 plt calls
    
    These don't need a following nop.  Also, a localentry:0 plt call
    marked with an R_PPC64_TOCSAVE reloc should ignore the tocsave.
    There's no need to save r2 in the prologue for such calls.
    
    	* elf64-ppc.c (ppc64_elf_size_stubs): Test for localentry:0 plt
    	calls before tocsave calls.
    	(ppc64_elf_relocate_section): Allow localentry:0 plt calls without
    	following nop.

commit 81209eff905bf76a01bbc3dc07b8973d1d0cdaad
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jun 20 09:30:23 2017 +0930

    PowerPC64 tocsave testcases
    
    	* testsuite/ld-powerpc/powerpc.exp: Run TOCSAVE tests.
    	* testsuite/ld-powerpc/tocsave1.s,
    	* testsuite/ld-powerpc/tocsave1a.d,
    	* testsuite/ld-powerpc/tocsave1s.d,
    	* testsuite/ld-powerpc/tocsave2.s,
    	* testsuite/ld-powerpc/tocsave2a.d,
    	* testsuite/ld-powerpc/tocsave2s.d,
    	* testsuite/ld-powerpc/tocsavelib.s: New files.

commit 6c290d5387f770a6b098162f0a0f9ea420de540d
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Jun 21 14:09:38 2017 +0100

    [ARM] Simplify Tag_DSP_extension selection logic
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to simplify the logic to decide whether to
    set Tag_DSP_extension.
    
    === Motivation ===
    
    To decide whether to set Tag_DSP_extension, the current code was
    checking whether the flags had DSP instruction but the architecture
    selected for Tag_CPU_arch did not have any. This was necessary because
    extension feature bit were not available separately. This is no longer
    necessary and can be simplified.
    
    === Patch description ===
    
    The patch change the logic to set Tag_DSP_extension to check whether any
    DSP feature bit is set in the extension feature bit, as per the
    definition of that build attribute. The patch also removes all
    definitions of arm_arch which is now unneeded.
    
    2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (aeabi_set_public_attributes): Test *mcpu_ext_opt to
    	decide whether to set Tag_DSP_extension build attribute value.  Remove
    	now useless arm_arch variable.

commit c168ce07e5b4a2a0258c796748899e1ba2e6dc7c
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Jun 21 14:08:08 2017 +0100

    [ARM] Keep separation between extensions and architecture bits throughout execution
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to keep the distinction between
    architecture feature bits and extension ones after parsing has occured.
    
    === Motivation ===
    
    This distinction is necessary to allow the Tag_CPU_arch build attribute
    value to be exactly as per the architecture of the selected CPU. With
    mixed architecture and extension feature bit, it is impossible to find
    an architecture with an exact match of feature bit and the build
    attribute value logic must then select the closest match which might not
    be the right architecture. The previous patch in the patch series makes
    the distinction possible when parsing -mcpu and .cpu directives but the
    distinction gets lost after. Similarly feature bits contributed by
    extensions in -march or .arch_extensions directive are mixed together
    with architecture extensions.
    
    === Patch description ===
    
    The patch adds new feature bit pointer for extension feature bits.
    Information from the parsing regarding extensions can then be kept
    separate in those. This requires adapting arm_parse_extension to deal
    with two feature bits, allowing the architecture bits to be marked as
    const. It also requires extra care when setting cpu_variant and
    selected_cpu because the extension bits are optional since there might
    not be any extension in use.
    
    Note that contrary to cpu feature bits, the extension feature bits are
    made read/write and are always dynamically allocated. This allows to
    unconditionally free them in arm_md_post_relax added for this occasion,
    thereby fixing a longstanding memory leak when arm_parse_extension was
    invoked (XNEW of ext_fset without corresponding XDELETE).
    Introduction of arm_md_post_relax is necessary to only free the
    extension feature bits after aeabi_set_attribute_string has been called
    for the last time.
    
    2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (dyn_mcpu_ext_opt): New static variable.
    	(dyn_march_ext_opt): Likewise.
    	(md_begin): Copy extension feature bits alongside architecture ones.
    	Merge extensions feature bits in selected_cpu and cpu_variant if there
    	is some.
    	(arm_parse_extension): Pass architecture and extension feature bits in
    	separate parameters, with architecture bits being read only.  Update
    	**opt_p directly rather than *ext_set and initialize it if needed.
    	(arm_parse_cpu): Stop merging architecture and extension feature bits
    	and instead use mcpu_cpu_opt and dyn_mcpu_ext_opt to memorize them
    	respectively.  Adapt to change in parameters of arm_parse_extension.
    	(arm_parse_arch): Adapt to change in parameters of arm_parse_extension.
    	(aeabi_set_attribute_string): Make function static.
    	(arm_md_post_relax): New function.
    	(s_arm_cpu): Stop merging architecture and extension feature bits and
    	instead use mcpu_cpu_opt and dyn_mcpu_ext_opt to memorize them
    	respectively.  Merge extension feature bits in cpu_variant
    	if there is any.
    	(s_arm_arch): Reset extension feature bit.  Set selected_cpu from
    	*mcpu_cpu_opt and cpu_variant from selected_cpu and *mfpu_opt for
    	consistency with s_arm_cpu.
    	(s_arm_arch_extension): Update *dyn_mcpu_ext_opt rather than
    	selected_cpu, allocating it before hand if needed.  Set selected_cpu
    	from it and then cpu_variant.
    	(s_arm_fpu): Merge *mcpu_ext_opt feature bits if any in cpu_variant.
    	* config/tc-arm.h (md_post_relax_hook): Set to arm_md_post_relax.
    	(aeabi_set_public_attributes): Delete external declaration.
    	(arm_md_post_relax): Declare externally.

commit 996b5569bf24fe29dcd832a068d9f42b2903f48b
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Jun 21 13:16:56 2017 +0100

    [ARM] Separate extensions from architectures in arm_cpus
    
    === Context ===
    
    This patch is part of a patch series to add support for ARMv8-R
    architecture. Its purpose is to distinguish for a CPU the feature bits
    coming from its architecture from the feature bits coming from
    extension(s) available in this CPU.
    
    === Motivation ===
    
    This distinction is necessary to allow the Tag_CPU_arch build attribute
    value to be exactly as per the architecture of the selected CPU. With
    mixed architecture and extension feature bit, it is impossible to find
    an architecture with an exact match of feature bit and the build
    attribute value logic must then select the closest match which might not
    be the right architecture.
    
    === Patch description ===
    
    The patch creates a new field in the arm_cpus table to hold the feature
    set for the extensions available in each CPU. The existing architecture
    feature set is then updated to remove those feature bit. The patch also
    takes advantage of all the lines being changed to reindent the whole
    table.
    
    Note: This patch *adds* a memory leak due to mcpu_cpu_opt sometimes
    pointing to dynamically allocated feature bits which is never freeed.
    The subsequent patch in the series solves this issue as well as a
    preexisting identical issue in arm_parse_extension. The patches are kept
    separate for ease of review since they are both big enough already.
    
    2017-06-21  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (struct arm_cpu_option_table): New ext field.
    	(ARM_CPU_OPT): Add parameter to set new ext field and reorder canonical
    	name field just after the name field.
    	(arm_cpus): Move extension feature bit from value field to ext field,
    	reorder parameter according to changes in ARM_CPU_OPT and reindent.
    	(arm_parse_cpu): Point mcpu_cpu_opt to a bitfield merging the value and
    	ext field from the selected arm_cpus entry.
    	(s_arm_cpu): Likewise.

commit 20bd1b6ba53491e4979c03a4f679d0d17b9b9046
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 13:18:46 2017 +0100

    Fix seg-fault in the BFD parsing a corrupt input binary.
    
    	PR binutils/21645
    	* reloc.c (bfd_generic_get_relocated_section_contents): Fail if
    	bfd_get_full_section_contents returns no contents.

commit e4da2c61669d199c75b96a1be25e13e3b8254e89
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Jun 21 12:28:03 2017 +0200

    Change to_xfer_partial doc to use addressable memory units
    
    The commit
    
      d309493  target: consider addressable unit size when reading/writing memory
    
    introduced the possibility of reading memory of targets with
    non-8-bit-bytes (e.g. memories that store 16 bits at each address).
    The documentation of target_read and target_write was updated
    accordingly, but to_xfer_partial, which is very related, wasn't updated.
    This commit fixes that.
    
    gdb/ChangeLog:
    
    	* target.h (struct target_ops) <to_xfer_partial>: Update doc to
    	talk about addressable units instead of bytes.

commit 3de58d950c984bce176d883a8e7bcf3415be8c84
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 12:04:07 2017 +0100

    Fix potential address violation parsing a corrupt Alpha VMS file.
    
    	PR binutils/21638
    	* vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized
    	record.

commit cb06d03ad92ffcfaa09c3f065837cb39e9e1486d
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 11:13:49 2017 +0100

    Fix address violation parsing a corrupt IEEE Alpha binary.
    
    	PR binutils/21637
    	* vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
    	list.
    	(image_set_ptr): Likewise.
    	(alpha_vms_fix_sec_rel): Likewise.
    	(alpha_vms_slurp_relocs): Likewise.

commit c458d0079cc5e8ff29256355e6532ad2f96a8aa6
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 10:54:04 2017 +0100

    Fix address violation when parsing a corrupt IEEE binary.
    
    	PR binutils/21633
    	* ieee.c (ieee_slurp_sections): Check for a NULL return from
    	read_id.
    	(ieee_archive_p): Likewise.
    	(ieee_object_p): Likewise.

commit ce49701009db42a9a53e5dcf172a6a211b1025b3
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 21 10:36:58 2017 +0100

    Fix seg-fault reading a corrupt ELF binary.
    
    	PR binutils/21640
    	* elf.c (setup_group): Zero the group section pointer list after
    	allocation so that loops can be caught.  Check for NULL pointers
    	when processing a group list.

commit 1e29262747bed568c673b8765d214a4a16772da1
Author: James Greenhalgh <james.greenhalgh@arm.com>
Date:   Wed Jun 21 09:13:25 2017 +0100

    Add support for the Cortex-A55 and Cortex-A75 versions of the AArch64 architecture.
    
    	* config/tc-aarch64.c (aarch64_cpus): Add cortex-a55 and cortex-a75.
    	* doc/c-aarch64.texi (-mcpu): Document cortex-a55 and cortex-a75.

commit eb83230b4d5c0129174937846ded9eaa9f78ff28
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Jun 20 21:30:11 2017 -0400

    Fix PR gdb/21606: SYMBOL_FUNCTIONS_DOMAIN misspelled in documentation
    
    Both Python and Guile documentations misspelled
    SYMBOL_FUNCTIONS_DOMAIN, writing SYMBOL_FUNCTION_DOMAIN instead.  This
    obvious commit fixes it.
    
    gdb/doc/ChangeLog:
    2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21606
    	* python.texi (Python representation of Symbols.): Replace
    	SYMBOL_FUNCTION_DOMAIN by SYMBOL_FUNCTIONS_DOMAIN, fixing typo.
    	* guile.texi (Guile representation of Symbols.): Likewise.

commit eceb74ca646e78adab1fa9f5c3b7cce51e894bc3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 21 00:00:36 2017 +0000

    Automatic date update in version.in

commit 69431babfb54b26000fdcc016323cf811d48e862
Author: Eric Christopher <echristo@gmail.com>
Date:   Tue Jun 20 16:18:58 2017 -0700

    2017-06-20  Eric Christopher  <echristo@gmail.com>
    
            * aarch64.cc (scan_reloc_for_stub): Use plt_address_for_global to
            calculate the symbol value.
            (scan_reloc_section_for_stubs): Allow stubs to be created for
            section symbols.
            (maybe_apply_stub): Handle creating stubs for weak symbols to
            match the code in scan_reloc_for_stub.

commit a206891ad10040bdee41999019af3cbf45abb5d6
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 20 16:59:03 2017 +0200

    gdbserver/Makefile.in: Sort IPA_OBJS
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (IPA_OBJS): Sort and format one item per line.

commit 96160d605128658378af73bb62732d1cbfa73d8a
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Jun 20 09:33:53 2017 -0400

    Use '::iterator' instead of '::const_iterator' on environ.c (and fix breakage on early versions of libstdc++)
    
    Even though C++11 supports modifying containers using a const_iterator
    (e.g., calling the 'erase' method of a std::vector), early versions of
    libstdc++ did not implement that.  Some of our buildslaves are using
    these versions (e.g., the AArch64 buildslave uses gcc 4.8.8), and my
    previous commit causes a breakage on them.  The solution is simple:
    just use a normal iterator, without const.
    
    gdb/ChangeLog:
    2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* common/environ.c (gdb_environ::unset): Use '::iterator' instead
    	of '::const_iterator'.

commit 9a6c7d9c021cfeb290d76584db7a01e57e7c3d4e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Feb 10 21:19:44 2017 -0500

    C++ify gdb/common/environ.c
    
    As part of the preparation necessary for my upcoming task, I'd like to
    propose that we turn gdb_environ into a class.  The approach taken
    here is simple: the class gdb_environ contains everything that is
    needed to manipulate the environment variables.  These variables are
    stored in an std::vector<char *>, which can be converted to a 'char
    **' and passed as argument to functions that need it.
    
    The usage has not changed much.  As per Pedro's suggestion, this class
    uses a static factory method initialization.  This means that when an
    instance is created, it is initially empty.  When needed, it has to be
    initialized using the static method 'from_host_environ'.
    
    As mentioned before, this is a preparation for an upcoming work that I
    will be posting in the next few weeks or so.  For that work, I'll
    probably create another data structure that will contain all the
    environment variables that were set by the user using the 'set
    environment' command, because I'll need access to them.  This will be
    much easier with the class-ification of gdb_environ.
    
    As noted, this has been regression-tested with the new version of
    environ.exp and no regressions were found.
    
    gdb/ChangeLog:
    2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	'unittests/environ-selftests.c'.
    	(SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
    	* charset.c (find_charset_names): Declare object 'iconv_env'.
    	Update code to use 'iconv_env' object.  Remove call to
    	'free_environ'.
    	* common/environ.c: Include <utility>.
    	(make_environ): Delete function.
    	(free_environ): Delete function.
    	(gdb_environ::clear): New function.
    	(gdb_environ::operator=): New function.
    	(gdb_environ::get): Likewise.
    	(environ_vector): Delete function.
    	(set_in_environ): Delete function.
    	(gdb_environ::set): New function.
    	(unset_in_environ): Delete function.
    	(gdb_environ::unset): New function.
    	(gdb_environ::envp): Likewise.
    	* common/environ.h: Include <vector>.
    	(struct gdb_environ): Delete; transform into...
    	(class gdb_environ): ... this class.
    	(free_environ): Delete prototype.
    	(init_environ, get_in_environ, set_in_environ, unset_in_environ,
    	environ_vector): Likewise.
    	* infcmd.c (run_command_1): Update code to call
    	'envp' from 'gdb_environ' class.
    	(environment_info): Update code to call methods from 'gdb_environ'
    	class.
    	(unset_environment_command): Likewise.
    	(path_info): Likewise.
    	(path_command): Likewise.
    	* inferior.c (inferior::~inferior): Delete call to 'free_environ'.
    	(inferior::inferior): Initialize 'environment' using the host's
    	information.
    	* inferior.h: Remove forward declaration of 'struct gdb_environ'.
    	Include "environ.h".
    	(class inferior) <environment>: Change type from 'struct
    	gdb_environ' to 'gdb_environ'.
    	* mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
    	methods from 'gdb_environ' class.
    	* solib.c (solib_find_1): Likewise
    	* unittests/environ-selftests.c: New file.
    
    gdb/gdbserver/ChangeLog:
    2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* linux-low.c (linux_create_inferior): Adjust code to access the
    	environment information via 'gdb_environ' class.
    	* lynx-low.c (lynx_create_inferior): Likewise.
    	* server.c (our_environ): Make it an instance of 'gdb_environ'.
    	(get_environ): Return a pointer to 'our_environ'.
    	(captured_main): Initialize 'our_environ'.
    	* server.h (get_environ): Adjust prototype.
    	* spu-low.c (spu_create_inferior): Adjust code to access the
    	environment information via 'gdb_environ' class.

commit 75c554cf9c375432af6e93653880d5498cd5f918
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jun 20 12:08:33 2017 +0100

    Adjust the order of 32bit-linux.xml and 32bit-sse.xml in i386/i386-linux.xml
    
    Exchange the order of 32bit-linux.xml and 32bit-sse.xml in
    i386/i386-linux.xml, to align with other i386 linux .xml files.
    
    gdb:
    
    2017-06-20  Yao Qi  <yao.qi@linaro.org>
    
    	* features/i386/i386-linux.xml: Exchange the order of including
    	32bit-linux.xml and 32bit-sse.xml.
    	* features/i386/i386-linux.c: Regenerated.

commit 72ddacb77e3301a0481003a23b2d8dced7116de5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jun 20 11:29:17 2017 +0100

    Class-fy tdesc_reg tdesc_type and tdesc_feature
    
    This patch class-fies them, adding ctor, dtor, and deleting
    copy ctor and assignment operator.
    
    gdb:
    
    2017-06-20  Yao Qi  <yao.qi@linaro.org>
    
    	* target-descriptions.c (tdesc_reg): Add ctor, dtor.
    	Delete copy ctor and assignment operator.
    	(tdesc_type): Likewise.
    	(tdesc_feature): Likewise.
    	(tdesc_free_reg): Remove.
    	(tdesc_create_reg): Use new.
    	(tdesc_free_type): Remove.
    	(tdesc_create_vector): Use new.
    	(tdesc_create_union): Likewise.
    	(tdesc_create_flags): Likewise.
    	(tdesc_create_enum): Likewise.
    	(tdesc_free_feature): Delete.
    	(free_target_description): Use delete.

commit 94de2a2c57b7f6b2870f72ecdcacc6d909c6421a
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Tue Jun 20 18:01:52 2017 +0930

    [GOLD] Avoid duplicate PLT stub symbols on ppc32
    
    If two objects are compiled with -fPIC or -fPIE and call the same
    function, two different PLT entries are created, one for each object,
    but the same stub symbol name is used for both.
    
    	* powerpc.cc (Stub_table::define_stub_syms): Always include object's
    	uniq_ value.

commit abfa390dac6ffcfc6de9659c0b78cfe524347450
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 19 20:30:20 2017 -0700

    Check the DYNAMIC bit for input shared objects
    
    Since the BFD section count may not be cleared for shared objects during
    linking, we should check the DYNAMIC bit for input shared objects.
    
    bfd/
    
    	PR ld/21626
    	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Check
    	the DYNAMIC bit instead of bfd_count_sections.
    
    ld/
    
    	PR ld/21626
    	* testsuite/ld-i386/i386.exp: Run ld/21626 tests.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.

commit a6cab9afd2c81465265c8d09569e3e6ef43d2954
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 20 00:00:38 2017 +0000

    Automatic date update in version.in

commit 325c9fd4aa054118b80c621262f10fc6ffe98e25
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Jun 19 14:30:24 2017 -0700

    Don't throw an error in 'info registers' for unavailable MIPS registers.
    
    'info registers' for MIPS throws an error and when it first encounters
    an unavailable register.  This does not match other architectures
    which annotate unavailable registers and continue to print out the
    values of subsequent registers.  Replace the error by displaying an
    aligned "<unavailable>".  This string is truncated to "<unavl>" when
    displaying a 32-bit register.
    
    gdb/ChangeLog:
    
    	* mips-tdep.c (print_gp_register_row): Don't error for unavailable
    	registers.

commit 66953522c9061874047d2e9832c206af783c971c
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Mon Jun 19 13:04:13 2017 -0500

    Update GDB test case for new lnia extended mnemonic.
    
    When I added the new lnia extended mnemonic for addpcis, I updated the
    assembler/disassembler test cases, but overlooked the GDB test cases.
    This patch fixes that oversight and associated test case failure.
    
    	* gdb.arch/powerpc-power9.exp: Update test case for new lnia
    	extended mnemonic.
    	* gdb.arch/powerpc-power9.s: Likewise.

commit d16fdddb4e96e9e7bcfce6fe487b321c54b2c7c7
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 19 15:57:19 2017 +0100

    Fix address violation when attempting to display disassembled data.
    
    	PR binutils/21619
    	* objdump.c (disassemble_bytes): Check that there is sufficient
    	data available before attempting to display it.

commit bc21b167eb0106eb31d946a0eb5acfb7e4d5d8a1
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 19 14:52:36 2017 +0100

    Fix address violations when reading corrupt VMS records.
    
    	PR binutils/21618
    	* vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
    	length.
    	(evax_bfd_print_eeom): Likewise.
    	(evax_bfd_print_egsd): Check for an overlarge record length.
    	(evax_bfd_print_etir): Likewise.

commit 0f6d864de2469af4223391993b430b0d45573dcb
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 19 14:15:57 2017 +0100

    Prevent address violation when attempting to disassemble a corrupt score binary.
    
    	PR binutils/21614
    	* score-dis.c (score_opcodes): Add sentinel.

commit acb56a83016611bcb5f0a32368fddc8c213f7dd0
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 19 14:06:53 2017 +0100

    Fix access violation when parsing a corrupt IEEE binary.
    
    	PR binutils/21612
    	* libieee.h (struct common_header_type): Add end_p field.
    	* ieee.c (this_byte_and_next): Do not advance input_p beyond
    	end_p.
    	(read_id): Check for a length that exceeds the remaining bytes in
    	the input buffer.
    	(ieee_seek): Initialise end_p.
    	(ieee_archive_p): Likewise.
    	(ieee_object_p): Likewise.

commit 80053e466b3a8055334b9be9bac7d99e0d617cbe
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 19 13:01:57 2017 +0100

    Fix access violation disassembling a corrupt VMS binary.
    
    	PR binutils/21611
    	* vms-alpha.c (_bfd_vms_slurp_eihs): Check for invalid offset
    	before reading the EIHS structure entries.

commit 16b7a7199881fa26fc863279bbf08741e5674b5d
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 19 12:46:47 2017 +0100

    .gdb_index writer: close the file before unlinking it
    
    We should close the file before unlinking because on MS-Windows one
    cannot delete a file that is still open.
    
    I considered making 'gdb::unlinker::unlinker(const char *)'
    'noexcept(true)' and then adding
      static_assert (noexcept (gdb::unlinker (filename.c_str ())), "");
    
    but that doesn't really work because gdb::unlinker has a gdb_assert,
    which can throw a QUIT if/when the assertion fails.  'noexcept(true)'
    would cause GDB to abruptly terminate if/when the assertion fails.
    
    gdb/ChangeLog:
    2017-06-19  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (write_psymtabs_to_index): Construct file_closer
    	after gdb::unlinker.

commit 72e84f969481f52daf6741c6bb4d0e92f9668389
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jun 19 12:31:07 2017 +0100

    Fix access violation when disassembling a corrupt VMS binary.
    
    	PR 21615
    	* vms-alpha.c (_bfd_vms_slurp_egsd): Use unsigned int for
    	gsd_size.  Check that there are enough bytes remaining to read the
    	type and size of the next egsd.  Check that the size of the egsd
    	does not exceed the size of the record.

commit 875ffa3edc5f27f0ad5e3d95d96782832edad00e
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 19 16:04:16 2017 +0930

    Correct target_underscore for cris
    
    	* config.bfd: Correct targ_underscore for cris.

commit 1c8e01c96054973c50ec1dec2f220af4734e1de5
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Jun 16 18:10:27 2017 -0400

    Use getenv instead of gdb_environ on mi-cmd-env.c
    
    This is a spinoff of
    <https://sourceware.org/ml/gdb-patches/2017-06/msg00437.html>.
    mi-cmd-env.c is using the whole gdb_environ machinery in order to
    access just one variable, which can be easily replaced by a simple
    call to getenv.  This patch does that, and doesn't cause regressions.
    
    gdb/ChangeLog:
    2017-06-18  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
    	gdb_environ to access an environment variable.

commit 65ce7763dfbca7f74c951767050ad2da0739869b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 19 00:00:23 2017 +0000

    Automatic date update in version.in

commit ffce45d2243e5f52f411e314fc4e1a69f431a81f
Author: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date:   Sun Jun 18 23:28:56 2017 +0200

    nat/linux-ptrace.c: add missing gdb_byte* cast
    
    On noMMU platforms, the following code gets compiled:
    
      child_stack = xmalloc (STACK_SIZE * 4);
    
    Where child_stack is a gdb_byte*, and xmalloc() returns a void*. While
    the lack of cast is valid in C, it is not in C++, causing the
    following build failure:
    
    ../nat/linux-ptrace.c: In function 'int linux_fork_to_function(gdb_byte*, int (*)(void*))':
    ../nat/linux-ptrace.c:273:29: error: invalid conversion from 'void*' to 'gdb_byte* {aka unsigned char*}' [-fpermissive]
           child_stack = xmalloc (STACK_SIZE * 4);
    
    Therefore, this commit adds the appropriate cast.
    
    gdb/ChangeLog:
    
    	* nat/linux-ptrace.c (linux_fork_to_function): Add cast to
    	gdb_byte*.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |  185 ++++
 bfd/coff-sh.c                                      |    3 +
 bfd/config.bfd                                     |   12 +-
 bfd/elf-properties.c                               |    4 +-
 bfd/elf.c                                          |   14 +-
 bfd/elf32-arm.c                                    |    2 +-
 bfd/elf32-i386.c                                   |  566 +++++++++++-
 bfd/elf64-ppc.c                                    |   33 +-
 bfd/elf64-x86-64.c                                 |  466 +++++++++-
 bfd/ieee.c                                         |   31 +-
 bfd/libieee.h                                      |    1 +
 bfd/reloc.c                                        |    3 +
 bfd/som.c                                          |    9 +-
 bfd/version.h                                      |    2 +-
 bfd/vms-alpha.c                                    |  159 +++-
 bfd/vms-misc.c                                     |    8 +-
 bfd/vms.h                                          |    4 +-
 binutils/ChangeLog                                 |   47 +
 binutils/dwarf.c                                   |  154 ++--
 binutils/objdump.c                                 |   27 +-
 binutils/readelf.c                                 |   49 +
 binutils/testsuite/binutils-all/i386/empty.d       |    9 +
 binutils/testsuite/binutils-all/i386/empty.s       |   27 +
 binutils/testsuite/binutils-all/i386/ibt.d         |    9 +
 binutils/testsuite/binutils-all/i386/ibt.s         |   27 +
 binutils/testsuite/binutils-all/i386/shstk.d       |    9 +
 binutils/testsuite/binutils-all/i386/shstk.s       |   27 +
 binutils/testsuite/binutils-all/x86-64/empty-x32.d |   10 +
 binutils/testsuite/binutils-all/x86-64/empty.d     |    9 +
 binutils/testsuite/binutils-all/x86-64/empty.s     |   27 +
 binutils/testsuite/binutils-all/x86-64/ibt-x32.d   |   10 +
 binutils/testsuite/binutils-all/x86-64/ibt.d       |    9 +
 binutils/testsuite/binutils-all/x86-64/ibt.s       |   27 +
 binutils/testsuite/binutils-all/x86-64/shstk-x32.d |   10 +
 binutils/testsuite/binutils-all/x86-64/shstk.d     |    9 +
 binutils/testsuite/binutils-all/x86-64/shstk.s     |   27 +
 gas/ChangeLog                                      |  127 +++
 gas/config/tc-aarch64.c                            |    6 +
 gas/config/tc-arm.c                                |  953 ++++++++++++++------
 gas/config/tc-arm.h                                |    4 +-
 gas/config/tc-i386.c                               |    9 +-
 gas/doc/c-aarch64.texi                             |    2 +
 gas/testsuite/gas/arm/attr-march-armv1.d           |    1 -
 gas/testsuite/gas/arm/attr-march-armv2.d           |    1 -
 gas/testsuite/gas/arm/attr-march-armv2a.d          |    1 -
 gas/testsuite/gas/arm/attr-march-armv2s.d          |    1 -
 gas/testsuite/gas/arm/attr-march-armv3.d           |    1 -
 gas/testsuite/gas/arm/attr-march-armv3m.d          |    1 -
 gas/testsuite/gas/arm/forbid-armv7-idiv-ext.d      |    4 +
 gas/testsuite/gas/arm/forbid-armv7-idiv-ext.l      |    3 +
 gas/testsuite/gas/i386/cet-intel.d                 |   12 +-
 gas/testsuite/gas/i386/cet.d                       |   12 +-
 gas/testsuite/gas/i386/cet.s                       |   12 +-
 gas/testsuite/gas/i386/notrack-intel.d             |   16 +
 gas/testsuite/gas/i386/notrack.d                   |   16 +
 gas/testsuite/gas/i386/notrack.s                   |   22 +
 gas/testsuite/gas/i386/notrackbad.l                |   54 +-
 gas/testsuite/gas/i386/notrackbad.s                |    4 -
 gas/testsuite/gas/i386/x86-64-cet-intel.d          |   16 +-
 gas/testsuite/gas/i386/x86-64-cet.d                |   16 +-
 gas/testsuite/gas/i386/x86-64-cet.s                |   16 +-
 gas/testsuite/gas/i386/x86-64-notrack-intel.d      |   32 +
 gas/testsuite/gas/i386/x86-64-notrack.d            |   32 +
 gas/testsuite/gas/i386/x86-64-notrack.s            |   43 +
 gas/testsuite/gas/i386/x86-64-notrackbad.l         |   54 +-
 gas/testsuite/gas/i386/x86-64-notrackbad.s         |    4 -
 gdb/ChangeLog                                      |  132 +++
 gdb/Makefile.in                                    |    2 +
 gdb/charset.c                                      |   11 +-
 gdb/common/agent.h                                 |   11 +-
 gdb/common/{preprocessor.h => diagnostics.h}       |   37 +-
 gdb/common/environ.c                               |  202 ++---
 gdb/common/environ.h                               |   70 +-
 gdb/common/preprocessor.h                          |    4 +
 gdb/compile/compile-c-support.c                    |    4 +-
 gdb/doc/ChangeLog                                  |    7 +
 gdb/doc/gdb.texinfo                                |   14 +-
 gdb/doc/guile.texi                                 |    2 +-
 gdb/doc/python.texi                                |    2 +-
 gdb/dwarf2read.c                                   |  104 ++-
 gdb/features/i386/i386-linux.c                     |    6 +-
 gdb/features/i386/i386-linux.xml                   |    2 +-
 gdb/gdbserver/ChangeLog                            |   16 +
 gdb/gdbserver/Makefile.in                          |   15 +-
 gdb/gdbserver/linux-low.c                          |    2 +-
 gdb/gdbserver/lynx-low.c                           |    2 +-
 gdb/gdbserver/server.c                             |    9 +-
 gdb/gdbserver/server.h                             |    6 +-
 gdb/gdbserver/spu-low.c                            |    2 +-
 gdb/ia64-libunwind-tdep.c                          |    3 +-
 gdb/infcmd.c                                       |   28 +-
 gdb/inferior.c                                     |    4 +-
 gdb/inferior.h                                     |    6 +-
 gdb/mi/mi-cmd-env.c                                |   18 +-
 gdb/mips-tdep.c                                    |   10 +-
 gdb/nat/linux-ptrace.c                             |    2 +-
 gdb/python/py-unwind.c                             |   25 +-
 gdb/record-full.c                                  |    7 +-
 gdb/regcache.h                                     |    8 +
 .../i386/amd64-avx-mpx-avx512-pku-linux.dat        |    1 +
 gdb/regformats/i386/amd64-avx-mpx-avx512-pku.dat   |    3 -
 gdb/remote.c                                       |    6 -
 gdb/solib.c                                        |    7 +-
 gdb/target-descriptions.c                          |  197 ++--
 gdb/target.h                                       |   13 +-
 gdb/testsuite/ChangeLog                            |   11 +
 gdb/testsuite/gdb.arch/powerpc-power9.exp          |    4 +-
 gdb/testsuite/gdb.arch/powerpc-power9.s            |    2 +-
 gdb/testsuite/lib/gdb.exp                          |    2 +-
 gdb/unittests/environ-selftests.c                  |  159 ++++
 gold/ChangeLog                                     |   22 +
 gold/aarch64.cc                                    |   21 +-
 gold/powerpc.cc                                    |  113 ++-
 include/ChangeLog                                  |   15 +
 include/bfdlink.h                                  |    9 +
 include/elf/common.h                               |    4 +
 include/opcode/arm.h                               |    1 +
 ld/ChangeLog                                       |  175 ++++
 ld/Makefile.am                                     |    3 +-
 ld/Makefile.in                                     |    3 +-
 ld/NEWS                                            |   16 +
 ld/emulparams/cet.sh                               |   17 +
 ld/emulparams/elf32_x86_64.sh                      |    2 +
 ld/emulparams/elf_i386.sh                          |    2 +
 ld/emulparams/elf_x86_64.sh                        |    1 +
 ld/ld.texinfo                                      |   14 +
 ld/testsuite/ld-elf/shared.exp                     |   19 +-
 ld/testsuite/ld-gc/gc.exp                          |    5 +-
 ld/testsuite/ld-i386/i386.exp                      |  116 +++-
 ld/testsuite/ld-i386/ibt-plt-1.d                   |   51 +
 ld/testsuite/ld-i386/ibt-plt-1.s                   |   54 ++
 ld/testsuite/ld-i386/ibt-plt-2.s                   |   54 ++
 ld/testsuite/ld-i386/ibt-plt-2a.d                  |   52 ++
 ld/testsuite/ld-i386/ibt-plt-2b.d                  |    9 +
 ld/testsuite/ld-i386/ibt-plt-2c.d                  |   52 ++
 ld/testsuite/ld-i386/ibt-plt-2d.d                  |    9 +
 ld/testsuite/ld-i386/ibt-plt-3.s                   |   38 +
 ld/testsuite/ld-i386/ibt-plt-3a.d                  |   52 ++
 ld/testsuite/ld-i386/ibt-plt-3b.d                  |    5 +
 ld/testsuite/ld-i386/ibt-plt-3c.d                  |   52 ++
 ld/testsuite/ld-i386/ibt-plt-3d.d                  |    9 +
 ld/testsuite/ld-i386/no-plt.exp                    |   23 +-
 ld/testsuite/ld-i386/plt-main-ibt.dd               |    7 +
 ld/testsuite/ld-i386/plt-pie-ibt.dd                |    7 +
 ld/testsuite/ld-i386/property-x86-empty.s          |   27 +
 ld/testsuite/ld-i386/property-x86-ibt.s            |   27 +
 ld/testsuite/ld-i386/property-x86-ibt1a.d          |    6 +
 ld/testsuite/ld-i386/property-x86-ibt1b.d          |    6 +
 ld/testsuite/ld-i386/property-x86-ibt2.d           |    9 +
 ld/testsuite/ld-i386/property-x86-ibt3a.d          |   11 +
 ld/testsuite/ld-i386/property-x86-ibt3b.d          |   11 +
 ld/testsuite/ld-i386/property-x86-ibt4.d           |    9 +
 ld/testsuite/ld-i386/property-x86-ibt5.d           |    9 +
 ld/testsuite/ld-i386/property-x86-shstk.s          |   27 +
 ld/testsuite/ld-i386/property-x86-shstk1a.d        |    6 +
 ld/testsuite/ld-i386/property-x86-shstk1b.d        |    6 +
 ld/testsuite/ld-i386/property-x86-shstk2.d         |    9 +
 ld/testsuite/ld-i386/property-x86-shstk3a.d        |   11 +
 ld/testsuite/ld-i386/property-x86-shstk3b.d        |   11 +
 ld/testsuite/ld-i386/property-x86-shstk4.d         |    9 +
 ld/testsuite/ld-i386/property-x86-shstk5.d         |    9 +
 ld/testsuite/ld-powerpc/powerpc.exp                |   10 +
 ld/testsuite/ld-powerpc/tocsave1.s                 |   24 +
 ld/testsuite/ld-powerpc/tocsave1a.d                |   15 +
 ld/testsuite/ld-powerpc/tocsave1s.d                |    9 +
 ld/testsuite/ld-powerpc/tocsave2.s                 |   24 +
 ld/testsuite/ld-powerpc/tocsave2a.d                |   18 +
 ld/testsuite/ld-powerpc/tocsave2s.d                |   13 +
 ld/testsuite/ld-powerpc/tocsavelib.s               |    5 +
 ld/testsuite/ld-scripts/crossref.exp               |    5 +-
 ld/testsuite/ld-shared/shared.exp                  |    4 +-
 ld/testsuite/ld-size/size.exp                      |   13 +-
 ld/testsuite/ld-srec/srec.exp                      |    9 +-
 ld/testsuite/ld-x86-64/ibt-plt-1-x32.d             |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-1.d                 |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-1.s                 |   45 +
 ld/testsuite/ld-x86-64/ibt-plt-2.s                 |   45 +
 ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d            |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-2a.d                |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d            |    9 +
 ld/testsuite/ld-x86-64/ibt-plt-2b.d                |    9 +
 ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d            |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-2c.d                |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d            |    9 +
 ld/testsuite/ld-x86-64/ibt-plt-2d.d                |    9 +
 ld/testsuite/ld-x86-64/ibt-plt-3.s                 |   17 +
 ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d            |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-3a.d                |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d            |    5 +
 ld/testsuite/ld-x86-64/ibt-plt-3b.d                |    5 +
 ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d            |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-3c.d                |   43 +
 ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d            |   10 +
 ld/testsuite/ld-x86-64/ibt-plt-3d.d                |   10 +
 ld/testsuite/ld-x86-64/no-plt.exp                  |    9 +-
 ld/testsuite/ld-x86-64/plt-main-ibt-now.rd         |    3 +
 ld/testsuite/ld-x86-64/plt-main-ibt-x32.dd         |    7 +
 ld/testsuite/ld-x86-64/plt-main-ibt.dd             |    7 +
 ld/testsuite/ld-x86-64/pr21481b.S                  |    4 +
 ld/testsuite/ld-x86-64/property-x86-empty.s        |   27 +
 ld/testsuite/ld-x86-64/property-x86-ibt.s          |   27 +
 ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d    |    6 +
 ld/testsuite/ld-x86-64/property-x86-ibt1a.d        |    6 +
 ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d    |    6 +
 ld/testsuite/ld-x86-64/property-x86-ibt1b.d        |    6 +
 ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d     |    9 +
 ld/testsuite/ld-x86-64/property-x86-ibt2.d         |    9 +
 ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d    |   11 +
 ld/testsuite/ld-x86-64/property-x86-ibt3a.d        |   11 +
 ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d    |   11 +
 ld/testsuite/ld-x86-64/property-x86-ibt3b.d        |   11 +
 ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d     |    9 +
 ld/testsuite/ld-x86-64/property-x86-ibt4.d         |    9 +
 ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d     |    9 +
 ld/testsuite/ld-x86-64/property-x86-ibt5.d         |    9 +
 ld/testsuite/ld-x86-64/property-x86-shstk.s        |   27 +
 ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d  |    6 +
 ld/testsuite/ld-x86-64/property-x86-shstk1a.d      |    6 +
 ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d  |    6 +
 ld/testsuite/ld-x86-64/property-x86-shstk1b.d      |    6 +
 ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d   |    9 +
 ld/testsuite/ld-x86-64/property-x86-shstk2.d       |    9 +
 ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d  |   11 +
 ld/testsuite/ld-x86-64/property-x86-shstk3a.d      |   11 +
 ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d  |   11 +
 ld/testsuite/ld-x86-64/property-x86-shstk3b.d      |   11 +
 ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d   |    9 +
 ld/testsuite/ld-x86-64/property-x86-shstk4.d       |    9 +
 ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d   |    9 +
 ld/testsuite/ld-x86-64/property-x86-shstk5.d       |    9 +
 ld/testsuite/ld-x86-64/x86-64.exp                  |  221 +++++-
 opcodes/ChangeLog                                  |   33 +
 opcodes/i386-dis.c                                 |   39 +-
 opcodes/i386-opc.tbl                               |    8 +-
 opcodes/i386-tbl.h                                 |   24 +-
 opcodes/score-dis.c                                |    1 +
 236 files changed, 6180 insertions(+), 1166 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/i386/empty.d
 create mode 100644 binutils/testsuite/binutils-all/i386/empty.s
 create mode 100644 binutils/testsuite/binutils-all/i386/ibt.d
 create mode 100644 binutils/testsuite/binutils-all/i386/ibt.s
 create mode 100644 binutils/testsuite/binutils-all/i386/shstk.d
 create mode 100644 binutils/testsuite/binutils-all/i386/shstk.s
 create mode 100644 binutils/testsuite/binutils-all/x86-64/empty-x32.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/empty.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/empty.s
 create mode 100644 binutils/testsuite/binutils-all/x86-64/ibt-x32.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/ibt.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/ibt.s
 create mode 100644 binutils/testsuite/binutils-all/x86-64/shstk-x32.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/shstk.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/shstk.s
 create mode 100644 gas/testsuite/gas/arm/forbid-armv7-idiv-ext.d
 create mode 100644 gas/testsuite/gas/arm/forbid-armv7-idiv-ext.l
 copy gdb/common/{preprocessor.h => diagnostics.h} (55%)
 create mode 100644 gdb/unittests/environ-selftests.c
 create mode 100644 ld/emulparams/cet.sh
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-1.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-1.s
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-2.s
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-2a.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-2b.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-2c.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-2d.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-3.s
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-3a.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-3b.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-3c.d
 create mode 100644 ld/testsuite/ld-i386/ibt-plt-3d.d
 create mode 100644 ld/testsuite/ld-i386/plt-main-ibt.dd
 create mode 100644 ld/testsuite/ld-i386/plt-pie-ibt.dd
 create mode 100644 ld/testsuite/ld-i386/property-x86-empty.s
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt.s
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt1a.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt1b.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt2.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt3a.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt3b.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt4.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-ibt5.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk.s
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk1a.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk1b.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk2.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk3a.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk3b.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk4.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-shstk5.d
 create mode 100644 ld/testsuite/ld-powerpc/tocsave1.s
 create mode 100644 ld/testsuite/ld-powerpc/tocsave1a.d
 create mode 100644 ld/testsuite/ld-powerpc/tocsave1s.d
 create mode 100644 ld/testsuite/ld-powerpc/tocsave2.s
 create mode 100644 ld/testsuite/ld-powerpc/tocsave2a.d
 create mode 100644 ld/testsuite/ld-powerpc/tocsave2s.d
 create mode 100644 ld/testsuite/ld-powerpc/tocsavelib.s
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-1-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-1.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-1.s
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2.s
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2a.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2b.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2c.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-2d.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3.s
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3a-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3a.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3b-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3b.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3c.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/ibt-plt-3d.d
 create mode 100644 ld/testsuite/ld-x86-64/plt-main-ibt-now.rd
 create mode 100644 ld/testsuite/ld-x86-64/plt-main-ibt-x32.dd
 create mode 100644 ld/testsuite/ld-x86-64/plt-main-ibt.dd
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-empty.s
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt.s
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt1a.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt1b.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt2.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt3a.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt3b.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt4.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt5.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk.s
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk1a.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk1b.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk2.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk3a.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk3b.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk4.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-shstk5.d

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f2f9b45..cdd6c35 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,188 @@
+2017-06-22  Eric Christopher  <echristo@gmail.com>
+
+	* elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than
+	abs to fix a truncation warning.
+
+2017-06-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk
+	is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
+	(elf_i386_link_setup_gnu_properties): If info->shstk is set,
+	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
+	* elf64-x86-64.c (elf_x86_64_merge_gnu_properties): If
+	info->shstk is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
+	(elf_x86_64_link_setup_gnu_properties): If info->shstk is set,
+	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
+
+2017-06-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New.
+	(elf_i386_lazy_ibt_plt_entry): Likewise.
+	(elf_i386_pic_lazy_ibt_plt0_entry): Likewise.
+	(elf_i386_non_lazy_ibt_plt_entry): Likewise.
+	(elf_i386_pic_non_lazy_ibt_plt_entry): Likewise.
+	(elf_i386_eh_frame_lazy_ibt_plt): Likewise.
+	(elf_i386_lazy_plt_layout): Likewise.
+	(elf_i386_non_lazy_plt_layout): Likewise.
+	(elf_i386_link_hash_entry): Add plt_second.
+	(elf_i386_link_hash_table): Add plt_second and
+	plt_second_eh_frame.
+	(elf_i386_allocate_dynrelocs): Use the second PLT if needed.
+	(elf_i386_size_dynamic_sections): Use .plt.got unwind info for
+	the second PLT.  Check the second PLT.
+	(elf_i386_relocate_section): Use the second PLT to resolve
+	PLT reference if needed.
+	(elf_i386_finish_dynamic_symbol): Fill and use the second PLT if
+	needed.
+	(elf_i386_finish_dynamic_sections): Set sh_entsize on the
+	second PLT.  Generate unwind info for the second PLT.
+	(elf_i386_plt_type): Add plt_second.
+	(elf_i386_get_synthetic_symtab): Support the second PLT.
+	(elf_i386_parse_gnu_properties): Support
+	GNU_PROPERTY_X86_FEATURE_1_AND.
+	(elf_i386_merge_gnu_properties): Support
+	GNU_PROPERTY_X86_FEATURE_1_AND.  If info->ibt is set, turn
+	on GNU_PROPERTY_X86_FEATURE_1_IBT
+	(elf_i386_link_setup_gnu_properties): If info->ibt is set,
+	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.  Use IBT-enabled PLT
+	for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
+	is set on all relocatable inputs.
+	* elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New.
+	(elf_x32_lazy_ibt_plt_entry): Likewise.
+	(elf_x86_64_non_lazy_ibt_plt_entry): Likewise.
+	(elf_x32_non_lazy_ibt_plt_entry): Likewise.
+	(elf_x86_64_eh_frame_lazy_ibt_plt): Likewise.
+	(elf_x32_eh_frame_lazy_ibt_plt): Likewise.
+	(elf_x86_64_lazy_ibt_plt): Likewise.
+	(elf_x32_lazy_ibt_plt): Likewise.
+	(elf_x86_64_non_lazy_ibt_plt): Likewise.
+	(elf_x32_non_lazy_ibt_plt): Likewise.
+	(elf_x86_64_get_synthetic_symtab): Support the second PLT.
+	(elf_x86_64_parse_gnu_properties): Support
+	GNU_PROPERTY_X86_FEATURE_1_AND.
+	(elf_x86_64_merge_gnu_properties): Support
+	GNU_PROPERTY_X86_FEATURE_1_AND.  If info->ibt is set, turn
+	on GNU_PROPERTY_X86_FEATURE_1_IBT
+	(elf_x86_64_link_setup_gnu_properties): If info->ibt is set,
+	turn on GNU_PROPERTY_X86_FEATURE_1_IBT.  Use IBT-enabled PLT
+	for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
+	is set on all relocatable inputs.
+
+2017-06-22  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21649
+	* som.c (setup_sections): NUL terminate the space_strings buffer.
+	Check that the space.name field does not index beyond the end of
+	the space_strings buffer.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21646
+	* coff-sh.c (sh_reloc): Check for an out of range reloc.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21639
+	* vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as
+	type of the size parameter.
+	(_bfd_vms_save_counted_string): Add second parameter - the maximum
+	length of the counted string.
+	* vms.h (_bfd_vms_save_sized_string): Update prototype.
+	(_bfd_vms_save_counted_string): Likewise.
+	* vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to
+	_bfd_vms_save_counted_string.
+	(_bfd_vms_slurp_ehdr): Likewise.
+	(_bfd_vms_slurp_egsd): Likewise.
+	(Parse_module): Likewise.
+
+2017-06-21  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_size_stubs): Test for localentry:0 plt
+	calls before tocsave calls.
+	(ppc64_elf_relocate_section): Allow localentry:0 plt calls without
+	following nop.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21645
+	* reloc.c (bfd_generic_get_relocated_section_contents): Fail if
+	bfd_get_full_section_contents returns no contents.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21638
+	* vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized
+	record.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21637
+	* vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
+	list.
+	(image_set_ptr): Likewise.
+	(alpha_vms_fix_sec_rel): Likewise.
+	(alpha_vms_slurp_relocs): Likewise.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21633
+	* ieee.c (ieee_slurp_sections): Check for a NULL return from
+	read_id.
+	(ieee_archive_p): Likewise.
+	(ieee_object_p): Likewise.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21640
+	* elf.c (setup_group): Zero the group section pointer list after
+	allocation so that loops can be caught.  Check for NULL pointers
+	when processing a group list.
+
+2017-06-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21626
+	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Check
+	the DYNAMIC bit instead of bfd_count_sections.
+
+2017-06-19  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21618
+	* vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
+	length.
+	(evax_bfd_print_eeom): Likewise.
+	(evax_bfd_print_egsd): Check for an overlarge record length.
+	(evax_bfd_print_etir): Likewise.
+
+2017-06-19  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21612
+	* libieee.h (struct common_header_type): Add end_p field.
+	* ieee.c (this_byte_and_next): Do not advance input_p beyond
+	end_p.
+	(read_id): Check for a length that exceeds the remaining bytes in
+	the input buffer.
+	(ieee_seek): Initialise end_p.
+	(ieee_archive_p): Likewise.
+	(ieee_object_p): Likewise.
+
+2017-06-19  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21611
+	* vms-alpha.c (_bfd_vms_slurp_eihs): Check for invalid offset
+	before reading the EIHS structure entries.
+
+2017-06-19  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21615
+	* vms-alpha.c (_bfd_vms_slurp_egsd): Use unsigned int for
+	gsd_size.  Check that there are enough bytes remaining to read the
+	type and size of the next egsd.  Check that the size of the egsd
+	does not exceed the size of the record.
+
+2017-06-19  Alan Modra  <amodra@gmail.com>
+
+	* config.bfd: Correct targ_underscore for cris.
+
 2017-06-18  Alan Modra  <amodra@gmail.com>
 
 	* config.bfd: Correct targ_underscore for epiphany, ip2k,
diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c
index dd8090c..26d296b 100644
--- a/bfd/coff-sh.c
+++ b/bfd/coff-sh.c
@@ -596,6 +596,9 @@ sh_reloc (bfd *      abfd,
       && bfd_is_und_section (symbol_in->section))
     return bfd_reloc_undefined;
 
+  if (addr > input_section->size)
+    return bfd_reloc_outofrange;
+
   sym_value = get_symbol_value (symbol_in);
 
   switch (r_type)
diff --git a/bfd/config.bfd b/bfd/config.bfd
index f8a26f4..dc24aab 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -500,15 +500,13 @@ case "${targ}" in
     targ_underscore=yes
     ;;
 
-  cris-*-*)
-    targ_defvec=cris_aout_vec
-    targ_selvecs="cris_elf32_us_vec cris_elf32_vec ieee_vec"
-    targ_underscore=yes
-    ;;
-
-  crisv32-*-*)
+  cris-*-* | crisv32-*-*)
     targ_defvec=cris_aout_vec
     targ_selvecs="cris_elf32_us_vec cris_elf32_vec ieee_vec"
+    case "${targ}" in
+	*-*-linux*) ;;
+	*) targ_underscore=yes ;;
+    esac
     ;;
 
   crx-*-elf*)
diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
index 2d054dd..13d620d 100644
--- a/bfd/elf-properties.c
+++ b/bfd/elf-properties.c
@@ -318,7 +318,7 @@ _bfd_elf_link_setup_gnu_properties (struct bfd_link_info *info)
   /* Find the first relocatable ELF input with GNU properties.  */
   for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
     if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
-	&& bfd_count_sections (abfd) != 0
+	&& (abfd->flags & DYNAMIC) == 0
 	&& elf_properties (abfd) != NULL)
       {
 	has_properties = TRUE;
@@ -342,7 +342,7 @@ _bfd_elf_link_setup_gnu_properties (struct bfd_link_info *info)
 
   /* Merge .note.gnu.property sections.  */
   for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
-    if (abfd != first_pbfd && bfd_count_sections (abfd) != 0)
+    if (abfd != first_pbfd && (abfd->flags & DYNAMIC) == 0)
       {
 	elf_property_list *null_ptr = NULL;
 	elf_property_list **listp = &null_ptr;
diff --git a/bfd/elf.c b/bfd/elf.c
index fb106e9..5f37e7f 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -613,6 +613,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
 	{
 	  num_group = (unsigned) -1;
 	  elf_tdata (abfd)->num_group = num_group;
+	  elf_tdata (abfd)->group_sect_ptr = NULL;
 	}
       else
 	{
@@ -625,8 +626,9 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
               bfd_alloc2 (abfd, num_group, sizeof (Elf_Internal_Shdr *));
 	  if (elf_tdata (abfd)->group_sect_ptr == NULL)
 	    return FALSE;
-
+	  memset (elf_tdata (abfd)->group_sect_ptr, 0, num_group * sizeof (Elf_Internal_Shdr *));
 	  num_group = 0;
+
 	  for (i = 0; i < shnum; i++)
 	    {
 	      Elf_Internal_Shdr *shdr = elf_elfsections (abfd)[i];
@@ -739,8 +741,14 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
       for (i = 0; i < num_group; i++)
 	{
 	  Elf_Internal_Shdr *shdr = elf_tdata (abfd)->group_sect_ptr[i];
-	  Elf_Internal_Group *idx = (Elf_Internal_Group *) shdr->contents;
-	  unsigned int n_elt = shdr->sh_size / 4;
+	  Elf_Internal_Group *idx;
+	  unsigned int n_elt;
+
+	  if (shdr == NULL)
+	    continue;
+
+	  idx = (Elf_Internal_Group *) shdr->contents;
+	  n_elt = shdr->sh_size / 4;
 
 	  /* Look through this group's sections to see if current
 	     section is a member.  */
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 3bfe312..e499b0e 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -10508,7 +10508,7 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
 
 	/* PR 21523: Use an absolute value.  The user of this reloc will
 	   have already selected an ADD or SUB insn appropriately.  */
-	value = abs (relocation);
+	value = labs (relocation);
 
 	if (value >= 0x1000)
 	  return bfd_reloc_overflow;
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 6636551..ee8219c 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -617,6 +617,60 @@ static const bfd_byte elf_i386_pic_non_lazy_plt_entry[NON_LAZY_PLT_ENTRY_SIZE] =
   0x66, 0x90	/* xchg %ax,%ax  */
 };
 
+/* The first entry in an absolute IBT-enabled lazy procedure linkage
+   table looks like this.  */
+
+static const bfd_byte elf_i386_lazy_ibt_plt0_entry[LAZY_PLT_ENTRY_SIZE] =
+{
+  0xff, 0x35, 0, 0, 0, 0,	/* pushl GOT[1]       */
+  0xff, 0x25, 0, 0, 0, 0,	/* jmp *GOT[2]        */
+  0x0f, 0x1f, 0x40, 0x00	/* nopl 0(%rax)       */
+};
+
+/* Subsequent entries for an absolute IBT-enabled lazy procedure linkage
+   table look like this.  Subsequent entries for a PIC IBT-enabled lazy
+   procedure linkage table are the same.  */
+
+static const bfd_byte elf_i386_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
+{
+  0xf3, 0x0f, 0x1e, 0xfb,       /* endbr32                    */
+  0x68, 0, 0, 0, 0,             /* pushl immediate            */
+  0xe9, 0, 0, 0, 0,             /* jmp relative               */
+  0x66, 0x90	                /* xchg %ax,%ax               */
+};
+
+/* The first entry in a PIC IBT-enabled lazy procedure linkage table
+   look like.  */
+
+static const bfd_byte elf_i386_pic_lazy_ibt_plt0_entry[LAZY_PLT_ENTRY_SIZE] =
+{
+  0xff, 0xb3, 4, 0, 0, 0,	/* pushl 4(%ebx)      */
+  0xff, 0xa3, 8, 0, 0, 0,	/* jmp *8(%ebx)       */
+  0x0f, 0x1f, 0x40, 0x00	/* nopl 0(%rax)       */
+};
+
+/* Entries for branches with IBT-enabled in the absolute non-lazey
+   procedure linkage table look like this.  They have the same size
+   as the lazy PLT entry.  */
+
+static const bfd_byte elf_i386_non_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
+{
+  0xf3, 0x0f, 0x1e, 0xfb,            /* endbr32               */
+  0xff, 0x25, 0, 0, 0, 0,	     /* jmp *name@GOT	      */
+  0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 /* nopw 0x0(%rax,%rax,1) */
+};
+
+/* Entries for branches with IBT-enabled in the PIC non-lazey procedure
+   linkage table look like this.  They have the same size as the lazy
+   PLT entry.  */
+
+static const bfd_byte elf_i386_pic_non_lazy_ibt_plt_entry[LAZY_PLT_ENTRY_SIZE] =
+{
+  0xf3, 0x0f, 0x1e, 0xfb,            /* endbr32               */
+  0xff, 0xa3, 0, 0, 0, 0,	     /* jmp *name@GOT(%ebx)   */
+  0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00 /* nopw 0x0(%rax,%rax,1) */
+};
+
 /* .eh_frame covering the lazy .plt section.  */
 
 static const bfd_byte elf_i386_eh_frame_lazy_plt[] =
@@ -656,6 +710,41 @@ static const bfd_byte elf_i386_eh_frame_lazy_plt[] =
   DW_CFA_nop, DW_CFA_nop, DW_CFA_nop, DW_CFA_nop
 };
 
+/* .eh_frame covering the lazy .plt section with IBT-enabled.  */
+
+static const bfd_byte elf_i386_eh_frame_lazy_ibt_plt[] =
+{
+  PLT_CIE_LENGTH, 0, 0, 0,	/* CIE length */
+  0, 0, 0, 0,			/* CIE ID */
+  1,				/* CIE version */
+  'z', 'R', 0,			/* Augmentation string */
+  1,				/* Code alignment factor */
+  0x7c,				/* Data alignment factor */
+  8,				/* Return address column */
+  1,				/* Augmentation size */
+  DW_EH_PE_pcrel | DW_EH_PE_sdata4, /* FDE encoding */
+  DW_CFA_def_cfa, 4, 4,		/* DW_CFA_def_cfa: r4 (esp) ofs 4 */
+  DW_CFA_offset + 8, 1,		/* DW_CFA_offset: r8 (eip) at cfa-4 */
+  DW_CFA_nop, DW_CFA_nop,
+
+  PLT_FDE_LENGTH, 0, 0, 0,	/* FDE length */
+  PLT_CIE_LENGTH + 8, 0, 0, 0,	/* CIE pointer */
+  0, 0, 0, 0,			/* R_386_PC32 .plt goes here */
+  0, 0, 0, 0,			/* .plt size goes here */
+  0,				/* Augmentation size */
+  DW_CFA_def_cfa_offset, 8,	/* DW_CFA_def_cfa_offset: 8 */
+  DW_CFA_advance_loc + 6,	/* DW_CFA_advance_loc: 6 to __PLT__+6 */
+  DW_CFA_def_cfa_offset, 12,	/* DW_CFA_def_cfa_offset: 12 */
+  DW_CFA_advance_loc + 10,	/* DW_CFA_advance_loc: 10 to __PLT__+16 */
+  DW_CFA_def_cfa_expression,	/* DW_CFA_def_cfa_expression */
+  11,				/* Block length */
+  DW_OP_breg4, 4,		/* DW_OP_breg4 (esp): 4 */
+  DW_OP_breg8, 0,		/* DW_OP_breg8 (eip): 0 */
+  DW_OP_lit15, DW_OP_and, DW_OP_lit9, DW_OP_ge,
+  DW_OP_lit2, DW_OP_shl, DW_OP_plus,
+  DW_CFA_nop, DW_CFA_nop, DW_CFA_nop, DW_CFA_nop
+};
+
 /* .eh_frame covering the non-lazy .plt section.  */
 
 static const bfd_byte elf_i386_eh_frame_non_lazy_plt[] =
@@ -786,6 +875,34 @@ static const struct elf_i386_non_lazy_plt_layout elf_i386_non_lazy_plt =
     elf_i386_eh_frame_non_lazy_plt,     /* eh_frame_plt */
     sizeof (elf_i386_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
   };
+
+static const struct elf_i386_lazy_plt_layout elf_i386_lazy_ibt_plt =
+  {
+    elf_i386_lazy_ibt_plt0_entry,       /* plt0_entry */
+    sizeof (elf_i386_lazy_ibt_plt0_entry), /* plt0_entry_size */
+    2,                                  /* plt0_got1_offset */
+    8,                                  /* plt0_got2_offset */
+    elf_i386_lazy_ibt_plt_entry,        /* plt_entry */
+    LAZY_PLT_ENTRY_SIZE,                /* plt_entry_size */
+    4+2,                                /* plt_got_offset */
+    4+1,                                /* plt_reloc_offset */
+    4+6,                                /* plt_plt_offset */
+    0,                                  /* plt_lazy_offset */
+    elf_i386_pic_lazy_ibt_plt0_entry,   /* pic_plt0_entry */
+    elf_i386_lazy_ibt_plt_entry,        /* pic_plt_entry */
+    elf_i386_eh_frame_lazy_ibt_plt,     /* eh_frame_plt */
+    sizeof (elf_i386_eh_frame_lazy_ibt_plt) /* eh_frame_plt_size */
+  };
+
+static const struct elf_i386_non_lazy_plt_layout elf_i386_non_lazy_ibt_plt =
+  {
+    elf_i386_non_lazy_ibt_plt_entry,    /* plt_entry */
+    elf_i386_pic_non_lazy_ibt_plt_entry,/* pic_plt_entry */
+    LAZY_PLT_ENTRY_SIZE,                /* plt_entry_size */
+    4+2,                                /* plt_got_offset */
+    elf_i386_eh_frame_non_lazy_plt,     /* eh_frame_plt */
+    sizeof (elf_i386_eh_frame_non_lazy_plt) /* eh_frame_plt_size */
+  };
 \f
 
 /* On VxWorks, the .rel.plt.unloaded section has absolute relocations
@@ -889,6 +1006,9 @@ struct elf_i386_link_hash_entry
      GOT and PLT relocations against the same function.  */
   union gotplt_union plt_got;
 
+  /* Information about the second PLT entry.   */
+  union gotplt_union plt_second;
+
   /* Offset of the GOTPLT entry reserved for the TLS descriptor,
      starting at the end of the jump table.  */
   bfd_vma tlsdesc_got;
@@ -937,6 +1057,8 @@ struct elf_i386_link_hash_table
   /* Short-cuts to get to dynamic linker sections.  */
   asection *interp;
   asection *plt_eh_frame;
+  asection *plt_second;
+  asection *plt_second_eh_frame;
   asection *plt_got;
   asection *plt_got_eh_frame;
 
@@ -2644,12 +2766,29 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
      here if it is defined and referenced in a non-shared object.  */
   if (h->type == STT_GNU_IFUNC
       && h->def_regular)
-    return _bfd_elf_allocate_ifunc_dyn_relocs (info, h, &eh->dyn_relocs,
-					       &htab->readonly_dynrelocs_against_ifunc,
-					       plt_entry_size,
-					       (htab->plt.has_plt0 *
+    {
+      if (_bfd_elf_allocate_ifunc_dyn_relocs (info, h, &eh->dyn_relocs,
+					      &htab->readonly_dynrelocs_against_ifunc,
+					      plt_entry_size,
+					      (htab->plt.has_plt0 *
 						plt_entry_size),
-					       4, TRUE);
+					       4, TRUE))
+	{
+	  asection *s = htab->plt_second;
+	  if (h->plt.offset != (bfd_vma) -1 && s != NULL)
+	    {
+	      /* Use the second PLT section if it is created.  */
+	      eh->plt_second.offset = s->size;
+
+	      /* Make room for this entry in the second PLT section.  */
+	      s->size += htab->non_lazy_plt->plt_entry_size;
+	    }
+
+	  return TRUE;
+	}
+      else
+	return FALSE;
+    }


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  users/jkratoch/index: DWARF-5: .debug_names index consumer
@ 2017-06-18 19:30 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2017-06-18 19:30 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/index has been updated
  discards  0b088180e930a5337b7d01a67e08fe62c5fea441 (commit)
  discards  b94ba00665671b17f8c105efc314ca8b11b31ded (commit)
  discards  67ac1f63c84b6f0b39ba16f92222cba2a40ecb7c (commit)
  discards  4926bfc3e33a2149a5d1fe9760f2e017757a3264 (commit)
  discards  d5d9b4e3e29fb119a61138a11c93634eae865e68 (commit)
  discards  65ca64ea7b6404e263a3a788abc5b3340e26b7a6 (commit)
  discards  08ea9dc56e39f68f3f0b6ee73e24f8b853e8c6a1 (commit)
  discards  4d073453abaa58cdce67b5f5dccd991190a182fa (commit)
       via  b137841b37b6247aa63d8270e5820c8c605d9093 (commit)
       via  5229437ae3de0f997b264835433697889d9c94b6 (commit)
       via  14f14266282cc676c6424a78d8f84d82a8502773 (commit)
       via  4be4f2b35cd1d2313268c1cb77687d4e1968c231 (commit)
       via  e39de6c1d1c9ede6e08c98e99e0db418a7ce974b (commit)
       via  426b46fa0c561ae485b9b09c4972f269a0632103 (commit)
       via  16c6cfce5fe4f039e3dfe7829bfe8686bd6d4f14 (commit)
       via  bdd32e03c5e87bd38e63e9cc3fd35375241db58f (commit)
       via  99149362b110c0b243eecff05cdbda0d7260b412 (commit)
       via  1d4fbac99e05c2d2ea98984f9bc6f7d7f1a183b7 (commit)
       via  ae3e2ccfe75e5c62749c15ead5c95e052aad21ca (commit)
       via  8465943af6a6f756c3d4b077eb1081ade927b26b (commit)
       via  3e019bdc20eb81b91ab5bc774386201b874c0bac (commit)
       via  cf0dd6f02cd45d6dbb6bd87dde25dd3ed74eb7d0 (commit)
       via  291e62953900e0f4998224127bc56239e421cda9 (commit)
       via  6f98355cda4ac718855d247fd942553b1706549b (commit)
       via  e197589b72e7b7b2db95c63acd58abb574b4249c (commit)
       via  4b48e2f6a50e85e5acc316289c4a6af693ad98f0 (commit)
       via  7dba9362c172f1073487536eb137feb2da30b0ff (commit)
       via  d68f19767dfbb33c1813563d5a4af0731a1855c5 (commit)
       via  a87dc45adc983a8e6ec3db8d18cd31c35abd2048 (commit)
       via  c092b67bf0adb0fc1e179612b161e19938929e66 (commit)
       via  00fd923b247530bd30f695b5bd899467536ad4f8 (commit)
       via  75e06f9753af16bd8a4d864431ceb1a4cdd13f58 (commit)
       via  6353d82b8fa825c2143f41e84b0d5d4446c6e99a (commit)
       via  8cac017d35ef374e65acc98818a17cf8a652cbd0 (commit)
       via  0d96e4df4812c3bad77c229dfef47a9bc115ac12 (commit)
       via  cd3ea7c69acc5045eb28f9bf80d923116e15e4f5 (commit)
       via  62b76e4b6e0b4cb5b3e0053d1de4097b32577049 (commit)
       via  63634bb4a107877dd08b6282e28e11cfd1a1649e (commit)
       via  63323b5b23bd83fa7b04ea00dff593c933e9b0e3 (commit)
       via  76800cba595efc3fe95a446c2d664e42ae4ee869 (commit)
       via  08c7881b814c546efc3996fd1decdf0877f7a779 (commit)
       via  37de058ab2e9619fbb6dea52ec2773a5d65619c4 (commit)
       via  45159d6ad394fe7db840b2b92eaa69508b8a8fe7 (commit)
       via  6e89f899896fd596527d24de6a8a98bc633805fb (commit)
       via  f7e16c2a9cc405707e646e951397938d2b4eea48 (commit)
       via  b46c4cf0908b05ab493d4f30e9a52a887ee118fd (commit)
       via  e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e (commit)
       via  f461bbd847f15657f3dd2f317c30c75a7520da1f (commit)
       via  ae87f7e73eba29bd38b3a9684a10b948ed715612 (commit)
       via  6394c606997f88acfc80de4dff33a4ae2de987b4 (commit)
       via  99031bafd6e81a41553803886c6b245cb0ab89d9 (commit)
       via  8eca1095d96c215409371c5687573aac89a0a980 (commit)
       via  f78d1b3ae1cee2bc1a2be4b3c30df9627e13fdc1 (commit)
       via  b6947a7f08011375120186688bf2efd866f7d148 (commit)
       via  db5fa770268baf8cc82cf9b141d69799fd485fe2 (commit)
       via  5524b5250e319f41933605420e9526fb74cfb9ae (commit)
       via  4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5 (commit)
       via  c53d2e6d744da000aaafe0237bced090aab62818 (commit)
       via  d5722aa2fe9e1d76d98865a9ab77a7b9388743c9 (commit)
       via  05c966f3c98d6126404f1cd7f233148a89810b5d (commit)
       via  04f963fd489cae724a60140e13984415c205f4ac (commit)
       via  319c2dbe240a797c6f9436bfd64f5c16045ad5a1 (commit)
       via  f9a36b297d470a72ead64ed07cd5f313d9d7a502 (commit)
       via  b27685f2016c510d03ac9a64f7b04ce8efcf95c4 (commit)
       via  01ec7a272201de84be1ca2c557e58d97891f288c (commit)
       via  848d907446d738604d11ab4061f3b0a8b23d4504 (commit)
       via  3b912944f4257dd935c91b77a51bc2e4baa1018e (commit)
       via  da614360f520b84a9c87506eb0c880f7a056468b (commit)
       via  cbd0eecf261c2447781f8c89b0d955ee66fae7e9 (commit)
       via  6490dc678bc35f2204afb38449de5127ef8bcca0 (commit)
       via  dc74becf498f60c842d81eb6e98cfcbc3f167c22 (commit)
       via  8569cfa78c2cc8b5ef66b0bebddcc0e63231fb51 (commit)
       via  55acdf2242372ae52abb25c80db8e75df5578b23 (commit)
       via  f65e204425b5b46a5927d9501c42f25d98a866ce (commit)
       via  23f945bf8cebf348154aff43782de2e1977e9230 (commit)
       via  f236533e3c6a2693bea879b2a4d24d1229864ac9 (commit)
       via  65d84b76164dc8ec1a1f0f0e0fd41667065ffd4e (commit)
       via  242d31ab7c3901e02bd68c1824d1d3610e02562b (commit)
       via  03c8af18d1a8f359fd023696848bda488119da60 (commit)
       via  840989c113433c069f54872d7e051e1572202326 (commit)
       via  3bf310110722b03d9ff9c4f34f5920a9be2878d0 (commit)
       via  359b19bb24d048750aa5367ad56a33267300d1a8 (commit)
       via  07c9ca3bd8e6f83bcec49c922b52422c538f60f7 (commit)
       via  f1cc987420d9d2489eb453bd1c87139666cbe7fd (commit)
       via  cdaac320fd62bff75562aaa3e466494dc72dd175 (commit)
       via  af547a9614969e1d1ea6fcec6b59cd77a606380f (commit)
       via  805acca042afed8e8431c92ab031167b03475676 (commit)
       via  ddd7882a582637d86a321c1ab835f6cdbeb6d017 (commit)
       via  e93523245b704bc126705620969b4736b00350c5 (commit)
       via  d5d1163eff2415a01895f1cff8bbee32b3f0ab66 (commit)
       via  0567c9861e113a573cc905002a59cb1bc3d78450 (commit)
       via  10bbbc1d790836122c417fe4fef7233604bb3982 (commit)
       via  032bb6eae8a0166f9b5d2eac6960383c532ef6d1 (commit)
       via  a0688fac4b1662e34a9a08e233112beb7403f642 (commit)
       via  973e9aab63a70311dffa2993dac52bd63ea461ec (commit)
       via  f12f6bad7d4e8de1d1f4c9c1811757571149c8f1 (commit)
       via  d9109c8080ac0a2caeaa5f3d51e8a3b4891a68a8 (commit)
       via  4ac0cb1cf04f105586746a6cce5b0f93d76f2b33 (commit)
       via  30a254669b16b86166fed1f9a4c4f9cc55a07fdc (commit)
       via  b3464d0316235899d9facf81896d7a427d5cd6d0 (commit)
       via  4b76cda9938e4cb200bccffb6e020268c6a51b89 (commit)
       via  e8f8bcb35f22965c8e4309c4aa4227241c485fe7 (commit)
       via  70a1152bee7cb959ab0c6c13bada03190125022f (commit)
       via  c2f134ac418eafca850e7095d789a01ec1142fc4 (commit)
       via  a81e6d4d261b7471428408f4ebba1b8113c16ccf (commit)
       via  6fd931f2d66af8398b2fae3ab5f5afe091b8362f (commit)
       via  bc8f2430e08cc2a520db49a42686e0529be4a3bc (commit)
       via  5c3ce2bc8adea307917d3bfeef53114795764db6 (commit)
       via  3704e3589d3d187fbf76e688388b1a92fd627c8d (commit)
       via  fd0219988dada5b4ddb04b691f71c9acdd87b739 (commit)
       via  c4dcb155c446cee135101d72172b47e3fc99caf9 (commit)
       via  9b97dfbf8049bed3b2f79c6c785afaf18206dad3 (commit)
       via  c7198f97e026f2a2d53de8dda090c04619355a36 (commit)
       via  561bf3e950e410fbcac06523d43039f1f58150ca (commit)
       via  6d45d4b42b5b360c0b80259e101c01d650d0be23 (commit)
       via  9845682bda4149b5b3648f2d49a041aef5bc1af5 (commit)
       via  654f3b6a2af84ba0f9c6a4c011364b8f650d66a6 (commit)
       via  dbb2bcd0059f8d91de5a792f8684c8908c316720 (commit)
       via  fe7bb2d5ab1f47163f38d2070dc1e62c1920bb44 (commit)
       via  2f91880f3afb3cc521111dfcc99b214c77aa97a1 (commit)
       via  e3d1d4088ad3b4d0fed39df62ad295ed60707807 (commit)
       via  64aa8e030360ba68e32ca15fa5aa426160a2efb1 (commit)
       via  a0abe74332bd25aeb68acfadd74280c0f117c493 (commit)
       via  f4e6805f98d2b3eae305f66ba26ab25aae1485f2 (commit)
       via  cd6402916febae6d8a4e62c572ea6fd487eebb61 (commit)
       via  7ef0acc15ec011371a3901a997c867165bf7a733 (commit)
       via  cc89d0b3344614ae97456df84034096b698e5790 (commit)
       via  9d5c718b7a9c46132940f899f40556a77ca462a0 (commit)
       via  be9e3704f91190c1e1c5d253494423b13c982d93 (commit)
       via  b8b6e72f3db1f798680742c02f3dc220175d0757 (commit)
       via  5369082e7b786dee2c185f768b126a9a18cb2915 (commit)
       via  4ec192e6abe86319b9e9af6f2ae4cf0614b1e2b3 (commit)
       via  ff4ca5ac6a2e85177dc7efe5cbda7b956bb71fd5 (commit)
       via  6322e5c5cb7ffe1c26c50f117765503717b0431c (commit)
       via  51fa2693add9ead8288f475d380f4aec7372fe5a (commit)
       via  bc327528fd2ccdc6c29ab6ae608085dddbad5cc8 (commit)
       via  81b6fe3bf9f3be2b6b81d05d08ac58d2a6dcb760 (commit)
       via  3030551ec55042d7c87bd55fd29db2b06fe06df9 (commit)
       via  aefd8b33d97bded58e51d75271f99e1eaec9fb28 (commit)
       via  2090129c36c7e582943b7d300968d19b46160d84 (commit)
       via  043a49349c713dc329a2dfc413b082c3826ecdb8 (commit)
       via  156525114c1cbbace0dec223494b842ffc60d52e (commit)
       via  2d7cc5c7973b6d1bdd9205288863bedadeaf8b41 (commit)
       via  62e20ed45e3da5f3ba695e4ee109317668180fe6 (commit)
       via  50d6adef3b8509c4e7e37b4b708e0593d43ed347 (commit)
       via  4a8a33c843681410eeba4e05aa749abda8a8341b (commit)
       via  d1be909e7fbf753fd3aa18681089e3bcacbcf51c (commit)
       via  4936f23592b910d65cc9f077115559366f9c4662 (commit)
       via  58f59b7616851b2f3737e385ec9095765eeeffa3 (commit)
       via  78e8a2ff5f01799874be41fdc919d34c670496c6 (commit)
       via  f4a6504277d861057aedd2b88369493d644935c6 (commit)
       via  9f7fb0aa2b6eb9fb185c1c2ae4159d783acadc0e (commit)
       via  e1e01040aa83ddef0bb5c60a8b187f769b2b1ec3 (commit)
       via  fbe654c8bc78eb06b6d7ee4fcec64e9e34e7a9ac (commit)
       via  9949827bea788753c29b7bb503d6d5dda6ea21ff (commit)
       via  5c8ed6a4a1d197658086e9175f820227ebffebec (commit)
       via  d24b756188bd63a422671a73e31af718007264ca (commit)
       via  0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b (commit)
       via  ae0d01d663a2bac65afb8b94bbf1a91d95298f68 (commit)
       via  670b1a13351f34c38ea1abb6cb20e247fb002015 (commit)
       via  7bdf4127c38081c7764c0bf1db55d0b2e56391dc (commit)
       via  458ad2b83ecf4d764703767bccf19723ca741f00 (commit)
       via  fbebaf4a56dd03251bc2e12fa6834d90555aa82a (commit)
       via  056bafd472efccfb2d7f44f6469dfa08cdf7414b (commit)
       via  61756f84eedc470c975f8bafe6ddf10acaca6942 (commit)
       via  a6ba6751c9cf5ef909e47d09609c28ad1509dfa9 (commit)
       via  d9409498813c75c1a9e9287ac6e5100ed3130390 (commit)
       via  af54f0eb968ba8cb3862fd3cad097a3f3363467b (commit)
       via  91001320a22466d1580e169bcb023d3b822226b4 (commit)
       via  6734f10ae9af6cfd47e70baa2cd3e326afabe5ed (commit)
       via  3ea0007c8ca3ec851df6ab5391a98467b4021f92 (commit)
       via  49cf576c221b1d45d222f8cddaddbddf29336461 (commit)
       via  923ca33982401c5700421a592d2b0ee083cbefa1 (commit)
       via  26b6a6aba5567143ed0f59388663b8f50e5cfcab (commit)
       via  22827c51338ce25574ed7b204a2e5bd40f45bdad (commit)
       via  0af6b29b9dcd8ff2c34d07a76e3416acf3758bfc (commit)
       via  4a4a4a27ba5c731044d3d3594545e6f06b0ec0e5 (commit)
       via  0e05cf3a61e1996829359e1c32eedb6820930331 (commit)
       via  c1fc2657206188767cb66813d07b9ecbb5e9ec51 (commit)
       via  3b0871f44a3402f4e1e811ae81c8ba1293c1c7be (commit)
       via  a5e364af4a3d745bb79cfc9a1d533632d4d04b57 (commit)
       via  e7cd2680e089327e7fefaf1cf5a58ec09e379f0d (commit)
       via  0efdc7237e8eb2c75b9c74bc60175ef50719b8b8 (commit)
       via  6cf3bf8875d84aff854fe5fe5a04141033d5ee6f (commit)
       via  b5430a3ced5fe5ba484bd9b3215b9ae19ced0160 (commit)
       via  f378ab099d535f5540f292fed07fcf4b1fabd314 (commit)
       via  19fb31c0060f646a9f84be1a84ed1bea04e7ed57 (commit)
       via  580dfe9d4cb936535927fb954bdc96a2320c6244 (commit)
       via  ae3b3f34ed96f121af37018b8ff3a78810881ad8 (commit)
       via  ab12fca3906c9c76ec25a9de52f5142f5736413f (commit)
       via  13ace07792fa75aa276e2d7c3cb03cec117d63a4 (commit)
       via  c56ccc05b2c98510f360d7f454f38169eb3bdb06 (commit)
       via  5b4a1ff337973732ff9a5ad9b1cb84d74a7e6185 (commit)
       via  90b4491842980d57a0e572167a168e04a476bca5 (commit)
       via  b9c6833008dfb3c45354f4e810e631a77f3c9cb3 (commit)
       via  1b1810b5e01968cdfc16d537b4d5c27adab8a173 (commit)
       via  8c65b54f18c03ffb844e1cbaa3b46b43444ff9e7 (commit)
       via  10045478d984f9924cb945423388ba25b7dd3ffe (commit)
       via  940171d08654a9ff5bf9b8886f76e8189a02cf09 (commit)
       via  64984c22f7045d53590f816e7ba0b9b9fa1dbbe7 (commit)
       via  37cd38778dfb73d28e533fd1ddabb88b4b3a5771 (commit)
       via  8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d (commit)
       via  08c3f6d234761d92b50d3c56d3cb4b82fdd58c77 (commit)
       via  8ffd39f2e42151b383616923ae922e697273ec8e (commit)
       via  4aeb0dfcc42acfc108d3f870384d1719adc9569b (commit)
       via  eb8f2b9c44619eecdb3b77da01da910fcf05abed (commit)
       via  42bfe59e3a3fef26be6809168756f40740fac1d0 (commit)
       via  b54b03bd874936ab3c91f23e5dff3a87153c4e36 (commit)
       via  8286623c113daf97a45cde5fc8ef9587b85c898b (commit)
       via  a0f1b963327b9cc349a1e6b4c543a29fbee68fba (commit)
       via  f158f208759703b94dbfc6de2222ae7740420faf (commit)
       via  521103fd00e593c08a6bedb619c5a9f8f7cc5a91 (commit)
       via  17b89b34b8d7a5a8b713c92a9ebe689c6edd6798 (commit)
       via  2b51eddc5503ea84d48c5b3b3ec3388eba440451 (commit)
       via  70c16c04ac76a90f18e920aaea1026bde90c493c (commit)
       via  db6be0d5e31f11c10004f1f2ef2de05d213da1f4 (commit)
       via  8e86a419d7f8753f4e77cf23aa53bc02ac6febf1 (commit)
       via  ca87ae741fe9c8aad9db1afbf109dc070d0168cf (commit)
       via  67aa8be4cb43cd94bc322fed8bdba48b3c8719c4 (commit)
       via  ffc61c5de1a5a89e3e37fb9376725c32a839c34d (commit)
       via  a09f2586017aeed82fa07c8bfea6c75859295bd9 (commit)
       via  bfcfbe611b4d7e650236f8b8ba7d0706cfe6a0b7 (commit)
       via  6813cafe52236a95289accb138032c1d6dd3272e (commit)
       via  146c3d9d5993289ae0af7c1c872eebaa8662d2fc (commit)
       via  b40889f2c860d768fa72662d8a3ce7e81ea79aac (commit)
       via  2153e1dc0512822ed070de220e33a1a03ea7a4eb (commit)
       via  b057297ab63a9124aae1773566815cd8c4bde8e9 (commit)
       via  22e7d2933103f1384c1d54dff6188cd57cbe171a (commit)
       via  64aaf98419a0485fe3490dfb53417ac9958c7327 (commit)
       via  b77b02a5ca5a021ee8b5e5453e8843447d1132b2 (commit)
       via  e521e87e8514b9d3497208b70bcd067f132c58ed (commit)
       via  d8e07dda92366be0f6fc2e7128620d3dd53494e3 (commit)
       via  8c8f9122ce6e6c00f72914479af57a7b87244554 (commit)
       via  68fce50f04f495980f4ea81746339a9de5b52ebb (commit)
       via  88954b49e47574cdd048a23ca391a85fb6f77f47 (commit)
       via  e3ec9b69cde4e07d95eaadee75566fd4a8091df5 (commit)
       via  cdd238daf949385bd6ef188e24b40d9fcb83a0e8 (commit)
       via  7a3929c417b1388c689a0cd6b0b2f6579d85ec78 (commit)
      from  0b088180e930a5337b7d01a67e08fe62c5fea441 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit b137841b37b6247aa63d8270e5820c8c605d9093
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:54 2017 +0200

    DWARF-5: .debug_names index consumer
    
    Hi,
    
    it is not regression-free against no-index but it is regression-free against
    .gdb_index.  That is because .gdb_index is not regression-free against
    no-index.
    
    Some testcases needed to be updated as they were missing .debug_aranges.
    While that does not matter for no-index (as GDB builds the mapping internally
    during dwarf2_build_psymtabs_hard) and neither for .gdb_index (as GDB uses that
    internally built mapping which it stores into .gdb_index) it does matter for
    .debug_names as that simply assumes existing .debug_aranges from GCC.
    
    I tried some performance checking but the index handling speed is negligible
    compared to the CU expansion associated with it.  .debug_names looked even as
    a bit faster to me than .gdb_index which rather surprised me but I did not
    investigate it more.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_debug_names): New declaration.
    	* dwarf2read.c (mapped_debug_names): New.
    	(struct dwarf2_per_objfile): Add debug_names, debug_aranges and
    	debug_names_table.
    	(dwarf2_elf_names): Add debug_names and debug_aranges.
    	(struct dwz_file): Add debug_names.
    	(dwarf2_locate_sections): Add debug_names and debug_aranges.
    	(locate_dwz_sections): Add debug_names.
    	(create_signatured_type_table_from_debug_names)
    	(create_addrmap_from_aranges): New.
    	(dwarf2_read_index): Update function comment.
    	(read_debug_names_from_section, create_cus_from_debug_names_list)
    	(create_cus_from_debug_names, dwarf2_read_debug_names): New.
    	(dwarf5_djb_hash): Function renamed from DebugNamesNameTable::djb_hash.
    	(dw2_debug_names_iterator): New.
    	(read_indirect_string_at_offset): New declaration.
    	(mapped_debug_names::namei_to_name)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::find_vec_in_debug_names)
    	(dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
    	(dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
    	(dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
    	New.
    	(dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
    	(dwarf2_free_objfile): Delete also debug_names_table;
    	(debug_names::djb_hash): Rename it to dwarf5_djb_hash.
    	(debug_names::build): Update djb_hash caller.
    	* elfread.c (elf_sym_fns_debug_names): New.
    	* psymtab.h (dwarf2_debug_names_functions): New declaration.
    	* symfile.h (struct dwarf2_debug_sections): Add debug_names and
    	debug_aranges.
    	* xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
    
    gdb/testsuite/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/maint.exp (check for .gdb_index): Check also for
    	.debug_names.
    	* gdb.dlang/watch-loc.c (.debug_aranges): New.
    	* gdb.dwarf2/dw2-case-insensitive-debug.S: Likewise.
    	* gdb.dwarf2/gdb-index.exp (check if index present, .gdb_index used)
    	(.gdb_index used after symbol reloading): Support also .debug_names.
    	* gdb.mi/dw2-ref-missing-frame-func.c (.debug_aranges): New.

commit 5229437ae3de0f997b264835433697889d9c94b6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    Refactor: Move some generic code out of .gdb_index code
    
    Hi,
    
    just for the next patch.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_cu_from_index_list): New from ...
    	(create_cus_from_index_list): ... this function, use it.
    	(dw_expand_symtabs_matching_file_matcher)
    	(dw2_expand_symtabs_matching_one): New from ...
    	(dw2_expand_symtabs_matching): ... this function, use them.

commit 14f14266282cc676c6424a78d8f84d82a8502773
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    Code cleanup: dwarf2_initialize_objfile return value
    
    Hi,
    
    dwarf2_initialize_objfile was returning boolean whether it is psymtabs or
    .gdb_index while now it needs to return also whether it is .debug_names.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
    	declarations from elfread.c.
    	(dwarf2_initialize_objfile): Change return value.
    	* elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
    	declarations to defs.h.
    	(elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
    	* symfile.h (dwarf2_initialize_objfile): Change return type.

commit 4be4f2b35cd1d2313268c1cb77687d4e1968c231
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    DWARF-5: .debug_names index producer
    
    Hi,
    
    there are two FIXME lines I do not have a real answer for.
    
    Also I am not sure if the -dwarf-4 option for former .gdb_index should be named
    that way.  And contrib/gdb-add-index.sh (incl. cc-with-tweaks.sh) has no
    commandline option for that -dwarf-4 GDB option.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/gdb-add-index.sh (index): Rename to ...
    	(index4): ... here.
    	(index5, debugstr, debugstrmerge, debugstrerr): New variables.
    	Support also .debug_names and .debug_str.
    	* dwarf2read.c: Include cmath, locale, set, list.
    	(INDEX_SUFFIX): Rename to ...
    	(INDEX4_SUFFIX): ... here.
    	(INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
    	(data_buf::append_unsigned_leb128, data_buf::empty)
    	(data_buf::operator const char *, debug_names, check_dwarf64_offsets): New.
    	(write_gdbindex): New from write_psymtabs_to_index code.
    	(write_debug_names): New.
    	(write_psymtabs_to_index): New parameter is_dwarf5.  Support
    	filename_str and out_file_str.  Move code to write_gdbindex, possibly
    	call write_debug_names.
    	(save_gdb_index_command): New parameter -dwarf-4.
    	(_initialize_dwarf2_read): Document the new parameter -dwarf-4.
    
    gdb/doc/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Index Files): Document .debug_names and -dwarf-4.
    	(Index Section Format): Mention .debug_names.

commit e39de6c1d1c9ede6e08c98e99e0db418a7ce974b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:53 2017 +0200

    cc-with-tweaks.sh: Use gdb-add-index.sh
    
    Hi,
    
    currently contrib/cc-with-tweaks.sh is calling for its -i option objcopy itself
    instead of using contrib/gdb-add-index.sh which does the same.
    
    With DWARF-5 .debug_names the commands are more complicated (as now also
    .debug_str needs to be modified) and so I have decided to rather reuse
    contrib/gdb-add-index.sh instead of duplicating its code
    in contrib/cc-with-tweaks.sh.
    
    The problem is when no index is produced whether contrib/cc-with-tweaks.sh
    should fail or not.  As originally contrib/cc-with-tweaks.sh was more quiet
    (=successful) than contrib/gdb-add-index.sh and so after this patch the
    testsuite runs with an index would "regress".  I have tried to keep the
    behavior unchanged.  Some cases still error with:
    	Ada is not currently supported by the index
    But some cases (such as some trivial gdb.dwarf2/ testcases with no DWARF data
    to index) produce no index while the testcases still PASS now instead of:
    	-PASS: gdb.arch/i386-bp_permanent.exp: stack pointer value matches
    	+gdb compile failed, gdb-add-index.sh: No index was created for /quadgdb/testsuite.unix.-m64/outputs/gdb.arch/i386-bp_permanent/i386-bp_permanent
    	+gdb-add-index.sh: [Was there no debuginfo? Was there already an index?]
    	+UNTESTED: gdb.arch/i386-bp_permanent.exp: failed to compile
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/cc-with-tweaks.sh (t, GDB_ADD_INDEX): New variables.
    	<$want_index>: Call $GDB_ADD_INDEX.

commit 426b46fa0c561ae485b9b09c4972f269a0632103
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:52 2017 +0200

    binutils

commit 16c6cfce5fe4f039e3dfe7829bfe8686bd6d4f14
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jun 18 12:01:52 2017 +0200

    gccidx

commit bdd32e03c5e87bd38e63e9cc3fd35375241db58f
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jun 18 09:19:34 2017 +0930

    is_underscore_target for ld-elf tests
    
    and correct targ_underscore in config.bfd
    
    bfd/
    	* config.bfd: Correct targ_underscore for epiphany, ip2k,
    	m32c, mn10200, pru, rl78, rx, crisv32 and v850.
    ld/
    	* testsuite/lib/ld-lib.exp (is_underscore_target): New.
    	* testsuite/ld-elf/elf.exp (ASFLAGS): Define UNDERSCORE.
    	* testsuite/ld-elf/pr21562a.s: If UNDERSCORE defined,
    	reference sym with prefix.
    	* testsuite/ld-elf/pr21562b.s: Likewise.
    	* testsuite/ld-elf/sizeof.s: Likewise.
    	* testsuite/ld-elf/startof.s: Likewise.
    	* testsuite/ld-elf/pr14156a.d: Adjust for extra symbols.
    	* testsuite/ld-elf/pr21562a.d: Remove underscore target from
    	xfails, and match prefixed symbol.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Likewise.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-elf/sizeofa.d: Likewise.
    	* testsuite/ld-elf/sizeofb.d: Likewise.
    	* testsuite/ld-elf/sizeofc.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofb.d: Likewise.
    	* testsuite/ld-elf/startofc.d: Likewise.

commit 99149362b110c0b243eecff05cdbda0d7260b412
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 18 00:00:37 2017 +0000

    Automatic date update in version.in

commit 1d4fbac99e05c2d2ea98984f9bc6f7d7f1a183b7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:19:25 2017 +0200

    Add ATTRIBUTE_PRINTF to trace_start_error
    
    clang complains that the fmt passed to vwarning in trace_start_error is
    not a literal.  This looks like a fair warning, which can be removed by
    adding ATTRIBUTE_PRINTF to the declaration of trace_start_error.
    
    gdb/ChangeLog:
    
    	* nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.

commit ae3e2ccfe75e5c62749c15ead5c95e052aad21ca
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:19:08 2017 +0200

    linux-low: Remove usage of "register" keyword
    
    AFAIK, the register keyword is not relevant today, and clang complains
    about it:
    
    /home/emaisin/src/binutils-gdb/gdb/gdbserver/linux-low.c:5873:3: error: 'register' storage class specifier is deprecated and incompatible with C++1z
          [-Werror,-Wdeprecated-register]
      register PTRACE_XFER_TYPE *buffer;
      ^~~~~~~~~
    
    I think we can safely remove it.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-low.c (linux_read_memory, linux_write_memory): Remove
    	usage of "register" keyword.

commit 8465943af6a6f756c3d4b077eb1081ade927b26b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:18:49 2017 +0200

    gdb: Add -Wno-mismatched-tags
    
    clang complains that for some types, we use both the class and struct
    keywords in different places.  It's not really a problem, so I think we
    can safely turn this warning off.
    
    gdb/ChangeLog:
    
    	* configure: Re-generate.
    	* warning.m4 (build_warnings): Add -Wno-mismatched-tags.
    
    gdb/gdbserver/ChangeLog:
    
    	* configure: Re-generate.

commit 3e019bdc20eb81b91ab5bc774386201b874c0bac
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:18:20 2017 +0200

    gdb: Use -Werror when checking for (un)supported warning flags
    
    In warning.m4, we pass all the warning flags one by one to the compiler
    to test if they are supported by this particular compiler.  If the
    compiler exits with an error, we conclude that this warning flag is not
    supported and exclude it.  This allows us to use warning flags without
    having to worry about which versions of which compilers support each
    flag.
    
    clang, by default, only emits a warning if an unknown flag is passed:
    
      warning: unknown warning option '-Wfoo' [-Wunknown-warning-option]
    
    The result is that we think that all the warning flags we use are
    supported by clang (they are not), and the compilation fails later when
    building with -Werror, since the aforementioned warning becomes an
    error.  The fix is to also pass -Werror when probing for supported
    flags, then we'll correctly get an error when using an unknown warning,
    and we'll exclude it:
    
      error: unknown warning option '-Wfoo' [-Werror,-Wunknown-warning-option]
    
    I am not sure why there is a change in a random comment in
    gdbserver/configure, but I suppose it's a leftfover from a previous
    patch, so I included it.
    
    gdb/ChangeLog:
    
    	* configure: Re-generate.
    	* warning.m4: Pass -Werror to compiler when checking for
    	supported warning flags.
    
    gdb/gdbserver/ChangeLog:
    
    	* configure: Re-generate.

commit cf0dd6f02cd45d6dbb6bd87dde25dd3ed74eb7d0
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 17 23:17:00 2017 +0200

    gdb: Pass -x c++ to the compiler
    
    Because we are compiling .c files containing C++ code, clang++ complains
    with:
    
      clang: error: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
    
    If renaming all the source files to .cpp is out of the question, an
    alternative is to pass "-x c++" to convince the compiler that we are
    really compiling C++.  It works fine with GCC too.
    
    gdb/ChangeLog:
    
    	* Makefile.in (COMPILE.pre): Add "-x c++".
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (COMPILE.pre): Add "-x c++".

commit 291e62953900e0f4998224127bc56239e421cda9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 17 00:00:41 2017 +0000

    Automatic date update in version.in

commit 6f98355cda4ac718855d247fd942553b1706549b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jun 16 15:38:42 2017 +0100

    extract/store integer function template
    
    This patch converts functions extract_{unsigned,signed}_integer
    to a function template extract_integer, which has two instantiations.  It
    also does the similar changes to store__{unsigned,signed}_integer,
    regcache::raw_read_{unsigned,signed}, regcache::raw_write_{unsigned,signed},
    regcache::cooked_read_{unsigned,signed},
    regcache::cooked_write_{unsigned,signed}.
    
    This patch was posted here
    https://sourceware.org/ml/gdb-patches/2017-05/msg00492.html but the
    problem was fixed in a different way.  However, I think the patch is still
    useful to shorten the code.
    
    gdb:
    
    2017-06-16  Alan Hayward  <alan.hayward@arm.com>
    	    Pedro Alves  <palves@redhat.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	* defs.h (RequireLongest): New.
    	(extract_integer): Declare function template.
    	(extract_signed_integer): Remove the declaration, but define it
    	static inline.
    	(extract_unsigned_integer): Likewise.
    	(store_integer): Declare function template.
    	(store_signed_integer): Remove the declaration, but define it
    	static inline.
    	(store_unsigned_integer): Likewise.
    	* findvar.c (extract_integer): New function template.
    	(extract_signed_integer): Remove.
    	(extract_unsigned_integer): Remove.
    	(extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
    	instantiations.
    	(store_integer): New function template.
    	(store_signed_integer): Remove.
    	(store_unsigned_integer): Remove.
    	(store_integer): Explicit instantiations.
    	* regcache.c (regcache_raw_read_signed): Update.
    	(regcache::raw_read): New function.
    	(regcache::raw_read_signed): Remove.
    	(regcache::raw_read_unsigned): Remove.
    	(regcache_raw_read_unsigned): Update.
    	(regcache_raw_write_unsigned): Update.
    	(regcache::raw_write_signed): Remove.
    	(regcache::raw_write): New function.
    	(regcache_cooked_read_signed): Update.
    	(regcache::raw_write_unsigned): Remove.
    	(regcache::cooked_read_signed): Remove.
    	(regcache_cooked_read_unsigned): Update.
    	(regcache::cooked_read_unsigned): Remove.
    	(regcache_cooked_write_signed): Update.
    	(regcache_cooked_write_unsigned): Update.
    	* regcache.h (regcache) <raw_read_signed>: Remove.
    	<raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
    	<raw_read, raw_write>: New.
    	<cooked_read_signed, cooked_write_signed>: Remove.
    	<cooked_write_unsigned, cooked_read_unsigned>: Remove.
    	<cooked_read, cooked_write>: New.
    	* sh64-tdep.c (sh64_pseudo_register_read): Update.
    	(sh64_pseudo_register_write): Update.

commit e197589b72e7b7b2db95c63acd58abb574b4249c
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 16 21:50:43 2017 +0930

    Regen rx-decode.c
    
    opcodes/
    	* rx-decode.c: Regenerate.

commit 4b48e2f6a50e85e5acc316289c4a6af693ad98f0
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 16 15:16:19 2017 +0100

    Fixing linking configure generated tests of ifunc support.
    
    	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
    	bucketlist is empty because there are no symbols to add to the
    	list.

commit 7dba9362c172f1073487536eb137feb2da30b0ff
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jun 16 19:41:41 2017 +0930

    Rewrite __start and __stop symbol handling
    
    This arranges for __start and __stop symbols to be defined before
    garbage collection, for all target formats.  That should allow the
    COFF and PE --gc-sections to keep a singleton orphan input section,
    a feature lost by 2017-06-13 commit cbd0eecf26.  The fancier ELF
    treatment of keeping all input sections associated with a __start or
    __stop symbol, from 2015-10-23 commit 1cce69b9dc, is retained.
    
    .startof. and .sizeof. symbols are deliberately not defined before
    garbage collection, so these won't affect garbage collection of
    sections.
    
    The patch also ensures __start, __stop, .startof. and .sizeof. symbols
    are defined before target size_dynamic_sections is called, albeit
    with a preliminary value, so that target code doesn't need to cope
    with a symbol changing from undefined at size_dynamic_sections to
    defined at relocate_section.
    
    Also, a number of problems with the testcases have been fixed.
    
    	PR ld/20022
    	PR ld/21557
    	PR ld/21562
    	PR ld/21571
    include/
    	* bfdlink.h (struct bfd_link_hash_entry): Delete undef.section.
    bfd/
    	* targets.c (struct bfd_target): Add _bfd_define_start_stop.
    	(BFD_JUMP_TABLE_LINK): Likewise.
    	* elf-bfd.h (bfd_elf_define_start_stop): Declare.
    	* elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
    	(bfd_elf_define_start_stop): New function.
    	* linker.c (bfd_generic_define_start_stop): New function.
    	* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
    	new field.
    	* aout-adobe.c (aout_32_bfd_define_start_stop): Define.
    	* aout-target.h (MY_bfd_define_start_stop): Define.
    	* aout-tic30.c (MY_bfd_define_start_stop): Define.
    	* binary.c (binary_bfd_define_start_stop): Define.
    	* bout.c (b_out_bfd_define_start_stop): Define.
    	* coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
    	* coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
    	* coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
    	* coffcode.h (coff_bfd_define_start_stop): Define.
    	* elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
    	* i386msdos.c (msdos_bfd_define_start_stop): Define.
    	* i386os9k.c (os9k_bfd_define_start_stop): Define.
    	* ieee.c (ieee_bfd_define_start_stop): Define.
    	* ihex.c (ihex_bfd_define_start_stop): Define.
    	* libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
    	* mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
    	* mmo.c (mmo_bfd_define_start_stop): Define.
    	* nlm-target.h (nlm_bfd_define_start_stop): Define.
    	* oasys.c (oasys_bfd_define_start_stop): Define.
    	* pef.c (bfd_pef_bfd_define_start_stop): Define.
    	* plugin.c (bfd_plugin_bfd_define_start_stop): Define.
    	* ppcboot.c (ppcboot_bfd_define_start_stop): Define.
    	* som.c (som_bfd_define_start_stop): Define.
    	* srec.c (srec_bfd_define_start_stop): Define.
    	* tekhex.c (tekhex_bfd_define_start_stop): Define.
    	* versados.c (versados_bfd_define_start_stop): Define.
    	* vms-alpha.c (vms_bfd_define_start_stop): Define.
    	(alpha_vms_bfd_define_start_stop): Define.
    	* xsym.c (bfd_sym_bfd_define_start_stop): Define.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    ld/
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't set
    	__start/__stop syms here.
    	* ldlang.c (lang_set_startof): Delete.
    	(start_stop_syms, start_stop_count, start_stop_alloc): New vars.
    	(lang_define_start_stop, lang_init_start_stop, foreach_start_stop,
    	undef_start_stop, lang_undef_start_stop, lang_init_startof_sizeof,
    	set_start_stop, lang_finalize_start_stop): New functions.
    	(lang_process): Call _start_stop functions.
    	* testsuite/ld-elf/pr21562a.d: Use xfail rather than notarget.
    	Correct typos and list of xfail targets.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Likewise.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-elf/sizeofa.d: Likewise.  Adjust to pass for generic ELF.
    	* testsuite/ld-elf/sizeofb.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofb.d: Likewise.

commit d68f19767dfbb33c1813563d5a4af0731a1855c5
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Jun 16 14:20:38 2017 +0100

    [AArch64] Use SYMBOL_REFERENCES_LOCAL in one symbol check
    
    For some pc-relative relocations we want to allow them under PIC mode while
    a normal global symbol defined in the same dynamic object can still bind
    externally through copy relocation.  So, we should not allow pc-relative
    relocation against such symbol.
    
    SYMBOL_REFERENCES_LOCAL should be used and is more accurate than the original
    individual checks.
    
    bfd/
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
    	SYMBOL_REFERENCES_LOCAL.
    ld/
    	* testsuite/ld-aarch64/aarch64-elf.exp: Update test name
    	* testsuite/ld-aarch64/pcrel.s: Add new testcases.
    	* testsuite/ld-aarch64/pcrel_pic_undefined.d: Update the expected
    	warnings.
    	* testsuite/ld-aarch64/pcrel_pic_defined_local.d: Rename ...
    	* testsuite/ld-aarch64/pcrel_pic_defined.d: ... to this.
    	Update expected warnings.

commit a87dc45adc983a8e6ec3db8d18cd31c35abd2048
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Feb 10 14:11:55 2017 +0300

    arc: Select CPU model properly before disassembling
    
    Enforce CPU model for disassembler via its options, if it was specified in XML
    target description, otherwise use default method of determining CPU implemented
    in disassembler - scanning ELF private header.  The latter requires
    disassemble_info->section to be properly initialized.  To make sure that
    info->section is set in all cases this patch partially reverts [1] for ARC: it
    reinstates arc_delayed_print_insn as a "print_insn" function for ARC, but
    now this function only sets disassemble_info->section and then calls
    default_print_insn to do the rest of the job.
    
    Support for CPU in disassembler options for ARC has been added in [2].
    
    [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=39503f82427e22ed8e04d986ccdc8562091ec62e
    [2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=10045478d984f9924cb945423388ba25b7dd3ffe
    
    gdb/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-tdep.c (arc_disassembler_options): New variable.
    	(arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
    	of default_print_insn.
    	(arc_delayed_print_insn): Set info->section when needed,
    	use default_print_insn to retrieve a disassembler.

commit c092b67bf0adb0fc1e179612b161e19938929e66
Author: Eric Christopher <echristo@gmail.com>
Date:   Thu Jun 15 18:46:17 2017 -0700

    2017-06-15  Eric Christopher  <echristo@gmail.com>
    
            * aarch64.cc: Fix a few	typos and grammar-os.

commit 00fd923b247530bd30f695b5bd899467536ad4f8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 16 00:00:27 2017 +0000

    Automatic date update in version.in

commit 75e06f9753af16bd8a4d864431ceb1a4cdd13f58
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 15 12:30:53 2017 -0700

    Correct "ld --help" to display "-z stack-size=SIZE"
    
    ELF Linker command line option to set stack size is "-z stack-size=SIZE",
    not "-z stacksize=SIZE".
    
    	* exsup.c (elf_shlib_list_options): Display "-z stack-size=SIZE"
    	instead of "-z stacksize=SIZE".

commit 6353d82b8fa825c2143f41e84b0d5d4446c6e99a
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 15 16:51:01 2017 +0100

    [AArch64] Allow COPY relocation elimination
    
      As discussed at the PR, this patch tries to avoid COPY relocation generation
    and propagate the original relocation into runtime if it was relocating on
    writable section.  The ELIMINATE_COPY_RELOCS has been set to true and it's
    underlying infrastructure has been improved so that the COPY reloc elimination
    at least working on absoluate relocations (ABS64) on AArch64.
    
      BFD linker copy relocation elimination framwork requires the backend to always
    allocate dynrelocs for all those relocation types that are possible to introduce
    copy relocations.  This is for adjust_dynamic_symbol hook to be able to get all
    symbol reference information.  Should one symbol is referenced by more than one
    relocations, if there is any of them needs copy relocation then linker should
    generate it.
    
    bfd/
    	PR ld/21532
    	* elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
    	(elfNN_aarch64_final_link_relocate): Also propagate relocations to
    	runtime for if there needs copy relocation elimination.
    	(need_copy_relocation_p): New function.  Return true for symbol with
    	pc-relative references and if it's against read-only sections.
    	(elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
    	(elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
    	that are related with accessing external objects.
    	(elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
    	in elfNN_aarch64_check_relocs.
    
    ld/
    	* testsuite/ld-aarch64/copy-reloc-exe-2.s: New test source file.
    	* testsuite/ld-aarch64/copy-reloc-2.d: New test.
    	* testsuite/ld-aarch64/copy-reloc-exe-eliminate.s: New test source file.
    	* testsuite/ld-aarch64/copy-reloc-eliminate.d: New test.
    	* testsuite/ld-aarch64/copy-reloc-so.s: Define new global objects.
    	* testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.

commit 8cac017d35ef374e65acc98818a17cf8a652cbd0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 15 08:21:48 2017 -0700

    i386-dis: Add 2 tests with invalid bnd register
    
    	PR binutils/21594
    	* testsuite/gas/i386/mpx.s: Add 2 tests with invalid bnd
    	register.
    	* testsuite/gas/i386/x86-64-mpx.s: Likewise.
    	* testsuite/gas/i386/mpx.d: Updated.
    	* testsuite/gas/i386/x86-64-mpx.d: Likewise.

commit 0d96e4df4812c3bad77c229dfef47a9bc115ac12
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 15 06:40:17 2017 -0700

    i386-dis: Check valid bnd register
    
    Since there are only 4 bnd registers, return "(bad)" for register
    number > 3.
    
    	PR binutils/21594
    	* i386-dis.c (OP_E_register): Check valid bnd register.
    	(OP_G): Likewise.

commit cd3ea7c69acc5045eb28f9bf80d923116e15e4f5
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 13:26:54 2017 +0100

    Prevent address violation problem when disassembling corrupt aarch64 binary.
    
    	PR binutils/21595
    	* aarch64-dis.c (aarch64_ext_ldst_reglist): Check for an out of
    	range value.

commit 62b76e4b6e0b4cb5b3e0053d1de4097b32577049
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 13:08:47 2017 +0100

    Fix address violation parsing a corrupt ieee binary.
    
    	PR binutils/21581
    	(ieee_archive_p): Use a static buffer to avoid compiler bugs.

commit 63634bb4a107877dd08b6282e28e11cfd1a1649e
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 12:44:23 2017 +0100

    Avoid a possible compiler bug by using a static buffer instead of a stack local buffer.
    
    	PR binutils/21582
    	* ieee.c (ieee_object_p): Use a static buffer to avoid compiler
    	bugs.

commit 63323b5b23bd83fa7b04ea00dff593c933e9b0e3
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 12:37:01 2017 +0100

    Fix address violation when disassembling a corrupt RL78 binary.
    
    	PR binutils/21588
    	* rl78-decode.opc (OP_BUF_LEN): Define.
    	(GETBYTE): Check for the index exceeding OP_BUF_LEN.
    	(rl78_decode_opcode): Use OP_BUF_LEN as the length of the op_buf
    	array.
    	* rl78-decode.c: Regenerate.

commit 76800cba595efc3fe95a446c2d664e42ae4ee869
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 12:08:57 2017 +0100

    Handle EITR records in VMS Alpha binaries with overlarge command length parameters.
    
    	PR binutils/21579
    	* vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.

commit 08c7881b814c546efc3996fd1decdf0877f7a779
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jun 15 11:52:02 2017 +0100

    Prevent invalid array accesses when disassembling a corrupt bfin binary.
    
    	PR binutils/21586
    	* bfin-dis.c (gregs): Clip index to prevent overflow.
    	(regs): Likewise.
    	(regs_lo): Likewise.
    	(regs_hi): Likewise.

commit 37de058ab2e9619fbb6dea52ec2773a5d65619c4
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 15 10:35:28 2017 +0100

    [GOLD] Don't install branch-to-stub for TLS relaxed ERRATUM 843419 sequences on AArch64
    
    TLS relaxation may change erratum 843419 sequences that those offending ADRP
    instructions actually transformed into other instructions in which case there
    is erratum 843419 risk anymore that we should avoid installing unnecessary
    branch-to-stub.
    
    gold/
            * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method.
            (AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized):
            Return ture for some TLS relaxed sequences.

commit 45159d6ad394fe7db840b2b92eaa69508b8a8fe7
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Jun 14 16:45:20 2017 -0400

    PR gdb/21574: Mention $SHELL and startup-with-shell on "help run"
    
    This simple patch updates the documentation of "help run" in order to
    mention that the shell used to start the inferior comes from the
    $SHELL environment variable.  It also mentions that this behaviour can
    be disabled by using the "set startup-with-shell off" command.
    
    gdb/ChangeLog:
    2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21574
    	* infcmd.c (_initialize_infcmd): Expand "help run" documentation
    	to mention $SHELL and startup-with-shell.

commit 6e89f899896fd596527d24de6a8a98bc633805fb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 15 00:00:48 2017 +0000

    Automatic date update in version.in

commit f7e16c2a9cc405707e646e951397938d2b4eea48
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Wed May 17 02:09:14 2017 -0700

    xtensa: don't expect XCHAL_* macros to be constant
    
    Get rid of the assumption that XCHAL_* macros are preprocessor
    constants: don't use them in preprocessor conditionals or in static
    variable initializers.
    
    2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
    bfd/
    	* elf32-xtensa.c (elf_xtensa_be_plt_entry,
    	elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
    	keep both windowed and call0 ABI PLT definitions.
    	(elf_xtensa_create_plt_entry): Use selected ABI to choose upper
    	elf_xtensa_*_plt_entry endex.
    	(ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
    
    gas/
    	* config/tc-xtensa.c (density_supported, xtensa_fetch_width,
    	absolute_literals_supported): Leave definitions uninitialized.
    	(directive_state): Leave entries for directive_density and
    	directive_absolute_literals initialized to false.
    	(xg_init_global_config, xtensa_init): New functions.
    	* config/tc-xtensa.h (TARGET_BYTES_BIG_ENDIAN): Define as 0.
    	(HOST_SPECIAL_INIT): New definition.
    	(xtensa_init): New declaration.

commit b46c4cf0908b05ab493d4f30e9a52a887ee118fd
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Tue Jun 13 10:26:55 2017 -0700

    Maxim Grigoriev stepping down as Xtensa maintainer
    
    gdb/
    2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.

commit e64519d1ed7fd8f990f05a5562d5b5c0c44b7d7e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 17:10:28 2017 +0100

    Fix seg-fault when trying to disassemble a corrupt score binary.
    
    	PR binutils/21576
    	* score7-dis.c (score_opcodes): Add sentinel.

commit f461bbd847f15657f3dd2f317c30c75a7520da1f
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 17:01:54 2017 +0100

    Fix address violation bug when disassembling a corrupt SH binary.
    
    	PR binutils/21578
    	* elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
    	flag value.

commit ae87f7e73eba29bd38b3a9684a10b948ed715612
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 16:50:03 2017 +0100

    Fix address violation when disassembling a corrupt binary.
    
    	PR binutils/21580
    binutils * objdump.c (disassemble_bytes): Check for buffer overrun when
    	printing out rae insns.
    
    ld	* testsuite/ld-nds32/diff.d: Adjust expected output.

commit 6394c606997f88acfc80de4dff33a4ae2de987b4
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jun 14 16:28:30 2017 +0100

    Don't use print_insn_XXX in GDB
    
    This is a follow-up to
    
      [PATCH 0/6] Unify the disassembler selection in gdb and objdump
      https://sourceware.org/ml/binutils/2017-05/msg00192.html
    
    that is, opcodes is able to select the right disassembler, so gdb
    doesn't have to select them.  Instead, gdb can just use
    default_print_insn.  As a result, these print_insn_XXX are not used
    out of opcodes, so this patch also moves their declarations from
    include/dis-asm.h to opcodes/disassemble.h.  With this change,
    GDB doesn't use any print_insn_XXX directly any more.
    
    gdb:
    
    2017-06-14  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_gdb_print_insn): Call
    	default_print_insn instead of print_insn_aarch64.
    	* arm-tdep.c (gdb_print_insn_arm): Call
    	default_print_insn instead of print_insn_big_arm
    	and print_insn_little_arm.
    	* i386-tdep.c (i386_print_insn): Call default_print_insn
    	instead of print_insn_i386.
    	* ia64-tdep.c (ia64_print_insn): Call
    	default_print_insn instead of print_insn_ia64.
    	* mips-tdep.c (gdb_print_insn_mips): Call
    	default_print_insn instead of print_insn_big_mips
    	and print_insn_little_mips.
    	* spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
    	instead of print_insn_spu.
    
    include:
    
    2017-06-14  Yao Qi  <yao.qi@linaro.org>
    
    	* dis-asm.h (print_insn_aarch64): Move it to opcodes/disassemble.h.
    	(print_insn_big_arm, print_insn_big_mips): Likewise.
    	(print_insn_i386, print_insn_ia64): Likewise.
    	(print_insn_little_arm, print_insn_little_mips): Likewise.
    	(print_insn_spu): Likewise.
    
    opcodes:
    
    2017-06-14  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-dis.c: Include disassemble.h instead of dis-asm.h.
    	* arm-dis.c: Likewise.
    	* ia64-dis.c: Likewise.
    	* mips-dis.c: Likewise.
    	* spu-dis.c: Likewise.
    	* disassemble.h (print_insn_aarch64): New declaration, moved from
    	include/dis-asm.h.
    	(print_insn_big_arm, print_insn_big_mips): Likewise.
    	(print_insn_i386, print_insn_ia64): Likewise.
    	(print_insn_little_arm, print_insn_little_mips): Likewise.

commit 99031bafd6e81a41553803886c6b245cb0ab89d9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 06:11:48 2017 -0700

    xfail pr20022.d on targets without dynamic relocs in .text
    
    ld-gc/pr20022.d requires support for dynamic relocations in .text
    section.
    
    	PR ld/20022
    	* testsuite/ld-gc/pr20022.d: Skip on targets without dynamic
    	relocations in .text section.

commit 8eca1095d96c215409371c5687573aac89a0a980
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 04:36:17 2017 -0700

    Skip PR ld/21562 tests on targets with leading char or without --gc-sections
    
    Symbol lookup in linker will always fail on targets with leading char
    in symbol name since __start_SECNAME and __stop_SECNAME in C may be
    ___start_SECNAME and ___stop_SECNAME in assembly.  Also tests with
    --gc-sections always fails on targets without --gc-sections support.
    
    	* testsuite/ld-elf/pr21562a.d: Skip on targets with leading char
    	in in symbol name or without --gc-sections.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Skip on targets with leading char
    	in symbol name.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.

commit f78d1b3ae1cee2bc1a2be4b3c30df9627e13fdc1
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 05:51:59 2017 -0700

    Add size to bar in ld-gc/pr20022a.s
    
    Some linker backends require size info on dynamic symbols.
    
    	* testsuite/ld-gc/pr20022a.s: Add size to bar.

commit b6947a7f08011375120186688bf2efd866f7d148
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 05:49:02 2017 -0700

    Skip sizeof/startof tests on targets with leading char
    
    Symbol lookup in linker will always fail on targets with leading char
    in symbol name since __start_SECNAME and __stop_SECNAME in C may be
    ___start_SECNAME and ___stop_SECNAME in assembly.
    
    	* testsuite/ld-elf/sizeofa.d: Skip on targets with leading char
    	in symbol name.
    	* testsuite/ld-elf/sizeofb.d: Likewise.
    	* testsuite/ld-elf/startofa.d: Likewise.
    	* testsuite/ld-elf/startofb.d: Likewise.

commit db5fa770268baf8cc82cf9b141d69799fd485fe2
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 13:35:06 2017 +0100

    Fix address violation problems when disassembling a corrupt RX binary.
    
    	PR binutils/21587
    	* rx-decode.opc: Include libiberty.h
    	(GET_SCALE): New macro - validates access to SCALE array.
    	(GET_PSCALE): New macro - validates access to PSCALE array.
    	(DIs, SIs, S2Is, rx_disp): Use new macros.
    	* rx-decode.c: Regenerate.

commit 5524b5250e319f41933605420e9526fb74cfb9ae
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Jun 14 14:24:03 2017 +0200

    Fix register selection in var-access.exp
    
    The new test var-access.exp causes FAILs on i686.  This is because the
    test chooses the wrong name for DWARF register number 1: It uses
    "edx" (which corresponds to DWARF register number 2), but should have used
    "ecx" instead.
    
    Also, the current logic in var-access.exp does not correctly distinguish
    between a 64-bit and a 32-bit program on an x86-64 target.  It uses the
    64-bit register names for both.
    
    These problems are fixed.  In order to address the latter, the convenience
    macros is_*_target are exploited where appropriate.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.exp: Use register name ecx instead of edx
    	on 32-bit x86 targets.  Exploit is_*_target macros where
    	appropriate.

commit 4c0b797e0d2005780d8f0300f0ccc14b9d7c13b5
Author: Georg-Johann Lay <gjl@gcc.gnu.org>
Date:   Wed Jun 14 12:23:39 2017 +0100

    Move location of .jumptables section and add .hightext section to AVR linker script.
    
    	PR ld/21583
    	* scripttempl/avr.sc (.jumptables): Move down in text section.
    	(.hightext): New in text.

commit c53d2e6d744da000aaafe0237bced090aab62818
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 11:27:15 2017 +0100

    Fix potential address violations when processing a corrupt Alpha VMA binary.
    
    	PR binutils/21589
    	* vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
    	maximum value for the ascic pointer.  Check that name processing
    	does not read beyond this value.
    	(_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
    	end of etir record.

commit d5722aa2fe9e1d76d98865a9ab77a7b9388743c9
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jun 14 11:08:52 2017 +0100

    Introduce gdb::byte_vector, add allocator that default-initializes
    
    In some cases we've been replacing heap-allocated gdb_byte buffers
    managed with xmalloc/make_cleanup(xfree) with gdb::vector<gdb_byte>.
    That usually pessimizes the code a little bit because std::vector
    value-initializes elements (which for gdb_byte means
    zero-initialization), while if you're creating a temporary buffer,
    you're most certaintly going to fill it in with some data.  An
    alternative is to use
    
      unique_ptr<gdb_byte[]> buf (new gdb_byte[size]);
    
    but it looks like that's not very popular.
    
    Recently, a use of obstacks in dwarf2read.c was replaced with
    std::vector<gdb_byte> and that as well introduced a pessimization for
    always memsetting the buffer when it's garanteed that the zeros will
    be overwritten immediately.  (see dwarf2read.c change in this patch to
    find it.)
    
    So here's a different take at addressing this issue "by design":
    
    #1 - Introduce default_init_allocator<T>
    
    I.e., a custom allocator that does default construction using default
    initialization, meaning, no more zero initialization.  That's the
    default_init_allocation<T> class added in this patch.
    
    See "Notes" at
    <http://en.cppreference.com/w/cpp/container/vector/resize>.
    
    #2 - Introduce def_vector<T>
    
    I.e., a convenience typedef, because typing the allocator is annoying:
    
      using def_vector<T> = std::vector<T, gdb::default_init_allocator<T>>;
    
    #3 - Introduce byte_vector
    
    Because gdb_byte vectors will be the common thing, add a convenience
    "byte_vector" typedef:
    
      using byte_vector = def_vector<gdb_byte>;
    
    which is really the same as:
    
      std::vector<gdb_byte, gdb::default_init_allocator<gdb_byte>>;
    
    The intent then is to make "gdb::byte_vector" be the go-to for dynamic
    byte buffers.  So the less friction, the better.
    
    #4 - Adjust current code to use it.
    
    To set the example going forward.  Replace std::vector uses and also
    unique_ptr<byte[]> uses.
    
    One nice thing is that with this allocator, for changes like these:
    
      -std::unique_ptr<byte[]> buf (new gdb_byte[some_size]);
      +gdb::byte_vector buf (some_size);
       fill_with_data (buf.data (), buf.size ());
    
    the generated code is the same as before.  I.e., the compiler
    de-structures the vector and gets rid of the unused "reserved vs size"
    related fields.
    
    The other nice thing is that it's easier to write
      gdb::byte_vector buf (size);
    than
      std::unique_ptr<gdb_byte[]> buf (new gdb_byte[size]);
    or even (C++14):
      auto buf = std::make_unique<gdb_byte[]> (size); // zero-initializes...
    
    #5 - Suggest s/std::vector<gdb_byte>/gdb::byte_vector/ going forward.
    
    Note that this commit actually fixes a couple of bugs where the current
    code is incorrectly using "std::vector::reserve(new_size)" and then
    accessing the vector's internal buffer beyond the vector's size: see
    dwarf2loc.c and charset.c.  That's undefined behavior and may trigger
    debug mode assertion failures.  With default_init_allocator,
    "resize()" behaves like "reserve()" performance wise, in that it
    leaves new elements with unspecified values, but, it does that safely
    without triggering undefined behavior when you access those values.
    
    gdb/ChangeLog:
    2017-06-14  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c: Include "common/byte-vector.h".
    	(ada_value_primitive_packed_val): Use gdb::byte_vector.
    	* charset.c (wchar_iterator::iterate): Resize the vector instead
    	of reserving it.
    	* common/byte-vector.h: Include "common/def-vector.h".
    	(wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
    	* cli/cli-dump.c: Include "common/byte-vector.h".
    	(dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
    	* common/byte-vector.h: New file.
    	* common/def-vector.h: New file.
    	* common/default-init-alloc.h: New file.
    	* dwarf2loc.c: Include "common/byte-vector.h".
    	(rw_pieced_value): Use gdb::byte_vector, and resize the vector
    	instead of reserving it.
    	* dwarf2read.c: Include "common/byte-vector.h".
    	(data_buf::m_vec): Now a gdb::byte_vector.
    	* gdb_regex.c: Include "common/def-vector.h".
    	(compiled_regex::compiled_regex): Use gdb::def_vector<char>.
    	* mi/mi-main.c: Include "common/byte-vector.h".
    	(mi_cmd_data_read_memory): Use gdb::byte_vector.
    	* printcmd.c: Include "common/byte-vector.h".
    	(print_scalar_formatted): Use gdb::byte_vector.
    	* valprint.c: Include "common/byte-vector.h".
    	(maybe_negate_by_bytes, print_decimal_chars): Use
    	gdb::byte_vector.

commit 05c966f3c98d6126404f1cd7f233148a89810b5d
Author: Andre Vieira <andre.simoesdiasvieira@arm.com>
Date:   Wed Jun 14 10:52:40 2017 +0100

    [opcodes][arm] Remove bogus entry added by accident in former patch
    
    2017-07-14  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    
    	* arm-dis.c (print_insn_arm): Remove bogus entry for bx.

commit 04f963fd489cae724a60140e13984415c205f4ac
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jun 14 10:35:16 2017 +0100

    Fix seg-faults in objdump when disassembling a corrupt versados binary.
    
    	PR binutils/21591
    	* versados.c (versados_mkobject): Zero the allocated tdata structure.
    	(process_otr): Check for an invalid offset in the otr structure.

commit 319c2dbe240a797c6f9436bfd64f5c16045ad5a1
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Tue Jun 13 07:48:40 2017 +0200

    Accept more epiphany targets
    
    In particular this adds support for the epiphany-rtems target.
    
    bfd/
    	* config.bfd (epiphany-*-elf): Accept epiphany-*-*.
    
    ld/
    	* configure.tgt (epiphany-*-elf): Accept epiphany-*-*.

commit f9a36b297d470a72ead64ed07cd5f313d9d7a502
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 14 00:00:25 2017 +0000

    Automatic date update in version.in

commit b27685f2016c510d03ac9a64f7b04ce8efcf95c4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 13:04:56 2017 -0700

    ld: Don't define __start_SECNAME/__stop_SECNAME for -r
    
    __start_SECNAME and __stop_SECNAME shouldn't be defined for "ld -r".
    
    	* ldlang.c (lang_set_startof): Skip if config.build_constructors
    	is FALSE.
    	* testsuite/ld-elf/sizeofc.d: New file.
    	* testsuite/ld-elf/startofc.d: Likewise.

commit 01ec7a272201de84be1ca2c557e58d97891f288c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 13 21:14:50 2017 +0200

    darwin-nat: Add missing include
    
    I forgot this one, which is kind of related.
    
    The function trace_start_error_with_name has moved in commit "Share
    fork_inferior et al with gdbserver", so this additional include is
    needed.
    
    Fixes:
    
    darwin-nat.c:1735:5: error: use of undeclared identifier 'trace_start_error_with_name'
        trace_start_error_with_name ("close");
    
    gdb/ChangeLog:
    
    	* darwin-nat.c: Include "nat/fork-inferior.h".

commit 848d907446d738604d11ab4061f3b0a8b23d4504
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 13 21:14:35 2017 +0200

    darwin: Add fork-inferior.o to NATDEPFILES
    
    I happened to be build-testing on macOS and found this:
    
      Undefined symbols for architecture x86_64:
    
        "fork_inferior(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))", referenced from:
    
            darwin_create_inferior(target_ops*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char**, int) in darwin-nat.o
    
        "startup_inferior(int, int, target_waitstatus*, ptid_t*)", referenced from:
    
            gdb_startup_inferior(int, int) in fork-child.o
    
        "trace_start_error(char const*, ...)", referenced from:
    
            darwin_ptrace_me() in darwin-nat.o
    
        "trace_start_error_with_name(char const*)", referenced from:
    
            darwin_ptrace_me() in darwin-nat.o
    
      ld: symbol(s) not found for architecture x86_64
    
      clang: error: linker command failed with exit code 1 (use -v to see invocation)
    
    Adding fork-inferior.o fixes it.  I factored out the Darwin bits that
    are no architecture-specific in the section meant for that at the top.
    
    I only built-tested this using Travis-CI, since I don't have access to
    this platform.
    
    gdb/ChangeLog:
    
    	* configure.nat: Factor out Darwin bits that are not
    	architecture-specific.  Add fork-inferior.o.

commit 3b912944f4257dd935c91b77a51bc2e4baa1018e
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 13 21:14:25 2017 +0200

    aix: Add fork-inferior.o to NATDEPFILES
    
    Trying to build on AIX gives:
    
    ld: 0711-317 ERROR: Undefined symbol: .trace_start_error_with_name(char const*)
    ld: 0711-317 ERROR: Undefined symbol: .fork_inferior(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))
    ld: 0711-317 ERROR: Undefined symbol: .startup_inferior(int, int, target_waitstatus*, ptid_t*)
    
    Including fork-inferior.o in the build should help.  I also factored out
    the AIX bits that are not architecture-specific to be consistent with the other
    OSes.
    
    gdb/ChangeLog:
    
    	* configure.nat: Factor out AIX bits that are not
    	architecture-specific.  Add fork-inferior.o.

commit da614360f520b84a9c87506eb0c880f7a056468b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 12:03:40 2017 -0700

    ld: Add tests for .startof.SECNAME/.sizeof.SECNAME
    
    	* testsuite/ld-elf/sizeof.d: Renamed to ...
    	* testsuite/ld-elf/sizeofa.d: This.  Updated.
    	* testsuite/ld-elf/startof.d: Renamed to ...
    	* testsuite/ld-elf/startofa.d: This.  Updated.
    	* testsuite/ld-elf/sizeofb.d: New file.
    	* testsuite/ld-elf/startofb.d: Likewise.

commit cbd0eecf261c2447781f8c89b0d955ee66fae7e9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 08:53:22 2017 -0700

    Always define referenced __start_SECNAME/__stop_SECNAME
    
    Currently, linker will define __start_SECNAME and __stop_SECNAME symbols
    only for orphaned sections.
    
    However, during garbage collection, ELF linker marks all sections with
    references to __start_SECNAME and __stop_SECNAME symbols as used even
    when section SECNAME isn't an orphaned section and linker won't define
    __start_SECNAME nor __stop_SECNAME.  And ELF linker stores the first
    input section whose name matches __start_SECNAME or __stop_SECNAME in
    u.undef.section for garbage collection.  If these symbols are provided
    in linker script, u.undef.section is set to the section where they will
    defined by linker script, which leads to the incorrect output.
    
    This patch changes linker to always define referenced __start_SECNAME and
    __stop_SECNAME if the input section name is the same as the output section
    name, which is always true for orphaned sections, and SECNAME is a C
    identifier.  Also __start_SECNAME and __stop_SECNAME symbols are marked
    as hidden by ELF linker so that __start_SECNAME and __stop_SECNAME symbols
    for section SECNAME in different modules are unique.  For garbage
    collection, ELF linker stores the first matched input section in the
    unused vtable field.
    
    bfd/
    
    	PR ld/20022
    	PR ld/21557
    	PR ld/21562
    	PR ld/21571
    	* elf-bfd.h (elf_link_hash_entry): Add start_stop.  Change the
    	vtable field to a union.
    	(_bfd_elf_is_start_stop): Removed.
    	* elf32-i386.c (elf_i386_convert_load_reloc): Also check for
    	__start_SECNAME and __stop_SECNAME symbols.
    	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
    	* elflink.c (_bfd_elf_is_start_stop): Removed.
    	(_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
    	_bfd_elf_is_start_stop.
    	(elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
    	__stop_SECNAME symbols.  Updated.
    	(elf_gc_smash_unused_vtentry_relocs): Likewise.
    	(bfd_elf_gc_record_vtinherit): Likewise.
    	(bfd_elf_gc_record_vtentry): Likewise.
    
    ld/
    
    	PR ld/20022
    	PR ld/21557
    	PR ld/21562
    	PR ld/21571
    	* ld.texinfo: Update __start_SECNAME/__stop_SECNAME symbols.
    	* ldlang.c (lang_insert_orphan): Move handling of __start_SECNAME
    	and __stop_SECNAME symbols to ...
    	(lang_set_startof): Here.  Also define __start_SECNAME and
    	__stop_SECNAME for -Ur.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Mark
    	referenced __start_SECNAME and __stop_SECNAME symbols as hidden
    	and set start_stop for garbage collection.
    	* testsuite/ld-elf/pr21562a.d: New file.
    	* testsuite/ld-elf/pr21562a.s: Likewise.
    	* testsuite/ld-elf/pr21562a.t: Likewise.
    	* testsuite/ld-elf/pr21562b.d: Likewise.
    	* testsuite/ld-elf/pr21562b.s: Likewise.
    	* testsuite/ld-elf/pr21562b.t: Likewise.
    	* testsuite/ld-elf/pr21562c.d: Likewise.
    	* testsuite/ld-elf/pr21562c.t: Likewise.
    	* testsuite/ld-elf/pr21562d.d: Likewise.
    	* testsuite/ld-elf/pr21562d.t: Likewise.
    	* testsuite/ld-elf/pr21562e.d: Likewise.
    	* testsuite/ld-elf/pr21562f.d: Likewise.
    	* testsuite/ld-elf/pr21562g.d: Likewise.
    	* testsuite/ld-elf/pr21562h.d: Likewise.
    	* testsuite/ld-elf/pr21562i.d: Likewise.
    	* testsuite/ld-elf/pr21562j.d: Likewise.
    	* testsuite/ld-elf/pr21562k.d: Likewise.
    	* testsuite/ld-elf/pr21562l.d: Likewise.
    	* testsuite/ld-elf/pr21562m.d: Likewise.
    	* testsuite/ld-elf/pr21562n.d: Likewise.
    	* testsuite/ld-gc/pr20022.d: Likewise.
    	* testsuite/ld-gc/pr20022a.s: Likewise.
    	* testsuite/ld-gc/pr20022b.s: Likewise.
    	* testsuite/ld-gc/gc.exp: Run PR ld/20022 tests.
    	* testsuite/ld-gc/pr19161.d: Also accept local __start_SECNAME
    	symbol.
    	* testsuite/ld-gc/start.d: Likewise.
    	* testsuite/ld-x86-64/lea1a.d: Updated.
    	* testsuite/ld-x86-64/lea1b.d: Updated.
    	* testsuite/ld-x86-64/lea1d.d: Updated.
    	* testsuite/ld-x86-64/lea1e.d: Likewise.

commit 6490dc678bc35f2204afb38449de5127ef8bcca0
Author: Georg-Johann Lay <avr@gjlay.de>
Date:   Tue Jun 13 16:50:26 2017 +0100

    Replace multiple AVR scripts with a single, customizable linker script.
    
    	PR ld/21569
            * scripttempl/avrtiny.sc: Remove file.
    	* Makefile.am (eavrtiny.c): Depend on avr.sc, no more on avrtiny.sc.
    	* Makefile.in: Regenerate.
    	* emulparams/avrtiny.sh (SCRIPT_NAME): Set var to "avr".
    	(TEXT_ORIGIN): Remove var.
    	(FUSE_NAME, FUSE_LENGTH, LOCK_LENGTH, SIGNATURE_LENGTH)
    	(RODATA_PM_OFFSET): Set new vars.
    	* emulparams/avr1.sh (FUSE_NAME, EEPROM_LENGTH, FUSE_LENGTH)
    	(LOCK_LENGTH, SIGNATURE_LENGTH, USER_SIGNATURE_LENGTH): Set new vars.
    	* emulparams/avr2.sh: Same.
    	* emulparams/avr25.sh: Same.
    	* emulparams/avr3.sh: Same.
    	* emulparams/avr31.sh: Same.
    	* emulparams/avr35.sh: Same.
    	* emulparams/avr4.sh: Same.
    	* emulparams/avr5.sh: Same.
    	* emulparams/avr51.sh: Same.
    	* emulparams/avr6.sh: Same.
    	* emulparams/avrxmega1.sh: Same.
    	* emulparams/avrxmega2.sh: Same.
    	* emulparams/avrxmega3.sh: Same.
    	* emulparams/avrxmega4.sh: Same.
    	* emulparams/avrxmega5.sh: Same.
    	* emulparams/avrxmega6.sh: Same.
    	* emulparams/avrxmega7.sh: Same.
    	* scripttempl/avr.sc (__EEPROM_REGION_LENGTH__): Only define
    	if EEPROM_LENGTH is set.
    	(MEMORY) [eeprom]: Same.
    	(SECTIONS) [.eeprom]: Same for output section.
    	(__USER_SIGNATURE_REGION_LENGTH__): Only define if
    	USER_SIGNATURE_LENGTH is set.
    	(MEMORY) [user_signatures]: Same.
    	(SECTIONS) [.fuse]: Only define output section if FUSE_NAME = fuse.
    	(SECTIONS) [.config]: Only define output section if FUSE_NAME = config.

commit dc74becf498f60c842d81eb6e98cfcbc3f167c22
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 08:18:19 2017 -0700

    ld: Add tests for -Ur
    
    Test -Ur with __start_SECNAME, __stop_SECNAME, .startof.SECNAME and
    .sizeof.SECNAME.  __start_SECNAME and __stop_SECNAME should be defined
    to the start and the end of section SECNAME.  .startof.SECNAME and
    .sizeof.SECNAME should be undefined.
    
    	* testsuite/ld-elf/sizeof.d: New file.
    	* testsuite/ld-elf/sizeof.s: Likewise.
    	* testsuite/ld-elf/startof.d: Likewise.
    	* testsuite/ld-elf/startof.s: Likewise.

commit 8569cfa78c2cc8b5ef66b0bebddcc0e63231fb51
Author: Renlin Li <renlin.li@arm.com>
Date:   Tue Jun 13 14:03:47 2017 +0100

    [LD][Testsuite] Add --no-dynamic-linker option to dynamic-1 rdynamic-1 test case.
    
    arm-none-eabi-ld supports shared libraries. However, the toolchain may be
    configured to generate statically linked executable by default.
    
    It is required to have --no-dynamic-linker option before adding dynamic symbol
    to static executable.
    For dynamically linked executable, the behavior won't change.
    
    ld/ChangeLog
    2017-06-13  Renlin Li  <renlin.li@arm.com>
    
    	* testsuite/ld-elf/shared.exp (build_tests): Add --no-dynamic-linker
    	option to rdynamic-1 and dynamic-1 tests.

commit 55acdf2242372ae52abb25c80db8e75df5578b23
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:32 2017 +0200

    read/write_pieced_value: Merge into one function
    
    Since read_pieced_value and write_pieced_value share significant logic,
    this patch merges them into a single function rw_pieced_value.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
    	(read_pieced_value, write_pieced_value): ...here.  Reduce to
    	wrappers that just call rw_pieced_value.

commit f65e204425b5b46a5927d9501c42f25d98a866ce
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:32 2017 +0200

    write_pieced_value: Notify memory_changed observers
    
    So far write_pieced_value uses write_memory when writing memory pieces to
    the target.  However, this is a case where GDB potentially overwrites a
    watchpoint value.  In such a case write_memory_with_notification should be
    used instead, so that memory_changed observers get notified.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): When writing the data for a
    	memory piece, use write_memory_with_notification instead of
    	write_memory.

commit 23f945bf8cebf348154aff43782de2e1977e9230
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:31 2017 +0200

    Fix bit-/byte-offset mismatch in parameter to read_value_memory
    
    The function read_value_memory accepts a parameter embedded_offset and
    expects it to represent the byte offset into the given value.  However,
    the only invocation with a possibly non-zero embedded_offset happens in
    read_pieced_value, where a bit offset is passed instead.
    
    Adjust the implementation of read_value_memory to meet the caller's
    expectation.  This implicitly fixes the invocation in read_pieced_value.
    
    gdb/ChangeLog:
    
    	* valops.c (read_value_memory): Change embedded_offset to
    	represent a bit offset instead of a byte offset.
    	* value.h (read_value_memory): Adjust comment.

commit f236533e3c6a2693bea879b2a4d24d1229864ac9
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:31 2017 +0200

    read/write_pieced_value: Remove unnecessary variable copies
    
    In read_pieced_value's main loop, the variables `dest_offset_bits' and
    `source_offset_bits' are basically just copies of `offset' and
    `bits_to_skip', respectively.  In write_pieced_value the copies are
    reversed.  This is not very helpful when trying to keep the logic between
    these functions in sync.  Since the copies are unnecessary, this patch
    just removes them.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Remove unnecessary variables
    	dest_offset_bits and source_offset_bits.
    	(write_pieced_value): Likewise.

commit 65d84b76164dc8ec1a1f0f0e0fd41667065ffd4e
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:31 2017 +0200

    Respect piece offset for DW_OP_bit_piece
    
    So far GDB ignores the piece offset of all kinds of DWARF bit
    pieces (DW_OP_bit_piece) and treats such pieces as if the offset was zero.
    
    This is fixed, and an appropriate test is added.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Respect the piece offset, as
    	given by DW_OP_bit_piece.
    	(write_pieced_value): Likewise.
    
      Andreas Arnez  <arnez@linux.vnet.ibm.com>
    
    	* gdb.dwarf2/var-access.exp: Add test for composite location with
    	nonzero piece offsets.

commit 242d31ab7c3901e02bd68c1824d1d3610e02562b
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:30 2017 +0200

    read/write_pieced_value: Improve logic for buffer allocation
    
    So far the main loop in read_pieced_value and write_pieced_value is
    structured like this:
    
    (1) Prepare a buffer and some variables we may need;
    
    (2) depending on the DWARF piece type to be handled, use the buffer and
        the prepared variables, ignore them, or even recalculate them.
    
    This approach reduces readability and may also lead to unnecessary copying
    of data.  This patch moves the preparations to the places where sufficient
    information is available and removes some of the variables involved.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Move the buffer allocation and
    	some other preparations to the places where sufficient information
    	is available.
    	(write_pieced_value): Likewise.

commit 03c8af18d1a8f359fd023696848bda488119da60
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:30 2017 +0200

    Fix handling of DWARF register pieces on big-endian targets
    
    For big-endian targets the logic in read/write_pieced_value tries to take
    a register piece from the LSB end.  This requires offsets and sizes to be
    adjusted accordingly, and that's where the current implementation has some
    issues:
    
    * The formulas for recalculating the bit- and byte-offsets into the
      register are wrong.  They just happen to yield correct results if
      everything is byte-aligned and the piece's last byte belongs to the
      given value.
    
    * After recalculating the bit offset into the register, the number of
      bytes to be copied from the register is not recalculated.  Of course
      this does not matter if everything (particularly the piece size) is
      byte-aligned.
    
    These issues are fixed.  The size calculation is performed with a new
    helper function bits_to_bytes().
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (bits_to_bytes): New function.
    	(read_pieced_value): Fix offset calculations for register pieces
    	on big-endian targets.
    	(write_pieced_value): Likewise.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.exp: Add test for non-byte-aligned
    	register pieces.

commit 840989c113433c069f54872d7e051e1572202326
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:30 2017 +0200

    read/write_pieced_value: Drop 'buffer_size' variable
    
    When the variable 'buffer_size' in read_pieced_value and
    write_pieced_value was introduced, it was needed for tracking the buffer's
    allocated size.  Now that the buffer's data type has been changed to a
    std::vector, the variable is no longer necessary; so remove it.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
    	(write_pieced_value): Likewise.

commit 3bf310110722b03d9ff9c4f34f5920a9be2878d0
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:29 2017 +0200

    Add DWARF piece test cases for bit-field access
    
    This verifies some of the previous fixes to the logic in
    write_pieced_value when accessing bit-fields.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.exp: Add tests for accessing bit-fields
    	located in one or more DWARF pieces.

commit 359b19bb24d048750aa5367ad56a33267300d1a8
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:28 2017 +0200

    write_pieced_value: Transfer least significant bits into bit-field
    
    On big-endian targets, when targeting a bit-field, write_pieced_value
    currently transfers the source value's *most* significant bits to the
    target value, instead of its least significant bits.  This is fixed.
    
    In particular the fix adjusts the initial value of 'offset', which can now
    potentially be nonzero.  Thus the variable 'type_len' is renamed to
    'max_offset', to avoid confusion.  And for consistency, the affected logic
    that was mirrored in read_pieced_value is changed there in the same way.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): When writing to a bit-field,
    	transfer the source value's least significant bits, instead of its
    	lowest-addressed ones.  Rename type_len to max_offset.
    	(read_pieced_value): Mirror above changes to write_pieced_value as
    	applicable.

commit 07c9ca3bd8e6f83bcec49c922b52422c538f60f7
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:28 2017 +0200

    write_pieced_value: Fix buffer offset for memory pieces
    
    In write_pieced_value, when transferring the data to target memory via a
    buffer, the bit offset within the target value is not reduced to its
    sub-byte fraction before using it as a bit offset into the buffer.  This
    is fixed.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
    	truncate full bytes from dest_offset_bits before using it as an
    	offset into the buffer.

commit f1cc987420d9d2489eb453bd1c87139666cbe7fd
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:27 2017 +0200

    write_pieced_value: Include transfer size in byte-wise check
    
    In write_pieced_value, when checking whether the data can be transferred
    byte-wise, the current logic verifies the source- and destination offsets
    to be byte-aligned, but not the transfer size.  This is fixed.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): Include transfer size in
    	byte-wise check.

commit cdaac320fd62bff75562aaa3e466494dc72dd175
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:27 2017 +0200

    write_pieced_value: Fix copy/paste error in size calculation
    
    In write_pieced_value, the number of bytes containing a portion of the
    bit-field in a given piece is calculated with the wrong starting offset;
    thus the result may be off by one.  This bug was probably introduced when
    copying this logic from read_pieced_value.  Fix it.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
    	calculation of this_size.

commit af547a9614969e1d1ea6fcec6b59cd77a606380f
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:27 2017 +0200

    read/write_pieced_value: Respect value parent's offset
    
    In the case of targeting a bit-field, read_pieced_value and
    write_pieced_value calculate the number of bits preceding the bit-field
    without considering the relative offset of the value's parent.  This is
    relevant for a structure variable like this:
    
      struct s {
          uint64_t foo;
          struct {
    	  uint32_t bar;
    	  uint32_t bf : 10;  /* <-- target bit-field */
          } baz;
      } s;
    
    In this scenario, if 'val' is a GDB value representing s.baz.bf,
    val->parent represents the whole s.baz structure, and the following holds:
    
      - value_offset (val) == sizeof s.baz.bar == 4
      - value_offset (val->parent) == sizeof s.foo == 8
    
    The current logic would only use value_offset(val), resulting in the wrong
    offset into the target value.  This is fixed.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (read_pieced_value): Respect parent value's offset
    	when targeting a bit-field.
    	(write_pieced_value): Likewise.

commit 805acca042afed8e8431c92ab031167b03475676
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    gdb/testsuite: Add "get_endianness" convenience proc
    
    The test suite contains multiple instances of determining the target's
    endianness with GDB's "show endian" command.  This patch replaces these by
    an invocation of a new convenience proc 'get_endianness'.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/gdb.exp (get_endianness): New proc.
    	* gdb.arch/aarch64-fp.exp: Use it.
    	* gdb.arch/altivec-regs.exp: Likewise.
    	* gdb.arch/e500-regs.exp: Likewise.
    	* gdb.arch/vsx-regs.exp: Likewise.
    	* gdb.base/dump.exp: Likewise.
    	* gdb.base/funcargs.exp: Likewise.
    	* gdb.base/gnu_vector.exp: Likewise.
    	* gdb.dwarf2/formdata16.exp: Likewise.
    	* gdb.dwarf2/implptrpiece.exp: Likewise.
    	* gdb.dwarf2/nonvar-access.exp: Likewise.
    	* gdb.python/py-inferior.exp: Likewise.
    	* gdb.trace/unavailable-dwarf-piece.exp: Likewise.

commit ddd7882a582637d86a321c1ab835f6cdbeb6d017
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    Remove addr_size field from struct piece_closure
    
    The addr_size field in the piece_closure data structure is a relic from
    before introducing the typed DWARF stack.  It is obsolete now.  This patch
    removes it.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
    	(allocate_piece_closure): Drop addr_size parameter.
    	(dwarf2_evaluate_loc_desc_full): Adjust call to
    	allocate_piece_closure.

commit e93523245b704bc126705620969b4736b00350c5
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    PR gdb/21226: Take DWARF stack value pieces from LSB end
    
    When taking a DW_OP_piece or DW_OP_bit_piece from a DW_OP_stack_value, the
    existing logic always takes the piece from the lowest-addressed end, which
    is wrong on big-endian targets.  The DWARF standard states that the
    "DW_OP_bit_piece operation describes a sequence of bits using the least
    significant bits of that value", and this also matches the current logic
    in GCC.  For instance, the GCC guality test case pr54970.c fails on s390x
    because of this.
    
    This fix adjusts the piece accordingly on big-endian targets.  It is
    assumed that:
    
    * DW_OP_piece shall take the piece from the LSB end as well;
    
    * pieces reaching outside the stack value bits are considered undefined,
      and a zero value can be used instead.
    
    gdb/ChangeLog:
    
    	PR gdb/21226
    	* dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
    	the LSB end, independent of endianness.
    
    gdb/testsuite/ChangeLog:
    
    	PR gdb/21226
    	* gdb.dwarf2/nonvar-access.exp: Add checks for verifying that
    	stack value pieces are taken from the LSB end.

commit d5d1163eff2415a01895f1cff8bbee32b3f0ab66
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:26 2017 +0200

    write_pieced_value: Fix size capping logic
    
    A field f in a structure composed of DWARF pieces may be located in
    multiple pieces, where the first and last of those may contain bits from
    other fields as well.  So when writing to f, the beginning of the first
    and the end of the last of those pieces may have to be skipped.  But the
    logic in write_pieced_value for handling one of those pieces is flawed
    when the first and last piece are the same, i.e., f is contained in a
    single piece:
    
      < - - - - - - - - - piece_size - - - - - - - - - ->
      +-------------------------------------------------+
      | skipped_bits |   f_bits   | / / / / / / / / / / |
      +-------------------------------------------------+
    
    The current logic determines the size of the sub-piece to operate on by
    limiting the piece size to the bit size of f and then subtracting the
    skipped bits:
    
      min (piece_size, f_bits) - skipped_bits
    
    Instead of:
    
      min (piece_size - skipped_bits, f_bits)
    
    So the resulting sub-piece size is corrupted, leading to wrong handling of
    this piece in write_pieced_value.
    
    Note that the same bug was already found in read_pieced_value and fixed
    there (but not in write_pieced_value), see PR 15391.
    
    This patch swaps the calculations, bringing them into the same (correct)
    order as in read_pieced_value.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (write_pieced_value): Fix order of calculations for
    	size capping.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-pieces.exp: Add test case for modifying a
    	variable at nonzero offset.

commit 0567c9861e113a573cc905002a59cb1bc3d78450
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Jun 13 15:20:25 2017 +0200

    Add test for modifiable DWARF locations
    
    This adds a test for read/write access to variables with various types of
    DWARF locations.  It uses register- and memory locations and composite
    locations with register- and memory pieces.
    
    Since the new test calls gdb_test_no_output with commands that contain
    braces, it is necessary for string_to_regexp to quote braces as well.
    This was not done before.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/var-access.c: New file.
    	* gdb.dwarf2/var-access.exp: New test.
    	* lib/gdb-utils.exp (string_to_regexp): Quote braces as well.

commit 10bbbc1d790836122c417fe4fef7233604bb3982
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jun 13 14:03:16 2017 +0100

    Prevent a call to abort when a relocatable link encounters a relocation against a symbol in a section removed by garbage collection.
    
    	PR ld/21524
    	* elflink.c (elf_link_adjust_relocs): Generate an error when
    	encountering a reloc against a symbol removed by garbage
    	collection.

commit 032bb6eae8a0166f9b5d2eac6960383c532ef6d1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jun 13 09:05:04 2017 +0100

    Move initialize_tdesc_mips* calls from mips-linux-nat.c to mips-linux-tdep.c
    
    All target descriptions except mips initialization are called in -tdep.c,
    instead of -nat.c, so this patch moves mips target descriptions
    initialization to -tdep.c.  Secondly, I want to change the target
    descriptions from pre-generated to dynamical creation, so I want to test
    that these pre-generated target descriptions equal to these dynamically
    created ones.  Move target descriptions initialization to -tdep.c files so
    we can test them in any hosts (if they are still -nat.c, we can only test
    them on mips-linux host.).
    
    gdb:
    
    2017-06-13  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c: Move include features/mips*-linux.c to
    	mips-linux-tdep.c.
    	(_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
    	to mips-linux-tdep.c.
    	* mips-linux-tdep.c: Include features/mips*-linux.c
    	(_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
    	functions.
    	* mips-linux-tdep.h (tdesc_mips_linux): Declare.
    	(tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
    	(tdesc_mips64_dsp_linux): Declare.

commit a0688fac4b1662e34a9a08e233112beb7403f642
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 13 00:00:43 2017 +0000

    Automatic date update in version.in

commit 973e9aab63a70311dffa2993dac52bd63ea461ec
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 2 06:54:06 2017 -0600

    Add some 128-bit integer tests
    
    This adds some tests for printing 128-bit integers.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* gdb.dwarf2/formdata16.exp: Add tests.

commit f12f6bad7d4e8de1d1f4c9c1811757571149c8f1
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 16:55:18 2017 -0600

    Remove val_print_type_code_int
    
    Now that print_scalar_formatted is more capable, there's no need for
    val_print_type_code_int.  This patch removes it in favor of
    val_print_scalar_formatted.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* valprint.h (val_print_type_code_int): Remove.
    	* valprint.c (generic_val_print_int): Always call
    	val_print_scalar_formatted.
    	(val_print_type_code_int): Remove.
    	* printcmd.c (print_scalar_formatted): Handle options->format==0.
    	* f-valprint.c (f_val_print): Use val_print_scalar_formatted.
    	* c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
    	* ada-valprint.c (ada_val_print_num): Use
    	val_print_scalar_formatted.

commit d9109c8080ac0a2caeaa5f3d51e8a3b4891a68a8
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 18:43:59 2017 -0600

    Simplify print_scalar_formatted
    
    This unifies the two switches in print_scalar_formatted, removing some
    now-redundant code.  Now scalar types are never converted to LONGEST,
    instead printing is done using print_*_chars, operating on the byte
    representation.
    
    ChangeLog
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* printcmd.c (print_scalar_formatted): Unify the two switches.
    	Don't convert scalars to LONGEST.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	* gdb.arch/altivec-regs.exp: Expect decimal results for uint128.

commit 4ac0cb1cf04f105586746a6cce5b0f93d76f2b33
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 16:32:25 2017 -0600

    Let print_decimal_chars handle signed values
    
    This changes print_decimal_chars to handle signed values.
    
    gdb/ChangeLog
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	PR exp/16225:
    	* valprint.h (print_decimal_chars): Update.
    	* valprint.c (maybe_negate_by_bytes): New function.
    	(print_decimal_chars): Add "is_signed" argument.
    	* printcmd.c (print_scalar_formatted): Update.

commit 30a254669b16b86166fed1f9a4c4f9cc55a07fdc
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 22 03:55:58 2017 -0600

    Don't always zero pad in print_*_chars
    
    This changes print_octal_chars and print_decimal_chars to never zero
    pad, and changes print_binary_chars and print_hex_chars to only
    optionally zero-pad, based on a flag.
    
    ChangeLog
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	PR exp/16225:
    	* valprint.h (print_binary_chars, print_hex_chars): Update.
    	* valprint.c (val_print_type_code_int): Update.
    	(print_binary_chars): Add "zero_pad" argument.
    	(emit_octal_digit): New function.
    	(print_octal_chars): Don't zero-pad.
    	(print_decimal_chars): Likewise.
    	(print_hex_chars): Add "zero_pad" argument.
    	* sh64-tdep.c (sh64_do_fp_register): Update.
    	* regcache.c (regcache::dump): Update.
    	* printcmd.c (print_scalar_formatted): Update.
    	* infcmd.c (default_print_one_register_info): Update.
    
    2017-06-12  Tom Tromey  <tom@tromey.com>
    
    	PR exp/16225:
    	* gdb.reverse/i386-sse-reverse.exp: Update tests.
    	* gdb.arch/vsx-regs.exp: Update tests.
    	* gdb.arch/s390-vregs.exp (hex128): New proc.
    	Update test.
    	* gdb.arch/altivec-regs.exp: Update tests.

commit b3464d0316235899d9facf81896d7a427d5cd6d0
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 19:04:52 2017 +0100

    mips-tdep.c: Remove MAX_REGISTER_SIZE usage
    
    mips_eabi_push_dummy_call is storing the address of a struct in a
    buffer that must have the same of the confisued/set ABI register size.
    Add a define for the maximum ABI size and use it to size the local
    buffer.  Also rename the 'regsize' local to 'abi_regsize' for clarity.
    
    Tested that --enable-targets=all still builds.
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    	    Alan Hayward  <alan.hayward@arm.com>
    
    	* mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
    	(mips_eabi_push_dummy_call): Rename local 'regsize' to
    	'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
    	use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
    	Assert that abi_regsize bytes fit in 'ref_valbuf'.

commit 4b76cda9938e4cb200bccffb6e020268c6a51b89
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 02:51:52 2017 +0100

    .gdb_index prod perf regression: mapped_symtab now vector of values
    
    ... instead of vector of pointers
    
    There's no real reason for having mapped_symtab::data be a vector of
    heap-allocated symtab_index_entries.  symtab_index_entries is not that
    large, it's movable, and it's cheap to move.  Making the vector hold
    values instead improves cache locality and eliminates many roundtrips
    to the heap.
    
    Using the same test as in the previous patch, against the same gdb
    inferior, timing improves ~13% further:
    
      ~6.0s => ~5.2s (average of 5 runs).
    
    Note that before the .gdb_index C++ifycation patch, we were at ~5.7s.
    We're now consistenly better than before.
    
    gdb/ChangeLog
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (mapped_symtab::data): Now a vector of
    	symtab_index_entry instead of vector of
    	std::unique_ptr<symtab_index_entry>.  All users adjusted to check
    	whether an element's name is NULL instead of checking whether the
    	element itself is NULL.
    	(find_slot): Change return type.  Adjust.
    	(hash_expand, , add_index_entry, uniquify_cu_indices)
    	(write_hash_table): Adjust.

commit e8f8bcb35f22965c8e4309c4aa4227241c485fe7
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 02:40:18 2017 +0100

    .gdb_index prod perf regression: Estimate size of psyms_seen
    
    Using the same test as the previous patch, perf shows GDB spending
    over 7% in "free".  A substantial number of those calls comes from
    insertions in the psyms_seen unordered_set causing lots of rehashing
    and recreating buckets.  Fix this by computing an estimate of the size
    of the set upfront.
    
    Using the same test as in the previous patch, against the same gdb
    inferior, timing improves ~8% further:
    
      ~6.5s => ~6.0s (average of 5 runs).
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (recursively_count_psymbols): New function.
    	(write_psymtabs_to_index): Call it to compute number of psyms and
    	pass estimate size of psyms_seen to unordered_set's ctor.

commit 70a1152bee7cb959ab0c6c13bada03190125022f
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 00:49:51 2017 +0100

    .gdb_index prod perf regression: find before insert in unordered_map
    
    "perf" shows the unordered_map::emplace call in write_hash_table a bit
    high up on profiles.  Fix this using the find + insert idiom instead
    of going straight to insert.
    
    I tried doing the same to the other unordered_maps::emplace calls in
    the file, but saw no performance improvement, so left them be.
    
    With a '-g3 -O2' build of gdb, and:
    
      $ cat save-index.cmd
      set $i = 0
      while $i < 100
        save gdb-index .
        set $i = $i + 1
      end
      $ time ./gdb -data-directory=data-directory -nx --batch -q -x save-index.cmd  ./gdb.pristine
    
    I get an improvement of ~7%:
    
      ~7.0s => ~6.5s (average of 5 runs).
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (write_hash_table): Check if key already exists
    	before emplacing.

commit c2f134ac418eafca850e7095d789a01ec1142fc4
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Jun 10 16:51:14 2017 +0100

    Code cleanup: dwarf2read.c: Add data_buf::append_uint
    
    This avoids having to specify the integer size twice in the same line.
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (data_buf::append_space): Rename to...
    	(data_buf::grow): ... this, and make private.  Adjust all callers.
    	(data_buf::append_uint): New method.
    	(add_address_entry, write_one_signatured_type)
    	(write_psymtabs_to_index): Use it.

commit a81e6d4d261b7471428408f4ebba1b8113c16ccf
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Jun 10 00:53:00 2017 +0100

    Code cleanup: dwarf2read.c: Eliminate ::file_write
    
    There's no real need for all this indirection.
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
    	(file_write (FILE *, const std::vector<Elem>&)): Delete.
    	(data_buf::file_write): Call ::fwrite directly.

commit 6fd931f2d66af8398b2fae3ab5f5afe091b8362f
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jun 12 00:43:55 2017 +0100

    Code cleanup: dwarf2read.c:uniquify_cu_indices: Use std::unique
    
    gdb/ChangeLog:
    2017-06-12  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (uniquify_cu_indices): Use std::unique and
    	std::vector::erase.

commit bc8f2430e08cc2a520db49a42686e0529be4a3bc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Jun 12 16:29:53 2017 +0100

    Code cleanup: C++ify .gdb_index producer
    
    gdb/ChangeLog
    2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Code cleanup: C++ify .gdb_index producer.
    	* dwarf2read.c: Include <unordered_set> and <unordered_map>.
    	(MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
    	(struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
    	(create_strtab, add_string): Remove.
    	(file_write, data_buf): New.
    	(struct symtab_index_entry): Use std::vector for cu_indices.
    	(struct mapped_symtab): Use std::vector for data.
    	(hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
    	(create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
    	Remove.
    	(find_slot): Change return type.  Update it to the new data structures.
    	(hash_expand, add_index_entry): Update it to the new data structures.
    	(offset_type_compare): Remove.
    	(uniquify_cu_indices): Update it to the new data structures.
    	(c_str_view, c_str_view_hasher, vector_hasher): New.
    	(add_indices_to_cpool): Remove.
    	(write_hash_table): Update it to the new data structures.
    	(struct psymtab_cu_index_map, hash_psymtab_cu_index)
    	(eq_psymtab_cu_index): Remove.
    	(psym_index_map): New typedef.
    	(struct addrmap_index_data): Change addr_obstack pointer to data_buf
    	reference and std::unordered_map for cu_index_htab.
    	(add_address_entry, add_address_entry_worker, write_address_map)
    	(write_psymbols): Update it to the new data structures.
    	(write_obstack): Remove.
    	(struct signatured_type_index_data): Change types_list to a data_buf
    	reference and psyms_seen to a std::unordered_set reference.
    	(write_one_signatured_type, recursively_write_psymbols)
    	(write_psymtabs_to_index): Update it to the new data structures.

commit 5c3ce2bc8adea307917d3bfeef53114795764db6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 12 07:37:15 2017 -0700

    ELF: Pass bfd_link_info to merge_gnu_properties
    
    Pass struct bfd_link_info * to merge_gnu_properties to give backend
    control of how GNU properties are merged based on linker command line
    options.
    
    	* elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
    	to merge_gnu_properties.
    	* elf-properties.c (elf_merge_gnu_properties): Add struct
    	bfd_link_info * and pass it to merge_gnu_properties.
    	(elf_merge_gnu_property_list): Add struct bfd_link_info *
    	and pass it to elf_merge_gnu_properties.
    	(_bfd_elf_link_setup_gnu_properties): Pass info to
    	elf_merge_gnu_property_list.
    	* elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
    	bfd_link_info *.
    	* elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.

commit 3704e3589d3d187fbf76e688388b1a92fd627c8d
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Fri Jun 9 11:19:01 2017 +0200

    S/390: Return with an error for broken tls rewrites
    
    bfd/ChangeLog:
    
    2017-06-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf32-s390.c (elf_s390_relocate_section): Return false in case
    	the rewriting fails.
    	* elf64-s390.c (elf_s390_relocate_section): Likewise.

commit fd0219988dada5b4ddb04b691f71c9acdd87b739
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 12 00:00:38 2017 +0000

    Automatic date update in version.in

commit c4dcb155c446cee135101d72172b47e3fc99caf9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sun Jun 11 23:16:01 2017 +0200

    Introduce "set debug separate-debug-file"
    
    I helped someone figure out why their separate debug info (debug
    link-based) was not found by gdb.  It turns out that the debug file was
    not named properly.  It made me realize that it is quite difficult to
    diagnose this kind of problems.  This patch adds some debug output to
    show where GDB looks for those files, so that it should be (more)
    obvious to find what's wrong.
    
    Here's an example of the result, first with an example of unsuccessful lookup,
    and then a successful one.
    
      (gdb) set debug separate-debug-file on
      (gdb) file /usr/bin/gnome-calculator
      Reading symbols from /usr/bin/gnome-calculator...
      Looking for separate debug info (build-id) for /usr/bin/gnome-calculator
        Trying /usr/local/lib/debug/.build-id/0d/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
    
      Looking for separate debug info (debug link) for /usr/bin/gnome-calculator
        Trying /usr/bin/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
        Trying /usr/bin/.debug/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
        Trying /usr/local/lib/debug//usr/bin/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
      (no debugging symbols found)...done.
      (gdb) set debug-file-directory /usr/lib/debug
      (gdb) file /usr/bin/gnome-calculator
      Reading symbols from /usr/bin/gnome-calculator...
      Looking for separate debug info by build-id for /usr/bin/gnome-calculator
        Trying /usr/lib/debug/.build-id/0d/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug
      Reading symbols from /usr/lib/debug/.build-id/0d/5c5e8c86dbe4f4f95f7a13de04f91d377f3c6a.debug...done.
      done.
    
    Note: here, the debug link happens to be named like the build-id, but it
    doesn't have to be this way.  It puzzled me for a minute.
    
    gdb/ChangeLog:
    
    	* NEWS (Changes since GDB 8.0): Announce {set,show} debug
    	separate-debug-file commands.
    	* symfile.h (separate_debug_file_debug): New global.
    	* symfile.c (separate_debug_file_debug): New global.
    	(separate_debug_file_exists, find_separate_debug_file): Add
    	debug output.
    	(_initialize_symfile): Add "set debug separate-debug-file"
    	command.
    	* build-id.c (build_id_to_debug_bfd,
    	find_separate_debug_file_by_buildid): Add debug output.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Optional Messages about Internal Happenings):
    	Document {set,show} debug separate-debug-file commands.

commit 9b97dfbf8049bed3b2f79c6c785afaf18206dad3
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Jun 11 13:34:13 2017 +0930

    PR 21564, Section start in binary output file incorrect
    
    	PR 21564
    	* binary.c (binary_set_section_contents): Scale lma by octets
    	per byte to set filepos.

commit c7198f97e026f2a2d53de8dda090c04619355a36
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 11 00:00:44 2017 +0000

    Automatic date update in version.in

commit 561bf3e950e410fbcac06523d43039f1f58150ca
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 10 00:00:43 2017 +0000

    Automatic date update in version.in

commit 6d45d4b42b5b360c0b80259e101c01d650d0be23
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Jun 10 00:24:05 2017 +0200

    gdbarch: Remove displaced_step_free_closure
    
    The displaced_step_free_closure gdbarch hook allows architectures to
    free data they might have allocated to complete a displaced step.
    However, all architectures using that hook use the
    simple_displaced_step_free_closure provided in arch-utils.{c,h}, which
    does a simple xfree.  We can remove it and do an xfree directly instead
    of calling the hook.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh (displaced_step_free_closure): Remove.
    	* gdbarch.h, gdbarch.c: Re-generate.
    	* aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
    	displaced_step_free_closure.
    	* amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
    	* arm-linux-tdep.c (arm_linux_init_abi): Likewise.
    	* i386-linux-tdep.c (i386_linux_init_abi): Likewise.
    	* rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
    	* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
    	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
    	* arch-utils.h (simple_displaced_step_free_closure): Remove.
    	* arch-utils.c (simple_displaced_step_free_closure): Remove.
    	* infrun.c (displaced_step_clear): Call xfree instead of
    	gdbarch_displaced_step_free_closure.

commit 9845682bda4149b5b3648f2d49a041aef5bc1af5
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Jun 9 18:16:19 2017 -0400

    Include <signal.h> on gdbserver/fork-child.c (and fix regressions)
    
    Hi,
    
    This is another obvious patch that fixes a thinko from my previous
    startup-with-shell series.  We should conditionally include <signal.h>
    on gdb/gdbserver/fork-child.c because gdbserver will be putting the
    inferior's terminal on the correct mode after the call to
    fork_inferior, and for that it needs to ignore SIGTTOU.
    
    This patch fixes a bunch of regressions happening on AArch64 that were
    reported by Yao.
    
    gdb/gdbserver/ChangeLog:
    2017-06-09  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* fork-child.c: Conditionally include <signal.h>.

commit 654f3b6a2af84ba0f9c6a4c011364b8f650d66a6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 9 10:43:43 2017 -0700

    x86-64: Add some x32 ELF property tests
    
    	* testsuite/ld-x86-64/property-x86-3-x32.d: New file.
    	* testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b-x32.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.d: Also pass
    	-defsym __64_bit__=1 to asssembler.
    	* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.s: Align to 4 bytes if
    	__64_bit__ isn't defined.
    	* testsuite/ld-x86-64/property-x86-4a.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run property-x86-3-x32,
    	property-x86-4a-x32 and property-x86-4b-x32.

commit dbb2bcd0059f8d91de5a792f8684c8908c316720
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Jun 9 12:02:05 2017 +0100

    Revert "[AArch64] Allow COPY relocation elimination"
    
    This reverts commit bc327528fd2ccdc6c29ab6ae608085dddbad5cc8.
    
    This patch can only be committed after PC-relative relocation types
    support on copy relocation elimination is also completed.

commit fe7bb2d5ab1f47163f38d2070dc1e62c1920bb44
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 9 00:00:44 2017 +0000

    Automatic date update in version.in

commit 2f91880f3afb3cc521111dfcc99b214c77aa97a1
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Jun 8 16:58:25 2017 -0400

    Fix possible bug when no args have been provided to the executable
    
    Hi,
    
    This bug is related to:
    
      <https://sourceware.org/ml/gdb-patches/2017-06/msg00216.html>
    
    On stringify_argv, we have to check if args[0] is not NULL before
    stringifying anything, otherwise we might do the wrong thing when
    trimming the "ret" string in the end.  args[0] will be NULL when no
    arguments are passed to the inferior that will be started.
    
    Checked in as obvious.
    
    gdb/ChangeLog:
    2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* common/common-utils.c (stringify_argv): Check for "arg[0] !=
    	NULL".

commit e3d1d4088ad3b4d0fed39df62ad295ed60707807
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Tue May 23 13:36:33 2017 +0200

    [ARC] Corrected conditions for dynamic sections creation.
    
    Fixed conditions to create the dynamic sections.
    Previously there would be times where the dynamic sections would not be created
    although they were actually required for linking to work.
    
    Issue found through OpenADK build, more precisely the ublicb testsuite package.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
    	dynamic sections.

commit 64aa8e030360ba68e32ca15fa5aa426160a2efb1
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Apr 5 23:22:07 2017 +0200

    [ARC] Fixed condition to generate TEXTREL.
    
    TEXTREL was being generated even when relocatable .o files had the .rela.text
    section. Now it is limitted only to dynamic object files that still have them.
    Nevertheless, our target aborts in those cases due to architecture limitations
    where icache is not coherent with dcache, and to force this coherence expensive
    kernel level support would be needed.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
    	require TEXTREL.

commit a0abe74332bd25aeb68acfadd74280c0f117c493
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Thu Dec 29 17:10:01 2016 +0100

    [ARC] Fixed TLS for IE model.
    
    In the case of static relocation, the GOT entries are fixed at link time
    and are set by the linker.
    In order to compute the right TLS offset it is necessary to add TCB_SIZE
    to the offset, just in case the dynamic linker is not expected to be
    executed (static linked case).
    This problem does appear in dynamic linked applications, as the dynamic
    linker is adding this TCB_SIZE by operating the TCB block structure.
    
    Problem revealed in GLIBC with static linking.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
    	patched section contents for TLS IE reloc.
    	elf32-arc.c: Remove TCB_SIZE preprocessor macro.
    
    Rebase to 0006

commit f4e6805f98d2b3eae305f66ba26ab25aae1485f2
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Nov 30 20:23:21 2016 +0100

    [ARC] Add RELOC_FOR_GLOBAL_SYMBOL in ARC target code.
    
    This miss was identified in the context of openssh building for ARC.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	elf32-arc.c (elf_arc_relocate_section): Added "call" to
    	RELOC_FOR_GLOBAL_SYMBOL macro.

commit cd6402916febae6d8a4e62c572ea6fd487eebb61
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Nov 30 14:07:20 2016 +0100

    [ARC] ARC_PC32 dynamic reloc incorrectly generated.
    
    Fixed issue related to the generation of ARC_PC32 dynamic relocs when symbol
    is dynamic but still defined in a non shared object.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
    	changes.

commit 7ef0acc15ec011371a3901a997c867165bf7a733
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon May 30 15:19:22 2016 +0530

    [ARC] Don't convert _DYNAMIC@ to _GLOBAL_OFFSET_TABLE_
    
    Historically the arc abi demanded that a GOT[0] should be referencible as
    [pc+_DYNAMIC@gotpc].  Hence we convert a _DYNAMIC@gotpc to a GOTPC reference to
    _GLOBAL_OFFSET_TABLE_.
    
    This is no longer the case and uClibc and upcomming GNU libc don't expect this
    to happen.
    
    gas/ChangeLog:
    
        Vineet Gupta  <vgupta@synopsys.com>
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* config/tc-arc.c (md_undefined_symbol): Changed.
    	* config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.

commit cc89d0b3344614ae97456df84034096b698e5790
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Mon Oct 24 22:19:48 2016 +0200

    [ARC] Reassign the symbol got information to actual symbol when indirect.
    
    GOT information would not be reassign to symbol when it became a indect
    symbol.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
    	symbols.

commit 9d5c718b7a9c46132940f899f40556a77ca462a0
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Mon Oct 24 12:52:04 2016 +0200

    [ARC] Disable warning on absolute relocs when symbol is local.
    
    R_ARC_32 and R_ARC_32_ME cannot be generated as dynamic relocs.
    However, a warning message and check_relocs was aborting when this type of
    reloc was being resolved to a local symbol.
    This is wrong as local symbols are resolvable at link time.
    
    bfd/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
    	warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.

commit be9e3704f91190c1e1c5d253494423b13c982d93
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Dec 7 14:22:54 2016 +0100

    [ARC] Avoid creating dynamic relocs when static linked is requested.
    
    bfd/Changelog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (ADD_RELA): Changed to only work when dynamic object is
    	created.

commit b8b6e72f3db1f798680742c02f3dc220175d0757
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 8 16:05:24 2017 +0100

    Add MN10300_MAX_REGISTER_SIZE
    
    gdb/
    	* mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
    	(mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
    	(mn10300_push_dummy_call): Likewise.

commit 5369082e7b786dee2c185f768b126a9a18cb2915
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 8 15:57:12 2017 +0100

    Update ff4ca5ac6a2e8 to the correct version.
    
    gdb/
    	* mi/mi-main.c (register_changed_p): Use value_contents_eq.

commit 4ec192e6abe86319b9e9af6f2ae4cf0614b1e2b3
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Thu Jun 8 15:11:44 2017 +0100

    [bfd][arm] Don't assert on suspicious build attributes in input file
    
    It's generally a bad idea to use assertions to validate our idea of
    what an input file looks like.  We need to be as liberal as possible
    in what we accept with respect to standards and conservative with what
    we produce.
    
    Currently, if gcc is used to produce an assembler file which contains
    only data, but the FPU is set to fpv4-sp-d16 and mfloat-abi=hard, then
    the following attributes will be set in the output:
    
            .cpu arm7tdmi
            .eabi_attribute 27, 1   @ Tag_ABI_HardFP_use
            .eabi_attribute 28, 1   @ Tag_ABI_VFP_args
            .eabi_attribute 20, 1   @ Tag_ABI_FP_denormal
            .eabi_attribute 21, 1   @ Tag_ABI_FP_exceptions
            .eabi_attribute 23, 3   @ Tag_ABI_FP_number_model
            .eabi_attribute 24, 1   @ Tag_ABI_align8_needed
            .eabi_attribute 25, 1   @ Tag_ABI_align8_preserved
            .eabi_attribute 26, 2   @ Tag_ABI_enum_size
            .eabi_attribute 30, 6   @ Tag_ABI_optimization_goals
            .eabi_attribute 34, 0   @ Tag_CPU_unaligned_access
            .eabi_attribute 18, 4   @ Tag_ABI_PCS_wchar_t
    
    There is then no .fpu directive to cause Tag_FP_arch to be set,
    because there are no functions containing code in the object file.  If
    this object file is assembled by hand, but without -mfpu on the
    invocation of the assembler, then the build attributes produced will
    trigger an assertion during linking.
    
    Thinking about the build attributes, the combination of a
    single-precision only implementation of no floating-point architecture
    is still no floating-point architecture.  Hence the assertion on the
    input BFD in the linker makes no real sense.
    
    We should, however, be more conservative in what we generate, so I've
    left the assertion on the output bfd in place; I don't think we can
    trigger it with this change since we never merge the problematic tags
    from a perversely generated input file.
    
    	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
    	that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
    	is non-zero.  Add clarifying comments.

commit ff4ca5ac6a2e85177dc7efe5cbda7b956bb71fd5
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Jun 8 14:02:59 2017 +0100

    Remove MAX_REGISTER_SIZE from mi/mi-main.c
    
    gdb/
    	* mi/mi-main.c (register_changed_p): Use cooked_read_value.

commit 6322e5c5cb7ffe1c26c50f117765503717b0431c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 7 21:18:01 2017 -0700

    x86: Dump local IFUNC functions in the map file
    
    Dump local IFUNC functions in the map file when generating IRELATIVE
    relocations if -Map is used.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
    	name.  Use local IFUNC symbol name string to report unsupported
    	non-PIC call to IFUNC function.
    	(elf_i386_relocate_section): Dump local IFUNC name with minfo
    	when generating R_386_IRELATIVE relocation.
    	(elf_i386_finish_dynamic_symbol): Likewise.
    	* elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
    	IFUNC symbol name.
    	(elf_x86_64_relocate_section): Dump local IFUNC name with minfo
    	when generating R_X86_64_IRELATIVE relocation.
    	(elf_x86_64_finish_dynamic_symbol): Likewise.
    
    ld/
    
    	* testsuite/ld-ifunc/ifunc-1-local-x86.d: Pass
    	"-Map tmpdir/ifunc-1-local-x86.map" to ld and check
    	ifunc-1-local-x86.map.
    	* testsuite/ld-ifunc/ifunc-1-x86.d: Pass
    	"-Map tmpdir/ifunc-1-x86.map" to ld and check ifunc-1-x86.map.
    	* testsuite/ld-ifunc/ifunc-1-local-x86.map: New file.
    	* testsuite/ld-ifunc/ifunc-1-x86.map: Likewise.

commit 51fa2693add9ead8288f475d380f4aec7372fe5a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 8 03:48:04 2017 -0700

    cl

commit bc327528fd2ccdc6c29ab6ae608085dddbad5cc8
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Jun 7 12:05:39 2017 +0100

    [AArch64] Allow COPY relocation elimination
    
      As discussed at the PR, this patch tries to avoid COPY relocation generation
    and propagate the original relocation into runtime if it was relocating on
    writable section.  The ELIMINATE_COPY_RELOCS has been set to true and it's
    underlying infrastructure has been improved so that the COPY reloc elimination
    at least working on absoluate relocations (ABS64) after this patch.
    
    bfd/
            PR ld/21532
            * elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
            (elfNN_aarch64_final_link_relocate): Also propagate relocations to
            runtime for copy relocation elimination cases.
            (alias_readonly_dynrelocs): New function.
            (elfNN_aarch64_adjust_dynamic_symbol): Keep the dynamic relocs instead
            of generating copy relocation if it is not against read-only sections.
            (elfNN_aarch64_check_relocs): Likewise.
    
    ld/
            * testsuite/ld-aarch64/copy-reloc-eliminate.d: New test.
            * testsuite/ld-aarch64/copy-reloc-exe-eliminate.s: New test source file.
            * testsuite/ld-aarch64/aarch64-elf.exp: Run new testcase.

commit 81b6fe3bf9f3be2b6b81d05d08ac58d2a6dcb760
Author: Eric Christopher <echristo@gmail.com>
Date:   Wed Jun 7 17:49:35 2017 -0700

    2017-06-07  Eric Christopher  <echristo@gmail.com>
    
    	* aarch64.cc (maybe_apply_stub): Add debug logging for looking
    	up stubs to undefined symbols and early return rather than
    	fail to look them up.
    	(scan_reloc_for_stub): Add debug logging for no stub creation
    	for undefined symbols.

commit 3030551ec55042d7c87bd55fd29db2b06fe06df9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 8 00:00:39 2017 +0000

    Automatic date update in version.in

commit aefd8b33d97bded58e51d75271f99e1eaec9fb28
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 22:14:02 2016 -0500

    Implement proper "startup-with-shell" support on gdbserver
    
    This patch implements the proper support for the "startup-with-shell"
    feature on gdbserver.  A new packet is added, QStartupWithShell, and
    it is sent on initialization.  If the host sends a
    "QStartupWithShell:1", it means the inferior shall be started using a
    shell.  If the host sends a "QStartupWithShell:0", it means the
    inferior shall be started without using a shell.  Any other value is
    considered an error.
    
    There is no way to remotely set the shell that will be used by the
    target to start the inferior.  In order to do that, the user must
    start gdbserver while providing a shell via the $SHELL environment
    variable.  The same is true for the host side.
    
    The "set startup-with-shell" setting from the host side is used to
    decide whether to start the remote inferior using a shell.  This same
    setting is also used to decide whether to use a shell to start the
    host inferior; this means that it is not really possible to start the
    inferior using different mechanisms on target and host.
    
    A documentation patch is included, along with a new testcase for the
    feature.
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* NEWS (Changes since GDB 8.0): Announce that GDBserver is now
    	able to start inferiors	using a shell.
    	(New remote packets): Announce new packet "QStartupWithShell".
    	* remote.c: Add PACKET_QStartupWithShell.
    	(extended_remote_create_inferior): Handle new
    	PACKET_QStartupWithShell.
    	(remote_protocol_features) <QStartupWithShell>: New entry for
    	PACKET_QStartupWithShell.
    	(_initialize_remote): Call "add_packet_config_cmd" for
    	QStartupShell.
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* server.c (handle_general_set): Handle new packet
    	"QStartupWithShell".
    	(handle_query): Add "QStartupWithShell" to the list of supported
    	packets.
    	(gdbserver_usage): Add help text explaining the
    	new "--startup-with-shell" and "--no-startup-with-shell" CLI
    	options.
    	(captured_main): Recognize and act upon the presence of the new
    	CLI options.
    
    gdb/testsuite/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* gdb.base/startup-with-shell.c: New file.
    	* gdb.base/startup-with-shell.exp: Likewise.
    
    gdb/doc/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* gdb.texinfo (Starting) <startup-with-shell>: Add @anchor.
    	(Connecting) <Remote Packet>: Add "startup-with-shell"
    	and "QStartupWithShell" to the table.
    	(Remote Protocol) <QStartupWithShell>: New item, explaining the
    	packet.

commit 2090129c36c7e582943b7d300968d19b46160d84
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 21:11:11 2016 -0500

    Share fork_inferior et al with gdbserver
    
    This is the most important (and the biggest, sorry) patch of the
    series.  It moves fork_inferior from gdb/fork-child.c to
    nat/fork-inferior.c and makes all the necessary adjustments to both
    GDB and gdbserver to make sure everything works OK.
    
    There is no "most important change" with this patch; all changes are
    made in a progressive way, making sure that gdbserver had the
    necessary features while not breaking GDB at the same time.
    
    I decided to go ahead and implement a partial support for starting the
    inferior with a shell on gdbserver, although the full feature comes in
    the next patch.  The user won't have the option to disable the
    startup-with-shell, and also won't be able to change which shell
    gdbserver will use (other than setting the $SHELL environment
    variable, that is).
    
    Everything is working as expected, and no regressions were present
    during the tests.
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
    	and "nat/fork-inferior.h".
    	* common/common-inferior.h: New file, with contents from
    	"gdb/inferior.h".
    	* commom/common-utils.c: Include "common-utils.h".
    	(stringify_argv): New function.
    	* common/common-utils.h (stringify_argv): New prototype.
    	* configure.nat: Add "fork-inferior.o" as a dependency for
    	"*linux*", "fbsd*" and "nbsd*" hosts.
    	* corefile.c (get_exec_file): Update comment.
    	* darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
    	instead of "startup_inferior".
    	(darwin_create_inferior): Call "add_thread_silent" after
    	"fork_inferior".
    	* fork-child.c: Cleanup unnecessary includes.
    	(SHELL_FILE): Move to "common/common-fork-child.c".
    	(environ): Likewise.
    	(exec_wrapper): Initialize.
    	(get_exec_wrapper): New function.
    	(breakup_args): Move to "common/common-fork-child.c"; rename to
    	"breakup_args_for_exec".
    	(escape_bang_in_quoted_argument): Move to
    	"common/common-fork-child.c".
    	(saved_ui): New variable.
    	(prefork_hook): New function.
    	(postfork_hook): Likewise.
    	(postfork_child_hook): Likewise.
    	(gdb_startup_inferior): Likewise.
    	(fork_inferior): Move to "common/common-fork-child.c".  Update
    	function to support gdbserver.
    	(startup_inferior): Likewise.
    	* gdbcore.h (get_exec_file): Remove declaration.
    	* gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
    	instead of "startup_inferior".  Call "add_thread_silent" after
    	"fork_inferior".
    	* inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
    	(inf_ptrace_create_inferior): Call "gdb_startup_inferior"
    	instead of "startup_inferior".  Call "add_thread_silent" after
    	"fork_inferior".
    	* inferior.h: Include "common-inferior.h".
    	(trace_start_error): Move to "common/common-utils.h".
    	(trace_start_error_with_name): Likewise.
    	(fork_inferior): Move prototype to "nat/fork-inferior.h".
    	(startup_inferior): Likewise.
    	(gdb_startup_inferior): New prototype.
    	* nat/fork-inferior.c: New file, with contents from "fork-child.c".
    	* nat/fork-inferior.h: New file.
    	* procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
    	instead of "startup_inferior".  Call "add_thread_silent" after
    	"fork_inferior".
    	* target.h (target_terminal_init): Move prototype to
    	"target/target.h".
    	(target_terminal_inferior): Likewise.
    	(target_terminal_ours): Likewise.
    	* target/target.h (target_terminal_init): New prototype, moved
    	from "target.h".
    	(target_terminal_inferior): Likewise.
    	(target_terminal_ours): Likewise.
    	* utils.c (gdb_flush_out_err): New function.
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add "nat/fork-inferior.o".
    	* configure: Regenerate.
    	* configure.srv (srv_linux_obj): Add "fork-child.o" and
    	"fork-inferior.o".
    	(i[34567]86-*-lynxos*): Likewise.
    	(spu*-*-*): Likewise.
    	* fork-child.c: New file.
    	* linux-low.c: Include "common-inferior.h", "nat/fork-inferior.h"
    	and "environ.h".
    	(linux_ptrace_fun): New function.
    	(linux_create_inferior): Adjust function prototype to reflect
    	change on "target.h".  Adjust function code to use
    	"fork_inferior".
    	(linux_request_interrupt): Delete "signal_pid".
    	* lynx-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
    	(lynx_ptrace_fun): New function.
    	(lynx_create_inferior): Adjust function prototype to reflect
    	change on "target.h".  Adjust function code to use
    	"fork_inferior".
    	* nto-low.c (nto_create_inferior): Adjust function prototype and
    	code to reflect change on "target.h".  Update comments.
    	* server.c: Include "common-inferior.h", "nat/fork-inferior.h",
    	"common-terminal.h" and "environ.h".
    	(terminal_fd): Moved to fork-child.c.
    	(old_foreground_pgrp): Likewise.
    	(restore_old_foreground_pgrp): Likewise.
    	(last_status): Make it global.
    	(last_ptid): Likewise.
    	(our_environ): New variable.
    	(startup_with_shell): Likewise.
    	(program_name): Likewise.
    	(program_argv): Rename to...
    	(program_args): ...this.
    	(wrapper_argv): New variable.
    	(start_inferior): Delete function.
    	(get_exec_wrapper): New function.
    	(get_exec_file): Likewise.
    	(get_environ): Likewise.
    	(prefork_hook): Likewise.
    	(post_fork_inferior): Likewise.
    	(postfork_hook): Likewise.
    	(postfork_child_hook): Likewise.
    	(handle_v_run): Update code to deal with arguments coming from the
    	remote host.  Update calls from "start_inferior" to
    	"create_inferior".
    	(captured_main): Likewise.  Initialize environment variable.  Call
    	"have_job_control".
    	* server.h (post_fork_inferior): New prototype.
    	(get_environ): Likewise.
    	(last_status): Declare.
    	(last_ptid): Likewise.
    	(signal_pid): Likewise.
    	* spu-low.c: Include "common-inferior.h" and "nat/fork-inferior.h".
    	(spu_ptrace_fun): New function.
    	(spu_create_inferior): Adjust function prototype to reflect change
    	on "target.h".  Adjust function code to use "fork_inferior".
    	* target.c (target_terminal_init): New function.
    	(target_terminal_inferior): Likewise.
    	(target_terminal_ours): Likewise.
    	* target.h: Include <vector>.
    	(struct target_ops) <create_inferior>: Update prototype.
    	(create_inferior): Update macro.
    	* utils.c (gdb_flush_out_err): New function.
    	* win32-low.c (win32_create_inferior): Adjust function prototype
    	and code to reflect change on "target.h".
    
    gdb/testsuite/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* gdb.server/non-existing-program.exp: Update regex in order to
    	reflect the fact that gdbserver is now using fork_inferior (with a
    	shell) to startup the inferior.

commit 043a49349c713dc329a2dfc413b082c3826ecdb8
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 13:30:42 2016 -0500

    Share parts of gdb/gdbthread.h with gdbserver
    
    GDB and gdbserver now share 'switch_to_thread' because of
    fork_inferior.  To make things clear, I created a new file name
    common/common-gdbthread.h, and left the implementation specific to
    each part.
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
    	* common/common-gdbthread.h: New file, with parts from
    	"gdb/gdbthread.h".
    	* gdbthread.h: Include "common-gdbthread.h".
    	(switch_to_thread): Moved to "common/common-gdbthread.h".
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* inferiors.c (switch_to_thread): New function.

commit 156525114c1cbbace0dec223494b842ffc60d52e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 12:41:16 2016 -0500

    Move parts of inferior job control to common/
    
    This commit moves a few bits responsible for dealing with inferior job
    control from GDB to common/, which makes them available to gdbserver.
    This is necessary for the upcoming patches that will share
    fork_inferior et al between GDB and gdbserver.
    
    We move some parts of gdb/terminal.h to gdb/common/common-terminal.h,
    especifically the code that checks terminal features and that are used
    to set job_control accordingly.
    
    After sharing parts of gdb/terminal.h, we also to share the two
    functions on gdb/inflow.c that are going to be needed by the
    fork_inferior rework.  They are 'gdb_setpgid' and the new
    'have_job_control'.  I've also taken the opportunity to give a more
    meaningful name to "inflow.c" on common/.  Now it is called
    "job-control.c" (thanks Pedro for the suggestion).
    
    gdb/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILES): Add "common/job-control.c".
    	(HFILES_NO_SRCDIR): Add "common/job-control.h".
    	(COMMON_OBS): Add "job-control.o".
    	* common/job-control.c: New file, with contents from
    	"gdb/inflow.c".
    	* common/job-control.h: New file, with contents from "terminal.h".
    	* fork-child.c: Include "job-control.h".
    	* inflow.c: Include "job-control.h".
    	(gdb_setpgid): Move to "common/common-inflow.c".
    	(_initialize_inflow): Move setting of "job_control" to
    	"handle_job_control".
    	* terminal.h (job_control): Moved to "common/common-terminal.h".
    	(gdb_setpgid): Likewise.
    	* top.c: Include "job_control.h".
    	* utils.c: Likewise.
    	(job_control): Moved to "job-control.c".
    
    gdb/gdbserver/ChangeLog:
    2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILE): Add "common/job-control.c".
    	(OBS): Add "job-control.o".

commit 2d7cc5c7973b6d1bdd9205288863bedadeaf8b41
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jun 7 14:21:40 2017 +0100

    Introduce compiled_regex, eliminate make_regfree_cleanup
    
    This patch replaces compile_rx_or_error and make_regfree_cleanup with
    a class that wraps a regex_t.
    
    gdb/ChangeLog:
    2017-06-07  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add gdb_regex.c.
    	(COMMON_OBS): Add gdb_regex.o.
    	* ada-lang.c (ada_add_standard_exceptions)
    	(ada_add_exceptions_from_frame, name_matches_regex)
    	(ada_add_global_exceptions, ada_exceptions_list_1): Change regex
    	parameter type to compiled_regex.  Adjust.
    	(ada_exceptions_list): Use compiled_regex.
    	* break-catch-throw.c (exception_catchpoint::pattern): Now a
    	std::unique_ptr<compiled_regex>.
    	(exception_catchpoint::~exception_catchpoint): Remove regfree
    	call.
    	(check_status_exception_catchpoint): Adjust to use compiled_regex.
    	(handle_gnu_v3_exceptions): Adjust to use compiled_regex.
    	* breakpoint.c (solib_catchpoint::compiled): Now a
    	std::unique_ptr<compiled_regex>.
    	(solib_catchpoint::~solib_catchpoint): Remove regfree call.
    	(check_status_catch_solib): Adjust to use compiled_regex.
    	(add_solib_catchpoint): Adjust to use compiled_regex.
    	* cli/cli-cmds.c (apropos_command): Use compiled_regex.
    	* cli/cli-decode.c (apropos_cmd): Change regex parameter to
    	compiled_regex reference.  Adjust to use it.
    	* cli/cli-decode.h: Remove struct re_pattern_buffer forward
    	declaration.  Include "gdb_regex.h".
    	(apropos_cmd): Change regex parameter to compiled_regex reference.
    	* gdb_regex.c: New file.
    	* gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
    	declarations.
    	(class compiled_regex): New.
    	* linux-tdep.c: Include "common/gdb_optional.h".
    	(struct mapping_regexes): New, factored out from
    	mapping_is_anonymous_p, and adjusted to use compiled_regex.
    	(mapping_is_anonymous_p): Use mapping_regexes wrapped in a
    	gdb::optional and remove cleanups.  Adjust to compiled_regex.
    	* probe.c: Include "common/gdb_optional.h".
    	(collect_probes): Use compiled_regex and gdb::optional and remove
    	cleanups.
    	* skip.c: Include "common/gdb_optional.h".
    	(skiplist_entry::compiled_function_regexp): Now a
    	gdb::optional<compiled_regex>.
    	(skiplist_entry::compiled_function_regexp_is_valid): Delete field.
    	(free_skiplist_entry): Remove regfree call.
    	(compile_skip_regexp, skip_rfunction_p): Adjust to use
    	compiled_regex and gdb::optional.
    	* symtab.c: Include "common/gdb_optional.h".
    	(search_symbols): Use compiled_regex and gdb::optional.
    	* utils.c (do_regfree_cleanup, make_regfree_cleanup)
    	(get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
    	to gdb_regex.c.

commit 62e20ed45e3da5f3ba695e4ee109317668180fe6
Author: Michael Collison <michael.collison@arm.com>
Date:   Wed Jun 7 13:34:34 2017 +0100

    Add support for AArch64 system register names IP0, IP1, FP and LR.
    
    	* config/tc-aarch64.c (reg_entry_reg_names): Add IP0,
    	IP1, FP, and LR as register aliases of register 16, 17, 29
    	and 30 respectively.
    	* testsuite/gas/aarch64/diagnostic.l: Remove diagnostic
    	prohibiting register 'lr' which is now an alias.
    	* testsuite/gas/aarch64/diagnostic.s: Remove instruction
    	utilizing register 'lr' which is now an alias.

commit 50d6adef3b8509c4e7e37b4b708e0593d43ed347
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 7 10:16:46 2017 +0100

    Remove MAX_REGISTER_SIZE from regcache.c
    
    gdb/
    	* regcache.c (regcache::save): Avoid buffer use.
    	(regcache::dump): Likewise.

commit 4a8a33c843681410eeba4e05aa749abda8a8341b
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 7 10:06:10 2017 +0100

    Remove MAX_REGISTER_SIZE from sh(64)-tdep.c
    
    gdb/
    	* sh-tdep.c (sh_pseudo_register_read): Remove
    	MAX_REGISTER_SIZE.
    	(sh_pseudo_register_write): Likewise.
    	* sh64-tdep.c (sh64_pseudo_register_read): Likewise.
    	(sh64_pseudo_register_write): Likewise.

commit d1be909e7fbf753fd3aa18681089e3bcacbcf51c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jun 7 09:57:55 2017 +0100

    Remove MAX_REGISTER_SIZE from aarch64-tdep.c
    
    gdb/
    	* aarch64-tdep.c (aarch64_store_return_value): Use
    	V_REGISTER_SIZE.
    	(aarch64_pseudo_read_value): Likewise.
    	(aarch64_pseudo_write): Likewise.

commit 4936f23592b910d65cc9f077115559366f9c4662
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jun 7 15:22:58 2017 +0930

    Fix a number of pr21529 testcase failures
    
    Various targets fail this testcase due to ld not supporting binary output.
    
    	* testsuite/ld-unique/pr21529.d: xfail aarch64, arm, hppa, ia64,
    	nds32, and score.  Match any output.

commit 58f59b7616851b2f3737e385ec9095765eeeffa3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jun 7 00:00:40 2017 +0000

    Automatic date update in version.in

commit 78e8a2ff5f01799874be41fdc919d34c670496c6
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Jun 6 11:19:06 2017 -0700

    bfd: support section groups with preceding SHF_GROUP sections
    
    GAS always places section groups (SHT_GROUP) before the rest of the
    sections in the output file.  However, other assemblers may place
    section groups after the group members.
    
    This patch fixes handlign such situations, and removes some duplicated
    logic.
    
    bfd/ChangeLog:
    
    2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elf.c (setup_group): Make sure BFD sections are created for all
    	group sections in the input file when processing SHF_GROUP
    	sections.
    	(bfd_section_from_shdr): Avoid duplicating logic already
    	implemented in `setup_group'.

commit f4a6504277d861057aedd2b88369493d644935c6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jun 6 16:42:45 2017 +0100

    Remove declaration of set_register_cache from regdef.h
    
    Function set_register_cache was removed by 3aee891821f538cfb4e0a08a26196c70127f1474
    ([GDBserver] Multi-process + multi-arch), so this patch removes the
    declaration too.
    
    gdb:
    
    2017-06-06  Yao Qi  <yao.qi@linaro.org>
    
    	* regformats/regdef.h (set_register_cache): Remove the
    	declaration.

commit 9f7fb0aa2b6eb9fb185c1c2ae4159d783acadc0e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 6 16:34:20 2017 +0100

    Remove a MAX_REGISTER_SIZE from frame.c
    
    gdb/
    	* frame.c (frame_unwind_register_signed): Use
    	frame_unwind_register_value.

commit e1e01040aa83ddef0bb5c60a8b187f769b2b1ec3
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jun 6 15:53:59 2017 +0100

    Fix double free when running gdb.linespec/ls-errs.exp (PR breakpoints/21553)
    
    The problem is that b->extra_string is free'ed twice: Once in the
    breakpoint's dtor, and another time via make_cleanup (xfree).
    
    This patch gets rid of the cleanups, fixing the problem.
    
    Tested on x86_64 GNU/Linux.
    
    gdb/ChangeLog:
    2017-06-06  Pedro Alves  <palves@redhat.com>
    
    	PR breakpoints/21553
    	* breakpoint.c (create_breakpoints_sal_default)
    	(init_breakpoint_sal, create_breakpoint_sal): Use
    	gdb::unique_xmalloc_ptr for string parameters.
    	(create_breakpoint): Constify 'extra_string' and 'cond_string'
    	parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
    	(base_breakpoint_create_breakpoints_sal)
    	(bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
    	(strace_marker_create_breakpoints_sal)
    	(create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
    	string parameters.
    	* breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
    	gdb::unique_xmalloc_ptr for string parameters.
    	(create_breakpoint): Constify 'extra_string' and 'cond_string'
    	parameters.

commit fbe654c8bc78eb06b6d7ee4fcec64e9e34e7a9ac
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 6 15:45:08 2017 +0100

    Remove uses of MAX_REGISTER_SIZE from alpha-tdep.c
    
    gdb/
    	* alpha-tdep.c (alpha_register_to_value): Use
    	get_frame_register_value.
    	(alpha_value_to_register): Use ALPHA_REGISTER_SIZE.

commit 9949827bea788753c29b7bb503d6d5dda6ea21ff
Author: Daniel Bonniot de Ruisselet <bonniot@gmail.com>
Date:   Tue Jun 6 15:06:02 2017 +0100

    Handle printing information about PE format files which have 0 as the value of the HInt Table in the import tables structure.
    
    	PR binutils/21546
    	* peXXigen.c (pe_print_idata): Use the address of the first thunk
    	if the hint address is zero.

commit 5c8ed6a4a1d197658086e9175f820227ebffebec
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu May 25 10:40:07 2017 +0100

    [Patch, ARM] Relax the restrictions on REG_SP under Thumb mode on ARMv8-A
    
      For Thumb mode, since ARMv8-A, REG_SP is allowed in most of the places in
    Rd/Rt/Rt2 etc while it was disallowed before ARMv8-A, and was rejected through
    the "reject_bad_reg" macro and several scattered checks.
    
      This patch only rejects REG_SP in "reject_bad_reg" and several related places
    for legacy architectures before ARMv8-A. I have checked those affected instructions
    , all of them qualify such relaxations.
    
      Testcases adjusted accordingly.
        * ld-sp-warn.d was written without .arch and without -march options passed.
          By default it assumes all architectures, so I deleted the REG_SP warning
          on ldrsb as it's supported on ARMv8-A.  There are actually quite a few
          seperate tests on other architectures, for example ld-sp-warn-v7.l etc.,
          so there the test for ldrsb on legacy architectures are still covered.
        * sp-pc-validations-bad-t has been extended to armv8-a.
        * strex-bad-t.d restricted on armv7-a.
        * Some new tests for REG_SP used as Rd/Rt etc added in sp-usage-thumb2-relax*.
    
    gas/
    	* config/tc-arm.c (reject_bad_reg): Allow REG_SP on ARMv8-A.
    	(parse_operands): Allow REG_SP for OP_oRRnpcsp and OP_RRnpcsp on
    	ARMv8-A.
    	(do_co_reg): Allow REG_SP for Rd on ARMv8-A.
    	(do_t_add_sub): Likewise.
    	(do_t_mov_cmp): Likewise.
    	(do_t_tb): Likewise.
    	* testsuite/gas/arm/ld-sp-warn.l: Delete the warning on REG_SP as Rt for
    	ldrsb.
    	* testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d: New test.
    	* testsuite/gas/arm/sp-pc-validations-bad-t-v8a.l: New test.
    	* testsuite/gas/arm/sp-pc-validations-bad-t.d: Specifies -march=armv7-a.
    	* testsuite/gas/arm/sp-pc-validations-bad-t.s: Remove ".arch armv7-a".
    	* testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.d: New test.
    	* testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.l: New test.
    	* testsuite/gas/arm/sp-usage-thumb2-relax-on-v8.d: New test.
    	* testsuite/gas/arm/sp-usage-thumb2-relax.s: New test.
    	* testsuite/gas/arm/strex-bad-t.d: Specifies -march=armv7-a.

commit d24b756188bd63a422671a73e31af718007264ca
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jun 6 14:52:31 2017 +0100

    Fix memory leaks in the sysinfo program.
    
    	* sysinfo.y: Free memory allocated by token NAME.

commit 0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Tue Jun 6 14:30:47 2017 +0100

    Fix AArch64 in the same way as other targets updated in 8170f7693bc0a9442c0aa280197925db92d48ca6.
    
    	PR ld/19579
    	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
    	ELF_COMMON_DEF_P for common symbols.

commit ae0d01d663a2bac65afb8b94bbf1a91d95298f68
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jun 6 13:50:07 2017 +0100

    Add IA64_MAX_FP_REGISTER_SIZE
    
    gdb/
    	* ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
    	(ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
    	(ia64_value_to_register): Likewise.
    	(ia64_extract_return_value): Likewise.
    	(ia64_store_return_value): Likewise.
    	(ia64_push_dummy_call): Likewise.

commit 670b1a13351f34c38ea1abb6cb20e247fb002015
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jun 6 10:15:27 2017 +0100

    ld: Fix spelling mistake in comment.
    
    ld/ChangeLog:
    
    	* ld.h (struct args_type): Fix typo in comment.

commit 7bdf4127c38081c7764c0bf1db55d0b2e56391dc
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Mar 22 17:27:49 2017 +0000

    ld: Allow section groups to be resolved as part of a relocatable link
    
    This commit adds a new linker feature: the ability to resolve section
    groups as part of a relocatable link.
    
    Currently section groups are automatically resolved when performing a
    final link, and are carried through when performing a relocatable link.
    By carried through this means that one copy of each section group (from
    all the copies that might be found in all the input files) is placed
    into the output file.  Sections that are part of a section group will
    not match input section specifiers within a linker script and are
    forcibly kept as separate sections.
    
    There is a slight resemblance between section groups and common
    section.  Like section groups, common sections are carried through when
    performing a relocatable link, and resolved (allocated actual space)
    only at final link time.
    
    However, with common sections there is an ability to force the linker to
    allocate space for the common sections when performing a relocatable
    link, there's currently no such ability for section groups.
    
    This commit adds such a mechanism.  This new facility can be accessed in
    two ways, first there's a command line switch --force-group-allocation,
    second, there's a new linker script command FORCE_GROUP_ALLOCATION.  If
    one of these is used when performing a relocatable link then the linker
    will resolve the section groups as though it were performing a final
    link, the section group will be deleted, and the members of the group
    will be placed like normal input sections.  If there are multiple copies
    of the group (from multiple input files) then only one copy of the group
    members will be placed, the duplicate copies will be discarded.
    
    Unlike common sections that have the --no-define-common command line
    flag, and INHIBIT_COMMON_ALLOCATION linker script command there is no
    way to prevent group resolution during a final link, this is because the
    ELF gABI specifically prohibits the presence of SHT_GROUP sections in a
    fully linked executable.  However, the code as written should make
    adding such a feature trivial, setting the new resolve_section_groups
    flag to false during a final link should work as you'd expect.
    
    bfd/ChangeLog:
    
    	* elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
    	SEC_GROUP sections as SEC_EXCLUDE.
    	(bfd_elf_set_group_contents): Replace use of abort with an assert.
    	(assign_section_numbers): Use resolve_section_groups flag instead
    	of relocatable link type.
    	(_bfd_elf_init_private_section_data): Use resolve_section_groups
    	flag instead of checking the final_link flag for part of the
    	checks in here.  Fix white space as a result.
    	* elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
    	instead of relocatable link type.
    	(bfd_elf_final_link): Likewise.
    
    include/ChangeLog:
    
    	* bfdlink.h (struct bfd_link_info): Add new resolve_section_groups
    	flag.
    
    ld/ChangeLog:
    
    	* ld.h (struct args_type): Add force_group_allocation field.
    	* ldgram.y: Add support for FORCE_GROUP_ALLOCATION.
    	* ldlex.h: Likewise.
    	* ldlex.l: Likewise.
    	* lexsup.c: Likewise.
    	* ldlang.c (unique_section_p): Check resolve_section_groups flag
    	not the relaxable link flag.
    	(lang_add_section): Discard section groups when we're resolving
    	groups.  Clear the SEC_LINK_ONCE flag if we're resolving section
    	groups.
    	* ldmain.c (main): Initialise resolve_section_groups flag in
    	link_info based on command line flags.
    	* testsuite/ld-elf/group11.d: New file.
    	* testsuite/ld-elf/group12.d: New file.
    	* testsuite/ld-elf/group12.ld: New file.
    	* NEWS: Mention new features.
    	* ld.texinfo (Options): Document --force-group-allocation.
    	(Miscellaneous Commands): Document FORCE_GROUP_ALLOCATION.

commit 458ad2b83ecf4d764703767bccf19723ca741f00
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Jun 6 00:33:20 2017 -0700

    bfd: remove unused local variables in elf32-score, elf32-score7 and elfxx-mips
    
    bfd/ChangeLog:
    
    2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
    	variable `bed'.
    	* elf32-score.c (score_elf_final_link_relocate): Likewise.
    	(s3_bfd_score_elf_check_relocs): Likewise.
    	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
    	(score_elf_final_link_relocate): Likewise.
    	(s7_bfd_score_elf_check_relocs): Likewise.

commit fbebaf4a56dd03251bc2e12fa6834d90555aa82a
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Jun 6 00:01:58 2017 -0700

    bfd: remove unused local variable in elflink.c:init_reloc_cookie_rels
    
    bfd/ChangeLog:
    
    2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elflink.c (init_reloc_cookie_rels): Remove unused variable
    	`bed'.

commit 056bafd472efccfb2d7f44f6469dfa08cdf7414b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jun 6 01:24:06 2017 +0100

    ELF/BFD: Hold the number of internal static relocs in `->reloc_count'
    
    Correct a commit e5713223cbc1 ("MIPS/BFD: For n64 hold the number of
    internal relocs in `->reloc_count'") regression and change internal
    relocation handling in the generic ELF BFD linker code such that, except
    in the presence of R_SPARC_OLO10 relocations, a section's `reloc_count'
    holds the number of internal rather than external relocations, making
    the handling more consistent between GAS, which sets `->reloc_count'
    with a call to `bfd_set_reloc', and LD, which sets `->reloc_count' as it
    reads input sections.
    
    The handling of dynamic relocations remains unchanged and they continue
    holding the number of external relocations in `->reloc_count'; they are
    also not converted to the internal form except in `elf_link_sort_relocs'
    (which does not handle the general, i.e. non-n64-MIPS case of composed
    relocations correctly as per the ELF gABI, though it does not seem to
    matter for the targets we currently support).
    
    The n64 MIPS backend is the only one with `int_rels_per_ext_rel' set to
    non-one, and consequently the change is trivial for all the remaining
    backends and targets.
    
    	bfd/
    	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
    	from `reloc_count' rather than decrementing it.
    	* elf.c (bfd_section_from_shdr): Multiply the adjustment to
    	`reloc_count' by `int_rels_per_ext_rel'.
    	* elf32-score.c (score_elf_final_link_relocate): Do not multiply
    	`reloc_count' by `int_rels_per_ext_rel' for last relocation
    	entry determination.
    	(s3_bfd_score_elf_check_relocs): Likewise.
    	* elf32-score7.c (score_elf_final_link_relocate): Likewise.
    	(s7_bfd_score_elf_relocate_section): Likewise.
    	(s7_bfd_score_elf_check_relocs): Likewise.
    	* elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
    	prototype and function.
    	(mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
    	(mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
    	triple rather than once the sum of REL and RELA relocation entry
    	counts.
    	(bfd_elf64_get_reloc_upper_bound): Remove macro.
    	* elflink.c (_bfd_elf_link_read_relocs): Do not multiply
    	`reloc_count' by `int_rels_per_ext_rel' for internal relocation
    	storage allocation size determination.
    	(elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
    	size by `int_rels_per_ext_rel'.  Do not multiply `reloc_count'
    	by `int_rels_per_ext_rel' for last relocation entry
    	determination.
    	(bfd_elf_final_link): Do not multiply `reloc_count' by
    	`int_rels_per_ext_rel' for internal relocation storage
    	allocation size determination.
    	(init_reloc_cookie_rels): Do not multiply `reloc_count' by
    	`int_rels_per_ext_rel' for last relocation entry determination.
    	(elf_gc_smash_unused_vtentry_relocs): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
    	(_bfd_mips_elf_relocate_section): Likewise.

commit 61756f84eedc470c975f8bafe6ddf10acaca6942
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Mon Jun 5 17:25:02 2017 -0700

    Drop arm support for falkor/qdf24xx targets, not present in released hardware.
    
    	gas/
    	* config/tc-arm.c (arm_cpus): Delete falkor and qdf24xx entries.
    	* doc/c-arm.texi (-mcpu): Likewise.

commit a6ba6751c9cf5ef909e47d09609c28ad1509dfa9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jun 6 00:00:35 2017 +0000

    Automatic date update in version.in

commit d9409498813c75c1a9e9287ac6e5100ed3130390
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 5 14:54:12 2017 -0700

    Add a testcase for PR ld/21529
    
    	PR ld/21529
    	* testsuite/ld-unique/pr21529.d: New file.
    	* testsuite/ld-unique/pr21529.s: Likewise.
    	* testsuite/ld-unique/unique.exp: Run *.d.

commit af54f0eb968ba8cb3862fd3cad097a3f3363467b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 5 11:02:42 2017 +0930

    PR21529, internal error in linker.c
    
    	PR 21529
    	* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.

commit 91001320a22466d1580e169bcb023d3b822226b4
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 5 14:43:54 2017 +0930

    Fix --enable-new-dtags config support
    
    and testsuite when configured with --enable-new-dtags.
    
    	* ldmain.c (main): Correct setting of link_indo.new_dtags.
    	* testsuite/ld-elf/now-3.d: Pass --disable-new-dtags to ld
    	* testsuite/ld-elf/now-4.d: Likewise.
    	* testsuite/ld-elf/rpath-1.d: Likewise.
    	* testsuite/ld-elf/rpath-2.d: Likewise.

commit 6734f10ae9af6cfd47e70baa2cd3e326afabe5ed
Author: Slava Barinov <v.barinov@samsung.com>
Date:   Mon Jun 5 09:27:38 2017 +0930

    Introduce --enable-new-dtags configure option.
    
    This option switches on ld.bfd --enable-new-dtags by default.
    
    	* configure.ac: Add --enable-new-dtags option.
    	* ldmain.c: Set link_info.new_dtags to 1 if when --enable-new-dtags is
    	switched on.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 3ea0007c8ca3ec851df6ab5391a98467b4021f92
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jun 5 00:00:50 2017 +0000

    Automatic date update in version.in

commit 49cf576c221b1d45d222f8cddaddbddf29336461
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sun Jun 4 09:04:09 2017 -0700

    Document the GDB 8.0 release in gdb/ChangeLog
    
    gdb/ChangeLog:
    
    	GDB 8.0 released.

commit 923ca33982401c5700421a592d2b0ee083cbefa1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jun 4 00:00:42 2017 +0000

    Automatic date update in version.in

commit 26b6a6aba5567143ed0f59388663b8f50e5cfcab
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Sat Jun 3 22:06:55 2017 +0200

    x86-linux-nat: Remove unused arch_lwp_info structure
    
    The structure arch_lwp_info for x86 is not used, remove it.
    
    gdb/ChangeLog:
    
    	* x86-linux-nat.c (struct arch_lwp_info): Remove.

commit 22827c51338ce25574ed7b204a2e5bd40f45bdad
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Jun 3 21:24:00 2017 +0200

    linux-nat: Remove unused parameter
    
    The parameter "first" of linux_nat_post_attach_wait is unused, remove
    it.
    
    gdb/ChangeLog:
    
    	* linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
    	parameter.
    	(linux_nat_attach): Adjust call to linux_nat_post_attach_wait.

commit 0af6b29b9dcd8ff2c34d07a76e3416acf3758bfc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jun 3 00:00:36 2017 +0000

    Automatic date update in version.in

commit 4a4a4a27ba5c731044d3d3594545e6f06b0ec0e5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 2 14:49:37 2017 -0700

    x86: Remove linker option: -z prefix-nop
    
    Since it is incorrect to convert
    
    	bnd call *foo@GOTPCREL(%rip)
    
    to
    
    	bnd nop
    	call foo
    
    this patch removes the "-z prefix-nop" option from x86 linker.
    
    	* emulparams/call_nop.sh: Remove -z prefix-nop.
    	* ld.texinfo: Likewise.
    	* testsuite/ld-i386/call3c.d: Check for linker error.
    	* testsuite/ld-x86-64/call1c.d: Likewise.

commit 0e05cf3a61e1996829359e1c32eedb6820930331
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Jun 2 23:24:21 2017 +0200

    Use delete instead of xfree for gdb_timer
    
    gdb_timer objects are new'ed in create_timer, but xfree'd in
    poll_timers.  Use delete instead.
    
    gdb/ChangeLog:
    
    	* event-loop.c (poll_timers): Unallocate timer using delete
    	instead of xfree.

commit c1fc2657206188767cb66813d07b9ecbb5e9ec51
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 2 23:16:21 2017 +0200

    C++ify breakpoint class hierarchy (destructors only)
    
    Breakpoints are currently in a limbo state between C and C++.  There is
    a pseudo class hierarchy implemented using struct fields.  Taking
    watchpoint as an example:
    
      struct watchpoint
      {
        /* The base class.  */
        struct breakpoint base;
    
        ...
      }
    
    and it is instantianted with "new watchpoint ()".  When destroyed, a
    destructor is first invoked through the breakpoint_ops, and then the
    memory is freed by calling delete through a pointer to breakpoint.
    Address sanitizer complains about this, for example, because we new and
    delete the same memory using different types.
    
    This patch takes the logical step of making breakpoint subclasses extend
    the breakpoint class for real, and converts their destructors to actual
    C++ destructors.
    
    Regtested on the buildbot.
    
    gdb/ChangeLog:
    
    	* breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
    	(struct breakpoint) <~breakpoint>: New.
    	(struct watchpoint): Inherit from breakpoint.
    	<~watchpoint>: New.
    	<base>: Remove.
    	(struct tracepoint): Inherit from breakpoint.
    	<base>: Remove.
    	* breakpoint.c (longjmp_breakpoint_ops): Remove.
    	(struct longjmp_breakpoint): Inherit from breakpoint.
    	<~longjmp_breakpoint>: New.
    	<base>: Remove.
    	(new_breakpoint_from_type): Remove casts.
    	(watchpoint_in_thread_scope): Remove reference to base field.
    	(watchpoint_del_at_next_stop): Likewise.
    	(update_watchpoint): Likewise.
    	(watchpoint_check): Likewise.
    	(bpstat_check_watchpoint): Likewise.
    	(set_longjmp_breakpoint): Likewise.
    	(struct fork_catchpoint): Inherit from breakpoint.
    	<base>: Remove.
    	(struct solib_catchpoint): Inherit from breakpoint.
    	<~solib_catchpoint>: New.
    	<base>: Remove.
    	(dtor_catch_solib): Change to ...
    	(solib_catchpoint::~solib_catchpoint): ... this.
    	(breakpoint_hit_catch_solib): Remove reference to base field.
    	(add_solib_catchpoint): Likewise.
    	(create_fork_vfork_event_catchpoint): Likewise.
    	(struct exec_catchpoint): Inherit from breakpoint.
    	<~exec_catchpoint>: New.
    	<base>: Remove.
    	(dtor_catch_exec): Change to ...
    	(exec_catchpoint::~exec_catchpoint): ... this.
    	(dtor_watchpoint): Change to ...
    	(watchpoint::~watchpoint): ... this.
    	(watch_command_1): Remove reference to base field.
    	(catch_exec_command_1): Likewise.
    	(base_breakpoint_dtor): Change to ...
    	(breakpoint::~breakpoint): ... this.
    	(base_breakpoint_ops): Remove dtor field value.
    	(longjmp_bkpt_dtor): Change to ...
    	(longjmp_breakpoint::~longjmp_breakpoint): ... this.
    	(strace_marker_create_breakpoints_sal): Remove reference to base
    	field.
    	(delete_breakpoint): Don't manually call breakpoint destructor.
    	(create_tracepoint_from_upload): Remove reference to base field.
    	(trace_pass_set_count): Likewise.
    	(initialize_breakpoint_ops): Don't initialize
    	momentary_breakpoint_ops, don't set dtors.
    	* ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
    	<~ada_catchpoint>: New.
    	<base>: Remove.
    	(create_excep_cond_exprs): Remove reference to base field.
    	(dtor_exception): Change to ...
    	(ada_catchpoint::~ada_catchpoint): ... this.
    	(dtor_catch_exception): Remove.
    	(dtor_catch_exception_unhandled): Remove.
    	(dtor_catch_assert): Remove.
    	(create_ada_exception_catchpoint): Remove reference to base
    	field.
    	(initialize_ada_catchpoint_ops): Don't set dtors.
    	* break-catch-sig.c (struct signal_catchpoint): Inherit from
    	breakpoint.
    	<~signal_catchpoint>: New.
    	<base>: Remove.
    	(signal_catchpoint_dtor): Change to ...
    	(signal_catchpoint::~signal_catchpoint): ... this.
    	(create_signal_catchpoint): Remove reference to base field.
    	(initialize_signal_catchpoint_ops): Don't set dtor.
    	* break-catch-syscall.c (struct syscall_catchpoint): Inherit
    	from breakpoint.
    	<~syscall_catchpoint>: New.
    	<base>: Remove.
    	(dtor_catch_syscall): Change to ...
    	(syscall_catchpoint::~syscall_catchpoint): ... this.
    	(create_syscall_event_catchpoint): Remove reference to base
    	field.
    	(initialize_syscall_catchpoint_ops): Don't set dtor.
    	* break-catch-throw.c (struct exception_catchpoint): Inherit
    	from breakpoint.
    	<~exception_catchpoint>: New.
    	<base>: Remove.
    	(dtor_exception_catchpoint): Change to ...
    	(exception_catchpoint::~exception_catchpoint): ... this.
    	(handle_gnu_v3_exceptions): Remove reference to base field.
    	(initialize_throw_catchpoint_ops): Don't set dtor.
    	* ctf.c (ctf_get_traceframe_address): Remove reference to base
    	field.
    	* remote.c (remote_get_tracepoint_status): Likewise.
    	* tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
    	* tracefile.c (tracefile_fetch_registers): Likewise.
    	* tracepoint.c (actions_command): Likewise.
    	(validate_actionline): Likewise.
    	(tfind_1): Likewise.
    	(get_traceframe_location): Likewise.
    	(find_matching_tracepoint_location): Likewise.
    	(parse_tracepoint_status): Likewise.
    	* mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.

commit 3b0871f44a3402f4e1e811ae81c8ba1293c1c7be
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 2 23:16:20 2017 +0200

    Create struct type for longjmp breakpoint
    
    The longjmp kind of breakpoint has a destructor, but doesn't have an
    associated structure.  The next patch converts breakpoint destructors from
    breakpoint_ops::dtor to actual destructors, but to do that it is needed
    for longjmp_breakpoint to have a structure that will contain such
    destructor.  This patch adds it.
    
    According to initialize_breakpoint_ops, a longjmp breakpoint derives
    from "momentary breakpoints", so eventually a momentary_breakpoint
    struct/class should probably be created.  It's not necessary for the
    destructor though, so a structure type for this abstract kind of
    breakpoint can be added when we fully convert breakpoint ops into
    methods of the breakpoint type hierarchy.
    
    It is now necessary to instantiate different kinds of breakpoint objects
    in set_raw_breakpoint_without_location based on bptype (sometimes a
    breakpoint, sometimes a longjmp_breakpoint), so it now uses
    new_breakpoint_from_type to do that.  I also changed set_raw_breakpoint
    to use it, even though I don't think that it can ever receive a bptype
    that actually requires it.  However, I think it's good if all breakpoint
    object instantion is done in a single place.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (struct longjmp_breakpoint): New struct.
    	(is_tracepoint_type): Change return type to bool.
    	(is_longjmp_type): New function.
    	(new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
    	(set_raw_breakpoint_without_location): Use
    	new_breakpoint_from_type.
    	(set_raw_breakpoint): Likewise.

commit a5e364af4a3d745bb79cfc9a1d533632d4d04b57
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Jun 2 23:16:19 2017 +0200

    Introduce and use new_breakpoint_from_type
    
    This is a small preparatory patch to factor out a snippet that appears
    twice.  More kinds of breakpoints will need to be created based on
    bptype, so I think it's a good idea to centralize the instantiation of
    breakpoint objects.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (new_breakpoint_from_type): New function.
    	(create_breakpoint_sal): Use new_breakpoint_from_type and
    	unique_ptr.
    	(create_breakpoint): Likewise.

commit e7cd2680e089327e7fefaf1cf5a58ec09e379f0d
Author: Michael Eager <eager@eagercon.com>
Date:   Fri Jun 2 08:04:59 2017 -0700

    Correct check for endianness
    
    * interp.c: (target_big_endian): target endianess recognition fix.

commit 0efdc7237e8eb2c75b9c74bc60175ef50719b8b8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 2 00:00:23 2017 +0000

    Automatic date update in version.in

commit 6cf3bf8875d84aff854fe5fe5a04141033d5ee6f
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Jun 1 09:47:31 2017 -0700

    Correct ChangeLog entry date.

commit b5430a3ced5fe5ba484bd9b3215b9ae19ced0160
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Jun 1 09:40:46 2017 -0700

    Use the ELF class to determine the word size for FreeBSD core notes.
    
    FreeBSD ELF cores contain data structures with that have two different
    layouts: one for ILP32 platforms and a second for LP64 platforms.
    Previously, the code used 'bits_per_word' from 'arch_info', but this
    field is not a reliable indicator of the format for FreeBSD MIPS cores
    in particular.
    
    I had originally posted this patch back in November because process
    cores for FreeBSD MIPS contained an e_flags value of 0 in the header
    which resulted in a bfd_arch which always had 'bits_per_word' set to
    32.  This permitted reading o32 cores, but not n64 cores.  The feedback
    I received then was to try to change n64 cores to use a different
    default bfd_arch that had a 64-bit 'bits_per_word' when e_flags was zero.
    I submitted a patch to that effect but it was never approved.  Instead,
    I changed FreeBSD's kernel and gcore commands to preserve the e_flags
    field from an executable when generating process cores.  With a proper
    e_flags field in process cores, n64 cores now use a 64-bit bfd_arch and
    now work fine.  However, the change to include e_flags in the process
    cores had the unintended side effect of breaking handling of o32
    process cores.  Specifically, FreeBSD MIPS builds o32 with a default
    MIPS architecture of 'mips3', thus FreeBSD process cores with a non-zero
    e_flags match the 'mips3' bfd_arch which has 64 'bits_per_word'.
    
    From this, it seems that 'bits_per_word' for FreeBSD MIPS is not likely
    to ever be completely correct.  However, FreeBSD core dumps do
    reliably set the ELF class to ELFCLASS32 for cores using ILP32 and
    ELFCLASS64 for cores using LP64.  As such, I think my original patch of
    using the ELF class instead of 'bits_per_word' is probably the simplest
    and most reliable approach for detecting the note structure layout.
    
    bfd/ChangeLog:
    
    	* elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
    	determine structure sizes.
    	(elfcore_grok_freebsd_prstatus): Likewise.

commit f378ab099d535f5540f292fed07fcf4b1fabd314
Author: Alan Modra <amodra@gmail.com>
Date:   Fri May 26 10:02:29 2017 +0930

    PPC64_OPT_LOCALENTRY
    
    ELFv2 functions with localentry:0 are those with a single entry point,
    ie. global entry == local entry, and that have no requirement on r2 or
    r12, and guarantee r2 is unchanged on return.  Such an external
    function can be called via the PLT without saving r2 or restoring it
    on return, avoiding a common load-hit-store for small functions.   The
    optimization is attractive.  The TOC pointer load-hit-store is a major
    reason why calls to small functions that need no register saves, or
    with shrink-wrap, no register saves on a fast path, are slow on
    powerpc64le.
    
    To be safe, this optimization needs ld.so support to check that the
    run-time matches link-time function implementation.  If a function
    in a shared library with st_other localentry non-zero is called
    without saving and restoring r2, r2 will be trashed on return, leading
    to segfaults.  For that reason the optimization does not happen for
    weak functions since a weak definition is a fairly solid hint that the
    function will likely be overridden.  I'm also not enabling the
    optimization by default unless glibc-2.26 is detected, which should
    have the ld.so checks implemented.
    
    bfd/
    	* elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
    	(ppc64_elf_merge_symbol_attribute): Merge localentry bits from
    	dynamic objects.
    	(is_elfv2_localentry0): New function.
    	(ppc64_elf_tls_setup): Default params->plt_localentry0.
    	(plt_stub_size): Adjust size for tls_get_addr_opt stub.
    	(build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
    	(ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
    	optimized localentry:0 stubs.
    	(ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
    	(ppc64_elf_relocate_section): Leave nop unchanged for optimized
    	localentry:0 stubs.
    	(ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
    	DT_PPC64_OPT.
    	* elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
    include/
    	* elf/ppc64.h (PPC64_OPT_LOCALENTRY): Define.
    ld/
    	* emultempl/ppc64elf.em (params): Init plt_localentry0 field.
    	(enum ppc64_opt): New, replacing OPTION_* defines.  Add
    	OPTION_PLT_LOCALENTRY, and OPTION_NO_PLT_LOCALENTRY.
    	(PARSE_AND_LIST_*): Support --plt-localentry and --no-plt-localentry.
    	* testsuite/ld-powerpc/elfv2so.d: Update.
    	* testsuite/ld-powerpc/powerpc.exp (TLS opt 5): Use --no-plt-localentry.
    	* testsuite/ld-powerpc/tlsopt5.d: Update.

commit 19fb31c0060f646a9f84be1a84ed1bea04e7ed57
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Thu Jun 1 13:46:15 2017 +0200

    S/390: idte/ipte fixes
    
    Later CPU generations added optional operands to the ipte/idte
    instructions.  I've added these with:
    https://sourceware.org/ml/binutils/2017-05/msg00316.html ... but
    supported the optional operands only with the specific hardware
    levels.  However, it is more useful to have the optional operands
    already in the first versions.  Of course they need to be zero there.
    
    Regression-tested with on s390 and s390x.  Committed to mainline.
    
    Bye,
    
    -Andreas-
    
    opcodes/ChangeLog:
    
    2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.txt: Support the optional parameters with the first
    	versions of ipte/idte.
    
    gas/ChangeLog:
    
    2017-06-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/esa-g5.d: Add ipte tests.
    	* testsuite/gas/s390/esa-g5.s: Likewise.
    	* testsuite/gas/s390/zarch-z196.d: Remove ipte tests.
    	* testsuite/gas/s390/zarch-z196.s: Likewise.
    	* testsuite/gas/s390/zarch-z990.d: Add idte tests.
    	* testsuite/gas/s390/zarch-z990.s: Likewise.
    	* testsuite/gas/s390/zarch-zEC12.d: Remove ipte/idte tests.
    	* testsuite/gas/s390/zarch-zEC12.s: Likewise.

commit 580dfe9d4cb936535927fb954bdc96a2320c6244
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 1 00:00:46 2017 +0000

    Automatic date update in version.in

commit ae3b3f34ed96f121af37018b8ff3a78810881ad8
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed May 31 17:09:07 2017 +0200

    Rename "mem" related commmands
    
    Rename "mem" related commands, so that their naming is consistent with
    the <command-name>_command pattern of naming functions that implement
    commands.
    
    gdb/ChangeLog:
    
    	* memattr.c (mem_info_command): Rename to ...
    	(info_mem_command): ... this.
    	(mem_enable_command): Rename to ...
    	(enable_mem_command): ... this.
    	(mem_disable_command): Rename to ...
    	(disable_mem_command): ... this.
    	(mem_delete_command): Rename to ...
    	(delete_mem_command): ... this.
    	(_initialize_mem): Adjust function names.

commit ab12fca3906c9c76ec25a9de52f5142f5736413f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed May 31 18:10:01 2017 +0930

    PowerPC64 ld help quoting
    
    	* emultempl/ppc64elf.em (plt-static-chain help): Fix quoting.

commit 13ace07792fa75aa276e2d7c3cb03cec117d63a4
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Nov 21 14:27:57 2016 +0100

    btrace: support decoder events
    
    Newer versions of libipt support instruction flow decoder events instead of
    indicating those events with flags in struct pt_insn.  Add support for them in
    GDB.
    
    gdb/
    	* btrace.c (handle_pt_insn_events): New.
    	(ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
    	STATUS.  Split into this and ...
    	(handle_pt_insn_event_flags): ... this.

commit c56ccc05b2c98510f360d7f454f38169eb3bdb06
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Nov 21 11:46:15 2016 +0100

    config, btrace: check for pt_insn_event in libipt
    
    Version 2 of libipt adds an event system to instruction flow decoders and
    deprecates indicating events via flags in struct pt_insn.  Add configuration
    checks to determine which version we have.
    
    gdb/
    	* configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
    	and struct pt_insn.resynced.
    	* configure: Regenerated.
    	* config.in: Regenerated.

commit 5b4a1ff337973732ff9a5ad9b1cb84d74a7e6185
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Wed May 31 09:44:08 2017 +0300

    Avoid compilation warning on MinGW in xstrndup
    
    libiberty/ChangeLog:
    
    2017-05-31  DJ Delorie  <dj@redhat.com>
    
    	* configure.ac (strnlen): Add to AC_CHECK_DECLS.
    	* configure: Likewise.
    	* config.in: Add HACE_DECL_STRNLEN.

commit 90b4491842980d57a0e572167a168e04a476bca5
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Wed May 31 09:37:48 2017 +0300

    Make libiberty/waitpid.c compile without warnings on MinGW
    
    libiberty/ChangeLog:
    
    2017-05-31  Eli Zaretskii  <eliz@gnu.org>
    
    	* waitpid.c (wait) [__MINGW32__]: Define as a macro
    	that calls _cwait, so that this function works on MinGW.

commit b9c6833008dfb3c45354f4e810e631a77f3c9cb3
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Wed May 31 09:35:07 2017 +0300

    Fix MinGW compilation warnings due to environ.h
    
    include/ChangeLog:
    
    2017-05-31  Eli Zaretskii <eliz@gnu.org>
    
    	* environ.h: Add #ifndef guard.

commit 1b1810b5e01968cdfc16d537b4d5c27adab8a173
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 31 00:00:41 2017 +0000

    Automatic date update in version.in

commit 8c65b54f18c03ffb844e1cbaa3b46b43444ff9e7
Author: Casey Smith <clegg89@gmail.com>
Date:   Tue May 30 15:07:56 2017 +0100

    Fix calculation of R_ARM_RHM_ALU_PREL_11_0 relocation when used with a SUB instruction.
    
    	PR ld/21523
    	* elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
    	value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.

commit 10045478d984f9924cb945423388ba25b7dd3ffe
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Thu Mar 16 15:21:31 2017 +0300

    [ARC] Allow CPU to be enforced via disassemble_info options
    
    Currently print_insn_arc relies on BFD mach and ELF private headers to
    distinguish between various ARC architectures.  Sometimes those values are not
    correct or available, mainly in the case of debugging targets without and ELF
    file available.  Changing a BFD mach is not a problem for the debugger, because
    this is a generic BFD field, and GDB, for example, already sets it according to
    information provided in XML target description or specified via GDB 'set arch'
    command.  However, things are more complicated for ELF private headers, since
    it requires existing of an actual ELF file.  To workaround this problem this
    patch allows CPU model to be specified via disassemble info options.  If CPU is
    specified in options, then it will take a higher precedence than whatever might
    be specified in ELF file.
    
    This is mostly needed for ARC EM and ARC HS, because they have the same
    "architecture" (mach) ARCv2 and differ in their private ELF headers.  Other ARC
    architectures can be distinguished between each other purely via "mach" field.
    
    Proposed disassemble option format is "cpu=<CPU>", where CPU can be any valid
    ARC CPU name as supported by GAS.  Note that this creates a seeming redundancy
    with objdump -m/--architecture option, however -mEM and -mHS still result in
    "ARCv2" architecture internally, while -Mcpu={HS,EM} would have an actual
    effect on disassembler.
    
    opcodes/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-dis.c (enforced_isa_mask): Declare.
    	(cpu_types): Likewise.
    	(parse_cpu_option): New function.
    	(parse_disassembler_options): Use it.
    	(print_insn_arc): Use enforced_isa_mask.
    	(print_arc_disassembler_options): Document new options.
    
    binutils/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* doc/binutils.texi: Document new cpu=... disassembler options for ARC.

commit 940171d08654a9ff5bf9b8886f76e8189a02cf09
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Apr 7 17:22:39 2017 +0300

    [ARC] Add arc-cpu.def with processor definitions
    
    This patch extracts ARC CPU definitions from gas/config/tc-arc.c (cpu_types)
    into a separate file arc-cpu.def.  This will allow reuse of CPU type definition
    in multiple places where it might be needed, for example in disassembler.  This
    will help ensure that gas and disassembker use same option values for CPUs.
    
    arc-cpu.def file relies on preprocessor macroses which are defined somewhere
    else.  This for example multiple C files to include arc-cpu.def, but define
    different macroses, therefore creating different structures.
    
    include/ChangeLog:
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* elf/arc-cpu.def: New file.
    
    gas/ChangeLog:
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* config/tc-arc.c (cpu_types): Include arc-cpu.def
    
    Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>

commit 64984c22f7045d53590f816e7ba0b9b9fa1dbbe7
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Mar 17 18:37:42 2017 +0300

    [ARC] Implement compatible function for ARC BFD architectures
    
    The general rule for bfd_arch_info_type->compatible (A, B) is that if A and B
    are compatible, then this function should return architecture that is more
    "feature-rich", that is, can run both A and B.  ARCv2, EM and HS all has same
    mach number, so bfd_default_compatible assumes they are the same, and returns
    an A.  That causes issues with GDB, because GDB assumes that if machines are
    compatible, then "compatible ()" always returns same machine regardless of
    argument order.  As a result GDB gets confused because, for example,
    compatible(ARCv2, EM) returns ARCv2, but compatible(EM, ARCv2) returns EM,
    hence GDB is not sure if they are compatible and prints a warning.
    
    bfd/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  Anton.Kolesov@synopsys.com
    
    	 cpu-arc.c (arc_compatible): New function.

commit 37cd38778dfb73d28e533fd1ddabb88b4b3a5771
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Mar 17 16:43:31 2017 +0300

    [ARC] Remove duplicate ARC600 entry
    
    ARC600 is already defined as the head of the bfd_arch_arc.
    
    bfd/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.

commit 8e2f54bcee7e3e8315d4a39a302eaf8e4389e07d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 30 06:34:05 2017 -0700

    Add bfd_get_file_size to get archive element size
    
    We can't use stat() to get archive element size.  Add bfd_get_file_size
    to get size for both normal files and archive elements.
    
    bfd/
    
    	PR binutils/21519
    	* bfdio.c (bfd_get_file_size): New function.
    	* bfd-in2.h: Regenerated.
    
    binutils/
    
    	PR binutils/21519
    	* objdump.c (dump_relocs_in_section): Replace get_file_size
    	with bfd_get_file_size to get archive element size.
    	* testsuite/binutils-all/objdump.exp (test_objdump_f): New
    	proc.
    	(test_objdump_h): Likewise.
    	(test_objdump_t): Likewise.
    	(test_objdump_r): Likewise.
    	(test_objdump_s): Likewise.
    	Add objdump tests on archive.

commit 08c3f6d234761d92b50d3c56d3cb4b82fdd58c77
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Store function segments as objects.

commit 8ffd39f2e42151b383616923ae922e697273ec8e
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove bfun_s vector.

commit 4aeb0dfcc42acfc108d3f870384d1719adc9569b
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Replace struct btrace_function::segment.
    
    This used to hold a pair of pointers to the previous and next function segment
    that belong to this function call.  Replace with a pair of indices into the
    vector of function segments.

commit eb8f2b9c44619eecdb3b77da01da910fcf05abed
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove struct btrace_function::flow.
    
    This used to hold a pair of pointers to the previous and next function segment
    in execution flow order.  It is no longer necessary as the previous and next
    function segments now are simply the previous and next elements in the vector
    of function segments.

commit 42bfe59e3a3fef26be6809168756f40740fac1d0
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Replace struct btrace_function::up.
    
    This used to hold a function segment pointer.  Change it to hold an index into
    the vector of function segments instead.

commit b54b03bd874936ab3c91f23e5dff3a87153c4e36
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove struct btrace_thread_info::{begin,end}.
    
    These are no longer needed and might hold invalid addresses once we change the
    vector of function segment pointers into a vector of function segment objects
    where a reallocation of the vector changes the address of its elements.

commit 8286623c113daf97a45cde5fc8ef9587b85c898b
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Remove constant arguments.

commit a0f1b963327b9cc349a1e6b4c543a29fbee68fba
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Use function segment index in insn iterator.
    
    Remove FUNCTION pointer in struct btrace_insn_iterator and use an index into
    the list of function segments instead.

commit f158f208759703b94dbfc6de2222ae7740420faf
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Use function segment index in call iterator.
    
    Remove FUNCTION pointer in struct btrace_call_iterator and use an index into
    the list of function segments instead.

commit 521103fd00e593c08a6bedb619c5a9f8f7cc5a91
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Add btinfo to instruction interator.
    
    This will serve as the access path to the vector of function segments once
    the FUNCTION pointer in struct btrace_insn_iterator is removed.

commit 17b89b34b8d7a5a8b713c92a9ebe689c6edd6798
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Transfer ownership of pointers.
    
    Directly insert new btrace_function pointers into the vector and have the
    vector own these pointers.  This allows us to later retrieve these objects by
    their number directly after creation whereas at the moment we have to wait
    until the vector is fully populated.
    
    This requires to pull btrace_thread_info through different functions but
    cleans up the code for freeing the trace.

commit 2b51eddc5503ea84d48c5b3b3ec3388eba440451
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 30 12:47:37 2017 +0200

    btrace: Use std::vector in struct btrace_thread_information.

commit 70c16c04ac76a90f18e920aaea1026bde90c493c
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Tue May 30 12:04:10 2017 +0200

    S/390: Fix indentation
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Fix indentation.

commit db6be0d5e31f11c10004f1f2ef2de05d213da1f4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue May 30 11:29:57 2017 +0200

    Fix NEWS formatting in GDB 8.0 section
    
    Change the GDB 8.0 section of the NEWS file to try to follow this order:
    
      * Functional changes
      * Added and removed configurations and targets
      * New commands
      * New options
      * MI changes
    
    In particular, there were two "New commands" sections.
    
    gdb/ChangeLog:
    
    	* NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
    	"Removed targets and native configurations" up.  Merge duplicate
    	"New commands" sub-sections.  Add "New options" sub-sections.

commit 8e86a419d7f8753f4e77cf23aa53bc02ac6febf1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue May 30 11:24:52 2017 +0200

    gdb.base/watch-cond-infcall.exp: Don't run if target doesn't support infcalls
    
    This test requires calling a function in the inferior, and therefore it
    doesn't make sense to run it if the target doesn't support calling
    functions from GDB.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/watch-cond-infcall.exp: Don't run if target doesn't
    	support function calls from GDB.

commit ca87ae741fe9c8aad9db1afbf109dc070d0168cf
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:38:42 2017 +0200

    S/390: Fix instruction types of csdtr and csxtr
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.c: Add new instruction types RRF_0URF and RRF_0UREFE.
    	* s390-opc.txt: Fix instruction typs of csdtr and csxtr.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/zarch-z9-ec.d: Adjust csdtr and csxtr.
    	* testsuite/gas/s390/zarch-z9-ec.s: Likewise.

commit 67aa8be4cb43cd94bc322fed8bdba48b3c8719c4
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:38:11 2017 +0200

    S/390: Add missing operand to tb instruction
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/esa-g5.d: Add missing operand to tb
    	instruction.
    	* testsuite/gas/s390/esa-g5.s: Likewise.
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.txt: Add missing operand to tb instruction.

commit ffc61c5de1a5a89e3e37fb9376725c32a839c34d
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:36:57 2017 +0200

    S/390: Add ipte/idte variants with optional operands
    
    This patch adds missing variants of ipte and idte instructions added with later CPU
    generations.
    
    ipte got an optional operand with z196 and another one with zEC12.
    idte got an optional operand with zEC12
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.c: Add new idte/ipte variants.
    	* s390-opc.txt: Likewise.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/zarch-z196.d: Add new idte/ipte variants.
    	* testsuite/gas/s390/zarch-z196.s: Likewise.
    	* testsuite/gas/s390/zarch-zEC12.d: Likewise.
    	* testsuite/gas/s390/zarch-zEC12.s: Likewise.

commit a09f2586017aeed82fa07c8bfea6c75859295bd9
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:34:56 2017 +0200

    S/390: Improve error checking for optional operands
    
    So far we only had an instruction flag which made an arbitrary number
    of operands optional.  This limits error checking capabilities for
    instructions marked that way.  With this patch the optparm flag only
    allows a single optional parameter and another one is added (optparm2)
    allowing 2 optional arguments.  Hopefully we won't need more than that
    in the future. So far there will be only a single use of optparm2.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Support new optparm2
    	instruction flag.
    
    include/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h: Add new instruction flags optparm2.
    
    opcodes/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-dis.c (s390_print_insn_with_opcode): Support new optparm2
    	instruction flag.
    	* s390-mkopc.c (main): Recognize the new instruction flag when
    	parsing instruction list.

commit bfcfbe611b4d7e650236f8b8ba7d0706cfe6a0b7
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 29 12:33:15 2017 +0200

    S/390: Remove optional operand flag.
    
    The per operand optional flag hasn't been used for quite some time.
    Cleanup some remains.
    
    include/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h: Remove S390_OPERAND_OPTIONAL.
    
    gas/ChangeLog:
    
    2017-05-30  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Remove code dealing with
    	S390_OPERAND_OPTIONAL.

commit 6813cafe52236a95289accb138032c1d6dd3272e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 30 00:00:15 2017 +0000

    Automatic date update in version.in

commit 146c3d9d5993289ae0af7c1c872eebaa8662d2fc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 29 00:00:36 2017 +0000

    Automatic date update in version.in

commit b40889f2c860d768fa72662d8a3ce7e81ea79aac
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun May 28 00:00:39 2017 +0000

    Automatic date update in version.in

commit 2153e1dc0512822ed070de220e33a1a03ea7a4eb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat May 27 00:00:40 2017 +0000

    Automatic date update in version.in

commit b057297ab63a9124aae1773566815cd8c4bde8e9
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri May 26 17:04:13 2017 +0100

    Add regcache raw_supply_integer and raw_collect_integer.
    
    Use these to replace instances of MAX_REGISTER_SIZE.
    
    	* defs.h (copy_integer_to_size): New declaration.
    	* findvar.c (copy_integer_to_size): New function.
    	(do_cint_test): New selftest function.
    	(copy_integer_to_size_test): Likewise.
    	(_initialize_findvar): Likewise.
    	* mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
    	(mips_fbsd_collect_reg): Use raw_collect_integer.
    	* mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
    	(mips64_fill_gregset): Use raw_collect_integer
    	(mips64_fill_fpregset): Use raw_supply_integer.
    	* regcache.c (regcache::raw_supply_integer): New function.
    	(regcache::raw_collect_integer): Likewise.
    	* regcache.h: (regcache::raw_supply_integer): New declaration.
    	(regcache::raw_collect_integer): Likewise.

commit 22e7d2933103f1384c1d54dff6188cd57cbe171a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri May 26 00:00:38 2017 +0000

    Automatic date update in version.in

commit 64aaf98419a0485fe3490dfb53417ac9958c7327
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu May 25 00:00:45 2017 +0000

    Automatic date update in version.in

commit b77b02a5ca5a021ee8b5e5453e8843447d1132b2
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Add unit test to gdbarch methods register_to_value and value_to_register
    
    This patch adds one unit test for gdbarch methods register_to_value and
    value_to_register.  The test pass different combinations of {regnu, type}
    to gdbarch_register_to_value and gdbarch_value_to_register.  In order
    to do the test, add a new function create_new_frame to create a fake
    frame.  It can be improved after we converted frame_info to class.
    
    In order to isolate regcache (from target_ops operations on writing
    registers, like target_store_registers), the sub-class of regcache in the
    test override raw_write.  Also, in order to get the right regcache from
    get_thread_arch_aspace_regcache, the sub-class of regcache inserts itself
    to current_regcache.
    
    Suppose I incorrectly modified the size of buffer as below,
    
    @@ -1228,7 +1228,7 @@ ia64_register_to_value (struct frame_info *frame, int regnum,
                            int *optimizedp, int *unavailablep)
     {
       struct gdbarch *gdbarch = get_frame_arch (frame);
    -  gdb_byte in[MAX_REGISTER_SIZE];
    +  gdb_byte in[1];
    
       /* Convert to TYPE.  */
       if (!get_frame_register_bytes (frame, regnum, 0,
    
    build GDB with "-fsanitize=address" and run unittest.exp, asan can detect
    such error
    
    ==2302==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fff98193870 at pc 0xbd55ea bp 0x7fff981935a0 sp 0x7fff98193598
    WRITE of size 16 at 0x7fff98193870 thread T0
        #0 0xbd55e9 in frame_register_unwind(frame_info*, int, int*, int*, lval_type*, unsigned long*, int*, unsigned char*) /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1119
        #1 0xbd58c8 in frame_register(frame_info*, int, int*, int*, lval_type*, unsigned long*, int*, unsigned char*) /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1147
        #2 0xbd6e25 in get_frame_register_bytes(frame_info*, int, unsigned long, int, unsigned char*, int*, int*) /home/yao/SourceCode/gnu/gdb/git/gdb/frame.c:1427
        #3 0x70080a in ia64_register_to_value /home/yao/SourceCode/gnu/gdb/git/gdb/ia64-tdep.c:1236
        #4 0xbf570e in gdbarch_register_to_value(gdbarch*, frame_info*, int, type*, unsigned char*, int*, int*) /home/yao/SourceCode/gnu/gdb/git/gdb/gdbarch.c:2619
        #5 0xc05975 in register_to_value_test /home/yao/SourceCode/gnu/gdb/git/gdb/gdbarch-selftests.c:131
    
    Or, even if GDB is not built with asan, GDB just crashes.
    
    *** stack smashing detected ***: ./gdb terminated
    Aborted (core dumped)
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (SFILES): Add gdbarch-selftests.c.
    	(COMMON_OBS): Add gdbarch-selftests.o.
    	* frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
    	* frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
    	* gdbarch-selftests.c: New file.
    	* regcache.h (regcache) <~regcache>: Mark it virtual if
    	GDB_SELF_TEST.
    	<raw_write>: Likewise.

commit e521e87e8514b9d3497208b70bcd067f132c58ed
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Move current_regcache to regcache::current_regcache
    
    This patches moves global variable current_regcache to a class regcache
    static variable (protected) so that the unit test I add in the following
    patch can access it (by means of extending class regcache in unit test).
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (current_regcache): Change it to
    	regcache::current_regcache.
    	(regcache_observer_target_changed): Update.
    	(regcache_thread_ptid_changed): Make it a regcache static
    	method.
    	(regcache_thread_ptid_changed): Update.
    	(class regcache_access): New.
    	(current_regcache_test): Update.
    	(_initialize_regcache): Update.
    	* regcache.h: Include forward_list.
    	(regcache): Declare regcache_thread_ptid_changed and declare
    	registers_changed_ptid as friend.

commit d8e07dda92366be0f6fc2e7128620d3dd53494e3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Get register contents by register_size instead of TYPE_LENGTH
    
    We should use register_size to get register contents instead of
    TYPE_LENGTH.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* i387-tdep.c (i387_register_to_value): Use register_size
    	instead of TYPE_LENGTH.
    	* m68k-tdep.c (m68k_register_to_value): Likewise.

commit 8c8f9122ce6e6c00f72914479af57a7b87244554
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict i387_convert_register_p
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* i387-tdep.c (i387_convert_register_p): Return false if type
    	code isn't TYPE_CODE_FLT.

commit 68fce50f04f495980f4ea81746339a9de5b52ebb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict alpha_convert_register_p
    
    This patch restricts alpha_convert_register_p from
    "TYPE_LENGTH (type) != 8" to "TYPE_LENGTH (type) == 4", because,
    
     - we have check "TYPE_LENGTH (valtype) == 4" in alpha_register_to_value
       and alpha_value_to_register,
     - alpha lds and sts instruction access 4 bytes,
     - comments "It might need to convert the [float] register into the
       corresponding [integer] type (see Alpha)" and integer is 4-byte on
       alpha,
    
    I think it is the right restrict condition to "TYPE_LENGTH (valtype) == 4".
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_convert_register_p): Return true if type
    	length is 4.
    	(alpha_register_to_value): Remove type length check.
    	(alpha_value_to_register): Likewise.

commit 88954b49e47574cdd048a23ca391a85fb6f77f47
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict ia64_convert_register_p
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* ia64-tdep.c (ia64_convert_register_p): Check type's code is
    	TYPE_CODE_FLT.

commit e3ec9b69cde4e07d95eaadee75566fd4a8091df5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Restrict m68k_convert_register_p
    
    We need to convert register if the type is float.  Suppose we get a value
    from float point register, but its type is integer, we don't have to convert.
    This case may not exist in real code, but exist in my unit test case.
    
    warning: Cannot convert floating-point register value to non-floating-point type.
    Self test failed: arch m68k: self-test failed at gdb/git/gdb/findvar.c:1072
    
                  ok = gdbarch_register_to_value (gdbarch, frame, regnum, type,
                                                  buf.data (), &optim, &unavail);
    
    1072:         SELF_CHECK (ok);
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* m68k-tdep.c (m68k_convert_register_p): Check type's code is
    	TYPE_CODE_FLT or not.

commit cdd238daf949385bd6ef188e24b40d9fcb83a0e8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:23 2017 +0100

    Use XCNEW gdbarch_tdep
    
    This patch uses XCNEW gdbarch_tdep instead of XNEW.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
    	* avr-tdep.c (avr_gdbarch_init): Likewise.
    	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
    	* cris-tdep.c (cris_gdbarch_init): Likewise.
    	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
    	* lm32-tdep.c (lm32_gdbarch_init): Likewise.
    	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
    	* m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
    	* mep-tdep.c (mep_gdbarch_init): Likewise.
    	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
    	* mips-tdep.c (mips_gdbarch_init): Likewise.
    	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
    	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
    	* msp430-tdep.c (msp430_gdbarch_init): Likewise.
    	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
    	* v850-tdep.c (v850_gdbarch_init): Likewise.

commit 7a3929c417b1388c689a0cd6b0b2f6579d85ec78
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 22:15:22 2017 +0100

    Clear GDB internal state after each unit test
    
    GDB has some global variables, like sentinel_frame,
    current_thread_arch, and etc, we need to reset them after each unit
    tests.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* selftest-arch.c (tests_with_arch): Call registers_changed
    	and reinit_frame_cache.
    	* selftest.c (run_self_tests): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |  371 +++++
 bfd/aout-adobe.c                                   |    1 +
 bfd/aout-target.h                                  |    3 +
 bfd/aout-tic30.c                                   |    3 +
 bfd/arc-got.h                                      |    7 +-
 bfd/bfd-in2.h                                      |   17 +-
 bfd/bfdio.c                                        |   23 +
 bfd/binary.c                                       |    5 +-
 bfd/bout.c                                         |    1 +
 bfd/coff-alpha.c                                   |    1 +
 bfd/coff-mips.c                                    |    1 +
 bfd/coff-rs6000.c                                  |    1 +
 bfd/coff64-rs6000.c                                |    2 +
 bfd/coffcode.h                                     |    4 +
 bfd/config.bfd                                     |   19 +-
 bfd/cpu-arc.c                                      |   60 +-
 bfd/elf-bfd.h                                      |   25 +-
 bfd/elf-properties.c                               |   15 +-
 bfd/elf.c                                          |   94 +-
 bfd/elf32-arc.c                                    |   89 +-
 bfd/elf32-arm.c                                    |   15 +-
 bfd/elf32-i386.c                                   |   42 +-
 bfd/elf32-s390.c                                   |   21 +-
 bfd/elf32-score.c                                  |    8 +-
 bfd/elf32-score7.c                                 |   16 +-
 bfd/elf32-sh.c                                     |    2 +-
 bfd/elf32-xtensa.c                                 |   60 +-
 bfd/elf64-mips.c                                   |   19 +-
 bfd/elf64-ppc.c                                    |   77 +-
 bfd/elf64-ppc.h                                    |    3 +
 bfd/elf64-s390.c                                   |   21 +-
 bfd/elf64-x86-64.c                                 |   46 +-
 bfd/elflink.c                                      |  201 ++--
 bfd/elfnn-aarch64.c                                |  181 ++-
 bfd/elfxx-mips.c                                   |    6 +-
 bfd/elfxx-target.h                                 |    6 +
 bfd/i386msdos.c                                    |    1 +
 bfd/i386os9k.c                                     |    1 +
 bfd/ieee.c                                         |    5 +-
 bfd/ihex.c                                         |    1 +
 bfd/libbfd-in.h                                    |    3 +
 bfd/libbfd.h                                       |    3 +
 bfd/linker.c                                       |   39 +-
 bfd/mach-o-target.c                                |    1 +
 bfd/mmo.c                                          |    1 +
 bfd/nlm-target.h                                   |    1 +
 bfd/oasys.c                                        |    1 +
 bfd/peXXigen.c                                     |    5 +
 bfd/pef.c                                          |    1 +
 bfd/plugin.c                                       |    1 +
 bfd/ppcboot.c                                      |    1 +
 bfd/som.c                                          |    1 +
 bfd/srec.c                                         |    1 +
 bfd/targets.c                                      |    8 +-
 bfd/tekhex.c                                       |    1 +
 bfd/versados.c                                     |   13 +-
 bfd/version.h                                      |    2 +-
 bfd/vms-alpha.c                                    |   53 +-
 bfd/xsym.c                                         |    1 +
 binutils/ChangeLog                                 |   21 +
 binutils/doc/binutils.texi                         |    8 +
 binutils/objdump.c                                 |   29 +-
 binutils/sysinfo.y                                 |   15 +-
 binutils/testsuite/binutils-all/objdump.exp        |  178 ++-
 gas/ChangeLog                                      |   60 +
 gas/config/tc-aarch64.c                            |    5 +
 gas/config/tc-arc.c                                |   34 +-
 gas/config/tc-arc.h                                |    1 -
 gas/config/tc-arm.c                                |   55 +-
 gas/config/tc-s390.c                               |   35 +-
 gas/config/tc-xtensa.c                             |   32 +-
 gas/config/tc-xtensa.h                             |    9 +-
 gas/doc/c-arm.texi                                 |    2 -
 gas/testsuite/gas/aarch64/diagnostic.l             |    1 -
 gas/testsuite/gas/aarch64/diagnostic.s             |    2 +-
 gas/testsuite/gas/arm/ld-sp-warn.l                 |    1 -
 .../gas/arm/sp-pc-validations-bad-t-v8a.d          |    4 +
 .../gas/arm/sp-pc-validations-bad-t-v8a.l          |  192 +++
 gas/testsuite/gas/arm/sp-pc-validations-bad-t.d    |    3 +-
 gas/testsuite/gas/arm/sp-pc-validations-bad-t.s    |    2 +-
 .../gas/arm/sp-usage-thumb2-relax-on-v7.d          |    4 +
 .../gas/arm/sp-usage-thumb2-relax-on-v7.l          |   17 +
 .../gas/arm/sp-usage-thumb2-relax-on-v8.d          |   25 +
 gas/testsuite/gas/arm/sp-usage-thumb2-relax.s      |   27 +
 gas/testsuite/gas/arm/strex-bad-t.d                |    1 +
 gas/testsuite/gas/i386/mpx.d                       |    4 +
 gas/testsuite/gas/i386/mpx.s                       |   12 +
 gas/testsuite/gas/i386/x86-64-mpx.d                |    4 +
 gas/testsuite/gas/i386/x86-64-mpx.s                |   12 +
 gas/testsuite/gas/s390/esa-g5.d                    |    4 +-
 gas/testsuite/gas/s390/esa-g5.s                    |    4 +-
 gas/testsuite/gas/s390/zarch-z9-ec.d               |    4 +-
 gas/testsuite/gas/s390/zarch-z9-ec.s               |    4 +-
 gas/testsuite/gas/s390/zarch-z990.d                |    3 +-
 gas/testsuite/gas/s390/zarch-z990.s                |    3 +-
 gdb/ChangeLog                                      | 1050 ++++++++++++++
 gdb/MAINTAINERS                                    |    2 +-
 gdb/Makefile.in                                    |   12 +-
 gdb/NEWS                                           |   54 +-
 gdb/aarch64-linux-tdep.c                           |    2 -
 gdb/aarch64-tdep.c                                 |    8 +-
 gdb/ada-lang.c                                     |  103 +-
 gdb/ada-valprint.c                                 |    3 +-
 gdb/alpha-tdep.c                                   |   48 +-
 gdb/amd64-linux-tdep.c                             |    2 -
 gdb/arc-tdep.c                                     |   63 +-
 gdb/arch-utils.c                                   |    8 -
 gdb/arch-utils.h                                   |    7 -
 gdb/arm-linux-tdep.c                               |    2 -
 gdb/arm-tdep.c                                     |    5 +-
 gdb/avr-tdep.c                                     |    2 +-
 gdb/bfin-tdep.c                                    |    2 +-
 gdb/break-catch-sig.c                              |   27 +-
 gdb/break-catch-syscall.c                          |   26 +-
 gdb/break-catch-throw.c                            |   46 +-
 gdb/breakpoint.c                                   |  471 +++----
 gdb/breakpoint.h                                   |   30 +-
 gdb/btrace.c                                       |  993 +++++++-------
 gdb/btrace.h                                       |   77 +-
 gdb/build-id.c                                     |    7 +
 gdb/c-valprint.c                                   |    4 +-
 gdb/charset.c                                      |    2 +-
 gdb/charset.h                                      |    4 +-
 gdb/cli/cli-cmds.c                                 |   21 +-
 gdb/cli/cli-decode.c                               |   11 +-
 gdb/cli/cli-decode.h                               |    5 +-
 gdb/cli/cli-dump.c                                 |   16 +-
 gdb/common/byte-vector.h                           |   62 +
 gdb/common/common-defs.h                           |   14 -
 gdb/{gdb_regex.h => common/common-gdbthread.h}     |   25 +-
 gdb/{gdb_regex.h => common/common-inferior.h}      |   31 +-
 gdb/common/common-utils.c                          |   24 +
 gdb/common/common-utils.h                          |    4 +
 gdb/{gdb_regex.h => common/def-vector.h}           |   34 +-
 gdb/common/default-init-alloc.h                    |   67 +
 gdb/common/job-control.c                           |   93 ++
 gdb/{terminal.h => common/job-control.h}           |   47 +-
 gdb/config.in                                      |    9 +
 gdb/configure                                      |  157 ++-
 gdb/configure.ac                                   |    7 +
 gdb/configure.nat                                  |   22 +-
 gdb/contrib/cc-with-tweaks.sh                      |    2 +-
 gdb/corefile.c                                     |    4 +-
 gdb/cris-tdep.c                                    |    2 +-
 gdb/ctf.c                                          |    4 +-
 gdb/darwin-nat.c                                   |   17 +-
 gdb/defs.h                                         |   54 +-
 gdb/doc/ChangeLog                                  |   13 +
 gdb/doc/gdb.texinfo                                |   45 +
 gdb/dwarf2loc.c                                    |  478 ++++----
 gdb/dwarf2read.c                                   | 1372 +++++++++----------
 gdb/event-loop.c                                   |    2 +-
 gdb/f-valprint.c                                   |    3 +-
 gdb/findvar.c                                      |  233 +++-
 gdb/fork-child.c                                   |  629 +--------
 gdb/frame.c                                        |   40 +-
 gdb/frame.h                                        |    8 +
 gdb/ft32-tdep.c                                    |    2 +-
 gdb/gdb_regex.c                                    |   57 +
 gdb/gdb_regex.h                                    |   39 +-
 gdb/gdbarch-selftests.c                            |  156 +++
 gdb/gdbarch.c                                      |   24 -
 gdb/gdbarch.h                                      |   15 -
 gdb/gdbarch.sh                                     |   12 -
 gdb/gdbcore.h                                      |    6 -
 gdb/gdbserver/ChangeLog                            |  111 ++
 gdb/gdbserver/Makefile.in                          |    5 +-
 gdb/gdbserver/configure                            |   13 +-
 gdb/gdbserver/configure.srv                        |    6 +-
 gdb/gdbserver/fork-child.c                         |  116 ++
 gdb/gdbserver/inferiors.c                          |    9 +
 gdb/gdbserver/linux-low.c                          |  107 +-
 gdb/gdbserver/lynx-low.c                           |   51 +-
 gdb/gdbserver/nto-low.c                            |   10 +-
 gdb/gdbserver/server.c                             |  278 +++--
 gdb/gdbserver/server.h                             |   14 +
 gdb/gdbserver/spu-low.c                            |   44 +-
 gdb/gdbserver/target.c                             |   27 +
 gdb/gdbserver/target.h                             |   13 +-
 gdb/gdbserver/win32-low.c                          |   23 +-
 gdb/gdbthread.h                                    |    5 +-
 gdb/gnu-nat.c                                      |    8 +-
 gdb/i386-linux-tdep.c                              |    2 -
 gdb/i386-tdep.c                                    |    2 +-
 gdb/i387-tdep.c                                    |    8 +-
 gdb/ia64-tdep.c                                    |   16 +-
 gdb/inf-ptrace.c                                   |   15 +-
 gdb/infcmd.c                                       |   14 +-
 gdb/inferior.h                                     |   34 +-
 gdb/inflow.c                                       |   64 +-
 gdb/infrun.c                                       |    8 +-
 gdb/linux-nat.c                                    |    4 +-
 gdb/linux-tdep.c                                   |   85 +-
 gdb/lm32-tdep.c                                    |    2 +-
 gdb/m32r-tdep.c                                    |    2 +-
 gdb/m68hc11-tdep.c                                 |    2 +-
 gdb/m68k-tdep.c                                    |   20 +-
 gdb/memattr.c                                      |   16 +-
 gdb/mep-tdep.c                                     |    2 +-
 gdb/mi/mi-cmd-break.c                              |    2 +-
 gdb/mi/mi-main.c                                   |   34 +-
 gdb/microblaze-tdep.c                              |    2 +-
 gdb/mips-fbsd-tdep.c                               |   45 +-
 gdb/mips-linux-nat.c                               |   11 -
 gdb/mips-linux-tdep.c                              |   44 +-
 gdb/mips-linux-tdep.h                              |    6 +
 gdb/mips-tdep.c                                    |   48 +-
 gdb/mn10300-tdep.c                                 |   11 +-
 gdb/moxie-tdep.c                                   |    2 +-
 gdb/msp430-tdep.c                                  |    2 +-
 gdb/{fork-child.c => nat/fork-inferior.c}          |  247 ++---
 gdb/nat/fork-inferior.h                            |  106 ++
 gdb/printcmd.c                                     |  198 +--
 gdb/probe.c                                        |   19 +-
 gdb/procfs.c                                       |    7 +-
 gdb/python/py-record-btrace.c                      |   12 +-
 gdb/record-btrace.c                                |   41 +-
 gdb/regcache.c                                     |  262 ++--
 gdb/regcache.h                                     |   47 +-
 gdb/regformats/regdef.h                            |    5 -
 gdb/remote.c                                       |   24 +-
 gdb/rs6000-aix-tdep.c                              |    1 -
 gdb/rs6000-tdep.c                                  |    2 -
 gdb/s390-linux-tdep.c                              |    2 -
 gdb/selftest-arch.c                                |    4 +
 gdb/selftest.c                                     |    4 +
 gdb/sh-tdep.c                                      |    6 +-
 gdb/sh64-tdep.c                                    |   50 +-
 gdb/skip.c                                         |   24 +-
 gdb/spu-tdep.c                                     |    2 +-
 gdb/symfile.c                                      |   18 +
 gdb/symfile.h                                      |    4 +
 gdb/symtab.c                                       |   42 +-
 gdb/target.h                                       |   18 +-
 gdb/target/target.h                                |   14 +
 gdb/terminal.h                                     |   12 -
 gdb/testsuite/ChangeLog                            |   82 ++
 gdb/testsuite/gdb.arch/aarch64-fp.exp              |    9 +-
 gdb/testsuite/gdb.arch/altivec-regs.exp            |   20 +-
 gdb/testsuite/gdb.arch/e500-regs.exp               |   12 +-
 gdb/testsuite/gdb.arch/s390-vregs.exp              |   17 +-
 gdb/testsuite/gdb.arch/vsx-regs.exp                |   20 +-
 gdb/testsuite/gdb.base/dump.exp                    |    7 +-
 gdb/testsuite/gdb.base/funcargs.exp                |   12 +-
 gdb/testsuite/gdb.base/gnu_vector.exp              |    7 +-
 .../gdb.base/startup-with-shell.c}                 |   29 +-
 gdb/testsuite/gdb.base/startup-with-shell.exp      |   89 ++
 gdb/testsuite/gdb.base/watch-cond-infcall.exp      |    5 +
 gdb/testsuite/gdb.dwarf2/formdata16.exp            |   40 +-
 gdb/testsuite/gdb.dwarf2/implptrpiece.exp          |   10 +-
 gdb/testsuite/gdb.dwarf2/nonvar-access.exp         |   31 +-
 .../gdb.dwarf2/var-access.c}                       |   29 +-
 gdb/testsuite/gdb.dwarf2/var-access.exp            |  345 +++++
 gdb/testsuite/gdb.python/py-inferior.exp           |   12 +-
 gdb/testsuite/gdb.reverse/i386-sse-reverse.exp     |   94 +-
 gdb/testsuite/gdb.server/non-existing-program.exp  |   12 +-
 .../gdb.trace/unavailable-dwarf-piece.exp          |    8 +-
 gdb/testsuite/lib/gdb-utils.exp                    |    2 +-
 gdb/testsuite/lib/gdb.exp                          |   13 +
 gdb/top.c                                          |    1 +
 gdb/tracefile-tfile.c                              |    4 +-
 gdb/tracefile.c                                    |   10 +-
 gdb/tracepoint.c                                   |   20 +-
 gdb/utils.c                                        |   57 +-
 gdb/v850-tdep.c                                    |    2 +-
 gdb/valops.c                                       |    7 +-
 gdb/valprint.c                                     |  252 ++--
 gdb/valprint.h                                     |    9 +-
 gdb/value.h                                        |    9 +-
 gdb/warning.m4                                     |    7 +-
 gdb/x86-linux-nat.c                                |   10 -
 gold/ChangeLog                                     |   18 +
 gold/aarch64.cc                                    |   56 +-
 include/ChangeLog                                  |   33 +
 include/bfdlink.h                                  |    6 +-
 include/dis-asm.h                                  |    8 -
 include/elf/arc-cpu.def                            |   49 +
 include/elf/ppc64.h                                |    1 +
 include/environ.h                                  |    2 +
 include/opcode/s390.h                              |   23 +-
 ld/ChangeLog                                       |  326 +++++-
 ld/Makefile.am                                     |    2 +-
 ld/Makefile.in                                     |    2 +-
 ld/NEWS                                            |    5 +
 ld/config.in                                       |    4 +
 ld/configure                                       |   26 +-
 ld/configure.ac                                    |   18 +
 ld/configure.tgt                                   |    2 +-
 ld/emulparams/avr1.sh                              |    8 +
 ld/emulparams/avr2.sh                              |    8 +
 ld/emulparams/avr25.sh                             |    8 +
 ld/emulparams/avr3.sh                              |    8 +
 ld/emulparams/avr31.sh                             |    8 +
 ld/emulparams/avr35.sh                             |    8 +
 ld/emulparams/avr4.sh                              |    8 +
 ld/emulparams/avr5.sh                              |    8 +
 ld/emulparams/avr51.sh                             |    8 +
 ld/emulparams/avr6.sh                              |    8 +
 ld/emulparams/avrtiny.sh                           |   10 +-
 ld/emulparams/avrxmega1.sh                         |    8 +
 ld/emulparams/avrxmega2.sh                         |    8 +
 ld/emulparams/avrxmega3.sh                         |    8 +
 ld/emulparams/avrxmega4.sh                         |    8 +
 ld/emulparams/avrxmega5.sh                         |    8 +
 ld/emulparams/avrxmega6.sh                         |    8 +
 ld/emulparams/avrxmega7.sh                         |    8 +
 ld/emulparams/call_nop.sh                          |    5 -
 ld/emultempl/elf32.em                              |    7 +-
 ld/emultempl/ppc64elf.em                           |   69 +-
 ld/ld.h                                            |    5 +
 ld/ld.texinfo                                      |   41 +-
 ld/ldgram.y                                        |    4 +-
 ld/ldlang.c                                        |  260 +++--
 ld/ldlex.h                                         |    1 +
 ld/ldlex.l                                         |    1 +
 ld/ldmain.c                                        |    9 +
 ld/lexsup.c                                        |    8 +-
 ld/scripttempl/avr.sc                              |   69 +-
 ld/scripttempl/avrtiny.sc                          |  262 ----
 ld/testsuite/ld-aarch64/aarch64-elf.exp            |    6 +-
 ld/testsuite/ld-aarch64/copy-reloc-2.d             |    7 +
 ld/testsuite/ld-aarch64/copy-reloc-eliminate.d     |    4 +
 ld/testsuite/ld-aarch64/copy-reloc-exe-2.s         |   32 +
 ld/testsuite/ld-aarch64/copy-reloc-exe-eliminate.s |    7 +
 ld/testsuite/ld-aarch64/copy-reloc-so.s            |   19 +
 ld/testsuite/ld-aarch64/pcrel.s                    |    6 +
 ld/testsuite/ld-aarch64/pcrel_pic_defined.d        |   10 +
 ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d  |    5 -
 ld/testsuite/ld-aarch64/pcrel_pic_undefined.d      |   16 +-
 ld/testsuite/ld-arc/tls_ie-01.d                    |    4 +-
 ld/testsuite/ld-elf/elf.exp                        |    4 +
 ld/testsuite/ld-elf/group11.d                      |    6 +
 ld/testsuite/ld-elf/group12.d                      |    6 +
 ld/testsuite/ld-elf/group12.ld                     |   14 +
 ld/testsuite/ld-elf/now-3.d                        |    2 +-
 ld/testsuite/ld-elf/now-4.d                        |    2 +-
 ld/testsuite/ld-elf/pr14156a.d                     |    1 +
 ld/testsuite/ld-elf/pr21562a.d                     |   12 +
 ld/testsuite/ld-elf/pr21562a.s                     |   12 +
 ld/testsuite/ld-elf/pr21562a.t                     |    3 +
 ld/testsuite/ld-elf/pr21562b.d                     |   12 +
 ld/testsuite/ld-elf/pr21562b.s                     |   12 +
 ld/testsuite/ld-elf/pr21562b.t                     |    5 +
 ld/testsuite/ld-elf/pr21562c.d                     |   13 +
 ld/testsuite/ld-elf/pr21562c.t                     |    7 +
 ld/testsuite/ld-elf/pr21562d.d                     |   13 +
 ld/testsuite/ld-elf/pr21562d.t                     |    5 +
 ld/testsuite/ld-elf/pr21562e.d                     |   10 +
 ld/testsuite/ld-elf/pr21562f.d                     |   10 +
 ld/testsuite/ld-elf/pr21562g.d                     |   10 +
 ld/testsuite/ld-elf/pr21562h.d                     |   10 +
 ld/testsuite/ld-elf/pr21562i.d                     |   13 +
 ld/testsuite/ld-elf/pr21562j.d                     |   13 +
 ld/testsuite/ld-elf/pr21562k.d                     |   13 +
 ld/testsuite/ld-elf/pr21562l.d                     |   13 +
 ld/testsuite/ld-elf/pr21562m.d                     |   13 +
 ld/testsuite/ld-elf/pr21562n.d                     |   13 +
 ld/testsuite/ld-elf/rpath-1.d                      |    2 +-
 ld/testsuite/ld-elf/rpath-2.d                      |    2 +-
 ld/testsuite/ld-elf/shared.exp                     |    4 +-
 ld/testsuite/ld-elf/sizeof.s                       |   15 +
 ld/testsuite/ld-elf/sizeofa.d                      |   12 +
 ld/testsuite/ld-elf/sizeofb.d                      |   13 +
 ld/testsuite/ld-elf/sizeofc.d                      |   12 +
 ld/testsuite/ld-elf/startof.s                      |   15 +
 ld/testsuite/ld-elf/startofa.d                     |   12 +
 ld/testsuite/ld-elf/startofb.d                     |   13 +
 ld/testsuite/ld-elf/startofc.d                     |   12 +
 ld/testsuite/ld-gc/gc.exp                          |    6 +
 ld/testsuite/ld-gc/pr19161.d                       |    2 +-
 ld/testsuite/ld-gc/pr20022.d                       |   13 +
 ld/testsuite/ld-gc/pr20022a.s                      |    9 +
 ld/testsuite/ld-gc/pr20022b.s                      |    8 +
 ld/testsuite/ld-gc/start.d                         |    2 +-
 ld/testsuite/ld-i386/call3c.d                      |   12 +-
 ld/testsuite/ld-ifunc/ifunc-1-local-x86.d          |    3 +-
 ld/testsuite/ld-ifunc/ifunc-1-local-x86.map        |    3 +
 ld/testsuite/ld-ifunc/ifunc-1-x86.d                |    3 +-
 ld/testsuite/ld-ifunc/ifunc-1-x86.map              |    3 +
 ld/testsuite/ld-nds32/diff.d                       |    6 +-
 ld/testsuite/ld-powerpc/elfv2so.d                  |    2 +-
 ld/testsuite/ld-powerpc/powerpc.exp                |    2 +-
 ld/testsuite/ld-powerpc/tlsopt5.d                  |    4 +-
 ld/testsuite/ld-unique/pr21529.d                   |    5 +
 ld/testsuite/ld-unique/pr21529.s                   |    8 +
 ld/testsuite/ld-unique/unique.exp                  |    7 +-
 ld/testsuite/ld-x86-64/call1c.d                    |   12 +-
 ld/testsuite/ld-x86-64/lea1a.d                     |    2 +-
 ld/testsuite/ld-x86-64/lea1b.d                     |    2 +-
 ld/testsuite/ld-x86-64/lea1d.d                     |    2 +-
 ld/testsuite/ld-x86-64/lea1e.d                     |    2 +-
 .../{property-x86-3.d => property-x86-3-x32.d}     |    7 +-
 ld/testsuite/ld-x86-64/property-x86-3.d            |    2 +-
 ld/testsuite/ld-x86-64/property-x86-3.s            |   28 +
 .../{property-x86-4a.d => property-x86-4a-x32.d}   |    4 +-
 ld/testsuite/ld-x86-64/property-x86-4a.d           |    2 +-
 .../{property-x86-4b.d => property-x86-4b-x32.d}   |    4 +-
 ld/testsuite/ld-x86-64/property-x86-4b.d           |    2 +-
 ld/testsuite/ld-x86-64/property-x86-4b.s           |   15 +-
 ld/testsuite/ld-x86-64/x86-64.exp                  |    3 +
 ld/testsuite/lib/ld-lib.exp                        |   19 +
 libiberty/ChangeLog                                |   11 +
 libiberty/config.in                                |    4 +
 libiberty/configure                                |   21 +
 libiberty/configure.ac                             |    3 +-
 libiberty/waitpid.c                                |    5 +
 opcodes/ChangeLog                                  |   73 +
 opcodes/aarch64-dis.c                              |    5 +-
 opcodes/arc-dis.c                                  |  131 ++-
 opcodes/arm-dis.c                                  |    4 +-
 opcodes/bfin-dis.c                                 |    8 +-
 opcodes/disassemble.h                              |    8 +
 opcodes/i386-dis.c                                 |   10 +
 opcodes/ia64-dis.c                                 |    2 +-
 opcodes/mips-dis.c                                 |    2 +-
 opcodes/rl78-decode.c                              |  820 ++++++------
 opcodes/rl78-decode.opc                            |    6 +-
 opcodes/rx-decode.c                                | 1448 ++++++++++----------
 opcodes/rx-decode.opc                              |   24 +-
 opcodes/s390-dis.c                                 |   11 +-
 opcodes/s390-mkopc.c                               |    8 +-
 opcodes/s390-opc.c                                 |    6 +-
 opcodes/s390-opc.txt                               |   10 +-
 opcodes/score7-dis.c                               |    3 +-
 opcodes/spu-dis.c                                  |    2 +-
 sim/microblaze/ChangeLog                           |    4 +
 sim/microblaze/interp.c                            |    2 +-
 427 files changed, 11239 insertions(+), 6700 deletions(-)
 create mode 100644 gas/testsuite/gas/arm/sp-pc-validations-bad-t-v8a.d
 create mode 100644 gas/testsuite/gas/arm/sp-pc-validations-bad-t-v8a.l
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.d
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax-on-v7.l
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax-on-v8.d
 create mode 100644 gas/testsuite/gas/arm/sp-usage-thumb2-relax.s
 create mode 100644 gdb/common/byte-vector.h
 copy gdb/{gdb_regex.h => common/common-gdbthread.h} (57%)
 copy gdb/{gdb_regex.h => common/common-inferior.h} (55%)
 copy gdb/{gdb_regex.h => common/def-vector.h} (53%)
 create mode 100644 gdb/common/default-init-alloc.h
 create mode 100644 gdb/common/job-control.c
 copy gdb/{terminal.h => common/job-control.h} (50%)
 create mode 100644 gdb/gdb_regex.c
 create mode 100644 gdb/gdbarch-selftests.c
 create mode 100644 gdb/gdbserver/fork-child.c
 copy gdb/{fork-child.c => nat/fork-inferior.c} (74%)
 create mode 100644 gdb/nat/fork-inferior.h
 copy gdb/{gdb_regex.h => testsuite/gdb.base/startup-with-shell.c} (54%)
 create mode 100644 gdb/testsuite/gdb.base/startup-with-shell.exp
 copy gdb/{gdb_regex.h => testsuite/gdb.dwarf2/var-access.c} (54%)
 create mode 100644 gdb/testsuite/gdb.dwarf2/var-access.exp
 create mode 100644 include/elf/arc-cpu.def
 delete mode 100644 ld/scripttempl/avrtiny.sc
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-2.d
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-eliminate.d
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-exe-2.s
 create mode 100644 ld/testsuite/ld-aarch64/copy-reloc-exe-eliminate.s
 create mode 100644 ld/testsuite/ld-aarch64/pcrel_pic_defined.d
 delete mode 100644 ld/testsuite/ld-aarch64/pcrel_pic_defined_local.d
 create mode 100644 ld/testsuite/ld-elf/group11.d
 create mode 100644 ld/testsuite/ld-elf/group12.d
 create mode 100644 ld/testsuite/ld-elf/group12.ld
 create mode 100644 ld/testsuite/ld-elf/pr21562a.d
 create mode 100644 ld/testsuite/ld-elf/pr21562a.s
 create mode 100644 ld/testsuite/ld-elf/pr21562a.t
 create mode 100644 ld/testsuite/ld-elf/pr21562b.d
 create mode 100644 ld/testsuite/ld-elf/pr21562b.s
 create mode 100644 ld/testsuite/ld-elf/pr21562b.t
 create mode 100644 ld/testsuite/ld-elf/pr21562c.d
 create mode 100644 ld/testsuite/ld-elf/pr21562c.t
 create mode 100644 ld/testsuite/ld-elf/pr21562d.d
 create mode 100644 ld/testsuite/ld-elf/pr21562d.t
 create mode 100644 ld/testsuite/ld-elf/pr21562e.d
 create mode 100644 ld/testsuite/ld-elf/pr21562f.d
 create mode 100644 ld/testsuite/ld-elf/pr21562g.d
 create mode 100644 ld/testsuite/ld-elf/pr21562h.d
 create mode 100644 ld/testsuite/ld-elf/pr21562i.d
 create mode 100644 ld/testsuite/ld-elf/pr21562j.d
 create mode 100644 ld/testsuite/ld-elf/pr21562k.d
 create mode 100644 ld/testsuite/ld-elf/pr21562l.d
 create mode 100644 ld/testsuite/ld-elf/pr21562m.d
 create mode 100644 ld/testsuite/ld-elf/pr21562n.d
 create mode 100644 ld/testsuite/ld-elf/sizeof.s
 create mode 100644 ld/testsuite/ld-elf/sizeofa.d
 create mode 100644 ld/testsuite/ld-elf/sizeofb.d
 create mode 100644 ld/testsuite/ld-elf/sizeofc.d
 create mode 100644 ld/testsuite/ld-elf/startof.s
 create mode 100644 ld/testsuite/ld-elf/startofa.d
 create mode 100644 ld/testsuite/ld-elf/startofb.d
 create mode 100644 ld/testsuite/ld-elf/startofc.d
 create mode 100644 ld/testsuite/ld-gc/pr20022.d
 create mode 100644 ld/testsuite/ld-gc/pr20022a.s
 create mode 100644 ld/testsuite/ld-gc/pr20022b.s
 create mode 100644 ld/testsuite/ld-ifunc/ifunc-1-local-x86.map
 create mode 100644 ld/testsuite/ld-ifunc/ifunc-1-x86.map
 create mode 100644 ld/testsuite/ld-unique/pr21529.d
 create mode 100644 ld/testsuite/ld-unique/pr21529.s
 copy ld/testsuite/ld-x86-64/{property-x86-3.d => property-x86-3-x32.d} (61%)
 copy ld/testsuite/ld-x86-64/{property-x86-4a.d => property-x86-4a-x32.d} (81%)
 copy ld/testsuite/ld-x86-64/{property-x86-4b.d => property-x86-4b-x32.d} (67%)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4d15e1a..f2f9b45 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,374 @@
+2017-06-18  Alan Modra  <amodra@gmail.com>
+
+	* config.bfd: Correct targ_underscore for epiphany, ip2k,
+	m32c, mn10200, pru, rl78, rx, crisv32 and v850.
+
+2017-06-16  Nick Clifton  <nickc@redhat.com>
+
+	* elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
+	bucketlist is empty because there are no symbols to add to the
+	list.
+
+2017-06-16  Alan Modra  <amodra@gmail.com>
+
+	PR ld/20022
+	PR ld/21557
+	PR ld/21562
+	PR ld/21571
+	* targets.c (struct bfd_target): Add _bfd_define_start_stop.
+	(BFD_JUMP_TABLE_LINK): Likewise.
+	* elf-bfd.h (bfd_elf_define_start_stop): Declare.
+	* elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
+	(bfd_elf_define_start_stop): New function.
+	* linker.c (bfd_generic_define_start_stop): New function.
+	* coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
+	new field.
+	* aout-adobe.c (aout_32_bfd_define_start_stop): Define.
+	* aout-target.h (MY_bfd_define_start_stop): Define.
+	* aout-tic30.c (MY_bfd_define_start_stop): Define.
+	* binary.c (binary_bfd_define_start_stop): Define.
+	* bout.c (b_out_bfd_define_start_stop): Define.
+	* coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
+	* coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
+	* coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
+	* coffcode.h (coff_bfd_define_start_stop): Define.
+	* elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
+	* i386msdos.c (msdos_bfd_define_start_stop): Define.
+	* i386os9k.c (os9k_bfd_define_start_stop): Define.
+	* ieee.c (ieee_bfd_define_start_stop): Define.
+	* ihex.c (ihex_bfd_define_start_stop): Define.
+	* libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
+	* mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
+	* mmo.c (mmo_bfd_define_start_stop): Define.
+	* nlm-target.h (nlm_bfd_define_start_stop): Define.
+	* oasys.c (oasys_bfd_define_start_stop): Define.
+	* pef.c (bfd_pef_bfd_define_start_stop): Define.
+	* plugin.c (bfd_plugin_bfd_define_start_stop): Define.
+	* ppcboot.c (ppcboot_bfd_define_start_stop): Define.
+	* som.c (som_bfd_define_start_stop): Define.
+	* srec.c (srec_bfd_define_start_stop): Define.
+	* tekhex.c (tekhex_bfd_define_start_stop): Define.
+	* versados.c (versados_bfd_define_start_stop): Define.
+	* vms-alpha.c (vms_bfd_define_start_stop): Define.
+	(alpha_vms_bfd_define_start_stop): Define.
+	* xsym.c (bfd_sym_bfd_define_start_stop): Define.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+
+2017-06-16  Jiong Wang  <jiong.wang@arm.com>
+
+	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
+	SYMBOL_REFERENCES_LOCAL.
+
+2017-06-15  Jiong Wang  <jiong.wang@arm.com>
+
+	PR ld/21532
+	* elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
+	(elfNN_aarch64_final_link_relocate): Also propagate relocations to
+	runtime for if there needs copy relocation elimination.
+	(need_copy_relocation_p): New function.  Return true for symbol with
+	pc-relative references and if it's against read-only sections.
+	(elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
+	(elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
+	that are related with accessing external objects.
+	(elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
+	in elfNN_aarch64_check_relocs.
+
+2017-06-15  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21582
+	* ieee.c (ieee_object_p): Use a static buffer to avoid compiler
+	bugs.
+	PR binutils/21581
+	(ieee_archive_p): Likewise.
+
+2017-06-15  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21579
+	* vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
+
+2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
+
+	* elf32-xtensa.c (elf_xtensa_be_plt_entry,
+	elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
+	keep both windowed and call0 ABI PLT definitions.
+	(elf_xtensa_create_plt_entry): Use selected ABI to choose upper
+	elf_xtensa_*_plt_entry endex.
+	(ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21578
+	* elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
+	flag value.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21589
+	* vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
+	maximum value for the ascic pointer.  Check that name processing
+	does not read beyond this value.
+	(_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
+	end of etir record.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21591
+	* versados.c (versados_mkobject): Zero the allocated tdata structure.
+	(process_otr): Check for an invalid offset in the otr structure.
+
+2017-06-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+	* config.bfd (epiphany-*-elf): Accept epiphany-*-*.
+
+2017-06-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/20022
+	PR ld/21557
+	PR ld/21562
+	PR ld/21571
+	* elf-bfd.h (elf_link_hash_entry): Add start_stop.  Change the
+	vtable field to a union.
+	(_bfd_elf_is_start_stop): Removed.
+	* elf32-i386.c (elf_i386_convert_load_reloc): Also check for
+	__start_SECNAME and __stop_SECNAME symbols.
+	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
+	* elflink.c (_bfd_elf_is_start_stop): Removed.
+	(_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
+	_bfd_elf_is_start_stop.
+	(elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
+	__stop_SECNAME symbols.  Updated.
+	(elf_gc_smash_unused_vtentry_relocs): Likewise.
+	(bfd_elf_gc_record_vtinherit): Likewise.
+	(bfd_elf_gc_record_vtentry): Likewise.
+
+2017-06-13  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/21524
+	* elflink.c (elf_link_adjust_relocs): Generate an error when
+	encountering a reloc against a symbol removed by garbage
+	collection.
+
+2017-06-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
+	to merge_gnu_properties.
+	* elf-properties.c (elf_merge_gnu_properties): Add struct
+	bfd_link_info * and pass it to merge_gnu_properties.
+	(elf_merge_gnu_property_list): Add struct bfd_link_info *
+	and pass it to elf_merge_gnu_properties.
+	(_bfd_elf_link_setup_gnu_properties): Pass info to
+	elf_merge_gnu_property_list.
+	* elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
+	bfd_link_info *.
+	* elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
+
+2017-06-11  Joe Zbiciak  <joe.zbiciak@leftturnonly.info>
+
+	PR 21564
+	* binary.c (binary_set_section_contents): Scale lma by octets
+	per byte to set filepos.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
+	dynamic sections.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
+	require TEXTREL.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
+	patched section contents for TLS IE reloc.
+	* elf32-arc.c: Remove TCB_SIZE preprocessor macro.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_relocate_section): Added "call" to
+	RELOC_FOR_GLOBAL_SYMBOL macro.
+
+2018-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
+	changes.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* config/tc-arc.c (md_undefined_symbol): Changed.
+	* config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
+	symbols.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (elf_arc_check_relocs): Added condition to disable
+	warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
+	* elf32-arc.c (ADD_RELA): Changed to only work when dynamic
+	object is created.
+
+2017-06-08  Richard Earnshaw  <rearnsha@arm.com>
+
+	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
+	that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
+	is non-zero.  Add clarifying comments.
+
+2017-06-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
+	name.  Use local IFUNC symbol name string to report unsupported
+	non-PIC call to IFUNC function.
+	(elf_i386_relocate_section): Dump local IFUNC name with minfo
+	when generating R_386_IRELATIVE relocation.
+	(elf_i386_finish_dynamic_symbol): Likewise.
+	* elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
+	IFUNC symbol name.
+	(elf_x86_64_relocate_section): Dump local IFUNC name with minfo
+	when generating R_X86_64_IRELATIVE relocation.
+	(elf_x86_64_finish_dynamic_symbol): Likewise.
+
+2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elf.c (setup_group): Make sure BFD sections are created for all
+	group sections in the input file when processing SHF_GROUP
+	sections.
+	(bfd_section_from_shdr): Avoid duplicating logic already
+	implemented in `setup_group'.
+
+2017-06-06  Daniel Bonniot de Ruisselet  <bonniot@gmail.com>
+
+	PR binutils/21546
+	* peXXigen.c (pe_print_idata): Use the address of the first thunk
+	if the hint address is zero.
+
+2017-06-06  James Clarke  <jrtc27@jrtc27.com>
+
+	PR ld/19579
+	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
+	ELF_COMMON_DEF_P for common symbols.
+
+2017-06-06  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
+	SEC_GROUP sections as SEC_EXCLUDE.
+	(bfd_elf_set_group_contents): Replace use of abort with an assert.
+	(assign_section_numbers): Use resolve_section_groups flag instead
+	of relocatable link type.
+	(_bfd_elf_init_private_section_data): Use resolve_section_groups
+	flag instead of checking the final_link flag for part of the
+	checks in here.  Fix white space as a result.
+	* elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
+	instead of relocatable link type.
+	(bfd_elf_final_link): Likewise.
+
+2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
+	variable `bed'.
+	* elf32-score.c (score_elf_final_link_relocate): Likewise.
+	(s3_bfd_score_elf_check_relocs): Likewise.
+	* elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
+	(score_elf_final_link_relocate): Likewise.
+	(s7_bfd_score_elf_check_relocs): Likewise.
+
+2017-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* elflink.c (init_reloc_cookie_rels): Remove unused variable
+	`bed'.
+
+2017-06-06  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
+	from `reloc_count' rather than decrementing it.
+	* elf.c (bfd_section_from_shdr): Multiply the adjustment to
+	`reloc_count' by `int_rels_per_ext_rel'.
+	* elf32-score.c (score_elf_final_link_relocate): Do not multiply
+	`reloc_count' by `int_rels_per_ext_rel' for last relocation
+	entry determination.
+	(s3_bfd_score_elf_check_relocs): Likewise.
+	* elf32-score7.c (score_elf_final_link_relocate): Likewise.
+	(s7_bfd_score_elf_relocate_section): Likewise.
+	(s7_bfd_score_elf_check_relocs): Likewise.
+	* elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
+	prototype and function.
+	(mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
+	(mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
+	triple rather than once the sum of REL and RELA relocation entry
+	counts.
+	(bfd_elf64_get_reloc_upper_bound): Remove macro.
+	* elflink.c (_bfd_elf_link_read_relocs): Do not multiply
+	`reloc_count' by `int_rels_per_ext_rel' for internal relocation
+	storage allocation size determination.
+	(elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
+	size by `int_rels_per_ext_rel'.  Do not multiply `reloc_count'
+	by `int_rels_per_ext_rel' for last relocation entry
+	determination.
+	(bfd_elf_final_link): Do not multiply `reloc_count' by
+	`int_rels_per_ext_rel' for internal relocation storage
+	allocation size determination.
+	(init_reloc_cookie_rels): Do not multiply `reloc_count' by
+	`int_rels_per_ext_rel' for last relocation entry determination.
+	(elf_gc_smash_unused_vtentry_relocs): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+	(_bfd_mips_elf_relocate_section): Likewise.
+
+2017-06-05  Alan Modra  <amodra@gmail.com>
+
+	PR 21529
+	* linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
+
+2017-06-01  John Baldwin  <jhb@FreeBSD.org>
+
+	* elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
+	determine structure sizes.
+	(elfcore_grok_freebsd_prstatus): Likewise.
+
+2017-06-01  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
+	(ppc64_elf_merge_symbol_attribute): Merge localentry bits from
+	dynamic objects.
+	(is_elfv2_localentry0): New function.
+	(ppc64_elf_tls_setup): Default params->plt_localentry0.
+	(plt_stub_size): Adjust size for tls_get_addr_opt stub.
+	(build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
+	(ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
+	optimized localentry:0 stubs.
+	(ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
+	(ppc64_elf_relocate_section): Leave nop unchanged for optimized
+	localentry:0 stubs.
+	(ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
+	DT_PPC64_OPT.
+	* elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
+
+2017-05-30  Casey Smith  <clegg89@gmail.com>
+
+	PR ld/21523
+	* elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
+	value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.
+
+2017-05-30  Anton Kolesov  Anton.Kolesov@synopsys.com
+
+	* cpu-arc.c (arc_compatible): New function.
+
+2017-05-30  Anton Kolesov  <anton.kolesov@synopsys.com>
+
+	* cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.
+
+2017-05-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR binutils/21519
+	* bfdio.c (bfd_get_file_size): New function.
+	* bfd-in2.h: Regenerated.
+
 2017-05-23  Dilian Palauzov  <git-dpa@aegee.org>
 
 	* elf32-arc.c (arc_elf_merge_attributes): Add fall through
diff --git a/bfd/aout-adobe.c b/bfd/aout-adobe.c
index a2c927d..487ed8c 100644
--- a/bfd/aout-adobe.c
+++ b/bfd/aout-adobe.c
@@ -466,6 +466,7 @@ aout_adobe_sizeof_headers (bfd *ignore_abfd ATTRIBUTE_UNUSED,
 #define aout_32_bfd_discard_group	            bfd_generic_discard_group
 #define aout_32_section_already_linked              _bfd_generic_section_already_linked
 #define aout_32_bfd_define_common_symbol            bfd_generic_define_common_symbol
+#define aout_32_bfd_define_start_stop               bfd_generic_define_start_stop
 #define aout_32_bfd_link_hash_table_create          _bfd_generic_link_hash_table_create
 #define aout_32_bfd_link_add_symbols	            _bfd_generic_link_add_symbols
 #define aout_32_bfd_link_just_syms	            _bfd_generic_link_just_syms
diff --git a/bfd/aout-target.h b/bfd/aout-target.h
index 2e98c4d..65bc44c 100644
--- a/bfd/aout-target.h
+++ b/bfd/aout-target.h
@@ -513,6 +513,9 @@ MY_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
 #ifndef MY_bfd_define_common_symbol
 #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
+#ifndef MY_bfd_define_start_stop
+#define MY_bfd_define_start_stop bfd_generic_define_start_stop
+#endif
 #ifndef MY_bfd_reloc_type_lookup
 #define MY_bfd_reloc_type_lookup NAME (aout, reloc_type_lookup)
 #endif
diff --git a/bfd/aout-tic30.c b/bfd/aout-tic30.c
index 5db3da7..068428c 100644
--- a/bfd/aout-tic30.c
+++ b/bfd/aout-tic30.c
@@ -968,6 +968,9 @@ tic30_aout_set_arch_mach (bfd *abfd,
 #ifndef MY_bfd_define_common_symbol
 #define MY_bfd_define_common_symbol bfd_generic_define_common_symbol
 #endif
+#ifndef MY_bfd_define_start_stop
+#define MY_bfd_define_start_stop bfd_generic_define_start_stop
+#endif
 #ifndef MY_bfd_reloc_type_lookup
 #define MY_bfd_reloc_type_lookup tic30_aout_reloc_type_lookup
 #endif
diff --git a/bfd/arc-got.h b/bfd/arc-got.h
index b8a6d15..f1f6c0e 100644
--- a/bfd/arc-got.h
+++ b/bfd/arc-got.h
@@ -22,6 +22,8 @@
 #ifndef ARC_GOT_H
 #define ARC_GOT_H
 
+#define TCB_SIZE (8)
+
 enum tls_type_e
 {
   GOT_UNKNOWN = 0,
@@ -354,7 +356,8 @@ relocate_fix_got_relocs_for_got_info (struct got_entry **          list_p,
 		  = tls_sec->output_section->vma;
 
 		bfd_put_32 (output_bfd,
-			    sym_value - sec_vma,
+			    sym_value - sec_vma
+			    + (elf_hash_table (info)->dynamic_sections_created ? 0 : TCB_SIZE),
 			    htab->sgot->contents + entry->offset
 			    + (entry->existing_entries == TLS_GOT_MOD_AND_OFF
 			       ? 4 : 0));
@@ -478,8 +481,10 @@ GOT_OFFSET = %#lx, GOT_VMA = %#lx, INDEX = %ld, ADDEND = 0x0\n",
 	{
 	  bfd_vma addend = 0;
 	  if (list->type == GOT_TLS_IE)
+	  {
 	    addend = bfd_get_32 (output_bfd,
 				 htab->sgot->contents + got_offset);
+	  }
 
 	  ADD_RELA (output_bfd, got,
 		    got_offset + (e == TLS_GOT_MOD_AND_OFF ? 4 : 0),
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ae2fceb..4348793 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1242,6 +1242,8 @@ long bfd_get_mtime (bfd *abfd);
 
 file_ptr bfd_get_size (bfd *abfd);
 
+file_ptr bfd_get_file_size (bfd *abfd);
+
 void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
     int prot, int flags, file_ptr offset,
     void **map_addr, bfd_size_type *map_len);
@@ -7591,7 +7593,8 @@ typedef struct bfd_target
   NAME##_bfd_is_group_section, \
   NAME##_bfd_discard_group, \
   NAME##_section_already_linked, \
-  NAME##_bfd_define_common_symbol
+  NAME##_bfd_define_common_symbol, \
+  NAME##_bfd_define_start_stop
 
   int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
   bfd_byte *  (*_bfd_get_relocated_section_contents)
@@ -7655,6 +7658,11 @@ typedef struct bfd_target
   bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
                                             struct bfd_link_hash_entry *);
 
+  /* Define a __start, __stop, .startof. or .sizeof. symbol.  */
+  struct bfd_link_hash_entry *(*_bfd_define_start_stop) (struct bfd_link_info *,
+                                                         const char *,
+                                                         asection *);
+
   /* Routines to handle dynamic symbols and relocs.  */
 #define BFD_JUMP_TABLE_DYNAMIC(NAME) \
   NAME##_get_dynamic_symtab_upper_bound, \
@@ -7734,6 +7742,13 @@ bfd_boolean bfd_generic_define_common_symbol
 #define bfd_define_common_symbol(output_bfd, info, h) \
        BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
 
+struct bfd_link_hash_entry *bfd_generic_define_start_stop
+   (struct bfd_link_info *info,
+    const char *symbol, asection *sec);
+
+#define bfd_define_start_stop(output_bfd, info, symbol, sec) \
+       BFD_SEND (output_bfd, _bfd_define_start_stop, (info, symbol, sec))
+
 struct bfd_elf_version_tree * bfd_find_version_for_sym


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  users/jkratoch/index: DWARF-5: .debug_names index consumer
@ 2017-06-09  5:59 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2017-06-09  5:59 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/index has been updated
  discards  c7f6411c229d620b21c1ba1a2b2c3e31e0510f87 (commit)
  discards  1543c177a2e69043840e853c1b88e5f5e5daf9cf (commit)
  discards  a78a92cb4fa771815767500628596cfaabfceabc (commit)
  discards  4117ad457ff2f226f1d10f00e7d7cce41ac1c771 (commit)
       via  0b088180e930a5337b7d01a67e08fe62c5fea441 (commit)
       via  b94ba00665671b17f8c105efc314ca8b11b31ded (commit)
       via  67ac1f63c84b6f0b39ba16f92222cba2a40ecb7c (commit)
       via  4926bfc3e33a2149a5d1fe9760f2e017757a3264 (commit)
      from  c7f6411c229d620b21c1ba1a2b2c3e31e0510f87 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 0b088180e930a5337b7d01a67e08fe62c5fea441
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu May 25 15:48:12 2017 +0200

    DWARF-5: .debug_names index consumer
    
    Hi,
    
    it is not regression-free against no-index but it is regression-free against
    .gdb_index.  That is because .gdb_index is not regression-free against
    no-index.
    
    Some testcases needed to be updated as they were missing .debug_aranges.
    While that does not matter for no-index (as GDB builds the mapping internally
    during dwarf2_build_psymtabs_hard) and neither for .gdb_index (as GDB uses that
    internally built mapping which it stores into .gdb_index) it does matter for
    .debug_names as that simply assumes existing .debug_aranges from GCC.
    
    I tried some performance checking but the index handling speed is negligible
    compared to the CU expansion associated with it.  .debug_names looked even as
    a bit faster to me than .gdb_index which rather surprised me but I did not
    investigate it more.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_debug_names): New declaration.
    	* dwarf2read.c (Mapped_debug_names): New.
    	(struct dwarf2_per_objfile): Add debug_names, debug_aranges and
    	debug_names_table.
    	(dwarf2_elf_names): Add debug_names and debug_aranges.
    	(struct dwz_file): Add debug_names.
    	(dwarf2_locate_sections): Add debug_names and debug_aranges.
    	(locate_dwz_sections): Add debug_names.
    	(create_signatured_type_table_from_debug_names)
    	(create_addrmap_from_aranges): New.
    	(dwarf2_read_index): Update function comment.
    	(read_debug_names_from_section, create_cus_from_debug_names_list)
    	(create_cus_from_debug_names, dwarf2_read_debug_names): New.
    	(dwarf5_djb_hash): Function renamed from DebugNamesNameTable::djb_hash.
    	(Dw2_debug_names_iterator): New.
    	(read_indirect_string_at_offset): New declaration.
    	(Mapped_debug_names::namei_to_name)
    	(Dw2_debug_names_iterator::find_vec_in_debug_names)
    	(Dw2_debug_names_iterator::find_vec_in_debug_names)
    	(Dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
    	(dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
    	(dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
    	New.
    	(dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
    	(dwarf2_free_objfile): Delete also debug_names_table;
    	(DebugNamesNameTable::djb_hash): Rename it to dwarf5_djb_hash.
    	(DebugNamesNameTable::build): Update djb_hash caller.
    	* elfread.c (elf_sym_fns_debug_names): New.
    	* psymtab.h (dwarf2_debug_names_functions): New declaration.
    	* symfile.h (struct dwarf2_debug_sections): Add debug_names and
    	debug_aranges.
    	* xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
    
    gdb/testsuite/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/maint.exp (check for .gdb_index): Check also for
    	.debug_names.
    	* gdb.dlang/watch-loc.c (.debug_aranges): New.
    	* gdb.dwarf2/dw2-case-insensitive-debug.S: Likewise.
    	* gdb.dwarf2/gdb-index.exp (check if index present, .gdb_index used)
    	(.gdb_index used after symbol reloading): Support also .debug_names.
    	* gdb.mi/dw2-ref-missing-frame-func.c (.debug_aranges): New.

commit b94ba00665671b17f8c105efc314ca8b11b31ded
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri May 26 19:35:41 2017 +0200

    Refactor: Move some generic code out of .gdb_index code
    
    Hi,
    
    just for the next patch.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_cu_from_index_list): New from ...
    	(create_cus_from_index_list): ... this function, use it.
    	(dw_expand_symtabs_matching_file_matcher)
    	(dw2_expand_symtabs_matching_one): New from ...
    	(dw2_expand_symtabs_matching): ... this function, use them.

commit 67ac1f63c84b6f0b39ba16f92222cba2a40ecb7c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu May 25 23:33:21 2017 +0200

    Code cleanup: dwarf2_initialize_objfile return value
    
    Hi,
    
    dwarf2_initialize_objfile was returning boolean whether it is psymtabs or
    .gdb_index while now it needs to return also whether it is .debug_names.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
    	declarations from elfread.c.
    	(dwarf2_initialize_objfile): Change return value.
    	* elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
    	declarations to defs.h.
    	(elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
    	* symfile.h (dwarf2_initialize_objfile): Change return type.

commit 4926bfc3e33a2149a5d1fe9760f2e017757a3264
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu May 25 15:47:08 2017 +0200

    DWARF-5: .debug_names index producer
    
    Hi,
    
    there are two FIXME lines I do not have a real answer for.
    
    Also I am not sure if the -dwarf-4 option for former .gdb_index should be named
    that way.  And contrib/gdb-add-index.sh (incl. cc-with-tweaks.sh) has no
    commandline option for that -dwarf-4 GDB option.
    
    
    Jan
    
    
    gdb/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* contrib/gdb-add-index.sh (index): Rename to ...
    	(index4): ... here.
    	(index5, debugstr, debugstrmerge, debugstrerr): New variables.
    	Support also .debug_names and .debug_str.
    	* dwarf2read.c: Include cmath, locale, set, list.
    	(INDEX_SUFFIX): Rename to ...
    	(INDEX4_SUFFIX): ... here.
    	(INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
    	(DataBuf::append_unsigned_leb128, DataBuf::empty)
    	(DataBuf::operator const char *, DebugNamesNameTable, check_dwarf64_offsets): New.
    	(write_gdbindex): New from write_psymtabs_to_index code.
    	(write_debug_names): New.
    	(write_psymtabs_to_index): New parameter is_dwarf5.  Support
    	filename_str and out_file_str.  Move code to write_gdbindex, possibly
    	call write_debug_names.
    	(save_gdb_index_command): New parameter -dwarf-4.
    	(_initialize_dwarf2_read): Document the new parameter -dwarf-4.
    
    gdb/doc/ChangeLog
    2017-05-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Index Files): Document .debug_names and -dwarf-4.
    	(Index Section Format): Mention .debug_names.

-----------------------------------------------------------------------

Summary of changes:
 gdb/dwarf2read.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

First 500 lines of diff:
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index f3c8ddb..ab224d6 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -81,7 +81,7 @@
 #include <cmath>
 #include <locale>
 #include <set>
-#include <list>
+#include <forward_list>
 
 typedef struct symbol *symbolp;
 DEF_VEC_P (symbolp);
@@ -25262,7 +25262,7 @@ public:
       uint32_t hash;
       decltype (name_to_value_set)::const_iterator it;
     };
-    std::vector<std::list<HashItPair>> bucket_hash;
+    std::vector<std::forward_list<HashItPair>> bucket_hash;
     bucket_hash.resize (bucket_table.size ());
     for (decltype (name_to_value_set)::const_iterator it =
 						    name_to_value_set.cbegin ();
@@ -25275,11 +25275,13 @@ public:
 	HashItPair hashitpair;
 	hashitpair.hash = hash;
 	hashitpair.it = it;
-	bucket_hash[hash % bucket_hash.size()].push_back (std::move (hashitpair));
+	bucket_hash[hash % bucket_hash.size()].push_front
+						       (std::move (hashitpair));
       }
     for (size_t bucket_ix = 0; bucket_ix < bucket_hash.size (); ++bucket_ix)
       {
-	const std::list<HashItPair> &hashitlist (bucket_hash[bucket_ix]);
+	const std::forward_list<HashItPair> &hashitlist
+						       (bucket_hash[bucket_ix]);
 	if (hashitlist.empty ())
 	  continue;
 	uint32_t &bucket_slot (bucket_table[bucket_ix]);


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-06-28 21:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-28 21:21 [SCM] users/jkratoch/index: DWARF-5: .debug_names index consumer jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2017-06-22 20:03 jkratoch
2017-06-22 18:34 jkratoch
2017-06-18 19:30 jkratoch
2017-06-09  5:59 jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).