public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-05-21 17:30 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-05-21 17:30 UTC (permalink / raw)
  To: archer-commits

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

The branch, users/jkratoch/indexcxx has been updated
       via  3c31c689159535ec278253668e1f59155f18da2b (commit)
       via  56298620acb02ab589ce3ddf398788227ab20211 (commit)
       via  b4f5b984e5e771e75cee43942e56455531a02e68 (commit)
       via  43cc5389bc4662b31cad02a9f13358bd367d0ab3 (commit)
       via  a9dba87af1aeabffb01769004ab893173f3ef472 (commit)
       via  e5713223cbc1025f484fa2548d58f74173646b8a (commit)
       via  f0681695daa9d4fd493f3ca88f194675c9affbff (commit)
       via  147c65bdf374e9f9250d20c2428cde8c3c18a9e7 (commit)
       via  64517994807b0d6bb3c6fd106f117c03242fac72 (commit)
       via  92f7d783c1038841beacaba28a5f5d740a5ccad6 (commit)
       via  ae0264a6474d777650d65da261732748126f0190 (commit)
       via  f4203b2b8830e66e5229b7f9d30cd29b088566b5 (commit)
       via  6e7e1744e96abbf1a4229d5f269caf2cc921ec58 (commit)
       via  7a6e7fcc77997bf7679cce4f1cfebcd57ba8af70 (commit)
       via  1933fd8ee01ad2e74a9c6341bc40f54962a8f889 (commit)
       via  eb026f09eb6fcb96a5de1e655cdde041ba44affb (commit)
       via  50e1d299ef1d21b0833c2fe1484d3cc374e6486f (commit)
       via  dd47d677f0164800ceba1ab67f6cd2add0021101 (commit)
       via  8038128b23576f93a56caf7779a4406a84716727 (commit)
       via  ec8df23454873916c6b6b918967af631b268acd8 (commit)
       via  3e3e7faebe89bfab0d245040b19fd7347d186065 (commit)
       via  3aa2d05a728216bbb99dbb5718be9bb36429cf41 (commit)
       via  59cc050d893d1e8c75547de950a35e809588f12f (commit)
       via  c8f6abd10d62f82874e31959bf986606bd919d39 (commit)
       via  d2a03b77450dce58f6b4f9f7fdd3c346a555bcf7 (commit)
       via  9d43118ee54de3fbffea27a5a10ae11ba5ee00d0 (commit)
       via  535b785fb0c97220dea23a18f07baad6b5d77ae5 (commit)
       via  087ea22225435ab5800e6c29671acab40dc6ca82 (commit)
       via  a406db9163e45ab55c3addff2ce1e61796f1bddc (commit)
       via  c2a79cd51ba9d0823e7efc564938611958138c03 (commit)
       via  b7c871edcd83ccdc5fcd8148a7f433efd6b52255 (commit)
       via  0d5c69990c1992289f7b286600a43de4d5d44062 (commit)
       via  21873064e835ffb16e92048482e34f19e6a415da (commit)
       via  2b351b19efc8dd36ac8a8bda005c7411536b93ec (commit)
       via  a0a110b0dd5077373c4102d1502130eb159c366b (commit)
       via  4ebcabb38ef8acfb6e26d2b40e00abfe10aea895 (commit)
       via  854062337d056ffc8b805e0d5a8c1a66b99a4076 (commit)
       via  0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac (commit)
       via  91cb9803fcf6d1c7001395d80f79120ae8e6338a (commit)
       via  bc4e12ded1d4c8d589d82b2a10ade6b47f219db3 (commit)
       via  4070765b1a1640ff8f43483cd9ee06727f658dfe (commit)
       via  8cc2a9796024f2dd472985cc8ed1c65a85ec9a35 (commit)
       via  0c38a3d1942067100580e9673bcf0cbe27f3d6e8 (commit)
       via  d8cbc93b65ace8a36002839d5ee944efff59d643 (commit)
      from  dfba29cc316c649da098a49b084fbdd8ba3d84f2 (commit)

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

- Log -----------------------------------------------------------------
commit 3c31c689159535ec278253668e1f59155f18da2b
Merge: 147c65b 5629862
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun May 21 08:31:42 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

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

    Automatic date update in version.in

commit b4f5b984e5e771e75cee43942e56455531a02e68
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri May 19 23:45:29 2017 -0700

    binutils: remove sparc64/mips64 workaround in objcopy build notes merge code
    
    This patch removes a workaround recently installed in objcopy that
    avoided removing duplicated notes in targets for which the number of
    internal relocations may be bigger than the number of external
    relocations.  With the recent fixes in sparc64 and mips64, this
    workaround is no longer necessary.
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* objcopy.c (merge_gnu_build_notes): Remove workaround that
    	prevented deleting relocations in duplicated notes in mips64 and
    	sparc.

commit 43cc5389bc4662b31cad02a9f13358bd367d0ab3
Author: Tom Tromey <tom@tromey.com>
Date:   Sun May 14 11:12:14 2017 -0600

    Use watchpoint's language when re-parsing expression
    
    PR rust/21484 notes that watch -location does not work with Rust:
    
        (gdb) watch -location a
        syntax error in expression, near `) 0x00007fffffffe0f4'.
    
    update_watchpoint tries to tell gdb that the new expression it creates
    has C syntax:
    
          /* The above expression is in C.  */
          b->language = language_c;
    
    However, update_watchpoint doesn't actually use this language when
    re-parsing the expression.
    
    Originally I was going to fix this by saving and restoring the
    language in update_watchpoint, but this regressed
    gdb.dlang/watch-loc.exp, because the constructed expression actually
    has D syntax (specifically the name is not parseable by C).
    
    Next I looked at directly constructing an expression, and not relying
    on the parser at all; but it seemed to me that upon a re-set, we'd
    want to reparse the type, and there is no existing API to do this
    correctly.
    
    So, in the end I made a hook to let each language choose what
    expression to use.  I made all the languages other than Rust use the C
    expression, because that is the status quo ante.  However, this is
    probably not truly correct.  After this patch, at least, it is easy to
    correct by someone who knows the language(s) in question.
    
    Regtested by the buildbot.
    
    ChangeLog
    2017-05-19  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21484:
    	* rust-lang.c (exp_descriptor_rust): New function.
    	(rust_language_defn): Use it.
    	* p-lang.c (pascal_language_defn): Update.
    	* opencl-lang.c (opencl_language_defn): Update.
    	* objc-lang.c (objc_language_defn): Update.
    	* m2-lang.c (m2_language_defn): Update.
    	* language.h (struct language_defn)
    	<la_watch_location_expression>: New member.
    	* language.c (unknown_language_defn, auto_language_defn)
    	(local_language_defn): Update.
    	* go-lang.c (go_language_defn): Update.
    	* f-lang.c (f_language_defn): Update.
    	* d-lang.c (d_language_defn): Update.
    	* c-lang.h (c_watch_location_expression): Declare.
    	* c-lang.c (c_watch_location_expression): New function.
    	(c_language_defn, cplus_language_defn, asm_language_defn)
    	(minimal_language_defn): Use it.
    	* breakpoint.c (watch_command_1): Call
    	la_watch_location_expression.
    	* ada-lang.c (ada_language_defn): Update.
    
    testsuite/ChangeLog
    2017-05-19  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21484:
    	* gdb.rust/watch.exp: New file.
    	* gdb.rust/watch.rs: New file.

commit a9dba87af1aeabffb01769004ab893173f3ef472
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat May 20 00:00:43 2017 +0000

    Automatic date update in version.in

commit e5713223cbc1025f484fa2548d58f74173646b8a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri May 19 15:11:31 2017 +0100

    MIPS/BFD: For n64 hold the number of internal relocs in `->reloc_count'
    
    Revert parts of commit fee24f1c5bfe ("objdump improvements for mips
    elf64"), <https://sourceware.org/ml/binutils/2003-03/msg00108.html>, and
    make the `->reloc_count' member of `struct bfd_section' hold the actual
    number of internal relocations stored in its `->relocation' vector.  To
    do so adjust `mips_elf64_slurp_one_reloc_table' to set `->reloc_count'
    to the actual number of internal relocations retrieved and discard
    `mips_elf64_canonicalize_reloc', `mips_elf64_canonicalize_dynamic_reloc'
    and their corresponding target macros.  Contrary to the description of
    `mips_elf64_slurp_one_reloc_table', adjusted appropriately, this makes
    generic relocation processing code happy and satisfies the "merge notes
    section" binutils test case.
    
    Add extra binutils test cases to expand the coverage of the generic
    "merge notes section" test case, now passing with the n64 ABI, across
    the MIPS o32, n32 and n64 ABIs regardless of the default ABI selected in
    target configuration, and also to verify correctness of the relocations
    produced.  Conversely, do not provide any additional test cases for the
    original issue addressed with the commit referred:
    
    - objdump would display only 1/3 of the total number of relocations,
      because it used the external relocation count, but each external
      relocation is brought in as 3 internal relocations.
    
    as n64 ABI relocation processing with `objdump -r' and `objdump -R' is
    already widely covered across the GAS and LD test suites.
    
    	bfd/
    	* elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
    	and function.
    	(mips_elf64_canonicalize_dynamic_reloc): Likewise.
    	(mips_elf64_slurp_one_reloc_table): Set `reloc_count' to the
    	actual number of internal relocations retrieved.  Adjust
    	function description.
    	(bfd_elf64_canonicalize_reloc): Remove macro.
    	(bfd_elf64_canonicalize_dynamic_reloc): Likewise.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips-note-2.d: New test.
    	* testsuite/binutils-all/mips/mips-note-2r.d: New test.
    	* testsuite/binutils-all/mips/mips-note-2-n32.d: New test.
    	* testsuite/binutils-all/mips/mips-note-2-n64.d: New test.
    	* testsuite/binutils-all/mips/mips-note-2r-n32.d: New test.
    	* testsuite/binutils-all/mips/mips-note-2r-n64.d: New test.
    	* testsuite/binutils-all/mips/mips.exp: Define `has_newabi'.
    	Run the new tests.

commit f0681695daa9d4fd493f3ca88f194675c9affbff
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri May 19 15:08:16 2017 +0100

    binutils/testsuite: Permit the reuse of dump patterns
    
    Complement commit 89210bdc8fd2 ("GAS: Permit the reuse of dump
    patterns"), <https://sourceware.org/ml/binutils/2010-07/msg00269.html>,
    and commit ef2b5578f693 ("MIPS: Enable NewABI tests for SDE targets"),
    <https://sourceware.org/ml/binutils/2012-08/msg00017.html>, and like the
    GAS and LD versions make the binutils version of `run_dump_test' also
    support the `dump' keyword, for reusing dump patterns between tests.
    
    	binutils/
    	* testsuite/lib/utils-lib.exp (run_dump_test): Handle the `dump'
    	option.

commit 147c65bdf374e9f9250d20c2428cde8c3c18a9e7
Merge: c2a79cd 6451799
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri May 19 22:25:35 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit 64517994807b0d6bb3c6fd106f117c03242fac72
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri May 19 09:27:08 2017 -0700

    binutils: support for the SPARC M8 processor
    
    This patch adds support for the new SPARC M8 processor (implementing OSA
    2017) to binutils.
    
    New instructions:
    
    - Dictionary Unpack
    
      + dictunpack
    
    - Partitioned Compare with shifted result
    
      + Signed variants:   fpcmp{le,gt,eq,ne}{8,16,32}shl
      + Unsigned variants: fpcmpu{le,gt}{8,16,32}shl
    
    - Partitioned Dual-Equal compared, with shifted result
    
      + fpcmpde{8,16,32}shl
    
    - Partitioned Unsigned Range Compare, with shifted result
    
      + fpcmpur{8,16,32}shl
    
    - 64-bit shifts on Floating-Point registers
    
      + fps{ll,ra,rl}64x
    
    - Misaligned loads and stores
    
      + ldm{sh,uh,sw,uw,x,ux}
      + ldm{sh,uh,sw,uw,x,ux}a
      + ldmf{s,d}
      + ldmf{s,d}a
    
      + stm{h,w,x}
      + stm{h,w,x}a
      + stmf{s,d}
      + stmf{s,d}a
    
    - Oracle Numbers
    
      + on{add,sub,mul,div}
    
    - Reverse Bytes/Bits
    
      + revbitsb
      + revbytes{h,w,x}
    
    - Run-Length instructions
    
      + rle_burst
      + rle_length
    
    - New crypto instructions
    
      + sha3
    
    - Instruction to read the new register %entropy
    
      + rd %entropy
    
    New Alternate Address Identifiers:
    
    - 0x24, #ASI_CORE_COMMIT_COUNT
    - 0x24, #ASI_CORE_SELECT_COUNT
    - 0x48, #ASI_ARF_ECC_REG
    - 0x53, #ASI_ITLB_PROBE
    - 0x58, #ASI_DSFAR
    - 0x5a, #ASI_DTLB_PROBE_PRIMARY
    - 0x5b, #ASI_DTLB_PROBE_REAL
    - 0x64, #ASI_CORE_SELECT_COMMIT_NHT
    
    The new assembler command-line options for selecting the M8 architecture
    are:
    
    -Av9m8 or -Asparc6 for 64-bit binaries.
    -Av8plusm8 for 32-bit (v8+) binaries.
    
    The corresponding disassembler command-line options are:
    
    -msparc:v9m8 for 64-bit binaries.
    -msparc:v8plusm8 for 32-bit (v8+) binaries.
    
    Tested for regressions in the following targets:
    sparc-aout sparc-linux sparc-vxworks sparc64-linux
    
    bfd/ChangeLog:
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* archures.c (bfd_mach_sparc_v9m8): Define.
    	(bfd_mach_sparc_v8plusm8): Likewise.
    	(bfd_mach_sparc_v9_p): Adjust to M8.
    	(bfd_mach_sparc_64bit_p): Likewise.
    	* aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
    	bfd_mach_sparc_v8plusm8.
    	* bfd-in2.h: Regenerated.
    	* cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
    	sparc:v8plusm8.
    	* elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
    	bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
    	capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
    	SHA3.
    	* elf32-sparc.c (elf32_sparc_final_write_processing): Handle
    	bfd_mach_sparc_v8plusm8.
    
    binutils/ChangeLog:
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* NEWS: Mention the SPARC M8 support.
    
    gas/ChangeLog:
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-sparc.c (sparc_arch_table): Entries for `sparc6',
    	`v9m8' and `v8plusm8'.
    	(sparc_md_end): Handle SPARC_OPCODE_ARCH_M8.
    	(get_hwcap_name): Support the M8 hardware capabilities.
    	(sparc_ip): Handle new operand types.
    	* doc/c-sparc.texi (Sparc-Opts): Document -Av9m8, -Av8plusm8 and
    	-Asparc6, and the corresponding -xarch aliases.
    	* testsuite/gas/sparc/sparc6.s: New file.
    	* testsuite/gas/sparc/sparc6.d: Likewise.
    	* testsuite/gas/sparc/sparc6-diag.s: Likewise.
    	* testsuite/gas/sparc/sparc6-diag.l: Likewise.
    	* testsuite/gas/sparc/fpcmpshl.s: Likewise.
    	* testsuite/gas/sparc/fpcmpshl.d: Likewise.
    	* testsuite/gas/sparc/fpcmpshl-diag.s: Likewise.
    	* testsuite/gas/sparc/fpcmpshl-diag.l: Likewise.
    	* testsuite/gas/sparc/ldm-stm.s: Likewise.
    	* testsuite/gas/sparc/ldm-stm.d: Likewise.
    	* testsuite/gas/sparc/ldm-stm-diag.s: Likewise.
    	* testsuite/gas/sparc/ldm-stm-diag.l: Likewise.
    	* testsuite/gas/sparc/ldmf-stmf.s: Likewise.
    	* testsuite/gas/sparc/ldmf-stmf.d: Likewise.
    	* testsuite/gas/sparc/ldmf-stmf-diag.s: Likewise.
    	* testsuite/gas/sparc/ldmf-stmf-diag.l: Likewise.
    	* testsuite/gas/sparc/on.s: Likewise.
    	* testsuite/gas/sparc/on.d: Likewise.
    	* testsuite/gas/sparc/on-diag.s: Likewise.
    	* testsuite/gas/sparc/on-diag.l: Likewise.
    	* testsuite/gas/sparc/rle.s: Likewise.
    	* testsuite/gas/sparc/rle.d: Likewise.
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run new tests.
    	* testsuite/gas/sparc/rdasr.s: Add test for RDENTROPY.
    	* testsuite/gas/sparc/rdasr.d: Likewise.
    
    include/ChangeLog:
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elf/sparc.h (ELF_SPARC_HWCAP2_SPARC6): Define.
    	(ELF_SPARC_HWCAP2_ONADDSUB): Likewise.
    	(ELF_SPARC_HWCAP2_ONMUL): Likewise.
    	(ELF_SPARC_HWCAP2_ONDIV): Likewise.
    	(ELF_SPARC_HWCAP2_DICTUNP): Likewise.
    	(ELF_SPARC_HWCAP2_FPCMPSHL): Likewise.
    	(ELF_SPARC_HWCAP2_RLE): Likewise.
    	(ELF_SPARC_HWCAP2_SHA3): Likewise.
    	* opcode/sparc.h (sparc_opcode_arch_val): Add SPARC_OPCODE_ARCH_M8
    	and adjust SPARC_OPCODE_ARCH_MAX.
    	(HWCAP2_SPARC6): Define.
    	(HWCAP2_ONADDSUB): Likewise.
    	(HWCAP2_ONMUL): Likewise.
    	(HWCAP2_ONDIV): Likewise.
    	(HWCAP2_DICTUNP): Likewise.
    	(HWCAP2_FPCMPSHL): Likewise.
    	(HWCAP2_RLE): Likewise.
    	(HWCAP2_SHA3): Likewise.
    	(OPM): Likewise.
    	(OPMI): Likewise.
    	(ONFCN): Likewise.
    	(REVFCN): Likewise.
    	(SIMM10): Likewise.
    
    opcodes/ChangeLog:
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* sparc-dis.c (MASK_V9): Include SPARC_OPCODE_ARCH_M8.
    	(X_IMM2): Define.
    	(compute_arch_mask): Handle bfd_mach_sparc_v8plusm8 and
    	bfd_mach_sparc_v9m8.
    	(print_insn_sparc): Handle new operand types.
    	* sparc-opc.c (MASK_M8): Define.
    	(v6): Add MASK_M8.
    	(v6notlet): Likewise.
    	(v7): Likewise.
    	(v8): Likewise.
    	(v9): Likewise.
    	(v9a): Likewise.
    	(v9b): Likewise.
    	(v9c): Likewise.
    	(v9d): Likewise.
    	(v9e): Likewise.
    	(v9v): Likewise.
    	(v9m): Likewise.
    	(v9andleon): Likewise.
    	(m8): Define.
    	(HWS_VM8): Define.
    	(HWS2_VM8): Likewise.
    	(sparc_opcode_archs): Add entry for "m8".
    	(sparc_opcodes): Add OSA2017 and M8 instructions
    	dictunpack, fpcmp{ule,ugt,eq,ne,de,ur}{8,16,32}shl,
    	fpx{ll,ra,rl}64x,
    	ldm{sh,uh,sw,uw,x,ux}, ldm{sh,uh,sw,uw,x,ux}a, ldmf{s,d},
    	ldmf{s,d}a, on{add,sub,mul,div}, rdentropy, revbitsb,
    	revbytes{h,w,x}, rle_burst, rle_length, sha3, stm{h,w,x},
    	stm{h,w,x}a, stmf{s,d}, stmf{s,d}a.
    	(asi_table): New M8 ASIs ASI_CORE_COMMIT_COUNT,
    	ASI_CORE_SELECT_COUNT, ASI_ARF_ECC_REG, ASI_ITLB_PROBE, ASI_DSFAR,
    	ASI_DTLB_PROBE_PRIMARY, ASI_DTLB_PROBE_REAL,
    	ASI_CORE_SELECT_COMMIT_NHT.

commit 92f7d783c1038841beacaba28a5f5d740a5ccad6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 19 08:36:06 2017 -0700

    x86: Add GC testcases with property sections
    
    Verify that debug section is removed by garbage collection when there
    is a .note.gnu.property section.
    
    	* testsuite/ld-i386/i386.exp: Run property-x86-4a and
    	property-x86-4b.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-i386/property-x86-4a.d: New file.
    	* testsuite/ld-i386/property-x86-4a.s: Likewise.
    	* testsuite/ld-i386/property-x86-4b.d: Likewise.
    	* testsuite/ld-i386/property-x86-4b.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4a.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-4b.s: Likewise.

commit ae0264a6474d777650d65da261732748126f0190
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri May 19 06:59:41 2017 -0700

    gas: fix tests call-relax and asi-bump-warn in 32-bit SPARC ELF targets
    
    Tested in targets:
    sparc-aout sparc-linux sparc-vxworks sparc64-linux
    
    2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/call-relax.d: Support 32-bit targets.
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Use -64 to
    	run asi-bump-warn.

commit f4203b2b8830e66e5229b7f9d30cd29b088566b5
Author: eorg-Johann Lay <avr@gjlay.de>
Date:   Fri May 19 15:06:33 2017 +0100

    Update avrxmega3 linker emulation to support avrxmega2 devices with flash memory visible in the SRAM address range.
    
        PR ld/21472
    ld  * emulparams/avrxmega3.sh (RODATA_PM_OFFSET): Set to 0x8000.
        * scripttempl/avr.sc
        (__RODATA_PM_OFFSET__) [RODATA_PM_OFFSET]: Use RODATA_PM_OFFSET
        as default if not already defined.
        (.data) [!RODATA_PM_OFFSET]: Don't include .rodata and friends.
        (.rodata) [RODATA_PM_OFFSET]: Put at an offset of
        __RODATA_PM_OFFSET__.
    
    gas * config/tc-avr.c (mcu_types): Add entries for: attiny416,
         attiny417, attiny816, attiny817.

commit 6e7e1744e96abbf1a4229d5f269caf2cc921ec58
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Fri May 19 15:08:45 2017 +0200

    Fix tui compilation with Solaris libcurses: clear define (PR tui/21482)
    
    On both mainline and the 8.0 branch, gdb compilation fails on Solaris 10
    with the native libcurses like this:
    
    In file included from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/gdb_curses.h:42:
    0,
                     from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-data.h:2
    6,
                     from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c
    :31:
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c: In function `CORE_A
    DDR tui_disassemble(gdbarch*, tui_asm_line*, CORE_ADDR, int)':
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c:71:19: error: `class
     string_file' has no member named `wclear'; did you mean `clear'?
           gdb_dis_out.clear ();
                       ^
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c:78:19: error: `class
     string_file' has no member named `wclear'; did you mean `clear'?
           gdb_dis_out.clear ();
                       ^
    make[2]: *** [Makefile:1927: tui-disasm.o] Error 1
    
    It turned out this happens because <curses.h> has
    
    #define clear()         wclear(stdscr)
    
    This can be avoided by defining NOMACROS, which the patch below does.
    ncurses potentially has a similar problem, which can be avoided by defining
    NCURSES_NOMACROS.
    
    	PR tui/21482
    	* gdb_curses.h (NOMACROS): Define.
    	(NCURSES_NOMACROS): Define.

commit 7a6e7fcc77997bf7679cce4f1cfebcd57ba8af70
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Fri May 19 14:16:55 2017 +0200

    Fix tui compilation with Solaris libcurses: non-const last arg to mvwaddstr (PR tui/21482)
    
    On both mainline and the 8.0 branch, gdb compilation fails on Solaris 10
    with the native libcurses in gdb/tui for several instances of the same problem:
    
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-winsource.c: In function `void tui_erase_source_content(tui_win_info*, int)':
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-winsource.c:257:18: error: invalid conversion from `const char*' to `char*' [-fpermissive]
            no_src_str);
                      ^
    In file included from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/gdb_curses.h:42:0,
                     from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-data.h:26,
                     from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-winsource.c:33:
    /vol/gcc-7/lib/gcc/sparc-sun-solaris2.10/7.1.0/include-fixed/curses.h:699:12: note:   initializing argument 4 of `int mvwaddstr(WINDOW*, int, int, char*)'
     extern int mvwaddstr(WINDOW *, int, int, char *);
                ^~~~~~~~~
    make[2]: *** [Makefile:1927: tui-winsource.o] Error 1
    
    Unlike ncurses, <curses.h> declares
    
    extern int mvwaddstr(WINDOW *, int, int, char *);
    
    i.e. the last arg is char *, not const char *.
    
    The patch fixes this by casting the last arg to mvwaddstr to char *,
    as was recently done on mainline in a newterm() call (the only
    difference between 8.0 and mainline gdb/tui).
    
    	* tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
    	arg to char *.
    	* tui/tui-wingeneral.c (box_win): Likewise.
    	* tui/tui-winsource.c (tui_erase_source_content): Likewise.
    	(tui_show_source_line): Likewise.
    	(tui_show_exec_info_content): Likewise.

commit 1933fd8ee01ad2e74a9c6341bc40f54962a8f889
Author: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
Date:   Fri May 19 03:06:19 2017 -0700

    gdb: fix TYPE_CODE_ARRAY handling in sparc targets
    
    gdb has a special type (TYPE_CODE_ARRAY) to support the gcc extension
    (https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html).
    TYPE_CODE_ARRAY is handled incorrectly for both (32- and 64-bit) modes
    on Sparc machines.
    
    Tested on sparc64-linux-gnu and sparc-solaris (32- and 64-bit mode).
    
    6 tests ( from gdb/testsuite/gdb.base/gnu_vector.exp) failed on
    sparc64-Linux and on sparc-Solaris in 32- and 64-bit mode.  Now all
    these tests passed.  gdb/testsuite/gdb.base/gnu_vector.exp has 117
    different cases for small (and not small) arrays and structures.
    
    No regressions.
    
    gdb/ChangeLog:
    
    2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
    
    	* sparc-tdep.c (sparc_structure_return_p)
    	(sparc_arg_on_registers_p): New functions.
    	(sparc32_store_arguments): Use them.
    	* sparc64-tdep.c (sparc64_16_byte_align_p)
    	(sparc64_store_floating_fields, sparc64_extract_floating_fields):
    	Handle TYPE_CODE_ARRAY.

commit eb026f09eb6fcb96a5de1e655cdde041ba44affb
Author: Alan Modra <amodra@gmail.com>
Date:   Fri May 19 12:40:10 2017 +0930

    garbage collect debug sections when no alloc sections are kept
    
    The pr20882 testcase fails on a number of targets that add attribute
    or note sections to object files, and the default linker script says
    those sections should be kept.  This patch changes --gc-sections to
    drop debug and special sections like .comment when no SEC_ALLOC
    section in an object file is kept.  The assumption is that debug
    sections are describing code and data that will become part of the
    final image in memory.
    
    	* elflink.c (_bfd_elf_gc_mark_extra_sections): Don't keep
    	debug and special sections when no non-note alloc sections in an
    	object are kept.

commit 50e1d299ef1d21b0833c2fe1484d3cc374e6486f
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Fri May 19 11:05:59 2017 +0300

    Avoid MinGW compilation warning in readline/input.c
    
    This change was already accepted upstream in Readline.
    
    readline/ChangeLog.gdb:
    
    2017-05-19  Eli Zaretskii  <eliz@gnu.org>
    
    	* input.c [_WIN32]: Include <conio.h> to avoid compiler warning on
    	MinGW.

commit dd47d677f0164800ceba1ab67f6cd2add0021101
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri May 19 07:53:21 2017 +0100

    MIPS/binutils/testsuite: Bail out right away if !ELF
    
    We have but ELF binutils tests in the MIPS subset, and non-ELF MIPS/GAS
    ports are gone, making a future addition of any non-ELF tests unlikely.
    Bail out right away then if non-ELF, consuming one level of indentation
    across the actual tests run.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips.exp: Bail out right away if
    	non-ELF.

commit 8038128b23576f93a56caf7779a4406a84716727
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri May 19 00:00:39 2017 +0000

    Automatic date update in version.in

commit ec8df23454873916c6b6b918967af631b268acd8
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 18 17:31:41 2017 -0600

    Fix test failure with Rust 1.18 and 1.19
    
    With Rust 1.18 and 1.19, I saw some test suite failures.  They were
    all of the same form -- Box seems to be qualified in the output now,
    like:
    
      print box_some
      $64 = core::option::Option<alloc::boxed::Box<u8>>::Some(0x7ffff6c21018 "\001\000")
    
    ... where the test was expecting Option<Box<u8>>.
    
    This patch fixes the problem in a way that should work with earlier
    versions of Rust.
    
    gdb/testsuite/ChangeLog
    2017-05-18  Tom Tromey  <tom@tromey.com>
    
    	* gdb.rust/simple.exp: Allow Box to be qualified.

commit 3e3e7faebe89bfab0d245040b19fd7347d186065
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu May 18 16:31:40 2017 +0100

    Expect prompt after no FPU warning
    
    2017-05-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gdb/testsuite/
    	* gdb.base/float.exp: Expect GDB prompt for targets without FPU.

commit 3aa2d05a728216bbb99dbb5718be9bb36429cf41
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu May 18 15:07:59 2017 +0100

    Treat a prefix of "$SYSROOT" in the same way as "=" when parsing linker search paths.
    
    	PR ld/21251
    	* ldfile.c (ldfile_add_library_path): If the path starts with
    	$SYSROOT then use the sysroot as the real prefix.
    	* ldlang.c (lang_add_input_file): Treat $SYSROOT in the same
    	way as =.
    	* ldlex.l: Add $SYSROOT as allow prefix for a filename.
    	* ld.texinfo (-L): Document that $SYSROOT acts like = when
    	prefixing a library search path.
    	(INPUT): Likewise.
    	* testsuite/ld-scripts/sysroot-prefix.exp: Add $SYSROOT prefix
    	tests.

commit 59cc050d893d1e8c75547de950a35e809588f12f
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 18 11:40:08 2017 +0100

    gdb.base/fileio.c: Fix several -Wmaybe-uninitialized warnings
    
     src/gdb/testsuite/gdb.base/fileio.c: In function ‘test_write’:
     src/gdb/testsuite/gdb.base/fileio.c:158:5: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]
          printf ("write 1: ret = %d, errno = %d\n", ret, errno);
          ^
    
    gdb/ChangeLog:
    2017-05-18  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/fileio.c (test_write, test_read, test_close)
    	(test_fstat): Don't print 'ret' in the fail path.

commit c8f6abd10d62f82874e31959bf986606bd919d39
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 18 11:37:55 2017 +0100

    gdb.base/fileio.c: Fix several -Wreturn-type warnings
    
    All the "test_" functions warn like:
    
      src/gdb/testsuite/gdb.base/fileio.c: In function ‘test_close’:
      src/gdb/testsuite/gdb.base/fileio.c:280:1: warning: control reaches end of non-void function [-Wreturn-type]
       }
       ^
    
    Nothing looks at the return of these functions, so just make them
    return void.  While at it, "()" is not the same as "(void)" in C - fix
    that too.
    
    gdb/ChangeLog:
    2017-05-18  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/fileio.c (stop, test_open, test_write, test_read)
    	(test_lseek, test_close, test_stat, test_fstat, test_isatty)
    	(test_system, test_rename, test_unlink, test_time): Change
    	prototypes.
    	* gdb.base/fileio.exp (stop_msg): Adjust.

commit d2a03b77450dce58f6b4f9f7fdd3c346a555bcf7
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 18 11:47:05 2017 +0100

    gdb.base/fileio.exp: Remove nowarnings
    
    ... and quiet -Wnonnull in a different way.
    
    gdb/testsuite/ChangeLog:
    2017-05-18  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/fileio.c (null_str): New global.
    	(test_stat): Use it.
    	* gdb.base/fileio.exp: Remove nowarnings.

commit 9d43118ee54de3fbffea27a5a10ae11ba5ee00d0
Author: Alan Modra <amodra@gmail.com>
Date:   Thu May 18 16:51:48 2017 +0930

    fix changelog typo

commit 535b785fb0c97220dea23a18f07baad6b5d77ae5
Author: Alan Modra <amodra@gmail.com>
Date:   Thu May 18 14:47:40 2017 +0930

    Don't compare boolean values against TRUE or FALSE
    
    bfd/
    	* arc-got.h: Don't compare boolean values against TRUE or FALSE.
    	* elf-m10300.c: Likewise.
    	* elf.c: Likewise.
    	* elf32-arc.c: Likewise.
    	* elf32-bfin.c: Likewise.
    	* elf32-m68k.c: Likewise.
    	* elf32-nds32.c: Likewise.
    	* elf32-tilepro.c: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-riscv.c: Likewise.
    	* elfxx-tilegx.c: Likewise.
    	* mach-o.c: Likewise.
    	* peXXigen.c: Likewise.
    	* vms-alpha.c: Likewise.
    	* vms-lib.c: Likewise.
    opcodes/
    	* aarch64-asm.c: Don't compare boolean values against TRUE or FALSE.
    	* aarch64-dis.c: Likewise.
    	* aarch64-gen.c: Likewise.
    	* aarch64-opc.c: Likewise.
    binutils/
    	* strings.c: Don't compare boolean values against TRUE or FALSE.
    gas/
    	* config/tc-aarch64.c: Don't compare booleans against TRUE or FALSE.
    	* config/tc-hppa.c: Likewise.
    	* config/tc-mips.c: Likewise.
    	* config/tc-score7.c: Likewise.
    ld/
    	* emultempl/elf32.em: Don't compare boolean values against TRUE or FALSE.
    	* emultempl/pe.em: Likewise.
    	* emultempl/pep.em: Likewise.
    	* emultempl/xtensaelf.em: Likewise.

commit 087ea22225435ab5800e6c29671acab40dc6ca82
Author: Alan Modra <amodra@gmail.com>
Date:   Thu May 18 14:28:17 2017 +0930

    pr20882 testcase
    
    -gdwarf-sections doesn't work on targets that lack support to emit
    address size relative relocs.  The testcase as it was avoided
    -gdwarf-sections doing anything by providing a non-empty .debug_line.
    It's better to not use -gdwarf-sections.  Also, the testcase failed
    to match the output for 16-bit address targets like avr.
    
    	PR ld/20882
    	* testsuite/ld-gc/pr20882.d: Don't pass -gdwarf-sections to gas.
    	Allow for 16-bit address targets and match expected data fully.
    	* testsuite/ld-gc/pr20882a.s: Delete .debug_line section.
    	* testsuite/ld-gc/pr20882b.s: Likewise.
    	* testsuite/ld-gc/pr20882c.s: Likewise.

commit a406db9163e45ab55c3addff2ce1e61796f1bddc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu May 18 00:00:47 2017 +0000

    Automatic date update in version.in

commit c2a79cd51ba9d0823e7efc564938611958138c03
Merge: dfba29c b7c871e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed May 17 18:48:12 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit b7c871edcd83ccdc5fcd8148a7f433efd6b52255
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 17 07:57:15 2017 -0700

    Mark debug sections referenced by kept debug sections
    
    If a debug section is referenced by a kept debug section, it should
    also be kept.
    
    Some targets, like mips, keep input files when there are some special
    sections, like .gnu.attributes, even if input file is unused otherwise.
    In this case, all debug sections are kept.  The new test will fail on
    such targets.  We can either fix those targets or XFAIL the test.
    
    bfd/
    
    	PR ld/20882
    	* elflink.c (elf_gc_mark_debug_section): New function.
    	(_bfd_elf_gc_mark_extra_sections): Mark any debug sections
    	referenced by kept debug sections.
    
    ld/
    
    	PR ld/20882
    	* testsuite/ld-gc/gc.exp: Run pr20882.
    	* testsuite/ld-gc/pr20882.d: New file.
    	* testsuite/ld-gc/pr20882a.s: Likewise.
    	* testsuite/ld-gc/pr20882b.s: Likewise.
    	* testsuite/ld-gc/pr20882c.s: Likewise.

commit 0d5c69990c1992289f7b286600a43de4d5d44062
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 17 14:46:17 2017 +0100

    Add nowarnings in gdb.base/fileio.exp
    
    I see the following warning in gdb.base/fileio.c,
    
    testsuite/gdb.base/fileio.c:297:3: warning: null argument where non-null required (argument 1) [-Wnonnull]
       ret = stat (NULL, &st);
       ^
    
    This patch adds "nowarnings" to the list passed to gdb_compile.
    
    gdb/testsuite:
    
    2017-05-17  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/fileio.exp: Pass nowarnings to gdb_compile.

commit 21873064e835ffb16e92048482e34f19e6a415da
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 17 14:22:04 2017 +0100

    Add alias command to cmd_list_element
    
    When we add alias command, we call add_alias_cmd and pass the alias name
    and command name.  This implicitly requires the command and its prefix
    commands are already added to cmdlist.  This may not be true, for example,
    
      add_com_alias ("tty", "set inferior-tty", class_alias, 0);
    
    "inferior-tty" command is added to setlist, but setlist may not be added
    to cmdlist (It depends on the order of related _initialize_XXX functions
    called) so that we can't find "set inferior-tty" from cmdlist.
    
    This patch fixes this problem by passing cmd_list_element of "inferior-tty"
    to add_alias_cmd, so that cmd_list_element of "inferior-tty" doesn't have
    to be reachable from cmdlist at that moment.
    
    gdb:
    
    2017-05-17  Yao Qi  <yao.qi@linaro.org>
    
    	* cli/cli-decode.c (add_alias_cmd): New function.
    	* command.h (add_alias_cmd): Declare.
    	* infcmd.c (_initialize_infcmd): Don't call add_com_alias,
    	instead call add_alias_cmd.
    
    gdb/testsuite:
    
    2017-05-17  Simon Marchi  <simon.marchi@ericsson.com>
    
    	* gdb.base/set-inferior-tty.exp (test_set_inferior_tty): Add
    	argument command.
    	(top-level): Invoke test_set_inferior_tty.

commit 2b351b19efc8dd36ac8a8bda005c7411536b93ec
Author: Pedro Alves <palves@redhat.com>
Date:   Wed May 17 13:56:19 2017 +0100

    nat_extra_makefile_frag -> nat_makefile_frag
    
    gdb/ChangeLog:
    2017-05-17  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (nat_extra_makefile_frag): Rename to ...
    	(nat_makefile_frag): ... this.  All references updated.
    	* configure.ac: Likewise.
    	* configure.nat: Likewise.  Enhance comments.
    	* configure: Regenerate.

commit a0a110b0dd5077373c4102d1502130eb159c366b
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Wed May 17 12:39:39 2017 +0200

    S/390: Fix arch level of pckmo instruction.
    
    Fix wrong architecture level of PCKMO instruction.
    
    Committed to mainline.
    
    opcodes/ChangeLog:
    
    2017-05-17  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-opc.txt: PCKMO change arch level to z196.
    
    gas/ChangeLog:
    
    2017-05-17  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/zarch-z10.d: Remove pckmo.
    	* testsuite/gas/s390/zarch-z10.s: Remove pckmo.
    	* testsuite/gas/s390/zarch-z196.d: Add pckmo.
    	* testsuite/gas/s390/zarch-z196.s: Add pckmo.

commit 4ebcabb38ef8acfb6e26d2b40e00abfe10aea895
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 17 00:00:53 2017 +0000

    Automatic date update in version.in

commit 854062337d056ffc8b805e0d5a8c1a66b99a4076
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 09:09:20 2017 -0700

    Fix commit 0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac

commit 0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 08:52:01 2017 -0700

    Run PR ld/21481 tests only if IFUNC is supported
    
    	PR ld/21481
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/21481 tests only
    	if IFUNC is supported by run-time.

commit 91cb9803fcf6d1c7001395d80f79120ae8e6338a
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 16 08:43:24 2017 +0930

    Allow target files access to default TC_FORCE_RELOCATION defines
    
    	* write.c (GENERIC_FORCE_RELOCATION_LOCAL): Define.
    	(TC_FORCE_RELOCATION_LOCAL): Use it.
    	(GENERIC_FORCE_RELOCATION_SUB_SAME): Define.
    	(TC_FORCE_RELOCATION_SUB_SAME): Use it.
    	* config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL,
    	TC_FORCE_RELOCATION_SUB_SAME): Use GENERIC defines.
    	* config/tc-aarch64.h: Similarly.
    	* config/tc-avr.h: Similarly.
    	* config/tc-cris.h: Similarly.
    	* config/tc-i386.h: Similarly.
    	* config/tc-i960.h: Similarly.
    	* config/tc-ia64.h: Similarly.
    	* config/tc-microblaze.h: Similarly.
    	* config/tc-mips.h: Similarly.
    	* config/tc-msp430.h: Similarly.
    	* config/tc-nds32.h: Similarly.
    	* config/tc-pru.h: Similarly.
    	* config/tc-riscv.h: Similarly.
    	* config/tc-rl78.h: Similarly.
    	* config/tc-s390.h: Similarly.
    	* config/tc-sh.h: Similarly.
    	* config/tc-sh64.h: Similarly.
    	* config/tc-sparc.h: Similarly.
    	* config/tc-xtensa.h: Similarly.
    	* config/tc-mn10300.h: Similarly.
    	(GENERIC_FORCE_RELOCATION_LOCAL): Define.
    	* config/tc-msp430.c (msp430_force_relocation_local): Modify to
    	be addition to rather than replacement of standard
    	TC_FORCE_RELOCATION_LOCAL.

commit bc4e12ded1d4c8d589d82b2a10ade6b47f219db3
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 16 07:58:14 2017 +0930

    Rename non_ir_ref to non_ir_ref_regular
    
    Since the flag is now set only for regular object refs.
    
    include/
    	* bfdlink.h (struct bfd_link_hash_entry <non_ir_ref>): Rename to
    	non_ir_ref_regular.
    bfd/
    	* elf-m10300.c: Rename occurrences of non_ir_ref.
    	* elf32-arm.c: Likewise.
    	* elf32-bfin.c: Likewise.
    	* elf32-cr16.c: Likewise.
    	* elf32-cris.c: Likewise.
    	* elf32-d10v.c: Likewise.
    	* elf32-dlx.c: Likewise.
    	* elf32-fr30.c: Likewise.
    	* elf32-frv.c: Likewise.
    	* elf32-hppa.c: Likewise.
    	* elf32-i370.c: Likewise.
    	* elf32-i386.c: Likewise.
    	* elf32-iq2000.c: Likewise.
    	* elf32-lm32.c: Likewise.
    	* elf32-m32c.c: Likewise.
    	* elf32-m32r.c: Likewise.
    	* elf32-m68hc1x.c: Likewise.
    	* elf32-m68k.c: Likewise.
    	* elf32-mcore.c: Likewise.
    	* elf32-metag.c: Likewise.
    	* elf32-microblaze.c: Likewise.
    	* elf32-moxie.c: Likewise.
    	* elf32-msp430.c: Likewise.
    	* elf32-mt.c: Likewise.
    	* elf32-nios2.c: Likewise.
    	* elf32-or1k.c: Likewise.
    	* elf32-ppc.c: Likewise.
    	* elf32-rl78.c: Likewise.
    	* elf32-s390.c: Likewise.
    	* elf32-score.c: Likewise.
    	* elf32-score7.c: Likewise.
    	* elf32-sh.c: Likewise.
    	* elf32-tic6x.c: Likewise.
    	* elf32-tilepro.c: Likewise.
    	* elf32-v850.c: Likewise.
    	* elf32-vax.c: Likewise.
    	* elf32-xstormy16.c: Likewise.
    	* elf32-xtensa.c: Likewise.
    	* elf64-alpha.c: Likewise.
    	* elf64-hppa.c: Likewise.
    	* elf64-ia64-vms.c: Likewise.
    	* elf64-mmix.c: Likewise.
    	* elf64-ppc.c: Likewise.
    	* elf64-s390.c: Likewise.
    	* elf64-sh64.c: Likewise.
    	* elf64-x86-64.c: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* elfnn-riscv.c: Likewise.
    	* elfxx-mips.c: Likewise.
    	* elfxx-sparc.c: Likewise.
    	* elfxx-tilegx.c: Likewise.
    	* linker.c: Likewise.
    ld/
    	* plugin.c: Rename occurrences of non_ir_ref.

commit 4070765b1a1640ff8f43483cd9ee06727f658dfe
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 16 07:56:41 2017 +0930

    non_ir_ref_dynamic
    
    dynamic_ref_after_ir_def is a little odd compared to other symbol
    flags in that as the name suggests, it is set only for certain
    references after a definition.  It turns out that setting a flag for
    any non-ir reference from a dynamic object can be used to solve the
    problem for which this flag was invented, which I think is a cleaner.
    This patch does that, and sets non_ir_ref only for regular object
    references.
    
    include/
    	* bfdlink.h (struct bfd_link_hash_entry): Update non_ir_ref
    	comment.  Rename dynamic_ref_after_ir_def to non_ir_ref_dynamic.
    ld/
    	* plugin.c (is_visible_from_outside): Use non_ir_ref_dynamic.
    	(plugin_notice): Set non_ir_ref for references from regular
    	objects, non_ir_ref_dynamic for references from dynamic objects.
    bfd/
    	* elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
    	* elflink.c (elf_link_add_object_symbols): Update to use
    	non_ir_ref_dynamic.
    	(elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
    	non_ir_ref.
    	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.

commit 8cc2a9796024f2dd472985cc8ed1c65a85ec9a35
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 16 00:00:31 2017 +0000

    Automatic date update in version.in

commit 0c38a3d1942067100580e9673bcf0cbe27f3d6e8
Author: Eric Christopher <echristo@gmail.com>
Date:   Mon May 15 15:59:52 2017 -0700

    2017-05-15  Eric Christopher <echristo@gmail.com>
    
            * layout.cc (Layout::segment_precedes): Add a case for testing
            pointer equality when determining which segment precedes
            another.

commit d8cbc93b65ace8a36002839d5ee944efff59d643
Author: Jeff Law <law@redhat.com>
Date:   Mon May 15 10:48:41 2017 -0600

    2017-05-15  Jeff Law  <law@redhat.com>
    
    	* readelf.c (display_arc_attribute): Avoid implicit fallthru.

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

Summary of changes:
 bfd/ChangeLog                                      |  127 ++++++++++++
 bfd/aoutx.h                                        |    4 +-
 bfd/arc-got.h                                      |    6 +-
 bfd/archures.c                                     |    7 +-
 bfd/bfd-in2.h                                      |    7 +-
 bfd/cpu-sparc.c                                    |   30 +++
 bfd/elf-m10300.c                                   |    4 +-
 bfd/elf.c                                          |    2 +-
 bfd/elf32-arc.c                                    |   22 +-
 bfd/elf32-arm.c                                    |    2 +-
 bfd/elf32-bfin.c                                   |    6 +-
 bfd/elf32-cr16.c                                   |    2 +-
 bfd/elf32-cris.c                                   |    2 +-
 bfd/elf32-d10v.c                                   |    2 +-
 bfd/elf32-dlx.c                                    |    2 +-
 bfd/elf32-fr30.c                                   |    2 +-
 bfd/elf32-frv.c                                    |    2 +-
 bfd/elf32-hppa.c                                   |    2 +-
 bfd/elf32-i370.c                                   |    2 +-
 bfd/elf32-i386.c                                   |    2 +-
 bfd/elf32-iq2000.c                                 |    2 +-
 bfd/elf32-lm32.c                                   |    2 +-
 bfd/elf32-m32c.c                                   |    2 +-
 bfd/elf32-m32r.c                                   |    2 +-
 bfd/elf32-m68hc1x.c                                |    2 +-
 bfd/elf32-m68k.c                                   |    4 +-
 bfd/elf32-mcore.c                                  |    2 +-
 bfd/elf32-metag.c                                  |    2 +-
 bfd/elf32-microblaze.c                             |    2 +-
 bfd/elf32-moxie.c                                  |    2 +-
 bfd/elf32-msp430.c                                 |    2 +-
 bfd/elf32-mt.c                                     |    2 +-
 bfd/elf32-nds32.c                                  |    8 +-
 bfd/elf32-nios2.c                                  |    2 +-
 bfd/elf32-or1k.c                                   |    2 +-
 bfd/elf32-ppc.c                                    |    2 +-
 bfd/elf32-rl78.c                                   |    2 +-
 bfd/elf32-s390.c                                   |    2 +-
 bfd/elf32-score.c                                  |    2 +-
 bfd/elf32-score7.c                                 |    2 +-
 bfd/elf32-sh.c                                     |    2 +-
 bfd/elf32-sparc.c                                  |    1 +
 bfd/elf32-tic6x.c                                  |    2 +-
 bfd/elf32-tilepro.c                                |    4 +-
 bfd/elf32-v850.c                                   |    2 +-
 bfd/elf32-vax.c                                    |    2 +-
 bfd/elf32-xstormy16.c                              |    2 +-
 bfd/elf32-xtensa.c                                 |    2 +-
 bfd/elf64-alpha.c                                  |    2 +-
 bfd/elf64-hppa.c                                   |    2 +-
 bfd/elf64-ia64-vms.c                               |    2 +-
 bfd/elf64-mips.c                                   |   82 +-------
 bfd/elf64-mmix.c                                   |    2 +-
 bfd/elf64-ppc.c                                    |    7 +-
 bfd/elf64-s390.c                                   |    2 +-
 bfd/elf64-sh64.c                                   |    2 +-
 bfd/elf64-x86-64.c                                 |    2 +-
 bfd/elflink.c                                      |  111 +++++++----
 bfd/elfnn-aarch64.c                                |    8 +-
 bfd/elfnn-ia64.c                                   |    2 +-
 bfd/elfnn-riscv.c                                  |    4 +-
 bfd/elfxx-mips.c                                   |    2 +-
 bfd/elfxx-sparc.c                                  |   19 ++-
 bfd/elfxx-tilegx.c                                 |    4 +-
 bfd/linker.c                                       |    3 +-
 bfd/mach-o.c                                       |    2 +-
 bfd/peXXigen.c                                     |   18 +-
 bfd/version.h                                      |    2 +-
 bfd/vms-alpha.c                                    |   32 ++--
 bfd/vms-lib.c                                      |   18 +-
 binutils/ChangeLog                                 |   39 ++++
 binutils/NEWS                                      |    3 +
 binutils/objcopy.c                                 |    7 -
 binutils/readelf.c                                 |    7 +-
 binutils/strings.c                                 |    4 +-
 .../testsuite/binutils-all/mips/mips-note-2-n32.d  |    7 +
 .../testsuite/binutils-all/mips/mips-note-2-n64.d  |    7 +
 binutils/testsuite/binutils-all/mips/mips-note-2.d |    7 +
 .../testsuite/binutils-all/mips/mips-note-2r-n32.d |   11 +
 .../testsuite/binutils-all/mips/mips-note-2r-n64.d |   15 ++
 .../testsuite/binutils-all/mips/mips-note-2r.d     |   11 +
 binutils/testsuite/binutils-all/mips/mips.exp      |   45 +++--
 binutils/testsuite/lib/utils-lib.exp               |   14 ++-
 gas/ChangeLog                                      |   86 ++++++++
 gas/config/tc-aarch64.c                            |   10 +-
 gas/config/tc-aarch64.h                            |    5 +-
 gas/config/tc-arm.h                                |   10 +-
 gas/config/tc-avr.c                                |    4 +
 gas/config/tc-avr.h                                |    3 +-
 gas/config/tc-cris.h                               |    5 +-
 gas/config/tc-hppa.c                               |    2 +-
 gas/config/tc-i386.h                               |    5 +-
 gas/config/tc-i960.h                               |    7 +-
 gas/config/tc-ia64.h                               |    5 +-
 gas/config/tc-microblaze.h                         |   11 +-
 gas/config/tc-mips.c                               |    2 +-
 gas/config/tc-mips.h                               |    3 +-
 gas/config/tc-mn10300.h                            |   18 ++-
 gas/config/tc-msp430.c                             |    5 +-
 gas/config/tc-msp430.h                             |    9 +-
 gas/config/tc-nds32.h                              |    3 +-
 gas/config/tc-pru.h                                |    2 +-
 gas/config/tc-riscv.h                              |    4 +-
 gas/config/tc-rl78.h                               |    4 +-
 gas/config/tc-s390.h                               |    3 +-
 gas/config/tc-score7.c                             |    2 +-
 gas/config/tc-sh.h                                 |    7 +-
 gas/config/tc-sh64.h                               |    7 +-
 gas/config/tc-sparc.c                              |   76 +++++++-
 gas/config/tc-sparc.h                              |    5 +-
 gas/config/tc-xtensa.h                             |    3 +-
 gas/doc/c-sparc.texi                               |   28 ++-
 gas/testsuite/gas/s390/zarch-z10.d                 |    1 -
 gas/testsuite/gas/s390/zarch-z10.s                 |    1 -
 gas/testsuite/gas/s390/zarch-z196.d                |    1 +
 gas/testsuite/gas/s390/zarch-z196.s                |    1 +
 gas/testsuite/gas/sparc/call-relax.d               |    2 +-
 gas/testsuite/gas/sparc/fpcmpshl-diag.l            |    6 +
 gas/testsuite/gas/sparc/fpcmpshl-diag.s            |    7 +
 gas/testsuite/gas/sparc/fpcmpshl.d                 |   27 +++
 gas/testsuite/gas/sparc/fpcmpshl.s                 |   19 ++
 gas/testsuite/gas/sparc/ldm-stm-diag.l             |    3 +
 gas/testsuite/gas/sparc/ldm-stm-diag.s             |    4 +
 gas/testsuite/gas/sparc/ldm-stm.d                  |   70 +++++++
 gas/testsuite/gas/sparc/ldm-stm.s                  |   63 ++++++
 gas/testsuite/gas/sparc/ldmf-stmf-diag.l           |   11 +
 gas/testsuite/gas/sparc/ldmf-stmf-diag.s           |   12 +
 gas/testsuite/gas/sparc/ldmf-stmf.d                |   37 ++++
 gas/testsuite/gas/sparc/ldmf-stmf.s                |   31 +++
 gas/testsuite/gas/sparc/on-diag.l                  |    5 +
 gas/testsuite/gas/sparc/on-diag.s                  |    6 +
 gas/testsuite/gas/sparc/on.d                       |   13 ++
 gas/testsuite/gas/sparc/on.s                       |    6 +
 gas/testsuite/gas/sparc/rdasr.d                    |    3 +-
 gas/testsuite/gas/sparc/rdasr.s                    |    1 +
 gas/testsuite/gas/sparc/rle.d                      |   12 +
 gas/testsuite/gas/sparc/rle.s                      |    4 +
 gas/testsuite/gas/sparc/sparc.exp                  |   13 +-
 gas/testsuite/gas/sparc/sparc6-diag.l              |    7 +
 gas/testsuite/gas/sparc/sparc6-diag.s              |    8 +
 gas/testsuite/gas/sparc/sparc6.d                   |   18 ++
 gas/testsuite/gas/sparc/sparc6.s                   |   11 +
 gas/write.c                                        |   10 +-
 gdb/ChangeLog                                      |   64 ++++++
 gdb/Makefile.in                                    |    2 +-
 gdb/ada-lang.c                                     |    1 +
 gdb/breakpoint.c                                   |   11 +-
 gdb/c-lang.c                                       |   14 ++
 gdb/c-lang.h                                       |    3 +
 gdb/cli/cli-decode.c                               |   29 ++-
 gdb/command.h                                      |    6 +
 gdb/configure                                      |    4 +-
 gdb/configure.ac                                   |    4 +-
 gdb/configure.nat                                  |   11 +-
 gdb/d-lang.c                                       |    1 +
 gdb/f-lang.c                                       |    1 +
 gdb/gdb_curses.h                                   |    7 +
 gdb/go-lang.c                                      |    1 +
 gdb/infcmd.c                                       |    5 +-
 gdb/language.c                                     |    4 +
 gdb/language.h                                     |    6 +
 gdb/m2-lang.c                                      |    1 +
 gdb/objc-lang.c                                    |    1 +
 gdb/opencl-lang.c                                  |    1 +
 gdb/p-lang.c                                       |    2 +
 gdb/rust-lang.c                                    |   15 ++
 gdb/sparc-tdep.c                                   |   72 +++++--
 gdb/sparc64-tdep.c                                 |   43 ++++-
 gdb/testsuite/ChangeLog                            |   43 ++++
 gdb/testsuite/gdb.base/fileio.c                    |   66 +++---
 gdb/testsuite/gdb.base/fileio.exp                  |    2 +-
 gdb/testsuite/gdb.base/float.exp                   |   10 +-
 gdb/testsuite/gdb.base/set-inferior-tty.exp        |   10 +-
 gdb/testsuite/gdb.rust/simple.exp                  |    8 +-
 gdb/testsuite/gdb.rust/watch.exp                   |   35 +++
 gdb/testsuite/gdb.rust/watch.rs                    |   24 +++
 gdb/tui/tui-windata.c                              |    2 +-
 gdb/tui/tui-wingeneral.c                           |    2 +-
 gdb/tui/tui-winsource.c                            |    7 +-
 gold/ChangeLog                                     |    6 +
 gold/layout.cc                                     |    5 +
 include/ChangeLog                                  |   36 ++++
 include/bfdlink.h                                  |   12 +-
 include/elf/sparc.h                                |    9 +
 include/opcode/sparc.h                             |   25 ++-
 ld/ChangeLog                                       |   80 +++++++
 ld/emulparams/avrxmega3.sh                         |    1 +
 ld/emultempl/elf32.em                              |    2 +-
 ld/emultempl/pe.em                                 |    2 +-
 ld/emultempl/pep.em                                |    2 +-
 ld/emultempl/xtensaelf.em                          |    2 +-
 ld/ld.texinfo                                      |   11 +-
 ld/ldfile.c                                        |    2 +
 ld/ldlang.c                                        |    7 +-
 ld/ldlex.l                                         |    5 +
 ld/plugin.c                                        |   67 ++++---
 ld/scripttempl/avr.sc                              |   51 +++++-
 ld/testsuite/ld-gc/gc.exp                          |    1 +
 ld/testsuite/ld-gc/pr20882.d                       |    9 +
 ld/testsuite/ld-gc/pr20882a.s                      |    8 +
 ld/testsuite/ld-gc/pr20882b.s                      |    5 +
 ld/testsuite/ld-gc/pr20882c.s                      |    5 +
 ld/testsuite/ld-i386/i386.exp                      |    2 +
 ld/testsuite/ld-i386/property-x86-4a.d             |   10 +
 ld/testsuite/ld-i386/property-x86-4a.s             |    5 +
 ld/testsuite/ld-i386/property-x86-4b.d             |   10 +
 ld/testsuite/ld-i386/property-x86-4b.s             |   20 ++
 ld/testsuite/ld-scripts/sysroot-prefix.exp         |    9 +-
 ld/testsuite/ld-x86-64/property-x86-4a.d           |   10 +
 ld/testsuite/ld-x86-64/property-x86-4a.s           |    5 +
 ld/testsuite/ld-x86-64/property-x86-4b.d           |   10 +
 ld/testsuite/ld-x86-64/property-x86-4b.s           |   20 ++
 ld/testsuite/ld-x86-64/x86-64.exp                  |   42 +++--
 opcodes/ChangeLog                                  |   44 ++++
 opcodes/aarch64-asm.c                              |    5 +-
 opcodes/aarch64-dis.c                              |    8 +-
 opcodes/aarch64-gen.c                              |    6 +-
 opcodes/aarch64-opc.c                              |    8 +-
 opcodes/s390-opc.txt                               |    2 +-
 opcodes/sparc-dis.c                                |   26 +++-
 opcodes/sparc-opc.c                                |  217 ++++++++++++++++++--
 readline/ChangeLog.gdb                             |    5 +
 readline/input.c                                   |    1 +
 223 files changed, 2332 insertions(+), 556 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-note-2-n32.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-note-2-n64.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-note-2.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-note-2r-n32.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-note-2r-n64.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-note-2r.d
 create mode 100644 gas/testsuite/gas/sparc/fpcmpshl-diag.l
 create mode 100644 gas/testsuite/gas/sparc/fpcmpshl-diag.s
 create mode 100644 gas/testsuite/gas/sparc/fpcmpshl.d
 create mode 100644 gas/testsuite/gas/sparc/fpcmpshl.s
 create mode 100644 gas/testsuite/gas/sparc/ldm-stm-diag.l
 create mode 100644 gas/testsuite/gas/sparc/ldm-stm-diag.s
 create mode 100644 gas/testsuite/gas/sparc/ldm-stm.d
 create mode 100644 gas/testsuite/gas/sparc/ldm-stm.s
 create mode 100644 gas/testsuite/gas/sparc/ldmf-stmf-diag.l
 create mode 100644 gas/testsuite/gas/sparc/ldmf-stmf-diag.s
 create mode 100644 gas/testsuite/gas/sparc/ldmf-stmf.d
 create mode 100644 gas/testsuite/gas/sparc/ldmf-stmf.s
 create mode 100644 gas/testsuite/gas/sparc/on-diag.l
 create mode 100644 gas/testsuite/gas/sparc/on-diag.s
 create mode 100644 gas/testsuite/gas/sparc/on.d
 create mode 100644 gas/testsuite/gas/sparc/on.s
 create mode 100644 gas/testsuite/gas/sparc/rle.d
 create mode 100644 gas/testsuite/gas/sparc/rle.s
 create mode 100644 gas/testsuite/gas/sparc/sparc6-diag.l
 create mode 100644 gas/testsuite/gas/sparc/sparc6-diag.s
 create mode 100644 gas/testsuite/gas/sparc/sparc6.d
 create mode 100644 gas/testsuite/gas/sparc/sparc6.s
 create mode 100644 gdb/testsuite/gdb.rust/watch.exp
 create mode 100644 gdb/testsuite/gdb.rust/watch.rs
 create mode 100644 ld/testsuite/ld-gc/pr20882.d
 create mode 100644 ld/testsuite/ld-gc/pr20882a.s
 create mode 100644 ld/testsuite/ld-gc/pr20882b.s
 create mode 100644 ld/testsuite/ld-gc/pr20882c.s
 create mode 100644 ld/testsuite/ld-i386/property-x86-4a.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-4a.s
 create mode 100644 ld/testsuite/ld-i386/property-x86-4b.d
 create mode 100644 ld/testsuite/ld-i386/property-x86-4b.s
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-4a.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-4a.s
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-4b.d
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-4b.s

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 52c192d..38462fe 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,130 @@
+2017-05-19  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
+	and function.
+	(mips_elf64_canonicalize_dynamic_reloc): Likewise.
+	(mips_elf64_slurp_one_reloc_table): Set `reloc_count' to the
+	actual number of internal relocations retrieved.  Adjust
+	function description.
+	(bfd_elf64_canonicalize_reloc): Remove macro.
+	(bfd_elf64_canonicalize_dynamic_reloc): Likewise.
+
+2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* archures.c (bfd_mach_sparc_v9m8): Define.
+	(bfd_mach_sparc_v8plusm8): Likewise.
+	(bfd_mach_sparc_v9_p): Adjust to M8.
+	(bfd_mach_sparc_64bit_p): Likewise.
+	* aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
+	bfd_mach_sparc_v8plusm8.
+	* bfd-in2.h: Regenerated.
+	* cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
+	sparc:v8plusm8.
+	* elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
+	bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
+	capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
+	SHA3.
+	* elf32-sparc.c (elf32_sparc_final_write_processing): Handle
+	bfd_mach_sparc_v8plusm8.
+
+2017-05-19  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_gc_mark_extra_sections): Don't keep
+	debug and special sections when no non-note alloc sections in an
+	object are kept.
+
+2017-05-18  Alan Modra  <amodra@gmail.com>
+
+	* arc-got.h: Don't compare boolean values against TRUE or FALSE.
+	* elf-m10300.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arc.c: Likewise.
+	* elf32-bfin.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-nds32.c: Likewise.
+	* elf32-tilepro.c: Likewise.
+	* elflink.c: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfnn-riscv.c: Likewise.
+	* elfxx-tilegx.c: Likewise.
+	* mach-o.c: Likewise.
+	* peXXigen.c: Likewise.
+	* vms-alpha.c: Likewise.
+	* vms-lib.c: Likewise.
+
+2017-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/20882
+	* elflink.c (elf_gc_mark_debug_section): New function.
+	(_bfd_elf_gc_mark_extra_sections): Mark any debug sections
+	referenced by kept debug sections.
+
+2017-05-16  Alan Modra  <amodra@gmail.com>
+
+	* elf-m10300.c: Rename occurrences of non_ir_ref.
+	* elf32-arm.c: Likewise.
+	* elf32-bfin.c: Likewise.
+	* elf32-cr16.c: Likewise.
+	* elf32-cris.c: Likewise.
+	* elf32-d10v.c: Likewise.
+	* elf32-dlx.c: Likewise.
+	* elf32-fr30.c: Likewise.
+	* elf32-frv.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-i370.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-iq2000.c: Likewise.
+	* elf32-lm32.c: Likewise.
+	* elf32-m32c.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-m68hc1x.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-mcore.c: Likewise.
+	* elf32-metag.c: Likewise.
+	* elf32-microblaze.c: Likewise.
+	* elf32-moxie.c: Likewise.
+	* elf32-msp430.c: Likewise.
+	* elf32-mt.c: Likewise.
+	* elf32-nios2.c: Likewise.
+	* elf32-or1k.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-rl78.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-score.c: Likewise.
+	* elf32-score7.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-tic6x.c: Likewise.
+	* elf32-tilepro.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf32-xstormy16.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elflink.c: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfnn-riscv.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* elfxx-sparc.c: Likewise.
+	* elfxx-tilegx.c: Likewise.
+	* linker.c: Likewise.
+
+2017-05-16  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
+	* elflink.c (elf_link_add_object_symbols): Update to use
+	non_ir_ref_dynamic.
+	(elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
+	non_ir_ref.
+	* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
+
 2017-05-15  Maciej W. Rozycki  <macro@imgtec.com>
 
 	* elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 9a5f7ce..3d38fda 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -738,6 +738,7 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
           || machine == bfd_mach_sparc_v8pluse
           || machine == bfd_mach_sparc_v8plusv
           || machine == bfd_mach_sparc_v8plusm
+          || machine == bfd_mach_sparc_v8plusm8
 	  || machine == bfd_mach_sparc_v9
 	  || machine == bfd_mach_sparc_v9a
 	  || machine == bfd_mach_sparc_v9b
@@ -745,7 +746,8 @@ NAME (aout, machine_type) (enum bfd_architecture arch,
           || machine == bfd_mach_sparc_v9d
           || machine == bfd_mach_sparc_v9e
           || machine == bfd_mach_sparc_v9v
-	  || machine == bfd_mach_sparc_v9m)
+	  || machine == bfd_mach_sparc_v9m
+          || machine == bfd_mach_sparc_v9m8)
 	arch_flags = M_SPARC;
       else if (machine == bfd_mach_sparc_sparclet)
 	arch_flags = M_SPARCLET;
diff --git a/bfd/arc-got.h b/bfd/arc-got.h
index abf3815..b8a6d15 100644
--- a/bfd/arc-got.h
+++ b/bfd/arc-got.h
@@ -318,7 +318,7 @@ relocate_fix_got_relocs_for_got_info (struct got_entry **          list_p,
 	}
 
 
-      if (entry && entry->processed == FALSE)
+      if (entry && !entry->processed)
 	{
 	  switch (entry->type)
 	    {
@@ -427,7 +427,7 @@ create_got_dynrelocs_for_single_entry (struct got_entry *list,
   bfd_vma got_offset = list->offset;
 
   if (list->type == GOT_NORMAL
-      && list->created_dyn_relocation == FALSE)
+      && !list->created_dyn_relocation)
     {
       if (bfd_link_pic (info)
 	  && h != NULL
@@ -446,7 +446,7 @@ create_got_dynrelocs_for_single_entry (struct got_entry *list,
       list->created_dyn_relocation = TRUE;
     }
   else if (list->existing_entries != TLS_GOT_NONE
-	   && list->created_dyn_relocation == FALSE)
+	   && !list->created_dyn_relocation)
     {
        /* TODO TLS: This is not called for local symbols.
 	  In order to correctly implement TLS, this should also
diff --git a/bfd/archures.c b/bfd/archures.c
index c6e7152..2fefec5 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -147,9 +147,11 @@ DESCRIPTION
 .#define bfd_mach_sparc_v9v		18 {* with OSA2011 and T4 and IMA and FJMAU add'ns.  *}
 .#define bfd_mach_sparc_v8plusm		19 {* with OSA2015 and M7 add'ns.  *}
 .#define bfd_mach_sparc_v9m		20 {* with OSA2015 and M7 add'ns.  *}
+.#define bfd_mach_sparc_v8plusm8	21 {* with OSA2017 and M8 add'ns.  *}
+.#define bfd_mach_sparc_v9m8		22 {* with OSA2017 and M8 add'ns.  *}
 .{* Nonzero if MACH has the v9 instruction set.  *}
 .#define bfd_mach_sparc_v9_p(mach) \
-.  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m \
+.  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m8 \
 .   && (mach) != bfd_mach_sparc_sparclite_le)
 .{* Nonzero if MACH is a 64 bit sparc architecture.  *}
 .#define bfd_mach_sparc_64bit_p(mach) \
@@ -159,7 +161,8 @@ DESCRIPTION
 .   && (mach) != bfd_mach_sparc_v8plusd \
 .   && (mach) != bfd_mach_sparc_v8pluse \
 .   && (mach) != bfd_mach_sparc_v8plusv \
-.   && (mach) != bfd_mach_sparc_v8plusm)
+.   && (mach) != bfd_mach_sparc_v8plusm \
+.   && (mach) != bfd_mach_sparc_v8plusm8)
 .  bfd_arch_spu,       {* PowerPC SPU *}
 .#define bfd_mach_spu		256
 .  bfd_arch_mips,      {* MIPS Rxxxx *}
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 8617881..ae2fceb 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2004,9 +2004,11 @@ enum bfd_architecture
 #define bfd_mach_sparc_v9v             18 /* with OSA2011 and T4 and IMA and FJMAU add'ns.  */
 #define bfd_mach_sparc_v8plusm         19 /* with OSA2015 and M7 add'ns.  */
 #define bfd_mach_sparc_v9m             20 /* with OSA2015 and M7 add'ns.  */
+#define bfd_mach_sparc_v8plusm8        21 /* with OSA2017 and M8 add'ns.  */
+#define bfd_mach_sparc_v9m8            22 /* with OSA2017 and M8 add'ns.  */
 /* Nonzero if MACH has the v9 instruction set.  */
 #define bfd_mach_sparc_v9_p(mach) \
-  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m \
+  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9m8 \
    && (mach) != bfd_mach_sparc_sparclite_le)
 /* Nonzero if MACH is a 64 bit sparc architecture.  */
 #define bfd_mach_sparc_64bit_p(mach) \
@@ -2016,7 +2018,8 @@ enum bfd_architecture
    && (mach) != bfd_mach_sparc_v8plusd \
    && (mach) != bfd_mach_sparc_v8pluse \
    && (mach) != bfd_mach_sparc_v8plusv \
-   && (mach) != bfd_mach_sparc_v8plusm)
+   && (mach) != bfd_mach_sparc_v8plusm \
+   && (mach) != bfd_mach_sparc_v8plusm8)
   bfd_arch_spu,       /* PowerPC SPU */
 #define bfd_mach_spu           256
   bfd_arch_mips,      /* MIPS Rxxxx */
diff --git a/bfd/cpu-sparc.c b/bfd/cpu-sparc.c
index ff843ec..a6f54e2 100644
--- a/bfd/cpu-sparc.c
+++ b/bfd/cpu-sparc.c
@@ -307,6 +307,36 @@ static const bfd_arch_info_type arch_info_struct[] =
     bfd_default_compatible,
     bfd_default_scan,
     bfd_arch_default_fill,
+    &arch_info_struct[19],
+  },
+  {
+    32,	/* bits in a word */
+    32,	/* bits in an address */
+    8,	/* bits in a byte */
+    bfd_arch_sparc,
+    bfd_mach_sparc_v8plusm8,
+    "sparc",
+    "sparc:v8plusm8",
+    3,
+    FALSE,
+    bfd_default_compatible,
+    bfd_default_scan,
+    bfd_arch_default_fill,
+    &arch_info_struct[20],
+  },
+  {
+    64,	/* bits in a word */
+    64,	/* bits in an address */
+    8,	/* bits in a byte */
+    bfd_arch_sparc,
+    bfd_mach_sparc_v9m8,
+    "sparc",
+    "sparc:v9m8",
+    3,
+    FALSE,
+    bfd_default_compatible,
+    bfd_default_scan,
+    bfd_arch_default_fill,
     0,
   }
 };
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index f9d8089..e59f083 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -1094,7 +1094,7 @@ mn10300_elf_check_relocs (bfd *abfd,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
 	}
 
       r_type = ELF32_R_TYPE (rel->r_info);
@@ -1520,7 +1520,7 @@ mn10300_elf_final_link_relocate (reloc_howto_type *howto,
 	  /* Do not generate relocs when an R_MN10300_32 has been used
 	     with an R_MN10300_SYM_DIFF to compute a difference of two
 	     symbols.  */
-	  && is_sym_diff_reloc == FALSE
+	  && !is_sym_diff_reloc
 	  /* Also, do not generate a reloc when the symbol associated
 	     with the R_MN10300_32 reloc is absolute - there is no
 	     need for a run time computation in this case.  */
diff --git a/bfd/elf.c b/bfd/elf.c
index a08e0f8..863bd61 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -7358,7 +7358,7 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
       for (section = obfd->sections; section != NULL;
 	   section = section->next)
 	{
-	  if (section->segment_mark == FALSE)
+	  if (!section->segment_mark)
 	    goto rewrite;
 	  else
 	    section->segment_mark = FALSE;
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index b00207e..3e99cab 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -1259,7 +1259,7 @@ arc_do_relocation (bfd_byte * contents,
   struct elf_link_hash_table *htab ATTRIBUTE_UNUSED = elf_hash_table (info);
   bfd_reloc_status_type flag;
 
-  if (reloc_data.should_relocate == FALSE)
+  if (!reloc_data.should_relocate)
     return bfd_reloc_ok;
 
   switch (reloc_data.howto->size)
@@ -1464,9 +1464,9 @@ elf_arc_relocate_section (bfd *		          output_bfd,
       h2 = elf_link_hash_lookup (elf_hash_table (info), "__SDATA_BEGIN__",
 				 FALSE, FALSE, TRUE);
 
-      if (reloc_data.sdata_begin_symbol_vma_set == FALSE
-	    && h2 != NULL && h2->root.type != bfd_link_hash_undefined
-	    && h2->root.u.def.section->output_section != NULL)
+      if (!reloc_data.sdata_begin_symbol_vma_set
+	  && h2 != NULL && h2->root.type != bfd_link_hash_undefined
+	  && h2->root.u.def.section->output_section != NULL)
 	/* TODO: Verify this condition.  */
 	{
 	  reloc_data.sdata_begin_symbol_vma =
@@ -1784,7 +1784,7 @@ elf_arc_relocate_section (bfd *		          output_bfd,
 
 		bfd_elf32_swap_reloca_out (output_bfd, &outrel, loc);
 
-		if (relocate == FALSE)
+		if (!relocate)
 		  continue;
 	      }
 	    break;
@@ -1793,7 +1793,7 @@ elf_arc_relocate_section (bfd *		          output_bfd,
 	}
 
       if (is_reloc_SDA_relative (howto)
-	  && (reloc_data.sdata_begin_symbol_vma_set == FALSE))
+	  && !reloc_data.sdata_begin_symbol_vma_set)
 	{
 	  _bfd_error_handler
 	    ("Error: Linker symbol __SDATA_BEGIN__ not found");
@@ -1907,8 +1907,8 @@ elf_arc_check_relocs (bfd *			 abfd,
       howto = arc_elf_howto (r_type);
 
       if (dynobj == NULL
-	  && (is_reloc_for_GOT (howto) == TRUE
-	      || is_reloc_for_TLS (howto) == TRUE))
+	  && (is_reloc_for_GOT (howto)
+	      || is_reloc_for_TLS (howto)))
 	{
 	  dynobj = elf_hash_table (info)->dynobj = abfd;
 	  if (! _bfd_elf_create_got_section (abfd, info))
@@ -1985,7 +1985,7 @@ elf_arc_check_relocs (bfd *			 abfd,
 	    break;
 	}
 
-      if (is_reloc_for_PLT (howto) == TRUE)
+      if (is_reloc_for_PLT (howto))
 	{
 	  if (h == NULL)
 	    continue;
@@ -1994,8 +1994,8 @@ elf_arc_check_relocs (bfd *			 abfd,
 	}
 
       /* Add info to the symbol got_entry_list.  */
-      if (is_reloc_for_GOT (howto) == TRUE
-	  || is_reloc_for_TLS (howto) == TRUE)
+      if (is_reloc_for_GOT (howto)
+	  || is_reloc_for_TLS (howto))
 	{
 	  arc_fill_got_info_for_reloc (
 		  arc_got_entry_type_for_reloc (howto),
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 23a02c0..1725c22 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -14556,7 +14556,7 @@ elf32_arm_check_relocs (bfd *abfd, struct bfd_link_info *info,
 
 	      /* PR15323, ref flags aren't set for references in the
 		 same object.  */
-	      h->root.non_ir_ref = 1;
+	      h->root.non_ir_ref_regular = 1;
 	    }
 	}
 
diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
index ff1bcc6..b3e09bd 100644
--- a/bfd/elf32-bfin.c
+++ b/bfd/elf32-bfin.c
@@ -329,11 +329,11 @@ bfin_bfd_reloc (bfd *abfd,
   /* Here the variable relocation holds the final address of the
      symbol we are relocating against, plus any addend.  */
 
-  if (howto->pc_relative == TRUE)
+  if (howto->pc_relative)
     {
       relocation -= input_section->output_section->vma + input_section->output_offset;
 
-      if (howto->pcrel_offset == TRUE)
+      if (howto->pcrel_offset)
         relocation -= reloc_entry->address;
     }
 
@@ -1191,7 +1191,7 @@ bfin_check_relocs (bfd * abfd,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
 	}
 
       switch (ELF32_R_TYPE (rel->r_info))
diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c
index 92aa0c8..c36388e 100644
--- a/bfd/elf32-cr16.c
+++ b/bfd/elf32-cr16.c
@@ -738,7 +738,7 @@ cr16_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, asection *sec,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
         }
 
       /* Some relocs require a global offset table.  */
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index d4bbceb..83c4101 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -3178,7 +3178,7 @@ cris_elf_check_relocs (bfd *abfd,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
 	}
 
       r_type = ELF32_R_TYPE (rel->r_info);
diff --git a/bfd/elf32-d10v.c b/bfd/elf32-d10v.c
index 6b6fb34..d284d4f 100644
--- a/bfd/elf32-d10v.c
+++ b/bfd/elf32-d10v.c
@@ -294,7 +294,7 @@ elf32_d10v_check_relocs (bfd *abfd,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
 	}
 
       switch (ELF32_R_TYPE (rel->r_info))
diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c
index 965d866..b12d24a 100644
--- a/bfd/elf32-dlx.c
+++ b/bfd/elf32-dlx.c
@@ -454,7 +454,7 @@ elf32_dlx_check_relocs (bfd *abfd,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
 	}
 
       switch (ELF32_R_TYPE (rel->r_info))
diff --git a/bfd/elf32-fr30.c b/bfd/elf32-fr30.c
index f668074..94070d8 100644
--- a/bfd/elf32-fr30.c
+++ b/bfd/elf32-fr30.c
@@ -673,7 +673,7 @@ fr30_elf_check_relocs (bfd *abfd,
 
 	  /* PR15323, ref flags aren't set for references in the same
 	     object.  */
-	  h->root.non_ir_ref = 1;
+	  h->root.non_ir_ref_regular = 1;
 	}
 
       switch (ELF32_R_TYPE (rel->r_info))
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index d4b7727..ef609ff 100644


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-05-24 20:35 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-05-24 20:35 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/indexcxx has been updated
       via  a5a2c6c693bd290b3a5ffe924aa2c2e30b7d221f (commit)
       via  88c1242dc0a1e1ab582a65ea8bd05eb5f244c59b (commit)
       via  f4985dba0f53b38efcca4eef42cfbfca5ef44ee2 (commit)
       via  ab20fa4ae95212c58e369916de347f3d518530c2 (commit)
       via  f532ab94387d1bc47de619ae08ead522753d89fa (commit)
       via  39503f82427e22ed8e04d986ccdc8562091ec62e (commit)
       via  003ca0fd22863aaf1a9811c8a35a0133a2d27fb1 (commit)
      from  480030250901adfbd6e8080e87143fc9959f372e (commit)

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

- Log -----------------------------------------------------------------
commit a5a2c6c693bd290b3a5ffe924aa2c2e30b7d221f
Merge: 4800302 88c1242
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed May 24 22:35:25 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit 88c1242dc0a1e1ab582a65ea8bd05eb5f244c59b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 17:23:52 2017 +0100

    Move print_insn_XXX to an opcodes internal header
    
    With the changes done in previous patches, print_insn_XXX functions
    don't have to be external visible out of opcodes, because both gdb
    and objdump select disassemblers through a single interface.
    
    This patch moves these print_insn_XXX declarations from
    include/dis-asm.h to opcodes/disassemble.h, which is a new header
    added by this patch.
    
    include:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* dis-asm.h: Move some function declarations to
    	opcodes/disassemble.h.
    
    opcodes:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-dis.c: Include disassemble.h, don't include
    	dis-asm.h.
    	* avr-dis.c, bfin-dis.c, cr16-dis.c: Likewise.
    	* crx-dis.c, d10v-dis.c, d30v-dis.c: Likewise.
    	* disassemble.c, dlx-dis.c, epiphany-dis.c: Likewise.
    	* fr30-dis.c, ft32-dis.c, h8300-dis.c, h8500-dis.c: Likewise.
    	* hppa-dis.c, i370-dis.c, i386-dis.c: Likewise.
    	* i860-dis.c, i960-dis.c, ip2k-dis.c: Likewise.
    	* iq2000-dis.c, lm32-dis.c, m10200-dis.c: Likewise.
    	* m10300-dis.c, m32r-dis.c, m68hc11-dis.c: Likewise.
    	* m68k-dis.c, m88k-dis.c, mcore-dis.c: Likewise.
    	* metag-dis.c, microblaze-dis.c, mmix-dis.c: Likewise.
    	* moxie-dis.c, msp430-dis.c, mt-dis.c:
    	* nds32-dis.c, nios2-dis.c, ns32k-dis.c: Likewise.
    	* or1k-dis.c, pdp11-dis.c, pj-dis.c: Likewise.
    	* ppc-dis.c, pru-dis.c, riscv-dis.c: Likewise.
    	* rl78-dis.c, s390-dis.c, score-dis.c: Likewise.
    	* sh-dis.c, sh64-dis.c, tic30-dis.c: Likewise.
    	* tic4x-dis.c, tic54x-dis.c, tic6x-dis.c: Likewise.
    	* tic80-dis.c, tilegx-dis.c, tilepro-dis.c: Likewise.
    	* v850-dis.c, vax-dis.c, visium-dis.c: Likewise.
    	* w65-dis.c, wasm32-dis.c, xc16x-dis.c: Likewise.
    	* xgate-dis.c, xstormy16-dis.c, xtensa-dis.c: Likewise.
    	* z80-dis.c, z8k-dis.c: Likewise.
    	* disassemble.h: New file.

commit f4985dba0f53b38efcca4eef42cfbfca5ef44ee2
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 17:23:52 2017 +0100

    Use disassemble.c:disassembler select rs6000 disassembler
    
    Nowadays, rs6000 disassembler is selected in different ways in
    opcodes and gdb,
    
    opcodes:
        case bfd_arch_rs6000:
          if (mach == bfd_mach_ppc_620)
    	disassemble = print_insn_big_powerpc;
          else
    	disassemble = print_insn_rs6000;
          break;
    
    gdb:
    
      if (arch == bfd_arch_rs6000)
        set_gdbarch_print_insn (gdbarch, print_insn_rs6000);
      else
        set_gdbarch_print_insn (gdbarch, gdb_print_insn_powerpc);
    
    I am not sure which one is the right one.  However, such selection
    should be done in one place instead of two.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
    	(rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.

commit ab20fa4ae95212c58e369916de347f3d518530c2
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 17:23:52 2017 +0100

    Use disassemble.c:disassembler select rl78 disassembler
    
    This patch changes rl78 to let disassble.c:disassembler select
    disassembler.  rl78_get_disassembler doesn't handle the case
    that abfd is NULL, so this patch also fix it.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* rl78-tdep.c (rl78_gdbarch_init): Don't call
    	set_gdbarch_print_insn.
    
    opcodes:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* rl78-dis.c (rl78_get_disassembler): If parameter abfd
    	is NULL, set cpu to E_FLAG_RL78_ANY_CPU.

commit f532ab94387d1bc47de619ae08ead522753d89fa
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 17:23:52 2017 +0100

    Use disassemble.c:disassembler select h8300 disassembler
    
    opcodes/disassble.c:disassembler select h8300 disassembler like this,
    
          if (mach == bfd_mach_h8300h || mach == bfd_mach_h8300hn)
    	disassemble = print_insn_h8300h;
          else if (mach == bfd_mach_h8300s
    	       || mach == bfd_mach_h8300sn
    	       || mach == bfd_mach_h8300sx
    	       || mach == bfd_mach_h8300sxn)
    	disassemble = print_insn_h8300s;
          else
    	disassemble = print_insn_h8300;
    
    which is the same as what gdb/h8300-tdpe.c does,
    
      switch (info.bfd_arch_info->mach)
        {
        case bfd_mach_h8300:
        ...
          set_gdbarch_print_insn (gdbarch, print_insn_h8300);
        case bfd_mach_h8300h:
        case bfd_mach_h8300hn:
        ...
          set_gdbarch_print_insn (gdbarch, print_insn_h8300h);
        case bfd_mach_h8300s:
        case bfd_mach_h8300sn:
        ...
          set_gdbarch_print_insn (gdbarch, print_insn_h8300s);
    
    so we can leave disassble.c:disassembler doing the selection.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* h8300-tdep.c (h8300_gdbarch_init): Don't call
    	set_gdbarch_print_insn.

commit 39503f82427e22ed8e04d986ccdc8562091ec62e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 17:23:52 2017 +0100

    Delegate opcodes to select disassembler in GDB
    
    This patch changes GDB to use disassembler selected by opcodes in
    default, so that we don't have to duplicate the selection logic again
    in GDB side.  For example, gdb/score-tdep.c has
    
    static int
    score_print_insn (bfd_vma memaddr, struct disassemble_info *info)
    {
      if (info->endian == BFD_ENDIAN_BIG)
        return print_insn_big_score (memaddr, info);
      else
        return print_insn_little_score (memaddr, info);
    }
    
    and opcodes/disassemble.c has the same logic,
    
        case bfd_arch_score:
          if (big)
    	disassemble = print_insn_big_score;
          else
    	disassemble = print_insn_little_score;
    
    This patch removes the logic in GDB and calls
    opcodes/disassemble.c:disassembler in default to select disassembler.
    
    gdb:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_gdbarch_init): Don't call
    	set_gdbarch_print_insn.
    	* arc-tdep.c (arc_gdbarch_init): Likewise.
    	* arch-utils.c: include dis-asm.h.
    	(default_print_insn): New function.
    	* arch-utils.h (default_print_insn): Declare.
    	* avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
    	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
    	* cris-tdep.c (cris_delayed_get_disassembler): Remove.
    	(cris_gdbarch_init): Don't call set_gdbarch_print_insn.
    	* frv-tdep.c (frv_gdbarch_init): Likewise.
    	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
    	* gdbarch.sh (print_insn): Use default_print_insn.
    	* gdbarch.c: Regenerated.
    	* hppa-tdep.c (hppa_gdbarch_init): Likewise.
    	* iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
    	* lm32-tdep.c (lm32_gdbarch_init): Likewise.
    	* m32c-tdep.c (m32c_gdbarch_init): Likewise.
    	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
    	* m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
    	(m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
    	* m68k-tdep.c (m68k_gdbarch_init): Likewise.
    	* m88k-tdep.c (m88k_gdbarch_init): Likewise.
    	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
    	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
    	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
    	* msp430-tdep.c (msp430_gdbarch_init): Likewise.
    	* mt-tdep.c (mt_gdbarch_init): Likewise.
    	* nds32-tdep.c (nds32_gdbarch_init): Likewise.
    	* nios2-tdep.c (nios2_print_insn): Remove.
    	(nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
    	* rx-tdep.c (rx_gdbarch_init): Likewise.
    	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
    	* score-tdep.c (score_print_insn): Remove.
    	(score_gdbarch_init): Don't call set_gdbarch_print_insn.
    	* sh-tdep.c (sh_gdbarch_init): Likewise.
    	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
    	* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
    	* tic6x-tdep.c (tic6x_print_insn): Remove.
    	(tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
    	* tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
    	* v850-tdep.c (v850_gdbarch_init): Likewise.
    	* vax-tdep.c (vax_gdbarch_init): Likewise.
    	* xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
    	* xtensa-tdep.c (xtensa_gdbarch_init): Likewise.

commit 003ca0fd22863aaf1a9811c8a35a0133a2d27fb1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed May 24 17:23:52 2017 +0100

    Refactor disassembler selection
    
    Nowadays, opcodes/disassemble.c:disassembler selects the proper
    disassembler according to ABFD only.  However, it actually
    selects disassemblers according to arch, mach, endianess, and
    abfd.  This patch adds them to the parameters of disassembler,
    so that its caller can still select disassemblers in case that
    abfd is NULL (a typical case in GDB).
    
    There isn't any functionality change.
    
    binutils:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* objdump.c (disassemble_data): Caller update.
    
    include:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* dis-asm.h (disassembler): Update declaration.
    
    opcodes:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* disassemble.c (disassembler): Add arguments a, big and mach.
    	Use them.
    
    sim/common:
    
    2017-05-24  Yao Qi  <yao.qi@linaro.org>
    
    	* sim-trace.c (trace_disasm): Caller update.

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

Summary of changes:
 binutils/ChangeLog       |    4 ++
 binutils/objdump.c       |    4 +-
 gdb/ChangeLog            |   63 ++++++++++++++++++++++++++++
 gdb/alpha-tdep.c         |    3 -
 gdb/arc-tdep.c           |    2 -
 gdb/arch-utils.c         |   20 +++++++++
 gdb/arch-utils.h         |    2 +
 gdb/avr-tdep.c           |    1 -
 gdb/bfin-tdep.c          |    1 -
 gdb/cris-tdep.c          |   18 --------
 gdb/frv-tdep.c           |    1 -
 gdb/ft32-tdep.c          |    2 -
 gdb/gdbarch.c            |    4 +-
 gdb/gdbarch.sh           |    2 +-
 gdb/h8300-tdep.c         |    4 --
 gdb/hppa-tdep.c          |    2 -
 gdb/iq2000-tdep.c        |    1 -
 gdb/lm32-tdep.c          |    3 -
 gdb/m32c-tdep.c          |    3 -
 gdb/m32r-tdep.c          |    2 -
 gdb/m68hc11-tdep.c       |   11 -----
 gdb/m68k-tdep.c          |    4 --
 gdb/m88k-tdep.c          |    2 -
 gdb/microblaze-tdep.c    |    2 -
 gdb/mn10300-tdep.c       |    2 -
 gdb/moxie-tdep.c         |    2 -
 gdb/msp430-tdep.c        |    3 -
 gdb/mt-tdep.c            |    1 -
 gdb/nds32-tdep.c         |    2 -
 gdb/nios2-tdep.c         |   14 ------
 gdb/rl78-tdep.c          |    3 -
 gdb/rs6000-tdep.c        |   14 ------
 gdb/rx-tdep.c            |    2 -
 gdb/s390-linux-tdep.c    |    2 -
 gdb/score-tdep.c         |   10 -----
 gdb/sh-tdep.c            |    1 -
 gdb/sh64-tdep.c          |    2 -
 gdb/sparc-tdep.c         |    2 -
 gdb/tic6x-tdep.c         |   10 -----
 gdb/tilegx-tdep.c        |    2 -
 gdb/v850-tdep.c          |    2 -
 gdb/vax-tdep.c           |    2 -
 gdb/xstormy16-tdep.c     |    2 -
 gdb/xtensa-tdep.c        |    2 -
 include/ChangeLog        |    9 ++++
 include/dis-asm.h        |   88 ++++------------------------------------
 opcodes/ChangeLog        |   38 +++++++++++++++++
 opcodes/alpha-dis.c      |    2 +-
 opcodes/avr-dis.c        |    2 +-
 opcodes/bfin-dis.c       |    2 +-
 opcodes/cr16-dis.c       |    2 +-
 opcodes/crx-dis.c        |    2 +-
 opcodes/d10v-dis.c       |    2 +-
 opcodes/d30v-dis.c       |    2 +-
 opcodes/disassemble.c    |   43 ++++++++++++-------
 opcodes/disassemble.h    |  102 ++++++++++++++++++++++++++++++++++++++++++++++
 opcodes/dlx-dis.c        |    2 +-
 opcodes/epiphany-dis.c   |    2 +-
 opcodes/fr30-dis.c       |    2 +-
 opcodes/frv-dis.c        |    2 +-
 opcodes/ft32-dis.c       |    2 +-
 opcodes/h8300-dis.c      |    2 +-
 opcodes/h8500-dis.c      |    2 +-
 opcodes/hppa-dis.c       |    2 +-
 opcodes/i370-dis.c       |    2 +-
 opcodes/i386-dis.c       |    2 +-
 opcodes/i860-dis.c       |    2 +-
 opcodes/i960-dis.c       |    2 +-
 opcodes/ip2k-dis.c       |    2 +-
 opcodes/iq2000-dis.c     |    2 +-
 opcodes/lm32-dis.c       |    2 +-
 opcodes/m10200-dis.c     |    2 +-
 opcodes/m10300-dis.c     |    2 +-
 opcodes/m32r-dis.c       |    2 +-
 opcodes/m68hc11-dis.c    |    2 +-
 opcodes/m68k-dis.c       |    2 +-
 opcodes/m88k-dis.c       |    2 +-
 opcodes/mcore-dis.c      |    2 +-
 opcodes/metag-dis.c      |    2 +-
 opcodes/microblaze-dis.c |    2 +-
 opcodes/mmix-dis.c       |    2 +-
 opcodes/moxie-dis.c      |    2 +-
 opcodes/msp430-dis.c     |    2 +-
 opcodes/mt-dis.c         |    2 +-
 opcodes/nds32-dis.c      |    2 +-
 opcodes/nios2-dis.c      |    2 +-
 opcodes/ns32k-dis.c      |    2 +-
 opcodes/or1k-dis.c       |    2 +-
 opcodes/pdp11-dis.c      |    2 +-
 opcodes/pj-dis.c         |    2 +-
 opcodes/ppc-dis.c        |    2 +-
 opcodes/pru-dis.c        |    2 +-
 opcodes/riscv-dis.c      |    2 +-
 opcodes/rl78-dis.c       |    8 +++-
 opcodes/s390-dis.c       |    2 +-
 opcodes/score-dis.c      |    2 +-
 opcodes/sh-dis.c         |    2 +-
 opcodes/sh64-dis.c       |    2 +-
 opcodes/tic30-dis.c      |    2 +-
 opcodes/tic4x-dis.c      |    2 +-
 opcodes/tic54x-dis.c     |    2 +-
 opcodes/tic6x-dis.c      |    2 +-
 opcodes/tic80-dis.c      |    2 +-
 opcodes/tilegx-dis.c     |    2 +-
 opcodes/tilepro-dis.c    |    2 +-
 opcodes/v850-dis.c       |    2 +-
 opcodes/vax-dis.c        |    2 +-
 opcodes/visium-dis.c     |    2 +-
 opcodes/w65-dis.c        |    2 +-
 opcodes/wasm32-dis.c     |    2 +-
 opcodes/xc16x-dis.c      |    2 +-
 opcodes/xgate-dis.c      |    2 +-
 opcodes/xstormy16-dis.c  |    2 +-
 opcodes/xtensa-dis.c     |    2 +-
 opcodes/z80-dis.c        |    2 +-
 opcodes/z8k-dis.c        |    2 +-
 sim/common/ChangeLog     |    4 ++
 sim/common/sim-trace.c   |    6 ++-
 118 files changed, 360 insertions(+), 311 deletions(-)
 create mode 100644 opcodes/disassemble.h

First 500 lines of diff:
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 60a199a..b2f0f11 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2017-05-24  Yao Qi  <yao.qi@linaro.org>
+
+	* objdump.c (disassemble_data): Caller update.
+
 2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
 	* objcopy.c (merge_gnu_build_notes): Remove workaround that
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 5972da1..81d47a0 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -2386,7 +2386,9 @@ disassemble_data (bfd *abfd)
     }
 
   /* Use libopcodes to locate a suitable disassembler.  */
-  aux.disassemble_fn = disassembler (abfd);
+  aux.disassemble_fn = disassembler (bfd_get_arch (abfd),
+				     bfd_big_endian (abfd),
+				     bfd_get_mach (abfd), abfd);
   if (!aux.disassemble_fn)
     {
       non_fatal (_("can't disassemble for architecture %s\n"),
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c8bd6fd..a96e71f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,66 @@
+2017-05-24  Yao Qi  <yao.qi@linaro.org>
+
+	* rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
+	(rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
+
+2017-05-24  Yao Qi  <yao.qi@linaro.org>
+
+	* rl78-tdep.c (rl78_gdbarch_init): Don't call
+	set_gdbarch_print_insn.
+
+2017-05-24  Yao Qi  <yao.qi@linaro.org>
+
+	* h8300-tdep.c (h8300_gdbarch_init): Don't call
+	set_gdbarch_print_insn.
+
+2017-05-24  Yao Qi  <yao.qi@linaro.org>
+
+	* alpha-tdep.c (alpha_gdbarch_init): Don't call
+	set_gdbarch_print_insn.
+	* arc-tdep.c (arc_gdbarch_init): Likewise.
+	* arch-utils.c: include dis-asm.h.
+	(default_print_insn): New function.
+	* arch-utils.h (default_print_insn): Declare.
+	* avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
+	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
+	* cris-tdep.c (cris_delayed_get_disassembler): Remove.
+	(cris_gdbarch_init): Don't call set_gdbarch_print_insn.
+	* frv-tdep.c (frv_gdbarch_init): Likewise.
+	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
+	* gdbarch.sh (print_insn): Use default_print_insn.
+	* gdbarch.c: Regenerated.
+	* hppa-tdep.c (hppa_gdbarch_init): Likewise.
+	* iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
+	* lm32-tdep.c (lm32_gdbarch_init): Likewise.
+	* m32c-tdep.c (m32c_gdbarch_init): Likewise.
+	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
+	* m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
+	(m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
+	* m68k-tdep.c (m68k_gdbarch_init): Likewise.
+	* m88k-tdep.c (m88k_gdbarch_init): Likewise.
+	* microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
+	* mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
+	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
+	* msp430-tdep.c (msp430_gdbarch_init): Likewise.
+	* mt-tdep.c (mt_gdbarch_init): Likewise.
+	* nds32-tdep.c (nds32_gdbarch_init): Likewise.
+	* nios2-tdep.c (nios2_print_insn): Remove.
+	(nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
+	* rx-tdep.c (rx_gdbarch_init): Likewise.
+	* s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+	* score-tdep.c (score_print_insn): Remove.
+	(score_gdbarch_init): Don't call set_gdbarch_print_insn.
+	* sh-tdep.c (sh_gdbarch_init): Likewise.
+	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
+	* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
+	* tic6x-tdep.c (tic6x_print_insn): Remove.
+	(tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
+	* tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
+	* v850-tdep.c (v850_gdbarch_init): Likewise.
+	* vax-tdep.c (vax_gdbarch_init): Likewise.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
+	* xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
+
 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
 
 	* mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index d62566c..b1bc6a1 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -1798,9 +1798,6 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Prologue heuristics.  */
   set_gdbarch_skip_prologue (gdbarch, alpha_skip_prologue);
 
-  /* Disassembler.  */
-  set_gdbarch_print_insn (gdbarch, print_insn_alpha);
-
   /* Call info.  */
 
   set_gdbarch_return_value (gdbarch, alpha_return_value);
diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c
index 4f866a9..d9ee5c6 100644
--- a/gdb/arc-tdep.c
+++ b/gdb/arc-tdep.c
@@ -2013,8 +2013,6 @@ arc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_frame_align (gdbarch, arc_frame_align);
 
-  set_gdbarch_print_insn (gdbarch, arc_delayed_print_insn);
-
   set_gdbarch_cannot_step_breakpoint (gdbarch, 1);
 
   /* "nonsteppable" watchpoint means that watchpoint triggers before
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index b1cec80..c011b0f 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -37,6 +37,7 @@
 
 #include "floatformat.h"
 
+#include "dis-asm.h"
 
 struct displaced_step_closure *
 simple_displaced_step_copy_insn (struct gdbarch *gdbarch,
@@ -973,6 +974,25 @@ default_guess_tracepoint_registers (struct gdbarch *gdbarch,
   regcache_raw_supply (regcache, pc_regno, regs);
 }
 
+int
+default_print_insn (bfd_vma memaddr, disassemble_info *info)
+{
+  disassembler_ftype disassemble_fn;
+
+  if (exec_bfd != NULL)
+    {
+      gdb_assert (info->arch == bfd_get_arch (exec_bfd));
+      gdb_assert (info->endian == (bfd_big_endian (exec_bfd)
+				   ? BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE));
+      gdb_assert (info->mach == bfd_get_mach (exec_bfd));
+    }
+  disassemble_fn = disassembler (info->arch, info->endian == BFD_ENDIAN_BIG,
+				 info->mach, exec_bfd);
+
+  gdb_assert (disassemble_fn != NULL);
+  return (*disassemble_fn) (memaddr, info);
+}
+
 /* -Wmissing-prototypes */
 extern initialize_file_ftype _initialize_gdbarch_utils;
 
diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h
index 967a4b1..040afca 100644
--- a/gdb/arch-utils.h
+++ b/gdb/arch-utils.h
@@ -273,4 +273,6 @@ extern void default_guess_tracepoint_registers (struct gdbarch *gdbarch,
 						struct regcache *regcache,
 						CORE_ADDR addr);
 
+extern int default_print_insn (bfd_vma memaddr, disassemble_info *info);
+
 #endif
diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c
index ec9db1c..3d041c6 100644
--- a/gdb/avr-tdep.c
+++ b/gdb/avr-tdep.c
@@ -1499,7 +1499,6 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_pseudo_register_write (gdbarch, avr_pseudo_register_write);
 
   set_gdbarch_return_value (gdbarch, avr_return_value);
-  set_gdbarch_print_insn (gdbarch, print_insn_avr);
 
   set_gdbarch_push_dummy_call (gdbarch, avr_push_dummy_call);
 
diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c
index c590a91..bfb5d57 100644
--- a/gdb/bfin-tdep.c
+++ b/gdb/bfin-tdep.c
@@ -838,7 +838,6 @@ bfin_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_frame_args_skip (gdbarch, 8);
   set_gdbarch_unwind_pc (gdbarch, bfin_unwind_pc);
   set_gdbarch_frame_align (gdbarch, bfin_frame_align);
-  set_gdbarch_print_insn (gdbarch, print_insn_bfin);
 
   /* Hook in ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index eb39772..e554e24 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -3785,19 +3785,6 @@ cris_gdb_func (struct gdbarch *gdbarch, enum cris_op_type op_type,
     }
 }
 
-/* This wrapper is to avoid cris_get_assembler being called before 
-   exec_bfd has been set.  */
-
-static int
-cris_delayed_get_disassembler (bfd_vma addr, struct disassemble_info *info)
-{
-  int (*print_insn) (bfd_vma addr, struct disassemble_info *info);
-
-  print_insn = cris_get_disassembler (exec_bfd);
-  gdb_assert (print_insn != NULL);
-  return print_insn (addr, info);
-}
-
 /* Originally from <asm/elf.h>.  */
 typedef unsigned char cris_elf_greg_t[4];
 
@@ -4134,10 +4121,5 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Hook in ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);
 
-  /* FIXME: cagney/2003-08-27: It should be possible to select a CRIS
-     disassembler, even when there is no BFD.  Does something like
-     "gdb; target remote; disassmeble *0x123" work?  */
-  set_gdbarch_print_insn (gdbarch, cris_delayed_get_disassembler);
-
   return gdbarch;
 }
diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c
index 8744733..c0257bd 100644
--- a/gdb/frv-tdep.c
+++ b/gdb/frv-tdep.c
@@ -1582,7 +1582,6 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
       break;
     }
 
-  set_gdbarch_print_insn (gdbarch, print_insn_frv);
   if (frv_abi (gdbarch) == FRV_ABI_FDPIC)
     set_gdbarch_convert_from_func_ptr_addr (gdbarch,
 					    frv_convert_from_func_ptr_addr);
diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c
index 5b28275..966a593 100644
--- a/gdb/ft32-tdep.c
+++ b/gdb/ft32-tdep.c
@@ -637,8 +637,6 @@ ft32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_unwind_pc (gdbarch, ft32_unwind_pc);
 
-  set_gdbarch_print_insn (gdbarch, print_insn_ft32);
-
   /* Hook in ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);
 
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 9c827ac..257c39f 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -429,6 +429,7 @@ gdbarch_alloc (const struct gdbarch_info *info,
   gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
   gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
   gdbarch->addr_bits_remove = core_addr_identity;
+  gdbarch->print_insn = default_print_insn;
   gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
   gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
   gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
@@ -621,8 +622,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of addr_bits_remove, invalid_p == 0 */
   /* Skip verify of software_single_step, has predicate.  */
   /* Skip verify of single_step_through_delay, has predicate.  */
-  if (gdbarch->print_insn == 0)
-    log.puts ("\n\tprint_insn");
+  /* Skip verify of print_insn, invalid_p == 0 */
   /* Skip verify of skip_trampoline_code, invalid_p == 0 */
   /* Skip verify of skip_solib_resolver, invalid_p == 0 */
   /* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index 753819f..7992cbe 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -643,7 +643,7 @@ F;std::vector<CORE_ADDR>;software_single_step;struct regcache *regcache;regcache
 M;int;single_step_through_delay;struct frame_info *frame;frame
 # FIXME: cagney/2003-08-28: Need to find a better way of selecting the
 # disassembler.  Perhaps objdump can handle it?
-f;int;print_insn;bfd_vma vma, struct disassemble_info *info;vma, info;;0;
+f;int;print_insn;bfd_vma vma, struct disassemble_info *info;vma, info;;default_print_insn;;0
 f;CORE_ADDR;skip_trampoline_code;struct frame_info *frame, CORE_ADDR pc;frame, pc;;generic_skip_trampoline_code;;0
 
 
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index 7b260b1..1e8bde1 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -1275,7 +1275,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
       set_gdbarch_ptr_bit (gdbarch, 2 * TARGET_CHAR_BIT);
       set_gdbarch_addr_bit (gdbarch, 2 * TARGET_CHAR_BIT);
       set_gdbarch_return_value (gdbarch, h8300_return_value);
-      set_gdbarch_print_insn (gdbarch, print_insn_h8300);
       break;
     case bfd_mach_h8300h:
     case bfd_mach_h8300hn:
@@ -1296,7 +1295,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 	  set_gdbarch_addr_bit (gdbarch, 2 * TARGET_CHAR_BIT);
 	}
       set_gdbarch_return_value (gdbarch, h8300h_return_value);
-      set_gdbarch_print_insn (gdbarch, print_insn_h8300h);
       break;
     case bfd_mach_h8300s:
     case bfd_mach_h8300sn:
@@ -1317,7 +1315,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 	  set_gdbarch_addr_bit (gdbarch, 2 * TARGET_CHAR_BIT);
 	}
       set_gdbarch_return_value (gdbarch, h8300h_return_value);
-      set_gdbarch_print_insn (gdbarch, print_insn_h8300s);
       break;
     case bfd_mach_h8300sx:
     case bfd_mach_h8300sxn:
@@ -1338,7 +1335,6 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 	  set_gdbarch_addr_bit (gdbarch, 2 * TARGET_CHAR_BIT);
 	}
       set_gdbarch_return_value (gdbarch, h8300h_return_value);
-      set_gdbarch_print_insn (gdbarch, print_insn_h8300s);
       break;
     }
 
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 2636a27..229b061 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -3122,8 +3122,6 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Helper for function argument information.  */
   set_gdbarch_fetch_pointer_argument (gdbarch, hppa_fetch_pointer_argument);
 
-  set_gdbarch_print_insn (gdbarch, print_insn_hppa);
-
   /* When a hardware watchpoint triggers, we'll move the inferior past
      it by removing all eventpoints; stepping past the instruction
      that caused the trigger; reinserting eventpoints; and checking
diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c
index 7d8ed3c..99824b7 100644
--- a/gdb/iq2000-tdep.c
+++ b/gdb/iq2000-tdep.c
@@ -838,7 +838,6 @@ iq2000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_frame_args_skip      (gdbarch, 0);
   set_gdbarch_skip_prologue        (gdbarch, iq2000_skip_prologue);
   set_gdbarch_inner_than           (gdbarch, core_addr_lessthan);
-  set_gdbarch_print_insn           (gdbarch, print_insn_iq2000);
   set_gdbarch_register_type (gdbarch, iq2000_register_type);
   set_gdbarch_frame_align (gdbarch, iq2000_frame_align);
   set_gdbarch_unwind_sp (gdbarch, iq2000_unwind_sp);
diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c
index bd3e182..84ece3e 100644
--- a/gdb/lm32-tdep.c
+++ b/gdb/lm32-tdep.c
@@ -565,9 +565,6 @@ lm32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_push_dummy_call (gdbarch, lm32_push_dummy_call);
   set_gdbarch_return_value (gdbarch, lm32_return_value);
 
-  /* Instruction disassembler.  */
-  set_gdbarch_print_insn (gdbarch, print_insn_lm32);
-
   lm32_add_reggroups (gdbarch);
   set_gdbarch_register_reggroup_p (gdbarch, lm32_register_reggroup_p);
 
diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c
index 7376372..1bc5950 100644
--- a/gdb/m32c-tdep.c
+++ b/gdb/m32c-tdep.c
@@ -2639,9 +2639,6 @@ m32c_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Register set.  */
   make_regs (gdbarch);
 
-  /* Disassembly.  */
-  set_gdbarch_print_insn (gdbarch, print_insn_m32c);
-
   /* Breakpoints.  */
   set_gdbarch_breakpoint_kind_from_pc (gdbarch, m32c_breakpoint::kind_from_pc);
   set_gdbarch_sw_breakpoint_from_kind (gdbarch, m32c_breakpoint::bp_from_kind);
diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c
index 0820af9..2d14ced 100644
--- a/gdb/m32r-tdep.c
+++ b/gdb/m32r-tdep.c
@@ -947,8 +947,6 @@ m32r_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Return the unwound PC value.  */
   set_gdbarch_unwind_pc (gdbarch, m32r_unwind_pc);
 
-  set_gdbarch_print_insn (gdbarch, print_insn_m32r);
-
   /* Hook in ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);
 
diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c
index 893d9c2..b19ddf7 100644
--- a/gdb/m68hc11-tdep.c
+++ b/gdb/m68hc11-tdep.c
@@ -1344,16 +1344,6 @@ m68hc11_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
   if (flags & STO_M68HC12_INTERRUPT)
     MSYMBOL_SET_RTI (msym);
 }
-
-static int
-gdb_print_insn_m68hc11 (bfd_vma memaddr, disassemble_info *info)
-{
-  if (info->arch == bfd_arch_m68hc11)
-    return print_insn_m68hc11 (memaddr, info);
-  else
-    return print_insn_m68hc12 (memaddr, info);
-}
-
 \f
 
 /* 68HC11/68HC12 register groups.
@@ -1525,7 +1515,6 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
 				       m68hc11_breakpoint::kind_from_pc);
   set_gdbarch_sw_breakpoint_from_kind (gdbarch,
 				       m68hc11_breakpoint::bp_from_kind);
-  set_gdbarch_print_insn (gdbarch, gdb_print_insn_m68hc11);
 
   m68hc11_add_reggroups (gdbarch);
   set_gdbarch_register_reggroup_p (gdbarch, m68hc11_register_reggroup_p);
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index 7c3bf4c..5b4736d 100644
--- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c
@@ -1240,10 +1240,6 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_return_in_first_hidden_param_p (gdbarch,
 					      m68k_return_in_first_hidden_param_p);
 
-
-  /* Disassembler.  */
-  set_gdbarch_print_insn (gdbarch, print_insn_m68k);
-
 #if defined JB_PC && defined JB_ELEMENT_SIZE
   tdep->jb_pc = JB_PC;
   tdep->jb_elt_size = JB_ELEMENT_SIZE;
diff --git a/gdb/m88k-tdep.c b/gdb/m88k-tdep.c
index 57fe644..d08a913 100644
--- a/gdb/m88k-tdep.c
+++ b/gdb/m88k-tdep.c
@@ -838,8 +838,6 @@ m88k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_iterate_over_regset_sections
     (gdbarch, m88k_iterate_over_regset_sections);
 
-  set_gdbarch_print_insn (gdbarch, print_insn_m88k);
-
   set_gdbarch_skip_prologue (gdbarch, m88k_skip_prologue);
 
   /* Stack grows downward.  */
diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
index 59f94c5..86cb090 100644
--- a/gdb/microblaze-tdep.c
+++ b/gdb/microblaze-tdep.c
@@ -738,8 +738,6 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_frame_args_skip (gdbarch, 8);
 
-  set_gdbarch_print_insn (gdbarch, print_insn_microblaze);
-
   set_gdbarch_write_pc (gdbarch, microblaze_write_pc);
 
   set_gdbarch_unwind_pc (gdbarch, microblaze_unwind_pc);
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
index 0f5e10f..1e2526f 100644
--- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c
@@ -1444,8 +1444,6 @@ mn10300_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_sw_breakpoint_from_kind (gdbarch,
 				       mn10300_breakpoint::bp_from_kind);
   /* decr_pc_after_break?  */
-  /* Disassembly.  */
-  set_gdbarch_print_insn (gdbarch, print_insn_mn10300);
 
   /* Stage 2 */
   set_gdbarch_return_value (gdbarch, mn10300_return_value);
diff --git a/gdb/moxie-tdep.c b/gdb/moxie-tdep.c
index 2972d52..91248cc 100644
--- a/gdb/moxie-tdep.c
+++ b/gdb/moxie-tdep.c
@@ -1142,8 +1142,6 @@ moxie_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   set_gdbarch_unwind_pc (gdbarch, moxie_unwind_pc);
 
-  set_gdbarch_print_insn (gdbarch, print_insn_moxie);
-
   /* Hook in ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);
 
diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c
index d9eebf0..d730e1b 100644
--- a/gdb/msp430-tdep.c
+++ b/gdb/msp430-tdep.c
@@ -997,9 +997,6 @@ msp430_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 				       msp430_breakpoint::bp_from_kind);
   set_gdbarch_decr_pc_after_break (gdbarch, 1);
 
-  /* Disassembly.  */


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-05-24  7:20 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-05-24  7:20 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/indexcxx has been updated
       via  480030250901adfbd6e8080e87143fc9959f372e (commit)
       via  60fd657792228e3eb59e87c26fcdeccbfe94d224 (commit)
       via  f7241d4f27cd59357a75bf802e9ffa7d95036deb (commit)
       via  d489d81d0934c4fda8c8aa68fbec1b1315cf8df0 (commit)
       via  6e92fed5946111a76064feb8a2a184d224deae1a (commit)
       via  590b87ffa386ea403e2cb61525c6aafef77097a2 (commit)
       via  6e3f3473e2136e77d6346d5bca894c38e5389116 (commit)
       via  8e7f04f17c60069143078dafd3d3eb8cd15f10fb (commit)
       via  575dcd27f8be6ecd3f89539a8210a8d3f0a271b1 (commit)
       via  903b2a564d78b8e47f2460a2a452f442e6e5e979 (commit)
       via  176efed15cabb932a7e9fb2c5e6ef0753e8351a0 (commit)
       via  04ef582ace91cad765d056cc95624478e0421144 (commit)
       via  25f94347373b1b6f4bfc79eeb38e79d383195779 (commit)
       via  9a6465c207ed4e34be92741316d78fc00f0836e4 (commit)
       via  3c0367d0e2df21717b7345a1ccadef39183457ab (commit)
       via  e11b3cdc565c5e86e43ef79d25fc5e8b88162ec1 (commit)
       via  0f068fb5e5b65038c3ded3cfd2a4b8805196956c (commit)
       via  ca49a96781f723d43ec49471cbbb50aa511d063e (commit)
       via  e6cf65f283b8be44014fad0ad0aebfbcc71fceac (commit)
      from  3c31c689159535ec278253668e1f59155f18da2b (commit)

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

- Log -----------------------------------------------------------------
commit 480030250901adfbd6e8080e87143fc9959f372e
Merge: 3c31c68 60fd657
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed May 24 09:18:58 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit 60fd657792228e3eb59e87c26fcdeccbfe94d224
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 24 00:00:45 2017 +0000

    Automatic date update in version.in

commit f7241d4f27cd59357a75bf802e9ffa7d95036deb
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 18 10:49:44 2017 -0700

    Use mips_regnum instead of constants for FreeBSD/mips register operations.
    
    gdb/ChangeLog:
    
    	* mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
    	(MIPS_FP0_REGNUM): Remove.
    	(MIPS_FSR_REGNUM): Remove.
    	(mips_fbsd_supply_fpregs): Use mips_regnum.
    	(mips_fbsd_supply_gregs): Likewise.
    	(mips_fbsd_collect_fpregs): Likewise.
    	(mips_fbsd_collect_gregs): Likewise.

commit d489d81d0934c4fda8c8aa68fbec1b1315cf8df0
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 18 10:49:44 2017 -0700

    Cleanups to FreeBSD/mips native register operations.
    
    Compare against the "raw" PC register number instead of the cooked
    register number when determining if a register was handled by
    PT_GETREGS.  Previously the register fetch/store operations only tried
    PT_GETREGS to fetch any individual register.  The result was that
    fetching or storing an individual register not covered by PT_GETREGS
    (such as floating point registers) did not work.
    
    While here, remove an early exit to simplify the code flow from the
    PT_GETREGS / PT_SETREGS case, and add a getfpregs_supplies similar to
    getregs_supplies to describe the registers supplied by PT_GETFPREGS
    and PT_SETFPREGS.
    
    gdb/ChangeLog:
    
    	* mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
    	(getpfpregs_supplies): New function.
    	(mips_fbsd_fetch_inferior_registers): Remove early exit and use
    	getfpregs_supplies.
    	(mips_fbsd_store_inferior_registers): Likewise.

commit 6e92fed5946111a76064feb8a2a184d224deae1a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 23 06:49:35 2017 -0700

    x86: Update notrackbad tests for non-ELF targets
    
    	* gas/testsuite/gas/i386/notrackbad.l: Updated for non-ELF
    	targets.
    	* gas/testsuite/gas/i386/x86-64-notrackbad.l: Likewise.

commit 590b87ffa386ea403e2cb61525c6aafef77097a2
Author: Alan Modra <amodra@gmail.com>
Date:   Mon May 22 21:31:34 2017 +0930

    PR21503, Gold doesn't create linker stub symbols on ppc64
    
    	PR 21503
    	* options.h: Add --emit-stub-syms option.
    	* powerpc.cc (object_id): New.
    	(Powerpc_relobj): Add uniq_ and accessor.  Sort variables for
    	better packing.
    	(Powerpc_dynobj): Sort variables for better packing.
    	(Target_powerpc::define_local): New function.
    	(Target_powerpc::group_sections): Pass stub table size to
    	Stub_table constructor.
    	(Target_powerpc::do_relax): Define stub and glink symbols.
    	(Stub_table): Add uniq_ variable, and id param to constructor.
    	(Stub_table::Plt_stub_ent): Add indx_ variable.
    	(Stub_table::Branch_stub_entries): Move typedef earlier.
    	(Stub_table::branch_stub_size): Replace "to" parameter with a
    	Branch_stub_entries iterator.
    	(Stub_table::add_long_branch_entry): Adjust to suit.
    	(Stub_table::add_plt_call_entry): Set indx_.
    	(Stub_table::define_stub_syms): New function.

commit 6e3f3473e2136e77d6346d5bca894c38e5389116
Author: claziss <claziss@synopsys.com>
Date:   Tue May 23 12:18:11 2017 +0200

    [ARC] Reformat error messages.
    
    gas/
    2017-05-23  Claudiu Zissulescu <claziss@synopsys.com>
    
    	* config/tc-arc.c (md_apply_fix): Use as_bad_where.
    	(assemble_insn): Use as_bad.

commit 8e7f04f17c60069143078dafd3d3eb8cd15f10fb
Author: claziss <claziss@synopsys.com>
Date:   Tue May 23 12:18:10 2017 +0200

    [ARC] Fix fall through warnings.
    
    bfd/
    2017-05-23  Dilian Palauzov  <git-dpa@aegee.org>
    
    	* elf32-arc.c (arc_elf_merge_attributes): Add fall through
    	comments.

commit 575dcd27f8be6ecd3f89539a8210a8d3f0a271b1
Author: claziss <claziss@synopsys.com>
Date:   Tue May 23 12:18:10 2017 +0200

    [ARC] Update MAX_INSN_FLGS.
    
    It is required to parse instructions like ldb.x.a.di.
    
    include/
    2017-05-23  Claudiu Zissulescu <claziss@synopsys.com>
    
    	* opcode/arc.h (MAX_INSN_FLGS): Update to 4.

commit 903b2a564d78b8e47f2460a2a452f442e6e5e979
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 23 00:00:37 2017 +0000

    Automatic date update in version.in

commit 176efed15cabb932a7e9fb2c5e6ef0753e8351a0
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Mon May 15 10:11:57 2017 +0100

    gdb: Document vMustReplyEmpty remote packet
    
    Add mention of the vMustReplyEmpty to the remote serial protocol
    documentation.  It is important that this packet be treated in the same
    fashion as any other unknown 'v' packet, and I have tried to reflect
    this in the description of the packet, it is not simply the case that we
    _must_ return the empty string for this packet.
    
    As the intention is that we should treat this packet as unknown then an
    argument could be made that we should not document it, however, for
    someone implementing a gdbserver from scratch, seeing an undocumented
    packet arrive from gdb is confusing, and will probably cause them to
    have to read the code in order to check how this packet should be
    handled, which is not ideal.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Packets): Document vMustReplyEmpty packet.

commit 04ef582ace91cad765d056cc95624478e0421144
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 22 11:02:46 2017 -0700

    x86: Add NOTRACK prefix support
    
    For register indirect branches, NOTRACK prefix (0x3e), which is also
    the DS segment register prefix, can be used to ignore the CET indirect
    branch track.
    
    gas/
    
    	* config/tc-i386.c (REX_PREFIX): Changed to 7.
    	(NOTRACK_PREFIX): New.
    	(MAX_PREFIXES): Changed to 8.
    	(_i386_insn): Add notrack_prefix.
    	(PREFIX_GROUP): Add PREFIX_DS.
    	(add_prefix): Return PREFIX_DS for DS_PREFIX_OPCODE.
    	(md_assemble): Check if NOTRACK prefix is supported.
    	(parse_insn): Set notrack_prefix and issue an error for
    	other prefixes after NOTRACK prefix.
    	* testsuite/gas/i386/i386.exp: Run tests for NOTRACK prefix.
    	* testsuite/gas/i386/notrack-intel.d: New file.
    	* testsuite/gas/i386/notrack.d: Likewise.
    	* testsuite/gas/i386/notrack.s: Likewise.
    	* testsuite/gas/i386/notrackbad.l: Likewise.
    	* testsuite/gas/i386/notrackbad.s: Likewise.
    	* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-notrack.d: Likewise.
    	* testsuite/gas/i386/x86-64-notrack.s: Likewise.
    	* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.
    	* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.
    
    include/
    
    	* include/opcode/i386.h (NOTRACK_PREFIX_OPCODE): New.
    
    opcodes/
    
    	* i386-dis.c (NOTRACK_Fixup): New.
    	(NOTRACK): Likewise.
    	(NOTRACK_PREFIX): Likewise.
    	(last_active_prefix): Likewise.
    	(reg_table): Use NOTRACK on indirect call and jmp.
    	(ckprefix): Set last_active_prefix.
    	(prefix_name): Return "notrack" for NOTRACK_PREFIX.
    	* i386-gen.c (opcode_modifiers): Add NoTrackPrefixOk.
    	* i386-opc.h (NoTrackPrefixOk): New.
    	(i386_opcode_modifier): Add notrackprefixok.
    	* i386-opc.tbl: Add NoTrackPrefixOk to indirect call and jmp.
    	Add notrack.
    	* i386-tbl.h: Regenerated.

commit 25f94347373b1b6f4bfc79eeb38e79d383195779
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 22 07:41:16 2017 -0700

    x86-64: Use dynobj instead of htab->elf.dynobj
    
    	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use
    	dynobj instead of htab->elf.dynobj.

commit 9a6465c207ed4e34be92741316d78fc00f0836e4
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Mon May 22 09:50:29 2017 +0100

    [AArch64, ld] Support ILP32 triplet aarch64*-linux-gnu_ilp32
    
    This patch allows AArch64 LD defaulting to ILP32 if it is configured with
    aarch64*-linux-gnu_ilp32.
    
    ld/
    	* configure.tgt: Set "targ_emul" to "aarch64linux32b" for
    	aarch64_be-*-linux-gnu_ilp32.  Set "targ_emul" to "aarch64linux32" for
    	aarch64-*-linux-gnu_ilp32.

commit 3c0367d0e2df21717b7345a1ccadef39183457ab
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Mon May 22 09:50:19 2017 +0100

    [AArch64, gas] Support ILP32 triplet aarch64*-linux-gnu_ilp32
    
    This patch allows AArch64 GAS defaulting to ILP32 if it is configured with
    aarch64*-linux-gnu_ilp32.
    
    "md_after_parse_args" is implemented to update ABI into ILP32 if DEFAULT_ARCH is
    "aarch64:32".
    
    gas/
    	* configure.tgt: Set "arch" to "aarch64" if ${cpu} equals "aarch64".
    	Recognize the new triplet name aarch64*-linux-gnu_ilp32.
    	* configure.ac: Output DEFAULT_ARCH macro for AArch64.
    	* configure: Regenerate.
    	* config/tc-aarch64.h (aarch64_after_parse_args): New declaration.
    	(md_after_parse_args): New define.
    	* config/tc-aarch64.c (aarch64_abi_type): New enumeration
    	AARCH64_ABI_NONE.
    	(DEFAULT_ARCH): New define.
    	(aarch64_abi): Set default value to AARCH64_ABI_NONE.
    	(aarch64_after_parse_args): New function.

commit e11b3cdc565c5e86e43ef79d25fc5e8b88162ec1
Author: Pedro Alves <palves@redhat.com>
Date:   Mon May 22 11:58:19 2017 +0100

    gdb: Add John Baldwin as FreeBSD Maintainer
    
    gdb/ChangeLog:
    2017-05-22  Pedro Alves <palves@redhat.com>
    
    	* MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
    	maintainer.

commit 0f068fb5e5b65038c3ded3cfd2a4b8805196956c
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon May 22 09:23:22 2017 +0100

    Add PPC_MAX_REGISTER_SIZE
    
    gdb/
    	* ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
    	(store_register): Likewise.
    	* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
    	(get_decimal_float_return_value): Likewise.
    	(do_ppc_sysv_return_value): Likewise.
    	(ppc64_sysv_abi_push_integer): Likewise.
    	(ppc64_sysv_abi_push_freg): Likewise.
    	(ppc64_sysv_abi_return_value_base): Likewise.
    	(ppc64_sysv_abi_return_value): Likewise.
    	* rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
    	* rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
    	* rs6000-nat.c: Likewise.
    	* rs6000-tdep.c (rs6000_register_to_value): Likewise.
    	(rs6000_value_to_register): Likewise.
    	* ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.

commit ca49a96781f723d43ec49471cbbb50aa511d063e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 22 00:00:35 2017 +0000

    Automatic date update in version.in

commit e6cf65f283b8be44014fad0ad0aebfbcc71fceac
Author: Tom Tromey <tom@tromey.com>
Date:   Sun May 21 17:00:10 2017 -0600

    Print Rust unsized array types a bit more nicely
    
    It's a bit difficult to create an unsized array type in Rust, but if
    you do, right now ptype will show something like "[u8; ]".  It really
    should print "[u8]", though, which is what this patch implements.
    
    This is part of PR 21466.
    
    Built and regtested on x86-64 Fedora 25.  I'm checking this in.
    
    ChangeLog
    2017-05-21  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21466:
    	* rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
    	arrays as "[T]", not "[T; ]".
    
    testsuite/ChangeLog
    2017-05-21  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21466:
    	* gdb.rust/unsized.exp: New file.
    	* gdb.rust/unsized.rs: New file.

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

Summary of changes:
 bfd/ChangeLog                                 |   10 +
 bfd/elf32-arc.c                               |    4 +
 bfd/elf64-x86-64.c                            |    3 +-
 bfd/version.h                                 |    2 +-
 gas/ChangeLog                                 |   48 +
 gas/config/tc-aarch64.c                       |   30 +-
 gas/config/tc-aarch64.h                       |    3 +
 gas/config/tc-arc.c                           |   21 +-
 gas/config/tc-i386.c                          |   75 +-
 gas/configure                                 |    2 +-
 gas/configure.ac                              |    2 +-
 gas/configure.tgt                             |    9 +-
 gas/testsuite/gas/i386/i386.exp               |    6 +
 gas/testsuite/gas/i386/notrack-intel.d        |   29 +
 gas/testsuite/gas/i386/notrack.d              |   28 +
 gas/testsuite/gas/i386/notrack.s              |   35 +
 gas/testsuite/gas/i386/notrackbad.l           |   53 +
 gas/testsuite/gas/i386/notrackbad.s           |   22 +
 gas/testsuite/gas/i386/x86-64-notrack-intel.d |   30 +
 gas/testsuite/gas/i386/x86-64-notrack.d       |   29 +
 gas/testsuite/gas/i386/x86-64-notrack.s       |   40 +
 gas/testsuite/gas/i386/x86-64-notrackbad.l    |   53 +
 gas/testsuite/gas/i386/x86-64-notrackbad.s    |   22 +
 gdb/ChangeLog                                 |   47 +
 gdb/MAINTAINERS                               |    1 +
 gdb/doc/ChangeLog                             |    4 +
 gdb/doc/gdb.texinfo                           |   13 +
 gdb/mips-fbsd-nat.c                           |   24 +-
 gdb/mips-fbsd-tdep.c                          |   29 +-
 gdb/ppc-linux-nat.c                           |    4 +-
 gdb/ppc-sysv-tdep.c                           |   34 +-
 gdb/ppc-tdep.h                                |    3 +
 gdb/rs6000-aix-tdep.c                         |    6 +-
 gdb/rs6000-lynx178-tdep.c                     |    6 +-
 gdb/rs6000-nat.c                              |    4 +-
 gdb/rs6000-tdep.c                             |    4 +-
 gdb/rust-lang.c                               |    5 +-
 gdb/testsuite/ChangeLog                       |    6 +
 gdb/testsuite/gdb.rust/unsized.exp            |   35 +
 gdb/testsuite/gdb.rust/unsized.rs             |   33 +
 gold/ChangeLog                                |   21 +
 gold/options.h                                |    4 +
 gold/powerpc.cc                               |  192 +-
 include/ChangeLog                             |    8 +
 include/opcode/arc.h                          |    2 +-
 include/opcode/i386.h                         |    1 +
 ld/ChangeLog                                  |    6 +
 ld/configure.tgt                              |    8 +
 opcodes/ChangeLog                             |   16 +
 opcodes/i386-dis.c                            |   44 +-
 opcodes/i386-gen.c                            |    1 +
 opcodes/i386-opc.h                            |    3 +
 opcodes/i386-opc.tbl                          |   15 +-
 opcodes/i386-tbl.h                            |21299 +++++++++++++------------
 54 files changed, 11660 insertions(+), 10774 deletions(-)
 create mode 100644 gas/testsuite/gas/i386/notrack-intel.d
 create mode 100644 gas/testsuite/gas/i386/notrack.d
 create mode 100644 gas/testsuite/gas/i386/notrack.s
 create mode 100644 gas/testsuite/gas/i386/notrackbad.l
 create mode 100644 gas/testsuite/gas/i386/notrackbad.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-notrack-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-notrack.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-notrack.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-notrackbad.l
 create mode 100644 gas/testsuite/gas/i386/x86-64-notrackbad.s
 create mode 100644 gdb/testsuite/gdb.rust/unsized.exp
 create mode 100644 gdb/testsuite/gdb.rust/unsized.rs

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 38462fe..4d15e1a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,13 @@
+2017-05-23  Dilian Palauzov  <git-dpa@aegee.org>
+
+	* elf32-arc.c (arc_elf_merge_attributes): Add fall through
+	comments.
+
+2017-05-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use
+	dynobj instead of htab->elf.dynobj.
+
 2017-05-19  Maciej W. Rozycki  <macro@imgtec.com>
 
 	* elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 3e99cab..ef0d893 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -728,9 +728,11 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 
 	case Tag_ARC_ABI_pic:
 	  tagname = "PIC";
+	  /* fall through */
 	case Tag_ARC_ABI_sda:
 	  if (!tagname)
 	    tagname = "SDA";
+	  /* fall through */
 	case Tag_ARC_ABI_tls:
 	  {
 	    const char *tagval[] = { "Absent", "MWDT", "GNU" };
@@ -756,9 +758,11 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 
 	case Tag_ARC_ABI_double_size:
 	  tagname = "Double size";
+	  /* fall through */
 	case Tag_ARC_ABI_enumsize:
 	  if (!tagname)
 	    tagname = "Enum size";
+	  /* fall through */
 	case Tag_ARC_ABI_exceptions:
 	  if (!tagname)
 	    tagname = "ABI exceptions";
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 00cf70a..7beb78e 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -7245,8 +7245,7 @@ error_alignment:
 	  /* MPX PLT is supported only for non-NaCl target in 64-bit
 	     mode and is needed only for lazy binding.  */
 	  if (lazy_plt
-	      && info->bndplt
-	      && ABI_64_P (htab->elf.dynobj))
+	      && info->bndplt && ABI_64_P (dynobj))
 	    {
 	      /* Create the second PLT for Intel MPX support.  */
 	      sec = bfd_make_section_anyway_with_flags (dynobj,
diff --git a/bfd/version.h b/bfd/version.h
index 10ba349..e8c13d4 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20170521
+#define BFD_VERSION_DATE 20170524
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8fff0e4..2e7bb8d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,51 @@
+2017-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* gas/testsuite/gas/i386/notrackbad.l: Updated for non-ELF
+	targets.
+	* gas/testsuite/gas/i386/x86-64-notrackbad.l: Likewise.
+
+2017-05-23  Claudiu Zissulescu <claziss@synopsys.com>
+
+	* config/tc-arc.c (md_apply_fix): Use as_bad_where.
+	(assemble_insn): Use as_bad.
+
+2017-05-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/tc-i386.c (REX_PREFIX): Changed to 7.
+	(NOTRACK_PREFIX): New.
+	(MAX_PREFIXES): Changed to 8.
+	(_i386_insn): Add notrack_prefix.
+	(PREFIX_GROUP): Add PREFIX_DS.
+	(add_prefix): Return PREFIX_DS for DS_PREFIX_OPCODE.
+	(md_assemble): Check if NOTRACK prefix is supported.
+	(parse_insn): Set notrack_prefix and issue an error for
+	other prefixes after NOTRACK prefix.
+	* testsuite/gas/i386/i386.exp: Run tests for NOTRACK prefix.
+	* testsuite/gas/i386/notrack-intel.d: New file.
+	* testsuite/gas/i386/notrack.d: Likewise.
+	* testsuite/gas/i386/notrack.s: Likewise.
+	* testsuite/gas/i386/notrackbad.l: Likewise.
+	* testsuite/gas/i386/notrackbad.s: Likewise.
+	* testsuite/gas/i386/x86-64-notrack-intel.d: Likewise.
+	* testsuite/gas/i386/x86-64-notrack.d: Likewise.
+	* testsuite/gas/i386/x86-64-notrack.s: Likewise.
+	* testsuite/gas/i386/x86-64-notrackbad.l: Likewise.
+	* testsuite/gas/i386/x86-64-notrackbad.s: Likewise.
+
+2017-05-22  Jiong Wang <jiong.wang@arm.com>
+
+	* configure.tgt: Set "arch" to "aarch64" if ${cpu} equals "aarch64".
+	Recognize the new triplet name aarch64*-linux-gnu_ilp32.
+	* configure.ac: Output DEFAULT_ARCH macro for AArch64.
+	* configure: Regenerate.
+	* config/tc-aarch64.h (aarch64_after_parse_args): New declaration.
+	(md_after_parse_args): New define.
+	* config/tc-aarch64.c (aarch64_abi_type): New enumeration
+	AARCH64_ABI_NONE.
+	(DEFAULT_ARCH): New define.
+	(aarch64_abi): Set default value to AARCH64_ABI_NONE.
+	(aarch64_after_parse_args): New function.
+
 2017-05-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
 	* config/tc-sparc.c (sparc_arch_table): Entries for `sparc6',
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 72b98fd..cdb2903 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -62,12 +62,20 @@ static symbolS *GOT_symbol;
 /* Which ABI to use.  */
 enum aarch64_abi_type
 {
-  AARCH64_ABI_LP64 = 0,
-  AARCH64_ABI_ILP32 = 1
+  AARCH64_ABI_NONE = 0,
+  AARCH64_ABI_LP64 = 1,
+  AARCH64_ABI_ILP32 = 2
 };
 
+#ifndef DEFAULT_ARCH
+#define DEFAULT_ARCH "aarch64"
+#endif
+
+/* DEFAULT_ARCH is initialized in gas/configure.tgt.  */
+static const char *default_arch = DEFAULT_ARCH;
+
 /* AArch64 ABI for the output file.  */
-static enum aarch64_abi_type aarch64_abi = AARCH64_ABI_LP64;
+static enum aarch64_abi_type aarch64_abi = AARCH64_ABI_NONE;
 
 /* When non-zero, program to a 32-bit model, in which the C data types
    int, long and all pointer types are 32-bit objects (ILP32); or to a
@@ -7975,6 +7983,22 @@ aarch64_force_relocation (struct fix *fixp)
 
 #ifdef OBJ_ELF
 
+/* Implement md_after_parse_args.  This is the earliest time we need to decide
+   ABI.  If no -mabi specified, the ABI will be decided by target triplet.  */
+
+void
+aarch64_after_parse_args (void)
+{
+  if (aarch64_abi != AARCH64_ABI_NONE)
+    return;
+
+  /* DEFAULT_ARCH will have ":32" extension if it's configured for ILP32.  */
+  if (strlen (default_arch) > 7 && strcmp (default_arch + 7, ":32") == 0)
+    aarch64_abi = AARCH64_ABI_ILP32;
+  else
+    aarch64_abi = AARCH64_ABI_LP64;
+}
+
 const char *
 elf64_aarch64_target_format (void)
 {
diff --git a/gas/config/tc-aarch64.h b/gas/config/tc-aarch64.h
index 5bf1399..4aa3494 100644
--- a/gas/config/tc-aarch64.h
+++ b/gas/config/tc-aarch64.h
@@ -192,6 +192,9 @@ struct aarch64_segment_info_type
 #define tc_regname_to_dw2regnum            tc_aarch64_regname_to_dw2regnum
 #define tc_cfi_frame_initial_instructions  tc_aarch64_frame_initial_instructions
 
+extern void aarch64_after_parse_args (void);
+#define md_after_parse_args() aarch64_after_parse_args ()
+
 #else /* Not OBJ_ELF.  */
 #define GLOBAL_OFFSET_TABLE_NAME "__GLOBAL_OFFSET_TABLE_"
 #endif
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index a092892..173a1a0 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -2966,8 +2966,10 @@ md_apply_fix (fixS *fixP,
 	  break;
 	default:
 	  if ((int) fixP->fx_r_type < 0)
-	    as_fatal (_("PC relative relocation not allowed for (internal) type %d"),
-		      fixP->fx_r_type);
+	    as_bad_where (fixP->fx_file, fixP->fx_line,
+			  _("PC relative relocation not allowed for (internal)"
+			    " type %d"),
+			  fixP->fx_r_type);
 	  break;
 	}
     }
@@ -3942,9 +3944,8 @@ assemble_insn (const struct arc_opcode *opcode,
 	    {
 	    case O_plt:
 	      if (opcode->insn_class == JUMP)
-		as_bad_where (frag_now->fr_file, frag_now->fr_line,
-			      _("Unable to use @plt relocation for insn %s"),
-			      opcode->name);
+		as_bad (_("Unable to use @plt relocation for insn %s"),
+			opcode->name);
 	      needGOTSymbol = TRUE;
 	      reloc = find_reloc ("plt", opcode->name,
 				  pflags, nflg,
@@ -3962,9 +3963,8 @@ assemble_insn (const struct arc_opcode *opcode,
 		  reloc = ARC_RELOC_TABLE (t->X_md)->reloc;
 		  if (arc_opcode_len (opcode) == 2
 		      || opcode->insn_class == JUMP)
-		    as_bad_where (frag_now->fr_file, frag_now->fr_line,
-				  _("Unable to use @pcl relocation for insn %s"),
-				  opcode->name);
+		    as_bad (_("Unable to use @pcl relocation for insn %s"),
+			    opcode->name);
 		}
 	      else
 		{
@@ -4130,8 +4130,9 @@ assemble_insn (const struct arc_opcode *opcode,
   /* Check if the current instruction is legally used.  */
   if (arc_last_insns[1].has_delay_slot
       && is_br_jmp_insn_p (arc_last_insns[0].opcode))
-    as_bad_where (frag_now->fr_file, frag_now->fr_line,
-		  _("A jump/branch instruction in delay slot."));
+    as_bad (_("Insn %s has a jump/branch instruction %s in its delay slot."),
+	    arc_last_insns[1].opcode->name,
+	    arc_last_insns[0].opcode->name);
 }
 
 void
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 6250793..6c1091e 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -66,8 +66,11 @@
 #define HLE_PREFIX	REP_PREFIX
 #define BND_PREFIX	REP_PREFIX
 #define LOCK_PREFIX	5
-#define REX_PREFIX	6       /* must come last.  */
-#define MAX_PREFIXES	7	/* max prefixes per opcode */
+/* Only one of NOTRACK_PREFIX and SEG_PREFIX can be used at the same
+   time.  */
+#define NOTRACK_PREFIX	6
+#define REX_PREFIX	7       /* must come last.  */
+#define MAX_PREFIXES	8	/* max prefixes per opcode */
 
 /* we define the syntax here (modulo base,index,scale syntax) */
 #define REGISTER_PREFIX '%'
@@ -388,6 +391,9 @@ struct _i386_insn
     /* Have BND prefix.  */
     const char *bnd_prefix;
 
+    /* Have NOTRACK prefix.  */
+    const char *notrack_prefix;
+
     /* Error message.  */
     enum i386_error error;
   };
@@ -2144,6 +2150,7 @@ enum PREFIX_GROUP
   PREFIX_EXIST = 0,
   PREFIX_LOCK,
   PREFIX_REP,
+  PREFIX_DS,
   PREFIX_OTHER
 };
 
@@ -2152,7 +2159,8 @@ enum PREFIX_GROUP
    same class already exists.
    b. PREFIX_LOCK if lock prefix is added.
    c. PREFIX_REP if rep/repne prefix is added.
-   d. PREFIX_OTHER if other prefix is added.
+   d. PREFIX_DS if ds prefix is added.
+   e. PREFIX_OTHER if other prefix is added.
  */
 
 static enum PREFIX_GROUP
@@ -2177,8 +2185,10 @@ add_prefix (unsigned int prefix)
 	default:
 	  abort ();
 
-	case CS_PREFIX_OPCODE:
 	case DS_PREFIX_OPCODE:
+	  ret = PREFIX_DS;
+	  /* Fall through.  */
+	case CS_PREFIX_OPCODE:
 	case ES_PREFIX_OPCODE:
 	case FS_PREFIX_OPCODE:
 	case GS_PREFIX_OPCODE:
@@ -3702,6 +3712,15 @@ md_assemble (char *line)
   if (i.bnd_prefix && !i.tm.opcode_modifier.bndprefixok)
     as_bad (_("expecting valid branch instruction after `bnd'"));
 
+  /* Check NOTRACK prefix.  */
+  if (i.notrack_prefix
+      && (!i.tm.opcode_modifier.notrackprefixok
+	  || i.reg_operands != 1
+	  || i.disp_operands != 0
+	  || i.mem_operands != 0
+	  || i.imm_operands != 0))
+    as_bad (_("expecting register indirect branch instruction after `notrack'"));
+
   if (i.tm.cpu_flags.bitfield.cpumpx)
     {
       if (flag_code == CODE_64BIT && i.prefix[ADDR_PREFIX])
@@ -3964,20 +3983,42 @@ parse_insn (char *line, char *mnemonic)
 	  else
 	    {
 	      /* Add prefix, checking for repeated prefixes.  */
-	      switch (add_prefix (current_templates->start->base_opcode))
+	      enum PREFIX_GROUP p
+		= add_prefix (current_templates->start->base_opcode);
+	      if (p == PREFIX_DS
+		  && current_templates->start->cpu_flags.bitfield.cpucet)
 		{
-		case PREFIX_EXIST:
-		  return NULL;
-		case PREFIX_REP:
-		  if (current_templates->start->cpu_flags.bitfield.cpuhle)
-		    i.hle_prefix = current_templates->start->name;
-		  else if (current_templates->start->cpu_flags.bitfield.cpumpx)
-		    i.bnd_prefix = current_templates->start->name;
-		  else
-		    i.rep_prefix = current_templates->start->name;
-		  break;
-		default:
-		  break;
+		  i.notrack_prefix = current_templates->start->name;
+		  /* Move NOTRACK_PREFIX_OPCODE to NOTRACK_PREFIX slot so
+		     that it is placed before others.  */
+		  i.prefix[SEG_PREFIX] = 0;
+		  i.prefix[NOTRACK_PREFIX] = NOTRACK_PREFIX_OPCODE;
+		}
+	      else
+		{
+		  switch (p)
+		    {
+		    case PREFIX_EXIST:
+		      return NULL;
+		    case PREFIX_REP:
+		      if (current_templates->start->cpu_flags.bitfield.cpuhle)
+			i.hle_prefix = current_templates->start->name;
+		      else if (current_templates->start->cpu_flags.bitfield.cpumpx)
+			i.bnd_prefix = current_templates->start->name;
+		      else
+			i.rep_prefix = current_templates->start->name;
+		      break;
+		    default:
+		      break;
+		    }
+
+		  if (i.notrack_prefix != NULL)
+		    {
+		      /* There must be no other prefixes after NOTRACK
+			 prefix.  */
+		      as_bad (_("expecting no other prefixes after `notrack'"));
+		      return NULL;
+		    }
 		}
 	    }
 	  /* Skip past PREFIX_SEPARATOR and reset token_start.  */
diff --git a/gas/configure b/gas/configure
index d3ae96e..96fa7cb 100755
--- a/gas/configure
+++ b/gas/configure
@@ -12583,7 +12583,7 @@ $as_echo "#define NDS32_DEFAULT_AUDIO_EXT 1" >>confdefs.h
 $as_echo "$enable_audio_ext" >&6; }
 	;;
 
-      i386 | riscv | s390 | sparc)
+      aarch64 | i386 | riscv | s390 | sparc)
 	if test $this_target = $target ; then
 
 cat >>confdefs.h <<_ACEOF
diff --git a/gas/configure.ac b/gas/configure.ac
index cc70aa7..da161b7 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -511,7 +511,7 @@ changequote([,])dnl
 	AC_MSG_RESULT($enable_audio_ext)
 	;;
 
-      i386 | riscv | s390 | sparc)
+      aarch64 | i386 | riscv | s390 | sparc)
 	if test $this_target = $target ; then
 	  AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
 	fi
diff --git a/gas/configure.tgt b/gas/configure.tgt
index ca58b69..9d5e781 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -46,8 +46,8 @@ eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
 # endian and arch.
 # Note: This table is alpha-sorted, please try to keep it that way.
 case ${cpu} in
-  aarch64)		cpu_type=aarch64 endian=little ;;
-  aarch64_be)		cpu_type=aarch64 endian=big ;;
+  aarch64)		cpu_type=aarch64 endian=little arch=aarch64;;
+  aarch64_be)		cpu_type=aarch64 endian=big arch=aarch64;;
   alpha*)		cpu_type=alpha ;;
   am33_2.0)		cpu_type=mn10300 endian=little ;;
   arc*eb)		cpu_type=arc endian=big ;;
@@ -126,7 +126,10 @@ generic_target=${cpu_type}-$vendor-$os
 case ${generic_target} in
   aarch64*-*-elf*)			fmt=elf;;
   aarch64*-*-fuchsia*)			fmt=elf;;
-  aarch64*-*-linux*)			fmt=elf em=linux ;;
+  aarch64*-*-linux*)			fmt=elf em=linux
+    case ${cpu}-${os} in
+      aarch64*-linux-gnu_ilp32)		arch=aarch64:32 ;;
+    esac ;;
 
   alpha-*-*vms*)			fmt=evax ;;
   alpha-*-osf*)				fmt=ecoff ;;
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index c1d6af7..67a7a13 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -385,6 +385,9 @@ if [expr ([istarget "i*86-*-*"] ||  [istarget "x86_64-*-*"]) && [gas_32_check]]
     run_dump_test "cet"
     run_dump_test "cet-intel"
     run_dump_test "pseudos"
+    run_dump_test "notrack"
+    run_dump_test "notrack-intel"
+    run_list_test "notrackbad" "-al"
 
     # These tests require support for 8 and 16 bit relocs,
     # so we only run them for ELF and COFF targets.
@@ -805,6 +808,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-cet"
     run_dump_test "x86-64-cet-intel"
     run_dump_test "x86-64-pseudos"
+    run_dump_test "x86-64-notrack"
+    run_dump_test "x86-64-notrack-intel"
+    run_list_test "x86-64-notrackbad" "-al"
 
     if { ![istarget "*-*-aix*"]
       && ![istarget "*-*-beos*"]
diff --git a/gas/testsuite/gas/i386/notrack-intel.d b/gas/testsuite/gas/i386/notrack-intel.d
new file mode 100644
index 0000000..b99e194
--- /dev/null
+++ b/gas/testsuite/gas/i386/notrack-intel.d
@@ -0,0 +1,29 @@
+#source: notrack.s
+#objdump: -dw -Mintel
+#name: i386 NOTRACK prefix (Intel disassembly)
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0+ <_start>:
+[ 	]*[a-f0-9]+:	3e ff d0             	notrack call eax
+[ 	]*[a-f0-9]+:	66 3e ff d0          	notrack call ax
+[ 	]*[a-f0-9]+:	3e ff e0             	notrack jmp eax
+[ 	]*[a-f0-9]+:	66 3e ff e0          	notrack jmp ax
+[ 	]*[a-f0-9]+:	f2 3e ff d0          	bnd notrack call eax
+[ 	]*[a-f0-9]+:	66 f2 3e ff d0       	bnd notrack call ax
+[ 	]*[a-f0-9]+:	f2 3e ff e0          	bnd notrack jmp eax
+[ 	]*[a-f0-9]+:	66 f2 3e ff e0       	bnd notrack jmp ax
+[ 	]*[a-f0-9]+:	3e ff d0             	notrack call eax
+[ 	]*[a-f0-9]+:	66 3e ff d0          	notrack call ax
+[ 	]*[a-f0-9]+:	3e ff e0             	notrack jmp eax
+[ 	]*[a-f0-9]+:	66 3e ff e0          	notrack jmp ax
+[ 	]*[a-f0-9]+:	f2 3e ff d0          	bnd notrack call eax
+[ 	]*[a-f0-9]+:	66 f2 3e ff d0       	bnd notrack call ax
+[ 	]*[a-f0-9]+:	f2 3e ff e0          	bnd notrack jmp eax
+[ 	]*[a-f0-9]+:	66 f2 3e ff e0       	bnd notrack jmp ax
+[ 	]*[a-f0-9]+:	3e f2 ff d0          	ds bnd call eax
+[ 	]*[a-f0-9]+:	3e 66 ff d0          	ds call ax
+#pass
diff --git a/gas/testsuite/gas/i386/notrack.d b/gas/testsuite/gas/i386/notrack.d
new file mode 100644
index 0000000..eda09eb
--- /dev/null
+++ b/gas/testsuite/gas/i386/notrack.d
@@ -0,0 +1,28 @@
+#objdump: -dw
+#name: i386 NOTRACK prefix
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-05-07 20:21 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-05-07 20:21 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/indexcxx has been updated
       via  bdbdd8567e59bc6d54749dbfcc001502fffe18a9 (commit)
       via  618a737b59008a0153f6454ae9a6d42814384828 (commit)
       via  e50f25ecdb24505bccb695e6c63add45f0032b9a (commit)
       via  21ea5acdd1bcfe89984b16b5bac730050c5cf05e (commit)
       via  7b937cba77df45962ced7e0e03802561beab549f (commit)
       via  7ed1acafa0b5d135342f9dcc0eb0387dff95005a (commit)
       via  e13cb306f099a8cd450c9fba0dfa22521aaa3c95 (commit)
       via  323449189c3474d1ab352b49172f4f59670ea73e (commit)
       via  d512d31c395e3c45f83778e01b9824efe45cac5f (commit)
       via  5ed8105e02d0c6648b7faea9f4e941237b932717 (commit)
       via  f6223dbb50b5d8780df633633adf0742c662173d (commit)
       via  3c3ae77e68a9032ef9f174bf6b1cc992b6a4cb35 (commit)
       via  f91d48deb29d9e6f4b530f586db0140943ed0d83 (commit)
       via  45eba0ab7d26435121facb68847fbd0cd4a313c1 (commit)
       via  b660e9eb7a45cfe99e719c5d16af35913a2fdc96 (commit)
       via  8293e73636484b403150ae94a93619779bcbae96 (commit)
       via  8507b6e79772ffeb83a0142d12a63e02dcc44562 (commit)
       via  90cef2edd256c48d2ff9a03d4a6c1bcb575db07c (commit)
       via  b22908217d8593185af3f76fab6f0f01457b0600 (commit)
       via  f81fdd350e688bd0216486b30884a52ebc4f32b8 (commit)
       via  35837774a77d641ba3ae75930a7b08ed853759ad (commit)
       via  c94fee56f5f8e5e26a115a1ca155ddada9d43b31 (commit)
       via  e78bb25cb636a331f27e9cc4cba5522939567695 (commit)
       via  35387fdec5e10b281c218c9dc4f3dc33c3fcc522 (commit)
       via  82d808edbc7a06f706b82064cec6c3ed88f0c4be (commit)
       via  3d8505928a06e00b05bb162c1ad0dd612c1c16af (commit)
       via  43e379d74c994fe431368b5f25f778bf601a2981 (commit)
       via  763a5fa4f330d6d3859c94a69ba1fcab09330cf9 (commit)
       via  640226f048b67d79da85742728e40114c9ee5da0 (commit)
       via  2ecf0cc317d065cfeb960c61688897351521bce0 (commit)
       via  d17f7b365cf3896b3129b9077d55b3154fc43131 (commit)
       via  b560ebd6605503276e09b2ef75c94e1d10f176f2 (commit)
       via  f2f46dfcdafe6bd32152d80b5e832d2fab4e6900 (commit)
       via  a0ff9e1ad221c11f58a9d8d12a84c21579132d85 (commit)
       via  ea480a306d46efe3dd1839618137f0e73a80e9b3 (commit)
       via  1395c6ce47510babad3dcb9892f6f2517a3f2b59 (commit)
       via  73ec947d59c511411377ad51ef792a5fcdd3f0cc (commit)
       via  a4ddc54ec1cd187c844ca631fe0315bf1d78e96f (commit)
       via  39ff1b79f687b65f4144ddb379f22587003443fb (commit)
       via  d050f7d7f474c7e3ba26902a9cbb185910921a11 (commit)
       via  14f819c8c5f7d080e5eea9256f0ec7453aac750e (commit)
       via  0ed5da759e34c6e85cb2a9ea0fdc7b680f897a81 (commit)
       via  913aeadd9d6b8bdea5131b16dc7ede395097656d (commit)
       via  a3be24ad59d683d1b08df28e093739743a7cf256 (commit)
       via  ae20e79ae852fee8f7d42701a54a95de3b79ecea (commit)
       via  8d0050ea192c41349c1f2b000866c1bdb761abeb (commit)
       via  fe50e98c9a22a89ca2e032b17aa7162452c3ad3b (commit)
       via  122a483d4f19c8b0a7f3d265dad882bd4f2c868a (commit)
       via  0aae7e72a2a11ef1fd2a3b4fd18c8d8d49e0c21b (commit)
       via  3f380b502769e55bbcdf7b9587c62344913c6ee8 (commit)
       via  ee7e95efb98186c09dc2c39b32263aa15b147bb0 (commit)
       via  6224c858130fe5c5e5d8b2abdec1cea35986d9e7 (commit)
       via  020bf56c8e55bfbe5a53989eac0c72b8d2416feb (commit)
      from  98bebcd98b51d05daf04b0d5c4d7f6e112597c57 (commit)

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

- Log -----------------------------------------------------------------
commit bdbdd8567e59bc6d54749dbfcc001502fffe18a9
Merge: 98bebcd 618a737
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun May 7 22:09:54 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit 618a737b59008a0153f6454ae9a6d42814384828
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun May 7 00:00:54 2017 +0000

    Automatic date update in version.in

commit e50f25ecdb24505bccb695e6c63add45f0032b9a
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue May 2 21:32:33 2017 -0400

    Rearrange gdb/configure.nat to make it simpler and less redundant
    
    The previous commit introduced gdb/configure.nat, but it was just a
    copy-and-past (with the necessary adjustments) from the files under
    gdb/config/.  We can do better than that.
    
    Instead of using one big 'case' statement that matches the
    ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
    remove a lof of redundancy by matching the most common ${gdb_host}'s
    first, setting the common variables for each, and then proceed to
    matching specific ${gdb_host}'s and ${gdb_host_cpu}'s.  In other
    words, reverse the order of the 'case's and take advantage of the fact
    that a lot of parameters are the same for each host.
    
    This commit was tested on x86_64 without regressions.
    
    gdb/ChangeLog:
    2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
     	* configure.nat: Rearrange 'case' statements to match
    	host before cpu.

commit 21ea5acdd1bcfe89984b16b5bac730050c5cf05e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Apr 25 16:03:39 2017 -0400

    Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files)
    
    Due to my ongoing work to make it possible for gdbserver to start the
    inferior using the shell, I had to share the fork_inferior function
    under the "nat/" directory.  In order to do that, I created a new file
    and put the function there; however, this meant that I now had to
    update some of the *.mh files (under "gdb/config") and add the new
    file as a dependency to be built natively.  Bleh...
    
    After talking a bit to Pedro about this, the idea came up to write a
    new "gdb/configure.nat" file, a la "gdb/configure.tgt", which would
    concentrate all of the native settings for each host/system.  I
    decided to tackle this issue.
    
    The patch is simple.  All of the previous Makefile variables that were
    being declared inside the *.mh files are now inside "gdb/Makefile.in",
    and "gdb/configure" is responsible for AC_SUBST'ing them.  The
    definitions of these variables were put inside "gdb/configure.nat", so
    now they're shell variables.  For excerpts of Makefile code, one must
    create a file under "gdb/config/${gdb_cpu_host}" and reference it on
    the "nat_extra_makefile_frag" variable.
    
    It should now be easier to update the native dependencies of hosts in
    this single file.
    
    This has been tested on x86_64 without regressions.
    
    gdb/ChangeLog:
    2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in: Remove "@host_makefile_frag@".  Add variables
    	NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
    	NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
    	"@nat_extra_makefile_frag@".
    	(Makefile): Remove dependency on "@frags@".
    	($(GNULIB_BUILDDIR)/Makefile): Likewise.
    	(data-directory/Makefile): Likewise.
    	* config/aarch64/linux.mh: Deleted; moved contents to
    	"gdb/configure.nat".
    	* config/alpha/alpha-linux.mh: Likewise.
    	* config/alpha/nbsd.mh: Likewise.
    	* config/arm/linux.mh: Likewise.
    	* config/arm/nbsdelf.mh: Likewise.
    	* config/i386/cygwin.mh: Likewise.
    	* config/i386/cygwin64.mh: Likewise.
    	* config/i386/darwin.mh: Likewise.
    	* config/i386/fbsd.mh: Likewise.
    	* config/i386/fbsd64.mh: Likewise.
    	* config/i386/go32.mh: Likewise.
    	* config/i386/i386gnu.mh: Likewise.
    	* config/i386/i386sol2.mh: Likewise.
    	* config/i386/linux.mh: Likewise.
    	* config/i386/linux64.mh: Likewise.
    	* config/i386/mingw.mh: Likewise.
    	* config/i386/mingw64.mh: Likewise.
    	* config/i386/nbsd64.mh: Likewise.
    	* config/i386/nbsdelf.mh: Likewise.
    	* config/i386/nto.mh: Likewise.
    	* config/i386/obsd.mh: Likewise.
    	* config/i386/obsd64.mh: Likewise.
    	* config/i386/sol2-64.mh: Likewise.
    	* config/ia64/linux.mh: Likewise.
    	* config/m32r/linux.mh: Likewise.
    	* config/m68k/linux.mh: Likewise.
    	* config/m68k/nbsdelf.mh: Likewise.
    	* config/m68k/obsd.mh: Likewise.
    	* config/m88k/obsd.mh: Likewise.
    	* config/mips/fbsd.mh: Likewise.
    	* config/mips/linux.mh: Likewise.
    	* config/mips/nbsd.mh: Likewise.
    	* config/mips/obsd64.mh: Likewise.
    	* config/pa/linux.mh: Likewise.
    	* config/pa/nbsd.mh: Likewise.
    	* config/pa/obsd.mh: Likewise.
    	* config/powerpc/aix.mh: Likewise.
    	* config/powerpc/fbsd.mh: Likewise.
    	* config/powerpc/linux.mh: Likewise.
    	* config/powerpc/nbsd.mh: Likewise.
    	* config/powerpc/obsd.mh: Likewise.
    	* config/powerpc/ppc64-linux.mh: Likewise.
    	* config/powerpc/spu-linux.mh: Likewise.
    	* config/s390/linux.mh: Likewise.
    	* config/sh/nbsd.mh: Likewise.
    	* config/sparc/fbsd.mh: Likewise.
    	* config/sparc/linux.mh: Likewise.
    	* config/sparc/linux64.mh: Likewise.
    	* config/sparc/nbsd64.mh: Likewise.
    	* config/sparc/nbsdelf.mh: Likewise.
    	* config/sparc/obsd64.mh: Likewise.
    	* config/sparc/sol2.mh: Likewise.
    	* config/tilegx/linux.mh: Likewise.
    	* config/vax/nbsdelf.mh: Likewise.
    	* config/vax/obsd.mh: Likewise.
    	* config/xtensa/linux.mh: Likewise.
    	* config/i386/i386gnu.mn: New file, with excerpts from
    	"config/i386/i386gnu.mh".
    	* configure: Regenerate.
    	* configure.ac: Rewrite code to use "gdb/configure.nat" instead of
    	*.mh files under "gdb/config".
    	* configure.nat: New file, with contents from the
    	"gdb/config/*/*.mh" files.
    
    gdb/doc/ChangeLog:
    2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile: Remove "@host_makefile_frag@".

commit 7b937cba77df45962ced7e0e03802561beab549f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat May 6 00:00:53 2017 +0000

    Automatic date update in version.in

commit 7ed1acafa0b5d135342f9dcc0eb0387dff95005a
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Fri May 5 08:20:50 2017 +0200

    btrace: Fix memory leak in btrace_clear.

commit e13cb306f099a8cd450c9fba0dfa22521aaa3c95
Author: Pedro Alves <palves@redhat.com>
Date:   Fri May 5 01:03:28 2017 +0100

    gdb: Disable -Werror for -Wmaybe-uninitialized
    
    Newer GCCs are triggering false-positive -Wmaybe-uninitialized
    warnings around code that uses gdb::optional:
      https://sourceware.org/ml/gdb-patches/2017-05/msg00118.html
    
    Using std::optional wouldn't help, it triggers the same warnings:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635
    
    Initializing the variables to quiet the warning would defeat the
    purpose of gdb::optional.  Making the optional ctor memset its storage
    would be a pessimization.  Wrapping gdb::optional's internals with
    "#pragma GCC diagnostic push/ignored/pop" doesn't work, we'd have to
    wrap uses of gdb::optional instead, which I think would get unwieldy
    and ugly as we start using gdb::optional more and more.
    
    The -Wmaybe-uninitialized warning is documented as producing false
    positives (unlike -Wuninialized), so until we find a better
    workaround, disable -Werror for this warning.  You'll still see the
    warning when building gdb, but it won't cause a build failure.
    
    Tested by building with gcc 4.8.5, 5.3.1, and gcc trunk (20170428).
    
    gdb/ChangeLog:
    2017-05-05  Pedro Alves  <palves@redhat.com>
    
    	* warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2017-05-05  Pedro Alves  <palves@redhat.com>
    
    	* configure: Regenerate.

commit 323449189c3474d1ab352b49172f4f59670ea73e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri May 5 00:00:37 2017 +0000

    Automatic date update in version.in

commit d512d31c395e3c45f83778e01b9824efe45cac5f
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 16:02:36 2017 +0100

    Fix gdb.python/py-record-btrace-threads.exp with Python 3
    
    Fix several instances of:
    
     ...
     python print not f1calls
       File "<string>", line 1
         print not f1calls
    		     ^
     SyntaxError: Missing parentheses in call to 'print'
     Error while executing Python code.
     (gdb) FAIL: gdb.python/py-record-btrace-threads.exp: thread=1: checking thread 1: python print not f1calls
     ...
    
    gdb/testsuite/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* gdb.python/py-record-btrace-threads.exp (check_insn_for_thread):
    	Add parens to print call for Python 3.

commit 5ed8105e02d0c6648b7faea9f4e941237b932717
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 12:46:44 2017 +0100

    RAII-fy make_cleanup_restore_current_thread & friends
    
    After all the make_cleanup_restore_current_thread fixing, I thought
    I'd convert that and its relatives (which are all cleanups) to RAII
    classes.
    
    scoped_restore_current_pspace_and_thread was put in a separate file to
    avoid a circular dependency.
    
    Tested on x86-64 Fedora 23, native and gdbserver.
    
    gdb/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add progspace-and-thread.c.
    	(HFILES_NO_SRCDIR): Add progspace-and-thread.h.
    	(COMMON_OBS): Add progspace-and-thread.o.
    	* breakpoint.c: Include "progspace-and-thread.h".
    	(update_inserted_breakpoint_locations)
    	(insert_breakpoint_locations, create_longjmp_master_breakpoint):
    	Use scoped_restore_current_pspace_and_thread.
    	(create_std_terminate_master_breakpoint): Use
    	scoped_restore_current_program_space.
    	(remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
    	(print_breakpoint_location): Use
    	scoped_restore_current_program_space.
    	(bp_loc_is_permanent): Use
    	scoped_restore_current_pspace_and_thread.
    	(resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
    	(download_tracepoint_locations): Use
    	scoped_restore_current_pspace_and_thread.
    	(breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
    	* exec.c (exec_close_1): Use scoped_restore_current_program_space.
    	(enum step_over_calls_kind): Moved from inferior.h.
    	(class scoped_restore_current_thread): New class.
    	* gdbthread.h (make_cleanup_restore_current_thread): Delete
    	declaration.
    	(scoped_restore_current_thread): New class.
    	* infcmd.c: Include "common/gdb_optional.h".
    	(continue_1, proceed_after_attach): Use
    	scoped_restore_current_thread.
    	(notice_new_inferior): Use scoped_restore_current_thread.
    	* inferior.c: Include "progspace-and-thread.h".
    	(restore_inferior, save_current_inferior): Delete.
    	(add_inferior_command, clone_inferior_command): Use
    	scoped_restore_current_pspace_and_thread.
    	* inferior.h (scoped_restore_current_inferior): New class.
    	* infrun.c: Include "progspace-and-thread.h" and
    	"common/gdb_optional.h".
    	(follow_fork_inferior): Use
    	scoped_restore_current_pspace_and_thread.
    	(scoped_restore_exited_inferior): New class.
    	(handle_vfork_child_exec_or_exit): Use
    	scoped_restore_exited_inferior,
    	scoped_restore_current_pspace_and_thread,
    	scoped_restore_current_thread and scoped_restore.
    	(fetch_inferior_event): Use scoped_restore_current_thread.
    	* linespec.c (decode_line_full, decode_line_1): Use
    	scoped_restore_current_program_space.
    	* mi/mi-main.c: Include "progspace-and-thread.h".
    	(exec_continue): Use scoped_restore_current_thread.
    	(mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
    	(mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
    	* proc-service.c (ps_pglobal_lookup): Use
    	scoped_restore_current_program_space.
    	* progspace-and-thread.c: New file.
    	* progspace-and-thread.h: New file.
    	* progspace.c (release_program_space, clone_program_space): Use
    	scoped_restore_current_program_space.
    	(restore_program_space, save_current_program_space)
    	(save_current_space_and_thread): Delete.
    	(switch_to_program_space_and_thread): Moved to
    	progspace-and-thread.c.
    	* progspace.h (save_current_program_space)
    	(save_current_space_and_thread): Delete declarations.
    	(scoped_restore_current_program_space): New class.
    	* remote.c (remote_btrace_maybe_reopen): Use
    	scoped_restore_current_thread.
    	* symtab.c: Include "progspace-and-thread.h".
    	(skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
    	* thread.c (print_thread_info_1): Use
    	scoped_restore_current_thread.
    	(struct current_thread_cleanup): Delete.
    	(do_restore_current_thread_cleanup)
    	(restore_current_thread_cleanup_dtor): Rename/convert both to ...
    	(scoped_restore_current_thread::~scoped_restore_current_thread):
    	... this new dtor.
    	(make_cleanup_restore_current_thread): Rename/convert to ...
    	(scoped_restore_current_thread::scoped_restore_current_thread):
    	... this new ctor.
    	(thread_apply_all_command): Use scoped_restore_current_thread.
    	(thread_apply_command): Use scoped_restore_current_thread.
    	* tracepoint.c (tdump_command): Use scoped_restore_current_thread.
    	* varobj.c (value_of_root_1): Use scoped_restore_current_thread.

commit f6223dbb50b5d8780df633633adf0742c662173d
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 14:43:34 2017 +0100

    make_cleanup_restore_current_thread: Look up thread earlier
    
    The unconditional is_stopped call already asserts that the thread exists.
    
    gdb/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* thread.c (make_cleanup_restore_current_thread): Move
    	find_thread_ptid call before the is_stopped call.  Assert that the
    	thread is found.  Replace is_stopped call by checking the thread's
    	state directly.  Remove unnecessary NULL-thread check.

commit 3c3ae77e68a9032ef9f174bf6b1cc992b6a4cb35
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 15:14:37 2017 +0100

    Fix get_core_register_section leak, introduce thread_section_name
    
    This plugs a leak introduced in the previous change to
    get_core_register_section, which removed an xfree call that is
    actually necessary because the 'section_name' local is static.
    
    From [1] it looks like the reason the variable was made static to
    begin with, was just "laziness" to avoid having to think about freeing
    it on every function return path:
    
     https://sourceware.org/ml/gdb-patches/2005-03/msg00237.html
    
    The easiest to fix that nowadays is to use a std::string.
    
    I don't see a need to xstrdup the section name in the single-threaded
    case though, and also there's more than one place that computes a
    multi-threaded section name in the same way.  So put the section name
    computation in a wrapper class with state.
    
    gdb/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* corelow.c (thread_section_name): New class.
    	(get_core_register_section, get_core_siginfo): Use it.

commit f91d48deb29d9e6f4b530f586db0140943ed0d83
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Wed Apr 5 20:58:28 2017 +0800

    RISC-V: Fix disassemble for c.li, c.andi and c.addiw
    
    ChangeLog
    
    2017-05-03  Kito Cheng  <kito.cheng@gmail.com>
    
            * riscv-dis.c (print_insn_args): Handle 'Co' operands.

commit 45eba0ab7d26435121facb68847fbd0cd4a313c1
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu May 4 11:06:10 2017 +0200

    Remove some superfluous code in corelow.c
    
    In corelow.c I stumbled upon an extra semicolon and an xfree of a NULL
    pointer.  Remove them.
    
    gdb/ChangeLog:
    
    	* corelow.c (sniff_core_bfd): Remove extra semicolon.
    	(get_core_register_section): Remove xfree of NULL pointer.

commit b660e9eb7a45cfe99e719c5d16af35913a2fdc96
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Mon Apr 24 15:17:14 2017 +0530

    Fix PR21404 - assertion fail when calculating symbol size
    
    Fix a host of problems related to adjustment of
    symbol values and sizes when relaxing for avr.
    
    1. Adjust symbol size first before adjusting symbol
    value. Otherwise, a symbol whose value just got adjusted to the
    relaxed address also ends up getting resized. See pr21404-1.s.
    
    2. Reduce symbol sizes only if their span is below an
    alignment boundary. Otherwise, the size gets decremented once when the
    actual instruction is relaxed and padding bytes are added, and again
    when the padding bytes are deleted (if padding ends up being unnecessary).
    pr21404-2.s addresses that, and this bug is really the root cause of PR21404.
    
    3. Adjust all symbol values before an alignment boundary.
    Previous code did not adjust symbol values if they fell in the
    would-be padded area, resulting in incorrect symbol values in some
    cases (see pr21404-3.s).
    
    4. Increase symbol sizes if alignment directives require so.
    As pr21404-4.s shows
    .global nonzero_sym
    L1:
        jmp  L1
    nonzero_sym:
        nop
        nop
        .p2align 2
    .size nonzero_sym, .-nonzero_sym
    
    The two nops satisfy the 4 byte alignment at assembly time and
    therefore the size of nonzero_sym is 4. Relaxation shortens
    the 4 byte jmp to a 2 byte rjmp, and to satisfy 4 byte alignment
    the code places 2 extra padding bytes after the nops, increasing
    nonzero_sym's size by 2. This wasn't handled before.
    
    If the assembly code does not have any align directives, then the
    boundary is the section size, and symbol values and sizes == boundary
    should also get adjusted. To handle that case, add a did_pad variable
    and use that to determine whether it should use < boundary or <= boundary.
    
    Also get rid of reloc_toaddr, which is now redundant.  toaddr is now not
    adjusted to handle the above case - the newly added
    did_pad variable does the job.
    
    pr21404-{5,6,7,8} are the same testcases written for local symbols, as
    the code handles them slightly differently.

commit 8293e73636484b403150ae94a93619779bcbae96
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu May 4 00:00:55 2017 +0000

    Automatic date update in version.in

commit 8507b6e79772ffeb83a0142d12a63e02dcc44562
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 3 20:43:10 2017 +0100

    MIPS16/GAS: Relax 32-bit non-PIC PC-relative synthetic instructions
    
    Implement the relaxation of MIPS16 PC-relative synthetic LA, DLA, LW and
    LD instructions to an equivalent sequence of instructions produced where
    the address operand requested is out of range, absolute or requires
    linker relocation, for ABIs that use 32-bit addressing and non-PIC code.
    
    The sequence generated uses the register specified for the destination
    operand as a temporary and begins with LI to load the high 16-bit part
    of the address, then continues with SLL by 16 bits to move that part
    into place and finally completes with a suitable operation corresponding
    to the synthetic instruction used, one of: 2-argument ADDIU, 2-argument
    DADDIU, absolute LW, and absolute LD respectively, providing the low
    16-bit part of the address.  All instructions use the extended encoding.
    As a special exception accept absolute addresses for relaxation even in
    PIC code.
    
    For example:
    
    	la	$2, 0x12345678
    
    produces code as:
    
    	li	$2, 0x1234
    	sll	$2, $2, 16
    	addiu	$2, 0x5678
    
    would.
    
    Where linker relocation is required emit an R_MIPS16_HI16 relocation on
    the initial LI instruction and an R_MIPS16_LO16 relocation on the final
    operation.
    
    For example (where `foo' is not local):
    
    	lw	$3, foo
    
    produces code as:
    
    	li	$3, %hi(foo)
    	sll	$3, $3, 16
    	lw	$3, %lo(foo)($3)
    
    would.
    
    Emit assembly warnings as appropriate where this new relaxation triggers
    in the `nomacro' mode or for an instruction manually placed in a branch
    delay slot in the `noreorder' mode.  Refrain from relaxation where an
    explicit instruction size suffix has been used and in the `noautoextend'
    mode.
    
    	gas/
    	* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `pic', `sym32' and
    	`nomacro' flags.
    	(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO):
    	New macros.
    	(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
    	(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
    	(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
    	(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
    	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
    	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): Shift bits.
    	(RELAX_MIPS16_MACRO, RELAX_MIPS16_MARK_MACRO)
    	(RELAX_MIPS16_CLEAR_MACRO): New macros.
    	(append_insn): Pass `mips_pic', HAVE_32BIT_SYMBOLS and
    	`mips_opts.warn_about_macros' settings to RELAX_MIPS16_ENCODE.
    	(mips16_macro_frag): New function.
    	(md_estimate_size_before_relax): Handle HI16/LO16 relaxation.
    	(mips_relax_frag): Likewise.
    	(md_convert_frag): Likewise.
    
    	* testsuite/gas/mips/mips16@relax-swap3.d: Remove error output,
    	add dump patterns.
    	* testsuite/gas/mips/mips16e@relax-swap3.d: New test
    	subarchitecture.
    	* testsuite/gas/mips/micromips@relax-swap3.d: Remove trailing
    	NOP padding.
    	* testsuite/gas/mips/mips16-pcrel-reloc-2.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-reloc-3.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-reloc-6.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-reloc-7.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-addend-2.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-addend-3.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-absolute.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16@relax-swap3.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-2.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-3.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-6.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-7.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-addend-2.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-addend-3.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-absolute.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.l: Remove file.
    	* testsuite/gas/mips/relax-swap3.s: Adjust trailing padding.
    
    	* testsuite/gas/mips/mips16-pcrel-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-2.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-3.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-5.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-pic-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-pic-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n32-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n32-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-delay-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-delay-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-5.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-7.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-pic-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-2.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-3.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-5.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-7.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d:
    	New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d:
    	New test.
    	* testsuite/gas/mips/mips16-pcrel-0.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-1.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-2.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-3.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-4.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-5.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-delay-0.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-delay-1.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-addend-8.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-absolute-4.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-pcrel-0.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-1.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-2.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-3.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-4.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-5.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-delay-0.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-delay-1.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-4.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-5.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-6.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-7.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-8.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-absolute-2.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-3.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-4.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-5.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-7.s: New test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/mips16-pcrel-0.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-1.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 90cef2edd256c48d2ff9a03d4a6c1bcb575db07c
Author: Keith Seitz <keiths@redhat.com>
Date:   Wed May 3 12:41:09 2017 -0700

    Make sure malloc is linked into gdb.cp/oranking.cc.
    
    On some platforms, e.g., arm-eabi-none, we need to make certain that
    malloc is linked into the program because the test suite uses function
    calls requiring malloc:
    
    (gdb) p foo101("abc")
    evaluation of this expression requires the program to have a function "malloc".
    
    gdb/testsuite/ChangeLog
    
    	* gdb.cp/oranking.cc (dummy): New function to grab malloc.
    	(main): Call it.

commit b22908217d8593185af3f76fab6f0f01457b0600
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 3 07:40:51 2017 -0700

    Adjust testsuite/ld-elf/pr21384.d
    
    Adjust testsuite/ld-elf/pr21384.d to accommodate additional dynamic
    symbols on some targets.
    
    	* testsuite/ld-elf/pr21384.d: Adjusted to accommodate
    	additional dynamic symbols on some targets.

commit f81fdd350e688bd0216486b30884a52ebc4f32b8
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed May 3 14:51:40 2017 +0100

    Remove MAX_REGISTER_SIZE from frv-linux-tdep.c
    
    gdb/
    	* frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
    	* regcache.c (regcache::raw_supply_zeroed): New function.
    	* regcache.h (regcache::raw_supply_zeroed): New declaration.

commit 35837774a77d641ba3ae75930a7b08ed853759ad
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed May 3 09:21:27 2017 -0400

    gdbarch.sh: Remove commented out TARGET_CHAR_BIT definition
    
    As Pedro commented on the patch "Change field separator in gdbarch.sh",
    this commented out definition is probably not useful and should be
    removed.  It has been commented out for basically forever, and it
    probably serves the same intent as addressable_memory_unit_size.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh: Remove commented out definition of
    	TARGET_CHAR_BIT.
    	* gdbarch.h: Re-generate.

commit c94fee56f5f8e5e26a115a1ca155ddada9d43b31
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed May 3 09:13:15 2017 -0400

    Regenerate gdb/{,gdbserver/}configure (for commit be628ab814f1c90e185d7482d27aa8a991ab5837)
    
    On commit be628ab814f1c90e185d7482d27aa8a991ab5837, both
    common/common.m4 was modified in order to check for the presence of
    'termios.h', 'termio.h' and 'sgtty.h'.  However, I forgot to
    regenerate both gdb/configure and gdb/gdbserver/configure.  This
    commit does that.
    
    gdb/ChangeLog:
    2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* configure: Regenerate.

commit e78bb25cb636a331f27e9cc4cba5522939567695
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed May 3 09:52:01 2017 +0100

    Prevent a seg-fault in the assembler when provided with a bogus input source file.
    
    	PR gas/20941
    	* symbols.c (snapshot_symbol): Handle the case where
    	resolve_expression returns a local symbol.

commit 35387fdec5e10b281c218c9dc4f3dc33c3fcc522
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 3 00:00:41 2017 +0000

    Automatic date update in version.in

commit 82d808edbc7a06f706b82064cec6c3ed88f0c4be
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 3 00:05:15 2017 +0100

    MIPS16/GAS: Fix absolute references with PC-relative synthetic instructions
    
    Complement commit 88a7ef168927 ("MIPS16/GAS: Restore unsupported
    relocation diagnostics") and also propagate constant expressions, either
    already reduced from absolute symbol references or created from literals
    in the first place, used as a PC-relative operand with the MIPS16 LA,
    LW, DLA and LD synthetic instructions to relaxation, matching the way
    forward absolute symbol references have been handled as from the commit
    referred and letting relaxation produce any necessary relocations, if
    possible, for the absolute value requested to be reproduced at the run
    time.
    
    Call `symbol_append' for any expression symbol created for the purpose
    of MIPS16 relaxation as with constant expressions now propagated from
    earlier on such symbols may make it through and have R_MIPS16_PC16_S1
    relocations emitted against, and therefore need to appear in the symbol
    table produced.
    
    	gas/
    	* config/tc-mips.c (append_insn): Call `symbol_append' for any
    	expression symbol created for MIPS16 relaxation.
    	(match_mips16_insn): Don't encode a constant value as an
    	immediate with a PC-relative operand.
    
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-1.d: New
    	test.
    	* testsuite/gas/mips/mips16-branch-absolute-n32-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-n32-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n32-1.d: New
    	test.
    	* testsuite/gas/mips/mips16-branch-absolute-n64-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-n64-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n64-1.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.s: New test source.
    	* testsuite/gas/mips/mips16-branch-absolute-1.s: New test
    	source.
    	* testsuite/gas/mips/mips16-branch-absolute-2.s: New test
    	source.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-1.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/mips16-branch-absolute-1.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-2.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-1.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n32-1.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n32-2.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32-1.d:
    	New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n64-1.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n64-2.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64-1.d:
    	New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 3d8505928a06e00b05bb162c1ad0dd612c1c16af
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 2 16:00:49 2017 -0700

    x86: Add -Wl,--no-as-needed to some TLS tests
    
    	* testsuite/ld-i386/tls.exp: Add -Wl,--no-as-needed to
    	"TLS without PLT (1)" and "TLS without PLT (3)".
    	* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to
    	to "TLS without PLT (3)".

commit 43e379d74c994fe431368b5f25f778bf601a2981
Author: Michael Clark <michaeljclark@mac.com>
Date:   Thu Apr 27 16:08:46 2017 +1200

    RISC-V: Change CALL macro to use ra as the temporary address register
    
    e.g.
    
        1:  auipc ra, %pcrel_hi(symbol)
            jalr  ra, %pcrel_lo(1b)(ra)
    
    The use of ra instead of t1 for address construction provides an
    opportunity for a microarchitecture to elide the write of the
    destination address, and instead read the target address as an
    immediate spread across the fused auipc+jalr pair. The link
    register ra in the jalr overwrites the target address temporary.
    
    2017-05-01  Michael Clark  <michaeljclark@mac.com>
    
    	* riscv-opc.c (riscv_opcodes) <call>: Use RA not T1 as a temporary
    	register.

commit 763a5fa4f330d6d3859c94a69ba1fcab09330cf9
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Mon May 1 10:26:32 2017 -0700

    RISC-V: Allow 32-bit BFD to handle 64-bit objects
    
    We've been telling people that the riscv32-* and riscv64-* toolchains
    are exactly the same, but it turns out we were lying: the riscv32-* BFD
    doesn't handle 64-bit objects.  This fixes that difference, so the ports
    are actually the same.
    
    bfd/ChangeLog
    
    2017-05-01  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * config.bfd (riscv32-*): Enable rv64.

commit 640226f048b67d79da85742728e40114c9ee5da0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 2 13:54:22 2017 -0700

    Add a test for PR ld/21384
    
    	PR ld/21384
    	* testsuite/ld-elf/pr21384.d: New file.
    	* testsuite/ld-elf/pr21384.dl: Likewise.
    	* testsuite/ld-elf/pr21384.ld: Likewise.
    	* testsuite/ld-elf/pr21384.s: Likewise.

commit 2ecf0cc317d065cfeb960c61688897351521bce0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 2 12:16:26 2017 -0700

    Cast relcount to unsigned long when comparing with sec->reloc_count
    
    The type of relcount is long and the type of sec->reloc_count is
    unsigned int.  On 32-bit hosts, GCC issues an error:
    
    objcopy.c:2144:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           if (relcount > sec->reloc_count)
    
    Cast relcount to unsigned long to silence GCC.
    
    	* objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned
    	long when comparing with sec->reloc_count.

commit d17f7b365cf3896b3129b9077d55b3154fc43131
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue May 2 14:25:43 2017 -0400

    solib-target: Remove local variables
    
    Now that we use std::vector, these local variables are not very useful.
    They're not much shorter than the expressions they stand for.
    
    gdb/ChangeLog:
    
    	* solib-target.c (solib_target_relocate_section_addresses):
    	Remove num_section_bases, num_bases, segment_bases variables.

commit b560ebd6605503276e09b2ef75c94e1d10f176f2
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:09 2017 -0400

    Remove definition of VEC (CORE_ADDR)
    
    gdb/ChangeLog:
    
    	* common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.

commit f2f46dfcdafe6bd32152d80b5e832d2fab4e6900
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:08 2017 -0400

    Use std::vector in lm_info_target
    
    Replace the two VEC fields with std::vector.
    
    gdb/ChangeLog:
    
    	* solib-target.c: Include <vector>
    	(struct lm_info_target) <~lm_info_target>: Remove.
    	<segment_bases, section_bases>: Change type to
    	std::vector<CORE_ADDR>.
    	(library_list_start_segment, library_list_start_section,
    	library_list_end_library,
    	solib_target_relocate_section_addresses): Adjust.

commit a0ff9e1ad221c11f58a9d8d12a84c21579132d85
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:07 2017 -0400

    Change return type of gdbarch_software_single_step to vector<CORE_ADDR>
    
    This is a relatively straightforward patch that changes
    gdbarch_software_single_step so it returns an std::vector<CORE_ADDR>
    instead of a VEC (CORE_ADDR).
    
    gdb/ChangeLog:
    
    	* gdbarch.sh (software_single_step): Change return type to
    	std::vector<CORE_ADDR>.
    	* gdbarch.c, gdbarch.h: Re-generate.
    	* arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
    	Adjust.
    	(arm_deal_with_atomic_sequence_raw): Adjust.
    	(thumb_get_next_pcs_raw): Adjust.
    	(arm_get_next_pcs_raw): Adjust.
    	(arm_get_next_pcs): Adjust.
    	* arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
    	* aarch64-tdep.c (aarch64_software_single_step): Adjust.
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
    	(alpha_software_single_step): Adjust.
    	* alpha-tdep.h (alpha_software_single_step): Adjust.
    	* arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
    	* arm-tdep.c (arm_software_single_step): Adjust.
    	(arm_breakpoint_kind_from_current_state): Adjust.
    	* arm-tdep.h (arm_software_single_step): Adjust.
    	* breakpoint.c (insert_single_step_breakpoint): Adjust.
    	* cris-tdep.c (cris_software_single_step): Adjust.
    	* mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
    	(micromips_deal_with_atomic_sequence): Adjust.
    	(deal_with_atomic_sequence): Adjust.
    	(mips_software_single_step): Adjust.
    	* mips-tdep.h (mips_software_single_step): Adjust.
    	* moxie-tdep.c (moxie_software_single_step): Adjust.
    	* nios2-tdep.c (nios2_software_single_step): Adjust.
    	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
    	* rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
    	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
    	* s390-linux-tdep.c (s390_software_single_step): Adjust.
    	* sparc-tdep.c (sparc_software_single_step): Adjust.
    	* spu-tdep.c (spu_software_single_step): Adjust.
    	* tic6x-tdep.c (tic6x_software_single_step): Adjust.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-arm-low.c (arm_gdbserver_get_next_pcs): Adjust to
    	software_single_step change of return type to
    	std::vector<CORE_ADDR>.
    	* linux-low.c (install_software_single_step_breakpoints):
    	Likewise.
    	* linux-low.h (install_software_single_step_breakpoints):
    	Likewise.

commit ea480a306d46efe3dd1839618137f0e73a80e9b3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:07 2017 -0400

    Change field separator in gdbarch.sh
    
    The fields in the description of the gdbarch interface are separated
    using colons.  That becomes a problem if we want to use things like
    std::vector in it. This patch changes the field separator to use
    semicolons instead.
    
    I think there's very little chance we'll ever want to use a semicolon in
    one of the fields, but if you think another character would be more
    appropriate, let me know.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh: Use semi-colon as field separator instead of colon.
    	* gdbarch.h: Re-generate.

commit 1395c6ce47510babad3dcb9892f6f2517a3f2b59
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue May 2 16:54:53 2017 +0100

    Don't merge notes when the relocs associated with them cannot be reliably deleted.
    
    	* objcopy.c (merge_gnu_build_notes): Disable merge if there are
    	more internal relocs than external relocs.

commit 73ec947d59c511411377ad51ef792a5fcdd3f0cc
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 2 21:56:43 2017 +0930

    PR 21384, --dynamic-list regression with f02cb058
    
    The commit to "Always descend into output section statements in
    lang_do_assignments" meant that linker script symbols were not
    bfd_link_hash_new when ld called bfd_elf_record_link_assignment.
    This patch corrects that problem by testing h->non_elf instead.
    
    	PR 21384
    	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
    	rather than h->root.type == bfd_link_hash_new.
    	(bfd_elf_record_link_assignment): Similarly, call
    	bfd_elf_link_mark_dynamic_symbol when h->non_elf.

commit a4ddc54ec1cd187c844ca631fe0315bf1d78e96f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue May 2 11:53:30 2017 +0100

    MIPS16/opcodes: Keep the LSB of PC-relative offsets in disassembly
    
    Correct the disassembly of the PC-relative immediate argument of the
    MIPS16 synthetic LA, LW, DLA and LD instructions and do not mask the
    LSB, which in this case is a part of the data address rather than the
    ISA bit and has to be fully presented.
    
    	opcodes/
    	* mips-dis.c (print_insn_arg): Only clear the ISA bit for jumps
    	and branches and not synthetic data instructions.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
    	disassembly of PC-relative LA and LW synthetic instructions.

commit 39ff1b79f687b65f4144ddb379f22587003443fb
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue May 2 11:54:53 2017 +0100

    Prevent memory exhaustion from a corrupt PE binary with an overlarge number of relocs.
    
    	PR 21440
    	* objdump.c (dump_relocs_in_section): Check for an excessive
    	number of relocs before attempting to dump them.

commit d050f7d7f474c7e3ba26902a9cbb185910921a11
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Introduce gdb.Instruction class
    
    This adds a generic instruction class to Python and has gdb.RecordInstruction
    inherit from it.

commit 14f819c8c5f7d080e5eea9256f0ec7453aac750e
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Move and rename gdb.BtraceFunction
    
    Remove gdb.BtraceFunctionCall and replace by gdb.FunctionSegment.  Additionally,
    rename prev_segment and next_segment to prev and next.

commit 0ed5da759e34c6e85cb2a9ea0fdc7b680f897a81
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Move and rename gdb.BtraceInstruction
    
    Remove gdb.BtraceInstruction and replace by gdb.RecordInstruction.

commit 913aeadd9d6b8bdea5131b16dc7ede395097656d
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Introduce gdb.RecordGap class
    
    As discussed here: https://sourceware.org/ml/gdb-patches/2017-04/msg00157.html
    
    A gap is not an instruction and it should not pretend to be one.
    gdb.Record.instruction_history is now a list of gdb.RecordInstruction and
    gdb.RecordGap objects.  This allows the user to deal with Gaps in the record
    in a more sane way.

commit a3be24ad59d683d1b08df28e093739743a7cf256
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Remove ptid from gdb.Record interface
    
    As discussed here: https://sourceware.org/ml/gdb-patches/2017-04/msg00166.html

commit ae20e79ae852fee8f7d42701a54a95de3b79ecea
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Use correct ptid in btrace recording
    
    The user would always get the instruction_history and function_call_history
    objects of the current thread, not the thread for which the gdb.Record object
    was created.
    
    The attached testcase fails without this patch and passes with the patch.

commit 8d0050ea192c41349c1f2b000866c1bdb761abeb
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Fix indentation in py-record-btrace.c

commit fe50e98c9a22a89ca2e032b17aa7162452c3ad3b
Author: Bernd Edlinger <bernd.edlinger@hotmail.de>
Date:   Tue May 2 10:28:09 2017 +0100

    Fix value in comment of disassembled ARM type A opcodes.
    
    	* arm-dis.c (print_insn_thumb32): Fix value_in_comment.

commit 122a483d4f19c8b0a7f3d265dad882bd4f2c868a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 2 00:00:39 2017 +0000

    Automatic date update in version.in

commit 0aae7e72a2a11ef1fd2a3b4fd18c8d8d49e0c21b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 1 11:02:55 2017 -0700

    x86: Run GNU2 TLS tests with working GNU2 TLS support
    
    Check if GNU2 TLS really works before running GNU2 TLS tests.
    
    	* testsuite/ld-i386/tls.exp: Run GNU2 TLS tests only if there
    	is working GNU2 TLS support.
    	* testsuite/ld-x86-64/tls.exp: Likewise.
    	* testsuite/lib/ld-lib.exp (check_gnu2_tls_available): New proc.

commit 3f380b502769e55bbcdf7b9587c62344913c6ee8
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon May 1 09:59:15 2017 -0700

    gdb/MAINTAINERS: Move Daniel J and Mark to the Past Maintainers section.
    
    gdb/ChangeLog:
    
            * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
            the past maintainers section.

commit ee7e95efb98186c09dc2c39b32263aa15b147bb0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon May 1 14:11:27 2017 +0930

    merge_gnu_build_notes reloc deletion
    
    If moving relocs, the next reloc to look at is at the same location.
    
    	* objcopy.c (merge_gnu_build_notes): Correct code deleting
    	relocs.

commit 6224c858130fe5c5e5d8b2abdec1cea35986d9e7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 1 00:00:35 2017 +0000

    Automatic date update in version.in

commit 020bf56c8e55bfbe5a53989eac0c72b8d2416feb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 30 00:00:31 2017 +0000

    Automatic date update in version.in

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

Summary of changes:
 bfd/ChangeLog                                      |   21 +
 bfd/config.bfd                                     |    3 +-
 bfd/elf32-avr.c                                    |   91 ++-
 bfd/elflink.c                                      |   12 +-
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |   26 +
 binutils/objcopy.c                                 |   20 +-
 binutils/objdump.c                                 |    8 +
 .../testsuite/binutils-all/mips/mips16-undecoded.d |   20 +-
 gas/ChangeLog                                      |  185 ++++++
 gas/config/tc-mips.c                               |  319 +++++++++---
 gas/symbols.c                                      |   20 +-
 gas/testsuite/gas/mips/micromips@relax-swap3.d     |    1 -
 gas/testsuite/gas/mips/mips.exp                    |   66 +++
 gas/testsuite/gas/mips/mips16-branch-absolute-1.d  |   20 +
 gas/testsuite/gas/mips/mips16-branch-absolute-1.s  |   22 +
 gas/testsuite/gas/mips/mips16-branch-absolute-2.d  |    4 +
 gas/testsuite/gas/mips/mips16-branch-absolute-2.s  |   20 +
 .../gas/mips/mips16-branch-absolute-addend-1.d     |    4 +
 .../gas/mips/mips16-branch-absolute-addend-1.s     |   22 +
 .../gas/mips/mips16-branch-absolute-addend-n32-1.d |    5 +
 .../gas/mips/mips16-branch-absolute-addend-n64-1.d |    5 +
 .../gas/mips/mips16-branch-absolute-n32-1.d        |    5 +
 .../gas/mips/mips16-branch-absolute-n32-2.d        |    5 +
 .../gas/mips/mips16-branch-absolute-n64-1.d        |    5 +
 .../gas/mips/mips16-branch-absolute-n64-2.d        |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-0.d            |   47 ++
 gas/testsuite/gas/mips/mips16-pcrel-0.l            |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-0.s            |   39 ++
 gas/testsuite/gas/mips/mips16-pcrel-1.d            |   47 ++
 gas/testsuite/gas/mips/mips16-pcrel-1.l            |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-1.s            |   39 ++
 gas/testsuite/gas/mips/mips16-pcrel-2.d            |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-2.l            |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-2.s            |   43 ++
 gas/testsuite/gas/mips/mips16-pcrel-3.d            |    3 +
 gas/testsuite/gas/mips/mips16-pcrel-3.l            |    7 +
 gas/testsuite/gas/mips/mips16-pcrel-3.s            |   29 +
 gas/testsuite/gas/mips/mips16-pcrel-4.d            |    3 +
 gas/testsuite/gas/mips/mips16-pcrel-4.l            |   15 +
 gas/testsuite/gas/mips/mips16-pcrel-4.s            |   52 ++
 gas/testsuite/gas/mips/mips16-pcrel-5.d            |    3 +
 gas/testsuite/gas/mips/mips16-pcrel-5.l            |   15 +
 gas/testsuite/gas/mips/mips16-pcrel-5.s            |   54 ++
 gas/testsuite/gas/mips/mips16-pcrel-absolute-1.d   |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-1.s   |   18 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-2.d   |   16 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-2.s   |   18 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-3.d   |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-3.s   |   18 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-4.d   |   34 ++
 gas/testsuite/gas/mips/mips16-pcrel-absolute-4.l   |    9 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-4.s   |   24 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-5.d   |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-5.s   |   24 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-6.d   |   34 ++
 gas/testsuite/gas/mips/mips16-pcrel-absolute-6.l   |    9 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-6.s   |   24 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-7.d   |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute-7.s   |   24 +
 .../gas/mips/mips16-pcrel-absolute-n32-4.d         |    5 +
 .../gas/mips/mips16-pcrel-absolute-n32-6.d         |    5 +
 .../gas/mips/mips16-pcrel-absolute-n64-4.d         |    4 +
 .../gas/mips/mips16-pcrel-absolute-n64-6.d         |    4 +
 .../gas/mips/mips16-pcrel-absolute-n64-sym32-4.d   |    5 +
 .../gas/mips/mips16-pcrel-absolute-n64-sym32-6.d   |    5 +
 .../gas/mips/mips16-pcrel-absolute-pic-4.d         |    5 +
 .../gas/mips/mips16-pcrel-absolute-pic-6.d         |    5 +
 .../gas/mips/mips16-pcrel-absolute-pic-n32-4.d     |    5 +
 .../gas/mips/mips16-pcrel-absolute-pic-n32-6.d     |    5 +
 .../gas/mips/mips16-pcrel-absolute-pic-n64-4.d     |    4 +
 .../gas/mips/mips16-pcrel-absolute-pic-n64-6.d     |    4 +
 .../mips/mips16-pcrel-absolute-pic-n64-sym32-4.d   |    5 +
 .../mips/mips16-pcrel-absolute-pic-n64-sym32-6.d   |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-absolute.d     |   15 +-
 gas/testsuite/gas/mips/mips16-pcrel-absolute.l     |    3 -
 gas/testsuite/gas/mips/mips16-pcrel-addend-2.d     |   20 +-
 gas/testsuite/gas/mips/mips16-pcrel-addend-2.l     |    3 -
 gas/testsuite/gas/mips/mips16-pcrel-addend-3.d     |   19 +-
 gas/testsuite/gas/mips/mips16-pcrel-addend-3.l     |    3 -
 gas/testsuite/gas/mips/mips16-pcrel-addend-4.d     |   13 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-4.s     |   25 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-5.d     |   13 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-5.s     |   25 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-6.d     |   21 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-6.s     |   26 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-7.d     |   20 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-7.s     |   16 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-8.d     |   50 ++
 gas/testsuite/gas/mips/mips16-pcrel-addend-8.l     |    9 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-8.s     |   22 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-9.d     |   50 ++
 gas/testsuite/gas/mips/mips16-pcrel-addend-9.l     |    9 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-9.s     |   22 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-n32-8.d |   51 ++
 gas/testsuite/gas/mips/mips16-pcrel-addend-n32-9.d |   51 ++
 gas/testsuite/gas/mips/mips16-pcrel-addend-n64-8.d |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-n64-9.d |    4 +
 .../gas/mips/mips16-pcrel-addend-n64-sym32-8.d     |   83 +++
 .../gas/mips/mips16-pcrel-addend-n64-sym32-9.d     |   83 +++
 gas/testsuite/gas/mips/mips16-pcrel-addend-pic-8.d |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-addend-pic-9.d |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-delay-0.d      |   35 ++
 gas/testsuite/gas/mips/mips16-pcrel-delay-0.l      |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-delay-0.s      |   36 ++
 gas/testsuite/gas/mips/mips16-pcrel-delay-1.d      |   40 ++
 gas/testsuite/gas/mips/mips16-pcrel-delay-1.l      |    5 +
 gas/testsuite/gas/mips/mips16-pcrel-delay-1.s      |   35 ++
 gas/testsuite/gas/mips/mips16-pcrel-n32-0.d        |   48 ++
 gas/testsuite/gas/mips/mips16-pcrel-n32-1.d        |   48 ++
 gas/testsuite/gas/mips/mips16-pcrel-n64-0.d        |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-n64-1.d        |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d  |   64 +++
 gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d  |   64 +++
 gas/testsuite/gas/mips/mips16-pcrel-pic-0.d        |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-pic-1.d        |    4 +
 gas/testsuite/gas/mips/mips16-pcrel-reloc-2.d      |   20 +-
 gas/testsuite/gas/mips/mips16-pcrel-reloc-2.l      |    3 -
 gas/testsuite/gas/mips/mips16-pcrel-reloc-3.d      |   19 +-
 gas/testsuite/gas/mips/mips16-pcrel-reloc-3.l      |    3 -
 gas/testsuite/gas/mips/mips16-pcrel-reloc-6.d      |   20 +-
 gas/testsuite/gas/mips/mips16-pcrel-reloc-6.l      |    3 -
 gas/testsuite/gas/mips/mips16-pcrel-reloc-7.d      |   19 +-
 gas/testsuite/gas/mips/mips16-pcrel-reloc-7.l      |    3 -
 gas/testsuite/gas/mips/mips16@relax-swap3.d        |   23 +-
 gas/testsuite/gas/mips/mips16@relax-swap3.l        |    3 -
 gas/testsuite/gas/mips/mips16e@relax-swap3.d       |   21 +
 gas/testsuite/gas/mips/relax-swap3.s               |    6 +-
 gdb/ChangeLog                                      |  389 +++++++++++++
 gdb/MAINTAINERS                                    |   17 +-
 gdb/Makefile.in                                    |   29 +-
 gdb/aarch64-tdep.c                                 |   17 +-
 gdb/alpha-tdep.c                                   |   23 +-
 gdb/alpha-tdep.h                                   |    3 +-
 gdb/arch/arm-get-next-pcs.c                        |   89 ++--
 gdb/arch/arm-get-next-pcs.h                        |    5 +-
 gdb/arm-linux-tdep.c                               |   21 +-
 gdb/arm-tdep.c                                     |   30 +-
 gdb/arm-tdep.h                                     |    4 +-
 gdb/breakpoint.c                                   |  107 ++---
 gdb/btrace.c                                       |    9 +-
 gdb/common/gdb_vecs.h                              |    2 -
 gdb/config/aarch64/linux.mh                        |   29 -
 gdb/config/alpha/alpha-linux.mh                    |   15 -
 gdb/config/alpha/nbsd.mh                           |    4 -
 gdb/config/arm/linux.mh                            |   10 -
 gdb/config/arm/nbsdelf.mh                          |    2 -
 gdb/config/i386/cygwin.mh                          |    3 -
 gdb/config/i386/cygwin64.mh                        |   20 -
 gdb/config/i386/darwin.mh                          |    4 -
 gdb/config/i386/fbsd.mh                            |    8 -
 gdb/config/i386/fbsd64.mh                          |    7 -
 gdb/config/i386/go32.mh                            |   11 -
 gdb/config/i386/{i386gnu.mh => i386gnu.mn}         |   12 -
 gdb/config/i386/i386sol2.mh                        |    4 -
 gdb/config/i386/linux.mh                           |   14 -
 gdb/config/i386/linux64.mh                         |   15 -
 gdb/config/i386/mingw.mh                           |    3 -
 gdb/config/i386/mingw64.mh                         |    1 -
 gdb/config/i386/nbsd64.mh                          |    3 -
 gdb/config/i386/nbsdelf.mh                         |    5 -
 gdb/config/i386/nto.mh                             |    4 -
 gdb/config/i386/obsd.mh                            |    5 -
 gdb/config/i386/obsd64.mh                          |    5 -
 gdb/config/i386/sol2-64.mh                         |    4 -
 gdb/config/ia64/linux.mh                           |   13 -
 gdb/config/m32r/linux.mh                           |   10 -
 gdb/config/m68k/linux.mh                           |   14 -
 gdb/config/m68k/nbsdelf.mh                         |    4 -
 gdb/config/m68k/obsd.mh                            |    4 -
 gdb/config/m88k/obsd.mh                            |    2 -
 gdb/config/mips/fbsd.mh                            |    3 -
 gdb/config/mips/linux.mh                           |   11 -
 gdb/config/mips/nbsd.mh                            |    2 -
 gdb/config/mips/obsd64.mh                          |    2 -
 gdb/config/pa/linux.mh                             |   10 -
 gdb/config/pa/nbsd.mh                              |    2 -
 gdb/config/pa/obsd.mh                              |    2 -
 gdb/config/powerpc/aix.mh                          |    8 -
 gdb/config/powerpc/fbsd.mh                         |   24 -
 gdb/config/powerpc/linux.mh                        |   12 -
 gdb/config/powerpc/nbsd.mh                         |    4 -
 gdb/config/powerpc/obsd.mh                         |    4 -
 gdb/config/powerpc/ppc64-linux.mh                  |   15 -
 gdb/config/powerpc/spu-linux.mh                    |    8 -
 gdb/config/s390/linux.mh                           |    9 -
 gdb/config/sh/nbsd.mh                              |    2 -
 gdb/config/sparc/fbsd.mh                           |    7 -
 gdb/config/sparc/linux.mh                          |   13 -
 gdb/config/sparc/linux64.mh                        |   13 -
 gdb/config/sparc/nbsd64.mh                         |    5 -
 gdb/config/sparc/nbsdelf.mh                        |    5 -
 gdb/config/sparc/obsd64.mh                         |    5 -
 gdb/config/sparc/sol2.mh                           |    6 -
 gdb/config/tilegx/linux.mh                         |   13 -
 gdb/config/vax/nbsdelf.mh                          |    5 -
 gdb/config/vax/obsd.mh                             |    5 -
 gdb/config/xtensa/linux.mh                         |   11 -
 gdb/configure                                      |   43 +-
 gdb/configure.ac                                   |   37 +-
 gdb/configure.nat                                  |  484 ++++++++++++++++
 gdb/corelow.c                                      |   80 ++-
 gdb/cris-tdep.c                                    |    8 +-
 gdb/doc/ChangeLog                                  |   26 +
 gdb/doc/Makefile.in                                |    3 -
 gdb/doc/python.texi                                |  108 ++--
 gdb/exec.c                                         |   15 +-
 gdb/frv-linux-tdep.c                               |    7 +-
 gdb/gdbarch.c                                      |    2 +-
 gdb/gdbarch.h                                      |   11 +-
 gdb/gdbarch.sh                                     |  389 +++++++-------
 gdb/gdbserver/ChangeLog                            |   22 +
 gdb/gdbserver/configure                            |    4 +-
 gdb/gdbserver/linux-arm-low.c                      |    7 +-
 gdb/gdbserver/linux-low.c                          |    9 +-
 gdb/gdbserver/linux-low.h                          |    2 +-
 gdb/gdbthread.h                                    |   22 +-
 gdb/infcmd.c                                       |   31 +-
 gdb/inferior.c                                     |   29 +-
 gdb/inferior.h                                     |   23 +-
 gdb/infrun.c                                       |   65 ++-
 gdb/linespec.c                                     |    6 +-
 gdb/mi/mi-main.c                                   |   12 +-
 gdb/mips-tdep.c                                    |   57 +-
 gdb/mips-tdep.h                                    |    3 +-
 gdb/moxie-tdep.c                                   |   26 +-
 gdb/nios2-tdep.c                                   |    7 +-
 gdb/ppc-tdep.h                                     |    3 +-
 gdb/proc-service.c                                 |   18 +-
 gdb/progspace-and-thread.c                         |   43 ++
 gdb/progspace-and-thread.h                         |   40 ++
 gdb/progspace.c                                    |   80 +---
 gdb/progspace.h                                    |   32 +-
 gdb/python/py-instruction.c                        |   67 +++
 gdb/python/py-instruction.h                        |   30 +
 gdb/python/py-record-btrace.c                      |  596 ++++++++------------
 gdb/python/py-record-btrace.h                      |   42 ++
 gdb/python/py-record.c                             |  424 +++++++++++++-
 gdb/python/py-record.h                             |   74 +++
 gdb/python/python-internal.h                       |    2 +
 gdb/python/python.c                                |    1 +
 gdb/regcache.c                                     |   20 +
 gdb/regcache.h                                     |    2 +
 gdb/remote.c                                       |    5 +-
 gdb/rs6000-aix-tdep.c                              |   10 +-
 gdb/rs6000-tdep.c                                  |   15 +-
 gdb/s390-linux-tdep.c                              |   15 +-
 gdb/solib-target.c                                 |   61 +--
 gdb/sparc-tdep.c                                   |    8 +-
 gdb/spu-tdep.c                                     |    9 +-
 gdb/symtab.c                                       |   12 +-
 gdb/testsuite/ChangeLog                            |   29 +
 gdb/testsuite/gdb.cp/oranking.cc                   |   17 +
 .../gdb.python/py-record-btrace-threads.c          |   58 ++
 .../gdb.python/py-record-btrace-threads.exp        |   81 +++
 gdb/testsuite/gdb.python/py-record-btrace.exp      |    6 +-
 gdb/thread.c                                       |  249 ++++-----
 gdb/tic6x-tdep.c                                   |    7 +-
 gdb/tracepoint.c                                   |    6 +-
 gdb/varobj.c                                       |    5 +-
 gdb/warning.m4                                     |    2 +-
 ld/ChangeLog                                       |   79 +++
 ld/testsuite/ld-avr/pr21404-1.d                    |   12 +
 ld/testsuite/ld-avr/pr21404-1.s                    |   11 +
 ld/testsuite/ld-avr/pr21404-2.d                    |   16 +
 ld/testsuite/ld-avr/pr21404-2.s                    |   25 +
 ld/testsuite/ld-avr/pr21404-3.d                    |   10 +
 ld/testsuite/ld-avr/pr21404-3.s                    |   10 +
 ld/testsuite/ld-avr/pr21404-4.d                    |   10 +
 ld/testsuite/ld-avr/pr21404-4.s                    |   10 +
 ld/testsuite/ld-avr/pr21404-5.d                    |   11 +
 ld/testsuite/ld-avr/pr21404-5.s                    |    9 +
 ld/testsuite/ld-avr/pr21404-6.d                    |   16 +
 ld/testsuite/ld-avr/pr21404-6.s                    |   19 +
 ld/testsuite/ld-avr/pr21404-7.d                    |   10 +
 ld/testsuite/ld-avr/pr21404-7.s                    |    9 +
 ld/testsuite/ld-avr/pr21404-8.d                    |   10 +
 ld/testsuite/ld-avr/pr21404-8.s                    |    9 +
 ld/testsuite/ld-elf/pr21384.d                      |   12 +
 ld/testsuite/ld-elf/pr21384.dl                     |    4 +
 ld/testsuite/ld-elf/pr21384.ld                     |   22 +
 ld/testsuite/ld-elf/pr21384.s                      |    2 +
 ld/testsuite/ld-i386/tls.exp                       |    9 +-
 ld/testsuite/ld-mips-elf/mips-elf.exp              |   27 +
 .../ld-mips-elf/mips16-branch-absolute-1.d         |    6 +
 .../ld-mips-elf/mips16-branch-absolute-2.d         |    6 +
 .../ld-mips-elf/mips16-branch-absolute-addend-1.d  |    6 +
 .../mips16-branch-absolute-addend-n32-1.d          |    6 +
 .../mips16-branch-absolute-addend-n64-1.d          |    6 +
 .../ld-mips-elf/mips16-branch-absolute-n32-1.d     |    6 +
 .../ld-mips-elf/mips16-branch-absolute-n32-2.d     |    6 +
 .../ld-mips-elf/mips16-branch-absolute-n64-1.d     |    6 +
 .../ld-mips-elf/mips16-branch-absolute-n64-2.d     |    6 +
 ld/testsuite/ld-mips-elf/mips16-pcrel-0.d          |   41 ++
 ld/testsuite/ld-mips-elf/mips16-pcrel-1.d          |   41 ++
 ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d   |   19 +
 ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d   |   19 +
 ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d      |    6 +
 ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d      |    6 +
 .../ld-mips-elf/mips16-pcrel-n64-sym32-0.d         |    6 +
 .../ld-mips-elf/mips16-pcrel-n64-sym32-1.d         |    6 +
 ld/testsuite/ld-x86-64/tls.exp                     |    7 +-
 ld/testsuite/lib/ld-lib.exp                        |   64 +++
 opcodes/ChangeLog                                  |   18 +
 opcodes/arm-dis.c                                  |    4 +-
 opcodes/mips-dis.c                                 |    7 +-
 opcodes/riscv-dis.c                                |    1 +
 opcodes/riscv-opc.c                                |    2 +-
 308 files changed, 6270 insertions(+), 2049 deletions(-)
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-1.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-2.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-2.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend-n32-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-addend-n64-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-n32-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-n32-2.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-n64-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-absolute-n64-2.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-0.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-0.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-0.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-1.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-1.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-2.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-2.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-2.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-3.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-3.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-3.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-4.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-4.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-5.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-5.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-5.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-1.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-2.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-2.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-3.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-3.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-4.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-4.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-5.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-5.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-6.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-6.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-7.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-7.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-absolute.l
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-2.l
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-3.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-4.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-5.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-5.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-6.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-6.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-7.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-7.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-8.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-8.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-8.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-9.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-9.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-9.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-n32-8.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-n32-9.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-n64-8.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-n64-9.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-pic-8.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-addend-pic-9.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-delay-0.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-delay-0.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-delay-0.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-delay-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-delay-1.l
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-delay-1.s
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-n32-0.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-n32-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-n64-0.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-n64-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-pic-0.d
 create mode 100644 gas/testsuite/gas/mips/mips16-pcrel-pic-1.d
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-reloc-2.l
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-reloc-3.l
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-reloc-6.l
 delete mode 100644 gas/testsuite/gas/mips/mips16-pcrel-reloc-7.l
 delete mode 100644 gas/testsuite/gas/mips/mips16@relax-swap3.l
 create mode 100644 gas/testsuite/gas/mips/mips16e@relax-swap3.d
 delete mode 100644 gdb/config/aarch64/linux.mh
 delete mode 100644 gdb/config/alpha/alpha-linux.mh
 delete mode 100644 gdb/config/alpha/nbsd.mh
 delete mode 100644 gdb/config/arm/linux.mh
 delete mode 100644 gdb/config/arm/nbsdelf.mh
 delete mode 100644 gdb/config/i386/cygwin.mh
 delete mode 100644 gdb/config/i386/cygwin64.mh
 delete mode 100644 gdb/config/i386/darwin.mh
 delete mode 100644 gdb/config/i386/fbsd.mh
 delete mode 100644 gdb/config/i386/fbsd64.mh
 delete mode 100644 gdb/config/i386/go32.mh
 rename gdb/config/i386/{i386gnu.mh => i386gnu.mn} (79%)
 delete mode 100644 gdb/config/i386/i386sol2.mh
 delete mode 100644 gdb/config/i386/linux.mh
 delete mode 100644 gdb/config/i386/linux64.mh
 delete mode 100644 gdb/config/i386/mingw.mh
 delete mode 100644 gdb/config/i386/mingw64.mh
 delete mode 100644 gdb/config/i386/nbsd64.mh
 delete mode 100644 gdb/config/i386/nbsdelf.mh
 delete mode 100644 gdb/config/i386/nto.mh
 delete mode 100644 gdb/config/i386/obsd.mh
 delete mode 100644 gdb/config/i386/obsd64.mh
 delete mode 100644 gdb/config/i386/sol2-64.mh
 delete mode 100644 gdb/config/ia64/linux.mh
 delete mode 100644 gdb/config/m32r/linux.mh
 delete mode 100644 gdb/config/m68k/linux.mh
 delete mode 100644 gdb/config/m68k/nbsdelf.mh
 delete mode 100644 gdb/config/m68k/obsd.mh
 delete mode 100644 gdb/config/m88k/obsd.mh
 delete mode 100644 gdb/config/mips/fbsd.mh
 delete mode 100644 gdb/config/mips/linux.mh
 delete mode 100644 gdb/config/mips/nbsd.mh
 delete mode 100644 gdb/config/mips/obsd64.mh
 delete mode 100644 gdb/config/pa/linux.mh
 delete mode 100644 gdb/config/pa/nbsd.mh
 delete mode 100644 gdb/config/pa/obsd.mh
 delete mode 100644 gdb/config/powerpc/aix.mh
 delete mode 100644 gdb/config/powerpc/fbsd.mh
 delete mode 100644 gdb/config/powerpc/linux.mh
 delete mode 100644 gdb/config/powerpc/nbsd.mh
 delete mode 100644 gdb/config/powerpc/obsd.mh
 delete mode 100644 gdb/config/powerpc/ppc64-linux.mh
 delete mode 100644 gdb/config/powerpc/spu-linux.mh
 delete mode 100644 gdb/config/s390/linux.mh
 delete mode 100644 gdb/config/sh/nbsd.mh
 delete mode 100644 gdb/config/sparc/fbsd.mh
 delete mode 100644 gdb/config/sparc/linux.mh
 delete mode 100644 gdb/config/sparc/linux64.mh
 delete mode 100644 gdb/config/sparc/nbsd64.mh
 delete mode 100644 gdb/config/sparc/nbsdelf.mh
 delete mode 100644 gdb/config/sparc/obsd64.mh
 delete mode 100644 gdb/config/sparc/sol2.mh
 delete mode 100644 gdb/config/tilegx/linux.mh
 delete mode 100644 gdb/config/vax/nbsdelf.mh
 delete mode 100644 gdb/config/vax/obsd.mh
 delete mode 100644 gdb/config/xtensa/linux.mh
 create mode 100644 gdb/configure.nat
 create mode 100644 gdb/progspace-and-thread.c
 create mode 100644 gdb/progspace-and-thread.h
 create mode 100644 gdb/python/py-instruction.c
 create mode 100644 gdb/python/py-instruction.h
 create mode 100644 gdb/python/py-record.h
 create mode 100644 gdb/testsuite/gdb.python/py-record-btrace-threads.c
 create mode 100644 gdb/testsuite/gdb.python/py-record-btrace-threads.exp
 create mode 100644 ld/testsuite/ld-avr/pr21404-1.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-1.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-2.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-2.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-3.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-3.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-4.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-4.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-5.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-5.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-6.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-6.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-7.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-7.s
 create mode 100644 ld/testsuite/ld-avr/pr21404-8.d
 create mode 100644 ld/testsuite/ld-avr/pr21404-8.s
 create mode 100644 ld/testsuite/ld-elf/pr21384.d
 create mode 100644 ld/testsuite/ld-elf/pr21384.dl
 create mode 100644 ld/testsuite/ld-elf/pr21384.ld
 create mode 100644 ld/testsuite/ld-elf/pr21384.s
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-2.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-addend-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-n32-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-n32-2.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-n64-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-branch-absolute-n64-2.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-0.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-addend-2.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-addend-6.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-n32-0.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-n32-1.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d
 create mode 100644 ld/testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index dff6a59..27ac8c3 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,24 @@
+2017-05-01  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+	PR ld/21404
+	* elf32-avr.c (avr_should_move_sym): New function.
+	(avr_should_reduce_sym_size): Likewise.
+	(avr_should_increase_sym_size): Likewise.
+	(elf32_avr_relax_delete_bytes): Adjust symbol values
+	and sizes by calling new functions.
+
+2017-05-01  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* config.bfd (riscv32-*): Enable rv64.
+
+2017-05-02  Alan Modra  <amodra@gmail.com>
+
+	PR 21384
+	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
+	rather than h->root.type == bfd_link_hash_new.
+	(bfd_elf_record_link_assignment): Similarly, call
+	bfd_elf_link_mark_dynamic_symbol when h->non_elf.
+
 2017-04-29  Alan Modra  <amodra@gmail.com>
 
 	PR 21432
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 151de95..eb6a958 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -1441,10 +1441,9 @@ case "${targ}" in
 #ifdef BFD64
   riscv32-*-*)
     targ_defvec=riscv_elf32_vec
-    targ_selvecs="riscv_elf32_vec"
+    targ_selvecs="riscv_elf32_vec riscv_elf64_vec"
     want64=true
     ;;
-
   riscv64-*-*)
     targ_defvec=riscv_elf64_vec
     targ_selvecs="riscv_elf32_vec riscv_elf64_vec"
diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c
index 0f6c188..f140aa7 100644
--- a/bfd/elf32-avr.c
+++ b/bfd/elf32-avr.c
@@ -1854,6 +1854,40 @@ elf32_avr_adjust_reloc_if_spans_insn (bfd *abfd,
     }
 }
 
+static bfd_boolean
+avr_should_move_sym (symvalue symval,
+                     bfd_vma start,
+                     bfd_vma end,
+                     bfd_boolean did_pad)
+{
+  bfd_boolean sym_within_boundary =
+          did_pad ? symval < end : symval <= end;
+  return (symval > start && sym_within_boundary);
+}
+
+static bfd_boolean
+avr_should_reduce_sym_size (symvalue symval,
+                            symvalue symend,
+                            bfd_vma start,
+                            bfd_vma end,
+                            bfd_boolean did_pad)
+{
+  bfd_boolean sym_end_within_boundary =
+          did_pad ? symend < end : symend <= end;
+  return (symval <= start && symend > start && sym_end_within_boundary);
+}
+
+static bfd_boolean
+avr_should_increase_sym_size (symvalue symval,
+                              symvalue symend,
+                              bfd_vma start,
+                              bfd_vma end,
+                              bfd_boolean did_pad)
+{
+  return avr_should_move_sym (symval, start, end, did_pad)
+          && symend >= end && did_pad;
+}
+
 /* Delete some bytes from a section while changing the size of an instruction.
    The parameter "addr" denotes the section-relative offset pointing just
    behind the shrinked instruction. "addr+count" point at the first
@@ -1875,13 +1909,14 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
   Elf_Internal_Rela *irel, *irelend;
   Elf_Internal_Sym *isym;
   Elf_Internal_Sym *isymbuf = NULL;
-  bfd_vma toaddr, reloc_toaddr;
+  bfd_vma toaddr;
   struct elf_link_hash_entry **sym_hashes;
   struct elf_link_hash_entry **end_hashes;
   unsigned int symcount;
   struct avr_relax_info *relax_info;
   struct avr_property_record *prop_record = NULL;
   bfd_boolean did_shrink = FALSE;
+  bfd_boolean did_pad = FALSE;
 
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
   sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
@@ -1912,17 +1947,6 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
         }
     }
 
-  /* We need to look at all relocs with offsets less than toaddr. prop
-     records handling adjusts toaddr downwards to avoid moving syms at the
-     address of the property record, but all relocs with offsets between addr
-     and the current value of toaddr need to have their offsets adjusted.
-     Assume addr = 0, toaddr = 4 and count = 2. After prop records handling,
-     toaddr becomes 2, but relocs with offsets 2 and 3 still need to be
-     adjusted (to 0 and 1 respectively), as the first 2 bytes are now gone.
-     So record the current value of toaddr here, and use it when adjusting
-     reloc offsets. */
-  reloc_toaddr = toaddr;
-
   irel = elf_section_data (sec)->relocs;
   irelend = irel + sec->reloc_count;
 
@@ -1962,10 +1986,7 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
          to remember we didn't delete anything i.e. don't set did_shrink,
          so that we don't corrupt reloc offsets or symbol values.*/
       memset (contents + toaddr - count, fill, count);
-
-      /* Adjust the TOADDR to avoid moving symbols located at the address
-         of the property record, which has not moved.  */
-      toaddr -= count;
+      did_pad = TRUE;
     }
 
   if (!did_shrink)
@@ -1981,7 +2002,7 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
 
       /* Get the new reloc address.  */
       if ((irel->r_offset > addr
-           && irel->r_offset < reloc_toaddr))
+           && irel->r_offset < toaddr))
         {
           if (debug_relax)
             printf ("Relocation at address 0x%x needs to be moved.\n"
@@ -2059,7 +2080,7 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
                  {
                    /* If there is an alignment boundary, we only need to
                       adjust addends that end up below the boundary. */
-                   bfd_vma shrink_boundary = (reloc_toaddr
+                   bfd_vma shrink_boundary = (toaddr
                                               + sec->output_section->vma
                                               + sec->output_offset);
 
@@ -2102,12 +2123,10 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
 	{
 	  if (isym->st_shndx == sec_shndx)
             {
-	      if (isym->st_value > addr
-                  && isym->st_value <= toaddr)
-                isym->st_value -= count;
-
-              if (isym->st_value <= addr
-                  && isym->st_value + isym->st_size > addr)
+              symvalue symval = isym->st_value;
+              symvalue symend = symval + isym->st_size;
+              if (avr_should_reduce_sym_size (symval, symend,
+                                      addr, toaddr, did_pad))
                 {
                   /* If this assert fires then we have a symbol that ends
                      part way through an instruction.  Does that make
@@ -2115,6 +2134,12 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
                   BFD_ASSERT (isym->st_value + isym->st_size >= addr + count);
                   isym->st_size -= count;
                 }
+              else if (avr_should_increase_sym_size (symval, symend,
+                                      addr, toaddr, did_pad))
+                isym->st_size += count;
+
+              if (avr_should_move_sym (symval, addr, toaddr, did_pad))
+                isym->st_value -= count;
             }
 	}
     }
@@ -2131,20 +2156,24 @@ elf32_avr_relax_delete_bytes (bfd *abfd,
            || sym_hash->root.type == bfd_link_hash_defweak)
           && sym_hash->root.u.def.section == sec)
         {
-          if (sym_hash->root.u.def.value > addr
-              && sym_hash->root.u.def.value <= toaddr)
-            sym_hash->root.u.def.value -= count;
+          symvalue symval = sym_hash->root.u.def.value;
+          symvalue symend = symval + sym_hash->size;
 
-          if (sym_hash->root.u.def.value <= addr
-              && (sym_hash->root.u.def.value + sym_hash->size > addr))
+          if (avr_should_reduce_sym_size (symval, symend,
+                                  addr, toaddr, did_pad))
             {
               /* If this assert fires then we have a symbol that ends
                  part way through an instruction.  Does that make
                  sense?  */
-              BFD_ASSERT (sym_hash->root.u.def.value + sym_hash->size
-                          >= addr + count);
+              BFD_ASSERT (symend >= addr + count);
               sym_hash->size -= count;
             }
+          else if (avr_should_increase_sym_size (symval, symend,
+                                  addr, toaddr, did_pad))
+              sym_hash->size += count;
+
+          if (avr_should_move_sym (symval, addr, toaddr, did_pad))
+            sym_hash->root.u.def.value -= count;
         }
     }
 
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 4af4b1c..9acc069 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -580,7 +580,7 @@ bfd_elf_link_mark_dynamic_symbol (struct bfd_link_info *info,
 	       && (ELF_ST_TYPE (sym->st_info) == STT_OBJECT
 		   || ELF_ST_TYPE (sym->st_info) == STT_COMMON))))
       || (d != NULL
-	  && h->root.type == bfd_link_hash_new
+	  && h->non_elf
 	  && (*d->match) (&d->head, NULL, h->root.root.string)))
     h->dynamic = 1;
 }
@@ -623,6 +623,14 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
 	}
     }
 
+  /* Symbols defined in a linker script but not referenced anywhere
+     else will have non_elf set.  */
+  if (h->non_elf)
+    {
+      bfd_elf_link_mark_dynamic_symbol (info, h, NULL);
+      h->non_elf = 0;
+    }
+
   switch (h->root.type)
     {
     case bfd_link_hash_defined:
@@ -639,8 +647,6 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
 	bfd_link_repair_undef_list (&htab->root);
       break;
     case bfd_link_hash_new:
-      bfd_elf_link_mark_dynamic_symbol (info, h, NULL);
-      h->non_elf = 0;
       break;
     case bfd_link_hash_indirect:
       /* We had a versioned symbol in a dynamic library.  We make the
diff --git a/bfd/version.h b/bfd/version.h
index a5c3e29..53986ea 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20170429
+#define BFD_VERSION_DATE 20170507
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 9eea3a0..b3a539a 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,29 @@
+2017-05-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned
+	long when comparing with sec->reloc_count.
+
+2017-05-02  Nick Clifton  <nickc@redhat.com>
+
+	* objcopy.c (merge_gnu_build_notes): Disable merge if there are
+	more internal relocs than external relocs.
+
+2017-05-02  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
+	disassembly of PC-relative LA and LW synthetic instructions.
+
+2017-05-02  Nick Clifton  <nickc@redhat.com>
+
+	PR 21440
+	* objdump.c (dump_relocs_in_section): Check for an excessive
+	number of relocs before attempting to dump them.
+
+2017-05-01  Alan Modra  <amodra@gmail.com>
+
+	* objcopy.c (merge_gnu_build_notes): Correct code deleting
+	relocs.
+
 2017-04-28  Nick Clifton  <nickc@redhat.com>
 
 	PR binutils/21439
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 9bad4b7..ccb5e12 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -2137,6 +2137,13 @@ merge_gnu_build_notes (bfd * abfd, asection * sec, bfd_size_type size, bfd_byte
 	    relcount = 0;
 	}
 
+      /* A few targets (eg MIPS, SPARC) create multiple internal relocs to
+	 represent a single external reloc.  Unfortunately the current BFD
+	 API does not handle deleting relocs in such situations very well
+	 and so it is unsafe to proceed.  */
+      if ((unsigned long) relcount > sec->reloc_count)
+	goto done;
+
       /* Eliminate the duplicates.  */
       new = new_contents = xmalloc (size);
       for (pnote = pnotes, old = contents;
@@ -2185,15 +2192,18 @@ merge_gnu_build_notes (bfd * abfd, asection * sec, bfd_size_type size, bfd_byte
 
       if (relcount > 0)
 	{
-	  arelent ** rel;
+	  arelent **rel = relpp;
 
-	  for (rel = relpp; rel < relpp + relcount; rel ++)
-	    if ((* rel)->howto == NULL)
+	  while (rel < relpp + relcount)
+	    if ((*rel)->howto != NULL)
+	      rel++;
+	    else
 	      {
 		/* Delete eliminated relocs.
 		   FIXME: There are better ways to do this.  */
-		memmove (rel, rel + 1, ((relcount - (rel - relpp)) - 1) * sizeof (* rel));
-		relcount --;
+		memmove (rel, rel + 1,
+			 ((relcount - (rel - relpp)) - 1) * sizeof (*rel));
+		relcount--;
 	      }
 	  bfd_set_reloc (abfd, sec, relpp, relcount);
 	}
diff --git a/binutils/objdump.c b/binutils/objdump.c
index bc61000..5972da1 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -3379,6 +3379,14 @@ dump_relocs_in_section (bfd *abfd,
       return;
     }
 
+  if ((bfd_get_file_flags (abfd) & (BFD_IN_MEMORY | BFD_LINKER_CREATED)) == 0
+      && relsize > get_file_size (bfd_get_filename (abfd)))
+    {
+      printf (" (too many: 0x%x)\n", section->reloc_count);
+      bfd_set_error (bfd_error_file_truncated);
+      bfd_fatal (bfd_get_filename (abfd));
+    }
+
   relpp = (arelent **) xmalloc (relsize);
   relcount = bfd_canonicalize_reloc (abfd, section, relpp, syms);
 
diff --git a/binutils/testsuite/binutils-all/mips/mips16-undecoded.d b/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
index 42a5cdf..b455419 100644
--- a/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
+++ b/binutils/testsuite/binutils-all/mips/mips16-undecoded.d
@@ -11,11 +11,11 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> f008 0231 	addiu	v0,sp,16401
 [0-9a-f]+ <[^>]*> f008 0251 	addiu	v0,sp,16401
 [0-9a-f]+ <[^>]*> f008 0291 	addiu	v0,sp,16401
-[0-9a-f]+ <[^>]*> f008 0a11 	la	v0,00004024 <foo\+0x4024>
-[0-9a-f]+ <[^>]*> f008 0a11 	la	v0,00004028 <foo\+0x4028>
-[0-9a-f]+ <[^>]*> f008 0a31 	la	v0,0000402c <foo\+0x402c>
-[0-9a-f]+ <[^>]*> f008 0a51 	la	v0,00004030 <foo\+0x4030>
-[0-9a-f]+ <[^>]*> f008 0a91 	la	v0,00004034 <foo\+0x4034>
+[0-9a-f]+ <[^>]*> f008 0a11 	la	v0,00004025 <foo\+0x4025>
+[0-9a-f]+ <[^>]*> f008 0a11 	la	v0,00004029 <foo\+0x4029>
+[0-9a-f]+ <[^>]*> f008 0a31 	la	v0,0000402d <foo\+0x402d>
+[0-9a-f]+ <[^>]*> f008 0a51 	la	v0,00004031 <foo\+0x4031>
+[0-9a-f]+ <[^>]*> f008 0a91 	la	v0,00004035 <foo\+0x4035>
 [0-9a-f]+ <[^>]*> f008 1011 	b	0000804e <foo\+0x804e>
 [0-9a-f]+ <[^>]*> f008 1011 	b	00008052 <foo\+0x8052>
 [0-9a-f]+ <[^>]*> f008 1031 	b	00008056 <foo\+0x8056>
@@ -64,11 +64,11 @@ Disassembly of section \.text:
 [0-9a-f]+ <[^>]*> f008 9231 	lw	v0,16401\(sp\)
 [0-9a-f]+ <[^>]*> f008 9251 	lw	v0,16401\(sp\)
 [0-9a-f]+ <[^>]*> f008 9291 	lw	v0,16401\(sp\)
-[0-9a-f]+ <[^>]*> f008 b211 	lw	v0,000040f8 <foo\+0x40f8>
-[0-9a-f]+ <[^>]*> f008 b211 	lw	v0,000040fc <foo\+0x40fc>
-[0-9a-f]+ <[^>]*> f008 b231 	lw	v0,00004100 <foo\+0x4100>
-[0-9a-f]+ <[^>]*> f008 b251 	lw	v0,00004104 <foo\+0x4104>
-[0-9a-f]+ <[^>]*> f008 b291 	lw	v0,00004108 <foo\+0x4108>
+[0-9a-f]+ <[^>]*> f008 b211 	lw	v0,000040f9 <foo\+0x40f9>
+[0-9a-f]+ <[^>]*> f008 b211 	lw	v0,000040fd <foo\+0x40fd>
+[0-9a-f]+ <[^>]*> f008 b231 	lw	v0,00004101 <foo\+0x4101>
+[0-9a-f]+ <[^>]*> f008 b251 	lw	v0,00004105 <foo\+0x4105>
+[0-9a-f]+ <[^>]*> f008 b291 	lw	v0,00004109 <foo\+0x4109>
 [0-9a-f]+ <[^>]*> f008 d211 	sw	v0,16401\(sp\)
 [0-9a-f]+ <[^>]*> f008 d211 	sw	v0,16401\(sp\)
 [0-9a-f]+ <[^>]*> f008 d231 	sw	v0,16401\(sp\)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d5849c0..37a0b9b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,188 @@
+2017-05-03  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `pic', `sym32' and
+	`nomacro' flags.
+	(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO):
+	New macros.
+	(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
+	(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
+	(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
+	(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
+	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
+	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): Shift bits.
+	(RELAX_MIPS16_MACRO, RELAX_MIPS16_MARK_MACRO)
+	(RELAX_MIPS16_CLEAR_MACRO): New macros.
+	(append_insn): Pass `mips_pic', HAVE_32BIT_SYMBOLS and
+	`mips_opts.warn_about_macros' settings to RELAX_MIPS16_ENCODE.
+	(mips16_macro_frag): New function.
+	(md_estimate_size_before_relax): Handle HI16/LO16 relaxation.
+	(mips_relax_frag): Likewise.
+	(md_convert_frag): Likewise.
+
+	* testsuite/gas/mips/mips16@relax-swap3.d: Remove error output,
+	add dump patterns.
+	* testsuite/gas/mips/mips16e@relax-swap3.d: New test
+	subarchitecture.
+	* testsuite/gas/mips/micromips@relax-swap3.d: Remove trailing
+	NOP padding.
+	* testsuite/gas/mips/mips16-pcrel-reloc-2.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-reloc-3.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-reloc-6.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-reloc-7.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-addend-2.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-addend-3.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-absolute.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16-pcrel-absolute-1.d: Remove error
+	output, add dump patterns.
+	* testsuite/gas/mips/mips16@relax-swap3.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-reloc-2.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-reloc-3.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-reloc-6.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-reloc-7.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-addend-2.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-addend-3.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-absolute.l: Remove file.
+	* testsuite/gas/mips/mips16-pcrel-absolute-1.l: Remove file.
+	* testsuite/gas/mips/relax-swap3.s: Adjust trailing padding.
+
+	* testsuite/gas/mips/mips16-pcrel-0.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-1.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-2.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-3.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-4.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-5.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-pic-0.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-pic-1.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-n32-0.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-n32-1.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-n64-0.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-n64-1.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-delay-0.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-delay-1.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-4.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-5.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-6.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-7.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-8.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-9.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-pic-8.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-2.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-3.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-4.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-5.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-6.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-7.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: New test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: New
+	test.
+	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: New


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-04-29 22:28 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-04-29 22:28 UTC (permalink / raw)
  To: archer-commits

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

The branch, users/jkratoch/indexcxx has been updated
       via  98bebcd98b51d05daf04b0d5c4d7f6e112597c57 (commit)
       via  a941291cab71b9ac356e1c03968c177c03e602ab (commit)
       via  45ce1b47e4490993b5c1a04f4a8acb62d9ec5039 (commit)
       via  a93866c8bfd4ad4b32c81e73e6a73aa9d831d350 (commit)
       via  0749542484129e77a30f1089d6d671197be5035f (commit)
       via  deb1fa3edaf10c65d1f39951779927da955e3a57 (commit)
       via  b421c83cb866120ab347d60fda20fb0e2011be8c (commit)
       via  ef79d9a3c6ed1e3ccd466bae76956019a7c5d376 (commit)
       via  f8fdb78eafb3f70661f6e4a43beb004dde9e0921 (commit)
       via  9ccbfd7bc1b7228d67f2d4ca878224d493918264 (commit)
       via  76e75227c37bc058449a09fe5017eeb40cda0781 (commit)
       via  51046d9e60727cd6a4cfeae29a05ce2e1e394dc9 (commit)
       via  4023ae762ed9b52e4925242b705d0b3a50f6ed13 (commit)
       via  af43057bafa7260dbcc453d2acc47eb63b974c50 (commit)
       via  b091120773f8a740065b6449617cfbf1e0e789f4 (commit)
       via  6c401f72e979ddd7e2f890dcc88f93f683233d74 (commit)
       via  d0e449a1865c741c5e0c9d43a7d61a0621163aa7 (commit)
       via  434a40239548115cf04a80410e4f570f35c361c1 (commit)
       via  1670f9c1546818c4ffe02e8f460df1c1c4b1601d (commit)
       via  d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c (commit)
       via  428544e8ae6252a615a3100889f3df7d2c5483c4 (commit)
       via  750eaa47f10f48d19aacbec74ab6867da0164677 (commit)
       via  4621115fe529869e938dca605bb90190ea52316a (commit)
       via  b06b2c92c06cf100f259f218337d007ee0b1c884 (commit)
       via  4e3afec278d1fb55b983751d02119f65566bd094 (commit)
       via  d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34 (commit)
       via  339053c29abac25e5f86a1ccccd4e8e3b2d362df (commit)
       via  7974a6050b6e2c44722a533e2d5d9131e7db00ff (commit)
       via  343b374c61f793f745b820c3cf61f69186566b18 (commit)
       via  e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f (commit)
       via  5b66fac4bad619766fb1a5f5179c08b67d48a8c5 (commit)
       via  72bc1d246686ff38ef01f5a35769ebdbe39f023c (commit)
       via  de9a3c4285fad1914929ee304ddaa26e76af8031 (commit)
       via  da3d25afa26476bf24247b8696fd00ab31f39db9 (commit)
       via  fba37edd96c8dc65a63bd5b4fef5366de45b165a (commit)
       via  1f78f649e868979d36490d7c2ea0b3d41abc5ec6 (commit)
       via  55bcecda5703eb4647165cb3ddb86aed63fd44d2 (commit)
       via  14f72d45a22f25f6d00a62fc03bcf9827df226f5 (commit)
       via  1425c41dcd68350d9be9670910c547cc7ab91e0e (commit)
       via  5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a (commit)
       via  f2d830a50def7a00a911620a3e9c7d920e5ef0f0 (commit)
       via  76c20d54ca5042e11af9ddf5723cc24cf47736ec (commit)
       via  d7153c4ac333c9127c18efcf184607d368bb142d (commit)
       via  641338d8e9b62bde9672f13f0dca2324b61e46e2 (commit)
       via  21d68fcd0c2f9113369d860ee1e5841bfacc35ff (commit)
       via  a61d92b7bd4da998dd5d73e9205b4871f7c4825d (commit)
       via  7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7 (commit)
       via  ce8ad8721313d288a05a95b62d95ca43db584ebb (commit)
       via  97d343d40012b1030f1fd219f91efcab180fb3ef (commit)
       via  04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2 (commit)
       via  d21f3ddb0d5f95aff5c769ae283ce5522262f48d (commit)
       via  740a463062bd5d1641bdfb639295dafe89341b9b (commit)
       via  3e6b644558f941d3fe482e15efbc53d8f39ef8b7 (commit)
       via  b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11 (commit)
       via  23ec1e32b1ab714649a7c25e49b5d721fe3bd3db (commit)
       via  c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659 (commit)
       via  bbdd9a6894d7875407da59d490faf5588163d21c (commit)
       via  e63d123268f23a4cbc45ee55fb6dbc7d84729da3 (commit)
       via  c185f580b2b3baf7cee762c8ab31ab6925b9534a (commit)
       via  19c4559475791cd70e319eaf5c1e23d23d9ae81e (commit)
       via  03def0812a9ee962d9dcfe9b0ba37783e58acfb8 (commit)
       via  4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d (commit)
       via  c4ab9505b53cdc899506ed421fddb7e1f8faf7a3 (commit)
       via  919383ac718c2a3187ee2a9ad659daa22da26258 (commit)
       via  126124cc0f3f0417913bfd84d83e4e525b6facf9 (commit)
       via  be6a24d8eabdbeef32a9d79e81307af4491fcf56 (commit)
       via  d581dda88162831ebbd0757312fa93681d945327 (commit)
       via  0348fd79d4c32243d91e8a55f20f408a9b4ec20d (commit)
       via  6e3d1f0728d980a384c5aa63ce7f2ff3919c5024 (commit)
       via  adc1273cb27286452ed8b32c5ca3ea263b4854f0 (commit)
       via  debed3db4887483552103da36d180967ef0dca5f (commit)
       via  d28b6364b1fba1c0270c001f0d82a69e351e1922 (commit)
       via  b0b92aeb3828219075fce23543fb39fee8608e99 (commit)
       via  16c4d54a71d8052988ed9c8005a03a7f934245f4 (commit)
       via  b5c3668253b909fd1f5b011893a35bb8dfd3be9b (commit)
       via  5625a2864147f4d92b22edfeeab7600818988be2 (commit)
       via  23bcc18f470ee4364bd362a8b78c6c1415a9dadb (commit)
       via  a49abe0bb18e04d3a4b692995fcfae70cd470775 (commit)
       via  9e9821ddd80c0d0b3dda54d34cc8867f256d4583 (commit)
       via  0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed (commit)
       via  e1ba30532c6de26a14404ab4919bb591e8da3eab (commit)
       via  e662f84f5d6d014746550ce3d3f623583c043ff0 (commit)
       via  1587442d37ee4266e54d59bfdc783574f0587aff (commit)
       via  534455547021f3262fa60d32cabb626af01692a3 (commit)
       via  8b353c47b70568ab9f0cfd619b7a19e931c2b0c8 (commit)
       via  957f6b39cab6cac0e4c54e650c7f75109544ac1d (commit)
       via  9ad8982091eeb76b380e459fe721aaeacf7b8f24 (commit)
       via  42354845ae5e00ec1c3519e1f2166b79a9533401 (commit)
       via  7034215fd6d99f275998f7f0f8a346ab35fcbee6 (commit)
       via  b02cd3e978e9273074f7cbe2ca1d5b372225a56d (commit)
       via  7eacd66b086cabb1daab20890d5481894d4f56b2 (commit)
       via  bce964aa6c777d236fbd641f2bc7bb931cfe4bf3 (commit)
       via  97e83a100aa8250be783304bfe0429761c6e6b6b (commit)
       via  f082820db966c79e47a143da774700055a1fad41 (commit)
       via  b43eea27e99f5fd270b3bec455054ea53ac700bb (commit)
       via  bf1554384b186b448904dbc13ee5374239c88520 (commit)
       via  10f489e57677e670bf980e93896762594e9ad908 (commit)
       via  0092b74da6d86185c4d0c0fa0f540b97647bf44a (commit)
       via  a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a (commit)
       via  46b9c12945629fffb61001a8f13a37c96675c0b7 (commit)
       via  2e78302469502f4f8a98144b60c09d4d9b6438fd (commit)
      from  c5141d02425a95ed688b640eebfc99ede92e61de (commit)

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

- Log -----------------------------------------------------------------
commit 98bebcd98b51d05daf04b0d5c4d7f6e112597c57
Merge: c5141d0 a941291
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Apr 29 23:58:43 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit a941291cab71b9ac356e1c03968c177c03e602ab
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Apr 29 14:48:16 2017 +0930

    PR21432, buffer overflow in perform_relocation
    
    The existing reloc offset range tests didn't catch small negative
    offsets less than the size of the reloc field.
    
    	PR 21432
    	* reloc.c (reloc_offset_in_range): New function.
    	(bfd_perform_relocation, bfd_install_relocation): Use it.
    	(_bfd_final_link_relocate): Likewise.

commit 45ce1b47e4490993b5c1a04f4a8acb62d9ec5039
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Mar 31 13:24:36 2017 -0400

    Make environ.exp run on all platforms (and create info-program.exp)
    
    This has been on my TODO list for a while.  There's a really old bug
    about this (PR testsuite/8595), and there was no reason for
    environ.exp to be specific for hppa* targets.  So this patch removes
    this constraint, modernizes the testcase, and cleans up some things.
    Most of the tests remained, and some were rewritten (especially the
    one that checks if "show environment" works, which is something kind
    of hard to do).
    
    As a bonus, I'm adding a separated info-program.exp file containing
    all the tests related to "info program" that were present on
    environ.exp.
    
    Tested locally, everything still passes.
    
    gdb/testsuite/ChangeLog:
    2017-04-28  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR testsuite/8595
    	* gdb.base/environ.exp: Make test available in all architectures.
    	Move bits related to "info program" testing to
    	gdb.base/info-program.exp.  Rewrite tests to use the two new
    	procedures mentione below.
    	(test_set_show_env_var) New procedure.
    	(test_set_show_env_var_equal): Likewise.
    	* gdb.base/info-program.exp: New file.

commit a93866c8bfd4ad4b32c81e73e6a73aa9d831d350
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 29 00:00:38 2017 +0000

    Automatic date update in version.in

commit 0749542484129e77a30f1089d6d671197be5035f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Remove cleanup in get_return_value
    
    With regcache ctor, we can use it to create local object in
    get_return_value (), so that the cleanup can be removed.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* infcmd.c (get_return_value): Use regcache ctor, and remove
    	cleanup.

commit deb1fa3edaf10c65d1f39951779927da955e3a57
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Use tag dispatch regcache ctor in regcache_dup
    
    This patch adds a tag dispatch ctor to create read-only regcache from
    a write-through regcache, also this patch deletes copy ctor and
    assignment operator.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* regcache.c (regcache::regcache): New tag dispatch ctor.
    	(do_cooked_read): Moved above.
    	(regcache_dup): Use the tag dispatch ctor..
    	* regcache.h (regcache): Declare ctor, delete copy ctor and
    	assignment operator, remove friend regcache_dup.

commit b421c83cb866120ab347d60fda20fb0e2011be8c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Simplify regcache_dup
    
    regcache_dup, in fact, is to create a readonly regcache from a
    non-readonly regcache.  This patch adds an assert that src is not
    readonly.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_dup): Assert !src->m_readonly_p and
    	call method save instead of regcache_cpy.
    	* regcache.h (struct regcache): Make regcache_dup a friend.

commit ef79d9a3c6ed1e3ccd466bae76956019a7c5d376
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Class-fy regcache
    
    This patch moves regcache declaration to regcache.h, and converts
    regcache apis to member functions, for example, regcache_invalidate
    is changed to regcache::invalidate.
    
    This patch also add "m_" prefix to these private fields.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (struct regcache): Move to regcache.h
    	(regcache::arch): New method.
    	(regcache_get_ptid): Update.
    	(get_regcache_arch): Call arch method.
    	(get_regcache_aspace): Call method aspace.
    	(register_buffer): Change it to method.
    	(regcache_save): Change it to regcache::save.
    	(regcache_restore): Likewise.
    	(regcache_cpy_no_passthrough): Remove the declaration.
    	(regcache_cpy): Call methods restore and cpy_no_passthrough.
    	(regcache_cpy_no_passthrough): Change it to method
    	cpy_no_passthrough.
    	(regcache_register_status): Change it to method
    	get_register_status.
    	(regcache_invalidate): Change it to method invalidate.
    	(regcache_thread_ptid_changed): Use methods ptid and set_ptid.
    	(regcache_raw_update): Change it to method raw_update.
    	(regcache_raw_read): Likewise.
    	(regcache_raw_read_signed): Likewise.
    	(regcache_raw_read_unsigned): Likewise.
    	(regcache_raw_write_signed): Likewise.
    	(regcache_raw_write_unsigned): Likewise.
    	(regcache_cooked_read): Likewise.
    	(regcache_cooked_read_value): Likewise.
    	(regcache_cooked_read_signed): Likewise.
    	(regcache_cooked_read_unsigned): Likewise.
    	(regcache_cooked_write_signed): Likewise.
    	(regcache_cooked_write_unsigned): Likewise.
    	(regcache_raw_set_cached_value): Likewise.
    	(regcache_raw_write): Likewise.
    	(regcache_cooked_write): Likewise.
    	(regcache_xfer_part): Likewise.
    	(regcache_raw_read_part): Likewise.
    	(regcache_raw_write_part): Likewise.
    	(regcache_cooked_read_part): Likewise.
    	(regcache_cooked_write_part): Likewise.
    	(regcache_raw_supply): Likewise.
    	(regcache_raw_collect): Likewise.
    	(regcache_transfer_regset): Likewise.
    	(regcache_supply_regset): Likewise.
    	(regcache_collect_regset): Likewise.
    	(regcache_debug_print_register): Likewise.
    	(enum regcache_dump_what): Move it to regcache.h.
    	(regcache_dump): Change it to method dump.
    	* regcache.h (enum regcache_dump_what): New.
    	(class regcache): New.
    	* target.c (target_fetch_registers): Call method
    	debug_print_register.
    	(target_store_registers): Likewise.

commit f8fdb78eafb3f70661f6e4a43beb004dde9e0921
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:18 2017 -0400

    Class-ify lm_info_windows
    
    This patch makes lm_info_windows a "real" class.  It initializes the field
    and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* windows-nat.c (struct lm_info_windows): Initialize field.
    	(windows_make_so): Allocate lm_info_windows with new.
    	(windows_free_so): Free lm_info_windows with delete.

commit 9ccbfd7bc1b7228d67f2d4ca878224d493918264
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:18 2017 -0400

    Class-ify lm_info_darwin
    
    This patch makes lm_info_darwin a "real" class.  It initializes the
    field and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* solib-darwin.c (struct lm_info_darwin): Initialize field.
    	(darwin_current_sos): Allocate lm_info_darwin with new, remove
    	cleanup.
    	(darwin_free_so): Free lm_info_darwin with delete.

commit 76e75227c37bc058449a09fe5017eeb40cda0781
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:17 2017 -0400

    Class-ify lm_info_svr4
    
    This patch makes lm_info_svr4 a "real" class.  It initializes fields,
    uses bool and replaces XCNEW/xfree with new/delete.
    
    The memcpy in svr4_copy_library_list is replaced by a usage of the
    default copy constructor.
    
    gdb/ChangeLog:
    
    	* solib-svr4.h (struct lm_info_svr4): Initialize fields.
    	<l_addr_p>: Change type to bool.
    	* solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
    	(svr4_free_so): Free lm_info_svr4 with delete.
    	(svr4_copy_library_list): Replace memcpy with call to copy
    	constructor.
    	(library_list_start_library, svr4_default_sos): Allocate
    	lm_info_svr4 with new.

commit 51046d9e60727cd6a4cfeae29a05ce2e1e394dc9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:16 2017 -0400

    Class-ify lm_info_target
    
    This patch makes lm_info_target a "real" class.  It adds a destructor,
    uses std::string, initializes the fields and replaces XCNEW/xfree with
    new/delete.
    
    gdb/ChangeLog:
    
    	* solib-target.c (struct lm_info_target): Add destructor,
    	initialize fields.
    	<name>: Change type to std::string.
    	(library_list_start_library): Allocate lm_info_target with new.
    	(solib_target_free_library_list): Free lm_info_target with
    	delete.
    	(solib_target_current_sos): Adapt to std::string.
    	(solib_target_free_so): Free lm_info_target with delete.

commit 4023ae762ed9b52e4925242b705d0b3a50f6ed13
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:16 2017 -0400

    Class-ify lm_info_frv
    
    This patches makes lm_info_frv a "real" class.  It adds a destructor,
    initializes the fields and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* solib-frv.c (struct lm_info_frv): Add destructor, initialize
    	fields.
    	(frv_current_sos): Allocate lm_info_frv with new.
    	(frv_relocate_main_executable): Free lm_info_frv with delete,
    	allocate with new.
    	(frv_clear_solib, frv_free_so): Free lm_info_frv with delete.

commit af43057bafa7260dbcc453d2acc47eb63b974c50
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:15 2017 -0400

    Fix indentation of lm_info_frv
    
    This patch fixes the indentation of lm_info_frv, so that the real
    changes of the following patch are not lost in the reformatting.
    
    gdb/ChangeLog:
    
    	* solib-frv.c (struct lm_info_frv): Fix indentation.

commit b091120773f8a740065b6449617cfbf1e0e789f4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:14 2017 -0400

    Class-ify lm_info_dsbt
    
    This patches makes lm_info_dsbt a "real" class.  It introduces a
    destructor, initializes the field and replaces XCNEW/xfree with
    new/delete.
    
    gdb/ChangeLog:
    
    	* solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
    	map field.
    	(dsbt_current_sos): Allocate lm_info_dsbt with new.
    	(dsbt_relocate_main_executable): Free lm_info_dsbt with delete
    	and allocate with new.
    	(dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.

commit 6c401f72e979ddd7e2f890dcc88f93f683233d74
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:14 2017 -0400

    Class-ify lm_info_aix
    
    This patch makes lm_info_aix a "real" class.  It uses std::string,
    initializes fields in-class and replaces XCNEW/xfree with new/delete.
    The solib_aix_new_lm_info can be replaced by using the default copy
    constructor.
    
    gdb/ChangeLog:
    
    	* solib-aix.c (struct lm_info_aix): Initialize fields in-class.
    	<filename, member_name>: Change type to std::string.
    	(solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
    	(library_list_start_library): Allocate lm_info_aix with new.
    	(solib_aix_free_library_list, solib_aix_free_so): Free with delete.
    	(solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
    	with copy constructor.

commit d0e449a1865c741c5e0c9d43a7d61a0621163aa7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:13 2017 -0400

    Make various lm_info implementations inherit from a base class
    
    The lm_info structure is used to store target specific information about
    mapped libraries.  It is currently defined as an opaque type in solist.h
    and a pointer to it is included in solist, the target-agnostic object
    representing a loaded shared library.  Multiple targets define their own
    implementation of lm_info.
    
    In anticipation of using C++ stuff (e.g. vector) in the lm_info objects,
    we first need to avoid different definitions of classes with the same
    name (which violates the one definition rule).  This patch does it by
    having a base class (lm_info_base) from which all the specific lm_info
    derive.  Each implementation is renamed to something that makes sense
    (e.g. lm_info_aix for AIX).  The next logical step would probably be to
    derive directly from so_list, it's not really obvious, so I'll keep that
    for another day.
    
    One special case is the Neutrino (nto) support.  It uses SVR4-style
    libraries, but overrides some methods.  To do that, it needed to have
    its own copy of SVR4's lm_info structure in nto-tdep.c, because it was
    just not possible to put it in solib-svr4.h and include that file.  Over
    time, that copy got out of sync, which is still the case today.  I can
    only assume that the lm_addr function in nto-tdep.c is broken right now.
    The first field of the old lm_info was a pointer (gdb_byte *), whereas
    in the new lm_info it's an address in the inferior (CORE_ADDR).  Trying
    to use that field today probably results in a crash.  With this
    refactor, it's now possible to put lm_info_svr4 in solib-svr4.h and just
    include it.  I have adapted the code in nto-tdep.c to that it builds,
    but it's probably not correct.  Since I don't have the knowledge nor
    setup to try this on Neutrino, somebody else would have to fix it.  But
    I am confident that I am not making things worse than they already are.
    
    gdb/ChangeLog:
    
    	* solist.h (struct lm_info): Remove.
    	(struct lm_info_base): New class.
    	(struct so_list) <lm_info>: Change type to lm_info_base *.
    	* nto-tdep.c (struct lm_info): Remove.
    	(lm_addr): Adjust.
    	* solib-aix.c (struct lm_info): Rename to ...
    	(struct lm_info_aix): ... this.  Extend lm_info_base.
    	(lm_info_p): Rename to ...
    	(lm_info_aix_p): ... this, and adjust.
    	(solib_aix_new_lm_info, solib_aix_xfree_lm_info,
    	solib_aix_parse_libraries, library_list_start_library,
    	solib_aix_free_library_list, solib_aix_parse_libraries,
    	solib_aix_get_library_list,
    	solib_aix_relocate_section_addresses, solib_aix_free_so,
    	solib_aix_get_section_offsets,
    	solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
    	Adjust.
    	(struct solib_aix_inferior_data) <library_list>: Adjust.
    	* solib-darwin.c (struct lm_info): Rename to ...
    	(struct lm_info_darwin): ... this.  Extend lm_info_base.
    	(darwin_current_sos, darwin_relocate_section_addresses): Adjust.
    	* solib-dsbt.c (struct lm_info): Rename to ...
    	(struct lm_info_dsbt): ... this.  Extend lm_info_base.
    	(struct dsbt_info) <main_executable_lm_info): Adjust.
    	(dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
    	dsbt_relocate_section_addresses): Adjust.
    	* solib-frv.c (struct lm_info): Rename to ...
    	(struct lm_info_frv): ... this.  Extend lm_info_base.
    	(main_executable_lm_info): Adjust.
    	(frv_current_sos, frv_relocate_main_executable, frv_free_so,
    	frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
    	find_canonical_descriptor_in_load_object,
    	frv_fdpic_find_canonical_descriptor): Adjust.
    	* solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
    	to lm_info_svr4.
    	(lm_info_read, lm_addr_check, svr4_keep_data_in_core,
    	svr4_clear_so, svr4_copy_library_list,
    	library_list_start_library, svr4_default_sos, svr4_read_so_list,
    	svr4_current_sos, svr4_fetch_objfile_link_map,
    	solist_update_incremental): Adjust.
    	* solib-svr4.h (struct lm_info_svr4): Move here from
    	solib-svr4.c.
    	* solib-target.c (struct lm_info): Rename to ...
    	(struct lm_info_target): ... this.  Extend lm_info_base.
    	(lm_info_p): Rename to ...
    	(lm_info_target_p): ... this.
    	(solib_target_parse_libraries, library_list_start_segment,
    	library_list_start_section, library_list_start_library,
    	library_list_end_library, solib_target_free_library_list,
    	solib_target_current_sos, solib_target_free_so,
    	solib_target_relocate_section_addresses): Adjust.
    	* windows-nat.c (struct lm_info): Rename to ...
    	(struct lm_info_windows): ... this.  Extend lm_info_base.
    	(windows_make_so, handle_load_dll, handle_unload_dll,
    	windows_xfer_shared_libraries): Adjust.

commit 434a40239548115cf04a80410e4f570f35c361c1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:12 2017 -0400

    Standardize darwin's lm_info
    
    Darwin's lm_info structure is used a little bit differently than the
    other solib implementations.  The other implementations first allocate
    an so_list object, then instanciate their specific lm_info structure,
    and assign it to so_list::lm_info.
    
    The Darwin implementation allocates both at the same time
    (darwin_so_list).  This patch changes it to be like the others, so that
    we'll be able to do some generalizations later.
    
    gdb/ChangeLog:
    
    	* solib-darwin.c (struct darwin_so_list): Remove.
    	(darwin_current_sos): Allocate an so_list object instead of a
    	darwin_so_list, separately allocate an lm_info object.
    	(darwin_free_so): Free lm_info.

commit 1670f9c1546818c4ffe02e8f460df1c1c4b1601d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 12:42:05 2017 -0700

    x86: Add run-time tests for -mtls-dialect=gnu2
    
    	* testsuite/config/default.exp (GNU2_CFLAGS): New.  Set
    	to -mtls-dialect=gnu2 if target compiler supports it.
    	* testsuite/ld-i386/tls.exp: Run -mtls-dialect=gnu2 tests.
    	* testsuite/ld-x86-64/tls.exp: Likewise.
    	* testsuite/ld-i386/tlsdesc1a.c: New file.
    	* testsuite/ld-i386/tlsdesc1b.c: Likewise.
    	* testsuite/ld-x86-64/tlsdesc1a.c: Likewise.
    	* testsuite/ld-x86-64/tlsdesc1b.c: Likewise.

commit d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 12:29:29 2017 -0700

    ELF: Add run-time tests for -z now
    
    	* testsuite/ld-elf/shared.exp: Add run-time tests for -z now.
    	* testsuite/ld-i386/tls.exp: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Likewise.
    	* testsuite/ld-x86-64/tls.exp: Likewise.

commit 428544e8ae6252a615a3100889f3df7d2c5483c4
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Apr 28 09:34:52 2017 -0700

    Consistently use fprintf_filtered when displaying MIPS registers.
    
    One line was using printf_filtered instead of fprintf_filtered
    to the requested file.
    
    gdb/ChangeLog:
    
    	* mips-tdep.c (print_gp_register_row): Replace printf_filtered
    	with fprintf_filtered.

commit 750eaa47f10f48d19aacbec74ab6867da0164677
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 07:26:45 2017 -0700

    x86: Check plt_got before using .plt.got
    
    Since the GOT procedure linkage table is supported only if plt_got
    isn't NULL, we need to check plt_got before using it.
    
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
    	before using .plt.got.
    	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.

commit 4621115fe529869e938dca605bb90190ea52316a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 14:43:13 2017 +0100

    Add constructor and destructor to regcache
    
    This patch adds ctor and dtor to regcache.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache::regcache): New function.
    	(regcache::~regcache): New function.
    	(regcache_xmalloc_1): Remove.
    	(regcache_xmalloc): Call new regcache.
    	(regcache_xfree): Call delete regcache.
    	(get_thread_arch_aspace_regcache): Call new regcache.

commit b06b2c92c06cf100f259f218337d007ee0b1c884
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 12:09:14 2017 +0100

    Fix off by one error when checking for empty note names.
    
    	PR binutils/21439
    	* readelf.c (print_gnu_build_attribute_name): Allow for an empty
    	name field.

commit 4e3afec278d1fb55b983751d02119f65566bd094
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 11:21:53 2017 +0100

    Fix heap-buffer address violation when reading version data from a corrupt binary.
    
    	PR binutils/21437
    	* readelf.c (process_version_sections): Check for underflow when
    	computing the start address of the auxillary version data.

commit d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 10:28:04 2017 +0100

    Fix heap-buffer overflow bugs caused when dumping debug information from a corrupt binary.
    
    	PR binutils/21438
    	* dwarf.c (process_extended_line_op): Do not assume that the
    	string extracted from the section is NUL terminated.
    	(fetch_indirect_string): If the string retrieved from the section
    	is not NUL terminated, return an error message.
    	(fetch_indirect_line_string): Likewise.
    	(fetch_indexed_string): Likewise.

commit 339053c29abac25e5f86a1ccccd4e8e3b2d362df
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 09:50:51 2017 +0100

    Use ptid method lwp in mips_linux_new_thread
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c (mips_linux_new_thread): Use ptid method
    	lwp instead of ptid_get_lwp.

commit 7974a6050b6e2c44722a533e2d5d9131e7db00ff
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 09:33:16 2017 +0100

    [MIPS] Use lwpid from lwp_info instead of inferior_ptid
    
    RAJESH reported that GDB gets "Couldn't write debug register: No such
    process." on mips64 when GDB attaches to a multi threaded application.
    
    Looks GDB nows PTRACE_GET_WATCH_REGS for inferior_ptid but
    PTRACE_SET_WATCH_REGS for lwp->ptid, they may be different.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
    	lwp_info instead of getting from inferior_ptid.

commit 343b374c61f793f745b820c3cf61f69186566b18
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 28 00:00:34 2017 +0000

    Automatic date update in version.in

commit e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f
Author: Keith Seitz <keiths@redhat.com>
Date:   Thu Apr 27 15:55:26 2017 -0700

    Fix overload resolution involving rvalue references and cv qualifiers.
    
    The following patch fixes several outstanding overload resolution problems
    with rvalue references and cv qualifiers in the test suite. The tests for
    these problems typically passed with one compiler version and failed with
    another. This behavior occurs because of the ordering of the overloaded
    functions in the debug info. So the first best match "won out" over the
    a subsequent better match.
    
    One of the bugs addressed by this patch is the failure of rank_one_type to
    account for type equality of two overloads based on CV qualifiers.  This was
    leading directly to problems evaluating rvalue reference overload quality,
    but it is also highlighted in gdb.cp/oranking.exp, where two test KFAIL as
    a result of this shortcoming.
    
    I found the overload resolution code committed with the rvalue reference
    patch (f9aeb8d49) needlessly over-complicated, and I have greatly simplified
    it. This fixes some KFAILing tests in gdb.exp/rvalue-ref-overload.exp.
    
    gdb/ChangeLog
    
    	* gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
    	DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
    	(CV_CONVERSION_BADNESS): Define.
    	(rank_one_type): Remove overly restrictive rvalue reference
    	rank checks.
    	Add cv-qualifier checks and subranks for type equality.
    	* gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
    	REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
    	CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
    
    gdb/testsuite/ChangeLog
    
    	* gdb.cp/oranking.cc (test15): New function.
    	(main): Call test15 and declare additional variables for testing.
    	* gdb.cp/oranking.exp: Remove kfail status for "p foo4(&a)" and
    	"p foo101('abc')" tests.
    	* gdb.cp/rvalue-ref-overloads.exp: Remove kfail status for
    	"lvalue reference overload" test.
    	* gdb.cp/rvalue-ref-params.exp: Remove kfail status for
    	"print value of f1 on Child&& in f2" test.

commit 5b66fac4bad619766fb1a5f5179c08b67d48a8c5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 15:24:08 2017 -0700

    x86-64: Use "=" instead of "+=" to update 0
    
    Use
    
      if (htab->elf.splt->size == 0)
        htab->elf.splt->size = GET_PLT_ENTRY_SIZE (output_bfd);
    
    instead of
    
      if (htab->elf.splt->size == 0)
        htab->elf.splt->size += GET_PLT_ENTRY_SIZE (output_bfd);
    
    	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
    	instead of "+=" to update 0.

commit 72bc1d246686ff38ef01f5a35769ebdbe39f023c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Apr 27 17:03:20 2017 -0400

    Add missing incref when creating Inferior Python object
    
    The test py-inferior.exp fails when using a debug build of Python 3.6.  I don't
    see it failing with my system's default Python, but it might be related to the
    different memory allocation scheme used when doing a build with pydebug.
    
    The issue is that we are missing a Py_INCREF in
    inferior_to_inferior_object.  The PyObject_New function initializes the
    object with a refcount of 1.  If we assume that this refcount
    corresponds to the reference we are returning, then we are missing an
    incref for the reference in the inferior data.
    
    The counterpart for the incref that corresponds to the reference in the
    inferior data is in py_free_inferior, in the form the gdbpy_ref instance.
    
    Here's how I can get it to crash (with some debug output):
    
      $ ./gdb -nx -ex "set debug python 1"
      (gdb) add-inferior
      Added inferior 2
      (gdb) python infs = gdb.inferiors()
      Creating Python Inferior object inf = 1
      Creating Python Inferior object inf = 2
      (gdb) remove-inferiors 2
      py_free_inferior inf = 2
      infpy_dealloc inf = <unknown>
      (gdb) python infs = None
      Fatal Python error: Objects/tupleobject.c:243 object at 0x7f9cf1a568d8 has negative ref count -1
    
      Current thread 0x00007f9cf1b68780 (most recent call first):
        File "<string>", line 1 in <module>
      [1]    408 abort (core dumped)  ./gdb -nx -ex "set debug python 1"
    
    After having created the inferiors object, their refcount is 1 (which
    comes from PyObject_New), but it should be two.  The gdb inferior object
    has a reference and the "infs" list has a reference.
    
    When invoking remove-inferiors, py_free_inferior gets called.  It does
    the decref that corresponds to the reference that the gdb inferior
    object kept.  At this moment, the refcount drops to 0 and the object
    gets deallocated, even though the "infs" list still has a reference.
    When we set "infs" to None, Python tries to decref the already zero
    refcount and the assert triggers.
    
    With this patch, it looks better:
    
      (gdb) add-inferior
      Added inferior 2
      (gdb) python infs = gdb.inferiors()
      Creating Python Inferior object inf = 1
      Creating Python Inferior object inf = 2
      (gdb) remove-inferiors 2
      py_free_inferior inf = 2
      (gdb) python infs = None
      infpy_dealloc inf = <unknown>
    
    gdb/ChangeLog:
    
    	* python/py-inferior.c (inferior_to_inferior_object): Increment reference
    	count when creating the object.

commit de9a3c4285fad1914929ee304ddaa26e76af8031
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 13:55:31 2017 -0700

    x86: Create dynamic sections in create_dynamic_sections
    
    This patch creates dynamic sections in i386/x86-64 create_dynamic_sections
    instead of creating them on demend.  Linker will strip them if they are
    empty.  It changes order in x86-64 .eh_frame section.  The extra DW_CFA_nop
    paddings is due to
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21441
    
    bfd/
    
    	* elf32-i386.c (elf_i386_create_dynamic_sections): Create the
    	.plt.got section here.
    	(elf_i386_check_relocs): Don't create the .plt.got section.
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
    	the .plt.got and .plt.bnd sections here.
    	(elf_x86_64_check_relocs): Don't create the .plt.got nor
    	.plt.bnd sections.
    
    ld/
    
    	* testsuite/ld-x86-64/pr21038a.d: Update DW_CFA_nop paddings
    	in .eh_frame section.
    	* testsuite/ld-x86-64/pr21038c.d: Update .eh_frame order.

commit da3d25afa26476bf24247b8696fd00ab31f39db9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 09:32:35 2017 -0700

    Remove has_bnd_reloc from elf_x86_64_link_hash_entry
    
    has_bnd_reloc was added to elf_x86_64_link_hash_entry track BND
    relocations by
    
    commit 0ff2b86e7c14177ec7f9e1257f8e697814794017
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Wed Nov 20 09:01:04 2013 -0800
    
        Create the second PLT for BND relocations
    
    Since BND relocations have been deprecated by
    
    commit d258b828287a863376af60a1ef7ceafbccc83d93
    Author: Igor Zamyatin <igor.zamyatin@intel.com>
    Date:   Tue Nov 18 10:52:36 2014 +0300
    
        Add -z bndplt to generate BND prefix in PLT entries
    
    This patch removes has_bnd_reloc from elf_x86_64_link_hash_entry and
    checks bndplt instead of has_bnd_reloc.
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
    	has_bnd_reloc.
    	(elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
    	(elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
    	(elf_x86_64_check_relocs): Don't set has_bnd_reloc.
    	(elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
    	has_bnd_reloc.
    
    Remove has_bnd_reloc

commit fba37edd96c8dc65a63bd5b4fef5366de45b165a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 09:07:23 2017 -0700

    Change _bfd_elf_link_setup_gnu_properties to bfd *
    
    Change setup_gnu_properties to return the first relocatable ELF input
    with GNU properties so that a backend can make decision based on GNU
    properties.
    
    	* elf-bfd.h (elf_backend_data): Change setup_gnu_properties
    	to return bfd *.
    	(_bfd_elf_link_setup_gnu_properties): Return bfd *.
    	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
    	the first relocatable ELF input with GNU properties.

commit 1f78f649e868979d36490d7c2ea0b3d41abc5ec6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 08:55:36 2017 -0700

    i386: Simplify VxWorks for non-PIC
    
    Change
    
      if (PIC)
        {
          #1
        }
      else
        {
          #2
          if (VxWorks)
            {
              #3
            }
        }
      #4
      if (VxWorks && !PIC)
        {
          #5
        }
    
    to
    
      #4
      if (PIC)
        {
          #1
        }
      else
        {
          #2
          if (VxWorks)
            {
              #3
              #5
            }
        }
    
    	* elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
    	VxWorks for non-PIC.

commit 55bcecda5703eb4647165cb3ddb86aed63fd44d2
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Thu Apr 27 15:57:08 2017 +0200

    Read corrrect auxiliary entry in AIX
    
    Fix handling of XCOFF function auxiliary entries, in particular when
    the xlc -qfuncsect or gcc -ffunction-sections compiler option is used
    in AIX.  Also handle C_WEAKEXT storage class.
    
    gdb/
    2016-10-21  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
    	    Ulrich Weigand  <uweigand@de.ibm.com>
    
    	* xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
    	entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
    	is used in AIX.
    	(read_xcoff_symtab): Handle C_WEAKEXT storage class.
    	(process_xcoff_symbol): Likewise.
    	(scan_xcoff_symtab): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 14f72d45a22f25f6d00a62fc03bcf9827df226f5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 02:25:33 2017 +0100

    MIPS16/GAS: Factor out duplicate symbol value conversion code
    
    Factor out and consolidate duplicate section-relative to PC-relative
    symbol value conversion in `mips16_extended_frag' and `md_convert_frag'
    used for MIPS16 relaxation, observing that the final calculation in the
    latter function implies `stretch == 0'.  Sanitize the formatting of code
    moved.
    
    	gas/
    	* config/tc-mips.c (mips16_pcrel_val): New function, factored
    	out from...
    	(mips16_extended_frag): ... here.
    	(md_convert_frag): Use `mips16_pcrel_val' rather than repeated
    	code in MIPS16 relaxation, with `stretch' hardcoded to 0.

commit 1425c41dcd68350d9be9670910c547cc7ab91e0e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 02:13:21 2017 +0100

    MIPS16/GAS: Rename the LONG_BRANCH relaxation flag
    
    Following commit 177b4a6ad004 ("infinite loop in mips16 assembler
    relaxation"), <https://sourceware.org/ml/binutils/2002-03/msg00345.html>
    the LONG_BRANCH flag used in MIPS16 relaxation has lost its use for
    branches.  Complement commit 88a7ef168927 ("MIPS16/GAS: Restore
    unsupported relocation diagnostics") then, which has removed the remains
    of code deactivated by the former commit, and rename the flag to
    ALWAYS_EXTENDED, more accurately reflecting its current use to select
    the extended form of PC-relative ADDIU, DADDIU, LD and LW instructions.
    
    	gas/
    	* config/tc-mips.c (RELAX_MIPS16_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_ALWAYS_EXTENDED): ... this.
    	(RELAX_MIPS16_MARK_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED): ... this.
    	(RELAX_MIPS16_CLEAR_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): ... this.
    	(mips16_extended_frag): Adjust accordingly.

commit 5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Apr 27 11:38:14 2017 +0100

    Remove some MAX_REGISTER_SIZE uses in ia64-tdep.c
    
    gdb/
    	* ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
    	(ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
    	(ia64_access_reg): Use get_frame_register_unsigned.
    	(ia64_access_rse_reg): Likewise.
    	(ia64_libunwind_frame_prev_register): Likewise.

commit f2d830a50def7a00a911620a3e9c7d920e5ef0f0
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 12:20:10 2017 +0930

    Tidy S_FORCE_RELOC
    
    Separate out symbol flag reasons from section reasons to force a
    reloc.  Yes, this adds another section test to the local symbol case
    too.
    
    	* symbols.c (S_FORCE_RELOC): Separate section and symbol tests.

commit 76c20d54ca5042e11af9ddf5723cc24cf47736ec
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 12:03:39 2017 +0930

    Constify elf_backend_eh_frame_address_size
    
    	* elf-bfd.h (struct elf_backend_data): Make asection param of
    	elf_backend_eh_frame_address_size const.
    	(_bfd_elf_eh_frame_address_size): Likewise.
    	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
    	* elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
    	* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
    	* elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
    	(next_cie_fde_offset): Constify params.
    	(offset_adjust, adjust_eh_frame_local_symbols): Likewise.

commit d7153c4ac333c9127c18efcf184607d368bb142d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 11:08:14 2017 +0930

    Edit .eh_frame symbols
    
    Experimental support for moving symbols defined in .eh_frame as their
    CIEs/FDEs are edited or merged.
    
    	* elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
    	(_bfd_elf_adjust_eh_frame_global_symbol): Declare.
    	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
    	aug_data_len.
    	(offset_adjust): New function.
    	(_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
    	(adjust_eh_frame_local_symbols): Likewise.
    	(_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
    	after changing anything.  Return true if anything changed.
    	* elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
    	_bfd_elf_adjust_eh_frame_global_symbol for globals.

commit 641338d8e9b62bde9672f13f0dca2324b61e46e2
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 11:06:33 2017 +0930

    Clear dynstr_index when forcing symbols local
    
    This is really just cosmetic, but it does protect a little from
    accidentally reading a stale value.
    
    	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
    	when force_local.

commit 21d68fcd0c2f9113369d860ee1e5841bfacc35ff
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 09:19:26 2017 +0930

    PowerPC undefweak handling
    
    This patch fixes a number of cases where -z nodynamic-undefined-weak
    was not effective in preventing dynamic relocations or linkage stubs.
    
    	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
    	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
    	(ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
    	(ppc_elf_relocate_section): Likewise.  Delete silly optimisation
    	for undef and undefweak dyn_relocs.
    	* elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
    	(ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
    	(allocate_got, allocate_dynrelocs): Likewise.
    	(ppc64_elf_relocate_section): Likewise.

commit a61d92b7bd4da998dd5d73e9205b4871f7c4825d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 09:08:09 2017 +0930

    [GOLD] testsuite/plugin_section_order.c fix
    
    	* testsuite/plugin_section_order.c (onload): Add missing break.

commit 7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 27 00:00:56 2017 +0000

    Automatic date update in version.in

commit ce8ad8721313d288a05a95b62d95ca43db584ebb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 00:47:15 2017 +0100

    MIPS/GAS: Fix `.option picX' handling with relaxation
    
    Correct the handling of `.option pic0' and `.option pic2' GAS pseudo-ops
    in relaxation and use the setting of `mips_pic' (which these directives
    control) as at the time a relaxed frag has been created rather than the
    final `mips_pic' setting at the end of the source file processed.
    
    To do so record whether `mips_pic' is NO_PIC or not in the frag itself
    and use this information throughout relaxation instead of `mips_pic' to
    decide which of NO_PIC or SVR4_PIC to produce machine code for, fixing
    code generation and removing a possible fatal failure reproducible with:
    
    $ as -32 --relax-branch -o option-pic-relax-3.o option-pic-relax-3.s
    option-pic-relax-3.s: Assembler messages:
    option-pic-relax-3.s:7: Warning: relaxed out-of-range branch into a jump
    option-pic-relax-3.s: Internal error in cvt_frag_to_fill at .../gas/write.c:490.
    Please report this bug.
    $
    
    using the test source included, due to a buffer overrun in filling the
    variable part of a frag.
    
    Likewise use the `fx_tcbit2' flag of a BFD_RELOC_16_PCREL_S2 fixup to
    handle the simple case of substituting an out of range unconditional
    branch with an equivalent absolute jump in NO_PIC code.
    
    Retain the current way of VXWORKS_PIC use, which commit 41a1578ed17c
    ("MIPS/GAS: Sanitize `.option picX' pseudo-op") has forbidden the use of
    `.option picX' with.
    
    	gas/
    	* config/tc-mips.c (RELAX_ENCODE): Add `PIC' flag.
    	(RELAX_PIC): New macro.
    	(RELAX_USE_SECOND, RELAX_SECOND_LONGER, RELAX_NOMACRO)
    	(RELAX_DELAY_SLOT, RELAX_DELAY_SLOT_16BIT)
    	(RELAX_DELAY_SLOT_SIZE_FIRST, RELAX_DELAY_SLOT_SIZE_SECOND):
    	Shift bits.
    	(RELAX_BRANCH_ENCODE): Add `pic' flag.
    	(RELAX_BRANCH_UNCOND, RELAX_BRANCH_LIKELY, RELAX_BRANCH_LINK)
    	(RELAX_BRANCH_TOOFAR): Shift bits.
    	(RELAX_BRANCH_PIC): New macro.
    	(RELAX_MICROMIPS_ENCODE): Add `pic' flag.
    	(RELAX_MICROMIPS_PIC): New macro.
    	(RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT)
    	(RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_NODS)
    	(RELAX_MICROMIPS_RELAX32): Shift bits.
    	(relax_close_frag): Pass `mips_pic' setting to RELAX_ENCODE.
    	(append_insn): Pass `mips_pic' setting to RELAX_BRANCH_ENCODE
    	and RELAX_MICROMIPS_ENCODE, and record it in `fx_tcbit2' of the
    	first fixup created.
    	(md_apply_fix) <BFD_RELOC_16_PCREL_S2>: Use `fx_tcbit2' of the
    	fixup processed rather than `mips_pic' in choosing to relax an
    	out of range branch to a jump.
    	(relaxed_branch_length): Use the `pic' flag of the relaxed frag
    	rather than `mips_pic'.
    	(relaxed_micromips_32bit_branch_length): Likewise.
    	(md_estimate_size_before_relax): Likewise.
    	(md_convert_frag): Likewise.
    
    	* testsuite/gas/mips/option-pic-relax-0.d: New test.
    	* testsuite/gas/mips/option-pic-relax-1.d: New test.
    	* testsuite/gas/mips/option-pic-relax-2.d: New test.
    	* testsuite/gas/mips/option-pic-relax-3.d: New test.
    	* testsuite/gas/mips/option-pic-relax-3a.d: New test.
    	* testsuite/gas/mips/option-pic-relax-4.d: New test.
    	* testsuite/gas/mips/option-pic-relax-5.d: New test.
    	* testsuite/gas/mips/option-pic-relax-2.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-3.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-4.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-5.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-0.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-1.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-2.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-3.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-4.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-5.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 97d343d40012b1030f1fd219f91efcab180fb3ef
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Apr 26 15:34:00 2017 -0700

    x86: Add DT_PLTRELSZ/DT_PLTREL/DT_JMPREL for PLT relocation
    
    x86, PLT relocation may contain R_386_TLS_DESC or R_X86_64_TLSDESC
    even though there is no real PLT.  We need to add DT_PLTRELSZ, DT_PLTREL
    and DT_JMPREL if there is a .rel.plt/.rela.plt section.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
    	DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
    	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
    	add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
    
    ld/
    
    	* testsuite/ld-i386/tlsdesc2.d: New test.
    	* testsuite/ld-x86-64/tlsdesc2.d: Likewise.

commit 04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 16:30:22 2017 +0100

    Fix a seg-fault when processing a corrupt binary containing reloc(s) with negative addresses.
    
    	PR binutils/21434
    	* reloc.c (bfd_perform_relocation): Check for a negative address
    	in the reloc.

commit d21f3ddb0d5f95aff5c769ae283ce5522262f48d
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 15:45:41 2017 +0100

    Fix PR number in ChangeLog comment.

commit 740a463062bd5d1641bdfb639295dafe89341b9b
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 15:42:03 2017 +0100

    Fix invocation of stat() on a NULL pointer.
    
    	PR binutils/21407
    	* bucomm.c (get_file_size): Return -1 if file_name is NULL.
    	* ar.c (main): Fail with usage() invocation if no file names are
    	provided.

commit 3e6b644558f941d3fe482e15efbc53d8f39ef8b7
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 14:23:26 2017 +0100

    Improve decoding of corrupt/unrecognised gnu build attribute notes.
    
    	* readelf.c (process_section_headers): Warn about overlarge
    	sections.
    	(print_gnu_build_attribute_name): Print the number of unrecognised
    	note types.  Fix formatting in the presence of errors.
    	(testsuite/binutils-all/note-2-32.s): Fix encoding of numeric notes.
    	(testsuite/binutils-all/note-2-64.s): Likewise.

commit b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Apr 26 14:05:03 2017 +0100

    [gdbarch] New method "execute_dwarf_cfa_vendor_op" and migrate SPARC to it
    
    Recently a feature called "return address signing" has been added to GCC to
    prevent stack smash stack on AArch64.  For details please refer:
    
      https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00376.html
    
    GDB needs to be aware of this feature so it can restore the original return
    address which is critical for unwinding.
    
    On compiler side, whenever return address, i.e. LR register, is mangled or
    restored by hardware instruction, compiler is expected to generate a
    DW_CFA_AARCH64_negate_ra_state to toggle return address signing status.
    
    DW_CFA_AARCH64_negate_ra_state is using the same CFI number and
    therefore need to be multiplexed with DW_CFA_GNU_window_save which was designed
    for SPARC.
    
    A new gdbarch method "execute_dwarf_cfa_vendor_op" is introduced by this patch.
    It's parameters has been restricted to those only needed by SPARC and AArch64
    for multiplexing DW_CFA_GNU_window_save which is a CFI operation takes none
    operand.  Should any further DWARF CFI operation want to be multiplexed in the
    future,  the parameter list can be extended.  Below is the current function
    prototype.
    
       typedef int (gdbarch_execute_dwarf_cfa_vendor_op_ftype)
         (struct gdbarch *gdbarch, gdb_byte op, struct dwarf2_frame_state *fs);
    
    DW_CFA_GNU_window_save support for SPARC is migrated to this new gdbarch
    method by this patch.
    
    gdb/
    	* gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
    	* gdbarch.c: Regenerated.
    	* gdbarch.h: Regenerated.
    	* dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
    	visibility external.
    	(execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
    	between DW_CFA_lo_user and DW_CFA_high_user inclusive.
    	(enum cfa_how_kind): Move to ...
    	(struct dwarf2_frame_state_reg_info): Likewise.
    	(struct dwarf2_frame_state): Likewise.
    	* dwarf2-frame.h: ... here.
    	(dwarf2_frame_state_alloc_regs): New declaration.
    	* sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
    	(sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.

commit 23ec1e32b1ab714649a7c25e49b5d721fe3bd3db
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:15:31 2017 +0100

    PR ld/21334: Always call `_bfd_elf_link_renumber_dynsyms' if required
    
    Complement commit e17b0c351f0b ("MIPS/BFD: Respect the ELF gABI dynamic
    symbol table sort requirement") and correct an inconsistency in dynamic
    symbol accounting data causing an assertion failure in the MIPS backend:
    
    ld: BFD (GNU Binutils) 2.28.51.20170330 assertion fail
    ../../binutils-gdb/bfd/elfxx-mips.c:3860
    
    in the course of making a GOT entry in a static binary to satisfy a GOT
    relocation present in input, due to the local dynamic symbol count not
    having been established.
    
    To do so let backends request `_bfd_elf_link_renumber_dynsyms' to be
    always called, rather than where a dynamic binary is linked only, and
    then make this request in the MIPS backend.
    
    	bfd/
    	PR ld/21334
    	* elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
    	member.
    	* elfxx-target.h [!elf_backend_always_renumber_dynsyms]
    	(elf_backend_always_renumber_dynsyms): Define.
    	(elfNN_bed): Initialize `always_renumber_dynsyms' member.
    	* elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
    	* elflink.c (bfd_elf_size_dynamic_sections): Also call
    	`_bfd_elf_link_renumber_dynsyms' if the backend has requested
    	it.
    	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
    
    	ld/
    	PR ld/21334
    	* testsuite/ld-mips-elf/pr21334.dd: New test.
    	* testsuite/ld-mips-elf/pr21334.gd: New test.
    	* testsuite/ld-mips-elf/pr21334.ld: New test linker script.
    	* testsuite/ld-mips-elf/pr21334.s: New test source.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:13:28 2017 +0100

    ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in section GC
    
    Consistently call `_bfd_elf_link_renumber_dynsyms' only if linking a
    dynamic binary, complementing code in `bfd_elf_size_dynsym_hash_dynstr'
    and commit ccabcbe51e85 ("New attempt at fixing MIPS --gc-sections et
    al."), <https://sourceware.org/ml/binutils/2005-08/msg00258.html>.
    
    	bfd/
    	* elflink.c (bfd_elf_size_dynamic_sections): Only call
    	`_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
    	sections have been created.

commit bbdd9a6894d7875407da59d490faf5588163d21c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:41:33 2017 +0100

    MIPS/readelf: With `-A' also dump GOT in static binaries
    
    A static, non-relocated global offset table will be embedded in static
    binaries produced from objects containing any kind of GOT relocations,
    generally PIC code.  All symbols will have been resolved in static link
    in such binaries making all GOT entries local and their values final as
    there is no run-time load processing further performed.
    
    Dump such GOT with `readelf -A' like already done with regular GOT, to
    make it easier to examine static code that uses accesses via the GOT
    pointer.  There will be no dynamic segment or section in a static binary
    to get the GOT pointer (DT_PLTGOT) from, so use section headers to find
    a `.got' section instead.
    
    	binutils/
    	* readelf.c (process_mips_specific): Add static GOT support.

commit e63d123268f23a4cbc45ee55fb6dbc7d84729da3
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 13:07:49 2017 +0100

    Fix seg-fault attempting to compress a debug section in a corrupt binary.
    
    	PR binutils/21431
    	* compress.c (bfd_init_section_compress_status): Check the return
    	value from bfd_malloc.

commit c185f580b2b3baf7cee762c8ab31ab6925b9534a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 26 10:32:35 2017 +0100

    xtensa_pseudo_register_read/write - Use regcache_raw_read_unsigned
    
    gdb/
    	* xtensa-tdep.c (xtensa_pseudo_register_read): Use
    	regcache_raw_read_unsigned.
    	(xtensa_pseudo_register_write): Likewise.

commit 19c4559475791cd70e319eaf5c1e23d23d9ae81e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 26 09:57:15 2017 +0100

    nds32: Abort instead of returning REG_UNKNOWN
    
    gdb/
    	* nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
    	(nds32_pseudo_register_write): Likewise.

commit 03def0812a9ee962d9dcfe9b0ba37783e58acfb8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 26 00:00:36 2017 +0000

    Automatic date update in version.in

commit 4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Apr 25 21:32:05 2017 +0100

    Change readonly_p to bool
    
    This patch changes readonly_p type to bool.
    
    gdb:
    
    2017-04-25  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (struct regcache) <readonly_p>: Change its type
    	to bool.
    	(regcache_xmalloc_1): Update parameter type and callers update.

commit c4ab9505b53cdc899506ed421fddb7e1f8faf7a3
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 12 00:03:41 2017 +0100

    MIPS/readelf: Simplify GOT[1] data availability check
    
    Unavailable data is handled gracefully in MIPS GOT processing done by
    `print_mips_got_entry', so all that is needed in special GOT[1] handling
    is to verify whether data can be retrieved for the purpose of the GNU
    marker check done with `byte_get'.  Remove the extra error reporting
    code then, introduced with commit 75ec1fdbb797 ("Fix runtime seg-fault
    in readelf when parsing a corrupt MIPS binary.") in the course of
    addressing PR binutils/21344, and defer the error case to regular local
    GOT entry processing.
    
    	binutils/
    	* readelf.c (process_mips_specific): Remove error reporting from
    	GOT[1] processing.

commit 919383ac718c2a3187ee2a9ad659daa22da26258
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 12 00:02:13 2017 +0100

    MIPS/readelf: Remove extraneous null GOT data check
    
    Null data is handled gracefully throughout in MIPS GOT processing, with
    addresses printed normally and unavailable data shown as `<unknown>' by
    `print_mips_got_entry', and special processing code for GOT[1] doing an
    explicit check.  Remove an unwanted null GOT data check then, introduced
    with commit 592458412fb2 in the course of addressing PR binutils/12855.
    
    	binutils/
    	* readelf.c (process_mips_specific): Remove null GOT data check.

commit 126124cc0f3f0417913bfd84d83e4e525b6facf9
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Apr 25 17:07:00 2017 +0200

    [ARC] Enhance enter/leave mnemonics.
    
    enter/leave mnemonics are enhanced to not only accept register ranges
    but also single register (i.e., r13) or even no GPR register at all.
    
    gas/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/leave_enter.d: Update test.
    	* testsuite/gas/arc/leave_enter.s: Likewise.
    
    opcodes/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (print_insn_arc): Smartly print enter/leave mnemonics.
    	* arc-opc.c (insert_r13el): New function.
    	(R13_EL): Define.
    	* arc-tbl.h: Add new enter/leave variants.

commit be6a24d8eabdbeef32a9d79e81307af4491fcf56
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Apr 25 17:07:00 2017 +0200

    [ARC] Prefer NOP instead of MOV 0,0
    
    NOP and MOV 0,0 are having the same encoding. As MOV mnemonic is
    located before NOP in the instruction table, the disassembler prints
    MOV 0,0 for NOP. Reorder the instructions such that NOP is first.
    
    gas/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/b.d: Update test.
    	* testsuite/gas/arc/noargs_hs.d: Likewise.
    
    opcode/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-tbl.h: Reorder NOP entry to be before MOV instructions.

commit d581dda88162831ebbd0757312fa93681d945327
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Apr 25 15:15:54 2017 +0100

    Change gdbarch_wchar_bit for AArch64 and ARM
    
    The size of wchar_t on AArch64 and ARM is 4-byte, so we can use the
    default value (4*TARGET_CHAR_BIT).
    
    This patch fixes some fails in gdb.cp/wide_char_types.exp on
    aarch64-linux.
    
    gdb:
    
    2017-04-25  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_gdbarch_init): Don't call
    	set_gdbarch_wchar_bit.
    	* arm-tdep.c (arm_gdbarch_init): Likewise.

commit 0348fd79d4c32243d91e8a55f20f408a9b4ec20d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 11:49:37 2017 +0100

    MIPS16/opcodes: Add `-M no-aliases' disassembler option help text
    
    Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
    mips_opcode to extend number of available bits"),
    <https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and add a
    help text for the `-M no-aliases' disassembler option.
    
    	opcodes/
    	* mips-dis.c (print_mips_disassembler_options): Add
    	`no-aliases'.

commit 6e3d1f0728d980a384c5aa63ce7f2ff3919c5024
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 11:44:29 2017 +0100

    MIPS16/opcodes: Annotate instruction aliases
    
    Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
    mips_opcode to extend number of available bits"),
    <https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and annotate
    MIPS16 NOP, LA, DLA and the synthetic forms of LD and LW instructions as
    aliases.  These correspond to MOVE, and the PC-relative ADDIU, DADDIU,
    LD and LW hardware instructions respectively.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-alias.d: New test.
    	* testsuite/binutils-all/mips/mips16-noalias.d: New test.
    	* testsuite/binutils-all/mips/mips16-alias.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips16-opc.c (AL): New macro.
    	(mips16_opcodes): Mark "nop", "la", "dla", and synthetic forms
    	of "ld" and "lw" as aliases.

commit adc1273cb27286452ed8b32c5ca3ea263b4854f0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 10:20:14 2017 +0100

    MIPS/GAS: Correct BFD_RELOC_MIPS16_16_PCREL_S1 fixup size
    
    Correct the size of a BFD_RELOC_MIPS16_16_PCREL_S1 fixup made in
    `md_convert_frag', fixing a bug introduced with commit c9775dde3277
    ("MIPS16: Add R_MIPS16_PC16_S1 branch relocation support)".  Add test
    cases to verify that the overflow of this fixup's in-place addend is
    still correctly detected.
    
    	gas/
    	* config/tc-mips.c (md_convert_frag): Correct
    	BFD_RELOC_MIPS16_16_PCREL_S1 fixup size.
    	* testsuite/gas/mips/mips16-branch-addend-4.d: New test.
    	* testsuite/gas/mips/mips16-branch-addend-5.d: New test.
    	* testsuite/gas/mips/mips16-branch-addend-5.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-branch-addend-4.s: New test source.
    	* testsuite/gas/mips/mips16-branch-addend-5.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit debed3db4887483552103da36d180967ef0dca5f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 10:58:57 2017 +0100

    Fix build on gcc < 5 (std::is_trivially_copyable missing)
    
    Ref: https://sourceware.org/ml/gdb-patches/2017-04/msg00660.html
    
    Simply skip the poisoning on older compilers.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
    	(BothAreRelocatable, memcopy, memmove): Don't define.
    	* common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
    	macros.

commit d28b6364b1fba1c0270c001f0d82a69e351e1922
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Apr 25 02:40:43 2017 -0700

    gas: sparc: fix relaxation of CALL instruction into branches in a.out targets
    
    This patch avoids CALL instructions to be optimized into branches if
    the symbols referred to in the CALL instruction are not fully resolved
    at the time the assembler writes its output.
    
    Tested in sparc64-linux-gnu and sparc-sun-sunos4.1.3 targets.
    No regressions.
    
    gas/ChangeLog:
    
    2017-04-25  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	PR gas/21407
    	* config/tc-sparc.c (md_apply_fix): Do not transform `call'
    	instructions into branch instructions in fixups generating
    	additional relocations.
    	* testsuite/gas/sparc/call-relax.s: New file.
    	* testsuite/gas/sparc/call-relax.d: Likewise.
    	* testsuite/gas/sparc/call-relax-aout.d: Likewise.
    	* testsuite/gas/sparc/sparc.exp: Test call-relax and call-relax-aout.

commit b0b92aeb3828219075fce23543fb39fee8608e99
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:41 2017 +0100

    Poison non-POD memset & non-trivially-copyable memcpy/memmove
    
    This patch catches invalid initialization of non-POD types with
    memset, at compile time.
    
    This is what I used to catch the problems fixed by the previous
    patches in the series:
    
      $ make -k 2>&1 | grep "deleted function"
      src/gdb/breakpoint.c:951:53: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]’
      src/gdb/breakpoint.c:7325:32: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]’
      src/gdb/btrace.c:1153:42: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = btrace_insn; <template-parameter-1-2> = void; size_t = long unsigned int]’
    ...
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h: Include "common/poison.h".
    	* common/function-view.h: (Not, Or, Requires): Move to traits.h
    	and adjust.
    	* common/poison.h: New file.
    	* common/traits.h: Include <type_traits>.
    	(Not, Or, Requires): New, moved from common/function-view.h.

commit 16c4d54a71d8052988ed9c8005a03a7f934245f4
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct breakpoint
    
    Eh, struct breakpoint was made non-POD just today, with commit
    d28cd78ad820e3 ("Change breakpoint event locations to
    event_location_up").  :-)
    
      src/gdb/breakpoint.c: In function ‘void init_raw_breakpoint_without_location(breakpoint*, gdbarch*, bptype, const breakpoint_ops*)’:
      src/gdb/breakpoint.c:7447:28: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = breakpoint; <template-parameter-1-2> = void; size_t = long unsigned int]’
         memset (b, 0, sizeof (*b));
    			      ^
      In file included from src/gdb/common/common-defs.h:85:0,
    		   from src/gdb/defs.h:28,
    		   from src/gdb/breakpoint.c:20:
      src/gdb/common/poison.h:56:7: note: declared here
       void *memset (T *s, int c, size_t n) = delete;
    	 ^
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.h (struct breakpoint): In-class initialize all
    	fields.  Make boolean fields "bool".
    	* breakpoint.c (init_raw_breakpoint_without_location): Remove
    	memset call and initializations no longer necessary.

commit b5c3668253b909fd1f5b011893a35bb8dfd3be9b
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct btrace_insn
    
    struct btrace_insn is not a POD [1] so we shouldn't be using memset to
    initialize it [2].
    
    Use list-initialization instead, wrapped in a "pt insn to btrace insn"
    function, which looks like just begging to be added next to the
    existing pt_reclassify_insn/pt_btrace_insn_flags functions.
    
    [1] - because its field "flags" is not POD, because enum_flags has a
    non-trivial default ctor.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* btrace.c (pt_btrace_insn_flags): Change parameter type to
    	reference.
    	(pt_btrace_insn): New function.
    	(ftrace_add_pt): Remove memset call and use pt_btrace_insn.

commit 5625a2864147f4d92b22edfeeab7600818988be2
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct bp_location
    
    struct bp_location is not a POD, so we shouldn't be using memset to
    initialize it.
    
    Caught like this:
    
      src/gdb/breakpoint.c: In function ‘bp_location** get_first_locp_gte_addr(CORE_ADDR)’:
      src/gdb/breakpoint.c:950:53: error: use of deleted function ‘void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]’
         memset (&dummy_loc, 0, sizeof (struct bp_location));
    						       ^
      In file included from src/gdb/defs.h:28:0,
    		   from src/gdb/breakpoint.c:20:
      src/gdb/common/common-defs.h:126:7: note: declared here
       void *memset (T *s, int c, size_t n) = delete;
    	 ^
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
    	"base" field and inherit from "bp_location" instead.  Add
    	non-default ctor.
    	(allocate_location_exception): Use new non-default ctor.
    	* breakpoint.c (get_first_locp_gte_addr): Remove memset call.
    	(init_bp_location): Convert to ...
    	(bp_location::bp_location): ... this new ctor, and remove memset
    	call.
    	(base_breakpoint_allocate_location): Use the new non-default ctor.
    	* breakpoint.h (bp_location): Now a class.  Declare default and
    	non-default ctors.  In-class initialize all members.
    	(init_bp_location): Remove declaration.

commit 23bcc18f470ee4364bd362a8b78c6c1415a9dadb
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memcpy non-trivially-copyable types: Make enum_flags triv. copyable
    
    The delete-memcpy-with-non-trivial-types patch exposed many instances
    of this problem:
    
      src/gdb/btrace.h: In function ‘btrace_insn_s* VEC_btrace_insn_s_quick_insert(VEC_btrace_insn_s*, unsigned int, const btrace_insn_s*, const char*, unsigned int)’:
      src/gdb/common/vec.h:948:62: error: use of deleted function ‘void* memmove(T*, const U*, size_t) [with T = btrace_insn; U = btrace_insn; <template-parameter-1-3> = void; size_t = long unsigned int]’
         memmove (slot_ + 1, slot_, (vec_->num++ - ix_) * sizeof (T));    \
    								^
      src/gdb/common/vec.h:436:1: note: in expansion of macro ‘DEF_VEC_FUNC_O’
       DEF_VEC_FUNC_O(T)         \
       ^
      src/gdb/btrace.h:84:1: note: in expansion of macro ‘DEF_VEC_O’
       DEF_VEC_O (btrace_insn_s);
       ^
    [...]
      src/gdb/common/vec.h:1060:31: error: use of deleted function ‘void* memcpy(T*, const U*, size_t) [with T = btrace_insn; U = btrace_insn; <template-parameter-1-3> = void; size_t = long unsigned int]’
    	  sizeof (T) * vec2_->num);       \
    				 ^
      src/gdb/common/vec.h:437:1: note: in expansion of macro ‘DEF_VEC_ALLOC_FUNC_O’
       DEF_VEC_ALLOC_FUNC_O(T)         \
       ^
      src/gdb/btrace.h:84:1: note: in expansion of macro ‘DEF_VEC_O’
       DEF_VEC_O (btrace_insn_s);
       ^
    
    So, VECs (given it's C roots) rely on memcpy/memcpy of VEC elements to
    be well defined, in order to grow/reallocate its internal elements
    array.  This means that we can only put trivially copyable types in
    VECs.  E.g., if a type requires using a custom copy/move ctor to
    relocate, then we can't put it in a VEC (so we use std::vector
    instead).  But, as shown above, we're violating that requirement.
    
    btrace_insn is currently not trivially copyable, because it contains
    an enum_flags field, and that is itself not trivially copyable.  This
    patch corrects that, by simply removing the user-provided copy
    constructor and assignment operator.  The compiler-generated versions
    work just fine.
    
    Note that std::vector relies on std::is_trivially_copyable too to know
    whether it can reallocate its elements with memcpy/memmove instead of
    having to call copy/move ctors and dtors, so if we have types in
    std::vectors that weren't trivially copyable because of enum_flags,
    this will make such vectors more efficient.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/enum-flags.h (enum_flags): Don't implement copy ctor and
    	assignment operator.

commit a49abe0bb18e04d3a4b692995fcfae70cd470775
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 25 00:00:36 2017 +0000

    Automatic date update in version.in

commit 9e9821ddd80c0d0b3dda54d34cc8867f256d4583
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 14:37:12 2017 -0700

    x86-64: Force symbol dynamic if it isn't undefined weak
    
    Force symbol dynamic if it isn't undefined weak.  Generate relative
    relocation for GOT reference against non-dynamic symbol in PIC to
    avoid unnecessary dynamic symbols.
    
    bfd/
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
    	no_finish_dynamic_symbol.
    	(elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
    	0.
    	(elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
    	weak symbol, don't make it dynamic.
    	(elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
    	set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
    	relocation for GOT reference.
    	(elf_x86_64_finish_dynamic_symbol): Abort if
    	no_finish_dynamic_symbol isn't 0.
    
    ld/
    
    	* testsuite/ld-x86-64/no-plt.exp: Also check no-plt-1e.nd.
    	* testsuite/ld-x86-64/no-plt-1e.nd: New file.

commit 0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 13:42:33 2017 -0700

    i386: Force symbol dynamic if it isn't undefined weak
    
    Force symbol dynamic if it isn't undefined weak.  Generate R_386_RELATIVE
    relocation for R_386_GOT32 relocation against non-dynamic symbol in PIC.
    
    	PR ld/21402
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
    	undefined weak symbol, don't make it dynamic.
    	(elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
    	set no_finish_dynamic_symbol and generate R_386_RELATIVE
    	relocation for R_386_GOT32.

commit e1ba30532c6de26a14404ab4919bb591e8da3eab
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Apr 24 21:29:12 2017 +0100

    Use floatformat_totalsize_bytes
    
    The code can be replaced by floatformat_totalsize_bytes.
    
    gdb:
    
    2017-04-24  Yao Qi  <yao.qi@linaro.org>
    
    	* doublest.c (convert_doublest_to_floatformat): Call
    	floatformat_totalsize_bytes.

commit e662f84f5d6d014746550ce3d3f623583c043ff0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 09:46:04 2017 -0700

    i386: Skip pr12570 tests for nacl targets
    
    commit f129e49f4d07f4d36319ac757fdcf3a8ce7d605b
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Tue Jan 10 11:30:25 2017 -0800
    
        Don't use elf_i386_eh_frame_plt directly
    
    fixed i386 PLT eh_frame generation.  Skip pr12570 tests since they are
    for non-nacl targets.
    
    	* testsuite/ld-i386/pr12570a.d: Skip for nacl targets.
    	* testsuite/ld-i386/pr12570b.d: Likewise.

commit 1587442d37ee4266e54d59bfdc783574f0587aff
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 09:37:10 2017 -0700

    i386: Set ELF_MAXPAGESIZE to 0x1000 for VxWorks
    
    commit a27e437177412e5b52999723f3c5d5d0d37b9087
    Author: Roland McGrath <roland@gnu.org>
    Date:   Thu Jul 28 22:35:15 2011 +0000
    
        BFD vector for elf32-i386-nacl:
    
    changed ELF_MAXPAGESIZE to 0x10000 for VxWorks.  This patch fixes it
    and updated testsuite/ld-i386/vxworks2.sd to add space for program
    headers.
    
    bfd/
    
    	PR ld/21425
    	* elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
    
    ld/
    
    	PR ld/20815
    	* testsuite/ld-i386/vxworks2.sd: Add space for program headers.

commit 534455547021f3262fa60d32cabb626af01692a3
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon Apr 24 14:49:48 2017 +0100

    [GAS/ARM] Fix expansion of ldr pseudo instruction
    
    The LDR rX, =cst pseudo-instruction suffers from two issues for loading
    integer constants in Thumb mode:
    
    - movs is used if the constant and register can be encoded using that
      instruction which leads to unexpected behavior due to its flag-setting
      behavior
    - mov.w, movw and mvn are used for r13 (sp) and r15 (pc) but these
      encoding are marked as UNPREDICTABLE
    
    This patch fixes those issues and update testing accordingly.
    
    2017-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (move_or_literal_pool): Remove code generating MOVS.
    	Forbid MOV.W and MOVW if destination is SP or PC.
    	* testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.s: Explain
    	expectation of LDR not generating a MOVS for low registers and small
    	constants.  Add tests of MOVW generation.
    	* testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.d: Update
    	expected disassembly.

commit 8b353c47b70568ab9f0cfd619b7a19e931c2b0c8
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Apr 24 05:31:31 2017 -0700

    ld: fix regressions with rett instructions in sparc tests.
    
    A few tests in the ld testsuite were expecting the disassembler to
    emit `rett' instructions in V9.  This patch updates the tests to
    expect `return' instead.
    
    ld/ChangeLog:
    
    2017-04-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/ld-sparc/tlssunbin64.dd: Expect `return' instructions
    	instead of `rett' in V9.
    	* testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
    	* testsuite/ld-sparc/tlssunpic64.dd: Likewise.

commit 957f6b39cab6cac0e4c54e650c7f75109544ac1d
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Mon Apr 24 11:55:44 2017 +0100

    Fix snafu in aarch64 opcodes debugging statement.
    
    	* aarch64-opc.c (aarch64_logical_immediate_p): Update DEBUG_TRACE
    	arguments.

commit 9ad8982091eeb76b380e459fe721aaeacf7b8f24
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 24 00:00:39 2017 +0000

    Automatic date update in version.in

commit 42354845ae5e00ec1c3519e1f2166b79a9533401
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 17:39:48 2017 +0930

    PR 21418, ar -N lacks arg check
    
    	PR 21418
    	* ar.c (main): Check -a, -b, -i and -N args are given.

commit 7034215fd6d99f275998f7f0f8a346ab35fcbee6
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 17:28:14 2017 +0930

    PR 21417, ar arg check failure
    
    	PR 21417
    	* ar.c (main): Check that an archive file is given after options.

commit b02cd3e978e9273074f7cbe2ca1d5b372225a56d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 18:31:40 2017 +0930

    PR 21415, objdump fails to check bfd_get_section_contents status
    
    	PR 21415
    	* objdump.c (disassemble_section): Check bfd_get_section_contents
    	status.

commit 7eacd66b086cabb1daab20890d5481894d4f56b2
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 15:21:11 2017 +0930

    PR 21414, null pointer deref of _bfd_elf_large_com_section sym
    
    	PR 21414
    	* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
    	* elf.c (lcomm_sym): New.
    	(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
    	* bfd-in2.h: Regenerate.

commit bce964aa6c777d236fbd641f2bc7bb931cfe4bf3
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 11:03:34 2017 +0930

    PR 21412, get_reloc_section assumes .rel/.rela name for SHT_REL/RELA.
    
    This patch fixes an assumption made by code that runs for objcopy and
    strip, that SHT_REL/SHR_RELA sections are always named starting with a
    .rel/.rela prefix.  I'm also modifying the interface for
    elf_backend_get_reloc_section, so any backend function just needs to
    handle name mapping.
    
    	PR 21412
    	* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
    	parameters and comment.
    	(_bfd_elf_get_reloc_section): Delete.
    	(_bfd_elf_plt_get_reloc_section): Declare.
    	* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
    	New functions.  Don't blindly skip over assumed .rel/.rela prefix.
    	Extracted from..
    	(_bfd_elf_get_reloc_section): ..here.  Delete.
    	(assign_section_numbers): Call elf_get_reloc_section.
    	* elf64-ppc.c (elf_backend_get_reloc_section): Define.
    	* elfxx-target.h (elf_backend_get_reloc_section): Update.

commit 97e83a100aa8250be783304bfe0429761c6e6b6b
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 13:55:49 2017 +0930

    PR 21409, segfault in _bfd_dwarf2_find_nearest_line
    
    	PR 21409
    	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
    	no symbols.

commit f082820db966c79e47a143da774700055a1fad41
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 13:49:50 2017 +0930

    PR 21408, segfault in display_debug_lines_decoded
    
    	PR 21408
    	* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
    	file_table.

commit b43eea27e99f5fd270b3bec455054ea53ac700bb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 23 00:00:35 2017 +0000

    Automatic date update in version.in

commit bf1554384b186b448904dbc13ee5374239c88520
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Apr 22 16:36:01 2017 -0700

    Fix ldn/stn multiple instructions.  Fix testcases with unaligned data.
    
    	sim/aarch64/
    	* simulator.c (vec_load): Add M argument.  Rewrite to iterate over
    	registers based on structure size.
    	(LD4, LD3, LD2, LD1_2, LD1_3, LD1_4): Pass new arg to vec_load.
    	(LD1_1): Replace with call to vec_load.
    	(vec_store): Add new M argument.  Rewrite to iterate over registers
    	based on structure size.
    	(ST4, ST3, ST2, ST1_2, ST1_3, ST1_4): Pass new arg to vec_store.
    	(ST1_1): Replace with call to vec_store.
    
    	sim/testsuite/sim/aarch64/
    	* fcvtz.s, fstur.s, ldn_single.s, ldnr.s, mla.s, mls.s, uzp.s: Align
    	data.
    	* sumulh.s: Delete unnecessary data alignment.
    	* stn_single.s: Align data.  Fix unaligned ldr insns.  Adjust cmp
    	arguments to match change.
    	* ldn_multiple.s, stn_multiple.s: New.

commit 10f489e57677e670bf980e93896762594e9ad908
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:30:21 2017 -0600

    Use ui_out_emit_list
    
    This changes some spots to use ui_out_emit_list.  This only touches
    "easy" cases, where the cleanup was used in a block-structured way.
    There's also one more use of ui_out_emit_tuple in here.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
    	ui_out_emit_list.
    	* stack.c (print_frame): Use ui_out_emit_list.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
    	ui_out_emit_list.
    	* mi/mi-main.c (print_one_inferior)
    	(mi_cmd_data_list_register_names)
    	(mi_cmd_data_list_register_values, mi_cmd_list_features)
    	(mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
    	ui_out_emit_list.
    	* mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
    	(mi_output_solib_attribs): Use ui_out_emit_list,
    	ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
    	(mi_cmd_stack_list_args, list_args_or_locals): Use
    	ui_out_emit_list.
    	* disasm.c (do_assembly_only): Use ui_out_emit_list.
    	* breakpoint.c (print_solib_event, output_thread_groups): Use
    	ui_out_emit_list.

commit 0092b74da6d86185c4d0c0fa0f540b97647bf44a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:16:10 2017 -0600

    Use ui_out_emit_tuple in more places in MI
    
    This patch changes a few more spots in MI to use ui_out_emit_tuple.
    These changes required the use of gdb::optional.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
    	* mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.

commit a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:15:14 2017 -0600

    Use ui_out_emit_tuple in tracepoint.c
    
    This changes some code in tracepoint.c to use ui_out_emit_tuple.  One
    of these involved removing an otherwise unrelated cleanup (changing
    type to std::string) and the other involved introducing a new block.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* tracepoint.c (tvariables_info_1)
    	(print_one_static_tracepoint_marker): Use ui_out_emit_tuple.

commit 46b9c12945629fffb61001a8f13a37c96675c0b7
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:10:02 2017 -0600

    More uses of ui_out_emit_tuple
    
    This patch adds a few more uses of ui_out_emit_tuple.  In these cases
    a slightly more complicated change was needed.  This also adds
    annotate_arg_emitter, for use in stack.c, to avoid having to introduce
    a new scope and reindent the code for a single call.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* stack.c (print_frame_arg): Use ui_out_emit_tuple,
    	annotate_arg_emitter.
    	* breakpoint.c (print_mention_watchpoint)
    	(print_mention_masked_watchpoint): Use ui_out_emit_tuple.
    	* annotate.h (struct annotate_arg_emitter): New.

commit 2e78302469502f4f8a98144b60c09d4d9b6438fd
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 08:23:08 2017 -0600

    Use ui_out_emit_tuple
    
    This patch changes various places to use ui_out_emit_tuple,
    eliminating a number of cleanups.  This patch only tackles "easy"
    cases, which are ones where the cleanups in question were
    block-structured and did not involve any changes other than the
    obvious replacement.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* record-btrace.c (record_btrace_insn_history)
    	(record_btrace_insn_history_range, record_btrace_call_history)
    	(record_btrace_call_history_range): Use ui_out_emit_tuple.
    	* thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
    	ui_out_emit_tuple.
    	* stack.c (print_frame_info): Use ui_out_emit_tuple.
    	* solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
    	* skip.c (skip_info): Use ui_out_emit_tuple.
    	* remote.c (show_remote_cmd): Use ui_out_emit_tuple.
    	* progspace.c (print_program_space): Use ui_out_emit_tuple.
    	* probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
    	* osdata.c (info_osdata): Use ui_out_emit_tuple.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
    	ui_out_emit_tuple.
    	* mi/mi-main.c (print_one_inferior, list_available_thread_groups)
    	(output_register, mi_cmd_data_read_memory)
    	(mi_cmd_data_read_memory_bytes, mi_load_progress)
    	(mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
    	Use ui_out_emit_tuple.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
    	ui_out_emit_tuple.
    	* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
    	(mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
    	* linux-thread-db.c (info_auto_load_libthread_db): Use
    	ui_out_emit_tuple.
    	* inferior.c (print_inferior): Use ui_out_emit_tuple.
    	* gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
    	* disasm.c (do_mixed_source_and_assembly_deprecated)
    	(do_mixed_source_and_assembly): Use ui_out_emit_tuple.
    	* cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
    	* cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
    	* breakpoint.c (print_one_breakpoint_location)
    	(print_one_breakpoint): Use ui_out_emit_tuple.
    	* auto-load.c (print_script, info_auto_load_cmd): Use
    	ui_out_emit_tuple.
    	* ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.

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

Summary of changes:
 bfd/ChangeLog                                      |  191 +++++
 bfd/bfd-in2.h                                      |   12 +
 bfd/compress.c                                     |   19 +-
 bfd/dwarf2.c                                       |    2 +-
 bfd/elf-bfd.h                                      |   30 +-
 bfd/elf-eh-frame.c                                 |  162 ++++-
 bfd/elf-properties.c                               |   11 +-
 bfd/elf.c                                          |   67 +-
 bfd/elf32-i386.c                                   |  230 +++---
 bfd/elf32-m32c.c                                   |    3 +-
 bfd/elf32-msp430.c                                 |    3 +-
 bfd/elf32-ppc.c                                    |   38 +-
 bfd/elf64-ppc.c                                    |   28 +-
 bfd/elf64-x86-64.c                                 |  326 ++++----
 bfd/elflink.c                                      |   48 +-
 bfd/elfxx-mips.c                                   |    2 +-
 bfd/elfxx-mips.h                                   |    3 +-
 bfd/elfxx-target.h                                 |    8 +-
 bfd/reloc.c                                        |   29 +-
 bfd/section.c                                      |   24 +-
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |   80 ++
 binutils/ar.c                                      |   13 +-
 binutils/bucomm.c                                  |    3 +
 binutils/dwarf.c                                   |   78 ++-
 binutils/objdump.c                                 |    7 +-
 binutils/readelf.c                                 |  175 ++++-
 binutils/testsuite/binutils-all/mips/mips.exp      |    2 +
 .../testsuite/binutils-all/mips/mips16-alias.d     |   15 +
 .../testsuite/binutils-all/mips/mips16-alias.s     |   20 +
 .../testsuite/binutils-all/mips/mips16-noalias.d   |   16 +
 binutils/testsuite/binutils-all/note-2-32.s        |   32 +-
 binutils/testsuite/binutils-all/note-2-64.s        |   34 +-
 gas/ChangeLog                                      |  114 +++
 gas/config/tc-arm.c                                |   14 +-
 gas/config/tc-mips.c                               |  316 ++++----
 gas/config/tc-sparc.c                              |    9 +-
 gas/symbols.c                                      |   16 +-
 gas/testsuite/gas/arc/b.d                          |    8 +-
 gas/testsuite/gas/arc/leave_enter.d                |   41 +-
 gas/testsuite/gas/arc/leave_enter.s                |   11 +
 gas/testsuite/gas/arc/noargs_hs.d                  |    2 +-
 .../arm/thumb2_ldr_immediate_highregs_armv6t2.d    |   24 +-
 .../arm/thumb2_ldr_immediate_highregs_armv6t2.s    |   16 +-
 gas/testsuite/gas/mips/mips.exp                    |    9 +
 gas/testsuite/gas/mips/mips16-branch-addend-4.d    |   30 +
 gas/testsuite/gas/mips/mips16-branch-addend-4.s    |   24 +
 gas/testsuite/gas/mips/mips16-branch-addend-5.d    |    4 +
 gas/testsuite/gas/mips/mips16-branch-addend-5.l    |   11 +
 gas/testsuite/gas/mips/mips16-branch-addend-5.s    |   24 +
 gas/testsuite/gas/mips/option-pic-relax-0.d        |   21 +
 gas/testsuite/gas/mips/option-pic-relax-0.s        |   15 +
 gas/testsuite/gas/mips/option-pic-relax-1.d        |   18 +
 gas/testsuite/gas/mips/option-pic-relax-1.s        |   12 +
 gas/testsuite/gas/mips/option-pic-relax-2.d        |   28 +
 gas/testsuite/gas/mips/option-pic-relax-2.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-2.s        |   19 +
 gas/testsuite/gas/mips/option-pic-relax-3.d        |   20 +
 gas/testsuite/gas/mips/option-pic-relax-3.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-3.s        |   16 +
 gas/testsuite/gas/mips/option-pic-relax-3a.d       |    9 +
 gas/testsuite/gas/mips/option-pic-relax-4.d        |   28 +
 gas/testsuite/gas/mips/option-pic-relax-4.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-4.s        |   20 +
 gas/testsuite/gas/mips/option-pic-relax-5.d        |   20 +
 gas/testsuite/gas/mips/option-pic-relax-5.l        |    2 +
 gas/testsuite/gas/mips/option-pic-relax-5.s        |   17 +
 gas/testsuite/gas/sparc/call-relax-aout.d          |   19 +
 gas/testsuite/gas/sparc/call-relax.d               |   18 +
 gas/testsuite/gas/sparc/call-relax.s               |   10 +
 gas/testsuite/gas/sparc/sparc.exp                  |    4 +
 gdb/ChangeLog                                      |  440 +++++++++++
 gdb/aarch64-tdep.c                                 |    1 -
 gdb/ada-lang.c                                     |   19 +-
 gdb/ada-tasks.c                                    |    4 +-
 gdb/annotate.h                                     |   11 +
 gdb/arch-utils.c                                   |    9 +
 gdb/arch-utils.h                                   |    6 +
 gdb/arm-tdep.c                                     |    1 -
 gdb/auto-load.c                                    |   16 +-
 gdb/breakpoint.c                                   |   81 +--
 gdb/breakpoint.h                                   |  125 ++--
 gdb/btrace.c                                       |   23 +-
 gdb/cli/cli-setshow.c                              |   15 +-
 gdb/common/common-defs.h                           |    1 +
 gdb/common/enum-flags.h                            |   10 -
 gdb/common/function-view.h                         |   40 +-
 gdb/common/poison.h                                |   87 +++
 gdb/common/traits.h                                |   43 +-
 gdb/cp-abi.c                                       |    5 +-
 gdb/disasm.c                                       |   19 +-
 gdb/doublest.c                                     |    3 +-
 gdb/dwarf2-frame.c                                 |   92 +--
 gdb/dwarf2-frame.h                                 |   58 ++
 gdb/gdb_bfd.c                                      |    4 +-
 gdb/gdbarch.c                                      |   23 +
 gdb/gdbarch.h                                      |    7 +
 gdb/gdbarch.sh                                     |    3 +
 gdb/gdbtypes.c                                     |  106 ++--
 gdb/gdbtypes.h                                     |   13 +-
 gdb/ia64-tdep.c                                    |   61 +-
 gdb/infcmd.c                                       |   14 +-
 gdb/inferior.c                                     |    5 +-
 gdb/linux-thread-db.c                              |    3 +-
 gdb/mi/mi-cmd-file.c                               |    5 +-
 gdb/mi/mi-cmd-info.c                               |   10 +-
 gdb/mi/mi-cmd-stack.c                              |   28 +-
 gdb/mi/mi-cmd-var.c                                |   21 +-
 gdb/mi/mi-interp.c                                 |   12 +-
 gdb/mi/mi-main.c                                   |  110 +--
 gdb/mi/mi-symbol-cmds.c                            |    8 +-
 gdb/mips-linux-nat.c                               |    5 +-
 gdb/mips-tdep.c                                    |    2 +-
 gdb/nds32-tdep.c                                   |   23 +-
 gdb/nto-tdep.c                                     |   35 +-
 gdb/osdata.c                                       |   29 +-
 gdb/probe.c                                        |    5 +-
 gdb/progspace.c                                    |    4 +-
 gdb/python/py-inferior.c                           |    7 +-
 gdb/record-btrace.c                                |   22 +-
 gdb/regcache.c                                     |  785 +++++++++++---------
 gdb/regcache.h                                     |  166 ++++-
 gdb/remote.c                                       |   11 +-
 gdb/skip.c                                         |    5 +-
 gdb/solib-aix.c                                    |  110 ++--
 gdb/solib-darwin.c                                 |   32 +-
 gdb/solib-dsbt.c                                   |   39 +-
 gdb/solib-frv.c                                    |  110 ++--
 gdb/solib-svr4.c                                   |  115 ++--
 gdb/solib-svr4.h                                   |   23 +
 gdb/solib-target.c                                 |  114 ++--
 gdb/solib.c                                        |    6 +-
 gdb/solist.h                                       |   10 +-
 gdb/sparc-tdep.c                                   |   32 +
 gdb/stack.c                                        |   44 +-
 gdb/target.c                                       |    5 +-
 gdb/testsuite/ChangeLog                            |   23 +
 gdb/testsuite/gdb.base/environ.exp                 |  302 ++-------
 gdb/testsuite/gdb.base/info-program.exp            |   45 ++
 gdb/testsuite/gdb.cp/oranking.cc                   |   22 +
 gdb/testsuite/gdb.cp/oranking.exp                  |    9 +-
 gdb/testsuite/gdb.cp/rvalue-ref-overload.exp       |    1 -
 gdb/testsuite/gdb.cp/rvalue-ref-params.exp         |    1 -
 gdb/thread.c                                       |   30 +-
 gdb/tracepoint.c                                   |   44 +-
 gdb/windows-nat.c                                  |   52 +-
 gdb/xcoffread.c                                    |   68 ++-
 gdb/xtensa-tdep.c                                  |   21 +-
 gold/ChangeLog                                     |    4 +
 gold/testsuite/plugin_section_order.c              |    1 +
 ld/ChangeLog                                       |   60 ++
 ld/testsuite/config/default.exp                    |   37 +
 ld/testsuite/ld-elf/shared.exp                     |   86 +++
 ld/testsuite/ld-i386/i386.exp                      |    1 +
 ld/testsuite/ld-i386/pr12570a.d                    |    1 +
 ld/testsuite/ld-i386/pr12570b.d                    |    1 +
 ld/testsuite/ld-i386/tls.exp                       |  111 +++
 ld/testsuite/ld-i386/tlsdesc1a.c                   |   19 +
 ld/testsuite/ld-i386/tlsdesc1b.c                   |    8 +
 ld/testsuite/ld-i386/tlsdesc2.d                    |   10 +
 ld/testsuite/ld-i386/vxworks2.sd                   |    2 +-
 ld/testsuite/ld-ifunc/ifunc.exp                    |   99 +++
 ld/testsuite/ld-mips-elf/mips-elf.exp              |   10 +
 ld/testsuite/ld-mips-elf/pr21334.dd                |   10 +
 ld/testsuite/ld-mips-elf/pr21334.gd                |   11 +
 ld/testsuite/ld-mips-elf/pr21334.ld                |    9 +
 ld/testsuite/ld-mips-elf/pr21334.s                 |   20 +
 ld/testsuite/ld-sparc/tlssunbin64.dd               |    2 +-
 ld/testsuite/ld-sparc/tlssunnopic64.dd             |    2 +-
 ld/testsuite/ld-sparc/tlssunpic64.dd               |    2 +-
 ld/testsuite/ld-x86-64/no-plt-1e.nd                |    7 +
 ld/testsuite/ld-x86-64/no-plt.exp                  |    2 +-
 ld/testsuite/ld-x86-64/pr21038a.d                  |    6 +-
 ld/testsuite/ld-x86-64/pr21038c.d                  |    4 +-
 ld/testsuite/ld-x86-64/tls.exp                     |  116 +++
 ld/testsuite/ld-x86-64/tlsdesc1a.c                 |   19 +
 ld/testsuite/ld-x86-64/tlsdesc1b.c                 |    8 +
 ld/testsuite/ld-x86-64/tlsdesc2.d                  |   10 +
 ld/testsuite/ld-x86-64/x86-64.exp                  |    1 +
 opcodes/ChangeLog                                  |   27 +
 opcodes/aarch64-opc.c                              |    4 +-
 opcodes/arc-dis.c                                  |   19 +-
 opcodes/arc-opc.c                                  |   20 +-
 opcodes/arc-tbl.h                                  |    8 +-
 opcodes/mips-dis.c                                 |    3 +
 opcodes/mips16-opc.c                               |   12 +-
 sim/aarch64/ChangeLog                              |   11 +
 sim/aarch64/simulator.c                            |  290 +++-----
 sim/testsuite/sim/aarch64/ChangeLog                |    9 +
 sim/testsuite/sim/aarch64/fcvtz.s                  |    1 +
 sim/testsuite/sim/aarch64/fstur.s                  |    1 +
 sim/testsuite/sim/aarch64/ldn_multiple.s           |  136 ++++
 sim/testsuite/sim/aarch64/ldn_single.s             |    2 +
 sim/testsuite/sim/aarch64/ldnr.s                   |    2 +
 sim/testsuite/sim/aarch64/mla.s                    |    2 +
 sim/testsuite/sim/aarch64/mls.s                    |    2 +
 sim/testsuite/sim/aarch64/stn_multiple.s           |  171 +++++
 sim/testsuite/sim/aarch64/stn_single.s             |   24 +-
 sim/testsuite/sim/aarch64/sumulh.s                 |    3 -
 sim/testsuite/sim/aarch64/uzp.s                    |    2 +
 200 files changed, 5385 insertions(+), 2630 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-alias.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-alias.s
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-noalias.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-4.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-4.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-5.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-5.l
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-addend-5.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-0.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-0.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-1.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-1.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-2.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-2.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-2.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-3a.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-4.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-4.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-4.s
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-5.d
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-5.l
 create mode 100644 gas/testsuite/gas/mips/option-pic-relax-5.s
 create mode 100644 gas/testsuite/gas/sparc/call-relax-aout.d
 create mode 100644 gas/testsuite/gas/sparc/call-relax.d
 create mode 100644 gas/testsuite/gas/sparc/call-relax.s
 create mode 100644 gdb/common/poison.h
 create mode 100644 gdb/testsuite/gdb.base/info-program.exp
 create mode 100644 ld/testsuite/ld-i386/tlsdesc1a.c
 create mode 100644 ld/testsuite/ld-i386/tlsdesc1b.c
 create mode 100644 ld/testsuite/ld-i386/tlsdesc2.d
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.dd
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.gd
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.ld
 create mode 100644 ld/testsuite/ld-mips-elf/pr21334.s
 create mode 100644 ld/testsuite/ld-x86-64/no-plt-1e.nd
 create mode 100644 ld/testsuite/ld-x86-64/tlsdesc1a.c
 create mode 100644 ld/testsuite/ld-x86-64/tlsdesc1b.c
 create mode 100644 ld/testsuite/ld-x86-64/tlsdesc2.d
 create mode 100644 sim/testsuite/sim/aarch64/ldn_multiple.s
 create mode 100644 sim/testsuite/sim/aarch64/stn_multiple.s

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ba2d134..dff6a59 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,194 @@
+2017-04-29  Alan Modra  <amodra@gmail.com>
+
+	PR 21432
+	* reloc.c (reloc_offset_in_range): New function.
+	(bfd_perform_relocation, bfd_install_relocation): Use it.
+	(_bfd_final_link_relocate): Likewise.
+
+2017-04-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
+	before using .plt.got.
+	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
+	instead of "+=" to update 0.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_create_dynamic_sections): Create the
+	.plt.got section here.
+	(elf_i386_check_relocs): Don't create the .plt.got section.
+	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
+	the .plt.got and .plt.bnd sections here.
+	(elf_x86_64_check_relocs): Don't create the .plt.got nor
+	.plt.bnd sections.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
+	has_bnd_reloc.
+	(elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
+	(elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
+	(elf_x86_64_check_relocs): Don't set has_bnd_reloc.
+	(elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
+	has_bnd_reloc.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-bfd.h (elf_backend_data): Change setup_gnu_properties
+	to return bfd *.
+	(_bfd_elf_link_setup_gnu_properties): Return bfd *.
+	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
+	the first relocatable ELF input with GNU properties.
+
+2017-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
+	VxWorks for non-PIC.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct elf_backend_data): Make asection param of
+	elf_backend_eh_frame_address_size const.
+	(_bfd_elf_eh_frame_address_size): Likewise.
+	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
+	* elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
+	* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
+	* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
+	* elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
+	(next_cie_fde_offset): Constify params.
+	(offset_adjust, adjust_eh_frame_local_symbols): Likewise.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
+	(_bfd_elf_adjust_eh_frame_global_symbol): Declare.
+	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
+	aug_data_len.
+	(offset_adjust): New function.
+	(_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
+	(adjust_eh_frame_local_symbols): Likewise.
+	(_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
+	after changing anything.  Return true if anything changed.
+	* elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
+	_bfd_elf_adjust_eh_frame_global_symbol for globals.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
+	when force_local.
+
+2017-04-27  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
+	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
+	(ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
+	(ppc_elf_relocate_section): Likewise.  Delete silly optimisation
+	for undef and undefweak dyn_relocs.
+	* elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
+	(ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
+	(allocate_got, allocate_dynrelocs): Likewise.
+	(ppc64_elf_relocate_section): Likewise.
+
+2017-04-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
+	DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
+	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
+	add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
+
+2017-04-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21434
+	* reloc.c (bfd_perform_relocation): Check for a negative address
+	in the reloc.
+
+2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+	PR ld/21334
+	* elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
+	member.
+	* elfxx-target.h [!elf_backend_always_renumber_dynsyms]
+	(elf_backend_always_renumber_dynsyms): Define.
+	(elfNN_bed): Initialize `always_renumber_dynsyms' member.
+	* elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
+	* elflink.c (bfd_elf_size_dynamic_sections): Also call
+	`_bfd_elf_link_renumber_dynsyms' if the backend has requested
+	it.
+	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
+
+2017-04-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elflink.c (bfd_elf_size_dynamic_sections): Only call
+	`_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
+	sections have been created.
+
+2017-04-26  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21431
+	* compress.c (bfd_init_section_compress_status): Check the return
+	value from bfd_malloc.
+
+2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
+	no_finish_dynamic_symbol.
+	(elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
+	0.
+	(elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
+	weak symbol, don't make it dynamic.
+	(elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
+	set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
+	relocation for GOT reference.
+	(elf_x86_64_finish_dynamic_symbol): Abort if
+	no_finish_dynamic_symbol isn't 0.
+
+2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21402
+	* elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
+	undefined weak symbol, don't make it dynamic.
+	(elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
+	set no_finish_dynamic_symbol and generate R_386_RELATIVE
+	relocation for R_386_GOT32.
+
+2017-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21425
+	* elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR 21414
+	* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
+	* elf.c (lcomm_sym): New.
+	(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
+	* bfd-in2.h: Regenerate.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR 21412
+	* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
+	parameters and comment.
+	(_bfd_elf_get_reloc_section): Delete.
+	(_bfd_elf_plt_get_reloc_section): Declare.
+	* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
+	New functions.  Don't blindly skip over assumed .rel/.rela prefix.
+	Extracted from..
+	(_bfd_elf_get_reloc_section): ..here.  Delete.
+	(assign_section_numbers): Call elf_get_reloc_section.
+	* elf64-ppc.c (elf_backend_get_reloc_section): Define.
+	* elfxx-target.h (elf_backend_get_reloc_section): Update.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
+	PR 21409
+	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
+	no symbols.
+
 2017-04-21  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/21402
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 1d73134..17a35c0 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1839,6 +1839,18 @@ extern asection _bfd_std_section[4];
      { NULL }, { NULL }                                                \
     }
 
+/* We use a macro to initialize the static asymbol structures because
+   traditional C does not permit us to initialize a union member while
+   gcc warns if we don't initialize it.
+   the_bfd, name, value, attr, section [, udata]  */
+#ifdef __STDC__
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 }}
+#else
+#define GLOBAL_SYM_INIT(NAME, SECTION) \
+  { 0, NAME, 0, BSF_SECTION_SYM, SECTION }
+#endif
+
 void bfd_section_list_clear (bfd *);
 
 asection *bfd_get_section_by_name (bfd *abfd, const char *name);
diff --git a/bfd/compress.c b/bfd/compress.c
index f881c07..c854a20 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -542,7 +542,6 @@ bfd_init_section_compress_status (bfd *abfd, sec_ptr sec)
 {
   bfd_size_type uncompressed_size;
   bfd_byte *uncompressed_buffer;
-  bfd_boolean ret;
 
   /* Error if not opened for read.  */
   if (abfd->direction != read_direction
@@ -558,18 +557,18 @@ bfd_init_section_compress_status (bfd *abfd, sec_ptr sec)
   /* Read in the full section contents and compress it.  */
   uncompressed_size = sec->size;
   uncompressed_buffer = (bfd_byte *) bfd_malloc (uncompressed_size);
+  /* PR 21431 */
+  if (uncompressed_buffer == NULL)
+    return FALSE;
+
   if (!bfd_get_section_contents (abfd, sec, uncompressed_buffer,
 				 0, uncompressed_size))
-    ret = FALSE;
-  else
-    {
-      uncompressed_size = bfd_compress_section_contents (abfd, sec,
-							 uncompressed_buffer,
-							 uncompressed_size);
-      ret = uncompressed_size != 0;
-    }
+    return FALSE;
 
-  return ret;
+  uncompressed_size = bfd_compress_section_contents (abfd, sec,
+						     uncompressed_buffer,
+						     uncompressed_size);
+  return uncompressed_size != 0;
 }
 
 /*
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 132a674..0ef3e1f 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -4205,7 +4205,7 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
          looking up the function by section + offset uses the
          DW_AT_decl_line from the function DW_TAG_subprogram for the line,
          which will be the line of the function name.  */
-      if ((section->flags & SEC_CODE) == 0)
+      if (symbols != NULL && (section->flags & SEC_CODE) == 0)
 	{
 	  asymbol **tmp;
 
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index af377ee..4110ace 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -326,6 +326,12 @@ struct eh_cie_fde
 	 or 0 if the CIE doesn't have any.  */
       unsigned int personality_offset : 8;
 
+      /* Length of augmentation.  aug_str_len is the length of the
+	 string including null terminator.  aug_data_len is the length
+	 of the rest up to the initial insns.  */
+      unsigned int aug_str_len : 3;
+      unsigned int aug_data_len : 5;
+
       /* True if we have marked relocations associated with this CIE.  */
       unsigned int gc_mark : 1;
 
@@ -354,7 +360,7 @@ struct eh_cie_fde
       unsigned int merged : 1;
 
       /* Unused bits.  */
-      unsigned int pad1 : 17;
+      unsigned int pad1 : 9;
     } cie;
   } u;
   unsigned int reloc_index;
@@ -1285,7 +1291,7 @@ struct elf_backend_data
      that can't be determined for some reason.  The default definition
      goes by the bfd's EI_CLASS.  */
   unsigned int (*elf_backend_eh_frame_address_size)
-    (bfd *, asection *);
+    (bfd *, const asection *);
 
   /* These functions tell elf-eh-frame whether to attempt to turn
      absolute or lsda encodings into pc-relative ones.  The default
@@ -1360,8 +1366,10 @@ struct elf_backend_data
   bfd_size_type (*maybe_function_sym) (const asymbol *sym, asection *sec,
 				       bfd_vma *code_off);
 
-  /* Return the section which RELOC_SEC applies to.  */
-  asection *(*get_reloc_section) (asection *reloc_sec);
+  /* Given NAME, the name of a relocation section stripped of its
+     .rel/.rela prefix, return the section in ABFD to which the
+     relocations apply.  */
+  asection *(*get_reloc_section) (bfd *abfd, const char *name);
 
   /* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which
      has a type >= SHT_LOOS.  Returns TRUE if the fields were initialised,
@@ -1433,7 +1441,7 @@ struct elf_backend_data
 				       elf_property *);
 
   /* Set up GNU properties.  */
-  void (*setup_gnu_properties) (struct bfd_link_info *);
+  bfd *(*setup_gnu_properties) (struct bfd_link_info *);
 
   /* Encoding used for compact EH tables.  */
   int (*compact_eh_encoding) (struct bfd_link_info *);
@@ -1529,6 +1537,10 @@ struct elf_backend_data
   /* Address of protected data defined in the shared library may be
      external, i.e., due to copy relocation.   */
   unsigned extern_protected_data : 1;
+
+  /* True if `_bfd_elf_link_renumber_dynsyms' must be called even for
+     static binaries.  */
+  unsigned always_renumber_dynsyms : 1;
 };
 
 /* Information about reloc sections associated with a bfd_elf_section_data
@@ -1975,7 +1987,7 @@ extern void bfd_elf_print_symbol
   (bfd *, void *, asymbol *, bfd_print_symbol_type);
 
 extern unsigned int _bfd_elf_eh_frame_address_size
-  (bfd *, asection *);
+  (bfd *, const asection *);
 extern bfd_byte _bfd_elf_encode_eh_address
   (bfd *abfd, struct bfd_link_info *info, asection *osec, bfd_vma offset,
    asection *loc_sec, bfd_vma loc_offset, bfd_vma *encoded);
@@ -2174,6 +2186,8 @@ extern bfd_boolean _bfd_elf_end_eh_frame_parsing
 extern bfd_boolean _bfd_elf_discard_section_eh_frame
   (bfd *, struct bfd_link_info *, asection *,
    bfd_boolean (*) (bfd_vma, void *), struct elf_reloc_cookie *);
+extern bfd_boolean _bfd_elf_adjust_eh_frame_global_symbol
+  (struct elf_link_hash_entry *, void *);
 extern bfd_boolean _bfd_elf_discard_section_eh_frame_hdr
   (bfd *, struct bfd_link_info *);
 extern bfd_vma _bfd_elf_eh_frame_section_offset
@@ -2448,7 +2462,7 @@ extern bfd_boolean _bfd_elf_is_function_type (unsigned int);
 extern bfd_size_type _bfd_elf_maybe_function_sym (const asymbol *, asection *,
 						  bfd_vma *);
 
-extern asection *_bfd_elf_get_reloc_section (asection *);
+extern asection *_bfd_elf_plt_get_reloc_section (bfd *, const char *);
 
 extern int bfd_elf_get_default_section_type (flagword);
 
@@ -2593,7 +2607,7 @@ extern bfd_boolean _bfd_elf_parse_gnu_properties
   (bfd *, Elf_Internal_Note *);
 extern elf_property * _bfd_elf_get_property
   (bfd *, unsigned int, unsigned int);
-extern void _bfd_elf_link_setup_gnu_properties
+extern bfd *_bfd_elf_link_setup_gnu_properties
   (struct bfd_link_info *);
 
 /* The linker may need to keep track of the number of relocs that it
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 1743823..52ba9c6 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -326,9 +326,9 @@ size_of_output_cie_fde (struct eh_cie_fde *entry)
 /* Return the offset of the FDE or CIE after ENT.  */
 
 static unsigned int
-next_cie_fde_offset (struct eh_cie_fde *ent,
-		     struct eh_cie_fde *last,
-		     asection *sec)
+next_cie_fde_offset (const struct eh_cie_fde *ent,
+		     const struct eh_cie_fde *last,
+		     const asection *sec)
 {
   while (++ent < last)
     {
@@ -757,6 +757,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 
 	  strcpy (cie->augmentation, (char *) buf);
 	  buf = (bfd_byte *) strchr ((char *) buf, '\0') + 1;
+	  this_inf->u.cie.aug_str_len = buf - start - 1;
 	  ENSURE_NO_RELOCS (buf);
 	  if (buf[0] == 'e' && buf[1] == 'h')
 	    {
@@ -845,6 +846,8 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 		    goto free_no_table;
 		  }
 	    }
+	  this_inf->u.cie.aug_data_len
+	    = buf - start - 1 - this_inf->u.cie.aug_str_len;
 
 	  /* For shared libraries, try to get rid of as many RELATIVE relocs
 	     as possible.  */
@@ -1327,6 +1330,143 @@ find_merged_cie (bfd *abfd, struct bfd_link_info *info, asection *sec,
   return new_cie->cie_inf;
 }
 
+/* For a given OFFSET in SEC, return the delta to the new location
+   after .eh_frame editing.  */
+
+static bfd_signed_vma
+offset_adjust (bfd_vma offset, const asection *sec)
+{
+  struct eh_frame_sec_info *sec_info
+    = (struct eh_frame_sec_info *) elf_section_data (sec)->sec_info;
+  unsigned int lo, hi, mid;
+  struct eh_cie_fde *ent;
+  bfd_signed_vma delta;
+
+  lo = 0;
+  hi = sec_info->count;
+  if (hi == 0)
+    return 0;
+
+  while (lo < hi)
+    {
+      mid = (lo + hi) / 2;
+      ent = &sec_info->entry[mid];
+      if (offset < ent->offset)
+	hi = mid;
+      else if (mid + 1 >= hi)
+	break;
+      else if (offset >= ent[1].offset)
+	lo = mid + 1;
+      else
+	break;
+    }
+
+  if (!ent->removed)
+    delta = (bfd_vma) ent->new_offset - (bfd_vma) ent->offset;
+  else if (ent->cie && ent->u.cie.merged)
+    {
+      struct eh_cie_fde *cie = ent->u.cie.u.merged_with;
+      delta = ((bfd_vma) cie->new_offset + cie->u.cie.u.sec->output_offset
+	       - (bfd_vma) ent->offset - sec->output_offset);
+    }
+  else
+    {
+      /* Is putting the symbol on the next entry best for a deleted
+	 CIE/FDE?  */
+      struct eh_cie_fde *last = sec_info->entry + sec_info->count;
+      delta = ((bfd_vma) next_cie_fde_offset (ent, last, sec)
+	       - (bfd_vma) ent->offset);
+      return delta;
+    }
+
+  /* Account for editing within this CIE/FDE.  */
+  offset -= ent->offset;
+  if (ent->cie)
+    {
+      unsigned int extra
+	= ent->add_augmentation_size + ent->u.cie.add_fde_encoding;
+      if (extra == 0
+	  || offset <= 9u + ent->u.cie.aug_str_len)
+	return delta;
+      delta += extra;
+      if (offset <= 9u + ent->u.cie.aug_str_len + ent->u.cie.aug_data_len)
+	return delta;
+      delta += extra;
+    }
+  else
+    {
+      unsigned int ptr_size, width, extra = ent->add_augmentation_size;
+      if (offset <= 12 || extra == 0)
+	return delta;
+      ptr_size = (get_elf_backend_data (sec->owner)
+		  ->elf_backend_eh_frame_address_size (sec->owner, sec));
+      width = get_DW_EH_PE_width (ent->fde_encoding, ptr_size);
+      if (offset <= 8 + 2 * width)
+	return delta;
+      delta += extra;
+    }
+
+  return delta;
+}
+
+/* Adjust a global symbol defined in .eh_frame, so that it stays
+   relative to its original CIE/FDE.  It is assumed that a symbol
+   defined at the beginning of a CIE/FDE belongs to that CIE/FDE
+   rather than marking the end of the previous CIE/FDE.  This matters


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-04-22 14:46 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-04-22 14:46 UTC (permalink / raw)
  To: archer-commits

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

The branch, users/jkratoch/indexcxx has been updated
       via  19072274ff8508f49bba532d84a6a2039b6ffad0 (commit)
       via  a8cc8a548eccdfd78ad76c826339f56db815bdb8 (commit)
       via  ebe553db6c639d7533650f8482d611109c2f98a9 (commit)
       via  9be21bb4d4f30975766dfaa7d40b53ba10dcc3a0 (commit)
       via  b8ac4fa43d5d37e4028ba2a7cc2d9b100ee85418 (commit)
       via  e133d00576f3da89e7772149e8d2b6a059d26919 (commit)
       via  3c5fce9bc29b216af7d10f8d6e4d8c3f11a48359 (commit)
       via  0d4c07afb1e5e37e8e296858f8b14a3b4adf950b (commit)
       via  4daf993d4d4686f2707810af3725038d2f289bbb (commit)
       via  3ab87b688320e02db1bb7ed4bd45323d57737c77 (commit)
       via  ddef72cdc10d82ba011a7ff81cafbbd3466acf54 (commit)
       via  792f174f8af4291c222d0a6de919118e488258bc (commit)
       via  73b58fda3b5976ad1a60feb43695eaf61cdf62b9 (commit)
       via  afe9edbf486c4b27cceb258c11e104377512ec24 (commit)
       via  0fad29560ee055f1253a8e40bfc09b413117480d (commit)
       via  31321c8031315c8b5f7c6b73e464f14ad90310b6 (commit)
       via  64575f782b79e310852e43947bc1b06f24af388e (commit)
       via  59fa66c53823dc695f78669f40ec2eebab3aec42 (commit)
       via  c76886885987e543f9162809ad86a0a37b394e82 (commit)
       via  e492d2f8ac653b050019865ba1418fc5b057c00b (commit)
       via  a6c21d4a553de184562fd8409a5bcd3f2cc2561a (commit)
       via  3a3fd0fd2c4c87fdd588c51d879961a49e38f0c1 (commit)
       via  9bcb1f1630b05594fa86bfd017639cfcc966b11c (commit)
       via  26fcd539dd38a27259d8179152d617118f016706 (commit)
       via  101691343ce5f815dc70f6cfd083393e259a18d8 (commit)
       via  954b63d4c8645f86e40c7ef6c6d60acd2bf019de (commit)
       via  951787ed6d13f8f441d93fc3f6fb870c234774af (commit)
       via  fdd243b001585c5ca078342608332af77050c867 (commit)
       via  4895cde29761f6c39fdb6c319ff4666ee39f5d28 (commit)
       via  bd8a901f9e34191e0645a5527556d124ba5c345a (commit)
       via  d35d19584cf56a50b4833ff9c003597e01022f27 (commit)
       via  22796e972f18c5601cecb0251222411a352836b6 (commit)
       via  a7fc9b6193f830293066479aa439cea924418393 (commit)
       via  010151c9146eb2a299686e41c714e57c344be8e8 (commit)
       via  d56060f08aa4ed5786042a066f62aa8e474cc0fd (commit)
       via  6631d36456babbaf4c78b955165c3344f95ac5dd (commit)
       via  e6699019c4f363f804f9646974ab1d5e78785ffc (commit)
       via  305d16a9beff2a817ee03b3881da68eb3a29edec (commit)
       via  8bb5723165d4e7308fb69b21a95f396f9e61caaf (commit)
       via  c5d37467b152fe98f02ac1ff8188e32ecd0def95 (commit)
       via  c661778cb6b406d5b55fbf22ff88fbc85ee3f4c2 (commit)
       via  94522e5f36e542a7f7eccc4e2fa31682e58f812c (commit)
       via  725bf5cf125783c2a7ca4ab63d3768e220bab2db (commit)
       via  096c92ddb3a5a959bc638cff3c4ffa0f48a737d7 (commit)
       via  5dc74d659d1c84b8ffdb4fcbf2ef73dc974d8a5b (commit)
       via  0550c9559522c84341edcb334af30bc9bf2df9fb (commit)
       via  e3d60dfc000a29959c78bd69b85100aab33f7ab5 (commit)
       via  5fd69d0ab2c42d2be0781bf3a5d60e1d5b8d05dc (commit)
       via  c6609450b33960a0e9f8c1df045b02f0677e866a (commit)
       via  2a00d7ce26a6ee15e3712b045c8b7932278ea23b (commit)
       via  441d7c93782a1b1877bfa903dc8da56a6041bfb4 (commit)
       via  7296a62a2a237f6b1ad8db8c38b090e9f592c8cf (commit)
       via  1d15e434f43bc41a07bc7b0648fcb7e6ccbe8dcc (commit)
       via  4274208406762da7af6dd697f44d8e6895061530 (commit)
       via  808480f667e41e2fdb66bfdc9d5e047f1aa34a68 (commit)
       via  8f0dd45fde9de100160f45cad3e537e4e01a5493 (commit)
       via  b1b45502bdef95b57125b56287b45c2eb26707d3 (commit)
       via  63a5468afa8e2cf8843d87b99e780e9266b31014 (commit)
       via  dae82561a286618acf097ad9894eafba98377f66 (commit)
       via  c08bb8dd9bd9fd101018b287726187d7ed6a0035 (commit)
       via  10463f39c79843c2c141481a0781091870695b17 (commit)
       via  4af8774e1559b2a4e098ca0e4fc5daf857c633c1 (commit)
       via  ad3d022a77afdbaba4bb36ff4aa99be52892de42 (commit)
       via  e6ddc3bfedb4665c9d4baa2c85037af25167cdf3 (commit)
       via  bfb8cf9091a174b42beeff3d014173084413af4d (commit)
       via  f5336ca55ca0aca2507ac8c0f1d573d7f6b877ab (commit)
       via  4f70a994900c2f7b235add7d4131cc069c181cea (commit)
       via  be628ab814f1c90e185d7482d27aa8a991ab5837 (commit)
       via  8e9e35b1808481735e2d1efbf70ed7396a845d8e (commit)
       via  16e802b9c085ce354b1ab9e2fd25d00bf7626fa8 (commit)
       via  d28cd78ad820e3a40ac5064b6a30f3a12ce70bf0 (commit)
       via  711799d513206f6d8fc3dbfa81dcdecdb2ce6ece (commit)
       via  52d214d3e1b2f6a1382feafbf2984acdb24c0c95 (commit)
       via  4c404b8be6b1d8759eed50366207fc0e2e47d2b1 (commit)
       via  156d9eab863f40fc812245cf1213abbe12d192b3 (commit)
       via  4d89769a7b4e38e94a6e027281b36eff71fc8214 (commit)
       via  4b217cc72b7ab04e2bea519f9fbd47d8952e08f5 (commit)
       via  59d3651be7419fafa959f75a3fd46914f5ce395a (commit)
       via  b24b0d6c3be6b95d4b5e8da901e1ef315bd458b4 (commit)
       via  80a3b8c578e93119183db5f5e34248f843e410a7 (commit)
       via  c83dd8672698bcdf48d27e267e481230075f5900 (commit)
       via  0e8621a0bec2d0840b853c4104614f345f0569ca (commit)
       via  67d89901506da74d00a482b7560237dce404b41c (commit)
       via  93921405a46c0a58eae19fffb92e02416082801a (commit)
       via  ffc2605c41d026cf5710704848b7c3b1cdbdcf49 (commit)
       via  8f10c9323357ad190c0383f2fc9d394316447905 (commit)
       via  0a31ccfbd84660a91b133a9915e6f63c30033189 (commit)
       via  e9bb3fbbe81115b196b436cf513f0fd7b41d6a4a (commit)
       via  53375380e934928af133bca69c1e1912c35e9c73 (commit)
       via  53e710acd249e1861029b19b7a3d8195e7f28929 (commit)
       via  5e0e0422137063ff3846886c8eeb64e98e7669d6 (commit)
       via  ab0538b875c054468aa205d8d36550d1223a3bfd (commit)
       via  5430098f1807e084fe4ff5057040d68435f3d8a2 (commit)
       via  7c5ded6a00c4817d56cdf04fbc1969bc33b2a930 (commit)
       via  ef6a5ae7bd1dd7b528f5cf368d98056603003c35 (commit)
       via  e4097f5ee55a0d14a6213bccb9da39d4878714c8 (commit)
       via  537616aaeb44bc698af9848987e7c8e96d550595 (commit)
       via  ae0eee42821865ead8d391bb4f92bd2c136c6d43 (commit)
       via  a6acac06113f4b04fa0333ee2a3ab3025b43ee7c (commit)
       via  64403bd1832e10aa8324194968f72bdc5feb5aeb (commit)
       via  fbea15088db59186960134d11b8bf98070224d6c (commit)
       via  b43c520dba2f909c9bbb3ff5f2657c1c9010939b (commit)
       via  c03dc33b606c17231e47f37ae0f00d1c9a6c0506 (commit)
       via  ef85eab0ec3d7c88ea05047538d11fe704806cd8 (commit)
       via  9570835e5597037bee5042edf822675e715b3caf (commit)
       via  9a85b496ac4e6488d427155c24f87367ab1f6b1b (commit)
       via  a5bef50fdbfadbc6b8911b458580ee91cbfcdafd (commit)
       via  28d909e539567ab5ecd2bc20680e933869fdf889 (commit)
       via  a70f34c01c7f250858bd62df245c241263200f63 (commit)
       via  9295a5a95da871bfdeec225a6fc2f52f7655bd1c (commit)
       via  996812e3d43f78b17b6454d2948cd825ec98c63b (commit)
       via  845b344fd54ba381a826b271dd33682d1f148438 (commit)
       via  803bdfe43083475c7df3db38dc96f4e20d05457d (commit)
       via  8c25b49760b854d0b8451e8ecffeb9860fc41158 (commit)
       via  947fa9141488c1d39303fcdaa056332d2d0b2599 (commit)
       via  bb1dd176fb6f38ae3cc30dc61ce55a7fbf9d0d7b (commit)
       via  d236cfd444630bd9ddb63edca54c056d5825e673 (commit)
       via  62adc51030ad83d09e6d20c455616fd9216e4783 (commit)
       via  6f9dbcd42f2cf034a9a21f46842c08d2e88449db (commit)
       via  37095d07b470ea94d578cd5ca2da032617200c52 (commit)
       via  aa808707033a46ee063263f4bc1bd06449851621 (commit)
       via  8473b4472dce9ce87aaad35ff8e975e1487f914e (commit)
       via  4a44171e07147c6b943412c90184736ca5dbfb4c (commit)
       via  5e8bf44f4c94d430ac21257a1a953cfccd2ce79b (commit)
       via  b630840c9c22a877b2c6270880a214f7b451f546 (commit)
       via  ae27d3fe76ffb54e7d413a67d8c8d76ca78a9681 (commit)
       via  aebcde5eb475befba571ca9ae7b6c58126d41160 (commit)
       via  a7eaf017f95932eb2d654bd61f4c4a873ba71f77 (commit)
       via  8170f7693bc0a9442c0aa280197925db92d48ca6 (commit)
       via  6670ec13726c3afca789672f6235378a5e1f7d71 (commit)
       via  49f4617bf4b86a0b057f3477d57ffbf7c998b229 (commit)
       via  ae3f8c28134b52414a4c31df2e156615087c46e5 (commit)
       via  ac8f0f721bf0db9ffd0c6602744f1859cb4dd8d2 (commit)
       via  5c1f54ce0b21b19ac0b2a2c921c9ea2f33bbf5fd (commit)
       via  498e34425b38f69ceba28707962e3593c281261a (commit)
       via  ba2f91bb5d69127da41b368c7226f596ee449eca (commit)
       via  1fd6d111905e76dfa7af9fbee5229f3f1d360b4c (commit)
       via  436252de3e9de546001c4312d0863ce7e10aa200 (commit)
       via  1379e3aaea5e9454d7e75f293c3fe24c0d11c688 (commit)
       via  62ecb94c4a2929c1aace3fb5470d2a5100255811 (commit)
       via  0dedf3777db42712f460123ac0c63c49de5456f5 (commit)
       via  3944e22b463a62bfc4f6f0a892c6b0ac705e3c43 (commit)
       via  86abf93a3a56ccdf1c5f15b841ee9d6a0516a2cf (commit)
       via  0f65a5d84d0a83e5594cf17d04e9f98ab66652a4 (commit)
       via  9014582538e38055e438b6cce28d165a73abcc60 (commit)
       via  6ca30fa5613cfa935834f27114d6db4f3854a13e (commit)
       via  4e9868d4e0c8e45505876901d22c021dd36972a8 (commit)
       via  9bf2a700667c53003ece783c05e8b355801105f2 (commit)
       via  a121b7c1ac76833018f4fc3adaeddc3147272dd0 (commit)
       via  995816ba55d952b2823d2ead66495c5cad6dfe58 (commit)
       via  3e83a920090130052a407621b94b94513f539fda (commit)
       via  63160a43508fb50d9013df061b2191de71f67b50 (commit)
       via  9b2eba3dcc6b41f17180e1aee29ed133f942c733 (commit)
       via  2adadf517063fb1c3b9240bf99ad339968c12f15 (commit)
       via  0d1f4ceb3904c4c82231adf98f0e84f37bc8d4ea (commit)
       via  4d75997912d77497fd395fde222513436a7df046 (commit)
       via  21c8a587ab81a58d3e067551d5503a765f00ec6e (commit)
       via  fb32b4f7005ef8f1bde02394b58b5c5eda9cbf10 (commit)
       via  fdf9e36fa2ed39f0da0dfa5dfdbd8e2452c6cb45 (commit)
       via  9f33b8b7c19413efbb37638bdba54706e4da8573 (commit)
       via  67cb5b2da285175d37782f3606992b8052234b00 (commit)
       via  7a1149643d8621541025e2c70e6391e901c8c7ef (commit)
       via  69bbf465237819bd7bf2a21a682d695273b3c8cb (commit)
       via  be47f9e8180d7275b0e2b26998472e99be9a2d7b (commit)
       via  bde6261aed330cd8d108c387bfe659a6171525dd (commit)
       via  b38ef47f47bda5509babd768092ceb09ab98828d (commit)
       via  f995bbe8e62fdb5607acb1ee127240cfe50d2b8f (commit)
       via  0ad9d8c73486e60c5a4963c1b7a0ea7063d69cd2 (commit)
       via  4a596fe20e93109300e841a3d0ee5f198146ab6d (commit)
      from  828d7c2b97ad76c73c1a718d1bbaf434d045b937 (commit)

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

- Log -----------------------------------------------------------------
commit 19072274ff8508f49bba532d84a6a2039b6ffad0
Merge: 828d7c2 a8cc8a5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Apr 22 16:35:04 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit a8cc8a548eccdfd78ad76c826339f56db815bdb8
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Apr 22 14:09:21 2017 +0930

    PowerPC VLE insn set additions
    
    opcodes/
    	* ppc-opc.c (ELEV): Define.
    	(vle_opcodes): Add se_rfgi and e_sc.
    	(powerpc_opcodes): Enable lbdx, lhdx, lwdx, stbdx, sthdx, stwdx
    	for E200Z4.
    gas/
    	* testsuite/gas/ppc/vle.s: Format.  Add se_rfgi and e_sc.
    	* testsuite/gas/ppc/vle.d: Update.

commit ebe553db6c639d7533650f8482d611109c2f98a9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 21 21:50:22 2017 -0400

    doc: Improve documentation about MI thread output
    
    I noticed that the documentation on how the info about threads is output
    in MI is duplicated and not up to date.  The duplication is between the
    "GDB/MI Thread Information" page and the -thread-info result
    description.
    
    I improved the "GDB/MI Thread Information" page a bit and referred to it
    in the -thread-info doc.  This way, the -thread-info doc is more precise
    (it did not mention the "threads" and "current-thread-id" attributes)
    and concise.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Thread Information): Add missing
    	fields, re-word some things.
    	(GDB/MI Thread Commands): Describe fields found in the output of
    	-thread-info, remove description of fields in the
    	thread output tuple, replace with a cross-reference to "GDB/MI
    	Thread Information".

commit 9be21bb4d4f30975766dfaa7d40b53ba10dcc3a0
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 21 21:45:15 2017 -0400

    Remove dead code and "current" field from MI thread output doc
    
    The MI documentation says that -thread-info output contains a "current"
    field in the current thread tuple, with the value "*".  Current GDB
    master does not do this, and I couldn't find any GDB version that did.
    I suspect that it was never the case.
    
    The code that would correspond to this in print_thread_info_1 is
    essentially dead code.  The calls to uiout->text end up in
    mi_out::do_text, which is empty.
    
    This patch removes the documentation bit and the dead code.  This
    "current" field is not necessary, since -thread-info outputs a
    "current-thread-id" field.
    
    gdb/ChangeLog:
    
    	* thread.c (print_thread_info_1): Remove dead code.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Thread Commands): Remove "current" field
    	from -thread-info output.

commit b8ac4fa43d5d37e4028ba2a7cc2d9b100ee85418
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 22 00:00:47 2017 +0000

    Automatic date update in version.in

commit e133d00576f3da89e7772149e8d2b6a059d26919
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 21 12:03:14 2017 -0700

    i386: Avoid dynamic symbol with GOT reference in PIE
    
    GOT reference to global symbol in PIE will lead to dynamic symbol.  It
    becomes a problem when "time" or "times" is defined as a variable in
    an executable, clashing with functions of the same name in libc.  If
    a symbol isn't undefined weak symbol, don't make it dynamic in PIE and
    generate R_386_RELATIVE relocation.
    
    bfd/
    
    	PR ld/21402
    	* elf32-i386.c (elf_i386_link_hash_entry): Add
    	no_finish_dynamic_symbol.
    	(elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
    	(elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
    	symbol, don't make it dynamic in PIE.
    	(elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
    	set no_finish_dynamic_symbol and generate R_386_RELATIVE
    	relocation for R_386_GOT32
    	(elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
    	isn't 0.
    
    ld/
    
    	PR ld/21402
    	* testsuite/ld-elf/indirect.exp: Don't skip PIE indirect5 and
    	indirect6 tests on i386.

commit 3c5fce9bc29b216af7d10f8d6e4d8c3f11a48359
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 21 12:00:55 2017 -0700

    Require --no-dynamic-linker with -static -E/--dynamic-list
    
    When -static -E/--dynamic-list are passed to linker, linker may create
    executable with dynamic sections which aren't supported by run-time.
    We require --no-dynamic-linker together with -static -E/--dynamic-list
    before adding dynamic symbol table to static executable.
    
    bfd/
    
    	PR ld/19617
    	PR ld/21086
    	* elflink.c (elf_link_add_object_symbols): Require
    	--no-dynamic-linker with -E/--dynamic-list when creating
    	dynamic sections.
    
    ld/
    
    	PR ld/19617
    	PR ld/21086
    	* testsuite/ld-elf/pr19617a.d: Pass --no-dynamic-linker to ld.
    	* testsuite/ld-elf/pr19617b.d: Likewise.
    	* testsuite/ld-elf/pr19617c.d: Likewise.
    	*testsuite/ld-i386/pr19636-4d.d: Likewise.
    	* testsuite/ld-elf/readelf.exp: Pass --no-dynamic-linker to ld
    	with --export-dynamic.
    	* testsuite/ld-elf/shared.exp: Pass --no-dynamic-linker to ld
    	with -E.

commit 0d4c07afb1e5e37e8e296858f8b14a3b4adf950b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Apr 21 16:14:37 2017 +0200

    release branch: Fix: --enable-werror
    
    gdb-8.0-branch
    ./configure --enable-werror --enable-targets=all
    aarch64-tdep.c:3045:13: error: ‘void selftests::aarch64_process_record_test()’ declared ‘static’ but never defined [-Werror=unused-function]
    arm-tdep.c:9601:13: error: ‘void selftests::arm_record_test()’ declared ‘static’ but never defined [-Werror=unused-function]
    
    gdb/ChangeLog
    2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
    	GDB_SELF_TEST.
    	* arm-tdep.c (selftests::arm_record_test): Likewise.

commit 4daf993d4d4686f2707810af3725038d2f289bbb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 21 14:59:27 2017 +0100

    Simplify regcache_restore
    
    This patches removes the 2nd argument of regcache_restore, because it
    is only called by regcache_cpy.  In regcache_cpy, if regcache_restore
    is called, dst is not readonly, but src is readonly.  So this patch
    adds an assert that src is readonly in regcache_restore.
    regcache_cook_read read everything from a readonly regcache cache
    (src)'s register_buffer, and register status is from ->register_status.
    
    gdb:
    
    2017-04-21  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_restore): Remove argument 2.  Replace
    	argument 3 with regcache.  Get register status from
    	src->register_status and get register contents from
    	register_buffer (src, regnum).
    	(regcache_cpy): Update.

commit 3ab87b688320e02db1bb7ed4bd45323d57737c77
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Apr 21 05:19:06 2017 -0700

    opcodes: mark SPARC RETT instructions as v6notv9.
    
    This prevents the disassembler to show `return' instructions as
    `rett' in V9 and later architectures.
    
    opcodes/ChangeLog:
    
    2017-04-21  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* sparc-opc.c (sparc_opcodes): Mark RETT instructions as v6notv9.

commit ddef72cdc10d82ba011a7ff81cafbbd3466acf54
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 21 12:31:59 2017 +0100

    Fix shift overflow when parsing an overlarge note value.
    
    	PR binutils/21378
    	* readelf.c (print_gnu_build_attribute_name): Check for an
    	overlarge name field.

commit 792f174f8af4291c222d0a6de919118e488258bc
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 21 12:18:06 2017 +0100

    Fix detection of illegal AArch64 opcodes that resemble LD1R, LD2R, LD3R and LD4R.
    
    	PR binutils/21380
    opcodes	* aarch64-tbl.h (aarch64_opcode_table): Fix masks for LD1R, LD2R,
    	LD3R and LD4R.
    
    gas	* testsuite/gas/aarch64/illegal-3.s: New file.
    	* testsuite/gas/aarch64/illegal-3.d: New file.

commit 73b58fda3b5976ad1a60feb43695eaf61cdf62b9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 21 00:00:18 2017 +0000

    Automatic date update in version.in

commit afe9edbf486c4b27cceb258c11e104377512ec24
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 12:33:55 2017 -0700

    Skip PIE indirect5 and indirect6 tests on i386
    
    On i386, since GOT reference is needed to access global symbols in PIE,
    those symbols are made dynamic.  Crash happens when there is a reference
    to the same global symbol with a different symbol type in a shared
    object.  Since mixing different types of the same symbol doesn't work in
    general, this patch skips those tests on i386 as well as compiles non-PIE
    indirect5 and indirect6 tests with $NOPIE_LDFLAGS and $NOPIE_CFLAGS.
    
    	PR ld/21402
    	* testsuite/ld-elf/indirect.exp: Pass $NOPIE_LDFLAGS and
    	$NOPIE_CFLAGS to non-PIE indirect5 and indirect6 tests.  Skip
    	PIE indirect5 and indirect6 tests on i386.

commit 0fad29560ee055f1253a8e40bfc09b413117480d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 13 10:26:05 2017 +0100

    ELF/LD: Always consider STB_LOCAL symbols local
    
    Do not require forced local (STB_LOCAL) symbols to have a definition in
    a regular file to be considered to resolve local to the current module,
    matching `elf_link_renumber_local_hash_table_dynsyms'.  In the absence
    of a regular definition any reference to a STB_LOCAL symbol will have to
    be garbage collected along with the undefined symbol itself, or the link
    will eventually fail.  Either way the symbol concerned is not going to
    be external.
    
    	bfd/
    	* elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
    	if forced local.

commit 31321c8031315c8b5f7c6b73e464f14ad90310b6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 20 01:39:30 2017 +0100

    MIPS/LD/testsuite: Join `__ehdr_start' tests
    
    Complement commit 3807734dbe48 ("PR ld/15428: MIPS/LD/testsuite:
    Un-KFAIL `__ehdr_start' test 2") and join tests that do not need to be
    split anymore.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf.exp: Join `__ehdr_start' tests.

commit 64575f782b79e310852e43947bc1b06f24af388e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 19 16:51:17 2017 +0100

    MIPS/BFD: Reorder comment about dynamic symbol sorting
    
    Move the comment about dynamic symbol sorting next to where it happens.
    
    	bfd/
    	* elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
    	dynamic symbol sorting.

commit 59fa66c53823dc695f78669f40ec2eebab3aec42
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 07:48:24 2017 -0700

    Handle symbol defined in IR and referenced in DSO
    
    We need to make an IR symbol visible if it is defined in an IR object
    and referenced in a dynamic object.  When --as-needed is used, since
    linker removes the IR symbol reference of the dynamic object if the
    dynamic object isn't needed in the first pass, the IR definition isn't
    visible to the dynamic object even if the dynamic object becomes needed
    in the second pass.  Add dynamic_ref_after_ir_def to bfd_link_hash_entry
    to track IR symbol which is defined in an IR object and later referenced
    in a dynamic object.  dynamic_ref_after_ir_def is preserved when restoring
    the symbol table for unneeded dynamic object.
    
    bfd/
    
    	PR ld/21382
    	* elflink.c (elf_link_add_object_symbols): Preserve
    	dynamic_ref_after_ir_def when restoring the symbol table for
    	unneeded dynamic object.
    
    include/
    
    	PR ld/21382
    	* bfdlink.h (bfd_link_hash_entry): Add dynamic_ref_after_ir_def.
    
    ld/
    
    	PR ld/21382
    	* plugin.c (is_visible_from_outside): Symbol may be visible
    	from outside if dynamic_ref_after_ir_def is set.
    	(plugin_notice): Set dynamic_ref_after_ir_def if the symbol is
    	defined in an IR object and referenced in a dynamic object.
    	* testsuite/ld-plugin/lto.exp: Run PR ld/21382 tests.
    	* testsuite/ld-plugin/pr21382a.c: New file.
    	* testsuite/ld-plugin/pr21382b.c: Likewise.

commit c76886885987e543f9162809ad86a0a37b394e82
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 20 00:00:41 2017 +0000

    Automatic date update in version.in

commit e492d2f8ac653b050019865ba1418fc5b057c00b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Apr 19 09:59:14 2017 -0700

    x86-64: Handle undefined IFUNC symbol with -z now
    
    Since undefined IFUNC symbol is treated as normal FUNC symbol, don't
    abort on undefined IFUNC symbol in the second PLT.
    
    bfd/
    
    	PR ld/21401
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
    	on on undefined IFUNC symbol in the second PLT.
    
    ld/
    
    	PR ld/21401
    	* testsuite/ld-ifunc/ifunc.exp: Add a libtest-2-now.so test with
    	-z now.

commit a6c21d4a553de184562fd8409a5bcd3f2cc2561a
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:16:05 2017 +0100

    gdbthread.h: Fix comment typo
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* gdbthread.h (thread): Add missing closing parenthesis in
    	comment.

commit 3a3fd0fd2c4c87fdd588c51d879961a49e38f0c1
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:12:23 2017 +0100

    Fix removing inferiors from within "thread apply" commands
    
    This patch fixes an internal error exposed by a test that does
    something like:
    
      define kill-and-remove
        kill inferiors 2
        remove-inferiors 2
      end
    
      # Start one inferior.
      start
    
      # Start another inferior.
      add-inferior 2
      inferior 2
      start
    
      # Kill and remove inferior 1 while inferior 2 is selected.
      thread apply 1.1 kill-and-remove
    
    The internal error looks like this:
    
     Thread 1.1 (Thread 0x7ffff7fc2700 (LWP 20677)):
     [Switching to inferior 1 [process 20677] (gdb/testsuite/outputs/gdb.threads/threadapply/threadapply)]
     [Switching to thread 1.1 (Thread 0x7ffff7fc2700 (LWP 20677))]
     #0  main () at src/gdb/testsuite/gdb.threads/threadapply.c:38
     38          for (i = 0; i < NUM; i++)
     src/gdb/inferior.c:66: internal-error: void set_current_inferior(inferior*): Assertion `inf != NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n) FAIL: gdb.threads/threadapply.exp: kill_and_remove_inferior: try kill-and-remove: thread apply 1.1 kill-and-remove (GDB internal error)
    
    There are several problems around this area of the code.  One is that
    in do_restore_current_thread_cleanup, we do a look up of inferior by
    ptid, which can find the wrong inferior if the previously selected
    inferior exited and some other inferior was started with a reused pid
    (rare, but still...).
    
    The other problem is that the "remove-inferiors" command rejects
    attempts to remove the current inferior, but when we get to
    "remove-inferiors" in a "thread apply THR remove-inferiors 2" command,
    the current inferior is the inferior of thread THR, not the previously
    selected inferior, so if the previously selected inferior was inferior
    2, that command still manages to wipe it, and then gdb restores the
    old selected inferior, which is now a dangling pointer...
    
    So the fix here is:
    
    - Make make_cleanup_restore_current_thread store a pointer to the
      previously selected inferior directly, and use it directly instead
      of doing ptid look ups.
    
    - Add a refcount to inferiors, very similar to thread_info's refcount,
      that is incremented/decremented by
      make_cleanup_restore_current_thread, and checked before deleting an
      inferior.  To avoid duplication, a new refcounted_object type is
      added, that both thread_info and inferior inherit from.
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* common/refcounted-object.h: New file.
    	* gdbthread.h: Include "common/refcounted-object.h".
    	(thread_info): Inherit from refcounted_object and add comments.
    	(thread_info::incref, thread_info::decref)
    	(thread_info::m_refcount): Delete.
    	(thread_info::deletable): Use the refcounted_object::refcount()
    	method.
    	* inferior.c (current_inferior_): Add comment.
    	(set_current_inferior): Increment/decrement refcounts.
    	(prune_inferiors, remove_inferior_command): Skip inferiors marked
    	not-deletable instead of comparing with the current inferior.
    	(initialize_inferiors): Increment the initial inferior's refcount.
    	* inferior.h (struct inferior): Forward declare.
    	Include "common/refcounted-object.h".
    	(current_inferior, set_current_inferior): Move declaration to
    	before struct inferior's definition, and fix comment.
    	(inferior): Inherit from refcounted_object.  Add comments.
    	* thread.c (switch_to_thread_no_regs): Reference the thread's
    	inferior pointer directly instead of doing a ptid lookup.
    	(switch_to_no_thread): New function.
    	(switch_to_thread(thread_info *)): New function, factored out
    	from ...
    	(switch_to_thread(ptid_t)): ... this.
    	(restore_current_thread): Delete.
    	(current_thread_cleanup): Remove 'inf_id' and 'was_removable'
    	fields, and add 'inf' field.
    	(do_restore_current_thread_cleanup): Check whether old->inf is
    	alive instead of looking up an inferior by ptid.  Use
    	switch_to_thread and switch_to_no_thread.
    	(restore_current_thread_cleanup_dtor): Use old->inf directly
    	instead of lookup up an inferior by id.  Decref the inferior.
    	Don't restore 'removable'.
    	(make_cleanup_restore_current_thread): Same the inferior pointer
    	in old, instead of the inferior number.  Incref the inferior.
    	Don't save/clear 'removable'.
    
    gdb/testsuite/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* gdb.threads/threadapply.exp (kill_and_remove_inferior): New
    	procedure.
    	(top level): Call it.
    	* lib/gdb.exp (gdb_define_cmd): New procedure.

commit 9bcb1f1630b05594fa86bfd017639cfcc966b11c
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:12:23 2017 +0100

    Make inferior::detaching a bool, and introduce scoped_restore::release()
    
    I left making inferior::detaching a bool to a separate patch, because
    doing that makes a make_cleanup_restore_integer call in
    infrun.c:prepare_for_detach no longer compile (passing a 'bool *' when
    an 'int *' is expected).  Since we want to get rid of cleanups anyway,
    I looked at converting that to a scoped_restore.  However,
    prepare_for_detach wants to discard the cleanup on success, and
    scoped_restore doesn't have an equivalent for that.  So I added one --
    I called it "release()" because it seems like a natural fit in the way
    standard components call similarly-spirited methods, and, it's also
    what the proposal for a generic scope guard calls it too, AFAICS:
    
      http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4189.pdf
    
    I've added some scoped_guard unit tests, while at it.
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/scoped_restore-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
    	* common/scoped_restore.h (scoped_restore_base): Make "class".
    	(scoped_restore_base::release): New public method.
    	(scoped_restore_base::scoped_restore_base): New protected ctor.
    	(scoped_restore_base::m_saved_var): New protected field.
    	(scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
    	scoped_restore_base base class instead of m_saved_var directly.
    	(scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
    	(scoped_restore_tmpl::scoped_restore_tmpl(const
    	scoped_restore_tmpl<T>&)): Likewise.
    	(scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
    	method.
    	(scoped_restore_tmpl::saved_var): New method.
    	(scoped_restore_tmpl::m_saved_var): Delete.
    	* inferior.h (inferior::detaching): Now a bool.
    	* infrun.c (prepare_for_detach): Use a scoped_restore instead of a
    	cleanup.
    	* unittests/scoped_restore-selftests.c: New file.

commit 26fcd539dd38a27259d8179152d617118f016706
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:06:20 2017 +0100

    gdb/Makefile.in: Re-sort SUBDIR_UNITTESTS_SRCS/SUBDIR_UNITTESTS_OBS
    
    Note to self: 'o' before 'p'.
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
    	Re-sort in alphabetic order.

commit 101691343ce5f815dc70f6cfd083393e259a18d8
Author: Wedson Almeida Filho <wedsonaf@gmail.com>
Date:   Wed Apr 19 18:02:53 2017 +0930

    Correct PE reloc display
    
    	* peXXigen.c (pe_print_reloc): Correct chunk_end.

commit 954b63d4c8645f86e40c7ef6c6d60acd2bf019de
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Apr 19 01:26:57 2017 +0930

    Implement -z dynamic-undefined-weak
    
    -z nodynamic-undefined-weak is only implemented for x86.  (The sparc
    backend has some support code but doesn't enable the option by
    including ld/emulparams/dynamic_undefined_weak.sh, and since the
    support looks like it may be broken I haven't enabled it.)  This patch
    adds the complementary -z dynamic-undefined-weak, extends both options
    to affect building of shared libraries as well as executables, and
    adds support for the option on powerpc.
    
    include/
    	* bfdlink.h (struct bfd_link_info <dynamic_undefined_weak>):
    	Revise comment.
    bfd/
    	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
    	or make dynamic for info->dynamic_undefined_weak 0 and 1.
    	* elf32-ppc.c:Formatting.
    	(ensure_undefweak_dynamic): Don't make dynamic when
    	info->dynamic_undefined_weak is zero.
    	(allocate_dynrelocs): Discard undefweak dyn_relocs for
    	info->dynamic_undefined_weak.  Discard undef dyn_relocs when
    	not default visibility.  Discard undef and undefweak
    	dyn_relocs earlier.
    	(ppc_elf_relocate_section): Adjust to suit.
    	* elf64-ppc.c: Formatting.
    	(ensure_undefweak_dynamic): Don't make dynamic when
    	info->dynamic_undefined_weak is zero.
    	(allocate_dynrelocs): Discard undefweak dyn_relocs for
    	info->dynamic_undefined_weak.  Discard them earlier.
    ld/
    	* ld.texinfo (dynamic-undefined-weak): Document.
    	(nodynamic-undefined-weak): Document that this option now can
    	be used with shared libs.
    	* emulparams/dynamic_undefined_weak.sh: Support -z
    	dynamic-undefined-weak.
    	* emulparams/elf32ppccommon.sh: Include dynamic_undefined_weak.sh.
    	* testsuite/ld-undefined/weak-undef.exp (undef_weak_so),
    	(undef_weak_exe): New.  Use them.  Add -z dynamic-undefined-weak
    	and -z nodynamic-undefined-weak tests.
    	* Makefile.am: Update powerpc dependencies.
    	* Makefile.in: Regenerate.

commit 951787ed6d13f8f441d93fc3f6fb870c234774af
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 19 00:00:40 2017 +0000

    Automatic date update in version.in

commit fdd243b001585c5ca078342608332af77050c867
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:25 2017 +0100

    Eliminate obstack_printf
    
    Not used anywhere.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c (obstack_xml_printf): Delete.
    	* xml-support.h (obstack_xml_printf): Delete.

commit 4895cde29761f6c39fdb6c319ff4666ee39f5d28
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:25 2017 +0100

    gdb_xml_parser: make data fields private and make more functions methods
    
    This patch makes the data fields of gdb_xml_parser private, and makes
    more functions be gdb_xml_parser methods.  This is mostly for better
    encapsulation.
    
    Some free functions have their parsing-related guts converted to
    methods, while the free functions remain, as they're used as expat
    callbacks.  Now their only job is to be small shims that restore back
    the gdb_xml_parser type, defer work to the corresponding method, and
    make sure C++ exceptions don't cross expat.
    
    More C++-fycation of the XML parsers built on top of gdb_xml_parser
    could follow, but this was my stopping point.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
    	vdebug, verror, body_text, start_element, end_element, name,
    	user_data, set_is_xinclude, set_error, expat_parser>: New methods.
    	<name, user_data, expat_parser, scopes, error, last_line, dtd_name,
    	is_xinclude>: Make private and add m_ prefix.
    	(gdb_xml_parser::body_text): New method, based on ...
    	(gdb_xml_body_text): ... this.  Adjust.
    	(gdb_xml_parser::vdebug): New method, based on ...
    	(gdb_xml_debug): ... this.  Adjust.
    	(gdb_xml_parser::verror): New method, based on ...
    	(gdb_xml_error): ... this.  Adjust.
    	(gdb_xml_parser::start_element): New method, based on ...
    	(gdb_xml_start_element): ... this.  Adjust.
    	(gdb_xml_start_element_wrapper): Defer to
    	gdb_xml_parser::start_element and gdb_xml_parser::set_error.
    	(gdb_xml_parser::end_element): New method, based on ...
    	(gdb_xml_end_element_wrapper): ... this.  Adjust.
    	(gdb_xml_parser::~gdb_xml_parser): Adjust.
    	(gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
    	(gdb_xml_parser::use_dtd): New method, based on ...
    	(gdb_xml_use_dtd): ... this.  Adjust.
    	(gdb_xml_parser::parse): New method, based on ...
    	(gdb_xml_parse): ... this.  Adjust.
    	(gdb_xml_parse_quick): Adjust to call the parser's parse method.
    	(xinclude_start_include): Adjust to call the parser's name method.
    	(xml_xinclude_default, xml_xinclude_start_doctype)
    	(xml_xinclude_end_doctype): Adjust to call the parser's user_data
    	method.
    	(xml_process_xincludes): Adjust to call parser methods.
    	* xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
    	declarations.

commit bd8a901f9e34191e0645a5527556d124ba5c345a
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:25 2017 +0100

    xml-support.c: Use std::string for growing string buffer
    
    This main idea behind this patch is this change to xml-support.c:scope_level
    
      -  /* Body text accumulation.  This is an owning pointer.  */
      -  struct obstack *body;
      +  /* Body text accumulation.  */
      +  std::string body;
    
    ... which allows simplifying other parts of the code.
    
    In target_fetch_description_xml, we want to distinguish between
    returning "success + empty std::string" and "no success", and
    gdb::optional is a natural fit for that.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* tracefile-tfile.c (tfile_write_tdesc): Adjust to use
    	gdb::optional<std::string>.
    	* xml-support.c: Include <string>.
    	(scope_level::scope_level(scope_level &&))
    	(scope_level::~scope_level): Delete.
    	(scope_level::body): Now a std::string.
    	(gdb_xml_body_text, gdb_xml_end_element): Adjust.
    	(xinclude_parsing_data::xinclude_parsing_data): Add 'output'
    	parameter.
    	(xinclude_parsing_data::~xinclude_parsing_data): Delete.
    	(xinclude_parsing_data::output): Now a std::string reference.
    	(xinclude_start_include): Adjust.
    	(xml_xinclude_default): Adjust.
    	(xml_process_xincludes): Add 'output' parameter, and return bool.
    	* xml-support.h (xml_process_xincludes): Add 'output' parameter,
    	and return bool.
    	* xml-tdesc.c: Include <unordered_map> and <string>.
    	(tdesc_xml_cache): Delete.
    	(tdesc_xml_cache_s): Delete.
    	(xml_cache): Now an std::unordered_map.
    	(tdesc_parse_xml): Adjust to use std::string and unordered_map.
    	(target_fetch_description_xml): Change return type to
    	gdb::optional<std::string>, and adjust.
    	* xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
    	(target_fetch_description_xml): Change return type to
    	gdb::optional<std::string>.

commit d35d19584cf56a50b4833ff9c003597e01022f27
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    gdb::optional unit tests
    
    I thought I'd add some unit tests to make sure gdb::optional behaved
    correctly, and started writing some, but then thought/realized that
    libstdc++ already has extensive testing for C++17 std::optional, which
    gdb::optional is a subset of, and thought why bother writing something
    from scratch.  So I tried copying over a subset of libstdc++'s tests
    (that ones that cover the subset supported by gdb::optional), and was
    positively surprised that they mostly work OOTB.  This did help shake
    out a few bugs from what I was implementing in the previous patch to
    gdb::optional.  Still, it's a good chunk of code being copied over, so
    if people dislike this copying/duplication, I can drop this patch.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/optional-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
    	* unittests/optional-selftests.c: New file.
    	* unittests/optional/assignment/1.cc: New file.
    	* unittests/optional/assignment/2.cc: New file.
    	* unittests/optional/assignment/3.cc: New file.
    	* unittests/optional/assignment/4.cc: New file.
    	* unittests/optional/assignment/5.cc: New file.
    	* unittests/optional/assignment/6.cc: New file.
    	* unittests/optional/assignment/7.cc: New file.
    	* unittests/optional/cons/copy.cc: New file.
    	* unittests/optional/cons/default.cc: New file.
    	* unittests/optional/cons/move.cc: New file.
    	* unittests/optional/cons/value.cc: New file.
    	* unittests/optional/in_place.cc: New file.
    	* unittests/optional/observers/1.cc: New file.
    	* unittests/optional/observers/2.cc: New file.

commit 22796e972f18c5601cecb0251222411a352836b6
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    More gdb::optional features
    
    Currently we can't use gdb::optional<T> as function return type,
    because gdb::optional's copy ctor is deleted.  For example, with:
    
      gdb::optional<int> function ()
      {
        gdb::optional<int> opt;
        ....
        return opt;
    
    we get:
    
      src/gdb/foo.c: In function ‘gdb::optional<int> foo()’:
      src/gdb/foo.c:75:10: error: use of deleted function ‘gdb::optional<T>::optional(const gdb::optional<T>&) [with T = int]’
         return opt;
    	    ^
      In file included from src/gdb/foo.c:68:0:
      src/gdb/common/gdb_optional.h:53:3: note: declared here
         optional (const optional &other) = delete;
         ^
    
    I started by fixing that, and then ran into another missing feature,
    also fixed by this patch.
    
    The next feature I'm missing most from gdb::optional<T> compared to
    std::optional<T> is construction/move/assignment from a T, instead of
    having to default construct an gdb::optional and then use
    optional::emplace(....).
    
    For example:
      gdb::optional<std::string> function ()
      {
        gdb::optional<std::string> opt;
        std::string str;
        ...
        opt.emplace (std::move (str));
        return opt;
    vs
      gdb::optional<std::string> function ()
      {
        std::string str;
        ...
        return str;
    
    The copy/move ctor/assign methods weren't initialy implemented because
    std::optional supports construction from a type U if U is convertible
    to T too, and has rules to decide whether the ctors are
    explicit/implicit based on that, and rules for whether the ctor should
    be trivial or not, etc., which leads to a much more complicated
    implementation.
    
    If we stick to supporting copy/move construction/assignment of/to an
    optional<T> from exactly only optional<T> and T, then all that
    conversion-related complication disappears, and we still gain
    convenience in most use cases.
    
    The patch also makes emplace return a reference to the constructor
    object, per C++17 std::optional, and adds a reset method, againt
    because std::optional has one and it's trivial to support it.  These
    two changes are a requirement of the gdb::optional unit testing patch
    that will follow.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_optional.h: Include common/traits.h.
    	(in_place_t): New type.
    	(in_place): New constexpr variable.
    	(optional::optional): Remove member initialization of
    	m_instantiated.
    	(optional::optional(in_place_t...)): New constructor.
    	(optional::~optional): Use reset.
    	(optional::optional(const optional&)): New.
    	(optional::optional(const optional&&)): New.
    	(optional::optional(T &)): New.
    	(optional::optional(T &&)): New.
    	(operator::operator=(const optional &)): New.
    	(operator::operator=(optional &&)): New.
    	(operator::operator= (const T &))
    	(operator::operator= (T &&))
    	(operator::emplace (Args &&... args)): Return a T&.  Use reset.
    	(operator::reset): New.
    	(operator::m_instantiated):: Add in-class initializer.
    	* common/traits.h: Include <type_traits>.
    	(struct And): New types.

commit a7fc9b6193f830293066479aa439cea924418393
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    xml-support.c: Use std::vector
    
    scope_level::scope_level needed both a move ctor and a dtor explicitly
    coded, but those will be eliminated in a following patch.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c: Include <vector>.
    	(scope_level::scope_level(const gdb_xml_element *))
    	(scope_level::scope_level(scope_level&&)): New.
    	(scope_level::~scope_level): New.
    	(scope_level_s): Delete.
    	(gdb_xml_parser::scopes): Now a std::vector.
    	(gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
    	Use std::vector.
    	(gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
    	scope cleanup code.
    	(gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
    	of the scopes member.  Use std::vector::emplace_back.

commit 010151c9146eb2a299686e41c714e57c344be8e8
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    C++-ify gdb/xml-support.c a bit to eliminate cleanups
    
    Basically convert cleanups to destructors in gdb_xml_parser and
    xinclude_parsing_data, and then allocate objects of those types on the
    stack.
    
    More C++-ification is possible / will follow, but this removes a few
    make_cleanup calls already.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
    	a bool.
    	(gdb_xml_end_element): Change type of first parameter.
    	(gdb_xml_cleanup): Rename to ...
    	(gdb_xml_parser::~gdb_xml_parser): ... this.
    	(gdb_xml_create_parser_and_cleanup): Delete with ...
    	(gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
    	to this new ctor.
    	(gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
    	using gdb_xml_create_parser_and_cleanup.
    	(xinclude_parsing_data): Add ctor/dtor.
    	(xml_xinclude_cleanup): Delete.
    	(xml_process_xincludes): Create a local xinclude_parsing_data
    	instead of heap-allocating one.  Create a local gdb_xml_parser
    	instead of heap-allocating one with
    	gdb_xml_create_parser_and_cleanup.

commit d56060f08aa4ed5786042a066f62aa8e474cc0fd
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 18 09:44:32 2017 -0700

    PR threads/20743: Don't attempt to suspend or resume exited threads.
    
    When resuming a native FreeBSD process, ignore exited threads when
    suspending/resuming individual threads prior to continuing the process.
    
    gdb/ChangeLog:
    
    	PR threads/20743
    	* fbsd-nat.c (resume_one_thread_cb): Remove.
    	(resume_all_threads_cb): Remove.
    	(fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
    	iterate_over_threads.

commit 6631d36456babbaf4c78b955165c3344f95ac5dd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 18 00:00:36 2017 +0000

    Automatic date update in version.in

commit e6699019c4f363f804f9646974ab1d5e78785ffc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 17 07:47:17 2017 -0700

    Put soname in the version definition section
    
    commit 902e9fc76a0ec9f642cefa71ef88cca1c675ad54
    Author: Maciej W. Rozycki <macro@imgtec.com>
    Date:   Tue Feb 21 01:46:42 2017 +0000
    
        PR ld/20828: Move symbol version processing ahead of GC symbol sweep
    
    breaks version definition with --version-script --soname.  This patch
    fixes it by getting soname index before generating the version definition
    section.
    
    bfd/
    
    	PR ld/21389
    	* elflink.c (bfd_elf_size_dynamic_sections): Get soname index
    	before generating the version definition section.
    
    ld/
    
    	PR ld/21389
    	* testsuite/ld-elf/pr21389.map: New file.
    	* testsuite/ld-elf/pr21389.s: Likewise.
    	* testsuite/ld-elf/pr21389a.d: Likewise.
    	* testsuite/ld-elf/pr21389b.d: Likewise.
    	* testsuite/ld-elf/pr21389c.d: Likewise.

commit 305d16a9beff2a817ee03b3881da68eb3a29edec
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Apr 17 07:30:29 2017 -0700

    Update NEWS post GDB 8.0 branch creation.
    
    gdb/ChangeLog:
    
    	* NEWS: Create a new section for the next release branch.
    	Rename the section of the current branch, now that it has
    	been cut.

commit 8bb5723165d4e7308fb69b21a95f396f9e61caaf
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Apr 17 07:20:49 2017 -0700

    Bump version to 8.0.50.DATE-git
    
    Now that the GDB 8.0 branch has been created, we should bump
    the GDB version accordingly.
    
    gdb/ChangeLog:
    
    	GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
    	* version.in: Bump version to 7.99.90.DATE-git.

commit c5d37467b152fe98f02ac1ff8188e32ecd0def95
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Apr 17 18:33:52 2017 +0930

    Undo dynamic symbol state after regular object sym type mismatch
    
    We already handle the case of an object file first defining a symbol
    that a later shared library also defines where the symbol types are
    incompatible.  This patch handles the reverse, when a later object
    file defines an incompatible symbol defined by an earlier shared
    library.
    
    bfd/
    	* elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
    	state when a regular object file defines a symbol with
    	incompatible type to that defined by an earlier shared lib.
    ld/
    	* testsuite/ld-elf/indirect5a.c,
    	* testsuite/ld-elf/indirect5b.c,
    	* testsuite/ld-elf/indirect5.map,
    	* testsuite/ld-elf/indirect5.out: New test.
    	* testsuite/ld-elf/indirect6a.c: Likewise.
    	* testsuite/ld-elf/indirect.exp (check_dynamic_syms): New proc.
    	Run new tests and check dynsyms.

commit c661778cb6b406d5b55fbf22ff88fbc85ee3f4c2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 17 00:00:33 2017 +0000

    Automatic date update in version.in

commit 94522e5f36e542a7f7eccc4e2fa31682e58f812c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 16 00:00:35 2017 +0000

    Automatic date update in version.in

commit 725bf5cf125783c2a7ca4ab63d3768e220bab2db
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 15 00:00:36 2017 +0000

    Automatic date update in version.in

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

Summary of changes:
 ChangeLog                                          |    4 +
 bfd/ChangeLog                                      |  284 ++++
 bfd/aout-cris.c                                    |    4 +-
 bfd/aoutx.h                                        |   17 +-
 bfd/archive.c                                      |    4 +-
 bfd/bfd-in2.h                                      |    3 +-
 bfd/bfd.c                                          |  360 +++---
 bfd/binary.c                                       |    5 +-
 bfd/coff-arm.c                                     |   11 +-
 bfd/coff-mcore.c                                   |    2 +-
 bfd/coff-ppc.c                                     |    2 +-
 bfd/coff-rs6000.c                                  |    9 +-
 bfd/coff-tic4x.c                                   |    4 +-
 bfd/coff-tic80.c                                   |    2 +-
 bfd/coffcode.h                                     |   23 +-
 bfd/coffgen.c                                      |   21 +-
 bfd/cofflink.c                                     |   19 +-
 bfd/coffswap.h                                     |   10 +-
 bfd/config.bfd                                     |    1 -
 bfd/cpu-arm.c                                      |    4 +-
 bfd/elf-eh-frame.c                                 |   16 +-
 bfd/elf-m10300.c                                   |    4 +-
 bfd/elf-properties.c                               |   20 +-
 bfd/elf-s390-common.c                              |    2 +-
 bfd/elf.c                                          |   64 +-
 bfd/elf32-arc.c                                    |    8 +-
 bfd/elf32-arm.c                                    |   78 +-
 bfd/elf32-avr.c                                    |    3 +-
 bfd/elf32-bfin.c                                   |   13 +-
 bfd/elf32-frv.c                                    |   23 +-
 bfd/elf32-i386.c                                   |   84 +-
 bfd/elf32-iq2000.c                                 |    8 +-
 bfd/elf32-m32c.c                                   |    9 +-
 bfd/elf32-m32r.c                                   |    4 +-
 bfd/elf32-mep.c                                    |    6 +-
 bfd/elf32-microblaze.c                             |   20 +-
 bfd/elf32-msp430.c                                 |   19 +-
 bfd/elf32-nds32.c                                  |    8 +-
 bfd/elf32-ppc.c                                    |   46 +-
 bfd/elf32-rl78.c                                   |   20 +-
 bfd/elf32-rx.c                                     |    5 +-
 bfd/elf32-s390.c                                   |    2 +-
 bfd/elf32-score.c                                  |    5 +-
 bfd/elf32-score7.c                                 |    5 +-
 bfd/elf32-sh64.c                                   |   27 +-
 bfd/elf32-sparc.c                                  |    1 +
 bfd/elf32-spu.c                                    |    2 +-
 bfd/elf32-v850.c                                   |   28 +-
 bfd/elf32-vax.c                                    |   27 +-
 bfd/elf32-visium.c                                 |    5 +-
 bfd/elf64-ia64-vms.c                               |   45 +-
 bfd/elf64-mmix.c                                   |   41 +-
 bfd/elf64-ppc.c                                    |   24 +-
 bfd/elf64-s390.c                                   |    2 +-
 bfd/elf64-sh64.c                                   |   20 +-
 bfd/elf64-sparc.c                                  |   20 +-
 bfd/elf64-x86-64.c                                 |   34 +-
 bfd/elfcode.h                                      |   13 +-
 bfd/elflink.c                                      |  176 ++-
 bfd/elfnn-aarch64.c                                |    4 +-
 bfd/elfnn-ia64.c                                   |   30 +-
 bfd/elfxx-mips.c                                   |   52 +-
 bfd/elfxx-sparc.c                                  |  214 +++-
 bfd/elfxx-sparc.h                                  |    5 +
 bfd/hpux-core.c                                    |    6 +-
 bfd/ieee.c                                         |    8 +-
 bfd/ihex.c                                         |    4 +-
 bfd/linker.c                                       |    3 +-
 bfd/merge.c                                        |    4 +-
 bfd/mmo.c                                          |  116 +-
 bfd/oasys.c                                        |    3 +-
 bfd/opncls.c                                       |  231 ++--
 bfd/pdp11.c                                        |    9 +-
 bfd/peXXigen.c                                     |   15 +-
 bfd/po/SRC-POTFILES.in                             |    1 +
 bfd/rs6000-core.c                                  |    3 +-
 bfd/version.h                                      |    2 +-
 bfd/vms-alpha.c                                    |    9 +-
 bfd/xcofflink.c                                    |    8 +-
 binutils/ChangeLog                                 |   51 +
 binutils/doc/binutils.texi                         |   16 +-
 binutils/dwarf.c                                   |    2 +-
 binutils/objcopy.c                                 |  205 +++-
 binutils/readelf.c                                 |   63 +-
 config.sub                                         |    6 +-
 gas/ChangeLog                                      |   61 +
 gas/config/tc-ppc.c                                |    1 -
 gas/config/tc-xtensa.c                             |   66 +-
 gas/testsuite/gas/aarch64/illegal-3.d              |   14 +
 gas/testsuite/gas/aarch64/illegal-3.s              |    9 +
 gas/testsuite/gas/elf/section12a.d                 |    4 +-
 gas/testsuite/gas/ppc/altivec2.d                   |  182 +--
 gas/testsuite/gas/ppc/altivec2.s                   |   48 -
 gas/testsuite/gas/ppc/htm.d                        |    4 +-
 gas/testsuite/gas/ppc/vle.d                        |    4 +
 gas/testsuite/gas/ppc/vle.s                        |  258 ++--
 gas/testsuite/gas/wasm32/allinsn.d                 |   64 +-
 gas/testsuite/gas/wasm32/disass-2.d                |    9 +
 gas/testsuite/gas/wasm32/disass-2.s                |    3 +
 gas/testsuite/gas/wasm32/disass.d                  |    9 +
 gas/testsuite/gas/wasm32/disass.s                  |    3 +
 gas/testsuite/gas/wasm32/reloc.d                   |    7 +-
 gas/testsuite/gas/wasm32/reloc.s                   |    2 +-
 gas/testsuite/gas/wasm32/wasm32.exp                |    4 +-
 gas/testsuite/gas/xtensa/all.exp                   |    2 +
 gas/testsuite/gas/xtensa/auto-litpools-first1.d    |   12 +
 gas/testsuite/gas/xtensa/auto-litpools-first1.s    |    3 +
 gas/testsuite/gas/xtensa/auto-litpools-first2.d    |   15 +
 gas/testsuite/gas/xtensa/auto-litpools-first2.s    |    3 +
 gas/testsuite/gas/xtensa/auto-litpools.d           |    6 +-
 gdb/ChangeLog                                      | 1354 ++++++++++++++++++++
 gdb/Makefile.in                                    |   12 +-
 gdb/NEWS                                           |    4 +-
 gdb/aarch64-tdep.c                                 |    4 +
 gdb/ada-exp.y                                      |    4 +-
 gdb/ada-lang.c                                     |   60 +-
 gdb/ada-lang.h                                     |    8 +-
 gdb/aix-thread.c                                   |    6 +-
 gdb/alpha-tdep.c                                   |    2 +
 gdb/arc-tdep.c                                     |    2 +-
 gdb/arm-tdep.c                                     |   15 +-
 gdb/avr-tdep.c                                     |    3 +
 gdb/ax-gdb.c                                       |   32 +-
 gdb/bcache.c                                       |    2 +-
 gdb/bcache.h                                       |    2 +-
 gdb/bfin-tdep.c                                    |    6 +-
 gdb/break-catch-throw.c                            |   37 +-
 gdb/breakpoint.c                                   |  422 +++----
 gdb/breakpoint.h                                   |  217 ++--
 gdb/bsd-kvm.c                                      |    2 +-
 gdb/bsd-uthread.c                                  |    6 +-
 gdb/buildsym.c                                     |    2 +-
 gdb/buildsym.h                                     |    4 +-
 gdb/c-exp.y                                        |   10 +-
 gdb/c-lang.c                                       |    9 +
 gdb/c-lang.h                                       |    4 +-
 gdb/c-varobj.c                                     |    2 +-
 gdb/charset.c                                      |   54 +-
 gdb/charset.h                                      |    6 +-
 gdb/cli/cli-cmds.c                                 |   83 +-
 gdb/cli/cli-decode.c                               |   13 +-
 gdb/cli/cli-dump.c                                 |   15 +-
 gdb/cli/cli-script.c                               |   87 +-
 gdb/cli/cli-script.h                               |    9 +-
 gdb/cli/cli-utils.c                                |    6 +-
 gdb/cli/cli-utils.h                                |   22 +-
 gdb/coff-pe-read.c                                 |    2 +-
 gdb/command.h                                      |    3 +-
 gdb/common/common-utils.c                          |   11 +
 gdb/common/common-utils.h                          |    5 +
 gdb/common/common.m4                               |    3 +-
 gdb/common/gdb_optional.h                          |  132 ++-
 gdb/{terminal.h => common/gdb_termios.h}           |   42 +-
 gdb/common/print-utils.c                           |    2 +-
 gdb/common/ptid.c                                  |   69 +-
 gdb/common/ptid.h                                  |  173 ++-
 gdb/common/refcounted-object.h                     |   56 +
 gdb/common/scoped_restore.h                        |   36 +-
 gdb/common/traits.h                                |   26 +
 gdb/compile/compile-c-support.c                    |    6 +-
 gdb/compile/compile-loc2c.c                        |   20 +-
 gdb/compile/compile.c                              |   12 +-
 gdb/completer.c                                    |   76 +-
 gdb/completer.h                                    |    8 +-
 gdb/configure                                      |    2 +-
 gdb/configure.tgt                                  |    4 +
 gdb/corefile.c                                     |    2 +-
 gdb/corelow.c                                      |    2 +-
 gdb/cp-name-parser.y                               |    4 +-
 gdb/cp-valprint.c                                  |    2 +-
 gdb/cris-tdep.c                                    |    6 +-
 gdb/d-exp.y                                        |   10 +-
 gdb/d-lang.h                                       |    2 +-
 gdb/darwin-nat.c                                   |   16 +-
 gdb/dbxread.c                                      |   80 +-
 gdb/defs.h                                         |   35 +-
 gdb/disasm.c                                       |    2 +-
 gdb/doc/ChangeLog                                  |   14 +
 gdb/doc/gdb.texinfo                                |   77 +-
 gdb/dwarf2read.c                                   |   29 +-
 gdb/elfread.c                                      |    2 +-
 gdb/event-top.c                                    |    4 +-
 gdb/exceptions.c                                   |    4 +-
 gdb/exceptions.h                                   |    3 +-
 gdb/expprint.c                                     |   14 +-
 gdb/expression.h                                   |    6 +-
 gdb/f-exp.y                                        |    8 +-
 gdb/f-lang.c                                       |    2 +-
 gdb/f-lang.h                                       |    2 +-
 gdb/fbsd-nat.c                                     |   62 +-
 gdb/fbsd-tdep.c                                    |    2 +-
 gdb/fork-child.c                                   |  383 ++++---
 gdb/frv-tdep.c                                     |    6 +-
 gdb/gdb-dlfcn.c                                    |   45 +-
 gdb/gdb-dlfcn.h                                    |   24 +-
 gdb/gdbarch.c                                      |   54 +-
 gdb/gdbarch.h                                      |   15 +-
 gdb/gdbarch.sh                                     |   12 +-
 gdb/gdbcore.h                                      |    2 +-
 gdb/gdbserver/ChangeLog                            |   41 +
 gdb/gdbserver/configure                            |    2 +-
 gdb/gdbserver/gdbreplay.c                          |    2 +-
 gdb/gdbserver/linux-x86-low.c                      |    2 +-
 gdb/gdbserver/remote-utils.c                       |   10 +-
 gdb/gdbserver/remote-utils.h                       |    4 +-
 gdb/gdbserver/server.c                             |  123 +-
 gdb/gdbserver/terminal.h                           |   51 -
 gdb/gdbserver/win32-low.c                          |    5 -
 gdb/gdbthread.h                                    |   32 +-
 gdb/gdbtypes.c                                     |    8 +-
 gdb/gdbtypes.h                                     |    1 +
 gdb/gnu-nat.c                                      |    5 +-
 gdb/gnu-v3-abi.c                                   |   54 +-
 gdb/go-exp.y                                       |   10 +-
 gdb/go-lang.h                                      |    2 +-
 gdb/go32-nat.c                                     |   10 +-
 gdb/guile/guile.c                                  |   35 +-
 gdb/guile/scm-breakpoint.c                         |   16 +-
 gdb/guile/scm-cmd.c                                |    4 +-
 gdb/guile/scm-param.c                              |    2 +-
 gdb/guile/scm-ports.c                              |    3 +-
 gdb/h8300-tdep.c                                   |   10 +-
 gdb/hppa-tdep.c                                    |    4 +-
 gdb/i386-cygwin-tdep.c                             |    2 +-
 gdb/i386-go32-tdep.c                               |   72 +
 gdb/i386-nto-tdep.c                                |    3 +
 gdb/i386-tdep.c                                    |   49 +-
 gdb/i386-tdep.h                                    |    5 +
 gdb/ia64-tdep.c                                    |    2 +-
 gdb/inf-ptrace.c                                   |    6 +-
 gdb/infcmd.c                                       |   19 +-
 gdb/inferior.c                                     |   61 +-
 gdb/inferior.h                                     |  105 +-
 gdb/inflow.c                                       |    1 +
 gdb/inflow.h                                       |    2 +-
 gdb/infrun.c                                       |   17 +-
 gdb/jit.c                                          |   42 +-
 gdb/language.c                                     |   10 +-
 gdb/language.h                                     |    8 +-
 gdb/linespec.c                                     |   69 +-
 gdb/linespec.h                                     |   45 +-
 gdb/linux-nat.c                                    |    7 +-
 gdb/linux-tdep.c                                   |    2 +-
 gdb/linux-thread-db.c                              |    6 +-
 gdb/lm32-tdep.c                                    |    2 +-
 gdb/location.c                                     |  121 +--
 gdb/location.h                                     |   55 +-
 gdb/m2-exp.y                                       |    4 +-
 gdb/m2-lang.h                                      |    2 +-
 gdb/m32r-tdep.c                                    |   10 +-
 gdb/m68hc11-tdep.c                                 |    2 +-
 gdb/m88k-tdep.c                                    |    2 +-
 gdb/macroexp.c                                     |   28 +-
 gdb/main.c                                         |    6 +-
 gdb/mdebugread.c                                   |   46 +-
 gdb/memattr.c                                      |    2 +-
 gdb/mep-tdep.c                                     |    2 +-
 gdb/mi/mi-cmd-break.c                              |   27 +-
 gdb/mi/mi-cmd-catch.c                              |    8 +-
 gdb/mi/mi-cmd-disas.c                              |    2 +-
 gdb/mi/mi-cmd-env.c                                |   16 +-
 gdb/mi/mi-cmd-file.c                               |    6 +-
 gdb/mi/mi-cmd-info.c                               |   10 +-
 gdb/mi/mi-cmd-stack.c                              |   18 +-
 gdb/mi/mi-cmd-target.c                             |    6 +-
 gdb/mi/mi-cmd-var.c                                |   36 +-
 gdb/mi/mi-cmds.h                                   |    2 +-
 gdb/mi/mi-interp.c                                 |    2 +-
 gdb/mi/mi-main.c                                   |  119 +-
 gdb/mi/mi-parse.c                                  |   55 +-
 gdb/mi/mi-parse.h                                  |   13 +-
 gdb/mi/mi-symbol-cmds.c                            |    2 +-
 gdb/mips-tdep.c                                    |    6 +-
 gdb/mn10300-tdep.c                                 |   10 +-
 gdb/moxie-tdep.c                                   |    5 +-
 gdb/msp430-tdep.c                                  |    6 +-
 gdb/nat/linux-osdata.c                             |    6 +-
 gdb/nds32-tdep.c                                   |    3 +
 gdb/nto-procfs.c                                   |    9 +-
 gdb/nto-tdep.c                                     |    4 +-
 gdb/nto-tdep.h                                     |    2 +-
 gdb/objc-lang.c                                    |    8 +-
 gdb/objc-lang.h                                    |    7 +-
 gdb/objfiles.c                                     |    2 +-
 gdb/objfiles.h                                     |    2 +-
 gdb/obsd-nat.c                                     |    2 +-
 gdb/osdata.c                                       |   15 +-
 gdb/osdata.h                                       |    6 +-
 gdb/p-exp.y                                        |    6 +-
 gdb/p-lang.h                                       |    2 +-
 gdb/parser-defs.h                                  |    6 +-
 gdb/printcmd.c                                     |   18 +-
 gdb/proc-api.c                                     |   12 +-
 gdb/proc-events.c                                  |    6 +-
 gdb/proc-flags.c                                   |    4 +-
 gdb/proc-utils.h                                   |    2 +-
 gdb/proc-why.c                                     |    4 +-
 gdb/procfs.c                                       |   28 +-
 gdb/psymtab.c                                      |    5 +-
 gdb/python/py-arch.c                               |    7 +-
 gdb/python/py-block.c                              |    2 +-
 gdb/python/py-breakpoint.c                         |   28 +-
 gdb/python/py-cmd.c                                |   20 +-
 gdb/python/py-event.c                              |    6 +-
 gdb/python/py-event.h                              |    4 +-
 gdb/python/py-evts.c                               |    2 +-
 gdb/python/py-finishbreakpoint.c                   |   20 +-
 gdb/python/py-framefilter.c                        |    2 +-
 gdb/python/py-inferior.c                           |   40 +-
 gdb/python/py-infthread.c                          |    2 +-
 gdb/python/py-lazy-string.c                        |    2 +-
 gdb/python/py-linetable.c                          |   26 +-
 gdb/python/py-objfile.c                            |   12 +-
 gdb/python/py-param.c                              |    2 +-
 gdb/python/py-progspace.c                          |    2 +-
 gdb/python/py-record-btrace.c                      |    4 +-
 gdb/python/py-record.c                             |    2 +-
 gdb/python/py-symbol.c                             |   15 +-
 gdb/python/py-symtab.c                             |    4 +-
 gdb/python/py-type.c                               |   10 +-
 gdb/python/py-unwind.c                             |    2 +-
 gdb/python/py-value.c                              |   14 +-
 gdb/python/python-internal.h                       |  121 ++
 gdb/python/python.c                                |   45 +-
 gdb/ravenscar-thread.c                             |    8 +-
 gdb/record-btrace.c                                |    8 +-
 gdb/record-full.c                                  |    2 +-
 gdb/record.c                                       |   14 +-
 gdb/regcache.c                                     |   15 +-
 gdb/remote-fileio.c                                |    2 +-
 gdb/remote-sim.c                                   |    9 +-
 gdb/remote.c                                       |   26 +-
 gdb/reverse.c                                      |    2 +-
 gdb/rl78-tdep.c                                    |    2 +-
 gdb/rs6000-aix-tdep.c                              |    5 +
 gdb/rs6000-nat.c                                   |   10 +-
 gdb/rs6000-tdep.c                                  |    4 +-
 gdb/rust-exp.y                                     |    2 +-
 gdb/rust-lang.c                                    |    2 +-
 gdb/rust-lang.h                                    |    2 +-
 gdb/rx-tdep.c                                      |    4 +-
 gdb/ser-unix.c                                     |    1 +
 gdb/serial.h                                       |    2 +-
 gdb/sh-tdep.c                                      |   26 +-
 gdb/sh64-tdep.c                                    |    2 +-
 gdb/sol-thread.c                                   |    8 +-
 gdb/sol2-tdep.c                                    |    2 +-
 gdb/sol2-tdep.h                                    |    2 +-
 gdb/solib-darwin.c                                 |    2 +-
 gdb/sparc-tdep.c                                   |    3 +
 gdb/sparc64-tdep.c                                 |    3 +
 gdb/spu-tdep.c                                     |   12 +-
 gdb/stabsread.c                                    |  129 +-
 gdb/stabsread.h                                    |   10 +-
 gdb/symfile.c                                      |   50 +-
 gdb/symfile.h                                      |    4 +-
 gdb/symtab.c                                       |   11 +-
 gdb/symtab.h                                       |    6 +-
 gdb/target-delegates.c                             |   18 +-
 gdb/target-descriptions.c                          |    8 +-
 gdb/target.c                                       |   18 +-
 gdb/target.h                                       |   14 +-
 gdb/terminal.h                                     |   57 -
 gdb/testsuite/ChangeLog                            |   32 +
 .../gdb.cp/wide_char_types.c}                      |   27 +-
 gdb/testsuite/gdb.cp/wide_char_types.exp           |  181 +++
 gdb/testsuite/gdb.threads/threadapply.exp          |  166 +++-
 gdb/testsuite/gdb.trace/tsv.exp                    |    4 +
 gdb/testsuite/lib/gdb.exp                          |   19 +
 gdb/thread.c                                       |  453 +++----
 gdb/top.c                                          |    7 +-
 gdb/top.h                                          |    2 +-
 gdb/tracefile-tfile.c                              |   18 +-
 gdb/tracefile.c                                    |    2 +-
 gdb/tracepoint.c                                   |   50 +-
 gdb/tracepoint.h                                   |    2 +-
 gdb/tui/tui-data.c                                 |    2 +-
 gdb/tui/tui-data.h                                 |    2 +-
 gdb/tui/tui-source.c                               |    2 +-
 gdb/tui/tui-source.h                               |    2 +-
 gdb/tui/tui-win.c                                  |   11 +-
 gdb/tui/tui-windata.c                              |    2 +-
 gdb/tui/tui-windata.h                              |    2 +-
 gdb/tui/tui-winsource.c                            |    2 +-
 gdb/tui/tui.c                                      |    2 +-
 gdb/unittests/optional-selftests.c                 |   94 ++
 gdb/unittests/optional/assignment/1.cc             |  195 +++
 gdb/unittests/optional/assignment/2.cc             |  193 +++
 gdb/unittests/optional/assignment/3.cc             |  156 +++
 gdb/unittests/optional/assignment/4.cc             |  156 +++
 gdb/unittests/optional/assignment/5.cc             |   80 ++
 gdb/unittests/optional/assignment/6.cc             |   90 ++
 gdb/unittests/optional/assignment/7.cc             |   29 +
 gdb/unittests/optional/cons/copy.cc                |  126 ++
 gdb/unittests/optional/cons/default.cc             |   58 +
 gdb/unittests/optional/cons/move.cc                |  124 ++
 gdb/unittests/optional/cons/value.cc               |  294 +++++
 gdb/unittests/optional/in_place.cc                 |   65 +
 gdb/unittests/optional/observers/1.cc              |   31 +
 gdb/unittests/optional/observers/2.cc              |   35 +
 gdb/unittests/ptid-selftests.c                     |  153 +++
 gdb/unittests/scoped_restore-selftests.c           |  110 ++
 gdb/utils.c                                        |   13 +-
 gdb/utils.h                                        |    4 +-
 gdb/varobj.c                                       |    2 +-
 gdb/varobj.h                                       |    2 +-
 gdb/vax-tdep.c                                     |    2 +-
 gdb/version.in                                     |    2 +-
 gdb/warning.m4                                     |    2 +-
 gdb/windows-nat.c                                  |   14 +-
 gdb/windows-tdep.c                                 |    3 +
 gdb/xcoffread.c                                    |    8 +-
 gdb/xml-support.c                                  |  573 ++++-----
 gdb/xml-support.h                                  |   36 +-
 gdb/xml-tdesc.c                                    |   84 +-
 gdb/xml-tdesc.h                                    |   17 +-
 gdb/xstormy16-tdep.c                               |    5 +-
 gdb/xtensa-tdep.c                                  |    5 +-
 gdb/xtensa-tdep.h                                  |    2 +-
 include/ChangeLog                                  |   28 +
 include/bfdlink.h                                  |    9 +-
 include/dis-asm.h                                  |   11 +-
 include/opcode/ppc.h                               |  100 +-
 ld/ChangeLog                                       |  166 +++
 ld/Makefile.am                                     |   21 +-
 ld/Makefile.in                                     |   21 +-
 ld/emulparams/dynamic_undefined_weak.sh            |   13 +-
 ld/emulparams/elf32ppccommon.sh                    |    2 +
 ld/emultempl/pe.em                                 |   64 +-
 ld/emultempl/pep.em                                |  116 +-
 ld/ld.texinfo                                      |   40 +-
 ld/pe-dll.c                                        |   58 +-
 ld/pe-dll.h                                        |    4 +-
 ld/pep-dll.h                                       |    5 +-
 ld/plugin.c                                        |   23 +-
 ld/testsuite/ld-elf/indirect.exp                   |   76 ++
 ld/testsuite/ld-elf/indirect5.map                  |    6 +
 ld/testsuite/ld-elf/indirect5.out                  |    2 +
 ld/testsuite/ld-elf/indirect5a.c                   |    9 +
 ld/testsuite/ld-elf/indirect5b.c                   |   15 +
 ld/testsuite/ld-elf/indirect6a.c                   |    9 +
 ld/testsuite/ld-elf/init-fini-arrays.d             |    4 +-
 ld/testsuite/ld-elf/init-fini-arrays.s             |   13 +-
 ld/testsuite/ld-elf/mbind1a.d                      |    8 -
 ld/testsuite/ld-elf/mbind1b.d                      |    8 -
 ld/testsuite/ld-elf/mbind1c.d                      |    8 -
 ld/testsuite/ld-elf/mbind2a.s                      |    8 +-
 ld/testsuite/ld-elf/pr19579a.c                     |    2 +-
 ld/testsuite/ld-elf/pr19617a.d                     |    2 +-
 ld/testsuite/ld-elf/pr19617b.d                     |    2 +-
 ld/testsuite/ld-elf/pr19617c.d                     |    2 +-
 ld/testsuite/ld-elf/pr21086.c                      |    8 +
 ld/testsuite/ld-elf/pr21086.list                   |    3 +
 ld/testsuite/ld-elf/pr21389.map                    |    6 +
 ld/testsuite/ld-elf/pr21389.s                      |    5 +
 ld/testsuite/ld-elf/pr21389a.d                     |   10 +
 ld/testsuite/ld-elf/pr21389b.d                     |    8 +
 ld/testsuite/ld-elf/pr21389c.d                     |    8 +
 ld/testsuite/ld-elf/readelf.exp                    |    2 +-
 ld/testsuite/ld-elf/shared.exp                     |   21 +-
 ld/testsuite/ld-elfvsb/elfvsb.exp                  |   10 +-
 ld/testsuite/ld-i386/pr19636-4d.d                  |    2 +-
 ld/testsuite/ld-ifunc/ifunc.exp                    |    8 +
 ld/testsuite/ld-mips-elf/mips-elf.exp              |    3 +-
 ld/testsuite/ld-pe/pe.exp                          |    2 +
 ld/testsuite/ld-pe/weakdef-1.d                     |    8 +
 ld/testsuite/ld-pe/weakdef-1.s                     |   19 +
 ld/testsuite/ld-plugin/lto.exp                     |    9 +
 ld/testsuite/ld-plugin/pr21382a.c                  |   17 +
 ld/testsuite/ld-plugin/pr21382b.c                  |    7 +
 ld/testsuite/ld-undefined/weak-undef.exp           |  103 ++-
 ld/testsuite/ld-x86-64/x86-64.exp                  |    4 +-
 ld/testsuite/lib/ld-lib.exp                        |   11 +-
 opcodes/ChangeLog                                  |   84 ++
 opcodes/Makefile.am                                |    1 +
 opcodes/Makefile.in                                |    2 +
 opcodes/aarch64-tbl.h                              |   16 +-
 opcodes/arc-dis.c                                  |    4 +-
 opcodes/arm-dis.c                                  |    4 +-
 opcodes/configure                                  |    2 +-
 opcodes/configure.ac                               |    2 +-
 opcodes/disassemble.c                              |   14 +
 opcodes/epiphany-desc.c                            |    5 +-
 opcodes/fr30-desc.c                                |    5 +-
 opcodes/frv-desc.c                                 |    1 +
 opcodes/ip2k-desc.c                                |    5 +-
 opcodes/iq2000-desc.c                              |    5 +-
 opcodes/lm32-desc.c                                |    5 +-
 opcodes/m32c-desc.c                                |    5 +-
 opcodes/m32r-desc.c                                |    5 +-
 opcodes/mep-desc.c                                 |    5 +-
 opcodes/mt-desc.c                                  |    5 +-
 opcodes/or1k-desc.c                                |    5 +-
 opcodes/po/POTFILES.in                             |    1 +
 opcodes/po/opcodes.pot                             |   18 +-
 opcodes/ppc-dis.c                                  |   27 +-
 opcodes/ppc-opc.c                                  |  164 ++--
 opcodes/sparc-opc.c                                |   14 +-
 opcodes/vax-dis.c                                  |    2 +-
 opcodes/wasm32-dis.c                               |  520 ++++++++
 opcodes/xc16x-desc.c                               |    5 +-
 opcodes/xstormy16-desc.c                           |    5 +-
 sim/aarch64/ChangeLog                              |    9 +
 sim/aarch64/simulator.c                            |  193 +++
 sim/testsuite/sim/aarch64/ChangeLog                |    6 +
 sim/testsuite/sim/aarch64/fcmXX.s                  |   77 ++
 sim/testsuite/sim/aarch64/fcvtl.s                  |   59 +
 507 files changed, 11533 insertions(+), 5021 deletions(-)
 create mode 100644 gas/testsuite/gas/aarch64/illegal-3.d
 create mode 100644 gas/testsuite/gas/aarch64/illegal-3.s
 create mode 100644 gas/testsuite/gas/wasm32/disass-2.d
 create mode 100644 gas/testsuite/gas/wasm32/disass-2.s
 create mode 100644 gas/testsuite/gas/wasm32/disass.d
 create mode 100644 gas/testsuite/gas/wasm32/disass.s
 create mode 100644 gas/testsuite/gas/xtensa/auto-litpools-first1.d
 create mode 100644 gas/testsuite/gas/xtensa/auto-litpools-first1.s
 create mode 100644 gas/testsuite/gas/xtensa/auto-litpools-first2.d
 create mode 100644 gas/testsuite/gas/xtensa/auto-litpools-first2.s
 copy gdb/{terminal.h => common/gdb_termios.h} (68%)
 create mode 100644 gdb/common/refcounted-object.h
 delete mode 100644 gdb/gdbserver/terminal.h
 create mode 100644 gdb/i386-go32-tdep.c
 copy gdb/{sol2-tdep.h => testsuite/gdb.cp/wide_char_types.c} (64%)
 create mode 100644 gdb/testsuite/gdb.cp/wide_char_types.exp
 create mode 100644 gdb/unittests/optional-selftests.c
 create mode 100644 gdb/unittests/optional/assignment/1.cc
 create mode 100644 gdb/unittests/optional/assignment/2.cc
 create mode 100644 gdb/unittests/optional/assignment/3.cc
 create mode 100644 gdb/unittests/optional/assignment/4.cc
 create mode 100644 gdb/unittests/optional/assignment/5.cc
 create mode 100644 gdb/unittests/optional/assignment/6.cc
 create mode 100644 gdb/unittests/optional/assignment/7.cc
 create mode 100644 gdb/unittests/optional/cons/copy.cc
 create mode 100644 gdb/unittests/optional/cons/default.cc
 create mode 100644 gdb/unittests/optional/cons/move.cc
 create mode 100644 gdb/unittests/optional/cons/value.cc
 create mode 100644 gdb/unittests/optional/in_place.cc
 create mode 100644 gdb/unittests/optional/observers/1.cc
 create mode 100644 gdb/unittests/optional/observers/2.cc
 create mode 100644 gdb/unittests/ptid-selftests.c
 create mode 100644 gdb/unittests/scoped_restore-selftests.c
 create mode 100644 ld/testsuite/ld-elf/indirect5.map
 create mode 100644 ld/testsuite/ld-elf/indirect5.out
 create mode 100644 ld/testsuite/ld-elf/indirect5a.c
 create mode 100644 ld/testsuite/ld-elf/indirect5b.c
 create mode 100644 ld/testsuite/ld-elf/indirect6a.c
 create mode 100644 ld/testsuite/ld-elf/pr21086.c
 create mode 100644 ld/testsuite/ld-elf/pr21086.list
 create mode 100644 ld/testsuite/ld-elf/pr21389.map
 create mode 100644 ld/testsuite/ld-elf/pr21389.s
 create mode 100644 ld/testsuite/ld-elf/pr21389a.d
 create mode 100644 ld/testsuite/ld-elf/pr21389b.d
 create mode 100644 ld/testsuite/ld-elf/pr21389c.d
 create mode 100644 ld/testsuite/ld-pe/weakdef-1.d
 create mode 100644 ld/testsuite/ld-pe/weakdef-1.s
 create mode 100644 ld/testsuite/ld-plugin/pr21382a.c
 create mode 100644 ld/testsuite/ld-plugin/pr21382b.c
 create mode 100644 opcodes/wasm32-dis.c
 create mode 100644 sim/testsuite/sim/aarch64/fcmXX.s
 create mode 100644 sim/testsuite/sim/aarch64/fcvtl.s

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index bb87497..4ac2d63 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-04-13  Andrew Jenner  <andrew@codesourcery.com>
+
+	* config.sub: Sync with master version in config project.
+
 2017-04-03  Andrew Jenner  <andrew@codesourcery.com>
 
 	* config.sub: Handle ia16 in $basic_machine.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0e4ad30..ba2d134 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,287 @@
+2017-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21402
+	* elf32-i386.c (elf_i386_link_hash_entry): Add
+	no_finish_dynamic_symbol.
+	(elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
+	(elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
+	symbol, don't make it dynamic in PIE.
+	(elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
+	set no_finish_dynamic_symbol and generate R_386_RELATIVE
+	relocation for R_386_GOT32
+	(elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
+	isn't 0.
+
+2017-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/19617
+	PR ld/21086
+	* elflink.c (elf_link_add_object_symbols): Require
+	--no-dynamic-linker with -E/--dynamic-list when creating
+	dynamic sections.
+
+2017-04-20  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
+	if forced local.
+
+2017-04-20  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
+	dynamic symbol sorting.
+
+2017-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21382
+	* elflink.c (elf_link_add_object_symbols): Preserve
+	dynamic_ref_after_ir_def when restoring the symbol table for
+	unneeded dynamic object.
+
+2017-04-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21401
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
+	on on undefined IFUNC symbol in the second PLT.
+
+2017-04-19  Wedson Almeida Filho  <wedsonaf@gmail.com>
+
+	* peXXigen.c (pe_print_reloc): Correct chunk_end.
+
+2017-04-19  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
+	or make dynamic for info->dynamic_undefined_weak 0 and 1.
+	* elf32-ppc.c:Formatting.
+	(ensure_undefweak_dynamic): Don't make dynamic when
+	info->dynamic_undefined_weak is zero.
+	(allocate_dynrelocs): Discard undefweak dyn_relocs for
+	info->dynamic_undefined_weak.  Discard undef dyn_relocs when
+	not default visibility.  Discard undef and undefweak
+	dyn_relocs earlier.
+	(ppc_elf_relocate_section): Adjust to suit.
+	* elf64-ppc.c: Formatting.
+	(ensure_undefweak_dynamic): Don't make dynamic when
+	info->dynamic_undefined_weak is zero.
+	(allocate_dynrelocs): Discard undefweak dyn_relocs for
+	info->dynamic_undefined_weak.  Discard them earlier.
+
+2017-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/21389
+	* elflink.c (bfd_elf_size_dynamic_sections): Get soname index
+	before generating the version definition section.
+
+2017-04-17  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
+	state when a regular object file defines a symbol with
+	incompatible type to that defined by an earlier shared lib.
+
+2017-04-13  Alan Modra  <amodra@gmail.com>
+
+	* coffcode.h: Wrap some overly long _bfd_error_handler args.
+	* elf.c: Likewise.
+	* elf32-arm.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-mep.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elflink.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+
+2017-04-13  Alan Modra  <amodra@gmail.com>
+
+	* aoutx.h: Use %B and %A in error messages throughout file.
+	* aout-cris.c: Likewise.
+	* archive.c: Likewise.
+	* binary.c: Likewise.
+	* coff-rs6000.c: Likewise.
+	* coff-tic4x.c: Likewise.
+	* coffcode.h: Likewise.
+	* coffgen.c: Likewise.
+	* cofflink.c: Likewise.
+	* coffswap.h: Likewise.
+	* cpu-arm.c: Likewise.
+	* elf-eh-frame.c: Likewise.
+	* elf-m10300.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arc.c: Likewise.
+	* elf32-arm.c: Likewise.
+	* elf32-bfin.c: Likewise.
+	* elf32-frv.c: Likewise.
+	* elf32-iq2000.c: Likewise.
+	* elf32-m32c.c: Likewise.
+	* elf32-microblaze.c: Likewise.
+	* elf32-nds32.c: Likewise.
+	* elf32-rl78.c: Likewise.
+	* elf32-rx.c: Likewise.
+	* elf32-score.c: Likewise.
+	* elf32-score7.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf32-visium.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elfcode.h: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* hpux-core.c: Likewise.
+	* ieee.c: Likewise.
+	* ihex.c: Likewise.
+	* linker.c: Likewise.
+	* merge.c: Likewise.
+	* mmo.c: Likewise.
+	* oasys.c: Likewise.
+	* pdp11.c: Likewise.
+	* peXXigen.c: Likewise.
+	* rs6000-core.c: Likewise.
+	* vms-alpha.c: Likewise.
+	* xcofflink.c: Likewise.
+
+2017-04-13  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (PRINT_TYPE): Define.
+	(_doprnt): New function.
+	(error_handler_internal): Use _doprnt.
+	* coff-arm.c: Put %A and %B arguments to _bfd_error_handler
+	calls in their natural order, throughout file.
+	* coff-mcore.c: Likewise.
+	* coff-ppc.c: Likewise.
+	* coff-tic80.c: Likewise.
+	* cofflink.c: Likewise.
+	* elf-s390-common.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arm.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-msp430.c: Likewise.
+	* elf32-spu.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-sparc.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elflink.c: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfxx-mips.c: Likewise.
+
+2017-04-13  Alan Modra  <amodra@gmail.com>
+
+	* elf32-arm.c (arm_type_of_stub): Supply missing args to "long
+	branch veneers" error.  Fix double space and format message.
+	* elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
+	* elf64-ppc.c (tocsave_find): Supply missing %B arg.
+
+2017-04-13  Alan Modra  <amodra@gmail.com>
+
+	* bfd-in2.h: Regenerate.
+
+2017-04-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
+	extra `\n' in warning/error messages.
+	* elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
+	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
+
+2017-04-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
+	processor-specific properties with generic ELF target vector.
+
+2017-04-10  Qing Zhao  <qing.zhao@oracle.com>
+
+        * elf32-sparc.c (elf_backend_fixup_symbol): New.
+        * elf64-sparc.c (elf_backend_fixup_symbol): New.
+        * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
+        (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
+        has_non_got_reloc.
+        (link_hash_newfunc): Initialize has_got_reloc and
+	has_non_got_reloc.
+        (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
+        section.
+        (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
+        has_non_got_reloc.
+        (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
+        has_non_got_reloc.
+        (_bfd_sparc_elf_fixup_symbol): New function.
+        (allocate_dynrelocs): Don't allocate space for dynamic
+        relocations and discard relocations against resolved undefined
+        weak symbols in executable.  Don't make resolved undefined weak
+        symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
+        relocation against undefined weak symbols in PIE.
+        (_bfd_sparc_elf_relocate_section): Don't generate dynamic
+        relocations against resolved undefined weak symbols in PIE
+        (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
+        without ynamic PLT/GOT relocations for resolved undefined weak
+        symbols.
+        Don't generate dynamic relocation against resolved undefined
+        weak symbol in executable.
+        (pie_finish_undefweak_symbol): New function.
+        (_bfd_sparc_elf_finish_dynamic_sections): Call
+        pie_finish_undefweak_symbol on all symbols in PIE.
+        * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
+        (_bfd_sparc_elf_fixup_symbol): New function.
+
+2017-04-10  Nick Clifton  <nickc@redhat.com>
+
+	* config.bfd: Remove ns32k from obsolete list.
+
+2017-04-10  Alan Modra  <amodra@gmail.com>
+
+	PR 21287
+	* elf.c (special_sections_f): Match .fini_array and .fini_array.*.
+	(special_sections_i): Likewise for .init_array.
+	(special_sections_p): Likewise for .preinit_array.
+
+2017-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR ld/19579
+	PR ld/21306
+	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
+	ELF_COMMON_DEF_P for common symbols.
+	* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
+	* elflink.c (_bfd_elf_merge_symbol): Revert commits
+	202ac193bbbecc96a4978d1ac3d17148253f9b01 and
+	07492f668d2173da7a2bda3707ff0985e0f460b6.
+
+2017-04-07  Pedro Alves  <palves@redhat.com>
+
+	* opncls.c (bfd_get_debug_link_info): Rename to...
+	(bfd_get_debug_link_info_1): ... this.  Change type of second
+	parameter to void pointer.  Adjust.
+	(bfd_get_debug_link_info): Reimplement on top of
+	bfd_get_debug_link_info_1.
+	(separate_debug_file_exists, separate_alt_debug_file_exists):
+	Change type of second parameter to void pointer.  Adjust.
+	(get_func_type, check_func_type): Change type of second parameter
+	to void pointer.
+	(find_separate_debug_file): Add 'func_data' parameter.  Pass it to
+	the callback functions instead of passing the address of a local.
+	(bfd_follow_gnu_debuglink): Pass address of unsigned long local to
+	find_separate_debug_file.
+	(get_alt_debug_link_info_shim): Change type of second parameter to
+	void pointer.  Adjust.
+	(bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
+	find_separate_debug_file.
+	(get_build_id_name, bfd_boolean check_build_id_file): Change type
+	of second parameter to void pointer.  Adjust.
+	(bfd_follow_build_id_debuglink): Pass address of bfd_build_id
+	pointer local to find_separate_debug_file.
+
+2017-04-07  Tristan Gingold  <gingold@gingold-Precision-7510>
+
+	* coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
+	external symbols with a definition.
+	(_bfd_coff_gc_mark_extra_sections): Fix typo.
+
+2017-04-07  Alan Modra  <amodra@gmail.com>
+
+	* po/SRC-POTFILES.in: Regenerate.
+
 2017-04-05  Alan Modra  <amodra@gmail.com>
 
 	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
diff --git a/bfd/aout-cris.c b/bfd/aout-cris.c
index 2e36e9d..6cd14e3 100644
--- a/bfd/aout-cris.c
+++ b/bfd/aout-cris.c
@@ -197,8 +197,8 @@ MY (swap_ext_reloc_out) (bfd *abfd,
   if (r_type > 2)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%s: Invalid relocation type exported: %d"),
-			  bfd_get_filename (abfd), r_type);
+      _bfd_error_handler (_("%B: Invalid relocation type exported: %d"),
+			  abfd, r_type);
 
       bfd_set_error (bfd_error_wrong_format);
     }
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index d30e8b8..9a5f7ce 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -1279,8 +1279,8 @@ NAME (aout, set_section_contents) (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	   (_("%s: can not represent section `%s' in a.out object file format"),
-	     bfd_get_filename (abfd), bfd_get_section_name (abfd, section));
+	   (_("%B: can not represent section `%A' in a.out object file format"),
+	     abfd, section);
           bfd_set_error (bfd_error_nonrepresentable_section);
           return FALSE;
 	}
@@ -1580,9 +1580,9 @@ translate_to_native_sym_flags (bfd *abfd,
 	 file.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%s: can not represent section for symbol `%s' in a.out "
+	(_("%B: can not represent section for symbol `%s' in a.out "
 	   "object file format"),
-	 bfd_get_filename (abfd),
+	 abfd,
 	 cache_ptr->name != NULL ? cache_ptr->name : _("*unknown*"));
       bfd_set_error (bfd_error_nonrepresentable_section);
       return FALSE;
@@ -1616,8 +1616,8 @@ translate_to_native_sym_flags (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	   (_("%s: can not represent section `%s' in a.out object file format"),
-	     bfd_get_filename (abfd), bfd_get_section_name (abfd, sec));
+	   (_("%B: can not represent section `%A' in a.out object file format"),
+	     abfd, sec);
           bfd_set_error (bfd_error_nonrepresentable_section);
           return FALSE;
 	}
@@ -5419,9 +5419,8 @@ NAME (aout, final_link) (bfd *abfd,
 		 by the reloc size.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%s: relocatable link from %s to %s not supported"),
-		 bfd_get_filename (abfd),
-		 sub->xvec->name, abfd->xvec->name);
+		(_("%B: relocatable link from %s to %s not supported"),
+		 abfd, sub->xvec->name, abfd->xvec->name);
 	      bfd_set_error (bfd_error_invalid_operation);
 	      goto error_return;
 	    }
diff --git a/bfd/archive.c b/bfd/archive.c
index d96c866..f209bab 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -2402,8 +2402,8 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
 
 		      if (strcmp (syms[src_count]->name, "__gnu_lto_slim") == 0)
 			_bfd_error_handler
-			  (_("%s: plugin needed to handle lto object"),
-			   bfd_get_filename (current));
+			  (_("%B: plugin needed to handle lto object"),
+			   current);
 		      namelen = strlen (syms[src_count]->name);
 		      amt = sizeof (char *);
 		      map[orl_count].name = (char **) bfd_alloc (arch, amt);
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index fbd379f..1d73134 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1069,7 +1069,8 @@ bfd *bfd_openr (const char *filename, const char *target);
 
 bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
 
-bfd *bfd_openstreamr (const char * filename, const char * target, void * stream);
+bfd *bfd_openstreamr (const char * filename, const char * target,
+    void * stream);
 
 bfd *bfd_openr_iovec (const char *filename, const char *target,
     void *(*open_func) (struct bfd *nbfd,
diff --git a/bfd/bfd.c b/bfd/bfd.c
index a9402e4..23a4350 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -611,176 +611,240 @@ CODE_FRAGMENT
 
 static const char *_bfd_error_program_name;
 
-/* This is the default routine to handle BFD error messages.
-   Like fprintf (stderr, ...), but also handles some extra format specifiers.
-
-   %A section name from section.  For group components, print group name too.
-   %B file name from bfd.  For archive components, prints archive too.
-
-   Note - because these two extra format specifiers require special handling
-   they are scanned for and processed in this function, before calling
-   vfprintf.  This means that the *arguments* for these format specifiers
-   must be the first ones in the variable argument list, regardless of where
-   the specifiers appear in the format string.  Thus for example calling
-   this function with a format string of:
-
-      "blah %s blah %A blah %d blah %B"
-
-   would involve passing the arguments as:
-
-      "blah %s blah %A blah %d blah %B",
-        asection_for_the_%A,
-	bfd_for_the_%B,
-	string_for_the_%s,
-	integer_for_the_%d);
- */
-
-static void
-error_handler_internal (const char *fmt, va_list ap)
+/* This macro and _doprnt taken from libiberty _doprnt.c, tidied a
+   little and extended to handle '%A' and '%B'.  */
+
+#define PRINT_TYPE(TYPE) \
+  do								\
+    {								\
+      TYPE value = va_arg (ap, TYPE);				\
+      result = fprintf (stream, specifier, value);		\
+    } while (0)
+
+static int
+_doprnt (FILE *stream, const char *format, va_list ap)
 {
-  char *bufp;
-  const char *new_fmt, *p;
-  size_t avail = 1000;
-  char buf[1000];
-
-  /* PR 4992: Don't interrupt output being sent to stdout.  */
-  fflush (stdout);
+  const char *ptr = format;
+  char specifier[128];
+  int total_printed = 0;
 
-  if (_bfd_error_program_name != NULL)
-    fprintf (stderr, "%s: ", _bfd_error_program_name);
-  else
-    fprintf (stderr, "BFD: ");
-
-  new_fmt = fmt;
-  bufp = buf;
-
-  /* Reserve enough space for the existing format string.  */
-  avail -= strlen (fmt) + 1;
-  if (avail > 1000)
-    _exit (EXIT_FAILURE);
-
-  p = fmt;
-  while (1)
+  while (*ptr != '\0')
     {
-      char *q;
-      size_t len, extra, trim;
+      int result;
 
-      p = strchr (p, '%');
-      if (p == NULL || p[1] == '\0')
+      if (*ptr != '%')
 	{
-	  if (new_fmt == buf)
-	    {
-	      len = strlen (fmt);
-	      memcpy (bufp, fmt, len + 1);
-	    }
-	  break;
+	  /* While we have regular characters, print them.  */
+	  char *end = strchr (ptr, '%');
+	  if (end != NULL)
+	    result = fprintf (stream, "%.*s", (int) (end - ptr), ptr);
+	  else
+	    result = fprintf (stream, "%s", ptr);
+	  ptr += result;
 	}
-
-      if (p[1] == 'A' || p[1] == 'B')
+      else
 	{
-	  len = p - fmt;


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-04-05 16:17 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-04-05 16:17 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/indexcxx has been updated
       via  828d7c2b97ad76c73c1a718d1bbaf434d045b937 (commit)
       via  2cad08ea7dbc96103da9957da6973f9d0dbc33a8 (commit)
       via  55a98976756cb2df83ac8f8e9799331fbcc4f669 (commit)
       via  8dea77f0254d6a76d71092c922e9409ef1b67df4 (commit)
       via  4ac40124eef08045bf99ad9f4fcc277961953109 (commit)
       via  4d5efb852be6554305dfaf17c1e4f07bb9514273 (commit)
       via  c053b65441eb70ac78a514fabc3431b857a30d2e (commit)
       via  f3b8f8ee35bd62a2ae7d21561f5d23f00dad004f (commit)
       via  80070c0d3491347f11283c5791b9dd040fedbd4f (commit)
       via  4c7bf4f91b7dd3ccbd12be55316fca8817059a24 (commit)
       via  1e1a8bef60db2f524c5eb1d27be22cfa9ff82a84 (commit)
       via  499079343549348e270047ffa2687a8a76523700 (commit)
       via  6f77053d2ae56f16c10a8817732ed9fb43893507 (commit)
       via  9c5417255690af00751c7d506172459afe856894 (commit)
       via  ecfb656c37b982479d8eb07f240b434772d98fd6 (commit)
       via  d194f1fe51cb85b8a919b7ee9e3a7715b0ec9744 (commit)
       via  fff8551cf549f4047c9276a836408d802db6ce6d (commit)
       via  477bdd393c8145ad44899cb4681d57a61c82aad3 (commit)
       via  a91e1603afb6704545793e967a1a3dfe96b389de (commit)
       via  b52920324fabbcad93042f2e17de52696d0dab42 (commit)
       via  65dd1e590e519eba10bc29fb6e952271e0604c9b (commit)
       via  d62a8ae2dd0fbb6235f4e8f2fb61b83fe4ba1d90 (commit)
       via  ad32986fdf9da1c8748e47b8b45100398223dba8 (commit)
       via  db3a1dc7c9404e203c54576db3335e69d995e83e (commit)
       via  4c220b4625df0b08cbb22e5c7ca04dc7a629de1b (commit)
       via  c41cf6fdf514fce6b69f8f875b6903b2a3910f89 (commit)
       via  2f5f29cada3c06c9c26f4da5994951effee7d6f7 (commit)
       via  2514e33e01890ad28023359b110d1c9c1ad201d4 (commit)
       via  46bed6796d5821832e8ba373ddb2e7fdc45a109d (commit)
       via  82156ab704b08b124d319c0decdbd48b3ca2dac5 (commit)
       via  75ec1fdbb797a389e4fe4aaf2e15358a070dcc19 (commit)
       via  f32ba72991d2406b21ab17edc234a2f3fa7fb23d (commit)
       via  12bfb8fec326e847f6300874ca656e47ee027f5d (commit)
       via  450b68da0169dcfa1c36987ec80e2655abb3f8e6 (commit)
       via  5e6a0e73317915b0685249606538ea739acc3a23 (commit)
      from  590d37ae8d079e541cf184782899ef84b2b3f569 (commit)

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

- Log -----------------------------------------------------------------
commit 828d7c2b97ad76c73c1a718d1bbaf434d045b937
Merge: 590d37a 2cad08e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Apr 5 18:08:31 2017 +0200

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit 2cad08ea7dbc96103da9957da6973f9d0dbc33a8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Apr 5 14:55:43 2017 +0100

    Use frame_unwind_register_value in frame_unwind_register_unsigned
    
    gdb:
    
    2017-04-05  Yao Qi  <yao.qi@linaro.org>
    
    	* frame.c (frame_unwind_register_unsigned): Call
    	frame_unwind_register_value.

commit 55a98976756cb2df83ac8f8e9799331fbcc4f669
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Apr 5 14:46:13 2017 +0100

    Fix racy test in gdb.threads/thread-specific-bp.exp
    
    I see the following test fail from time to time, due to the racy test
    in gdb.threads/thread-specific-bp.exp.
    
    continue -a^M
    Continuing.^M
    ^M
    Thread 1 "thread-specific" hit Breakpoint 4, end () at binutils-gdb/gdb/testsuite/gdb.threads/thread-specific-bp.c:29^M
    29      }^M
    (gdb) [Thread 0x40322460 (LWP 12950) exited]^M
    Thread-specific breakpoint 3 deleted - thread 2 no longer in the thread list.^M
    FAIL: gdb.threads/thread-specific-bp.exp: non-stop: continue to end (timeout)
    
    This patch changes gdb_test to gdb_test_multiple to match prompt only
    instead of both prompt and anchor.
    
    gdb/testsuite:
    
    2017-04-05  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
    	Use gdb_test_multiple, and don't match anchor.

commit 8dea77f0254d6a76d71092c922e9409ef1b67df4
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Apr 5 12:47:41 2017 +0930

    PowerPC64le PLT reference counting
    
    A fix for ELFv2 ABI garbage-collection.
    
    	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
    	reference counting.

commit 4ac40124eef08045bf99ad9f4fcc277961953109
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 09:39:49 2017 +0100

    New global maintainer - Simon Marchi
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* MAINTAINERS (Global Maintainers): Add Simon Marchi.
    	(Write After Approval): Remove Simon Marchi.

commit 4d5efb852be6554305dfaf17c1e4f07bb9514273
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Wed Apr 5 03:00:40 2017 +0200

    PR ld/21233: xfail failing test-parts for cris*-*-*

commit c053b65441eb70ac78a514fabc3431b857a30d2e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 23:49:27 2017 +0100

    Initialize gdb::optional empty payload to quiet false -Wmaybe-uninitialized warnings
    
    Commit ecfb656c37b982 ("dwarf2read.c: Make dir_index and
    file_name_index strong typedefs") added a use of gdb::optional that
    triggers bogus -Wmaybe-uninitialized warnings:
    
    GCC trunk is complaining like this:
    
      ../../binutils-gdb/gdb/dwarf2read.c: In function void read_formatted_entries(bfd*, const gdb_byte**, line_header*, const comp_unit_head*, void (*)(line_header*, const char*, dir_index, unsigned int, unsigned int)):
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: fe.file_entry::length may be used uninitialized in this function [-Werror=maybe-uninitialized]
    	 callback (lh, fe.name, fe.d_index, fe.mod_time, fe.length);
    								   ^
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: *((void*)& fe +8) may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: fe.file_entry::mod_time may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: fe.file_entry::name may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    While some older GCCs are complaining like this:
    
      ../../binutils-gdb/gdb/dwarf2read.c: In function void read_formatted_entries(bfd*, const gdb_byte**, line_header*, const comp_unit_head*, void (*)(line_header*, const char*, dir_index, unsigned int, unsigned int)):
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: uint may be used uninitialized in this function [-Werror=maybe-uninitialized]
    	 callback (lh, fe.name, fe.d_index, fe.mod_time, fe.length);
    
    Looking around the web, I see that boost's optional implementation
    triggers this kind of issue often too.  See:
    
      http://www.boost.org/doc/libs/1_63_0/libs/optional/doc/html/boost_optional/tutorial/gotchas/false_positive_with__wmaybe_uninitialized.html
    
    I noticed that replacing the gdb::optional uses with real C++17
    std::optional uses against GCC 7/trunk makes the warnings go away.
    Looking at the implementation, AFAICS, libstdc++ always initializes
    its "empty" union payload member (_M_empty, which is defined as an
    empty class, like ours).  I.e., all payload types have this ctor:
    
        struct _Optional_payload.....
        {
          constexpr _Optional_payload()
    	: _M_empty() {}
    
    The constexpr makes a diference too.  Without it, GCC7 still warns.
    
    So I'm applying the same treatment to our gdb::optional.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_optional.h (optional::optional): Make constexpr and
    	initialize m_dummy.

commit f3b8f8ee35bd62a2ae7d21561f5d23f00dad004f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 5 00:00:36 2017 +0000

    Automatic date update in version.in

commit 80070c0d3491347f11283c5791b9dd040fedbd4f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Mar 27 12:39:07 2017 +0100

    PR ld/21233: Avoid sweeping forced-undefined symbols in section GC
    
    Complement commit 902e9fc76a0e ("PR ld/20828: Move symbol version
    processing ahead of GC symbol sweep"), commit b531344c34b0 ("PR
    ld/20828: Reorder the symbol sweep stage of section GC") and commit
    81ff47b3a546 ("PR ld/20828: Fix linker script symbols wrongly forced
    local with section GC"), and prevent symbols forcibly entered in the
    output file with the use of the `--undefined=' or `--require-defined='
    linker command line options or the EXTERN linker script command from
    being swept in section garbage collection and consequently recorded in
    the dynamic symbol table as local entries.  This happens in certain
    circumstances, where a symbol reference also exists in one of the static
    input files, however only in a section which is garbage-collected and
    does not make it to the output file, and the symbol is defined in a
    dynamic object present in the link.
    
    For example with the `i386-linux' target and the `pr21233.s' and
    `pr21233-l.s' sources, and the `pr21233.ld' linker script included with
    this change we get:
    
    $ as -o pr21233-l.o pr21233-l.s
    $ ld -shared -T pr21233.ld -o libpr21233.so pr21233-l.o
    $ as -o pr21233.o pr21233.s
    $ ld --gc-sections -e foo --require-defined=bar -T pr21233.ld -o pr21233 pr21233.o libpr21233.so
    $ readelf --dyn-syms pr21233
    
    Symbol table '.dynsym' contains 2 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 00000000     0 OBJECT  LOCAL  DEFAULT  UND bar
    $
    
    which makes the run-time `bar' dependency of the `pr21233' executable
    different from its corresponding link-time dependency, i.e. the presence
    of `libpr21233.so' and its `bar' symbol is required at the link time,
    however at the run time a copy of `libpr21233.so' without `bar' will do.
    Similarly with `--undefined=' and EXTERN which do not actually require
    the reference to the symbol requested to be satisfied with a definition
    at the link time, however once the definition has been pulled at the
    link time, so it should at the dynamic load time.
    
    Additionally with the `mips-linux' target we get:
    
    $ ld --gc-sections -e foo --require-defined=bar -T pr21233.ld -o pr21233 pr21233.o libpr21233.so
    ld: BFD (GNU Binutils) 2.28.51.20170324 assertion fail .../bfd/elfxx-mips.c:3861
    $
    
    as the target is not prepared to handle such a local dynamic symbol.
    
    With this change in effect we get:
    
    $ readelf --dyn-syms pr21233
    
    Symbol table '.dynsym' contains 2 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 00000000     0 OBJECT  GLOBAL DEFAULT  UND bar
    $
    
    instead, for both targets.
    
    	ld/
    	PR ld/21233
    	* ldlang.c (insert_undefined): Set `mark' for ELF symbols.
    	* testsuite/ld-elf/pr21233.sd: New test.
    	* testsuite/ld-elf/pr21233-l.sd: New test.
    	* testsuite/ld-elf/pr21233.ld: New test linker script.
    	* testsuite/ld-elf/pr21233-e.ld: New test linker script.
    	* testsuite/ld-elf/pr21233.s: New test source.
    	* testsuite/ld-elf/pr21233-l.s: New test source.
    	* testsuite/ld-elf/shared.exp: Run the new tests.

commit 4c7bf4f91b7dd3ccbd12be55316fca8817059a24
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 4 14:28:07 2017 -0700

    Remove support for using the bsd-uthread target on FreeBSD.
    
    The bsd-uthread target supports an old thread library ("libc_r") that
    was last included in FreeBSD release 6.4 released in 2008.  However,
    this library has not been used as the default library since FreeBSD
    5.0 (2003) and 4.11 (2005).  Thread support for modern FreeBSD binaries
    is provided via "normal" LWP support in core files and the native
    FreeBSD target.
    
    gdb/ChangeLog:
    
    	* amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
    	(amd64fbsd_jmp_buf_reg_offset): Remove.
    	(amd64fbsd_supply_uthread): Remove function.
    	(amd64fbsd_collect_uthread): Remove function.
    	(amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
    	* configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
    	(x86_64-*-freebsd*): Remove bsd-uthread.o.
    	(fbsd-nat.c): Update comment.
    	* i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
    	(i386fbsd_jmp_buf_reg_offset): Remove.
    	(i386fbsd_supply_uthread): Remove function.
    	(i386fbsd_collect_uthread): Remove function.
    	(i386fbsd_init_abi): Don't set bsd-uthread callbacks.

commit 1e1a8bef60db2f524c5eb1d27be22cfa9ff82a84
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 4 14:20:37 2017 -0700

    Remove support for FreeBSD/alpha.
    
    FreeBSD last shipped a release for Alpha (6.3) in 2008.
    This also removes support for GNU/kFreeBSD on Alpha.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
    	(ALLDEPFILES): Remove alpha-fbsd-tdep.c
    	* NEWS: Mention that support for FreeBSD/alpha was removed.
    	* alpha-fbsd-tdep.c: Delete file.
    	* config/alpha/fbsd.mh: Delete file.
    	* configure.host: Delete alpha*-*-freebsd* and
    	alpha*-*-kfreebsd*-gnu.
    	* configure.tgt: Delete alpha*-*-freebsd* and
    	alpha*-*-kfreebsd*-gnu.

commit 499079343549348e270047ffa2687a8a76523700
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 4 13:57:47 2017 -0700

    Use ptid from regcache instead of inferior_ptid.
    
    gdb/ChangeLog:
    
    	* amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
    	amd64bsd_store_inferior_registers): Use ptid from regcache.

commit 6f77053d2ae56f16c10a8817732ed9fb43893507
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:26 2017 +0100

    dwarf2read.c: C++fy lnp_state_machine
    
    While I was looking at the file, I noticed that this struct could be
    nicely converted to a class.  As I was progressing, I ended up moving
    all state machine actual internal state manipulation to methods of
    lnp_state_machine, essentially decoupling DWARF parsing from state
    tracking.  I also noticed that the lnp_reader_state doesn't really
    serve any good use, so that's eliminated in the process.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
    	data fields, make them private and add "m_" prefixes.
    	(lnp_state_machine::lnp_state_machine): New ctor.
    	(record_line, check_line_address, handle_set_discriminator)
    	(handle_set_address, handle_advance_pc, handle_special_opcode)
    	(handle_advance_line, handle_set_file, handle_negate_stmt)
    	(handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
    	(end_sequence, advance_line): New methods.
    	(m_gdbarch, m_record_lines_p): New fields.
    	(lnp_reader_state): Delete.
    	(dwarf_record_line): Rename to ...
    	(lnp_state_machine::record_line): ... adjust.
    	(init_lnp_state_machine): Delete.
    	(lnp_state_machine::lnp_state_machine): New.
    	(check_line_address): Rename to ...
    	(lnp_state_machine::check_line_address): This.
    	(dwarf_decode_lines_1): Remove reference to "reader_state".
    	Adjust lnp_state_machine having a non-default ctor.  Use bool.
    	State machine internal state manipulation moved to
    	lnp_state_machine methods.

commit 9c5417255690af00751c7d506172459afe856894
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:26 2017 +0100

    Make sect_offset and cu_offset strong typedefs instead of structs
    
    A while ago, back when GDB was a C program, the sect_offset and
    cu_offset types were made structs in order to prevent incorrect mixing
    of those offsets.  Now that we require C++11, we can make them
    integers again, while keeping the safety, by exploiting "enum class".
    We can add a bit more safety, even, by defining operators that the
    types _should_ support, helping making the suspicious uses stand out
    more.
    
    Getting at the underlying type is done with the new to_underlying
    function added by the previous patch, which also helps better spot
    where do we need to step out of the safety net.  Mostly, that's around
    parsing the DWARF, and when we print the offset for complaint/debug
    purposes.  But there are other occasional uses.
    
    Since we have to define the sect_offset/cu_offset types in a header
    anyway, I went ahead and generalized/library-fied the idea of "offset"
    types, making it trivial to add more such types if we find a use.  See
    common/offset-type.h and the DEFINE_OFFSET_TYPE macro.
    
    I needed a couple generaly-useful preprocessor bits (e.g., yet another
    CONCAT implementation), so I started a new common/preprocessor.h file.
    
    I included units tests covering the "offset" types API.  These are
    mostly compile-time tests, using SFINAE to check that expressions that
    shouldn't compile (e.g., comparing unrelated offset types) really are
    invalid and would fail to compile.  This same idea appeared in my
    pending enum-flags revamp from a few months ago (though this version
    is a bit further modernized compared to what I had posted), and I plan
    on reusing the "check valid expression" bits added here in that
    series, so I went ahead and defined the CHECK_VALID_EXPR macro in its
    own header -- common/valid-expr.h.  I think that's nicer regardless.
    
    I was borderline between calling the new types "offset" types, or
    "index" types, BTW.  I stuck with "offset" simply because that's what
    we're already calling them, mostly.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/offset-type-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
    	* common/offset-type.h: New file.
    	* common/preprocessor.h: New file.
    	* common/traits.h: New file.
    	* common/valid-expr.h: New file.
    	* dwarf2expr.c: Include "common/underlying.h".  Adjust to use
    	sect_offset and cu_offset strong typedefs throughout.
    	* dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
    	typedefs throughout.
    	* dwarf2loc.c: Include "common/underlying.h".  Adjust to use
    	sect_offset and cu_offset strong typedefs throughout.
    	* dwarf2read.c: Adjust to use sect_offset and cu_offset strong
    	typedefs throughout.
    	* gdbtypes.h: Include "common/offset-type.h".
    	(cu_offset): Now an offset type (strong typedef) instead of a
    	struct.
    	(sect_offset): Likewise.
    	(union call_site_parameter_u): Rename "param_offset" field to
    	"param_cu_off".
    	* unittests/offset-type-selftests.c: New file.

commit ecfb656c37b982479d8eb07f240b434772d98fd6
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:25 2017 +0100

    dwarf2read.c: Make dir_index and file_name_index strong typedefs
    
    This should help catch mistakes related to mixing the 1-based DWARF
    indexes with 0-based std::vector indexes, since the new types do not
    implicitly convert to anything.
    
    The change in read_formatted_entries relates to the fact that doing
    the seemingly simpler:
    
     -	      uintp = &fe.dir_index;
     +	      uintp = (unsigned int *) &fe.dir_index;
    
    would be undefined C/C++.  So to address that, I made the function
    extract the form before assigning to the file_entry.  It felt natural
    to use gdb::optional for "do I have this value", and this is what
    motivated the previous patch that added the missing observer methods
    to gdb::optional.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* common/underlying.h: New file.
    	* dwarf2read.c: Include "common/gdb_optional.h" and
    	"common/underlying.h".
    	(dir_index, file_name_index): New types.
    	(file_entry): Use them.
    	(file_entry::include): Use to_underlying.
    	(line_header::add_file_name): Use dir_index.
    	(read_formatted_entries): Use gdb::optional.  Read form before
    	writting to file_entry.
    	(dwarf_decode_line_header): Use dir_index.
    	(lnp_state_machine::current_file): Use to_underlying.
    	(lnp_state_machine::file): Change type to file_name_index.
    	(dwarf_record_line): Use to_underlying.
    	(init_lnp_state_machine): Use file_name_index.
    	(dwarf_decode_lines_1): Use dir_index and file_name_index.

commit d194f1fe51cb85b8a919b7ee9e3a7715b0ec9744
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:25 2017 +0100

    gdb::optional: Add observers
    
    Currently, gdb::optional is really minimal and can only be used for
    lazy initialization.  There's no way to get at the value contained
    inside the optinal.  This commit corrects that, by adding observer
    methods, mostly copied from libstdc++'s implementation of C++17
    std::optional.
    
    This will be used in the following patch.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
    	operator bool, has_value and get methods.

commit fff8551cf549f4047c9276a836408d802db6ce6d
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:25 2017 +0100

    dwarf2read.c: Some C++fycation, use std::vector, std::unique_ptr
    
    This starts off as replacing a couple custom open coded vector
    implementations in the file with std::vector, and then the rest falls
    off of that.  I.e., use new/delete instead of XCNEW/xfree, add
    ctors/dtors/initializers where appropriate.  And then use
    std::unique_ptr instead of cleanups.  Some functions became methods,
    and in a couple spots, some single-use callback functions that would
    have to be tweaked anyway are converted to lambdas instead.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (struct file_entry): Add ctors, and initialize all
    	fields.
    	(line_header): Initialize all data fields.  Change type of
    	standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
    	Change type of include_dirs to std::vector<const char *>.  Remove
    	num_include_dirs, include_dirs_size.  Change type of file_names to
    	std::vector<file_entry>.  Remove num_file_names, file_names_size.
    	(line_header::line_header): New.
    	(line_header::add_include_dir, line_header::add_file_name): New
    	methods.
    	(line_header::include_dir_at): Remove NULL check.
    	(line_header::file_name_at): Add const overload.
    	(line_header_up): New unique_ptr typedef.
    	(dw2_get_file_names_reader): Use line_header_up.  Adjust to use
    	std::vector.  Remove free_line_header call.
    	(dwarf2_build_include_psymtabs): Use line_header_up.  Remove
    	free_line_header call.
    	(free_cu_line_header): Delete.
    	(handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
    	(setup_type_unit_groups): Use line_header_up instead of cleanups.
    	Adjust to use std::vector.
    	(free_line_header): Delete.
    	(free_line_header_voidp): Use delete.
    	(add_include_dir): Replace with ...
    	(line_header::add_include_dir): ... this method.  Use std::vector.
    	(add_file_name): Replace with ...
    	(line_header::add_file_name): ... this method.  Use std::vector.
    	(add_include_dir_stub): Delete.
    	(read_formatted_entries): Remove memset.
    	(dwarf_decode_line_header): Return a line_header_up instead of a
    	raw pointer.  Remove cleanup handling.  Pass lambdas to
    	read_formatted_entries.  Adjust to use line_header methods.
    	(dwarf_decode_lines_1): Adjust to use line_header methods.
    	(dwarf_decode_lines, file_file_name, file_full_name): Adjust to
    	use std::vector.

commit 477bdd393c8145ad44899cb4681d57a61c82aad3
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Jun 2 13:46:58 2016 +0000

    Use symbolic constants instead of magic numbers with add_data_entry()
    
    Use symbolic constants from include/coff/internal.h instead of magic numbers
    with add_data_entry()
    
    bfd/ChangeLog:
    
    2017-04-02  Jon Turney  <jon.turney@dronecode.org.uk>
    
    	(_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
    	numbers for DataDirectory entry indicies passed to
    	add_data_entry().

commit a91e1603afb6704545793e967a1a3dfe96b389de
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 4 09:05:48 2017 -0700

    Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX
    
    Mark an ALLOC section, which should be placed in special memory area,
    with SHF_GNU_MBIND.  Its sh_info field indicates the special memory
    type.  GNU_MBIND section names start with ".mbind" so that they are
    placed as orphan sections by linker.  All input GNU_MBIND sections
    with the same sh_type, sh_flags and sh_info are placed in one output
    GNU_MBIND section.  In executable and shared object, create a
    GNU_MBIND segment for each GNU_MBIND section and its segment type is
    PT_GNU_MBIND_LO plus the sh_info value.  Each GNU_MBIND segment is
    aligned at page boundary.
    
    The assembler syntax:
    
        .section .mbind.foo,"adx",%progbits
                              ^             0: Special memory type.
                              |
                             'd' for SHF_GNU_MBIND.
    
        .section .mbind.foo,"adx",%progbits,0x1
                              ^             1: Special memory type.
                              |
                             'd' for SHF_GNU_MBIND.
    
        .section .mbind.bar,"adG",%progbits,.foo_group,comdat,0x2
                              ^                               2: Special memory type.
                              |
                             'd' for SHF_GNU_MBIND.
    
    bfd/
    
    	* elf.c (get_program_header_size): Add a GNU_MBIND segment for
    	each GNU_MBIND section and align GNU_MBIND section to page size.
    	(_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
    	segment for each GNU_MBIND section.
    	(_bfd_elf_init_private_section_data): Copy sh_info from input
    	for GNU_MBIND section.
    
    binutils/
    
    	* NEWS: Mention support for ELF SHF_GNU_MBIND and
    	PT_GNU_MBIND_XXX.
    	* readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
    	(get_elf_section_flags): Handle SHF_GNU_MBIND.
    	(process_section_headers): Likewise.
    	* testsuite/binutils-all/mbind1.s: New file.
    	* testsuite/binutils-all/objcopy.exp: Run readelf test on
    	mbind1.s.
    
    gas/
    
    	* NEWS: Mention support for ELF SHF_GNU_MBIND.
    	* config/obj-elf.c (section_match): New.
    	(get_section): Match both sh_info and group name.
    	(obj_elf_change_section): Add argument for sh_info.  Pass both
    	sh_info and group name to get_section. Issue an error for
    	SHF_GNU_MBIND section without SHF_ALLOC.  Set sh_info.
    	(obj_elf_parse_section_letters): Set SHF_GNU_MBIND for 'd'.
    	(obj_elf_section): Support SHF_GNU_MBIND section info.
    	* config/obj-elf.h (obj_elf_change_section): Add argument for
    	sh_info.
    	* config/tc-arm.c (start_unwind_section): Pass 0 as sh_info to
    	obj_elf_change_section.
    	* config/tc-ia64.c (obj_elf_vms_common): Likewise.
    	* config/tc-microblaze.c (microblaze_s_data): Likewise.
    	(microblaze_s_sdata): Likewise.
    	(microblaze_s_rdata): Likewise.
    	(microblaze_s_bss): Likewise.
    	* config/tc-mips.c (s_change_section): Likewise.
    	* config/tc-msp430.c (msp430_profiler): Likewise.
    	* config/tc-rx.c (parse_rx_section): Likewise.
    	* config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
    	* doc/as.texinfo: Document 'd' for SHF_GNU_MBIND.
    	* testsuite/gas/elf/elf.exp: Run section12a, section12b and
    	section13.
    	* testsuite/gas/elf/section10.d: Updated.
    	* testsuite/gas/elf/section10.s: Likewise.
    	* testsuite/gas/elf/section12.s: New file.
    	* testsuite/gas/elf/section12a.d: Likewise.
    	* testsuite/gas/elf/section12b.d: Likewise.
    	* testsuite/gas/elf/section13.l: Likewise.
    	* testsuite/gas/elf/section13.d: Likewise.
    	* testsuite/gas/elf/section13.s: Likewise.
    
    include/
    
    	* elf/common.h (PT_GNU_MBIND_NUM): New.
    	(PT_GNU_MBIND_LO): Likewise.
    	(PT_GNU_MBIND_HI): Likewise.
    	(SHF_GNU_MBIND): Likewise.
    
    ld/
    
    	* NEWS: Mention support for ELF SHF_GNU_MBIND and
    	PT_GNU_MBIND_XXX.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
    	input GNU_MBIND sections with the same type, attributes and
    	sh_info field into a single output GNU_MBIND section.
    	* testsuite/ld-elf/elf.exp: Run mbind2a and mbind2b.
    	* testsuite/ld-elf/mbind1.s: New file.
    	* testsuite/ld-elf/mbind1a.d: Likewise.
    	* testsuite/ld-elf/mbind1b.d: Likewise.
    	* testsuite/ld-elf/mbind1c.d: Likewise.
    	* testsuite/ld-elf/mbind2a.s: Likewise.
    	* testsuite/ld-elf/mbind2b.c: Likewise.

commit b52920324fabbcad93042f2e17de52696d0dab42
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Mon Apr 3 10:08:29 2017 -0700

    RISC-V: Resurrect GP-relative disassembly hints
    
    We missed a "_gp" when changing the GP symbol.  To make sure that
    doesn't happen again, we now use the same definition everywhere (thanks,
    Nick).
    
    include/ChangeLog:
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * elf/riscv.h (RISCV_GP_SYMBOL): New define.
    
    bfd/ChangeLog:
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * elfnn-riscv.c (GP_NAME): Delete.
            (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
            (_bfd_riscv_relax_lui): Likewise.
    
    opcodes/ChangeLog:
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * riscv-dis.c (riscv_disassemble_insn): Change "_gp" to
            RISCV_GP_SYMBOL.

commit 65dd1e590e519eba10bc29fb6e952271e0604c9b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Apr 4 10:48:24 2017 -0400

    gdbserver: Clear .deps on clean
    
    In some situations, the dependency tracking files in .deps can refer to
    source files that were removed or renamed, leading to errors like:
    
      make: *** No rule to make target `version.c', needed by `version.o'. Stop.
    
    This patch makes the clean target clear the .deps directory, which gives
    the user a chance to recover from the error wihtout knowing about the
    internals of the build system.
    
    It is already done for GDB.  See here for more details:
    
      https://sourceware.org/ml/gdb-patches/2009-03/msg00000.html
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (clean): Clear .deps.

commit d62a8ae2dd0fbb6235f4e8f2fb61b83fe4ba1d90
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Apr 4 10:31:50 2017 -0400

    remote.c: Use ptid_t instead of struct ptid
    
    It's the only place in the codebase that uses "struct ptid", so change
    it to ptid_t for consistency.
    
    gdb/ChangeLog:
    
    	* remote.c (set_general_thread, set_continue_thread): Use ptid_t
    	instead of struct ptid.

commit ad32986fdf9da1c8748e47b8b45100398223dba8
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Apr 4 11:23:36 2017 +0100

    Fix null pointer dereferences when using a link built with clang.
    
    	PR binutils/21342
    	* elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
    	dereference.
    	(bfd_elf_final_link): Only initialize the extended symbol index
    	section if there are extended symbol tables to list.

commit db3a1dc7c9404e203c54576db3335e69d995e83e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Apr 4 08:42:30 2017 +0100

    Remove MAX_REGISTER_SIZE from frame.c
    
    gdb/
    	* frame.c (get_frame_register_bytes): Unwind using value.
    	(put_frame_register_bytes): Likewise.

commit 4c220b4625df0b08cbb22e5c7ca04dc7a629de1b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 4 00:00:42 2017 +0000

    Automatic date update in version.in

commit c41cf6fdf514fce6b69f8f875b6903b2a3910f89
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Mon Apr 3 09:03:57 2017 -0700

    RISC-V: Avoid a const warning
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
           * config/tc-riscv.c (riscv_clear_subsets): Cast argument to free to
           avoid const warnings.

commit 2f5f29cada3c06c9c26f4da5994951effee7d6f7
Author: Andrew Jenner <andrew@codesourcery.com>
Date:   Mon Apr 3 09:13:19 2017 -0700

    	IA16 support
    
           * config.sub: Handle ia16 in $basic_machine.
    
           bfd/
           * config.bfd: Handle ia16.
    
           gas/
           * configure.tgt: Handle ia16.
    
           ld/
           * configure.tgt: Handle ia16.

commit 2514e33e01890ad28023359b110d1c9c1ad201d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 3 08:25:36 2017 -0700

    Correct the ChangeLog entry

commit 46bed6796d5821832e8ba373ddb2e7fdc45a109d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 3 08:03:14 2017 -0700

    ld: Support ELF GNU program properties
    
    From .note.gnu.property section in each ELF input, we build a list of
    GNU properties if .note.gnu.property section isn't corrupt.  The unknown
    properties are ignored.  All property lists in relocatable inputs are
    merged into an output property list.  When -z stack-size=N is used and
    N isn't 0, the GNU_PROPERTY_STACK_SIZE property will be merged with or
    added to the output property list.  .note.gnu.property section is
    generated in output from the output property list.
    
    bfd/
    
    	* Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
    	(BFD32_BACKENDS_CFILES): Add elf-properties.c.
    	* configure.ac (elf): Add elf-properties.lo.
    	* Makefile.in: Regenerated.
    	* configure: Likewise.
    	* elf-bfd.h (elf_property_kind): New.
    	(elf_property): Likewise.
    	(elf_property_list): Likewise.
    	(elf_properties): Likewise.
    	(_bfd_elf_parse_gnu_properties): Likewise.
    	(_bfd_elf_get_property): Likewise.
    	(_bfd_elf_link_setup_gnu_properties): Likewise.
    	(elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
    	and setup_gnu_properties.
    	(elf_obj_tdata): Add properties.
    	* elf-properties.c: New file.
    	* elf32-i386.c (elf_i386_parse_gnu_properties): New.
    	(elf_i386_merge_gnu_properties): Likewise.
    	(elf_backend_parse_gnu_properties): Likewise.
    	(elf_backend_merge_gnu_properties): Likewise.
    	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
    	(elf_x86_64_merge_gnu_properties): Likewise.
    	(elf_backend_parse_gnu_properties): Likewise.
    	(elf_backend_merge_gnu_properties): Likewise.
    	* elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
    	(elf_backend_parse_gnu_properties): Likewise.
    	(elf_backend_setup_gnu_properties): Likewise.
    	(elfNN_bed): Add elf_backend_parse_gnu_properties,
    	elf_backend_merge_gnu_properties and
    	elf_backend_setup_gnu_properties.
    
    ld/
    
    	* ld/NEWS: Mention support for ELF GNU program properties.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call
    	ELF setup_gnu_properties.
    	* testsuite/ld-i386/i386.exp: Run property tests for Linux/i386.
    	* testsuite/ld-i386/pass.c: New file.
    	* testsuite/ld-i386/property-1.r: Likewise.
    	* testsuite/ld-i386/property-2.r: Likewise.
    	* testsuite/ld-i386/property-3.r: Likewise.
    	* testsuite/ld-i386/property-4.r: Likewise.
    	* testsuite/ld-i386/property-5.r: Likewise.
    	* testsuite/ld-i386/property-6.r: Likewise.
    	* testsuite/ld-i386/property-6a.c: Likewise.
    	* testsuite/ld-i386/property-6b.c: Likewise.
    	* testsuite/ld-i386/property-6c.S: Likewise.
    	* testsuite/ld-i386/property-7.r: Likewise.
    	* testsuite/ld-i386/property-no-copy.S: Likewise.
    	* testsuite/ld-i386/property-stack.S: Likewise.
    	* testsuite/ld-i386/property-unsorted-1.S: Likewise.
    	* testsuite/ld-i386/property-unsorted-2.S: Likewise.
    	* testsuite/ld-i386/property-x86-1.S: Likewise.
    	* testsuite/ld-i386/property-x86-2.S: Likewise.
    	* testsuite/ld-x86-64/pass.c: Likewise.
    	* testsuite/ld-x86-64/property-1.r: Likewise.
    	* testsuite/ld-x86-64/property-2.r: Likewise.
    	* testsuite/ld-x86-64/property-3.r: Likewise.
    	* testsuite/ld-x86-64/property-4.r: Likewise.
    	* testsuite/ld-x86-64/property-5.r: Likewise.
    	* testsuite/ld-x86-64/property-6.r: Likewise.
    	* testsuite/ld-x86-64/property-6a.c: Likewise.
    	* testsuite/ld-x86-64/property-6b.c: Likewise.
    	* testsuite/ld-x86-64/property-6c.S: Likewise.
    	* testsuite/ld-x86-64/property-7.r: Likewise.
    	* testsuite/ld-x86-64/property-no-copy.S: Likewise.
    	* testsuite/ld-x86-64/property-stack.S: Likewise.
    	* testsuite/ld-x86-64/property-unsorted-1.S: Likewise.
    	* testsuite/ld-x86-64/property-unsorted-2.S: Likewise.
    	* testsuite/ld-x86-64/property-x86-1.S: Likewise.
    	* testsuite/ld-x86-64/property-x86-2.S: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run property tests for
    	Linux/x86-64.

commit 82156ab704b08b124d319c0decdbd48b3ca2dac5
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 3 12:14:06 2017 +0100

    readelf: Fix overlarge memory allocation when reading a binary with an excessive number of program headers.
    
    	PR binutils/21345
    	* readelf.c (get_program_headers): Check for there being too many
    	program headers before attempting to allocate space for them.

commit 75ec1fdbb797a389e4fe4aaf2e15358a070dcc19
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 3 11:13:21 2017 +0100

    Fix runtime seg-fault in readelf when parsing a corrupt MIPS binary.
    
    	PR binutils/21344
    	* readelf.c (process_mips_specific): Check for an out of range GOT
    	entry before reading the module pointer.

commit f32ba72991d2406b21ab17edc234a2f3fa7fb23d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 3 11:01:45 2017 +0100

    readelf: Update check for invalid word offsets in ARM unwind information.
    
    	PR binutils/21343
    	* readelf.c (get_unwind_section_word): Fix snafu checking for
    	invalid word offsets in ARM unwind information.

commit 12bfb8fec326e847f6300874ca656e47ee027f5d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 3 00:00:37 2017 +0000

    Automatic date update in version.in

commit 450b68da0169dcfa1c36987ec80e2655abb3f8e6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 2 00:00:36 2017 +0000

    Automatic date update in version.in

commit 5e6a0e73317915b0685249606538ea739acc3a23
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 1 00:00:39 2017 +0000

    Automatic date update in version.in

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

Summary of changes:
 ChangeLog                                        |   13 +
 bfd/ChangeLog                                    |   67 +
 bfd/Makefile.am                                  |    2 +
 bfd/Makefile.in                                  |    3 +
 bfd/config.bfd                                   |    6 +
 bfd/configure                                    |    2 +-
 bfd/configure.ac                                 |    2 +-
 bfd/elf-bfd.h                                    |   58 +
 bfd/elf-properties.c                             |  483 +++++++
 bfd/elf.c                                        |   69 +-
 bfd/elf32-i386.c                                 |   74 ++
 bfd/elf64-ppc.c                                  |   41 +-
 bfd/elf64-x86-64.c                               |   78 ++-
 bfd/elflink.c                                    |   35 +-
 bfd/elfnn-riscv.c                                |    9 +-
 bfd/elfxx-target.h                               |   12 +
 bfd/peXXigen.c                                   |   10 +-
 bfd/version.h                                    |    2 +-
 binutils/ChangeLog                               |   29 +
 binutils/NEWS                                    |    2 +
 binutils/readelf.c                               |   64 +-
 binutils/testsuite/binutils-all/mbind1.s         |   33 +
 binutils/testsuite/binutils-all/objcopy.exp      |    1 +
 config.sub                                       |    2 +-
 gas/ChangeLog                                    |   40 +
 gas/NEWS                                         |    2 +
 gas/config/obj-elf.c                             |   54 +-
 gas/config/obj-elf.h                             |    3 +-
 gas/config/tc-arm.c                              |    3 +-
 gas/config/tc-ia64.c                             |    2 +-
 gas/config/tc-microblaze.c                       |   18 +-
 gas/config/tc-mips.c                             |    2 +-
 gas/config/tc-msp430.c                           |    2 +-
 gas/config/tc-riscv.c                            |    2 +-
 gas/config/tc-rx.c                               |    4 +-
 gas/config/tc-tic6x.c                            |    3 +-
 gas/configure.tgt                                |    3 +
 gas/doc/as.texinfo                               |    2 +
 gas/testsuite/gas/elf/elf.exp                    |    3 +
 gas/testsuite/gas/elf/section10.d                |    4 +-
 gas/testsuite/gas/elf/section10.s                |    4 +-
 gas/testsuite/gas/elf/section12.s                |   33 +
 gas/testsuite/gas/elf/section12a.d               |   35 +
 gas/testsuite/gas/elf/section12b.d               |   32 +
 gas/testsuite/gas/elf/section13.d                |    2 +
 gas/testsuite/gas/elf/section13.l                |    2 +
 gas/testsuite/gas/elf/section13.s                |    2 +
 gdb/ChangeLog                                    |  172 +++
 gdb/MAINTAINERS                                  |    2 +-
 gdb/Makefile.in                                  |    8 +-
 gdb/NEWS                                         |    5 +
 gdb/alpha-fbsd-tdep.c                            |  132 --
 gdb/amd64-bsd-nat.c                              |   32 +-
 gdb/amd64-fbsd-tdep.c                            |   67 -
 gdb/common/gdb_optional.h                        |   34 +-
 gdb/common/offset-type.h                         |  149 +++
 gdb/common/preprocessor.h                        |   31 +
 gdb/common/traits.h                              |   34 +
 gdb/common/underlying.h                          |   32 +
 gdb/common/valid-expr.h                          |  108 ++
 gdb/config/alpha/fbsd.mh                         |    6 -
 gdb/configure.host                               |    4 +-
 gdb/configure.tgt                                |   11 +-
 gdb/dwarf2expr.c                                 |   45 +-
 gdb/dwarf2expr.h                                 |   16 +-
 gdb/dwarf2loc.c                                  |   37 +-
 gdb/dwarf2read.c                                 | 1523 +++++++++++-----------
 gdb/fbsd-nat.c                                   |    2 +-
 gdb/frame.c                                      |   58 +-
 gdb/gdbserver/ChangeLog                          |    4 +
 gdb/gdbserver/Makefile.in                        |    1 +
 gdb/gdbtypes.h                                   |   14 +-
 gdb/i386-fbsd-tdep.c                             |   59 -
 gdb/remote.c                                     |   10 +-
 gdb/testsuite/gdb.threads/thread-specific-bp.exp |    9 +-
 gdb/unittests/offset-type-selftests.c            |  178 +++
 include/ChangeLog                                |   11 +
 include/elf/common.h                             |    7 +
 include/elf/riscv.h                              |    3 +
 ld/ChangeLog                                     |   76 ++
 ld/NEWS                                          |    4 +
 ld/configure.tgt                                 |    1 +
 ld/emultempl/elf32.em                            |   48 +-
 ld/ldlang.c                                      |    2 +
 ld/testsuite/ld-elf/elf.exp                      |   21 +
 ld/testsuite/ld-elf/mbind1.s                     |   43 +
 ld/testsuite/ld-elf/mbind1a.d                    |   44 +
 ld/testsuite/ld-elf/mbind1b.d                    |   44 +
 ld/testsuite/ld-elf/mbind1c.d                    |   44 +
 ld/testsuite/ld-elf/mbind2a.s                    |   15 +
 ld/testsuite/ld-elf/mbind2b.c                    |   17 +
 ld/testsuite/ld-elf/pr21233-e.ld                 |    2 +
 ld/testsuite/ld-elf/pr21233-l.s                  |    6 +
 ld/testsuite/ld-elf/pr21233-l.sd                 |    6 +
 ld/testsuite/ld-elf/pr21233.ld                   |   17 +
 ld/testsuite/ld-elf/pr21233.s                    |    8 +
 ld/testsuite/ld-elf/pr21233.sd                   |    9 +
 ld/testsuite/ld-elf/shared.exp                   |   40 +
 ld/testsuite/ld-i386/i386.exp                    |  273 ++++
 ld/testsuite/ld-i386/pass.c                      |    8 +
 ld/testsuite/ld-i386/property-1.r                |    7 +
 ld/testsuite/ld-i386/property-2.r                |    7 +
 ld/testsuite/ld-i386/property-3.r                |    8 +
 ld/testsuite/ld-i386/property-4.r                |    8 +
 ld/testsuite/ld-i386/property-5.r                |    8 +
 ld/testsuite/ld-i386/property-6.r                |    7 +
 ld/testsuite/ld-i386/property-6a.c               |    7 +
 ld/testsuite/ld-i386/property-6b.c               |    8 +
 ld/testsuite/ld-i386/property-6c.S               |   18 +
 ld/testsuite/ld-i386/property-7.r                |    6 +
 ld/testsuite/ld-i386/property-no-copy.S          |   15 +
 ld/testsuite/ld-i386/property-stack.S            |   18 +
 ld/testsuite/ld-i386/property-unsorted-1.S       |   34 +
 ld/testsuite/ld-i386/property-unsorted-2.S       |   22 +
 ld/testsuite/ld-i386/property-x86-1.S            |   32 +
 ld/testsuite/ld-i386/property-x86-2.S            |   25 +
 ld/testsuite/ld-x86-64/pass.c                    |    8 +
 ld/testsuite/ld-x86-64/property-1.r              |    7 +
 ld/testsuite/ld-x86-64/property-2.r              |    7 +
 ld/testsuite/ld-x86-64/property-3.r              |    8 +
 ld/testsuite/ld-x86-64/property-4.r              |    8 +
 ld/testsuite/ld-x86-64/property-5.r              |    8 +
 ld/testsuite/ld-x86-64/property-6.r              |    7 +
 ld/testsuite/ld-x86-64/property-6a.c             |    7 +
 ld/testsuite/ld-x86-64/property-6b.c             |    8 +
 ld/testsuite/ld-x86-64/property-6c.S             |   23 +
 ld/testsuite/ld-x86-64/property-7.r              |    6 +
 ld/testsuite/ld-x86-64/property-no-copy.S        |   20 +
 ld/testsuite/ld-x86-64/property-stack.S          |   23 +
 ld/testsuite/ld-x86-64/property-unsorted-1.S     |   39 +
 ld/testsuite/ld-x86-64/property-unsorted-2.S     |   27 +
 ld/testsuite/ld-x86-64/property-x86-1.S          |   37 +
 ld/testsuite/ld-x86-64/property-x86-2.S          |   30 +
 ld/testsuite/ld-x86-64/x86-64.exp                |  273 ++++
 opcodes/ChangeLog                                |    5 +
 opcodes/riscv-dis.c                              |    2 +-
 136 files changed, 4447 insertions(+), 1222 deletions(-)
 create mode 100644 bfd/elf-properties.c
 create mode 100644 binutils/testsuite/binutils-all/mbind1.s
 create mode 100644 gas/testsuite/gas/elf/section12.s
 create mode 100644 gas/testsuite/gas/elf/section12a.d
 create mode 100644 gas/testsuite/gas/elf/section12b.d
 create mode 100644 gas/testsuite/gas/elf/section13.d
 create mode 100644 gas/testsuite/gas/elf/section13.l
 create mode 100644 gas/testsuite/gas/elf/section13.s
 delete mode 100644 gdb/alpha-fbsd-tdep.c
 create mode 100644 gdb/common/offset-type.h
 create mode 100644 gdb/common/preprocessor.h
 create mode 100644 gdb/common/traits.h
 create mode 100644 gdb/common/underlying.h
 create mode 100644 gdb/common/valid-expr.h
 delete mode 100644 gdb/config/alpha/fbsd.mh
 create mode 100644 gdb/unittests/offset-type-selftests.c
 create mode 100644 ld/testsuite/ld-elf/mbind1.s
 create mode 100644 ld/testsuite/ld-elf/mbind1a.d
 create mode 100644 ld/testsuite/ld-elf/mbind1b.d
 create mode 100644 ld/testsuite/ld-elf/mbind1c.d
 create mode 100644 ld/testsuite/ld-elf/mbind2a.s
 create mode 100644 ld/testsuite/ld-elf/mbind2b.c
 create mode 100644 ld/testsuite/ld-elf/pr21233-e.ld
 create mode 100644 ld/testsuite/ld-elf/pr21233-l.s
 create mode 100644 ld/testsuite/ld-elf/pr21233-l.sd
 create mode 100644 ld/testsuite/ld-elf/pr21233.ld
 create mode 100644 ld/testsuite/ld-elf/pr21233.s
 create mode 100644 ld/testsuite/ld-elf/pr21233.sd
 create mode 100644 ld/testsuite/ld-i386/pass.c
 create mode 100644 ld/testsuite/ld-i386/property-1.r
 create mode 100644 ld/testsuite/ld-i386/property-2.r
 create mode 100644 ld/testsuite/ld-i386/property-3.r
 create mode 100644 ld/testsuite/ld-i386/property-4.r
 create mode 100644 ld/testsuite/ld-i386/property-5.r
 create mode 100644 ld/testsuite/ld-i386/property-6.r
 create mode 100644 ld/testsuite/ld-i386/property-6a.c
 create mode 100644 ld/testsuite/ld-i386/property-6b.c
 create mode 100644 ld/testsuite/ld-i386/property-6c.S
 create mode 100644 ld/testsuite/ld-i386/property-7.r
 create mode 100644 ld/testsuite/ld-i386/property-no-copy.S
 create mode 100644 ld/testsuite/ld-i386/property-stack.S
 create mode 100644 ld/testsuite/ld-i386/property-unsorted-1.S
 create mode 100644 ld/testsuite/ld-i386/property-unsorted-2.S
 create mode 100644 ld/testsuite/ld-i386/property-x86-1.S
 create mode 100644 ld/testsuite/ld-i386/property-x86-2.S
 create mode 100644 ld/testsuite/ld-x86-64/pass.c
 create mode 100644 ld/testsuite/ld-x86-64/property-1.r
 create mode 100644 ld/testsuite/ld-x86-64/property-2.r
 create mode 100644 ld/testsuite/ld-x86-64/property-3.r
 create mode 100644 ld/testsuite/ld-x86-64/property-4.r
 create mode 100644 ld/testsuite/ld-x86-64/property-5.r
 create mode 100644 ld/testsuite/ld-x86-64/property-6.r
 create mode 100644 ld/testsuite/ld-x86-64/property-6a.c
 create mode 100644 ld/testsuite/ld-x86-64/property-6b.c
 create mode 100644 ld/testsuite/ld-x86-64/property-6c.S
 create mode 100644 ld/testsuite/ld-x86-64/property-7.r
 create mode 100644 ld/testsuite/ld-x86-64/property-no-copy.S
 create mode 100644 ld/testsuite/ld-x86-64/property-stack.S
 create mode 100644 ld/testsuite/ld-x86-64/property-unsorted-1.S
 create mode 100644 ld/testsuite/ld-x86-64/property-unsorted-2.S
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-1.S
 create mode 100644 ld/testsuite/ld-x86-64/property-x86-2.S

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 8565325..bb87497 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2017-04-03  Andrew Jenner  <andrew@codesourcery.com>
+
+	* config.sub: Handle ia16 in $basic_machine.
+
+	bfd/
+	* config.bfd: Handle ia16.
+
+	gas/
+	* configure.tgt: Handle ia16.
+
+	ld/
+	* configure.tgt: Handle ia16.
+
 2017-03-22  Nick Clifton  <nickc@redhat.com>
 
 	* config.sub: Sync with master version in config project.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index bb851c7..0e4ad30 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,70 @@
+2017-04-05  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
+	reference counting.
+
+2017-04-02  Jon Turney  <jon.turney@dronecode.org.uk>
+
+	(_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
+	numbers for DataDirectory entry indicies passed to
+	add_data_entry().
+
+2017-04-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf.c (get_program_header_size): Add a GNU_MBIND segment for
+	each GNU_MBIND section and align GNU_MBIND section to page size.
+	(_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
+	segment for each GNU_MBIND section.
+	(_bfd_elf_init_private_section_data): Copy sh_info from input
+	for GNU_MBIND section.
+
+2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
+
+	* elfnn-riscv.c (GP_NAME): Delete.
+	(riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
+	(_bfd_riscv_relax_lui): Likewise.
+
+2017-04-04  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21342
+	* elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
+	dereference.
+	(bfd_elf_final_link): Only initialize the extended symbol index
+	section if there are extended symbol tables to list.
+
+2017-04-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
+	(BFD32_BACKENDS_CFILES): Add elf-properties.c.
+	* configure.ac (elf): Add elf-properties.lo.
+	* Makefile.in: Regenerated.
+	* configure: Likewise.
+	* elf-bfd.h (elf_property_kind): New.
+	(elf_property): Likewise.
+	(elf_property_list): Likewise.
+	(elf_properties): Likewise.
+	(_bfd_elf_parse_gnu_properties): Likewise.
+	(_bfd_elf_get_property): Likewise.
+	(_bfd_elf_link_setup_gnu_properties): Likewise.
+	(elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
+	and setup_gnu_properties.
+	(elf_obj_tdata): Add properties.
+	* elf-properties.c: New file.
+	* elf32-i386.c (elf_i386_parse_gnu_properties): New.
+	(elf_i386_merge_gnu_properties): Likewise.
+	(elf_backend_parse_gnu_properties): Likewise.
+	(elf_backend_merge_gnu_properties): Likewise.
+	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
+	(elf_x86_64_merge_gnu_properties): Likewise.
+	(elf_backend_parse_gnu_properties): Likewise.
+	(elf_backend_merge_gnu_properties): Likewise.
+	* elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
+	(elf_backend_parse_gnu_properties): Likewise.
+	(elf_backend_setup_gnu_properties): Likewise.
+	(elfNN_bed): Add elf_backend_parse_gnu_properties,
+	elf_backend_merge_gnu_properties and
+	elf_backend_setup_gnu_properties.
+
 2017-03-30  Pip Cet  <pipcet@gmail.com>
 
 	* elf32-wasm32.c: Add relocation code, two relocs.
diff --git a/bfd/Makefile.am b/bfd/Makefile.am
index 49ab092..97b608c 100644
--- a/bfd/Makefile.am
+++ b/bfd/Makefile.am
@@ -321,6 +321,7 @@ BFD32_BACKENDS = \
 	elf-m10200.lo \
 	elf-m10300.lo \
 	elf-nacl.lo \
+	elf-properties.lo \
 	elf-strtab.lo \
 	elf-vxworks.lo \
 	elf.lo \
@@ -516,6 +517,7 @@ BFD32_BACKENDS_CFILES = \
 	elf-m10200.c \
 	elf-m10300.c \
 	elf-nacl.c \
+	elf-properties.c \
 	elf-strtab.c \
 	elf-vxworks.c \
 	elf.c \
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index fed5117..e48abaf 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -655,6 +655,7 @@ BFD32_BACKENDS = \
 	elf-m10200.lo \
 	elf-m10300.lo \
 	elf-nacl.lo \
+	elf-properties.lo \
 	elf-strtab.lo \
 	elf-vxworks.lo \
 	elf.lo \
@@ -850,6 +851,7 @@ BFD32_BACKENDS_CFILES = \
 	elf-m10200.c \
 	elf-m10300.c \
 	elf-nacl.c \
+	elf-properties.c \
 	elf-strtab.c \
 	elf-vxworks.c \
 	elf.c \
@@ -1471,6 +1473,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-m10200.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-m10300.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-nacl.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-properties.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-strtab.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-vxworks.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf.Plo@am__quote@
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 1235c2c..b00958d 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -173,6 +173,7 @@ fido*)		 targ_archs=bfd_m68k_arch ;;
 hppa*)		 targ_archs=bfd_hppa_arch ;;
 i[3-7]86)	 targ_archs=bfd_i386_arch ;;
 i370)		 targ_archs=bfd_i370_arch ;;
+ia16)		 targ_archs=bfd_i386_arch ;;
 lm32)	         targ_archs=bfd_lm32_arch ;;
 m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
 m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
@@ -906,6 +907,11 @@ case "${targ}" in
     targ_selvecs="icoff_le_vec icoff_be_vec"
     ;;
 
+  ia16-*-elf)
+    targ_defvec=i386_elf32_vec
+    targ_selvecs="i386_msdos_vec i386_aout_vec"
+    ;;
+
   ip2k-*-elf)
     targ_defvec=ip2k_elf32_vec
     ;;
diff --git a/bfd/configure b/bfd/configure
index 7cae4ae..24e3e2f 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -14234,7 +14234,7 @@ selarchs="$f"
 # Target backend .o files.
 tb=
 
-elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo
+elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-properties.lo
      elf-eh-frame.lo dwarf1.lo dwarf2.lo"
 coffgen="coffgen.lo dwarf2.lo"
 coff="cofflink.lo $coffgen"
diff --git a/bfd/configure.ac b/bfd/configure.ac
index feb1231..e568847 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -365,7 +365,7 @@ selarchs="$f"
 # Target backend .o files.
 tb=
 
-elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo
+elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo elf-properties.lo
      elf-eh-frame.lo dwarf1.lo dwarf2.lo"
 coffgen="coffgen.lo dwarf2.lo"
 coff="cofflink.lo $coffgen"
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 9e3d6f5..af377ee 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -766,6 +766,39 @@ typedef asection * (*elf_gc_mark_hook_fn)
   (asection *, struct bfd_link_info *, Elf_Internal_Rela *,
    struct elf_link_hash_entry *, Elf_Internal_Sym *);
 
+enum elf_property_kind
+ {
+    /* A new property.  */
+    property_unknown = 0,
+    /* A property ignored by backend.  */
+    property_ignored,
+    /* A corrupt property reported by backend.  */
+    property_corrupt,
+    /* A property should be removed due to property merge.  */
+    property_remove,
+    /* A property which is a number.  */
+    property_number
+ };
+
+typedef struct elf_property
+{
+  unsigned int pr_type;
+  unsigned int pr_datasz;
+  union
+    {
+      /* For property_number, this is a number.  */
+      bfd_vma number;
+      /* Add a new one if elf_property_kind is updated.  */
+    } u;
+  enum elf_property_kind pr_kind;
+} elf_property;
+
+typedef struct elf_property_list
+{
+  struct elf_property_list *next;
+  struct elf_property property;
+} elf_property_list;
+
 struct bfd_elf_section_reloc_data;
 
 struct elf_backend_data
@@ -1389,6 +1422,19 @@ struct elf_backend_data
      or give an error and return FALSE.  */
   bfd_boolean (*obj_attrs_handle_unknown) (bfd *, int);
 
+  /* Parse GNU properties.  Return the property kind.  If the property
+     is corrupt, issue an error message and return property_corrupt.  */
+  enum elf_property_kind (*parse_gnu_properties) (bfd *, unsigned int,
+						  bfd_byte *,
+						  unsigned int);
+
+  /* Merge GNU properties.  Return TRUE if property is updated.  */
+  bfd_boolean (*merge_gnu_properties) (bfd *, elf_property *,
+				       elf_property *);
+
+  /* Set up GNU properties.  */
+  void (*setup_gnu_properties) (struct bfd_link_info *);
+
   /* Encoding used for compact EH tables.  */
   int (*compact_eh_encoding) (struct bfd_link_info *);
 
@@ -1798,6 +1844,10 @@ struct elf_obj_tdata
   /* Symbol buffer.  */
   void *symbuf;
 
+  /* List of GNU properties.  Will be updated by setup_gnu_properties
+     after all input GNU properties are merged for output.  */
+  elf_property_list *properties;
+
   obj_attribute known_obj_attributes[2][NUM_KNOWN_OBJ_ATTRIBUTES];
   obj_attribute_list *other_obj_attributes[2];
 
@@ -1882,6 +1932,7 @@ struct elf_obj_tdata
   (elf_known_obj_attributes (bfd) [OBJ_ATTR_PROC])
 #define elf_other_obj_attributes_proc(bfd) \
   (elf_other_obj_attributes (bfd) [OBJ_ATTR_PROC])
+#define elf_properties(bfd) (elf_tdata (bfd) -> properties)
 \f
 extern void _bfd_elf_swap_verdef_in
   (bfd *, const Elf_External_Verdef *, Elf_Internal_Verdef *);
@@ -2538,6 +2589,13 @@ extern bfd_boolean _bfd_elf_merge_unknown_attribute_low (bfd *, bfd *, int);
 extern bfd_boolean _bfd_elf_merge_unknown_attribute_list (bfd *, bfd *);
 extern Elf_Internal_Shdr *_bfd_elf_single_rel_hdr (asection *sec);
 
+extern bfd_boolean _bfd_elf_parse_gnu_properties
+  (bfd *, Elf_Internal_Note *);
+extern elf_property * _bfd_elf_get_property
+  (bfd *, unsigned int, unsigned int);
+extern void _bfd_elf_link_setup_gnu_properties
+  (struct bfd_link_info *);
+
 /* The linker may need to keep track of the number of relocs that it
    decides to copy as dynamic relocs in check_relocs for each symbol.
    This is so that it can later discard them if they are found to be
diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
new file mode 100644
index 0000000..a0456f8
--- /dev/null
+++ b/bfd/elf-properties.c
@@ -0,0 +1,483 @@
+/* ELF program property support.
+   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.  */
+
+/* GNU program property draft is at:
+
+   https://github.com/hjl-tools/linux-abi/wiki/property-draft.pdf
+ */
+
+#include "sysdep.h"
+#include "bfd.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+
+/* Get a property, allocate a new one if needed.  */
+
+elf_property *
+_bfd_elf_get_property (bfd *abfd, unsigned int type, unsigned int datasz)
+{
+  elf_property_list *p, **lastp;
+
+  if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
+    {
+      /* Never should happen.  */
+      abort ();
+    }
+
+  /* Keep the property list in order of type.  */
+  lastp = &elf_properties (abfd);
+  for (p = *lastp; p; p = p->next)
+    {
+      /* Reuse the existing entry.  */
+      if (type == p->property.pr_type)
+	{
+	  if (datasz > p->property.pr_datasz)
+	    {
+	      /* This can happen when mixing 32-bit and 64-bit objects.  */
+	      p->property.pr_datasz = datasz;
+	    }
+	  return &p->property;
+	}
+      else if (type < p->property.pr_type)
+	break;
+      lastp = &p->next;
+    }
+  p = (elf_property_list *) bfd_alloc (abfd, sizeof (*p));
+  if (p == NULL)
+    {
+      _bfd_error_handler (_("%B: out of memory in _bfd_elf_get_property"),
+			  abfd);
+      _exit (EXIT_FAILURE);
+    }
+  memset (p, 0, sizeof (*p));
+  p->property.pr_type = type;
+  p->property.pr_datasz = datasz;
+  p->next = *lastp;
+  *lastp = p;
+  return &p->property;
+}
+
+/* Parse GNU properties.  */
+
+bfd_boolean
+_bfd_elf_parse_gnu_properties (bfd *abfd, Elf_Internal_Note *note)
+{
+  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+  unsigned int align_size = bed->s->elfclass == ELFCLASS64 ? 8 : 4;
+  bfd_byte *ptr = (bfd_byte *) note->descdata;
+  bfd_byte *ptr_end = ptr + note->descsz;
+
+  if (note->descsz < 8 || (note->descsz % align_size) != 0)
+    {
+bad_size:
+      _bfd_error_handler
+	(_("warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx\n"),
+	 abfd, note->type, note->descsz);
+      return FALSE;
+    }
+
+  while (1)
+    {
+      unsigned int type = bfd_h_get_32 (abfd, ptr);
+      unsigned int datasz = bfd_h_get_32 (abfd, ptr + 4);
+      elf_property *prop;
+
+      ptr += 8;
+
+      if ((ptr + datasz) > ptr_end)
+	{
+	  _bfd_error_handler
+	    (_("warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x\n"),
+	     abfd, note->type, type, datasz);
+	  /* Clear all properties.  */
+	  elf_properties (abfd) = NULL;
+	  return FALSE;
+	}
+
+      if (type >= GNU_PROPERTY_LOPROC)
+	{
+	  if (type < GNU_PROPERTY_LOUSER && bed->parse_gnu_properties)
+	    {
+	      enum elf_property_kind kind
+		= bed->parse_gnu_properties (abfd, type, ptr, datasz);
+	      if (kind == property_corrupt)
+		{
+		  /* Clear all properties.  */
+		  elf_properties (abfd) = NULL;
+		  return FALSE;
+		}
+	      else if (kind != property_ignored)
+		goto next;
+	    }
+	}
+      else
+	{
+	  switch (type)
+	    {
+	    case GNU_PROPERTY_STACK_SIZE:
+	      if (datasz != align_size)
+		{
+		  _bfd_error_handler
+		    (_("warning: %B: corrupt stack size: 0x%x\n"),
+		     abfd, datasz);
+		  /* Clear all properties.  */
+		  elf_properties (abfd) = NULL;
+		  return FALSE;
+		}
+	      prop = _bfd_elf_get_property (abfd, type, datasz);
+	      if (datasz == 8)
+		prop->u.number = bfd_h_get_64 (abfd, ptr);
+	      else
+		prop->u.number = bfd_h_get_32 (abfd, ptr);
+	      prop->pr_kind = property_number;
+	      goto next;
+
+	    case GNU_PROPERTY_NO_COPY_ON_PROTECTED:
+	      if (datasz != 0)
+		{
+		  _bfd_error_handler
+		    (_("warning: %B: corrupt no copy on protected size: 0x%x\n"),
+		     abfd, datasz);
+		  /* Clear all properties.  */
+		  elf_properties (abfd) = NULL;
+		  return FALSE;
+		}
+	      prop = _bfd_elf_get_property (abfd, type, datasz);
+	      prop->pr_kind = property_number;
+	      goto next;
+
+	    default:
+	      break;
+	    }
+	}
+
+      _bfd_error_handler
+	(_("warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x\n"),
+	 abfd, note->type, type);
+
+next:
+      ptr += (datasz + (align_size - 1)) & ~ (align_size - 1);
+      if (ptr == ptr_end)
+	break;
+
+      if (ptr > (ptr_end - 8))
+	goto bad_size;
+    }
+
+  return TRUE;
+}
+
+/* Merge GNU property BPROP with APROP.  If APROP isn't NULL, return TRUE
+   if APROP is updated.  Otherwise, return TRUE if BPROP should be merged
+   with ABFD.  */
+
+static bfd_boolean
+elf_merge_gnu_properties (bfd *abfd, elf_property *aprop,
+			  elf_property *bprop)
+{
+  const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+  unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
+
+  if (bed->merge_gnu_properties != NULL
+      && pr_type >= GNU_PROPERTY_LOPROC
+      && pr_type < GNU_PROPERTY_LOUSER)
+    return bed->merge_gnu_properties (abfd, aprop, bprop);
+
+  switch (pr_type)


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2017-03-22 21:57 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2017-03-22 21:57 UTC (permalink / raw)
  To: archer-commits

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

The branch, users/jkratoch/indexcxx has been updated
       via  025edc48851da0e21aea57628f5fb8cd305a281f (commit)
       via  24e5b4e682a92788ffa676e963b7f1dec2101333 (commit)
       via  b67aeab02c05fdd654f132a550dd4f196cb1f6d3 (commit)
       via  11997a83a040245406b6e2e9978c6720f17e80c4 (commit)
       via  79778b30dc5881a8d88b55744cab53d95fa6fda2 (commit)
       via  ffdbe8642e74527795b695988a176f0920d58f96 (commit)
       via  9d736fbf01d20bc03804fa0cb49d99fdf6628fab (commit)
       via  3e6c75670009a5e9eaa72eb456b296451b3c46fe (commit)
       via  4c8798c9923de48c71430ce262d83042179232c6 (commit)
       via  3de88e9afbf0d8d10a8c4ce1415c219120e0a0c1 (commit)
       via  0e7b8f61069f1219ca53a9dd927ba55c9a7eefd4 (commit)
       via  2253c8f089193b90141e08436417bc8ea1dd6015 (commit)
       via  4a14e306468af630a27302d68b8d4c59733141b4 (commit)
       via  645d3342ba2b920722991255513030bb903b794e (commit)
       via  75d7d2986cf896fac8f0690db68ebc552e0b0339 (commit)
       via  5badf10a18af78c57dd4ce8e6a6ead7f46e1a878 (commit)
       via  21701718895d186285e6daf04cc7342c6c88fb03 (commit)
       via  cee59b3feac9a8f6300a5b788e3db4e15af2a894 (commit)
       via  09220eae9df07c40d206a35e6caaecba92ab8f46 (commit)
       via  639a9038c9f4fc50b6a57c18fe84db4559367a96 (commit)
       via  bcc0c096d5b0f77482cdb3154acd2515a0ca832f (commit)
       via  c0f55cc689a57deb342b988b8f0ecb908f0a76e1 (commit)
       via  15c0a2a9305648095f5586a02b5a5017e1643e99 (commit)
       via  aa0061181ab00081e9907447561e589d6edee9f2 (commit)
       via  3fcf899da106890f3948093c2424f9dff67d6fe0 (commit)
       via  4297a3f0029974c62628d69b6f3f9ef25f01ea7d (commit)
       via  e1cb3213476485a01aa11ecedfa186e386cb4bdb (commit)
       via  e4347c89f3a14b480fc88581d1363835f7b99b68 (commit)
       via  53cc15f5fe1f5e2358994d4f60f1c2aa9115004d (commit)
       via  a65cfae5f8b268158c23a862e7a996d15bbcef0e (commit)
       via  3b22433085e4cfee83f5c52f3baa8fb9bc67f8dd (commit)
       via  f9aeb8d499fa12610610dc19618230304c698f6c (commit)
       via  51457a05780da82b5321a1574caed95ac0e6923e (commit)
       via  5b291c049658614196197e4ea4bb42bcc176b876 (commit)
       via  e696b3ad342dde596dcdad4cff6b875c361ed6d0 (commit)
       via  59a561480d547d041127630b1ba17a284eef8225 (commit)
       via  39e224f6f9ee3f6123d4c9ddb7c0955e0604c1b4 (commit)
       via  e406e428dfe9d64e3be0b7a3c1c97c09edc5bdba (commit)
       via  dcb84eda0c5f25835251a311c4d6704e70cfa498 (commit)
       via  4ea0266c22eccf6e7719469a981267659e47ef3a (commit)
       via  d5e0ba9cdb0d002b97bab722cce673ce86cf7b11 (commit)
       via  d3375ddde4011242ef576083459fc51d0ddc53c8 (commit)
       via  5c62b69b91e13c6b9c126480680cff836c0b282d (commit)
       via  aaed6f5be3a41a88cc13c744e88af78f5a42dd5b (commit)
       via  84e8538ee3c8139a99e75e661fff500bb93c8cd5 (commit)
       via  bbdf9b697fc0652379794267b23f597e15c7db57 (commit)
       via  82e66161e649e5e801c40a52cba759292a76a59a (commit)
       via  d9cb6cdcfa12368f2f639f8cd06d18b94bd98a39 (commit)
       via  1afaf9f42fe201872d758214beceff85325a988a (commit)
       via  aac12e2497a42b47223680ab1b5924137de77c9a (commit)
       via  bbe1eef1e585e19d5493882e55f2b7902df9827a (commit)
       via  10799020a9336b6a88c1ace53c601960b840d580 (commit)
       via  00204cf7da01d99205aacc994e5c594ed12bba64 (commit)
       via  11a3371447f15af26def26646ad2eb7a4386462d (commit)
       via  317cd4925a9d6ef6f8752a771cb56e85ddfb30f0 (commit)
       via  9ac8a7c281aa949cf588cccb9977ea51eaff8130 (commit)
       via  4ac4bb6ad5ead16be5ca6996a3e325c26ddf71da (commit)
       via  0dd6ae21da832f351a3722d2f8bac187fc3bdfef (commit)
       via  9bcbdca808b5f9fec6217d20bd4b48a56008c460 (commit)
       via  7503099f3e29739d34cb1224d54fba96404e6e61 (commit)
       via  4b94dd2de12dd0389615700b13b63260e162ccf0 (commit)
       via  1d3fa25f5802fe2250f32f335ad57897a62e0fe2 (commit)
       via  b4fcfd3b4d173129207f804f5eee4557c788d66b (commit)
       via  7942e96e435d1cf4d4dbf58c47bb28d9f628c9e6 (commit)
       via  6ebac3fbacebaebd9e2c9393da3b612342d953a9 (commit)
       via  2cc36e25db366d70a975702b61c7700ae934d4d0 (commit)
       via  a8be5506b626a57f84771c5ddfaefabf2d61c017 (commit)
       via  ba14f3792fe007bedd88b62e554c79258adc53d9 (commit)
       via  b121eeb9971ebfceffc38e6131fdc15ec4188599 (commit)
       via  728a79135f51a1c20719ebaf3c98446d9ee248db (commit)
       via  a7c0469f992721b30665ba92f4f2f74d29032a84 (commit)
       via  34b433203b5f56149c27a8dfea21a921392cb158 (commit)
       via  a3a5feccd26be653efbdf1408874b98962baaa50 (commit)
       via  f8d995870f957d5fd32fb21fb4afe76a754ddf31 (commit)
       via  28f1c60507ad4ca2252cebada30d2f63ec3b772f (commit)
       via  ec3b243d4308ee56c9e3c62470b10ed2a822eb51 (commit)
       via  2c52e2e8c9e8f733cc0772d1400b0f4d3eb7379c (commit)
       via  e189bfe660d335f3b7c61446c9b5d3b0f0701606 (commit)
       via  aab2c17756ee5bef0ea5783a460a0990450b3bd5 (commit)
       via  4d78db49e6eee097365e31f9b5b47e5391243979 (commit)
       via  152c92b261fd9e4655688bef746ca32352f56bc4 (commit)
       via  1e1247c89ca2ce10dbf2c3ed61fba942f9c536ca (commit)
       via  1728969e93010862fe0ef7985cabe03a4494a63e (commit)
       via  c3847462f86778e97222a72378a84182f92c644a (commit)
       via  453018bf4490421a995cd76b3d2a3f322359c6a5 (commit)
       via  b416fe873ef44b2a613c9266c6462a481926d986 (commit)
       via  03b039a518fa0f89a9900a44a8b874cc91061305 (commit)
       via  9494d9636612cd9bd22e38625fbc89147beafea7 (commit)
       via  7cb7b948ce62831a999f88054a6b2d39afbe926e (commit)
       via  cc7e96c25d59db0a5279da0a0ff36d61151f3021 (commit)
       via  c98763221af696a9e0c6686da7d65881bfd6bdd0 (commit)
       via  87c336f60eccc6506ff19369c29575f43fea02ea (commit)
       via  d47c3ff7d55122befac848fe64b7445789c78787 (commit)
       via  2aece2ba02457e83fd2a780a8ac596b6a90adf29 (commit)
       via  c1b465c94e26be629315bf28e3763dea9dea8336 (commit)
       via  2c232b8361a044d689d12161b7a645d238586f5e (commit)
       via  9216a6f33592c350ad50696d5571c82e47b71a5e (commit)
       via  cf81cf6081d1a8c15c477f903d15d7b88f31b686 (commit)
       via  c799a79d66d09c442d85467986c2e8873f09297c (commit)
       via  0efcde634d45f4cda03fd18c43ff449103559d7a (commit)
       via  a379284af268ed768674e7f452ca78dad2aaaf55 (commit)
       via  8a6200ba863f207d93467312431d107f50f0e2ab (commit)
       via  9c7272f0833da2bfdf513d41bc41cdbc5f4fc5f7 (commit)
       via  f79ec2066662b2c32c9e62ee372c9c230d206b89 (commit)
       via  edb5fb00a6865884f99be01a9e97f44243a9deb9 (commit)
       via  551196862e4e9dfda510f59c53b0a3ff3153e4ed (commit)
       via  6a06fbb7b73fe55d6b9057f8154652e1ae8f883c (commit)
       via  c6386875ba57a806c896ba097afef525671de4a0 (commit)
       via  ddaaf0fb8605fced72e84410fc7ac834e529eb53 (commit)
       via  1a01e7c6b0eaed1bfe70d48692e1103c6e9ee2d9 (commit)
       via  36bc18a810a13f884d826842abbdd6d744ff6481 (commit)
       via  a8ebe3d5f17f12490012a1a3c69d17b6e9362805 (commit)
       via  50cfacb78f3998e5ecc653090e4f1a11dfb3d8dd (commit)
       via  c5a22423d09e3bf670fb0de0a98e6feb6176eb3f (commit)
       via  6bda016bec556855c6d4e191f360f921faa40ded (commit)
       via  21122961ecea30b3be7c788e09179d297e3233f0 (commit)
       via  c362e6217b556ce932250c340218f1ca16391070 (commit)
       via  7978d7c385b072a344d969f71cdc68e1a1171ec2 (commit)
       via  896c0c1edee117ea333c66b1adac8c6f4def3f2b (commit)
       via  b9da89d161e3903faa335f444af2bf05e40f926e (commit)
       via  c793cac124dd2eb34042f2e43abb099a26e34cb0 (commit)
       via  5ef2d51bd6ae49b28282835156d1d6622beac4a6 (commit)
       via  f955cccff399ccc4e16b8e90f140f2e9a785a07b (commit)
       via  d40e34db392f834793fb9af487121776b4cec6e7 (commit)
       via  4b5900d8b81522bd6ebe4d94d45dfb54d1982c62 (commit)
       via  b9d62f893fcc0b4c36aad0552810dcde304979d0 (commit)
       via  d5bb792ca130aac17e080325e4005ef417ceabd5 (commit)
       via  118aa6cf395aec093fe12d7fb2d05441791a93fa (commit)
       via  316a1245fe31e327223ca66797b789eaf9544c2c (commit)
       via  4aef764338ed40a7fa9573b0e6e2ade817acd688 (commit)
       via  bb4287c562027eafe63ddac9fd4c7e1730335795 (commit)
       via  e299b3551edbe81be2062fcaef9319d681d0d15b (commit)
       via  a08f8d99b87b0b0f681a27eba8e25e2fb0abd034 (commit)
       via  5f4d10850850cd95af5e95a16848c8c07a273d88 (commit)
       via  7b5d48229b7faa16f69e87fb269f17db0291d89f (commit)
       via  8b1e5da10ab58d2aa5eb84bf27de511294f061ef (commit)
       via  55e22ca83ae50d6fe422cd0542f2a1a5934b2dd2 (commit)
       via  f9f791a1b147c404a489485dba5eca49f8dbcbb9 (commit)
       via  14ea2c1b230a62f312346fb16716b3dd4850815b (commit)
       via  77f5e65ecfb669ea1d2fd74b74fbbf0d0c20daf8 (commit)
       via  a87ded7b88a85b40f2aec5e5b6c972dd7b74b3a9 (commit)
       via  86fa6981e7487e2c2df4337aa75ed2d93c32eaf2 (commit)
       via  f03265d9cda1f5f8df238efa9b7a20330e5711f1 (commit)
       via  c1fe188b154a4e81372629316be3d3a7820efdac (commit)
       via  4b8b687e885287ed85dafffcebbb8d03d7ea2c38 (commit)
       via  c7341d5a6b334464d84672229d9912d99347db34 (commit)
       via  1de05205afe1ecd1f1fa2befc6843d0dc70adefc (commit)
       via  1437d0631b209500db8371c425e896deb66ec9f9 (commit)
       via  c65d6b55b3a592906c470c566f57ad8ceacc1605 (commit)
       via  15c22686d0e33d87262bc9075296eeddd7d955f7 (commit)
       via  1fc87489b40b3100badf184a7c266387bae47def (commit)
       via  2e86a2830cfef688a27e17353b84f59f8147ab23 (commit)
       via  25dcbff6ef0088e080d92b3cbc346ae0b5071d9d (commit)
       via  dc9366eb0592157e2125967690f0aed61b17bcf7 (commit)
       via  6e5d74e74756fafe59e8198c4cc462cf7c57e12c (commit)
       via  5cf70512f835032c413f2554af07814e1dc05cd6 (commit)
       via  9753a2f6d74dc92d2ad94993a5479ee0edbc6887 (commit)
       via  1a4dd9ddae4ce51724b4e08c6304e7c64f8f916f (commit)
       via  7cbbff33a502dcba0264a1935840345274b8aee2 (commit)
       via  50dbe6e1bc8589db8e900299ef03ce9ead4ef3d7 (commit)
       via  1672e0d98d88d11b5c7d5793bd2cf29cbb56696f (commit)
       via  f7bb4e3a0d3738e8cce3dcded6ef12c9949cb85f (commit)
       via  e45ced6c5e06b0092ac9f5497aa580cfad0c953c (commit)
       via  5f6fd321915fae0194e01322d22cad4e451e8d20 (commit)
       via  44959fa81858df7d06fd83b0595b66709e344074 (commit)
       via  f8c4e718c26a0181821398e09d96113c0ff49c15 (commit)
       via  6dbb839a78d343b0a7435ec7db46ee359b1f62ec (commit)
       via  4a612d6f67d605f480ce7eec7fd9ca1cd1087b35 (commit)
       via  ea86f5344298e24801c262d9b52afcc9cb692959 (commit)
       via  2b841ec2066db4870beaa5298feb02f5e20faf7b (commit)
       via  d933941d6c5ce5b2dcaaa869919b6f3de06b725d (commit)
       via  b1b07054c08eea65ba8d1a9f771796d686f337e5 (commit)
       via  bb98f85480da563f4f6438abdabb68a69bc746b8 (commit)
       via  603555e563725616246912711419637add54c961 (commit)
       via  1cccfb31f5ba0dbc1cd3c679daf2f5b40252c6e0 (commit)
       via  d274ecf4ddf76768af57e27f654b9ce6784b391c (commit)
       via  79a964dca572024447adf92e50959dc88aa4f27a (commit)
       via  73f07bffaf8d423295a38dde51dfe6ec7b273280 (commit)
       via  ea0de82ec2d7f109ba179d8d55130805e680f02d (commit)
       via  9e1a8675d49a5bbb881f664f8b7a1081432c994d (commit)
       via  1f5345a614203185f7fdacbf4b000d2676de26dd (commit)
       via  62e755d208d7359e722a248df3e74278779272c8 (commit)
       via  49fced1206db40c71208c201165d65f92c69cebe (commit)
       via  2e0ce1c84d328bde4dca24b7cfc8b9c033ed271c (commit)
       via  0792e0e1199e76dce19a0f9fbdb29c75b8be8a9b (commit)
       via  921ea8830c62bf4a60af1783bdd443fd43286359 (commit)
       via  8ecbe595e69a84a0e3053884832d63af37113680 (commit)
       via  df97be551faa262732128493c8ac159ae4b7f6d3 (commit)
       via  7d45f3df96ca108f6d7d0c5e4279e22b820145fa (commit)
       via  611a3ca929d6529f4e7576b0e2ffb588839c1b21 (commit)
       via  d20928fac9ab65449db910bd99a0f48ad29fb22b (commit)
       via  b565cf21c80945d5e9baa6871653aae5add2d493 (commit)
       via  05ed43104ef2c3f75779438111e2913dbd4555a6 (commit)
       via  f98450c6eee6878ebf5b052d231758026d250427 (commit)
       via  c871dadee1817d4b9f3ba6ee792730c9eccf88e0 (commit)
       via  b451e98a909e1a6afa71c4a4655adc4cfeea5249 (commit)
       via  d4620bee57be53f7a6b14c01b2ea22d22a61bef0 (commit)
       via  9875b36538d35f2292ddc3bb5e7c60e1582aa087 (commit)
       via  673cff9b8b3105f74ce97c202a0727f9e83e56e6 (commit)
       via  199add01b6704e1cd8a48945bd775fbe8524fa75 (commit)
       via  ecd78df2707734ccb2d0f6e5426321fa399befaa (commit)
       via  134e805d3e18cf700a5046912b8dca9301fe6f2e (commit)
       via  01cca2f95e4a448cbfb7dc940cc38fe89300b15f (commit)
       via  9ef920e933bf2ea228c909cf81636e6d9577e51e (commit)
       via  a7e8b06b8901309632fad842ffd7d90a81447c80 (commit)
       via  65b48a81404cb058c75c562f7dfdeb74f07eba72 (commit)
       via  2979a883540d9ce6e41dd0509ea2a345de9cf050 (commit)
       via  3de43e7beb9839fa268a73be77de73a7b7cd97db (commit)
       via  15c7c1d8a535000e94ed36f4259d0ede32001408 (commit)
       via  4ef97a1b459849ad190244c36b36d45bdd078030 (commit)
       via  7ba71655a425ac44721f97cc0ad7922ca15bce43 (commit)
       via  afbf7e8e3aa24152ad58e430c8d37d82e5751f1c (commit)
       via  0e39210161e7c547ab53afb86997303e24a42c0c (commit)
       via  279a558a4d0fad268738ec916628c9c12cfcaf5b (commit)
       via  9dfd0db952fc07dccebbc244df2a20a6eda14b2c (commit)
       via  d538e36decd5628c084dbd5a7de13719b8b92121 (commit)
       via  8362122330c97c8c4a15da4e7ba8aa29f0c11157 (commit)
       via  2123df0ebfc7ade46784ef412226490d59f8ce05 (commit)
       via  fbf25dfdfdba2c057e7ccdae4e0d6a2139c66dd5 (commit)
      from  bf7bf0b1083e2748d04205c67e245614e0b42929 (commit)

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

- Log -----------------------------------------------------------------
commit 025edc48851da0e21aea57628f5fb8cd305a281f
Merge: bf7bf0b 24e5b4e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 22 22:51:17 2017 +0100

    Merge remote-tracking branch 'gdb/master' into indexcxx

commit 24e5b4e682a92788ffa676e963b7f1dec2101333
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Wed Mar 22 10:19:14 2017 -0700

    gas: xtensa: make trampolines relaxation work with jumps in slots other than 0
    
    add_jump_to_trampoline assumes that jump instruction is in slot 0,
    when it's in other slot that results in fixup that references NULL symbol,
    which results in segfault later in xtensa_make_cached_fixup.
    Search for the non-NULL symbol in the tc_frag_data.slot_symbols and check
    that there's exactly one such slot.
    
    xtensa_relax_frag for RELAX_TRAMPOLINE reassigns fixup from the original
    instruction with jump to generated jump in the trampoline frag, but does not
    fix its fx_r_type or fx_size. That results in "undecodable fix" or
    "fixup not contained within frag" error messages during relaxation.
    Fix both these fields.
    
    gas/
    2017-03-22  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* config/tc-xtensa.c (xtensa_relax_frag): Change fx_size of the
    	reassigned fixup to size of jump instruction (3) and fx_r_type
    	to BFD_RELOC_XTENSA_SLOT0_OP, as there's only one slot.
    	(add_jump_to_trampoline): Search
    	origfrag->tc_frag_data.slot_symbols for the slot with non-NULL
    	symbol and use that slot instead of slot 0.

commit b67aeab02c05fdd654f132a550dd4f196cb1f6d3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Mar 22 10:35:07 2017 -0400

    Remove lwp -> pid conversion in linux_nat_xfer_partial
    
    The linux_nat_xfer_partial does a conversion of inferior_ptid: if it's
    an LWP (ptid::lwp != 0), it builds a new ptid with the lwp as
    the pid and assigns that temporarily to inferior_ptid.  For example, if
    inferior_ptid is:
    
      { .pid = 1234, .lwp = 1235 }
    
    it will assign this to inferior_ptid for the duration of the call:
    
      { .pid = 1235, .lwp = 0 }
    
    Instead of doing this, this patch teaches the inf-ptrace implementation
    of xfer_partial to deal with ptids representing lwps by using
    get_ptrace_pid.
    
    Also, in linux_proc_xfer_spu and linux_proc_xfer_partial, we use ptid_get_lwp
    instead of ptid_get_pid.  While not strictly necessary, since the content of
    /proc/<pid> and /proc/<lwp> should be the same, it's a bit safer, because:
    
    - some files under /proc/<pid>/ may not work if the <pid> thread is
      running, just like ptrace requires a stopped thread.  The current
      thread's lwp id is more likely to be in the necessary state (stopped).
    
    - if the leader (<pid>) had exited and is thus now zombie, then several
      files under "/proc/<pid>" won't work, while they will if you use
      "/proc/<lwp>".
    
    The testsuite found no regression on native amd64 linux.
    
    gdb/ChangeLog:
    
    	* inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
    	using get_ptrace_pid.
    	* linux-nat.c (linux_nat_xfer_partial): Don't set/restore
    	inferior_ptid.
    	(linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
    	inferior_ptid instead of pid.

commit 11997a83a040245406b6e2e9978c6720f17e80c4
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 22 14:01:03 2017 +0000

    Sync top level config files with master versions in the FSF config project.
    
    	* config.sub: Sync with master version in config project.
    	* config.guess: Likewise.

commit 79778b30dc5881a8d88b55744cab53d95fa6fda2
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Mar 22 12:40:24 2017 +0000

    Remove @code for python
    
    There's no reason to use @code for Python the name of a programming
    language.
    
    gdb/doc:
    
    2017-03-22  Yao Qi  <yao.qi@linaro.org>
    
    	* python.texi (Inferiors In Python): Remove @code from Python.

commit ffdbe8642e74527795b695988a176f0920d58f96
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Mar 22 12:35:31 2017 +0000

    Wrap locally used classes in anonymous namespace
    
    Both aarch64-tdep.c and arm-tdep.c defines a class instruction_reader, which
    violates ODR, but linker doesn't an emit error.  I fix this issue by wrapping
    them by anonymous namespace, but I think it is better to apply this for all
    locally used classes.
    
    If it is a good idea to put locally used class into anonymous namespace, we
    should document this rule into GDB coding convention, or even GCC coding
    convention.  Note that anonymous namespace has been used in GCC but GCC
    coding convention doesn't mention the it.
    
    gdb:
    
    2017-03-22  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c: Wrap locally used classes in anonymous
    	namespace.
    	* arm-tdep.c: Likewise.
    	* linespec.c: Likewise.
    	* ui-out.c: Likewise.

commit 9d736fbf01d20bc03804fa0cb49d99fdf6628fab
Author: Jonah Graham <jonah@kichwacoders.com>
Date:   Wed Mar 22 11:19:44 2017 +0000

    Import sys in gdb/python/lib/gdb/printer/bound_registers.py
    
    Pick up missing bits from the patch merged in.
    
    2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
    
    	PR gdb/19637
    	* python/lib/gdb/printer/bound_registers.py: Import sys.

commit 3e6c75670009a5e9eaa72eb456b296451b3c46fe
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 22 00:00:28 2017 +0000

    Automatic date update in version.in

commit 4c8798c9923de48c71430ce262d83042179232c6
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Tue Mar 21 13:25:09 2017 -0700

    Disable shared library tests for nios2-*-elf.
    
    The Nios II processor documentation defines relocations for PIC and
    shared libraries as part of the GNU/Linux ABI only; GCC rejects -fpic
    on bare-metal.
    
    2017-03-21  Sandra Loosemore  <sandra@codesourcery.com>
    
    	ld/
    	* testsuite/lib/ld-lib.exp (check_shared_lib_support): Return
    	false for nios2-*-elf.

commit 3de88e9afbf0d8d10a8c4ce1415c219120e0a0c1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Mar 21 11:35:54 2017 -0400

    windows: Use ptid from regcache in register fetch/store
    
    Use the ptid from the regcache so we don't depend on the current value
    of the inferior_ptid global.
    
    Also, change how the current thread is passed to sub-functions.  The
    windows_fetch_inferior_registers function sets current_thread then calls
    do_windows_fetch_inferior_registers, which reads current_thread.  This
    very much looks like passing a parameter through a global variable.  I
    think it would be more straightforward to pass the thread as a
    parameter.
    
    gdb/ChangeLog:
    
    	* windows-nat.c (do_windows_fetch_inferior_registers): Add
    	windows_thread_info parameter and use it instead of
    	current_thread.
    	(windows_fetch_inferior_registers): Don't set current_thread,
    	pass the thread to do_windows_fetch_inferior_registers.  Use
    	ptid from regcache instead of inferior_ptid.
    	(do_windows_store_inferior_registers): Add windows_thread_info
    	parameter and use it instead of current_thread.
    	(windows_store_inferior_registers): Don't set current_thread,
    	pass the thread to do_windows_store_inferior_registers.  Use
    	ptid from regcache instead of inferior_ptid.

commit 0e7b8f61069f1219ca53a9dd927ba55c9a7eefd4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Mar 21 11:35:42 2017 -0400

    Remove remaining reference to struct serial::current_timeout
    
    I get this when trying to build for --host=x68_64-w64-mingw32:
    
    /home/emaisin/src/binutils-gdb/gdb/ser-mingw.c: In function 'void ser_windows_raw(serial*)':
    /home/emaisin/src/binutils-gdb/gdb/ser-mingw.c:166:8: error: 'struct serial' has no member named 'current_timeout'
       scb->current_timeout = 0;
            ^~~~~~~~~~~~~~~
    
    It is just a leftover from
    
      9bcbdca808b5f9fec6217d20bd4b48a56008c460
      PR remote/21188: Fix remote serial timeout
    
    gdb/ChangeLog:
    
    	* ser-mingw.c (ser_windows_raw): Remove reference to
    	struct serial::current_timeout.

commit 2253c8f089193b90141e08436417bc8ea1dd6015
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Tue Mar 21 14:21:02 2017 +0100

    S/390: Remove vx2 facility flag
    
    This patch removes the vx2 facility flag.  It will not be used by GCC
    and was a misnomer anyway.
    
    Committed to mainline and 2.28 branch.
    
    include/ChangeLog:
    
    2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h (S390_INSTR_FLAG_VX2): Remove.
    	(S390_INSTR_FLAG_FACILITY_MASK): Adjust value.
    
    gas/ChangeLog:
    
    2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (s390_parse_cpu): Remove S390_INSTR_FLAG_VX2
    	from cpu_table.  Remove vx2, and novx2 from cpu_flags.
    
    opcodes/ChangeLog:
    
    2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-mkopc.c (main): Remove vx2 check.
    	* s390-opc.txt: Remove vx2 instruction flags.

commit 4a14e306468af630a27302d68b8d4c59733141b4
Author: Andi Kleen <ak@linux.intel.com>
Date:   Tue Mar 21 13:05:19 2017 +0000

    Add --inlines option to objdump to include scope backtrace of inlined functions when generating source line number information.
    
    	* objdump.c (unwind_inlines): Add.
    	(option_values): Add OPTION_INLINES.
    	(show_line): Unwind inlines if requested.
    	(main): Parse OPTION_INLINES.
    	(usage): Document --inlines.
    	* doc/binutils.texi: Document --inlines.
    	* NEWS: Likewise.

commit 645d3342ba2b920722991255513030bb903b794e
Author: Rinat Zelig <rinat@mellanox.com>
Date:   Tue Mar 21 11:37:33 2017 +0000

    arc/nps400: Add cp16/cp32 instructions to opcodes library
    
    Instructions for loading or storing 16/32B data from one address type to
    another.
    
    gas/ChangeLog
    
    	* testsuite/gas/arc/nps400-11.s: New file.
    	* testsuite/gas/arc/nps400-11.d: New file.
    
    include/ChangeLog
    
    	* opcode/arc.h (insn_class_t): Add DMA class.
    
    opcodes/ChangeLog
    
    	* arc-nps400-tbl.h: Add cp32/cp16 instructions format.
    	* arc-opc.c: Add F_NPS_NA, NPS_DMA_IMM_ENTRY, NPS_DMA_IMM_OFFSET.
    	(insert_nps_imm_offset): New function.
    	(extract_nps_imm_offset): New function.
    	(insert_nps_imm_entry): New function.
    	(extract_nps_imm_entry): New function.

commit 75d7d2986cf896fac8f0690db68ebc552e0b0339
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Mar 21 11:48:57 2017 +0000

    Update support for GNU BUILD notes so that version notes can contain extra information, and stack protection notes can contain numeric values.
    
    	* readelf.c (print_gnu_build_attribute_name): Allow stack
    	protection notes to contain numeric values.  Use a colon rather
    	than a space to separate a string name from its values.  Decode
    	the numeric value of a stack protection note.
    	* objcopy.c (merge_gnu_build_notes): Allow version notes to
    	contain extra text after the protocol version number.

commit 5badf10a18af78c57dd4ce8e6a6ead7f46e1a878
Author: Ivo Raisr <ivo.raisr@oracle.com>
Date:   Tue Mar 21 04:39:33 2017 -0700

    Decode properly flags of %ccr register on sparc64.
    
    While at it, decode also properly one-bit flags for %fsr (accrued and
    current exception flags were mixed up).
    
    ChangeLog entry:
    2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
    
        	PR tdep/20928
        	* gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
        	* gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
        	(sparc64_fsr_type): Fix %fsr decoding.
    
    ChangeLog entry for testsuite:
    2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
    
        	PR tdep/20928
        	* gdb.arch/sparc64-regs.exp: New file.
        	* gdb.arch/sparc64-regs.S: Likewise.

commit 21701718895d186285e6daf04cc7342c6c88fb03
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Mar 17 11:12:05 2017 +0100

    ld: check overflow only for allocated sections.
    
    	* ldlang.c (lang_check_section_addresses): Check only for
    	allocated sections.

commit cee59b3feac9a8f6300a5b788e3db4e15af2a894
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue Mar 21 08:19:59 2017 +0100

    Fix break on Python 2
    
    This changes the return type of "gdb.BtraceInstruction.data ()" from
    "memoryview" to "buffer" on Python 2.7 and below, similar to what
    "gdb.Inferior.read_memory ()" does.

commit 09220eae9df07c40d206a35e6caaecba92ab8f46
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 21 00:00:24 2017 +0000

    Automatic date update in version.in

commit 639a9038c9f4fc50b6a57c18fe84db4559367a96
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 20 18:23:47 2017 -0400

    spu: Use ptid from regcache instead of inferior_ptid
    
    The implementations of to_fetch_registers/to_store_registers in the spu
    code use some functions that rely on inferior_ptid.  It's simpler for
    now to set/restore inferior_ptid.
    
    gdb/ChangeLog:
    
    	* spu-linux-nat.c (spu_fetch_inferior_registers,
    	spu_store_inferior_registers): Use ptid from regcache, set and
    	restore inferior_ptid.
    	* spu-multiarch.c (spu_fetch_registers, spu_store_registers):
    	Likewise.

commit bcc0c096d5b0f77482cdb3154acd2515a0ca832f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 20 17:37:36 2017 -0400

    Use ptid from regcache in almost all remaining nat files
    
    This patch contains almost all of the remaining changes needed to make
    to_fetch_registers/to_store_registers/to_prepare_to_store independent of
    inferior_ptid.  It contains only some "trivial" changes, the more
    complicated ones are in separate patches.
    
    gdb/ChangeLog:
    
    	* i386-linux-nat.c (fetch_register, store_register,
    	i386_linux_fetch_inferior_registers,
    	i386_linux_store_inferior_registers): Use ptid from regcache.
    	* ia64-linux-nat.c (ia64_linux_fetch_register,
    	ia64_linux_store_register): Likewise.
    	* inf-ptrace.c (inf_ptrace_fetch_register,
    	inf_ptrace_store_register): Likewise.
    	* m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
    	m32r_linux_store_inferior_registers): Likewise.
    	* m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
    	m68kbsd_store_inferior_registers): Likewise.
    	* m68k-linux-nat.c (fetch_register, store_register,
    	m68k_linux_fetch_inferior_registers,
    	m68k_linux_store_inferior_registers): Likewise.
    	* m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
    	m88kbsd_store_inferior_registers): Likewise.
    	* mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
    	mips_fbsd_store_inferior_registers): Likewise.
    	* mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
    	mips64_linux_regsets_store_registers): Likewise.
    	* mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
    	mipsnbsd_store_inferior_registers): Likewise.
    	* mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
    	mips64obsd_store_inferior_registers): Likewise.
    	* nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
    	Likewise.
    	* ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
    	ppcfbsd_store_inferior_registers): Likewise.
    	* ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
    	ppc_linux_store_inferior_registers): Likewise.
    	* ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
    	ppcnbsd_store_inferior_registers): Likewise.
    	* ppc-obsd-nat.c (ppcobsd_fetch_registers,
    	ppcobsd_store_registers): Likewise.
    	* procfs.c (procfs_fetch_registers, procfs_store_registers):
    	Likewise.
    	* ravenscar-thread.c (ravenscar_fetch_registers,
    	ravenscar_store_registers, ravenscar_prepare_to_store):
    	Likewise.
    	* record-btrace.c (record_btrace_fetch_registers,
    	record_btrace_store_registers, record_btrace_prepare_to_store):
    	Likewise.
    	* remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
    	Lookup inferior using ptid from regcache, instead of
    	current_inferior.
    	* remote.c (remote_fetch_registers, remote_store_registers): Use
    	ptid from regcache.
    	* rs6000-nat.c (fetch_register, store_register): Likewise.
    	* s390-linux-nat.c (s390_linux_fetch_inferior_registers,
    	s390_linux_store_inferior_registers): Likewise.
    	* sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
    	shnbsd_store_inferior_registers): Likewise.
    	* sol-thread.c (sol_thread_fetch_registers,
    	sol_thread_store_registers): Likewise.
    	* sparc-nat.c (sparc_fetch_inferior_registers,
    	sparc_store_inferior_registers): Likewise.
    	* tilegx-linux-nat.c (fetch_inferior_registers,
    	store_inferior_registers): Likewise.
    	* vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
    	vaxbsd_store_inferior_registers): Likewise.
    	* xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
    	store_xtregs): Likewise.

commit c0f55cc689a57deb342b988b8f0ecb908f0a76e1
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:59 2017 -0700

    Add rvalue reference tests and docs
    
    This patch adds tests for the initial rvalue reference support patchset.  All
    of the new tests are practically mirrored regular references tests and, except
    for the demangler ones, are introduced in new files, which are set to be
    compiled with -std=gnu++11.  Tested are printing of rvalue reference types and
    values, rvalue reference parameters in function overloading, demangling of
    function names containing rvalue reference parameters, casts to rvalue
    reference types, application of the sizeof operator to rvalue reference types
    and values, and support for rvalue references within the gdb python module.
    
    gdb/ChnageLog
    
    	PR gdb/14441
    	* NEWS: Mention support for rvalue references in GDB and python.
    	* doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
    	supports both lvalue and rvalue references.
    
    gdb/testsuite/ChangeLog
    
    	PR gdb/14441
    	* gdb.cp/demangle.exp: Add rvalue reference tests.
    	* gdb.cp/rvalue-ref-casts.cc: New file.
    	* gdb.cp/rvalue-ref-casts.exp: New file.
    	* gdb.cp/rvalue-ref-overload.cc: New file.
    	* gdb.cp/rvalue-ref-overload.exp: New file.
    	* gdb.cp/rvalue-ref-params.cc: New file.
    	* gdb.cp/rvalue-ref-params.exp: New file.
    	* gdb.cp/rvalue-ref-sizeof.cc: New file.
    	* gdb.cp/rvalue-ref-sizeof.exp: New file.
    	* gdb.cp/rvalue-ref-types.cc: New file.
    	* gdb.cp/rvalue-ref-types.exp: New file.
    	* gdb.python/py-rvalue-ref-value-cc.cc: New file.
    	* gdb.python/py-rvalue-ref-value-cc.exp: New file.

commit 15c0a2a9305648095f5586a02b5a5017e1643e99
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:57 2017 -0700

    Add rvalue references to overloading resolution
    
    This patch introduces changes to rank_one_type() dealing with ranking an rvalue
    reference type when selecting a best viable function from a set of candidate
    functions. The 4 new added rules for rvalue references are:
    
    1) An rvalue argument cannot be bound to a non-const lvalue reference parameter
    and an lvalue argument cannot be bound to an rvalue reference parameter.
    [C++11 13.3.3.1.4p3]
    
    2) If a conversion to one type of reference is an identity conversion, and a
    conversion to the second type of reference is a non-identity conversion, choose
    the first type. [C++11 13.3.3.2p3]
    
    3) An rvalue should be first tried to bind to an rvalue reference, and then to
    an lvalue reference. [C++11 13.3.3.2p3]
    
    4) An lvalue reference to a function gets higher priority than an rvalue
    reference to a function. [C++11 13.3.3.2p3]
    
    This patch is not exactly correct.  See c++/15372 for tracking overload
    resolution bugs.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* gdbtypes.c (rank_one_type): Implement overloading
    	resolution rules regarding rvalue references.

commit aa0061181ab00081e9907447561e589d6edee9f2
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:54 2017 -0700

    Convert lvalue reference type check to general reference type check
    
    In almost all contexts (except for overload resolution rules and expression
    semantics), lvalue and rvalue references are equivalent. That means that in all
    but these cases we can replace a TYPE_CODE_REF check to a TYPE_IS_REFERENCE
    check and, for switch statements, add a case label for a rvalue reference type
    next to a case label for an lvalue reference type. This patch does exactly
    that.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* aarch64-tdep.c (aarch64_type_align)
    	(aarch64_extract_return_value, aarch64_store_return_value): Change
    	lvalue reference type checks to general reference type checks.
    	* amd64-tdep.c (amd64_classify): Likewise.
    	* amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
    	Likewise.
    	* arm-tdep.c (arm_type_align, arm_extract_return_value)
    	(arm_store_return_value): Likewise.
    	* ax-gdb.c (gen_fetch, gen_cast): Likewise.
    	* c-typeprint.c (c_print_type): Likewise.
    	* c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
    	(cplus_number_of_children, cplus_describe_child): Likewise.
    	* compile/compile-c-symbols.c (generate_vla_size): Likewise.
    	* completer.c (expression_completer): Likewise.
    	* cp-support.c (make_symbol_overload_list_adl_namespace):
    	Likewise.
    	* darwin-nat-info.c (info_mach_region_command): Likewise.
    	* dwarf2loc.c (entry_data_value_coerce_ref)
    	(value_of_dwarf_reg_entry): Likewise.
    	* eval.c (ptrmath_type_p, evaluate_subexp_standard)
    	(evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
    	Likewise.
    	* findvar.c (extract_typed_address, store_typed_address):
    	Likewise.
    	* gdbtypes.c (rank_one_type): Likewise.
    	* hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
    	* infcall.c (value_arg_coerce): Likewise.
    	* language.c (pointer_type): Likewise.
    	* m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
    	Likewise.
    	* m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
    	* mn10300-tdep.c (mn10300_type_align): Likewise.
    	* msp430-tdep.c (msp430_push_dummy_call): Likewise.
    	* ppc-sysv-tdep.c (do_ppc_sysv_return_value)
    	(ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
    	Likewise.
    	* printcmd.c (print_formatted, x_command): Likewise.
    	* python/py-type.c (typy_get_composite, typy_template_argument):
    	Likewise.
    	* python/py-value.c (valpy_referenced_value)
    	(valpy_get_dynamic_type, value_has_field): Likewise.
    	* s390-linux-tdep.c (s390_function_arg_integer): Likewise.
    	* sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
    	* sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
    	* spu-tdep.c (spu_scalar_value_p): Likewise.
    	* symtab.c (lookup_symbol_aux): Likewise.
    	* typeprint.c (whatis_exp, print_type_scalar): Likewise.
    	* valarith.c (binop_types_user_defined_p, unop_user_defined_p):
    	Likewise.
    	* valops.c (value_cast_pointers, value_cast)
    	(value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
    	(value_struct_elt, value_struct_elt_bitpos)
    	(value_find_oload_method_list, find_overload_match)
    	(value_rtti_indirect_type): Likewise.
    	* valprint.c (val_print_scalar_type_p, generic_val_print):
    	Likewise.
    	* value.c (value_actual_type, value_as_address, unpack_long)
    	(pack_long, pack_unsigned_long, coerce_ref_if_computed)
    	(coerce_ref): Likewise.
    	* varobj.c (varobj_get_value_type): Likewise.

commit 3fcf899da106890f3948093c2424f9dff67d6fe0
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:52 2017 -0700

    Support rvalue references in the gdb python module (includes doc/)
    
    This patch adds the ability to inspect rvalue reference types and values using
    the gdb python module. This is achieved by creating two wrappers for
    valpy_reference_value(), using the ReferenceExplorer class to handle the
    objects of rvalue reference types and placing necessary checks for a
    TYPE_CODE_RVALUE_REF type code next to the checks for a TYPE_CODE_REF type
    code.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
    	table of constants.
    	* python/lib/gdb/command/explore.py: Support exploring values
    	of rvalue reference types.
    	* python/lib/gdb/types.py: Implement get_basic_type() for
    	rvalue reference types.
    	* python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
    	constant.
    	* python/py-value.c (valpy_getitem): Add an rvalue reference
    	check.
    	(valpy_reference_value): Add new parameter "refcode".
    	(valpy_lvalue_reference_value, valpy_rvalue_reference_value):
    	New wrappers for valpy_reference_value().
    	* python/py-xmethods.c (gdbpy_get_xmethod_result_type)
    	(gdbpy_invoke_xmethod): Likewise.

commit 4297a3f0029974c62628d69b6f3f9ef25f01ea7d
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:50 2017 -0700

    Support DW_TAG_rvalue_reference type
    
    Make gdb DWARF reader understand the DW_TAG_rvalue_reference type tag. Handling
    of this tag is done in the existing read_tag_reference_type() function, to
    which we add a new parameter representing the kind of reference type
    (lvalue vs rvalue).
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* dwarf2read.c (process_die, read_type_die_1): Handle the
    	DW_TAG_rvalue_reference_type DIE.
    	(read_tag_reference_type): Add new parameter "refcode".

commit e1cb3213476485a01aa11ecedfa186e386cb4bdb
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:48 2017 -0700

    Implement printing of rvalue reference types and values
    
    This patch provides the ability to print out names of rvalue reference types
    and values of those types. This is done in full similarity to regular
    references, and as with them, we don't print out "const" suffix because all
    rvalue references are const.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
    	(c_type_print_modifier, c_type_print_varspec_suffix)
    	(c_type_print_base): Support printing rvalue reference types.
    	* c-valprint.c (c_val_print, c_value_print): Support printing
    	rvalue reference values.

commit e4347c89f3a14b480fc88581d1363835f7b99b68
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:46 2017 -0700

    Implement demangling for rvalue reference type names
    
    This patch fixes demangling of names containing rvalue reference typenames by
    handling DEMANGLE_COMPONENT_RVALUE_REFERENCE demangle component.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* cp-name-parser.y (ptr_operator): Handle the '&&' token in
    	typename.
    	* cp-support.c (replace_typedefs): Handle
    	DEMANGLE_COMPONENT_RVALUE_REFERENCE.
    	* python/py-type.c (typy_lookup_type): Likewise.

commit 53cc15f5fe1f5e2358994d4f60f1c2aa9115004d
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:43 2017 -0700

    Support rvalue reference type in parser
    
    This patch implements correct parsing of C++11 rvalue reference typenames.
    This is done in full similarity to the handling of regular references by adding
    a '&&' token handling in c-exp.y, defining an rvalue reference type piece, and
    implementing a follow type derivation in follow_types().
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* c-exp.y (ptr_operator): Handle the '&&' token in the typename.
    	* parse.c (insert_type): Change assert statement.
    	(follow_types): Handle rvalue reference types.
    	* parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
    	constant.

commit a65cfae5f8b268158c23a862e7a996d15bbcef0e
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:41 2017 -0700

    Add ability to return rvalue reference values from value_ref
    
    Parameterize value_ref() by the kind of reference type the value of which
    is requested. Change all callers to use the new API.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* ada-lang.c (ada_evaluate_subexp): Adhere to the new
    	value_ref() interface.
    	* c-valprint.c (c_value_print): Likewise.
    	* infcall.c (value_arg_coerce): Likewise.
    	* python/py-value.c (valpy_reference_value): Likewise.
    	* valops.c (value_cast, value_reinterpret_cast)
    	(value_dynamic_cast, typecmp): Likewise.
    	(value_ref): Parameterize by kind of return value reference type.
    	* value.h (value_ref): Add new parameter "refcode".

commit 3b22433085e4cfee83f5c52f3baa8fb9bc67f8dd
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:39 2017 -0700

    Change {lookup,make}_reference_type API
    
    Parameterize lookup_reference_type() and make_reference_type() by the kind of
    reference type we want to look up. Create two wrapper functions
    lookup_{lvalue,rvalue}_reference_type() for lookup_reference_type() to simplify
    the API. Change all callers to use the new API.
    
    gdb/Changelog
    
    	PR gdb/14441
    	* dwarf2read.c (read_tag_reference_type): Use
    	lookup_lvalue_reference_type() instead of lookup_reference_type().
    	* eval.c (evaluate_subexp_standard): Likewise.
    	* f-exp.y: Likewise.
    	* gdbtypes.c (make_reference_type, lookup_reference_type):
    	Generalize with rvalue reference types.
    	(lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
    	convenience wrappers for lookup_reference_type().
    	* gdbtypes.h (make_reference_type, lookup_reference_type): Add a
    	reference kind parameter.
    	(lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
    	wrappers for lookup_reference_type().
    	* guile/scm-type.c (gdbscm_type_reference): Use
    	lookup_lvalue_reference_type() instead of lookup_reference_type().
    	* guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
    	* parse.c (follow_types): Likewise.
    	* python/py-type.c (typy_reference, typy_lookup_type): Likewise.
    	* python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
    	Likewise.
    	* python/py-xmethods.c (gdbpy_get_xmethod_result_type)
    	(gdbpy_invoke_xmethod): Likewise.
    	* stabsread.c: Provide extra argument to make_reference_type()
    	call.
    	* valops.c (value_ref, value_rtti_indirect_type): Use
    	lookup_lvalue_reference_type() instead of lookup_reference_type().

commit f9aeb8d499fa12610610dc19618230304c698f6c
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:30 2017 -0700

    Add definitions for rvalue reference types
    
    This patch introduces preliminal definitions regarding C++11 rvalue references
    to the gdb type system. In addition to an enum type_code entry, a field in
    struct type and an accessor macro for that which are created similarly to the
    lvalue references counterparts, we also introduce a TYPE_REFERENCE convenience
    macro used to check for both kinds of references simultaneously as they are
    equivalent in many contexts.
    
    gdb/Changelog
    
        PR gdb/14441
        * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
        (TYPE_IS_REFERENCE): New macro.
        (struct type): Add rvalue_reference_type field.
        (TYPE_RVALUE_REFERENCE_TYPE): New macro.

commit 51457a05780da82b5321a1574caed95ac0e6923e
Author: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Date:   Mon Mar 20 14:57:51 2017 -0400

    Add -file-list-shared-libraries MI command
    
    This change adds the MI equivalent for the "info sharedlibrary"
    command. The command was already partially documented but ignored as
    it was not implemented. The new MI command works similarly to the CLI
    command, taking an optional regular expression as an argument and
    outputting the library information.
    
    I included a test for the new command in mi-solib.exp.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (gdb/mi Symbol Query Commands): Document new MI
    	command file-list-shared-libraries
    	(GDB/MI Async Records): Update documentation of library-loaded with new
    	field.
    
    gdb/ChangeLog:
    
    	* NEWS: Add an entry about new '-file-list-shared-libraries' command.
    	* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
    	New function definition.
    	* mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
    	* mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
    	New function declaration.
    	* mi/mi-interp.c (mi_output_solib_attribs): New Function.
    	* mi/mi-interp.h: New file.
    	* solib.c (info_sharedlibrary_command): Replace for loop with
    	ALL_SO_LIBS macro
    	* solib.h (update_solib_list): New function declaration.
    	(so_list_head): Move macro.
    	* solist.h (ALL_SO_LIBS): New macro.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.mi/mi-solib.exp (test_file_list_shared_libraries):
    	New procedure.
    
    Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>

commit 5b291c049658614196197e4ea4bb42bcc176b876
Author: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Date:   Mon Mar 20 14:57:45 2017 -0400

    Add a better diagnostic message in mi_gdb_test
    
    When using mi_gdb_test, if it fails because of the presence of
    unexpected output, the error message is only the message passed as
    the argument with no indication that there was an unexpected output.
    This change adds an additional text to the failure message to
    indicate that there was an unexpected output.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/mi-support.exp (mi_gdb_test): Add additional message
    	for unexpected output.
    
    Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>

commit e696b3ad342dde596dcdad4cff6b875c361ed6d0
Author: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Date:   Mon Mar 20 14:57:32 2017 -0400

    Remove unused parameter in solib_add and update_solib_list
    
    The target parameter in both solib_add and update_solib_list
    functions is not used anymore and as not been used for a while. This
    change removes the parameter to clean up the code a little bit.
    
    gdb/ChangeLog:
    
    	* infcmd.c (post_create_inferior): Remove unused argument in
    	call to solib_add.
    	* remote.c (remote_start_remote): Likewise.
    	* solib-frv.c (frv_fetch_objfile_link_map): Likewise.
    	* solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
    	(enable_break): Likewise.
    	* solib.c (update_solib_list): Remove unused target argument
    	and its documentation.
    	(solib_add): Remove unused target argument.  Remove unused
    	argument in call to update_solib_list.
    	(info_sharedlibrary_command): Remove unused argument in call
    	to update_solib_list.
    	(sharedlibrary_command): Remove unused argument in call to
    	solib_add.
    	(handle_solib_event): Likewise.
    	(reload_shared_libraries): Likewise.
    	* solib.h (solib_add): Remove unused target argument.
    
    Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>

commit 59a561480d547d041127630b1ba17a284eef8225
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Mon Mar 20 18:55:39 2017 +0100

    Fix spurious FAILs with examine-backward.exp
    
    The test case examine-backward.exp issues the command "x/-s" after the end
    of the first string in TestStrings, but without making sure that this
    string is preceded by a string terminator.  Thus GDB may spuriously print
    some random characters from before that string, and then the test fails.
    
    This patch assures that TestStrings is preceded by a string terminator.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/examine-backward.c (Barrier): New character array
    	constant, to ensure that TestStrings is preceded by a string
    	terminator.

commit 39e224f6f9ee3f6123d4c9ddb7c0955e0604c1b4
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Mar 20 15:32:34 2017 +0100

    readelf: Don't error on .debug files with NOBITS .dynamic section.
    
    The fix for PR binutils/17512 added a check for the dynamic segment being
    inside the actual ELF file. If not an error message would be produced:
    
    readelf: Error: the dynamic segment offset + size exceeds the size of the file
    
    Unfortunately for separate debuginfo files it is common for the dynamic
    segment not being inside the file because the .dynamic section is NOBITS.
    
    Since the check is done unconditionally in process_program_headers and
    process_program_headers is always called (to setup dynamic_addr in case
    it is needed). The error is produced on any operations done on any .debug
    file (even if no program headers or the dynamic segment is used).
    
    If there are section headers then a cross check is done to see if the
    .dynamic section is NOBITS in which case dynamic_addr is set to zero
    without a warning or error (which is then checked first before any
    operation on the dynamic segement is done).
    
    Move the check for the dynamic segment being inside the actual ELF file
    after the cross check with the section headers to suppress the error for
    .debug files.
    
    binutils/ChangeLog:
    
    	* readelf.c (process_program_headers): Move dynamic_addr check
    	after .dynamic section cross check.

commit e406e428dfe9d64e3be0b7a3c1c97c09edc5bdba
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 20 16:57:07 2017 +0000

    Update descriptions of the .2byte, .4byte and .8byte directives.
    
    	* doc/as.texinfo (2byte): Note that if no expressions are present
    	the directive does nothing.  Emphasize that the output is
    	unaligned, and that this can have an effect on the relocations
    	generated.
    	(4byte): Simplify description.  Refer back to the 2byte
    	description.
    	(8byte): Likewise.

commit dcb84eda0c5f25835251a311c4d6704e70cfa498
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Mon Mar 20 17:30:01 2017 +0100

    s390: Fix displaced-stepping certain relative branch insns
    
    On s390x targets GDB can not handle displaced stepping correctly for some
    relative branch instructions, such as cij (compare immediate and branch
    relative).  When setting a breakpoint on such an instruction and
    single-stepping over it, the branch is never taken.  This is because the
    check in s390_displaced_step_fixup for relative branch instructions is
    incomplete.
    
    Instead of completing the list of relative branch instructions to check
    against, this patch just treats relative branches and non-branching
    instructions in the same way and adjusts the PC with the negated
    displacement in both cases.
    
    gdb/ChangeLog:
    
    	* s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
    	(s390_displaced_step_fixup): Cover relative branches with the
    	default fixup handling.  This fixes lack of support for some
    	relative branch instructions.

commit 4ea0266c22eccf6e7719469a981267659e47ef3a
Author: Stafford Horne <shorne@gmail.com>
Date:   Mon Mar 20 15:33:51 2017 +0000

    Update the openrisc previous program counter (ppc) when running code in the cgen based simulator.
    
    	* or1kcommon.cpu: Add pc set semantics to also update ppc.

commit d5e0ba9cdb0d002b97bab722cce673ce86cf7b11
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Mon Mar 20 14:56:22 2017 +0000

    [arm] Document missing -mfpu entries.
    
    Nick pointed out that I hadn't documented the new -mfpu option
    neon-vfpv3 and mentioned that some others were missing.
    
    Having looked through the list only one (neon-fp16) really should be
    documented; the other two entries in the real table should not be
    documented as they are aliases kept for legacy compatibility reasons.
    This patch adds the missing entries and notes in the main table that
    the other two entries should not be documented.
    
    I've also fixed a small spelling error in the accompanying text.
    
    	* config/tc-arm.c (arm_fpus): Note entires that should not be
    	documented.
    	* doc/c-arm.texi (-mfpu): Add missing FPU entries for neon-vfpv3 and
    	neon-fp16.  Fix spelling error.

commit d3375ddde4011242ef576083459fc51d0ddc53c8
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Mon Mar 20 10:03:15 2017 +0000

    [arm] Add neon-vfp3 as an alias for neon to -mfpu.
    
    GCC recently added neon-vfpv3 as an alias for neon in -mfpu.  This patch adds a similar alias in GAS.
    
    * config/tc-arm.c (arm_fpus): Add neon-vfpv3 as an alias for neon.

commit 5c62b69b91e13c6b9c126480680cff836c0b282d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 20 00:00:40 2017 +0000

    Automatic date update in version.in

commit aaed6f5be3a41a88cc13c744e88af78f5a42dd5b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 20 08:25:50 2017 +1030

    PR 21266, unstable qsort in bfd/elf64-ppc.c
    
    	PR 21266
    	* elf64-ppc.c (compare_symbols): Stabilize sort.

commit 84e8538ee3c8139a99e75e661fff500bb93c8cd5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 19 00:00:24 2017 +0000

    Automatic date update in version.in

commit bbdf9b697fc0652379794267b23f597e15c7db57
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 18 00:00:41 2017 +0000

    Automatic date update in version.in

commit 82e66161e649e5e801c40a52cba759292a76a59a
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Mar 17 08:37:15 2017 +1030

    DT_TEXTREL vs IFUNC
    
    If you should somehow link non-pic objects into a PIE or shared
    library, resulting in an object with DT_TEXTREL (text relocations)
    set, and your executable or shared library also contains GNU indirect
    functions, then you're in trouble.  To apply dynamic relocations
    ld.so will make the text segment writable.  On most systems this will
    make the text segment non-executable, which will then result in a
    segfault when ld.so tries to run ifunc resolvers when applying
    relocations against ifuncs.
    
    This patch teaches PowerPC ld to detect the situation, and warn.
    
    	* elf64-ppc.c (struct ppc_link_hash_table): Add
    	local_ifunc_resolver and maybe_local_ifunc_resolver.
    	(ppc_build_one_stub): Set flags on emitting dynamic
    	relocation to ifunc.
    	(ppc64_elf_relocate_section): Likewise.
    	(ppc64_elf_finish_dynamic_symbol): Likewise.
    	(ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
    	local dynamic relocs to ifuncs.
    	* elf32-ppc.c (struct ppc_elf_link_hash_table): Add
    	local_ifunc_resolver and maybe_local_ifunc_resolver.
    	(ppc_elf_relocate_section): Set flag on emitting dynamic
    	relocation to ifuncs.
    	(ppc_elf_finish_dynamic_symbol): Likewise.
    	(ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
    	dynamic relocs to ifuncs.

commit d9cb6cdcfa12368f2f639f8cd06d18b94bd98a39
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:57 2017 -0400

    i386-gnu-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
    	ptid from regcache.

commit 1afaf9f42fe201872d758214beceff85325a988a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:56 2017 -0400

    i386-darwin-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
    	i386_darwin_store_inferior_registers): Use ptid from regcache.

commit aac12e2497a42b47223680ab1b5924137de77c9a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:55 2017 -0400

    i386-bsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
    	i386bsd_store_inferior_registers): Use ptid from regcache.

commit bbe1eef1e585e19d5493882e55f2b7902df9827a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:55 2017 -0400

    hppa-obsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* hppa-obsd-nat.c (hppaobsd_fetch_registers,
    	hppaobsd_store_registers): Use ptid from regcache.

commit 10799020a9336b6a88c1ace53c601960b840d580
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:54 2017 -0400

    hppa-nbsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* hppa-nbsd-nat.c (hppanbsd_fetch_registers,
    	hppanbsd_store_registers): Use ptid from regcache.

commit 00204cf7da01d99205aacc994e5c594ed12bba64
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:53 2017 -0400

    hppa-linux-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* hppa-linux-nat.c (fetch_register, store_register): Use ptid
    	from regcache.  Use get_ptrace_pid.

commit 11a3371447f15af26def26646ad2eb7a4386462d
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:52 2017 -0400

    corelow: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* corelow.c (get_core_register_section): Use ptid from regcache,
    	update doc.

commit 317cd4925a9d6ef6f8752a771cb56e85ddfb30f0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:51 2017 -0400

    bsd-uthread: Use ptid from regcache instead of inferior_ptid
    
    This is one of the rare to_fetch/store_registers implementations that will
    still rely (for now) on inferior_ptid (because of the memory read/write
    operations).  We therefore have to add a save/restore of inferior_ptid.  We'll
    be able to remove it when we make the memory operations accept the ptid as a
    parameter.
    
    gdb/ChangeLog:
    
    	* bsd-uthread.c (bsd_uthread_fetch_registers,
    	bsd_uthread_store_registers): Use ptid from regcache, set and
    	restore inferior_ptid.

commit 9ac8a7c281aa949cf588cccb9977ea51eaff8130
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:50 2017 -0400

    arm-nbsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
    	fetch_fp_regs, store_register, store_regs, store_fp_register,
    	store_fp_regs): Use ptid from regcache.

commit 4ac4bb6ad5ead16be5ca6996a3e325c26ddf71da
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:49 2017 -0400

    arm-linux-nat.c: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
    	store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
    	store_vfp_regs): Use ptid from regcache.

commit 0dd6ae21da832f351a3722d2f8bac187fc3bdfef
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 17 17:36:51 2017 +0000

    Fix displaying the value associated a GNU BUILD note that uses an ascii name.
    
    	* readelf.c (print_gnu_build_attribute_name): Fix off by one error
    	printing the value for a build note with an ascii name.

commit 9bcbdca808b5f9fec6217d20bd4b48a56008c460
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Mar 17 16:08:12 2017 +0000

    PR remote/21188: Fix remote serial timeout
    
    As Gareth McMullin <gareth@blacksphere.co.nz> reports at
    <https://sourceware.org/ml/gdb-patches/2017-02/msg00560.html>, the
    timeout mechanism in ser-unix.c was broken by commit 048094acc
    ("target remote: Don't rely on immediate_quit (introduce quit
    handlers)").
    
    Instead of applying a local fix, and since we now finally always use
    interrupt_select [1], let's get rid of hardwire_readchar entirely, and
    use ser_base_readchar instead, which has similar timeout handling,
    except for the bug.
    
    Smoke tested with:
    
     $ socat -d -d pty,raw,echo=0 pty,raw,echo=0
     2017/03/14 14:08:13 socat[4994] N PTY is /dev/pts/14
     2017/03/14 14:08:13 socat[4994] N PTY is /dev/pts/15
     2017/03/14 14:08:13 socat[4994] N starting data transfer loop with FDs [3,3] and [5,5]
     $ gdbserver /dev/pts/14 PROG
     $ gdb PROG -ex "tar rem /dev/pts/15"
    
    and then a few continues/ctrl-c's, plus killing gdbserver and socat.
    
    [1] - See FIXME comments being removed.
    
    gdb/ChangeLog:
    2017-03-17  Pedro Alves  <palves@redhat.com>
    
    	PR remote/21188
    	* ser-base.c (ser_base_wait_for): Add comment.
    	(do_ser_base_readchar): Improve comment based on the ser-unix.c's
    	version.
    	* ser-unix.c (hardwire_raw): Remove reference to
    	scb->current_timeout.
    	(wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
    	(hardwire_ops): Install ser_base_readchar instead of
    	hardwire_readchar.
    	* serial.h (struct serial) <current_timeout, timeout_remaining>:
    	Remove fields.

commit 7503099f3e29739d34cb1224d54fba96404e6e61
Author: Jonah Graham <jonah@kichwacoders.com>
Date:   Fri Mar 17 14:57:44 2017 +0000

    Fix PR gdb/19637: bound_registers.py: Add support for Python 3
    
    Fix this the same way gdb/python/lib/gdb/printing.py handles it.
    
    gdb/Changelog:
    2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
    
    	PR gdb/19637
    	* python/lib/gdb/printer/bound_registers.py: Add support for
    	Python 3.

commit 4b94dd2de12dd0389615700b13b63260e162ccf0
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Mar 17 19:06:12 2017 +1030

    E6500 spr mnemonics
    
    	PR 21248
    	* ppc-opc.c (powerpc_opcodes): Enable mfivor32, mfivor33,
    	mtivor32, and mtivor33 for e6500.  Move mfibatl and mfibatu after
    	those spr mnemonics they alias.  Similarly for mtibatl, mtibatu.

commit 1d3fa25f5802fe2250f32f335ad57897a62e0fe2
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 14 22:01:34 2017 +1030

    ld sec64k test fix
    
    	* testsuite/ld-elf/sec64k.exp: Don't run on h8300 and ip2k.

commit b4fcfd3b4d173129207f804f5eee4557c788d66b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 17 00:00:34 2017 +0000

    Automatic date update in version.in

commit 7942e96e435d1cf4d4dbf58c47bb28d9f628c9e6
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Mar 16 19:50:24 2017 +0100

    Big-endian targets: Don't ignore offset into DW_OP_stack_value
    
    Recently I fixed a bug that caused a DW_OP_implicit_pointer with non-zero
    offset into a DW_OP_implicit_value to be handled incorrectly on big-endian
    targets.  GDB ignored the offset and copied the wrong bytes:
    
      https://sourceware.org/ml/gdb-patches/2017-01/msg00251.html
    
    But there is still a similar issue when a DW_OP_implicit_pointer points
    into a DW_OP_stack_value instead; and again, the offset is ignored.  There
    is an important difference, though: While implicit values are treated like
    blocks of data and anchored at the lowest-addressed byte, stack values
    traditionally contain integer numbers and are anchored at the *least
    significant* byte.  Also, stack values do not come in varying sizes, but
    are cut down appropriately when used.  Thus, on big-endian targets the
    scenario looks like this (higher addresses shown right):
    
      |<- - - - - Stack value - - - - - - ->|
                      |                     |
                      |<- original object ->|
                      |
                      | offset ->|####|
    			      ^^^^
                                  de-referenced
    			      implicit pointer
    
    (Note how the original object's size influences the position of the
    de-referenced implicit pointer within the stack value.  This is not the
    case for little-endian targets, where the original object starts at offset
    zero within the stack value.)
    
    This patch implements the logic indicated in the above diagram and adds an
    appropriate test case.  A new function dwarf2_fetch_die_type_sect_off is
    added; it is used for retrieving the original object's type, so its size
    can be determined.  That type is passed to dwarf2_evaluate_loc_desc_full
    via a new parameter.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (indirect_synthetic_pointer): Get data type of
    	pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
    	(dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
    	byte_offset to subobj_byte_offset.  Fix the handling of
    	DWARF_VALUE_STACK on big-endian targets when coming via an
    	implicit pointer.
    	(dwarf2_evaluate_loc_desc): Adjust call to
    	dwarf2_evaluate_loc_desc_full.
    	* dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
    	* dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/dwarf.exp: Add support for DW_OP_implicit_pointer.
    	* gdb.dwarf2/nonvar-access.exp: Add test for stack value location
    	and implicit pointer into such a location.

commit 6ebac3fbacebaebd9e2c9393da3b612342d953a9
Author: Doug Evans <dje@google.com>
Date:   Thu Mar 16 10:43:21 2017 -0700

    gdb.python/py-lazy-string (pointer): Really add new typedef.
    
    Somehow got dropped in earlier commit.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-lazy-string (pointer): Really add new typedef.

commit 2cc36e25db366d70a975702b61c7700ae934d4d0
Author: Doug Evans <dje@google.com>
Date:   Thu Mar 16 10:39:26 2017 -0700

    Remove collision markers from earlier commit

commit a8be5506b626a57f84771c5ddfaefabf2d61c017
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 16 16:44:55 2017 +0000

    Add support for a GNU BUILD note type to record the enum size.
    
    include	* elf/common.h (GNU_BUILD_ATTRIBUTE_SHORT_ENUM): New GNU BUILD
    	note type.
    
    binutils * readelf.c (print_gnu_build_attribute_name): Add support for
    	GNU_BUILD_ATTRIBUTE_SHORT_ENUM.

commit ba14f3792fe007bedd88b62e554c79258adc53d9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 16 16:35:18 2017 +0000

    Support CBNZ, CBZ, REV, REV16 and REVSH in arm process record
    
    This patch adds the support for these instructions in arm process
    record.
    
    gdb:
    
    2017-03-16  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
    	and REVSH instructions.

commit b121eeb9971ebfceffc38e6131fdc15ec4188599
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 16 16:35:18 2017 +0000

    Fix arm process record for some instructions
    
    I look at some fails in gdb.reverse/solib-precsave.exp in -mthumb,
    they are caused by some bugs on decoding these three instructions,
    uxtb, ldr and mrc.  This patch adds unit tests against these three
    instructions, and fix these bugs by re-organizing the code to match
    the table in ARM ARM.
    
    gdb:
    
    2017-03-16  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
    	(arm_record_test): Declare.
    	(_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
    	(thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
    	align with the manual.
    	(thumb_record_misc): Adjust the code order to align with the
    	manual.
    	(thumb2_record_decode_insn_handler): Fix instruction matching.
    	(instruction_reader_thumb): New class.
    	(arm_record_test): New function.

commit 728a79135f51a1c20719ebaf3c98446d9ee248db
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 16 16:35:18 2017 +0000

    Add instruction_reader to arm process record
    
    This patch adds an abstract class abstract_memory_reader a
    and pass it to the code reading instructions in arm process record,
    rather than using target_read_memory to read from real target.  This
    paves the way for adding more unit tests to arm process record.
    
    gdb:
    
    2017-03-16  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (abstract_memory_reader): New class.
    	(instruction_reader): New class.
    	(extract_arm_insn): Add argument 'reader'.  Callers updated.
    	(decode_insn): Likewise.

commit a7c0469f992721b30665ba92f4f2f74d29032a84
Author: Doug Evans <dje@google.com>
Date:   Wed Mar 15 15:44:45 2017 -0700

    Copy lazy string handling fixes from Python.
    
    This patch keeps the Scheme side of lazy string handling in sync
    with the python size, bringing over fixes for
    PRs python/17728, python/18439, python/18779.
    
    gdb/ChangeLog:
    
    	* guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
    	member.  Change type of TYPE member to SCM.  All uses updated.
    	(lsscm_make_lazy_string_smob): Add assert.
    	(lsscm_make_lazy_string): Flag bad length values.
    	(lsscm_elt_type): New function.
    	(gdbscm_lazy_string_to_value): Rewrite to use
    	lsscm_safe_lazy_string_to_value.
    	(lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
    	* guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
    	values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
    	in incoming type.
    	* guile/guile-internal.h (tyscm_scm_to_type): Declare.
    	* guile/scm-type.c (tyscm_scm_to_type): New function.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.guile/scm-value.c (main) Delete locals sptr, sn.
    	* gdb.guile/scm-lazy-string.c: New file.
    	* gdb.guile/scm-value.exp: Move lazy string tests to ...
    	* gdb.guile/scm-lazy-string.exp: ... here, new file.  Add more tests
    	for pointer, array, typedef lazy strings.

commit 34b433203b5f56149c27a8dfea21a921392cb158
Author: Doug Evans <dje@google.com>
Date:   Wed Mar 15 15:35:13 2017 -0700

    Fix various python lazy string bugs.
    
    gdb/ChangeLog:
    
    	PR python/17728, python/18439, python/18779
    	* python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
    	member.  Change type of TYPE member to PyObject *.  All uses updated.
    	(stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
    	(gdbpy_create_lazy_string_object): Flag bad length values.
    	Handle TYPE_CODE_ARRAY with possibly different user-provided length.
    	Handle typedefs in incoming type.
    	(stpy_lazy_string_elt_type): New function.
    	(gdbpy_extract_lazy_string): Call it.
    	* python/py-value.c (valpy_lazy_string): Flag bad length values.
    	Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
    	typedefs in incoming type.
    
    gdb/testsuite/ChangeLog:
    
    	PR python/17728, python/18439, python/18779
    	* gdb.python/py-value.c (main) Delete locals sptr, sn.
    	* gdb.python/py-lazy-string.c (pointer): New typedef.
    	(main): New locals ptr, array, typedef_ptr.
    	* gdb.python/py-value.exp: Move lazy string tests to ...
    	* gdb.python/py-lazy-string.exp: ... here.  Add more tests for pointer,
    	array, typedef lazy strings.

commit a3a5feccd26be653efbdf1408874b98962baaa50
Author: Doug Evans <dje@google.com>
Date:   Sun Nov 6 16:10:00 2016 -0800

    New function tyscm_scm_to_type.
    
    gdb/ChangeLog:
    
    	* guile/guile-internal.h (tyscm_scm_to_type): Declare.
    	* guile/scm-type.c (tyscm_scm_to_type): New function.

commit f8d995870f957d5fd32fb21fb4afe76a754ddf31
Author: Doug Evans <dje@google.com>
Date:   Sun Nov 6 16:03:56 2016 -0800

    Lazy strings can be made from arrays too.
    
    gdb/doc/ChangeLog:
    
    	* guile.texi (Lazy Strings In Guile): Mention arrays.
    	* python.texi (Lazy Strings In Python): Ditto.

commit 28f1c60507ad4ca2252cebada30d2f63ec3b772f
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Mar 16 09:55:18 2017 +0000

    [Patch] Fix variable type glitch in inf-ptrace.c
    
    gdb/
    	* inf-ptrace.c (inf_ptrace_peek_poke): Change the type to "ULONGEST"
    	for "skip".

commit ec3b243d4308ee56c9e3c62470b10ed2a822eb51
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Mar 16 14:02:31 2017 +0000

    Fix expect for gdb.cp/m-static.exp
    
    The expectation in gdb.cp/m-static.exp for the ptype of
    single_constructor is to get in the result of destructor with the
    following prototype: ~single_constructor(int).
    
    Yet, m-static.cc declares the destructor as ~single_constructor(). This
    commit fixes the expectation.
    
    2017-03-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	gdb/testsuite/
    	* gdb.cp/m-static.exp: Fix expectation for prototype of
    	test5.single_constructor and single_constructor::single_constructor.

commit 2c52e2e8c9e8f733cc0772d1400b0f4d3eb7379c
Author: Rinat Zelig <rinat@mellanox.com>
Date:   Thu Mar 16 10:05:22 2017 +0000

    gas/arc: Limit special handling of t/nt flag to ARCv2
    
    In a later commit I'll be adding a new version of the ".nt" flag for an
    ARC700 extension (NPS400) which does not require this same special
    handling.
    
    In this commit I have restricted the special flag handling to only apply
    if we are assembling for ARCv2.  This is a restructuring commit, and
    there should be no user visible changes after this commit.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (assemble_insn): Only handle ".t" and ".nt"
    	specially for ARCv2.

commit e189bfe660d335f3b7c61446c9b5d3b0f0701606
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 16 00:00:45 2017 +0000

    Automatic date update in version.in

commit aab2c17756ee5bef0ea5783a460a0990450b3bd5
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 16:49:16 2017 -0700

    Mips: Fix TLS LDM GOT entry.
    
    gold/
    	* mips.cc (Mips_got_entry::hash()): Shift addend to reduce
    	possibility of collisions.
    	(Mips_got_entry::equals): Fix case for GOT_TLS_LDM
    	entries.

commit 4d78db49e6eee097365e31f9b5b47e5391243979
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 16:46:26 2017 -0700

    Mips: Omit empty objects for merging processor-specific data.
    
    gold/
    	* mips.cc (Mips_relobj::merge_processor_specific_data_): New data
    	member.
    	(Mips_relobj::merge_processor_specific_data): New method.
    	(Mips_relobj::do_read_symbols): Set merge_processor_specific_data_
    	to false, only if the input file is a binary or if object has no
    	contents except the section name string table and an empty symbol
    	table with the undefined symbol.
    	(Target_mips::do_finalize_sections): Refactor.  Skip empty object files
    	for merging processor-specific data.

commit 152c92b261fd9e4655688bef746ca32352f56bc4
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 16:41:48 2017 -0700

    Mips: Add support for resolving multiple consecutive relocations.
    
    gold/
    	* mips.cc (Target_mips::Relocate::calculated_value_): New data
    	member.
    	(Target_mips::Relocate::calculate_only_): Likewise.
    	(Target_mips::Relocate::relocate): Handle multiple consecutive
    	relocations with the same offset.

commit 1e1247c89ca2ce10dbf2c3ed61fba942f9c536ca
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:52:12 2017 -0700

    Remove redundant checks for relocatable link (MIPS).
    
    gold/
    	* mips.cc (Target_mips::Relocate::relocate): Remove redundant
    	checks for relocatable link.
    	(Mips_relocate_functions::reljalr): Likewise.

commit 1728969e93010862fe0ef7985cabe03a4494a63e
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:47:58 2017 -0700

    Add support for .MIPS.options section.
    
    gold/
            * mips.cc (class Mips_output_section_options): New class.
            (Target_mips::do_make_output_section): New method.

commit c3847462f86778e97222a72378a84182f92c644a
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:43:25 2017 -0700

    Improve relocation overflow errors on MIPS.
    
    gold/
            * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
            overflow error message.
            (Target_mips::relocate_special_relocatable): Improve relocation
            overflow error message.
            (Target_mips::Relocate::relocate): Likewise.

commit 453018bf4490421a995cd76b3d2a3f322359c6a5
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:35:15 2017 -0700

    Correct the definition of _gp and _GLOBAL_OFFSET_TABLE_ symbols for MIPS.
    
    gold/
            * mips.cc (symbol_refs_local): Return false if a symbol
            is from a dynamic object.
            (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
            (Target_mips::set_gp): Refactor.  Make _gp STT_NOTYPE and
            STB_LOCAL.
            (Target_mips::do_finalize_sections): Set _gp after all the checks
            for creating .got are done.
            (Target_mips::Scan::global): Remove unused code.

commit b416fe873ef44b2a613c9266c6462a481926d986
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Tue Mar 7 18:15:02 2017 +0800

    RISC-V: Fix assembler for c.li, c.andi and c.addiw
    
     - They can accept 0 in imm field
    
     2017-03-14  Kito Cheng  <kito.cheng@gmail.com>
    
           * riscv-opc.c (riscv_opcodes> <c.li>: Use the 'o' immediate encoding.
           <c.andi>: Likewise.
           <c.addiw> Likewise.

commit 03b039a518fa0f89a9900a44a8b874cc91061305
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Tue Mar 7 19:56:40 2017 +0800

    RISC-V: Fix assembler for c.addi, rd can be x0
    
    opcodes/ChangeLog:
    
    2017-03-14  Kito Cheng  <kito.cheng@gmail.com>
    
    	* riscv-opc.c (riscv_opcodes) <c.addi>: Use match_opcode.

commit 9494d9636612cd9bd22e38625fbc89147beafea7
Author: Tristan Gingold <gingold@adacore.com>
Date:   Tue Mar 14 14:54:37 2017 +0100

    ld-checks: tweak overflow checks.
    
    	* testsuite/ld-checks/checks.exp (overflow_check): Disable for
    	non-elf targets.

commit 7cb7b948ce62831a999f88054a6b2d39afbe926e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 15 09:19:42 2017 +0000

    Fix building riscv targets with gcc v6.3.1
    
    	* config/tc-riscv.c (riscv_pre_output_hook): Fix compile time
    	warning about discarding a const qualifier.

commit cc7e96c25d59db0a5279da0a0ff36d61151f3021
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 15 00:00:36 2017 +0000

    Automatic date update in version.in

commit c98763221af696a9e0c6686da7d65881bfd6bdd0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Mar 14 12:56:49 2017 -0700

    Add DW_OP_GNU_variable_value
    
    Sync GCC dwarf.def change
    
    2017-03-14  Jakub Jelinek  <jakub@redhat.com>
    
    	PR debug/77589
    	* dwarf2.def (DW_OP_GNU_variable_value): New opcode.

commit 87c336f60eccc6506ff19369c29575f43fea02ea
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Mar 14 19:20:46 2017 +0100

    inf-ptrace: Do not stop memory transfers after a single word
    
    When inf_ptrace_xfer_partial performs a memory transfer via ptrace with
    PT_READ_I, PT_WRITE_I (aka PTRACE_PEEKTEXT, PTRACE_POKETEXT), etc., then
    it currently transfers at most one word.  This behavior yields degraded
    performance, particularly if the caller has significant preparation work
    for each invocation.  And indeed it has for writing, in
    memory_xfer_partial in target.c, where all of the remaining data to be
    transferred is copied to a temporary buffer each time, for breakpoint
    shadow handling.  Thus large writes have quadratic runtime and can take
    hours.
    
    Note: On GNU/Linux targets GDB usually does not use
    inf_ptrace_xfer_partial for large memory transfers, but attempts a single
    read/write from/to /proc/<pid>/mem instead.  However, the kernel may
    reject writes to /proc/<pid>/mem (such as kernels prior to 2.6.39), or
    /proc may not be mounted.  In both cases GDB falls back to the ptrace
    mechanism.
    
    This patch fixes the performance issue by attempting to fulfill the whole
    transfer request in inf_ptrace_xfer_partial, using a loop around the
    ptrace call.
    
    gdb/ChangeLog:
    
    	PR gdb/21220
    	* inf-ptrace.c (inf_ptrace_xfer_partial): In "case
    	TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
    	(inf_ptrace_peek_poke): ...here.  New function.  Now also loop
    	over ptrace peek/poke until end of buffer or error.

commit d47c3ff7d55122befac848fe64b7445789c78787
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Thu Mar 2 14:54:32 2017 +0800

    RISC-V: Define DWARF2_USE_FIXED_ADVANCE_PC.
    
    gas/ChangeLog
    
    2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
    
            * config/tc-riscv.h (HWARD2_USE_FIXED_ADVANCE_PC): New define.

commit 2aece2ba02457e83fd2a780a8ac596b6a90adf29
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Fri Feb 10 14:58:52 2017 +0800

    RISC-V: Fix DW_CFA_advance_loc relocation.
    
    gas/ChangeLog:
    
    2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
    
            * config/tc-riscv.c (md_apply_fix): Set fx_frag and
            fx_next->fx_frag for CFA_advance_loc relocations.

commit c1b465c94e26be629315bf28e3763dea9dea8336
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Thu Feb 2 15:27:18 2017 +0800

    RISC-V: Fix the offset of CFA relocation.
    
    gas/ChangeLog:
    
    2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
    
            * config/tc-riscv.c (md_apply_fix): Compute the correct offsets
            for CFA relocations.

commit 2c232b8361a044d689d12161b7a645d238586f5e
Author: Andrew Waterman <andrew@sifive.com>
Date:   Mon Mar 13 12:46:33 2017 -0700

    RISC-V: Fix [dis]assembly of srai/srli
    
    These were simple copy/paste errors from the compressed left shift
    pattern, which can't have a 0-register.

commit 9216a6f33592c350ad50696d5571c82e47b71a5e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Mar 14 09:09:54 2017 -0700

    Use addr_mask to check VMA and LMA
    
    Since BFD64 may be used on 32-bit address, we need to apply addr_mask
    to check VMA and LMA.
    
    	* ldlang.c (lang_check_section_addresses): Use addr_mask to
    	check VMA and LMA.

commit cf81cf6081d1a8c15c477f903d15d7b88f31b686
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Mar 14 10:25:39 2017 -0400

    Make length_of_subexp static
    
    It isn't used anywhere else than the file it's defined in.
    
    gdb/ChangeLog:
    
    	* parse.c (length_of_subexp): Make static.
    	* parser-defs.h (length_of_subexp): Remove.

commit c799a79d66d09c442d85467986c2e8873f09297c
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Mar 14 12:57:09 2017 +0000

    Try harder to find the correct symbol to associate with OPEN GNU BUILD notes.
    
    	* readelf.c (print_gnu_build_attribute_description): Move symbol
    	printing code to...
    	(print_symbol_for_build_attribute): New function.  ...here.
    	Add to find the best symbol to associate with an OPEN note.
    	Add code to cache the symbol table and string table, so that they
    	are not loaded every time a note is displayed.
    	* testsuite/binutils-all/note-2-32.s: Add a function symbol.
    	* testsuite/binutils-all/note-2-64.s: Likewise.
    	* testsuite/binutils-all/note-2-32.d: Update expected note output.
    	* testsuite/binutils-all/note-2-64.d: Likewise.

commit 0efcde634d45f4cda03fd18c43ff449103559d7a
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Mon Mar 6 21:24:38 2017 +0300

    Add test name argument to get_valueof, get_integer_valueof and get_sizeof
    
    An optional parameter TEST has been added to get_hexadecimal_valueof in commit:
    
      https://sourceware.org/ml/gdb-patches/2016-06/msg00469.html
    
    This patch adds a similar optional parameter to other related methods that
    retrieve expression values: get_valueof, get_integer_valueof and get_sizeof.
    Thus tests that evaluate same expression multiple times can provide custom
    test names, ensuring that test names will be unique.
    
    gdb/testsuite/ChangeLog:
    2017-03-14  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* lib/gdb.exp (get_valueof, get_integer_valueof, get_sizeof):
    	  Add optional 'test' parameter.

commit a379284af268ed768674e7f452ca78dad2aaaf55
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Mar 14 11:14:49 2017 +0100

    linux-nat: Exploit /proc/<pid>/mem for writing
    
    So far linux_proc_xfer_partial refused to handle write requests.  This is
    still based on the assumption that the Linux kernel does not support
    writes to /proc/<pid>/mem.  That used to be true, but has changed with
    Linux 2.6.39 released in May 2011.
    
    This patch lifts this restriction and now exploits /proc/<pid>/mem for
    writing to inferior memory as well, if possible.
    
    gdb/ChangeLog:
    
    	* linux-nat.c (linux_proc_xfer_partial): Handle write operations
    	as well.

commit 8a6200ba863f207d93467312431d107f50f0e2ab
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 14 00:11:09 2017 +0000

    Restore test-cp-name-parser build
    
    Commit c8b23b3f89fbb0 ("Add constructor and destructor to
    demangle_parse_info") a while ago broke the "test-cp-name-parser"
    build:
    
     $ make test-cp-name-parser
     [...]
     src/gdb/cp-name-parser.y: In function ‘int main(int, char**)’:
     src/gdb/cp-name-parser.y:2190:9: error: cannot convert ‘std::unique_ptr<demangle_parse_info>’ to ‘demangle_parse_info*’ in assignment
       result = cp_demangled_name_to_comp (str2, &errmsg);
    	  ^
     src/gdb/cp-name-parser.y:2199:38: error: ‘cp_demangled_name_parse_free’ was not declared in this scope
       cp_demangled_name_parse_free (result);
    				       ^
     src/gdb/cp-name-parser.y:2211:14: error: cannot convert ‘std::unique_ptr<demangle_parse_info>’ to ‘demangle_parse_info*’ in assignment
    	result = cp_demangled_name_to_comp (argv[arg], &errmsg);
    	       ^
     src/gdb/cp-name-parser.y:2219:43: error: ‘cp_demangled_name_parse_free’ was not declared in this scope
    	cp_demangled_name_parse_free (result);
    					    ^
     Makefile:2107: recipe for target 'test-cp-name-parser.o' failed
     make: *** [test-cp-name-parser.o] Error 1
    
    This commit restores it.
    
    gdb/ChangeLog:
    2017-03-14  Pedro Alves  <palves@redhat.com>
    
    	* cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
    	(main): Use std::unique_ptr.  Remove calls to
    	cp_demangled_name_parse_free.

commit 9c7272f0833da2bfdf513d41bc41cdbc5f4fc5f7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 14 00:00:40 2017 +0000

    Automatic date update in version.in

commit f79ec2066662b2c32c9e62ee372c9c230d206b89
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:40 2017 -0400

    alpha-bsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
    	alphabsd_store_inferior_registers): Use regcache->ptid instead
    	of inferior_ptid.

commit edb5fb00a6865884f99be01a9e97f44243a9deb9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:40 2017 -0400

    aix-thread: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* aix-thread.c (aix_thread_fetch_registers,
    	aix_thread_store_registers): Use regcache->ptid instead of
    	inferior_ptid.

commit 551196862e4e9dfda510f59c53b0a3ff3153e4ed
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:39 2017 -0400

    aarc64-linux-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* aarch64-linux-nat.c (fetch_gregs_from_thread,
    	store_gregs_to_thread, fetch_fpregs_from_thread,
    	store_fpregs_to_thread): Use regcache->ptid instead of
    	inferior_ptid.

commit 6a06fbb7b73fe55d6b9057f8154652e1ae8f883c
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:39 2017 -0400

    amd64-linux-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
    	amd64_linux_fetch_inferior_registers): Use regcache->ptid
    	instead of inferior_ptid.

commit c6386875ba57a806c896ba097afef525671de4a0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:38 2017 -0400

    Add asserts in target_fetch/store_registers
    
    We are currently assuming that regcache->ptid is equal to inferior_ptid
    when we call target_fetch/store_registers.  These asserts just validate
    that assumption.  Also, since the following patches will change target
    code to use regcache->ptid instead of inferior_ptid, asserting that they
    are the same should ensure that our changes don't have any unintended
    consequences.
    
    gdb/ChangeLog:
    
    	* target.c (target_fetch_registers, target_store_registers): Add
    	assert.

commit ddaaf0fb8605fced72e84410fc7ac834e529eb53
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:38 2017 -0400

    Introduce regcache_get_ptid
    
    This patch introduces the regcache_get_ptid function, which can be used
    to retrieve the ptid a regcache is connected to.  It is used in
    subsequent patches.
    
    gdb/ChangeLog:
    
    	* regcache.h (regcache_get_ptid): New function.
    	* regcache.c (regcache_get_ptid): New function.

commit 1a01e7c6b0eaed1bfe70d48692e1103c6e9ee2d9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:05 2017 -0400

    gdbserver: Use pattern rule for the remaining %-ipa.o objects
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%-ipa.o: %-ipa.c): New rule.
    	(ax-ipa.o: ax.c): Remove.
    	(linux-i386-ipa.o: linux-i386-ipa.c): Remove.
    	(linux-amd64-ipa.o: linux-amd64-ipa.c): Remove.
    	(linux-aarch64-ipa.o: linux-aarch64-ipa.c): Remove.
    	(linux-s390-ipa.o: linux-s390-ipa.c): Remove.
    	(linux-ppc-ipa.o: linux-ppc-ipa.c): Remove.

commit 36bc18a810a13f884d826842abbdd6d744ff6481
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:04 2017 -0400

    gdbserver: Use pattern rule for IPA objects from common/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%-ipa.o: ../common/%.c): New rule.
    	(print-utils-ipa.o: ../common/print-utils.c): Remove.
    	(rsp-low-ipa.o: ../common/rsp-low.c): Remove.
    	(errors-ipa.o: ../common/errors.c): Remove.
    	(format-ipa.o: ../common/format.c): Remove.
    	(common-utils-ipa.o: ../common/common-utils.c): Remove.

commit a8ebe3d5f17f12490012a1a3c69d17b6e9362805
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:04 2017 -0400

    gdbserver: Use pattern rule for IPA objects from gdbserver/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%-ipa.o: %.c): New rule.
    	(tracepoint-ipa.o: tracepoint.c): Remove.
    	(utils-ipa.o: utils.c): Remove.
    	(remote-utils-ipa.o: remote-utils.c): Remove.
    	(regcache-ipa.o: regcache.c): Remove.
    	(i386-linux-ipa.o: i386-linux.c): Remove.
    	(i386-mmx-linux-ipa.o: i386-mmx-linux.c): Remove.
    	(i386-avx-linux-ipa.o: i386-avx-linux.c): Remove.
    	(i386-mpx-linux-ipa.o: i386-mpx-linux.c): Remove.
    	(i386-avx-mpx-linux-ipa.o: i386-avx-mpx-linux.c): Remove.
    	(i386-avx-avx512-linux-ipa.o: i386-avx-avx512-linux.c): Remove.
    	(i386-avx-mpx-avx512-pku-linux-ipa.o: i386-avx-mpx-avx512-pku-linux.c): Remove.
    	(amd64-linux-ipa.o: amd64-linux.c): Remove.
    	(amd64-avx-linux-ipa.o: amd64-avx-linux.c): Remove.
    	(amd64-mpx-linux-ipa.o: amd64-mpx-linux.c): Remove.
    	(amd64-avx-mpx-linux-ipa.o: amd64-avx-mpx-linux.c): Remove.
    	(amd64-avx-avx512-linux-ipa.o: amd64-avx-avx512-linux.c): Remove.
    	(amd64-avx-mpx-avx512-pku-linux-ipa.o: amd64-avx-mpx-avx512-pku-linux.c): Remove.
    	(aarch64-ipa.o: aarch64.c): Remove.
    	(s390-linux32-ipa.o: s390-linux32.c): Remove.
    	(s390-linux32v1-ipa.o: s390-linux32v1.c): Remove.
    	(s390-linux32v2-ipa.o: s390-linux32v2.c): Remove.
    	(s390-linux64-ipa.o: s390-linux64.c): Remove.
    	(s390-linux64v1-ipa.o: s390-linux64v1.c): Remove.
    	(s390-linux64v2-ipa.o: s390-linux64v2.c): Remove.
    	(s390-te-linux64-ipa.o: s390-te-linux64.c): Remove.
    	(s390-vx-linux64-ipa.o: s390-vx-linux64.c): Remove.
    	(s390-tevx-linux64-ipa.o: s390-tevx-linux64.c): Remove.
    	(s390x-linux64-ipa.o: s390x-linux64.c): Remove.
    	(s390x-linux64v1-ipa.o: s390x-linux64v1.c): Remove.
    	(s390x-linux64v2-ipa.o: s390x-linux64v2.c): Remove.
    	(s390x-te-linux64-ipa.o: s390x-te-linux64.c): Remove.
    	(s390x-vx-linux64-ipa.o: s390x-vx-linux64.c): Remove.
    	(s390x-tevx-linux64-ipa.o: s390x-tevx-linux64.c): Remove.
    	(powerpc-32l-ipa.o: powerpc-32l.c): Remove.
    	(powerpc-altivec32l-ipa.o: powerpc-altivec32l.c): Remove.
    	(powerpc-cell32l-ipa.o: powerpc-cell32l.c): Remove.
    	(powerpc-vsx32l-ipa.o: powerpc-vsx32l.c): Remove.
    	(powerpc-isa205-32l-ipa.o: powerpc-isa205-32l.c): Remove.
    	(powerpc-isa205-altivec32l-ipa.o: powerpc-isa205-altivec32l.c): Remove.
    	(powerpc-isa205-vsx32l-ipa.o: powerpc-isa205-vsx32l.c): Remove.
    	(powerpc-e500l-ipa.o: powerpc-e500l.c): Remove.
    	(powerpc-64l-ipa.o: powerpc-64l.c): Remove.
    	(powerpc-altivec64l-ipa.o: powerpc-altivec64l.c): Remove.
    	(powerpc-cell64l-ipa.o: powerpc-cell64l.c): Remove.
    	(powerpc-vsx64l-ipa.o: powerpc-vsx64l.c): Remove.
    	(powerpc-isa205-64l-ipa.o: powerpc-isa205-64l.c): Remove.
    	(powerpc-isa205-altivec64l-ipa.o: powerpc-isa205-altivec64l.c): Remove.
    	(powerpc-isa205-vsx64l-ipa.o: powerpc-isa205-vsx64l.c): Remove.
    	(tdesc-ipa.o: tdesc.c): Remove.
    	(x32-linux-ipa.o: x32-linux.c): Remove.
    	(x32-avx-linux-ipa.o: x32-avx-linux.c): Remove.
    	(x32-avx512-linux-ipa.o: x32-avx512-linux.c): Remove.

commit 50cfacb78f3998e5ecc653090e4f1a11dfb3d8dd
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:03 2017 -0400

    gdbserver: Use pattern rule for objects from arch/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../arch/%.c): New rule.
    	(arm.o: ../arch/arm.c): Remove.
    	(arm-linux.o: ../arch/arm-linux.c): Remove.
    	(arm-get-next-pcs.o: ../arch/arm-get-next-pcs.c): Remove.
    	(aarch64-insn.o: ../arch/aarch64-insn.c): Remove.

commit c5a22423d09e3bf670fb0de0a98e6feb6176eb3f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:03 2017 -0400

    gdbserver: Use pattern rule for objects from nat/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../nat/%.c): New rule.
    	(x86-dregs.o: ../nat/x86-dregs.c): Remove.
    	(amd64-linux-siginfo.o: ../nat/amd64-linux-siginfo.c): Remove.
    	(linux-btrace.o: ../nat/linux-btrace.c): Remove.
    	(linux-osdata.o: ../nat/linux-osdata.c): Remove.
    	(linux-procfs.o: ../nat/linux-procfs.c): Remove.
    	(linux-ptrace.o: ../nat/linux-ptrace.c): Remove.
    	(linux-waitpid.o: ../nat/linux-waitpid.c): Remove.
    	(mips-linux-watch.o: ../nat/mips-linux-watch.c): Remove.
    	(ppc-linux.o: ../nat/ppc-linux.c): Remove.
    	(linux-personality.o: ../nat/linux-personality.c): Remove.
    	(aarch64-linux-hw-point.o: ../nat/aarch64-linux-hw-point.c): Remove.
    	(aarch64-linux.o: ../nat/aarch64-linux.c): Remove.
    	(x86-linux.o: ../nat/x86-linux.c): Remove.
    	(x86-linux-dregs.o: ../nat/x86-linux-dregs.c): Remove.
    	(linux-namespaces.o: ../nat/linux-namespaces.c): Remove.

commit 6bda016bec556855c6d4e191f360f921faa40ded
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:02 2017 -0400

    gdbserver: Use pattern rule for objects from common/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../common/%.c): New rule.
    	(signals.o: ../common/signals.c): Remove.
    	(print-utils.o: ../common/print-utils.c): Remove.
    	(rsp-low.o: ../common/rsp-low.c): Remove.
    	(common-utils.o: ../common/common-utils.c): Remove.
    	(posix-strerror.o: ../common/posix-strerror.c): Remove.
    	(mingw-strerror.o: ../common/mingw-strerror.c): Remove.
    	(vec.o: ../common/vec.c): Remove.
    	(gdb_vecs.o: ../common/gdb_vecs.c): Remove.
    	(xml-utils.o: ../common/xml-utils.c): Remove.
    	(ptid.o: ../common/ptid.c): Remove.
    	(buffer.o: ../common/buffer.c): Remove.
    	(format.o: ../common/format.c): Remove.
    	(filestuff.o: ../common/filestuff.c): Remove.
    	(agent.o: ../common/agent.c): Remove.
    	(errors.o: ../common/errors.c): Remove.
    	(environ.o: ../common/environ.c): Remove.
    	(common-debug.o: ../common/common-debug.c): Remove.
    	(cleanups.o: ../common/cleanups.c): Remove.
    	(common-exceptions.o: ../common/common-exceptions.c): Remove.
    	(fileio.o: ../common/fileio.c): Remove.
    	(common-regcache.o: ../common/common-regcache.c): Remove.
    	(signals-state-save-restore.o: ../common/signals-state-save-restore.c): Remove.
    	(new-op.o: ../common/new-op.c): Remove.
    	(btrace-common.o: ../common/btrace-common.c): Remove.

commit 21122961ecea30b3be7c788e09179d297e3233f0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:02 2017 -0400

    gdbserver: Use pattern rule for objects from target/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../target/%.c): New rule.
    	(waitstatus.o: ../target/waitstatus.c): Remove.

commit c362e6217b556ce932250c340218f1ca16391070
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:01 2017 -0400

    gdbserver: Use pattern rule for regformats source file generation
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in
    	(%.c: ../regformats/%.dat,
    	(%.c: ../regformats/arm/%.dat,
    	(%.c: ../regformats/i386/%.dat,
    	(%.c: ../regformats/rs6000/%.dat): New rules.
    	(aarch64.c): Remove.
    	(reg-arm.c): Remove.
    	(arm-with-iwmmxt.c): Remove.
    	(arm-with-vfpv2.c): Remove.
    	(arm-with-vfpv3.c): Remove.
    	(arm-with-neon.c): Remove.
    	(reg-bfin.c): Remove.
    	(reg-cris.c): Remove.
    	(reg-crisv32.c): Remove.
    	(i386.c): Remove.
    	(i386-linux.c): Remove.
    	(i386-avx.c): Remove.
    	(i386-avx-linux.c): Remove.
    	(i386-avx-avx512.c): Remove.
    	(i386-avx-avx512-linux.c): Remove.
    	(i386-mpx.c): Remove.
    	(i386-mpx-linux.c): Remove.
    	(i386-avx-mpx-avx512-pku.c): Remove.
    	(i386-avx-mpx-avx512-pku-linux.c): Remove.
    	(i386-avx-mpx.c): Remove.
    	(i386-avx-mpx-linux.c): Remove.
    	(i386-mmx.c): Remove.
    	(i386-mmx-linux.c): Remove.
    	(reg-ia64.c): Remove.
    	(reg-m32r.c): Remove.
    	(reg-m68k.c): Remove.
    	(reg-cf.c): Remove.
    	(mips-linux.c): Remove.
    	(mips-dsp-linux.c): Remove.
    	(mips64-linux.c): Remove.
    	(mips64-dsp-linux.c): Remove.
    	(nios2-linux.c): Remove.
    	(powerpc-32.c): Remove.
    	(powerpc-32l.c): Remove.
    	(powerpc-altivec32l.c): Remove.
    	(powerpc-cell32l.c): Remove.
    	(powerpc-vsx32l.c): Remove.
    	(powerpc-isa205-32l.c): Remove.
    	(powerpc-isa205-altivec32l.c): Remove.
    	(powerpc-isa205-vsx32l.c): Remove.
    	(powerpc-e500l.c): Remove.
    	(powerpc-64l.c): Remove.
    	(powerpc-altivec64l.c): Remove.
    	(powerpc-cell64l.c): Remove.
    	(powerpc-vsx64l.c): Remove.
    	(powerpc-isa205-64l.c): Remove.
    	(powerpc-isa205-altivec64l.c): Remove.
    	(powerpc-isa205-vsx64l.c): Remove.
    	(s390-linux32.c): Remove.
    	(s390-linux32v1.c): Remove.
    	(s390-linux32v2.c): Remove.
    	(s390-linux64.c): Remove.
    	(s390-linux64v1.c): Remove.
    	(s390-linux64v2.c): Remove.
    	(s390-te-linux64.c): Remove.
    	(s390-vx-linux64.c): Remove.
    	(s390-tevx-linux64.c): Remove.
    	(s390x-linux64.c): Remove.
    	(s390x-linux64v1.c): Remove.
    	(s390x-linux64v2.c): Remove.
    	(s390x-te-linux64.c): Remove.
    	(s390x-vx-linux64.c): Remove.
    	(s390x-tevx-linux64.c): Remove.
    	(tic6x-c64xp-linux.c): Remove.
    	(tic6x-c64x-linux.c): Remove.
    	(tic6x-c62x-linux.c): Remove.
    	(reg-sh.c): Remove.
    	(reg-sparc64.c): Remove.
    	(reg-spu.c): Remove.
    	(amd64.c): Remove.
    	(amd64-linux.c): Remove.
    	(amd64-avx.c): Remove.
    	(amd64-avx-linux.c): Remove.
    	(amd64-avx-avx512.c): Remove.
    	(amd64-avx-avx512-linux.c): Remove.
    	(amd64-mpx.c): Remove.
    	(amd64-mpx-linux.c): Remove.
    	(amd64-avx-mpx-avx512-pku.c): Remove.
    	(amd64-avx-mpx-avx512-pku-linux.c): Remove.
    	(amd64-avx-mpx.c): Remove.
    	(amd64-avx-mpx-linux.c): Remove.
    	(x32.c): Remove.
    	(x32-linux.c): Remove.
    	(x32-avx.c): Remove.
    	(x32-avx-linux.c): Remove.
    	(x32-avx-avx512.c): Remove.
    	(x32-avx-avx512-linux.c): Remove.
    	(reg-xtensa.c): Remove.
    	(reg-tilegx.c): Remove.
    	(reg-tilegx32.c): Remove.

commit 7978d7c385b072a344d969f71cdc68e1a1171ec2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Mar 13 18:02:08 2017 -0400

    testsuite: Disable backslash_in_multi_line_command_test for old DejaGnus
    
    I noticed that backslash_in_multi_line_command_test in
    gdb.base/commands.exp failed on our RHEL6 servers.  I traced it to the
    old version of DejaGnu (1.4.4).  I have found that instead of receiving
    the expected:
    
      "print \\\nargc\n"
    
    gdb received:
    
      "print  argc\n"
    
    thus breaking the test and its purpose.  Versionof DejaGnu < 1.5 mess
    up sending "\\\n", it somehow gets replaced with a space.  I found that
    the following commit in DejaGnu fixed the issue:
    
    http://git.savannah.gnu.org/cgit/dejagnu.git/commit/lib/remote.exp?id=3f39294f5cd6802858838d3bcc0ccce847ae17f2
    
    Even though the commit is almost 10 years old, the following release of
    DejaGnu was only in 2013, which is why we still have systems with the
    old code.
    
    If the DejaGnu version is < 1.5, we just skip the test.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/commands.exp (backslash_in_multi_line_command_test):
    	Skip for versions of DejaGnu < 1.5.

commit 896c0c1edee117ea333c66b1adac8c6f4def3f2b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Mar 13 18:02:07 2017 -0400

    testsuite: Introduce dejagnu_version
    
    The next patch will require checking the DejaGnu version.  There is
    already a test that does this,
    gdb.threads/attach-many-short-lived-threads.exp.  This patch introduces
    a new procedure, dejagnu_version, and makes that test use it.
    
    The version number is "right-padded" with zeroes, to make sure that we
    always return a triplet (major, minor, patch).
    
    The procedure does not consider the DejaGnu versions from git.  For
    example, if you used DejaGnu from its current master branch, the version
    would be "1.6.1-git", meaning that 1.6.1 will be the next release.  I
    figured we'll cross that bridge when (and if) we get there.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/gdb.exp (dejagnu_version): New proc.
    	* gdb.threads/attach-many-short-lived-threads.exp (bad_dejagnu):
    	Use dejagnu_version.

commit b9da89d161e3903faa335f444af2bf05e40f926e
Author: mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Mar 13 18:26:47 2017 +0000

    Merge libiberty: Initialize d_printing in all cplus_demangle_fill_* functions.
    
    While integrating the d_printing recursion guard change into gdb I
    noticed we forgot to initialize the demangle_component d_printing
    field in cplus_demangle_fill_{name,extended_operator,ctor,dtor}.
    As is done in cplus_demangle_fill_{component,builtin_type,operator}.
    It happened to work because in gcc all demangle_components were
    allocated through d_make_empty. But gdb has its own allocation
    mechanism (as might other users).
    
    libiberty/ChangeLog:
    
           * cp-demangle.c (cplus_demangle_fill_name): Initialize
           demangle_component d_printing.
           (cplus_demangle_fill_extended_operator): Likewise.
           (cplus_demangle_fill_ctor): Likewise.
           (cplus_demangle_fill_dtor): Likewise.
    
    gdb/ChangeLog:
    
           * cp-name-parser.y (make_empty): Initialize d_printing to zero.

commit c793cac124dd2eb34042f2e43abb099a26e34cb0
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 13 17:49:32 2017 +0000

    Sync libiberty sources with GCC.
    
    	PR demangler/70909
    	PR demangler/67264
    	* cp-demangle.c: Fix endless recursion. Pass
    	struct demangle_component as non const.
    	(d_make_empty): Initialize variable.
    	(d_print_comp_inner): Limit recursion.
    	(d_print_comp): Decrement variable.
    	* cp-demint.c (cplus_demangle_fill_component): Initialize
    	variable.
    	(cplus_demangle_fill_builtin_type): Likewise.
    	(cplus_demangle_fill_operator): Likewise.
    	* testsuite/demangle-expected: Add tests.

commit 5ef2d51bd6ae49b28282835156d1d6622beac4a6
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 13 20:56:25 2017 +1030

    objdump -dS: warn if source is more recent than object
    
    If the source file is more recent than the object file, line number
    information in the object may no longer match the source.  So print a
    warning message.
    
    	* objdump.c (update_source_path): Add abfd param.  Add struct
    	stat vars.  Pass to try_print_file_open.  Warn if source is more
    	recent than object.
    	(try_print_file_open, slurp_file): Add struct stat param to
    	return fstat.
    	(show_line): Call update_source_path with bfd.

commit f955cccff399ccc4e16b8e90f140f2e9a785a07b
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 13 09:58:04 2017 +0000

    Rename R_AARCH64_TLSDESC_LD64_LO12_NC to R_AARCH64_TLSDESC_LD64_LO12 and R_AARCH64_TLSDESC_ADD_LO12_NC to R_AARCH64_TLSDESC_ADD_LO12.
    
    	PR binutils/21202
    include	* elf/aarch64.h (R_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
    	R_AARCH64_TLSDESC_LD64_LO12.
    	(R_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
    	R_AARCH64_TLSDESC_ADD_LO12_NC.
    
    bfd	* reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
    	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
    	(BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
    	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    	* elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
    	names.
    	(IS_AARCH64_TLSDESC_RELOC): Likewise.
    	(elfNN_aarch64_howto_table): Likewise.
    	(aarch64_tls_transition_without_check): Likewise.
    	(aarch64_reloc_got_type): Likewise.
    	(elfNN_aarch64_final_link_relocate): Likewise.
    	(elfNN_aarch64_tls_relax): Likewise.
    	(elfNN_aarch64_relocate_section): Likewise.
    	(elfNN_aarch64_gc_sweep_hook): Likewise.
    	(elfNN_aarch64_check_relocs): Likewise.
    	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
    	(_bfd_aarch64_elf_resolve_relocation): Likewise.
    
    gas	* config/tc-aarch64.c (reloc_table): Rename
    	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC to
    	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.  Rname
    	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC to
    	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
    	(md_apply_fix): Likewise.
    	(aarch64_force_relocation): Likewise.
    	* testsuite/gas/aarch64/tls.d: Update regexp.
    
    ld	* testsuite/ld-aarch64/ifunc-5r-local.d: Update regexp.

commit d40e34db392f834793fb9af487121776b4cec6e7
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Mar 10 15:16:19 2017 +0100

    ld: add an error in case of address space overflow.
    
    ld/
    	* ldlang.c (lang_check_section_addresses): Check for address space
    	overflow.
    	* testsuite/ld-checks/checks.exp (overflow_check): New procedure
    	* testsuite/ld-checks/over.s: New test source.
    	* testsuite/ld-checks/over.d: New test.
    	* testsuite/ld-checks/over2.s: New test source.
    	* testsuite/ld-checks/over2.d: New test.

commit 4b5900d8b81522bd6ebe4d94d45dfb54d1982c62
Author: Alexey Neyman <stilor@att.net>
Date:   Sun Mar 12 20:49:46 2017 -0700

    PowerPC: incorrect library search order
    
    First, need to match against just the CPU name, not the whole triplet.
    Otherwise, the test picks up "*le-*" pattern from x86_64-apple-darwin
    triplet.
    
    Second, it should be testing for $target, not $host. Host may be
    little endian by default, and the sysroot directory layout shouldn't
    depend on whether it is built on LE or BE machine.
    
    	* emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target
    	cpu, not host.

commit b9d62f893fcc0b4c36aad0552810dcde304979d0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 13 00:00:21 2017 +0000

    Automatic date update in version.in

commit d5bb792ca130aac17e080325e4005ef417ceabd5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 12 00:00:28 2017 +0000

    Automatic date update in version.in

commit 118aa6cf395aec093fe12d7fb2d05441791a93fa
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 23:37:02 2017 +1030

    Add sysroot for ld -rpath search
    
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Add
    	sysroot for -rpath search.

commit 316a1245fe31e327223ca66797b789eaf9544c2c
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 22:57:29 2017 +1030

    Rewrite add_sysroot
    
    Relative paths shouldn't have the sysroot prefix added.  The patch
    also makes some attempt at supporting DOS paths, and tidies code using
    the new add_sysroot.
    
    	* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Rewrite.
    	Only prefix absolute paths with sysroot.  Handle DOS paths.
    	(gld${EMULATION_NAME}_check_ld_elf_hints): Constify variable.
    	(gld${EMULATION_NAME}_check_ld_so_conf): Likewise.
    	(gld${EMULATION_NAME}_after_open): Short-circuit NULL path
    	searches.  Rename variable.  Simplify get_runpath search.

commit 4aef764338ed40a7fa9573b0e6e2ade817acd688
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 20:56:51 2017 +1030

    Remove bogus ATTRIBUTE_UNUSED
    
    	* elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
    	parameter is in fact used.  Whitespace fixes.
    	* elf64-ppc.c: Likewise.

commit bb4287c562027eafe63ddac9fd4c7e1730335795
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 11:04:02 2017 +1030

    Don't use -rdynamic in ld test
    
    This gcc option isn't well supported, so use the actual linker option
    we want to test.
    
    	* testsuite/ld-elf/shared.exp: Use -Wl,-export-dynamic rather
    	than -rdynamic.

commit e299b3551edbe81be2062fcaef9319d681d0d15b
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 10:51:56 2017 +1030

    Don't run new orphan tests on i860 and i960
    
    These targets use the generic ELF support, so don't handle orphans
    well.  The patch also updates the orphan doco to reflect this fact,
    and deletes some ELF details that don't really add anything.
    
    	* ld.texinfo (Orphan Sections): Mention that not all targets
    	handle orphans well.  Delete ELF details.
    	* testsuite/ld-elf/orphan-9.d: Don't run for i860 and i960.
    	* testsuite/ld-elf/orphan-10.d: Likewise.

commit a08f8d99b87b0b0f681a27eba8e25e2fb0abd034
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 11 00:00:23 2017 +0000

    Automatic date update in version.in

commit 5f4d10850850cd95af5e95a16848c8c07a273d88
Author: Keith Seitz <keiths@redhat.com>
Date:   Fri Mar 10 10:32:09 2017 -0800

    c++/8218: Destructors w/arguments.
    
    For a long time now, c++/8218 has noted that GDB is printing argument types
    for destructors:
    
    (gdb) ptype A
    type = class A {
      public:
        ~A(int);
    }
    
    This happens because cp_type_print_method_args doesn't ignore artificial
    arguments.  [It ignores the first `this' pointer because it simply skips
    the first argument for any non-static function.]
    
    This patch fixes this:
    
    (gdb) ptype  A
    type = class A {
      public:
        ~A();
    }
    
    I've adjusted gdb.cp/templates.exp to account for this and added a new
    passing regexp.
    
    gdb/ChangeLog
    
    	PR c++/8218
    	* c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
    
    gdb/testsuite/ChangeLog
    
    	PR c++/8128
    	* gdb.cp/templates.exp (test_ptype_of_templates): Remove argument
    	type from destructor regexps.
    	Add a branch which actually passes the test.
    	Adjust "ptype t5i" test names.

commit 7b5d48229b7faa16f69e87fb269f17db0291d89f
Author: Chia-Hao Lo <fcamel@gmail.com>
Date:   Fri Mar 10 16:29:58 2017 +0000

    Make objdump's --wide command line option affect its output of DWARF debug information.
    
    	PR binutils/21235
    	* objdump.c (main): Set do_wide with --wide.

commit 8b1e5da10ab58d2aa5eb84bf27de511294f061ef
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 10 15:42:04 2017 +0000

    Document that the .2byte and .4byte directives warn about overlarge values.
    
    	* doc/as.texinfo (2byte): Tidy up wording.  Add note that
    	overlarge values will produce a warning message and be trunacted.
    	(4byte): Likewise.

commit 55e22ca83ae50d6fe422cd0542f2a1a5934b2dd2
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 10 10:50:34 2017 +0000

    Add basic recognition of new EM_ ELF machine numbers.
    
    include	* elf/common.h (EM_LANAI): New machine number.
    	(EM_BPF): Likewise.
    	(EM_WEBASSEMBLY): Likewise.
    	Move low value, deprecated, numbers to their numerical
    	equivalents.
    
    binutils * readelf.c (get_machine_name): Rearrange switch table in order of
    	increasing machine number.  Add missing entries.

commit f9f791a1b147c404a489485dba5eca49f8dbcbb9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 10 00:00:28 2017 +0000

    Automatic date update in version.in

commit 14ea2c1b230a62f312346fb16716b3dd4850815b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jan 17 19:13:29 2017 +0000

    ld: Track changes to default region LMA even for empty sections
    
    Given a linker script fragment like this:
    
       SECTIONS {
         . = 0x1000;
         .text   : AT(0x100) { *(.text)   }
         .data   : AT(0x200) { *(.data)   }
         .rodata : AT(0x300) { *(.rodata) }
       }
    
    and an input file containing sections, '.text', '.data.1', and
    '.rodata', then we'd expect the linker to place '.text' and '.rodata' in
    the obvious way, and the '.data.1' orphan section would be located after
    the '.data' section (assuming similar section properties).
    
    Further, I believe that the expectation would be that the LMA for the
    orphan '.data.1' section would start from 0x200 (as there is no '.data'
    content).
    
    However, right now, the LMA for '.data.1' would be 0x101, following on
    from the '.text' section, this is because the change in LMA for the
    '.data' section is not noticed by the linker, if there's no content in
    the '.data' section.
    
    What can be even more confusing to a user (though the cause is obvious
    once you understand what's going on) is that adding some content to
    '.data' will cause the orphan '.data.1' to switch to an LMA based off of
    0x200.
    
    This commit changes the behaviour so that an empty section that is in
    the default lma region, and sets its lma, will adjust the lma of the
    default region, this change will then be reflected in following sections
    within the default lma memory region.
    
    There's a new test to cover this issue that passes on a range of
    targets, however, some targets generate additional sections, or have
    stricter memory region size requirements that make it harder to come
    up with a generic pass pattern, that still tests the required
    features.  For now I've set the test to ignore these targets.
    
    ld/ChangeLog:
    
    	* ldlang.c (lang_size_sections_1): Shortcut loop only after
    	tracking changes to the default regions LMA.
    	* testsuite/ld-elf/orphan-9.ld: Extend header comment.
    	* testsuite/ld-elf/orphan-10.d: New file.
    	* testsuite/ld-elf/orphan-10.s: New file.
    	* NEWS: Mention change in behaviour.

commit 77f5e65ecfb669ea1d2fd74b74fbbf0d0c20daf8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jan 17 19:12:54 2017 +0000

    ld: better handling of lma region for orphan sections
    
    When picking an lma_region for an orphan section we currently create a
    new lang_output_section_statement_type and then populate this with the
    orphan section.
    
    The problem is that the lang_output_section_statement_type has a prev
    pointer that links back to the previous output section.  For non-orphan
    output sections, that are created in linker script order, the prev
    pointer will point to the output section that appears previous in linker
    script order, as you'd probably expect.
    
    The problem is that orphan sections are placed after processing the
    linker script, and so, in the case of an output section created for an
    orphan input section, the prev pointer actually points to the last
    output section created.
    
    This causes some unexpected behaviour when the orphan section is not
    placed after the last non-orphan section that was created.
    
    For example, consider this linker script:
    
      MEMORY {
        TEXT   : ORIGIN = 0x200,  LENGTH = 0x10
        RODATA : ORIGIN = 0x400,  LENGTH = 0x10
      }
    
      SECTIONS {
        .text   :           {*(.text)    } AT>TEXT
        .data   : AT(0x300) { *(.data)   }
        .rodata :           { *(.rodata) } AT>RODATA
      }
    
    If we are processing an orphan section '.data.1' and decide to place
    this after '.data', then the output section created will have a prev
    pointer that references the '.rodata' output section.  The result of
    this is that '.data.1' will actually be assigned to the RODATA lma
    region, which is probably not the expected behaviour.
    
    The reason why '.data.1' is placed into the lma region of the '.rodata'
    section is that lma region propagation is done at the time we create the
    output section, based on the previous output section pointer, which is
    really just a last-output-section-created pointer at that point in time,
    though the prev point is fixed up later to reflect the true order of the
    output sections.
    
    The solution I propose in this commit is to move the propagation of lma
    regions into a separate pass of the linker, rather than performing this
    as part of the enter/exit of output sections during linker script
    parsing.
    
    During this later phase we have all of the output sections to hand, and
    the prev/next points have been fixed up by this point to reflect the
    actual placement ordering.
    
    There's a new test to cover this issue that passes on a range of
    targets, however, some targets generate additional sections, or have
    stricter memory region size requirements that make it harder to come
    up with a generic pass pattern, that still tests the required
    features.  For now I've set the test to ignore these targets.
    
    ld/ChangeLog:
    
    	* ldlang.c (lang_leave_output_section_statement): Move lma_region
    	logic to...
    	(lang_propagate_lma_regions): ...this new function.
    	(lang_process): Call new function.
    	* testsuite/ld-elf/orphan-9.d: New file.
    	* testsuite/ld-elf/orphan-9.ld: New file.
    	* testsuite/ld-elf/orphan-9.s: New file.
    	* NEWS: Mention change in behaviour.

commit a87ded7b88a85b40f2aec5e5b6c972dd7b74b3a9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jan 17 18:08:17 2017 +0000

    ld: Orphan section documentation
    
    Make more explicit mention of the fact that orphan sections can cause a
    new output section to be created.  Though this information is clearly
    implied in the manual it might not be clear enough.
    
    A user _might_ (incorrectly) think that orphan sections can only be
    inserted into an existing output section.
    
    ld/ChangeLog:
    
    	* ld.texinfo (Orphan Sections): Add more detail.

commit 86fa6981e7487e2c2df4337aa75ed2d93c32eaf2
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 9 09:58:46 2017 -0800

    X86: Add pseudo prefixes to control encoding
    
    Many x86 instructions have more than one encodings.  Assembler picks
    the default one, usually the shortest one.  Although the ".s", ".d8"
    and ".d32" suffixes can be used to swap register operands or specify
    displacement size, they aren't very flexible.  This patch adds pseudo
    prefixes, {xxx}, to control instruction encoding.  The available
    pseudo prefixes are {disp8}, {disp32}, {load}, {store}, {vex2}, {vex3}
    and {evex}.  Pseudo prefixes are preferred over the ".s", ".d8" and
    ".d32" suffixes, which are deprecated.
    
    gas/
    
    	* config/tc-i386.c (_i386_insn): Add dir_encoding and
    	vec_encoding.  Remove swap_operand and need_vrex.
    	(extra_symbol_chars): Add '}'.
    	(md_begin): Mark '}' with LEX_BEGIN_NAME.  Allow '}' in
    	mnemonic.
    	(build_vex_prefix): Don't use 2-byte VEX encoding with
    	{vex3}.  Check dir_encoding and load.
    	(parse_insn): Check pseudo prefixes.  Set dir_encoding.
    	(VEX_check_operands): Likewise.
    	(match_template): Check dir_encoding and load.
    	(parse_real_register): Set vec_encoding instead of need_vrex.
    	(parse_register): Likewise.
    	* doc/c-i386.texi: Document {disp8}, {disp32}, {load}, {store},
    	{vex2}, {vex3} and {evex}.  Remove ".s", ".d8" and ".d32"
    	* testsuite/gas/i386/i386.exp: Run pseudos and x86-64-pseudos.
    	* testsuite/gas/i386/pseudos.d: New file.
    	* testsuite/gas/i386/pseudos.s: Likewise.
    	* testsuite/gas/i386/x86-64-pseudos.d: Likewise.
    	* testsuite/gas/i386/x86-64-pseudos.s: Likewise.
    
    opcodes/
    
    	* i386-gen.c (opcode_modifiers): Replace S with Load.
    	* i386-opc.h (S): Removed.
    	(Load): New.
    	(i386_opcode_modifier): Replace s with load.
    	* i386-opc.tbl: Add {disp8}, {disp32}, {swap}, {vex2}, {vex3}
    	and {evex}.  Replace S with Load.
    	* i386-tbl.h: Regenerated.

commit f03265d9cda1f5f8df238efa9b7a20330e5711f1
Author: Sam Thursfield <sam.thursfield@codethink.co.uk>
Date:   Thu Mar 9 15:58:39 2017 +0000

    Fix compile time warnings about using possibly uninitialised variables in rs6000-core.c.
    
    	* rs6000-core.c (CORE_NEW): Simplify macro when
    	AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.

commit c1fe188b154a4e81372629316be3d3a7820efdac
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 9 07:43:48 2017 -0800

    Use CpuCET on rdsspq
    
    	* i386-opc.tbl: Use CpuCET on rdsspq.
    	* i386-tbl.h: Regenerated.

commit 4b8b687e885287ed85dafffcebbb8d03d7ea2c38
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Wed Mar 8 20:49:03 2017 -0600

    Update -maltivec and -mvsx options to only enable their oldest instructions.
    
    Currently, the -maltivec and -mvsx GAS options enable *all* of the altivec
    and vsx instructions respecitively that have ever been added.  This is in
    constract to GCC's -maltivec and -mvsx options, which only enable the oldest
    (ie, first) set of altivec and vsx instructions.  This patch changes GAS to
    mimic GCC's behaviour with respect to -maltivec and -mvsx and it solves a
    problem with trying to assemble the lxvx instruction which is different
    between POWER8 and POWER9.
    
    opcodes/
    	* ppc-dis.c (ppc_opts) <altivec>: Do not use PPC_OPCODE_ALTIVEC2;
    	<vsx>: Do not use PPC_OPCODE_VSX3;
    
    gas/
    	* testsuite/gas/ppc/altivec2.d (as): Use the -mpower8 option.
    	(objdump): Use the -Mpower8 option.

commit c7341d5a6b334464d84672229d9912d99347db34
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 9 00:00:31 2017 +0000

    Automatic date update in version.in

commit 1de05205afe1ecd1f1fa2befc6843d0dc70adefc
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 22:05:36 2017 +0000

    Avoid unstable test message in gdb.base/step-over-exit.exp
    
    Currently diffing testrun results shows:
    
     -PASS: gdb.base/step-over-exit.exp: break *0x7ffff77e18c6 if main == 0
     +PASS: gdb.base/step-over-exit.exp: break *0x2aaaab0988c6 if main == 0
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/step-over-exit.exp: Add explicit test message.

commit 1437d0631b209500db8371c425e896deb66ec9f9
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Wed Mar 8 14:00:42 2017 -0600

    Add support for the new 'lnia' extended mnemonic.
    
    opcodes/
    	* ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.
    
    gas/
    	* testsuite/gas/ppc/power9.d <lnia> New test.
    	* testsuite/gas/ppc/power9.s: Likewise.

commit c65d6b55b3a592906c470c566f57ad8ceacc1605
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 18:54:34 2017 +0000

    Fix PR18360 - internal error when using "interrupt -a"
    
    If you do "interrupt -a" just while some thread is stepping over a
    breakpoint, gdb trips on an internal error.
    
    The test added by this patch manages to trigger this consistently by
    spawning a few threads that are constantly tripping on a conditional
    breakpoint whose condition always evaluates to false.  With current
    gdb, you get:
    
    ~~~
     interrupt -a
     .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=on: iter=0: interrupt -a (GDB internal error)
    [...]
     .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=0: wait for stops (GDB internal error)
    ~~~
    
    The assertion triggers because we're processing a stop for a thread
    that had already stopped before and thus had already its inline-frame
    state filled in.
    
    Calling handle_inferior_event_1 directly within a
    "thread_stop_requested" observer is something that I've wanted to get
    rid of before, for being fragile.  Nowadays, infrun is aware of
    threads with pending events, so we can use that instead, and let the
    normal fetch_inferior_event -> handle_inferior_event code path handle
    the forced stop.
    
    The change to finish_step_over is necessary because sometimes a thread
    that was told to PTRACE_SINGLESTEP reports back a SIGSTOP instead of a
    SIGTRAP (i.e., we tell it to single-step, and then interrupt it quick
    enough that on the kernel side the thread dequeues the SIGTOP before
    ever having had a chance of executing the instruction to be stepped).
    SIGSTOP gets translated to a GDB_SIGNAL_0.  And then finish_step_over
    would miss calling clear_step_over_info, and thus miss restarting the
    other threads (which in this case of threads with pending events,
    means setting their "resumed" flag, so their pending events can be
    consumed).
    
    And now that we always restart threads in finish_step_over, we no
    longer need to do that in handle_signal_stop.
    
    Tested on x86_64 Fedora 23, native and gdbserver.
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18360
    	* infrun.c (start_step_over, do_target_resume, resume)
    	(restart_threads): Assert we're not resuming a thread that is
    	meant to be stopped.
    	(infrun_thread_stop_requested_callback): Delete.
    	(infrun_thread_stop_requested): If the thread is internally
    	stopped, queue a pending stop event and clear the thread's
    	inline-frame state.
    	(handle_stop_requested): New function.
    	(handle_syscall_event, handle_inferior_event_1): Use
    	handle_stop_requested.
    	(handle_stop_requested): New function.
    	(handle_signal_stop): Set the thread's stop_signal here instead of
    	at caller.
    	(finish_step_over): Clear step over info unconditionally.
    	(handle_signal_stop): If the user had interrupted the event
    	thread, consider the stop a random signal.
    	(handle_signal_stop) <signal arrived while stepping over
    	breakpoint>: Don't restart threads here.
    	(stop_waiting): Don't clear step-over info here.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18360
    	* gdb.threads/interrupt-while-step-over.c: New file.
    	* gdb.threads/interrupt-while-step-over.exp: New file.

commit 15c22686d0e33d87262bc9075296eeddd7d955f7
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 15:52:16 2017 +0000

    gdb: Fix ATTRIBUTE_NONNULL usage
    
    Should fix the build failure with Clang mentioned at
    	<https://sourceware.org/bugzilla/show_bug.cgi?id=21206#c2>:
    
     In file included from ../../binutils-gdb/gdb/dwarf2read.c:72:
     ../../binutils-gdb/gdb/common/gdb_unlinker.h:35:35: error: '__nonnull__' attribute is invalid for the implicit this argument
       unlinker (const char *filename) ATTRIBUTE_NONNULL (1)
    				   ^                  ~
     ../../binutils-gdb/gdb/../include/ansidecl.h:169:48: note: expanded from macro 'ATTRIBUTE_NONNULL'
     #  define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m)))
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR 21206
    	* common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
    	goes to argument 2, not 1.

commit 1fc87489b40b3100badf184a7c266387bae47def
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Mar 8 07:44:04 2017 -0800

    Properly dump NT_GNU_PROPERTY_TYPE_0
    
    Property type and datasz are always 4 bytes for both 32-bit and 64-bit
    objects.  Property values for GNU_PROPERTY_X86_ISA_1_USED and
    GNU_PROPERTY_X86_ISA_1_NEEDED are 4 bytes for both i386 and x86-64
    objects.  We should also check GNU_PROPERTY_LOPROC and
    GNU_PROPERTY_LOUSER.
    
    binutils/
    
    	PR binutils/21231
    	* readelf.c (decode_x86_isa): Change argument to unsigned int.
    	(print_gnu_property_note): Retrieve property type and datasz as
    	4-byte integer.  Consolidate property datasz check.  Check
    	GNU_PROPERTY_LOPROC and GNU_PROPERTY_LOUSER.
    	* testsuite/binutils-all/i386/pr21231a.d: New file.
    	* testsuite/binutils-all/i386/pr21231a.s: Likewise.
    	* testsuite/binutils-all/i386/pr21231b.d: Likewise.
    	* testsuite/binutils-all/i386/pr21231b.s: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231a.s: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
    
    include/
    
    	PR binutils/21231
    	* elf/common.h (GNU_PROPERTY_LOPROC): New.
    	(GNU_PROPERTY_HIPROC): Likewise.
    	(GNU_PROPERTY_LOUSER): Likewise.
    	(GNU_PROPERTY_HIUSER): Likewise.

commit 2e86a2830cfef688a27e17353b84f59f8147ab23
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 14:05:41 2017 +0000

    gdb.arch/amd64-entry-value-param*.exp: Make sure test messages are unique
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.arch/amd64-entry-value-param-dwarf5.exp: Use with_test_prefix.
    	* gdb.arch/amd64-entry-value-param.exp: Use with_test_prefix.

commit 25dcbff6ef0088e080d92b3cbc346ae0b5071d9d
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 13:09:45 2017 +0000

    "gdb.arch/i386-pkru.exp: probe PKRU support" shouldn't FAIL if not supported
    
    Currently I get:
    
     (gdb) print have_pkru()
     $1 = 0
     (gdb) FAIL: gdb.arch/i386-pkru.exp: probe PKRU support
     UNSUPPORTED: gdb.arch/i386-pkru.exp: processor does not support protection key feature.
    
    Probing suceeded, so that should be a PASS -> UNSUPPORTED.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.arch/i386-pkru.exp (probe PKRU support): Handle detecting
    	PKRU as not supported as a PASS.

commit dc9366eb0592157e2125967690f0aed61b17bcf7
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 12:46:44 2017 +0000

    gdb: Fix a few unstable test names
    
    Avoid putting unstable path names in test messages, in order to avoid
    spurious testrun result diffs like:
    
     [....]
     -PASS: gdb.base/break-fun-addr.exp: /home/pedro/gdb/test-build1/gdb/testsuite/outputs/gdb.base/break-fun-addr/break-fun-addr1: break *main
     +PASS: gdb.base/break-fun-addr.exp: /home/pedro/gdb/test-build2/gdb/testsuite/outputs/gdb.base/break-fun-addr/break-fun-addr1: break *main
     [....]
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/break-fun-addr.exp: Use $testfile1/$testfile2 for test
    	prefix instead of $binfile1/$binfile2.
    	* gdb.btrace/gcore.exp: Use "core" instead of unstable path name
    	in test message.
    	* gdb.python/py-completion.exp: Use "load python file" as test
    	messages instead of unstable path names.

commit 6e5d74e74756fafe59e8198c4cc462cf7c57e12c
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 11:41:35 2017 +0000

    Fix PR 21218: GDB dumps core when escaping newline in multi-line command
    
    With commit 3b12939dfc2399 ("Replace the sync_execution global with a
    new enum prompt_state tristate"), GDB started aborting if you try
    splitting an input line with a continuation char (backslash) while in
    a multi-line command:
    
     (gdb) commands
     Type commands for breakpoint(s) 1, one per line.
     End with a line saying just "end".
     >print \
    
     (gdb) 1      # note "(gdb)" incorrectly printed here.
     >end
    
     readline: readline_callback_read_char() called with no handler!
     $
    
    That abort is actually a symptom of an old problem introduced when
    gdb_readline_wrapper was rewritten to use asynchronous readline, back
    in 2007.  Note how the "(gdb)" prompt is printed above in the "(gdb)
    1" line.  Clearly it shouldn't be there, but it already was before the
    commit mentioned above.  Fixing that also fixes the readline abort
    shown above.
    
    The problem starts when command_line_input passes a NULL prompt to
    gdb_readline_wrapper when it finds previous incomplete input due to a
    backslash, trying to fetch more input without printing another ">"
    secondary prompt.  That itself should not be a problem, because
    passing NULL to gdb_readline_wrapper has the same meaning as passing a
    pointer to empty string, since gdb_readline_wrapper exposes the same
    interface as 'readline(char *)'.  However, gdb_readline_wrapper passes
    the prompt argument directly to display_gdb_prompt, and for the
    latter, a NULL prompt argument has a different meaning - it requests
    printing the primary prompt.
    
    Before commit 782a7b8ef9c096 (which rewrote gdb_readline_wrapper to
    use asynchronous readline), GDB behaved like this:
    
     (gdb) commands
     [....]
     >print \
     1
     >end
     (gdb)
    
    The above is what this commit restores GDB back to.
    
    New test included.
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR cli/21218
    	* top.c (gdb_readline_wrapper): Avoid passing NULL to
    	display_gdb_prompt.
    	(command_line_input): Add comment.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	PR cli/21218
    	* gdb.base/commands.exp (backslash_in_multi_line_command_test):
    	New proc.
    	(top level): Call it.

commit 5cf70512f835032c413f2554af07814e1dc05cd6
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Mar 8 11:14:41 2017 +0000

    [gdb, doc] Add missing escape character '@'
    
    gdb/doc/
            * gdb.texinfo (Memory Protection Extensions): Add missing escape
    	character "@".

commit 9753a2f6d74dc92d2ad94993a5479ee0edbc6887
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 00:14:59 2017 +0000

    Fix PR tui/21216: TUI line breaks regression
    
    Commit d7e747318f4d04 ("Eliminate make_cleanup_ui_file_delete / make
    ui_file a class hierarchy") regressed the TUI's command window.
    Newlines miss doing a "carriage return", resulting in output like:
    
    ~~~~~~~~~~~~~~~~~~
    (gdb) helpList of classes of commands:
    
                                          aliases -- Aliases of other commands
                                                                              breakpoints -- Making program stop at certain points
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Before the commit mentioned above, the default ui_file->to_write
    implementation had a hack that would defer into the ui_file->to_fputs
    method.  The TUI's ui_file did not implement the to_write method, so
    all writes would end up going to the ncurses window via tui_file_fputs
    -> tui_puts.
    
    After the commit above, the hack is gone, but the TUI's ui_file still
    does not implement the ui_file::write method.  Since tui_file inherits
    from stdio_file, writing to a tui_file ends up doing fwrite on the
    FILE stream the TUI is "associated" with, via stdio_file::write,
    instead of writing to the ncurses window.
    
    The fix is to have tui_file override the "write" method.
    
    New test included.
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR tui/21216
    	* tui/tui-file.c (tui_file::write): New.
    	* tui/tui-file.h (tui_file): Override "write".
    	* tui/tui-io.c (do_tui_putc, update_start_line): New functions,
    	factored out from ...
    	(tui_puts): ... here.
    	(tui_putc): Use them.
    	(tui_write): New function.
    	* tui/tui-io.h (tui_write): Declare.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR tui/21216
    	* gdb.tui/tui-nl-filtered-output.exp: New file.

commit 1a4dd9ddae4ce51724b4e08c6304e7c64f8f916f
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 00:14:58 2017 +0000

    Move TUI completion tests to gdb.tui/completion.exp
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/completion.exp: Move TUI completion tests to ...
    	* gdb.tui/completion.exp: ... this new file.

commit 7cbbff33a502dcba0264a1935840345274b8aee2
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 00:14:58 2017 +0000

    Move TUI testcases to new gdb/testsuite/gdb.tui/ directory
    
    Let's start putting TUI tests in their own dir.
    
    gdb/testsuite/
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-disasm-long-lines.c,
    	gdb.base/tui-disasm-long-lines.exp, gdb.base/tui-layout.c,
    	gdb.base/tui-layout.exp: Move to ...
    	* gdb.tui/: ... this new directory.

commit 50dbe6e1bc8589db8e900299ef03ce9ead4ef3d7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 8 00:00:42 2017 +0000

    Automatic date update in version.in

commit 1672e0d98d88d11b5c7d5793bd2cf29cbb56696f
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 09:20:00 2016 -0500

    Share gdb/environ.[ch] with gdbserver
    
    We will need access to the environment functions when we share
    fork_inferior between GDB and gdbserver, therefore we simply make the
    API on gdb/environ.[ch] available on common/.  No extra adjustments
    are needed to make it compile on gdbserver.
    
    gdb/ChangeLog:
    2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILES): Replace "environ.c" with
    	"common/environ.c".
    	(HFILES_NO_SRCDIR): Likewise, for "environ.h".
    	* environ.c: Include "common-defs.h" instead of "defs.h.  Moved
    	to...
    	* common/environ.c: ... here.
    	* environ.h: Moved to...
    	* common/environ.h: ... here.
    
    gdb/gdbserver/ChangeLog:
    2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILES): Add "common/environ.c".
    	(OBJS): Add "common/environ.h".

commit f7bb4e3a0d3738e8cce3dcded6ef12c9949cb85f
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Tue Mar 7 09:49:10 2017 -0600

    GDB: Fix some null pointer dereferences due to disassembler-options patch.
    
    gdb/
    	* gdbarch.sh (pstring_ptr): New static function.
    	(gdbarch_disassembler_options): Use it.
    	(gdbarch_verify_disassembler_options): Print valid_disassembler_options,
    	not valid_disassembler_option->name.
    	* gdbarch.c: Regenerate.

commit e45ced6c5e06b0092ac9f5497aa580cfad0c953c
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Tue Mar 7 09:39:13 2017 -0600

    Remove use of the no longer needed -mminimal-toc option.
    
    	* config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.

commit 5f6fd321915fae0194e01322d22cad4e451e8d20
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 12:44:58 2017 +0000

    Fix "layout reg" crash
    
    Commit d7e747318f4d04 ("Eliminate make_cleanup_ui_file_delete / make
    ui_file a class hierarchy") introduced a problem when using "layout
    regs", that leads gdb to crash when issuing:
    
    ./gdb ./a.out -ex 'layout regs' -ex start
    
    From the backtrace, it's caused by this 'delete' on tui_restore_gdbout():
    
     (gdb) bt
     #0  0x00007ffff6b962b2 in free () from /lib64/libc.so.6
     #1  0x000000000059fa47 in tui_restore_gdbout (ui=0x22997b0) at ../../gdb/tui/tui-regs.c:714
     #2  0x0000000000619996 in do_my_cleanups (pmy_chain=pmy_chain@entry=0x1e08320 <cleanup_chain>, old_chain=old_chain@entry=0x235b4b0) at ../../gdb/common/cleanups.c:154
     #3  0x0000000000619b1d in do_cleanups (old_chain=old_chain@entry=0x235b4b0) at ../../gdb/common/cleanups.c:176
     #4  0x000000000059fb0d in tui_register_format (frame=frame@entry=0x22564e0, regnum=regnum@entry=0) at ../../gdb/tui/tui-regs.c:747
     #5  0x000000000059ffeb in tui_get_register (data=0x2434d18, changedp=0x0, regnum=0, frame=0x22564e0) at ../../gdb/tui/tui-regs.c:768
     #6  tui_show_register_group (refresh_values_only=<optimized out>, frame=0x22564e0, group=0x1e09250 <general_group>) at ../../gdb/tui/tui-regs.c:287
     #7  tui_show_registers (group=0x1e09250 <general_group>) at ../../gdb/tui/tui-regs.c:156
     #8  0x00000000005a07cf in tui_check_register_values (frame=frame@entry=0x22564e0) at ../../gdb/tui/tui-regs.c:496
     #9  0x00000000005a3e65 in tui_check_data_values (frame=frame@entry=0x22564e0) at ../../gdb/tui/tui-windata.c:232
     #10 0x000000000059cf65 in tui_refresh_frame_and_register_information (registers_too_p=1) at ../../gdb/tui/tui-hooks.c:156
     #11 0x00000000006d5c05 in generic_observer_notify (args=0x7fffffffdbe0, subject=<optimized out>) at ../../gdb/observer.c:167
     #12 observer_notify_normal_stop (bs=<optimized out>, print_frame=print_frame@entry=1) at ./observer.inc:61
     #13 0x00000000006a6409 in normal_stop () at ../../gdb/infrun.c:8364
     #14 0x00000000006af8f5 in fetch_inferior_event (client_data=<optimized out>) at ../../gdb/infrun.c:3990
     #15 0x000000000066f0fd in gdb_wait_for_event (block=block@entry=0) at ../../gdb/event-loop.c:859
     #16 0x000000000066f237 in gdb_do_one_event () at ../../gdb/event-loop.c:322
     #17 0x000000000066f386 in gdb_do_one_event () at ../../gdb/event-loop.c:353
     #18 0x00000000007411bc in wait_sync_command_done () at ../../gdb/top.c:570
     #19 0x0000000000741426 in maybe_wait_sync_command_done (was_sync=0) at ../../gdb/top.c:587
     #20 execute_command (p=<optimized out>, p@entry=0x7fffffffe43a "start", from_tty=from_tty@entry=1) at ../../gdb/top.c:676
     #21 0x00000000006c2048 in catch_command_errors (command=0x741200 <execute_command(char*, int)>, arg=0x7fffffffe43a "start", from_tty=1) at ../../gdb/main.c:376
     #22 0x00000000006c2b60 in captured_main_1 (context=0x7fffffffde70) at ../../gdb/main.c:1119
     #23 captured_main (data=0x7fffffffde70) at ../../gdb/main.c:1140
     #24 gdb_main (args=args@entry=0x7fffffffdf90) at ../../gdb/main.c:1158
     #25 0x0000000000408cf5 in main (argc=<optimized out>, argv=<optimized out>) at ../../gdb/gdb.c:32
     (gdb) f 1
     #1  0x000000000059fa47 in tui_restore_gdbout (ui=0x22997b0) at ../../gdb/tui/tui-regs.c:714
     714	  delete gdb_stdout;
    
    The problem is simply that the commit mentioned above made the ui_file
    that gdb_stdout is temporarily set to be a stack-allocated
    string_file, while before it used to be a heap-allocated ui_file.  The
    fix is simply to remove the now-incorrect delete.
    
    New test included, which exercises enabling all TUI layouts, with and
    without execution.  (This particular crash only triggers with
    execution.)
    
    gdb/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
    
    gdb/testsuite/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-layout.c: New file.
    	* gdb.base/tui-layout.exp: New file.

commit 44959fa81858df7d06fd83b0595b66709e344074
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 12:21:00 2017 +0000

    Rename gdb.base/tui-layout.exp -> gdb.base/tui-disasm-long-lines.exp
    
    To better reflect what the testcase is about, and to make room for a
    different testcase.
    
    gdb/testsuite/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-layout.c: Rename to ...
    	* gdb.base/tui-disasm-long-lines.c: ... this.
    	* gdb.base/tui-layout.exp: Rename to ...
    	* gdb.base/tui-disasm-long-lines.exp: ... this.

commit f8c4e718c26a0181821398e09d96113c0ff49c15
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 12:11:45 2017 +0000

    Add describing intro comment to gdb.base/tui-layout.exp
    
    gdb/testsuite/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-layout.exp: Add intro comment and fix typo.

commit 6dbb839a78d343b0a7435ec7db46ee359b1f62ec
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 13:51:33 2017 +0000

    Fix whitespace/typos in gdb/ChangeLog and gdb/testsuite/ChangeLog

commit 4a612d6f67d605f480ce7eec7fd9ca1cd1087b35
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date:   Tue Mar 7 13:53:41 2017 +0100

    amd64-mpx: initialize BND register before performing inferior calls.
    
    This patch initializes the BND registers before executing the inferior
    call.  BND registers can be in arbitrary values at the moment of the
    inferior call.  In case the function being called uses as part of the
    parameters BND register, e.g. when passing a pointer as parameter, the
    current value of the register will be used.  This can cause boundary
    violations that are not due to a real bug or even desired by the user.
    In this sense the best to be done is set the BND registers to allow
    access to the whole memory, i.e. initialized state, before pushing the
    inferior call.
    
    2017-03-07  Walfred Tedeschi <walfred.tedeschi@intel.com>
    
    gdb/ChangeLog:
    
    	* i387-tdep.h (i387_reset_bnd_regs): Add function definition.
    	* i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
    	* i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
    	* amd64-tdep (amd64_push_dummy_call): Call i387_reset_bnd_regs.
    
    gdb/testsuite/ChangeLog:
    
    	* i386-mpx-call.c: New file.
    	* i386-mpx-call.exp: New file.
    
    gdb/doc/ChangeLog:
    
    	* Memory Protection Extensions: Add information about inferior
    	calls.

commit ea86f5344298e24801c262d9b52afcc9cb692959
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 19:39:32 2017 +1030

    Correct @section placement for makeinfo 4.13
    
    	* doc/as.texinfo (2byte, 4byte, 8byte): Correct @section placement.

commit 2b841ec2066db4870beaa5298feb02f5e20faf7b
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 16:46:36 2017 +1030

    Document .Nbyte assembler directives
    
    	* doc/as.texinfo (2byte, 4byte, 8byte): Document.
    	* doc/c-arm.texi (2byte, 4byte, 8byte): Omit if ELF.

commit d933941d6c5ce5b2dcaaa869919b6f3de06b725d
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 12:20:00 2017 +1030

    Fix ld uninitialized read of script ASSERT data structure
    
    lang_assignment_statement serves both assignments and asserts.
    
    	* ldlang.c (open_input_bfds): Check that lang_assignment_statement
    	is not an assert before referencing defsym.

commit b1b07054c08eea65ba8d1a9f771796d686f337e5
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 11:04:19 2017 +1030

    PowerPC64 abort due to dynamic relocs on hidden undefweak
    
    ppc64_elf_relocate_section lacked a check which meant that it emitted
    dynamic relocs against a hidden undefweak symbol for which no dynamic
    relocs had been allocated.
    
    	PR 21224
    	PR 20519
    	* elf64-ppc.c (ppc64_elf_relocate_section): Add missing
    	dyn_relocs check.

commit bb98f85480da563f4f6438abdabb68a69bc746b8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 7 00:00:39 2017 +0000

    Automatic date update in version.in

commit 603555e563725616246912711419637add54c961
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 6 15:26:37 2017 -0800

    Add support for Intel CET instructions
    
    Support Intel Control-flow Enforcement Technology (CET) instructions:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
    gas/
    
    	* config/tc-i386.c (cpu_arch): Add .cet.
    	* doc/c-i386.texi: Document cet.
    	* testsuite/gas/i386/cet-intel.d: New file.
    	* testsuite/gas/i386/cet.d: Likewise.
    	* testsuite/gas/i386/cet.s: Likewise.
    	* testsuite/gas/i386/x86-64-cet-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet.s: Likewise.
    	* testsuite/gas/i386/i386.exp: Run Intel CET tests.
    
    opcodes/
    
    	* i386-dis.c (REG_0F1E_MOD_3): New enum.
    	(MOD_0F1E_PREFIX_1): Likewise.
    	(MOD_0F38F5_PREFIX_2): Likewise.
    	(MOD_0F38F6_PREFIX_0): Likewise.
    	(RM_0F1E_MOD_3_REG_7): Likewise.
    	(PREFIX_MOD_0_0F01_REG_5): Likewise.
    	(PREFIX_MOD_3_0F01_REG_5_RM_1): Likewise.
    	(PREFIX_MOD_3_0F01_REG_5_RM_2): Likewise.
    	(PREFIX_0F1E): Likewise.
    	(PREFIX_MOD_0_0FAE_REG_5): Likewise.
    	(PREFIX_0F38F5): Likewise.
    	(dis386_twobyte): Use PREFIX_0F1E.
    	(reg_table): Add REG_0F1E_MOD_3.
    	(prefix_table): Add PREFIX_MOD_0_0F01_REG_5,
    	PREFIX_MOD_3_0F01_REG_5_RM_1, PREFIX_MOD_3_0F01_REG_5_RM_2,
    	PREFIX_0F1E, PREFIX_MOD_0_0FAE_REG_5 and PREFIX_0F38F5.  Update
    	PREFIX_0FAE_REG_6 and PREFIX_0F38F6.
    	(three_byte_table): Use PREFIX_0F38F5.
    	(mod_table): Use PREFIX_MOD_0_0F01_REG_5, PREFIX_MOD_0_0FAE_REG_5.
    	Add MOD_0F1E_PREFIX_1, MOD_0F38F5_PREFIX_2, MOD_0F38F6_PREFIX_0.
    	(rm_table): Add MOD_0F38F5_PREFIX_2, MOD_0F38F6_PREFIX_0,
    	RM_0F1E_MOD_3_REG_7.  Use PREFIX_MOD_3_0F01_REG_5_RM_1 and
    	PREFIX_MOD_3_0F01_REG_5_RM_2.
    	* i386-gen.c (cpu_flag_init): Add CPU_CET_FLAGS.
    	(cpu_flags): Add CpuCET.
    	* i386-opc.h (CpuCET): New enum.
    	(CpuUnused): Commented out.
    	(i386_cpu_flags): Add cpucet.
    	* i386-opc.tbl: Add Intel CET instructions.
    	* i386-init.h: Regenerated.
    	* i386-tbl.h: Likewise.

commit 1cccfb31f5ba0dbc1cd3c679daf2f5b40252c6e0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 6 15:00:52 2017 -0800

    Update x86-64-mpx-inval-2 test for COFF
    
    Assembler displays upper case hex numbers and we need to force a good
    alignment to avoid matching NOPs at the end.
    
    	* testsuite/gas/i386/x86-64-mpx-inval-2.s: Force a good alignment.
    	* testsuite/gas/i386/x86-64-mpx-inval-2.l: Expect [0-9A-F]+.

commit d274ecf4ddf76768af57e27f654b9ce6784b391c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Mar 6 16:06:42 2017 -0500

    Remove const in xtensa-linux-nat.c:fetch_gregs
    
    Fixes:
    
    /home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c: In function 'void fetch_gregs(regcache*, ptid_t, int)':
    /home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c:178:23: error: uninitialized const 'regs' [-fpermissive]
       const gdb_gregset_t regs;
                           ^
    
    gdb/ChangeLog:
    
    	* xtensa-linux-nat.c (fetch_gregs): Remove const.

commit 79a964dca572024447adf92e50959dc88aa4f27a
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 6 17:21:04 2017 +0000

    Fix reading numeric values from GNU BUILD NOTEs.
    
    	* readelf.c (print_gnu_build_attribute_name): Read byte values
    	from the name string as unsigned bytes.
    	(process_notes_at): Use memcpy to copy an unterminated name
    	string.

commit 73f07bffaf8d423295a38dde51dfe6ec7b273280
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 6 19:39:34 2017 +1030

    Don't decode powerpc insns with invalid fields
    
    Certain insns have restrictions on fields.  For example, the insn
    mentioned in the PR, lqarx, must specify an even general purpose
    register as its destination and that register cannot appear in
    either of the base or index reg fields.  This holds even when the RA0
    field is 0 (meaning a zero rather than r0).
    
    	PR 21124
    	* ppc-opc.c (extract_esync, extract_ls, extract_ral, extract_ram)
    	(extract_raq, extract_ras, extract_rbx): New functions.
    	(powerpc_operands): Use opposite corresponding insert function.
    	(Q_MASK): Define.
    	(powerpc_opcodes): Apply Q_MASK to all quad insns with even
    	register restriction.

commit ea0de82ec2d7f109ba179d8d55130805e680f02d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Mar 5 23:25:16 2017 +1030

    dw2gencfi.c DWARF2_FDE_RELOC_SIZE
    
    Add asserts that reloc size matches encoding size, and tidy.
    
    	* dw2gencfi.c (encoding_size): Return unsigned int.
    	(emit_expr_encoded): Assert size matches reloc bitsize.
    	(output_fde): Use unsigned for offset_size and addr_size.  Set
    	addr_size earlier and use in place of constant 4 and uses of
    	DWARF2_FDE_RELOC_SIZE.  Assert it matches reloc bitsize.

commit 9e1a8675d49a5bbb881f664f8b7a1081432c994d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Mar 5 22:55:29 2017 +1030

    gas/dw2gencfi.c formatting
    
    	* dw2gencfi.c: Wrap overlong lines.  Add parens for emacs
    	auto reformat.  Formatting and whitespace fixes.

commit 1f5345a614203185f7fdacbf4b000d2676de26dd
Author: Sam Thursfield <sam.thursfield@codethink.co.uk>
Date:   Fri Mar 3 14:14:35 2017 +0000

    binutils: Fix warning on platforms that don't have asprintf
    
    	* configure.ac (AC_CHECK_DECLS): Add asprintf.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 62e755d208d7359e722a248df3e74278779272c8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 6 00:00:34 2017 +0000

    Automatic date update in version.in

commit 49fced1206db40c71208c201165d65f92c69cebe
Author: Mark Wielaard <mark@klomp.org>
Date:   Sun Mar 5 23:37:54 2017 +0100

    gas: Emit name, comp_dir and producer strings in .debug_str.
    
    Putting the name, comp_dir and producer strings in the .debug_str section
    makes it possible to share them across CUs. This saves a small amount of
    space (about ~20K on a glibc libc.so.6 build with debuginfo). And makes
    it easier for tools like rpm debugedit to adjust the source paths when
    generating separate debuginfo files.
    
    gas/
           * dwarf2dbg.c (out_debug_abbrev): Use DW_FORM_strp instead of
           DW_FORM_string for DW_AT_name, DW_AT_comp_dir and DW_AT_producer.
           (out_debug_info): Accept symbols to name, comp_dir and producer
           in the .debug_str section and emit those offsets not full strings.
           (out_debug_str): New function that outputs the strings for name,
           comp_dir and producer in .debug_str and generates symbols to
           those strings.
           (out_debug_line): Create a .debug_str section if necessary and
           call out_debug_str before calling out_debug_info.
           * testsuite/gas/aarch64/dwarf.d: Add extra section symbol to
           expected output.

commit 2e0ce1c84d328bde4dca24b7cfc8b9c033ed271c
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Mar 5 14:49:54 2017 +1030

    Align eh_frame FDEs according to their encoding
    
    bfd/
    	* elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
    	* elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
    	(next_cie_fde_offset): New function.
    	(_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
    	(_bfd_elf_discard_section_eh_frame): Align zero terminator to
    	four bytes.  Align CIEs to four or eight bytes depending on
    	per_encoding_aligned8.  Align FDEs according to their encoding.
    	Pad last FDE to output section alignment.
    	(_bfd_elf_write_section_eh_frame): Adjust to suit.  Remove
    	assertion.
    	* elf64-ppc.c (glink_eh_frame_cie): Delete padding.
    	(ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
    	(ppc64_elf_finish_dynamic_sections): Adjust to suit.
    ld/
    	* testsuite/ld-elf/eh3.d: Adjust for eh_frame alignment change.
    	* testsuite/ld-elf/eh6.d: Likewise.
    	* testsuite/ld-alpha/tlsbin.dd: Likewise.
    	* testsuite/ld-alpha/tlsbin.td: Likewise.
    	* testsuite/ld-alpha/tlsbinr.dd: Likewise.
    	* testsuite/ld-alpha/tlspic.dd: Likewise.
    	* testsuite/ld-alpha/tlspic.rd: Likewise.
    	* testsuite/ld-alpha/tlspic.sd: Likewise.
    	* testsuite/ld-alpha/tlspic.td: Likewise.
    	* testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise.
    	* testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise.
    	* testsuite/ld-mips-elf/eh-frame3.d: Likewise.
    	* testsuite/ld-x86-64/pr20830a.d: Likewise.
    	* testsuite/ld-x86-64/pr21038a.d: Likewise.
    	* testsuite/ld-x86-64/pr21038b.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c.d: Likewise.

commit 0792e0e1199e76dce19a0f9fbdb29c75b8be8a9b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 5 00:00:22 2017 +0000

    Automatic date update in version.in

commit 921ea8830c62bf4a60af1783bdd443fd43286359
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 4 00:00:25 2017 +0000

    Automatic date update in version.in

commit 8ecbe595e69a84a0e3053884832d63af37113680
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Fri Mar 3 13:10:45 2017 -0800

    Fix umulh and smulh bugs.  Fix bugs in last week's sumov.s testsuite.
    
    	sim/aarch64/
    	* simulator.c (mul64hi): Shift carry left by 32.
    	(smulh): Change signum to negate.  If negate, invert result, and add
    	carry bit if low part of multiply result is zero.
    
    	sim/testsuite/sim/aarch64/
    	* sumov.s: Correct compare test values.
    	* sumulh.s: New.

commit df97be551faa262732128493c8ac159ae4b7f6d3
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Mar 3 12:58:24 2017 -0500

    Use range-based for loop in remote_add_target_side_commands
    
    gdb/ChangeLog:
    
    	* remote.c (remote_add_target_side_commands): Use range-based
    	for loop.

commit 7d45f3df96ca108f6d7d0c5e4279e22b820145fa
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Mar 3 17:16:19 2017 +0000

    Fetch lazy value before calling val_print
    
    As reported in PR 21165,
    
    (gdb) info locals^M
    gv = /home/yao/SourceCode/gnu/gdb/git/gdb/value.c:372: internal-error: int value_bits_any_optimized_out(const value*, int, int): Assertion `!value->lazy' failed.^M
    A problem internal to GDB has been detected,^M
    further debugging may prove unreliable.^M
    Quit this debugging session? (y or n) FAIL: gdb.ada/info_locals_renaming.exp: info locals (GDB internal error)
    Resyncing due to internal error.
    
    This internal error is caused by e8b24d9 (Remove parameter valaddr from
    la_val_print).  Commit e8b24d9 removes some calls to
    value_contents_for_printing, but value_fetch_lazy is not called, so the
    internal error above is triggered.  This patch adds value_fetch_lazy
    call before val_print.
    
    gdb:
    
    2017-03-03  Yao Qi  <yao.qi@linaro.org>
    
    	PR gdb/21165
    	* ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
    	value is lazy.
    	* valprint.c (common_val_print): Likewise.

commit 611a3ca929d6529f4e7576b0e2ffb588839c1b21
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 3 11:35:03 2017 +0000

    Make the linker fail if asked to create more than 1^16 ordinal values for PE targets.
    
    	PR 12969
    	* pe-dll.c (generate_edata): Fail if the input file(s) require too
    	many ordinals.

commit d20928fac9ab65449db910bd99a0f48ad29fb22b
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 3 10:22:16 2017 +0000

    Fix thinko in previous changelog entry.
    
    	PR ld/21212
    	* elf.c (rewrite_elf_program_header): Do not issue a warning for
    	empty segments which have a zero filesz, but a non-zero memsz.

commit b565cf21c80945d5e9baa6871653aae5add2d493
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 3 00:00:23 2017 +0000

    Automatic date update in version.in

commit 05ed43104ef2c3f75779438111e2913dbd4555a6
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 2 17:10:20 2017 +0000

    Support merging build notes in sections without the SHF_GNU_BUILD_NOTE flag set.
    
    	* objcopy.c (is_merged_note_section): Support build note sections
    	without the SHF_GNU_BUILD_NOTE section flag set.

commit f98450c6eee6878ebf5b052d231758026d250427
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 2 14:47:29 2017 +0000

    Disable warning message about a program header with no associated sections when that header's file size is non-zero.
    
    	PR ld/21212
    	* elf.c (rewrite_elf_program_header): Do not issue a warning for
    	empty segments which have a non-zero filesz.

commit c871dadee1817d4b9f3ba6ee792730c9eccf88e0
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 2 10:52:51 2017 +0000

    Fix snafu parsing GNU_BUILD_NOTEs on ARM and AArch64 architectures.
    
    	* readelf.c (print_gnu_build_attribute_description): Use global
    	symbols for OPEN attributes if at all possible.

commit b451e98a909e1a6afa71c4a4655adc4cfeea5249
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 2 10:58:19 2017 +0100

    New debug_displays_assert
    
    binutils/
    2017-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (debug_displays_assert): New static assertion.

commit d4620bee57be53f7a6b14c01b2ea22d22a61bef0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 2 10:06:00 2017 +0100

    Fix dwarf_section_display_enum regression by DWARF-5
    
    binutils/
    2017-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.h (enum dwarf_section_display_enum): Add loclists and rnglists.

commit 9875b36538d35f2292ddc3bb5e7c60e1582aa087
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Mar 2 01:24:15 2017 +0000

    GAS: Fix bogus "attempt to move .org backwards" relaxation errors
    
    Fix a commit 6afe8e98a664 ("internal error for backwards .org"),
    <https://www.sourceware.org/ml/binutils/2008-06/msg00212.html>,
    GAS regression that caused legitimate code to fail assembly with an
    "attempt to move .org backwards" error.
    
    For example with the `mips-linux' target we get:
    
    $ cat org.s
    	.set	mips16
    	la	$2, foo
    	.org	0x1000
    	.align	2
    foo:
    	.half	0
    $ as -o org.o org.s
    org.s: Assembler messages:
    org.s:3: Error: attempt to move .org backwards
    $
    
    where the location pointer is obviously not moved backwards with `.org'.
    
    The cause is positive `stretch' in relaxation due to a PC-relative ADDIU
    instruction (produced from the LA macro used) getting expanded from 2 to
    4 bytes as `foo' is noticed to be out of range for the short encoding.
    This in turn triggers logic in `relax_segment' which concludes in the
    processing of an `rs_org' frag produced that the location pointer is
    moved backwards while in fact only the amount to space forward to the
    location requested has shrunk, resulting in a negative growth of the
    frag.
    
    Correct the bad logic then and instead verify that the fixed part of an
    `rs_org' frag has not overrun the location requested, as per the comment
    already included with the error message:
    
    /* Growth may be negative, but variable part of frag
       cannot have fewer than 0 chars.  That is, we can't
       .org backwards.  */
    
    which accurately describes the regression scenario.  Move the comment
    ahead the conditional noted, for clarity.
    
    Add generic and MIPS test cases for the `.org' pseudo-op, including the
    test case discussed though not integrated with the offending commit in
    particular, adjusted to work across all targets.
    
    	gas/
    	* write.c (relax_segment) <rs_org>: Only bail out if the fixed
    	part of the frag has overrun the location requested.
    
    	* testsuite/gas/all/org-1.d: New test.
    	* testsuite/gas/all/org-2.d: New test.
    	* testsuite/gas/all/org-3.d: New test.
    	* testsuite/gas/all/org-4.d: New test.
    	* testsuite/gas/all/org-5.d: New test.
    	* testsuite/gas/all/org-6.d: New test.
    	* testsuite/gas/all/org-1.l: New stderr output.
    	* testsuite/gas/all/org-2.l: New stderr output.
    	* testsuite/gas/all/org-3.l: New stderr output.
    	* testsuite/gas/all/org-1.s: New test source.
    	* testsuite/gas/all/org-2.s: New test source.
    	* testsuite/gas/all/org-3.s: New test source.
    	* testsuite/gas/all/org-4.s: New test source.
    	* testsuite/gas/all/org-5.s: New test source.
    	* testsuite/gas/all/org-6.s: New test source.
    	* testsuite/gas/all/gas.exp: Run the new tests.
    
    	* testsuite/gas/mips/org-1.d: New test.
    	* testsuite/gas/mips/org-2.d: New test.
    	* testsuite/gas/mips/org-3.d: New test.
    	* testsuite/gas/mips/org-4.d: New test.
    	* testsuite/gas/mips/org-5.d: New test.
    	* testsuite/gas/mips/org-6.d: New test.
    	* testsuite/gas/mips/org-7.d: New test.
    	* testsuite/gas/mips/org-8.d: New test.
    	* testsuite/gas/mips/org-9.d: New test.
    	* testsuite/gas/mips/org-10.d: New test.
    	* testsuite/gas/mips/org-11.d: New test.
    	* testsuite/gas/mips/org-12.d: New test.
    	* testsuite/gas/mips/org-1.l: New stderr output.
    	* testsuite/gas/mips/org-4.l: New stderr output.
    	* testsuite/gas/mips/org-5.l: New stderr output.
    	* testsuite/gas/mips/org-6.l: New stderr output.
    	* testsuite/gas/mips/org-10.l: New stderr output.
    	* testsuite/gas/mips/org-1.s: New test source.
    	* testsuite/gas/mips/org-2.s: New test source.
    	* testsuite/gas/mips/org-3.s: New test source.
    	* testsuite/gas/mips/org-4.s: New test source.
    	* testsuite/gas/mips/org-5.s: New test source.
    	* testsuite/gas/mips/org-6.s: New test source.
    	* testsuite/gas/mips/org-7.s: New test source.
    	* testsuite/gas/mips/org-8.s: New test source.
    	* testsuite/gas/mips/org-9.s: New test source.
    	* testsuite/gas/mips/org-10.s: New test source.
    	* testsuite/gas/mips/org-11.s: New test source.
    	* testsuite/gas/mips/org-12.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 673cff9b8b3105f74ce97c202a0727f9e83e56e6
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Mar 2 10:24:14 2017 +1030

    PowerPC VLE typo fix
    
    	* elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.

commit 199add01b6704e1cd8a48945bd775fbe8524fa75
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Mar 2 10:23:42 2017 +1030

    Avoid gcc-7 warning killing ld testcases
    
    	* testsuite/ld-elf/shared.exp: Pass -ansi when compiling new.cc
    	and dl3.cc.

commit ecd78df2707734ccb2d0f6e5426321fa399befaa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 2 00:00:42 2017 +0000

    Automatic date update in version.in

commit 134e805d3e18cf700a5046912b8dca9301fe6f2e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 1 15:09:29 2017 +0000

    Sync libiberty sources with GCC mainline.
    
    Brings in:
      2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
    
    	PR PR c++/70182
    	* cp-demangle.c (d_unqualified_name): Handle "on" for
    	operator names.
    	* testsuite/demangle-expected: Add tests.
    
     2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
    
    	PR c++/77489
    	* cp-demangle.c (d_discriminator): Handle discriminator >= 10.
    	* testsuite/demangle-expected: Add tests for discriminator.
    
     2016-12-13  Jakub Jelinek  <jakub@redhat.com>
    
    	PR c++/78761
    	* cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
    	* testsuite/demangle-expected: Add test for decltype(auto).

commit 01cca2f95e4a448cbfb7dc940cc38fe89300b15f
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Wed Mar 1 14:51:13 2017 +0000

    [AArch64] Document +rcpc weak release consistency extension
    
    gas/
    	* doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.

commit 9ef920e933bf2ea228c909cf81636e6d9577e51e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 1 11:09:46 2017 +0000

    Add support for displaying and merging GNU_BUILD_NOTEs.
    
    include	* elf/common.h (SHF_GNU_BUILD_NOTE): Define.
    	(NT_GNU_PROPERTY_TYPE_0): Define.
    	(NT_GNU_BUILD_ATTRIBUTE_OPEN): Define.
    	(NT_GNU_BUILD_ATTRIBUTE_FUN): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_NUMERIC): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_STRING): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_BOOL_TRUE): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_BOOL_FALSE): Define.
    	(GNU_BUILD_ATTRIBUTE_VERSION): Define.
    	(GNU_BUILD_ATTRIBUTE_STACK_PROT): Define.
    	(GNU_BUILD_ATTRIBUTE_RELRO): Define.
    	(GNU_BUILD_ATTRIBUTE_STACK_SIZE): Define.
    	(GNU_BUILD_ATTRIBUTE_TOOL): Define.
    	(GNU_BUILD_ATTRIBUTE_ABI): Define.
    	(GNU_BUILD_ATTRIBUTE_PIC): Define.
    	(NOTE_GNU_PROPERTY_SECTION_NAME): Define.
    	(GNU_BUILD_ATTRS_SECTION_NAME): Define.
    	(GNU_PROPERTY_STACK_SIZE): Define.
    	(GNU_PROPERTY_NO_COPY_ON_PROTECTED): Define.
    	(GNU_PROPERTY_X86_ISA_1_USED): Define.
    	(GNU_PROPERTY_X86_ISA_1_NEEDED): Define.
    	(GNU_PROPERTY_X86_ISA_1_486): Define.
    	(GNU_PROPERTY_X86_ISA_1_586): Define.
    	(GNU_PROPERTY_X86_ISA_1_686): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE2): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE3): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSSE3): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE4_1): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE4_2): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX2): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512F): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512CD): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512ER): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512PF): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512VL): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512DQ): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512BW): Define.
    
    binutils* readelf.c (get_note_type): Add support for GNU_BUILD_NOTEs.
    	(get_gnu_elf_note_type): Add support for GNU_PROPERTY_NOTEs.
    	(decode_x86_isa): New function.
    	(print_gnu_property_note): New function.
    	(print_gnu_note): Handle GNU_PROPERTY_NOTEs.
    	(print_gnu_build_attribute_description): New function.
    	(print_gnu_build_attribute_name): New function.
    	(process_note): Add support for GNU_BUILD_NOTEs.
    	* objcopy.c (--merge-notes): New command line option.
    	(copy_options): Add merge-notes.
    	(copy_usage): Likewise.
    	(is_merge_note_section): New function.
    	(merge_gnu_build_notes): New function.
    	(copy_object): Merge note sections if asked to do so.
    	(skip_section): Add skip_copy parameter.  Add support for skipping
    	merged note sections.
    	(copy_relocations_in_section): Update call to skip_section.
    	(copy_section): Likewise.
    	(copy_main): Add support for merge-notes option.
    	* doc/binutils.texi: Document the new option to objcopy.
    	* NEWS: Mention the new feature.
    	* testsuite/binutils-all/note-2-32.d: New test.  Checks note
    	merging on 32-bit targets.
    	* testsuite/binutils-all/note-2-32.s: New test source file.
    	* testsuite/binutils-all/note-2-64.d: New test.  Like note-2-32.d
    	but for 64-bit targets.
    	* testsuite/binutils-all/note-2-64.s: New test source file.
    	* testsuite/binutils-all/objcopy.exp: Run the new test.

commit a7e8b06b8901309632fad842ffd7d90a81447c80
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 1 00:01:00 2017 +0000

    Automatic date update in version.in

commit 65b48a81404cb058c75c562f7dfdeb74f07eba72
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Tue Feb 28 12:32:07 2017 -0600

    GDB: Add support for the new set/show disassembler-options commands.
    
    This commit adds support to GDB so that it can modify the disassembler-options
    value that is passed to the disassembler, similar to objdump's -M option.
    Currently, the only supported targets are ARM, PowerPC and S/390, but
    adding support for a new target(s) is not difficult.
    
    include/
    	* dis-asm.h (disasm_options_t): New typedef.
    	(parse_arm_disassembler_option): Remove prototype.
    	(set_arm_regname_option): Likewise.
    	(get_arm_regnames): Likewise.
    	(get_arm_regname_num_options): Likewise.
    	(disassemble_init_s390): New prototype.
    	(disassembler_options_powerpc): Likewise.
    	(disassembler_options_arm): Likewise.
    	(disassembler_options_s390): Likewise.
    	(remove_whitespace_and_extra_commas): Likewise.
    	(disassembler_options_cmp): Likewise.
    	(next_disassembler_option): New inline function.
    	(FOR_EACH_DISASSEMBLER_OPTION): New macro.
    
    opcodes/
    	* disassemble.c Include "safe-ctype.h".
    	(disassemble_init_for_target): Handle s390 init.
    	(remove_whitespace_and_extra_commas): New function.
    	(disassembler_options_cmp): Likewise.
    	* arm-dis.c: Include "libiberty.h".
    	(NUM_ELEM): Delete.
    	(regnames): Use long disassembler style names.
    	Add force-thumb and no-force-thumb options.
    	(NUM_ARM_REGNAMES): Rename from this...
    	(NUM_ARM_OPTIONS): ...to this.  Use ARRAY_SIZE.
    	(get_arm_regname_num_options): Delete.
    	(set_arm_regname_option): Likewise.
    	(get_arm_regnames): Likewise.
    	(parse_disassembler_options): Likewise.
    	(parse_arm_disassembler_option): Rename from this...
    	(parse_arm_disassembler_options): ...to this.  Make static.
    	Use new FOR_EACH_DISASSEMBLER_OPTION macro to scan over options.
    	(print_insn): Use parse_arm_disassembler_options.
    	(disassembler_options_arm): New function.
    	(print_arm_disassembler_options): Handle updated regnames.
    	* ppc-dis.c: Include "libiberty.h".
    	(ppc_opts): Add "32" and "64" entries.
    	(ppc_parse_cpu): Use ARRAY_SIZE and disassembler_options_cmp.
    	(powerpc_init_dialect): Add break to switch statement.
    	Use new FOR_EACH_DISASSEMBLER_OPTION macro.
    	(disassembler_options_powerpc): New function.
    	(print_ppc_disassembler_options): Use ARRAY_SIZE.
    	Remove printing of "32" and "64".
    	* s390-dis.c: Include "libiberty.h".
    	(init_flag): Remove unneeded variable.
    	(struct s390_options_t): New structure type.
    	(options): New structure.
    	(init_disasm): Rename from this...
    	(disassemble_init_s390): ...to this.  Add initializations for
    	current_arch_mask and option_use_insn_len_bits_p.  Remove init_flag.
    	(print_insn_s390): Delete call to init_disasm.
    	(disassembler_options_s390): New function.
    	(print_s390_disassembler_options): Print using information from
    	struct 'options'.
    	* po/opcodes.pot: Regenerate.
    
    binutils/
    	* objdump.c (main): Use remove_whitespace_and_extra_commas.
    
    gdb/
    	* NEWS: Mention new set/show disassembler-options commands.
    	* doc/gdb.texinfo: Document new set/show disassembler-options commands.
    	* disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
    	(prospective_options): New static variable.
    	(gdb_disassembler::gdb_disassembler): Initialize
    	m_di.disassembler_options.
    	(gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
    	(get_disassembler_options): New function.
    	(set_disassembler_options): Likewise.
    	(set_disassembler_options_sfunc): Likewise.
    	(show_disassembler_options_sfunc): Likewise.
    	(disassembler_options_completer): Likewise.
    	(_initialize_disasm): Likewise.
    	* disasm.h (get_disassembler_options): New prototype.
    	(set_disassembler_options): Likewise.
    	* gdbarch.sh (gdbarch_disassembler_options): New variable.
    	(gdbarch_verify_disassembler_options): Likewise.
    	* gdbarch.c: Regenerate.
    	* gdbarch.h: Likewise.
    	* arm-tdep.c (num_disassembly_options): Delete.
    	(set_disassembly_style): Likewise.
    	(arm_disassembler_options): New static variable.
    	(set_disassembly_style_sfunc): Convert short style name into long
    	option name.  Call set_disassembler_options.
    	(show_disassembly_style_sfunc): New function.
    	(arm_gdbarch_init): Call set_gdbarch_disassembler_options and
    	set_gdbarch_verify_disassembler_options.
    	(_initialize_arm_tdep): Delete regnames variable and update callers.
    	(arm_disassembler_options): Initialize.
    	(disasm_options): New variable.
    	(num_disassembly_options): Rename from this...
    	(num_disassembly_styles): ...to this.  Compute by scanning through
    	disasm_options.
    	(valid_disassembly_styles): Initialize using disasm_options.
    	Remove calls to parse_arm_disassembler_option, get_arm_regnames and
    	set_arm_regname_option.
    	Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
    	* rs6000-tdep.c (powerpc_disassembler_options): New static variable.
    	(rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
    	set_gdbarch_verify_disassembler_options.
    	* s390-tdep.c (s390_disassembler_options): New static variable.
    	(s390_gdbarch_init):all set_gdbarch_disassembler_options and
    	set_gdbarch_verify_disassembler_options.
    
    gdb/testsuite/
    	* gdb.arch/powerpc-power.exp: Delete test.
    	* gdb.arch/powerpc-power.s: Likewise.
    	* gdb.disasm/disassembler-options.exp: New test.
    	* gdb.arch/powerpc-altivec.exp: Likewise.
    	* gdb.arch/powerpc-altivec.s: Likewise.
    	* gdb.arch/powerpc-altivec2.exp: Likewise.
    	* gdb.arch/powerpc-altivec2.s: Likewise.
    	* gdb.arch/powerpc-altivec3.exp: Likewise.
    	* gdb.arch/powerpc-altivec3.s: Likewise.
    	* gdb.arch/powerpc-power7.exp: Likewise.
    	* gdb.arch/powerpc-power7.s: Likewise.
    	* gdb.arch/powerpc-power8.exp: Likewise.
    	* gdb.arch/powerpc-power8.s: Likewise.
    	* gdb.arch/powerpc-power9.exp: Likewise.
    	* gdb.arch/powerpc-power9.s: Likewise.
    	* gdb.arch/powerpc-vsx.exp: Likewise.
    	* gdb.arch/powerpc-vsx.s: Likewise.
    	* gdb.arch/powerpc-vsx2.exp: Likewise.
    	* gdb.arch/powerpc-vsx2.s: Likewise.
    	* gdb.arch/powerpc-vsx3.exp: Likewise.
    	* gdb.arch/powerpc-vsx3.s: Likewise.
    	* gdb.arch/arm-disassembler-options.exp: Likewise.
    	* gdb.arch/powerpc-disassembler-options.exp: Likewise.
    	* gdb.arch/s390-disassembler-options.exp: Likewise.

commit 2979a883540d9ce6e41dd0509ea2a345de9cf050
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 28 16:54:16 2017 +0000

    Revert "Add symbol called __nm_<name> to exported symbols created by dlltool."
    
    This reverts commit 47612ae91c5f2de8960df1d96adf225d2455123f.

commit 3de43e7beb9839fa268a73be77de73a7b7cd97db
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 23:42:29 2017 +1030

    PowerPC addpcis fix again
    
    In the last patch I said "The patch also fixes overflow checking".
    In fact, there wasn't anything wrong with the previous code.  So,
    revert that change.  The new checks are OK too, so this is just a
    tidy.
    
    	* elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
    	(ppc64_elf_relocate_section): Likewise.

commit 15c7c1d8a535000e94ed36f4259d0ede32001408
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Feb 28 10:53:35 2017 +0100

    x86: fix handling of 64-bit operand size VPCMPESTR{I,M}
    
    Just like REX.W affects operand size of the implicit rAX/rDX inputs to
    PCMPESTR{I,M}, VEX.W does for VPCMPESTR{I,M}. Allow Q or L suffixes on
    the instructions.
    
    Similarly the disassembler needs to be adjusted to no longer require
    VEX.W to be zero for the instructions to be valid, and to emit proper
    suffixes.
    
    Note, however, that this doesn't address the problem of there being no
    way to control (at least) {,E}VEX.W for 32- or 16-bit code. Nor does it
    address the problem of the many WIG instructions not getting properly
    disassembled when VEX.W=1.

commit 4ef97a1b459849ad190244c36b36d45bdd078030
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 10:38:51 2017 +1030

    Nios2 dynobj handling fixes
    
    A number of places in elf32-nios.c created dynamic sections but didn't
    set the hash table dynobj.  That meant we could have duplicate dynamic
    sections connected to a number of bfds, so size_dynamic_sections
    didn't properly discard or allocate contents.
    
    Also, the entire set of dynamic sections was created in check_relocs
    on seeing GOT relocs, when only .got related sections are needed,
    probably done to hide segfaults later in finish_dynamic_sections.
    
    The patch fixes these issues and makes the assembler emit errors when
    nios2 lacks the necessary pc-relative relocs for subtraction
    expressions, rather than silently generating bad code.
    eg. ld-elf/merge.  I've also tidied uses of elf32_nios2_hash_table and
    elf_hash_table.
    
    bfd/
    	PR 20995
    	* elf32-nios2.c (nios2_elf32_relocate_section): Use htab
    	rather than elf32_nios2_hash_table or elf_hash_table.
    	(create_got_section): Likewise.
    	(nios2_elf32_finish_dynamic_symbol): Likewise.
    	(nios2_elf32_adjust_dynamic_symbol): Likewise.
    	(nios2_elf32_size_dynamic_sections): Likewise.
    	(nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
    	vars.  Use htab equivalents directly instead.  Don't create
    	all dynamic sections on needing just the GOT.  Use a goto
    	rather than a fall-through with reloc test.  Ensure
    	htab->dynobj is set when making dynamic sreloc section.
    	(nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
    	equivalent directly instead.  Don't segfault on looking for
    	.dynamic when dynamic sections have not been created.  Don't
    	segfault on .got.plt being discarded.
    	(nios2_elf32_size_dynamic_sections): Delete plt and got vars.
    	Don't set "relocs" on .rela.plt.  Do handle .sbss.  Delete
    	fixme and another not so relevant comment.
    	(nios2_elf_add_symbol_hook): Delete dynobj var.  If not
    	already set, set hash table dynobj on creating .sbss.
    gas/
    	* config/tc-nios2.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
    ld/
    	* testsuite/ld-elf/merge.d: xfail for nios.

commit 7ba71655a425ac44721f97cc0ad7922ca15bce43
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 08:32:36 2017 +1030

    PowerPC addpcis fix
    
    This came up because I was looking at ld/tmpdir/addpcis.o and noticed
    the odd addends on REL16DX_HA.  They ought to both be -4.  The error
    crept in due REL16DX_HA howto being pc-relative (as indeed it should
    be), and code at gas/write.c:1001 after this comment
    	      /* Make it pc-relative.  If the back-end code has not
    		 selected a pc-relative reloc, cancel the adjustment
    		 we do later on all pc-relative relocs.  */
    *not* cancelling the pc-relative adjustment.  So I've made a dummy
    non-relative split reloc so that the generic code handles this, rather
    than attempting to add hacks later in md_apply_fix which would not be
    very robust.  Having the new internal reloc also makes it easy to
    support
    
     addpcis rx,sym@ha
    
    as an equivalent to
    
     addpcis rx,(sym-0f)@ha
    0:
    
    The patch also fixes overflow checking, which must test whether the
    addi will overflow too since @l relocs don't have any overflow check.
    
    Lastly, since I was poking at md_apply_fix, I arranged to have the
    generic gas/write.c code emit errors for subtraction expressions where
    we lack reloc support.
    
    include/
    	* elf/ppc64.h (R_PPC64_16DX_HA): New.  Expand fake reloc comment.
    	* elf/ppc.h (R_PPC_16DX_HA): Likewise.
    bfd/
    	* reloc.c (BFD_RELOC_PPC_16DX_HA): New.
    	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
    	(ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
    	(ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
    	(ppc64_elf_relocate_section): Likewise.
    	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
    	(ppc_elf_reloc_type_lookup): Translate new bfd reloc.
    	(ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
    	* libbfd.h: Regenerate.
    	* bfd-in2.h: Regenerate.
    gas/
    	* config/tc-ppc.c (md_assemble): Use BFD_RELOC_PPC_16DX_HA for addpcis.
    	(md_apply_fix): Remove fx_subsy check.  Move code converting to
    	pcrel reloc earlier and handle BFD_RELOC_PPC_16DX_HA.  Remove code
    	emiiting errors on seeing fx_pcrel set on unexpected relocs, as
    	that is done now by the generic code via..
    	* config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): ..this. Define.
    	(TC_VALIDATE_FIX_SUB): Define.
    ld/
    	* testsuite/ld-powerpc/addpcis.d: Define ext1 and ext2 at
    	limits of addpcis range.

commit afbf7e8e3aa24152ad58e430c8d37d82e5751f1c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 08:06:02 2017 +1030

    Don't make dynamic .data.rel.ro SEC_READONLY
    
    I'd made this dynamic section read-only so a flag test distinguished
    it from .dynbss, but like any other .data.rel.ro section it really
    should be marked read-write.  (It is read-only after relocation, not
    before.)  When using the standard linker scripts this usually doesn't
    matter since the output section is among other read-write sections and
    not page aligned.  However, it might matter in the extraordinary case
    of the dynamic section being the only .data.rel.ro section with the
    output section just happening to be page aligned and a multiple of a
    page in size.  In that case the output section would be read-only, and
    live it its own read-only PT_LOAD segment, which is incorrect.
    
    	* elflink.c (_bfd_elf_create_dynamic_sections): Don't make
    	dynamic .data.rel.ro read-only.
    	* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
    	rather than section flags when deciding where copy reloc goes.
    	* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
    	* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
    	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
    	* elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
    	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
    	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
    	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
    	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
    	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
    	* elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
    	* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
    	* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
    	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
    	* elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
    	* elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
    	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
    	* elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.

commit 0e39210161e7c547ab53afb86997303e24a42c0c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Feb 28 00:14:08 2017 +0000

    MIPS/BFD: Also handle `jalr $0, $25' with R_MIPS_JALR
    
    Interpret the `jalr $0, $25' instruction encoding with an R_MIPS_JALR
    relocation attached as an alias to `jr $25' and convert the jump to an
    equivalent branch where possible, consequently covering the MIPSr6
    architecture for the purpose of this optimization too.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_perform_relocation): Also handle the
    	`jalr $0, $25' instruction encoding.
    
    	gas/
    	* testsuite/gas/mips/jalr4.s: Add `jalr $0, $25' instructions.
    	* testsuite/gas/mips/jalr4.d: Adjust accordingly.  Remove MIPSr6
    	encoding patterns.
    	* testsuite/gas/mips/jalr4-n64.d: Likewise.
    	* testsuite/gas/mips/mipsr6@jalr4.d: New test.
    	* testsuite/gas/mips/mipsr6@jalr4-n32.d: New test.
    	* testsuite/gas/mips/mipsr6@jalr4-n64.d: New test.
    
    	ld/
    	* testsuite/ld-mips-elf/jalr4.dd: Adjust for `jalr $0, $25'
    	instructions.
    	* testsuite/ld-mips-elf/jalr4-r6.dd: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.

commit 279a558a4d0fad268738ec916628c9c12cfcaf5b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Feb 28 00:00:25 2017 +0000

    Automatic date update in version.in

commit 9dfd0db952fc07dccebbc244df2a20a6eda14b2c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 27 23:22:53 2017 +0100

    Fix compilation with GCC 4.4.7.
    
    binutils/
    2017-02-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Fix compilation with GCC 4.4.7.
    	* dwarf.c (display_loclists_list, display_debug_rnglists_list):
    	Initialize begin and end.

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

Summary of changes:
 ChangeLog                                          |    5 +
 bfd/ChangeLog                                      |  163 +++
 bfd/bfd-in2.h                                      |    5 +-
 bfd/elf-bfd.h                                      |    6 +-
 bfd/elf-eh-frame.c                                 |   83 +-
 bfd/elf.c                                          |   13 +-
 bfd/elf32-arm.c                                    |    2 +-
 bfd/elf32-cris.c                                   |    2 +-
 bfd/elf32-hppa.c                                   |    2 +-
 bfd/elf32-i386.c                                   |    2 +-
 bfd/elf32-metag.c                                  |    2 +-
 bfd/elf32-microblaze.c                             |    2 +-
 bfd/elf32-nios2.c                                  |  156 +--
 bfd/elf32-or1k.c                                   |    2 +-
 bfd/elf32-ppc.c                                    |  116 ++-
 bfd/elf32-s390.c                                   |    2 +-
 bfd/elf32-tic6x.c                                  |    2 +-
 bfd/elf32-tilepro.c                                |    2 +-
 bfd/elf64-ppc.c                                    |  123 ++-
 bfd/elf64-s390.c                                   |    2 +-
 bfd/elf64-x86-64.c                                 |    2 +-
 bfd/elflink.c                                      |    9 +-
 bfd/elfnn-aarch64.c                                |   47 +-
 bfd/elfnn-riscv.c                                  |    2 +-
 bfd/elfxx-aarch64.c                                |    8 +-
 bfd/elfxx-mips.c                                   |   10 +-
 bfd/elfxx-sparc.c                                  |    2 +-
 bfd/elfxx-tilegx.c                                 |    2 +-
 bfd/libbfd.h                                       |    5 +-
 bfd/reloc.c                                        |    6 +-
 bfd/rs6000-core.c                                  |    4 +-
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |  155 ++-
 binutils/NEWS                                      |    6 +
 binutils/config.in                                 |    4 +
 binutils/configure                                 |   10 +
 binutils/configure.ac                              |    2 +-
 binutils/dlltool.c                                 |   20 +-
 binutils/doc/binutils.texi                         |   18 +-
 binutils/dwarf.c                                   |   11 +-
 binutils/dwarf.h                                   |    2 +
 binutils/objcopy.c                                 |  397 +++++-
 binutils/objdump.c                                 |   98 +-
 binutils/readelf.c                                 |  722 +++++++++-
 binutils/testsuite/binutils-all/i386/pr21231a.d    |    9 +
 binutils/testsuite/binutils-all/i386/pr21231a.s    |   14 +
 binutils/testsuite/binutils-all/i386/pr21231b.d    |   12 +
 binutils/testsuite/binutils-all/i386/pr21231b.s    |   35 +
 binutils/testsuite/binutils-all/note-2-32.d        |   17 +
 binutils/testsuite/binutils-all/note-2-32.s        |   95 ++
 binutils/testsuite/binutils-all/note-2-64.d        |   17 +
 binutils/testsuite/binutils-all/note-2-64.s        |   97 ++
 binutils/testsuite/binutils-all/objcopy.exp        |    5 +
 binutils/testsuite/binutils-all/x86-64/pr21231a.d  |    9 +
 binutils/testsuite/binutils-all/x86-64/pr21231a.s  |   14 +
 binutils/testsuite/binutils-all/x86-64/pr21231b.d  |   12 +
 binutils/testsuite/binutils-all/x86-64/pr21231b.s  |   35 +
 config.guess                                       |   16 +-
 config.sub                                         |   14 +-
 cpu/ChangeLog                                      |    4 +
 cpu/or1kcommon.cpu                                 |    5 +
 gas/ChangeLog                                      |  274 ++++
 gas/config/tc-aarch64.c                            |   12 +-
 gas/config/tc-arc.c                                |   18 +-
 gas/config/tc-arm.c                                |    7 +-
 gas/config/tc-i386.c                               |  160 ++-
 gas/config/tc-nios2.h                              |    8 +
 gas/config/tc-ppc.c                                |  126 +--
 gas/config/tc-ppc.h                                |   16 +
 gas/config/tc-riscv.c                              |   32 +-
 gas/config/tc-riscv.h                              |    3 +
 gas/config/tc-s390.c                               |    6 +-
 gas/config/tc-xtensa.c                             |   20 +-
 gas/doc/as.texinfo                                 |   47 +
 gas/doc/c-aarch64.texi                             |    2 +
 gas/doc/c-arm.texi                                 |    6 +-
 gas/doc/c-i386.texi                                |   30 +-
 gas/dw2gencfi.c                                    |   81 +-
 gas/dwarf2dbg.c                                    |   65 +-
 gas/testsuite/gas/aarch64/dwarf.d                  |    7 +-
 gas/testsuite/gas/aarch64/tls.d                    |    4 +-
 gas/testsuite/gas/all/gas.exp                      |   28 +
 gas/testsuite/gas/all/org-1.d                      |    3 +
 gas/testsuite/gas/all/org-1.l                      |    2 +
 gas/testsuite/gas/all/org-1.s                      |   25 +
 gas/testsuite/gas/all/org-2.d                      |    2 +
 gas/testsuite/gas/all/org-2.l                      |    2 +
 gas/testsuite/gas/all/org-2.s                      |    9 +
 gas/testsuite/gas/all/org-3.d                      |    2 +
 gas/testsuite/gas/all/org-3.l                      |    2 +
 gas/testsuite/gas/all/org-3.s                      |    9 +
 gas/testsuite/gas/all/org-4.d                      |    5 +
 gas/testsuite/gas/all/org-4.s                      |    9 +
 gas/testsuite/gas/all/org-5.d                      |    5 +
 gas/testsuite/gas/all/org-5.s                      |    9 +
 gas/testsuite/gas/all/org-6.d                      |    5 +
 gas/testsuite/gas/all/org-6.s                      |    9 +
 gas/testsuite/gas/arc/nps400-11.d                  |  303 +++++
 gas/testsuite/gas/arc/nps400-11.s                  |  308 +++++
 gas/testsuite/gas/i386/cet-intel.d                 |   31 +
 gas/testsuite/gas/i386/cet.d                       |   29 +
 gas/testsuite/gas/i386/cet.s                       |   25 +
 gas/testsuite/gas/i386/i386.exp                    |    6 +
 gas/testsuite/gas/i386/ilp32/x86-64-avx-intel.d    |   88 +-
 gas/testsuite/gas/i386/ilp32/x86-64-avx.d          |   96 +-
 gas/testsuite/gas/i386/ilp32/x86-64-sse2avx.d      |   12 +-
 gas/testsuite/gas/i386/ilp32/x86-64-sse4_2-intel.d |    4 +
 gas/testsuite/gas/i386/ilp32/x86-64-sse4_2.d       |   12 +-
 gas/testsuite/gas/i386/pseudos.d                   |   66 +
 gas/testsuite/gas/i386/pseudos.s                   |   62 +
 gas/testsuite/gas/i386/x86-64-avx-intel.d          |   88 +-
 gas/testsuite/gas/i386/x86-64-avx.d                |   96 +-
 gas/testsuite/gas/i386/x86-64-avx.s                |    4 +
 gas/testsuite/gas/i386/x86-64-cet-intel.d          |   38 +
 gas/testsuite/gas/i386/x86-64-cet.d                |   37 +
 gas/testsuite/gas/i386/x86-64-cet.s                |   33 +
 gas/testsuite/gas/i386/x86-64-mpx-inval-2.l        |    8 +-
 gas/testsuite/gas/i386/x86-64-mpx-inval-2.s        |    3 +
 gas/testsuite/gas/i386/x86-64-pseudos.d            |   66 +
 gas/testsuite/gas/i386/x86-64-pseudos.s            |   62 +
 gas/testsuite/gas/i386/x86-64-sse2avx.d            |   12 +-
 gas/testsuite/gas/i386/x86-64-sse2avx.s            |    4 +
 gas/testsuite/gas/i386/x86-64-sse4_2-intel.d       |    4 +
 gas/testsuite/gas/i386/x86-64-sse4_2.d             |   12 +-
 gas/testsuite/gas/i386/x86-64-sse4_2.s             |    4 +
 gas/testsuite/gas/mips/jalr4-n64.d                 |   21 +-
 gas/testsuite/gas/mips/jalr4.d                     |   15 +-
 gas/testsuite/gas/mips/jalr4.s                     |    6 +
 gas/testsuite/gas/mips/mips.exp                    |   13 +
 gas/testsuite/gas/mips/mipsr6@jalr4-n32.d          |    5 +
 gas/testsuite/gas/mips/mipsr6@jalr4-n64.d          |   57 +
 gas/testsuite/gas/mips/mipsr6@jalr4.d              |   39 +
 gas/testsuite/gas/mips/org-1.d                     |    7 +
 gas/testsuite/gas/mips/org-1.l                     |    2 +
 gas/testsuite/gas/mips/org-1.s                     |    9 +
 gas/testsuite/gas/mips/org-10.d                    |    7 +
 gas/testsuite/gas/mips/org-10.l                    |    2 +
 gas/testsuite/gas/mips/org-10.s                    |   11 +
 gas/testsuite/gas/mips/org-11.d                    |    6 +
 gas/testsuite/gas/mips/org-11.s                    |   13 +
 gas/testsuite/gas/mips/org-12.d                    |    5 +
 gas/testsuite/gas/mips/org-12.s                    |   13 +
 gas/testsuite/gas/mips/org-2.d                     |    6 +
 gas/testsuite/gas/mips/org-2.s                     |   11 +
 gas/testsuite/gas/mips/org-3.d                     |    5 +
 gas/testsuite/gas/mips/org-3.s                     |   11 +
 gas/testsuite/gas/mips/org-4.d                     |    3 +
 gas/testsuite/gas/mips/org-4.l                     |    3 +
 gas/testsuite/gas/mips/org-4.s                     |   11 +
 gas/testsuite/gas/mips/org-5.d                     |    3 +
 gas/testsuite/gas/mips/org-5.l                     |    2 +
 gas/testsuite/gas/mips/org-5.s                     |   13 +
 gas/testsuite/gas/mips/org-6.d                     |    2 +
 gas/testsuite/gas/mips/org-6.l                     |    2 +
 gas/testsuite/gas/mips/org-6.s                     |   13 +
 gas/testsuite/gas/mips/org-7.d                     |    6 +
 gas/testsuite/gas/mips/org-7.s                     |   11 +
 gas/testsuite/gas/mips/org-8.d                     |    6 +
 gas/testsuite/gas/mips/org-8.s                     |   13 +
 gas/testsuite/gas/mips/org-9.d                     |    5 +
 gas/testsuite/gas/mips/org-9.s                     |   13 +
 gas/testsuite/gas/ppc/altivec2.d                   |    4 +-
 gas/testsuite/gas/ppc/power9.d                     |    5 +-
 gas/testsuite/gas/ppc/power9.s                     |    1 +
 gas/write.c                                        |    9 +-
 gdb/ChangeLog                                      |  731 ++++++++++-
 gdb/Makefile.in                                    |    4 +-
 gdb/NEWS                                           |   17 +
 gdb/aarch64-linux-nat.c                            |    8 +-
 gdb/aarch64-tdep.c                                 |    9 +-
 gdb/ada-lang.c                                     |    2 +-
 gdb/ada-valprint.c                                 |    3 +
 gdb/aix-thread.c                                   |   14 +-
 gdb/alpha-bsd-nat.c                                |   12 +-
 gdb/amd64-linux-nat.c                              |    8 +-
 gdb/amd64-tdep.c                                   |    9 +-
 gdb/amd64-windows-tdep.c                           |    1 +
 gdb/arm-linux-nat.c                                |   16 +-
 gdb/arm-nbsd-nat.c                                 |   20 +-
 gdb/arm-tdep.c                                     |  465 +++++--
 gdb/ax-gdb.c                                       |    2 +
 gdb/bsd-uthread.c                                  |   20 +-
 gdb/c-exp.y                                        |    6 +-
 gdb/c-typeprint.c                                  |   22 +-
 gdb/c-valprint.c                                   |   14 +-
 gdb/c-varobj.c                                     |   10 +-
 gdb/common/environ.c                               |  182 +++
 gdb/{ => common}/environ.h                         |    0
 gdb/common/gdb_unlinker.h                          |    2 +-
 gdb/compile/compile-c-symbols.c                    |    2 +-
 gdb/completer.c                                    |    3 +-
 gdb/config/powerpc/ppc64-linux.mh                  |    6 -
 gdb/corelow.c                                      |   11 +-
 gdb/cp-name-parser.y                               |   22 +-
 gdb/cp-support.c                                   |    3 +-
 gdb/darwin-nat-info.c                              |    2 +-
 gdb/disasm.c                                       |  179 +++
 gdb/disasm.h                                       |    8 +
 gdb/doc/ChangeLog                                  |   31 +
 gdb/doc/gdb.texinfo                                |   90 ++-
 gdb/doc/guile.texi                                 |    2 +-
 gdb/doc/python.texi                                |   11 +-
 gdb/dwarf2loc.c                                    |  103 +-
 gdb/dwarf2loc.h                                    |    3 +
 gdb/dwarf2read.c                                   |   40 +-
 gdb/environ.c                                      |  182 ---
 gdb/eval.c                                         |   16 +-
 gdb/f-exp.y                                        |    2 +-
 gdb/f-typeprint.c                                  |    6 +-
 gdb/findvar.c                                      |    6 +-
 gdb/gdbarch.c                                      |   52 +
 gdb/gdbarch.h                                      |    9 +
 gdb/gdbarch.sh                                     |   13 +
 gdb/gdbserver/ChangeLog                            |  238 ++++
 gdb/gdbserver/Makefile.in                          |  532 +-------
 gdb/gdbtypes.c                                     |  105 ++-
 gdb/gdbtypes.h                                     |   20 +-
 gdb/guile/guile-internal.h                         |    2 +
 gdb/guile/scm-lazy-string.c                        |  119 ++-
 gdb/guile/scm-type.c                               |   15 +-
 gdb/guile/scm-value.c                              |   67 +-
 gdb/hppa-linux-nat.c                               |   15 +-
 gdb/hppa-nbsd-nat.c                                |   22 +-
 gdb/hppa-obsd-nat.c                                |   20 +-
 gdb/hppa-tdep.c                                    |    1 +
 gdb/i386-bsd-nat.c                                 |   37 +-
 gdb/i386-darwin-nat.c                              |    4 +-
 gdb/i386-gnu-nat.c                                 |   12 +-
 gdb/i386-linux-nat.c                               |   29 +-
 gdb/i386-tdep.c                                    |    7 +
 gdb/i387-tdep.c                                    |   17 +
 gdb/i387-tdep.h                                    |    4 +
 gdb/ia64-linux-nat.c                               |   20 +-
 gdb/inf-ptrace.c                                   |  162 +--
 gdb/infcall.c                                      |    5 +-
 gdb/infcmd.c                                       |    2 +-
 gdb/infrun.c                                       |  196 ++--
 gdb/language.c                                     |    3 +-
 gdb/linespec.c                                     |    8 +
 gdb/linux-nat.c                                    |   45 +-
 gdb/m32c-tdep.c                                    |    8 +-
 gdb/m32r-linux-nat.c                               |   14 +-
 gdb/m68k-bsd-nat.c                                 |   22 +-
 gdb/m68k-linux-nat.c                               |   32 +-
 gdb/m88k-bsd-nat.c                                 |    6 +-
 gdb/m88k-tdep.c                                    |    1 +
 gdb/mi/mi-cmd-file.c                               |   57 +
 gdb/mi/mi-cmds.c                                   |    2 +
 gdb/mi/mi-cmds.h                                   |    1 +
 gdb/mi/mi-interp.c                                 |   36 +-
 gdb/mi/mi-interp.h                                 |   27 +
 gdb/mips-fbsd-nat.c                                |   22 +-
 gdb/mips-linux-nat.c                               |    9 +-
 gdb/mips-nbsd-nat.c                                |   22 +-
 gdb/mips64-obsd-nat.c                              |   11 +-
 gdb/mn10300-tdep.c                                 |    1 +
 gdb/msp430-tdep.c                                  |    2 +-
 gdb/nto-procfs.c                                   |    7 +-
 gdb/parse.c                                        |   41 +-
 gdb/parser-defs.h                                  |    3 +-
 gdb/ppc-fbsd-nat.c                                 |   20 +-
 gdb/ppc-linux-nat.c                                |   15 +-
 gdb/ppc-nbsd-nat.c                                 |   20 +-
 gdb/ppc-obsd-nat.c                                 |   20 +-
 gdb/ppc-sysv-tdep.c                                |    7 +-
 gdb/printcmd.c                                     |    2 +-
 gdb/procfs.c                                       |   14 +-
 gdb/python/lib/gdb/command/explore.py              |    2 +-
 gdb/python/lib/gdb/printer/bound_registers.py      |    7 +
 gdb/python/lib/gdb/types.py                        |    4 +-
 gdb/python/py-lazy-string.c                        |  117 ++-
 gdb/python/py-record-btrace.c                      |    5 +
 gdb/python/py-type.c                               |   14 +-
 gdb/python/py-value.c                              |  113 ++-
 gdb/python/py-xmethods.c                           |   10 +-
 gdb/ravenscar-thread.c                             |   15 +-
 gdb/record-btrace.c                                |    6 +-
 gdb/regcache.c                                     |   10 +
 gdb/regcache.h                                     |    4 +
 gdb/remote-sim.c                                   |    6 +-
 gdb/remote.c                                       |   16 +-
 gdb/rs6000-nat.c                                   |   18 +-
 gdb/rs6000-tdep.c                                  |    7 +
 gdb/s390-linux-nat.c                               |    5 +-
 gdb/s390-linux-tdep.c                              |   64 +-
 gdb/ser-base.c                                     |   14 +-
 gdb/ser-mingw.c                                    |    2 -
 gdb/ser-unix.c                                     |  152 +--
 gdb/serial.h                                       |    5 -
 gdb/sh-nbsd-nat.c                                  |   10 +-
 gdb/sol-thread.c                                   |   14 +-
 gdb/solib-frv.c                                    |    2 +-
 gdb/solib-svr4.c                                   |    6 +-
 gdb/solib.c                                        |   47 +-
 gdb/solib.h                                        |   23 +-
 gdb/solist.h                                       |   10 +-
 gdb/sparc-nat.c                                    |   12 +-
 gdb/sparc-tdep.c                                   |    1 +
 gdb/sparc-tdep.h                                   |    1 +
 gdb/sparc64-tdep.c                                 |   48 +-
 gdb/spu-linux-nat.c                                |   10 +
 gdb/spu-multiarch.c                                |   10 +
 gdb/spu-tdep.c                                     |    1 +
 gdb/stabsread.c                                    |    3 +-
 gdb/symtab.c                                       |    3 +-
 gdb/target.c                                       |    4 +
 gdb/testsuite/ChangeLog                            |  204 +++
 .../gdb.arch/amd64-entry-value-param-dwarf5.exp    |   24 +-
 gdb/testsuite/gdb.arch/amd64-entry-value-param.exp |   24 +-
 .../gdb.arch/arm-disassembler-options.exp          |   56 +
 gdb/testsuite/gdb.arch/i386-mpx-call.c             |  131 ++
 gdb/testsuite/gdb.arch/i386-mpx-call.exp           |  387 ++++++
 gdb/testsuite/gdb.arch/i386-pkru.exp               |    3 +
 gdb/testsuite/gdb.arch/powerpc-altivec.exp         |  261 ++++
 gdb/testsuite/gdb.arch/powerpc-altivec.s           |  217 +++
 gdb/testsuite/gdb.arch/powerpc-altivec2.exp        |  178 +++
 gdb/testsuite/gdb.arch/powerpc-altivec2.s          |  135 ++
 gdb/testsuite/gdb.arch/powerpc-altivec3.exp        |  131 ++
 gdb/testsuite/gdb.arch/powerpc-altivec3.s          |   88 ++
 .../gdb.arch/powerpc-disassembler-options.exp      |   56 +
 gdb/testsuite/gdb.arch/powerpc-power.exp           | 1429 --------------------
 gdb/testsuite/gdb.arch/powerpc-power.s             | 1389 -------------------
 gdb/testsuite/gdb.arch/powerpc-power7.exp          |  164 +++
 gdb/testsuite/gdb.arch/powerpc-power7.s            |  121 ++
 gdb/testsuite/gdb.arch/powerpc-power8.exp          |  248 ++++
 gdb/testsuite/gdb.arch/powerpc-power8.s            |  205 +++
 gdb/testsuite/gdb.arch/powerpc-power9.exp          |  445 ++++++
 gdb/testsuite/gdb.arch/powerpc-power9.s            |  402 ++++++
 gdb/testsuite/gdb.arch/powerpc-vsx.exp             |  225 +++
 gdb/testsuite/gdb.arch/powerpc-vsx.s               |  182 +++
 gdb/testsuite/gdb.arch/powerpc-vsx2.exp            |  118 ++
 gdb/testsuite/gdb.arch/powerpc-vsx2.s              |   75 +
 gdb/testsuite/gdb.arch/powerpc-vsx3.exp            |  184 +++
 gdb/testsuite/gdb.arch/powerpc-vsx3.s              |  141 ++
 .../gdb.arch/s390-disassembler-options.exp         |   56 +
 gdb/testsuite/gdb.arch/sparc64-regs.S              |  136 ++
 gdb/testsuite/gdb.arch/sparc64-regs.exp            |  118 ++
 gdb/testsuite/gdb.base/break-fun-addr.exp          |    4 +-
 gdb/testsuite/gdb.base/commands.exp                |   40 +
 gdb/testsuite/gdb.base/completion.exp              |   37 -
 gdb/testsuite/gdb.base/examine-backward.c          |    8 +
 gdb/testsuite/gdb.base/step-over-exit.exp          |    3 +-
 gdb/testsuite/gdb.base/tui-layout.exp              |   40 -
 gdb/testsuite/gdb.btrace/gcore.exp                 |    3 +-
 gdb/testsuite/gdb.cp/demangle.exp                  |   42 +-
 gdb/testsuite/gdb.cp/m-static.exp                  |    4 +-
 gdb/testsuite/gdb.cp/rvalue-ref-casts.cc           |   75 +
 gdb/testsuite/gdb.cp/rvalue-ref-casts.exp          |   77 ++
 gdb/testsuite/gdb.cp/rvalue-ref-overload.cc        |   86 ++
 gdb/testsuite/gdb.cp/rvalue-ref-overload.exp       |   69 +
 gdb/testsuite/gdb.cp/rvalue-ref-params.cc          |   83 ++
 gdb/testsuite/gdb.cp/rvalue-ref-params.exp         |   69 +
 gdb/testsuite/gdb.cp/rvalue-ref-sizeof.cc          |   75 +
 gdb/testsuite/gdb.cp/rvalue-ref-sizeof.exp         |   43 +
 gdb/testsuite/gdb.cp/rvalue-ref-types.cc           |   79 ++
 gdb/testsuite/gdb.cp/rvalue-ref-types.exp          |  128 ++
 gdb/testsuite/gdb.cp/templates.exp                 |   24 +-
 gdb/testsuite/gdb.disasm/disassembler-options.exp  |   34 +
 gdb/testsuite/gdb.dwarf2/nonvar-access.exp         |   28 +-
 gdb/testsuite/gdb.guile/scm-lazy-string.c          |   29 +
 gdb/testsuite/gdb.guile/scm-lazy-string.exp        |   82 ++
 gdb/testsuite/gdb.guile/scm-value.c                |    2 -
 gdb/testsuite/gdb.guile/scm-value.exp              |   31 -
 gdb/testsuite/gdb.mi/mi-solib.exp                  |   49 +-
 gdb/testsuite/gdb.python/py-completion.exp         |    6 +-
 gdb/testsuite/gdb.python/py-lazy-string.c          |    5 +
 gdb/testsuite/gdb.python/py-lazy-string.exp        |   42 +-
 gdb/testsuite/gdb.python/py-record-btrace.exp      |    6 +-
 gdb/testsuite/gdb.python/py-rvalue-ref-value-cc.cc |   59 +
 .../gdb.python/py-rvalue-ref-value-cc.exp          |   57 +
 gdb/testsuite/gdb.python/py-value.c                |    2 -
 gdb/testsuite/gdb.python/py-value.exp              |   24 -
 .../attach-many-short-lived-threads.exp            |    8 +-
 .../gdb.threads/interrupt-while-step-over.c        |   75 +
 .../gdb.threads/interrupt-while-step-over.exp      |  204 +++
 .../signal-while-stepping-over-bp-other-thread.exp |    1 -
 gdb/testsuite/gdb.tui/completion.exp               |   58 +
 .../tui-disasm-long-lines.c}                       |    0
 gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp    |   43 +
 gdb/testsuite/gdb.tui/tui-layout.c                 |   22 +
 gdb/testsuite/gdb.tui/tui-layout.exp               |   56 +
 gdb/testsuite/gdb.tui/tui-nl-filtered-output.exp   |   57 +
 gdb/testsuite/lib/dwarf.exp                        |    3 +-
 gdb/testsuite/lib/gdb.exp                          |   60 +-
 gdb/testsuite/lib/mi-support.exp                   |    2 +-
 gdb/tilegx-linux-nat.c                             |   13 +-
 gdb/top.c                                          |   10 +-
 gdb/tui/tui-file.c                                 |   10 +
 gdb/tui/tui-file.h                                 |    3 +-
 gdb/tui/tui-io.c                                   |  114 +-
 gdb/tui/tui-io.h                                   |    4 +
 gdb/tui/tui-regs.c                                 |    1 -
 gdb/typeprint.c                                    |    4 +-
 gdb/ui-out.c                                       |    4 +
 gdb/valarith.c                                     |    6 +-
 gdb/valops.c                                       |   70 +-
 gdb/valprint.c                                     |    8 +-
 gdb/value.c                                        |   12 +-
 gdb/value.h                                        |    2 +-
 gdb/varobj.c                                       |    2 +-
 gdb/vax-bsd-nat.c                                  |   11 +-
 gdb/windows-nat.c                                  |   52 +-
 gdb/xtensa-linux-nat.c                             |   10 +-
 gold/ChangeLog                                     |   57 +
 gold/mips.cc                                       |  579 +++++---
 include/ChangeLog                                  |  115 ++
 include/demangle.h                                 |    9 +-
 include/dis-asm.h                                  |   41 +-
 include/dwarf2.def                                 |    3 +
 include/elf/aarch64.h                              |    4 +-
 include/elf/common.h                               |   87 +-
 include/elf/ppc.h                                  |    6 +-
 include/elf/ppc64.h                                |    6 +-
 include/opcode/arc.h                               |    1 +
 include/opcode/s390.h                              |    3 +-
 ld/ChangeLog                                       |  148 ++
 ld/NEWS                                            |    6 +
 ld/emulparams/elf32ppccommon.sh                    |   10 +-
 ld/emultempl/elf32.em                              |  153 ++-
 ld/ld.texinfo                                      |   29 +-
 ld/ldlang.c                                        |   72 +-
 ld/pe-dll.c                                        |   55 +-
 ld/scripttempl/avrtiny.sc                          |   10 +-
 ld/testsuite/ld-aarch64/ifunc-5r-local.d           |    4 +-
 ld/testsuite/ld-alpha/tlsbin.dd                    |   10 +-
 ld/testsuite/ld-alpha/tlsbin.td                    |   12 +-
 ld/testsuite/ld-alpha/tlsbinr.dd                   |    2 +-
 ld/testsuite/ld-alpha/tlspic.dd                    |   10 +-
 ld/testsuite/ld-alpha/tlspic.rd                    |    2 +-
 ld/testsuite/ld-alpha/tlspic.sd                    |   14 +-
 ld/testsuite/ld-alpha/tlspic.td                    |   12 +-
 ld/testsuite/ld-checks/checks.exp                  |   16 +
 ld/testsuite/ld-checks/over.d                      |    4 +
 ld/testsuite/ld-checks/over.s                      |    7 +
 ld/testsuite/ld-checks/over2.d                     |    8 +
 ld/testsuite/ld-checks/over2.s                     |    4 +
 ld/testsuite/ld-elf/eh3.d                          |   12 +-
 ld/testsuite/ld-elf/eh6.d                          |    2 +-
 ld/testsuite/ld-elf/merge.d                        |    2 +-
 ld/testsuite/ld-elf/orphan-10.d                    |   10 +
 ld/testsuite/ld-elf/orphan-10.s                    |    8 +
 ld/testsuite/ld-elf/orphan-9.d                     |   12 +
 ld/testsuite/ld-elf/orphan-9.ld                    |   32 +
 ld/testsuite/ld-elf/orphan-9.s                     |   11 +
 ld/testsuite/ld-elf/sec64k.exp                     |    6 +-
 ld/testsuite/ld-elf/shared.exp                     |   10 +-
 ld/testsuite/ld-mips-elf/eh-frame1-n64.d           |   76 +-
 ld/testsuite/ld-mips-elf/eh-frame2-n64.d           |   84 +-
 ld/testsuite/ld-mips-elf/eh-frame3.d               |   46 +-
 ld/testsuite/ld-mips-elf/jalr4-r6.dd               |   25 +
 ld/testsuite/ld-mips-elf/jalr4.dd                  |   10 +-
 ld/testsuite/ld-mips-elf/mips-elf.exp              |   11 +
 ld/testsuite/ld-powerpc/addpcis.d                  |    8 +-
 ld/testsuite/ld-x86-64/pr20830a.d                  |    6 +-
 ld/testsuite/ld-x86-64/pr21038a.d                  |    6 +-
 ld/testsuite/ld-x86-64/pr21038b.d                  |    6 +-
 ld/testsuite/ld-x86-64/pr21038c.d                  |    6 +-
 ld/testsuite/lib/ld-lib.exp                        |    1 +
 libiberty/ChangeLog                                |   87 +-
 libiberty/cp-demangle.c                            |   87 +-
 libiberty/cp-demint.c                              |    3 +
 libiberty/testsuite/demangle-expected              |   54 +
 opcodes/ChangeLog                                  |  161 +++
 opcodes/arc-nps400-tbl.h                           |  191 +++
 opcodes/arc-opc.c                                  |   82 ++-
 opcodes/arm-dis.c                                  |  169 +--
 opcodes/disassemble.c                              |   70 +
 opcodes/i386-dis.c                                 |  145 ++-
 opcodes/i386-gen.c                                 |    5 +-
 opcodes/i386-init.h                                |  119 +-
 opcodes/i386-opc.h                                 |   12 +-
 opcodes/i386-opc.tbl                               |  183 ++-
 opcodes/i386-tbl.h                                 |  923 +++++++++----
 opcodes/po/opcodes.pot                             |  199 ++--
 opcodes/ppc-dis.c                                  |   63 +-
 opcodes/ppc-opc.c                                  |  226 +++-
 opcodes/riscv-opc.c                                |   16 +-
 opcodes/s390-dis.c                                 |   72 +-
 opcodes/s390-mkopc.c                               |    4 -
 opcodes/s390-opc.txt                               |  284 ++--
 sim/aarch64/ChangeLog                              |    6 +
 sim/aarch64/simulator.c                            |   19 +-
 sim/testsuite/sim/aarch64/ChangeLog                |    5 +
 sim/testsuite/sim/aarch64/sumov.s                  |   12 +-
 sim/testsuite/sim/aarch64/sumulh.s                 |   56 +
 485 files changed, 18562 insertions(+), 7390 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/i386/pr21231a.d
 create mode 100644 binutils/testsuite/binutils-all/i386/pr21231a.s
 create mode 100644 binutils/testsuite/binutils-all/i386/pr21231b.d
 create mode 100644 binutils/testsuite/binutils-all/i386/pr21231b.s
 create mode 100644 binutils/testsuite/binutils-all/note-2-32.d
 create mode 100644 binutils/testsuite/binutils-all/note-2-32.s
 create mode 100644 binutils/testsuite/binutils-all/note-2-64.d
 create mode 100644 binutils/testsuite/binutils-all/note-2-64.s
 create mode 100644 binutils/testsuite/binutils-all/x86-64/pr21231a.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/pr21231a.s
 create mode 100644 binutils/testsuite/binutils-all/x86-64/pr21231b.d
 create mode 100644 binutils/testsuite/binutils-all/x86-64/pr21231b.s
 create mode 100644 gas/testsuite/gas/all/org-1.d
 create mode 100644 gas/testsuite/gas/all/org-1.l
 create mode 100644 gas/testsuite/gas/all/org-1.s
 create mode 100644 gas/testsuite/gas/all/org-2.d
 create mode 100644 gas/testsuite/gas/all/org-2.l
 create mode 100644 gas/testsuite/gas/all/org-2.s
 create mode 100644 gas/testsuite/gas/all/org-3.d
 create mode 100644 gas/testsuite/gas/all/org-3.l
 create mode 100644 gas/testsuite/gas/all/org-3.s
 create mode 100644 gas/testsuite/gas/all/org-4.d
 create mode 100644 gas/testsuite/gas/all/org-4.s
 create mode 100644 gas/testsuite/gas/all/org-5.d
 create mode 100644 gas/testsuite/gas/all/org-5.s
 create mode 100644 gas/testsuite/gas/all/org-6.d
 create mode 100644 gas/testsuite/gas/all/org-6.s
 create mode 100644 gas/testsuite/gas/arc/nps400-11.d
 create mode 100644 gas/testsuite/gas/arc/nps400-11.s
 create mode 100644 gas/testsuite/gas/i386/cet-intel.d
 create mode 100644 gas/testsuite/gas/i386/cet.d
 create mode 100644 gas/testsuite/gas/i386/cet.s
 create mode 100644 gas/testsuite/gas/i386/pseudos.d
 create mode 100644 gas/testsuite/gas/i386/pseudos.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-cet-intel.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-cet.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-cet.s
 create mode 100644 gas/testsuite/gas/i386/x86-64-pseudos.d
 create mode 100644 gas/testsuite/gas/i386/x86-64-pseudos.s
 create mode 100644 gas/testsuite/gas/mips/mipsr6@jalr4-n32.d
 create mode 100644 gas/testsuite/gas/mips/mipsr6@jalr4-n64.d
 create mode 100644 gas/testsuite/gas/mips/mipsr6@jalr4.d
 create mode 100644 gas/testsuite/gas/mips/org-1.d
 create mode 100644 gas/testsuite/gas/mips/org-1.l
 create mode 100644 gas/testsuite/gas/mips/org-1.s
 create mode 100644 gas/testsuite/gas/mips/org-10.d
 create mode 100644 gas/testsuite/gas/mips/org-10.l
 create mode 100644 gas/testsuite/gas/mips/org-10.s
 create mode 100644 gas/testsuite/gas/mips/org-11.d
 create mode 100644 gas/testsuite/gas/mips/org-11.s
 create mode 100644 gas/testsuite/gas/mips/org-12.d
 create mode 100644 gas/testsuite/gas/mips/org-12.s
 create mode 100644 gas/testsuite/gas/mips/org-2.d
 create mode 100644 gas/testsuite/gas/mips/org-2.s
 create mode 100644 gas/testsuite/gas/mips/org-3.d
 create mode 100644 gas/testsuite/gas/mips/org-3.s
 create mode 100644 gas/testsuite/gas/mips/org-4.d
 create mode 100644 gas/testsuite/gas/mips/org-4.l
 create mode 100644 gas/testsuite/gas/mips/org-4.s
 create mode 100644 gas/testsuite/gas/mips/org-5.d
 create mode 100644 gas/testsuite/gas/mips/org-5.l
 create mode 100644 gas/testsuite/gas/mips/org-5.s
 create mode 100644 gas/testsuite/gas/mips/org-6.d
 create mode 100644 gas/testsuite/gas/mips/org-6.l
 create mode 100644 gas/testsuite/gas/mips/org-6.s
 create mode 100644 gas/testsuite/gas/mips/org-7.d
 create mode 100644 gas/testsuite/gas/mips/org-7.s
 create mode 100644 gas/testsuite/gas/mips/org-8.d
 create mode 100644 gas/testsuite/gas/mips/org-8.s
 create mode 100644 gas/testsuite/gas/mips/org-9.d
 create mode 100644 gas/testsuite/gas/mips/org-9.s
 create mode 100644 gdb/common/environ.c
 rename gdb/{ => common}/environ.h (100%)
 delete mode 100644 gdb/environ.c
 create mode 100644 gdb/mi/mi-interp.h
 create mode 100644 gdb/testsuite/gdb.arch/arm-disassembler-options.exp
 create mode 100644 gdb/testsuite/gdb.arch/i386-mpx-call.c
 create mode 100644 gdb/testsuite/gdb.arch/i386-mpx-call.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-altivec.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-altivec.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-altivec2.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-altivec2.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-altivec3.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-altivec3.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-disassembler-options.exp
 delete mode 100644 gdb/testsuite/gdb.arch/powerpc-power.exp
 delete mode 100644 gdb/testsuite/gdb.arch/powerpc-power.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-power7.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-power7.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-power8.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-power8.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-power9.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-power9.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-vsx.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-vsx.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-vsx2.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-vsx2.s
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-vsx3.exp
 create mode 100644 gdb/testsuite/gdb.arch/powerpc-vsx3.s
 create mode 100644 gdb/testsuite/gdb.arch/s390-disassembler-options.exp
 create mode 100644 gdb/testsuite/gdb.arch/sparc64-regs.S
 create mode 100644 gdb/testsuite/gdb.arch/sparc64-regs.exp
 delete mode 100644 gdb/testsuite/gdb.base/tui-layout.exp
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-casts.cc
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-casts.exp
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-overload.cc
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-overload.exp
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-params.cc
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-params.exp
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-sizeof.cc
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-sizeof.exp
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-types.cc
 create mode 100644 gdb/testsuite/gdb.cp/rvalue-ref-types.exp
 create mode 100644 gdb/testsuite/gdb.disasm/disassembler-options.exp
 create mode 100644 gdb/testsuite/gdb.guile/scm-lazy-string.c
 create mode 100644 gdb/testsuite/gdb.guile/scm-lazy-string.exp
 create mode 100644 gdb/testsuite/gdb.python/py-rvalue-ref-value-cc.cc
 create mode 100644 gdb/testsuite/gdb.python/py-rvalue-ref-value-cc.exp
 create mode 100644 gdb/testsuite/gdb.threads/interrupt-while-step-over.c
 create mode 100644 gdb/testsuite/gdb.threads/interrupt-while-step-over.exp
 create mode 100644 gdb/testsuite/gdb.tui/completion.exp
 rename gdb/testsuite/{gdb.base/tui-layout.c => gdb.tui/tui-disasm-long-lines.c} (100%)
 create mode 100644 gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp
 create mode 100644 gdb/testsuite/gdb.tui/tui-layout.c
 create mode 100644 gdb/testsuite/gdb.tui/tui-layout.exp
 create mode 100644 gdb/testsuite/gdb.tui/tui-nl-filtered-output.exp
 create mode 100644 ld/testsuite/ld-checks/over.d
 create mode 100644 ld/testsuite/ld-checks/over.s
 create mode 100644 ld/testsuite/ld-checks/over2.d
 create mode 100644 ld/testsuite/ld-checks/over2.s
 create mode 100644 ld/testsuite/ld-elf/orphan-10.d
 create mode 100644 ld/testsuite/ld-elf/orphan-10.s
 create mode 100644 ld/testsuite/ld-elf/orphan-9.d
 create mode 100644 ld/testsuite/ld-elf/orphan-9.ld
 create mode 100644 ld/testsuite/ld-elf/orphan-9.s
 create mode 100644 ld/testsuite/ld-mips-elf/jalr4-r6.dd
 create mode 100644 sim/testsuite/sim/aarch64/sumulh.s

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index c9a95fe..8565325 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-22  Nick Clifton  <nickc@redhat.com>
+
+	* config.sub: Sync with master version in config project.
+	* config.guess: Likewise.
+
 2017-01-23  Nick Clifton  <nickc@redhat.com>
 
 	* configure.ac: Update year in copyright notice.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0f8d9ee..50e76c2 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,166 @@
+2017-03-20  Alan Modra  <amodra@gmail.com>
+
+	PR 21266
+	* elf64-ppc.c (compare_symbols): Stabilize sort.
+
+2017-03-18  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (struct ppc_link_hash_table): Add
+	local_ifunc_resolver and maybe_local_ifunc_resolver.
+	(ppc_build_one_stub): Set flags on emitting dynamic
+	relocation to ifunc.
+	(ppc64_elf_relocate_section): Likewise.
+	(ppc64_elf_finish_dynamic_symbol): Likewise.
+	(ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
+	local dynamic relocs to ifuncs.
+	* elf32-ppc.c (struct ppc_elf_link_hash_table): Add
+	local_ifunc_resolver and maybe_local_ifunc_resolver.
+	(ppc_elf_relocate_section): Set flag on emitting dynamic
+	relocation to ifuncs.
+	(ppc_elf_finish_dynamic_symbol): Likewise.
+	(ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
+	dynamic relocs to ifuncs.
+
+2017-03-13  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/21202
+	* reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
+	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
+	(BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
+	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
+	names.
+	(IS_AARCH64_TLSDESC_RELOC): Likewise.
+	(elfNN_aarch64_howto_table): Likewise.
+	(aarch64_tls_transition_without_check): Likewise.
+	(aarch64_reloc_got_type): Likewise.
+	(elfNN_aarch64_final_link_relocate): Likewise.
+	(elfNN_aarch64_tls_relax): Likewise.
+	(elfNN_aarch64_relocate_section): Likewise.
+	(elfNN_aarch64_gc_sweep_hook): Likewise.
+	(elfNN_aarch64_check_relocs): Likewise.
+	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
+	(_bfd_aarch64_elf_resolve_relocation): Likewise.
+
+2017-03-11  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
+	parameter is in fact used.  Whitespace fixes.
+	* elf64-ppc.c: Likewise.
+
+2017-03-09  Sam Thursfield  <sam.thursfield@codethink.co.uk>
+
+	* rs6000-core.c (CORE_NEW): Simplify macro when
+	AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
+
+2017-03-07  Alan Modra  <amodra@gmail.com>
+
+	PR 21224
+	PR 20519
+	* elf64-ppc.c (ppc64_elf_relocate_section): Add missing
+	dyn_relocs check.
+
+2017-03-05  Alan Modra  <amodra@gmail.com>
+
+	* elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
+	* elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
+	(next_cie_fde_offset): New function.
+	(_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
+	(_bfd_elf_discard_section_eh_frame): Align zero terminator to
+	four bytes.  Align CIEs to four or eight bytes depending on
+	per_encoding_aligned8.  Align FDEs according to their encoding.
+	Pad last FDE to output section alignment.
+	(_bfd_elf_write_section_eh_frame): Adjust to suit.  Remove
+	assertion.
+	* elf64-ppc.c (glink_eh_frame_cie): Delete padding.
+	(ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
+	(ppc64_elf_finish_dynamic_sections): Adjust to suit.
+
+2017-03-02  Martin Bickel  <binutils@ineranves.de>
+
+	PR ld/21212
+	* elf.c (rewrite_elf_program_header): Do not issue a warning for
+	empty segments which have a zero filesz, but a non-zero memsz.
+
+2017-03-02  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
+
+2017-02-28  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
+	(ppc64_elf_relocate_section): Likewise.
+
+2017-02-28  Alan Modra  <amodra@gmail.com>
+
+	PR 20995
+	* elf32-nios2.c (nios2_elf32_relocate_section): Use htab
+	rather than elf32_nios2_hash_table or elf_hash_table.
+	(create_got_section): Likewise.
+	(nios2_elf32_finish_dynamic_symbol): Likewise.
+	(nios2_elf32_adjust_dynamic_symbol): Likewise.
+	(nios2_elf32_size_dynamic_sections): Likewise.
+	(nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
+	vars.  Use htab equivalents directly instead.  Don't create
+	all dynamic sections on needing just the GOT.  Use a goto
+	rather than a fall-through with reloc test.  Ensure
+	htab->dynobj is set when making dynamic sreloc section.
+	(nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
+	equivalent directly instead.  Don't segfault on looking for
+	.dynamic when dynamic sections have not been created.  Don't
+	segfault on .got.plt being discarded.
+	(nios2_elf32_size_dynamic_sections): Delete plt and got vars.
+	Don't set "relocs" on .rela.plt.  Do handle .sbss.  Delete
+	fixme and another not so relevant comment.
+	(nios2_elf_add_symbol_hook): Delete dynobj var.  If not
+	already set, set hash table dynobj on creating .sbss.
+
+2017-02-28  Alan Modra  <amodra@gmail.com>
+
+	* reloc.c (BFD_RELOC_PPC_16DX_HA): New.
+	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
+	(ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
+	(ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
+	(ppc64_elf_relocate_section): Likewise.
+	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
+	(ppc_elf_reloc_type_lookup): Translate new bfd reloc.
+	(ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+
+2017-02-28  Alan Modra  <amodra@gmail.com>
+
+	* elflink.c (_bfd_elf_create_dynamic_sections): Don't make
+	dynamic .data.rel.ro read-only.
+	* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
+	rather than section flags when deciding where copy reloc goes.
+	* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
+	* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
+	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
+	* elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
+	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
+	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
+	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
+	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
+	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
+	* elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
+	* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
+	* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
+	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
+	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
+	* elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
+	* elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
+	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
+	* elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
+
+2017-02-28  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* elfxx-mips.c (mips_elf_perform_relocation): Also handle the
+	`jalr $0, $25' instruction encoding.
+
 2017-02-27  Nick Clifton  <nickc@redhat.com>
 
 	PR ld/21180
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index f17813a..59403af 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -3362,6 +3362,7 @@ instruction.  */
   BFD_RELOC_PPC_VLE_SDAREL_HI16D,
   BFD_RELOC_PPC_VLE_SDAREL_HA16A,
   BFD_RELOC_PPC_VLE_SDAREL_HA16D,
+  BFD_RELOC_PPC_16DX_HA,
   BFD_RELOC_PPC_REL16DX_HA,
   BFD_RELOC_PPC64_HIGHER,
   BFD_RELOC_PPC64_HIGHER_S,
@@ -6155,13 +6156,13 @@ instructions.  */
   BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
 
 /* AArch64 TLS DESC relocation.  */
-  BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC,
+  BFD_RELOC_AARCH64_TLSDESC_LD64_LO12,
 
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC,
 
 /* AArch64 TLS DESC relocation.  */
-  BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC,
+  BFD_RELOC_AARCH64_TLSDESC_ADD_LO12,
 
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_OFF_G1,
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index f5a8d75..9e3d6f5 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -342,6 +342,10 @@ struct eh_cie_fde
 	 make_per_encoding_relative is.  */
       unsigned int per_encoding_relative : 1;
 
+      /* True if the CIE contains personality data aligned to a
+	 multiple of eight bytes.  */
+      unsigned int per_encoding_aligned8 : 1;
+
       /* True if we need to add an 'R' (FDE encoding) entry to the
 	 CIE's augmentation data.  */
       unsigned int add_fde_encoding : 1;
@@ -350,7 +354,7 @@ struct eh_cie_fde
       unsigned int merged : 1;
 
       /* Unused bits.  */
-      unsigned int pad1 : 18;
+      unsigned int pad1 : 17;
     } cie;
   } u;
   unsigned int reloc_index;
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 1b03b9b..6967f37 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -309,11 +309,10 @@ extra_augmentation_data_bytes (struct eh_cie_fde *entry)
   return size;
 }
 
-/* Return the size that ENTRY will have in the output.  ALIGNMENT is the
-   required alignment of ENTRY in bytes.  */
+/* Return the size that ENTRY will have in the output.  */
 
 static unsigned int
-size_of_output_cie_fde (struct eh_cie_fde *entry, unsigned int alignment)
+size_of_output_cie_fde (struct eh_cie_fde *entry)
 {
   if (entry->removed)
     return 0;
@@ -321,8 +320,22 @@ size_of_output_cie_fde (struct eh_cie_fde *entry, unsigned int alignment)
     return 4;
   return (entry->size
 	  + extra_augmentation_string_bytes (entry)
-	  + extra_augmentation_data_bytes (entry)
-	  + alignment - 1) & -alignment;
+	  + extra_augmentation_data_bytes (entry));
+}
+
+/* Return the offset of the FDE or CIE after ENT.  */
+
+static unsigned int
+next_cie_fde_offset (struct eh_cie_fde *ent,
+		     struct eh_cie_fde *last,
+		     asection *sec)
+{
+  while (++ent < last)
+    {
+      if (!ent->removed)
+	return ent->new_offset;
+    }
+  return sec->size;
 }
 
 /* Assume that the bytes between *ITER and END are CFA instructions.
@@ -811,6 +824,8 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 			{
 			  length = -(buf - ehbuf) & (per_width - 1);
 			  REQUIRE (skip_bytes (&buf, end, length));
+			  if (per_width == 8)
+			    this_inf->u.cie.per_encoding_aligned8 = 1;
 			}
 		      this_inf->u.cie.personality_offset = buf - start;
 		      ENSURE_NO_RELOCS (buf);
@@ -1326,7 +1341,7 @@ _bfd_elf_discard_section_eh_frame
   struct eh_cie_fde *ent;
   struct eh_frame_sec_info *sec_info;
   struct eh_frame_hdr_info *hdr_info;
-  unsigned int ptr_size, offset;
+  unsigned int ptr_size, offset, eh_alignment;
 
   if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME)
     return FALSE;
@@ -1406,14 +1421,46 @@ _bfd_elf_discard_section_eh_frame
       sec_info->cies = NULL;
     }
 
+  /* It may be that some .eh_frame input section has greater alignment
+     than other .eh_frame sections.  In that case we run the risk of
+     padding with zeros before that section, which would be seen as a
+     zero terminator.  Alignment padding must be added *inside* the
+     last FDE instead.  For other FDEs we align according to their
+     encoding, in order to align FDE address range entries naturally.  */
   offset = 0;
   for (ent = sec_info->entry; ent < sec_info->entry + sec_info->count; ++ent)
     if (!ent->removed)
       {
+	eh_alignment = 4;
+	if (ent->size == 4)
+	  ;
+	else if (ent->cie)
+	  {
+	    if (ent->u.cie.per_encoding_aligned8)
+	      eh_alignment = 8;
+	  }
+	else
+	  {
+	    eh_alignment = get_DW_EH_PE_width (ent->fde_encoding, ptr_size);
+	    if (eh_alignment < 4)
+	      eh_alignment = 4;
+	  }
+	offset = (offset + eh_alignment - 1) & -eh_alignment;
 	ent->new_offset = offset;
-	offset += size_of_output_cie_fde (ent, ptr_size);
+	offset += size_of_output_cie_fde (ent);
       }
 
+  /* Pad the last FDE out to the output section alignment if there are
+     following sections, in order to ensure no padding between this
+     section and the next.  (Relies on the output section alignment
+     being the maximum of all input sections alignments, which is the
+     case unless someone is overriding alignment via scripts.)  */
+  eh_alignment = 4;
+  if (sec->map_head.s != NULL
+      && (sec->map_head.s->size != 4
+	  || sec->map_head.s->map_head.s != NULL))
+    eh_alignment = 1 << sec->output_section->alignment_power;
+  offset = (offset + eh_alignment - 1) & -eh_alignment;
   sec->rawsize = sec->size;
   sec->size = offset;
   return offset != sec->rawsize;
@@ -1732,8 +1779,7 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
   struct elf_link_hash_table *htab;
   struct eh_frame_hdr_info *hdr_info;
   unsigned int ptr_size;
-  struct eh_cie_fde *ent;
-  bfd_size_type sec_size;
+  struct eh_cie_fde *ent, *last_ent;
 
   if (sec->sec_info_type != SEC_INFO_TYPE_EH_FRAME)
     /* FIXME: octets_per_byte.  */
@@ -1771,7 +1817,8 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
     if (!ent->removed && ent->new_offset < ent->offset)
       memmove (contents + ent->new_offset, contents + ent->offset, ent->size);
 
-  for (ent = sec_info->entry; ent < sec_info->entry + sec_info->count; ++ent)
+  last_ent = sec_info->entry + sec_info->count;
+  for (ent = sec_info->entry; ent < last_ent; ++ent)
     {
       unsigned char *buf, *end;
       unsigned int new_size;
@@ -1782,13 +1829,13 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
       if (ent->size == 4)
 	{
 	  /* Any terminating FDE must be at the end of the section.  */
-	  BFD_ASSERT (ent == sec_info->entry + sec_info->count - 1);
+	  BFD_ASSERT (ent == last_ent - 1);
 	  continue;
 	}
 
       buf = contents + ent->new_offset;
       end = buf + ent->size;
-      new_size = size_of_output_cie_fde (ent, ptr_size);
+      new_size = next_cie_fde_offset (ent, last_ent, sec) - ent->new_offset;
 
       /* Update the size.  It may be shrinked.  */
       bfd_put_32 (abfd, new_size - 4, buf);
@@ -2059,18 +2106,6 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
 	}
     }
 
-  /* We don't align the section to its section alignment since the
-     runtime library only expects all CIE/FDE records aligned at
-     the pointer size. _bfd_elf_discard_section_eh_frame should
-     have padded CIE/FDE records to multiple of pointer size with
-     size_of_output_cie_fde.  */
-  sec_size = sec->size;
-  if (sec_info->count != 0
-      && sec_info->entry[sec_info->count - 1].size == 4)
-    sec_size -= 4;
-  if ((sec_size % ptr_size) != 0)
-    abort ();
-
   /* FIXME: octets_per_byte.  */
   return bfd_set_section_contents (abfd, sec->output_section,
 				   contents, (file_ptr) sec->output_offset,
diff --git a/bfd/elf.c b/bfd/elf.c
index 94726ba..9418e51 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -6689,11 +6689,16 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
 	  /* Special segments, such as the PT_PHDR segment, may contain
 	     no sections, but ordinary, loadable segments should contain
 	     something.  They are allowed by the ELF spec however, so only
-	     a warning is produced.  */
-	  if (segment->p_type == PT_LOAD)
+	     a warning is produced.  
+	     There is however the valid use case of embedded systems which
+	     have segments with p_filesz of 0 and a p_memsz > 0 to initialize
+	     flash memory with zeros.  No warning is shown for that case.  */
+	  if (segment->p_type == PT_LOAD
+	      && (segment->p_filesz > 0 || segment->p_memsz == 0))
+	    /* xgettext:c-format */
 	    _bfd_error_handler (_("\
-%B: warning: Empty loadable segment detected, is this intentional ?"),
-				ibfd);
+%B: warning: Empty loadable segment detected at vaddr=0x%.8x, is this intentional ?"),
+				ibfd, segment->p_vaddr);
 
 	  map->count = 0;
 	  *pointer_to_map = map;
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 8171b0b..0a78595 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -16311,7 +16311,7 @@ elf32_arm_finish_dynamic_symbol (bfd * output_bfd,
 		      + h->root.u.def.section->output_section->vma
 		      + h->root.u.def.section->output_offset);
       rel.r_info = ELF32_R_INFO (h->dynindx, R_ARM_COPY);
-      if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
+      if (h->root.u.def.section == htab->root.sdynrelro)
 	s = htab->root.sreldynrelro;
       else
 	s = htab->root.srelbss;
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index a69c7e4..97b8cc3 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -2275,7 +2275,7 @@ elf_cris_finish_dynamic_symbol (bfd *output_bfd,
 		  && (h->root.type == bfd_link_hash_defined
 		      || h->root.type == bfd_link_hash_defweak));
 
-      if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
+      if (h->root.u.def.section == htab->root.sdynrelro)
 	s = htab->root.sreldynrelro;
       else
 	s = htab->root.srelbss;
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c
index d5b911c..1deebf4 100644
--- a/bfd/elf32-hppa.c
+++ b/bfd/elf32-hppa.c
@@ -4432,7 +4432,7 @@ elf32_hppa_finish_dynamic_symbol (bfd *output_bfd,
 		      + eh->root.u.def.section->output_section->vma);
       rela.r_addend = 0;
       rela.r_info = ELF32_R_INFO (eh->dynindx, R_PARISC_COPY);
-      if ((eh->root.u.def.section->flags & SEC_READONLY) != 0)
+      if (eh->root.u.def.section == htab->etab.sdynrelro)
 	sec = htab->etab.sreldynrelro;
       else
 	sec = htab->etab.srelbss;
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index e6e70d8..2784ef7 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -5666,7 +5666,7 @@ do_glob_dat:
 		      + h->root.u.def.section->output_section->vma
 		      + h->root.u.def.section->output_offset);
       rel.r_info = ELF32_R_INFO (h->dynindx, R_386_COPY);
-      if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
+      if (h->root.u.def.section == htab->elf.sdynrelro)
 	s = htab->elf.sreldynrelro;
       else
 	s = htab->elf.srelbss;
diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c
index 40a2baf..c45d719 100644
--- a/bfd/elf32-metag.c
+++ b/bfd/elf32-metag.c
@@ -3229,7 +3229,7 @@ elf_metag_finish_dynamic_symbol (bfd *output_bfd,
 		      + eh->root.u.def.section->output_section->vma);
       rel.r_addend = 0;
       rel.r_info = ELF32_R_INFO (eh->dynindx, R_METAG_COPY);
-      if ((eh->root.u.def.section->flags & SEC_READONLY) != 0)
+      if (eh->root.u.def.section == htab->etab.sdynrelro)
 	s = htab->etab.sreldynrelro;
       else
 	s = htab->etab.srelbss;
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
index 27118c1..325a0d6 100644
--- a/bfd/elf32-microblaze.c
+++ b/bfd/elf32-microblaze.c
@@ -3277,7 +3277,7 @@ microblaze_elf_finish_dynamic_symbol (bfd *output_bfd,
                        + h->root.u.def.section->output_offset);
       rela.r_info = ELF32_R_INFO (h->dynindx, R_MICROBLAZE_COPY);
       rela.r_addend = 0;
-      if ((h->root.u.def.section->flags & SEC_READONLY) != 0)
+      if (h->root.u.def.section == htab->elf.sdynrelro)


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


^ permalink raw reply	[flat|nested] 9+ messages in thread
* [SCM]  users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx
@ 2016-12-17 15:05 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2016-12-17 15:05 UTC (permalink / raw)
  To: archer-commits

The branch, users/jkratoch/indexcxx has been updated
       via  0c0575d9bce26a219a5db55b10aa4e28650150ff (commit)
       via  ddb9ad345c9b4a8cfe2c9a71190ecf408454e745 (commit)
       via  97f00e367c8222cda51bc7c0e9d3073a487a5976 (commit)
       via  db7b55faa1a11e632ddf57505c9bb64bc783471a (commit)
       via  221855059a11ab76aa909a5df4104354f9384139 (commit)
       via  4c4067e410581fe5c6190407b4fd410e7b71f9e4 (commit)
       via  a961cdd5f139d3c3e09170db52bd8df7dafae13f (commit)
       via  02aa377fbdd17b763b1e32ad72ccfd1c617ce463 (commit)
       via  cadf97cf20cf76af35e41075dff81197fbec0e51 (commit)
       via  5e7fc731f80e0d08385a05ad47dda332a49d9341 (commit)
       via  8184783a4069e04deb2e43b4ad0d66d80f1ad2df (commit)
       via  eefc3365838ed15c02bd7da39fbc31c00d07b398 (commit)
       via  353abf7c10561aab3e8e7ffce6e270c3743376f0 (commit)
       via  63e014fccdd91a89873554f6b33d7128d7112813 (commit)
       via  c1fc2d7ee590f3bc87ee79c36e7216b0b6bb054b (commit)
       via  7acd51d6971f12b832cd7281f669a7ae7feddf45 (commit)
       via  98fa61facff8fb041205950d642f5403372bfd96 (commit)
       via  a02c3512655cc2c8ad68e4b656959b7d284acc7d (commit)
       via  6650f7bd18f8161b9f666d3e65a6346e23a9d85f (commit)
       via  fc8e0108db6c60f2ecefb4004cddb94e8824fd42 (commit)
       via  591be3e4a841ac56bb3ee094447b708d58a6d4b8 (commit)
       via  03fb64f837bd8466ba6e7b7cb8880f5c6c87daab (commit)
       via  a6a51754740513db76fdee3aa153cdd51e87a24a (commit)
       via  aa785360cfa271505394080c8e367017782ca57a (commit)
       via  963201cf5d29c4dc718b5fb3507e085b302ff896 (commit)
       via  9282b95ab7bfe1cdf471e9dd609ae0ea7bbed925 (commit)
       via  971f1d27d2ee2732f9ab2fa75923007b40e2bbec (commit)
       via  1bec0c8632397f3c5cdcf27bbb53318f6a6af7e0 (commit)
       via  1336427510a5ffe7ed8f0c402cc9d315cc679952 (commit)
       via  bfbf34de2f27672282d4fa4c0916cc41890dcc6c (commit)
       via  d81222d3863037a90e0402cf438f7e45600feea2 (commit)
       via  75c6202b1d13b892581e8dd56b8e0664815390c1 (commit)
       via  22b05d33b4c870d65972ff8aefdd297ddc66d139 (commit)
       via  6392030005291f7c783da2247b63ae31dc8352e0 (commit)
       via  ea0ffd5be2dfd6ee696fc15294d7b2bf29f267a7 (commit)
       via  d32a48b9f2d8a374b7ce3f2c47cc9a1c3b184838 (commit)
       via  88acc2e16743fc1e6384758c9a68cd6d2a8bbd46 (commit)
       via  d36cab83a963f5bb3773e0218cc02f63b0851d0b (commit)
       via  029e9d52de3ac7fe984dc079ebd24506fd1eace7 (commit)
       via  3a0b8f7ddb874283879baaf8af6d11094f4c4999 (commit)
       via  cc90de49738ad220bd1d3d001b492679fc488fe1 (commit)
       via  5d9f66cb84b9f228c1082d3a1037355edceddded (commit)
       via  e83563a9ed0dd6ccc415c4b0cce373fc3264b7a5 (commit)
       via  98fdf25a43abdad5784e762466fdd7bd59b0899e (commit)
       via  ec6f610ffcc411237e9f8955dd2227cefd255af2 (commit)
       via  4783ebbcfa35032ac2742f403258a14b647d9ba6 (commit)
       via  64c111834081a117f902cffc15dadbc535f1c65e (commit)
       via  f17ecb4baca990b57cc57e8337c4e03ecee02742 (commit)
       via  55af478400524cba7994e353fd9a98ef1543df2f (commit)
       via  1736a7bd96e8927c3f889a35f9153df4fd19d833 (commit)
       via  f94f411b8308674eb4f790a9fcad0ffa30b568e5 (commit)
       via  a28aa6edd4ba848c110cd73fd4e29c2bbdb2cb72 (commit)
       via  1a31b34a18d61dee55042f2ab23c8fa9203fe6ef (commit)
       via  f1b5deee16144a75aa605bf37ed38d461587d399 (commit)
       via  fc2f703edb656c69b0026a006c6063cdb255e06a (commit)
       via  198cd59d289209ad63cdd6da45e02a1c12b423a7 (commit)
       via  364ca42e71dfdce3f34e97ef028f7e3d5b5d880e (commit)
       via  c752a4cccb99ba73f51eff74b394dcdcd26d4c59 (commit)
       via  53488a6e194af11c2528e5e284facb8a6171b695 (commit)
       via  cfccf141f0db8de28ba21a8920939c30e123d73e (commit)
       via  39f66f3ae25ebd3a065218ce880280fd5b4b861c (commit)
       via  860b03a8f357d1565bd9d79ae25121059b2d28ae (commit)
       via  731f7c4ea30cc409c45412eec15e3d66afe051f5 (commit)
       via  bf355b690f07315bf2704e349c4f1c9ca611f031 (commit)
       via  329d01f70ea6367a9593c9b31e268c06dd729ec9 (commit)
       via  3a2488dd21a895df3ffb49048f5de1a83ce2ddd4 (commit)
       via  1d262527cf7ef3cdd2c015dc3540b47996e94d37 (commit)
       via  980d0cdd2fc40c30f3ddef644659d7d0dc00ed40 (commit)
       via  69a2af1016e03239f7af4e55268bd27fc500f800 (commit)
       via  da17fe9de923fcee29e6f809693eb7e590966575 (commit)
       via  8e2a4f11d477986aa360a3b588d35a194efe58f8 (commit)
       via  c3187fa5cc72734e6fc766a85d657018c0516bad (commit)
       via  21389b7f3451a482e14fef9bd32257c4c87f4317 (commit)
       via  0947023d1d4b5d8803a1065d622f707010b2bcdc (commit)
       via  785102a7d34f2d48f9a1616bf931fea6de2385fb (commit)
       via  a9617a426d001a748168fbc399fcc77e6d8d3cac (commit)
       via  e9e431d19426a6dd6b8923850398b847af0a1532 (commit)
       via  e2f9914792465953ca945333d0cbedf0b2d7b3d6 (commit)
       via  14f6890677849172a4b13779acd9089c9baa3a81 (commit)
       via  4b0781150f69b6ff251dac447c77e4d4f6598da8 (commit)
       via  5f5c6e032e8d5303e9903c0538f84f76bb4d8733 (commit)
       via  343fa6906329eb5ec070cf2c05884e49a1cb9d46 (commit)
       via  6725647ca2a0adc9206059814725102b53ea6478 (commit)
       via  b8760d2cb51517789110c7b2dbd8f61dce08291d (commit)
       via  be0fcbee1d47558af13288c6aece922dd4be6df5 (commit)
       via  c2596ca5d7f6ab6d38882bf0f0fc44fe352afcb1 (commit)
       via  1c3a5fbe155614a0f87079b953df0d7618e0ab50 (commit)
       via  a5018ae555cdf491005907c03f997558ba15fc47 (commit)
       via  dc60b26d983494a3cdec0d4f167ed98fde1a832a (commit)
       via  86a6934561f0048624f3ff83f5d3c2565514f0aa (commit)
       via  5590c2bae0fb41e90bc9698e55d8ec1fe22a9173 (commit)
       via  4f3ca05b487e9755018b4c9a053a2e6c35d8a7df (commit)
       via  8b929e420a810afe23d5ba57a98109c74d1d5816 (commit)
       via  92744f058094edd0b29bf9762f4ac26e4c6743c2 (commit)
       via  5eecd8621b955fb99860fc1b0d87074071f42f72 (commit)
       via  005304aae36522a90bbe169faea36db559d0f3d6 (commit)
       via  7c2ba67e6ab10879968c938aefd4d0d0b4ce79bc (commit)
       via  5e359a63b7a39e0ff0f750ca8fc97d27b14c0ef7 (commit)
       via  39eeab253474493bc9477dbb2bd9c8041f05764b (commit)
       via  fc72affa6875e81fc9d495a216a8bcb34045ffcd (commit)
       via  e99f7af2bfbdb08c9cc454d6e5c82e70d34b957e (commit)
       via  efe4db3f06b77934bd81f393194e0fdcfeecf811 (commit)
       via  82d93790a85300d8452450b6d43efb6b15b53788 (commit)
       via  f49547a604b4dd2c75e3636d4a422d52edc4fa6c (commit)
       via  14c1428b29fff12d8119ce6f4703be0de08197af (commit)
       via  fa6631b4eecfcca00c13b9594e6336dffd40982f (commit)
       via  406bd128dba2a59d0736839fc87a59bce319076c (commit)
       via  9b5481c63ab5e1e66e8f23681741039754eabcce (commit)
       via  52c4f3bdd5957a31b671a9791f462be5e8eadd85 (commit)
       via  e2996cc315d6ea242e1a954dc20246485ccc8512 (commit)
       via  c28eeff2eabbba2246799470f3713716fa629680 (commit)
       via  0691188992efa4afab80bfdf966479bc331ce0a4 (commit)
       via  49e8a725825c77aacc7458b9d7771cb2fa2f64c7 (commit)
       via  a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587 (commit)
       via  597e138ca0cf96889a1965d06d28552c1d1174d2 (commit)
       via  a55c9876bb111fd301b4762cf501de0040b8f9db (commit)
       via  88add6d8e794073758b5398c52bbb76ab40a2923 (commit)
       via  daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d (commit)
       via  39d4daf68e696bbf2db417abe677b2e68f3aace9 (commit)
       via  e9a1e93ecab4e67aacb9cd6a5a953c8c0bc23027 (commit)
       via  df9236f89620c3897b2257854b9a4eedc89217ba (commit)
       via  668650d58d61d9d170f3e5b5c1657ed1c3e2b34b (commit)
       via  4132f1c0dfe6bb8984c0dd521388ba6b7b32a4af (commit)
       via  8c5b4e5228ec94923fbdfb0008926b0b2a3f51c2 (commit)
       via  4e95fbcd79b84308417fc25ce12cacdb2a61c0d0 (commit)
       via  ca16c5b392b1c78019fea1710c4f4433161626c5 (commit)
       via  f522190fa7f04a8d9a1dfc51d0cf69973c08afb5 (commit)
       via  b8ac28419be22fe0cc72f6eaaba1ab029610fc71 (commit)
       via  35dc6e06960790cd60b890c14e45f82f110b898f (commit)
       via  8400d40d954ec3b4a3fe9200645a1b6e90ba46f4 (commit)
       via  474436e67c72d2426e79e600d725812514db0dbe (commit)
       via  4193bc588b4e66da0ed502eaef6e7ce85272fb42 (commit)
       via  10c56208ee8ce4d51de64277207b84a5d1be8c95 (commit)
       via  bef721e278d9ba3178e679eda38ac86ef2dc0d5d (commit)
       via  107c2d628b924de1854d6d254d60e97e1887ce4a (commit)
       via  df3ee9ca894f7e831713c332aa7820a6463c2435 (commit)
       via  ec835369f121c11d6e9484ed8c6c11097ad545c5 (commit)
       via  01770bbde902e075e524b518ac6c1087a4cc1cfb (commit)
       via  7ed7e438bf8a21983eeaeec0617868f8bab06197 (commit)
       via  d7f399a8de4c55eb841db6493597a587fac002de (commit)
       via  008459ea88ad4fdcb7da37dad7f68888ef6ecc47 (commit)
       via  531336e3a0b79ed60cfc36ad2d6579b6a71175da (commit)
       via  0c1b455e294c6debb4efedc7f1346f3c43249f15 (commit)
       via  f5ac6ab387ef0974f6348ac7febc691fbb6c0eb4 (commit)
       via  a9752fdf83985f62a0c343311a9cb42ad13f9876 (commit)
       via  e5a873b7071d74320d4e0cbbc2f358dcf2322557 (commit)
       via  fe6fae079099c0eeb3186086d6b150800c0e8770 (commit)
       via  233c8c27eb81b0a3ab5182dcb59c7306ba9bd3f3 (commit)
       via  68c638d6e655a937a48770a5df765e6ebbc5b890 (commit)
       via  08698b7b46c9c932530dcbcd7e851d27a7d2c503 (commit)
       via  d5451cd45325d12b2cc3d10ffe67f09b0e26b967 (commit)
       via  432ec0814b01a93b88eddf13092ea6abef34652d (commit)
       via  4d9a9006139d1ceea787cdda871dff8943e493f0 (commit)
       via  018572b88885ae67d22612937fa1e4fd98d5f5ad (commit)
       via  397b8d2a9fb6651924c311f41b90cabeb3fc3ae9 (commit)
       via  be2884c1ea9b96fdb04c6d244d9e7aa1b654a47a (commit)
       via  376c3ecd17d0636bcf4e527c2e2ca2f94822fe64 (commit)
       via  6a67d49e559b432ead2859e9bb327852adb53112 (commit)
       via  36d18bc526b055be896d8dc319cb3ade42238534 (commit)
       via  77a179e77b38161e461f5e37512f0b3fc3582181 (commit)
       via  33b2fac610fff1255a24763277a4bf77f1b59ef1 (commit)
       via  909c0aa5824080c287b390f82726cf5bfb7011e3 (commit)
       via  37e20dd6599203c4e261fc3a2e86711c90cbbed9 (commit)
       via  c5209615263fd0444da28cdfb6661ad287909a70 (commit)
       via  78afa7f8599e46eb94a93510b383dfb35e549f7e (commit)
       via  0f1254327820d7b3f67f873aa40e76679f067288 (commit)
       via  84c93cd5f1ff869eb8c04314738eaa2cddb3c29e (commit)
       via  fb9feb35913d4cf26baf01e1638b18af301f5387 (commit)
       via  cd2ddb6cde55a20d191e1002dbe1977df695cda9 (commit)
       via  bb95117e107fe58ecd35683bf0e8da3b414378ff (commit)
       via  de97fdd4a05cd7ad0b05444f1721f26c1ad9322f (commit)
       via  9f058c10cef5987ee1f1cb28c9a8cf5ef1ec4d11 (commit)
       via  cdc7edd7b17dddd3558bd04d9b2fb5a73dc75f1c (commit)
       via  bc6c7af4a2f23c48a38139fc7e0ed2ac7b12bb69 (commit)
       via  88256e713c707aeb850688071150d32f9cca5a91 (commit)
       via  88ddd4a1ef8818984f87f574b424ccdc7db19660 (commit)
       via  69ace2200106348a1b00d509a6a234337c104c17 (commit)
       via  4cbd84083ea89e870526ed0c80d462084887ba6e (commit)
       via  4ee1d7e401a8c1aedfdc86aac7faa8267eab1e5c (commit)
       via  cec4b2e3fee8ae2c41089fc7454da56f676f653c (commit)
       via  5cd1d8bcc24e948e86a636161e6d72f6316545a7 (commit)
       via  40a0bfddf07620f5321927b3231502debb3b73bc (commit)
       via  e82ab856bb4689330c29fb9f1c57a8555b26380e (commit)
       via  6d6ad65b43efa17a825702297331fcb290445a18 (commit)
       via  a37a2806e3289294ed214aed3c8a45db46026b39 (commit)
       via  50455f1ab2935f7321215dfa681745c9b1cb5b19 (commit)
       via  95a23284a3db0ec85bb0b11c70e6b5acf00563f6 (commit)
       via  b9b118c3bb29052ee76c6bf32b99962cda5113ba (commit)
       via  4a9d4ea535a6c9b8c2e7cdf91377abe284d0b277 (commit)
       via  56df3084847984aeddd8c24ca997242ec8c5a369 (commit)
       via  5486f16481dffa1c1a0d1fd9e38b97e3678078ed (commit)
       via  5084b13657023904cb60737abdf4cefb539a5fc4 (commit)
       via  ad02e4fe877f3a874145dd045626501245e65624 (commit)
       via  7913a64cab3930fe524f0e38f85cfca11bd52dcb (commit)
       via  e9a38e0f5287ce7b4629f5f923191e38dd7355c0 (commit)
       via  502d895cd1ca5d4abf4ef55984cbf5239aeaef0c (commit)
       via  ea3d7d1cab4221ab729327bb4d957352c79d05f0 (commit)
       via  f0e9390be5bbfa3ee777d81dacfccd713ebddb68 (commit)
       via  abe7c33b45288b407e6d001aad713183d4bab5c6 (commit)
       via  ee881e5d3312ea5396bddc37e8673b77bf549b4b (commit)
       via  0a0640e3ba9a668c4c317520c48246e1cc8d75ca (commit)
       via  aec6cd371d194f93cb7651c219b75eed05bdda98 (commit)
       via  268ebe95201d2ebdcf68cad9dc67ff6d1e25be9e (commit)
       via  157686a88644b111658c661fc225881e75f3b0db (commit)
       via  cd58485720b47d80fed0b281d15a9198f43eaf0c (commit)
       via  abfcb414b9900ef996b1665323a950610dbdca43 (commit)
       via  1a0884415891b197972f8acf59131c3c9376807f (commit)
       via  7dc54575d91a2b41f6c3e838eec44a7017a24436 (commit)
       via  ee40d8d45213caf0cfb63e603f0fd5a58532e751 (commit)
       via  4deb8f714d555a2f530e37c3e7af32bc42fdda58 (commit)
      from  4951936409ad913e04f1a9f6a7cdbb21c1da926f (commit)

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

- Log -----------------------------------------------------------------
commit 0c0575d9bce26a219a5db55b10aa4e28650150ff
Merge: 4951936 ddb9ad3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 16:01:12 2016 +0100

    Merge remote-tracking branch 'gdb/master' into indexcxx

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

Summary of changes:
 ChangeLog                                          |    9 +
 bfd/ChangeLog                                      |  213 +
 bfd/aoutx.h                                        |   65 +-
 bfd/bfd-in.h                                       |    4 +
 bfd/bfd-in2.h                                      |    4 +
 bfd/config.bfd                                     |   11 +-
 bfd/elf.c                                          |  101 +-
 bfd/elf32-rx.c                                     |   16 +-
 bfd/elf64-hppa.c                                   |   37 +-
 bfd/elf64-ppc.c                                    |  413 +-
 bfd/elf64-ppc.h                                    |    2 -
 bfd/elflink.c                                      |  112 +-
 bfd/elfnn-aarch64.c                                |   37 +-
 bfd/elfxx-mips.c                                   |   11 +-
 bfd/elfxx-sparc.c                                  |    4 +-
 bfd/peicode.h                                      |    7 +-
 bfd/version.h                                      |    2 +-
 binutils/ChangeLog                                 |   69 +
 binutils/MAINTAINERS                               |   11 +-
 binutils/nm.c                                      |    7 +-
 binutils/objcopy.c                                 |    5 +-
 binutils/readelf.c                                 |    9 +-
 binutils/testsuite/binutils-all/arc/objdump.exp    |    2 +-
 binutils/testsuite/binutils-all/mips/mips-ase-1.d  |   29 +
 binutils/testsuite/binutils-all/mips/mips-ase-1.s  |   12 +
 binutils/testsuite/binutils-all/mips/mips-ase-2.d  |   29 +
 binutils/testsuite/binutils-all/mips/mips-ase-2.s  |   12 +
 binutils/testsuite/binutils-all/mips/mips-ase-3.d  |   18 +
 binutils/testsuite/binutils-all/mips/mips.exp      |    5 +
 .../binutils-all/mips/mips16-extend-noinsn.d       |   33 +
 .../binutils-all/mips/mips16-extend-noinsn.s       |   25 +
 .../testsuite/binutils-all/mips/mips16-pcrel.d     |  200 +
 .../testsuite/binutils-all/mips/mips16-pcrel.s     |  219 +
 config/ChangeLog                                   |    6 +
 config/acx.m4                                      |    2 +-
 config/bootstrap-asan.mk                           |    2 +-
 config/multi.m4                                    |    3 +-
 configure                                          |    4 +-
 configure.ac                                       |    2 +-
 gas/ChangeLog                                      |  284 ++
 gas/app.c                                          |    2 +-
 gas/config/tc-aarch64.c                            |   30 +-
 gas/config/tc-arc.c                                |  169 +-
 gas/config/tc-arm.c                                |  107 +-
 gas/config/tc-mips.c                               |   12 +-
 gas/configure                                      |    2 +-
 gas/configure.tgt                                  |    3 +
 gas/doc/c-arc.texi                                 |  104 +
 gas/doc/c-arm.texi                                 |    1 +
 gas/expr.c                                         |    2 +-
 gas/read.c                                         |   31 +-
 gas/read.h                                         |    5 +-
 gas/subsegs.c                                      |    4 +
 gas/symbols.c                                      |   11 +-
 gas/testsuite/gas/aarch64/addsub.d                 |    2 +-
 gas/testsuite/gas/aarch64/adr_1.d                  |    1 +
 gas/testsuite/gas/aarch64/advsimd-across.d         |    2 +-
 gas/testsuite/gas/aarch64/advsimd-armv8_3.d        |    2 +-
 gas/testsuite/gas/aarch64/advsimd-fp16.d           |    2 +-
 gas/testsuite/gas/aarch64/advsimd-misc.d           |    2 +-
 gas/testsuite/gas/aarch64/advsisd-copy.d           |    2 +-
 gas/testsuite/gas/aarch64/advsisd-misc.d           |    2 +-
 gas/testsuite/gas/aarch64/alias.d                  |    2 +-
 gas/testsuite/gas/aarch64/armv8-ras-1.d            |    2 +-
 gas/testsuite/gas/aarch64/b_1.d                    |    4 +-
 gas/testsuite/gas/aarch64/beq_1.d                  |    4 +-
 gas/testsuite/gas/aarch64/bitfield-dump            |    2 +-
 gas/testsuite/gas/aarch64/bitfield-no-aliases.d    |    2 +-
 gas/testsuite/gas/aarch64/codealign.d              |    2 +-
 gas/testsuite/gas/aarch64/codealign_1.d            |    2 +-
 gas/testsuite/gas/aarch64/crc32-directive.d        |    2 +-
 gas/testsuite/gas/aarch64/crc32.d                  |    2 +-
 gas/testsuite/gas/aarch64/crypto-directive.d       |    2 +-
 gas/testsuite/gas/aarch64/crypto.d                 |    2 +-
 gas/testsuite/gas/aarch64/diagnostic.l             |  217 +-
 gas/testsuite/gas/aarch64/diagnostic.s             |    1 +
 gas/testsuite/gas/aarch64/dwarf.d                  |   32 +-
 gas/testsuite/gas/aarch64/float-fp16.d             |    2 +-
 gas/testsuite/gas/aarch64/floatdp2.d               |    2 +-
 gas/testsuite/gas/aarch64/fp-armv8_3.d             |    2 +-
 gas/testsuite/gas/aarch64/fp-const0-parse.d        |    2 +-
 gas/testsuite/gas/aarch64/fp_cvt_int.d             |    2 +-
 gas/testsuite/gas/aarch64/fpmov.d                  |    2 +-
 gas/testsuite/gas/aarch64/inst-directive.d         |    2 +-
 gas/testsuite/gas/aarch64/int-insns.d              |    2 +-
 gas/testsuite/gas/aarch64/ldr_1.d                  |    4 +-
 gas/testsuite/gas/aarch64/ldst-exclusive-armv8_3.d |    2 +-
 gas/testsuite/gas/aarch64/ldst-exclusive.d         |    2 +-
 gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.d  |    2 +-
 gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d   |    2 +-
 gas/testsuite/gas/aarch64/ldst-reg-pair.d          |    2 +-
 gas/testsuite/gas/aarch64/ldst-reg-reg-offset.d    |    2 +-
 gas/testsuite/gas/aarch64/ldst-reg-uns-imm.d       |    2 +-
 gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.d  |    2 +-
 gas/testsuite/gas/aarch64/lor-directive.d          |    2 +-
 gas/testsuite/gas/aarch64/lor.d                    |    2 +-
 gas/testsuite/gas/aarch64/lse-atomic.d             |    2 +-
 gas/testsuite/gas/aarch64/mapmisc.d                |   78 +-
 gas/testsuite/gas/aarch64/mov-no-aliases.d         |    2 +-
 gas/testsuite/gas/aarch64/mov.d                    |    2 +-
 gas/testsuite/gas/aarch64/movi.d                   |    2 +-
 gas/testsuite/gas/aarch64/movw_label.d             |   16 +-
 gas/testsuite/gas/aarch64/msr.d                    |    2 +-
 gas/testsuite/gas/aarch64/neon-fp-cvt-int.d        |    2 +-
 gas/testsuite/gas/aarch64/neon-frint.d             |    2 +-
 gas/testsuite/gas/aarch64/neon-ins.d               |    2 +-
 gas/testsuite/gas/aarch64/neon-not.d               |    2 +-
 gas/testsuite/gas/aarch64/neon-vfp-reglist-post.d  |    2 +-
 gas/testsuite/gas/aarch64/neon-vfp-reglist.d       |    2 +-
 gas/testsuite/gas/aarch64/no-aliases.d             |    2 +-
 gas/testsuite/gas/aarch64/optional.d               |   12 +-
 gas/testsuite/gas/aarch64/pac.d                    |    2 +-
 gas/testsuite/gas/aarch64/pan-directive.d          |    2 +-
 gas/testsuite/gas/aarch64/pan.d                    |    2 +-
 gas/testsuite/gas/aarch64/programmer-friendly.d    |    1 +
 gas/testsuite/gas/aarch64/rdma-directive.d         |    2 +-
 gas/testsuite/gas/aarch64/rdma.d                   |    2 +-
 gas/testsuite/gas/aarch64/reloc-data.d             |    1 +
 gas/testsuite/gas/aarch64/reloc-dtprel_g0.d        |    4 +-
 gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d     |    4 +-
 gas/testsuite/gas/aarch64/reloc-dtprel_g1.d        |    4 +-
 gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d     |    1 +
 gas/testsuite/gas/aarch64/reloc-dtprel_g2.d        |    1 +
 gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d      |    4 +-
 gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d    |    4 +-
 .../gas/aarch64/reloc-dtprel_lo12-ldst16.d         |    1 +
 .../gas/aarch64/reloc-dtprel_lo12-ldst32.d         |    1 +
 .../gas/aarch64/reloc-dtprel_lo12-ldst64.d         |    1 +
 .../gas/aarch64/reloc-dtprel_lo12-ldst8.d          |    1 +
 .../gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d      |    1 +
 .../gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d      |    1 +
 .../gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d      |    1 +
 .../gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d       |    1 +
 gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.d   |    4 +-
 gas/testsuite/gas/aarch64/reloc-gotoff_g0_nc.d     |    1 +
 gas/testsuite/gas/aarch64/reloc-gotoff_g1.d        |    1 +
 gas/testsuite/gas/aarch64/reloc-gottprel_g0_nc.d   |    1 +
 gas/testsuite/gas/aarch64/reloc-gottprel_g1.d      |    1 +
 gas/testsuite/gas/aarch64/reloc-insn.d             |    1 +
 .../gas/aarch64/reloc-tlsdesc_off_g0_nc.d          |    1 +
 gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g1.d   |    1 +
 gas/testsuite/gas/aarch64/reloc-tlsgd_g0_nc.d      |    1 +
 gas/testsuite/gas/aarch64/reloc-tlsgd_g1.d         |    1 +
 gas/testsuite/gas/aarch64/reloc-tlsldm-1.d         |    4 +-
 gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d    |    4 +-
 gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d |    4 +-
 gas/testsuite/gas/aarch64/shifted.d                |    2 +-
 gas/testsuite/gas/aarch64/sve.d                    |    2 +-
 gas/testsuite/gas/aarch64/symbol.d                 |    2 +-
 gas/testsuite/gas/aarch64/sysreg-1.d               |    2 +-
 gas/testsuite/gas/aarch64/sysreg-2.d               |    2 +-
 gas/testsuite/gas/aarch64/sysreg-3.d               |    2 +-
 gas/testsuite/gas/aarch64/sysreg.d                 |    2 +-
 gas/testsuite/gas/aarch64/system-2.d               |    2 +-
 gas/testsuite/gas/aarch64/system-3.d               |    2 +-
 gas/testsuite/gas/aarch64/system.d                 |   66 +-
 gas/testsuite/gas/aarch64/tail_padding.d           |    1 +
 gas/testsuite/gas/aarch64/tbz_1.d                  |    4 +-
 gas/testsuite/gas/aarch64/tlbi_op.d                |    2 +-
 gas/testsuite/gas/aarch64/tls-desc.d               |    1 +
 gas/testsuite/gas/aarch64/tls.d                    |   32 +-
 gas/testsuite/gas/aarch64/uao-directive.d          |    2 +-
 gas/testsuite/gas/aarch64/uao.d                    |    2 +-
 gas/testsuite/gas/aarch64/virthostext-directive.d  |    2 +-
 gas/testsuite/gas/aarch64/virthostext.d            |    2 +-
 gas/testsuite/gas/arc/add_s-err.s                  |    2 +-
 gas/testsuite/gas/arc/cpu-em-err.s                 |    4 +
 gas/testsuite/gas/arc/cpu-em4-err.s                |    4 +
 gas/testsuite/gas/arc/cpu-fpuda-err.s              |    6 +
 gas/testsuite/gas/arc/cpu-hs-err.s                 |    5 +
 gas/testsuite/gas/arc/cpu-quarkse-err.s            |    7 +
 gas/testsuite/gas/arc/lpcount-err.s                |    9 +
 gas/testsuite/gas/arc/noargs_a7.s                  |    1 +
 gas/testsuite/gas/arc/textauxregister-1.d          |   10 +
 gas/testsuite/gas/arc/textauxregister-1.s          |    5 +
 gas/testsuite/gas/arc/textcondcode-err.s           |    2 +
 gas/testsuite/gas/arc/textcoreregister-err.s       |    2 +
 gas/testsuite/gas/arm/armv8_3-a-fp-bad.d           |    2 +
 gas/testsuite/gas/arm/armv8_3-a-fp-bad.l           |    7 +
 gas/testsuite/gas/arm/armv8_3-a-fp-bad.s           |    8 +
 gas/testsuite/gas/arm/armv8_3-a-fp.d               |   15 +
 gas/testsuite/gas/arm/armv8_3-a-fp.s               |    8 +
 gas/testsuite/gas/arm/armv8_3-a-simd-bad.d         |    2 +
 gas/testsuite/gas/arm/armv8_3-a-simd-bad.l         |   39 +
 gas/testsuite/gas/arm/armv8_3-a-simd-bad.s         |   51 +
 gas/testsuite/gas/arm/armv8_3-a-simd.d             |   47 +
 gas/testsuite/gas/arm/armv8_3-a-simd.s             |   49 +
 gas/testsuite/gas/i386/i386.exp                    |    1 +
 gas/testsuite/gas/i386/xop32reg.d                  |   15 +
 gas/testsuite/gas/i386/xop32reg.s                  |   13 +
 gas/testsuite/gas/mips/mips.exp                    |    5 +
 .../gas/mips/mips16-branch-unextended-1.d          |    3 +
 .../gas/mips/mips16-branch-unextended-1.s          |    8 +
 .../gas/mips/mips16-branch-unextended-2.d          |    3 +
 .../gas/mips/mips16-branch-unextended-2.s          |    8 +
 gas/testsuite/gas/mips/mips16-branch-unextended.l  |    6 +
 gas/testsuite/gas/mips/mips16-extend.d             |   16 +
 gas/testsuite/gas/mips/mips16-extend.s             |   23 +
 gas/testsuite/gas/mips/mips16-sprel-swap.d         |   20 +
 gas/testsuite/gas/mips/mips16-sprel-swap.s         |   24 +
 gas/testsuite/gas/mmix/err-byte1.s                 |    5 +-
 gdb/ChangeLog                                      |  565 +++
 gdb/Makefile.in                                    |    4 +-
 gdb/NEWS                                           |   15 +
 gdb/aarch64-tdep.c                                 |  196 +-
 gdb/ada-lang.c                                     |    2 +-
 gdb/alpha-fbsd-tdep.c                              |    2 +-
 gdb/alpha-nbsd-tdep.c                              |   22 +-
 gdb/alpha-obsd-tdep.c                              |    2 +-
 gdb/amd64-fbsd-tdep.c                              |    2 +-
 gdb/amd64-nbsd-tdep.c                              |    2 +-
 gdb/amd64-obsd-tdep.c                              |   55 +-
 gdb/arm-nbsd-nat.c                                 |   29 -
 gdb/arm-nbsd-tdep.c                                |   27 +-
 gdb/arm-obsd-tdep.c                                |   15 +-
 gdb/arm-tdep.c                                     |   60 +-
 gdb/breakpoint.c                                   |   10 +-
 gdb/cli-out.c                                      |   46 +-
 gdb/cli-out.h                                      |    9 +-
 gdb/cli/cli-script.c                               |  200 +-
 gdb/cli/cli-script.h                               |    6 +
 gdb/config/i386/i386gnu.mh                         |    3 +
 gdb/configure.tgt                                  |    8 +-
 gdb/cris-tdep.c                                    |    5 +-
 gdb/darwin-nat-info.c                              |    5 +-
 gdb/data-directory/Makefile.in                     |    3 +
 gdb/dbxread.c                                      |  201 +-
 gdb/defs.h                                         |   10 +-
 gdb/disable-implicit-rules.mk                      |   27 +
 gdb/doc/ChangeLog                                  |   16 +
 gdb/doc/Makefile.in                                |    3 +
 gdb/doc/gdb.texinfo                                |   22 +-
 gdb/dwarf2loc.c                                    |   24 +-
 gdb/dwarf2read.c                                   |   33 +-
 gdb/elfread.c                                      |    2 +
 gdb/fbsd-tdep.c                                    |    2 +-
 gdb/frame.c                                        |    5 +-
 gdb/gdbserver/ChangeLog                            |    4 +
 gdb/gdbserver/Makefile.in                          |    3 +
 gdb/gnu-nat.c                                      |  174 +-
 gdb/gnulib/Makefile.in                             |    3 +
 gdb/hppa-nbsd-tdep.c                               |    2 +-
 gdb/hppa-obsd-tdep.c                               |   20 +-
 gdb/hppa-tdep.c                                    |   23 -
 gdb/i386-bsd-tdep.c                                |   35 -
 gdb/i386-fbsd-tdep.c                               |   16 +-
 gdb/i386-gnu-nat.c                                 |   26 +-
 gdb/i386-nbsd-tdep.c                               |    2 +-
 gdb/i386-obsd-tdep.c                               |   71 +-
 gdb/inferior.c                                     |   18 +-
 gdb/m68k-bsd-tdep.c                                |  111 +-
 gdb/mi/mi-out.c                                    |   80 +-
 gdb/mips-nbsd-tdep.c                               |    2 +-
 gdb/mips64-obsd-tdep.c                             |    2 +-
 gdb/osabi.c                                        |   44 +-
 gdb/ppc-fbsd-tdep.c                                |    7 +-
 gdb/ppc-nbsd-tdep.c                                |    2 +-
 gdb/ppc-obsd-tdep.c                                |   22 +-
 gdb/printcmd.c                                     |    3 +
 gdb/record-full.c                                  |    2 +-
 gdb/rl78-tdep.c                                    |   36 +-
 gdb/rs6000-tdep.c                                  |    3 +-
 gdb/rx-tdep.c                                      |  103 +-
 gdb/sh-nbsd-tdep.c                                 |   21 +-
 gdb/solib.c                                        |   24 +-
 gdb/sparc-nbsd-tdep.c                              |   58 +-
 gdb/sparc-obsd-tdep.c                              |    4 +-
 gdb/sparc-tdep.h                                   |    4 +-
 gdb/sparc64-fbsd-tdep.c                            |    2 +-
 gdb/sparc64-nbsd-tdep.c                            |    2 +-
 gdb/sparc64-obsd-tdep.c                            |    2 +-
 gdb/stabsread.c                                    |    9 +-
 gdb/symmisc.c                                      |    2 +-
 gdb/testsuite/ChangeLog                            |  858 ++++
 gdb/testsuite/Makefile.in                          |    3 +
 gdb/testsuite/gdb.ada/array_return.exp             |    8 +-
 gdb/testsuite/gdb.ada/assign_1.exp                 |    2 +-
 gdb/testsuite/gdb.ada/boolean_expr.exp             |    2 +-
 gdb/testsuite/gdb.ada/catch_ex.exp                 |    6 +-
 gdb/testsuite/gdb.ada/expr_delims.exp              |   10 +-
 gdb/testsuite/gdb.ada/info_exc.exp                 |    2 +-
 gdb/testsuite/gdb.ada/mi_catch_ex.exp              |    6 +-
 gdb/testsuite/gdb.ada/mi_dyn_arr.exp               |    4 +-
 gdb/testsuite/gdb.ada/mi_ex_cond.exp               |    2 +-
 gdb/testsuite/gdb.ada/mi_exc_info.exp              |    2 +-
 gdb/testsuite/gdb.ada/mi_interface.exp             |    4 +-
 gdb/testsuite/gdb.ada/mi_task_arg.exp              |    2 +-
 gdb/testsuite/gdb.ada/mi_task_info.exp             |    2 +-
 gdb/testsuite/gdb.ada/mi_var_array.exp             |    4 +-
 gdb/testsuite/gdb.ada/start.exp                    |    4 +-
 gdb/testsuite/gdb.ada/watch_arg.exp                |    4 +-
 gdb/testsuite/gdb.arch/alpha-step.exp              |    6 +-
 gdb/testsuite/gdb.arch/altivec-regs.exp            |    4 +-
 gdb/testsuite/gdb.arch/amd64-disp-step.exp         |    2 +-
 gdb/testsuite/gdb.arch/arm-disp-step.exp           |    2 +-
 gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp    |    4 +-
 gdb/testsuite/gdb.arch/e500-prologue.exp           |    2 +-
 gdb/testsuite/gdb.arch/e500-regs.exp               |    4 +-
 gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp       |   10 +-
 gdb/testsuite/gdb.arch/gdb1291.exp                 |    2 +-
 gdb/testsuite/gdb.arch/gdb1431.exp                 |    2 +-
 gdb/testsuite/gdb.arch/gdb1558.exp                 |    4 +-
 gdb/testsuite/gdb.arch/i386-bp_permanent.exp       |    4 +-
 gdb/testsuite/gdb.arch/i386-disp-step.exp          |    2 +-
 gdb/testsuite/gdb.arch/i386-dr3-watch.exp          |    2 +-
 gdb/testsuite/gdb.arch/i386-float.exp              |    2 +-
 gdb/testsuite/gdb.arch/i386-gnu-cfi.exp            |    8 +-
 gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp    |    6 +-
 gdb/testsuite/gdb.arch/i386-mpx.exp                |   16 +-
 gdb/testsuite/gdb.arch/i386-permbkpt.exp           |    4 +-
 gdb/testsuite/gdb.arch/i386-sse-stack-align.exp    |    2 +-
 gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp  |    2 +-
 gdb/testsuite/gdb.arch/mips16-thunks.exp           |   10 +-
 gdb/testsuite/gdb.arch/pa-nullify.exp              |    8 +-
 gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp    |    2 +-
 gdb/testsuite/gdb.arch/powerpc-d128-regs.exp       |   12 +-
 gdb/testsuite/gdb.arch/powerpc-power.exp           |    2 +-
 gdb/testsuite/gdb.arch/ppc-dfp.exp                 |    4 +-
 gdb/testsuite/gdb.arch/s390-tdbregs.exp            |    4 +-
 gdb/testsuite/gdb.arch/spu-info.exp                |    2 +-
 gdb/testsuite/gdb.arch/spu-ls.exp                  |    2 +-
 gdb/testsuite/gdb.arch/thumb-bx-pc.exp             |    2 +-
 gdb/testsuite/gdb.arch/vsx-regs.exp                |    4 +-
 gdb/testsuite/gdb.base/advance.exp                 |    2 +-
 gdb/testsuite/gdb.base/all-architectures-0.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-1.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-2.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-3.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-4.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-5.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-6.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures-7.exp     |   17 +
 gdb/testsuite/gdb.base/all-architectures.exp.in    |  336 ++
 .../gdb.base/annota-input-while-running.exp        |    2 +-
 gdb/testsuite/gdb.base/annota1.exp                 |    2 +-
 gdb/testsuite/gdb.base/annota3.exp                 |    2 +-
 gdb/testsuite/gdb.base/arrayidx.exp                |   10 +-
 gdb/testsuite/gdb.base/asmlabel.exp                |    2 +-
 gdb/testsuite/gdb.base/assign.exp                  |    2 +-
 gdb/testsuite/gdb.base/async.exp                   |    2 +-
 gdb/testsuite/gdb.base/attach-wait-input.exp       |    2 +-
 gdb/testsuite/gdb.base/attach.exp                  |    4 +-
 .../gdb.base/auto-connect-native-target.exp        |    8 +-
 gdb/testsuite/gdb.base/auxv.exp                    |    2 +-
 gdb/testsuite/gdb.base/bang.exp                    |    2 +-
 .../gdb.base/batch-preserve-term-settings.exp      |    2 +-
 gdb/testsuite/gdb.base/bfp-test.exp                |   20 +-
 gdb/testsuite/gdb.base/bigcore.exp                 |    8 +-
 gdb/testsuite/gdb.base/bitfields2.exp              |    2 +-
 gdb/testsuite/gdb.base/bp-permanent.exp            |    2 +-
 gdb/testsuite/gdb.base/break-always.exp            |    2 +-
 gdb/testsuite/gdb.base/break-fun-addr.exp          |    4 +-
 gdb/testsuite/gdb.base/break-idempotent.exp        |    4 +-
 .../gdb.base/break-main-file-remove-fail.exp       |    2 +-
 gdb/testsuite/gdb.base/break-probes.exp            |    2 +-
 gdb/testsuite/gdb.base/break-unload-file.exp       |    2 +-
 gdb/testsuite/gdb.base/break.exp                   |   16 +-
 gdb/testsuite/gdb.base/breakpoint-shadow.exp       |    4 +-
 gdb/testsuite/gdb.base/call-ar-st.exp              |    2 +-
 gdb/testsuite/gdb.base/call-rt-st.exp              |    4 +-
 gdb/testsuite/gdb.base/call-sc.exp                 |    2 +-
 gdb/testsuite/gdb.base/call-signal-resume.exp      |    4 +-
 gdb/testsuite/gdb.base/call-strs.exp               |    2 +-
 gdb/testsuite/gdb.base/callexit.exp                |    6 +-
 gdb/testsuite/gdb.base/callfuncs.exp               |    6 +-
 gdb/testsuite/gdb.base/catch-fork-kill.exp         |    2 +-
 .../gdb.base/catch-gdb-caused-signals.exp          |    2 +-
 .../gdb.base/catch-signal-siginfo-cond.exp         |    2 +-
 gdb/testsuite/gdb.base/catch-syscall.exp           |    2 +-
 gdb/testsuite/gdb.base/charset.exp                 |    6 +-
 gdb/testsuite/gdb.base/checkpoint.exp              |   16 +-
 gdb/testsuite/gdb.base/commands.exp                |  138 +-
 gdb/testsuite/gdb.base/compare-sections.exp        |    2 +-
 gdb/testsuite/gdb.base/completion.exp              |    2 +-
 gdb/testsuite/gdb.base/comprdebug.exp              |    4 +-
 gdb/testsuite/gdb.base/cond-eval-mode.exp          |    2 +-
 gdb/testsuite/gdb.base/condbreak-call-false.exp    |    2 +-
 gdb/testsuite/gdb.base/consecutive-step-over.exp   |    2 +-
 gdb/testsuite/gdb.base/constvars.exp               |    2 +-
 gdb/testsuite/gdb.base/coredump-filter.exp         |    2 +-
 gdb/testsuite/gdb.base/cursal.exp                  |    2 +-
 gdb/testsuite/gdb.base/cvexpr.exp                  |    2 +-
 gdb/testsuite/gdb.base/debug-expr.exp              |    2 +-
 gdb/testsuite/gdb.base/del.exp                     |    2 +-
 gdb/testsuite/gdb.base/detach.exp                  |    2 +-
 gdb/testsuite/gdb.base/dfp-test.exp                |   18 +-
 gdb/testsuite/gdb.base/disabled-location.exp       |    2 +-
 gdb/testsuite/gdb.base/disasm-end-cu.exp           |   10 +-
 gdb/testsuite/gdb.base/display.exp                 |    4 +-
 gdb/testsuite/gdb.base/dmsym.exp                   |    6 +-
 .../gdb.base/double-prompt-target-event-error.exp  |    2 +-
 gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp    |    2 +-
 gdb/testsuite/gdb.base/dprintf-detach.exp          |    2 +-
 gdb/testsuite/gdb.base/dprintf-next.exp            |    2 +-
 gdb/testsuite/gdb.base/dprintf-non-stop.exp        |    4 +-
 gdb/testsuite/gdb.base/dprintf-pending.exp         |    2 +-
 gdb/testsuite/gdb.base/dso2dso.exp                 |    4 +-
 gdb/testsuite/gdb.base/dtrace-probe.exp            |    2 +-
 gdb/testsuite/gdb.base/dump.exp                    |    4 +-
 gdb/testsuite/gdb.base/echo.exp                    |    2 +-
 gdb/testsuite/gdb.base/ending-run.exp              |    6 +-
 gdb/testsuite/gdb.base/enum_cond.exp               |    2 +-
 gdb/testsuite/gdb.base/eval.exp                    |    6 +-
 gdb/testsuite/gdb.base/examine-backward.exp        |    2 +-
 gdb/testsuite/gdb.base/exe-lock.exp                |    2 +-
 gdb/testsuite/gdb.base/exec-invalid-sysroot.exp    |    6 +-
 .../gdb.base/execl-update-breakpoints.exp          |    8 +-
 gdb/testsuite/gdb.base/execution-termios.exp       |    2 +-
 gdb/testsuite/gdb.base/expand-psymtabs.exp         |    2 +-
 gdb/testsuite/gdb.base/exprs.exp                   |    2 +-
 gdb/testsuite/gdb.base/fileio.exp                  |    4 +-
 gdb/testsuite/gdb.base/find.exp                    |    2 +-
 gdb/testsuite/gdb.base/finish.exp                  |    2 +-
 gdb/testsuite/gdb.base/fixsection.exp              |    4 +-
 gdb/testsuite/gdb.base/float128.exp                |   12 +-
 gdb/testsuite/gdb.base/floatn.exp                  |   40 +-
 gdb/testsuite/gdb.base/foll-exec-mode.exp          |    6 +-
 gdb/testsuite/gdb.base/foll-exec.exp               |   12 +-
 gdb/testsuite/gdb.base/foll-vfork.exp              |    4 +-
 gdb/testsuite/gdb.base/fork-running-state.exp      |    2 +-
 gdb/testsuite/gdb.base/frame-args.exp              |    2 +-
 gdb/testsuite/gdb.base/fullpath-expand.exp         |    2 +-
 gdb/testsuite/gdb.base/func-ptr.exp                |    2 +-
 gdb/testsuite/gdb.base/gcore-buffer-overflow.exp   |    2 +-
 gdb/testsuite/gdb.base/gcore-relro-pie.exp         |    2 +-
 gdb/testsuite/gdb.base/gcore.exp                   |    4 +-
 gdb/testsuite/gdb.base/gdb1056.exp                 |    2 +-
 gdb/testsuite/gdb.base/gdb1090.exp                 |    2 +-
 gdb/testsuite/gdb.base/gdb11531.exp                |    2 +-
 gdb/testsuite/gdb.base/gdb1250.exp                 |    2 +-
 gdb/testsuite/gdb.base/gdb1555.exp                 |    2 +-
 .../gdb.base/global-var-nested-by-dso.exp          |    4 +-
 gdb/testsuite/gdb.base/gnu-ifunc.exp               |    6 +-
 gdb/testsuite/gdb.base/hashline1.exp               |    2 +-
 gdb/testsuite/gdb.base/hashline2.exp               |    2 +-
 gdb/testsuite/gdb.base/hashline3.exp               |    2 +-
 .../gdb.base/hbreak-in-shr-unsupported.exp         |    4 +-
 gdb/testsuite/gdb.base/hbreak-unmapped.exp         |    4 +-
 gdb/testsuite/gdb.base/hook-stop.exp               |    2 +-
 gdb/testsuite/gdb.base/huge.exp                    |    4 +-
 gdb/testsuite/gdb.base/infcall-input.exp           |    4 +-
 gdb/testsuite/gdb.base/info-fun.exp                |    6 +-
 gdb/testsuite/gdb.base/info-shared.exp             |    4 +-
 gdb/testsuite/gdb.base/interrupt-noterm.exp        |    2 +-
 gdb/testsuite/gdb.base/jit-simple.exp              |    4 +-
 gdb/testsuite/gdb.base/jit-so.exp                  |   13 +-
 gdb/testsuite/gdb.base/jit.exp                     |    7 +-
 gdb/testsuite/gdb.base/jump.exp                    |    2 +-
 gdb/testsuite/gdb.base/label.exp                   |    2 +-
 gdb/testsuite/gdb.base/line-symtabs.exp            |    2 +-
 gdb/testsuite/gdb.base/lineinc.exp                 |    2 +-
 gdb/testsuite/gdb.base/list.exp                    |    2 +-
 gdb/testsuite/gdb.base/logical.exp                 |    2 +-
 gdb/testsuite/gdb.base/longjmp.exp                 |    4 +-
 gdb/testsuite/gdb.base/macscp.exp                  |    6 +-
 gdb/testsuite/gdb.base/maint.exp                   |   29 +-
 gdb/testsuite/gdb.base/max-value-size.exp          |    2 +-
 gdb/testsuite/gdb.base/miscexprs.exp               |    2 +-
 gdb/testsuite/gdb.base/multi-forks.exp             |   16 +-
 gdb/testsuite/gdb.base/new-ui-echo.exp             |    2 +-
 gdb/testsuite/gdb.base/new-ui-pending-input.exp    |    2 +-
 gdb/testsuite/gdb.base/new-ui.exp                  |    2 +-
 gdb/testsuite/gdb.base/nodebug.exp                 |    2 +-
 gdb/testsuite/gdb.base/nofield.exp                 |    2 +-
 gdb/testsuite/gdb.base/offsets.exp                 |    2 +-
 gdb/testsuite/gdb.base/overlays.exp                |   24 +-
 .../gdb.base/paginate-after-ctrl-c-running.exp     |    2 +-
 gdb/testsuite/gdb.base/paginate-bg-execution.exp   |    4 +-
 gdb/testsuite/gdb.base/paginate-inferior-exit.exp  |    2 +-
 gdb/testsuite/gdb.base/pending.exp                 |   10 +-
 gdb/testsuite/gdb.base/pointers.exp                |    2 +-
 gdb/testsuite/gdb.base/pr11022.exp                 |    4 +-
 gdb/testsuite/gdb.base/printcmds.exp               |    8 +-
 gdb/testsuite/gdb.base/prologue.exp                |    2 +-
 gdb/testsuite/gdb.base/ptr-typedef.exp             |    4 +-
 gdb/testsuite/gdb.base/ptype.exp                   |    2 +-
 gdb/testsuite/gdb.base/radix.exp                   |   10 +-
 gdb/testsuite/gdb.base/randomize.exp               |    6 +-
 gdb/testsuite/gdb.base/range-stepping.exp          |    2 +-
 gdb/testsuite/gdb.base/realname-expand.exp         |    4 +-
 gdb/testsuite/gdb.base/relativedebug.exp           |    2 +-
 gdb/testsuite/gdb.base/relocate.exp                |    2 +-
 gdb/testsuite/gdb.base/remote.exp                  |    4 +-
 gdb/testsuite/gdb.base/reread.exp                  |    4 +-
 gdb/testsuite/gdb.base/return2.exp                 |    4 +-
 gdb/testsuite/gdb.base/savedregs.exp               |    4 +-
 gdb/testsuite/gdb.base/sep.exp                     |    2 +-
 gdb/testsuite/gdb.base/sepdebug.exp                |   14 +-
 gdb/testsuite/gdb.base/sepsymtab.exp               |    2 +-
 gdb/testsuite/gdb.base/set-inferior-tty.exp        |    2 +-
 gdb/testsuite/gdb.base/set-noassign.exp            |    2 +-
 gdb/testsuite/gdb.base/setshow.exp                 |    2 +-
 gdb/testsuite/gdb.base/shlib-call.exp              |    2 +-
 gdb/testsuite/gdb.base/shreloc.exp                 |   12 +-
 gdb/testsuite/gdb.base/sigaltstack.exp             |    2 +-
 gdb/testsuite/gdb.base/sigbpt.exp                  |    4 +-
 gdb/testsuite/gdb.base/siginfo-addr.exp            |    2 +-
 gdb/testsuite/gdb.base/siginfo-obj.exp             |   10 +-
 gdb/testsuite/gdb.base/siginfo-thread.exp          |    8 +-
 gdb/testsuite/gdb.base/signals.exp                 |    2 +-
 gdb/testsuite/gdb.base/signest.exp                 |    2 +-
 gdb/testsuite/gdb.base/signull.exp                 |    4 +-
 gdb/testsuite/gdb.base/sigrepeat.exp               |    2 +-
 gdb/testsuite/gdb.base/skip.exp                    |   20 +-
 gdb/testsuite/gdb.base/so-impl-ld.exp              |    2 +-
 gdb/testsuite/gdb.base/solib-corrupted.exp         |    2 +-
 gdb/testsuite/gdb.base/solib-disc.exp              |    2 +-
 gdb/testsuite/gdb.base/solib-display.exp           |   14 +-
 gdb/testsuite/gdb.base/solib-overlap.exp           |    6 +-
 gdb/testsuite/gdb.base/solib-search.exp            |    6 +-
 gdb/testsuite/gdb.base/solib-symbol.exp            |    4 +-
 gdb/testsuite/gdb.base/source-execution.exp        |    2 +-
 gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp     |    2 +-
 gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp       |    2 +-
 gdb/testsuite/gdb.base/stack-checking.exp          |    2 +-
 gdb/testsuite/gdb.base/stale-infcall.exp           |    2 +-
 gdb/testsuite/gdb.base/step-break.exp              |    2 +-
 gdb/testsuite/gdb.base/step-line.exp               |    2 +-
 gdb/testsuite/gdb.base/step-over-exit.exp          |    2 +-
 gdb/testsuite/gdb.base/step-test.exp               |    2 +-
 gdb/testsuite/gdb.base/structs.exp                 |    4 +-
 gdb/testsuite/gdb.base/structs2.exp                |    2 +-
 gdb/testsuite/gdb.base/sym-file.exp                |    2 +-
 gdb/testsuite/gdb.base/symtab-search-order.exp     |    4 +-
 gdb/testsuite/gdb.base/term.exp                    |    2 +-
 gdb/testsuite/gdb.base/testenv.exp                 |   22 +-
 gdb/testsuite/gdb.base/twice.exp                   |    2 +-
 gdb/testsuite/gdb.base/type-opaque.exp             |    2 +-
 gdb/testsuite/gdb.base/unload.exp                  |    2 +-
 gdb/testsuite/gdb.base/until-nodebug.exp           |    2 +-
 gdb/testsuite/gdb.base/until.exp                   |    2 +-
 gdb/testsuite/gdb.base/unwindonsignal.exp          |    4 +-
 gdb/testsuite/gdb.base/varargs.exp                 |    2 +-
 gdb/testsuite/gdb.base/watch-cond.exp              |    6 +-
 gdb/testsuite/gdb.base/watch-non-mem.exp           |    2 +-
 gdb/testsuite/gdb.base/watch_thread_num.exp        |   12 +-
 gdb/testsuite/gdb.base/watchpoint-cond-gone.exp    |    4 +-
 gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp   |    2 +-
 gdb/testsuite/gdb.base/watchpoint-solib.exp        |    2 +-
 gdb/testsuite/gdb.base/watchpoint.exp              |   16 +-
 gdb/testsuite/gdb.base/watchpoints.exp             |   14 +-
 gdb/testsuite/gdb.base/whatis.exp                  |    2 +-
 gdb/testsuite/gdb.base/wrong_frame_bt_full.exp     |    2 +-
 gdb/testsuite/gdb.btrace/dlopen.exp                |    2 +-
 gdb/testsuite/gdb.cell/arch.exp                    |   14 +-
 gdb/testsuite/gdb.cell/break.exp                   |   12 +-
 gdb/testsuite/gdb.cell/bt.exp                      |   12 +-
 gdb/testsuite/gdb.cell/core.exp                    |    6 +-
 gdb/testsuite/gdb.cell/data.exp                    |    8 +-
 gdb/testsuite/gdb.cell/dwarfaddr.exp               |    4 +-
 gdb/testsuite/gdb.cell/ea-cache.exp                |   10 +-
 gdb/testsuite/gdb.cell/ea-standalone.exp           |    4 +-
 gdb/testsuite/gdb.cell/ea-test.exp                 |    4 +-
 gdb/testsuite/gdb.cell/f-regs.exp                  |    8 +-
 gdb/testsuite/gdb.cell/fork.exp                    |    8 +-
 gdb/testsuite/gdb.cell/gcore.exp                   |    8 +-
 gdb/testsuite/gdb.cell/mem-access.exp              |    8 +-
 gdb/testsuite/gdb.cell/ptype.exp                   |    8 +-
 gdb/testsuite/gdb.cell/registers.exp               |    8 +-
 gdb/testsuite/gdb.cell/sizeof.exp                  |    8 +-
 gdb/testsuite/gdb.cell/solib-symbol.exp            |    8 +-
 gdb/testsuite/gdb.cell/solib.exp                   |    8 +-
 gdb/testsuite/gdb.compile/compile-tls.exp          |    2 +-
 gdb/testsuite/gdb.compile/compile.exp              |   16 +-
 gdb/testsuite/gdb.cp/arg-reference.exp             |    2 +-
 gdb/testsuite/gdb.cp/baseenum.exp                  |    2 +-
 gdb/testsuite/gdb.cp/dispcxx.exp                   |    2 +-
 gdb/testsuite/gdb.cp/exception.exp                 |    4 +-
 gdb/testsuite/gdb.cp/gdb2384.exp                   |    2 +-
 gdb/testsuite/gdb.cp/gdb2495.exp                   |   28 +-
 gdb/testsuite/gdb.cp/local.exp                     |    4 +-
 gdb/testsuite/gdb.cp/mb-inline.exp                 |    2 +-
 gdb/testsuite/gdb.cp/mb-templates.exp              |    2 +-
 gdb/testsuite/gdb.cp/method2.exp                   |    2 +-
 gdb/testsuite/gdb.cp/nextoverthrow.exp             |    2 +-
 gdb/testsuite/gdb.cp/operator.exp                  |    2 +-
 gdb/testsuite/gdb.cp/ovldbreak.exp                 |    8 +-
 gdb/testsuite/gdb.cp/pr10687.exp                   |    2 +-
 gdb/testsuite/gdb.cp/pr10728.exp                   |    6 +-
 gdb/testsuite/gdb.cp/pr9167.exp                    |    2 +-
 gdb/testsuite/gdb.cp/scope-err.exp                 |    2 +-
 gdb/testsuite/gdb.cp/shadow.exp                    |   10 +-
 gdb/testsuite/gdb.cp/templates.exp                 |    2 +-
 gdb/testsuite/gdb.cp/virtfunc.exp                  |    2 +-
 gdb/testsuite/gdb.disasm/am33.exp                  |    2 +-
 gdb/testsuite/gdb.disasm/h8300s.exp                |    2 +-
 gdb/testsuite/gdb.disasm/mn10300.exp               |    2 +-
 gdb/testsuite/gdb.disasm/sh3.exp                   |    2 +-
 gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp     |    2 +-
 gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp      |    8 +-
 gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp     |    2 +-
 .../gdb.dwarf2/dw2-single-line-discriminators.exp  |    2 +-
 gdb/testsuite/gdb.dwarf2/main-subprogram.c         |   29 +
 gdb/testsuite/gdb.dwarf2/main-subprogram.exp       |   73 +
 gdb/testsuite/gdb.fortran/complex.exp              |    2 +-
 gdb/testsuite/gdb.fortran/library-module.exp       |    4 +-
 gdb/testsuite/gdb.gdb/selftest.exp                 |    2 +-
 gdb/testsuite/gdb.gdb/xfullpath.exp                |    2 +-
 gdb/testsuite/gdb.go/chan.exp                      |    4 +-
 gdb/testsuite/gdb.go/hello.exp                     |    6 +-
 gdb/testsuite/gdb.go/integers.exp                  |   18 +-
 gdb/testsuite/gdb.go/methods.exp                   |    4 +-
 gdb/testsuite/gdb.go/package.exp                   |    2 +-
 gdb/testsuite/gdb.guile/guile.exp                  |    2 +-
 gdb/testsuite/gdb.guile/scm-cmd.exp                |    2 +-
 gdb/testsuite/gdb.guile/scm-frame-inline.exp       |    2 +-
 gdb/testsuite/gdb.guile/scm-objfile.exp            |    2 +-
 gdb/testsuite/gdb.guile/scm-parameter.exp          |    8 +-
 gdb/testsuite/gdb.guile/scm-pretty-print.exp       |    2 +-
 gdb/testsuite/gdb.guile/scm-progspace.exp          |    6 +-
 gdb/testsuite/gdb.guile/scm-symbol.exp             |    2 +-
 gdb/testsuite/gdb.guile/scm-type.exp               |    2 +-
 gdb/testsuite/gdb.guile/scm-value.exp              |    8 +-
 gdb/testsuite/gdb.linespec/keywords.exp            |    2 +-
 gdb/testsuite/gdb.linespec/linespec.exp            |    2 +-
 gdb/testsuite/gdb.linespec/ls-errs.exp             |    2 +-
 gdb/testsuite/gdb.linespec/macro-relative.exp      |    2 +-
 gdb/testsuite/gdb.linespec/thread.exp              |    2 +-
 gdb/testsuite/gdb.mi/gdb701.exp                    |    2 +-
 gdb/testsuite/gdb.mi/gdb792.exp                    |    2 +-
 gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp     |    4 +-
 gdb/testsuite/gdb.mi/mi-dprintf-pending.exp        |    4 +-
 gdb/testsuite/gdb.mi/mi-dprintf.exp                |    2 +-
 gdb/testsuite/gdb.mi/mi-exit-code.exp              |    2 +-
 gdb/testsuite/gdb.mi/mi-fullname-deleted.exp       |    4 +-
 gdb/testsuite/gdb.mi/mi-logging.exp                |    8 +-
 gdb/testsuite/gdb.mi/mi-pending.exp                |    8 +-
 gdb/testsuite/gdb.mi/mi-solib.exp                  |    2 +-
 gdb/testsuite/gdb.mi/new-ui-mi-sync.exp            |    4 +-
 gdb/testsuite/gdb.mi/pr11022.exp                   |    2 +-
 .../gdb.mi/user-selected-context-sync.exp          |    6 +-
 gdb/testsuite/gdb.multi/dummy-frame-restore.exp    |    4 +-
 gdb/testsuite/gdb.multi/multi-arch-exec.exp        |    2 +-
 gdb/testsuite/gdb.multi/remove-inferiors.exp       |    2 +-
 gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp  |    2 +-
 gdb/testsuite/gdb.objc/basicclass.exp              |    8 +-
 gdb/testsuite/gdb.opencl/datatypes.exp             |    6 +-
 gdb/testsuite/gdb.opt/clobbered-registers-O2.exp   |    2 +-
 gdb/testsuite/gdb.opt/solib-intra-step.exp         |    2 +-
 gdb/testsuite/gdb.pascal/floats.exp                |   28 +-
 gdb/testsuite/gdb.pascal/hello.exp                 |    4 +-
 gdb/testsuite/gdb.pascal/integers.exp              |   18 +-
 gdb/testsuite/gdb.perf/backtrace.exp               |    2 +-
 gdb/testsuite/gdb.perf/single-step.exp             |    2 +-
 gdb/testsuite/gdb.perf/skip-command.exp            |    2 +-
 gdb/testsuite/gdb.perf/skip-prologue.exp           |   11 +-
 gdb/testsuite/gdb.perf/solib.exp                   |    2 +-
 gdb/testsuite/gdb.python/lib-types.exp             |    2 +-
 gdb/testsuite/gdb.python/py-as-string.exp          |    2 +-
 gdb/testsuite/gdb.python/py-bad-printers.exp       |    2 +-
 gdb/testsuite/gdb.python/py-block.exp              |   24 +-
 gdb/testsuite/gdb.python/py-breakpoint.exp         |   20 +-
 gdb/testsuite/gdb.python/py-cmd.exp                |    4 +-
 gdb/testsuite/gdb.python/py-events.exp             |    4 +-
 gdb/testsuite/gdb.python/py-evsignal.exp           |    2 +-
 gdb/testsuite/gdb.python/py-evthreads.exp          |    2 +-
 gdb/testsuite/gdb.python/py-finish-breakpoint.exp  |   16 +-
 gdb/testsuite/gdb.python/py-finish-breakpoint2.exp |    2 +-
 gdb/testsuite/gdb.python/py-frame-inline.exp       |    2 +-
 gdb/testsuite/gdb.python/py-frame.exp              |    2 +-
 .../gdb.python/py-framefilter-invalidarg.exp       |    4 +-
 gdb/testsuite/gdb.python/py-framefilter.exp        |    6 +-
 gdb/testsuite/gdb.python/py-function.exp           |    4 +-
 gdb/testsuite/gdb.python/py-inferior.exp           |    2 +-
 gdb/testsuite/gdb.python/py-infthread.exp          |    2 +-
 gdb/testsuite/gdb.python/py-linetable.exp          |    4 +-
 gdb/testsuite/gdb.python/py-mi.exp                 |    2 +-
 gdb/testsuite/gdb.python/py-objfile.exp            |    4 +-
 gdb/testsuite/gdb.python/py-parameter.exp          |   82 +-
 gdb/testsuite/gdb.python/py-pp-maint.exp           |    2 +-
 gdb/testsuite/gdb.python/py-pp-registration.exp    |    2 +-
 gdb/testsuite/gdb.python/py-prettyprint.exp        |    2 +-
 gdb/testsuite/gdb.python/py-recurse-unwind.exp     |    2 +-
 gdb/testsuite/gdb.python/py-shared.exp             |    6 +-
 gdb/testsuite/gdb.python/py-symbol.exp             |   74 +-
 gdb/testsuite/gdb.python/py-symtab.exp             |   40 +-
 gdb/testsuite/gdb.python/py-template.exp           |    2 +-
 gdb/testsuite/gdb.python/py-type.exp               |   60 +-
 gdb/testsuite/gdb.python/py-unwind-maint.exp       |    2 +-
 gdb/testsuite/gdb.python/py-unwind.exp             |    2 +-
 gdb/testsuite/gdb.python/py-value.exp              |   52 +-
 gdb/testsuite/gdb.python/py-xmethods.exp           |   70 +-
 gdb/testsuite/gdb.python/python.exp                |   70 +-
 gdb/testsuite/gdb.reverse/break-precsave.exp       |    4 +-
 gdb/testsuite/gdb.reverse/break-reverse.exp        |    2 +-
 gdb/testsuite/gdb.reverse/consecutive-precsave.exp |    6 +-
 gdb/testsuite/gdb.reverse/consecutive-reverse.exp  |    2 +-
 gdb/testsuite/gdb.reverse/finish-precsave.exp      |    6 +-
 gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp  |    4 +-
 gdb/testsuite/gdb.reverse/finish-reverse.exp       |    2 +-
 gdb/testsuite/gdb.reverse/fstatat-reverse.exp      |    2 +-
 gdb/testsuite/gdb.reverse/getresuid-reverse.exp    |    2 +-
 gdb/testsuite/gdb.reverse/i386-precsave.exp        |    6 +-
 gdb/testsuite/gdb.reverse/i386-reverse.exp         |    2 +-
 gdb/testsuite/gdb.reverse/i386-sse-reverse.exp     |    2 +-
 gdb/testsuite/gdb.reverse/i387-stack-reverse.exp   |    2 +-
 gdb/testsuite/gdb.reverse/insn-reverse.exp         |    4 +-
 .../gdb.reverse/machinestate-precsave.exp          |    6 +-
 gdb/testsuite/gdb.reverse/machinestate.exp         |    2 +-
 .../gdb.reverse/next-reverse-bkpt-over-sr.exp      |    4 +-
 gdb/testsuite/gdb.reverse/pipe-reverse.exp         |    2 +-
 gdb/testsuite/gdb.reverse/readv-reverse.exp        |    2 +-
 gdb/testsuite/gdb.reverse/recvmsg-reverse.exp      |    2 +-
 gdb/testsuite/gdb.reverse/rerun-prec.exp           |    2 +-
 gdb/testsuite/gdb.reverse/s390-mvcle.exp           |    2 +-
 gdb/testsuite/gdb.reverse/sigall-precsave.exp      |    6 +-
 gdb/testsuite/gdb.reverse/sigall-reverse.exp       |    2 +-
 gdb/testsuite/gdb.reverse/solib-precsave.exp       |   12 +-
 gdb/testsuite/gdb.reverse/solib-reverse.exp        |    8 +-
 gdb/testsuite/gdb.reverse/step-precsave.exp        |    6 +-
 gdb/testsuite/gdb.reverse/step-reverse.exp         |    2 +-
 gdb/testsuite/gdb.reverse/time-reverse.exp         |    2 +-
 gdb/testsuite/gdb.reverse/until-precsave.exp       |    6 +-
 gdb/testsuite/gdb.reverse/until-reverse.exp        |    2 +-
 gdb/testsuite/gdb.reverse/waitpid-reverse.exp      |    2 +-
 gdb/testsuite/gdb.reverse/watch-precsave.exp       |    6 +-
 gdb/testsuite/gdb.reverse/watch-reverse.exp        |    2 +-
 gdb/testsuite/gdb.server/solib-list.exp            |    2 +-
 gdb/testsuite/gdb.stabs/gdb11479.exp               |    6 +-
 gdb/testsuite/gdb.stabs/weird.exp                  |   12 +-
 gdb/testsuite/gdb.threads/fork-child-threads.exp   |    2 +-
 gdb/testsuite/gdb.threads/fork-plus-threads.exp    |    2 +-
 gdb/testsuite/gdb.threads/fork-thread-pending.exp  |    4 +-
 .../forking-threads-plus-breakpoint.exp            |    4 +-
 gdb/testsuite/gdb.threads/hand-call-in-threads.exp |    4 +-
 .../gdb.threads/interrupted-hand-call.exp          |    4 +-
 gdb/testsuite/gdb.threads/leader-exit.exp          |    2 +-
 gdb/testsuite/gdb.threads/linux-dp.exp             |    2 +-
 .../gdb.threads/local-watch-wrong-thread.exp       |    2 +-
 .../next-while-other-thread-longjmps.exp           |    2 +-
 gdb/testsuite/gdb.threads/non-ldr-exit.exp         |    2 +-
 gdb/testsuite/gdb.threads/pending-step.exp         |    2 +-
 gdb/testsuite/gdb.threads/print-threads.exp        |    8 +-
 .../gdb.threads/process-dies-while-detaching.exp   |    6 +-
 .../gdb.threads/process-dies-while-handling-bp.exp |    2 +-
 gdb/testsuite/gdb.threads/pthreads.exp             |    8 +-
 gdb/testsuite/gdb.threads/queue-signal.exp         |    2 +-
 gdb/testsuite/gdb.threads/reconnect-signal.exp     |    4 +-
 .../gdb.threads/signal-command-handle-nopass.exp   |    2 +-
 .../signal-command-multiple-signals-pending.exp    |    2 +-
 .../gdb.threads/signal-delivered-right-thread.exp  |    2 +-
 gdb/testsuite/gdb.threads/signal-sigtrap.exp       |    2 +-
 gdb/testsuite/gdb.threads/sigthread.exp            |    2 +-
 gdb/testsuite/gdb.threads/staticthreads.exp        |    4 +-
 gdb/testsuite/gdb.threads/stepi-random-signal.exp  |    2 +-
 .../gdb.threads/thread-unwindonsignal.exp          |    4 +-
 gdb/testsuite/gdb.threads/thread_check.exp         |    2 +-
 gdb/testsuite/gdb.threads/thread_events.exp        |    2 +-
 gdb/testsuite/gdb.threads/tid-reuse.exp            |    2 +-
 gdb/testsuite/gdb.threads/tls-nodebug.exp          |    2 +-
 gdb/testsuite/gdb.threads/tls-shared.exp           |    2 +-
 gdb/testsuite/gdb.threads/tls-so_extern.exp        |    2 +-
 gdb/testsuite/gdb.threads/tls.exp                  |    8 +-
 gdb/testsuite/gdb.threads/watchpoint-fork.exp      |    4 +-
 gdb/testsuite/gdb.threads/wp-replication.exp       |    6 +-
 gdb/testsuite/gdb.trace/actions-changed.exp        |    4 +-
 gdb/testsuite/gdb.trace/actions.exp                |    8 +-
 gdb/testsuite/gdb.trace/ax.exp                     |    2 +-
 gdb/testsuite/gdb.trace/backtrace.exp              |   10 +-
 gdb/testsuite/gdb.trace/change-loc.exp             |   10 +-
 gdb/testsuite/gdb.trace/collection.exp             |    2 +-
 gdb/testsuite/gdb.trace/deltrace.exp               |    4 +-
 gdb/testsuite/gdb.trace/disconnected-tracing.exp   |    4 +-
 gdb/testsuite/gdb.trace/entry-values.exp           |    6 +-
 gdb/testsuite/gdb.trace/ftrace-lock.exp            |   10 +-
 gdb/testsuite/gdb.trace/ftrace.exp                 |    8 +-
 gdb/testsuite/gdb.trace/infotrace.exp              |    6 +-
 .../gdb.trace/mi-trace-frame-collected.exp         |    4 +-
 gdb/testsuite/gdb.trace/mi-trace-unavailable.exp   |    4 +-
 gdb/testsuite/gdb.trace/mi-traceframe-changed.exp  |    4 +-
 gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp  |   10 +-
 gdb/testsuite/gdb.trace/mi-tsv-changed.exp         |   12 +-
 gdb/testsuite/gdb.trace/no-attach-trace.exp        |    4 +-
 gdb/testsuite/gdb.trace/packetlen.exp              |    4 +-
 gdb/testsuite/gdb.trace/passc-dyn.exp              |    4 +-
 gdb/testsuite/gdb.trace/passcount.exp              |    4 +-
 gdb/testsuite/gdb.trace/pending.exp                |   20 +-
 gdb/testsuite/gdb.trace/pr16508.exp                |    2 +-
 gdb/testsuite/gdb.trace/qtro.exp                   |    4 +-
 gdb/testsuite/gdb.trace/range-stepping.exp         |    8 +-
 gdb/testsuite/gdb.trace/read-memory.exp            |    4 +-
 gdb/testsuite/gdb.trace/report.exp                 |   10 +-
 gdb/testsuite/gdb.trace/save-trace.exp             |    2 +-
 gdb/testsuite/gdb.trace/signal.exp                 |    4 +-
 gdb/testsuite/gdb.trace/stap-trace.exp             |    2 +-
 gdb/testsuite/gdb.trace/status-stop.exp            |    8 +-
 gdb/testsuite/gdb.trace/strace.exp                 |   14 +-
 gdb/testsuite/gdb.trace/tfile.exp                  |    2 +-
 gdb/testsuite/gdb.trace/tfind.exp                  |    6 +-
 gdb/testsuite/gdb.trace/trace-break.exp            |   20 +-
 gdb/testsuite/gdb.trace/trace-condition.exp        |   10 +-
 gdb/testsuite/gdb.trace/trace-enable-disable.exp   |    8 +-
 gdb/testsuite/gdb.trace/trace-mt.exp               |   14 +-
 gdb/testsuite/gdb.trace/tracecmd.exp               |   10 +-
 gdb/testsuite/gdb.trace/tracefile-pseudo-reg.exp   |    2 +-
 gdb/testsuite/gdb.trace/tspeed.exp                 |    4 +-
 gdb/testsuite/gdb.trace/tstatus.exp                |    2 +-
 gdb/testsuite/gdb.trace/tsv.exp                    |   20 +-
 gdb/testsuite/gdb.trace/unavailable.exp            |    2 +-
 gdb/testsuite/gdb.trace/while-dyn.exp              |    2 +-
 gdb/testsuite/gdb.trace/while-stepping.exp         |    4 +-
 gdb/testsuite/lib/gdb-guile.exp                    |    2 +-
 gdb/testsuite/lib/gdb.exp                          |   10 +-
 gdb/testsuite/lib/mi-support.exp                   |    8 +-
 gdb/testsuite/lib/pascal.exp                       |    2 +-
 gdb/testsuite/lib/perftest.exp                     |    2 +-
 gdb/testsuite/lib/prelink-support.exp              |    2 +-
 gdb/testsuite/lib/selftest-support.exp             |    2 +-
 gdb/tracefile-tfile.c                              |    2 +-
 gdb/tracefile.c                                    |    4 +-
 gdb/tracepoint.c                                   |   88 +-
 gdb/tracepoint.h                                   |    2 +-
 gdb/trad-frame.c                                   |   21 +-
 gdb/trad-frame.h                                   |    1 +
 gdb/tui/tui-out.c                                  |    4 +-
 gdb/ui-out.c                                       |  609 ++--
 gdb/ui-out.h                                       |   36 +-
 gdb/valops.c                                       |    1 -
 gdb/value.c                                        |   63 +-
 gdb/value.h                                        |    2 +-
 gdb/vax-nbsd-tdep.c                                |    2 +-
 gdb/vax-obsd-tdep.c                                |  178 -
 gold/ChangeLog                                     |  178 +
 gold/Makefile.in                                   |    4 +-
 gold/aarch64.cc                                    |    2 +
 gold/arm.cc                                        |    2 +
 gold/layout.cc                                     |   42 +-
 gold/layout.h                                      |    2 +-
 gold/object.cc                                     |    5 +-
 gold/options.cc                                    |   63 +-
 gold/options.h                                     |   54 +-
 gold/output.cc                                     |   65 +-
 gold/output.h                                      |    4 +-
 gold/powerpc.cc                                    |  196 +-
 gold/script-sections.cc                            |  142 +-
 gold/target.h                                      |   12 +-
 gold/testsuite/Makefile.am                         |   58 +
 gold/testsuite/Makefile.in                         |   92 +-
 gold/testsuite/file_in_many_sections.c             |   34 +
 gold/testsuite/file_in_many_sections_test.sh       |   31 +
 gold/testsuite/pr20717.c                           |    3 +
 gold/testsuite/pr20717.sh                          |   40 +
 gold/testsuite/pr20717.t                           |    5 +
 gold/testsuite/script_test_13.c                    |    2 +
 gold/testsuite/script_test_13.sh                   |   41 +
 gold/testsuite/script_test_13.t                    |    7 +
 gold/testsuite/script_test_15.c                    |   10 +
 gold/testsuite/script_test_15a.sh                  |   41 +
 gold/testsuite/script_test_15a.t                   |   40 +
 gold/testsuite/script_test_15b.sh                  |   42 +
 gold/testsuite/script_test_15b.t                   |   49 +
 gold/testsuite/script_test_15c.sh                  |   42 +
 gold/testsuite/script_test_15c.t                   |   41 +
 gold/testsuite/script_test_2.cc                    |   18 +-
 include/ChangeLog                                  |   39 +
 include/bfdlink.h                                  |    3 +
 include/elf/mips.h                                 |    2 +-
 include/opcode/aarch64.h                           |    6 +-
 include/opcode/arc.h                               |    5 +
 include/opcode/arm.h                               |    4 +
 include/opcode/mips.h                              |    6 +-
 ld/ChangeLog                                       |  232 +
 ld/Makefile.am                                     |   10 +
 ld/Makefile.in                                     |   12 +
 ld/configure                                       |    2 +-
 ld/configure.tgt                                   |    7 +-
 ld/emulparams/arclinux_prof.sh                     |    1 -
 ld/emulparams/armelf_fuchsia.sh                    |   32 +
 ld/emulparams/armelfb_fuchsia.sh                   |    2 +
 ld/emultempl/elf32.em                              |    6 +-
 ld/emultempl/ppc64elf.em                           |    1 -
 ld/ld.texinfo                                      |   12 +
 ld/ldctor.c                                        |   15 +-
 ld/ldexp.c                                         |   14 +-
 ld/ldlex.h                                         |    1 +
 ld/ldlex.l                                         |   10 +-
 ld/ldmain.c                                        |    2 +-
 ld/lexsup.c                                        |    6 +
 ld/pe-dll.c                                        |   11 +-
 ld/scripttempl/pe.sc                               |    6 +-
 ld/testsuite/ld-aarch64/aarch64-elf.exp            |  271 +-
 ld/testsuite/ld-aarch64/erratum843419.d            |   92 +-
 ld/testsuite/ld-aarch64/farcall-b-defsym.d         |    4 +-
 ld/testsuite/ld-aarch64/farcall-b-plt.d            |    8 +-
 ld/testsuite/ld-aarch64/farcall-b.d                |    6 +-
 ld/testsuite/ld-aarch64/farcall-bl-defsym.d        |    4 +-
 ld/testsuite/ld-aarch64/farcall-bl-plt.d           |    8 +-
 ld/testsuite/ld-aarch64/farcall-bl.d               |    6 +-
 ld/testsuite/ld-aarch64/ifunc-15.d                 |    4 +-
 ld/testsuite/ld-aarch64/ifunc-16.d                 |    4 +-
 ld/testsuite/ld-aarch64/ifunc-5a-local.d           |    2 +-
 ld/testsuite/ld-aarch64/ifunc-5a.d                 |    2 +-
 ld/testsuite/ld-aarch64/ifunc-5b-local.d           |    2 +-
 ld/testsuite/ld-aarch64/ifunc-5b.d                 |    4 +-
 ld/testsuite/ld-aarch64/ifunc-5r-local.d           |    6 +-
 ld/testsuite/ld-aarch64/ifunc-6a.d                 |    2 +-
 ld/testsuite/ld-aarch64/ifunc-6b.d                 |    4 +-
 ld/testsuite/ld-aarch64/ifunc-7a.d                 |    2 +-
 ld/testsuite/ld-aarch64/ifunc-7b.d                 |    2 +-
 ld/testsuite/ld-aarch64/ifunc-8.d                  |    2 +-
 ld/testsuite/ld-aarch64/limit-b.d                  |    4 +-
 ld/testsuite/ld-aarch64/limit-bl.d                 |    4 +-
 ld/testsuite/ld-aarch64/relocs-ilp32.ld            |   19 +
 ld/testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d    |   10 +
 .../ld-aarch64/tls-relax-ld-le-small-ilp32.d       |   14 +
 .../ld-aarch64/tls-relax-ld-le-tiny-ilp32.d        |   13 +
 ld/testsuite/ld-cdtest/cdtest-foo.cc               |    2 +-
 ld/testsuite/ld-elf/flags1.d                       |    1 -
 ld/testsuite/ld-elf/indirect.exp                   |    3 +
 ld/testsuite/ld-elf/indirect1b.c                   |    3 +
 ld/testsuite/ld-elf/indirect2.c                    |    3 +
 ld/testsuite/ld-elf/indirect3b.c                   |    3 +
 ld/testsuite/ld-elf/indirect4b.c                   |    6 +
 ld/testsuite/ld-elf/loadaddr1.d                    |    2 +-
 ld/testsuite/ld-elf/nobits-1.d                     |    2 -
 ld/testsuite/ld-elf/note-1.d                       |    2 -
 ld/testsuite/ld-elf/note-2.d                       |    2 -
 ld/testsuite/ld-elf/pr18718.c                      |    3 +
 ld/testsuite/ld-elf/pr18720.rd                     |    4 +
 ld/testsuite/ld-elf/pr18720b.c                     |    5 +
 ld/testsuite/ld-elf/pr19553c.c                     |    3 +
 ld/testsuite/ld-elf/shared.exp                     |    4 +-
 ld/testsuite/ld-elfvers/vers.exp                   |   32 +-
 ld/testsuite/ld-elfvers/vers.h                     |    7 +
 ld/testsuite/ld-elfvers/vers1.c                    |   16 +-
 ld/testsuite/ld-elfvers/vers1.sym                  |    8 +-
 ld/testsuite/ld-elfvers/vers15.c                   |    6 +-
 ld/testsuite/ld-elfvers/vers15.sym                 |    6 +-
 ld/testsuite/ld-elfvers/vers18.c                   |    8 +-
 ld/testsuite/ld-elfvers/vers18.sym                 |    8 +-
 ld/testsuite/ld-elfvers/vers21.c                   |    7 +-
 ld/testsuite/ld-elfvers/vers21.sym                 |    6 +-
 ld/testsuite/ld-elfvers/vers22a.c                  |    2 +-
 ld/testsuite/ld-elfvers/vers22a.sym                |    2 +-
 ld/testsuite/ld-elfvers/vers23a.c                  |    2 +-
 ld/testsuite/ld-elfvers/vers23a.sym                |    2 +-
 ld/testsuite/ld-elfvers/vers27d.sym                |    2 +-
 ld/testsuite/ld-elfvers/vers27d1.c                 |    2 +-
 ld/testsuite/ld-elfvers/vers4.c                    |    2 +-
 ld/testsuite/ld-elfvers/vers4.sym                  |    2 +-
 ld/testsuite/ld-elfvers/vers4a.sym                 |    2 +-
 ld/testsuite/ld-elfvers/vers5.c                    |    8 +-
 ld/testsuite/ld-elfvers/vers6.c                    |    8 +-
 ld/testsuite/ld-elfvers/vers6.sym                  |    8 +-
 ld/testsuite/ld-elfvers/vers7a.c                   |    4 +-
 ld/testsuite/ld-elfvers/vers7a.sym                 |    4 +-
 ld/testsuite/ld-elfvers/vers9.c                    |    8 +-
 ld/testsuite/ld-elfvers/vers9.sym                  |    8 +-
 ld/testsuite/ld-elfweak/elfweak.exp                |   18 +-
 ld/testsuite/ld-elfweak/strong.sym                 |    2 +-
 ld/testsuite/ld-elfweak/strongcomm.sym             |    4 +-
 ld/testsuite/ld-elfweak/strongdata.sym             |    4 +-
 ld/testsuite/ld-ifunc/pr16467b.c                   |    3 +
 ld/testsuite/ld-plugin/lto.exp                     |   12 +-
 ld/testsuite/ld-plugin/plugin-13.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-14.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-15.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-16.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-20.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-21.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-22.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-23.d                 |    2 +-
 ld/testsuite/ld-plugin/plugin-6.d                  |    2 +-
 ld/testsuite/ld-plugin/plugin-7.d                  |    2 +-
 ld/testsuite/ld-plugin/plugin-8.d                  |    2 +-
 ld/testsuite/ld-plugin/plugin.exp                  |    7 +
 ld/testsuite/ld-plugin/pr12760b.c                  |   15 +-
 ld/testsuite/ld-plugin/pr16746a.c                  |    8 +-
 ld/testsuite/ld-plugin/pr16746b.c                  |    6 +
 ld/testsuite/ld-powerpc/dotsym1.d                  |   15 +
 ld/testsuite/ld-powerpc/dotsym2.d                  |   16 +
 ld/testsuite/ld-powerpc/dotsym3.d                  |   16 +
 ld/testsuite/ld-powerpc/dotsym4.d                  |   17 +
 ld/testsuite/ld-powerpc/dotsymref.s                |    4 +
 ld/testsuite/ld-powerpc/nodotsym.s                 |   11 +
 ld/testsuite/ld-powerpc/powerpc.exp                |    8 +
 ld/testsuite/ld-powerpc/tocopt7.d                  |   54 +
 ld/testsuite/ld-powerpc/tocopt7.out                |   26 +
 ld/testsuite/ld-powerpc/tocopt7.s                  |  216 +
 ld/testsuite/ld-powerpc/tocopt8.d                  |   46 +
 ld/testsuite/ld-powerpc/tocopt8.s                  |  188 +
 ld/testsuite/ld-powerpc/vle-multiseg-5.d           |    6 +-
 ld/testsuite/ld-scripts/phdrs.exp                  |    8 -
 ld/testsuite/ld-scripts/phdrs3a.d                  |    2 +-
 ld/testsuite/ld-scripts/pr14962-2.d                |    2 +-
 ld/testsuite/ld-scripts/pr14962.d                  |    2 +-
 ld/testsuite/ld-sparc/sparc.exp                    |    3 +
 ld/testsuite/ld-sparc/wdispcall.dd                 |   18 +
 ld/testsuite/ld-sparc/wdispcall.s                  |   14 +
 libiberty/ChangeLog                                |   22 +
 libiberty/argv.c                                   |   19 +
 libiberty/configure                                |    3 +-
 libiberty/cp-demangle.c                            |   61 +-
 libiberty/testsuite/demangle-expected              |   29 +
 opcodes/ChangeLog                                  |  180 +
 opcodes/aarch64-asm-2.c                            |    4 +-
 opcodes/aarch64-asm.c                              |   16 +-
 opcodes/aarch64-dis-2.c                            |    4 +-
 opcodes/aarch64-opc-2.c                            |    4 +-
 opcodes/aarch64-opc.c                              |   17 +-
 opcodes/aarch64-tbl.h                              |   12 +-
 opcodes/arc-dis.c                                  |   99 +-
 opcodes/arc-opc.c                                  |   83 +-
 opcodes/arc-tbl.h                                  | 4472 ++++++++++----------
 opcodes/arm-dis.c                                  |   36 +-
 opcodes/i386-dis.c                                 |   15 +-
 opcodes/mips-dis.c                                 |  143 +-
 opcodes/mips16-opc.c                               |   18 +-
 opcodes/ppc-dis.c                                  |    2 +-
 opcodes/rl78-dis.c                                 |   32 +-
 opcodes/rx-dis.c                                   |   32 +-
 sim/ChangeLog                                      |    5 +
 sim/MAINTAINERS                                    |    1 +
 sim/aarch64/ChangeLog                              |   16 +
 sim/aarch64/simulator.c                            |   69 +-
 sim/testsuite/sim/aarch64/ChangeLog                |    9 +
 sim/testsuite/sim/aarch64/adds.s                   |   81 +
 sim/testsuite/sim/aarch64/fstur.s                  |  136 +
 sim/testsuite/sim/aarch64/tbnz.s                   |   55 +
 sim/testsuite/sim/aarch64/testutils.inc            |   16 +-
 zlib/configure                                     |    1 -
 1021 files changed, 13526 insertions(+), 7076 deletions(-)
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-1.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-1.s
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-2.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-2.s
 create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-3.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.s
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-pcrel.d
 create mode 100644 binutils/testsuite/binutils-all/mips/mips16-pcrel.s
 create mode 100644 gas/testsuite/gas/arc/cpu-em-err.s
 create mode 100644 gas/testsuite/gas/arc/cpu-em4-err.s
 create mode 100644 gas/testsuite/gas/arc/cpu-fpuda-err.s
 create mode 100644 gas/testsuite/gas/arc/cpu-hs-err.s
 create mode 100644 gas/testsuite/gas/arc/cpu-quarkse-err.s
 create mode 100644 gas/testsuite/gas/arc/lpcount-err.s
 create mode 100644 gas/testsuite/gas/arc/textauxregister-1.d
 create mode 100644 gas/testsuite/gas/arc/textauxregister-1.s
 create mode 100644 gas/testsuite/gas/arc/textcondcode-err.s
 create mode 100644 gas/testsuite/gas/arc/textcoreregister-err.s
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad.d
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad.l
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad.s
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp.d
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp.s
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad.d
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad.l
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad.s
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd.d
 create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd.s
 create mode 100644 gas/testsuite/gas/i386/xop32reg.d
 create mode 100644 gas/testsuite/gas/i386/xop32reg.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-1.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-1.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-2.d
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-2.s
 create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended.l
 create mode 100644 gas/testsuite/gas/mips/mips16-extend.d
 create mode 100644 gas/testsuite/gas/mips/mips16-extend.s
 create mode 100644 gas/testsuite/gas/mips/mips16-sprel-swap.d
 create mode 100644 gas/testsuite/gas/mips/mips16-sprel-swap.s
 create mode 100644 gdb/disable-implicit-rules.mk
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-0.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-1.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-2.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-3.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-4.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-5.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-6.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures-7.exp
 create mode 100644 gdb/testsuite/gdb.base/all-architectures.exp.in
 create mode 100644 gdb/testsuite/gdb.dwarf2/main-subprogram.c
 create mode 100644 gdb/testsuite/gdb.dwarf2/main-subprogram.exp
 delete mode 100644 gdb/vax-obsd-tdep.c
 create mode 100644 gold/testsuite/file_in_many_sections.c
 create mode 100755 gold/testsuite/file_in_many_sections_test.sh
 create mode 100644 gold/testsuite/pr20717.c
 create mode 100755 gold/testsuite/pr20717.sh
 create mode 100644 gold/testsuite/pr20717.t
 create mode 100644 gold/testsuite/script_test_13.c
 create mode 100755 gold/testsuite/script_test_13.sh
 create mode 100644 gold/testsuite/script_test_13.t
 create mode 100644 gold/testsuite/script_test_15.c
 create mode 100755 gold/testsuite/script_test_15a.sh
 create mode 100644 gold/testsuite/script_test_15a.t
 create mode 100755 gold/testsuite/script_test_15b.sh
 create mode 100644 gold/testsuite/script_test_15b.t
 create mode 100755 gold/testsuite/script_test_15c.sh
 create mode 100644 gold/testsuite/script_test_15c.t
 create mode 100644 ld/emulparams/armelf_fuchsia.sh
 create mode 100644 ld/emulparams/armelfb_fuchsia.sh
 create mode 100644 ld/testsuite/ld-aarch64/relocs-ilp32.ld
 create mode 100644 ld/testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d
 create mode 100644 ld/testsuite/ld-aarch64/tls-relax-ld-le-small-ilp32.d
 create mode 100644 ld/testsuite/ld-aarch64/tls-relax-ld-le-tiny-ilp32.d
 create mode 100644 ld/testsuite/ld-elf/pr18720.rd
 create mode 100644 ld/testsuite/ld-powerpc/dotsym1.d
 create mode 100644 ld/testsuite/ld-powerpc/dotsym2.d
 create mode 100644 ld/testsuite/ld-powerpc/dotsym3.d
 create mode 100644 ld/testsuite/ld-powerpc/dotsym4.d
 create mode 100644 ld/testsuite/ld-powerpc/dotsymref.s
 create mode 100644 ld/testsuite/ld-powerpc/nodotsym.s
 create mode 100644 ld/testsuite/ld-powerpc/tocopt7.d
 create mode 100644 ld/testsuite/ld-powerpc/tocopt7.out
 create mode 100644 ld/testsuite/ld-powerpc/tocopt7.s
 create mode 100644 ld/testsuite/ld-powerpc/tocopt8.d
 create mode 100644 ld/testsuite/ld-powerpc/tocopt8.s
 create mode 100644 ld/testsuite/ld-sparc/wdispcall.dd
 create mode 100644 ld/testsuite/ld-sparc/wdispcall.s
 create mode 100644 sim/testsuite/sim/aarch64/adds.s
 create mode 100644 sim/testsuite/sim/aarch64/fstur.s
 create mode 100644 sim/testsuite/sim/aarch64/tbnz.s

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 84ad164..1852129 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-12-08  Alan Modra  <amodra@gmail.com>
+
+	* configure: Regenerate.
+
+2016-12-02  Josh Conner  <joshconner@google.com>
+
+	* configure.ac: Add fuchsia to targets that use ELF.
+	* configure: Regenerated.
+
 2016-11-07  Doug Evans  <dje@google.com>
 
 	* config.sub: Sync with upstream version 2016-11-03.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 0d79764..8c09c2c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,216 @@
+2016-12-16  fincs  <fincs.alt1@gmail.com>
+
+	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
+	for info->gc_keep_exported.
+	(bfd_elf_gc_sections): Likewise.
+
+2016-12-15  Alan Modra  <amodra@gmail.com>
+
+	PR ld/20968
+	PR ld/20908
+	* elflink.c (bfd_elf_final_link): Revert 2016-12-02 change.  Move
+	reloc counting code later after ELF flavour test.
+
+2016-12-14  Maciej W. Rozycki  <macro@imgtec.com>
+
+	* bfd-in.h (elf_internal_abiflags_v0): New struct declaration.
+	(bfd_mips_elf_get_abiflags): New prototype.
+	* elfxx-mips.c (bfd_mips_elf_get_abiflags): New function.
+	* bfd-in2.h: Regenerate.
+
+2016-12-14  Yury Norov <ynorov@caviumnetworks.com>
+
+         * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where
+         TCB_SIZE is used.
+
+2016-12-13  Alan Modra  <amodra@gmail.com>
+
+	* elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR
+	for objcopy/strip or when a ld script specifies PHDRS.
+
+2016-12-13  Alan Modra  <amodra@gmail.com>
+
+	* elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust
+	segments that include the ELF file header or program headers.
+
+2016-12-08  Alan Modra  <amodra@gmail.com>
+
+	PR ld/20932
+	* elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.
+
+2016-12-07  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/20932
+	* elflink.c (bfd_elf_record_link_assignment): Replace call to
+	abort with an error message and error return value.
+
+2016-12-06  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/20931
+	* elf.c (copy_special_section_fields): Check for an invalid
+	sh_link field before attempting to follow it.
+
+	PR binutils/20929
+	* aoutx.h (squirt_out_relocs): Check for relocs without an
+	associated symbol.
+
+2016-12-06  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ok_lo_toc_insn): Add r_type param.  Recognize
+	lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp.
+	Don't match lmd and stmd.
+
+2016-12-05  Alyssa Milburn <amilburn@zall.org>
+
+	* elfxx-sparc.c: Do not stop processing relocations after
+	partially relaxing a call with WDISP30.
+
+2016-12-05  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/20905
+	* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
+	the end of the string buffer.
+
+	PR binutils/20907
+	* peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.
+
+	PR binutils/20921
+	* aoutx.h (squirt_out_relocs): Check for and report any relocs
+	that could not be recognised.
+
+	PR binutils/20922
+	* elf.c (find_link): Check for null headers before attempting to
+	match them.
+
+	PR ld/20925
+	* aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
+	FALSE.
+
+	PR ld/20924
+	(aout_link_add_symbols): Fix off by one error checking for
+	overflow of string offset.
+
+2016-12-03  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined".
+	(struct ppc_link_hash_table): Delete "twiddled_syms".  Add
+	"need_func_desc_adj".
+	(lookup_fdh): Link direct fdh sym via oh field and set flags.
+	(make_fdh): Make strong and weak undefined function descriptor
+	symbols.
+	(ppc64_elf_merge_symbol): New function.
+	(elf_backend_merge_symbol): Define.
+	(ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake
+	function descriptors.
+	(add_symbol_adjust): Don't twiddle symbols to undefweak.
+	Propagate more ref flags to function descriptor symbol.  Make
+	some function descriptor symbols dynamic.
+	(ppc64_elf_before_check_relocs): Only run add_symbol_adjust for
+	ELFv1.  Set need_func_desc_adj.  Don't fix undefs list.
+	(ppc64_elf_check_relocs): Set non_ir_ref for descriptors.
+	Don't call lookup_fdh here.
+	(ppc64_elf_gc_sections): New function.
+	(bfd_elf64_bfd_gc_sections): Define.
+	(ppc64_elf_gc_mark_hook): Mark descriptor.
+	(func_desc_adjust): Don't make fake function descriptor syms strong
+	here.  Exit earlier on non-dotsyms.  Take note of elf.dynamic
+	flag when deciding whether a dynamic function descriptor might
+	be needed.  Transfer elf.dynamic and set elf.needs_plt.  Move
+	plt regardless of visibility.  Make descriptor dynamic if
+	entry sym is dynamic, not for other cases.
+	(ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if
+	already done.
+	(ppc64_elf_edit_opd): Use oh field rather than lookup_fdh.
+	(ppc64_elf_size_stubs): Likewise.
+	(ppc_build_one_stub): Don't clear was_undefined.  Only set sym
+	undefweak if stub symbol is defined.
+	(undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete.
+	* elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare.
+
+2016-12-03  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
+	elf_link_hash_table rather than ppc_link_hash_table.
+
+2016-12-03  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (add_symbol_adjust): Delete dead code.
+
+2016-12-03  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (add_symbol_adjust): Correct order of tests for
+	warning and indirect symbols.
+
+2016-12-03  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
+	flags when direct symbol is versioned_hidden.
+
+2016-12-02  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/20908
+	* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
+	when following indirect links.
+
+	PR ld/20909
+	* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
+	for an illegal string offset.
+
+2016-12-02  Gary Benson  <gbenson@redhat.com>
+
+	* elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
+	elf_parse_notes.
+
+2016-12-02  Josh Conner  <joshconner@google.com>
+
+	* config.bfd: Add support for fuchsia (OS).
+
+2016-12-01  Yury Norov  <ynorov@caviumnetworks.com>
+
+	PR ld/20868
+	* elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
+	to the GOT when operating in 32-bit mode.
+
+2016-12-01  Ma Jiang  <ma.jiang@zte.com.cn>
+
+	PR ld/16720
+	* elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
+	test for HI16 relocs.
+
+2016-12-01  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/20891
+	* aoutx.h (find_nearest_line): Handle the case where the main file
+	name and the directory name are both empty.
+
+	PR binutils/20892
+	* aoutx.h (find_nearest_line): Handle the case where the function
+	name is empty.
+
+2016-11-30  Alan Modra  <amodra@gmail.com>
+
+	* elf.c (get_program_header_size): Revert accidental change.
+
+2016-11-30  Alan Modra  <amodra@gmail.com>
+
+	PR ld/20886
+	* elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
+	on any pass past STUB_SHRINK_ITER.
+
+2016-11-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
+	symbol in executable.
+	(elf_link_output_extsym): Don't change bind from global to
+	local when linking executable.
+
+2016-11-28  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/20815
+	* elf.c (phdr_sorter): Delete.
+	(assign_file_positions_except_relocs): Do not sort program
+	headers.
+
 2016-11-25  Jon Turney  <jon.turney@dronecode.org.uk>
 
 	PR ld/20193
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 089fe57..c64f288 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -1955,6 +1955,7 @@ NAME (aout, swap_std_reloc_out) (bfd *abfd,
 
   PUT_WORD (abfd, g->address, natptr->r_address);
 
+  BFD_ASSERT (g->howto != NULL);
   r_length = g->howto->size ;	/* Size as a power of two.  */
   r_pcrel  = (int) g->howto->pc_relative; /* Relative to PC?  */
   /* XXX This relies on relocs coming from a.out files.  */
@@ -2393,16 +2394,39 @@ NAME (aout, squirt_out_relocs) (bfd *abfd, asection *section)
       for (natptr = native;
 	   count != 0;
 	   --count, natptr += each_size, ++generic)
-	MY_swap_ext_reloc_out (abfd, *generic,
-			       (struct reloc_ext_external *) natptr);
+	{
+	  /* PR 20921: If the howto field has not been initialised then skip
+	     this reloc.
+	     PR 20929: Similarly for the symbol field.  */
+	  if ((*generic)->howto == NULL
+	      || (*generic)->sym_ptr_ptr == NULL)
+	    {
+	      bfd_set_error (bfd_error_invalid_operation);
+	      _bfd_error_handler (_("\
+%B: attempt to write out unknown reloc type"), abfd);
+	      return FALSE;
+	    }
+	  MY_swap_ext_reloc_out (abfd, *generic,
+				 (struct reloc_ext_external *) natptr);
+	}
     }
   else
     {
       for (natptr = native;
 	   count != 0;
 	   --count, natptr += each_size, ++generic)
-	MY_swap_std_reloc_out (abfd, *generic,
-			       (struct reloc_std_external *) natptr);
+	{
+	  if ((*generic)->howto == NULL
+	      || (*generic)->sym_ptr_ptr == NULL)
+	    {
+	      bfd_set_error (bfd_error_invalid_operation);
+	      _bfd_error_handler (_("\
+%B: attempt to write out unknown reloc type"), abfd);
+	      return FALSE;
+	    }
+	  MY_swap_std_reloc_out (abfd, *generic,
+				 (struct reloc_std_external *) natptr);
+	}
     }
 
   if (bfd_bwrite ((void *) native, natsize, abfd) != natsize)
@@ -2666,7 +2690,7 @@ NAME (aout, find_nearest_line) (bfd *abfd,
   char *buf;
 
   *filename_ptr = abfd->filename;
-  *functionname_ptr = 0;
+  *functionname_ptr = NULL;
   *line_ptr = 0;
   if (disriminator_ptr)
     *disriminator_ptr = 0;
@@ -2811,9 +2835,17 @@ NAME (aout, find_nearest_line) (bfd *abfd,
 	*filename_ptr = main_file_name;
       else
 	{
-	  sprintf (buf, "%s%s", directory_name, main_file_name);
-	  *filename_ptr = buf;
-	  buf += filelen + 1;
+	  if (buf == NULL)
+	    /* PR binutils/20891: In a corrupt input file both
+	       main_file_name and directory_name can be empty...  */
+	    * filename_ptr = NULL;
+	  else
+	    {
+	      snprintf (buf, filelen + 1, "%s%s", directory_name,
+			main_file_name);
+	      *filename_ptr = buf;
+	      buf += filelen + 1;
+	    }
 	}
     }
 
@@ -2822,6 +2854,12 @@ NAME (aout, find_nearest_line) (bfd *abfd,
       const char *function = func->name;
       char *colon;
 
+      if (buf == NULL)
+	{
+	  /* PR binutils/20892: In a corrupt input file func can be empty.  */
+	  * functionname_ptr = NULL;
+	  return TRUE;
+	}
       /* The caller expects a symbol name.  We actually have a
 	 function name, without the leading underscore.  Put the
 	 underscore back in, so that the caller gets a symbol name.  */
@@ -3017,10 +3055,9 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
 	continue;
 
       /* PR 19629: Corrupt binaries can contain illegal string offsets.  */
-      if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd))
+      if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd))
 	return FALSE;
       name = strings + GET_WORD (abfd, p->e_strx);
-      
       value = GET_WORD (abfd, p->e_value);
       flags = BSF_GLOBAL;
       string = NULL;
@@ -3076,10 +3113,12 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
 	case N_INDR | N_EXT:
 	  /* An indirect symbol.  The next symbol is the symbol
 	     which this one really is.  */
-	  BFD_ASSERT (p + 1 < pend);
+	  /* See PR 20925 for a reproducer.  */
+	  if (p + 1 >= pend)
+	    return FALSE;
 	  ++p;
 	  /* PR 19629: Corrupt binaries can contain illegal string offsets.  */
-	  if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd))
+	  if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd))
 	    return FALSE;
 	  string = strings + GET_WORD (abfd, p->e_strx);
 	  section = bfd_ind_section_ptr;
@@ -3115,7 +3154,7 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
 	  ++p;
 	  string = name;
 	  /* PR 19629: Corrupt binaries can contain illegal string offsets.  */
-	  if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd))
+	  if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd))
 	    return FALSE;
 	  name = strings + GET_WORD (abfd, p->e_strx);
 	  section = bfd_und_section_ptr;
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 4b3bcfd..14f55ab 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -1045,3 +1045,7 @@ extern bfd_boolean v850_elf_create_sections
 
 extern bfd_boolean v850_elf_set_note
   (bfd *, unsigned int, unsigned int);
+
+/* MIPS ABI flags data access.  For the disassembler.  */
+struct elf_internal_abiflags_v0;
+extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *);
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index fdb7878..1c6b70f 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1052,6 +1052,10 @@ extern bfd_boolean v850_elf_create_sections
 
 extern bfd_boolean v850_elf_set_note
   (bfd *, unsigned int, unsigned int);
+
+/* MIPS ABI flags data access.  For the disassembler.  */
+struct elf_internal_abiflags_v0;
+extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *);
 /* Extracted from init.c.  */
 void bfd_init (void);
 
diff --git a/bfd/config.bfd b/bfd/config.bfd
index b692f0a..5bca5d9 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -260,6 +260,11 @@ case "${targ}" in
     targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
     want64=true
     ;;
+  aarch64-*-fuchsia*)
+    targ_defvec=aarch64_elf64_le_vec
+    targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+    want64=true
+    ;;
   aarch64-*-cloudabi*)
     targ_defvec=aarch64_elf64_le_cloudabi_vec
     targ_selvecs=aarch64_elf64_be_cloudabi_vec
@@ -359,6 +364,10 @@ case "${targ}" in
     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
     targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
     ;;
+  arm-*-fuchsia*)
+    targ_defvec=arm_elf32_le_vec
+    targ_selvecs="arm_elf32_be_vec"
+    ;;
   arm-*-nacl*)
     targ_defvec=arm_elf32_nacl_le_vec
     targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec"
@@ -766,7 +775,7 @@ case "${targ}" in
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
     ;;
-  x86_64-*-elf* | x86_64-*-rtems*)
+  x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia)
     targ_defvec=x86_64_elf64_vec
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
diff --git a/bfd/elf.c b/bfd/elf.c
index 936255e..678c043 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1062,7 +1062,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
       if (!bfd_malloc_and_get_section (abfd, newsect, &contents))
 	return FALSE;
 
-      elf_parse_notes (abfd, (char *) contents, hdr->sh_size, -1);
+      elf_parse_notes (abfd, (char *) contents, hdr->sh_size, hdr->sh_offset);
       free (contents);
     }
 
@@ -1271,13 +1271,19 @@ find_link (const bfd * obfd, const Elf_Internal_Shdr * iheader, const unsigned i
   Elf_Internal_Shdr ** oheaders = elf_elfsections (obfd);
   unsigned int i;
 
-  if (section_match (oheaders[hint], iheader))
+  BFD_ASSERT (iheader != NULL);
+
+  /* See PR 20922 for a reproducer of the NULL test.  */
+  if (oheaders[hint] != NULL
+      && section_match (oheaders[hint], iheader))
     return hint;
 
   for (i = 1; i < elf_numsections (obfd); i++)
     {
       Elf_Internal_Shdr * oheader = oheaders[i];
 
+      if (oheader == NULL)
+	continue;
       if (section_match (oheader, iheader))
 	/* FIXME: Do we care if there is a potential for
 	   multiple matches ?  */
@@ -1340,6 +1346,16 @@ copy_special_section_fields (const bfd *ibfd,
      in the input bfd.  */
   if (iheader->sh_link != SHN_UNDEF)
     {
+      /* See PR 20931 for a reproducer.  */
+      if (iheader->sh_link >= elf_numsections (ibfd))
+	{
+	  (* _bfd_error_handler)
+	    /* xgettext:c-format */
+	    (_("%B: Invalid sh_link field (%d) in section number %d"),
+	     ibfd, iheader->sh_link, secnum);
+	  return FALSE;
+	}
+
       sh_link = find_link (obfd, iheaders[iheader->sh_link], iheader->sh_link);
       if (sh_link != SHN_UNDEF)
 	{
@@ -4254,7 +4270,7 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
 	 PT_INTERP segment.  In this case, assume we also need a
 	 PT_PHDR segment, although that may not be true for all
 	 targets.  */
-      segs += 3;
+      segs += 2;
     }
 
   if (bfd_get_section_by_name (abfd, ".dynamic") != NULL)
@@ -5854,52 +5870,6 @@ find_section_in_list (unsigned int i, elf_section_list * list)
   return list;
 }
 


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


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

end of thread, other threads:[~2017-05-24 20:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-21 17:30 [SCM] users/jkratoch/indexcxx: Merge remote-tracking branch 'gdb/master' into indexcxx jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2017-05-24 20:35 jkratoch
2017-05-24  7:20 jkratoch
2017-05-07 20:21 jkratoch
2017-04-29 22:28 jkratoch
2017-04-22 14:46 jkratoch
2017-04-05 16:17 jkratoch
2017-03-22 21:57 jkratoch
2016-12-17 15:05 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).