public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  users/jkratoch/dwarf5readelf: 5bb1a81b08217370fdee052830f23e7cd39756a0
@ 2017-01-07 19:42 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2017-01-07 19:42 UTC (permalink / raw)
  To: archer-commits

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

The branch, users/jkratoch/dwarf5readelf has been created
        at  5bb1a81b08217370fdee052830f23e7cd39756a0 (commit)

- Log -----------------------------------------------------------------
commit 5bb1a81b08217370fdee052830f23e7cd39756a0
Merge: 4ca24a4 042964b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 7 20:34:18 2017 +0100

    Merge branch 'dwarf5gcc' into dwarf5gcc-readelf

commit 042964b0317aac3520a008fa1f6584cfaeb4b8c3
Merge: 64ece0d 0e123f6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 7 20:34:14 2017 +0100

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

commit 0e123f69da7567042903c8e6e2ad0b03b0a66e55
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jan 6 15:47:33 2017 +1030

    [GOLD] powerpc.cc tidies
    
    Plus some paranoia in symval_for_branch.  We shouldn't get there with
    dynamic symbols, but if we ever did the static_cast to Powerpc_relobj
    would be wrong.
    
    	* powerpc.cc: Use shorter equivalent elfcpp typedef for
    	Reltype and reloc_size throughout.
    	(Target_powerpc::symval_for_branch): Exclude dynamic symbols.
    	(Target_powerpc::Scan::local): Use local var r_sym.
    	(Target_powerpc::Scan::global: Likewise.
    	(Target_powerpc::Relocate::relocate): Delete shadowing r_sym.

commit a6eb589ffec8e6a3ae83ad6e5f36af31e958ffec
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jan 7 00:00:21 2017 +0000

    Automatic date update in version.in

commit 0e2d6fa6a38ae2b80a56d786a41d905c9541906f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include gdb_proc_service.h in x86-linux-nat.h
    
    $ make check-headers CHECK_HEADERS="x86-linux-nat.h"
    ...
    ../../binutils-gdb/gdb/x86-linux-nat.h:29:8: error: 'ps_err_e' does not name a type
     extern ps_err_e x86_linux_get_thread_area (pid_t pid, void *addr,
            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* x86-linux-nat.h: Include gdb_proc_service.h.

commit 44d6d3f93341387bd2c95ea4c941bf99127e7389
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include serial.h in ser-base.h.
    
    $ make check-headers CHECK_HEADERS="ser-base.h"
    ...
    ../../binutils-gdb/gdb/ser-base.h:33:8: error: 'serial_ttystate' does not name a type
     extern serial_ttystate ser_base_get_tty_state (struct serial *scb);
            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* ser-base.h: Include serial.h.

commit 656731fe0f5bae5bb788b0688cc36900128fcc2f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include ppc-tdep.h in ppc-linux-tdep.h
    
    $ make check-headers CHECK_HEADERS="ppc-linux-tdep.h"
    ...
    ../../binutils-gdb/gdb/ppc-linux-tdep.h:34:24: error: 'PPC_NUM_REGS' was not declared in this scope
       PPC_ORIG_R3_REGNUM = PPC_NUM_REGS,
                            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* ppc-linux-tdep.h: Include ppc-tdep.h.

commit 1ca8f924a46c620c7a7ddbd156c3a623a5a6d1fb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include signal.h in nat/amd64-linux-siginfo.h
    
    $ make check-headers CHECK_HEADERS="nat/amd64-linux-siginfo.h"
    ....
    ../../binutils-gdb/gdb/nat/amd64-linux-siginfo.h:52:39: error: 'siginfo_t' was not declared in this scope
     int amd64_linux_siginfo_fixup_common (siginfo_t *native, gdb_byte *inf,
                                           ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* nat/amd64-linux-siginfo.h: Include signal.h.

commit bc3008c48f17aa67d39e539737a999737cd697a7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include break-common.h in nat/aarch64-linux-hw-point.h
    
    $ make check-headers CHECK_HEADERS="nat/aarch64-linux-hw-point.h"
    ...
    ../../binutils-gdb/gdb/nat/aarch64-linux-hw-point.h:169:37: error: use of enum 'target_hw_bp_type' without previous declaration
     int aarch64_handle_breakpoint (enum target_hw_bp_type type, CORE_ADDR addr,
                                         ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* nat/aarch64-linux-hw-point.h: Include break-common.h.

commit 66c80d03078b71470c66b8f00cab82d89daeea08
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:00 2017 +0000

    Include mi-cmds.h in mi-parse.h
    
    $ make check-headers CHECK_HEADERS="mi/mi-parse.h"
    ...
    ../../binutils-gdb/gdb/mi/mi-parse.h:77:6: error: use of enum 'print_values' without previous declaration
     enum print_values mi_parse_print_values (const char *name);
          ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* mi/mi-parse.h: Include mi-cmds.h.

commit 051d2ddae5a2289d1f253b563e57a8e8496a06bb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:26:45 2017 +0000

    Include target.h in inf-loop.h
    
    $ make check-headers CHECK_HEADERS="target.h inf-loop.h"
    ...
    ../../binutils-gdb/gdb/inf-loop.h:23:42: error: use of enum 'inferior_event_type' without previous declaration
     extern void inferior_event_handler (enum inferior_event_type event_type,
                                              ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* inf-loop.c: Don't include "target.h".
    	* inf-loop.h: Include it here.

commit 8018d34f1e5d94ffe1f12ac2455429c6f713c518
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:26:45 2017 +0000

    Include doublest.h and expression.h in dfp.h
    
    $ make check-headers CHECK_HEADERS="dfp.h"
    ...
    ../../binutils-gdb/gdb/dfp.h:39:8: error: 'DOUBLEST' does not name a type
     extern DOUBLEST decimal_to_doublest (const gdb_byte *from, int len,
            ^
    ../../binutils-gdb/gdb/dfp.h:41:33: error: use of enum 'exp_opcode' without previous declaration
     extern void decimal_binop (enum exp_opcode,
                                     ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* dfp.h: Include "dboulest.h" and "expression.h".

commit c0b8369c8aa4e05bf8f1b2ce4a79133cf1192a16
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:26:45 2017 +0000

    Include ax.h in ax-gdb.h
    
    $ make check-headers CHECK_HEADERS="ax-gdb.h"
    ...
    
    ../../binutils-gdb/gdb/ax-gdb.h:104:8: error: 'agent_expr_up' does not name a type
     extern agent_expr_up gen_trace_for_expr (CORE_ADDR, struct expression *,
            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* ax-gdb.h: Include "ax.h"

commit ad5cba2adbdb8ec216d44515468bde8d96892c3d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:03:02 2017 +0000

    Update gdb_ptrace.h in HFILES_NO_SRCDIR
    
    Commit e379037 (Move gdb_ptrace.h to nat/), so we should update
    file name in HFILES_NO_SRCDIR too.  Otherwise, 'make tags' complains,
    
    $ make tags
    make: *** No rule to make target `gdb_ptrace.h', needed by `TAGS'.  Stop.
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
    	with nat/gdb_ptrace.h.

commit fd13a84bb0f4e5eccd495d5538ef4aca7f341528
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 6 12:24:54 2017 +0000

    Retire Paul Brook as an ARM maintainer.
    
    	* MAINTAINERS: Move Paul Brook to the Past Maintainers section.

commit ac10a93e27993cf25cd2116227b12735d6481797
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jan 6 00:00:25 2017 +0000

    Automatic date update in version.in

commit 1c33cd7f00c7b2d195cdb004559332c397663bae
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 5 14:44:20 2017 +0000

    Fix ARI warning
    
    This patch splits the expression before the && operator instead of
    after it.
    
    gdb:
    
    2017-01-05  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
    	new line.
    	(mips64_fbsd_sigframe_init): Likewise.

commit 0ae60c3ef45d41b34d40ed5c7b4fdfea289530de
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 5 09:11:47 2017 +0000

    Prevent an abort in the FRV disassembler if the target bfd name is unknown.
    
    	PR 20946
    	* frv-desc.c (lookup_mach_via_bfd_name): Return NULL if the name
    	could not be matched.
    	(frv_cgen_cpu_open): Allow for lookup_mach_via_bfd_name returning
    	NULL.

commit c0386d4d54d2cc33d6efc0b998fe6396bf92be15
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Wed Jan 4 16:05:27 2017 -0800

    Five fixes, for fcsel, fcvtz, fminnm, mls, and non-widening mul.
    
    	sim/aarch64/
    	* cpustate.c: Include math.h.
    	(aarch64_set_FP_float): Use signbit to check for signed zero.
    	(aarch64_set_FP_double): Likewise.
    	* simulator.c (do_vec_MOV_immediate, case 0x8): Add missing break.
    	(do_vec_mul): In all DO_VEC_WIDENING_MUL calls, make second and fourth
    	args same size as third arg.
    	(fmaxnm): Use isnan instead of fpclassify.
    	(fminnm, dmaxnm, dminnm): Likewise.
    	(do_vec_MLS): Reverse order of subtraction operands.
    	(dexSimpleFPCondSelect): Call aarch64_get_FP_double or
    	aarch64_get_FP_float to get source register contents.
    	(UINT_MIN, ULONG_MIN, FLOAT_UINT_MAX, FLOAT_UINT_MIN,
    	DOUBLE_UINT_MAX, DOUBLE_UINT_MIN, FLOAT_ULONG_MAX, FLOAT_ULONG_MIN,
    	DOUBLE_ULONG_MAX, DOUBLE_ULONG_MIN): New.
    	(do_fcvtzu): Use ULONG instead of LONG, and UINT instead of INT in
    	raise_exception calls.
    
    	sim/testsuite/sim/aarch64/
    	* fcsel.s: New.
    	* fcvtz.s: New.
    	* fminnm.s: New.
    	* mls.s: New.
    	* mul.s: New.

commit 6ed0191f6582a3b008277f0d2dc18d6764313ac5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jan 5 00:00:35 2017 +0000

    Automatic date update in version.in

commit c988ac1de5bc0efec2022fc6ce7d13b24e540099
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Wed Jan 4 12:15:22 2017 -0800

    Use correct OSABI constant for FreeBSD/mips binaries.
    
    gdb/ChangeLog:
    
    	* mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
    	GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.

commit b268007c68ec2d4ebd7e1fa239f0444ff59620e2
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Wed Jan 4 09:41:58 2017 -0800

    Add native target for FreeBSD/mips.
    
    This supports the o32 and n64 ABIs.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
    	* NEWS: Mention new FreeBSD/mips native configuration.
    	* config/mips/fbsd.mh: New file.
    	* configure.host: Add mips*-*-freebsd*.
    	* mips-fbsd-nat.c: New file.

commit 387360daf92ec2e4e02ace51f44400c167bb5c79
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Wed Jan 4 09:41:58 2017 -0800

    Add FreeBSD/mips architecture.
    
    This has been tested for the n64 and o32 ABIs.  Signal frame unwinders for
    both ABIs are provided.  FreeBSD/mips requires custom linkmap offsets since
    it contains an additional l_off member in 'struct link_map' that other
    FreeBSD platforms do not have.  Support for collecting and supplying
    general purpose and floating point register sets are provided.  Common
    routines for working with native format register sets are exported for
    use by the native target.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
    	(ALLDEPFILES): Add mips-fbsd-tdep.c.
    	* NEWS: Mention new FreeBSD/mips target.
    	* configure.tgt: Add mips*-*-freebsd*.
    	* mips-fbsd-tdep.c: New file.
    	* mips-fbsd-tdep.h: New file.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Contributors): Add SRI International and University
    	of Cambridge for FreeBSD/mips.

commit b055631694967585d0c898ac493e1faa3d5e8ee6
Author: Dilan Palauzov <dilyan.palauzov@aegee.org>
Date:   Wed Jan 4 16:05:22 2017 +0000

    Use noyywrap option in lex files.
    
    ld	PR 20958
    	* ldlex.l (option): Add noyywrap
    	(yywrap): Delete.
    	* ldlex.h (yywrap): Delete prototype.
    
    binutils
    	PR 20958
    	* syslex.l (option): Add noyywrap
    	(yywrap): Delete.

commit 8cf50cb070642d73acc537010d71c912f921861c
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Jan 4 14:27:52 2017 +0000

    [DWARF] Sync GCC dwarf.def change on AArch64
    
    include/
    	* dwarf2.def: Sync with mainline gcc sources.

commit 7c2a23b23e9ca7015acadbbc7a12c665791c8337
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 4 23:49:58 2017 +1030

    update-copyright.py for binutils
    
    This is a modified form of gcc's contrib/update-copyright.py.
    
    	* update-copyright.py: New file.
    	* add-log.el: Update copyright year range.
    	* texi2pod.pl: Likewise.

commit e495212d229d58eb4d70c94d7f828a04c386c3b2
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 4 23:47:07 2017 +1030

    Sync libiberty from gcc
    
    Picks up copyright year update and other recent fixes.

commit 0913ae5ad7ad465e36784ed7fcc8676f3e0e23b7
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Dec 18 17:06:40 2016 +1030

    picflag.m4 high bit set in comment
    
    	* picflag.m4: Import from gcc.

commit d74d4880e23263bac3690bcb641af56bd13036e6
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Wed Jan 4 12:27:10 2017 +0000

    [AArch64] Add separate feature flag for weaker release consistent load insns
    
    The weaker release consistency support of ARMv8.3-A is allowed as an optional
    extension for ARMv8.2-A, so separate command line option and feature flag is
    added: -march=armv8.2-a+rcpc turns LDAPR, LDAPRB, LDAPRH instructions on.
    
    opcodes/
    	* aarch64-tbl.h (RCPC, RCPC_INSN): Define.
    	(aarch64_opcode_table): Use RCPC_INSN.
    
    include/
    	* opcode/aarch64.h (AARCH64_FEATURE_RCPC): Define.
    	(AARCH64_ARCH_V8_3): Update.
    
    gas/
    	* config/tc-aarch64.c (aarch64_features): Add rcpc.
    	* doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Rename to ...
    	* testsuite/gas/aarch64/ldst-rcpc.d: This.
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Rename to ...
    	* testsuite/gas/aarch64/ldst-rcpc.s: This.
    	* testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: New test.

commit 10ab38d930db6159b93082dfe5e41761bdc0d70b
Author: Norm Jacobs <norm.jacobs@oracle.com>
Date:   Wed Jan 4 11:49:00 2017 +0000

    When configuring GAS treat as sparcv9 target the same way as a sparc64 target.
    
    	PR gas/20992
    	* configure.tgt: Treat sparcv9 as sparc64.

commit 2aaaf250e80afb4a5c66fb0b7801e24cc5c4e680
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jan 4 09:32:46 2017 +0000

    Fix an internal error on writing pieced value
    
    In ee40d8d (Move computed value's frame id to piece_closure), I only
    updated read_pieced_value to use frame_id from piece_closure, but
    forgot to update write_pieced_value, so it causes the following
    internal error on arm-linux,
    
    set variable l = 4^M
    gdb/git/gdb/value.c:1579: internal-error: frame_id* deprecated_value_next_frame_id_hack(value*): Assertion `value->lval == lval_register' 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.base/store.exp: var longest l; setting l to 4 (GDB internal error)
    
    This patch fixes the internal error.
    
    gdb:
    
    2017-01-04  Yao Qi  <yao.qi@linaro.org>
    
    	* dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
    	use c->frame_id when the piece location is DWARF_VALUE_REGISTER.

commit c27e4edb52011c9f4bbdb141fb360c708a879f87
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jan 4 00:00:20 2017 +0000

    Automatic date update in version.in

commit 47523653a331d0a04470701338a6ed269cc758f4
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 4 09:25:54 2017 +1030

    Check for shared lib support before running ld tests with -shared
    
    Another fix now that we run these tests non-native.
    
    	* testsuite/ld-elf/audit.exp: Check for shared lib support.
    	* testsuite/ld-elf/compress.exp: Likewise.
    	* testsuite/ld-elf/dwarf.exp: Likewise.
    	* testsuite/ld-elf/shared.exp: Likewise.
    	* testsuite/ld-elf/wrap.exp: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Likewise.
    	* testsuite/ld-plugin/lto.exp: Check $CXX exists.

commit ae4fda663812129df67e3a70691787060242c0f9
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Tue Jan 3 16:15:15 2017 +0000

    bfd: alpha: Fix crash caused by double free with --no-keep-memory
    
    Without this, ld has been seen to crash in libc when freeing tsec_free:
    
    *** Error in `/usr/bin/ld': double free or corruption (!prev): 0x0000000120ceb6a0 ***
    
    _bfd_elf_link_read_relocs will always return the cached value if
    present, even if keep_memory is false, therefore setting tsec_free to
    NULL only when keep_memory is true is not sufficient.
    
    	* elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
    	if relocs are cached.

commit cc917fd93d2a836adfd61b91df021cf835e88fd1
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Tue Jan 3 17:42:01 2017 +0000

    Add support for the Q extension to the RISCV ISA.
    
    gas    * config/tc-riscv.c (riscv_set_arch): Whitelist the "q" ISA
            extension.
            (riscv_after_parse_args): Set FLOAT_ABI_QUAD when the Q ISA is
            enabled and no other ABI is specified.
    
    include * opcode/riscv-opc.h: Add support for the "q" ISA extension.
    
    opcodes * riscv-opc.c (riscv-opcodes): Add support for the "q" ISA
            extension.
            * riscv-opcodes/all-opcodes: Likewise.

commit de1010f40884537cf0905ad134162cd2db71dc2a
Author: Rich Felker <bugdal@aerifal.cx>
Date:   Tue Jan 3 16:18:41 2017 +0000

    Fix generation of GOT table when only GOT-relative relocs are used.
    
    	PR ld/21017
    	* elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
    	for R_MICROBLAZE_GOTOFF_64.

commit b52d3cfcfb472263eca181da37dfc0377978acba
Author: Dilyan Palauzov <dilyan.palauzov@aegee.org>
Date:   Tue Jan 3 16:02:36 2017 +0000

    Add fall through comment.
    
    	* riscv-dis.c (print_insn_args): Add fall through comment.

commit f90c58d59339ae3e0593cd6e464775973b7c259c
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 3 15:51:11 2017 +0000

    Add new Serbian translation for the opcodes library.
    
    	* po/sr.po: New Serbian translation.
    	* configure.ac (ALL_LINGUAS): Add sr.
    	* configure: Regenerate.

commit 09fe2662a708aa4da665bcaf942b5529e6809220
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 3 15:26:27 2017 +0000

    Fix compile time warning about using a possibly uninitialised variable.

commit fb9b4b7e534c4df7e8e0cb60c180e61f27617f0a
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 3 15:17:48 2017 +0000

    Sync dwarf headers with master versions in gcc repository.
    
    	* dwarf2.def: Sync with mainline gcc sources
    	* dwarf2.h: Likewise.
    
    	2016-12-21  Jakub Jelinek  <jakub@redhat.com>
    
    	* dwarf2.def (DW_FORM_ref_sup): Renamed to ...
    	(DW_FORM_ref_sup4): ... this.  New form.
    	(DW_FORM_ref_sup8): New form.
    
    	2016-10-17  Jakub Jelinek  <jakub@redhat.com>
    
    	* dwarf2.h (enum dwarf_calling_convention): Add new DWARF5
    	calling convention codes.
    	(enum dwarf_line_number_content_type): New.
    	(enum dwarf_location_list_entry_type): Add DWARF5 DW_LLE_*
    	codes.
    	(enum dwarf_source_language): Add new DWARF5 DW_LANG_* codes.
    	(enum dwarf_macro_record_type): Add DWARF5 DW_MACRO_* codes.
    	(enum dwarf_name_index_attribute): New.
    	(enum dwarf_range_list_entry): New.
    	(enum dwarf_unit_type): New.
    	* dwarf2.def: Add new DWARF5 DW_TAG_*, DW_FORM_*, DW_AT_*,
    	DW_OP_* and DW_ATE_* entries.
    
    	2016-08-15  Jakub Jelinek  <jakub@redhat.com>
    
    	* dwarf2.def (DW_AT_string_length_bit_size,
    	DW_AT_string_length_byte_size): New attributes.
    
    	2016-08-12  Alexandre Oliva <aoliva@redhat.com>
    
    	PR debug/63240
    	* dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New.
    	* dwarf2.h (enum dwarf_defaulted_attribute): New.

commit a44d0bd787e4fdf2424583508f407bafa139ed8a
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 3 23:00:30 2017 +1030

    Check ld_compile return status
    
    	* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Do not
    	allow test to continue after compilation errors.
    	(run_cc_link_tests): Likewise.

commit ddb2c6fdfc79e83af07ebdc93bdd17fe1eede8e7
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Mon Jan 2 18:20:21 2017 +0200

    Fix PRU GAS for 32-bit hosts
    
    The PRU GAS port I originally submitted does not build on 32bit hosts.
    This patch fixes it by aligning md_number_to_chars's definition with
    the global declaration in tc.h.
    
    Here is the original bug report I got:
      https://github.com/rcn-ee/repos/pull/23#issuecomment-269915175
    
    	* config/tc-pru.c (md_number_to_chars): Fix parameter to be
    	valueT, as declared in tc.h.
    	(md_apply_fix): Fix to work on 32-bit hosts.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 27c3ce29f8920270ca2ed9b533ead5c8ebff215e
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Mon Jan 2 18:20:20 2017 +0200

    Fix PRU LD for --enable-targets=all config option
    
    I noticed that PRU LD is broken when BFD is configured
    with --enable-targets=all.  This patch fixes it, and takes the
    opportunity to clean the epruelf.c dependencies.
    
    	* Makefile.am (ALL_EMULATION_SOURCES): Add epruelf.c.
    	(epruelf.c): Remove unneeded dependencies.
    	* Makefile.in: Regenerate
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 8cfc7cf8c273677b5c83290cd1b143f18eeeb9c4
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 3 12:27:19 2017 +1030

    Add -rpath-link to various tests
    
    Needed for cross-builds without --sysroot, where USE_LIBPATH isn't
    set.  See elf32.em after_open.  Perhap ld ought to look at -rpath in
    this case?
    
    	* testsuite/ld-elf/shared.exp: Add -rpath-link and -no-as-needed
    	to various tests.
    	* testsuite/ld-elfweak/elfweak.exp: Likewise.
    	* testsuite/ld-elfvers/vers.exp (vers19): Fix -rpath-link option.

commit 4ce6ca2c78c12931c31f46b9390e00a012eaa466
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 3 09:38:53 2017 +1030

    Don't run C tests in ld testsuite unless we have a C compiler
    
    Removing the [isnative] check requires that we test for a C compiler.
    
    	* testsuite/ld-elf/elf.exp: Check that $CC exists before C tests.
    	* testsuite/ld-pie/pie.exp: Likewise.
    	* testsuite/ld-plugin/lto.exp: Likewise.

commit 052d038860998099a4cfdc9fe6825307be7453be
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jan 3 00:00:19 2017 +0000

    Automatic date update in version.in

commit 4ca24a4d93cbc388414c9125d1a03e4c594f0861
Merge: cdca40b 64ece0d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Jan 2 22:32:18 2017 +0100

    Merge branch 'dwarf5gcc' into dwarf5gcc-readelf

commit 64ece0de474878ebdb52bed98a989a3ea4928ab7
Merge: 1d5ee95 f47b0d4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Jan 2 22:32:14 2017 +0100

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

commit f47b0d4a49facbfa5c2f0971474593df0a854547
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 23:57:58 2017 +1030

    Regen opcodes cgen files
    
    	* epiphany-desc.h: Regenerate.
    	* epiphany-opc.h: Regenerate.
    	* fr30-desc.h: Regenerate.
    	* fr30-opc.h: Regenerate.
    	* frv-desc.h: Regenerate.
    	* frv-opc.h: Regenerate.
    	* ip2k-desc.h: Regenerate.
    	* ip2k-opc.h: Regenerate.
    	* iq2000-desc.h: Regenerate.
    	* iq2000-opc.h: Regenerate.
    	* lm32-desc.h: Regenerate.
    	* lm32-opc.h: Regenerate.
    	* m32c-desc.h: Regenerate.
    	* m32c-opc.h: Regenerate.
    	* m32r-desc.h: Regenerate.
    	* m32r-opc.h: Regenerate.
    	* mep-desc.h: Regenerate.
    	* mep-opc.h: Regenerate.
    	* mt-desc.h: Regenerate.
    	* mt-opc.h: Regenerate.
    	* or1k-desc.h: Regenerate.
    	* or1k-opc.h: Regenerate.
    	* xc16x-desc.h: Regenerate.
    	* xc16x-opc.h: Regenerate.
    	* xstormy16-desc.h: Regenerate.
    	* xstormy16-opc.h: Regenerate.

commit d98164028637041c5de99af0d057bde3f168a8a8
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:45:37 2017 +1030

    Run more ld tests when not native
    
    Many of the ld tests are not run for cross builds, in some cases
    because the test needs to run a newly linked executable, and in others
    simply because it was easier to write the test for native only.  Even
    when a test needs to run, it's good to compile and link to exercise
    the linker.  So that's what this patch does.  I've also rid us of
    the old ld_link procedure with all the HOSTING_CRT0 etc. setup.  It's
    much simpler to just link with $CC.
    
    This does mean that a cross build with cross-compiler installed but
    no cross C-library will give lots of failures.  If that turns out to
    be too annoying, I guess we can write a tcl procedure to detect it and
    not run all the extra tests.
    
    	* Makefile.am (bootstrap): Delete rule.
    	(ld-partial, ld1, ld1-full, ld2, ld3): Likewise.
    	(HOSTING_CRT0, HOSTING_SCRT0): Don't define.
    	(HOSTING_LIBS, HOSTING_SLIBS, HOSTING_EMU): Likewise.
    	* configure.ac (HOSTING_CRT0, HOSTING_SCRT0): Don't define.
    	(HOSTING_LIBS, HOSTING_SLIBS): Likewise.
    	* configure.host (HOSTING_CRT0, HOSTING_LIBS): Don't define.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* testsuite/config/default.exp (get_link_files): Delete.
    	(HOSTING_CRT0, HOSTING_SCRT0, HOSTING_LIBS, HOSTING_SLIBS): Don't
    	define.
    	(ld_simple_link): Delete.
    	* testsuite/lib/ld-lib.exp (default_ld_link): Delete
    	(default_ld_simple_link): Rename to default_ld_link.
    	(ld_simple_link_defsyms): Rename to ld_link_defsyms.
    	(run_ld_link_tests): Use ld_link, not ld_simple_link.
    	(run_cc_link_tests): Likewise.
    	(run_ld_link_exec_tests): Use $CC or $CXX to link, not $ld.
    	Don't run exe when not native, and return unsupported.
    	* testsuite/ld-bootstrap/bootstrap.exp: Create gccld1 etc. dirs.
    	Link ld1 etc. using $CC.
    	* testsuite/ld-cdtest/cdtest.exp: Link cdtest using $CC.
    	* testsuite/ld-checks/checks.exp: Use ld_link, not ld_simple_link.
    	* testsuite/ld-cygwin/exe-export.exp: Likewise.
    	* testsuite/ld-elf/binutils.exp: Likewise.
    	* testsuite/ld-elf/eh-group.exp: Likewise.
    	* testsuite/ld-elf/exclude.exp: Likewise.
    	* testsuite/ld-elf/frame.exp: Likewise.
    	* testsuite/ld-elf/sec-to-seg.exp: Likewise.
    	* testsuite/ld-elf/tls_common.exp: Likewise.
    	* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
    	* testsuite/ld-fastcall/fastcall.exp: Likewise.
    	* testsuite/ld-gc/gc.exp: Likewise.
    	* testsuite/ld-ifunc/binutils.exp: Likewise.
    	* testsuite/ld-mep/mep.exp: Likewise.
    	* testsuite/ld-mips-elf/mips-elf-flags.exp: Likewise.
    	* testsuite/ld-mn10300/mn10300.exp: Likewise.
    	* testsuite/ld-nios2/nios2.exp: Likewise.
    	* testsuite/ld-pe/pe-compile.exp: Likewise.
    	* testsuite/ld-pe/pe-run.exp: Likewise.
    	* testsuite/ld-pe/pe-run2.exp: Likewise.
    	* testsuite/ld-plugin/plugin.exp: Likewise.
    	* testsuite/ld-scripts/align.exp: Likewise.
    	* testsuite/ld-scripts/alignof.exp: Likewise.
    	* testsuite/ld-scripts/assert.exp: Likewise.
    	* testsuite/ld-scripts/defined.exp: Likewise.
    	* testsuite/ld-scripts/extern.exp: Likewise.
    	* testsuite/ld-scripts/log2.exp: Likewise.
    	* testsuite/ld-scripts/map-address.exp: Likewise.
    	* testsuite/ld-scripts/phdrs.exp: Likewise.
    	* testsuite/ld-scripts/phdrs2.exp: Likewise.
    	* testsuite/ld-scripts/script.exp: Likewise.
    	* testsuite/ld-scripts/section-flags.exp: Likewise.
    	* testsuite/ld-scripts/sizeof.exp: Likewise.
    	* testsuite/ld-scripts/sysroot-prefix.exp: Likewise.
    	* testsuite/ld-scripts/weak.exp: Likewise.
    	* testsuite/ld-selective/selective.exp: Likewise.
    	* testsuite/ld-sh/sh.exp: Likewise.
    	* testsuite/ld-sh/sh64/relax.exp: Likewise.
    	* testsuite/ld-sh/sh64/relfail.exp: Likewise.
    	* testsuite/ld-srec/srec.exp: Likewise.
    	* testsuite/ld-tic6x/tic6x.exp: Likewise.
    	* testsuite/ld-undefined/weak-undef.exp: Likewise.
    	* testsuite/ld-versados/versados.exp: Likewise.
    	* testsuite/ld-x86-64/dwarfreloc.exp: Likewise.
    	* testsuite/ld-xtensa/coalesce.exp: Likewise.
    	* testsuite/ld-xtensa/diff_overflow.exp: Likewise.
    	* testsuite/ld-xtensa/lcall.exp: Likewise.
    	* testsuite/ld-elf/audit.exp: Run non-native too.
    	* testsuite/ld-elf/compress.exp: Likewise.  Replace ld options with
    	gcc -Wl, options.
    	* testsuite/ld-elf/dwarf.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.  Add -Wl,--no-as-needed to some tests.
    	* testsuite/ld-elf/elf.exp: Run non-native too.  Formatting.
    	* testsuite/ld-elf/indirect.exp: Run non-native too.  Add
    	-Wl,--no-as-needed to most tests.
    	* testsuite/ld-elf/shared.exp: Run non-native too.  Use braces
    	to simplify quoting.  Set run_tests using [list] rather than
    	brace assignment to expand $extralibs.  Add -Wl,--no-as-needed
    	to many test.  Prefix ld options with -Wl,.
    	(mix_pic_and_non_pic): Don't run exe if not native.
    	* testsuite/ld-elf/wrap.exp: Run non-native too.  Add
    	-Wl,--no-as-needed and prefix ld options with -Wl,.
    	* testsuite/ld-elfvers/vers.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.
    	* testsuite/ld-elfvsb/elfvsb.exp: Likewise.
    	(visibility_test): Don't run exe if not native.
    	* testsuite/ld-elfweak/elfweak.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.
    	(build_exec): Don't run exe if not native.
    	* testsuite/ld-ifunc/ifunc.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.  Link using $CC.  Add -Wl,--no-as-needed
    	to some tests and prefix ld options with -Wl,.  Expect GNU
    	for hppa-linux even when no ifuncs.  Delete cleanup.
    	* testsuite/ld-pie/pie.exp: Run non-native too.
    	* testsuite/ld-plugin/lto.exp: Likewise.
    	* testsuite/ld-shared/shared.exp: Likewise.  Use ld_link,
    	not ld_simple_link.
    	(shared_test): Don't run exe if not native.
    	* testsuite/ld-size/size.exp: Run non-native too.  Add
    	-Wl,--no-as-needed to some tests.  Prefix ld options with -Wl,.
    	* testsuite/ld-unique/unique.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.  Link using $CC.  Add -Wl,--no-as-needed
    	to some tests and prefix ld options with -Wl,.  Expect GNU
    	for hppa-linux even when no unique syms.  Delete cleanup.
    	* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to some
    	tests and prefix ld options with -Wl,.
    	* testsuite/ld-x86-64/x86-64.exp: Use ld_link, not ld_simple_link.
    	Add -Wl,--no-as-needed to some tests.  Prefix ld options with -Wl,.

commit 64859e1487e0ce1e5c430238dd731123371e7a15
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:43:15 2017 +1030

    Support -z relro on metag
    
    	* emulparams/elf32metag.sh (COMMONPAGESIZE): Define.

commit f5657270bd9353db74ba802ebed62b7133f7c2a0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:33:47 2017 +1030

    Support -z relro on hppa
    
    	PR ld/21000
    	* emulparams/hppalinux.sh (DATA_ADDR, SHLIB_DATA_ADDR): Don't define.
    	(DATA_SEGMENT_ALIGN, DATA_SEGMENT_END, DATA_SEGMENT_RELRO_END): Define.
    	* scripttempl/elf.sc: Don't define the above if DATA_SEGMENT_ALIGN
    	is already defined.

commit 595e0a47f57b414843261303b8aa5036fd1fa1e3
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:31:27 2017 +1030

    Don't make symbols dynamic other than undef weak
    
    Fixes: tmpdir/pr14525: symbol lookup error: tmpdir/pr14525: undefined
    symbol: __executable_start
    FAIL: PIE PR ld/14525
    
    	* elf32-hppa.c (ensure_undef_weak_dynamic): New function.
    	(allocate_plt_static, allocate_dynrelocs): Use it.

commit 7bd9df3bcdb1f736b696566b6142cb94d6b9b0d9
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:28:29 2017 +1030

    Set SHF_INFO_LINK for .PARISC.unwind
    
    This flag should be set for any section header using sh_info to
    point to another section.
    
    Fixes a readelf warning about an unexpected value in info field,
    resulting in FAIL: Build warn libbar.so
    
    	* elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
    	.PARISC.unwind section.

commit 5b86074c4a84e32ca55a6c72c5fca45d97dc9374
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:06:28 2017 +1030

    PR20989, sparc GOT sequence optimisation
    
    	PR ld/20989
    	* elfxx-sparc.c (gdop_relative_offset_ok): New function.
    	(_bfd_sparc_elf_relocate_section): Use it to validate GOT
    	indirect to GOT pointer relative code edit.

commit 2571583aed598dd3f9651b53434e5f177a0e3cf7
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 14:06:43 2017 +1030

    Update year range in copyright notice of all files.

commit 5c1ad6b5bb2602a0c590f2e49316ccc9fb30e1a9
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 13:55:05 2017 +1030

    ChangeLog rotation

commit cb868fd926f3b7201eb97c5b3bab0ce6c2450304
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jan 2 00:00:21 2017 +0000

    Automatic date update in version.in

commit 61baf725eca99af2569262d10aca03dcde2698f6
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sun Jan 1 10:50:51 2017 +0400

    update copyright year range in GDB files
    
    This applies the second part of GDB's End of Year Procedure, which
    updates the copyright year range in all of GDB's files.
    
    gdb/ChangeLog:
    
            Update copyright year range in all GDB files.

commit c113e7ff6176890ef6d73a23f0918aca98b8619f
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sun Jan 1 10:39:54 2017 +0400

    Rotate GDB main ChangeLog for 2017
    
    This patch rotates the GDB main ChangeLog file as per our "Start
    of New Year Procedure".
    
    2017-01-01  Joel Brobecker  <brobecker@adacore.com>
    
            * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.

commit 66abb8241494cae2bce9ca4bcd8e095e3bcfba06
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jan 1 00:00:22 2017 +0000

    Automatic date update in version.in

commit ae4c0df4b6a76db172cc4d4c3f34fdd8064c80ed
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 31 21:02:35 2016 +1030

    Fix riscv breakage
    
    	* disassemble.c (disassembler): Add break accidentally removed
    	by PRU patch.

commit b7aba156196caf59117741eae5e93b578d0b59f4
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 31 18:25:35 2016 +1030

    Create sdynrelro for elfn32 mips too
    
    	* elfn32-mips.c (elf_backend_want_dynrelro): Define.

commit 0220170b4d87ce940d40ac98387ff2d7fbed3ab2
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:49 2016 +0200

    PRU LD Port
    
    	* NEWS: Mention new PRU target.
    	* Makefile.am: Add PRU target.
    	* configure.tgt: Ditto.
    	* emulparams/pruelf.sh: New file.
    	* emultempl/pruelf.em: New file.
    	* scripttempl/pru.sc: New file.
    	* Makefile.in: Regenerate.
    	* testsuite/ld-pru/emit-relocs-1.d: New PRU testcase file.
    	* testsuite/ld-pru/emit-relocs-1.ld: Ditto.
    	* testsuite/ld-pru/emit-relocs-1a.s: Ditto.
    	* testsuite/ld-pru/emit-relocs-1b.s
    	* testsuite/ld-pru/ldi32.d: Ditto.
    	* testsuite/ld-pru/ldi32.s: Ditto.
    	* testsuite/ld-pru/ldi32_symbol.s: Ditto.
    	* testsuite/ld-pru/norelax_ldi32-data.d: Ditto.
    	* testsuite/ld-pru/norelax_ldi32-dis.d: Ditto.
    	* testsuite/ld-pru/pcrel_s10.d: Ditto.
    	* testsuite/ld-pru/pcrel_s10.s: Ditto.
    	* testsuite/ld-pru/pcrel_s10_label.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal2.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal2.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal3.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal3.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8_label.s: Ditto.
    	* testsuite/ld-pru/pmem.d: Ditto.
    	* testsuite/ld-pru/pmem.s: Ditto.
    	* testsuite/ld-pru/pmem_symbol.s: Ditto.
    	* testsuite/ld-pru/pru.exp: Ditto.
    	* testsuite/ld-pru/relax_ldi32-data.d: Ditto.
    	* testsuite/ld-pru/relax_ldi32-dis.d: Ditto.
    	* testsuite/ld-pru/relax_ldi32.s: Ditto.
    	* testsuite/ld-pru/relax_ldi32_symbol.s: Ditto.
    	* testsuite/ld-pru/reloc.d: Ditto.
    	* testsuite/ld-pru/reloc.s: Ditto.
    	* testsuite/ld-pru/reloc_symbol.s: Ditto.
    	* testsuite/ld-pru/u16.d: Ditto.
    	* testsuite/ld-pru/u16.s: Ditto.
    	* testsuite/ld-pru/u16_symbol.s: Ditto.
    
    PRU does not export __end symbol because it is ambiguous for it.
    Users are expected to use instead the section markers __text_end,
    __data_end, __bss_end or __noinit_end.
    
    	* testsuite/lib/ld-lib.exp (check_shared_lib_support): No shared
    	libraries are supported for PRU.
    	(check_gc_sections_available): Mark PRU as not supported.
    	* testsuite/ld-elf/eh-frame-hdr.d: Disable for PRU.
    	* testsuite/ld-elf/endsym.d: Likewise.
    	* testsuite/ld-elf/group8a.d: Likewise.
    	* testsuite/ld-elf/group8b.d: Likewise.
    	* testsuite/ld-elf/group9a.d: Likewise.
    	* testsuite/ld-elf/group9b.d: Likewise.
    	* testsuite/ld-elf/merge.d: Likewise.
    	* testsuite/ld-elf/pr12851.d: Likewise.
    	* testsuite/ld-elf/pr14926.d: Likewise.
    	* testsuite/ld-elf/sec-to-seg.exp: Likewise.
    	* testsuite/ld-elf/sec64k.exp: Mark sec64k case as too big for PRU.
    	* testsuite/ld-srec/srec.exp (run_srec_test): Add setup for PRU.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 93f11b16ec1f5775c7f6c32b4a39d6dd0fb0c92a
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Tue Dec 27 22:43:38 2016 +0200

    PRU GAS Port
    
    	* NEWS: Mention new PRU target.
    	* Makefile.am: Add PRU target.
    	* config/obj-elf.c: Ditto.
    	* configure.tgt: Ditto.
    	* config/tc-pru.c: New file.
    	* config/tc-pru.h: New file.
    	* doc/Makefile.am: Add documentation for PRU GAS port.
    	* doc/all.texi, Ditto.
    	* doc/as.texinfo: Ditto.
    	* doc/c-pru.texi: Document PRU GAS options.
    	* Makefile.in: Regenerate.
    	* doc/Makefile.in: Regenerate.
    	* po/POTFILES.in: Regenerate.
    	* testsuite/gas/pru/alu.d: New file for PRU GAS testsuite.
    	* testsuite/gas/pru/alu.s: Ditto.
    	* testsuite/gas/pru/branch.d: Ditto.
    	* testsuite/gas/pru/branch.s: Ditto.
    	* testsuite/gas/pru/illegal.l: Ditto.
    	* testsuite/gas/pru/illegal.s: Ditto.
    	* testsuite/gas/pru/ldi.d: Ditto.
    	* testsuite/gas/pru/ldi.s: Ditto.
    	* testsuite/gas/pru/ldst.d: Ditto.
    	* testsuite/gas/pru/ldst.s: Ditto.
    	* testsuite/gas/pru/loop.d: Ditto.
    	* testsuite/gas/pru/loop.s: Ditto.
    	* testsuite/gas/pru/misc.d: Ditto.
    	* testsuite/gas/pru/misc.s: Ditto.
    	* testsuite/gas/pru/pru.exp: Ditto.
    	* testsuite/gas/pru/pseudo.d: Ditto.
    	* testsuite/gas/pru/pseudo.s: Ditto.
    	* testsuite/gas/pru/warn_reglabel.l: Ditto.
    	* testsuite/gas/pru/warn_reglabel.s: Ditto.
    	* testsuite/gas/pru/xfr.d: Ditto.
    	* testsuite/gas/pru/xfr.s: Ditto.
    	* testsuite/gas/lns/lns.exp: Mark lns-common-1-alt variant for PRU.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 2b100bb5cf206f9254453a00e4b48e32d3584625
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:47 2016 +0200

    PRU Binutils port
    
    	* readelf.c (guess_is_rela): Add EM_TI_PRU.
    	(dump_relocations): Invoke elf_pru_reloc_type.
    	(get_machine_name): Handle EM_TI_PRU.
    	(is_32bit_abs_reloc): Handle R_PRU_BFD_RELOC_32.
    	(is_16bit_abs_reloc): Handle R_PRU_BFD_RELOC_16.
    	(is_none_reloc): Handle PRU_NONE and PRU_DIFF variants.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 111468496477e97c9414d2d54f97bfdaa380f794
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:50 2016 +0200

    PRU Opcode Port
    
    opcodes/
    	* Makefile.am: Add PRU source files.
    	* configure.ac: Add PRU target.
    	* disassemble.c (disassembler): Register PRU arch.
    	* pru-dis.c: New file.
    	* pru-opc.c: New file.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 889294f6ffb380eb37b1f1f3bd22807fa9204c14
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:46 2016 +0200

    PRU BFD support
    
    include/
    	* elf/common.h: Add PRU ELF.
    	* elf/pru.h: New file.
    	* opcode/pru.h: New file.
    	* dis-asm.h (print_insn_pru): Declare.
    bfd/
    	* archures.c: Add bfd_arch_pru.
    	* Makefile.am: Add PRU target.
    	* config.bfd: Ditto.
    	* configure.ac: Ditto.
    	* elf-bfd.h (enum elf_target_id): Add PRU_ELF_DATA.
    	* targets.c: Add pru_elf32_vec.
    	* reloc.c: Add PRU relocations.
    	* cpu-pru.c: New file.
    	* elf32-pru.c: New file.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* po/SRC-POTFILES.in: Regenerate.
    	* bfd-in2.h: Regenerate
    	* libbfd.h: Regenerate.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 4244d58a4080d057bb9b17554734192821493cb6
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:51 2016 +0200

    Add PRU ELF ID to elfcpp
    
    	* elfcpp.h (enum EM): Add EM_TI_PRU.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 517c4166988047036a57f4bb36e00458b51ade62
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:59 2016 +0200

    ld testsuite: Sanitize output from ld
    
    Leading dashes from an LD error message confuse send_log, because the
    string is taken to be an option.
    
    This patch fixes the following DejaGnu error:
    
      --defsym:1: undefined symbol `foo2' referenced in expression
      failed with: <--defsym:1: undefined symbol `foo2' referenced in expression>, no expected output
      ERROR: tcl error sourcing .../ld/testsuite/ld-gc/gc.exp.
      ERROR: usage: send [args] string
          while executing
      "send_log "$comp_output\n""
          (procedure "run_dump_test" line 376)
    
    	* testsuite/lib/ld-lib.exp (run_dump_test): Pass -- to send_log.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 3f66c01be30edcfaedd11d475078f78e464ca4a0
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Dec 30 16:27:54 2016 +1030

    Import config.sub
    
    	* config.sub: Import from upstream.

commit d6deafd0bb04f728d403bee2e07d17ec9ac1353e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 31 00:00:21 2016 +0000

    Automatic date update in version.in

commit fa62ef05fc91c19932ded7ccfd1fd0811c7f7e6f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 30 00:00:20 2016 +0000

    Automatic date update in version.in

commit 0a7e10188e3c08403fb00b728644d7a95092c732
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Dec 29 15:47:40 2016 +0000

    Return 'int' rather than 'unsigned short' in avrdis_opcode
    
    avrdis_opcode return type is unsigned short, but -1 at the end of
    this function is returned.  Additionally, print_insn_avr doesn't
    handle when -1 (in case of memory error) is returned from
    avrdis_opcode.
    
    This patch changes avrdis_opcode returning int indicating the error,
    and adds a new argument for instruction we got on success.  The
    opcode is 16-bit, so I change local variables type to uint16_t,
    and include "bfd_stdint.h" as a result.  On memory error,
    print_insn_avr returns -1, which is a common convention among most
    of print_insn_$ARCH functions.
    
    opcodes:
    
    2016-12-29  Yao Qi  <yao.qi@linaro.org>
    
    	* avr-dis.c: Include "bfd_stdint.h"
    	(avrdis_opcode): Change return type to int, add argument
    	insn.  Set *INSN on success.
    	(print_insn_avr): Check return value of avrdis_opcode, and
    	return -1 on error.

commit e81830c5c61a8665c098189d069cc68b0df113d3
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 29 22:49:41 2016 +1030

    link_hash_copy_indirect and symbol flags
    
    A while ago HJ fixed PR ld/18720 with commit 6e33951ed, which, among
    other things, modified _bfd_elf_link_hash_copy_indirect to not copy
    ref_dynamic, ref_regular, ref_regular_nonweak, non_got_ref, needs_plt
    and pointer_equality_needed when setting up an indirect non-versioned
    symbol pointing to a non-default versioned symbol.  I didn't notice at
    the time, but the pr18720 testcase fails on hppa-linux with
    "internal error, aborting at binutils-gdb-2.28/bfd/elf32-hppa.c:3933
    in elf32_hppa_relocate_section".
    
    Now hppa-linux creates entries in the plt even for local functions, if
    they are referenced using plabel (function pointer) relocations.   So
    needs_plt is set for foo when processing pr18720a.o.  When the aliases
    in pr28720b.o are processed, we get an indirection from foo to
    foo@FOO, but don't copy needs_plt.  Since foo@FOO is the "real" symbol
    that is used after that point, no plt entry is made for foo and we
    bomb when relocating the plabel.
    
    As shown by the hppa-linux scenario, needs_plt should be copied even
    for non-default versioned symbols.  I believe all of the others ought
    to be copied too, with the exception of ref_dynamic.  Not copying
    ref_dynamic is right because if a shared lib references "foo" it
    should not be satisfied by any non-default version "foo@FOO".
    
    	* elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit
    	copying one flag, ref_dynamic, when versioned_hidden.
    	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
    	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same
    	logic for copying weakdef flags.  Copy plabel flag and merge
    	tls_type.
    	* elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic
    	for copying weakdef flags.
    	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
    	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
    	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
    	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
    	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise.
    	Simplify.

commit ffdc5f48ee608b4750df5e34c10598f0f2c158d3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 29 00:00:21 2016 +0000

    Automatic date update in version.in

commit 913e12d44dc7fc09f965e4b660f437e7e0303c64
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Wed Dec 28 18:28:22 2016 +0100

    Fix comment typo
    
    	* copy-relocs.h: Fix comment typo.

commit 265d97f743a4ba78bcffd7ae8d0ea02668a58df3
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 28 08:29:43 2016 -0800

    Add explicit instantiations for build_compressed_section_map().
    
    gold/
    	PR gold/20996
    	* object.cc (build_compressed_section_map): Add explicit instantiations.

commit 6142c999f2a9700d568eb25462a5d622d220b4cb
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 28 08:22:59 2016 -0800

    Fix last ChangeLog entry.
    
    	* copy-relocs.cc (Copy_relocs::make_copy_reloc): Use .data.rel.ro for
    	read-only data when linking with -z relro.

commit 0fa6f7cee7dedb600799234b1e2d52c5b0da8f96
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 28 21:59:34 2016 +1030

    Check bfd support for bfd_mips_elf_get_abiflags in mips make rule
    
    The previous scheme with a dependency in opcodes on libbfd.la
    broke "make distclean".
    
    	* configure.ac: Revert 2016-12-23.
    	* Makefile.am: Likewise.
    	(MIPS_DEFS): Define.
    	(mips-dis.lo): Add rule.
    	* Makefile.in: Regenerate.
    	* aclocal.m4: Regenerate.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 9acc85a62eb76c270724bba15c889d2d05567b6a
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 28 17:04:15 2016 +1030

    Use dynrelro for symbols in relro sections too
    
    	PR ld/20995
    bfd/
    	* elflink.c (elf_link_add_object_symbols): Mark relro sections
    	in dynamic objects SEC_READONLY.
    ld/
    	* testsuite/ld-elf/pr20995c.s: New test file.
    	* testsuite/ld-elf/pr20995-2so.r: Likewise.
    	* testsuite/ld-elf/elf.exp: Run it.

commit b733bcb7f58c42e0e0d94a3f266a4193030e5f3a
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 27 20:50:47 2016 -0800

    Place copy relocations in .dynbss when target is read-only.
    
    gold/
    	PR ld/20995
    	* copy-relocs.cc (Copy_relocs::make_copy_reloc): Use .dynbss for
    	read-only data when linking with -z relro.
    	* copy-relocs.h (Copy_relocs::dynrelro_): New data member.
    	* testsuite/Makefile.am (copy_test_relro): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/copy_test_relro.cc: New source file.
    	* testsuite/copy_test_relro_1.cc: New source file.

commit 7ff34266fd831f828286e556f9cd681c42c0412c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 28 00:00:20 2016 +0000

    Automatic date update in version.in

commit 28985b6ba2fa968058429b767dc727d254c6ad13
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 27 00:00:23 2016 +0000

    Automatic date update in version.in

commit 5474d94f03aedba2f832006dc7d680cc15792a7b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Dec 26 00:30:45 2016 +1030

    dynrelro section for read-only dynamic symbols copied into executable
    
    Variables defined in shared libraries are copied into an executable's
    .bss section when code in the executable is non-PIC and thus would
    require dynamic text relocations to access the variable directly in
    the shared library.  Recent x86 toolchains also copy variables into
    the executable to gain a small speed improvement.
    
    The problem is that if the variable was originally read-only, the copy
    in .bss is writable, potentially opening a security hole.  This patch
    cures that problem by putting the copy in a section that becomes
    read-only after ld.so relocation, provided -z relro is in force.
    
    The patch also fixes a microblaze linker segfault on attempting to
    use dynamic bss variables.
    
    bfd/
    	PR ld/20995
    	* elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and
    	sreldynrelro.
    	(struct elf_backend_data): Add want_dynrelro.
    	* elfxx-target.h (elf_backend_want_dynrelro): Define.
    	(elfNN_bed): Update initializer.
    	* elflink.c (_bfd_elf_create_dynamic_sections): Create
    	sdynrelro and sreldynrelro sections.
    	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables
    	copied into the executable from read-only sections into sdynrelro.
    	(elf32_arm_size_dynamic_sections): Handle sdynrelro.
    	(elf32_arm_finish_dynamic_symbol): Select sreldynrelro for
    	dynamic relocs in sdynrelro.
    	(elf_backend_want_dynrelro): Define.
    	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol)
    	(elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-i386.c (elf_i386_adjust_dynamic_symbol)
    	(elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-metag.c (elf_metag_adjust_dynamic_symbol)
    	(elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol)
    	(microblaze_elf_size_dynamic_sections)
    	(microblaze_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol)
    	(nios2_elf32_adjust_dynamic_symbol)
    	(nios2_elf32_size_dynamic_sections)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol)
    	(or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol)
    	(ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-s390.c (elf_s390_adjust_dynamic_symbol)
    	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol)
    	(elf32_tic6x_size_dynamic_sections)
    	(elf32_tic6x_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol)
    	(tilepro_elf_size_dynamic_sections)
    	(tilepro_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol)
    	(ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf64-s390.c (elf_s390_adjust_dynamic_symbol)
    	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol)
    	(elf_x86_64_size_dynamic_sections)
    	(elf_x86_64_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol)
    	(elfNN_aarch64_size_dynamic_sections)
    	(elfNN_aarch64_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol)
    	(riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol)
    	(_bfd_mips_elf_size_dynamic_sections)
    	(_bfd_mips_vxworks_finish_dynamic_symbol): As above.
    	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol)
    	(_bfd_sparc_elf_size_dynamic_sections)
    	(_bfd_sparc_elf_finish_dynamic_symbol): As above.
    	* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol)
    	(tilegx_elf_size_dynamic_sections)
    	(tilegx_elf_finish_dynamic_symbol): As above.
    	* elf32-mips.c (elf_backend_want_dynrelro): Define.
    	* elf64-mips.c (elf_backend_want_dynrelro): Define.
    	* elf32-sparc.c (elf_backend_want_dynrelro): Define.
    	* elf64-sparc.c (elf_backend_want_dynrelro): Define.
    	* elf32-tilegx.c (elf_backend_want_dynrelro): Define.
    	* elf64-tilegx.c (elf_backend_want_dynrelro): Define.
    	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy.
    	(microblaze_elf_size_dynamic_sections): Handle sdynbss.
    	* elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use
    	of linker shortcuts to dynamic sections rather than comparing
    	names.  Correctly set "got" flag.
    ld/
    	PR ld/20995
    	* testsuite/ld-arm/farcall-mixed-app-v5.d: Update to suit changed
    	stub hash table traversal caused by section id increment.  Accept
    	the previous output too.
    	* testsuite/ld-arm/farcall-mixed-app.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-lib.d: Likewise.
    	* testsuite/ld-elf/pr20995a.s, * testsuite/ld-elf/pr20995b.s,
    	* testsuite/ld-elf/pr20995.r: New test.
    	* testsuite/ld-elf/elf.exp: Run it.

commit 9d19e4fdb7c684329c8b1b72796a0071708dabc7
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Dec 26 00:21:06 2016 +1030

    Put .dynbss and .rel.bss shortcuts in main elf hash table
    
    Also, create .rel{,a}.bss for PIEs on all targets, not just x86.
    
    	* elf-bfd.h (struct elf_link_hash_table): Add sdynbss and srelbss.
    	* elflink.c (_bfd_elf_create_dynamic_sections): Set them.  Create
    	.rel.bss/.rela.bss for executables, both PIE and non-PIE.
    	* elf32-arc.c (struct elf_arc_link_hash_table): Delete srelbss.
    	Use ELF hash table var throughout.
    	* elf32-arm.c (struct elf32_arm_link_hash_table): Delete sdynbss
    	and srelbss.  Use ELF hash table vars throughout.
    	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Likewise.
    	* elf32-i386.c (struct elf_i386_link_hash_table): Likewise.
    	* elf32-metag.c (struct elf_metag_link_hash_table): Likewise.
    	* elf32-microblaze.c (struct elf32_mb_link_hash_table): Likewise.
    	* elf32-nios2.c (struct elf32_nios2_link_hash_table): Likewise.
    	* elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
    	* elf32-ppc.c (struct ppc_elf_link_hash_table): Likewise.
    	* elf32-s390.c (struct elf_s390_link_hash_table): Likewise.
    	* elf32-tic6x.c (struct elf32_tic6x_link_hash_table): Likewise.
    	* elf32-tilepro.c (struct tilepro_elf_link_hash_table): Likewise.
    	* elf64-ppc.c (struct ppc_link_hash_table): Likewise.
    	* elf64-s390.c (struct elf_s390_link_hash_table): Likewise.
    	* elf64-x86-64.c (struct elf_x86_64_link_hash_table): Likewise.
    	* elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Likewise.
    	* elfnn-riscv.c (struct riscv_elf_link_hash_table): Likewise.
    	* elfxx-mips.c (struct mips_elf_link_hash_table): Likewise.
    	* elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Likewise.
    	* elfxx-sparc.c: Likewise.
    	* elfxx-tilegx.c (struct tilegx_elf_link_hash_table): Likewise.
    
    	* elf32-arc.c (arc_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf32-microblaze.c (microblaze_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf32-or1k.c (or1k_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf32-s390.c (elf_s390_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf64-s390.c (elf_s390_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    
    	* elf32-tilepro.c (tilepro_elf_create_dynamic_sections): Remove
    	extraneous tests.
    	* elfnn-aarch64.c (elfNN_aarch64_create_dynamic_sections): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Likewise.
    	* elfxx-tilegx.c (tilegx_elf_create_dynamic_sections): Likewise.
    
    	* elf32-i386.c (elf_i386_create_dynamic_sections): Don't create
    	".rel.bss" for executables.
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't create
    	".rela.bss" for executables.
    	* elf32-nios2.c (nios2_elf32_create_dynamic_sections): Don't
    	ignore return status from _bfd_elf_create_dynamic_sections.

commit 09a1b0e9437f4e6c868b47322a84193a5ae3a391
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Dec 26 09:40:58 2016 +1030

    Correct .dynbss in script
    
    The only target that renames .bss is tic6x, turning .bss into .far,
    and .sbss into .bss.  .dynbss is not renamed to .dynfar by BFD.
    
    	* scripttempl/elf.sc: Don't use $BSS_NAME in .dynbss.

commit 3bdb50600c3d20e355637b48fc317e8ad70ba93d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 26 00:00:32 2016 +0000

    Automatic date update in version.in

commit 4e008fde3ab059a011ec487686b7f3e5324c0a44
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 25 00:00:21 2016 +0000

    Automatic date update in version.in

commit cdca40b34fc62f8f4aaed1a325b5b2c6abe752c4
Merge: e76cce6 1d5ee95
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 21:27:41 2016 +0100

    Merge branch 'dwarf5gcc' into dwarf5gcc-readelf

commit 1d5ee950ea1753fff1c6c80fc94095f5f7fcf98b
Merge: e5a9dc6 65ac99a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 24 21:27:32 2016 +0100

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

commit 65ac99a581582031008a48b70fcf6952dee26af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 24 00:00:18 2016 +0000

    Automatic date update in version.in

commit 4d4f40e041ce7c8c7c8e50f957e0440b64ab7e95
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 20:03:36 2016 +0000

    MIPS/BFD: Remove EI_ABIVERSION 5 allocation for PT_GNU_STACK support
    
    Revert commit 17733f5be961 ("Increment the ABIVERSION to 5 for MIPS
    objects with non-executable stacks.") and remove EI_ABIVERSION 5
    allocation for PT_GNU_STACK support, which has not made it to glibc
    and will be reassigned.
    
    	bfd/
    	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Revert
    	2016-02-23 change and remove EI_ABIVERSION 5 support.

commit 5284e471d53ccb7c7a1d140bd83098607ccf4b8a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 19:40:51 2016 +0000

    MIPS16: Add ASMACRO instruction support
    
    Add ASMACRO instruction support as per the MIPS16e ASE architecture
    specifications [1][2], completing MIPS16e instruction set support.
    
    [1] "MIPS32 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00076, Revision 2.63, July
        16, 2013, Section 4.1 "MIPS16e Instruction Descriptions", p. 65
    
    [2] "MIPS64 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00077, Revision 2.60, June
        25, 2008, Section 1.1 "MIPS16e Instruction Descriptions", p. 66
    
    	include/
    	* opcode/mips.h: Document `0', `1', `2', `3', `4' and `s'
    	operand codes.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand): Add `0', `1', `2', `3',
    	`4' and `s' operand codes.
    	(mips16_opcodes): Add "asmacro" entry.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-insn.d: Update for
    	ASMACRO support.
    
    	gas/
    	* testsuite/gas/mips/mips16-asmacro.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-asmacro.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-asmacro.d: New test.
    	* testsuite/gas/mips/mips16-asmacro.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit bdd152861ce75c36828904cf3d10f8ce14da6cf5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 19:40:09 2016 +0000

    MIPS16: Simplify extended operand handling
    
    Simplify extended operand handling and only specially process immediates
    which require bit shuffling, using the generic operand insertion and
    extraction handlers for the '<' (5-bit shift amount) operand code in
    particular.  Require the least significant bit of all extended operand
    forms to be (artificially) set to 0 for their special processing to
    trigger.
    
    	gas/
    	* config/tc-mips.c (mips16_immed): Limit `mips16_immed_extend'
    	use to operands whose LSB position is zero.
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Simplify processing of
    	extended operands.
    	* mips16-opc.c (decode_mips16_operand): Switch the extended
    	form of the `<' operand type to LSB position 22.

commit 1da43accb4f8e2a19dc033b617982e3c2dc83a08
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 18:06:55 2016 +0000

    MIPS16/GAS: Clean up invalid unextended operand handling
    
    Bail out right away when an unextended instruction encoding is required
    either with the use of a `.t' suffix or by means of `.set noautoextend',
    however an operand supplied requires the extended instruction form to be
    used.
    
    This is to avoid messing up with the internal state of the assembler,
    even though no actual failures are known to happen as a result.  Add
    test cases for the situation concerned.
    
    	gas/
    	* config/tc-mips.c (match_mips16_insn): Don't update
    	`forced_insn_length' or the instruction opcode if an operand
    	requires an extended instruction form, but an unextended one
    	has been requested.
    	* testsuite/gas/mips/mips16-relax-unextended-1.d: New test.
    	* testsuite/gas/mips/mips16-relax-unextended-2.d: New test.
    	* testsuite/gas/mips/mips16-relax-unextended-1.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-relax-unextended-2.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-relax-unextended-1.s: New test
    	source.
    	* testsuite/gas/mips/mips16-relax-unextended-2.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit d8722d7641d234dcd3d1f2254fbc5d9cf234e4e6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 17:05:01 2016 +0000

    MIPS16: Reassign `0' and `4' operand codes
    
    Replace `0' and `4' operand codes with `.' and `F' respectively to free
    up the `0'-`4' consecutive range.  No functional change.
    
    	gas/
    	* config/tc-mips.c (mips16_macro_build): Replace `0' and `4'
    	operand codes with `.' and `F' respectively.
    	(mips16_macro): Likewise.
    
    	include/
    	* opcode/mips.h: Replace `0' and `4' operand codes with `.' and
    	`F' respectively.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand): Replace `0' and `4'
    	operand codes with `.' and `F' respectively.
    	(mips16_opcodes): Likewise.

commit 0674ee5dada21c8deec690ca66d5b2870f13ea49
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 16:49:42 2016 +0000

    MIPS16: Handle non-extensible instructions correctly
    
    Identify non-extensible instructions in the MIPS16 opcode table and
    disallow their use with the `.e' instruction size suffix in assembly and
    do not interpret any EXTEND prefix present as a part of the instruction
    in disassembly.
    
    According to all versions of the MIPS16 ASE specifications the following
    instructions encodings are not extensible [1][2][3][4][5][6]: I8/MOV32R,
    I8/MOVR32, all RRR minor opcodes, all RR minor opcodes except from DSRA
    and DSRL, and EXTEND itself, and as from revision 2.50 of the MIPS16e
    ASE specifications it has been further clarified what was previously
    implied, that non-extesiable instructions when preceded with an EXTEND
    prefix must cause a Reserved Instruction exception [3][5].
    
    Therefore in the presence of an EXTEND prefix none of these instructions
    are supposed to be handled as extended instructions and supporting these
    forms in disassembly causes confusion, and in the case of the RRR major
    opcode it also clashes with the ASMACRO encoding.
    
    References:
    
    [1] "Product Description, MIPS16 Application-Specific Extension",
        Version 1.3, MIPS Technologies, Inc., 970130, Table 3. "MIPS16
        Instruction Set Summary", p. 5
    
    [2] same, Table 5 "RR Minor Opcodes (RR-type instructions)", p.10
    
    [3] "MIPS32 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00076, Revision 2.63, July
        16, 2013, Section 3.9 "MIPS16e Instruction Summaries", pp. 37-39
    
    [4] same, Section 3.15 "Instruction Bit Encoding", pp. 46-49
    
    [5] "MIPS64 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00077, Revision 2.60, June
        25, 2008, Section 1.9 "MIPS16e Instruction Summaries", pp. 38-41
    
    [6] same, Section 1.15 "Instruction Bit Encoding", pp. 48-51
    
    	include/
    	* opcode/mips.h (INSN2_SHORT_ONLY): New macro.
    
    	gas/
    	* config/tc-mips.c (is_size_valid_16): Disallow a `.e' suffix
    	instruction size override for INSN2_SHORT_ONLY opcode table
    	entries.
    	* testsuite/gas/mips/mips16-extend-swap.d: Adjust output.
    	* testsuite/gas/mips/mips16-macro-e.l: Adjust error messages.
    	* testsuite/gas/mips/mips16-32@mips16-macro-e.l: Adjust error
    	messages.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-e.l: Adjust error
    	messages.
    	* testsuite/gas/mips/mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16-insn-e.l: New stderr output.
    	* testsuite/gas/mips/mips16-insn-t.l: New stderr output.
    	* testsuite/gas/mips/mips16-32@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-64@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-32@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-64@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-insn-e.s: New test source.
    	* testsuite/gas/mips/mips16-insn-t.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips-dis.c (print_insn_mips16): Disallow EXTEND prefix
    	matching for INSN2_SHORT_ONLY opcode table entries.
    	* mips16-opc.c (SH): New macro.
    	(mips16_opcodes): Set SH in `pinfo2' for non-extensible
    	instruction entries: "nop", "addu", "and", "break", "cmp",
    	"daddu", "ddiv", "ddivu", "div", "divu", "dmult", "dmultu",
    	"drem", "dremu", "dsllv", "dsll", "dsrav", "dsra", "dsrlv",
    	"dsrl", "dsubu", "exit", "entry", "jalr", "jal", "jr", "j",
    	"jalrc", "jrc", "mfhi", "mflo", "move", "mult", "multu", "neg",
    	"not", "or", "rem", "remu", "sllv", "sll", "slt", "sltu",
    	"srav", "sra", "srlv", "srl", "subu", "xor", "sdbbp", "seb",
    	"seh", "sew", "zeb", "zeh", "zew" and "extend".
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-insn.d: New test.
    	* testsuite/binutils-all/mips/mips16-extend-insn.s: New test
    	source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.

commit b2805ed55456cea2694d31fc8627cca17120267b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:42:56 2016 +0000

    MIPS16: Remove "extended" BREAK/SDBBP handling
    
    Remove special casing for the `6' operand code used for the embedded
    trap code of the BREAK and the SDBBP instructions to support supposedly
    extended forms of these instructions.
    
    According to all versions of the MIPS16 ASE specifications these
    instructions are not extensible [1][2][3][4][5][7][8][10][11], and as
    from revision 2.50 of the MIPS16e ASE specifications it has been further
    clarified what was previously implied, that non-extesiable instructions
    when preceded with an EXTEND prefix must cause a Reserved Instruction
    exception [5][6][9][10].
    
    Therefore supposedly extended BREAK and SDBBP instructions do not serve
    their purpose anymore as they do not cause a Bp and a Debug exception
    respectively and supporting these forms in disassembly only causes
    confusion.
    
    References:
    
    [1] "Product Description, MIPS16 Application-Specific Extension",
        Version 1.3, MIPS Technologies, Inc., 970130, Table 3. "MIPS16
        Instruction Set Summary", p. 5
    
    [2] same, Table 5 "RR Minor Opcodes (RR-type instructions)", p.10
    
    [3] same, Table 18. "Extendable MIPS16 Instructions", p. 24
    
    [4] "MIPS32 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00076, Revision 2.63, July
        16, 2013, Table 3.8 "MIPS16e Special Instructions", p. 38
    
    [5] same, Section 3.11 "MIPS16e Extensible Instructions, p. 41
    
    [6] same, Table 3.15 "MIPS16e Extensible Instructions", p. 41
    
    [7] same, Table 3.24 "MIPS16e RR Encoding of the Funct Field", p. 49
    
    [8] "MIPS64 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00077, Revision 2.60, June
        25, 2008, Table 1.8 "MIPS16e Special Instructions", p. 39
    
    [9] same, Section 1.11 "MIPS16e Extensible Instructions", p. 42
    
    [10] same, Table 1.15 "MIPS16e Extensible Instructions", pp. 42-43
    
    [11] same, Table 1.24 "MIPS16e RR Encoding of the Funct Field", p. 50
    
    	gas/
    	* config/tc-mips.c (match_mips16_insn): Remove the `6' operand
    	code special case and its associated comment.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'6'>: Remove extended
    	encoding support.

commit 3fb49709438e204177373646585a76116caf23fb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:38:35 2016 +0000

    MIPS16/GAS: Fix forced size suffixes with argumentless instructions
    
    Correct the handling of `.e' and `.t' instruction size suffixes with
    instruction mnemonics which are not followed by any text on the same
    line, such as arguments or white space, e.g.:
    
    $ cat test.s
    	.set	mips16
    foo:
    	entry.t		# comment
    	entry.t
    	exit.t		# comment
    	exit.t
    	nop.t		# comment
    	nop.t
    $ as -32 -o test.o test.s
    test.s: Assembler messages:
    test.s:4: Error: unrecognized opcode `entry.t'
    test.s:6: Error: unrecognized opcode `exit.t'
    test.s:8: Error: unrecognized opcode `nop.t'
    $
    
    	gas/
    	* config/tc-mips.c (mips16_ip): Handle `.e' and `.t' instruction
    	suffixes followed by a null character rather than a space too.
    	* testsuite/gas/mips/mips16-insn-length-noargs.d: New test.
    	* testsuite/gas/mips/mips16-insn-length-noargs.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 645c455650ed35460afdacb078c7c58308607fbe
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:37:40 2016 +0000

    MIPS16/GAS: Disallow EXTEND delay-slot scheduling
    
    Do not allow any explicitly coded EXTEND instruction to be automatically
    scheduled into a jump delay slot, as an EXTEND prefix is coupled with
    the next regular MIPS16 instruction and therefore swapping it with a
    jump would change program's semantics; EXTEND is not architecturally
    allowed to be present in a jump delay slot anyway.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set NODS in `pinfo' for
    	"extend".
    
    	gas/
    	* testsuite/gas/mips/mips16-extend-swap.d: New test.
    	* testsuite/gas/mips/mips16-extend-swap.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 9e76c212e6311abaee4d02473473f7d6dcad972f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:11:12 2016 +0000

    opcodes: Use autoconf to check for `bfd_mips_elf_get_abiflags' in BFD
    
    Fix a regression introduced with commit 5e7fc731f80e ("MIPS/opcodes:
    Also set disassembler's ASE flags from ELF structures"), further updated
    with commit 4df995c77118 ("MIPS/opcodes: Also set disassembler's ASE
    flags from ELF structures"), and use autoconf to check for the presence
    of `bfd_mips_elf_get_abiflags' in BFD.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options): Use
    	HAVE_BFD_MIPS_ELF_GET_ABIFLAGS rather than BFD64 to guard the
    	call to `bfd_mips_elf_get_abiflags'.
    	* configure.ac: Check for `bfd_mips_elf_get_abiflags' in BFD.
    	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add `libbfd.la'.
    	* aclocal.m4: Regenerate.
    	* configure: Regenerate.
    	* config.in: Regenerate.
    	* Makefile.in: Regenerate.

commit 5b362f04b2a56d446b024027963be52d61f939cb
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 23 10:52:18 2016 -0600

    Fix more cases of improper test names
    
    I noticed more occurrences of improper test names. The rather mechanical,
    tedious and large patch below addresses, hopefully, most of the leftover cases.
    
    As usual, another pair of eyes is welcome to check if missed something or did
    an invalid substitution.
    
    This patch also fixes the prepare_for_testing calls to pass proper test names.
    
    gdb/testsuite/ChangeLog:
    
    2016-12-23  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names for the following files:
    
    	* gdb.ada/exec_changed.exp
    	* gdb.ada/info_types.exp
    	* gdb.arch/aarch64-atomic-inst.exp
    	* gdb.arch/aarch64-fp.exp
    	* gdb.arch/altivec-abi.exp
    	* gdb.arch/altivec-regs.exp
    	* gdb.arch/amd64-byte.exp
    	* gdb.arch/amd64-disp-step.exp
    	* gdb.arch/amd64-dword.exp
    	* gdb.arch/amd64-entry-value-inline.exp
    	* gdb.arch/amd64-entry-value-param.exp
    	* gdb.arch/amd64-entry-value-paramref.exp
    	* gdb.arch/amd64-entry-value.exp
    	* gdb.arch/amd64-i386-address.exp
    	* gdb.arch/amd64-invalid-stack-middle.exp
    	* gdb.arch/amd64-invalid-stack-top.exp
    	* gdb.arch/amd64-optimout-repeat.exp
    	* gdb.arch/amd64-prologue-skip.exp
    	* gdb.arch/amd64-prologue-xmm.exp
    	* gdb.arch/amd64-stap-special-operands.exp
    	* gdb.arch/amd64-stap-wrong-subexp.exp
    	* gdb.arch/amd64-tailcall-cxx.exp
    	* gdb.arch/amd64-tailcall-noret.exp
    	* gdb.arch/amd64-tailcall-ret.exp
    	* gdb.arch/amd64-tailcall-self.exp
    	* gdb.arch/amd64-word.exp
    	* gdb.arch/arm-bl-branch-dest.exp
    	* gdb.arch/arm-disp-step.exp
    	* gdb.arch/arm-neon.exp
    	* gdb.arch/arm-single-step-kernel-helper.exp
    	* gdb.arch/avr-flash-qualifier.exp
    	* gdb.arch/disp-step-insn-reloc.exp
    	* gdb.arch/e500-abi.exp
    	* gdb.arch/e500-regs.exp
    	* gdb.arch/ftrace-insn-reloc.exp
    	* gdb.arch/i386-avx512.exp
    	* gdb.arch/i386-bp_permanent.exp
    	* gdb.arch/i386-byte.exp
    	* gdb.arch/i386-cfi-notcurrent.exp
    	* gdb.arch/i386-disp-step.exp
    	* gdb.arch/i386-dr3-watch.exp
    	* gdb.arch/i386-float.exp
    	* gdb.arch/i386-gnu-cfi.exp
    	* gdb.arch/i386-mpx-map.exp
    	* gdb.arch/i386-mpx-sigsegv.exp
    	* gdb.arch/i386-mpx-simple_segv.exp
    	* gdb.arch/i386-mpx.exp
    	* gdb.arch/i386-permbkpt.exp
    	* gdb.arch/i386-prologue.exp
    	* gdb.arch/i386-signal.exp
    	* gdb.arch/i386-size-overlap.exp
    	* gdb.arch/i386-unwind.exp
    	* gdb.arch/i386-word.exp
    	* gdb.arch/mips-fcr.exp
    	* gdb.arch/powerpc-d128-regs.exp
    	* gdb.arch/powerpc-stackless.exp
    	* gdb.arch/ppc64-atomic-inst.exp
    	* gdb.arch/s390-stackless.exp
    	* gdb.arch/s390-tdbregs.exp
    	* gdb.arch/s390-vregs.exp
    	* gdb.arch/sparc-sysstep.exp
    	* gdb.arch/thumb-bx-pc.exp
    	* gdb.arch/thumb-singlestep.exp
    	* gdb.arch/thumb2-it.exp
    	* gdb.arch/vsx-regs.exp
    	* gdb.asm/asm-source.exp
    	* gdb.base/a2-run.exp
    	* gdb.base/advance.exp
    	* gdb.base/all-bin.exp
    	* gdb.base/anon.exp
    	* gdb.base/args.exp
    	* gdb.base/arithmet.exp
    	* gdb.base/async-shell.exp
    	* gdb.base/async.exp
    	* gdb.base/attach-pie-noexec.exp
    	* gdb.base/attach-twice.exp
    	* gdb.base/auto-load.exp
    	* gdb.base/bang.exp
    	* gdb.base/bitfields.exp
    	* gdb.base/break-always.exp
    	* gdb.base/break-caller-line.exp
    	* gdb.base/break-entry.exp
    	* gdb.base/break-inline.exp
    	* gdb.base/break-on-linker-gcd-function.exp
    	* gdb.base/break-probes.exp
    	* gdb.base/break.exp
    	* gdb.base/breakpoint-shadow.exp
    	* gdb.base/call-ar-st.exp
    	* gdb.base/call-sc.exp
    	* gdb.base/call-signal-resume.exp
    	* gdb.base/call-strs.exp
    	* gdb.base/callfuncs.exp
    	* gdb.base/catch-fork-static.exp
    	* gdb.base/catch-gdb-caused-signals.exp
    	* gdb.base/catch-load.exp
    	* gdb.base/catch-signal-fork.exp
    	* gdb.base/catch-signal.exp
    	* gdb.base/catch-syscall.exp
    	* gdb.base/charset.exp
    	* gdb.base/checkpoint.exp
    	* gdb.base/chng-syms.exp
    	* gdb.base/code-expr.exp
    	* gdb.base/code_elim.exp
    	* gdb.base/commands.exp
    	* gdb.base/completion.exp
    	* gdb.base/complex.exp
    	* gdb.base/cond-expr.exp
    	* gdb.base/condbreak.exp
    	* gdb.base/consecutive.exp
    	* gdb.base/continue-all-already-running.exp
    	* gdb.base/coredump-filter.exp
    	* gdb.base/corefile.exp
    	* gdb.base/dbx.exp
    	* gdb.base/debug-expr.exp
    	* gdb.base/define.exp
    	* gdb.base/del.exp
    	* gdb.base/disabled-location.exp
    	* gdb.base/disasm-end-cu.exp
    	* gdb.base/disasm-optim.exp
    	* gdb.base/display.exp
    	* gdb.base/duplicate-bp.exp
    	* gdb.base/ena-dis-br.exp
    	* gdb.base/ending-run.exp
    	* gdb.base/enumval.exp
    	* gdb.base/environ.exp
    	* gdb.base/eu-strip-infcall.exp
    	* gdb.base/eval-avoid-side-effects.exp
    	* gdb.base/eval-skip.exp
    	* gdb.base/exitsignal.exp
    	* gdb.base/expand-psymtabs.exp
    	* gdb.base/filesym.exp
    	* gdb.base/find-unmapped.exp
    	* gdb.base/finish.exp
    	* gdb.base/float.exp
    	* gdb.base/foll-exec-mode.exp
    	* gdb.base/foll-exec.exp
    	* gdb.base/foll-fork.exp
    	* gdb.base/fortran-sym-case.exp
    	* gdb.base/freebpcmd.exp
    	* gdb.base/func-ptr.exp
    	* gdb.base/func-ptrs.exp
    	* gdb.base/funcargs.exp
    	* gdb.base/gcore-buffer-overflow.exp
    	* gdb.base/gcore-relro-pie.exp
    	* gdb.base/gcore-relro.exp
    	* gdb.base/gcore.exp
    	* gdb.base/gdb1090.exp
    	* gdb.base/gdb11530.exp
    	* gdb.base/gdb11531.exp
    	* gdb.base/gdb1821.exp
    	* gdb.base/gdbindex-stabs.exp
    	* gdb.base/gdbvars.exp
    	* gdb.base/hbreak.exp
    	* gdb.base/hbreak2.exp
    	* gdb.base/included.exp
    	* gdb.base/infcall-input.exp
    	* gdb.base/inferior-died.exp
    	* gdb.base/infnan.exp
    	* gdb.base/info-macros.exp
    	* gdb.base/info-os.exp
    	* gdb.base/info-proc.exp
    	* gdb.base/info-shared.exp
    	* gdb.base/info-target.exp
    	* gdb.base/infoline.exp
    	* gdb.base/interp.exp
    	* gdb.base/interrupt.exp
    	* gdb.base/jit-reader.exp
    	* gdb.base/jit-simple.exp
    	* gdb.base/kill-after-signal.exp
    	* gdb.base/kill-detach-inferiors-cmd.exp
    	* gdb.base/label.exp
    	* gdb.base/langs.exp
    	* gdb.base/ldbl_e308.exp
    	* gdb.base/line-symtabs.exp
    	* gdb.base/linespecs.exp
    	* gdb.base/list.exp
    	* gdb.base/long_long.exp
    	* gdb.base/longest-types.exp
    	* gdb.base/maint.exp
    	* gdb.base/max-value-size.exp
    	* gdb.base/memattr.exp
    	* gdb.base/mips_pro.exp
    	* gdb.base/morestack.exp
    	* gdb.base/moribund-step.exp
    	* gdb.base/multi-forks.exp
    	* gdb.base/nested-addr.exp
    	* gdb.base/nextoverexit.exp
    	* gdb.base/noreturn-finish.exp
    	* gdb.base/noreturn-return.exp
    	* gdb.base/nostdlib.exp
    	* gdb.base/offsets.exp
    	* gdb.base/opaque.exp
    	* gdb.base/pc-fp.exp
    	* gdb.base/permissions.exp
    	* gdb.base/print-symbol-loading.exp
    	* gdb.base/prologue-include.exp
    	* gdb.base/psymtab.exp
    	* gdb.base/ptype.exp
    	* gdb.base/random-signal.exp
    	* gdb.base/randomize.exp
    	* gdb.base/range-stepping.exp
    	* gdb.base/readline-ask.exp
    	* gdb.base/recpar.exp
    	* gdb.base/recurse.exp
    	* gdb.base/relational.exp
    	* gdb.base/restore.exp
    	* gdb.base/return-nodebug.exp
    	* gdb.base/return.exp
    	* gdb.base/run-after-attach.exp
    	* gdb.base/save-bp.exp
    	* gdb.base/scope.exp
    	* gdb.base/sect-cmd.exp
    	* gdb.base/set-lang-auto.exp
    	* gdb.base/set-noassign.exp
    	* gdb.base/setvar.exp
    	* gdb.base/sigall.exp
    	* gdb.base/sigbpt.exp
    	* gdb.base/siginfo-addr.exp
    	* gdb.base/siginfo-infcall.exp
    	* gdb.base/siginfo-obj.exp
    	* gdb.base/siginfo.exp
    	* gdb.base/signals-state-child.exp
    	* gdb.base/signest.exp
    	* gdb.base/sigstep.exp
    	* gdb.base/sizeof.exp
    	* gdb.base/skip.exp
    	* gdb.base/solib-corrupted.exp
    	* gdb.base/solib-nodir.exp
    	* gdb.base/solib-search.exp
    	* gdb.base/stack-checking.exp
    	* gdb.base/stale-infcall.exp
    	* gdb.base/stap-probe.exp
    	* gdb.base/start.exp
    	* gdb.base/step-break.exp
    	* gdb.base/step-bt.exp
    	* gdb.base/step-line.exp
    	* gdb.base/step-over-exit.exp
    	* gdb.base/step-over-syscall.exp
    	* gdb.base/step-resume-infcall.exp
    	* gdb.base/step-test.exp
    	* gdb.base/store.exp
    	* gdb.base/structs3.exp
    	* gdb.base/sym-file.exp
    	* gdb.base/symbol-without-target_section.exp
    	* gdb.base/term.exp
    	* gdb.base/testenv.exp
    	* gdb.base/ui-redirect.exp
    	* gdb.base/until.exp
    	* gdb.base/unwindonsignal.exp
    	* gdb.base/value-double-free.exp
    	* gdb.base/vla-datatypes.exp
    	* gdb.base/vla-ptr.exp
    	* gdb.base/vla-sideeffect.exp
    	* gdb.base/volatile.exp
    	* gdb.base/watch-cond-infcall.exp
    	* gdb.base/watch-cond.exp
    	* gdb.base/watch-non-mem.exp
    	* gdb.base/watch-read.exp
    	* gdb.base/watch-vfork.exp
    	* gdb.base/watchpoint-cond-gone.exp
    	* gdb.base/watchpoint-delete.exp
    	* gdb.base/watchpoint-hw-hit-once.exp
    	* gdb.base/watchpoint-hw.exp
    	* gdb.base/watchpoint-stops-at-right-insn.exp
    	* gdb.base/watchpoints.exp
    	* gdb.base/wchar.exp
    	* gdb.base/whatis-exp.exp
    	* gdb.btrace/buffer-size.exp
    	* gdb.btrace/data.exp
    	* gdb.btrace/delta.exp
    	* gdb.btrace/dlopen.exp
    	* gdb.btrace/enable.exp
    	* gdb.btrace/exception.exp
    	* gdb.btrace/function_call_history.exp
    	* gdb.btrace/gcore.exp
    	* gdb.btrace/instruction_history.exp
    	* gdb.btrace/nohist.exp
    	* gdb.btrace/reconnect.exp
    	* gdb.btrace/record_goto-step.exp
    	* gdb.btrace/record_goto.exp
    	* gdb.btrace/rn-dl-bind.exp
    	* gdb.btrace/segv.exp
    	* gdb.btrace/step.exp
    	* gdb.btrace/stepi.exp
    	* gdb.btrace/tailcall-only.exp
    	* gdb.btrace/tailcall.exp
    	* gdb.btrace/tsx.exp
    	* gdb.btrace/unknown_functions.exp
    	* gdb.btrace/vdso.exp
    	* gdb.compile/compile-ifunc.exp
    	* gdb.compile/compile-ops.exp
    	* gdb.compile/compile-print.exp
    	* gdb.compile/compile-setjmp.exp
    	* gdb.cp/abstract-origin.exp
    	* gdb.cp/ambiguous.exp
    	* gdb.cp/annota2.exp
    	* gdb.cp/annota3.exp
    	* gdb.cp/anon-ns.exp
    	* gdb.cp/anon-struct.exp
    	* gdb.cp/anon-union.exp
    	* gdb.cp/arg-reference.exp
    	* gdb.cp/baseenum.exp
    	* gdb.cp/bool.exp
    	* gdb.cp/breakpoint.exp
    	* gdb.cp/bs15503.exp
    	* gdb.cp/call-c.exp
    	* gdb.cp/casts.exp
    	* gdb.cp/chained-calls.exp
    	* gdb.cp/class2.exp
    	* gdb.cp/classes.exp
    	* gdb.cp/cmpd-minsyms.exp
    	* gdb.cp/converts.exp
    	* gdb.cp/cp-relocate.exp
    	* gdb.cp/cpcompletion.exp
    	* gdb.cp/cpexprs.exp
    	* gdb.cp/cplabel.exp
    	* gdb.cp/cplusfuncs.exp
    	* gdb.cp/cpsizeof.exp
    	* gdb.cp/ctti.exp
    	* gdb.cp/derivation.exp
    	* gdb.cp/destrprint.exp
    	* gdb.cp/dispcxx.exp
    	* gdb.cp/enum-class.exp
    	* gdb.cp/exception.exp
    	* gdb.cp/exceptprint.exp
    	* gdb.cp/expand-psymtabs-cxx.exp
    	* gdb.cp/expand-sals.exp
    	* gdb.cp/extern-c.exp
    	* gdb.cp/filename.exp
    	* gdb.cp/formatted-ref.exp
    	* gdb.cp/fpointer.exp
    	* gdb.cp/gdb1355.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.cp/hang.exp
    	* gdb.cp/impl-this.exp
    	* gdb.cp/infcall-dlopen.exp
    	* gdb.cp/inherit.exp
    	* gdb.cp/iostream.exp
    	* gdb.cp/koenig.exp
    	* gdb.cp/local.exp
    	* gdb.cp/m-data.exp
    	* gdb.cp/m-static.exp
    	* gdb.cp/mb-ctor.exp
    	* gdb.cp/mb-inline.exp
    	* gdb.cp/mb-templates.exp
    	* gdb.cp/member-name.exp
    	* gdb.cp/member-ptr.exp
    	* gdb.cp/meth-typedefs.exp
    	* gdb.cp/method.exp
    	* gdb.cp/method2.exp
    	* gdb.cp/minsym-fallback.exp
    	* gdb.cp/misc.exp
    	* gdb.cp/namelessclass.exp
    	* gdb.cp/namespace-enum.exp
    	* gdb.cp/namespace-nested-import.exp
    	* gdb.cp/namespace.exp
    	* gdb.cp/nextoverthrow.exp
    	* gdb.cp/no-dmgl-verbose.exp
    	* gdb.cp/non-trivial-retval.exp
    	* gdb.cp/noparam.exp
    	* gdb.cp/nsdecl.exp
    	* gdb.cp/nsimport.exp
    	* gdb.cp/nsnested.exp
    	* gdb.cp/nsnoimports.exp
    	* gdb.cp/nsrecurs.exp
    	* gdb.cp/nsstress.exp
    	* gdb.cp/nsusing.exp
    	* gdb.cp/operator.exp
    	* gdb.cp/oranking.exp
    	* gdb.cp/overload-const.exp
    	* gdb.cp/overload.exp
    	* gdb.cp/ovldbreak.exp
    	* gdb.cp/ovsrch.exp
    	* gdb.cp/paren-type.exp
    	* gdb.cp/parse-lang.exp
    	* gdb.cp/pass-by-ref.exp
    	* gdb.cp/pr-1023.exp
    	* gdb.cp/pr-1210.exp
    	* gdb.cp/pr-574.exp
    	* gdb.cp/pr10687.exp
    	* gdb.cp/pr12028.exp
    	* gdb.cp/pr17132.exp
    	* gdb.cp/pr17494.exp
    	* gdb.cp/pr9067.exp
    	* gdb.cp/pr9167.exp
    	* gdb.cp/pr9631.exp
    	* gdb.cp/printmethod.exp
    	* gdb.cp/psmang.exp
    	* gdb.cp/psymtab-parameter.exp
    	* gdb.cp/ptype-cv-cp.exp
    	* gdb.cp/ptype-flags.exp
    	* gdb.cp/re-set-overloaded.exp
    	* gdb.cp/ref-types.exp
    	* gdb.cp/rtti.exp
    	* gdb.cp/scope-err.exp
    	* gdb.cp/shadow.exp
    	* gdb.cp/smartp.exp
    	* gdb.cp/static-method.exp
    	* gdb.cp/static-print-quit.exp
    	* gdb.cp/temargs.exp
    	* gdb.cp/templates.exp
    	* gdb.cp/try_catch.exp
    	* gdb.cp/typedef-operator.exp
    	* gdb.cp/typeid.exp
    	* gdb.cp/userdef.exp
    	* gdb.cp/using-crash.exp
    	* gdb.cp/var-tag.exp
    	* gdb.cp/virtbase.exp
    	* gdb.cp/virtfunc.exp
    	* gdb.cp/virtfunc2.exp
    	* gdb.cp/vla-cxx.exp
    	* gdb.disasm/t01_mov.exp
    	* gdb.disasm/t02_mova.exp
    	* gdb.disasm/t03_add.exp
    	* gdb.disasm/t04_sub.exp
    	* gdb.disasm/t05_cmp.exp
    	* gdb.disasm/t06_ari2.exp
    	* gdb.disasm/t07_ari3.exp
    	* gdb.disasm/t08_or.exp
    	* gdb.disasm/t09_xor.exp
    	* gdb.disasm/t10_and.exp
    	* gdb.disasm/t11_logs.exp
    	* gdb.disasm/t12_bit.exp
    	* gdb.disasm/t13_otr.exp
    	* gdb.dlang/circular.exp
    	* gdb.dwarf2/arr-stride.exp
    	* gdb.dwarf2/arr-subrange.exp
    	* gdb.dwarf2/atomic-type.exp
    	* gdb.dwarf2/bad-regnum.exp
    	* gdb.dwarf2/bitfield-parent-optimized-out.exp
    	* gdb.dwarf2/callframecfa.exp
    	* gdb.dwarf2/clztest.exp
    	* gdb.dwarf2/corrupt.exp
    	* gdb.dwarf2/data-loc.exp
    	* gdb.dwarf2/dup-psym.exp
    	* gdb.dwarf2/dw2-anon-mptr.exp
    	* gdb.dwarf2/dw2-anonymous-func.exp
    	* gdb.dwarf2/dw2-bad-mips-linkage-name.exp
    	* gdb.dwarf2/dw2-bad-unresolved.exp
    	* gdb.dwarf2/dw2-basic.exp
    	* gdb.dwarf2/dw2-canonicalize-type.exp
    	* gdb.dwarf2/dw2-case-insensitive.exp
    	* gdb.dwarf2/dw2-common-block.exp
    	* gdb.dwarf2/dw2-compdir-oldgcc.exp
    	* gdb.dwarf2/dw2-compressed.exp
    	* gdb.dwarf2/dw2-const.exp
    	* gdb.dwarf2/dw2-cp-infcall-ref-static.exp
    	* gdb.dwarf2/dw2-cu-size.exp
    	* gdb.dwarf2/dw2-dup-frame.exp
    	* gdb.dwarf2/dw2-entry-value.exp
    	* gdb.dwarf2/dw2-icycle.exp
    	* gdb.dwarf2/dw2-ifort-parameter.exp
    	* gdb.dwarf2/dw2-inline-break.exp
    	* gdb.dwarf2/dw2-inline-param.exp
    	* gdb.dwarf2/dw2-intercu.exp
    	* gdb.dwarf2/dw2-intermix.exp
    	* gdb.dwarf2/dw2-lexical-block-bare.exp
    	* gdb.dwarf2/dw2-linkage-name-trust.exp
    	* gdb.dwarf2/dw2-minsym-in-cu.exp
    	* gdb.dwarf2/dw2-noloc.exp
    	* gdb.dwarf2/dw2-op-call.exp
    	* gdb.dwarf2/dw2-op-out-param.exp
    	* gdb.dwarf2/dw2-opt-structptr.exp
    	* gdb.dwarf2/dw2-param-error.exp
    	* gdb.dwarf2/dw2-producer.exp
    	* gdb.dwarf2/dw2-ranges-base.exp
    	* gdb.dwarf2/dw2-ref-missing-frame.exp
    	* gdb.dwarf2/dw2-reg-undefined.exp
    	* gdb.dwarf2/dw2-regno-invalid.exp
    	* gdb.dwarf2/dw2-restore.exp
    	* gdb.dwarf2/dw2-restrict.exp
    	* gdb.dwarf2/dw2-single-line-discriminators.exp
    	* gdb.dwarf2/dw2-strp.exp
    	* gdb.dwarf2/dw2-undefined-ret-addr.exp
    	* gdb.dwarf2/dw2-unresolved.exp
    	* gdb.dwarf2/dw2-var-zero-addr.exp
    	* gdb.dwarf2/dw4-sig-types.exp
    	* gdb.dwarf2/dwz.exp
    	* gdb.dwarf2/dynarr-ptr.exp
    	* gdb.dwarf2/enum-type.exp
    	* gdb.dwarf2/gdb-index.exp
    	* gdb.dwarf2/implptr-64bit.exp
    	* gdb.dwarf2/implptr-optimized-out.exp
    	* gdb.dwarf2/implptr.exp
    	* gdb.dwarf2/implref-array.exp
    	* gdb.dwarf2/implref-const.exp
    	* gdb.dwarf2/implref-global.exp
    	* gdb.dwarf2/implref-struct.exp
    	* gdb.dwarf2/mac-fileno.exp
    	* gdb.dwarf2/main-subprogram.exp
    	* gdb.dwarf2/member-ptr-forwardref.exp
    	* gdb.dwarf2/method-ptr.exp
    	* gdb.dwarf2/missing-sig-type.exp
    	* gdb.dwarf2/nonvar-access.exp
    	* gdb.dwarf2/opaque-type-lookup.exp
    	* gdb.dwarf2/pieces-optimized-out.exp
    	* gdb.dwarf2/pieces.exp
    	* gdb.dwarf2/pr10770.exp
    	* gdb.dwarf2/pr13961.exp
    	* gdb.dwarf2/staticvirtual.exp
    	* gdb.dwarf2/subrange.exp
    	* gdb.dwarf2/symtab-producer.exp
    	* gdb.dwarf2/trace-crash.exp
    	* gdb.dwarf2/typeddwarf.exp
    	* gdb.dwarf2/valop.exp
    	* gdb.dwarf2/watch-notconst.exp
    	* gdb.fortran/array-element.exp
    	* gdb.fortran/charset.exp
    	* gdb.fortran/common-block.exp
    	* gdb.fortran/complex.exp
    	* gdb.fortran/derived-type-function.exp
    	* gdb.fortran/derived-type.exp
    	* gdb.fortran/logical.exp
    	* gdb.fortran/module.exp
    	* gdb.fortran/multi-dim.exp
    	* gdb.fortran/nested-funcs.exp
    	* gdb.fortran/print-formatted.exp
    	* gdb.fortran/subarray.exp
    	* gdb.fortran/vla-alloc-assoc.exp
    	* gdb.fortran/vla-datatypes.exp
    	* gdb.fortran/vla-history.exp
    	* gdb.fortran/vla-ptr-info.exp
    	* gdb.fortran/vla-ptype-sub.exp
    	* gdb.fortran/vla-ptype.exp
    	* gdb.fortran/vla-sizeof.exp
    	* gdb.fortran/vla-type.exp
    	* gdb.fortran/vla-value-sub-arbitrary.exp
    	* gdb.fortran/vla-value-sub-finish.exp
    	* gdb.fortran/vla-value-sub.exp
    	* gdb.fortran/vla-value.exp
    	* gdb.fortran/whatis_type.exp
    	* gdb.go/chan.exp
    	* gdb.go/handcall.exp
    	* gdb.go/hello.exp
    	* gdb.go/integers.exp
    	* gdb.go/methods.exp
    	* gdb.go/package.exp
    	* gdb.go/strings.exp
    	* gdb.go/types.exp
    	* gdb.go/unsafe.exp
    	* gdb.guile/scm-arch.exp
    	* gdb.guile/scm-block.exp
    	* gdb.guile/scm-breakpoint.exp
    	* gdb.guile/scm-cmd.exp
    	* gdb.guile/scm-disasm.exp
    	* gdb.guile/scm-equal.exp
    	* gdb.guile/scm-frame-args.exp
    	* gdb.guile/scm-frame-inline.exp
    	* gdb.guile/scm-frame.exp
    	* gdb.guile/scm-iterator.exp
    	* gdb.guile/scm-math.exp
    	* gdb.guile/scm-objfile.exp
    	* gdb.guile/scm-ports.exp
    	* gdb.guile/scm-symbol.exp
    	* gdb.guile/scm-symtab.exp
    	* gdb.guile/scm-value-cc.exp
    	* gdb.guile/types-module.exp
    	* gdb.linespec/break-ask.exp
    	* gdb.linespec/cpexplicit.exp
    	* gdb.linespec/explicit.exp
    	* gdb.linespec/keywords.exp
    	* gdb.linespec/linespec.exp
    	* gdb.linespec/ls-dollar.exp
    	* gdb.linespec/ls-errs.exp
    	* gdb.linespec/skip-two.exp
    	* gdb.linespec/thread.exp
    	* gdb.mi/mi-async.exp
    	* gdb.mi/mi-basics.exp
    	* gdb.mi/mi-break.exp
    	* gdb.mi/mi-catch-load.exp
    	* gdb.mi/mi-cli.exp
    	* gdb.mi/mi-cmd-param-changed.exp
    	* gdb.mi/mi-console.exp
    	* gdb.mi/mi-detach.exp
    	* gdb.mi/mi-disassemble.exp
    	* gdb.mi/mi-eval.exp
    	* gdb.mi/mi-file-transfer.exp
    	* gdb.mi/mi-file.exp
    	* gdb.mi/mi-fill-memory.exp
    	* gdb.mi/mi-inheritance-syntax-error.exp
    	* gdb.mi/mi-linespec-err-cp.exp
    	* gdb.mi/mi-logging.exp
    	* gdb.mi/mi-memory-changed.exp
    	* gdb.mi/mi-read-memory.exp
    	* gdb.mi/mi-record-changed.exp
    	* gdb.mi/mi-reg-undefined.exp
    	* gdb.mi/mi-regs.exp
    	* gdb.mi/mi-return.exp
    	* gdb.mi/mi-reverse.exp
    	* gdb.mi/mi-simplerun.exp
    	* gdb.mi/mi-solib.exp
    	* gdb.mi/mi-stack.exp
    	* gdb.mi/mi-stepi.exp
    	* gdb.mi/mi-syn-frame.exp
    	* gdb.mi/mi-until.exp
    	* gdb.mi/mi-var-block.exp
    	* gdb.mi/mi-var-child.exp
    	* gdb.mi/mi-var-cmd.exp
    	* gdb.mi/mi-var-cp.exp
    	* gdb.mi/mi-var-display.exp
    	* gdb.mi/mi-var-invalidate.exp
    	* gdb.mi/mi-var-list-children-invalid-grandchild.exp
    	* gdb.mi/mi-vla-fortran.exp
    	* gdb.mi/mi-watch.exp
    	* gdb.mi/mi2-var-child.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.modula2/unbounded-array.exp
    	* gdb.multi/dummy-frame-restore.exp
    	* gdb.multi/multi-arch-exec.exp
    	* gdb.multi/multi-arch.exp
    	* gdb.multi/tids.exp
    	* gdb.multi/watchpoint-multi.exp
    	* gdb.opencl/callfuncs.exp
    	* gdb.opencl/convs_casts.exp
    	* gdb.opencl/datatypes.exp
    	* gdb.opencl/operators.exp
    	* gdb.opencl/vec_comps.exp
    	* gdb.opt/clobbered-registers-O2.exp
    	* gdb.opt/inline-break.exp
    	* gdb.opt/inline-bt.exp
    	* gdb.opt/inline-cmds.exp
    	* gdb.opt/inline-locals.exp
    	* gdb.pascal/case-insensitive-symbols.exp
    	* gdb.pascal/floats.exp
    	* gdb.pascal/gdb11492.exp
    	* gdb.python/lib-types.exp
    	* gdb.python/py-arch.exp
    	* gdb.python/py-as-string.exp
    	* gdb.python/py-bad-printers.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-breakpoint-create-fail.exp
    	* gdb.python/py-breakpoint.exp
    	* gdb.python/py-caller-is.exp
    	* gdb.python/py-cmd.exp
    	* gdb.python/py-explore-cc.exp
    	* gdb.python/py-explore.exp
    	* gdb.python/py-finish-breakpoint.exp
    	* gdb.python/py-finish-breakpoint2.exp
    	* gdb.python/py-frame-args.exp
    	* gdb.python/py-frame-inline.exp
    	* gdb.python/py-frame.exp
    	* gdb.python/py-framefilter-mi.exp
    	* gdb.python/py-infthread.exp
    	* gdb.python/py-lazy-string.exp
    	* gdb.python/py-linetable.exp
    	* gdb.python/py-mi-events.exp
    	* gdb.python/py-mi-objfile.exp
    	* gdb.python/py-mi.exp
    	* gdb.python/py-objfile.exp
    	* gdb.python/py-pp-integral.exp
    	* gdb.python/py-pp-maint.exp
    	* gdb.python/py-pp-re-notag.exp
    	* gdb.python/py-pp-registration.exp
    	* gdb.python/py-recurse-unwind.exp
    	* gdb.python/py-strfns.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-sync-interp.exp
    	* gdb.python/py-typeprint.exp
    	* gdb.python/py-unwind-maint.exp
    	* gdb.python/py-unwind.exp
    	* gdb.python/py-value-cc.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.reverse/amd64-tailcall-reverse.exp
    	* gdb.reverse/break-precsave.exp
    	* gdb.reverse/break-reverse.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/consecutive-reverse.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/finish-reverse-bkpt.exp
    	* gdb.reverse/finish-reverse.exp
    	* gdb.reverse/fstatat-reverse.exp
    	* gdb.reverse/getresuid-reverse.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/i386-reverse.exp
    	* gdb.reverse/i386-sse-reverse.exp
    	* gdb.reverse/i387-env-reverse.exp
    	* gdb.reverse/i387-stack-reverse.exp
    	* gdb.reverse/insn-reverse.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/machinestate.exp
    	* gdb.reverse/next-reverse-bkpt-over-sr.exp
    	* gdb.reverse/pipe-reverse.exp
    	* gdb.reverse/readv-reverse.exp
    	* gdb.reverse/recvmsg-reverse.exp
    	* gdb.reverse/rerun-prec.exp
    	* gdb.reverse/s390-mvcle.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/step-reverse.exp
    	* gdb.reverse/time-reverse.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/until-reverse.exp
    	* gdb.reverse/waitpid-reverse.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.reverse/watch-reverse.exp
    	* gdb.rust/generics.exp
    	* gdb.rust/methods.exp
    	* gdb.rust/modules.exp
    	* gdb.rust/simple.exp
    	* gdb.server/connect-with-no-symbol-file.exp
    	* gdb.server/ext-attach.exp
    	* gdb.server/ext-restart.exp
    	* gdb.server/ext-wrapper.exp
    	* gdb.server/file-transfer.exp
    	* gdb.server/server-exec-info.exp
    	* gdb.server/server-kill.exp
    	* gdb.server/server-mon.exp
    	* gdb.server/wrapper.exp
    	* gdb.stabs/exclfwd.exp
    	* gdb.stabs/gdb11479.exp
    	* gdb.threads/clone-new-thread-event.exp
    	* gdb.threads/corethreads.exp
    	* gdb.threads/current-lwp-dead.exp
    	* gdb.threads/dlopen-libpthread.exp
    	* gdb.threads/gcore-thread.exp
    	* gdb.threads/sigstep-threads.exp
    	* gdb.threads/watchpoint-fork.exp
    	* gdb.trace/actions-changed.exp
    	* gdb.trace/backtrace.exp
    	* gdb.trace/change-loc.exp
    	* gdb.trace/circ.exp
    	* gdb.trace/collection.exp
    	* gdb.trace/disconnected-tracing.exp
    	* gdb.trace/ftrace.exp
    	* gdb.trace/mi-trace-frame-collected.exp
    	* gdb.trace/mi-trace-unavailable.exp
    	* gdb.trace/mi-traceframe-changed.exp
    	* gdb.trace/mi-tsv-changed.exp
    	* gdb.trace/no-attach-trace.exp
    	* gdb.trace/passc-dyn.exp
    	* gdb.trace/qtro.exp
    	* gdb.trace/range-stepping.exp
    	* gdb.trace/read-memory.exp
    	* gdb.trace/save-trace.exp
    	* gdb.trace/signal.exp
    	* gdb.trace/status-stop.exp
    	* gdb.trace/tfile.exp
    	* gdb.trace/trace-break.exp
    	* gdb.trace/trace-buffer-size.exp
    	* gdb.trace/trace-condition.exp
    	* gdb.trace/tracefile-pseudo-reg.exp
    	* gdb.trace/tstatus.exp
    	* gdb.trace/unavailable.exp
    	* gdb.trace/while-dyn.exp
    	* gdb.trace/while-stepping.exp

commit 7dc53023ec5d000b3b8d287720ed8d04d91e02ec
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 23 10:46:38 2016 -0600

    Fix incorrect reference to source files
    
    gdb/gdbserver/ChangeLog:
    
    2016-12-23  Luis Machado  <lgustavo@codesourcery.com>
    
    	* win32-i386-low.c: Fix incorrect reference to a couple source files.
    	* nto-x86-low.c: Likewise.

commit d81c735641cf6245c837a0203e9efaf21e63c27e
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Fri Dec 23 08:00:13 2016 -0800

    Bump gold version number to 1.14.
    
    	* NEWS: Add new features in 1.14.
    	* version.cc (version_string): Bump to 1.14.

commit 6eda96bcf3a53843feb5d6d4441f0d9da7bc8a75
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Dec 23 23:43:54 2016 +1030

    Call target specific add_symbols function
    
    This allows targets that have target specific code to add object
    symbols to make use of the generic archive handling.
    
    	* linker.c (generic_link_check_archive_element): Call target
    	bfd_link_add_symbols to add element symbols.

commit b9fc2576a13367070c741c7ea1d364a483eed0e4
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Dec 23 23:28:38 2016 +1030

    Remove "collect" forms of generic linker add symbols functions
    
    Nothing calls them and they were in the way of a bug fix.
    
    	* linker.c (generic_link_add_symbols): Delete.  Merge into..
    	(_bfd_generic_link_add_symbols): ..here.
    	(generic_link_check_archive_element_no_collect): Delete.
    	(generic_link_check_archive_element_collect): Likewise.
    	(generic_link_add_object_symbols): Remove "collect" param.  Update
    	callers.
    	(generic_link_add_symbol_list): Likewise.
    	(generic_link_check_archive_element): Likewise.  Call
    	bfd_link_add_symbols rather than generic_link_add_object_symbols.
    	* libbfd-in.h (_bfd_generic_link_add_symbols_collect): Delete.
    	* libbfd.h: Regenerate.

commit 865422fafaf387745b2979d47b6f448d28e0edb8
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 13:12:07 2016 +1030

    hppa-linux-gnu-ranlib: libcpp.a: File format not recognized
    
    This stops an --enable-targets selection affecting the main target in
    regards to forcing 64-bit archives.  It also means mips64 and s390x
    will revert to binutils-2.25 and binutils-2.26 behaviour of not
    forcing 64-bit archives at least in the common case when plugins were
    enabled.
    
    	PR binutils/20464
    	PR binutils/14625
    	* configure.ac: Revert 2016-05-25 configure change setting
    	want_64_bit_archive for mips64 and s390x.  Revise USE_64_BIT_ARCHIVE
    	description.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 6096dda15babc5307b1a0e9624d4e0028fd429e1
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date:   Fri Dec 23 12:29:42 2016 +0100

    Updated email address.
    
    2016-12-23  Bernhard Heckel  <bernhard.heckel@intel.com>
    
    gdb/Changelog:
    	* MAINTAINERS (Write After Approval): Updated email address.
    
    Change-Id: I46b81392c2bd4b04e8e2aea2bb4bef2d0b509d24

commit 4eabf3446367832693a1baf145f6ff02baae197b
Author: Joe Seymour <joe.s@somniumtech.com>
Date:   Tue Dec 20 14:50:49 2016 +0000

    [msp430] Sync tc-msp430.c with devices.csv
    
    This patch syncs the generated data structure in tc-msp430.c with the
    latest version of devices.csv released by TI.
    
    My understanding is that the devices being removed were "invalid spins",
    so can't be being used by anyone, and never will be. Current web
    searches related to these devices return no relevant results.
    
    Built and tested (no regressions) as follows:
      Configured with: --target=msp430-elf --disable-gdb
      Test variations:
        msp430-sim/-mcpu=msp430
        msp430-sim/-mcpu=msp430x
        msp430-sim/-mcpu=msp430x/-mlarge/-mdata-region=either/-mcode-region=either
        msp430-sim/-mhwmult=none
        msp430-sim/-mhwmult=f5series
    
    gas/
    	* config/tc-msp430.c (msp430_mcu_data): Sync with data from TI's
    	devices.csv file as of September 2016.

commit 99b5dbf2e78a63ba4be067bfabb3bec1a6406f1c
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:50:53 2016 +0100

    Bump version to 2.28.51
    
    bfd/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* version.m4: Bump version to 2.28.51
    	* configure: Regenerate.
    
    binutils/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    gas/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    gprof/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    ld/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    opcodes/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.

commit 9703a4ef4d020991873bb4464f4800fe0547263c
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:43:13 2016 +0100

    Add marker in NEWS files
    
    binutils/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* NEWS: Add marker for 2.28.
    
    gas/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* NEWS: Add marker for 2.28.
    
    ld/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* NEWS: Add marker for 2.28.

commit e0e7a9d436cb3c97ae89c9b0d2750a006746b233
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:32:28 2016 +0100

    Regenerate pot files.

commit 7a0c0a1475bf41913c7f25a9e363df26c8f772a1
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Fri Dec 16 19:17:38 2016 -0800

    Add -z bndplt support (for Intel MPX).
    
    gold/
    	PR gold/17643
    	* options.h (-z bndplt): New option.
    	* x86_64.cc (Output_data_plt_x86_64::regular_count): New method.
    	(Output_data_plt_x86_64::address_for_global): Move implementation into
    	virtual method.
    	(Output_data_plt_x86_64::address_for_local): Likewise.
    	(Output_data_plt_x86_64::got): New method.
    	(Output_data_plt_x86_64::got_plt): New method.
    	(Output_data_plt_x86_64::got_irelative): New method.
    	(Output_data_plt_x86_64::do_address_for_global): New virtual method.
    	(Output_data_plt_x86_64::do_address_for_local): New virtual method.
    	(class Output_data_plt_x86_64_bnd): New class.
    	(Target_x86_64::do_make_data_plt): Move out of line and specialize
    	for each size (both overloads).
    	(Output_data_plt_x86_64::set_final_data_size): Cosmetic changes.
    	* testsuite/Makefile.am (bnd_plt_1): New test case.
    	(bnd_ifunc_1): New test case.
    	(bnd_ifunc_2): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/bnd_ifunc_1.s: New source file.
    	* testsuite/bnd_ifunc_1.sh: New shell script.
    	* testsuite/bnd_ifunc_2.s: New source file.
    	* testsuite/bnd_ifunc_2.sh: New shell script.
    	* testsuite/bnd_plt_1.s: New source file.
    	* testsuite/bnd_plt_1.sh: New shell script.

commit c4d5a76223f74930add9014f2a77339eb80b737c
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 22 14:06:24 2016 -0800

    Fix placement of forced local symbols in the dynamic symbol table.
    
    Gold was not placing forced-local symbols (e.g., hidden visibility)
    at the front of the dynamic symbol table, or including them in the
    count of local symbols recorded in the .dynsym section's sh_info field.
    
    gold/
    	* layout.cc (Layout::finalize): Track count of forced-local symbols
    	in .dynsym.
    	(Layout::create_symtab_sections): Add local_dynamic_count parameter;
    	use that instead of sh_info value.
    	(Layout::create_dynamic_symtab): Add pforced_local_dynamic_count
    	parameter; pass it to Symtab::set_dynsym_indexes().  Include forced
    	locals in sh_info value.  Pass index of first real global to
    	Dynobj::create_gnu_hash_table() and Dynobj::create_elf_hash_table().
    	* layout.h (Layout::create_symtab_sections): Add local_dynamic_count
    	parameter.
    	(Layout::create_dynamic_symtab): Add pforced_local_dynamic_count
    	parameter.
    	* symtab.cc (Symbol_table::set_dynsym_indexes): Add pforced_local_count
    	parameter.  Process forced-local symbols first and return the count.
    	(Symbol_table::finalize): Update comments.
    	* symtab.h (Symbol_table::set_dynsym_indexes): Add pforced_local_count
    	parameter.
    	(Symbol_table::first_dynamic_global_index_): Update comment.
    	(Symbol_table::dynamic_count_): Update comment.
    	* testsuite/Makefile.am (ifuncmod1.sh): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/ifuncmod1.sh: New shell script.

commit 40d7d93ff412f4c34cde3daa04890d5cd2e0d9c9
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 21 17:32:39 2016 -0800

    Fix problem where version script causes predefined hidden symbol to be defined twice.
    
    When creating a predefined hidden symbol like _GLOBAL_OFFSET_TABLE_, gold
    was incorrectly letting a version script add a version to the symbol,
    resulting in two copies of the symbol, both STB_LOCAL, but one of which
    was grouped in the globals part of the symbol table.
    
    gold/
    	* symtab.cc (Symbol_table::define_special_symbol): Add is_forced_local
    	parameter; if set, do not check version script.
    	(Symbol_table::do_define_in_output_data): Pass is_forced_local for
    	STB_LOCAL predefined symbols.
    	(Symbol_table::do_define_in_output_segment): Likewise.
    	(Symbol_table::do_define_in_output_segment): Likewise.
    	(Symbol_table::do_define_as_constant): Likewise.
    	* symtab.h (Symbol_table::define_special_symbol): Add is_forced_local
    	parameter. Adjust all callers.
    	* testsuite/Makefile.am (ver_test_8.sh): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* ver_test_8.sh: New test script.

commit ce0db13751aed2782c417bc4cf715313f9273e94
Author: Doug Evans <xdje42@gmail.com>
Date:   Thu Dec 22 15:50:10 2016 -0800

    infrun.c (set_step_over_info): Add comment.
    
    gdb/ChangeLog:
    
    	* infrun.c (set_step_over_info): Add comment.

commit 34c41c681f4a0a0dfe0405c7d2aecf458520557a
Author: Doug Evans <xdje42@gmail.com>
Date:   Mon Dec 19 08:33:46 2016 -0800

    New syntax for mt print symbols,msymbols,psymbols.
    
    gdb/ChangeLog:
    
    	* NEWS: Document new syntax for "mt print symbols", "mt print psymbols"
    	and "mt print msymbols" commands.
    	* psymtab.c (DEV_TTY): Delete.
    	(dump_psymtab_addrmap): Don't dump if psymtabs_addrmap is NULL.
    	(maintenance_print_psymbols): Rewrite for new syntax:
    	mt print psymbols [-objfile objfile] [-pc address] [outfile]
    	mt print psymbols [-objfile objfile] [-source source] [outfile]
    	(_initialize_psymtab): Update help text.
    	* symmisc.c (maintenance_print_symbols): Rewrite for new syntax:
    	mt print symbols [-pc address] [outfile]
    	mt print symbols [-objfile objfile] [-source source] [outfile]
    	(maintenance_print_msymbols): Rewrite for new syntax:
    	mt print msymbols [-objfile objfile] [outfile]
    	Only print symbols for the current progspace.
    	(_initialize_symmisc): Update help text.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Symbols): Update docs for symbol printing maintenance
    	commands.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/maint.exp: Update tests for maint print symbols, psymbols
    	and msymbols.

commit 112e8700a6fd2fed65ca70132c9cbed4132e8bd4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Dec 22 16:17:31 2016 -0500

    Class-ify ui_out
    
    This patch finalizes the C++ conversion of the ui-out subsystem, by
    turning the ui_out and ui_out_impl structures into a single class
    hierarchy.  ui_out functions are turned into virtual methods of that new
    class, so as a result there are a lot of call sites to update.
    
    In the previous version of the patchset, there were separate ui_out and
    ui_out_impl classes, but it wasn't really useful and added boilerplate.
    In this version there is simply an ui_out base class that is
    extended for CLI, TUI and MI.
    
    It's a bit hard to maintain a ChangeLog for such a big patch, I did my
    best but I'm sure there are some missing or outdated info in there...
    
    gdb/ChangeLog:
    
        * ui-out.h (ui_out_begin, ui_out_end, ui_out_table_header,
        ui_out_table_body,  ui_out_field_int, ui_out_field_fmt_int,
        ui_out_field_core_addr, ui_out_field_string, ui_out_field_stream,
        ui_out_field_fmt, ui_out_field_skip, ui_out_spaces, ui_out_text,
        ui_out_message, ui_out_wrap_hint, ui_out_flush, ui_out_test_flags,
        ui_out_query_field, ui_out_is_mi_like_p, ui_out_redirect):
        Remove, replace with a method in class ui_out.
        (table_begin_ftype): Remove, replace with pure virtual method in
        class ui_out.
        (table_body_ftype): Likewise.
        (table_end_ftype): Likewise.
        (table_header_ftype): Likewise.
        (ui_out_begin_ftype): Likewise.
        (ui_out_end_ftype): Likewise.
        (field_int_ftype): Likewise.
        (field_skip_ftype): Likewise.
        (field_string_ftype): Likewise.
        (field_fmt_ftype): Likewise.
        (spaces_ftype): Likewise.
        (text_ftype): Likewise.
        (message_ftype): Likewise.
        (wrap_hint_ftype): Likewise.
        (flush_ftype): Likewise.
        (redirect_ftype): Likewise.
        (data_destroy_ftype): Likewise.
        (struct ui_out_impl): Remove, replace with class ui_out.
        (ui_out_new): Remove.
        (class ui_out): New class.
        * ui-out.c (struct ui_out): Remove, replaced with class ui_out.
        (current_level): Remove, replace with ui_out method.
        (push_level): Likewise.
        (pop_level): Likewise.
        (uo_table_begin, uo_table_body, uo_table_end, uo_table_header,
        uo_begin, uo_end, uo_field_int, uo_field_skip, uo_field_fmt,
        uo_spaces, uo_text, uo_message, uo_wrap_hint, uo_flush,
        uo_redirect, uo_field_string): Remove.
        (ui_out_table_begin): Replace with ...
        (ui_out::table_begin): ... this.
        (ui_out_table_body): Replace with ...
        (ui_out::table_body): ... this.
        (ui_out_table_end): Replace with ...
        (ui_out::table_end): ... this.
        (ui_out_table_header): Replace with ...
        (ui_out::table_header): ... this.
        (ui_out_begin): Replace with ...
        (ui_out::begin): ... this.
        (ui_out_end): Replace with ...
        (ui_out::end): ... this.
        (ui_out_field_int): Replace with ...
        (ui_out::field_int): ... this.
        (ui_out_field_fmt_int): Replace with ...
        (ui_out::field_fmt_int): ... this.
        (ui_out_field_core_addr): Replace with ...
        (ui_out::field_core_addr): ... this.
        (ui_out_field_stream): Replace with ...
        (ui_out::field_stream): ... this.
        (ui_out_field_skip): Replace with ...
        (ui_out::field_skip): ... this.
        (ui_out_field_string): Replace with ...
        (ui_out::field_string): ... this.
        (ui_out_field_fmt): Replace with ...
        (ui_out::field_fmt): ... this.
        (ui_out_spaces): Replace with ...
        (ui_out::spaces): ... this.
        (ui_out_text): Replace with ...
        (ui_out::text): ... this.
        (ui_out_message): Replace with ...
        (ui_out::message): ... this.
        (ui_out_wrap_hint): Replace with ...
        (ui_out::wrap_hint): ... this.
        (ui_out_flush): Replace with ...
        (ui_out::flush): ... this.
        (ui_out_redirect): Replace with ...
        (ui_out::redirect): ... this.
        (ui_out_test_flags): Replace with ...
        (ui_out::test_flags): ... this.
        (ui_out_is_mi_like_p): Replace with ...
        (ui_out::is_mi_like_p): ... this.
        (verify_field): Replace with ...
        (ui_out::verify_field): ... this.
        (ui_out_query_field): Replace with ...
        (ui_out::query_table_field): ... this.
        (ui_out_data): Remove.
        (ui_out_new): Remove, replace with ...
        (ui_out::ui_out): ... this constructor.
        (do_cleanup_table_end, make_cleanup_ui_out_tuple_begin_end,
        do_cleanup_end, make_cleanup_ui_out_tuple_begin_end,
        make_cleanup_ui_out_list_begin_end): Update fallouts of struct
        ui_out -> class ui_out change.
        * cli-out.c (cli_out_data): Remove.
        (cli_uiout_dtor): Remove.
        (cli_table_begin): Replace with ...
        (cli_ui_out::do_table_begin): ... this new method.
        (cli_table_body): Replace with ...
        (cli_ui_out::do_table_body): ... this new method.
        (cli_table_end): Replace with ...
        (cli_ui_out::do_table_end): ... this new method.
        (cli_table_header): Replace with ...
        (cli_ui_out::do_table_header): ... this new method.
        (cli_begin): Replace with ...
        (cli_ui_out::do_begin): ... this new method.
        (cli_end): Replace with ...
        (cli_ui_out::do_end): ... this new method.
        (cli_field_int): Replace with ...
        (cli_ui_out::do_field_int): ... this new method.
        (cli_field_skip): Replace with ...
        (cli_ui_out::do_field_skip): ... this new method.
        (cli_field_string): Replace with ...
        (cli_ui_out::do_field_string): ... this new method.
        (cli_field_fmt): Replace with ...
        (cli_ui_out::do_field_fmt): ... this new method.
        (cli_spaces): Replace with ...
        (cli_ui_out::do_spaces): ... this new method.
        (cli_text): Replace with ...
        (cli_ui_out::do_text): ... this new method.
        (cli_message): Replace with ...
        (cli_ui_out::do_message): ... this new method.
        (cli_wrap_hint): Replace with ...
        (cli_ui_out::do_wrap_hint): ... this new method.
        (cli_flush): Replace with ...
        (cli_ui_out::do_flush): ... this new method.
        (cli_redirect): Replace with ...
        (cli_ui_out::do_redirect): ... this new method.
        (out_field_fmt): Replace with ...
        (cli_ui_out::out_field_fmt): ... this new method.
        (field_separator): Replace with ...
        (cli_ui_out::field_separator): ... this new method.
        (cli_out_set_stream): Replace with ...
        (cli_ui_out::set_stream): ... this new method.
        (cli_ui_out_impl): Remove.
        (cli_out_data_ctor): Remove.
        (cli_ui_out_impl::cli_ui_out_impl): New constructor.
        (cli_ui_out_impl::~cli_ui_out_impl): New destructor.
        (cli_out_new): Change return type to cli_ui_out *, instantiate a
        cli_ui_out.
        * cli-out.h (cli_ui_out_data): Remove, replace with class
        cli_ui_out.
        (class cli_ui_out): New class.
        (cli_ui_out_impl): Remove.
        (cli_out_data_ctor): Remove.
        (cli_out_new): Change return type to cli_ui_out*.
        (cli_out_set_stream): Remove.
        * cli/cli-interp.c (struct cli_interp) <cli_uiout>: Change type
        to cli_ui_out*.
        (cli_interpreter_resume): Adapt.
        (cli_interpreter_exec): Adapt.
        * mi/mi-out.c (mi_ui_out_data, mi_out_data): Remove.
        (mi_ui_out_impl): Remove.
        (mi_table_begin): Replace with ...
        (mi_ui_out::do_table_begin): ... this.
        (mi_table_body): Replace with ...
        (mi_ui_out::do_table_body): ... this.
        (mi_table_end): Replace with ...
        (mi_ui_out::do_table_end): ... this.
        (mi_table_header): Replace with ...
        (mi_ui_out::do_table_header): ... this.
        (mi_begin): Replace with ...
        (mi_ui_out::do_begin): ... this.
        (mi_end): Replace with ...
        (mi_ui_out::do_end): ... this.
        (mi_field_int): Replace with ...
        (mi_ui_out::do_field_int): ... this.
        (mi_field_skip): Replace with ...
        (mi_ui_out::do_field_skip): ... this.
        (mi_field_string): Replace with ...
        (mi_ui_out::do_field_string): ... this.
        (mi_field_fmt): Replace with ...
        (mi_ui_out::do_field_fmt): ... this.
        (mi_spaces): Replace with ...
        (mi_ui_out::do_spaces): ... this.
        (mi_text): Replace with ...
        (mi_ui_out::do_text): ... this.
        (mi_message): Replace with ...
        (mi_ui_out::do_message): ... this.
        (mi_wrap_hint): Replace with ...
        (mi_ui_out::do_wrap_hint): ... this.
        (mi_flush): Replace with ...
        (mi_ui_out::do_flush): ... this.
        (mi_redirect): Replace with ...
        (mi_ui_out::do_redirect):
        (field_separator): Replace with ...
        (mi_ui_out::field_separator):
        (mi_open): Replace with ...
        (mi_ui_out::open): ... this.
        (mi_close): Replace with ...
        (mi_ui_out::close): ... this.
        (mi_out_rewind): Replace with ...
        (mi_ui_out::rewind): ... this.
        (mi_out_put): Replace with ...
        (mi_ui_out::put): ... this.
        (mi_version): Replace with ...
        (mi_ui_out::version): ... this.
        (mi_out_data_ctor): Replace with ...
        (mi_ui_out::mi_ui_out): ... this.
        (mi_out_data_dtor): Replace with ...
        (mi_ui_out::~mi_ui_out): ... this.
        (mi_out_new): Change return type to mi_ui_out*, instantiate
        an mi_ui_out object.
        (as_mi_ui_out): New function.
        (mi_version): Update fallouts of struct ui_out to class ui_out
        transition.
        (mi_out_put): Likewise.
        (mi_out_rewind): Likewise.
        * mi/mi-out.h (mi_out_new): Change return type to mi_ui_out*.
        * tui/tui-out.c (tui_ui_out_data, tui_out_data, tui_ui_out_impl):
        Remove.
        (tui_field_int): Replace with ...
        (tui_ui_out::do_field_int): ... this.
        (tui_field_string): Replace with ...
        (tui_ui_out::do_field_string): ... this.
        (tui_field_fmt): Replace with ...
        (tui_ui_out::do_field_fmt): ... this.
        (tui_text): Replace with ...
        (tui_ui_out::do_text): ... this.
        (tui_out_new): Change return type to tui_ui_out*, instantiate
        tui_ui_out object.
        (tui_ui_out::tui_ui_out): New.
        * tui/tui-out.h: New file.
        * tui/tui.h (tui_out_new): Move declaration to tui/tui-out.h.
        * tui/tui-io.c: Include tui/tui-out.h.
        (tui_old_uiout): Change type to cli_ui_out*.
        (tui_setup_io): Use dynamic_cast.
        * tui/tui-io.h (tui_old_uiout): Change type to cli_ui_out*.
        * tui/tui-interp.c (tui_resume): Adapt.
        * ada-lang.c (print_it_exception): Update fallouts of struct
        ui_out to class ui_out transition.
        (print_one_exception): Likewise.
        (print_mention_exception): Likewise.
        * ada-tasks.c (print_ada_task_info): Likewise.
        (info_task): Likewise.
        (task_command): Likewise.
        * auto-load.c (print_script): Likewise.
        (auto_load_info_scripts): Likewise.
        (info_auto_load_cmd): Likewise.
        * break-catch-sig.c (signal_catchpoint_print_one): Likewise.
        * break-catch-syscall.c (print_it_catch_syscall): Likewise.
        (print_one_catch_syscall): Likewise.
        * break-catch-throw.c (print_it_exception_catchpoint): Likewise.
        (print_one_exception_catchpoint): Likewise.
        (print_one_detail_exception_catchpoint): Likewise.
        (print_mention_exception_catchpoint): Likewise.
        * breakpoint.c (maybe_print_thread_hit_breakpoint): Likewise.
        (print_solib_event): Likewise.
        (watchpoint_check): Likewise.
        (wrap_indent_at_field): Likewise.
        (print_breakpoint_location): Likewise.
        (output_thread_groups): Likewise.
        (print_one_breakpoint_location): Likewise.
        (breakpoint_1): Likewise.
        (default_collect_info): Likewise.
        (watchpoints_info): Likewise.
        (print_it_catch_fork): Likewise.
        (print_one_catch_fork): Likewise.
        (print_it_catch_vfork): Likewise.
        (print_one_catch_vfork): Likewise.
        (print_it_catch_solib): Likewise.
        (print_one_catch_solib): Likewise.
        (print_it_catch_exec): Likewise.
        (print_one_catch_exec): Likewise.
        (mention): Likewise.
        (print_it_ranged_breakpoint): Likewise.
        (print_one_ranged_breakpoint): Likewise.
        (print_one_detail_ranged_breakpoint): Likewise.
        (print_mention_ranged_breakpoint): Likewise.
        (print_it_watchpoint): Likewise.
        (print_mention_watchpoint): Likewise.
        (print_it_masked_watchpoint): Likewise.
        (print_one_detail_masked_watchpoint): Likewise.
        (print_mention_masked_watchpoint): Likewise.
        (bkpt_print_it): Likewise.
        (tracepoint_print_one_detail): Likewise.
        (tracepoint_print_mention): Likewise.
        (update_static_tracepoint): Likewise.
        (tracepoints_info): Likewise.
        (save_breakpoints): Likewise.
        * cli/cli-cmds.c (complete_command): Likewise.
        * cli/cli-logging.c (set_logging_redirect): Likewise.
        (pop_output_files): Likewise.
        (handle_redirections): Likewise.
        * cli/cli-script.c (print_command_lines): Likewise.
        * cli/cli-setshow.c (do_show_command): Likewise.
        (cmd_show_list): Likewise.
        * cp-abi.c (list_cp_abis): Likewise.
        (show_cp_abi_cmd): Likewise.
        * darwin-nat-info.c (darwin_debug_regions_recurse): Likewise.
        * disasm.c (gdb_pretty_print_insn): Likewise.
        (do_mixed_source_and_assembly_deprecated): Likewise.
        (do_mixed_source_and_assembly): Likewise.
        * gdb_bfd.c (print_one_bfd): Likewise.
        (maintenance_info_bfds): Likewise.
        * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
        * guile/scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
        * i386-linux-tdep.c (i386_linux_handle_segmentation_fault): Likewise.
        * i386-tdep.c (i386_mpx_print_bounds): Likewise.
        * infcmd.c (run_command_1): Likewise.
        (print_return_value_1): Likewise.
        * inferior.c (print_selected_inferior): Likewise.
        (print_inferior): Likewise.
        * infrun.c (print_end_stepping_range_reason): Likewise.
        (print_signal_exited_reason): Likewise.
        (print_exited_reason): Likewise.
        (print_signal_received_reason): Likewise.
        (print_no_history_reason): Likewise.
        * interps.c (interp_set): Likewise.
        * linespec.c (decode_line_full): Likewise.
        * linux-thread-db.c (info_auto_load_libthread_db): Likewise.
        * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
        (mi_cmd_env_path): Likewise.
        (mi_cmd_env_dir): Likewise.
        (mi_cmd_inferior_tty_show): Likewise.
        * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Likewise.
        (print_partial_file_name): Likewise.
        (mi_cmd_file_list_exec_source_files): Likewise.
        * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Likewise.
        (mi_cmd_info_gdb_mi_command): Likewise.
        * mi/mi-cmd-stack.c (mi_cmd_stack_info_depth): Likewise.
        (mi_cmd_stack_list_args): Likewise.
        (list_arg_or_local): Likewise.
        * mi/mi-cmd-var.c (print_varobj): Likewise.
        (mi_cmd_var_create): Likewise.
        (mi_cmd_var_delete): Likewise.
        (mi_cmd_var_set_format): Likewise.
        (mi_cmd_var_show_format): Likewise.
        (mi_cmd_var_info_num_children): Likewise.
        (mi_cmd_var_list_children): Likewise.
        (mi_cmd_var_info_type): Likewise.
        (mi_cmd_var_info_path_expression): Likewise.
        (mi_cmd_var_info_expression): Likewise.
        (mi_cmd_var_show_attributes): Likewise.
        (mi_cmd_var_evaluate_expression): Likewise.
        (mi_cmd_var_assign): Likewise.
        (varobj_update_one): Likewise.
        * mi/mi-interp.c (as_mi_interp): Likewise.
        (mi_on_normal_stop_1): Likewise.
        (mi_tsv_modified): Likewise.
        (mi_breakpoint_created): Likewise.
        (mi_breakpoint_modified): Likewise.
        (mi_solib_loaded): Likewise.
        (mi_solib_unloaded): Likewise.
        (mi_command_param_changed): Likewise.
        (mi_memory_changed): Likewise.
        (mi_user_selected_context_changed): Likewise.
        * mi/mi-main.c (print_one_inferior): Likewise.
        (output_cores): Likewise.
        (list_available_thread_groups): Likewise.
        (mi_cmd_data_list_register_names): Likewise.
        (mi_cmd_data_list_changed_registers): Likewise.
        (output_register): Likewise.
        (mi_cmd_data_evaluate_expression): Likewise.
        (mi_cmd_data_read_memory): Likewise.
        (mi_cmd_data_read_memory_bytes): Likewise.
        (mi_cmd_list_features): Likewise.
        (mi_cmd_list_target_features): Likewise.
        (mi_cmd_add_inferior): Likewise.
        (mi_execute_command): Likewise.
        (mi_load_progress): Likewise.
        (print_variable_or_computed): Likewise.
        (mi_cmd_trace_frame_collected): Likewise.
        * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Likewise.
        * osdata.c (info_osdata_command): Likewise.
        * probe.c (gen_ui_out_table_header_info): Likewise.
        (print_ui_out_not_applicables): Likewise.
        (print_ui_out_info): Likewise.
        (info_probes_for_ops): Likewise.
        (enable_probes_command): Likewise.
        (disable_probes_command): Likewise.
        * progspace.c (print_program_space): Likewise.
        * python/py-breakpoint.c (bppy_get_commands): Likewise.
        * python/py-framefilter.c (py_print_type): Likewise.
        (py_print_value): Likewise.
        (py_print_single_arg): Likewise.
        (enumerate_args): Likewise.
        (enumerate_locals): Likewise.
        (py_print_args): Likewise.
        (py_print_frame): Likewise.
        * record-btrace.c (btrace_ui_out_decode_error): Likewise.
        (btrace_call_history_insn_range): Likewise.
        (btrace_call_history_src_line): Likewise.
        (btrace_call_history): Likewise.
        * remote.c (show_remote_cmd): Likewise.
        * skip.c (skip_info): Likewise.
        * solib.c (info_sharedlibrary_command): Likewise.
        * source.c (print_source_lines_base): Likewise.
        * spu-tdep.c (info_spu_event_command): Likewise.
        (info_spu_signal_command): Likewise.
        (info_spu_mailbox_list): Likewise.
        (info_spu_dma_cmdlist): Likewise.
        (info_spu_dma_command): Likewise.
        (info_spu_proxydma_command): Likewise.
        * stack.c (print_stack_frame): Likewise.
        (print_frame_arg): Likewise.
        (read_frame_arg): Likewise.
        (print_frame_args): Likewise.
        (print_frame_info): Likewise.
        (print_frame): Likewise.
        * symfile.c (load_progress): Likewise.
        (generic_load): Likewise.
        (print_transfer_performance): Likewise.
        * thread.c (do_captured_list_thread_ids): Likewise.
        (print_thread_info_1): Likewise.
        (restore_selected_frame): Likewise.
        (do_captured_thread_select): Likewise.
        (print_selected_thread_frame): Likewise.
        * top.c (execute_command_to_string): Likewise.
        * tracepoint.c (tvariables_info_1): Likewise.
        (trace_status_mi): Likewise.
        (tfind_1): Likewise.
        (print_one_static_tracepoint_marker): Likewise.
        (info_static_tracepoint_markers_command): Likewise.
        * utils.c (do_ui_out_redirect_pop): Likewise.
        (fputs_maybe_filtered): Likewise.

commit ab55d1a098571a559bf75031e1c3e7c914afadd7
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 12:07:31 2016 +1030

    Don't call "error" in sysroot-prefix.exp
    
    We don't want to report a test failure as a tcl error.
    
    	* testsuite/ld-scripts/sysroot-prefix.exp (sysroot_prefix_test_setup):
    	Call perror rather than error on "as" or "ar" failures.

commit eb3908448bfe295e49bc7bd8a88b90deaa1ba95f
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 21 16:21:23 2016 -0800

    Make linker-created symbols relocatable where appropriate.
    
    Linker-created symbols like __ehdr_start, __etext, __edata, and end
    should be relocatable, not absolute.
    
    gold/
    	* output.cc (Output_segment::first_section): Return NULL if there are
    	no sections in the segment.
    	* output.h (Output_segment::first_section_load_address): Assert that
    	first section is not NULL.
    	* symtab.cc (Symbol_table::sized_write_globals): Attach linker-created
    	segment-relative symbols to first section of the segment.

commit 514b85276b5521256e1688005e94f1d69fc10c27
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 22 00:00:35 2016 +0000

    Automatic date update in version.in

commit 87903eafb083abbf330c22fbf941fcbad700c098
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Wed Dec 21 12:33:12 2016 -0800

    Fix bugs with float compare and Inf operands.
    
    	sim/aarch64/
    	* simulator.c (set_flags_for_float_compare): Add code to handle Inf.
    	Add comment to document NaN issue.
    	(set_flags_for_double_compare): Likewise.
    
    	sim/testsuite/sim/aarch64/
    	* fcmp.s: New.

commit f0d19df99dfe1c63842206d15ae41dfd33d25bf0
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 00:40:54 2016 +1030

    Don't make_bfd_vms_lib archive functions NULL
    
    Contrary to the comment, they can in fact be called.
    
    	* libbfd-in.h (_bfd_vms_lib_slurp_armap): Use _bfd_noarchive function.
    	(_bfd_vms_lib_slurp_extended_name_table: Likewise.
    	(_bfd_vms_lib_construct_extended_name_table: Likewise.
    	(_bfd_vms_lib_truncate_arname: Likewise.
    	(_bfd_vms_lib_write_armap: Likewise.
    	(_bfd_vms_lib_read_ar_hdr: Likewise.
    	(_bfd_vms_lib_write_ar_hdr: Likewise.
    	* libbfd.h: Regenerate.

commit b2c6190bfc280f834c8aaefe8074c3a2ea6d61ad
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 00:39:02 2016 +1030

    ChangeLog formatting fixes

commit e5b737de4a22c3099345f2613c106623d7f8d7e7
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Dec 20 14:25:39 2016 -0800

    Support aligning text section from odd addresses
    
    Previously, the alignment directives were not correctly supported
    in the text section when current alignment was only 1 byte (i.e.,
    when the address was odd).  Since there are no 1-byte instructions
    in RISC-V, this patch resolves the bug by writing a zero byte to
    obtain 2-byte alignment, at which point a 2-byte NOP can be used
    to obtain 4-byte alignment.
    
    Resolves https://github.com/riscv/riscv-gnu-toolchain/issues/205
    
    	* config/tc-riscv.c (riscv_make_nops): Emit 2-byte NOPs.
    	(riscv_frag_align_code): Correct frag_align_code arg.

commit ad5bc88245bd8416fd16a2384eb00ec501bcc5e4
Author: Tim Newsome <tim@sifive.com>
Date:   Tue Dec 20 14:25:37 2016 -0800

    Fix a const-safety issue on GCC-4.9 and above
    
    	* config/tc-riscv.c (riscv_pre_output_hook): Remove const from
    	loc4_frag.

commit 58a6d3c9d8d4d4be8f1dfc1a49fed264dceddaba
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Dec 20 14:25:33 2016 -0800

    Avoid creating symbol table entries for registers
    
    Instructions like "jal t0, foo" were erroneously creating symbol table
    entries for t0 as well as foo, which causes linking problems.  Fix by
    reordering instruction alternatives so that t0 is first attempted to
    be parsed as a register, rather than as a symbol.
    
    	* riscv-opc.c (riscv_opcodes): Reorder jal and call entries.

commit 9ef7906f20e81faa4498761002e6376f4d35c865
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Wed Dec 21 21:23:34 2016 +1030

    Do not add padding if an output section is marked as ignored
    
    	* ldlang.c (size_input_section): Avoid calling insert_pad
    	if output_section_statement->ignored is set.

commit 3145b997151d2815065b5c880c1b0d63905d7630
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Fri Dec 9 21:47:58 2016 +0530

    bfd: aarch64: fix word and arrdess size declaration in ilp32 mode
    
    ILP32 has 32-bit word and address, but currently they declared as 64-bit in
    bfd_aarch64_arch_ilp32, which breaks further logic of bfd. This patch fixes it.
    
    Glibc testsuite build with patched binutils shows that next tests stop to fail:
    iconvdata/mtrace-tst-loading
    iconvdata/tst-loading
    iconvdata/tst-tables
    localedata/mtrace-tst-leaks
    localedata/tst-leaks
    posix/tst-getaddrinfo4
    posix/tst-getaddrinfo5
    posix/tst-regex2

commit 4e25adb3956f880efc28bfebabe79be7338b413f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 21 19:13:52 2016 +1030

    Remove high bit set characters
    
    gas/
    	* doc/c-lm32.texi: Fix chars with high bit set.
    	* testsuite/gas/bfin/vector2.s: Likewise.
    gold/
    	* arm.cc: Fix comment chars with high bit set.
    include/
    	* coff/pe.h: Fix comment chars with high bit set.
    	* opcode/xgate.h: Likewise.
    ld/
    	* testsuite/ld-scripts/sysroot-prefix.exp: Fix chars with high bit set.

commit 9962fe293d16e1e1e4d05154e751fc7576226954
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 21 19:07:55 2016 +1030

    Document character escape sequences
    
    	PR gas/10946
    	* doc/as.texinfo (Chars): Document escape sequences.

commit 7e66a1a05d3fc6cd72e3960608f86962efcaeb9d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 21 00:00:25 2016 +0000

    Automatic date update in version.in

commit 992f1ddc3be1f5195f18beaa801ac50f284b10c5
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Dec 20 17:07:19 2016 +0000

    gdb: Constify solib_find
    
    gdb/ChangeLog:
    2016-12-20  Pedro Alves  <palves@redhat.com>
    
    	* nto-tdep.c (nto_find_and_open_solib): Constify 'solib'
    	parameter.
    	* nto-tdep.h (nto_find_and_open_solib): Constify 'solib'
    	parameter.
    	* solib.c (solib_find_1, exec_file_find, solib_find): Constify
    	in_pathname' parameter.
    	* solist.h (struct target_so_ops) <find_and_open_solib>: Constify
    	'soname' parameter.
    	(exec_file_find, solib_find): Constify 'in_pathname' parameter.

commit 2693a26216c329bd7ec2aae7743409f572de4fa5
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Dec 20 15:46:44 2016 +0000

    Fix longjmp across readline w/ --enable-sjlj-exceptions toolchains
    
    Nowadays, GDB propagates C++ exceptions across readline using
    setjmp/longjmp 89525768cd08 ("Propagate GDB/C++ exceptions across
    readline using sj/lj-based TRY/CATCH") because DWARF-based unwinding
    can't cross C functions compiled without -fexceptions (see details
    from the commit above).
    
    Unfortunately, toolchains that use SjLj-based C++ exceptions got
    broken with that fix, because _Unwind_SjLj_Unregister, which is put at
    the exit of a function, is not executed due to the longjmp added by
    that commit.
    
     (gdb) [New Thread 2936.0xb80]
     kill
    
     Thread 1 received signal SIGSEGV, Segmentation fault.
     0x03ff662b in ?? ()
     top?bt 15
     #0  0x03ff662b in ?? ()
     #1  0x00526b92 in stdin_event_handler (error=0, client_data=0x172ed8)
        at ../../binutils-gdb/gdb/event-top.c:555
     #2  0x00525a94 in handle_file_event (ready_mask=<optimized out>,
        file_ptr=0x3ff5cb8) at ../../binutils-gdb/gdb/event-loop.c:733
     #3  gdb_wait_for_event (block=block@entry=1)
        at ../../binutils-gdb/gdb/event-loop.c:884
     #4  0x00525bfb in gdb_do_one_event ()
        at ../../binutils-gdb/gdb/event-loop.c:347
     #5  0x00525ce5 in start_event_loop ()
        at ../../binutils-gdb/gdb/event-loop.c:371
     #6  0x0051fada in captured_command_loop (data=0x0)
        at ../../binutils-gdb/gdb/main.c:324
     #7  0x0051cf5d in catch_errors (
        func=func@entry=0x51fab0 <captured_command_loop(void*)>,
        func_args=func_args@entry=0x0,
        errstring=errstring@entry=0x7922bf <VEC_interp_factory_p_quick_push(VEC_inte rp_factory_p*, interp_factory*, char const*, unsigned int)::__PRETTY_FUNCTION__+351> "", mask=mask@entry=RETURN_MASK_ALL)
        at ../../binutils-gdb/gdb/exceptions.c:236
     #8  0x00520f0c in captured_main (data=0x328feb4)
        at ../../binutils-gdb/gdb/main.c:1149
     #9  gdb_main (args=args@entry=0x328feb4) at ../../binutils-gdb/gdb/main.c:1159
     #10 0x0071e400 in main (argc=1, argv=0x171220)
        at ../../binutils-gdb/gdb/gdb.c:32
    
    Fix this by making the functions involved in setjmp/longjmp as
    noexcept, so that the compiler knows it doesn't need to emit the
    _Unwind_SjLj_Register / _Unwind_SjLj_Unregister calls for C++
    exceptions.
    
    Tested on x86_64 Fedora 23 with:
     - GCC 5.3.1 w/ DWARF-based exceptions.
     - GCC 7 built with --enable-sjlj-exceptions.
    
    gdb/ChangeLog:
    2016-12-20  Pedro Alves  <palves@redhat.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	PR gdb/20977
    	* event-top.c (gdb_rl_callback_read_char_wrapper_noexcept): New
    	noexcept function, factored out from ...
    	(gdb_rl_callback_read_char_wrapper): ... this.
    	(gdb_rl_callback_handler): Mark noexcept.

commit ff71884063d048e8f8c03de27d2bac343df4f77a
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Tue Dec 20 08:42:10 2016 -0500

    Set emacs default mode for the GDB directory to C++
    
    Since GDB has switched to C++ but the file names are still .c emacs does
    not load the proper mode when opening files in the gdb directory.
    
    This patch fixes that by enabling c++ mode.
    
    This patch also fixes indentation tweaks as discussed in this thread:
    https://sourceware.org/ml/gdb-patches/2016-12/msg00074.html
    
    Indent with gdb-code-style.el included and the .dir-locals.el is as such:
    
    namespace TestNameSpace {
    
    class test
    {
    public:
      test test() {}
    
      int m_a;
    };
    
    struct teststruct
    {
      int a;
    }
    }
    
    gdb/ChangeLog:
    
    	* .dir-locals.el: Set c++ mode for the directory and set indent
    	properly.
    	* gdb-code-style.el: Set c-set-offset 'innamespace as a safe value
    	to be used in .dir-locals.el.

commit 11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 11:38:53 2016 +0000

    MIPS16/opcodes: Respect ISA and ASE in disassembly
    
    Limit MIPS16 instruction disassembly according to the ISA level and ASE
    set selected, as with the regular MIPS and microMIPS instruction sets.
    Retain the property of `objdump -m mips:16' disassembling all MIPS16
    instructions however, regardless of any ISA level recorded in the binary
    examined.
    
    To validate the disassembler use the GAS test suite for its convenience
    of running tests across multiple ISAs, even though placing the tests in
    the binutils test suite would be more appropriate.  Adjust the single
    binutils test which depends on 64-bit instruction disassembly to have
    the ISA level required actually recorded in the binary examined.
    
    	opcodes/
    	* mips-dis.c (mips_arch_choices): Use ISA_MIPS64 rather than
    	ISA_MIPS3 as the `isa' selection in the `bfd_mach_mips16' entry.
    	(print_insn_mips16): Check opcode entries for validity against
    	the ISA level and ASE set selected.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-undecoded.s: Use `.module'
    	rather than `.set' to set the ISA level.
    
    	gas/
    	* testsuite/gas/mips/mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16e-sub.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16e-sub.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16e-sub.d: New test.
    	* testsuite/gas/mips/mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16-sub.s: New test source.
    	* testsuite/gas/mips/mips16e-sub.s: New test source.
    	* testsuite/gas/mips/mips16e-64-sub.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 853faf5cc34cfac362f33939543ce569c8ba6341
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 11:34:47 2016 +0000

    MIPS/GAS/testsuite: Add RESTORE instruction to `mips16e' test
    
    Add a RESTORE instruction smoke test to the `mips16e' GAS test.
    
    	gas/
    	* testsuite/gas/mips/mips16e.s: Add a RESTORE instruction.
    	* testsuite/gas/mips/mips16e.d: Adjust accordingly.

commit c60aaac10f9a185541b7f51a3353b95a6c764a4b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 11:33:49 2016 +0000

    MIPS/GAS/testsuite: Extend MIPS16 testing over multiple ISAs
    
    Run the `mips16', `mips16-64', `mips16e-64', `mips16-macro',
    `mips16-macro-e' and `mips16-macro-t' GAS tests over multiple MIPS16
    ISAs.
    
    	gas/
    	* testsuite/gas/mips/mips16.d: Adjust test for multiple MIPS16
    	ISA testing.
    	* testsuite/gas/mips/mips16-64.d: Adjust test for multiple
    	MIPS16 ISA testing.
    	* testsuite/gas/mips/mips16e-64.d: Adjust test for multiple
    	MIPS16 ISA testing.
    	* testsuite/gas/mips/mips16-macro.d: Adjust test for multiple
    	MIPS16 ISA testing.
    	* testsuite/gas/mips/mips16e-64.s: Ensure MIPS16 ISA annotation.
    	* testsuite/gas/mips/mips16e-64.l: Rename to...
    	* testsuite/gas/mips/mips16e-32@mips16e-64.l: ... this.
    	* testsuite/gas/mips/mips16-64@mips16.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-64.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16e-64.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16e-64.l: New stderr output.
    	* testsuite/gas/mips/mips16-32@mips16-macro.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-macro.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-32@mips16-macro-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-32@mips16-macro-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips.exp: Run `mips16', `mips16-64',
    	`mips16-macro', `mips16-macro-t', `mips16-macro-e' and
    	`mips16e-64' testing across multiple MIPS16 ISAs.  Fold
    	`mips16-macro' and `mips16e-64' list test invocations into
    	corresponding dump tests.

commit 6b4382006bd5e766581d3357bbc0cff58345d04d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 02:23:51 2016 +0000

    MIPS/GAS/testsuite: Implement individual MIPS16 ISA testing
    
    Implement individual MIPS16 ISA GAS testing for the 32-bit and 64-bit
    variants of the base MIPS16 and the MIPS16e ISA each.
    
    	gas/
    	* testsuite/gas/mips/mips.exp (run_dump_test_arch): Add
    	`mips16e' and `mips16' prefixes.
    	(run_list_test_arch): Likewise.
    	Rename `mips16' architecture to `mips16-32'.  Add `mips16-64',
    	`mips16e-32' and `mips16e-64' architectures.  Update `rol64',
    	`mips16e', `elf${el}-rel2' and `elf-rel4' test invocations
    	accordingly.
    	* testsuite/gas/mips/mips16e@branch-swap-3.d: New test.
    	* testsuite/gas/mips/mips16e@branch-swap-4.d: New test.
    	* testsuite/gas/mips/mips16e@loc-swap-dis.d: New test.
    	* testsuite/gas/mips/mips16e@loc-swap.d: New test.

commit 23c212516e3a91c74548ceccb597bdeaeb111e26
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 02:10:40 2016 +0000

    MIPS/GAS/testsuite: Fix trailing padding in `loc-swap.s'
    
    Pad alignment with zeros rather than NOP instructions, for sensible
    multi-ISA MIPS16 testing.
    
    	gas/
    	* testsuite/gas/mips/loc-swap.s: Use zeros rather than NOPs for
    	trailing alignment padding.
    	* testsuite/gas/mips/loc-swap.d: Adjust accordingly.
    	* testsuite/gas/mips/micromips@loc-swap.d: Likewise.
    	* testsuite/gas/mips/mips16@loc-swap-dis.d: Likewise.

commit 7fd5392005624f8b0522d881aa94bbb470d68cd7
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 02:03:40 2016 +0000

    MIPS16: Switch to 32-bit opcode table interpretation
    
    Switch to 32-bit MIPS16 opcode table entry interpretation, similar to
    how the microMIPS opcode table is handled, for both the `match' and
    `mask' fields, removing special casing for JAL and JALX instructions and
    their `a' and `i' operand codes throughout, while retaining automatic
    processing of extendable opcodes in assembly and disassembly.
    
    In assembly disallow size enforcement suffixes as appropriate: `.t' for
    both 32-bit instructions and macros and `.e' for macros only, making
    macro handling consistent with the microMIPS instruction set.
    
    In disassembly fully decode EXTEND prefixes prepended to unsupported
    instruction encodings (according to the ISA selection) rather than
    dumping them as hexadecimal data along with the following instruction,
    removing all special casing for the EXTEND prefix and making its
    handling rely on its opcode table entry, except where it is considered a
    part of an extendable instruction.
    
    	include/
    	* opcode/mips.h (mips_opcode_32bit_p): New inline function.
    
    	gas/
    	* config/tc-mips.c (micromips_insn_length): Use
    	`mips_opcode_32bit_p'.
    	(is_size_valid): Adjust description.
    	(is_size_valid_16): New function.
    	(validate_mips_insn): Use `mips_opcode_32bit_p' in MIPS16
    	operand decoding.
    	(validate_mips16_insn): Remove `a' and `i' operand code special
    	casing, use `mips_opcode_32bit_p' to determine instruction
    	width.
    	(append_insn): Adjust forced MIPS16 instruction size
    	determination.
    	(match_mips16_insn): Likewise.  Don't shift the instruction's
    	opcode with the `a' and `i' operand codes.  Use
    	`mips_opcode_32bit_p' in operand decoding.
    	(match_mips16_insns): Check for forced instruction size's
    	validity.
    	(mips16_ip): Don't force instruction size in the `noautoextend'
    	mode.
    	* testsuite/gas/mips/mips16-jal-e.d: New test.
    	* testsuite/gas/mips/mips16-jal-t.d: New test.
    	* testsuite/gas/mips/mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16-jal-t.l: New stderr output.
    	* testsuite/gas/mips/mips16-macro-e.l: New stderr output.
    	* testsuite/gas/mips/mips16-macro-t.l: New stderr output.
    	* testsuite/gas/mips/mips16-jal-e.s: New test source.
    	* testsuite/gas/mips/mips16-jal-t.s: New test source.
    	* testsuite/gas/mips/mips16-macro-e.s: New test source.
    	* testsuite/gas/mips/mips16-macro-t.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Always handle `extend' and
    	`insn' together, with `extend' as the high-order 16 bits.
    	(match_kind): New enum.
    	(print_insn_mips16): Rework for 32-bit instruction matching.
    	Do not dump EXTEND prefixes here.
    	* mips16-opc.c (mips16_opcodes): Move "extend" entry to the end.
    	Recode `match' and `mask' fields as 32-bit in absolute "jal" and
    	"jalx" entries.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-noinsn.d: Adjust
    	test for separate EXTEND prefix disassembly.

commit 4ebce1a0a5911e71aa2d00932ffb2126ff1f3633
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 01:53:03 2016 +0000

    MIPS16/opcodes: Correct 64-bit macros' ISA membership
    
    Limit the DDIV, DDIVU, DREM, DREMU and DSUBU macros to the MIPS III
    rather than MIPS I ISA.  These macros expand to machine code sequences
    including 64-bit instructions which require a 64-bit ISA.  Entries for
    those instructions are already correctly marked, however the marking is
    ignored if entries are used in the process of macro expansion rather
    than directly, making it possible to indirectly produce 64-bit machine
    code even when output requested has been limited to a 32-bit ISA.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set membership to I3 rather
    	than I1 for the "ddiv", "ddivu", "drem", "dremu" and "dsubu"
    	INSN_MACRO entries.
    
    	gas/
    	* testsuite/gas/mips/mips16-macro.l: New list test.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit c97dda72b905d5ba9b82004bf4e57dd4cf343147
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 01:50:24 2016 +0000

    MIPS16/opcodes: Correct I64/SDRASP opcode's ISA membership
    
    Limit the `SD ra, offset(sp)' instruction (I64/SDRASP major/minor
    opcode) to the MIPS III rather than MIPS I ISA.  This is a 64-bit
    instruction requiring a 64-bit ISA.  This bug has been there since
    forever.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set membership to I3 rather
    	than I1 for the SP-relative "sd"/$ra entry (SDRASP minor
    	opcode).
    
    	gas/
    	* testsuite/gas/mips/mips16-sdrasp.d: New test.
    	* testsuite/gas/mips/mips16-sdrasp.l: New stderr output.
    	* testsuite/gas/mips/mips16-sdrasp.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 95f6ac8822ecbad5530c4488ac54fd46b4c658a2
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 01:49:02 2016 +0000

    MIPS/GAS/testsuite: Correct NewABI test selection
    
    Make sure all tests that require NewABI support are only run with
    `has_newabi' targets, removing numerous `mips-sgi-irix5' failures.
    
    	gas/
    	* testsuite/gas/mips/mips.exp: Limit remaining tests that
    	require NewABI support to `has_newabi' targets.

commit 78d9f182f5cf4bc0d892af59030b85351b0ceab5
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 20 01:03:55 2016 -0800

    Update testsuite Makefile with missing dependencies.
    
    2016-12-20  Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	* testsuite/Makefile.am: Add missing dependencies on gcctestdir/ld
    	or ../ld-new.
    	* testsuite/Makefile.in: Regenerate.

commit 092e01962dfbe7db9f5e57ca365b8ca56b4aa96a
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 19 19:19:46 2016 -0800

    Fix read-beyond-end-of-buffer error in script parsing.
    
    2016-12-19  Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	PR gold/20949
    	* script.cc (Lex::get_token): Don't look ahead past NUL characters.

commit 3e67a37820a2838cdbd50f3f697ddc929443ceaa
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:54 2016 -0800

    Correct assembler mnemonic for RISC-V aqrl AMOs
    
    sc is a misnomer, because they aren't inherently sc.
    
    	* riscv-opc.c (riscv_opcodes): Rename the "*.sc" instructions to
    	"*.aqrl".

commit 04386d9ed5f068b74757bfac01670576e4e59b8a
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:53 2016 -0800

    Fix disassembly of RISC-V CSR instructions under -Mno-aliases
    
    This fixes https://github.com/riscv/riscv-binutils-gdb/issues/36.
    
    	* riscv-opc.c (riscv_opcodes): Mark the rd* and csr* aliases as
    	INSN_ALIAS.

commit 755c5297bdbca564e97040ce7f036ed02dc7fa4a
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:52 2016 -0800

    Add canonical JALR for RISC-V
    
        jalr rd,offset(rs1)
    
    rather than
    
        jalr rd,rs1,offset
    
    This matches the format of other instructions.
    
    	* riscv-opc.c (riscv_opcodes): Change jr and jalr to "o(s)"
    	format.

commit d115ab8eee9bb3e13aae86698a4fd91e0ed284e9
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:51 2016 -0800

    Don't define RISC-V .p2align
    
    	* config/tc-riscv.c (riscv_pseudo_table): Remove "align",
    	"p2align", and "balign".
    	(s_align): Remove.
    	(riscv_handle_align): New function.
    	(riscv_frag_align_code): Likewise.
    	(riscv_make_nops): Likewise.
    	* config/tc-riscv.h (MAX_MEM_FOR_RS_ALIGN_CODE): Change to 7.
    	(HANDLE_ALIGN): Define.
    	(md_do_align): Define.
    	(riscv_handle_align): Declare.
    	(riscv_frag_align_code): Likewise.

commit 2922d21da14b4711872371abacb16e8ab7c70894
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:50 2016 -0800

    Re-work RISC-V gas flags: now we just support -mabi and -march
    
    We've decided to standardize on two flags for RISC-V: "-march" sets the
    target architecture (which determines which instructions can be
    generated), and "-mabi" sets the target ABI.  We needed to rework this
    because the old flag set didn't support soft-float or single-float ABIs,
    and didn't support an x32-style ABI on RISC-V.
    
    Additionally, we've changed the behavior of the -march flag: it's now a
    lot stricter and only parses things we can actually understand.
    Additionally, it's now lowercase-only: the rationale is that while the
    RISC-V ISA manual specifies that ISA strings are case-insensitive, in
    Linux-land things are usually case-sensitive.  Since this flag can be
    used to determine library paths, we didn't want to bake some
    case-insensitivity in there that would case trouble later.
    
    This patch implements these two new flags and removes the old flags that
    could conflict with these.  There wasn't a RISC-V release before, so we
    want to just support a clean flag set.
    
    include/
    	* elf/riscv.h (EF_RISCV_SOFT_FLOAT): Don't define.
    	(EF_RISCV_FLOAT_ABI, EF_RISCV_FLOAT_ABI_SOFT): Define.
    	(EF_RISCV_FLOAT_ABI_SINGLE, EF_RISCV_FLOAT_ABI_DOUBLE): Define.
    	(EF_RISCV_FLOAT_ABI_QUAD): Define.
    bfd/
    	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use
    	EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT.
    binutils/
    	* readelf.c (get_machine_flags): Use
    	EF_RISCV_FLOAT_ABI_{SOFT,SINGLE,DOBULE,QUAD) instead of
    	EF_RISCV_{SOFT,HARD}_FLOAT.
    gas/
    	* config/tc-riscv.h (xlen): Delete.
    	* config/tc-riscv.c (xlen): Make static.
    	(abi_xlen): New variable.
    	(options): Replace OPTION_{M32,M64,MSOFT_FLOAT,MHARD_FLOAT,MRVC}
    	with OPTION_MABI.
    	(md_longopts): Likewise.
    	(md_parse_option): Likewise.
    	(riscv_elf_final_processing): Likewise.
    	* doc/as.texinfo (Target RISC-V options): Likewise.
    	* doc/c-riscv.texi (OPTIONS): Likewise.
    	* config/tc-riscv.c (float_mode): Removed.
    	(float_abi): New type, specifies the floating-point ABI.
    	(riscv_set_abi): New function.
    	(riscv_add_subset): Only allow lower-case ISA names and require
    	them to start with "rv".
    	(riscv_after_parse_args): Likewise.
    opcodes/
    	* riscv-dis.c (riscv_disassemble_insn): Default to the ELF's
    	XLEN when none is provided.

commit 1d61f7949f77796ee407466f3ca7f42dcde9251b
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:49 2016 -0800

    Fix an integer overflow in RISC-V relocation handling
    
    	* elfnn-riscv.c (bfd_riscv_get_max_alignment): Return bfd_vma
    	instead of unsigned int.

commit 45f764234a71431b581340957a3c8338e0593fdb
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:48 2016 -0800

    Rework RISC-V relocations
    
    Before this commit we didn't cleanly support CFI directives because the
    internal offsets used to get relaxed which broke them.  This patch
    significantly reworks how we handle linker relaxations:
    
     * DWARF is now properly supported
    
     * There is a ".option norelax" to disable relaxations, for when users
       write assembly that can't be relaxed (if it's to be later patched up,
       for example).
    
     * There is an additional _RELAX relocation that specifies when previous
       relocations can be relaxed.
    
    We're in the process of documenting the RISC-V ELF ABI, which will
    include documentation of our relocations
    
      https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
    
    but we expect that this relocation set will remain ABI compatible in the
    future (ie, it's safe to release).
    
    Thanks to Kuan-Lin Chen for figuring out how to correctly relax the
    debug info!
    
    include/
    	* elf/riscv.h: Add R_RISCV_TPREL_I through R_RISCV_SET32.
    bfd/
    	* reloc.c (BFD_RELOC_RISCV_TPREL_I): New relocation.
    	(BFD_RELOC_RISCV_TPREL_S): Likewise.
    	(BFD_RELOC_RISCV_RELAX): Likewise.
    	(BFD_RELOC_RISCV_CFA): Likewise.
    	(BFD_RELOC_RISCV_SUB6): Likewise.
    	(BFD_RELOC_RISCV_SET8): Likewise.
    	(BFD_RELOC_RISCV_SET8): Likewise.
    	(BFD_RELOC_RISCV_SET16): Likewise.
    	(BFD_RELOC_RISCV_SET32): Likewise.
    	* elfnn-riscv.c (perform_relocation): Handle the new
    	relocations.
    	(_bfd_riscv_relax_tls_le): Likewise.
    	(_bfd_riscv_relax_align): Likewise.
    	(_bfd_riscv_relax_section): Likewise.
    	(howto_table): Likewise.
    	(riscv_reloc_map): Likewise.
    	(relax_func_t): New type.
    	(_bfd_riscv_relax_call): Add reserve_size argument, which
    	controls the maximal offset pessimism.  Correct type of max_alignment.
    	(_bfd_riscv_relax_lui): Likewise.
    	(_bfd_riscv_relax_tls_le): Likewise.
    	(_bfd_riscv_relax_align): Likewise.
    	(_bfd_riscv_relax_section): Compute the required reserve size
    	when relocating and use it to when calling relax_func.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Likewise.
    gas/
    	* config/tc-riscv.c (riscv_set_options): Add relax.
    	(riscv_opts): Likewise.
    	(s_riscv_option): Add relax and norelax.
    	(riscv_apply_const_reloc): New function.
    	(append_insn): Move constant relocation handling to
    	riscv_apply_const_reloc.
    	(md_pcrel_from): Likewise.
    	(parse_relocation): Skip BFD_RELOC_UNUSED.
    	(md_pcrel_from): Handle BFD_RELOC_RISCV_SUB6,
    	BFD_RELOC_RISCV_RELAX, BFD_RELOC_RISCV_CFA.
    	(md_apply_fix): Likewise.
    	(riscv_pre_output_hook): New function.
    	* config/tc-riscv.h (md_pre_output_hook): Define.
    	(riscv_pre_output_hook): Declare.
    	(DWARF_CIE_DATA_ALIGNMENT): Always -4.

commit 1d65abb5e2cb1624b358dda27a53a070bec685cc
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:47 2016 -0800

    Formatting changes for RISC-V
    
    This is a mixed bag of format changes:
    
     * Replacing constants with macros (0xffffffff with MINUS_ONE, for
       example).  There's one technically functional change in here (some
       MINUS_ONEs are changed to 0), but it only changes the behavior of an
       otherwise-unused field.
     * Using 0 instead of 0x0 in the relocation table.
     * There were some missing spaces before parens, the spaces have been
       added.
     * A handful of comments are now more descriptive.
     * A bunch of whitespace-only changes, mostly alignment and brace
       newlines.
    
    bfd/
    	* elfnn-riscv.c: Formatting and comment fixes throughout.
    	* elfxx-riscv.c: Likewise.
    	(howto_table): Change the src_mask field from MINUS_ONE to 0 for
    	R_RISCV_TLS_DTPMOD32, R_RISCV_TLS_DTPMOD64, R_RISCV_TLS_DTPREL32,
    	R_RISCV_TLS_DTPREL64, R_RISCV_TLS_TPREL32, R_RISCV_TLS_TPREL64.
    opcodes/
    	* riscv-opc.c: Formatting fixes.
    gas/
    	* config/tc-riscv.c: Formatting and comment fixes throughout.

commit 96b0927de3ebdb302d8d571c43da3db5ec23847e
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Sun Dec 18 22:53:46 2016 -0800

    Improve RISC-V LD error message
    
    I recently ran into this error message and found it's not helpful: it
    just tells me some temporary file can't be linked.  This slightly
    improved one at least tells me it's because of an elf32/elf64 conflict.
    
    	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
    	error message when linking elf32 and elf64.

commit dd1d944e2321de26f75a21f42750dd38ed964714
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 20 11:48:21 2016 +1030

    Add opcodes RISC-V dependencies
    
    	* Makefile.am (TARGET_LIBOPCODES_CFILES): Add riscv files.
    	* Makefile.in: Regenerate.
    	* po/POTFILES.in: Regenerate.

commit 412ffd830b94a860e81e8515140ba5ebc5aa82be
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 19 16:37:48 2016 -0800

    Fix problem where linker does not place .note sections according to script.
    
    gold/
    	PR gold/14676
    	PR gold/20983
    	* layout.h (Layout::choose_output_section): Add match_input_spec
    	parameter. Adjust all callers.
    	* layout.cc (Layout::choose_output_section): Likewise.  Pass
    	match_input_spec to Script_sections::output_section_name().
    	(Layout::create_note): Pass true for match_input_spec.
    	* script-sections.h (Script_sections::output_section_name): Add
    	match_input_spec parameter.
    	* script-sections.cc (Sections_element::output_section_name): Likewise.
    	(Output_section_definition::output_section_name): Likewise.
    	(Script_sections::output_section_name): Likewise.

commit ec5882fbd19a80299e7ae738fca016ef27830ad4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 20 00:00:32 2016 +0000

    Automatic date update in version.in

commit ee7ef219cbfbcf9217b50c4d30e719e2a6182a71
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Mon Dec 19 15:23:59 2016 -0800

    Fix an internal error in the constructor of Target_arm.
    
    gold/
    	* arm.cc (Target_arm::Target_arm): Move initialization code ...
    	(Target_arm::do_select_as_default_target): ... to here.
    	* testsuite/Makefile.am (arm_target_lazy_init): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/arm_target_lazy_init.s: New source file.
    	* testsuite/arm_target_lazy_init.t: New linker script.

commit 89ede9f53b74f84febcd1c2a6db8b03f390b62ec
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 19 10:37:23 2016 -0800

    Fix forced allocation of common (-d) during -r links.
    
    If the .bss section has other data in it besides common allocations,
    gold was subtracting the wrong section start address from the symbol
    value.
    
    gold/
    	PR gold/20976
    	* symtab.cc (Symbol_table::sized_write_globals): Use address of
    	output section, not input section.
    	* testsuite/Makefile.am (pr20976): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/pr20976.c: New source file.

commit 16e69324ec7fbe4ea12f2a0a069ad207ac8e3f97
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 19 15:00:32 2016 +0000

    Clean up gdb.gdb/selftest.exp
    
    I recently see the test fails like this,
    
    (gdb) PASS: gdb.gdb/selftest.exp: step over argv initialization
    list^M
    487       std::vector<struct cmdarg> cmdarg_vec;^M
    (gdb) FAIL: gdb.gdb/selftest.exp: unknown source line (after step over argv initialization)
    
    step^M
    std::vector<cmdarg, std::allocator<cmdarg> >::vector (this=0x7fffffffdc10) at ../../binutils-gdb/gdb/main.c:487^M
    487       std::vector<struct cmdarg> cmdarg_vec;^M
    (gdb) FAIL: gdb.gdb/selftest.exp: step into xmalloc call
    
    These fails are caused by using std::vector in commit
    f60ee22ea1d62f7004511ec65a3ad76890032d88.  selttest.exp should match
    the source code of GDB.  It is a maintenance pain, so this patch
    removes do_steps_and_nexts.
    
    gdb/testsuite:
    
    2016-12-19  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.gdb/selftest.exp (do_steps_and_nexts): Remove.
    	(test_with_self): Don't call do_steps_and_nexts, and remove
    	code about stepping into xmalloc.

commit b25e998d0be7d7ec2a14bfdca03370155355d215
Author: Christian Groessler <chris@groessler.org>
Date:   Mon Dec 19 13:56:22 2016 +0100

    bfd/elf32-arm.c: Rename 'popcount' to 'elf32_arm_popcount'
    
    bfd/elf32_arm.c contains a function 'popcount' which conflicts
    with a function of the same name in NetBSD's libc.
    This change also changes popcount's 'sum' variable to signed
    since the function returns a signed integer.
    
    bfd/
    * elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'.  Make
    'sum' local variable signed.

commit 91068ec6ae02e85c5ca4fbe3c6e214bd87bb872f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Dec 19 11:35:14 2016 +0000

    MIPS/opcodes: Only examine ELF file structures if SYMTAB_AVAILABLE
    
    Correct commit 640c0ccdc980 ("some objdump -M options, better reg
    dumps"), <https://sourceware.org/ml/binutils/2002-12/msg00706.html>, and
    only execute code setting up disassembler options based on ELF file
    structures if SYMTAB_AVAILABLE is set.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options) [SYMTAB_AVAILABLE]:
    	Only examine ELF file structures here.

commit 4df995c77118d07c12fb260dbba0ca2b281324f1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Dec 19 11:32:05 2016 +0000

    MIPS/opcodes: Only call `bfd_mips_elf_get_abiflags' if BFD64
    
    Complement commit 5e7fc731f80e ("MIPS/opcodes: Also set disassembler's
    ASE flags from ELF structures") and fix an `--enable-targets=all' GDB
    build regression on 32-bit hosts where the MIPS target is a secondary:
    
    ../opcodes/libopcodes.a(mips-dis.o): In function `set_default_mips_dis_options':
    mips-dis.c:(.text+0x906): undefined reference to `bfd_mips_elf_get_abiflags'
    collect2: error: ld returned 1 exit status
    make[2]: *** [gdb] Error 1
    
    by avoiding making a call to the `bfd_mips_elf_get_abiflags' function,
    which is not available, because there is no MIPS/ELF BFD included in
    32-bit BFD builds.  This call is only made from a conditional code block
    guarded by a check against `bfd_target_elf_flavour', which is dead in
    such a configuration, however cannot be optimized away by the compiler.
    Also some other MIPS BFDs may be available, such as a.out, ECOFF or PE,
    so the disassembler has to remain functional.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options) [BFD64]: Only call
    	`bfd_mips_elf_get_abiflags' here.

commit 602a81860a9a64c6a4bf1e338698118b35518b93
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 19 00:00:21 2016 +0000

    Automatic date update in version.in

commit 53eab0d3fa9e47acccf6073172663112a1471dad
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 18 00:00:24 2016 +0000

    Automatic date update in version.in

commit e76cce6e30611bc065e7cd01d3560ce34ae97064
Merge: 1d8ed30 e5a9dc6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 16:00:58 2016 +0100

    Merge branch 'dwarf5gcc' into dwarf5gcc-readelf

commit e5a9dc602b2337032f812bf9b5462d981eeef82a
Merge: 72b1c45 ddb9ad3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Dec 17 16:00:56 2016 +0100

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

commit ddb9ad345c9b4a8cfe2c9a71190ecf408454e745
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 17 00:00:25 2016 +0000

    Automatic date update in version.in

commit 97f00e367c8222cda51bc7c0e9d3073a487a5976
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date:   Thu Dec 15 14:04:11 2016 +0100

    Darwin: Fix gdb compilation.
    
    Due to changes introduced by
    commit 4d01a485d29732b19743e8b138897f3509e071b0
    ('struct expression *' -> gdb::unique_xmalloc_ptr<expression>)
    compilation is broken on Darwin.
    
    ../gdb/darwin-nat-info.c:733:8: error: assigning to 'struct expression *'
    from incompatible type
    'expression_up' (aka 'std::__1::unique_ptr<expression, gdb::xfree_deleter<expression> >')
    expr = parse_expression (exp);
    
    Beside compilation, memory leak was solved as 'make_clean_up' was not called in previous
    version.
    
    2016-12-16  Bernhard Heckel  <bernhard.heckel@intel.com>
    
    gdb/Changelog:
    	* darwin-nat-info.c (info_mach_region_command): Use expression_up.

commit db7b55faa1a11e632ddf57505c9bb64bc783471a
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 16 10:59:36 2016 +0000

    Fix compile time warning building arm-dis.c

commit 221855059a11ab76aa909a5df4104354f9384139
Author: fincs <fincs.alt1@gmail.com>
Date:   Fri Dec 16 13:42:02 2016 +1030

    Implement and document --gc-keep-exported
    
    include/
    	* bfdlink.h (struct bfd_link_info): Add gc_keep_exported.
    bfd/
    	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
    	for info->gc_keep_exported.
    	(bfd_elf_gc_sections): Likewise.
    ld/
    	* ld.texinfo: Document --gc-keep-exported.
    	* ldlex.h (enum option_values): Add OPTION_GC_KEEP_EXPORTED.
    	* lexsup.c (parse_args): Add handling for --gc-keep-exported.

commit 4c4067e410581fe5c6190407b4fd410e7b71f9e4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 16 00:00:26 2016 +0000

    Automatic date update in version.in

commit a961cdd5f139d3c3e09170db52bd8df7dafae13f
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 15 21:29:44 2016 +1030

    Linking non-ELF file broken by PR20908 fix
    
    	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.

commit 02aa377fbdd17b763b1e32ad72ccfd1c617ce463
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 15 00:00:24 2016 +0000

    Automatic date update in version.in

commit cadf97cf20cf76af35e41075dff81197fbec0e51
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 22:17:05 2016 +0000

    MAINTAINERS: Add myself as a MIPS maintainer
    
    	* MAINTAINERS (Maintainers for particular sims): Add myself as
    	a MIPS maintainer.

commit 5e7fc731f80e0d08385a05ad47dda332a49d9341
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:49:56 2016 +0000

    MIPS/opcodes: Also set disassembler's ASE flags from ELF structures
    
    Respect any ASE flags recorded in ELF file structures for the purpose of
    selecting instructions to be disassembled, preventing code from being
    hex-dumped even though having been clearly indicated as valid at the
    assembly time.  Use date from the MIPS ABI flags structure if present,
    and otherwise there may be an MDMX ASE flag set in the ELF file header.
    For backwards compatibility only set extra flags and do not clear any,
    preserving all previously set by the architecture selected to be
    disassembled for.
    
    	include/
    	* elf/mips.h (Elf_Internal_ABIFlags_v0): Also declare struct
    	typedef as `elf_internal_abiflags_v0'.
    
    	bfd/
    	* 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.
    
    	opcodes/
    	* mips-dis.c (mips_convert_abiflags_ases): New function.
    	(set_default_mips_dis_options): Also infer ASE flags from ELF
    	file structures.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips-ase-1.d: New test.
    	* testsuite/binutils-all/mips/mips-ase-2.d: New test.
    	* testsuite/binutils-all/mips/mips-ase-3.d: New test.
    	* testsuite/binutils-all/mips/mips-ase-1.s: New test source.
    	* testsuite/binutils-all/mips/mips-ase-2.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.

commit 8184783a4069e04deb2e43b4ad0d66d80f1ad2df
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:27:00 2016 +0000

    MIPS/opcodes: Reorder ELF file header flag handling in disassembler
    
    Move ELF file header flag interpretation code, used to set disassembler
    options, beyond architecture setup.  No functional change as the effects
    of both code sections are disjoint from each other, but this provides
    for a further expansion of ELF file header flag interpretation.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options): Reorder ELF file
    	header flag interpretation code.

commit eefc3365838ed15c02bd7da39fbc31c00d07b398
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:20:01 2016 +0000

    MIPS16/GAS: Fix assertion failures with relocations on 16-bit instructions
    
    Complement commit c9775dde3277 ("MIPS16: Add R_MIPS16_PC16_S1 branch
    relocation support)" and report an assembly error when a relocation is
    required for an instruction, currently a branch only, that has been
    forced to use its unextended encoding, either with the use of an
    explicit `.t' mnemonic suffix, or by means of `.set noautoextend' being
    active, fixing an assertion failure currently caused instead.
    
    	gas/
    	* config/tc-mips.c (md_convert_frag): Report an error instead of
    	asserting on `ext'.
    	* testsuite/gas/mips/mips16-branch-unextended-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-unextended-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-unextended-1.s: New test
    	source.
    	* testsuite/gas/mips/mips16-branch-unextended-2.s: New test.
    	* testsuite/gas/mips/mips16-branch-unextended.l: New stderr
    	output.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 353abf7c10561aab3e8e7ffce6e270c3743376f0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:18:16 2016 +0000

    MIPS16: Fix SP-relative SD instruction annotation
    
    Fix the annotation of SP-relative SD instructions incorrectly marked as
    reading from the PC rather than SP, which in turn prevented their 16-bit
    forms from being scheduled into jump delay slots.  This bug has been
    there since forever.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set RD_SP rather than RD_PC in
    	`pinfo2' with SP-relative "sd" entries.
    
    	gas/
    	* testsuite/gas/mips/mips16-sprel-swap.d: New test.
    	* testsuite/gas/mips/mips16-sprel-swap.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 63e014fccdd91a89873554f6b33d7128d7112813
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:14:33 2016 +0000

    MIPS16/opcodes: Fix and clarify MIPS16e commentary
    
    Correct the note about JALRC/JRC being compact jumps rather than
    branches, and add a reference from where the remaining MIPS16e additions
    live and the jumps used to be too, complementing commit ceb94aa50d68
    ("Update insn_mo when converting to a MIPS16e compact jump"),
    <https://sourceware.org/ml/binutils/2011-06/msg00369.html>.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Update comments on MIPS16e
    	compact jumps.

commit c1fc2d7ee590f3bc87ee79c36e7216b0b6bb054b
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Sat Dec 3 18:50:43 2016 +0530

    ld: aarch64: fix TLS relaxation where TCB_SIZE is used
    
    TCB_SIZE is 2*sizeof(void *), which is 0x10 for lp64, and 0x8 for
    ilp32. During relaxation, ld goes to do a replace:
    bl   __tls_get_addr => add R0, R0, TCB_SIZE
    
    But actual implementation is:
    bfd_putl32 (0x91004000, contents + rel->r_offset + 4);
    
    Which is equivalent of add x0, x0, 0x10. This is wrong for ilp32.
    
    The possible fix for it is:
    bfd_putl32 (0x91000000 | (TCB_SIZE<<10), contents + rel->r_offset + 4);
    
    But ilp32 also needs w-registers, so it's simpler to put proper
    instruction in #if/#else condition.
    
    There are 2 such relaxations in elfNN_aarch64_tls_relax(), and so 2 new
    tests added for ilp32 mode to test it.
    
    Yury
    
    	* bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where
    	TCB_SIZE is used.
    	* ld/testsuite/ld-aarch64/aarch64-elf.exp: Add tests for the case.
    	* ld/testsuite/ld-aarch64/tls-relax-ld-le-small-ilp32.d: New file.
    	* ld/testsuite/ld-aarch64/tls-relax-ld-le-tiny-ilp32.d: New file.
    
    Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>

commit 7acd51d6971f12b832cd7281f669a7ae7feddf45
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Wed Dec 14 11:57:42 2016 +0530

    Revert "bfd: aarch64: fix word and arrdess size declaration in ilp32 mode"
    
    This reverts commit a02c3512655cc2c8ad68e4b656959b7d284acc7d.

commit 98fa61facff8fb041205950d642f5403372bfd96
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Wed Dec 14 11:56:54 2016 +0530

    Revert "ld: aarch64: fix TLS relaxation where TCB_SIZE is used"
    
    This reverts commit 6650f7bd18f8161b9f666d3e65a6346e23a9d85f.

commit a02c3512655cc2c8ad68e4b656959b7d284acc7d
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Fri Dec 9 21:17:01 2016 +0530

    bfd: aarch64: fix word and arrdess size declaration in ilp32 mode

commit 6650f7bd18f8161b9f666d3e65a6346e23a9d85f
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Sat Dec 3 18:50:43 2016 +0530

    ld: aarch64: fix TLS relaxation where TCB_SIZE is used
    
    TCB_SIZE is 2*sizeof(void *), which is 0x10 for lp64, and 0x8 for
    ilp32. During relaxation, ld goes to do a replace:
    bl   __tls_get_addr => add R0, R0, TCB_SIZE
    
    But actual implementation is:
    bfd_putl32 (0x91004000, contents + rel->r_offset + 4);
    
    Which is equivalent of add x0, x0, 0x10. This is wrong for ilp32.
    
    The possible fix for it is:
    bfd_putl32 (0x91000000 | (TCB_SIZE<<10), contents + rel->r_offset + 4);
    
    But ilp32 also needs w-registers, so it's simpler to put proper
    instruction in #if/#else condition.
    
    THere are 2 such relaxations in elfNN_aarch64_tls_relax(), and so 2 new
    tests added for ilp32 mode to test it.
    
    Yury

commit fc8e0108db6c60f2ecefb4004cddb94e8824fd42
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 14 00:00:23 2016 +0000

    Automatic date update in version.in

commit 591be3e4a841ac56bb3ee094447b708d58a6d4b8
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 13 13:01:13 2016 -0800

    Add --orphan-handling option.
    
    gold/
    	PR gold/20749
    	* options.h (--orphan-handling): New option.
    	(General_options::Orphan_handling): New enum.
    	(General_options::orphan_handling_enum): New method.
    	(General_options::set_orphan_handling_enum): New method.
    	(General_options::orphan_handling_enum_): New data member.
    	* options.cc (General_options::General_options): Initialize new member.
    	(General_options::finalize): Convert --orphan-handling argument to enum.
    	* script-sections.cc (Script_sections::output_section_name): Check it.

commit 03fb64f837bd8466ba6e7b7cb8880f5c6c87daab
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 13 11:49:22 2016 -0800

    Do not use linker script to place static relocation sections.
    
    gold/
    	PR gold/20522
    	* layout.cc (Layout::choose_output_section): Add is_reloc parameter.
    	Adjust all callers.  Do not use linker script for is_reloc sections.
    	(Layout::layout_reloc): Pass is_reloc == true.
    	* layout.h (Layout::choose_output_section): Add is_reloc parameter.

commit a6a51754740513db76fdee3aa153cdd51e87a24a
Author: Renlin Li <renlin.li@arm.com>
Date:   Tue Dec 13 12:37:18 2016 +0000

    [Binutils][AARCH64]Remove Cn register for coprocessor CRn, CRm field
    
    The internal CN register representation for coprocessor fields used in aarch64
    sys, sysl instructions are removed in this patch.
    
    After the change, those fields are represented as immediate. Related checks are
    added as well.
    
    opcodes/
    
    	* aarch64-opc.c (aarch64_opnd_qualifiers): New CR value range
    	qualifier.
    	(operand_general_constraint_met_p): Remove case for CP_REG.
    	(aarch64_print_operand): Print CRn, CRm operand using imm field.
    	* aarch64-tbl.h (QL_SYS): Use CR qualifier.
    	(QL_SYSL): Likewise.
    	(aarch64_opcode_table): Change CRn, CRm operand class and type.
    	* aarch64-opc-2.c : Regenerate.
    	* aarch64-asm-2.c : Likewise.
    	* aarch64-dis-2.c : Likewise.
    
    include/
    
    	* opcode/aarch64.h (aarch64_operand_class): Remove
    	AARCH64_OPND_CLASS_CP_REG.
    	(enum aarch64_opnd): Change AARCH64_OPND_Cn to AARCH64_OPND_CRn,
    	AARCH64_OPND_Cm to AARCH64_OPND_CRm.
    	(aarch64_opnd_qualifier): Define AARCH64_OPND_QLF_CR qualifier.
    
    gas/
    
    	* config/tc-aarch64.c (AARCH64_REG_TYPES): Remove CN register.
    	(get_reg_expected_msg): Remove CN register case.
    	(parse_operands): rewrite parser for CRn, CRm operand.
    	(reg_names): Remove CN register.
    	* testsuite/gas/aarch64/diagnostic.s: Add a new test case.
    	* testsuite/gas/aarch64/diagnostic.l: Adjust error message.

commit aa785360cfa271505394080c8e367017782ca57a
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 13 17:05:20 2016 +0000

    PE linker script improvements.
    
    	PR ld/19254
    	* scripttempl/pe.sc (.fini): KEEP this section.
    	(.gcc_except_table): Likewise.
    	(.pdata): Also accept .pdata*.

commit 963201cf5d29c4dc718b5fb3507e085b302ff896
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Tue Dec 13 08:35:31 2016 -0800

    Fix aarch64 sim bug with adds64, and add testcases for last 3 bug fixes.
    
    	sim/aarch64
    	* simulator.c (NEG, POS): Move before set_flags_for_add64.
    	(set_flags_for_add64): Replace with a modified copy of
    	set_flags_for_sub64.
    
    	sim/testsuite/sim/aarch64
    	* testutils.inc (pass): Move .Lpass to start.
    	(fail): Move .Lfail to start.  Return 1 instead of 0.
    	(start): Moved .Lpass and .Lfail to here.
    	* adds.s: New.
    	* fstur.s: New.
    	* tbnz.s: New.

commit 9282b95ab7bfe1cdf471e9dd609ae0ea7bbed925
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Dec 13 12:52:59 2016 +0000

    [AArch64] Recognize R_AARCH64_P32_ABS32 as 32-bit relocation in readelf
    
    binutils/
    	* readelf.c (is_32bit_abs_reloc): Recognize R_AARCH64_P32_ABS32.

commit 971f1d27d2ee2732f9ab2fa75923007b40e2bbec
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Dec 13 12:50:17 2016 +0000

    [AArch64] Make LD testcases support ILP32 mode
    
    ld/
    	* testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_lp64_emul): New
    	function.
    	(run_dump_test_lp64): New function which pass LP64 mode options to both
    	assembler and linker when building test binary.
    	(aarch64elftests): Remove eh-frame-merge test.
    	(eh-frame-merge-lp64): Restrict eh-frame-merge test to LP64 only.
    	(run_dump_test): Migrate to run_dump_test_lp64 if the test source was
    	written for LP64 only.
    	* testsuite/ld-aarch64/erratum843419.d: Support ILP32 mode.
    	* testsuite/ld-aarch64/farcall-b-defsym.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-defsym.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-15.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-16.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5a-local.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5a.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5b-local.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5b.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5r-local.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-6a.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-6b.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7a.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7b.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-8.d: Likewise.
    	* testsuite/ld-aarch64/limit-b.d: Likewise.
    	* testsuite/ld-aarch64/limit-bl.d: Likewise.

commit 1bec0c8632397f3c5cdcf27bbb53318f6a6af7e0
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Dec 13 12:46:35 2016 +0000

    [AArch64] Make GAS testcases support ILP32 mode
    
    gas/
    	* gas/testsuite/gas/aarch64/addsub.d: Support ILP32 mode.
    	* gas/testsuite/gas/aarch64/advsimd-across.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsimd-armv8_3.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsimd-fp16.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsimd-misc.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsisd-copy.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsisd-misc.d: Likewise.
    	* gas/testsuite/gas/aarch64/alias.d: Likewise.
    	* gas/testsuite/gas/aarch64/armv8-ras-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/b_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/beq_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/bitfield-dump: Likewise.
    	* gas/testsuite/gas/aarch64/bitfield-no-aliases.d: Likewise.
    	* gas/testsuite/gas/aarch64/codealign.d: Likewise.
    	* gas/testsuite/gas/aarch64/codealign_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/crc32-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/crc32.d: Likewise.
    	* gas/testsuite/gas/aarch64/crypto-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/crypto.d: Likewise.
    	* gas/testsuite/gas/aarch64/dwarf.d: Likewise.
    	* gas/testsuite/gas/aarch64/float-fp16.d: Likewise.
    	* gas/testsuite/gas/aarch64/floatdp2.d: Likewise.
    	* gas/testsuite/gas/aarch64/fp-armv8_3.d: Likewise.
    	* gas/testsuite/gas/aarch64/fp-const0-parse.d: Likewise.
    	* gas/testsuite/gas/aarch64/fp_cvt_int.d: Likewise.
    	* gas/testsuite/gas/aarch64/fpmov.d: Likewise.
    	* gas/testsuite/gas/aarch64/inst-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldr_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-exclusive.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-pair.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-reg-offset.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-uns-imm.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.d: Likewise.
    	* gas/testsuite/gas/aarch64/lor-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/lor.d: Likewise.
    	* gas/testsuite/gas/aarch64/lse-atomic.d: Likewise.
    	* gas/testsuite/gas/aarch64/mapmisc.d: Likewise.
    	* gas/testsuite/gas/aarch64/mov-no-aliases.d: Likewise.
    	* gas/testsuite/gas/aarch64/mov.d: Likewise.
    	* gas/testsuite/gas/aarch64/movi.d: Likewise.
    	* gas/testsuite/gas/aarch64/movw_label.d: Likewise.
    	* gas/testsuite/gas/aarch64/msr.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-fp-cvt-int.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-frint.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-ins.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-not.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-vfp-reglist-post.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-vfp-reglist.d: Likewise.
    	* gas/testsuite/gas/aarch64/no-aliases.d: Likewise.
    	* gas/testsuite/gas/aarch64/optional.d: Likewise.
    	* gas/testsuite/gas/aarch64/pac.d: Likewise.
    	* gas/testsuite/gas/aarch64/pan-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/pan.d: Likewise.
    	* gas/testsuite/gas/aarch64/rdma-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/rdma.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g0.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsldm-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/shifted.d: Likewise.
    	* gas/testsuite/gas/aarch64/sve.d: Likewise.
    	* gas/testsuite/gas/aarch64/symbol.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg-2.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg-3.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg.d: Likewise.
    	* gas/testsuite/gas/aarch64/system-2.d: Likewise.
    	* gas/testsuite/gas/aarch64/system-3.d: Likewise.
    	* gas/testsuite/gas/aarch64/system.d: Likewise.
    	* gas/testsuite/gas/aarch64/tbz_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/tlbi_op.d: Likewise.
    	* gas/testsuite/gas/aarch64/tls.d: Likewise.
    	* gas/testsuite/gas/aarch64/uao-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/uao.d: Likewise.
    	* gas/testsuite/gas/aarch64/virthostext-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/virthostext.d: Likewise.
    	* gas/testsuite/gas/aarch64/adr_1.d: Restrict test under -mabi=lp64.
    	* gas/testsuite/gas/aarch64/int-insns.d: Likewise.
    	* gas/testsuite/gas/aarch64/programmer-friendly.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-data.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g2.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gotoff_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gotoff_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gottprel_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gottprel_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-insn.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsgd_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsgd_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/tail_padding.d: Likewise.
    	* gas/testsuite/gas/aarch64/tls-desc.d: Likewise.

commit 1336427510a5ffe7ed8f0c402cc9d315cc679952
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 13 11:19:23 2016 +0000

    Add a 'Past Maintainers' section to the MAINTAINERS file.  Retire Mark Mitchell's name to this section.
    
    	* MAINTAINERS (Past Maintainers): New section.  Move Mark
    	Mitchell's name here.

commit bfbf34de2f27672282d4fa4c0916cc41890dcc6c
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 12 18:51:29 2016 -0800

    When using linker scripts, place linker-generated sections by the output section name.
    
    2016-12-12  Igor Kudrin  <ikudrin@accesssoftek.com>
    	    Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	PR gold/14676
    	* script-sections.cc (Output_section_definition::output_section_name):
    	For linker-generated sections, compare with output section name.
    	* testsuite/Makefile.am (script_test_13): New test.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/script_test_13.c: New source file.
    	* testsuite/script_test_13.sh: New script.
    	* testsuite/script_test_13.t: New linker script.

commit d81222d3863037a90e0402cf438f7e45600feea2
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 12 17:52:09 2016 -0800

    Fix edge cases in orphan section placement.
    
    There were still some cases I found where orphan section placement
    was screwy -- where the script has no output section description for
    either .data or .bss, a .bss orphan section ends up getting placed
    before the .data section. In addition, if there is an output section
    description for a data section not named .data (e.g., .rela.dyn),
    the orphan .bss gets placed before it. This patch cleans that up,
    by tracking the last allocated section even as we're adding orphans.
    
    I've also improved segment layout in the absence of a PHDRS clause.
    A zero-length NOBITS section will no longer force a new segment
    when followed by a PROGBITS section.
    
    2016-12-12  Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	* script-sections.cc (Orphan_section_placement::update_last_alloc):
    	New method.
    	(Orphan_section_placement::find_place): Place orphan .data section
    	after either RODATA or TEXT.
    	(Script_sections::place_orphan): Call update_last_alloc for allocated
    	sections.
    	(Script_sections::create_segments): Improve handling of BSS.

commit 75c6202b1d13b892581e8dd56b8e0664815390c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 13 00:00:25 2016 +0000

    Automatic date update in version.in

commit 22b05d33b4c870d65972ff8aefdd297ddc66d139
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:30:06 2016 +1030

    Don't add PHDR for objcopy/strip or ld script specifying PHDRS
    
    HPPA64 needs to add a DT_PHDR header for shared libs.  That's fine
    when linking but shouldn't happen for strip/objcopy.  Also PHDR must
    come first so there's no need to look at all program headers.
    
    bfd/
    	* elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR
    	for objcopy/strip or when a ld script specifies PHDRS.
    ld/
    	* testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64.
    	* testsuite/ld-elf/note-1.d: Likewise.
    	* testsuite/ld-elf/note-2.d: Likewise.

commit 6392030005291f7c783da2247b63ae31dc8352e0
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:29:47 2016 +1030

    Don't fudge p_vaddr when PHDR in segment
    
    RX does horrible fudges to PT_LOAD p_vaddr, that affect the testsuite
    and mean the target won't support dynamic objects.  The latter
    probably doesn't matter too much since RX is an embedded target, but
    it's easy to stop some of the fudges in order to reduce special cases
    for RX in the testsuite.  The changes make sense in isolation too.
    
    bfd/
    	* elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust
    	segments that include the ELF file header or program headers.
    ld/
    	* testsuite/ld-elf/flags1.d: Run for RX.
    	* testsuite/ld-scripts/phdrs.exp: Likewise.
    	* testsuite/ld-scripts/pr14962.d: Likewise.
    	* testsuite/ld-scripts/pr14962-2.d: Likewise.

commit ea0ffd5be2dfd6ee696fc15294d7b2bf29f267a7
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:29:26 2016 +1030

    [GOLD] Allow for larger alignment in script_test_15
    
    PowerPC64 aligns .got to a 256 byte boundary.  This tends to bump the
    data segment file size.
    
    	PR gold/16711
    	* testsuite/script_test_15a.sh: Allows larger p_filesz.
    	* testsuite/script_test_15b.sh: Likewise.
    	* testsuite/script_test_15c.sh: Likewise.

commit d32a48b9f2d8a374b7ce3f2c47cc9a1c3b184838
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:21:56 2016 +1030

    [GOLD] Adjust testcase for PowerPC64
    
    Since the linker created .TOC. symbol is placed at roughly .got+32k,
    .toc input sections must be placed in or after .got if .toc entries
    are accessed using 16-bit signed offset relocs.  crt1.o contains such
    a relocation.
    
    	PR gold/20717
    	* testsuite/pr20717.t: Add .got output section containing .toc.

commit 88acc2e16743fc1e6384758c9a68cd6d2a8bbd46
Author: Nathan Sidwell <nathan@acm.org>
Date:   Mon Dec 12 12:52:37 2016 -0500

    Port c++/78252 from GCC
    
    	PR c++/78252
    	* cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
    	(d_print_init): Initialize it.
    	(d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
    	is_lambda_arg for auto.
    	<DEMANGLE_COMPONENT_REFERENCE,
    	DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
    	is_lambda_arg.
    	<DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
    	printing.
    	* testsuite/demangle-expected: Add lambda auto mangling cases.

commit d36cab83a963f5bb3773e0218cc02f63b0851d0b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 12 09:09:43 2016 +0000

    Remove assert on exec_bfd in cris_delayed_get_disassembler
    
    cris_delayed_get_disassembler has an assert that exec_bfd can't be
    NULL, but this assert can be triggered like this,
    
    (gdb) set architecture cris
    The target architecture is assumed to be cris
    (gdb) disassemble 0x0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:
    ../../binutils-gdb/gdb/cris-tdep.c:3798: internal-error: int cris_delayed_get_disassembler(bfd_vma, disassemble_info*): Assertion `exec_bfd != NULL' failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    
    however, cris_get_disassembler does have code to handle the case that
    bfd is NULL,
    
      /* If there's no bfd in sight, we return what is valid as input in all
         contexts if fed back to the assembler: disassembly *with* register
         prefix.  Unfortunately this will be totally wrong for v32.  */
      if (abfd == NULL)
        return print_insn_cris_with_register_prefix;
    
    This patch is to remove this assert.
    
    gdb:
    
    2016-12-12  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20955
    	* cris-tdep.c (cris_delayed_get_disassembler): Remove the
    	assert.

commit 029e9d52de3ac7fe984dc079ebd24506fd1eace7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 12 09:03:34 2016 +0000

    Handle memory error in print_insn_rx
    
    Nowadays, memory error in rx disassembly is not handled, so if I
    start a fresh GDB, and disassemble,
    
    (gdb) set architecture rx
    The target architecture is assumed to be rx
    (gdb) disassemble 0x0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	brk
       0x00000001:	brk
       0x00000002:	brk
       0x00000003:	brk
    
    the output is wrong.  This patch adds code to call dis->memory_error_func
    on memory error, and longjmp to print_insn_rx.  With this patch applied,
    
    (gdb) set architecture rx
    The target architecture is assumed to be rx
    (gdb) disassemble 0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	Cannot access memory at address 0x0
    
    opcodes:
    
    2016-12-12  Yao Qi  <yao.qi@linaro.org>
    
    	* rx-dis.c: Include <setjmp.h>
    	(struct private): New.
    	(rx_get_byte): Check return value of read_memory_func, and
    	call memory_error_func and OPCODES_SIGLONGJMP on error.
    	(print_insn_rx): Call OPCODES_SIGSETJMP.

commit 3a0b8f7ddb874283879baaf8af6d11094f4c4999
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 12 09:03:34 2016 +0000

    Handle memory error in print_insn_rl78_common
    
    Nowadays, memory error in rl78 disassembly is not handled, so if I
    start a fresh GDB, and disassemble,
    
    (gdb) set architecture rl78
    The target architecture is assumed to be rl78
    (gdb) disassemble 0x0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	nop
       0x00000001:	nop
       0x00000002:	nop
       0x00000003:	nop
    
    the output is wrong.  This patch adds code to call dis->memory_error_func
    on memory error, and longjmp to print_insn_rl78_common.  With this
    patch applied,
    
    (gdb) set architecture rl78
    The target architecture is assumed to be rl78
    (gdb) disassemble 0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	Cannot access memory at address 0x0
    
    opcodes:
    
    2016-12-12  Yao Qi  <yao.qi@linaro.org>
    
    	* rl78-dis.c: Include <setjmp.h>.
    	(struct private): New.
    	(rl78_get_byte): Check return value of read_memory_func, and
    	call memory_error_func and OPCODES_SIGLONGJMP on error.
    	(print_insn_rl78_common): Call OPCODES_SIGJMP.

commit cc90de49738ad220bd1d3d001b492679fc488fe1
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Sun Dec 11 20:31:09 2016 -0800

    Fix earlier ChangeLog entry to give Igor credit, add testcases.
    
    2016-12-01  Cary Coutant  <ccoutant@gmail.com>
    	    Igor Kudrin  <ikudrin@accesssoftek.com>
    
    	PR gold/20717
    	* script-sections.cc (Script_sections): Set *keep to false when
    	no match.
    
    2016-12-11  Igor Kudrin  <ikudrin@accesssoftek.com>
    
    	PR gold/20717
    	* testsuite/Makefile.am (pr20717): New test.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/pr20717.c: New test source file.
    	* testsuite/pr20717.sh: New test script.
    	* testsuite/pr20717.t: New test linker script.

commit 5d9f66cb84b9f228c1082d3a1037355edceddded
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Sun Dec 11 17:31:25 2016 -0800

    Fix problems with bss handling in linker scripts.
    
    PR 16711 noted that gold allocates file space for BSS sections when using
    a linker script. I've fixed that by rewriting set_section_addresses and
    set_section_list_addresses to track the file offset separate from the
    current virtual address, so that BSS sections do not move the file offset.
    Now, if a series of BSS sections come at the end of a segment, we do not
    allocate file space; but if a script forces them into the middle of a
    segment, we will still allocate file space (matching Gnu ld behavior).
    I've also added a warning when that happens.
    
    That exposed another problem where orphan .bss sections were sometimes
    placed in the middle of a segment. For example, if the script mentions
    the .got section, but both .data and .bss are orphans, gold would put
    both .data and .bss in front of .got. I've fixed that by ensuring that
    orphan BSS sections are always placed after all other allocated sections.
    
    It also exposed a problem where the SUBALIGN property is not handled
    properly. The ld manual clearly states that it should override input section
    alignment, whether greater or less than the given alignment, but gold would
    only increase an input section's alignment. Gold would also place the output
    section based on its original alignment before the SUBALIGN property took
    effect, leading to a misaligned output section (where the input section
    was properly aligned in memory, but was not aligned relative to the start
    of the section), in violation of the ELF/gABI spec. I've fixed that by
    making sure that the SUBALIGN property overrides the internal alignment of
    the input sections as well as the external alignment of the output section.
    This affected the behavior of script_test_2, which was written to expect
    a misaligned section.
    
    The net effect is, I think, improved compatibility with the BFD linker.
    There are still cases where orphan placement differs, but the differences
    should be rarer and less important. ALIGN and SUBALIGN behavior is closer,
    but still not an exact match -- I still found cases where ld would create
    a misaligned output section, and where gold will properly align it.
    
    gold/
    	PR gold/16711
    	* output.cc (Output_section::set_final_data_size): Calculate data size
    	based on relative offset rather than file offset.
    	(Output_segment::set_section_addresses): Track file offset separately
    	from address offset.
    	(Output_segment::set_section_list_addresses): Add pfoff parameter.
    	Track file offset separately.  Don't move file offset for BSS
    	sections.
    	* output.h (Output_segment::set_section_list_addresses): Add pfoff
    	parameter.
    	* script-sections.cc (Orphan_section_placement): Add PLACE_LAST_ALLOC.
    	(Orphan_section_placement::Orphan_section_placement): Initialize it.
    	(Orphan_section_placement::output_section_init): Track last allocated
    	section.
    	(Orphan_section_placement::find_place): Place BSS after last allocated
    	section.
    	(Output_section_element_input::set_section_addresses): Always override
    	input section alignment when SUBALIGN is specified.
    	(Output_section_definition::set_section_addresses): Override alignment
    	of output section when SUBALIGN is specified.
    
    	* testsuite/Makefile.am (script_test_15a, script_test_15b)
    	(script_test_15c): New test cases.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/script_test_2.cc: Adjust expected layout.
    	* testsuite/script_test_15.c: New source file.
    	* testsuite/script_test_15a.sh: New shell script.
    	* testsuite/script_test_15a.t: New linker script.
    	* testsuite/script_test_15b.sh: New shell script.
    	* testsuite/script_test_15b.t: New linker script.
    	* testsuite/script_test_15c.sh: New shell script.
    	* testsuite/script_test_15c.t: New linker script.

commit e83563a9ed0dd6ccc415c4b0cce373fc3264b7a5
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Sun Dec 11 16:40:11 2016 -0800

    Regenerate Makefile.in to get rid of annoying diffs caused by non-deterministic automake.
    
    	* Makefile.in: Regenerate.

commit 98fdf25a43abdad5784e762466fdd7bd59b0899e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 12 00:00:21 2016 +0000

    Automatic date update in version.in

commit ec6f610ffcc411237e9f8955dd2227cefd255af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 11 00:00:23 2016 +0000

    Automatic date update in version.in

commit 4783ebbcfa35032ac2742f403258a14b647d9ba6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 10 00:00:21 2016 +0000

    Automatic date update in version.in

commit 64c111834081a117f902cffc15dadbc535f1c65e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 9 23:11:40 2016 +0000

    MIPS16: Remove unused `>' operand code
    
    This code has never been used throughout the repository history, and
    likely not before either, as due to the assymetry of MIPS16 instruction
    set encoding there are no 32-bit shift operations having their immediate
    shift count placed in the position of the usual `rx' instruction field.
    
    	gas/
    	* config/tc-mips.c (mips16_macro_build) <'>'>: Remove case.
    
    	include/
    	* opcode/mips.h: Remove references to `>' operand code.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'>'>: Remove cases.

commit f17ecb4baca990b57cc57e8337c4e03ecee02742
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 9 22:50:07 2016 +0000

    MIPS16/opcodes: Use hexadecimal interpretation for the `e' operand code
    
    Make the `e' operand code used with raw EXTEND instructions use the
    hexadecimal rather than decimal format, for consistency with what is
    actually produced by code in `print_insn_mips16' dedicated to EXTEND
    disassembly.  Due to that special handling the operand code is only
    interpreted for assembly however, which accepts either format either
    way, so there is no functional change here.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'e'>: Use HINT rather
    	than UINT.
    
    	gas/
    	* testsuite/gas/mips/mips16-extend.d: New test.
    	* testsuite/gas/mips/mips16-extend.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 55af478400524cba7994e353fd9a98ef1543df2f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 9 22:27:00 2016 +0000

    MIPS16/opcodes: Reformat raw EXTEND and undecoded output
    
    Use a tab rather than a space to separate `extend' and its uninterpreted
    argument output, like with regular instructions.  Separate hexadecimal
    halves of undecoded extended instructions output with a space instead of
    presenting them concatenated.
    
    	opcodes/
    	* mips-dis.c (print_insn_mips16): Use a tab rather than a space
    	to separate `extend' and its uninterpreted argument output.
    	Separate hexadecimal halves of undecoded extended instructions
    	output.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-noinsn.d: New test.
    	* testsuite/binutils-all/mips/mips16-extend-noinsn.s: New test
    	source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new test.

commit 1736a7bd96e8927c3f889a35f9153df4fd19d833
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 9 16:08:49 2016 +0000

    gdb: Remove support for obsolete OSABIs and a.out
    
    gdb/ChangeLog:
    2016-12-09  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o.
    	* alpha-fbsd-tdep.c (_initialize_alphafbsd_tdep): Adjust.
    	* alpha-nbsd-tdep.c: Move comment to _initialize_alphanbsd_tdep.
    	(alphanbsd_core_osabi_sniffer): Delete.
    	(_initialize_alphanbsd_tdep): No longer handle a.out.
    	* alpha-obsd-tdep.c (_initialize_alphaobsd_tdep): Adjust.
    	* amd64-fbsd-tdep.c (_initialize_amd64fbsd_tdep): Adjust.
    	* amd64-nbsd-tdep.c (_initialize_amd64nbsd_tdep): Adjust.
    	* amd64-obsd-tdep.c (amd64obsd_supply_regset)
    	(amd64obsd_combined_regset)
    	(amd64obsd_iterate_over_regset_sections, amd64obsd_core_init_abi):
    	Delete.
    	(_initialize_amd64obsd_tdep): Don't handle a.out.
    	* arm-nbsd-nat.c (struct md_core, fetch_core_registers)
    	(arm_netbsd_core_fns): Delete.
    	(_initialize_arm_netbsd_nat): Don't register arm_netbsd_core_fns.
    	* arm-nbsd-tdep.c (arm_netbsd_aout_init_abi)
    	(arm_netbsd_aout_osabi_sniffer): Delete.
    	(_initialize_arm_netbsd_tdep): Don't handle a.out.
    	* arm-obsd-tdep.c (armobsd_core_osabi_sniffer): Delete.
    	(_initialize_armobsd_tdep): Don't handle a.out.
    	* arm-tdep.c (arm_gdbarch_init): Remove bfd_target_aout_flavour
    	case.
    	* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Remove
    	SunOS a.out handling.
    	* configure.tgt (vax-*-netbsd* | vax-*-knetbsd*-gnu): Remove
    	vax-obsd-tdep.o from gdb_target_objs.
    	(vax-*-openbsd*): Likewise.
    	(*-*-freebsd*): Adjust default gdb_osabi.
    	(*-*-openbsd*): Likewise.
    	* dbxread.c (block_address_function_relative): Delete.
    	(dbx_symfile_read): Remove reference to
    	block_address_function_relative.
    	(dbx_symfile_read): Don't call read_dbx_dynamic_symtab.
    	(read_dbx_dynamic_symtab): Delete.
    	(process_one_symbol): Remove references to
    	block_address_function_relative.
    	* defs.h (GDB_OSABI_FREEBSD_AOUT, GDB_OSABI_NETBSD_AOUT): Remove.
    	(GDB_OSABI_FREEBSD_ELF): Rename to ...
    	(GDB_OSABI_FREEBSD): ... this.
    	(GDB_OSABI_NETBSD_ELF): Rename to ...
    	(GDB_OSABI_NETBSD): ... this.
    	(GDB_OSABI_OPENBSD_ELF): Rename to ...
    	(GDB_OSABI_OPENBSD): ... this.
    	(GDB_OSABI_HPUX_ELF, GDB_OSABI_HPUX_SOM): Remove.
    	* fbsd-tdep.c: Adjust comment.
    	* hppa-nbsd-tdep.c (_initialize_hppanbsd_tdep): Adjust.
    	* hppa-obsd-tdep.c (GDB_OSABI_NETBSD_CORE): Delete.
    	(hppaobsd_core_osabi_sniffer): Delete.
    	(_initialize_hppabsd_tdep): Don't handle a.out.
    	* hppa-tdep.c (hppa_stub_frame_unwind_cache): Don't handle
    	GDB_OSABI_HPUX_SOM.
    	(hppa_gdbarch_init): Likewise.
    	* i386-bsd-tdep.c (i386bsd_aout_osabi_sniffer)
    	(i386bsd_core_osabi_sniffer, _initialize_i386bsd_tdep): Delete.
    	* i386-fbsd-tdep.c (i386fbsdaout_init_abi): Delete.  Merge bits
    	with ...
    	(i386fbsd_init_abi): ... this.
    	(_initialize_i386fbsd_tdep): Don't handle a.out.
    	* i386-nbsd-tdep.c (_initialize_i386nbsd_tdep): Adjust.
    	* i386-obsd-tdep.c (i386obsd_aout_supply_regset)
    	(i386obsd_aout_gregset)
    	(i386obsd_aout_iterate_over_regset_sections): Delete.
    	(i386obsd_init_abi): Merge with i386obsd_elf_init_abi.
    	(i386obsd_aout_init_abi): Delete.
    	(_initialize_i386obsd_tdep): Don't handle a.out.
    	* m68k-bsd-tdep.c (m68kobsd_sigtramp_cache_init)
    	(m68kobsd_sigtramp): Delete.
    	(m68kbsd_init_abi): Merge with ...
    	(m68kbsd_elf_init_abi): ... this, and delete it.
    	(m68kbsd_aout_init_abi): Delete.
    	(m68kbsd_aout_osabi_sniffer, m68kbsd_core_osabi_sniffer): Delete.
    	(_initialize_m68kbsd_tdep): Don't handle a.out.
    	* mips-nbsd-tdep.c (_initialize_mipsnbsd_tdep): Adjust.
    	* mips64-obsd-tdep.c (_initialize_mips64obsd_tdep): Adjust.
    	* osabi.c (gdb_osabi_names): Remove "a.out" entries.  Drop "ELF"
    	suffixes.  Remove "HP-UX" entries.
    	(generic_elf_osabi_sniff_abi_tag_sections): Adjust.
    	(generic_elf_osabi_sniffer): No longer handle GDB_OSABI_HPUX_ELF.
    	Adjust.
    	(_initialize_ppcfbsd_tdep): Adjust.
    	* ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Adjust.
    	* ppc-obsd-tdep.c (GDB_OSABI_NETBSD_CORE)
    	(ppcobsd_core_osabi_sniffer): Delete.
    	(_initialize_ppcobsd_tdep): Don't handle a.out.
    	* rs6000-tdep.c (rs6000_gdbarch_init): Adjust.
    	* sh-nbsd-tdep.c (GDB_OSABI_NETBSD_CORE)
    	(shnbsd_core_osabi_sniffer): Delete.
    	(_initialize_shnbsd_tdep): Don't handle a.out.
    	* solib.c (clear_solib): Don't handle SunOS/a.out.
    	* sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Make extern.
    	(sparc32nbsd_aout_init_abi): Delete.
    	(sparc32nbsd_elf_init_abi): Merged into sparc32nbsd_init_abi.
    	(sparcnbsd_aout_osabi_sniffer): Delete.
    	(GDB_OSABI_NETBSD_CORE, sparcnbsd_core_osabi_sniffer): Delete.
    	(_initialize_sparcnbsd_tdep): No longer handle a.out.
    	* sparc-obsd-tdep.c (sparc32obsd_init_abi)
    	(_initialize_sparc32obsd_tdep): Adjust.
    	* sparc-tdep.h (sparc32nbsd_elf_init_abi): Rename to ...
    	(sparc32nbsd_init_abi): ... this.
    	* sparc64-fbsd-tdep.c (_initialize_sparc64fbsd_tdep): Adjust.
    	* sparc64-nbsd-tdep.c (_initialize_sparc64nbsd_tdep): Adjust.
    	* sparc64-obsd-tdep.c (_initialize_sparc64obsd_tdep): Adjust.
    	* stabsread.c: Update comment.
    	* symmisc.c (print_objfile_statistics): Don't mention "a.out" in
    	output.
    	* vax-nbsd-tdep.c (_initialize_vaxnbsd_tdep): Adjust.
    	* vax-obsd-tdep.c: Delete file.

commit f94f411b8308674eb4f790a9fcad0ffa30b568e5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 15:44:48 2016 +0000

    Add ChangeLog entries
    
    ChangeLog entries are missed in my two previous commits.

commit a28aa6edd4ba848c110cd73fd4e29c2bbdb2cb72
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 15:27:43 2016 +0000

    Create tdep->rx_psw_type and tdep->rx_fpsw_type lazily
    
    I build GDB with all targets enabled, and "set architecture rx",
    GDB crashes,
    
    (gdb) set architecture rx
    
    Program received signal SIGSEGV, Segmentation fault.
    append_flags_type_flag (type=0x20cc360, bitpos=bitpos@entry=0, name=name@entry=0xd27529 "C") at ../../binutils-gdb/gdb/gdbtypes.c:4926
    4926				   name);
    (gdb) bt 10
     #0  append_flags_type_flag (type=0x20cc360, bitpos=bitpos@entry=0, name=name@entry=0xd27529 "C") at ../../binutils-gdb/gdb/gdbtypes.c:4926
     #1  0x00000000004ce725 in rx_gdbarch_init (info=..., arches=<optimized out>) at ../../binutils-gdb/gdb/rx-tdep.c:1051
     #2  0x00000000006b05a4 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5269
     #3  0x000000000060eee4 in gdbarch_update_p (info=...) at ../../binutils-gdb/gdb/arch-utils.c:557
     #4  0x000000000060f8a8 in set_architecture (ignore_args=<optimized out>, from_tty=1, c=<optimized out>) at ../../binutils-gdb/gdb/arch-utils.c:531
     #5  0x0000000000593d0b in do_set_command (arg=<optimized out>, arg@entry=0x20bee81 "rx ", from_tty=from_tty@entry=1, c=c@entry=0x20b1540)
        at ../../binutils-gdb/gdb/cli/cli-setshow.c:455
     #6  0x00000000007665c3 in execute_command (p=<optimized out>, p@entry=0x20bee70 "set architecture rx ", from_tty=1) at ../../binutils-gdb/gdb/top.c:666
     #7  0x00000000006935f4 in command_handler (command=0x20bee70 "set architecture rx ") at ../../binutils-gdb/gdb/event-top.c:577
     #8  0x00000000006938d8 in command_line_handler (rl=<optimized out>) at ../../binutils-gdb/gdb/event-top.c:767
     #9  0x0000000000692c2c in gdb_rl_callback_handler (rl=0x20be7f0 "") at ../../binutils-gdb/gdb/event-top.c:200
    
    The cause is that we want to access some builtin types in gdbarch init, but
    it is not initialized yet.  I fix it by creating the type when it is to be
    used.  We've already done this in sparc, sparc64 and m68k.
    
    gdb:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20954
    	* rx-tdep.c (rx_psw_type): New function.
    	(rx_fpsw_type): New function.
    	(rx_register_type): Call rx_psw_type and rx_fpsw_type.
    	(rx_gdbarch_init): Move code to rx_psw_type and
    	rx_fpsw_type.
    
    gdb/testsuite:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/all-architectures.exp.in: Remove kfail for "rx".

commit 1a31b34a18d61dee55042f2ab23c8fa9203fe6ef
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 15:27:43 2016 +0000

    Create tdep->rl78_psw_type lazily
    
    I build GDB for all targets enabled.  When I "set architecture rl78",
    GDB crashes,
    
    (gdb) set architecture rl78
    
    Program received signal SIGSEGV, Segmentation fault.
    append_flags_type_flag (type=0x20cc0e0, bitpos=bitpos@entry=0, name=name@entry=0x11dba3f "CY") at ../../binutils-gdb/gdb/gdbtypes.c:4926
    4926				   name);
    (gdb) bt 10
     #0  append_flags_type_flag (type=0x20cc0e0, bitpos=bitpos@entry=0, name=name@entry=0x11dba3f "CY") at ../../binutils-gdb/gdb/gdbtypes.c:4926
     #1  0x00000000004aaca8 in rl78_gdbarch_init (info=..., arches=<optimized out>) at ../../binutils-gdb/gdb/rl78-tdep.c:1410
     #2  0x00000000006b05a4 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5269
     #3  0x000000000060eee4 in gdbarch_update_p (info=...) at ../../binutils-gdb/gdb/arch-utils.c:557
     #4  0x000000000060f8a8 in set_architecture (ignore_args=<optimized out>, from_tty=1, c=<optimized out>) at ../../binutils-gdb/gdb/arch-utils.c:531
     #5  0x0000000000593d0b in do_set_command (arg=<optimized out>, arg@entry=0x20be851 "rl78", from_tty=from_tty@entry=1, c=c@entry=0x20b1540)
        at ../../binutils-gdb/gdb/cli/cli-setshow.c:455
     #6  0x00000000007665c3 in execute_command (p=<optimized out>, p@entry=0x20be840 "set architecture rl78", from_tty=1) at ../../binutils-gdb/gdb/top.c:666
     #7  0x00000000006935f4 in command_handler (command=0x20be840 "set architecture rl78") at ../../binutils-gdb/gdb/event-top.c:577
     #8  0x00000000006938d8 in command_line_handler (rl=<optimized out>) at ../../binutils-gdb/gdb/event-top.c:767
     #9  0x0000000000692c2c in gdb_rl_callback_handler (rl=0x20be890 "") at ../../binutils-gdb/gdb/event-top.c:200
    
    The cause is that we want to access some builtin types in gdbarch init, but
    it is not initialized yet.  I fix it by creating the type when it is to be
    used.  We've already done this in sparc, sparc64 and m68k.
    
    gdb:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20953
    	* rl78-tdep.c (rl78_psw_type): New function.
    	(rl78_register_type): Call rl78_psw_type.
    	(rl78_gdbarch_init): Move code to rl78_psw_type.
    
    gdb/testsuite:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/all-architectures.exp.in: Remove kfail for rl78.

commit f1b5deee16144a75aa605bf37ed38d461587d399
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 9 14:59:09 2016 +0000

    Add test that exercises all bfd architecture, osabi, endian, etc. combinations
    
    This adds a test that exposes several problems fixed by earlier
    patches:
    
    #1 - Buffer overrun when host/target formats match, but sizes don't.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00125.html
    
    #2 - Missing handling for FR-V FR300.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00117.html
    
    #3 - BFD architectures with spaces in their names (v850).
         https://sourceware.org/ml/binutils/2016-03/msg00108.html
    
    #4 - The OS ABI names with spaces issue.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00116.html
    
    #5 - Bogus HP/PA long double format.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00122.html
    
    #6 - Cris big endian internal error.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00126.html
    
    #7 - Several PowerPC bfd archs/machines not handled by gdb.
         https://sourceware.org/bugzilla/show_bug.cgi?id=19797
    
    And hopefully helps catch others in the future.
    
    This started out as a test that simply did,
    
     gdb -ex "print 1.0L"
    
    to exercise #1 above.
    
    Then to cover both 32-bit target / 64-bit host and the converse, I
    thought of having the testcase print the floats twice, once with the
    architecture set to "i386" and then to "i386:x86-64".  This way it
    wouldn't matter whether gdb was built as 32-bit or a 64-bit program.
    
    Then I thought that other archs might have similar host/target
    floatformat conversion issues as well.  Instead of hardcoding some
    architectures in the test file, I thought we could just iterate over
    all bfd architectures and OS ABIs supported by the gdb build being
    tested.  This is what then exposed all the other problems listed
    above...
    
    With an --enable-targets=all, this exercises over 14 thousand
    combinations.  If left in a single test file, it all consistenly runs
    in under a minute on my machine (An Intel i7-4810MQ @ 2.8 MHZ running
    Fedora 23).  Split in 8 chunks, as in this commit, it runs in around
    25 seconds, with make -j8.
    
    To avoid flooding the gdb.sum file, it avoids calling "pass" on each
    tested combination/iteration.  I'm explicitly not implementing that by
    passing an empty message to gdb_test / gdb_test_multiple, because I
    still want a FAIL to be logged in gdb.sum.  So instead this puts the
    internal passes in the gdb.log file, only, prefixed "IPASS:", for
    internal pass.  TBC, if some iteration fails, it'll still show up as
    FAIL in gdb.sum.  If this is an approach that takes on, I can see us
    extending the common bits to support it for all testcases.
    
    gdb/testsuite/ChangeLog:
    2016-12-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/all-architectures-0.exp: New file.
    	* gdb.base/all-architectures-1.exp: New file.
    	* gdb.base/all-architectures-2.exp: New file.
    	* gdb.base/all-architectures-3.exp: New file.
    	* gdb.base/all-architectures-4.exp: New file.
    	* gdb.base/all-architectures-5.exp: New file.
    	* gdb.base/all-architectures-6.exp: New file.
    	* gdb.base/all-architectures-7.exp: New file.
    	* gdb.base/all-architectures.exp.in: New file.

commit fc2f703edb656c69b0026a006c6063cdb255e06a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Use code cache in aarch64 prologue analyzer
    
    This patch change aarch prologue analyzer using code cache, in order
    to improve the performance of remote debugging.
    
    gdb.perf/skip-prologue.exp (measured by wall-time) is improved when
    the program is compiled without debug information.
    
    			Original	Patched		Original	Patched
    			without dbg	without dbg	with dbg	with dbg
    
    /			11.1635239124	9.99472999573	9.65339517593	9.66648793221
    -fstack-protector-all	11.2560930252	9.338118	9.63896489143	9.59474396706
    
    gdb:
    
    2016-12-9  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (instruction_reader::read): Call
    	read_code_unsigned_integer instead of
    	read_memory_unsigned_integer.

commit 198cd59d289209ad63cdd6da45e02a1c12b423a7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Use code cache in arm prologue analyzer
    
    This patch change arm prologue analyzer using code cache, in order
    to improve the performance of remote debugging.
    
    gdb.perf/skip-prologue.exp (measured by wall-time) is improved a lot,
    
    			Original	Patched		Original	Patched
    			without dbg	without dbg	with dbg	with dbg
    
    -marm			14.166741848	9.32852292061  	11.4908499718  	9.16302204132
    -marm   		14.6705040932  	9.34849786758  	18.2788009644  	9.14823913574
    \-fstack-protector-all
    -mthumb			34.4391930103	10.6062178612 	13.7886838913	10.3094120026
    -mthumb
    \-fstack-protector-all	34.9310460091	10.6413481236	25.3875930309	10.6294929981
    
    gdb:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (skip_prologue_function): Call
    	read_code_unsigned_integer instead of
    	read_memory_unsigned_integer.
    	(thumb_analyze_prologue): Likewise.
    	(arm_analyze_load_stack_chk_guard): Likewise.
    	(arm_skip_stack_protector): Likewise.
    	(arm_analyze_prologue):Likewise.
    	(extend_buffer_earlier): Call target_read_code instead
    	of target_read_memory.
    	(arm_adjust_breakpoint_address): Likewise.

commit 364ca42e71dfdce3f34e97ef028f7e3d5b5d880e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Compile gdb.perf/skip-prologue.c with and without debug info
    
    gdb.perf/skip-prologue.exp is intended to measure the performance of
    skipping prologue with prologue analysis by setting breakpoints.
    However, if program is compiled with debug info, GDB is smart to
    skip prologue by line table from debug info, so prologue analysis
    is not exercised at all.
    
    This patch adds a parameter COMPILE to specify compiling with
    debug information, otherwise, it is compiled without debug
    information.
    
    gdb/testsuite:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.perf/skip-prologue.exp: Add parameter COMPILE.

commit c752a4cccb99ba73f51eff74b394dcdcd26d4c59
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Wed May 25 18:54:40 2016 +0200

    Hurd: Adjust to changes to "push pruning old threads down to the target"
    
    For "info threads", we currently run into:
    
        $ gdb/gdb -q -nw -nx --batch -ex start -ex info\ threads bfd/doc/chew
        Temporary breakpoint 1 at 0x80486e0: file ../../../W._C._Handy/bfd/doc/chew.c, line 1535.
        [New Thread 10656.5]
    
        Thread 4 hit Temporary breakpoint 1, main (ac=1, av=0x102cd84) at ../../../W._C._Handy/bfd/doc/chew.c:1535
        1535    {
          Id   Target Id         Frame
          1    bogus thread id 1 Can't fetch registers from thread bogus thread id 1: No such thread
    
    Before commit e8032dde10b743253125d7defb5f5503b21c1d26,
    gdb/thread.c:update_thread_list used to call prune_threads, after that change
    it doesn't anymore, and we don't implement the to_update_thread_list target
    method where the prune_threads call got moved.  For now, apply a fix, related
    to commit c82f56d9d760a9b4034eeaac44f2f0fa5779ff69 "Hurd: Adjust to
    startup-with-shell changes", which restores the previous behavior:
    
          Id   Target Id         Frame
        * 4    Thread 10688.4    main (ac=1, av=0x102cd84) at ../../../W._C._Handy/bfd/doc/chew.c:1535
          5    Thread 10688.5    0x0106096c in ?? () from /lib/i386-gnu/libc.so.0.3
    
    Not perfect, but at least better.
    
    	gdb/
    	* gnu-nat.c (gnu_create_inferior): After startup_inferior, call
    	prune_threads.

commit 53488a6e194af11c2528e5e284facb8a6171b695
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Thu Dec 8 18:42:03 2016 +0100

    Avoid PATH_MAX usage
    
    On GNU/Hurd, there is no "#define PATH_MAX", so this failed to build.
    
    	gdb/
    	* inferior.c (print_selected_inferior): Avoid PATH_MAX usage.

commit cfccf141f0db8de28ba21a8920939c30e123d73e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 9 00:00:25 2016 +0000

    Automatic date update in version.in

commit 39f66f3ae25ebd3a065218ce880280fd5b4b861c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 23:29:37 2016 +0000

    MIPS16/opcodes: Fix off-by-one indentation in `print_mips16_insn_arg'
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Remove extraneous
    	indentation space across.

commit 860b03a8f357d1565bd9d79ae25121059b2d28ae
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 23:29:01 2016 +0000

    MIPS16/opcodes: Fix PC-relative operation delay-slot adjustment
    
    Complement commit dd8b7c222e0e ("MIPS: mips16e jalrc/jrc opcodes"),
    <https://sourceware.org/ml/binutils/2005-07/msg00349.html>, and stop the
    disassembler making a delay-slot adjustment for PC-relative operations
    following either MIPS16e compact jumps, or undefined RR/J(AL)R(C)
    encodings that have the `l' (link) and `ra' (source register is `ra')
    bits set both at a time.  Adjust code description for accuracy.  Add a
    suitable test case.
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Avoid delay-slot
    	adjustment for PC-relative operations following MIPS16e compact
    	jumps or undefined RR/J(AL)R(C) encodings.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-pcrel.d: New test.
    	* testsuite/binutils-all/mips/mips16-pcrel.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new test.

commit 731f7c4ea30cc409c45412eec15e3d66afe051f5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 22:55:42 2016 +0000

    ARC/GAS: Correct a `spaces' global shadowing error
    
    Fix a commit a9752fdf8398 ("[ARC] Sync cpu names with the ones accepted
    by GCC.") build regression:
    
    cc1: warnings being treated as errors
    .../gas/config/tc-arc.c: In function 'arc_show_cpu_list':
    .../gas/config/tc-arc.c:3452: error: declaration of 'spaces' shadows a global declaration
    .../gas/../include/libiberty.h:248: error: shadowed declaration is here
    make[4]: *** [tc-arc.o] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	gas/
    	* config/tc-arc.c (arc_show_cpu_list): Rename `spaces' local
    	variable to `space_buf'.

commit bf355b690f07315bf2704e349c4f1c9ca611f031
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 22:53:39 2016 +0000

    ARM/GAS: Correct an `index' global shadowing error
    
    Fix a commit 008a97eff0ca ("[GAS][ARM]Generate unpredictable warning for
    pc used in data processing instructions with register-shifted register
    operand.") build regression:
    
    cc1: warnings being treated as errors
    .../gas/config/tc-arm.c: In function 'encode_arm_shift':
    .../gas/config/tc-arm.c:7439: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    make[4]: *** [tc-arm.o] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	gas/
    	* config/tc-arm.c (encode_arm_shift): Rename `index' local
    	variable to `op_index'.

commit 329d01f70ea6367a9593c9b31e268c06dd729ec9
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 22:51:44 2016 +0000

    AArch64/opcodes: Correct another `index' global shadowing error
    
    Fix a commit c2c4ff8d52a2 ("[AArch64] Add ARMv8.3 FCMLA and FCADD
    instructions") build regression:
    
    cc1: warnings being treated as errors
    .../opcodes/aarch64-dis.c: In function 'aarch64_ext_sve_addr_rr_lsl':
    .../opcodes/aarch64-dis.c:1324: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    make[4]: *** [aarch64-asm.lo] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	opcodes/
    	* aarch64-asm.c (aarch64_ins_reglane): Rename `index' local
    	variable to `reglane_index'.

commit 3a2488dd21a895df3ffb49048f5de1a83ce2ddd4
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 8 07:25:09 2016 -0600

    Fix crash when disassembling invalid range on powerpc vle
    
    I got a report of a gdb crash for vle and further investigation showed an
    attempt to disassemble an invalid memory range.  I tracked the crash down
    to the code in get_powerpc_dialect, where we fail to make sure we have a
    valid section pointer before dereferencing it.
    
    There is no such problem for rs6000-based disassembling.
    
    opcodes/ChangeLog:
    
    2016-12-08  Luis Machado  <lgustavo@codesourcery.com>
    
    	* ppc-dis.c (get_powerpc_dialect): Check NULL info->section.

commit 1d262527cf7ef3cdd2c015dc3540b47996e94d37
Author: Etienne Buira <etienne.buira@gmail.com>
Date:   Thu Dec 8 12:52:21 2016 +0000

    Always use a hex prefix when displaying the alignment of program headers.
    
    	* readelf.c (process_program_headers): Always use hex prefix when
    	displaying the segment alignment.

commit 980d0cdd2fc40c30f3ddef644659d7d0dc00ed40
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 16:08:29 2016 +1030

    [GOLD] Don't assert in powerpc stub_table
    
    A branch in a non-exec section that needs a stub can lead to this
    assertion.
    
    	* powerpc.cc (Powerpc_relobj::stub_table): Return NULL rather
    	then asserting.

commit 69a2af1016e03239f7af4e55268bd27fc500f800
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 10:49:28 2016 +1030

    [GOLD] fix typo in --stub-group-multi help
    
    	* options.h (--stub-group-multi): Fix typo.

commit da17fe9de923fcee29e6f809693eb7e590966575
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 09:50:17 2016 +1030

    sync binutils config/ with gcc
    
    config/
    	* acx.m4: Import from gcc.
    	* bootstrap-asan.mk: Likewise.
    	* multi.m4: Likewise.
    /
    	* configure: Regnerate.
    gas/
    	* configure: Regnerate.
    ld/
    	* configure: Regnerate.
    libiberty/
    	* configure: Regnerate.
    zlib/
    	* configure: Regnerate.

commit 8e2a4f11d477986aa360a3b588d35a194efe58f8
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 09:51:00 2016 +1030

    PR20932, Internal error during record link assignment
    
    	PR ld/20932
    	* elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.

commit c3187fa5cc72734e6fc766a85d657018c0516bad
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Dec 8 09:45:59 2016 +0100

    Hurd: In the CLI, use parse_thread_id instead of global_thread_id_to_ptid
    
    Follow-up to commit 14f6890677849172a4b13779acd9089c9baa3a81.
    global_thread_id_to_ptid expects global thread numbers, which are nowadays only
    used in MI, never presented to the user in the CLI.  Since this is a CLI
    command, it should accept the inferior-qualified format instead.
    
    	gdb/
    	* gnu-nat.c (set_sig_thread_cmd): Use parse_thread_id instead of
    	global_thread_id_to_ptid.

commit 21389b7f3451a482e14fef9bd32257c4c87f4317
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Mon Dec 5 11:59:03 2016 +0100

    Hurd, C++: Mach/Hurd headers and MIG stubs are not yet fit for C++
    
    ..., so handle these in "C" mode still:
    
    	gdb/
    	* config/i386/i386gnu.mh (%_S.o %_U.o): Add "-x c" to
    	"COMPILE.post".
    	* gnu-nat.c: #include Mach/Hurd headers before all others.  Wrap
    	Mach/Hurd headers and MIG stubs' prototypes in 'extern "C"'.
    	* i386-gnu-nat.c: Likewise.

commit 0947023d1d4b5d8803a1065d622f707010b2bcdc
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 11:02:17 2016 +0100

    Hurd, C++: kern_return_t vs. error_t
    
    GNU/Hurd uses its own "typedef enum __error_t_codes error_t;"
    ([glibc]/sysdeps/mach/hurd/bits/errno.h), contrary to the default
    "typedef int error_t;" ([glibc]/stdlib/errno.h).
    
    The Mach/Hurd RPCs return kern_return_t values, for which, upon assigning them
    to an error_t variable, GCC in C++ mode tells us "error: invalid conversion
    from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}'".  Instead of
    casting all these RPC return values to "error_t", just use "kern_return_t"
    variables:
    
    	gdb/
    	* gnu-nat.c (proc_get_exception_port, proc_set_exception_port)
    	(INF_RESUME_MSGPORT_RPC, proc_get_state, _proc_get_exc_port)
    	(proc_steal_exc_port, proc_restore_exc_port, make_proc)
    	(inf_startup, inf_set_pid, inf_validate_procinfo)
    	(inf_validate_task_sc, inf_set_traced, inf_validate_procs)
    	(inf_signal, inf_continue, gnu_wait, S_exception_raise_request)
    	(do_mach_notify_dead_name, S_proc_wait_reply)
    	(S_msg_sig_post_untraced_reply, S_msg_sig_post_reply)
    	(port_msgs_queued, gnu_read_inferior, gnu_write_inferior)
    	(gnu_find_memory_regions, steal_exc_port, thread_takeover_sc_cmd)
    	(flush_inferior_icache): Instead of "error_t" use "kern_return_t".
    	* i386-gnu-nat.c (fetch_fpregs, store_fpregs, i386_gnu_dr_get)
    	(i386_gnu_dr_set): Likewise.

commit 785102a7d34f2d48f9a1616bf931fea6de2385fb
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 15:16:13 2016 +0100

    Hurd, C++: Avoid "const char *" to "char *" casts
    
    ... by a bit of code refactoring:
    
    	gdb/
    	* gnu-nat.c (set_task_pause_cmd, set_signals_cmd)
    	(set_exceptions_cmd): Add variants taking an "int arg" instead of
    	a "char *".  Make the "char *" variants use the former.
    	(set_noninvasive_cmd): Also use the "int arg" variants.

commit a9617a426d001a748168fbc399fcc77e6d8d3cac
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 14:56:01 2016 +0100

    Hurd, C++: Avoid GNU C nested functions
    
    ..., which C++ doesn't allow, so...
    
    	gdb/
    	* gnu-nat.c (gnu_create_inferior): Move nested "trace_me"
    	function...
    	(gnu_ptrace_me): ... here.

commit e9e431d19426a6dd6b8923850398b847af0a1532
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 11:01:39 2016 +0100

    Hurd, C++: Explicitly cast "void *"
    
    C++ doesn't do implicit type conversions from "void *", so we have to...
    
    	gdb/
    	* i386-gnu-nat.c (i386_gnu_dr_set_control_one)
    	(i386_gnu_dr_set_addr_one): Explicitly cast "void *".

commit e2f9914792465953ca945333d0cbedf0b2d7b3d6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 8 00:00:27 2016 +0000

    Automatic date update in version.in

commit 14f6890677849172a4b13779acd9089c9baa3a81
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Tue May 24 19:36:57 2016 +0200

    Hurd: Adjust to "Per-inferior/Inferior-qualified thread IDs" changes
    
        [...]/gdb/gnu-nat.c: In function 'set_sig_thread_cmd':
        [...]/gdb/gnu-nat.c:2973:7: warning: implicit declaration of function 'thread_id_to_pid' [-Wimplicit-function-declaration]
               ptid_t ptid = thread_id_to_pid (atoi (args));
               ^
        [...]/gdb/gnu-nat.c:2973:7: error: invalid initializer
    
    That's commit 5d5658a1d3c3eb2a09c03f2f0662a1c01963c869, which renamed
    `thread_id_to_pid` to `global_thread_id_to_ptid`.
    
    	gdb/
    	* gnu-nat.c (set_sig_thread_cmd): Call global_thread_id_to_ptid
    	instead of thread_id_to_pid.

commit 4b0781150f69b6ff251dac447c77e4d4f6598da8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 03:12:50 2016 +0000

    MIPS/include: opcode/mips.h: Correct INSN_CHIP_MASK
    
    Complement commit e407c74b5b60 ("Support for MIPS R5900 (Sony Playstation
    2)"), <https://sourceware.org/ml/binutils/2012-12/msg00240.html>, and
    commit 2c62985659da ("MIPS: Add Octeon 3 support") and update the chip
    mask accordingly.
    
    	include/
    	* opcode/mips.h (INSN_CHIP_MASK): Update according to bit use.

commit 5f5c6e032e8d5303e9903c0538f84f76bb4d8733
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:55:27 2016 +0000

    MIPS/opcodes: Correct an `interaction' comment typo
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Fix comment typo.

commit 343fa6906329eb5ec070cf2c05884e49a1cb9d46
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:53:03 2016 +0000

    MIPS16/opcodes: Update opcode table comment
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Update comment naming structure
    	members.

commit 6725647ca2a0adc9206059814725102b53ea6478
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:35:33 2016 +0000

    MIPS/opcodes: Reformat `-M' disassembler option's help text
    
    Align output produced consistently and fix other formatting issues.
    
    	opcodes/
    	* mips-dis.c (print_mips_disassembler_options): Reformat output.

commit b8760d2cb51517789110c7b2dbd8f61dce08291d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:27:57 2016 +0000

    MIPS/include: opcode/mips.h: Add a comment for ASE_DSPR3
    
    Complement commit 8f4f9071ad5f ("Add MIPS32 DSPr3 support.").
    
    	include/
    	* opcode/mips.h (ASE_DSPR3): Add a comment.

commit be0fcbee1d47558af13288c6aece922dd4be6df5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:24:18 2016 +0000

    MIPS/GAS: Use local `isa' consistently in `is_opcode_valid'
    
    Replace a global `mips_opts.isa' reference in `is_opcode_valid' and use
    a local copy just made in `isa'.  No functional change.
    
    	gas/
    	* config/tc-mips.c (is_opcode_valid): Use local `isa'
    	consistently.

commit c2596ca5d7f6ab6d38882bf0f0fc44fe352afcb1
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Dec 7 10:19:42 2016 +0000

    Fix internal error in the linker by replacing a call to abort with an error message.
    
    	PR ld/20932
    	* elflink.c (bfd_elf_record_link_assignment): Replace call to
    	abort with an error message and error return value.

commit 1c3a5fbe155614a0f87079b953df0d7618e0ab50
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 7 14:15:59 2016 +1030

    [GOLD] PowerPC --stub-group-multi
    
    Adds a new option, defaulting to off, that allows a group of stubs to
    serve multiple output sections.  Prior to this patch powerpc gold
    allowed this unconditionally, which is a little unsafe with clever
    code that discards/reuses sections at runtime.
    
    	* options.h (--stub-group-multi): New PowerPC option.
    	* powerpc.cc (Stub_control): Add multi_os_ var and param
    	to constructor.  Sort start_ var later.  Comment State.
    	(Stub_control::can_add_to_stub_group): Heed multi_os_.
    	(Target_powerpc::group_sections): Update.

commit a5018ae555cdf491005907c03f997558ba15fc47
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 7 14:12:26 2016 +1030

    [GOLD] powerpc64le-linux fails to link large Linux kernel
    
    Gold attaches stubs to an existing section in contrast to ld.bfd which
    inserts a new section for stubs.  If we want stubs before branches,
    then the stubs must be added to the previous section.  Adding to the
    previous section is a disaster if there is a large gap between the
    previous section and the group.
    
    	PR gold/20878
    	* powerpc.cc (Stub_control): Replace stubs_always_before_branch_
    	with stubs_always_after_branch_, group_end_addr_ with
    	group_start_addr_.
    	(Stub_control::can_add_to_stub_group): Rewrite to suit scanning
    	sections by increasing address.
    	(Target_powerpc::group_sections): Scan that way.  Delete corner
    	case.
    	* options.h (--stub-group-size): Update help string.

commit dc60b26d983494a3cdec0d4f167ed98fde1a832a
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 7 14:11:57 2016 +1030

    [GOLD] PowerPC stub debug
    
    Some more debug output, and a little hardening.
    
    	* powerpc.cc (Stub_table_owner): Provide constructor.
    	(Powerpc_relobj::set_stub_table): Resize fill with -1.
    	(Target_powerpc::Branch_info::make_stub): Provide target debug
    	output on returning false.

commit 86a6934561f0048624f3ff83f5d3c2565514f0aa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 7 00:00:19 2016 +0000

    Automatic date update in version.in

commit 5590c2bae0fb41e90bc9698e55d8ec1fe22a9173
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Dec 6 16:19:33 2016 -0500

    Remove unnecessary inferior lookup in inferior_command
    
    In the case where we switch to a non-running inferior, we do a
    "find_inferior_id (num)", although we did the same call right before.
    
    gdb/ChangeLog:
    
    	* inferior.c (inferior_command): Remove duplicate
    	find_inferior_id call.

commit 4f3ca05b487e9755018b4c9a053a2e6c35d8a7df
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 16:53:57 2016 +0000

    Fix seg-fault in strip when copying a corrupt binary.
    
    	PR binutils/20931
    	* elf.c (copy_special_section_fields): Check for an invalid
    	sh_link field before attempting to follow it.

commit 8b929e420a810afe23d5ba57a98109c74d1d5816
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 16:26:42 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR binutils/20930
    	* objcopy.c (mark_symbols_used_in_relocations): Check for a null
    	symbol pointer pointer before attempting to mark the symbol as
    	kept.

commit 92744f058094edd0b29bf9762f4ac26e4c6743c2
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 15:58:15 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR binutils/20929
    	* aoutx.h (squirt_out_relocs): Check for relocs without an
    	associated symbol.

commit 5eecd8621b955fb99860fc1b0d87074071f42f72
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 15:34:33 2016 +0000

    fix typo

commit 005304aae36522a90bbe169faea36db559d0f3d6
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 15:31:14 2016 +0000

    Stop the assembler from running out of memory when asked to generate a huge number of spaces.
    
    	PR gas/20901
    	* read.c (s_space): Place an upper limit on the number of spaces
    	generated.

commit 7c2ba67e6ab10879968c938aefd4d0d0b4ce79bc
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Dec 6 14:25:51 2016 +0000

    Assert on lval_register
    
    This patch adds asserts where the value's lval must be lval_register.
    This triggers an error in frame_register_unwind because VALUE_REGNUM
    is used but value's lval is not lval_register.
    
    This also reveals a design issue in frame_register_unwind, that is
    arguments addrp and realnump are mutually exclusive, we either use
    addrp (for lval_memory), or use realnump (for lval_register).  This
    can be done in a separate patch.
    
    gdb:
    
    2016-12-06  Yao Qi  <yao.qi@linaro.org>
    
    	* frame.c (frame_register_unwind): Set *realnump if *lvalp is
    	lval_register.
    	* value.c (deprecated_value_next_frame_id_hack): Assert
    	value->lval is lval_register.
    	(deprecated_value_regnum_hack): Likewise.

commit 5e359a63b7a39e0ff0f750ca8fc97d27b14c0ef7
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 14:13:57 2016 +0000

    Fix mmix assembler test to account for changes in the error messages produced by the assembler.
    
    	PR gas/20896
    	* testsuite/gas/mmix/err-byte1.s: Adjust expected warning messages
    	to account for patch to next_char_of_string.

commit 39eeab253474493bc9477dbb2bd9c8041f05764b
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 6 16:06:14 2016 +1030

    PowerPC64 toc optimisation for power9
    
    Recognize power9 and a few other insns from older machines.  Fixes
    linker complaints like "toc optimization is not supported for
    0xf4090002 instruction".  0xf4090002 is stxsd v0,0(r9)
    
    bfd/
    	* 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.
    ld/
    	* testsuite/ld-powerpc/tocopt7.s,
    	* testsuite/ld-powerpc/tocopt7.out,
    	* testsuite/ld-powerpc/tocopt7.d: New test.
    	* testsuite/ld-powerpc/tocopt8.s,
    	* testsuite/ld-powerpc/tocopt8.d: New test.
    	* testsuite/ld-powerpc/powerpc.exp: Run them.

commit fc72affa6875e81fc9d495a216a8bcb34045ffcd
Author: DJ Delorie <dj@redhat.com>
Date:   Tue Dec 6 01:40:44 2016 -0500

    argv.c (expandargv): Check for directories passed as @-files.
    
    gcc pr 78584

commit e99f7af2bfbdb08c9cc454d6e5c82e70d34b957e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 6 00:00:23 2016 +0000

    Automatic date update in version.in

commit efe4db3f06b77934bd81f393194e0fdcfeecf811
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 6 07:53:51 2016 +1030

    Fix gold/testsuite/file_in_many_sections_test.sh file mode
    
    chmod a+x

commit 82d93790a85300d8452450b6d43efb6b15b53788
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 5 10:41:09 2016 -0800

    Fix problem where absolute local symbols are omitted when output has many sections.
    
    2016-12-05  Cary Coutant  <ccoutant@gmail.com>
                Tristan Gingold  <gingold@adacore.com>
    
    gold/
    	* object.cc (Sized_relobj_file::do_count_local_symbols): Check
    	is_ordinary before using shndx.
    	* testsuite/Makefile.am (file_in_many_sections_test.sh): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/file_in_many_sections.c: New source file.
    	* testsuite/file_in_many_sections_test.sh: New script.

commit f49547a604b4dd2c75e3636d4a422d52edc4fa6c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 17:36:45 2016 +0000

    Fix fault in assembler when passed a bogus input file.
    
    	PR gas/20902
    	* read.c (next_char_of_string): Do end advance past the end of the
    	buffer.

commit 14c1428b29fff12d8119ce6f4703be0de08197af
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 16:54:59 2016 +0000

    Fix ICE in assembler when passed a bogus input file.
    
    	PR gas/20904
    	* as.h (SKIP_ALL_WHITESPACE): New macro.
    	* expr.c (operand): Use it.

commit fa6631b4eecfcca00c13b9594e6336dffd40982f
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 16:34:45 2016 +0000

    Fix seg-fault in the binutils utilities when reading a corrupt input file.
    
    	PR binutils/20905
    	* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
    	the end of the string buffer.

commit 406bd128dba2a59d0736839fc87a59bce319076c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 16:00:43 2016 +0000

    Fix seg-fault in linker when passed a bogus input script.
    
    	PR ld/20906
    	* ldlex.l: Check for bogus strings in linker scripts.

commit 9b5481c63ab5e1e66e8f23681741039754eabcce
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Dec 5 16:57:53 2016 +0100

    binutils: add myself to MAINTAINERS
    
    2016-12-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* MAINTAINERS: Add myself as maintainer for the SPARC targets.

commit 52c4f3bdd5957a31b671a9791f462be5e8eadd85
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 14:59:02 2016 +0000

    Fix abort when running tools on a bogus binary.
    
    	PR binutils/20907
    	* peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.

commit e2996cc315d6ea242e1a954dc20246485ccc8512
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 14:32:30 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR binutils/20921
    	* aoutx.h (squirt_out_relocs): Check for and report any relocs
    	that could not be recognised.

commit c28eeff2eabbba2246799470f3713716fa629680
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:24:17 2016 +0000

    [ARM] Add ARMv8.3 VCMLA and VCADD instructions
    
    Add support for VCMLA and VCADD advanced SIMD complex number instructions.
    
    The command line option is -march=armv8.3-a+fp16+simd for enabling all
    instructions.
    
    In arm-dis.c the formatting syntax was abused a bit to select between
    0 vs 90 or 180 vs 270 or 90 vs 270 based on a bit value instead of
    duplicating entries in the opcode table.
    
    gas/
    	* config/tc-arm.c (do_vcmla, do_vcadd): Define.
    	(neon_scalar_for_vcmla): Define.
    	(enum operand_parse_code): Add OP_IROT1 and OP_IROT2.
    	(NEON_ENC_TAB): Add DDSI and QQSI variants.
    	(insns): Add vcmla and vcadd.
    	* testsuite/gas/arm/armv8_3-a-simd.d: New.
    	* testsuite/gas/arm/armv8_3-a-simd.s: New.
    	* testsuite/gas/arm/armv8_3-a-simd-bad.d: New.
    	* testsuite/gas/arm/armv8_3-a-simd-bad.l: New.
    	* testsuite/gas/arm/armv8_3-a-simd-bad.s: New.
    
    opcodes/
    	* arm-dis.c (coprocessor_opcodes): Add vcmla and vcadd.
    	(print_insn_coprocessor): Add 'V' format for neon D or Q regs.

commit 0691188992efa4afab80bfdf966479bc331ce0a4
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Mon Dec 5 15:09:48 2016 +0100

    [ARC] Don't check extAuxRegister second argument for sign.
    
    gas/
    2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/textauxregister-1.d: New file.
    	* testsuite/gas/arc/textauxregister-1.s: Likewise.
    	* testsuite/gas/arc/textcondcode-err.s: Likewise.
    	* testsuite/gas/arc/textcoreregister-err.s: Likewise.
    	* config/tc-arc.c (tokenize_extregister): Return bfd_boolean,
    	don't check second argument of extension auxiliary register for
    	signess.
    	(arc_extcorereg): Consider the return of tokenize_extregister
    	function call.

commit 49e8a725825c77aacc7458b9d7771cb2fa2f64c7
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:13:27 2016 +0000

    [ARM] Add ARMv8.3 VJCVT instruction
    
    Add support for VJCVT javascript conversion instruction.
    
    gas/
    	* config/tc-arm.c (arm_ext_v8_3, do_vjcvt): Define.
    	(insns): Add vjcvt.
    	* testsuite/gas/aarch64/armv8_3-a-fp.s: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp.d: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp-bad.s: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp-bad.d: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp-bad.l: New.
    
    opcodes/
    	* arm-dis.c (coprocessor_opcodes): Add vjcvt.

commit a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:07:25 2016 +0000

    [ARM] Add ARMv8.3 command line option and feature flag
    
    ARMv8.3 is an architectural extension of ARMv8.  Add the
    feature macro and -march=armv8.3-a gas command line option
    for the ARM target.
    
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    gas/
    	* config/tc-arm.c (arm_archs): Add "armv8.3-a".
    	* doc/c-arm.texi (-march): Add "armv8.3-a".
    
    include/
    	* opcode/arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New.
    	(ARM_ARCH_V8_3A): New.

commit 597e138ca0cf96889a1965d06d28552c1d1174d2
Author: Alyssa Milburn <amilburn@zall.org>
Date:   Sun Dec 4 22:59:18 2016 -0800

    bfd,ld: Continue after partially-successful relaxed call relocations in sparc.
    
    bfd/ChangeLog:
    
    2016-12-05  Alyssa Milburn <amilburn@zall.org>
    
      	* elfxx-sparc.c: Do not stop processing relocations after
        	partially relaxing a call with WDISP30.
    
    ld/ChangeLog:
    
    2016-12-05  Alyssa Milburn <amilburn@zall.org>
    
    	* testsuite/ld-sparc/wdispcall.s: New file.
        	* testsuite/ld-sparc/wdispcall.dd: Likewise.
        	* testsuite/ld-sparc/sparc.exp: Run new test.

commit a55c9876bb111fd301b4762cf501de0040b8f9db
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 13:35:50 2016 +0000

    Fix seg-fault attempting to strip a corrupt binary.
    
    	PR binutils/20922
    	* elf.c (find_link): Check for null headers before attempting to
    	match them.

commit 88add6d8e794073758b5398c52bbb76ab40a2923
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 13:11:01 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR ld/20923
    	* objcopy.c (mark_symbols_used_in_relocations): Check for a null
    	symbol pointer before attempting to mark the symbol as kept.

commit daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 12:25:34 2016 +0000

    Fix seg-fault in linker parsing a corrupt input file.
    
    	PR ld/20924
    	(aout_link_add_symbols): Fix off by one error checking for
    	overflow of string offset.

commit 39d4daf68e696bbf2db417abe677b2e68f3aace9
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 12:14:22 2016 +0000

    Fix assertion failure in linker triggered by corrupt input file.
    
    	PR ld/20925
    	* aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
    	FALSE.

commit e9a1e93ecab4e67aacb9cd6a5a953c8c0bc23027
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 11:25:26 2016 +0000

    fix typo

commit df9236f89620c3897b2257854b9a4eedc89217ba
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 5 00:00:22 2016 +0000

    Automatic date update in version.in

commit 668650d58d61d9d170f3e5b5c1657ed1c3e2b34b
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Dec 3 17:29:44 2016 -0800

    Fix bugs with tbnz/tbz instructions.
    
    sim/aarch64
    	* simulator.c (tbnz, tbz): Cast 1 to uint64_t before shifting.
    	(dexTestBranchImmediate): Shift high bit of pos by 5 not 4.

commit 4132f1c0dfe6bb8984c0dd521388ba6b7b32a4af
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 4 00:00:23 2016 +0000

    Automatic date update in version.in

commit 8c5b4e5228ec94923fbdfb0008926b0b2a3f51c2
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 21:00:01 2016 +1030

    PowerPC64 dot-symbol compatibility bugfixes
    
    Lots of fixes for the compatibility code that handles linking of
    -mcall-aixdesc code (or that generated by 12 year old gcc) with
    current ELFv1 ABI code.
    
    1) A reference to a dot-symbol in an object file wasn't satisfied by a
       function descriptor in later object files.
    2) The as-needed code had bit-rotted;  Shared libs now need a strong
       reference to be counted as needed.
    3) --gc-sections involving dot-symbols was broken, needing
       func_desc_adjust to be run early and lots of other fixes.
    
    bfd/
    	* 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.
    ld/
    	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't call
    	ppc64_elf_restore_symbols.
    	* testsuite/ld-powerpc/dotsym1.d: New.
    	* testsuite/ld-powerpc/dotsym2.d: New.
    	* testsuite/ld-powerpc/dotsym3.d: New.
    	* testsuite/ld-powerpc/dotsym4.d: New.
    	* testsuite/ld-powerpc/dotsymref.s: New.
    	* testsuite/ld-powerpc/nodotsym.s: New.
    	* testsuite/ld-powerpc/powerpc.exp: Run new tests.

commit 4e95fbcd79b84308417fc25ce12cacdb2a61c0d0
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:59:43 2016 +1030

    PowerPC64 dot-sym testsuite fixes
    
    This illustrates quite well why dot-symbols had to go.  PowerPC64 gcc
    for Linux stopped producing them 12 years ago, but the Linux kernel
    still persists in using them so it's necessary to keep and
    regression test ld support.
    
    	* testsuite/ld-elf/indirect1b.c: Give dot-symbol a version too.
    	* testsuite/ld-elf/indirect2.c: Likewise.
    	* testsuite/ld-elf/indirect3b.c: Likewise.
    	* testsuite/ld-elf/indirect4b.c: Likewise.
    	* testsuite/ld-elf/pr18718.c: Likewise.
    	* testsuite/ld-elf/pr18720b.c: Likewise.
    	* testsuite/ld-elf/pr19553c.c: Likewise.
    	* testsuite/ld-elfvers/vers.h (FUNC_SYMVER): Define.
    	* testsuite/ld-elfvers/vers1.c: Use FUNC_SYMVER for functions.
    	* testsuite/ld-elfvers/vers4.c: Likewise.
    	* testsuite/ld-elfvers/vers5.c: Likewise.
    	* testsuite/ld-elfvers/vers6.c: Likewise.
    	* testsuite/ld-elfvers/vers7a.c: Likewise.
    	* testsuite/ld-elfvers/vers9.c: Likewise.
    	* testsuite/ld-elfvers/vers15.c: Likewise.
    	* testsuite/ld-elfvers/vers18.c: Likewise.
    	* testsuite/ld-elfvers/vers22a.c: Likewise.
    	* testsuite/ld-elfvers/vers23a.c: Likewise.
    	* testsuite/ld-elfvers/vers27d1.c: Likewise.
    	* testsuite/ld-elfvers/vers21.c: Likewise.
    	(_old_bar): Use attribute weak rather than asm weak.
    	* testsuite/ld-ifunc/pr16467b.c: Give dot-symbol a version.
    	* testsuite/ld-plugin/pr12760b.c: Define warning on .bar rather than
    	bar for ppc64 -mcall-aixdesc.
    	* testsuite/ld-plugin/pr16746a.c: Similarly for foobar.
    	* testsuite/ld-plugin/pr16746b.c: Likewise.
    	* testsuite/ld-elf/shared.exp: Allow dot-symbol in warnings and errors.
    	* testsuite/ld-plugin/lto.exp: Likewise.
    	* testsuite/ld-plugin/plugin-6.d: Likewise.
    	* testsuite/ld-plugin/plugin-7.d: Likewise.
    	* testsuite/ld-plugin/plugin-8.d: Likewise.
    	* testsuite/ld-plugin/plugin-13.d: Likewise.
    	* testsuite/ld-plugin/plugin-14.d: Likewise.
    	* testsuite/ld-plugin/plugin-15.d: Likewise.
    	* testsuite/ld-plugin/plugin-16.d: Likewise.
    	* testsuite/ld-plugin/plugin-20.d: Likewise.
    	* testsuite/ld-plugin/plugin-21.d: Likewise.
    	* testsuite/ld-plugin/plugin-22.d: Likewise.
    	* testsuite/ld-plugin/plugin-23.d: Likewise.
    	* testsuite/ld-plugin/plugin.exp: Define .main and .puts for ppc64
    	-mcall-aixdesc.
    	* testsuite/ld-elfvers/vers.exp (test_ar): Trim dot-symbols.
    	(objdump_dynsymstuff): Likewise.
    	(objdump_symstuff): Likewise.  Pack flags to keep column count
    	consistent.
    	* testsuite/ld-elfweak/elfweak.exp (objdump_dynsymstuff,
    	objdump_symstuff): As for vers.exp.
    	* testsuite/ld-elfvers/vers6.sym: Allow dot-symbols.
    	* testsuite/ld-elfvers/vers1.sym: Allow missing F flag for
    	-mcall-aixdesc .opd syms and adjust for flag packing.
    	* testsuite/ld-elfvers/vers4.sym: Likewise.
    	* testsuite/ld-elfvers/vers4a.sym: Likewise.
    	* testsuite/ld-elfvers/vers7a.sym: Likewise.
    	* testsuite/ld-elfvers/vers9.sym: Likewise.
    	* testsuite/ld-elfvers/vers15.sym: Likewise.
    	* testsuite/ld-elfvers/vers18.sym: Likewise.
    	* testsuite/ld-elfvers/vers21.sym: Likewise.
    	* testsuite/ld-elfvers/vers22a.sym: Likewise.
    	* testsuite/ld-elfvers/vers23a.sym: Likewise.
    	* testsuite/ld-elfvers/vers27d.sym: Likewise.
    	* testsuite/ld-elfweak/strong.sym: Likewise.
    	* testsuite/ld-elfweak/strongcomm.sym: Likewise.
    	* testsuite/ld-elfweak/strongdata.sym: Likewise.

commit ca16c5b392b1c78019fea1710c4f4433161626c5
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:59:19 2016 +1030

    ld-elfvers don't fail on non-empty results
    
    	* testsuite/ld-elfvers/vers.exp (objdump_dynsymstuff): Don't abort
    	on non-empty results with empty expected.

commit f522190fa7f04a8d9a1dfc51d0cf69973c08afb5
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:58:55 2016 +1030

    Correct cdtest g++ version test
    
    Fixes declaration conflict with built-in strncpy.
    
    	* testsuite/ld-cdtest/cdtest-foo.cc: Test for __GNUG__ >= 2.

commit b8ac28419be22fe0cc72f6eaaba1ab029610fc71
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:58:15 2016 +1030

    Tidy ppc64_elf_hide_symbol
    
    	* elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
    	elf_link_hash_table rather than ppc_link_hash_table.

commit 35dc6e06960790cd60b890c14e45f82f110b898f
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:57:50 2016 +1030

    PowerPC64 add_symbol_adjust
    
    	* elf64-ppc.c (add_symbol_adjust): Delete dead code.

commit 8400d40d954ec3b4a3fe9200645a1b6e90ba46f4
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:57:27 2016 +1030

    Indirect and warning symbols
    
    It's possible but unlikely that an indirect symbol points at a warning
    symbol.
    
    	* elf64-ppc.c (add_symbol_adjust): Correct order of tests for
    	warning and indirect symbols.

commit 474436e67c72d2426e79e600d725812514db0dbe
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:55:25 2016 +1030

    ppc64_elf_copy_indirect_symbol versioned_hidden fix
    
    As per _bfd_elf_link_hash_copy_indirect.
    
    	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
    	flags when direct symbol is versioned_hidden.

commit 4193bc588b4e66da0ed502eaef6e7ce85272fb42
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:54:57 2016 +1030

    try_copy_symbol_type node_class check
    
    	* ldexp.c (try_copy_symbol_type): Remove unnecessary check.

commit 10c56208ee8ce4d51de64277207b84a5d1be8c95
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 3 00:00:22 2016 +0000

    Automatic date update in version.in

commit bef721e278d9ba3178e679eda38ac86ef2dc0d5d
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Dec 2 17:12:37 2016 -0500

    Introduce enum_flag type for ui_out flags
    
    This patch changes the ui_out flags to be an enum flag.
    
    gdb/ChangeLog:
    
    	* ui-out.h: Include "common/enum-flags.h".
    	(enum ui_flags): Rename to ...
    	(enum ui_out_flag): ... this.
    	(ui_out_flags): Define enum flag type.
    	(ui_out_test_flags): Change type of parameter to ui_out_flags.
    	(ui_out_new): Likewise.
    	* ui-out.c (ui_out_test_flags): Likewise.
    	(ui_out_new): Likewise.
    	* cli-out.c (cli_out_new): Update variable type.
    	* mi/mi-out.c (mi_out_new): Likewise.
    	* tui/tui-out.c (tui_out_new): Likewise.

commit 107c2d628b924de1854d6d254d60e97e1887ce4a
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 2 13:36:15 2016 -0600

    Remove unneeded pattern matching in gdb.base/maint.exp
    
    This gets rid of more useless pattern matching cases in gdb.base/maint.exp.
    
    gdb/testsuite/ChangeLog:
    
    2016-12-02  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/maint.exp: Use gdb_test instead of gdb_test_multiple when
    	possible.
    	Remove useless pattern-matching code.

commit df3ee9ca894f7e831713c332aa7820a6463c2435
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 2 19:17:14 2016 +0000

    Support an "unlimited" number of user-defined arguments
    
    New in v2:
    
      - A few adjustments / simplifications were possible now that we
        require C++11:
    
        . Use std::unique_ptr to make the user_args_stack std::vector own
          its elements:
    
           static std::vector<std::unique_ptr<user_args>> user_args_stack;
    
        . use vector::emplace_back to construct elements directly in the
          corresponding vectors.
    
        . use std::to_string instead of adding a gdb::to_string
          replacement.
    
      - Now includes a test.
    
    Docs/NEWS are unchanged from v1 and have already been approved.
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    I recently wrote a user-defined command that could benefit from
    supporting an unlimited number of arguments:
    
     http://palves.net/list-active-signal-handlers-with-gdb/
    
    E.g., 'info signal-dispositions 1 2 3 4 5 6 7 8 9 10 11'
    
    However, we currently only support up to 10 arguments passed to
    user-defined commands ($arg0..$arg9).
    
    I can't find a good reason for that, other than "old code with hard
    coded limits".  This patch removes that limit and modernizes the code
    along the way:
    
      - Makes the user_args struct a real C++ class that uses std::vector
        for storage.
    
      - Removes the "next" pointer from within user_args and uses a
        std::vector to maintain a stack instead.
    
      - Adds a new RAII-based scoped_user_args_level class to help
        push/pop user args in the stack instead of using a cleanup.
    
    gdb/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Mention that user commands now accept an unlimited number
    	of arguments.
    	* cli/cli-script.c: Include <vector>.
    	(struct string_view): New type.
    	(MAXUSERARGS): Delete.
    	(struct user_args): Now a C++ class.
    	(user_args_stack): New.
    	(struct scoped_user_args_level): New type.
    	(execute_user_command): Use scoped_user_args_level.
    	(arg_cleanup): Delete.
    	(setup_user_args): Deleted, and refactored as ...
    	(user_args::user_args): ... this new constructor.  Limit of number
    	of arguments removed.
    	(insert_user_defined_cmd_args): Defer to user_args_stack.
    	(user_args::insert_args): New, bits based on old
    	insert_user_defined_cmd_args with limit of number of arguments
    	eliminated.
    
    gdb/doc/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (User-defined Commands): Limit on number of
    	arguments passed to user-defined commands removed; update.
    
    gdb/testsuite/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (user_defined_command_manyargs_test): New
    	procedure.
    	(top level): Call it.

commit ec835369f121c11d6e9484ed8c6c11097ad545c5
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 2 19:17:13 2016 +0000

    Test user-defined gdb commands and arguments stack
    
    We're missing a test that makes sure that arguments to user-defined
    commands are handled correctly when a user-defined command calls
    another user-defined command / recurses.
    
    The following patch changes that code, so add such a test first so we
    can be confident won't be breaking this use case.
    
    gdb/testsuite/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (user_defined_command_args_stack_test):
    	New procedure.
    	(top level): Call it.

commit 01770bbde902e075e524b518ac6c1087a4cc1cfb
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 2 19:17:13 2016 +0000

    Fix PR 20559 - "eval" command and $arg0...$arg9/$argc substitution
    
    It'd be handy to be able to iterate over command arguments in
    user-defined commands, in order to support optional arguments
    ($arg0..$argN).
    
    I thought I could make it work with "eval", but alas, it doesn't work
    currently.  E.g., with:
    
     define test
       set $i = 0
       while $i < $argc
         eval "print $arg%d", $i
         set $i = $i + 1
       end
     end
    
    we get:
    
     (gdb) test 1
     $1 = void
     (gdb) test 1 2 3
     $2 = void
     $3 = void
     $4 = void
     (gdb)
    
    The problem is that "eval" doesn't do user-defined command arguments
    substitution after expanding its own argument.  This patch fixes that,
    which makes the example above work:
    
     (gdb) test 1
     $1 = 1
     (gdb) test 1 2 3
     $2 = 1
     $3 = 2
     $4 = 3
     (gdb)
    
    New test included, similar the above, but also exercises expanding
    $argc.
    
    I think this is likely to simplify many scripts out there, so I'm
    adding an example to the manual and mentioning it in NEWS as well.
    
    gdb/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	PR cli/20559
    	* NEWS: Mention "eval" expands user-defined command arguments.
    	* cli/cli-script.c (execute_control_command): Adjust to rename.
    	(insert_args): Rename to ...
    	(insert_user_defined_cmd_args): ... this, and make extern.
    	* cli/cli-script.h (insert_user_defined_cmd_args): New
    	declaration.
    	* printcmd.c: Include "cli/cli-script.h".
    	(eval_command): Call insert_user_defined_cmd_args.
    
    gdb/doc/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	PR cli/20559
    	* gdb.texinfo (Define): Add example of using "eval" to process a
    	variable number of arguments.
    	(Output) <eval>: Add anchor.
    
    gdb/testsuite/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	PR cli/20559
    	* gdb.base/commands.exp (user_defined_command_args_eval): New
    	procedure.
    	(top level): Call it.

commit 7ed7e438bf8a21983eeaeec0617868f8bab06197
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 17:53:42 2016 +0000

    Fix typo in changelog entry

commit d7f399a8de4c55eb841db6493597a587fac002de
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 17:46:26 2016 +0000

    Fix seg-fault in linker when passed a corrupt binary input file.
    
    	PR lf/20908
    	* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
    	when following indirect links.

commit 008459ea88ad4fdcb7da37dad7f68888ef6ecc47
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 2 11:37:57 2016 -0600

    Revert change to gdb.cp/ovldbreak.exp
    
    This reverts the timeout handling (removed by
    018572b88885ae67d22612937fa1e4fd98d5f5ad) for gdb.cp/ovldbreak.exp until we
    decide what to do about this particular function.
    
    gdb/testsuite/ChangeLog:
    
    2016-12-02  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/ovldbreak.exp (take_gdb_out_of_choice_menu): Restore
    	timeout handling.

commit 531336e3a0b79ed60cfc36ad2d6579b6a71175da
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 16:41:14 2016 +0000

    Fix seg-fault in the linker when examining a corrupt binary.
    
    	PR ld/20909
    	* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
    	for an illegal string offset.

commit 0c1b455e294c6debb4efedc7f1346f3c43249f15
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 13 20:56:34 2016 -0700

    PR symtab/16264 - support DW_AT_main_subprogram
    
    This patch adds support for DW_AT_main_subprogram.
    This is PR symtab/16264.
    
    DW_AT_main_subprogram is used to mark a program's entry point.  GCC
    can emit this, and I hope to change the Rust compiler to emit it as
    well.
    
    GDB already supports an older, pre-DWARF 4 convention adopted by
    FORTRAN compilers, namely to emit DW_AT_calling_convention for the
    "main" function.  However, I think this support in GDB had a small
    bug, in that it seems to rely on the DW_AT_name being read before
    DW_AT_calling_convention.  This patch fixes this as well.
    
    Built and regtested on x86-64 Fedora 24 and the buildbot.  New test
    case included.
    
    2016-12-02  Tom Tromey  <tom@tromey.com>
    
    	PR symtab/16264:
    	* dwarf2read.c (struct partial_die_info) <main_subprogram>: New
    	member.
    	(add_partial_symbol): Call set_objfile_main_name.
    	(read_partial_die): Handle DW_AT_main_subprogram.
    	<DW_AT_calling_convention>: don't call set_objfile_main_name, but
    	set main_subprogram flag.
    
    2016-12-02  Tom Tromey  <tom@tromey.com>
    
    	* gdb.dwarf2/main-subprogram.c: New file.
    	* gdb.dwarf2/main-subprogram.exp: New file.

commit f5ac6ab387ef0974f6348ac7febc691fbb6c0eb4
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 15:43:53 2016 +0000

    Fix seg-fault in the linker when attempting to print out a malicious linker script.
    
    	PR ld/20910
    	* ldmain.c (main): Prevent evaluation of %<char> sequences when
    	printing out a linker script.

commit a9752fdf83985f62a0c343311a9cb42ad13f9876
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Fri Dec 2 16:08:10 2016 +0100

    [ARC] Sync cpu names with the ones accepted by GCC.
    
    gas/
    2016-12-02  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/cpu-em-err.s: New file.
    	* testsuite/gas/arc/cpu-em4-err.s: Likewise.
    	* testsuite/gas/arc/cpu-fpuda-err.s: Likewise.
    	* testsuite/gas/arc/cpu-hs-err.s: Likewise.
    	* testsuite/gas/arc/cpu-quarkse-err.s: Likewise.
    	* testsuite/gas/arc/noargs_a7.s: Add .cpu.
    	* config/tc-arc.c (ARC_CPU_TYPE_A6xx): Define.
    	(ARC_CPU_TYPE_A7xx): Likewise.
    	(ARC_CPU_TYPE_AV2EM): Likewise.
    	(ARC_CPU_TYPE_AV2HS): Likewise.
    	(cpu_types): Update list of known CPU names.
    	(arc_show_cpu_list): New function.
    	(md_show_usage): Print accepted CPU names.
    	(cl_features): New variable.
    	(arc_select_cpu): Use cl_features.
    	(arc_option): Allow various .cpu names.
    	(md_parse_option): Set cl_features.
    	* doc/c-arc.texi: Update -mcpu and .cpu documentation.

commit e5a873b7071d74320d4e0cbbc2f358dcf2322557
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Dec 2 10:16:51 2016 -0500

    Rename some trace functions
    
    This patch renames a few trace-related functions, so that they adhere to
    the de facto standard of naming command entry point functions
    <command>_command.  I like the ease of looking up a command entry point
    if they all follow that rule.
    
    An enum label "tstop_command" conflicts with a new function name, so I
    renamed this one trace_stop_command.
    
    In v2:
    
    - Rename functions of the trace_find family, as well as
      trace_dump_command.
    
    gdb/ChangeLog:
    
    	* tracefile-tfile.c (tfile_write_status): Adjust to renames.
    	* tracefile.c (trace_save_command): Rename to...
    	(tsave_command): ...this.
    	(_initialize_tracefile): Adjust to renames.
    	* tracepoint.c (trace_actions_command): Rename to...
    	(actions_command): ...this.
    	(trace_start_command): Rename to...
    	(tstart_command): ...this, and adjust to renames..
    	(trace_stop_command): Rename to...
    	(tstop_command): ...this.
    	(trace_status_command): Rename to...
    	(tstatus_command): ...this, and adjust to renames.
    	(trace_find_command): Rename to...
    	(tfind_command): ...this.
    	(trace_find_pc_command): Rename to...
    	(tfind_pc_command): ...this.
    	(trace_find_tracepoint_command): Rename to...
    	(tfind_tracepoint_command): ...this.
    	(trace_find_line_command): Rename to...
    	(tfind_line_command): ...this.
    	(trace_find_range_command): Rename to...
    	(tfind_range_command): ...this.
    	(trace_find_outside_command): Rename to...
    	(tfind_outside_command): ...this.
    	(trace_dump_command): Rename to...
    	(tdump_command): ...this.
    	(tfind_1): Adjust to renames.
    	(trace_find_end_command): Rename to...
    	(tfind_end_command): ...this, and adjust to renames..
    	(trace_status_mi): Adjust to renames.
    	(parse_trace_status): Adjust to renames.
    	(_initialize_tracepoint): Adjust to renames.
    	* tracepoint.h (enum trace_stop_reason) <tstop_command>: Rename
    	to...
    	<trace_stop_command>: ...this.

commit fe6fae079099c0eeb3186086d6b150800c0e8770
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 15:03:05 2016 +0000

    Fix seg-fault in linker when applying relocs to a corrupt binary.
    
    	PR ld/20911
    	* ldctor.c (ldctor_build_sets): Produce alternative error message
    	if the reloc was being applied to a special section.

commit 233c8c27eb81b0a3ab5182dcb59c7306ba9bd3f3
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Dec 2 09:55:09 2016 -0500

    Remove mi_out_data::suppress_output
    
    The suppress_output field of the mi_ui_out_data structure is never actually
    set to 1/true.  We can therefore remove it, and remove all the
    
      if (suppress_output)
    
    checks.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_ui_out_data) <suppress_output>: Remove.
    	(mi_table_body): Remove suppress_output check.
    	(mi_table_end): Likewise.
    	(mi_table_header): Likewise.
    	(mi_begin): Likewise.
    	(mi_end): Likewise.
    	(mi_field_int): Likewise.
    	(mi_field_string): Likewise.
    	(mi_field_fmt): Likewise.
    	(mi_out_data_ctor): Likewise.

commit 68c638d6e655a937a48770a5df765e6ebbc5b890
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 14:40:46 2016 +0000

    Fix seg-fault linking corrupt binary.
    
    	PR ld/20912
    	* emultempl/elf32.em (_place_orphan): Test for ELF format of the
    	orphan before looking for the SHF_EXCLUDE flag.

commit 08698b7b46c9c932530dcbcd7e851d27a7d2c503
Author: Gary Benson <gbenson@redhat.com>
Date:   Tue Nov 29 11:14:02 2016 +0000

    Always pass a valid section header offset to elf_parse_notes
    
    _bfd_elf_make_section_from_shdr calls elf_parse_notes with an offset
    of -1.  This argument is used to calculate Elf_Internal_Note.descpos,
    which ends up set to a positive but meaningless value.  This commit
    updates _bfd_elf_make_section_from_shdr to pass the correct offset to
    elf_parse_notes, making Elf_Internal_Note.descpos correct in all cases.
    
    bfd/ChangeLog:
    
    	* elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
    	elf_parse_notes.

commit d5451cd45325d12b2cc3d10ffe67f09b0e26b967
Author: Josh Conner <joshconner@google.com>
Date:   Fri Dec 2 10:44:29 2016 +0000

    Add support for Fushia OS.
    
            * configure.ac: Add fuchsia to targets that use ELF.
            * configure: Regenerated.
    
    bfd     * configure.tgt: Add support for fuchsia (OS).
    
    gas     * configure.tgt: Add support for fuchsia (OS).
    
    ld      * Makefile.am: Add dependency information for earmelf_fuchsia.c.
            * Makefile.in: Regenerate.
            * configure.tgt: Add support for aarch64-*-fuchsia, arm*-*-fuchsia*, and
            x86_64-*-fuchsia* targets.
            * emulparams/armelf_fuchsia.sh: New file.
            * emulparams/armelfb_fuchsia.sh: New file.

commit 432ec0814b01a93b88eddf13092ea6abef34652d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 2 09:37:30 2016 +0000

    [AArch64] Recognize STR instruction in prologue
    
    This patch teaches GDB AArch64 backend to recognize STR instructions
    in prologue, like 'str x19, [sp, #-48]!' or 'str w0, [sp, #44]'.
    The unit test is added too.
    
    gdb:
    
    2016-12-02  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* aarch64-tdep.c (aarch64_analyze_prologue): Recognize STR
    	instruction.
    	(aarch64_analyze_prologue_test): More tests.

commit 4d9a9006139d1ceea787cdda871dff8943e493f0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 2 09:37:30 2016 +0000

    Add unit test to aarch64 prologue analyzer
    
    We don't have an effective way to test prologue analyzer which is
    highly dependent on instruction patterns in prologue generated by
    compiler.  GDB prologue analyzer may not handle the new sequences
    generated by new compiler, or may still handle some sequences that
    generated by very old compilers which are no longer used.  The
    former is a functionality issue, while the latter is a maintenance
    issue.
    
    The input and output of prologue analyzer is quite clear, so it
    fits for unit test.  The input is series of instructions, and the
    output are 1) where prologue end, 2) where registers are saved.
    In aarch64, they are represented in 'struct aarch64_prologue_cache'.
    
    This patch refactors aarch64_analyze_prologue so it can read
    instructions from either real target or test harness.  In unit
    test aarch64_analyze_prologue_test, aarch64_analyze_prologue gets
    instructions we prepared in the test, as the input of prologue
    analyzer.  Then, we checked various fields in
    'struct aarch64_prologue_cache'.
    
    gdb:
    
    2016-12-02  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* aarch64-tdep.c: Include "selftest.h".
    	(abstract_instruction_reader): New class.
    	(instruction_reader): New class.
    	(aarch64_analyze_prologue): Add new parameter reader.  Call
    	reader.read instead of read_memory_unsigned_integer.
    	[GDB_SELF_TEST] (instruction_reader_test): New class.
    	(aarch64_analyze_prologue_test): New function.
    	(_initialize_aarch64_tdep) [GDB_SELF_TEST]: Register
    	selftests::aarch64_analyze_prologue_test.
    	* trad-frame.c (trad_frame_cache_zalloc):
    	(trad_frame_alloc_saved_regs): Add a new function.
    	* trad-frame.h (trad_frame_alloc_saved_regs): Declare.

commit 018572b88885ae67d22612937fa1e4fd98d5f5ad
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 22:07:02 2016 -0600

    Don't handle timeout inside gdb_test_multiple
    
    This fixes a few cases where the testcase is explicitly handling timeouts
    inside gdb_test_multiple when it is not necessary.
    
    It also converts two gdb_test_multiple calls to gdb_test_no_output calls
    (also removing the timeout handling).
    
    gdb/testsuite/ChangeLog:
    
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/maint.exp: Remove timeout handling for gdb_test_multiple.
    	* gdb.cp/gdb2495.exp: Likewise and convert gdb_test_multiple into
    	gdb_test_no_output for a couple of cases.
    	* gdb.cp/ovldbreak.exp: Remove timeout handling for gdb_test_multiple.

commit 397b8d2a9fb6651924c311f41b90cabeb3fc3ae9
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 19:54:05 2016 -0800

    Fix problem where orphan section is treated as a KEEP section.
    
    gold/
    	PR gold/20717
    	* script-sections.cc (Script_sections): Set *keep to false when
    	no match.

commit be2884c1ea9b96fdb04c6d244d9e7aa1b654a47a
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 19:00:30 2016 -0800

    Fix problem causing internal error when -z max-page-size is used.
    
    If the default starting address is less than the new ABI page size,
    we end up misaligning the file header, causing an internal error.
    
    gold/
    	PR gold/20834
    	* target.h (Target::default_text_segment_address): Bump default
    	start address up to ABI page size.

commit 376c3ecd17d0636bcf4e527c2e2ca2f94822fe64
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 16:32:38 2016 -0800

    Implement --push-state/--pop-state.
    
    gold/
    	PR gold/18989
    	* options.cc (General_options::object_format_to_string): New function.
    	(General_options::copy_from_posdep_options): New function.
    	(General_options::parse_push_state): New function.
    	(General_options::parse_pop_state): New function.
    	* options.h (--push-state, --pop-state): New options.
    	(General_options::object_format_to_string): New method.
    	(General_options::set_incremental_disposition): New method.
    	(General_options::copy_from_posdep_options): New method.
    	(General_options::options_stack_): New data member.

commit 6a67d49e559b432ead2859e9bb327852adb53112
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 2 00:00:35 2016 +0000

    Automatic date update in version.in

commit 36d18bc526b055be896d8dc319cb3ade42238534
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:20:02 2016 -0500

    Class-ify ui_out_table
    
    This patch makes a class out of the ui_out_table structure, the
    structure responsible for managing the generation of an UI table.
    
    To simplify the ui_out_table object, I changed it so that it can only be
    used for generating a single object.  Instead of clearing the header
    list when starting a new table, we an ui_out_table when starting a
    table and delete it when we're done.  Therefore, the checks:
    
      if (uiout->table->flag)
      if (!uiout->table->flag)
    
    are respectively replaced with
    
      if (uiout->table != nullptr)
      if (uiout->table == nullptr)
    
    Note: I removed the check at the beginning of ui_out_begin, because
    there is an equivalent check at the beginning of verify_field.
    
    New in v2:
    
      - use "enum class" for ui_out_table::state and update references.
    
    gdb/ChangeLog:
    
    	* ui-out.c (enum ui_out_table_state): Move to class
    	ui_out_table as ui_out_table::state.
    	(struct ui_out_table): Change to ...
    	(class ui_out_table): ... this.
    	<flag>: Remove.
    	<entry_level>: Rename to ...
    	<m_entry_level>: ... this.
    	<columns>: Rename to ...
    	<m_nr_cols>: ... this.
    	<id>: Rename to ...
    	<m_id>: ... this.
    	<headers>: Rename to ...
    	<m_headers>: ... this.
    	<headers_iterator>: Rename to ...
    	<m_headers_iterator>: ... this.
    	<start_body, append_header, start_row, get_next_header,
    	query_field, current_state, entry_level>: New methods.
    	(struct ui_out) <table>: Change type to unique_ptr to
    	ui_out_table.
    	(append_header_to_list, get_next_header, clear_header_list,
    	clear_table): Remove.
    	(ui_out_table_begin): Instantiate ui_out_table object.  Update
    	table check.
    	(ui_out_table_body): Update table check, replace code with call
    	to ui_out_table::start_body.
    	(ui_out_table_end): Update table check, replace manual cleanup
    	with assignment of uiout->table unique_ptr to nullptr.
    	(ui_out_table_header): Update table check, replace call to
    	append_header_to_list with call to append_header method.
    	(ui_out_begin): Remove one table state check, update another.
    	Replace code with call to start_row method.
    	(verify_field): Update table checks.
    	(ui_out_query_field): Update table check, replace code with call
    	to query_field method.
    	(ui_out_new): Remove table initialization code.

commit 77a179e77b38161e461f5e37512f0b3fc3582181
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:10:45 2016 -0500

    ui_out_table: Replace boolean flag with enum
    
    This patch is just a little cleanup, it replaces the body_flag field of
    ui_out_table with an enum.  It expresses more explicitly the
    intent of the field (check that state == TABLE_STATE_HEADERS conveys
    more what we want to do than checking for !body_flag).
    
    New in v2:
    
      - Remove unnecessary ui_out_table_state::.
    
    gdb/ChangeLog:
    
    	* ui-out.c (enum ui_out_table_state): New enum.
    	(struct ui_out_table) <body_flag>: Remove field.
    	<state>: New field.
    	(ui_out_table_begin): Replace usages of body_flag with state.
    	(ui_out_table_body): Likewise.
    	(ui_out_table_end): Likewise.
    	(ui_out_table_header): Likewise.
    	(ui_out_begin): Likewise.
    	(verify_field): Likewise.
    	(ui_out_new): Likewise.

commit 33b2fac610fff1255a24763277a4bf77f1b59ef1
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:05:17 2016 -0500

    Simplify ui-out level code
    
    Now that we use a vector to store the levels, we don't have to keep a
    separate level field in ui_out to keep track of the current level.  We
    can efficiently derive it from the vector size.  That causes a little
    change in the meaning of the level, as in they are now 1-based instead
    of 0-based (the initial level has the "id" 1 now), but it shouldn't
    change anything in the behavior.
    
    Additionally, push_level and pop_level don't really need to return the
    new level, making them return void simplifies the code a bit.
    
    Finally, the ui_out_begin/ui_out_end callbacks in the ui_out_impl
    interface don't need to be passed the level, it's never actually used.
    
    New in v2:
    
     - Remove or update stale comments.
    
    gdb/ChangeLog:
    
    	* ui-out.h (ui_out_begin_ftype): Remove level parameter.
    	(ui_out_end_ftype): Likewise.
    	* ui-out.c (struct ui_out) <level>: Replace field with a method
    	that dynamically computes the result.
    	(current_level): Get vector's back item instead of using
    	uiout->level.
    	(push_level): Make return type void.
    	(pop_level): Make return type void and update access to
    	ui_out::level.
    	(uo_begin): Remove level parameter.
    	(uo_end): Likewise.
    	(ui_out_table_begin): Update access to uiout::level.
    	(ui_out_begin): Don't read return value from push_level, call
    	uiout->level() instead, update call to uo_begin.
    	(ui_out_end): Don't read return value from pop_level, update
    	call to uo_end.
    	(verify_field): Update access to uiout->level.
    	(ui_out_new): Don't initialize ui_out::level, call push_level
    	to push the initial level instead of doing it by hand.
    	* cli-out.c (cli_begin): Remove level parameter.
    	(cli_end): Likewise.
    	* mi/mi-out.c (mi_begin): Likewise.
    	(mi_end): Likewise.

commit 909c0aa5824080c287b390f82726cf5bfb7011e3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:04:43 2016 -0500

    Class-ify ui_out_level
    
    This patch changes struct ui_out_level to be a real C++ class.  No
    behavioral changes.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_level): Replace with ...
    	(class ui_out_level): ... this.
    	(current_level): Update.
    	(push_level): Update.
    	(pop_level): Update.
    	(verify_field): Update.
    	(ui_out_new): Update.

commit 37e20dd6599203c4e261fc3a2e86711c90cbbed9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:02:00 2016 -0500

    Class-ify ui_out_hdr
    
    This patch makes ui_out_hdr (the object that represents an ui-out table
    header) a proper C++ class.  No behavior changes, it's all about
    encapsulation.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_hdr): Replace with ...
    	(class ui_out_hdr): ... this.
    	(append_header_to_list): Update.
    	(get_next_header): Update.
    	(ui_out_query_field): Update.

commit c5209615263fd0444da28cdfb6661ad287909a70
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 15:59:01 2016 -0500

    Use std::string for ui_out_hdr's text fields
    
    This patch makes ui_out_hdr use std::string for its text fields.  It
    makes freeing automatic when the object is deleted.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_table_header): Change char * args to
    	std::string.
    	* cli-out.c (cli_table_header): Likewise.
    	* ui-out.h (table_header_ftype): Likewise.
    	(ui_out_table_header): Constify colhdr argument.
    	(ui_out_query_field): Constify col_name argument.
    	* ui-out.c (ui_out_hdr) <col_name, colhdr>: Change type to
    	std::string.
    	(uo_table_header): Change char * args to std::string.
    	(ui_out_table_header): Likewise.
    	(get_next_header): Constify colhdr argument and adapt.
    	(clear_header_list): Don't free col_name/colhdr fields.
    	(append_header_to_list): Change char * args to std::string and
    	adapt.
    	(verify_field): Constify variable.
    	(ui_out_query_field): Constify col_name argument and adapt.
    	* breakpoint.c (wrap_indent_at_field): Constify variable.

commit 78afa7f8599e46eb94a93510b383dfb35e549f7e
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 15:58:40 2016 -0500

    Replace hand-made linked list of ui_out_hdr by vector and iterator
    
    Instead of keeping pointers to first, last and current ui_out_hdr in
    ui_out_table, we can use an std::vector and an iterator.  Direct random
    access of to vector helps make get_next_header a bit nicer by avoiding
    iterating on all the headers.  append_header_to_list is also a bit
    simpler.
    
    Also, using unique_ptr inside the vector allows expressing the ownership
    of the ui_out_hdr objects by the ui_out_table object, and it simplifies
    the destruction.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_hdr) <next>: Remove.
    	(struct ui_out_table) <header_first, header_last, header_next>: Remove.
    	<headers, headers_iterator>: New fields.
    	(ui_out_table_body): Update for the new data structure.
    	(ui_out_begin): Likewise.
    	(clear_header_list): Likewise.
    	(append_header_to_list): Likewise.
    	(get_next_header): Likewise.
    	(ui_out_query_field): Likewise.
    	(ui_out_new): Likewise.

commit 0f1254327820d7b3f67f873aa40e76679f067288
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 12:50:21 2016 -0800

    Fix internal error when relaxing branches to STT_SECTION symbols.
    
    gold/
    	PR gold/20807
    	* aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Handle
    	section symbols correctly.
    	* arm.cc (Target_arm): Likewise.
    	* powerpc.cc (Target_powerpc): Likewise.

commit 84c93cd5f1ff869eb8c04314738eaa2cddb3c29e
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:47:50 2016 -0600

    Fixup testcases outputting own name as a test name and standardize failed compilation messages
    
    Changes in v3:
    
    - Adjusted some testcases where the message "failed to compile" was not unique.
    
    Changes in v2:
    
    - Addressed comments from reviewers.
    - Fixed spurious whitespaces.
    - Changed compilation failure messages that included source/binary paths to
      ones that are short and deterministic.
    
    ---
    
    Another bit of cleanup to the testsuite. We have a number of tests that are
    not honoring the rule of not outputting their own name as a test name.
    
    I fixed up all the offenders i could find with the following regular
    expression:
    
    "(xfail|kfail|kpass|fail|pass|unsupported|untested) ([A-Za-z0-9]+|\\\$(.)*testfile(.)*)\.exp$"
    
    gdb/testsuite/ChangeLog:
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names and standardize compilation error messages throughout
    	the following files:
    
    	* gdb.ada/start.exp
    	* gdb.arch/alpha-step.exp
    	* gdb.arch/e500-prologue.exp
    	* gdb.arch/ftrace-insn-reloc.exp
    	* gdb.arch/gdb1291.exp
    	* gdb.arch/gdb1431.exp
    	* gdb.arch/gdb1558.exp
    	* gdb.arch/i386-dr3-watch.exp
    	* gdb.arch/i386-sse-stack-align.exp
    	* gdb.arch/ia64-breakpoint-shadow.exp
    	* gdb.arch/pa-nullify.exp
    	* gdb.arch/powerpc-aix-prologue.exp
    	* gdb.arch/thumb-bx-pc.exp
    	* gdb.base/annota1.exp
    	* gdb.base/annota3.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/assign.exp
    	* gdb.base/attach.exp
    	* gdb.base/auxv.exp
    	* gdb.base/bang.exp
    	* gdb.base/bfp-test.exp
    	* gdb.base/bigcore.exp
    	* gdb.base/bitfields2.exp
    	* gdb.base/break-fun-addr.exp
    	* gdb.base/break-probes.exp
    	* gdb.base/call-rt-st.exp
    	* gdb.base/callexit.exp
    	* gdb.base/catch-fork-kill.exp
    	* gdb.base/charset.exp
    	* gdb.base/checkpoint.exp
    	* gdb.base/comprdebug.exp
    	* gdb.base/constvars.exp
    	* gdb.base/coredump-filter.exp
    	* gdb.base/cursal.exp
    	* gdb.base/cvexpr.exp
    	* gdb.base/detach.exp
    	* gdb.base/display.exp
    	* gdb.base/dmsym.exp
    	* gdb.base/dprintf-pending.exp
    	* gdb.base/dso2dso.exp
    	* gdb.base/dtrace-probe.exp
    	* gdb.base/dump.exp
    	* gdb.base/enum_cond.exp
    	* gdb.base/exe-lock.exp
    	* gdb.base/exec-invalid-sysroot.exp
    	* gdb.base/execl-update-breakpoints.exp
    	* gdb.base/exprs.exp
    	* gdb.base/fileio.exp
    	* gdb.base/find.exp
    	* gdb.base/finish.exp
    	* gdb.base/fixsection.exp
    	* gdb.base/foll-vfork.exp
    	* gdb.base/frame-args.exp
    	* gdb.base/gcore.exp
    	* gdb.base/gdb1250.exp
    	* gdb.base/global-var-nested-by-dso.exp
    	* gdb.base/gnu-ifunc.exp
    	* gdb.base/hashline1.exp
    	* gdb.base/hashline2.exp
    	* gdb.base/hashline3.exp
    	* gdb.base/hbreak-in-shr-unsupported.exp
    	* gdb.base/huge.exp
    	* gdb.base/infcall-input.exp
    	* gdb.base/info-fun.exp
    	* gdb.base/info-shared.exp
    	* gdb.base/jit-simple.exp
    	* gdb.base/jit-so.exp
    	* gdb.base/jit.exp
    	* gdb.base/jump.exp
    	* gdb.base/label.exp
    	* gdb.base/lineinc.exp
    	* gdb.base/logical.exp
    	* gdb.base/longjmp.exp
    	* gdb.base/macscp.exp
    	* gdb.base/miscexprs.exp
    	* gdb.base/new-ui-echo.exp
    	* gdb.base/new-ui-pending-input.exp
    	* gdb.base/new-ui.exp
    	* gdb.base/nodebug.exp
    	* gdb.base/nofield.exp
    	* gdb.base/offsets.exp
    	* gdb.base/overlays.exp
    	* gdb.base/pending.exp
    	* gdb.base/pointers.exp
    	* gdb.base/pr11022.exp
    	* gdb.base/printcmds.exp
    	* gdb.base/prologue.exp
    	* gdb.base/ptr-typedef.exp
    	* gdb.base/realname-expand.exp
    	* gdb.base/relativedebug.exp
    	* gdb.base/relocate.exp
    	* gdb.base/remote.exp
    	* gdb.base/reread.exp
    	* gdb.base/return2.exp
    	* gdb.base/savedregs.exp
    	* gdb.base/sep.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/sepsymtab.exp
    	* gdb.base/set-inferior-tty.exp
    	* gdb.base/setshow.exp
    	* gdb.base/shlib-call.exp
    	* gdb.base/sigaltstack.exp
    	* gdb.base/siginfo-addr.exp
    	* gdb.base/signals.exp
    	* gdb.base/signull.exp
    	* gdb.base/sigrepeat.exp
    	* gdb.base/so-impl-ld.exp
    	* gdb.base/solib-display.exp
    	* gdb.base/solib-overlap.exp
    	* gdb.base/solib-search.exp
    	* gdb.base/solib-symbol.exp
    	* gdb.base/structs.exp
    	* gdb.base/structs2.exp
    	* gdb.base/symtab-search-order.exp
    	* gdb.base/twice.exp
    	* gdb.base/unload.exp
    	* gdb.base/varargs.exp
    	* gdb.base/watchpoint-solib.exp
    	* gdb.base/watchpoint.exp
    	* gdb.base/whatis.exp
    	* gdb.base/wrong_frame_bt_full.exp
    	* gdb.btrace/dlopen.exp
    	* gdb.cell/ea-standalone.exp
    	* gdb.cell/ea-test.exp
    	* gdb.cp/dispcxx.exp
    	* gdb.cp/gdb2384.exp
    	* gdb.cp/method2.exp
    	* gdb.cp/nextoverthrow.exp
    	* gdb.cp/pr10728.exp
    	* gdb.disasm/am33.exp
    	* gdb.disasm/h8300s.exp
    	* gdb.disasm/mn10300.exp
    	* gdb.disasm/sh3.exp
    	* gdb.dwarf2/dw2-dir-file-name.exp
    	* gdb.fortran/complex.exp
    	* gdb.fortran/library-module.exp
    	* gdb.guile/scm-pretty-print.exp
    	* gdb.guile/scm-symbol.exp
    	* gdb.guile/scm-type.exp
    	* gdb.guile/scm-value.exp
    	* gdb.linespec/linespec.exp
    	* gdb.mi/gdb701.exp
    	* gdb.mi/gdb792.exp
    	* gdb.mi/mi-breakpoint-changed.exp
    	* gdb.mi/mi-dprintf-pending.exp
    	* gdb.mi/mi-dprintf.exp
    	* gdb.mi/mi-exit-code.exp
    	* gdb.mi/mi-pending.exp
    	* gdb.mi/mi-solib.exp
    	* gdb.mi/new-ui-mi-sync.exp
    	* gdb.mi/pr11022.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.opt/solib-intra-step.exp
    	* gdb.python/py-events.exp
    	* gdb.python/py-finish-breakpoint.exp
    	* gdb.python/py-mi.exp
    	* gdb.python/py-prettyprint.exp
    	* gdb.python/py-shared.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-template.exp
    	* gdb.python/py-type.exp
    	* gdb.python/py-value.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/solib-reverse.exp
    	* gdb.server/solib-list.exp
    	* gdb.stabs/weird.exp
    	* gdb.threads/reconnect-signal.exp
    	* gdb.threads/stepi-random-signal.exp
    	* gdb.trace/actions.exp
    	* gdb.trace/ax.exp
    	* gdb.trace/backtrace.exp
    	* gdb.trace/change-loc.exp
    	* gdb.trace/deltrace.exp
    	* gdb.trace/ftrace-lock.exp
    	* gdb.trace/ftrace.exp
    	* gdb.trace/infotrace.exp
    	* gdb.trace/mi-tracepoint-changed.exp
    	* gdb.trace/packetlen.exp
    	* gdb.trace/passcount.exp
    	* gdb.trace/pending.exp
    	* gdb.trace/range-stepping.exp
    	* gdb.trace/report.exp
    	* gdb.trace/stap-trace.exp
    	* gdb.trace/tfind.exp
    	* gdb.trace/trace-break.exp
    	* gdb.trace/trace-condition.exp
    	* gdb.trace/trace-enable-disable.exp
    	* gdb.trace/trace-mt.exp
    	* gdb.trace/tracecmd.exp
    	* gdb.trace/tspeed.exp
    	* gdb.trace/tsv.exp
    	* lib/perftest.exp

commit fb9feb35913d4cf26baf01e1638b18af301f5387
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:46:28 2016 -0600

    Fix test names starting with uppercase using multi-line gdb_test_multiple
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_multiple in a multi-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.cp/gdb2495.exp: Replace gdb_test_multiple
    	with gdb_test_no_output.
    	Use command as test name.

commit cd2ddb6cde55a20d191e1002dbe1977df695cda9
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:45:32 2016 -0600

    Fix test names starting with uppercase using multi-line gdb_test_no_output
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_no_output in a multi-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.ada/assign_1.exp
    	* gdb.ada/boolean_expr.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/del.exp
    	* gdb.base/gcore-buffer-overflow.exp
    	* gdb.base/testenv.exp
    	* gdb.compile/compile.exp
    	* gdb.python/py-framefilter-invalidarg.exp
    	* gdb.python/py-framefilter.exp

commit bb95117e107fe58ecd35683bf0e8da3b414378ff
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:44:38 2016 -0600

    Fix test names starting with uppercase using multi-line gdb_test/mi_gdb_test
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test/mi_gdb_test in a multi-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.ada/array_return.exp
    	* gdb.ada/expr_delims.exp
    	* gdb.ada/mi_dyn_arr.exp
    	* gdb.ada/mi_interface.exp
    	* gdb.ada/mi_var_array.exp
    	* gdb.ada/watch_arg.exp
    	* gdb.arch/alpha-step.exp
    	* gdb.arch/altivec-regs.exp
    	* gdb.arch/e500-regs.exp
    	* gdb.arch/powerpc-d128-regs.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/break.exp
    	* gdb.base/checkpoint.exp
    	* gdb.base/debug-expr.exp
    	* gdb.base/dmsym.exp
    	* gdb.base/radix.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/testenv.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.base/watchpoint-cond-gone.exp
    	* gdb.cell/break.exp
    	* gdb.cell/ea-cache.exp
    	* gdb.compile/compile.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.gdb/selftest.exp
    	* gdb.gdb/xfullpath.exp
    	* gdb.go/hello.exp
    	* gdb.go/integers.exp
    	* gdb.objc/basicclass.exp
    	* gdb.pascal/hello.exp
    	* gdb.pascal/integers.exp
    	* gdb.python/py-breakpoint.exp
    	* gdb.python/py-cmd.exp
    	* gdb.python/py-linetable.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.python/python.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/sigall-precsave.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.threads/leader-exit.exp
    	* gdb.threads/pthreads.exp
    	* gdb.threads/wp-replication.exp
    	* gdb.trace/actions.exp
    	* gdb.trace/mi-tsv-changed.exp
    	* gdb.trace/tsv.exp

commit de97fdd4a05cd7ad0b05444f1721f26c1ad9322f
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:43:42 2016 -0600

    Fix test names starting with uppercase using gdb_test_multiple
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_multiple in a single-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.arch/i386-bp_permanent.exp
    	* gdb.arch/i386-gnu-cfi.exp
    	* gdb.base/disasm-end-cu.exp
    	* gdb.base/macscp.exp
    	* gdb.base/pending.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.cp/exception.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.cp/local.exp
    	* gdb.python/py-evsignal.exp
    	* gdb.python/python.exp
    	* gdb.trace/tracecmd.exp

commit 9f058c10cef5987ee1f1cb28c9a8cf5ef1ec4d11
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:42:48 2016 -0600

    Fix test names starting with uppercase using gdb_test_no_output
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_no_output in a single-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.base/charset.exp
    	* gdb.base/eval.exp
    	* gdb.base/multi-forks.exp
    	* gdb.guile/scm-progspace.exp
    	* gdb.opencl/datatypes.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-function.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.reverse/break-precsave.exp
    	* gdb.reverse/break-reverse.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/consecutive-reverse.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/finish-reverse-bkpt.exp
    	* gdb.reverse/finish-reverse.exp
    	* gdb.reverse/fstatat-reverse.exp
    	* gdb.reverse/getresuid-reverse.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/i386-reverse.exp
    	* gdb.reverse/i386-sse-reverse.exp
    	* gdb.reverse/i387-stack-reverse.exp
    	* gdb.reverse/insn-reverse.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/machinestate.exp
    	* gdb.reverse/next-reverse-bkpt-over-sr.exp
    	* gdb.reverse/pipe-reverse.exp
    	* gdb.reverse/readv-reverse.exp
    	* gdb.reverse/recvmsg-reverse.exp
    	* gdb.reverse/rerun-prec.exp
    	* gdb.reverse/s390-mvcle.exp
    	* gdb.reverse/sigall-precsave.exp
    	* gdb.reverse/sigall-reverse.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/solib-reverse.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/step-reverse.exp
    	* gdb.reverse/time-reverse.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/until-reverse.exp
    	* gdb.reverse/waitpid-reverse.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.reverse/watch-reverse.exp

commit cdc7edd7b17dddd3558bd04d9b2fb5a73dc75f1c
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:41:23 2016 -0600

    Fix test names starting with uppercase using gdb_test on a single line.
    
    Changes in v3:
      Fixed incorrect substitutions.
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test in a single line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.arch/i386-mpx-simple_segv.exp
    	* gdb.arch/i386-mpx.exp
    	* gdb.arch/i386-permbkpt.exp
    	* gdb.arch/pa-nullify.exp
    	* gdb.arch/powerpc-d128-regs.exp
    	* gdb.arch/vsx-regs.exp
    	* gdb.base/bfp-test.exp
    	* gdb.base/break.exp
    	* gdb.base/breakpoint-shadow.exp
    	* gdb.base/callfuncs.exp
    	* gdb.base/charset.exp
    	* gdb.base/commands.exp
    	* gdb.base/completion.exp
    	* gdb.base/dfp-test.exp
    	* gdb.base/echo.exp
    	* gdb.base/ending-run.exp
    	* gdb.base/eval.exp
    	* gdb.base/expand-psymtabs.exp
    	* gdb.base/float128.exp
    	* gdb.base/floatn.exp
    	* gdb.base/foll-exec-mode.exp
    	* gdb.base/gdb1056.exp
    	* gdb.base/gdb11531.exp
    	* gdb.base/kill-after-signal.exp
    	* gdb.base/multi-forks.exp
    	* gdb.base/overlays.exp
    	* gdb.base/pending.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/testenv.exp
    	* gdb.base/valgrind-db-attach.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.base/watchpoint-cond-gone.exp
    	* gdb.base/watchpoint.exp
    	* gdb.base/watchpoints.exp
    	* gdb.cp/arg-reference.exp
    	* gdb.cp/baseenum.exp
    	* gdb.cp/operator.exp
    	* gdb.cp/shadow.exp
    	* gdb.dwarf2/dw2-op-out-param.exp
    	* gdb.dwarf2/dw2-reg-undefined.exp
    	* gdb.go/chan.exp
    	* gdb.go/hello.exp
    	* gdb.go/integers.exp
    	* gdb.go/methods.exp
    	* gdb.go/package.exp
    	* gdb.guile/scm-parameter.exp
    	* gdb.guile/scm-progspace.exp
    	* gdb.guile/scm-value.exp
    	* gdb.mi/mi-pending.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.multi/multi-attach.exp
    	* gdb.multi/tids.exp
    	* gdb.opt/clobbered-registers-O2.exp
    	* gdb.pascal/floats.exp
    	* gdb.pascal/integers.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-events.exp
    	* gdb.python/py-parameter.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-type.exp
    	* gdb.python/py-value.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.python/python.exp
    	* gdb.reverse/break-precsave.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/sigall-precsave.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.server/ext-attach.exp
    	* gdb.server/ext-restart.exp
    	* gdb.server/ext-run.exp
    	* gdb.server/ext-wrapper.exp
    	* gdb.stabs/gdb11479.exp
    	* gdb.stabs/weird.exp
    	* gdb.threads/attach-many-short-lived-threads.exp
    	* gdb.threads/kill.exp
    	* gdb.threads/watchpoint-fork.exp

commit bc6c7af4a2f23c48a38139fc7e0ed2ac7b12bb69
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:40:05 2016 -0600

    Fix test names starting with uppercase output by basic functions
    
    The following patch is based on the previous patch i sent and handles cases of
    test names that start with an uppercase letter. Test names should start with
    lowercase unless it starts with the name of a technology, architecture, ISA
    etc.
    
    This first patch addresses cases of test names output explicitly via xfail,
    kfail, kpass, fail, pass, unsupported, untested and also names set with the
    pattern "set test" and "set testname".
    
    gdb/testsuite/ChangeLog:
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout all the files below.
    
    	* gdb.ada/array_return.exp
    	* gdb.ada/catch_ex.exp
    	* gdb.ada/info_exc.exp
    	* gdb.ada/mi_catch_ex.exp
    	* gdb.ada/mi_dyn_arr.exp
    	* gdb.ada/mi_ex_cond.exp
    	* gdb.ada/mi_exc_info.exp
    	* gdb.ada/mi_interface.exp
    	* gdb.ada/mi_task_arg.exp
    	* gdb.ada/mi_task_info.exp
    	* gdb.ada/mi_var_array.exp
    	* gdb.arch/alpha-step.exp
    	* gdb.arch/amd64-disp-step.exp
    	* gdb.arch/arm-disp-step.exp
    	* gdb.arch/disp-step-insn-reloc.exp
    	* gdb.arch/e500-prologue.exp
    	* gdb.arch/ftrace-insn-reloc.exp
    	* gdb.arch/gdb1558.exp
    	* gdb.arch/i386-bp_permanent.exp
    	* gdb.arch/i386-disp-step.exp
    	* gdb.arch/i386-float.exp
    	* gdb.arch/i386-gnu-cfi.exp
    	* gdb.arch/ia64-breakpoint-shadow.exp
    	* gdb.arch/mips16-thunks.exp
    	* gdb.arch/pa-nullify.exp
    	* gdb.arch/powerpc-aix-prologue.exp
    	* gdb.arch/powerpc-power.exp
    	* gdb.arch/ppc-dfp.exp
    	* gdb.arch/s390-tdbregs.exp
    	* gdb.arch/spu-info.exp
    	* gdb.arch/spu-ls.exp
    	* gdb.arch/thumb-bx-pc.exp
    	* gdb.base/advance.exp
    	* gdb.base/annota-input-while-running.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/asmlabel.exp
    	* gdb.base/async.exp
    	* gdb.base/attach-wait-input.exp
    	* gdb.base/auto-connect-native-target.exp
    	* gdb.base/batch-preserve-term-settings.exp
    	* gdb.base/bfp-test.exp
    	* gdb.base/bigcore.exp
    	* gdb.base/bp-permanent.exp
    	* gdb.base/break-always.exp
    	* gdb.base/break-fun-addr.exp
    	* gdb.base/break-idempotent.exp
    	* gdb.base/break-main-file-remove-fail.exp
    	* gdb.base/break-probes.exp
    	* gdb.base/break-unload-file.exp
    	* gdb.base/break.exp
    	* gdb.base/call-ar-st.exp
    	* gdb.base/call-rt-st.exp
    	* gdb.base/call-sc.exp
    	* gdb.base/call-signal-resume.exp
    	* gdb.base/call-strs.exp
    	* gdb.base/callexit.exp
    	* gdb.base/callfuncs.exp
    	* gdb.base/catch-gdb-caused-signals.exp
    	* gdb.base/catch-signal-siginfo-cond.exp
    	* gdb.base/catch-syscall.exp
    	* gdb.base/compare-sections.exp
    	* gdb.base/cond-eval-mode.exp
    	* gdb.base/condbreak-call-false.exp
    	* gdb.base/consecutive-step-over.exp
    	* gdb.base/cursal.exp
    	* gdb.base/disabled-location.exp
    	* gdb.base/disasm-end-cu.exp
    	* gdb.base/display.exp
    	* gdb.base/double-prompt-target-event-error.exp
    	* gdb.base/dprintf-bp-same-addr.exp
    	* gdb.base/dprintf-detach.exp
    	* gdb.base/dprintf-next.exp
    	* gdb.base/dprintf-non-stop.exp
    	* gdb.base/dprintf-pending.exp
    	* gdb.base/dso2dso.exp
    	* gdb.base/ending-run.exp
    	* gdb.base/enum_cond.exp
    	* gdb.base/examine-backward.exp
    	* gdb.base/exe-lock.exp
    	* gdb.base/exec-invalid-sysroot.exp
    	* gdb.base/execl-update-breakpoints.exp
    	* gdb.base/execution-termios.exp
    	* gdb.base/fileio.exp
    	* gdb.base/fixsection.exp
    	* gdb.base/foll-exec-mode.exp
    	* gdb.base/foll-exec.exp
    	* gdb.base/fork-running-state.exp
    	* gdb.base/frame-args.exp
    	* gdb.base/fullpath-expand.exp
    	* gdb.base/func-ptr.exp
    	* gdb.base/gcore-relro-pie.exp
    	* gdb.base/gdb1090.exp
    	* gdb.base/gdb1555.exp
    	* gdb.base/global-var-nested-by-dso.exp
    	* gdb.base/gnu-ifunc.exp
    	* gdb.base/hbreak-in-shr-unsupported.exp
    	* gdb.base/hbreak-unmapped.exp
    	* gdb.base/hook-stop.exp
    	* gdb.base/infcall-input.exp
    	* gdb.base/info-fun.exp
    	* gdb.base/info-shared.exp
    	* gdb.base/interrupt-noterm.exp
    	* gdb.base/jit-so.exp
    	* gdb.base/jit.exp
    	* gdb.base/line-symtabs.exp
    	* gdb.base/list.exp
    	* gdb.base/longjmp.exp
    	* gdb.base/macscp.exp
    	* gdb.base/max-value-size.exp
    	* gdb.base/nodebug.exp
    	* gdb.base/nofield.exp
    	* gdb.base/overlays.exp
    	* gdb.base/paginate-after-ctrl-c-running.exp
    	* gdb.base/paginate-bg-execution.exp
    	* gdb.base/paginate-inferior-exit.exp
    	* gdb.base/pending.exp
    	* gdb.base/pr11022.exp
    	* gdb.base/printcmds.exp
    	* gdb.base/ptr-typedef.exp
    	* gdb.base/ptype.exp
    	* gdb.base/randomize.exp
    	* gdb.base/range-stepping.exp
    	* gdb.base/realname-expand.exp
    	* gdb.base/relativedebug.exp
    	* gdb.base/remote.exp
    	* gdb.base/savedregs.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/set-noassign.exp
    	* gdb.base/shlib-call.exp
    	* gdb.base/shreloc.exp
    	* gdb.base/sigaltstack.exp
    	* gdb.base/sigbpt.exp
    	* gdb.base/siginfo-addr.exp
    	* gdb.base/siginfo-obj.exp
    	* gdb.base/siginfo-thread.exp
    	* gdb.base/signest.exp
    	* gdb.base/signull.exp
    	* gdb.base/sigrepeat.exp
    	* gdb.base/skip.exp
    	* gdb.base/so-impl-ld.exp
    	* gdb.base/solib-corrupted.exp
    	* gdb.base/solib-disc.exp
    	* gdb.base/solib-display.exp
    	* gdb.base/solib-overlap.exp
    	* gdb.base/solib-search.exp
    	* gdb.base/solib-symbol.exp
    	* gdb.base/source-execution.exp
    	* gdb.base/sss-bp-on-user-bp-2.exp
    	* gdb.base/sss-bp-on-user-bp.exp
    	* gdb.base/stack-checking.exp
    	* gdb.base/stale-infcall.exp
    	* gdb.base/step-break.exp
    	* gdb.base/step-line.exp
    	* gdb.base/step-over-exit.exp
    	* gdb.base/step-test.exp
    	* gdb.base/structs.exp
    	* gdb.base/sym-file.exp
    	* gdb.base/symtab-search-order.exp
    	* gdb.base/term.exp
    	* gdb.base/type-opaque.exp
    	* gdb.base/unload.exp
    	* gdb.base/until-nodebug.exp
    	* gdb.base/until.exp
    	* gdb.base/unwindonsignal.exp
    	* gdb.base/watch-cond.exp
    	* gdb.base/watch-non-mem.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.base/watchpoint-reuse-slot.exp
    	* gdb.base/watchpoint-solib.exp
    	* gdb.base/watchpoint.exp
    	* gdb.btrace/dlopen.exp
    	* gdb.cell/arch.exp
    	* gdb.cell/break.exp
    	* gdb.cell/bt.exp
    	* gdb.cell/core.exp
    	* gdb.cell/data.exp
    	* gdb.cell/dwarfaddr.exp
    	* gdb.cell/ea-cache.exp
    	* gdb.cell/ea-standalone.exp
    	* gdb.cell/ea-test.exp
    	* gdb.cell/f-regs.exp
    	* gdb.cell/fork.exp
    	* gdb.cell/gcore.exp
    	* gdb.cell/mem-access.exp
    	* gdb.cell/ptype.exp
    	* gdb.cell/registers.exp
    	* gdb.cell/sizeof.exp
    	* gdb.cell/solib-symbol.exp
    	* gdb.cell/solib.exp
    	* gdb.compile/compile-tls.exp
    	* gdb.cp/exception.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.cp/local.exp
    	* gdb.cp/mb-inline.exp
    	* gdb.cp/mb-templates.exp
    	* gdb.cp/pr10687.exp
    	* gdb.cp/pr9167.exp
    	* gdb.cp/scope-err.exp
    	* gdb.cp/templates.exp
    	* gdb.cp/virtfunc.exp
    	* gdb.dwarf2/dw2-dir-file-name.exp
    	* gdb.dwarf2/dw2-single-line-discriminators.exp
    	* gdb.fortran/complex.exp
    	* gdb.fortran/library-module.exp
    	* gdb.guile/guile.exp
    	* gdb.guile/scm-cmd.exp
    	* gdb.guile/scm-frame-inline.exp
    	* gdb.guile/scm-objfile.exp
    	* gdb.guile/scm-pretty-print.exp
    	* gdb.guile/scm-symbol.exp
    	* gdb.guile/scm-type.exp
    	* gdb.guile/scm-value.exp
    	* gdb.linespec/keywords.exp
    	* gdb.linespec/ls-errs.exp
    	* gdb.linespec/macro-relative.exp
    	* gdb.linespec/thread.exp
    	* gdb.mi/mi-breakpoint-changed.exp
    	* gdb.mi/mi-dprintf-pending.exp
    	* gdb.mi/mi-fullname-deleted.exp
    	* gdb.mi/mi-logging.exp
    	* gdb.mi/mi-pending.exp
    	* gdb.mi/mi-solib.exp
    	* gdb.mi/new-ui-mi-sync.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.multi/dummy-frame-restore.exp
    	* gdb.multi/multi-arch-exec.exp
    	* gdb.multi/remove-inferiors.exp
    	* gdb.multi/watchpoint-multi-exit.exp
    	* gdb.opt/solib-intra-step.exp
    	* gdb.perf/backtrace.exp
    	* gdb.perf/single-step.exp
    	* gdb.perf/skip-command.exp
    	* gdb.perf/skip-prologue.exp
    	* gdb.perf/solib.exp
    	* gdb.python/lib-types.exp
    	* gdb.python/py-as-string.exp
    	* gdb.python/py-bad-printers.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-breakpoint.exp
    	* gdb.python/py-cmd.exp
    	* gdb.python/py-events.exp
    	* gdb.python/py-evthreads.exp
    	* gdb.python/py-finish-breakpoint.exp
    	* gdb.python/py-finish-breakpoint2.exp
    	* gdb.python/py-frame-inline.exp
    	* gdb.python/py-frame.exp
    	* gdb.python/py-inferior.exp
    	* gdb.python/py-infthread.exp
    	* gdb.python/py-mi.exp
    	* gdb.python/py-objfile.exp
    	* gdb.python/py-pp-maint.exp
    	* gdb.python/py-pp-registration.exp
    	* gdb.python/py-prettyprint.exp
    	* gdb.python/py-recurse-unwind.exp
    	* gdb.python/py-shared.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-template.exp
    	* gdb.python/py-type.exp
    	* gdb.python/py-unwind-maint.exp
    	* gdb.python/py-unwind.exp
    	* gdb.python/py-value.exp
    	* gdb.python/python.exp
    	* gdb.reverse/finish-reverse-bkpt.exp
    	* gdb.reverse/insn-reverse.exp
    	* gdb.reverse/next-reverse-bkpt-over-sr.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/solib-reverse.exp
    	* gdb.stabs/gdb11479.exp
    	* gdb.stabs/weird.exp
    	* gdb.threads/fork-child-threads.exp
    	* gdb.threads/fork-plus-threads.exp
    	* gdb.threads/fork-thread-pending.exp
    	* gdb.threads/forking-threads-plus-breakpoint.exp
    	* gdb.threads/hand-call-in-threads.exp
    	* gdb.threads/interrupted-hand-call.exp
    	* gdb.threads/linux-dp.exp
    	* gdb.threads/local-watch-wrong-thread.exp
    	* gdb.threads/next-while-other-thread-longjmps.exp
    	* gdb.threads/non-ldr-exit.exp
    	* gdb.threads/pending-step.exp
    	* gdb.threads/print-threads.exp
    	* gdb.threads/process-dies-while-detaching.exp
    	* gdb.threads/process-dies-while-handling-bp.exp
    	* gdb.threads/pthreads.exp
    	* gdb.threads/queue-signal.exp
    	* gdb.threads/reconnect-signal.exp
    	* gdb.threads/signal-command-handle-nopass.exp
    	* gdb.threads/signal-command-multiple-signals-pending.exp
    	* gdb.threads/signal-delivered-right-thread.exp
    	* gdb.threads/signal-sigtrap.exp
    	* gdb.threads/sigthread.exp
    	* gdb.threads/staticthreads.exp
    	* gdb.threads/stepi-random-signal.exp
    	* gdb.threads/thread-unwindonsignal.exp
    	* gdb.threads/thread_check.exp
    	* gdb.threads/thread_events.exp
    	* gdb.threads/tid-reuse.exp
    	* gdb.threads/tls-nodebug.exp
    	* gdb.threads/tls-shared.exp
    	* gdb.threads/tls-so_extern.exp
    	* gdb.threads/tls.exp
    	* gdb.threads/wp-replication.exp
    	* gdb.trace/actions-changed.exp
    	* gdb.trace/actions.exp
    	* gdb.trace/backtrace.exp
    	* gdb.trace/change-loc.exp
    	* gdb.trace/collection.exp
    	* gdb.trace/deltrace.exp
    	* gdb.trace/disconnected-tracing.exp
    	* gdb.trace/entry-values.exp
    	* gdb.trace/ftrace-lock.exp
    	* gdb.trace/ftrace.exp
    	* gdb.trace/infotrace.exp
    	* gdb.trace/mi-trace-frame-collected.exp
    	* gdb.trace/mi-trace-unavailable.exp
    	* gdb.trace/mi-traceframe-changed.exp
    	* gdb.trace/mi-tracepoint-changed.exp
    	* gdb.trace/mi-tsv-changed.exp
    	* gdb.trace/no-attach-trace.exp
    	* gdb.trace/packetlen.exp
    	* gdb.trace/passc-dyn.exp
    	* gdb.trace/passcount.exp
    	* gdb.trace/pending.exp
    	* gdb.trace/pr16508.exp
    	* gdb.trace/qtro.exp
    	* gdb.trace/range-stepping.exp
    	* gdb.trace/read-memory.exp
    	* gdb.trace/report.exp
    	* gdb.trace/save-trace.exp
    	* gdb.trace/signal.exp
    	* gdb.trace/stap-trace.exp
    	* gdb.trace/status-stop.exp
    	* gdb.trace/strace.exp
    	* gdb.trace/tfile.exp
    	* gdb.trace/tfind.exp
    	* gdb.trace/trace-break.exp
    	* gdb.trace/trace-condition.exp
    	* gdb.trace/trace-enable-disable.exp
    	* gdb.trace/trace-mt.exp
    	* gdb.trace/tracecmd.exp
    	* gdb.trace/tracefile-pseudo-reg.exp
    	* gdb.trace/tspeed.exp
    	* gdb.trace/tstatus.exp
    	* gdb.trace/tsv.exp
    	* gdb.trace/unavailable.exp
    	* gdb.trace/while-dyn.exp
    	* gdb.trace/while-stepping.exp
    	* lib/gdb-guile.exp
    	* lib/gdb.exp
    	* lib/mi-support.exp
    	* lib/pascal.exp
    	* lib/perftest.exp
    	* lib/prelink-support.exp
    	* lib/selftest-support.exp

commit 88256e713c707aeb850688071150d32f9cca5a91
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Thu Dec 1 09:07:55 2016 -0800

    Fix typo in ChangeLog entry.

commit 88ddd4a1ef8818984f87f574b424ccdc7db19660
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Thu Dec 1 09:06:07 2016 -0800

    Fix bug with FP stur instructions.
    
    sim/aarch64
    	* simulator.c (fsturs): Switch use of rn and st variables.
    	(fsturd, fsturq): Likewise

commit 69ace2200106348a1b00d509a6a234337c104c17
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 15:20:19 2016 +0000

    Fix seg fault attempting to unget an EOF character.
    
    	PR gas/20898
    	* app.c (do_scrub_chars): Do not attempt to unget EOF.

commit 4cbd84083ea89e870526ed0c80d462084887ba6e
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 15:02:45 2016 +0000

    Fix seg-fault printing assembler statistics when the output file was not created.
    
    	PR gas/20897
    	* subsegs.c (subsegs_print_statistics): Do nothing if no output
    	file was created.

commit 4ee1d7e401a8c1aedfdc86aac7faa8267eab1e5c
Author: Rudy Y <rudyy.id@gmail.com>
Date:   Thu Dec 1 14:43:36 2016 +0000

    Fix generation of IDATA[6] for PE files.
    
    	PR ld/20880
    	* pe-dll.c (make_one): Use the hint if the ordinal is -1.

commit cec4b2e3fee8ae2c41089fc7454da56f676f653c
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 08:42:11 2016 -0600

    Fix calculation of synthetic symbol sizes (ppc64)
    
    The attached patch fixes a problem where nm displays bogus information for
    synthetic symbol sizes when --size-sort is used.
    
    This happens because the synthetic symbols (dot symbols for ppc64) are
    generated based on their non-dot symbols. The generation process doesn't copy
    over the ELF-specific bits of the regular non-dot symbols.
    
    When --size-sort is used, the code attempts to access the symbol size from
    the ELF-specific bits and ends up reading gargabe, causing the size to be
    displayed incorrectly.
    
    With the patch, i can see dot and non-dot symbols having the same size with
    --size-sort.
    
    This doesn't fix the fact that we don't display size information for synthetic
    symbols without --size-sort, which i may address in the future.
    
    binutils/ChangeLog:
    
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	* nm.c (sort_symbols_by_size): Don't read symbol size if symbol
    	is synthetic.

commit 5cd1d8bcc24e948e86a636161e6d72f6316545a7
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Thu Dec 1 12:31:51 2016 +0000

    Fix accesses to the GOT for AARCH64 operating in 32-bit mode.
    
    	PR ld/20868
    bfd	* elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
    	to the GOT when operating in 32-bit mode.
    
    ld	* testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d: New test.
    	* testsuite/ld-aarch64/relocs-ilp32.ld: Linker script for the new
    	test.
    	* testsuite/ld-aarch64/aarch64-elf.exp: Run the new test.

commit 40a0bfddf07620f5321927b3231502debb3b73bc
Author: Ma Jiang <ma.jiang@zte.com.cn>
Date:   Thu Dec 1 12:21:30 2016 +0000

    Fix handling of MIPS16 HI16 relocs.
    
    	PR ld/16720
    	* elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
    	test for HI16 relocs.

commit e82ab856bb4689330c29fb9f1c57a8555b26380e
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:49:39 2016 +0000

    Fix a seg-fault disassembling a corrupt binary.
    
    	PR binutils/20892
    	* aoutx.h (find_nearest_line): Handle the case where the function
    	name is empty.

commit 6d6ad65b43efa17a825702297331fcb290445a18
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:38:40 2016 +0000

    Fix ICE in assembler when passed a corrupt input file.
    
    	PR gas/20895
    	* symbols.c (resolve_symbol_value): Gracefully handle erroneous
    	symbolic expressions.

commit a37a2806e3289294ed214aed3c8a45db46026b39
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:26:32 2016 +0000

    Fix abort in x86 disassembler.
    
    	PR binutils/20893
    	* i386-dis.c (OP_VEX): Replace call to abort with a append of bad
    	opcode designator.

commit 50455f1ab2935f7321215dfa681745c9b1cb5b19
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:15:07 2016 +0000

    Fix seg-fault running addr2line on a corrupt binary.
    
    	PR binutils/20891
    	* aoutx.h (find_nearest_line): Handle the case where the main file
    	name and the directory name are both empty.

commit 95a23284a3db0ec85bb0b11c70e6b5acf00563f6
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:46:49 2016 -0500

    Use std::string in ui_out_table
    
    Use std::string for the id field of the ui_out_table object.
    
    I found that all users of ui_out_table_begin passed a non-NULL value to
    the tblid parameter, so we don't have to worry about the NULL case.  I
    changed the tblid parameter to be a std::string while at it.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_table) <id>: Change type to
    	std::string.
    	(ui_out_table_begin): Change tblid parameter type to
    	std::string, adapt code.
    	update following type change.
    	(clear_table): Update.
    	(ui_out_new): Update.

commit b9b118c3bb29052ee76c6bf32b99962cda5113ba
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:46:08 2016 -0500

    Use std::vector for cli_ui_out_data::streams
    
    Use a standard vector instead of the home-made version.  I used a vector
    of plain pointers, because the cli_ui_out_data object doesn't own the
    streams objects (i.e. they shouldn't be deleted when the vector is
    deleted).
    
    gdb/ChangeLog:
    
    	* cli-out.h (cli_ui_out_data) <streams>: Change type to
    	std::vector.
    	* cli-out.c: Remove vec.h include.
    	(cli_uiout_dtor): Update.
    	(cli_field_fmt): Update.
    	(cli_spaces): Update.
    	(cli_text): Update.
    	(cli_message): Update.
    	(cli_flush): Update.
    	(cli_redirect): Update.
    	(out_field_fmt): Update.
    	(field_separator): Update.
    	(cli_out_data_ctor): Update.
    	(cli_out_new): Update.
    	(cli_out_set_stream): Update.

commit 4a9d4ea535a6c9b8c2e7cdf91377abe284d0b277
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:43:17 2016 -0500

    Use std::vector for mi_ui_out_data::streams
    
    Use a standard vector instead of the home-made version.  I used a vector
    of plain pointers, because the mi_ui_out_data object doesn't own the
    streams objects (i.e. they shouldn't be deleted when the vector is
    deleted).
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c: Remove vec.h include.
    	(mi_ui_out_data) <streams>: Change type to std::vector.
    	(mi_field_string): Update.
    	(mi_field_fmt): Update.
    	(mi_flush): Update.
    	(mi_redirect): Update.
    	(field_separator): Update.
    	(mi_open): Update.
    	(mi_close): Update.
    	(mi_out_buffered): Update.
    	(mi_out_rewind): Update.
    	(mi_out_put): Update.
    	(mi_out_data_ctor): Update.
    	(mi_out_data_dtor): Don't free streams.

commit 56df3084847984aeddd8c24ca997242ec8c5a369
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:42:47 2016 -0500

    Use std::vector for ui_out::levels
    
    Convert the levels field of struct ui_out to be a vector of unique_ptr
    to ui_out_level.  This way, the ownership of the ui_out_level objects by
    the ui_out instance is clear.
    
    gdb/ChangeLog:
    
    	* ui-out.c (ui_out_level_p): Remove typedef.
    	(DEF_VEC_P (ui_out_level_p)): Remove definition.
    	(struct ui_out) <levels>: Change type to vector of unique_ptr of
    	ui_out_level.
    	(current_level): Update.
    	(push_level): Update.
    	(pop_level): Update, don't manually delete the ui_out_level
    	instance.
    	(ui_out_new): Update.

commit 5486f16481dffa1c1a0d1fd9e38b97e3678078ed
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:41:46 2016 -0500

    Use new/delete instead of malloc/free-based functions
    
    The following patches introduce C++ vectors and strings as fields of the
    various ui_out structures.  We therefore need to use new/delete so that
    their contructor/destructor is called.  I find it simpler to change all
    the allocations in a separate preliminary patch, rather than in each
    individual patch.
    
    gdb/ChangeLog:
    
    	* cli-out.c (cli_uiout_dtor): Use delete instead of xfree.
    	(cli_out_new): Use new instead of XNEW.
    	* mi/mi-out.c (mi_out_data_dtor): Use delete instead of xfree.
    	(mi_out_new): Use new instead of XNEW.
    	* tui/tui-out.c (tui_out_new): Likewise.
    	* ui-out.c (push_level): Likewise.
    	(pop_level): Use delete instead of xfree.
    	(clear_header_list): Use delete instead of xfree.
    	(append_header_to_list): Use new instead of XNEW.
    	(ui_out_new): Likewise.

commit 5084b13657023904cb60737abdf4cefb539a5fc4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 1 00:00:20 2016 +0000

    Automatic date update in version.in

commit ad02e4fe877f3a874145dd045626501245e65624
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 16:23:59 2016 -0500

    Makefiles: Disable suffix rules and implicit rules
    
    Since we don't use suffix rules nor implicit rules in gdb, we can
    disable them.  The advantage is a slightly faster make [1].
    
    Here are some numbers about the speedup.  I ran this on my trusty old
    Intel Q6600, so the time numbers are probably higher than what you'd get
    on any recent hardware.  I ran "make" in the gdb/ directory of an
    already built repository (configured with --enable-targets=all).  I
    recorded the time of execution (average of 5).  I then ran "make -d" and
    recorded the number of printed lines, which gives a rough idea of the
    number of operations done.
    
    I compared the following configurations, to see the impact of both the
    empty .SUFFIXES target and the empty pattern rules, as well as running
    "make -r", which can be considered the "ideal" case.
    
     A - baseline
     B - baseline + .SUFFIXES
     C - baseline + pattern rules
     D - baseline + .SUFFIXES + pattern rules
     E - baseline + make -r
    
     config | time (s) | "make -d"
     -----------------------------
        A   |   5.74   |  2396643
        B   |   1.19   |   298469
        C   |   2.81   |  1266573
        D   |   1.13   |   245489
        E   |   1.01   |   163914
    
    We can see that the empty .SUFFIXES target has a bigger impact than the
    empty pattern rules, but still it doesn't hurt to disable the implicit
    pattern rules as well.
    
    There are still some mentions of implicit rules I can't get rid of in
    the "make -d" output.  For example, it's trying to build .c files from
    .w files:
    
      Looking for an implicit rule for '/home/simark/src/binutils-gdb/gdb/infrun.c'.
      Trying pattern rule with stem 'infrun'.
      Trying implicit prerequisite '/home/simark/src/binutils-gdb/gdb/infrun.w'.
    
    and trying to build Makefile.in from a bunch of extensions:
    
      Looking for an implicit rule for 'Makefile.in'.
      Trying pattern rule with stem 'Makefile.in'.
      Trying implicit prerequisite 'Makefile.in.o'.
      Trying pattern rule with stem 'Makefile.in'.
      Trying implicit prerequisite 'Makefile.in.c'.
      Trying pattern rule with stem 'Makefile.in'.
      Trying implicit prerequisite 'Makefile.in.cc'.
      ... many more ...
    
    If somebody knows how to disable them, we can do it, but at this point
    the returns are minimal, so it is not that important.
    
    I verified that both in-tree and out-of-tree builds work.
    
    [1] Switching from explicit rules to pattern rules for files in
        subdirectories actually made it slower, so this is kind of a way to
        redeem myself.  But it the end it's faster than it was previously,
        so it was all worth it. :)
    
    gdb/ChangeLog:
    
    	* disable-implicit-rules.mk: New file.
    	* Makefile.in: Include disable-implicit-rules.mk.
    	* data-directory/Makefile.in: Likewise.
    	* gnulib/Makefile.in: Likewise.
    
    gdb/doc/ChangeLog:
    
    	* Makefile.in: Likewise.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in: Include disable-implicit-rules.mk.
    
    gdb/testsuite/ChangeLog:
    
    	* Makefile.in: Include disable-implicit-rules.mk.

commit 7913a64cab3930fe524f0e38f85cfca11bd52dcb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Nov 30 11:55:56 2016 +0000

    [ARM] Read memory as unsigned integer
    
    When GDB read inferior memory as an address or an instruction,
    it should be unsigned.
    
    gdb:
    
    2016-11-30  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (arm_scan_prologue): Read memory as unsigned integer.
    	(arm_exidx_unwind_sniffer): Likewise.

commit e9a38e0f5287ce7b4629f5f923191e38dd7355c0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Nov 28 16:14:56 2016 +1030

    Revert accidental elf.c change
    
    	* elf.c (get_program_header_size): Revert accidental change.

commit 502d895cd1ca5d4abf4ef55984cbf5239aeaef0c
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Nov 30 11:06:42 2016 +0000

    Stop readelf from complaining about out of order PT_LOAD segments.
    
    	PR ld/20815
    	* readelf.c (process_program_headers): Do not warn about out of
    	order PT_LOAD segments.

commit ea3d7d1cab4221ab729327bb4d957352c79d05f0
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 30 15:33:07 2016 +1030

    PR20886, looping in ppc64_elf_size_stubs
    
    The PR20886 binary is large enough that there are two stub sections
    servicing .text (which is 88M).  It so happens that between one
    iteration of sizing and the next that one stub section grows while
    the other shrinks.  Since one section is always growing, the loop
    never terminates.
    
    This patch changes the algorithm to not update previous size on
    shrinking, once we go past a certain number of iterations.
    
    	PR ld/20886
    	* elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
    	on any pass past STUB_SHRINK_ITER.

commit f0e9390be5bbfa3ee777d81dacfccd713ebddb68
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 30 00:00:20 2016 +0000

    Automatic date update in version.in

commit abe7c33b45288b407e6d001aad713183d4bab5c6
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Nov 15 15:11:47 2016 +0100

    [ARC] Add checking for LP_COUNT reg usage, improve error reporting.
    
    gas/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* config/tc-arc.c (find_opcode_match): New function argument
    	errmsg.
    	(assemble_tokens): Collect and report the eventual error message
    	found during opcode matching process.
    	* testsuite/gas/arc/lpcount-err.s: New file.
    	* testsuite/gas/arc/add_s-err.s: Update error message.
    
    opcode/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-opc.c (insert_ra_chk): New function.
    	(insert_rb_chk): Likewise.
    	(insert_rad): Update text error message.
    	(insert_rcd): Likewise.
    	(insert_rhv2): Likewise.
    	(insert_r0): Likewise.
    	(insert_r1): Likewise.
    	(insert_r2): Likewise.
    	(insert_r3): Likewise.
    	(insert_sp): Likewise.
    	(insert_gp): Likewise.
    	(insert_pcl): Likewise.
    	(insert_blink): Likewise.
    	(insert_ilink1): Likewise.
    	(insert_ilink2): Likewise.
    	(insert_ras): Likewise.
    	(insert_rbs): Likewise.
    	(insert_rcs): Likewise.
    	(insert_simm3s): Likewise.
    	(insert_rrange): Likewise.
    	(insert_fpel): Likewise.
    	(insert_blinkel): Likewise.
    	(insert_pcel): Likewise.
    	(insert_nps_3bit_dst): Likewise.
    	(insert_nps_3bit_dst_short): Likewise.
    	(insert_nps_3bit_src2_short): Likewise.
    	(insert_nps_bitop_size_2b): Likewise.
    	(MAKE_SRC_POS_INSERT_EXTRACT_FUNCS): Likewise.
    	(RA_CHK): Define.
    	(RB): Adjust.
    	(RB_CHK): Define.
    	(RC): Adjust.
    	* arc-dis.c (print_insn_arc): Add LOAD and STORE class.
    	* arc-tbl.h (div, divu): All instructions are DIVREM class.
    	Change first insn argument to check for LP_COUNT usage.
    	(rem): Likewise.
    	(ld, ldd): All instructions are LOAD class.  Change first insn
    	argument to check for LP_COUNT usage.
    	(st, std): All instructions are STORE class.
    	(mac, mpy, dmac, mul, dmpy): All instructions are MPY class.
    	Change first insn argument to check for LP_COUNT usage.
    	(mov): All instructions are MOVE class.  Change first insn
    	argument to check for LP_COUNT usage.
    
    include/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* opcode/arc.h (insn_class_t): Add DIVREM, LOAD, MOVE, MPY, STORE
    	instruction classes.

commit ee881e5d3312ea5396bddc37e8673b77bf549b4b
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Thu Oct 6 12:05:27 2016 +0200

    [ARC] Fix disassembler option.
    
    This patch fixes:
    - fpus and fpud are swaped.
    - quarkse_em doesn't include FPX extensions.
    - auto guessed opcode mechanism may ignore the option passed via -M<feature> option.
    
    opcodes/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (is_compatible_p): Remove function.
    	(skip_this_opcode): Don't add any decoding class to decode list.
    	Remove warning.
    	(find_format_from_table): Go through all opcodes, and warn if we
    	use a guessed mnemonic.
    
    binutils/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/binutils-all/arc/objdump.exp (Warning test): Update
    	test.

commit 0a0640e3ba9a668c4c317520c48246e1cc8d75ca
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Nov 28 21:34:54 2016 -0500

    Fix debug output in record_full_open_1
    
    The printed function name should be record_full_open_1, not
    record_full_open.
    
    gdb/ChangeLog:
    
    	* record-full.c (record_full_open_1): Fix debug output.

commit aec6cd371d194f93cb7651c219b75eed05bdda98
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 29 00:00:22 2016 +0000

    Automatic date update in version.in

commit 268ebe95201d2ebdcf68cad9dc67ff6d1e25be9e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Nov 18 14:15:12 2016 +0000

    arc/ld: Remove duplicate TEMPLATE_NAME from emulparam file
    
    Remove duplicate definition of TEMPLATE_NAME, only the last of these
    will have any effect, so this should result in no visible changes to the
    user.
    
    ld/ChangeLog:
    
    	* emulparams/arclinux_prof.sh: Remove duplicate TEMPLATE_NAME.

commit 157686a88644b111658c661fc225881e75f3b0db
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 28 17:51:57 2016 +0000

    Update linker tests after partial reversion of PR 20815 patch.
    
    	PR 20815
    	* testsuite/ld-elf/loadaddr1.d: Update.
    	* testsuite/ld-powerpc/vle-multiseg-5.d: Update.
    	* testsuite/ld-scripts/phdrs3a.d: Update.

commit cd58485720b47d80fed0b281d15a9198f43eaf0c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 28 17:45:22 2016 +0000

    Partially revert patch for PR 20815 - do not sort the PT_LOAD segments.  Non-ordered segments are needed by the Linux kernel.
    
    	PR ld/20815
    	* elf.c (phdr_sorter): Delete.
    	(assign_file_positions_except_relocs): Do not sort program
    	headers.

commit abfcb414b9900ef996b1665323a950610dbdca43
Author: Amit Pawar <Amit.Pawar@amd.com>
Date:   Mon Nov 28 09:21:05 2016 -0800

    X86: Ignore REX_B bit for 32-bit XOP instructions
    
    While decoding 32-bit XOP instructions, 64 bit registers names are printed.
    This patch fixes this by ignoring REX_B bit in 32-bit mode.
    
    opcodes/
    
    	PR binutils/20637
    	* i386-dis.c (get_valid_dis386): Ignore REX_B for 32-bit XOP
    	instructions.
    
    gas/
    
    	PR binutils/20637
    	* testsuite/gas/i386/xop32reg.d: New file.
    	* testsuite/gas/i386/xop32reg.s: New file.
    	* testsuite/gas/i386/i386.exp: Run new test.

commit 1a0884415891b197972f8acf59131c3c9376807f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 28 17:09:26 2016 +0000

    Restrict checking value.lval on using address
    
    With the previous change, value.location.address is only valid for
    lval_memory.  This patch restrict some checking on value.lval on
    using address.  Since we have a check on VALUE_VAL in
    set_value_address, we need to set VALUE_VAL properly before
    set_value_address too.
    
    gdb:
    
    2016-11-25  Yao Qi  <yao.qi@linaro.org>
    
    	* ada-lang.c (ensure_lval): Call set_value_address after setting
    	VALUE_LVAL.
    	* elfread.c (elf_gnu_ifunc_resolve_addr): Set VALUE_LVAL to
    	lval_memory.
    	(elf_gnu_ifunc_resolver_return_stop): Likewise.
    	* value.c (value_fn_field): Likewise.
    	(value_from_contents_and_address_unresolved): Likewise.
    	(value_from_contents_and_address): Likewise.
    	(value_address): Check value->lval isn't
    	lval_memory.
    	(value_raw_address): Likewise.
    	(set_value_address): Assert value->lval is lval_memory.

commit 7dc54575d91a2b41f6c3e838eec44a7017a24436
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 28 17:09:26 2016 +0000

    Adjust Value.location for lval_register
    
    value.regnum and value.next_frame_id are only used for lval_register,
    so this patch moves them to union value.location.  As a result, when
    we copy value, only copy location, don't need to copy regnum and
    next_frame_id.
    
    This patch also changes regnum's type to int as there is no space
    constraint, so update deprecated_value_regnum_hack return type too.
    
    gdb:
    
    2016-11-28  Yao Qi  <yao.qi@linaro.org>
    
    	* valops.c (value_slice): Don't set frame id of slice.
    	* value.c (struct value) <regnum, next_frame_id>: Move them to...
    	(struct value) <location>: ... here.  Update comments.
    	(allocate_value_lazy): Don't set frame id and regnum.
    	(deprecated_value_next_frame_id_hack): Adjust.
    	(deprecated_value_regnum_hack): Adjust.
    	(value_copy): Don't copy frame id and regnu.
    	(value_primitive_field): Likewise.
    	(value_from_component): Likewise.
    	(deprecated_value_regnum_hack): Return int *.
    	* value.h (deprecated_value_regnum_hack): Update declaration.

commit ee40d8d45213caf0cfb63e603f0fd5a58532e751
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 28 17:09:26 2016 +0000

    Move computed value's frame id to piece_closure
    
    Nowadays, we set computed value's frame id, which is a misuse to me.
    The computed value itself doesn't care about frame id, but function
    value_computed_funcs (val)->read (or read_pieced_value) cares about
    which frame the register is relative to, so 'struct piece_closure' is
    a better place to fit frame id.
    
    This patch adds a frame id in 'struct piece_closure', and use it
    instead of using computed value's frame id.
    
    gdb:
    
    2016-11-28  Yao Qi  <yao.qi@linaro.org>
    
    	* dwarf2loc.c (struct piece_closure) <frame_id>: New field.
    	(allocate_piece_closure): Add new parameter 'frame' and set
    	closure's frame_id field accordingly.
    	(read_pieced_value): Get frame from closure instead of value.
    	(dwarf2_evaluate_loc_desc_full): Remove code getting frame id.
    	Don't set value's frame id.

commit 1d8ed303c32e2ad0783dfe628afea713e91c7eb5
Merge: 073178f 72b1c45
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Nov 28 17:05:00 2016 +0100

    Merge branch 'dwarf5gcc' into dwarf5gcc-readelf

commit 72b1c453cd44cb3c0d4e42a3d319f6b464c919cf
Merge: c7a53c6 9e27646
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Nov 28 17:04:59 2016 +0100

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

commit 4deb8f714d555a2f530e37c3e7af32bc42fdda58
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 28 08:03:46 2016 -0800

    Properly hide hidden versioned symbol in executable
    
    A hidden versioned symbol in executable should be forced local if it is
    locally defined, not referenced by shared library and not exported.  We
    must do it before _bfd_elf_link_renumber_dynsyms.
    
    bfd/
    
    	* 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.
    
    ld/
    
    	* testsuite/ld-elf/indirect.exp: Add a test for PR 18720.
    	* testsuite/ld-elf/pr18720.rd: New file.

commit 9e27646a6dedd071bdc8a7ba75eca1faaf500366
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 28 00:00:22 2016 +0000

    Automatic date update in version.in

commit ae9a1986c8b1e38342a6fe674f7ad1758d8b06f5
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Nov 27 20:07:08 2016 +1030

    Fix powerpc vle test for sorting of program headers
    
    1a9ccd70f changed the order of headers.
    
    	PR 20815
    	* testsuite/ld-powerpc/vle-multiseg-5.d: Update.

commit cb55e96bf79ead88469bb859f9c858f62df2e562
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:54 2016 +0100

    Fix spelling in comments in .y files (ld)
    
    	* deffilep.y: Fix spelling in comments.

commit a582903f51b536bf0de128ef288bafd39caade0a
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:53 2016 +0100

    Fix spelling in comments in .y files (binutils)
    
    	* arparse.y: Fix spelling in comments.

commit b81c93c854e4674c8ff85ac745613cf7b616dad1
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:52 2016 +0100

    Fix spelling in comments in .sc files (ld)
    
    	* scripttempl/ia64vms.sc: Fix spelling in comments.
    	* scripttempl/ip2k.sc: Fix spelling in comments.
    	* scripttempl/v850.sc: Fix spelling in comments.
    	* scripttempl/v850_rh850.sc: Fix spelling in comments.

commit 8f02b5ad62823c1c02bf9b60d71d027805b4e17a
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:51 2016 +0100

    Fix spelling in comments in .l files (gas)
    
    	* config/bfin-lex.l: Fix spelling in comments.

commit 839b0b3f8dff2d7a43f110b8f07b05c8a1004111
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:50 2016 +0100

    Fix spelling in comments in .em files (ld)
    
    	* emultempl/avrelf.em: Fix spelling in comments.
    	* emultempl/elf32.em: Fix spelling in comments.
    	* emultempl/pe.em: Fix spelling in comments.
    	* emultempl/pep.em: Fix spelling in comments.
    	* emultempl/spuelf.em: Fix spelling in comments.

commit 6223ef94973400bbe2d98885b2a4e36cdb47c800
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:49 2016 +0100

    Fix spelling in comments in .def files (gold)
    
    	* aarch64-reloc.def: Fix spelling in comments.

commit d14a6a9e17f28437a231e17734bfdaf557de0a13
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:48 2016 +0100

    Fix spelling in comments in Expect scripts (ld)
    
    	* testsuite/ld-sh/arch/arch.exp: Fix spelling in comments.
    	* testsuite/ld-sh/rd-sh.exp: Fix spelling in comments.
    	* testsuite/ld-sh/sh64/rd-sh64.exp: Fix spelling in comments.
    	* testsuite/ld-undefined/undefined.exp: Fix spelling in comments.

commit c29ae970e781780026c45ec7ffeed68ac87524d6
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:47 2016 +0100

    Fix spelling in comments in Expect scripts (gas)
    
    	* testsuite/gas/all/gas.exp: Fix spelling in comments.
    	* testsuite/gas/cris/cris.exp: Fix spelling in comments.
    	* testsuite/gas/hppa/basic/basic.exp: Fix spelling in comments.
    	* testsuite/gas/hppa/parse/parse.exp: Fix spelling in comments.
    	* testsuite/gas/hppa/reloc/reloc.exp: Fix spelling in comments.
    	* testsuite/gas/sh/arch/arch.exp: Fix spelling in comments.
    	* testsuite/gas/tic4x/tic4x.exp: Fix spelling in comments.

commit 15a086bed79aff51c9ace7d3b5f389e8cd38399b
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:46 2016 +0100

    Fix spelling in comments in Assembler files (ld)
    
    	* testsuite/ld-arm/stm32l4xx-fix-all.s: Fix spelling in comments.
    	* testsuite/ld-arm/thumb2-b-interwork.s: Fix spelling in comments.
    	* testsuite/ld-arm/thumb2-bl.s: Fix spelling in comments.
    	* testsuite/ld-s390/tlspic1.s: Fix spelling in comments.
    	* testsuite/ld-s390/tlspic1_64.s: Fix spelling in comments.
    	* testsuite/ld-scripts/section-match-1.d: Fix spelling in comments.

commit a40d0312ad50263a4437c01311a3bf1f268576a6
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:45 2016 +0100

    Fix spelling in comments in Assembler files (gas)
    
    	* testsuite/gas/arm/local_function.d: Fix spelling in comments.
    	* testsuite/gas/arm/req.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1_t2.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1xD.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1xD_t2.s: Fix spelling in comments.
    	* testsuite/gas/mcore/allinsn.s: Fix spelling in comments.
    	* testsuite/gas/mips/24k-triple-stores-5.s: Fix spelling in comments.
    	* testsuite/gas/mips/delay.d: Fix spelling in comments.
    	* testsuite/gas/mips/nodelay.d: Fix spelling in comments.
    	* testsuite/gas/mips/r5900-full.s: Fix spelling in comments.
    	* testsuite/gas/mips/r5900.s: Fix spelling in comments.

commit 370dfff4c4b46fc194cf1ab2b0762c2a9deae7ba
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:44 2016 +0100

    Fix spelling in comments in C source files (ld)
    
    	* deffile.h: Fix spelling in comments.
    	* ld.h: Fix spelling in comments.
    	* ldlang.c: Fix spelling in comments.
    	* ldmisc.c: Fix spelling in comments.
    	* pe-dll.c: Fix spelling in comments.

commit 576a6e4d1d1ac2c5b7e44830d3328ae8723fcb06
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:43 2016 +0100

    Fix spelling in comments in C source files (gprof)
    
    	* basic_blocks.c: Fix spelling in comments.
    	* cg_arcs.c: Fix spelling in comments.
    	* cg_print.c: Fix spelling in comments.
    	* corefile.c: Fix spelling in comments.

commit 5c3024d2c1d4c4f141d8364d487604f70678792a
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:42 2016 +0100

    Fix spelling in comments in C source files (gold)
    
    	* aarch64.cc: Fix spelling in comments.
    	* arm.cc: Fix spelling in comments.
    	* icf.cc: Fix spelling in comments.
    	* layout.cc: Fix spelling in comments.
    	* layout.h: Fix spelling in comments.
    	* mips.cc: Fix spelling in comments.
    	* output.h: Fix spelling in comments.
    	* plugin.h: Fix spelling in comments.
    	* script-sections.h: Fix spelling in comments.
    	* script.h: Fix spelling in comments.
    	* stringpool.h: Fix spelling in comments.
    	* tilegx.cc: Fix spelling in comments.

commit 2b0f37619f797bf640b2d45acb615817dd202954
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:41 2016 +0100

    Fix spelling in comments in C source files (gas)
    
    	* as.h: Fix spelling in comments.
    	* config/obj-ecoff.c: Fix spelling in comments.
    	* config/obj-macho.c: Fix spelling in comments.
    	* config/tc-aarch64.c: Fix spelling in comments.
    	* config/tc-arc.c: Fix spelling in comments.
    	* config/tc-arm.c: Fix spelling in comments.
    	* config/tc-avr.c: Fix spelling in comments.
    	* config/tc-cr16.c: Fix spelling in comments.
    	* config/tc-epiphany.c: Fix spelling in comments.
    	* config/tc-frv.c: Fix spelling in comments.
    	* config/tc-hppa.c: Fix spelling in comments.
    	* config/tc-hppa.h: Fix spelling in comments.
    	* config/tc-i370.c: Fix spelling in comments.
    	* config/tc-m68hc11.c: Fix spelling in comments.
    	* config/tc-m68k.c: Fix spelling in comments.
    	* config/tc-mcore.c: Fix spelling in comments.
    	* config/tc-mep.c: Fix spelling in comments.
    	* config/tc-metag.c: Fix spelling in comments.
    	* config/tc-mips.c: Fix spelling in comments.
    	* config/tc-mn10200.c: Fix spelling in comments.
    	* config/tc-mn10300.c: Fix spelling in comments.
    	* config/tc-nds32.c: Fix spelling in comments.
    	* config/tc-nios2.c: Fix spelling in comments.
    	* config/tc-ns32k.c: Fix spelling in comments.
    	* config/tc-pdp11.c: Fix spelling in comments.
    	* config/tc-ppc.c: Fix spelling in comments.
    	* config/tc-riscv.c: Fix spelling in comments.
    	* config/tc-rx.c: Fix spelling in comments.
    	* config/tc-score.c: Fix spelling in comments.
    	* config/tc-score7.c: Fix spelling in comments.
    	* config/tc-sparc.c: Fix spelling in comments.
    	* config/tc-tic54x.c: Fix spelling in comments.
    	* config/tc-vax.c: Fix spelling in comments.
    	* config/tc-xgate.h: Fix spelling in comments.
    	* config/tc-xtensa.c: Fix spelling in comments.
    	* config/tc-z80.c: Fix spelling in comments.
    	* dwarf2dbg.c: Fix spelling in comments.
    	* input-file.h: Fix spelling in comments.
    	* itbl-ops.c: Fix spelling in comments.
    	* read.c: Fix spelling in comments.
    	* stabs.c: Fix spelling in comments.
    	* symbols.c: Fix spelling in comments.
    	* write.c: Fix spelling in comments.
    	* testsuite/gas/all/itbl-test.c: Fix spelling in comments.
    	* testsuite/gas/tic4x/opclasses.h: Fix spelling in comments.

commit 222c2bf0a293fab3d08c22359d64433faea7bb89
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:40 2016 +0100

    Fix spelling in comments in C source files (binutils)
    
    	* dwarf.c: Fix spelling in comments.
    	* dwarf.h: Fix spelling in comments.
    	* objcopy.c: Fix spelling in comments.
    	* od-macho.c: Fix spelling in comments.
    	* rclex.c: Fix spelling in comments.
    	* readelf.c: Fix spelling in comments.
    	* stabs.c: Fix spelling in comments.

commit 7fb048a2ee38bbc85ba0e96e2932cb0cb1f7381e
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:06:07 2016 -0500

    Remove verbosity from ui_out_message and friends
    
    That concept is never actually used, so it's just a burden.  Removing it
    facilitates the refactoring in upcoming patches.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_message): Remove verbosity argument.
    	* ada-tasks.c (print_ada_task_info, info_task, task_command):
    	Update call.
    	* auto-load.c (auto_load_info_scripts): Likewise.
    	* breakpoint.c (breakpoint_1, watchpoints_info, tracepoints_info):
    	Likewise.
    	* cli-out.c (cli_message): Remove verbosity argument.
    	* inferior.c (print_inferior): Update call.
    	* linux-thread-db.c (info_auto_load_libthread_db): Likewise.
    	* probe.c (info_probes_for_ops): Likewise.
    	* skip.c (skip_info): Likewise.
    	* solib.c (info_sharedlibrary_command): Likewise.
    	* symfile.c (load_progress): Likewise.
    	* thread.c (print_thread_info_1): Likewise.
    	* ui-out.c (uo_message, ui_out_message): Remove verbosity argument.
    	(ui_out_get_verblvl): Remove.
    	* ui-out.h (ui_out_message): Remove verbosity argument.
    	(ui_out_get_verblvl): Remove.
    	(message_ftype): Remove verbosity argument.

commit d2c0eef48a1bb331ca08f8f26ff82c5d4086ba0c
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:05:42 2016 -0500

    Constify wrap_here/wrap_hint code path
    
    Constify the data path between ui_out_wrap_hint and the wrap_indent
    global, because we can.  It's clearer that the argument passed to
    wrap_hint is not intended to be modified by the ui_out implementation.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_wrap_hint): Constify argument.
    	* cli-out.c (cli_wrap_hint): Likewise.
    	* ui-out.c (ui_out_wrap_hint, uo_wrap_hint): Likewise.
    	* ui-out.h (ui_out_wrap_hint, wrap_hint_ftype): Likewise.
    	* utils.c (wrap_here): Likewise.
    	(wrap_indent): Constify.
    	* utils.h (wrap_here): Constify argument.

commit 82bbe65a43015a753bec8c64869679a699331a5b
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:05:25 2016 -0500

    Fix return value of uo_redirect
    
    The wrapper uo_redirect seems like it should return the return value
    from of implementation function, since callers rely on it, but it
    doesn't.
    
    gdb/ChangeLog:
    
    	* ui-out.c (uo_redirect): Return the return value from the
    	implementation function.

commit e4975d6a9cd8aaf3fb14135b36850964def131d7
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:05:06 2016 -0500

    Remove ui_out_destroy
    
    It's not actually used, and removing it simplifies the upcoming patches
    a bit.  After the whole series, destroying an ui_out object will be
    simply "delete uiout", which will call the default destructor.
    
    gdb/ChangeLog:
    
    	* ui-out.c (ui_out_destroy, uo_data_destroy): Remove.
    	* ui-out.h (ui_out_destroy): Remove.

commit 0abe66b59fda0689c32fe9d96b3690b4d49a3027
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:04:49 2016 -0500

    Rename ui_out_data to mi_ui_out_data
    
    Just a little cleanup, so the name is more consistent with the naming of
    the equivalent structures of cli and tui.  It goes away in subsequent
    patches anyway, but it might help follow the changes in those patches...
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (ui_out_data): Rename to ...
    	(mi_ui_out_data): ... this.

commit 7f904c28f5cd2dc91a118ae6169d6993aaf71f63
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:02:56 2016 -0500

    Remove unused functions and declarations
    
    gdb/ChangeLog:
    
    	* ui-out.c (_initialize_ui_out): Remove.
    	(ui_out_set_flags): Remove.
    	(ui_out_clear_flags): Remove.
    	* ui-out.h (ui_out_begin_cleanup_end): Remove.
    	(ui_out_begin_cleanup_end): Remove.
    	(ui_out_set_flags): Remove.
    	(ui_out_clear_flags): Remove.
    	* mi/mi-out.c (_initialize_mi_out): Remove.
    	(mi_out_buffered): Remove.
    	* mi/mi-out.h (mi_out_buffered): Remove.

commit 058467371921957ac532ffe0905ffa477f47018e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 27 00:00:30 2016 +0000

    Automatic date update in version.in

commit 59b21252a88aa6ba488cfb19686d9cbad2577e76
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 24 10:23:07 2016 -0500

    Remove stale comments
    
    The default ui_out is gone since commit
    23ff98d2fed4a1eaeb815e18cd4169e5aa7aaa60.
    
    gdb/ChangeLog:
    
    	* ui-out.h (struct ui_out_impl): Remove comment.
    	* ui-out.c (struct ui_out): Remove comment.

commit cf6451802f5d3f161d992ea39fac139273926773
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 26 00:00:09 2016 +0000

    Automatic date update in version.in

commit 8227ffad95fcd835dd5fcb3e4915159e4552b397
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Nov 25 10:29:50 2016 -0800

    Remove check requiring void argument to functions with no parameters.
    
    C++ treats an empty parameter list as no parameters unlike C.
    
    gdb/ChangeLog:
    
    	* contrib/ari/gdb_ari.sh (no parameter function): Remove check.

commit 50cc587fe49621a87283f06655fe922d45095076
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Nov 25 09:58:02 2016 -0500

    Fix typo in Makefile
    
    Fix a typo I made in my previous Makefile cleanup series.
    
    Thanks to Patrick Monnerat for reporting.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Fix typo.

commit 8ce9efb079b6e7b3ab2e795db9477656375d7204
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Nov 25 09:41:58 2016 -0500

    Fix typos in comment
    
    gdb/ChangeLog:
    
    	* record-full.c (record_full_resume): Fix typos in comment.

commit 17e5269b995b0560dc74af78ba134cf1fcd9d56a
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Nov 25 09:07:35 2016 -0500

    Fix typo in comment
    
    gdb/ChangeLog:
    
    	* infcmd.c (interrupt_command): Fix typo in comment.

commit 65d1cff97c066e4399a175ef7294a5343c0b94d1
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Nov 25 03:40:15 2016 -0800

    gas: fix CBCOND diagnostics for invalid immediate operands.
    
    This patch fixes two problems in the SPARC assembler:
    
    - The diagnostic message
    
      Error: Illegal operands: Immediate value in cbcond is out of range.
    
      is incorrectly issued for non-CBCOND instructions that feature a
      simm5 immediate field, such as MPMUL, MONTMUL, etc.
    
    - When an invalid immediate operand is used in a CBCOND
      instruction, two redundant error messages are issued to the
      user, the second due to a stale fixup (this happens since
      commit 85024cd8bcb93f4112470ecdbd6c10fc2aea724f).
    
    Some diagnostic tests for the CBCOND instructions are also
    included in the patch.
    
    Tested in both sparc64-linux-gnu and sparcv9-linux-gnu targets.
    
    gas/ChangeLog:
    
    2016-11-25  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-sparc.c (sparc_ip): Avoid emitting a cbcond error
    	messages for non-cbcond instructions.
    	* testsuite/gas/sparc/cbcond-diag.s: New file.
    	* testsuite/gas/sparc/cbcond-diag.l: Likewise.
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run cbcond-diag tests.

commit ec8f76882145c71bef81a9cadf0bf51ff9fa5b35
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Fri Nov 25 09:47:31 2016 +0000

    Prevent problems with section alignment by not shrinking the .rsrc section.
    
    	PR ld/20193
    	* peXXigen.c (rsrc_process_section): Do not shrink the merged
    	.rsrc section.

commit 0e722c919075fbf8a2d8a05b91443432daedf332
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 25 00:00:09 2016 +0000

    Automatic date update in version.in

commit 036e657b48144d7449ddfcfcf9214bcd7bcf268b
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Nov 24 12:01:24 2016 -0800

    Do not use std::move when assigning an anonymous object to a unique_ptr.
    
    Using std::move forces an extra copy of the object.  These changes fix
    -Wpessimizing-move warnings from clang.
    
    gdb/ChangeLog:
    
    	* ada-lang.c (create_excep_cond_exprs): Do not use 'std::move'.
    	* ax-gdb.c (agent_eval_command_one): Likewise.
    	(agent_eval_command_one): Likewise.
    	* breakpoint.c (parse_cond_to_aexpr): Likewise.
    	(parse_cmd_to_aexpr): Likewise.
    	* dtrace-probe.c (dtrace_process_dof_probe): Likewise.
    	* parse.c (parse_expression_for_completion): Likewise.

commit bbe910e6e1140cb484a74911f3cea854cf9e7e2a
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Nov 24 12:01:24 2016 -0800

    Add noexcept to custom non-throwing new operators.
    
    Both libc++ and libstdc++ declare non-throwing new operators as
    noexcept and overloads must also be noexcept.  This fixes a
    -Wmissing-exception-spec warning with clang.
    
    gdb/ChangeLog:
    
    	* common/new-op.c (operator new): Mark 'noexcept'.
    	(operator new[]): Likewise.

commit 793c128d03113816db85e8d1fa0bcd4982e246ee
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:04 2016 +0100

    Optimize byte-aligned copies in copy_bitwise()
    
    The function copy_bitwise used for copying DWARF pieces can potentially
    be invoked for large chunks of data.  For instance, consider a large
    struct one of whose members is currently located in a register.  In this
    case copy_bitwise would still copy the data bitwise in a loop, which is
    much slower than necessary.
    
    This change uses memcpy for the large part instead, if possible.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (copy_bitwise): Use memcpy for the middle part, if
    	it is byte-aligned.

commit ad06383f106ccfa299a6c7ac9720178d2d3d583f
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:04 2016 +0100

    Add unit test for copy_bitwise
    
    This adds a unit test for the copy_bitwise function in dwarf2loc.c.
    With the old (broken) version of copy_bitwise this test would generate
    the following failure message:
    
    (gdb) maintenance selftest
    Self test failed: copy_bitwise 11000000 != 10000000 (7+2 -> 0)
    
    gdb/ChangeLog:
    2016-11-24  Andreas Arnez  <arnez@linux.vnet.ibm.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* dwarf2loc.c (bits_to_str, check_copy_bitwise)
    	(copy_bitwise_tests): New functions.
    	(_initialize_dwarf2loc): Register the new function
    	copy_bitwise_tests as a unit test.
    	* selftest.c (run_self_tests): Improve the failure message's
    	wording and formatting.

commit 22347e554cd7ba2a0bf36dc81ebfcbe2e2fd74af
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:03 2016 +0100

    Fix copy_bitwise()
    
    When the user writes or reads a variable whose location is described
    with DWARF pieces (DW_OP_piece or DW_OP_bit_piece), GDB's helper
    function copy_bitwise is invoked for each piece.  The implementation of
    this function has a bug that may result in a corrupted copy, depending
    on alignment and bit size.  (Full-byte copies are not affected.)
    
    This rewrites copy_bitwise, replacing its algorithm by a fixed version,
    and adding an appropriate test case.  Without the fix the new test case
    fails, e.g.:
    
      print def_t
      $2 = {a = 0, b = 4177919}
      (gdb) FAIL: gdb.dwarf2/nonvar-access.exp: print def_t
    
    Written in binary, the wrong result above looks like this:
    
      01111111011111111111111
    
    Which means that two zero bits have sneaked into the copy of the
    original all-one bit pattern.  The test uses this simple all-one value
    in order to avoid another GDB bug that causes the DWARF piece of a
    DW_OP_stack_value to be taken from the wrong end on big-endian
    architectures.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (extract_bits_primitive): Remove.
    	(extract_bits): Remove.
    	(copy_bitwise): Rewrite.  Fixes a possible corruption that may
    	occur for non-byte-aligned copies.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/nonvar-access.exp: Add a test for accessing
    	non-byte-aligned bit fields.

commit da5b30da2d1167591aa8d71b543f97bfdc2ec2a2
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:03 2016 +0100

    Fix PR12616 - gdb does not implement DW_AT_data_bit_offset
    
    The DW_AT_data_bit_offset attribute was introduced by DWARF V4 and
    allows specifying the offset of a data member within its containing
    entity.  But although the new attribute was intended to replace
    DW_AT_bit_offset for this purpose, GDB ignores it, and thus GCC still
    emits DW_AT_bit_offset instead.  See also
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71669.
    
    This change fixes GDB's lack of support for DW_AT_data_bit_offset and
    adds an appropriate test case.
    
    gdb/ChangeLog:
    
    	PR gdb/12616
    	* dwarf2read.c (dwarf2_add_field): Handle the DWARF V4 attribute
    	DW_AT_data_bit_offset.
    
    gdb/testsuite/ChangeLog:
    
    	PR gdb/12616
    	* gdb.dwarf2/nonvar-access.exp: New testcase.  Check that GDB
    	respects the DW_AT_data_bit_offset attribute.

commit 1dcb9720d62cd053a72c31881b7724ce9f74332c
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Nov 24 14:01:53 2016 +0000

    [ARM] Bind defined symbol locally in PIE
    
    bfd/
    	PR target/20737
    	* elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
    	locally in PIE.
    
    ld/
    	* testsuite/ld-arm/pie-bind-locally-a.s: New test source.
    	* testsuite/ld-arm/pie-bind-locally-b.s: Likewise.
    	* testsuite/ld-arm/pie-bind-locally.d: New testcase.
    	* testsuite/ld-arm/arm-elf.exp: Run new testcase.

commit 51750acd087cc20ae3f72393fa897d9e3059c65d
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Nov 24 10:00:20 2016 +0000

    Fix snafu parsing $ORIGIN.
    
    	PR ld/20858
    	* emultempl/elf32.em (_search_needed): Allow for path separator
    	and terminating NUL byte when allocating space for new $ORIGIN
    	path.

commit 0b14696aedc2b56291bc98d62fe232c8dceb1385
Author: Kuan-Lin Chen <kuanlinchentw@gmail.com>
Date:   Thu Nov 24 10:22:15 2016 +0800

    RISC-V/bfd: Fix bitsize of R_RISCV_ADD8.
    
    bfd/ChangeLog:
    	* bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.

commit 8bc2611fd97a94e3927ba22fab79624dd6647368
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 24 00:00:32 2016 +0000

    Automatic date update in version.in

commit 073178f5c08919859722f52604a85c1a30e21b5c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Nov 23 23:33:08 2016 +0100

    .

commit c7a53c67f07d742348e5d79e0f44c6a1c35b0b1f
Merge: 76a29a4 dcb07cf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Nov 23 22:35:48 2016 +0100

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

commit dcb07cfa156a8e9f768c7f2b5d32f27b6dfe939f
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 23 15:36:26 2016 +0000

    gdb: Use C++11 std::chrono
    
    This patch fixes a few problems with GDB's time handling.
    
    #1 - It avoids problems with gnulib's C++ namespace support
    
    On MinGW, the struct timeval that should be passed to gnulib's
    gettimeofday replacement is incompatible with libiberty's
    timeval_sub/timeval_add.  That's because gnulib also replaces "struct
    timeval" with its own definition, while libiberty expects the
    system's.
    
    E.g., in code like this:
    
      gettimeofday (&prompt_ended, NULL);
      timeval_sub (&prompt_delta, &prompt_ended, &prompt_started);
      timeval_add (&prompt_for_continue_wait_time,
                   &prompt_for_continue_wait_time, &prompt_delta);
    
    That's currently handled in gdb by not using gnulib's gettimeofday at
    all (see common/gdb_sys_time.h), but that #undef hack won't work with
    if/when we enable gnulib's C++ namespace support, because that mode
    adds compile time warnings for uses of ::gettimeofday, which are hard
    errors with -Werror.
    
    #2 - But there's an elephant in the room: gettimeofday is not monotonic...
    
    We're using it to:
    
      a) check how long functions take, for performance analysis
      b) compute when in the future to fire events in the event-loop
      c) print debug timestamps
    
    But that's exactly what gettimeofday is NOT meant for.  Straight from
    the man page:
    
    ~~~
           The time returned by gettimeofday() is affected by
           discontinuous jumps in the system time (e.g., if the system
           administrator manually changes the system time).  If you need a
           monotonically increasing clock, see clock_gettime(2).
    ~~~
    
    std::chrono (part of the C++11 standard library) has a monotonic clock
    exactly for such purposes (std::chrono::steady_clock).  This commit
    switches to use that instead of gettimeofday, fixing all the issues
    mentioned above.
    
    gdb/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add common/run-time-clock.c.
    	(HFILES_NO_SRCDIR): Add common/run-time-clock.h.
    	(COMMON_OBS): Add run-time-clock.o.
    	* common/run-time-clock.c, common/run-time-clock.h: New files.
    	* defs.h (struct timeval, print_transfer_performance): Delete
    	declarations.
    	* event-loop.c (struct gdb_timer) <when>: Now a
    	std::chrono::steady_clock::time_point.
    	(create_timer): use std::chrono::steady_clock instead of
    	gettimeofday.  Use new instead of malloc.
    	(delete_timer): Use delete instead of xfree.
    	(duration_cast_timeval): New.
    	(update_wait_timeout): Use std::chrono::steady_clock instead of
    	gettimeofday.
    	* maint.c: Include <chrono> instead of "gdb_sys_time.h", <time.h>
    	and "timeval-utils.h".
    	(scoped_command_stats::~scoped_command_stats)
    	(scoped_command_stats::scoped_command_stats): Use
    	std::chrono::steady_clock instead of gettimeofday.  Use
    	user_cpu_time_clock instead of get_run_time.
    	* maint.h: Include "run-time-clock.h" and <chrono>.
    	(scoped_command_stats): <m_start_cpu_time>: Now a
    	user_cpu_time_clock::time_point.
    	<m_start_wall_time>: Now a std::chrono::steady_clock::time_point.
    	* mi/mi-main.c: Include "run-time-clock.h" and <chrono> instead of
    	"gdb_sys_time.h" and <sys/resource.h>.
    	(rusage): Delete.
    	(mi_execute_command): Use new instead of XNEW.
    	(mi_load_progress): Use std::chrono::steady_clock instead of
    	gettimeofday.
    	(timestamp): Rewrite in terms of std::chrono::steady_clock,
    	user_cpu_time_clock and system_cpu_time_clock.
    	(timeval_diff): Delete.
    	(print_diff): Adjust to use std::chrono::steady_clock,
    	user_cpu_time_clock and system_cpu_time_clock.
    	* mi/mi-parse.h: Include "run-time-clock.h" and <chrono> instead
    	of "gdb_sys_time.h".
    	(struct mi_timestamp): Change fields types to
    	std::chrono::steady_clock::time_point, user_cpu_time_clock::time
    	and system_cpu_time_clock::time_point, instead of struct timeval.
    	* symfile.c: Include <chrono> instead of <time.h> and
    	"gdb_sys_time.h".
    	(struct time_range): New.
    	(generic_load): Use std::chrono::steady_clock instead of
    	gettimeofday.
    	(print_transfer_performance): Replace timeval parameters with a
    	std::chrono::steady_clock::duration parameter.  Adjust.
    	* utils.c: Include <chrono> instead of "timeval-utils.h",
    	"gdb_sys_time.h", and <time.h>.
    	(prompt_for_continue_wait_time): Now a
    	std::chrono::steady_clock::duration.
    	(defaulted_query, prompt_for_continue): Use
    	std::chrono::steady_clock instead of
    	gettimeofday/timeval_sub/timeval_add.
    	(reset_prompt_for_continue_wait_time): Use
    	std::chrono::steady_clock::duration instead of struct timeval.
    	(get_prompt_for_continue_wait_time): Return a
    	std::chrono::steady_clock::duration instead of struct timeval.
    	(vfprintf_unfiltered): Use std::chrono::steady_clock instead of
    	gettimeofday.  Use std::string.  Use '.' instead of ':'.
    	* utils.h: Include <chrono>.
    	(get_prompt_for_continue_wait_time): Return a
    	std::chrono::steady_clock::duration instead of struct timeval.
    
    gdb/gdbserver/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* debug.c: Include <chrono> instead of "gdb_sys_time.h".
    	(debug_vprintf): Use std::chrono::steady_clock instead of
    	gettimeofday.  Use '.' instead of ':'.
    	* tracepoint.c: Include <chrono> instead of "gdb_sys_time.h".
    	(get_timestamp): Use std::chrono::steady_clock instead of
    	gettimeofday.

commit 7836e407c65761b003bfbcb7ce89947736330a15
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Nov 23 14:57:51 2016 +0000

    Adjust linker test for arm-vxworks in wake of patch for PR 20815.

commit 8629c02c0db6ff3f7444397567a57dd36a3eed41
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Nov 22 16:14:25 2016 -0500

    Minor formatting fixups in Makefiles
    
    Mostly some whitespace changes to make things a bit more consistent.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Fix whitespace formatting.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in: Fix whitespace formatting.

commit 03b62bbbce3dc5f15131d9e78f77d035cd1cffb3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Nov 22 16:14:24 2016 -0500

    Normalize names of some source files
    
    Most tdep/nat files are named:
    
      <cpu>-<os>-tdep.c
      <cpu>-<os>-nat.c
    
    A few files do not respect this scheme.  This patch renames them so that
    they are consistent with the rest of the files.  It builds fine with
    --enable-targets=all, but that doesn't test the nat files.  I can only
    hope that my grep skill is good enough.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_64_TARGET_OBS, ALL_TARGET_OBS,
    	HFILES_NO_SRCDIR, ALLDEPFILES): Rename files.
    	* alphabsd-nat.c: Rename to ...
    	* alpha-bsd-nat.c: ... this, adjust include.
    	* alphabsd-tdep.c: Rename to ...
    	* alpha-bsd-tdep.c: ... this, adjust include.
    	* alphabsd-tdep.h: Rename to ...
    	* alpha-bsd-tdep.h: ... this, adjust include barrier and comment.
    	* alphafbsd-tdep.c: Rename to ...
    	* alpha-fbsd-tdep.c: ... this.
    	* alphanbsd-tdep.c: Rename to ...
    	* alpha-nbsd-tdep.c: ... this, adjust include.
    	* alphaobsd-tdep.c: Rename to ...
    	* alpha-obsd-tdep.c: ... this, adjust include.
    	* amd64bsd-nat.c: Rename to ...
    	* amd64-bsd-nat.c: ... this, adjust include.
    	* amd64fbsd-nat.c: Rename to ...
    	* amd64-fbsd-nat.c: ... this, adjust include.
    	* amd64fbsd-tdep.c: Rename to ...
    	* amd64-fbsd-tdep.c: ... this, adjust include.
    	* amd64nbsd-nat.c: Rename to ...
    	* amd64-nbsd-nat.c: ... this.
    	* amd64nbsd-tdep.c: Rename to ...
    	* amd64-nbsd-tdep.c: ... this.
    	* amd64obsd-nat.c: Rename to ...
    	* amd64-obsd-nat.c: ... this.
    	* amd64obsd-tdep.c: Rename to ...
    	* amd64-obsd-tdep.c: ... this.
    	* amd64-tdep.h: Update comments.
    	* armbsd-tdep.c: Rename to ...
    	* arm-bsd-tdep.c: ... this.
    	* armnbsd-nat.c: Rename to ...
    	* arm-nbsd-nat.c: ... this.
    	* armnbsd-tdep.c: Rename to ...
    	* arm-nbsd-tdep.c: ... this.
    	* armobsd-tdep.c: Rename to ...
    	* arm-obsd-tdep.c: ... this.
    	* arm-tdep.h: Update comments.
    	* hppabsd-tdep.c: Rename to ...
    	* hppa-bsd-tdep.c: ... this, adjust include.
    	* hppabsd-tdep.h: Rename to ...
    	* hppa-bsd-tdep.h: ... this, adjust include barrier and comment.
    	* hppanbsd-nat.c: Rename to ...
    	* hppa-nbsd-nat.c: ... this.
    	* hppanbsd-tdep.c: Rename to ...
    	* hppa-nbsd-tdep.c: ... this, adjust include.
    	* hppaobsd-nat.c: Rename to ...
    	* hppa-obsd-nat.c: ... this.
    	* hppaobsd-tdep.c: Rename to ...
    	* hppa-obsd-tdep.c: ... this, adjust include.
    	* i386bsd-nat.c: Rename to ...
    	* i386-bsd-nat.c: ... this, adjust include.
    	* i386bsd-nat.h: Rename to ...
    	* i386-bsd-nat.h: ... this, adjust include barrier and comment.
    	* i386bsd-tdep.c: Rename to ...
    	* i386-bsd-tdep.c: ... this.
    	* i386fbsd-nat.c: Rename to ...
    	* i386-fbsd-nat.c: ... this, adjust include.
    	* i386fbsd-tdep.c: Rename to ...
    	* i386-fbsd-tdep.c: ... this, adjust include.
    	* i386fbsd-tdep.h: Rename to ...
    	* i386-fbsd-tdep.h: ... this, adjust include barrier and comment.
    	* i386gnu-nat.c: Rename to ...
    	* i386-gnu-nat.c: ... this.
    	* i386gnu-tdep.c: Rename to ...
    	* i386-gnu-tdep.c: ... this.
    	* i386nbsd-nat.c: Rename to ...
    	* i386-nbsd-nat.c: ... this, adjust include.
    	* i386nbsd-tdep.c: Rename to ...
    	* i386-nbsd-tdep.c: ... this.
    	* i386obsd-nat.c: Rename to ...
    	* i386-obsd-nat.c: ... this, adjust include.
    	* i386obsd-tdep.c: Rename to ...
    	* i386-obsd-tdep.c: ... this.
    	* i386v4-nat.c: Rename to ...
    	* i386-v4-nat.c: ... this.
    	* i386-tdep.h: Update comments.
    	* m68k-tdep.h: Update comments.
    	* m68kbsd-nat.c: Rename to ...
    	* m68k-bsd-nat.c: ... this.
    	* m68kbsd-tdep.c: Rename to ...
    	* m68k-bsd-tdep.c: ... this.
    	* m68klinux-nat.c: Rename to ...
    	* m68k-linux-nat.c: ... this.
    	* m68klinux-tdep.c: Rename to ...
    	* m68k-linux-tdep.c: ... this.
    	* m88kbsd-nat.c: Rename to ...
    	* m88k-bsd-nat.c: ... this.
    	* mipsnbsd-nat.c: Rename to ...
    	* mips-nbsd-nat.c: ... this, adjust include.
    	* mipsnbsd-tdep.c: Rename to ...
    	* mips-nbsd-tdep.c: ... this, adjust include.
    	* mipsnbsd-tdep.h: Rename to ...
    	* mips-nbsd-tdep.h: ... this, adjust include barrier and comment.
    	* mips64obsd-nat.c: Rename to ...
    	* mips64-obsd-nat.c: ... this.
    	* mips64obsd-tdep.c: Rename to ...
    	* mips64-obsd-tdep.c: ... this.
    	* ppcfbsd-nat.c: Rename to ...
    	* ppc-fbsd-nat.c: ... this, adjust include.
    	* ppcfbsd-tdep.c: Rename to ...
    	* ppc-fbsd-tdep.c: ... this, adjust include.
    	* ppcfbsd-tdep.h: Rename to ...
    	* ppc-fbsd-tdep.h: ... this, adjust include barrier and comment.
    	* ppcnbsd-nat.c: Rename to ...
    	* ppc-nbsd-nat.c: ... this, adjust include.
    	* ppcnbsd-tdep.c: Rename to ...
    	* ppc-nbsd-tdep.c: ... this, adjust include.
    	* ppcnbsd-tdep.h: Rename to ...
    	* ppc-nbsd-tdep.h: ... this, adjust include barrier and comment.
    	* ppcobsd-nat.c: Rename to ...
    	* ppc-obsd-nat.c: ... this, adjust include.
    	* ppcobsd-tdep.c: Rename to ...
    	* ppc-obsd-tdep.c: ... this, adjust include.
    	* ppcobsd-tdep.h: Rename to ...
    	* ppc-obsd-tdep.h: ... this, adjust include barrier and comment.
    	* shnbsd-nat.c: Rename to ...
    	* sh-nbsd-nat.c: ... this.
    	* shnbsd-tdep.c: Rename to ...
    	* sh-nbsd-tdep.c: ... this.
    	* sparcnbsd-nat.c: Rename to ...
    	* sparc-nbsd-nat.c: ... this.
    	* sparcnbsd-tdep.c: Rename to ...
    	* sparc-nbsd-tdep.c: ... this.
    	* sparcobsd-tdep.c: Rename to ...
    	* sparc-obsd-tdep.c: ... this.
    	* sparc64fbsd-nat.c: Rename to ...
    	* sparc64-fbsd-nat.c: ... this.
    	* sparc64fbsd-tdep.c: Rename to ...
    	* sparc64-fbsd-tdep.c: ... this.
    	* sparc64nbsd-nat.c: Rename to ...
    	* sparc64-nbsd-nat.c: ... this.
    	* sparc64nbsd-tdep.c: Rename to ...
    	* sparc64-nbsd-tdep.c: ... this.
    	* sparc64obsd-nat.c: Rename to ...
    	* sparc64-obsd-nat.c: ... this.
    	* sparc64obsd-tdep.c: Rename to ...
    	* sparc64-obsd-tdep.c: ... this.
    	* sparc64-tdep.h: Update comments.
    	* vaxbsd-nat.c: Rename to ...
    	* vax-bsd-nat.c: ... this.
    	* vaxnbsd-tdep.c: Rename to ...
    	* vax-nbsd-tdep.c: ... this.
    	* vaxobsd-tdep.c: Rename to ...
    	* vax-obsd-tdep.c: ... this.
    	* x86bsd-nat.h: Rename to ...
    	* x86-bsd-nat.h: ... this, adjust include barrier and comment.
    	* x86bsd-nat.c: Rename to ...
    	* x86-bsd-nat.c: ... this, adjust include.
    	* configure.tgt: Update renamed files.
    	* config/alpha/fbsd.mh: Update renamed files.
    	* config/alpha/nbsd.mh: Update renamed files.
    	* config/arm/nbsdelf.mh: Update renamed files.
    	* config/djgpp/fnchange.lst: Update renamed files.
    	* config/i386/fbsd.mh: Update renamed files.
    	* config/i386/fbsd64.mh: Update renamed files.
    	* config/i386/i386gnu.mh: Update renamed files.
    	* config/i386/i386sol2.mh: Update renamed files.
    	* config/i386/nbsd64.mh: Update renamed files.
    	* config/i386/nbsdelf.mh: Update renamed files.
    	* config/i386/obsd.mh: Update renamed files.
    	* config/i386/obsd64.mh: Update renamed files.
    	* config/i386/sol2-64.mh: Update renamed files.
    	* config/m68k/linux.mh: Update renamed files.
    	* config/m68k/nbsdelf.mh: Update renamed files.
    	* config/m68k/obsd.mh: Update renamed files.
    	* config/m88k/obsd.mh: Update renamed files.
    	* config/mips/nbsd.mh: Update renamed files.
    	* config/mips/obsd64.mh: Update renamed files.
    	* config/pa/nbsd.mh: Update renamed files.
    	* config/pa/obsd.mh: Update renamed files.
    	* config/powerpc/fbsd.mh: Update renamed files.
    	* config/powerpc/nbsd.mh: Update renamed files.
    	* config/powerpc/obsd.mh: Update renamed files.
    	* config/sh/nbsd.mh: Update renamed files.
    	* config/sparc/fbsd.mh: Update renamed files.
    	* config/sparc/nbsd64.mh: Update renamed files.
    	* config/sparc/nbsdelf.mh: Update renamed files.
    	* config/sparc/obsd64.mh: Update renamed files.
    	* config/vax/nbsdelf.mh: Update renamed files.
    	* config/vax/obsd.mh: Update renamed files.

commit b593ecca856860a8b38deb808493bba4beef3aee
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Nov 22 16:14:22 2016 -0500

    Makefiles: Flatten and sort file lists
    
    I find the big file lists in the Makefiles a bit ugly and not very
    practical.  Since there are multiple filenames on each line (as much as
    fits in 80 columns), it's not easy to add, remove or change a name in
    the middle.  As a result, we have a mix of long and short lines in no
    particular order (ALL_TARGET_OBS is a good example).
    
    I therefore suggest flattening the lists (one name per line) and keeping
    them in alphabetical order.  The diffs will be much clearer and merge
    conflicts will be easier to resolve.
    
    A nice (IMO) side-effect I observed is that the files are compiled
    alphabetically by make, so it gives a rough idea of the progress of the
    build.
    
    I added a comment in gdb/Makefile.in to mention to keep the file lists
    ordered, and gave the general guidelines on what order to respect.  I
    added a comment in other Makefiles which refers to gdb/Makefile.in, to
    avoid duplication.
    
    Running the patch through the buildbot found that gdb.base/default.exp
    started to fail.  The languages in the error message shown when typing
    "set language" have changed order.  We could probably improve gdb so
    that it prints them in a stable order, regardless of the order of the
    object list passed to the linked, but just fixing the test is easier for
    now.
    
    New in v2:
    
     - Change ordering style, directories go at the end.
     - Cleanup gdbserver's and data-directory's Makefile as well.
     - Add comments at top of Makefiles about the ordering.
     - Remove wrong trailing backslahes.
     - Fix test gdb.base/default.exp.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Add comment about file lists ordering.
    	(SUBDIR_CLI_OBS, SUBDIR_CLI_SRCS, SUBDIR_MI_OBS, SUBDIR_MI_SRCS,
    	SUBDIR_TUI_OBS, SUBDIR_TUI_SRCS, SUBDIR_GCC_COMPILE_OBS,
    	SUBDIR_GCC_COMPILE_SRCS, SUBDIR_GUILE_OBS, SUBDIR_GUILE_SRCS,
    	SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_GDBTK_OBS,
    	SUBDIR_GDBTK_SRCS, XMLFILES, REMOTE_OBS, ALL_64_TARGET_OBS,
    	ALL_TARGET_OBS, SFILES, HFILES_NO_SRCDIR, HFILES_WITH_SRCDIR,
    	COMMON_OBS, YYFILES, YYOBJ, generated_files, ALLDEPFILES):
    	Flatten list and order alphabetically.
    	* data-directory/Makefile.in: Add comment about file lists
    	ordering.
    	(GEN_SYSCALLS_FILES, PYTHON_FILE_LIST): Flatten list and order
    	alphabetically.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (SFILES, OBS): Flatten list and order
    	alphabetically.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/default.exp: Fix output of "set language".

commit 1a9ccd70f9a75dc6b48d340059f28ef3550c107b
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Nov 23 11:10:39 2016 +0000

    Fix the linker so that it will not silently generate ELF binaries with invalid program headers.  Fix readelf to report such invalid binaries.
    
    	PR ld/20815
    bfd	* elf.c (elf_modify_segment_map): Allow empty LOAD segments if
    	they contain the program headers.
    	(_bfd_elf_map_sections_to_segments): If the linker created the
    	PHDR segment then always attempt to include it in a LOAD segment.
    	(assign_file_positions_for_non_load_sections): Allow LOAD segments
    	to overlap PHDR segments.
    	(phdr_sorter): New function.  Sorts program headers.
    	(assign_file_positions_except_relocs): Sort the program headers
    	before writing them out.  Issue an error if the PHDR segment is
    	not covered by a LOAD segment, unless the backend allows it.
    	* elf-bfd.h (struct elf_backend_data): Add
    	elf_backend_allow_non_load_phdr.
    	* elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
    	default definition that returns FALSE.
    	(elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
    	field.
    	* elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
    	Returns TRUE.
    	(elf_backend_allow_non_load_phdr): Define.
    	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
    	place the interpreter string into the .interp section if the
    	nointerp flag is set in the link info structure.
    	* elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
    	* elf32-score7.c (score_elf_final_link_relocate): Allow for the
    	_gp symbol not being part of the output.
    
    binutils* readelf.c (process_program_headers): Check PT_LOAD and PT_PHDR
    	segments for validity.
    
    ld	* ld.texinfo: Note that PT_TLS can be used as a segment type.
    	* testsuite/ld-discard/discard.ld: Add space for program headers.
    	* testsuite/ld-elf/flags1.ld: Likewise.
    	* testsuite/ld-elf/maxpage3.t: Likewise.
    	* testsuite/ld-elf/noload-1.t: Likewise.
    	* testsuite/ld-elf/orphan.ld: Likewise.
    	* testsuite/ld-elf/overlay.t: Likewise.
    	* testsuite/ld-elf/pr14052.t: Likewise.
    	* testsuite/ld-elf/pr19539.t: Likewise.
    	* testsuite/ld-elf/provide-hidden-1.ld: Likewise.
    	* testsuite/ld-elf/provide-hidden-s.ld: Likewise.
    	* testsuite/ld-elf/weak-dyn-1.ld: Likewise.
    	* testsuite/ld-i386/pr19539.t: Likewise.
    	* testsuite/ld-scripts/defined.t: Likewise.
    	* testsuite/ld-scripts/defined6.t: Likewise.
    	* testsuite/ld-scripts/dynamic-sections.t: Likewise.
    	* testsuite/ld-scripts/empty-aligned.t: Likewise.
    	* testsuite/ld-scripts/provide-2.t: Likewise.
    	* testsuite/ld-scripts/provide-4.t: Likewise.
    	* testsuite/ld-vax-elf/plt-local.ld: Likewise.
    	* testsuite/ld-x86-64/pr19539.t: Likewise.
    	* testsuite/ld-elf/ehdr_start-missing.d: Do not initialise the
    	dynamic linker.
    	* testsuite/ld-elf/ehdr_start-weak.d: Likewise.
    	* testsuite/ld-elf/elf.exp (pr14170, pr17068): Likewise.
    	* testsuite/ld-elf/loadaddr1.d: Update expected readelf output.
    	* testsuite/ld-elf/noload-2.d: Likewise.
    	* testsuite/ld-powerpc/vxworks2.sd: Likewise.
    	* testsuite/ld-scripts/phdrs3a.d: Likewise.
    	* testsuite/ld-scripts/size-2.d: Likewise.
    	* testsuite/ld-elf/group.ld: Add program headers.
    	* testsuite/ld-elf/overlay.d: Skip for SPU.
    	* testsuite/ld-elf/flags1.d: Skip for RX.
    	* testsuite/ld-elf/pr19162.d: Skip for HPPA64.
    	* testsuite/ld-elf/pr19539.d: Skip for ALPHA.
    	* testsuite/ld-scripts/empty-orphan.t: Update program headers.
    	* testsuite/ld-scripts/size-2.t: Likewise.

commit 128e85e3ab36b8e30f6612fb50de3cbb4ede6824
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Nov 23 03:04:17 2016 -0800

    gas: run the hwcaps-bump tests with 64-bit sparc objects only.
    
    gas/ChangeLog:
    
    2016-11-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Make sure the
    	hwcaps-bump test is run with 64-bit objects.

commit 073808edb771952247c6fe634b863986b7627150
Author: Kuan-Lin Chen <kuanlinchentw@gmail.com>
Date:   Wed Nov 23 13:18:59 2016 +0800

    RISCV/GAS Add missing break in md_apply_fix.
    
    gdb/ChangeLog:
    	* config/tc-riscv.c: Add missing break.

commit 64f52338e924cce3a205527136e145da660a4686
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 23 15:07:17 2016 +1030

    elf_backend_dtrel_excludes_plt
    
    Now that all targets creating .rel.plt/.rela.plt use the ELF hash
    table shortcut srelplt, the generic ELF code can set up DT_RELSZ/
    DT_RELASZ and DT_REL/DT_RELA for targets that don't want PLT relocs
    included in those tags.
    
    	* elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
    	* elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
    	(elfNN_bed): Init new field.
    	* elflink.c (bfd_elf_final_link): Add and use htab variable.  Handle
    	dtrel_excludes_plt.
    	* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
    	subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
    	and DT_RELA code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
    	and DT_REL code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
    	and DT_RELA code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
    	DT_RELASZ and DT_RELA code.  Use ELF htab shortcuts for other
    	dynamic sections.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
    	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
    	* elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
    	and DT_RELA code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	* elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.

commit ce558b89b15a18fd67fdc02a4d410a6d92d2ba63
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 23 15:06:34 2016 +1030

    Delete duplicate target short-cuts to dynamic sections
    
    We'd like to have the elf_link_hash_table srelplt field rather than
    some private target field used to save short-cuts to a PLT relocation
    section.  This save a little space but mainly is so that the generic
    ELF code can access the field.  Ditto for other dynamic sections.
    
    	* elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
    	to dynamic sections.
    	(mn10300_elf_final_link_relocate): Likewise.
    	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
    	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
    	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
    	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
    	* elf32-bfin.c (bfin_check_relocs): Likewise.
    	(bfin_relocate_section): Likewise.
    	(bfin_gc_sweep_hook): Likewise.
    	(struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
    	and spltrel.
    	(bfinfdpic_got_section, bfinfdpic_gotrel_section,
    	bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
    	shortcut sections.
    	(_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
    	Delete dead code.
    	(bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
    	(bfin_size_dynamic_sections): Likewise.
    	* elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
    	(cr16_elf_check_relocs): Likewise.
    	(cr16_elf_final_link_relocate): Likewise.
    	(_bfd_cr16_elf_create_dynamic_sections): Likewise.
    	(_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
    	(_bfd_cr16_elf_size_dynamic_sections): Likewise.
    	(_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
    	(_bfd_cr16_elf_finish_dynamic_sections): Likewise.
    	* elf32-cris.c (cris_elf_relocate_section): Likewise.
    	(elf_cris_finish_dynamic_symbol): Likewise.
    	(elf_cris_finish_dynamic_sections): Likewise.
    	(cris_elf_gc_sweep_hook): Likewise.
    	(elf_cris_adjust_gotplt_to_got): Likewise.
    	(elf_cris_adjust_dynamic_symbol): Likewise.
    	(cris_elf_check_relocs): Likewise.  Delete dead code.
    	(elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(elf_cris_discard_excess_program_dynamics): Likewise.
    	* elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
    	sgotrel, splt and spltrel.
    	(frvfdpic_got_section, frvfdpic_gotrel_section,
    	frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
    	shortcut sections.
    	(_frv_create_got_section): Likewise.
    	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
    	srelgot, splt and srelplt.
    	(hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
    	(elf32_hppa_create_dynamic_sections): Likewise.
    	(elf32_hppa_check_relocs): Likewise.
    	(allocate_plt_static): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(elf32_hppa_size_dynamic_sections): Likewise.
    	(elf32_hppa_relocate_section): Likewise.
    	(elf32_hppa_finish_dynamic_symbol): Likewise.
    	(elf32_hppa_finish_dynamic_sections): Likewise.
    	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
    	* elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
    	shortcut sections.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
    	(lm32_elf_check_relocs): Likewise.
    	(lm32_elf_finish_dynamic_sections): Likewise.
    	(lm32_elf_finish_dynamic_symbol): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(lm32_elf_size_dynamic_sections): Likewise.
    	(lm32_elf_create_dynamic_sections): Likewise.
    	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
    	(m32c_elf_check_relocs): Likewise.
    	(m32c_elf_finish_dynamic_sections): Likewise.
    	(m32c_elf_always_size_sections): Likewise.
    	* elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(allocate_dynrelocs): Likewise.
    	(m32r_elf_size_dynamic_sections): Likewise.
    	(m32r_elf_relocate_section): Likewise.
    	(m32r_elf_finish_dynamic_symbol): Likewise.
    	(m32r_elf_finish_dynamic_sections): Likewise.
    	(m32r_elf_check_relocs): Likewise.
    	* elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
    	(elf_m68k_check_relocs): Likewise.
    	(elf_m68k_adjust_dynamic_symbol): Likewise.
    	(elf_m68k_size_dynamic_sections): Likewise.
    	(elf_m68k_relocate_section): Likewise.
    	(elf_m68k_finish_dynamic_symbol): Likewise.
    	(elf_m68k_finish_dynamic_sections): Likewise.
    	* elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(elf_metag_relocate_section): Use elf htab shortcuts to dynamic
    	sections.
    	(elf_metag_create_dynamic_sections): Likewise.  Allocate got header
    	here in .got.
    	(elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
    	(allocate_dynrelocs): Likewise.
    	(elf_metag_size_dynamic_sections): Likewise.
    	(elf_metag_finish_dynamic_symbol): Likewise.
    	(elf_metag_finish_dynamic_sections): Likewise.
    	(elf_metag_size_stubs): Likewise.
    	(elf_backend_got_header_size): Don't define.
    	(elf_backend_want_got_plt): Define.
    	* elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelpl.
    	(microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
    	sections.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
    	(microblaze_elf_create_dynamic_sections): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(microblaze_elf_size_dynamic_sections): Likewise.
    	(microblaze_elf_finish_dynamic_symbol): Likewise.
    	(microblaze_elf_finish_dynamic_sections): Likewise.
    	* elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
    	already zero fields.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(allocate_dynrelocs): Likewise.
    	(nds32_elf_size_dynamic_sections): Likewise.
    	(nds32_elf_relocate_section): Likewise.
    	(nds32_elf_finish_dynamic_symbol): Likewise.
    	(nds32_elf_finish_dynamic_sections): Likewise.
    	(nds32_elf_check_relocs): Likewise.
    	(calculate_plt_memory_address): Likewise.
    	(calculate_got_memory_address): Likewise.
    	* elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	* elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
    	(or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
    	(or1k_elf_finish_dynamic_sections): Likewise.
    	(or1k_elf_finish_dynamic_symbol): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(or1k_elf_size_dynamic_sections): Likewise.
    	(or1k_elf_create_dynamic_sections): Likewise.
    	* elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
    	plt, relplt, iplt, reliplt and sgotplt.
    	(ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
    	(ppc_elf_create_glink): Likewise.
    	(ppc_elf_create_dynamic_sections): Likewise.
    	(ppc_elf_check_relocs): Likewise.
    	(ppc_elf_select_plt_layout): Likewise.
    	(ppc_elf_tls_setup): Likewise.
    	(allocate_got): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(ppc_elf_size_dynamic_sections): Likewise.
    	(ppc_elf_relax_section): Likewise.
    	(ppc_elf_relocate_section): Likewise.
    	(ppc_elf_finish_dynamic_symbol): Likewise.
    	(ppc_elf_reloc_type_class): Likewise.
    	(ppc_elf_finish_dynamic_sections): Likewise.
    	* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
    	(rl78_elf_check_relocs): Likewise.
    	(rl78_elf_finish_dynamic_sections): Likewise.
    	(rl78_elf_always_size_sections): Likewise.
    	* elf32-s390.c 	(create_got_section): Delete.
    	(elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
    	(elf_s390_check_relocs): Likewise.
    	* elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
    	(s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
    	* elf32-score7.c (score_elf_create_got_section): As above.
    	(s7_bfd_score_elf_finish_dynamic_sections): As above.
    	* elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(create_got_section): Don't set them.
    	(sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(allocate_dynrelocs): Likewise.
    	(sh_elf_size_dynamic_sections): Likewise.
    	(sh_elf_add_rofixup): Likewise.
    	(sh_elf_relocate_section): Likewise.
    	(sh_elf_check_relocs): Likewise.
    	(sh_elf_finish_dynamic_symbol): Likewise.
    	(sh_elf_finish_dynamic_sections): Likewise.
    	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
    	* elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
    	* elf32-vax.c (elf_vax_check_relocs): Likewise.
    	(elf_vax_adjust_dynamic_symbol): Likewise.
    	(elf_vax_always_size_sections): Likewise.
    	(elf_vax_instantiate_got_entries): Likewise.
    	(elf_vax_relocate_section): Likewise.
    	(elf_vax_finish_dynamic_symbol): Likewise.
    	(elf_vax_finish_dynamic_sections): Likewise.
    	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
    	(xstormy16_elf_always_size_sections): Likewise.
    	(xstormy16_elf_relocate_section): Likewise.
    	(xstormy16_elf_finish_dynamic_sections): Likewise.
    	* elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
    	dynamic sections.
    	(elf_xtensa_allocate_dynrelocs): Likewise.
    	(elf_xtensa_allocate_local_got_size): Likewise.
    	(elf_xtensa_size_dynamic_sections): Likewise.
    	(elf_xtensa_relocate_section): Likewise.
    	(elf_xtensa_finish_dynamic_sections): Likewise.
    	(shrink_dynamic_reloc_sections): Likewise.
    	(elf_xtensa_get_plt_section): Likewise.
    	(elf_xtensa_get_gotplt_section): Likewise.
    	(xtensa_callback_required_dependence): Likewise.
    	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
    	shortcuts to dynamic sections.
    	(elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
    	dynamic sections.
    	(elf64_alpha_size_plt_section): Likewise.
    	(elf64_alpha_size_rela_got_1): Likewise.
    	(elf64_alpha_size_rela_got_section): Likewise.
    	(elf64_alpha_relocate_section): Likewise.
    	(elf64_alpha_finish_dynamic_symbol): Likewise.
    	(elf64_alpha_finish_dynamic_sections): Likewise.
    	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
    	* elf64-s390.c (create_got_section): Delete.
    	(elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
    	(elf_s390_check_relocs): Likewise.
    	* elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
    	dynamic sections.
    	(sh_elf64_check_relocs): Likewise.
    	(sh64_elf64_adjust_dynamic_symbol): Likewise.
    	(sh64_elf64_size_dynamic_sections): Likewise.
    	(sh64_elf64_finish_dynamic_symbol): Likewise.
    	(sh64_elf64_finish_dynamic_sections): Likewise.
    	* elflink.c (_bfd_elf_create_got_section): Likewise.
    	* elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
    	(elfNN_ia64_finish_dynamic_sections): Likewise.
    	* elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
    	* elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
    	sgotplt, splt and sgot.
    	(mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
    	sections.
    	(mips_elf_gotplt_index): Likewise.
    	(mips_elf_primary_global_got_index): Likewise.
    	(mips_elf_global_got_index): Likewise.
    	(mips_elf_got_offset_from_index): Likewise.
    	(mips_elf_create_local_got_entry): Likewise.
    	(mips_elf_create_got_section): Likewise.
    	(mips_elf_calculate_relocation): Likewise.
    	(_bfd_mips_elf_create_dynamic_sections): Likewise.
    	(_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
    	(mips_elf_lay_out_got): Likewise.
    	(mips_elf_set_plt_sym_value): Likewise.
    	(_bfd_mips_elf_size_dynamic_sections): Likewise.
    	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
    	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
    	(mips_finish_exec_plt): Likewise.
    	(mips_vxworks_finish_exec_plt): Likewise.
    	(mips_vxworks_finish_shared_plt): Likewise.
    	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
    	* elfxx-sparc.c (sparc_finish_dyn): Likewise.
    	* elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.

commit 3ae0486cdce5d2ed4c922c598a3258fcbd9c8f29
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 23 15:04:24 2016 +1030

    Regen POTFILES.in
    
    bfd/
    	* po/BLD-POTFILES.in: Regenerate.
    	* po/SRC-POTFILES.in: Regenerate.
    gas/
    	* po/POTFILES.in: Regenerate.

commit 9986ba08876f86f7d36d230afc11b60a34287da8
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 23:15:34 2016 +0000

    gdbserver: Use warning for warnings
    
    gdb/gdbserver/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* event-loop.c (handle_file_event): Use warning.
    	* linux-low.c (linux_resume_one_lwp_throw): Use warning.
    	* mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
    	Use warning.

commit 4eefa7bcf286b879f61b9e1ec1c97230f5345104
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Nov 18 00:07:10 2016 +0000

    gdbserver: Use debug_printf for debug output
    
    gdb/gdbserver/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* linux-low.c (check_zombie_leaders): Use debug_printf for debug
    	output.
    	* notif.c (handle_notif_ack, notif_event_enque): Likewise.
    	* remote-utils.c (putpkt_binary_1, readchar, getpkt): Use
    	debug_printf and debug_flush for debug output.
    	* server.c (handle_general_set): Likewise.
    	* thread-db.c (try_thread_db_load): Use debug_printf for debug
    	output.

commit 400b2f29938dab7d9c4f46c9d1b0dc23dab0518b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 23 00:00:36 2016 +0000

    Automatic date update in version.in

commit 358a971863e93cbafa9e864b4db4d5448b960304
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Nov 22 15:44:56 2016 -0800

    Print the default for all binary options; clean up --help output.
    
    gold/
    	PR gold/20346
    	* options.cc (One_option::print): Print "(default)" when appropriate.
    	* options.h: Clean up and re-sort options.
    	(One_option::is_default): New data member.
    	(One_option::One_option): Add is_default parameter; adjust all calls.
    	(DEFINE_var): Add is_default__ parameter; adjust all calls.
    	(DEFINE_bool): Set is_default based on default_value__.
    	(DEFINE_bool_ignore): New macro.
    	(--no-eh-frame-hdr): New option.
    	(--enable-new-dtags): Remove mention of DT_FLAGS.

commit ca3cbe5cd7715d1559d55f8e71be1dd7340f13b1
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Tue Nov 22 16:05:00 2016 +0000

    Fix spelling mistakes in comments in shell scripts
    
    gdb/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * contrib/expect-read1.sh: Fix spelling in comments.
            * gdb_buildall.sh: Fix spelling in comments.
            * gdb_mbuild.sh: Fix spelling in comments.

commit 96fe45624e51f1bb747e36cf8bdaab216f31c5ec
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Tue Nov 22 15:43:03 2016 +0000

    Fix spelling mistakes in comments in configure scripts
    
    All changes are limited to comments, and no run-time behavior is
    affected.
    
    bfd/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * warning.m4: Fix spelling in comments.
            * configure.ac: Fix spelling in comments.
            * configure: Regenerate.
    
    binutils/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    gdb/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure.ac: Fix spelling in comments.
            * configure: Regenerate.
    
    gas/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    gold/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    gprof/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    ld/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    opcodes/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.

commit f5ea389ac78ccd7c426a93f43e6117dad9ce0878
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:06 2016 +0000

    Change gdbarch software_single_step frame_info to regcache
    
    This patch changes gdbarch method software_single_step's parameter from
    "struct frame_info *" to "struct regcache *, IOW, software_single_step
    starts to use current regcache rather than current frame for software
    single.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* gdbarch.sh (software_single_step): Change parameter from frame_info
    	to regcache.
    	* gdbarch.c, gdbarch.h: Regenerated.
    	* aarch64-tdep.c (aarch64_software_single_step): Change parameter
    	from frame_info to regcache.  Don't call get_current_regcache.
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Likewise.
    	(alpha_software_single_step): Likewise.
    	* alpha-tdep.h (alpha_software_single_step): Update declaration.
    	* arm-linux-tdep.c (arm_linux_software_single_step): Likewise.
    	* arm-tdep.c (arm_software_single_step): Likewise.
    	* arm-tdep.h (arm_software_single_step): Likewise.
    	* breakpoint.c (insert_single_step_breakpoint): Pass regcache to
    	gdbarch_software_single_step.
    	* cris-tdep.c (cris_software_single_step): Change parameter from
    	frame_info to regcache.  Don't call get_current_regcache.
    	* mips-tdep.c (mips_software_single_step): Likewise.
    	* mips-tdep.h (mips_software_single_step): Update declaration.
    	* moxie-tdep.c (moxie_software_single_step): Likewise.
    	* nios2-tdep.c (nios2_software_single_step): Likewise.
    	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Update declaration.
    	* rs6000-aix-tdep.c (rs6000_software_single_step): Likewise.
    	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Likewise.
    	* s390-linux-tdep.c (s390_software_single_step): Likewise.
    	* sparc-tdep.c (sparc_software_single_step): Likewise.
    	* spu-tdep.c (spu_software_single_step): Likewise.
    	* tic6x-tdep.c (tic6x_software_single_step): Likewise.

commit b2260160f8cde8de118914ddeaf797bea42e65ce
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: spu
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* spu-tdep.c (spu_software_single_step): Call get_regcache_arch
    	instead of get_frame_arch.  Call regcache_read_pc instead of
    	get_frame_pc.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.

commit fb090cfa157e35fac1c10c062fd005e38b894ea4
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: tic6x
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* tic6x-tdep.c (tic6x_condition_true): Replace frame with
    	regcache.  Call regcache_raw_get_signed instead of
    	get_frame_register_signed.
    	(tic6x_get_next_pc): Likewise.  Caller updated.

commit 41e26ad32d17ee35f79f629654811f5e8656cab8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: rs6000
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* rs6000-aix-tdep.c (branch_dest): Replace parameter frame with
    	regcache.  Call get_regcache_arch instead of get_frame_arch.
    	Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.
    	(rs6000_software_single_step): Likewise.
    	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit ad76968956f30bed6d120e0dfd247034e0855fea
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: s390
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* s390-linux-tdep.c (s390_software_single_step): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit cd76b525eda02c30c4412698a2ff309b975d417a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: sparc
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* sparc-tdep.c (sparc_analyze_control_transfer): Replace parameter
    	frame with regcache.  Call get_current_frame.
    	(sparc_software_single_step): Call get_regcache_arch instead of
    	get_frame_arch.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.

commit 3889f4909e0db5f5ca8ca043ef9825f0ad971fd6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: nios2
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* nios2-tdep.c (nios2_get_next_pc): Replace parameter frame
    	with regcache.  Call regcache_raw_get_signed instead of
    	get_frame_register_unsigned.
    	(nios2_software_single_step): Call get_regcache_arch
    	instead of get_frame_arch.

commit a8f341826d63a5c216c41e10bf1e4e6c3db3ce65
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: moxie
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* moxie-tdep.c (moxie_software_single_step): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit 7113a196bac7f1134bcdd79ad3e6badcb5d77f95
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: mips
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-tdep.c (mips32_bc1_pc): Replace parameter frame with
    	regcache.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.
    	(mips32_next_pc): Likewise.
    	(micromips_bc1_pc): Likewise.
    	(micromips_next_pc): Likewise.
    	(extended_mips16_next_pc): Likewise.
    	(mips16_next_pc): Likewise.
    	(mips_next_pc): Likewise.
    	(mips_software_single_step): Call get_regcache_arch instead
    	of get_frame_arch.

commit 5b6e2eee087cf206d5c2bf1f9523217aaf5938aa
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    gdbarch software_single_step frame_info to regcache: cris
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* cris-tdep.c (find_step_target): Replace parameter frame
    	with regcache.  Call get_regcache_arch instead of
    	get_frame_arch.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.
    	(cris_software_single_step): Call get_regcache_arch instead
    	of get_frame_arch.

commit 7ab2d0874025af6ee858b32c576f2461c0a1df3d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    gdbarch software_single_step frame_info to regcache: alpha
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.
    	(alpha_next_pc): Replace parameter frame with regcache.
    	Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.

commit 0187a92f57b516f7171e70bec46701cfdaa6c6bd
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    gdbarch software_single_step frame_info to regcache: aarch64
    
    Use regcache in software_single_step.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_software_single_step): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit 9fd15b2e80452f03edb3fb36c2b4c36d05f4ef4e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    New regcache_raw_get_signed
    
    This patch adds a new regcache api regcache_raw_get_signed.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_raw_get_signed): New function.
    	* regcache.h (regcache_raw_get_signed): Declare.

commit 6884417a0ff3555b192d4aceeacc5e7232cad207
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Nov 22 04:40:37 2016 -0800

    gas,opcodes: fix hardware capabilities bumping in the sparc assembler.
    
    When the assembler finds an instruction which is part of a higher
    opcode architecture it bumps the current opcode architecture.  For
    example:
    
       $ echo "mwait" | as -bump
       {standard input}: Assembler messages:
       {standard input}:1: Warning: architecture bumped from "v6" to "v9m" on "mwait"
    
    However, when two instructions pertaining to the same opcode
    architecture but associated to different SPARC hardware capabilities
    are found in the input stream, and no GAS architecture is specified in
    the command line, the assembler bangs:
    
       $ echo "mwait; wr %g0,%g1,%mcdper" | as -bump
       {standard input}: Assembler messages:
       {standard input}:1: Warning: architecture bumped from "v6" to "v9m" on "mwait"
       {standard input}:1: Error: Hardware capability "sparc5" not enabled for "wr".
    
    ... and it should'nt, as WRMCDPER pertains to the same architecture
    level than MWAIT.
    
    This patch fixes this by extending the definition of sparc opcode
    architectures to contain a set of hardware capabilities and making the
    assembler to take these capabilities into account when updating the
    set of allowed hwcaps when an architecture bump is triggered by some
    instruction.
    
    This way, hwcaps associated to architecture levels are maintained in
    opcodes, while the assembler keeps the flexibiity of defining GAS
    architectures including additional hwcaps (like -Asparcfmaf or the
    v8plus* variants).
    
    A test covering this failure case is included.
    
    gas/ChangeLog:
    
    2016-11-22  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
           	* config/tc-sparc.c: Move HWS_* and HWS2_* definitions to
           	opcodes/sparc-opc.c.
           	(sparc_arch): Clarify the new role of the hwcap_allowed and
           	hwcap2_allowed fields.
           	(sparc_arch_table): Remove HWS_* and HWS2_* instances from
           	hwcap_allowed and hwcap2_allowed respectively.
           	(md_parse_option): Include the opcode arch hwcaps when processing
           	-A.
           	(sparc_ip): Use the current opcode arch hwcaps to update
           	hwcap_allowed, as well of the hwcaps of the instruction triggering
           	the bump.
           	* testsuite/gas/sparc/hwcaps-bump.s: New file.
           	* testsuite/gas/sparc/hwcaps-bump.l: Likewise.
           	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run tests in
           	hwcaps-bump.
    
    include/ChangeLog:
    
    2016-11-22  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
           	* opcode/sparc.h (sparc_opcode_arch): New fields hwcaps and
           	hwcaps2.
    
    opcodes/ChangeLog:
    
    2016-11-22  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
           	* sparc-opc.c (HWS_V8): Definition moved from
           	gas/config/tc-sparc.c.
           	(HWS_V9): Likewise.
           	(HWS_VA): Likewise.
           	(HWS_VB): Likewise.
           	(HWS_VC): Likewise.
           	(HWS_VD): Likewise.
           	(HWS_VE): Likewise.
           	(HWS_VV): Likewise.
           	(HWS_VM): Likewise.
           	(HWS2_VM): Likewise.
           	(sparc_opcode_archs): Initialize hwcaps and hwcaps2 fields of
           	existing entries.

commit c4b943d7aed5edbfc31aa1e9dc9e7bcf108d76a0
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Nov 9 15:30:35 2016 +0100

    [ARC] Fix printing 'b' mnemonics.
    
    gas/
    2016-11-22  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/b.d: Update test result.
    
    opcode/
    2016-11-22  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-tbl.h: Reorder conditional flags with delay flags for 'b'
    	instructions.

commit 08dc996fedde9143cda25720961684087b133640
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Nov 22 18:45:29 2016 +1030

    PR20744, Incorrect PowerPC VLE relocs
    
    VLE 16A and 16D relocs were functionally swapped.
    
    	PR 20744
    include/
    	* opcode/ppc.h: Define VLE insns using 16A and 16D relocs.
    bfd/
    	* elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
    	* elf32-ppc.c: Include opcode/ppc.h.
    	(ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
    	R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
    	R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
    	R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
    	R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
    	(ppc_elf_link_hash_table_create): Update default_params init.
    	(ppc_elf_vle_split16): Correct shift and mask.  Add params.
    	Report or fix insn/reloc mismatches.
    	(ppc_elf_relocate_section): Pass input_section, offset and fixup
    	to ppc_elf_vle_split16.
    binutils/
    	* NEWS: Mention PowerPC VLE relocation error.
    gas/
    	* config/tc-ppc.c: Delete VLE insn defines.
    	(md_assemble): Swap use_a_reloc and use_d_reloc.
    	* testsuite/gas/ppc/vle-reloc.d: Update.
    ld/
    	* emultempl/ppc32elf.em (params): Update initializer.  Handle
    	--vle-reloc-fixup command line arg.

commit 95f0d0d2338f8eba18d2b3c8cbe15b1d584b885c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Nov 22 16:27:12 2016 +1030

    Use input_bfd in relocate_section
    
    It makes just a little more sense to use input_bfd when retrieving
    insns for relocation, since the relocations match the endianness of
    the input bfd.
    
    	* elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
    	input_bfd.  Replace occurrences of output_bfd as bfd_get_32 and
    	bfd_put_32 param with input_bfd.
    	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.  Also
    	ppc_elf_vle_split16 param.
    	(ppc_elf_vle_split16): Rename output_bfd param to input_bfd.

commit c5acd8159633cfde315b01431099e1ce5b23dcf7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 08:53:34 2016 +0000

    Use VALUE_NEXT_FRAME_ID in value_from_component
    
    We renamed VALUE_FRAME_ID to VALUE_NEXT_FRAME_ID recently,
    https://sourceware.org/ml/gdb-patches/2016-11/msg00018.html
    and we should use VALUE_NEXT_FRAME_ID in value_from_component
    too.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* value.c (value_from_component): Use VALUE_NEXT_FRAME_ID
    	instead of VALUE_FROM_ID.

commit 3063babf7c559f04203ad7fdfcd8fc12a302ee7a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 22 00:00:15 2016 +0000

    Automatic date update in version.in

commit c13b08dbbcf752480a7621aa1f89bc5440c74c25
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Nov 21 14:05:40 2016 -0800

    Fix bug where -u option with empty archive results in internal error.
    
    gold/
    	PR gold/20693
    	* gold.cc (queue_middle_tasks): Force valid target earlier.

commit d0de53e251ce60057d91536a4c71740b047be040
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Nov 21 16:05:57 2016 -0500

    Add missing POSTCOMPILE step to mi/ file generation rules
    
    A little oversight from my part, it caused the Makefile not to track
    the dependencies from mi/*.c files.
    
    gdb/ChangeLog:
    
    	* Makefile.in (%o: $(srcdir)/mi/%.c): Add missing POSTCOMPILE
    	step.

commit b32e1756d9932eebcca5f276290841a859ef2d6d
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Mon Nov 21 09:59:37 2016 -0800

    Add --build-id=uuid support for MinGW32.
    
    2016-11-21  Igor Kudrin  <ikudrin@accesssoftek.com>
    
    gold/
    	* layout.cc: Include windows.h and rpcdce.h (for MinGW32).
    	(Layout::create_build_id): Generate uuid using UuidCreate().

commit b6ddcd85e3c0ae1f12af60efd6d1b97ac4bfa771
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Nov 21 15:59:42 2016 +0000

    BFD/DWARF2: Correct an `index' global shadowing error
    
    Fix a commit 089e3718bd8d ("Greatly improve the speed if looking up
    DWARF line number information.") build regression:
    
    cc1: warnings being treated as errors
    .../bfd/dwarf2.c: In function 'build_line_info_table':
    .../bfd/dwarf2.c:1614: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:304: warning: shadowed declaration is here
    .../bfd/dwarf2.c: In function 'build_lookup_funcinfo_table':
    .../bfd/dwarf2.c:2262: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:304: warning: shadowed declaration is here
    make[4]: *** [dwarf2.lo] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	bfd/
    	* dwarf2.c (build_line_info_table): Rename `index' local
    	variable to `line_index'.
    	(build_lookup_funcinfo_table): Rename `index' local variable to
    	`func_index'.

commit 3fff9862d5229def9318912c2de64a03dab74532
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 21 14:15:06 2016 +0000

    Create subobject value in pretty printer
    
    Nowadays, we create a value of subobject in pretty printer with 'address'
    being used,
    
      value = value_from_contents_and_address (type, valaddr + embedded_offset,
    					   address + embedded_offset);
    
      set_value_component_location (value, val);
      /* set_value_component_location resets the address, so we may
         need to set it again.  */
      if (VALUE_LVAL (value) != lval_internalvar
          && VALUE_LVAL (value) != lval_internalvar_component
          && VALUE_LVAL (value) != lval_computed)
        set_value_address (value, address + embedded_offset);
    
    value_from_contents_and_address creates a value from memory, but the
    value we are pretty-printing may not from memory at all.
    
    Instead of using value_from_contents_and_address, we create a value
    of subobject with the same location as object's but different offset.
    We avoid using address in this way.  As a result, parameter 'address'
    in apply_val_pretty_printer is no longer needed, we can remove it in
    next step.
    
    We've already had the location of the 'whole' value, so it is safe
    to assume we can create a value of 'component' or 'suboject' value
    at the same location but with different offset.
    
    gdb:
    
    2016-11-21  Yao Qi  <yao.qi@linaro.org>
    
    	* guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
    	Don't call value_from_contents_and_address and
    	set_value_address.  Call value_from_component.
    	* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer):
    	Likewise.
    	* value.c (value_from_component): New function.
    	* value.h (value_from_component): Likewise.
    	* valarith.c (value_subscripted_rvalue): Call
    	value_from_component.

commit 5689c9424b33aac68c4762ce0bda09ca7e3affe0
Author: Renlin Li <renlin.li@arm.com>
Date:   Mon Nov 21 12:06:04 2016 +0000

    [GAS][ARM][PR20827]Fix gas error for two register form instruction (pre-UAL syntax).
    
    gas/
    
    2016-11-21  Renlin Li  <renlin.li@arm.com>
    
    	PR gas/20827
    	* config/tc-arm.c (encode_arm_shift): Don't assert for operands not
    	presented.
    	* testsuite/gas/arm/add-shift-two.d: New.
    	* testsuite/gas/arm/add-shift-two.s: New.

commit 2d7f2507d4d26430da7e32e8fc75f045f634fced
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Nov 21 20:18:41 2016 +1030

    Use ACX_PROG_CMP_IGNORE_INITIAL in gas
    
    	* configure.ac: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
    	* Makefile.am (comparison): Rewrite using do_compare.
    	* configure: Regenerate.
    	* Makefile.in: Regenerate.
    	* doc/Makefile.in: Regenerate.

commit 081f6b931dbc4a1f27ac003e2f75a389444ce9e9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 21 00:00:33 2016 +0000

    Automatic date update in version.in

commit 76a29a45db928e68e1faf83d9c7008cc29543e65
Merge: 502c7e5 b5fbed8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Nov 20 21:10:19 2016 +0100

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

commit b5fbed8982b47d1ea5a0435c156e488e24e9d67c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 20 00:00:28 2016 +0000

    Automatic date update in version.in

commit cc188e5fd6d4f8d3061ed6c58c432a150f7966e9
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sat Nov 19 10:40:17 2016 -0800

    ARI: Add detection of printf_vma and sprintf_vma
    
    We shouldn't be using these, since their output goes straight to
    stdout, which doesn't allow redirection. So this patch updates
    the ARI to detect any such use.
    
    gdb/ChangeLog:
    
            * contrib/ari/gdb_ari.sh: Add detection of printf_vma and
            sprintf_vma.

commit 0fc9967d0b28a1e037233d49cec479d3ab1e9e59
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Sat Nov 19 04:39:09 2016 -0800

    Revert "bfd: allow negative offsets to _GLOBAL_OFFSET_TABLE_ in elf64 SPARC"
    
    This reverts commit b19753ce31da347605dfa903c6fd2158e2444f0d.
    
    As it turns out, GCC (and the assembler) needs additional work in
    order to support negative GOT offsets in 64-bit sparc.  This is
    breaking TLS Local Dynamic in position-independent code.

commit 502c7e5cb9801f18852553b14959364166f24602
Merge: 940be4a ef78776
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Nov 19 09:37:46 2016 +0100

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

commit ef787763b9495913d5be90bcdedcecb553cbf308
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Nov 18 21:16:52 2016 -0500

    Makefile: fix typo
    
    Thanks to Patrick Monnerat for reporting this typo.
    
    gdb/ChangeLog:
    
    	* Makefile.in (%.o: $(srcdir)/gdbtk/generic/%.c): Fix typo.

commit 3d6d882e29fb2b8f2451405c37fd6fd9b92fcdaa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 19 00:00:32 2016 +0000

    Automatic date update in version.in

commit 940be4a3470ffdd54cc46e06ca09a07310083f6e
Merge: 1c666b6 8504e09
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Nov 18 20:20:28 2016 +0100

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

commit 8504e0974cf4b67680a11208b16caa2d3c77b838
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Nov 18 16:59:00 2016 +0100

    gdb/doc: Add missing comma after xref
    
    Get rid of a warning for missing punctuation after xref.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Async Records): Add missing comma after
    	xref.

commit bb050a6932c4b0ea86202fe62bed2d94999f77ad
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Thu Nov 17 13:26:54 2016 +0100

    [ARC] Fix and extend features of .cpu directive.
    
    gas/
    2016-11-18  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/cl-warn.s: New file.
    	* testsuite/gas/arc/cpu-pseudop-1.d: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-1.s: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-2.s: Likewise.
    	* testsuite/gas/arc/cpu-warn2.s: Likewise.
    	* config/tc-arc.c (selected_cpu): Initialize.
    	(feature_type): New struct.
    	(feature_list): New variable.
    	(arc_check_feature): New function.
    	(arc_select_cpu): Check for .cpu duplicates. Don't overwrite the
    	current cpu features. Check if a feature is available for a given
    	cpu.
    	(md_parse_option): Test if features are available for a given cpu.

commit cc133f9f118ef4afd93da0ecba48151488c41c74
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Fri Nov 18 12:51:40 2016 +0100

    bfd: fix negative GOT offsets for non-local references on sparc64
    
    bfd/ChangeLog:
    
    2016-11-18  James Clarke  <jrtc27@jrtc27.com>
    
    	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
    	R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
    	R_SPARC_GOT* for non-local references. Instead, treat them like
    	R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
    	immediate with the calculated relocation.

commit a85db0a6188b89ef49a1bd0f0ed435adc133b3ae
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Nov 17 01:28:09 2016 +0100

    cxxfilt: Recognize rust_demangling.

commit 535aade664ac4170fe82e52c9addd686156220a1
Author: David Tolnay <dtolnay@gmail.com>
Date:   Wed Nov 16 23:09:27 2016 +0000

    libiberty: Add Rust symbol demangling.
    
    Adds Rust symbol demangler. Rust mangles symbols using GNU_V3 style,
    adding a hash and various special character subtitutions. This adds
    a new rust style to cplus_demangle and adds 3 helper functions
    rust_demangle, rust_demangle_sym and rust_is_mangled.
    
    rust-demangle.c was written by David. Mark did the code formatting to
    GNU style and integration into the gcc/libiberty build system and
    testsuite.
    
    include/ChangeLog:
    
    2016-11-03  David Tolnay <dtolnay@gmail.com>
               Mark Wielaard  <mark@klomp.org>
    
           * demangle.h (DMGL_RUST): New macro.
           (DMGL_STYLE_MASK): Add DMGL_RUST.
           (demangling_styles): Add dlang_rust.
           (RUST_DEMANGLING_STYLE_STRING): New macro.
           (RUST_DEMANGLING): New macro.
           (rust_demangle): New prototype.
           (rust_is_mangled): Likewise.
           (rust_demangle_sym): Likewise.
    
    libiberty/ChangeLog:
    
    2016-11-03  David Tolnay <dtolnay@gmail.com>
               Mark Wielaard  <mark@klomp.org>
    
           * Makefile.in (CFILES): Add rust-demangle.c.
           (REQUIRED_OFILES): Add rust-demangle.o.
           * cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
           (cplus_demangle): Handle RUST_DEMANGLING.
           (rust_demangle): New function.
           * rust-demangle.c: New file.
           * testsuite/Makefile.in (really-check): Add check-rust-demangle.
           (check-rust-demangle): New rule.
           * testsuite/rust-demangle-expected: New file.

commit ddc5804ebd4b2be29ad4e3e259f5c6e907f34f26
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue Nov 15 19:31:59 2016 +0000

    libiberty: demangler crash with missing :? or fold expression component.
    
    When constructing an :? or fold expression that requires a third
    expression only the first and second were explicitly checked to
    not be NULL. Since the third expression is also required in these
    constructs it needs to be explicitly checked and rejected when missing.
    Otherwise the demangler will crash once it tries to d_print the
    NULL component. Added two examples to demangle-expected of strings
    that would crash before this fix.
    
    Found by American Fuzzy Lop (afl) fuzzer.

commit 1706852c3c6c1d39f949c933d37647d02509b9cb
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue Nov 15 19:31:50 2016 +0000

    libiberty: Fix some demangler crashes caused by reading past end of input.
    
    In various situations the cplus_demangle () function could read past the
    end of input causing crashes. Add checks in various places to not advance
    the demangle string location and fail early when end of string is reached.
    Add various examples of input strings to the testsuite that would crash
    test-demangle before the fixes.
    
    Found by using the American Fuzzy Lop (afl) fuzzer.
    
    libiberty/ChangeLog:
    
           * cplus-dem.c (demangle_signature): After 'H', template function,
           no success and don't advance position if end of string reached.
           (demangle_template): After 'z', template name, return zero on
           premature end of string.
           (gnu_special): Guard strchr against searching for zero characters.
           (do_type): If member, only advance mangled string when 'F' found.
           * testsuite/demangle-expected: Add examples of strings that could
           crash the demangler by reading past end of input.

commit 59d2699cfd30f9defc454be17415c0a518ece32b
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Nov 14 19:46:26 2016 +0000

    libiberty: Add -Wshadow=local to warning flags (if supported).
    
    libiberty/ChangeLog:
    
           * configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
           * configure: Regenerated.

commit a4ddf8dc72f0ac10c3459a91949eb1bdb07ed10d
Author: Jason Merrill <jason@redhat.com>
Date:   Mon Nov 7 23:09:29 2016 +0000

    Implement P0012R1, Make exception specifications part of the type system.
    
    libiberty/
    	* cp-demangle.c (is_fnqual_component_type): New.
    	(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
    	(FNQUAL_COMPONENT_CASE): New.
    	(d_make_comp, has_return_type, d_print_comp_inner)
    	(d_print_function_type): Use it.
    	(next_is_type_qual): New.
    	(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
    include/
    	* demangle.h (enum demangle_component_type): Add
    	DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.

commit 4d17eaece8b31e642acaf4d77fe961ad8e3aaf50
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Nov 4 23:55:01 2016 +0000

    libiberty: Fix -Wimplicit-fallthrough warnings.
    
    Adjust some comments, add some explicit fall through comments or explicit
    returns where necessary to not get implicit-fallthrough warnings.
    
    All fall throughs were deliberate. In one case I added an explicit return
    false for clarity instead of falling through a default case (that also
    would return false).
    
    libiberty/ChangeLog:
    
           * cplus-dem.c (demangle_signature): Move fall through comment.
           (demangle_fund_type): Add fall through comment between 'G' and 'I'.
           * hashtab.c (iterative_hash): Add fall through comments.
           * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
           (byte_re_match_2_internal): Add Fall through comment after jump_n.
           Change "Note fall through" to "Fall through".
           (common_op_match_null_string_p): Return false after set_number_at
           instead of fall through.

commit ef0f5d7cc3b2082c94beffa7c9c1a8acd8eaa427
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Nov 2 01:50:29 2016 +0000

    Implement P0136R1, Rewording inheriting constructors.
    
    libiberty/
    	* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.

commit aba19b625f34fb3d61263fe8044cf0c6d8804570
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Nov 1 23:13:10 2016 +0000

    libiberty: Fix memory leak in ada_demangle when symbol cannot be demangled.
    
    When a symbol cannot be demangled in ada_demangle a new demangled VEC
    will be allocated without deleting the demangled VEC already in use.
    
    Running testsuite/test-demangle under valgrind will show the leak for
    this entry in testsuite/demangle-expected:
    
        # Elaborated flag (not demangled)
        --format=gnat
        x_E
        <x_E>
    
     11 bytes in 1 blocks are definitely lost in loss record 1 of 1
        at 0x4C27BE3: malloc (vg_replace_malloc.c:299)
        by 0x413FE7: xmalloc (xmalloc.c:148)
        by 0x4025EC: ada_demangle (cplus-dem.c:930)
        by 0x402C59: cplus_demangle (cplus-dem.c:892)
        by 0x400FEC: main (test-demangle.c:317)
    
    libiberty/ChangeLog:
    
    	* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
    	XDELETEVEC demangled when unknown.

commit 9d2cdc86574bda0f1013be8cdc166d86b6d032bc
Author: Marcel Böhme <boehme.marcel@gmail.com>
Date:   Thu Aug 4 16:53:18 2016 +0000

    PR c++/71696 testcase.
    
    Add libiberty/testsuite/demangle-expected testcase for:
    
    	PR c++/71696
    	* cplus-dem.c: Prevent infinite recursion when there is a cycle
    	in the referencing of remembered mangled types.
    	(work_stuff): New stack to keep track of the remembered mangled
    	types that are currently being processed.
    	(push_processed_type): New method to push currently processed
    	remembered type onto the stack.
    	(pop_processed_type): New method to pop currently processed
    	remembered type from the stack.
    	(work_stuff_copy_to_from): Copy values of new variables.
    	(delete_non_B_K_work_stuff): Free stack memory.
    	(demangle_args): Push/Pop currently processed remembered type.
    	(do_type): Do not demangle a cyclic reference and push/pop
    	referenced remembered type.

commit c2c4ff8d52a2cd3263a547b0384692498714aa1b
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 10:02:16 2016 +0000

    [AArch64] Add ARMv8.3 FCMLA and FCADD instructions
    
    Add support for FCMLA and FCADD complex arithmetic SIMD instructions.
    FCMLA has an indexed element variant where the index range has to be
    treated specially because a complex number takes two elements and the
    indexed vector size depends on the other operands.
    
    These complex number SIMD instructions are part of ARMv8.3
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    include/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_IMM_ROT1,
    	AARCH64_OPND_IMM_ROT2, AARCH64_OPND_IMM_ROT3.
    	(enum aarch64_op): Add OP_FCMLA_ELEM.
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (QL_V3SAMEHSD_ROT, QL_ELEMENT_ROT): Define.
    	(aarch64_feature_simd_v8_3, SIMD_V8_3): Define.
    	(aarch64_opcode_table): Add fcmla and fcadd.
    	(AARCH64_OPERANDS): Add IMM_ROT{1,2,3}.
    	* aarch64-asm.h (aarch64_ins_imm_rotate): Declare.
    	* aarch64-asm.c (aarch64_ins_imm_rotate): Define.
    	* aarch64-dis.h (aarch64_ext_imm_rotate): Declare.
    	* aarch64-dis.c (aarch64_ext_imm_rotate): Define.
    	* aarch64-opc.h (enum aarch64_field_kind): Add FLD_rotate{1,2,3}.
    	* aarch64-opc.c (fields): Add FLD_rotate{1,2,3}.
    	(operand_general_constraint_met_p): Rotate and index range check.
    	(aarch64_print_operand): Handle rotate operand.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Likewise.
    	* aarch64-opc-2.c: Likewise.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (parse_operands): Handle AARCH64_OPND_IMM_ROT*.
    	* testsuite/gas/aarch64/advsimd-armv8_3.d: New.
    	* testsuite/gas/aarch64/advsimd-armv8_3.s: New.
    	* testsuite/gas/aarch64/illegal-fcmla.s: New.
    	* testsuite/gas/aarch64/illegal-fcmla.l: New.
    	* testsuite/gas/aarch64/illegal-fcmla.d: New.

commit 28617675c264213180a599bb4327bf162029636a
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 09:58:38 2016 +0000

    [AArch64] Add ARMv8.3 weaker release consistency load instructions
    
    Add support for ARMv8.3 LDAPRB, LDAPRH and LDAPR weak release
    consistency load instructions. (They are equivalent to LDARB,
    LDARH and LDAR instructions other than the weaker memory ordering
    requirement.)
    
    For more details about weak release consistency see
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add ldaprb, ldaprh, ldapr.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Add ldaprb, ldaprh, ldapr tests.
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-ldapr.s: Likewise.
    	* testsuite/gas/aarch64/illegal-ldapr.d: Likewise.
    	* testsuite/gas/aarch64/illegal-ldapr.l: Likewise.

commit ccfc90a39b78b7bc4173cd9ead49d2aa59695378
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 09:53:45 2016 +0000

    [AArch64] Add ARMv8.3 javascript floating-point conversion instruction
    
    Add support for ARMv8.3 FJCVTZS floating-point conversion
    instruction.
    
    For details about javascript floating-point conversion see
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add fjcvtzs.
    	(QL_FP2INT_W_D, aarch64_feature_fp_v8_3, FP_V8_3): Define.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/fp-armv8_3.s: Add fjcvtzs test.
    	* testsuite/gas/aarch64/fp-armv8_3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-fjcvtzs.s: Likewise.
    	* testsuite/gas/aarch64/illegal-fjcvtzs.d: Likewise.
    	* testsuite/gas/aarch64/illegal-fjcvtzs.l: Likewise.
    	* testsuite/gas/aarch64/illegal-nofp-armv8_3.s: Likewise.
    	* testsuite/gas/aarch64/illegal-nofp-armv8_3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-nofp-armv8_3.l: Likewise.

commit 3f06e55061d0d8f72dfd11f6c432c23f45d9b597
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 09:49:06 2016 +0000

    [AArch64] Add ARMv8.3 combined pointer authentication load instructions
    
    Add support for ARMv8.3 LDRAA and LDRAB combined pointer authentication and
    load instructions.
    
    These instructions authenticate the base register and load 8 byte from it plus
    a scaled 10-bit offset with optional writeback to update the base register.
    
    A new instruction class (ldst_imm10) and operand type (AARCH64_OPND_ADDR_SIMM10)
    were introduced to handle the special addressing form.
    
    include/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_ADDR_SIMM10.
    	(enum aarch64_insn_class): Add ldst_imm10.
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (QL_X1NIL): New.
    	(arch64_opcode_table): Add ldraa, ldrab.
    	(AARCH64_OPERANDS): Add "ADDR_SIMM10".
    	* aarch64-asm.h (aarch64_ins_addr_simm10): Declare.
    	* aarch64-asm.c (aarch64_ins_addr_simm10): Define.
    	* aarch64-dis.h (aarch64_ext_addr_simm10): Declare.
    	* aarch64-dis.c (aarch64_ext_addr_simm10): Define.
    	* aarch64-opc.h (enum aarch64_field_kind): Add FLD_S_simm10.
    	* aarch64-opc.c (fields): Add data for FLD_S_simm10.
    	(operand_general_constraint_met_p): Handle AARCH64_OPND_ADDR_SIMM10.
    	(aarch64_print_operand): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (parse_operands): Handle AARCH64_OPND_ADDR_SIMM10.
    	(fix_insn): Likewise.
    	(warn_unpredictable_ldst): Handle ldst_imm10.
    	* testsuite/gas/aarch64/pac.s: Add ldraa and ldrab tests.
    	* testsuite/gas/aarch64/pac.d: Likewise.
    	* testsuite/gas/aarch64/illegal-ldraa.s: New.
    	* testsuite/gas/aarch64/illegal-ldraa.l: New.
    	* testsuite/gas/aarch64/illegal-ldraa.d: New.

commit 6ec49e7c0aeb6d98e379319b565aee2c89388615
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 18 09:27:41 2016 +0000

    Help diagnose problems with the metag target when mixing static and shared binaries.
    
    	PR ld/20675
    	* elf32-metag.c (elf_metag_relocate_section): Replace abort with
    	an informative error message.

commit cd42d70b4d7e92dcc6c533e012ab8af122de7b9e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 18 00:00:20 2016 +0000

    Automatic date update in version.in

commit 470dd0a647c95a2e88c5b0f8df538826b08959a8
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 12:02:32 2016 -0500

    Makefile: Replace explicit subdir rules with pattern rules
    
    When adding a .c file in subdirectory (e.g. mi/), the current practice
    is to add an explicit rule, such as:
    
      mi-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c
              $(COMPILE) $(srcdir)/mi/mi-cmd-break.c
              $(POSTCOMPILE)
    
    I find it a bit verbose and cumbersome.  Since we now require GNU make,
    we can change those rules with pattern rules, one for each subdirectory.
    For example, the following rule works for all files under mi:
    
      %.o: $(srcdir)/mi/%.c
              $(COMPILE) $<
              $(POSTCOMPILE)
    
    Those pattern rules assume that the source and target files have the
    same stem (foo.c and foo.o).  In one case, common-agent.o is generated
    from common/agent.c, to avoid a conflict with the agent.o in gdb/.  In
    this case, I kept the explicit rule, which takes precedence over the
    pattern rule.  We could also rename common/agent.c to
    common/common-agent.c to get rid of the special case and still avoid the
    clash, as it is done with common/common-regcache.c, for example.
    
    This strategy was the least intrusive I found, as it only requires
    changing the rules, not the target names.
    
    I also considered two other solutions, which I did not like because I
    would have had to change target names a bit everywhere.
    
      - Replicate the source directory structure in the build directory,
        which would generate common/agent.o from common/agent.c.  However,
        something was not right with the dependency tracking (the .deps
        directory).  It's probably not hard to fix, but I did not
        investigate further.
      - Name the object files after the directory they are in, so that
        common/agent.c would generate common_agent.c.
    
    GDBserver can benefit from the same treatment, but I'll do it in another
    patch.
    
    Built-tested with --enable-targets=all.
    
    New in v2:
    
      - Regroup pattern rules for .c -> .o compilation in a single place.
      - Add comment about common-agent.o.
    
    gdb/ChangeLog:
    
    	(PYTHON_CFLAGS): Move up.
    	(%.o: $(srcdir)/arch/%.c): New rule.
    	(%.o: $(srcdir)/cli/%.c): New rule.
    	(%.o: $(srcdir)/common/%.c): New rule.
    	(%.o: $(srcdir)/compile/%.c): New rule.
    	(%.o: $(srcdir)/gdbtk/generic/%.c): New rule.
    	(%.o: $(srcdir)/guile/%.c): New rule.
    	(%.o: $(srcdir)/mi/%.c): New rule.
    	(%.o: $(srcdir)/nat/%.c): New rule.
    	(%.o: $(srcdir)/python/%.c): New rule.
    	(%.o: $(srcdir)/target/%.c): New rule.
    	(%.o: $(srcdir)/tui/%.c): New rule.
    	(cli-cmds.o): Remove.
    	(cli-decode.o): Likewise.
    	(cli-dump.o): Likewise.
    	(cli-interp.o): Likewise.
    	(cli-logging.o): Likewise.
    	(cli-script.o): Likewise.
    	(cli-setshow.o): Likewise.
    	(cli-utils.o): Likewise.
    	(compile.o): Likewise.
    	(compile-c-types.o): Likewise.
    	(compile-c-symbols.o): Likewise.
    	(compile-object-load.o): Likewise.
    	(compile-object-run.o): Likewise.
    	(compile-loc2c.o): Likewise.
    	(compile-c-support.o): Likewise.
    	(gdbtk.o): Likewise.
    	(gdbtk-bp.o): Likewise.
    	(gdbtk-cmds.o): Likewise.
    	(gdbtk-hooks.o): Likewise.
    	(gdbtk-interp.o): Likewise.
    	(gdbtk-main.o): Likewise.
    	(gdbtk-register.o): Likewise.
    	(gdbtk-stack.o): Likewise.
    	(gdbtk-varobj.o): Likewise.
    	(gdbtk-wrapper.o): Likewise.
    	(mi-cmd-break.o): Likewise.
    	(mi-cmd-catch.o): Likewise.
    	(mi-cmd-disas.o): Likewise.
    	(mi-cmd-env.o): Likewise.
    	(mi-cmd-file.o): Likewise.
    	(mi-cmd-info.o): Likewise.
    	(mi-cmds.o): Likewise.
    	(mi-cmd-stack.o): Likewise.
    	(mi-cmd-target.o): Likewise.
    	(mi-cmd-var.o): Likewise.
    	(mi-console.o): Likewise.
    	(mi-getopt.o): Likewise.
    	(mi-interp.o): Likewise.
    	(mi-main.o): Likewise.
    	(mi-out.o): Likewise.
    	(mi-parse.o): Likewise.
    	(mi-symbol-cmds.o): Likewise.
    	(mi-common.o): Likewise.
    	(signals.o): Likewise.
    	(common-utils.o): Likewise.
    	(gdb_vecs.o): Likewise.
    	(xml-utils.o): Likewise.
    	(ptid.o): Likewise.
    	(buffer.o): Likewise.
    	(filestuff.o): Likewise.
    	(format.o): Likewise.
    	(vec.o): Likewise.
    	(print-utils.o): Likewise.
    	(rsp-low.o): Likewise.
    	(errors.o): Likewise.
    	(common-debug.o): Likewise.
    	(cleanups.o): Likewise.
    	(common-exceptions.o
    	(posix-strerror.o): Likewise.
    	(mingw-strerror.o): Likewise.
    	(btrace-common.o): Likewise.
    	(fileio.o): Likewise.
    	(common-regcache.o): Likewise.
    	(signals-state-save-restore.o): Likewise.
    	(new-op.o): Likewise.
    	(waitstatus.o): Likewise.
    	(arm.o): Likewise.
    	(arm-linux.o): Likewise.
    	(arm-get-next-pcs.o): Likewise.
    	(x86-dregs.o): Likewise.
    	(linux-btrace.o): Likewise.
    	(linux-osdata.o): Likewise.
    	(linux-procfs.o): Likewise.
    	(linux-ptrace.o): Likewise.
    	(linux-waitpid.o): Likewise.
    	(mips-linux-watch.o): Likewise.
    	(ppc-linux.o): Likewise.
    	(linux-personality.o): Likewise.
    	(x86-linux.o): Likewise.
    	(x86-linux-dregs.o): Likewise.
    	(amd64-linux-siginfo.o): Likewise.
    	(linux-namespaces.o): Likewise.
    	(aarch64-linux-hw-point.o): Likewise.
    	(aarch64-linux.o): Likewise.
    	(aarch64-insn.o): Likewise.
    	(tui.o): Likewise.
    	(tui-command.o): Likewise.
    	(tui-data.o): Likewise.
    	(tui-disasm.o): Likewise.
    	(tui-file.o): Likewise.
    	(tui-hooks.o): Likewise.
    	(tui-interp.o): Likewise.
    	(tui-io.o): Likewise.
    	(tui-layout.o): Likewise.
    	(tui-out.o): Likewise.
    	(tui-regs.o): Likewise.
    	(tui-source.o): Likewise.
    	(tui-stack.o): Likewise.
    	(tui-win.o): Likewise.
    	(tui-windata.o): Likewise.
    	(tui-wingeneral.o): Likewise.
    	(tui-winsource.o): Likewise.
    	(guile.o): Likewise.
    	(scm-arch.o): Likewise.
    	(scm-auto-load.o): Likewise.
    	(scm-block.o): Likewise.
    	(scm-breakpoint.o): Likewise.
    	(scm-cmd.o): Likewise.
    	(scm-disasm.o): Likewise.
    	(scm-exception.o): Likewise.
    	(scm-frame.o): Likewise.
    	(scm-gsmob.o): Likewise.
    	(scm-iterator.o): Likewise.
    	(scm-lazy-string.o): Likewise.
    	(scm-math.o): Likewise.
    	(scm-objfile.o): Likewise.
    	(scm-param.o): Likewise.
    	(scm-ports.o): Likewise.
    	(scm-pretty-print.o): Likewise.
    	(scm-progspace.o): Likewise.
    	(scm-safe-call.o): Likewise.
    	(scm-string.o): Likewise.
    	(scm-symbol.o): Likewise.
    	(scm-symtab.o): Likewise.
    	(scm-type.o): Likewise.
    	(scm-utils.o): Likewise.
    	(scm-value.o): Likewise.
    	(python.o): Likewise.
    	(py-arch.o): Likewise.
    	(py-auto-load.o): Likewise.
    	(py-block.o): Likewise.
    	(py-bpevent.o): Likewise.
    	(py-breakpoint.o): Likewise.
    	(py-cmd.o): Likewise.
    	(py-continueevent.o): Likewise.
    	(py-xmethods.o): Likewise.
    	(py-event.o): Likewise.
    	(py-evtregistry.o): Likewise.
    	(py-evts.o): Likewise.
    	(py-exitedevent.o): Likewise.
    	(py-finishbreakpoint.o): Likewise.
    	(py-frame.o): Likewise.
    	(py-framefilter.o): Likewise.
    	(py-function.o): Likewise.
    	(py-gdb-readline.o): Likewise.
    	(py-inferior.o): Likewise.
    	(py-infevents.o): Likewise.
    	(py-infthread.o): Likewise.
    	(py-lazy-string.o): Likewise.
    	(py-linetable.o): Likewise.
    	(py-newobjfileevent.o): Likewise.
    	(py-objfile.o): Likewise.
    	(py-param.o): Likewise.
    	(py-prettyprint.o): Likewise.
    	(py-progspace.o): Likewise.
    	(py-signalevent.o): Likewise.
    	(py-stopevent.o): Likewise.
    	(py-symbol.o): Likewise.
    	(py-symtab.o): Likewise.
    	(py-threadevent.o): Likewise.
    	(py-type.o): Likewise.
    	(py-unwind.o): Likewise.
    	(py-utils.o): Likewise.
    	(py-value.o): Likewise.
    	(py-varobj.o): Likewise.

commit 5443506ee45cb94769db7e76dd2021a96f2f0680
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 12:02:13 2016 -0500

    Makefile: Replace old suffix rules with pattern rules
    
    As mentioned here [1], suffix rules are obsolete and have been
    superseeded with pattern rules.  People (myself included, before writing
    this patch) are more likely to know what pattern rules are than suffix
    rules.
    
    AFAIK, .SUFFIXES targets are only used for those rules, and can be
    removed as well.
    
    New in v2:
    
      - Replace rule in gdbserver/Makefile.in as well.
    
    [1] https://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html
    
    gdb/ChangeLog:
    
    	* Makefile.in (.c.o): Replace rule with ...
    	(%.o: %.c): ... this one.
    	(.po.gmo): Replace rule with ...
    	(%.gmo: %.po): ... this one.
    	(.po.pox): Replace rule with ...
    	(%.pox: %.po): ... this one.
    	(.y.c): Replace rule with ...
    	(%.c: %.y): ... this one.
    	(.l.c): Replace rule with ...
    	(%.c: %.l): ... this one.
    	(.SUFFIXES): Remove all instances.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (.c.o): Replace rule with ...
    	(%.o: %.c): ... this one.

commit 3b165252e882c05c8217f888194877224295592d
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 12:00:10 2016 -0500

    Remove code that checks for GNU/non-GNU make
    
    Since GNU make is now required to build GDB, we can remove everything
    that checks whether the current make implemention is the GNU one or
    not.  I simply removed the @GMAKE_TRUE@ prefixes and removed the whole
    lines that were prefixed with @GMAKE_FALSE@.
    
    I removed the code in the configure scripts that set those variables.
    
    I also removed the following bits from the configure scripts:
    
      AC_CHECK_PROGS(MAKE, make): GNU make already defines a MAKE variable
        internally to be used when invoking Makefiles recursively.  I don't see
        this variable being used anywhere else (in scripts for example), so I
        think it's safe for removal.
    
      AC_PROG_MAKE_SET: This macro defines a SET_MAKE output variable, which
        is meant to be used in Makefiles to define the MAKE variable when
        using an implementation of make that doesn't already define it.
        Since we are now requiring GNU make, we don't need it anymore.
        Plus, I don't see SET_MAKE being used anywhere, so I don't think it
        was actually doing anything...
    
    gdb/ChangeLog:
    
    	* Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
    	prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
    	make.
    	* configure.ac: Remove checks for the make program.
    	* configure: Re-generate.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
    	prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
    	make.
    	* configure.ac: Remove checks for the make program.
    	* configure: Re-generate.
    
    gdb/testsuite/ChangeLog:
    
    	* Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
    	prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
    	make.
    	* configure.ac: Remove checks for the make program.
    	* configure: Re-generate.

commit f2ff9acd32b4667ee16a03ca8d10fd8b99e22f46
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 11:59:18 2016 -0500

    Document new hard requirement on GNU make
    
    As discussed in [1], it would be benificial for the GDB project to start
    requiring GNU make to build its software.  It would allow using useful
    GNU-specific constructs, such as pattern rules.  It would also allow
    removing the alternative code paths in the Makefiles (guarded by
    GMAKE_TRUE/GMAKE_FALSE), simplifying the Makefile code.
    
    [1] https://sourceware.org/ml/gdb-patches/2016-11/msg00331.html
    
    gdb/ChangeLog:
    
    	* NEWS: Mention requirement of GNU make.

commit 66be918f5f9f78d74c70aa332756286ff9d0ccf2
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 14:53:02 2016 +0000

    gdb/c-exp.y: fprintf -> parser_fprintf
    
    Switching GDB to make use of gnulib's C++ namespace support mode
    revealed these direct uses of fprintf in the C parser, where
    parser_fprintf should be used to handle rewiring stderr to gdb_stderr:
    
     ..../src/gdb/c-exp.y: In function ‘void c_print_token(FILE*, int, YYSTYPE)’:
     ..../src/gdb/c-exp.y:3220:45: error: call to ‘fprintf’ declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	  pulongest (value.typed_val_int.val));
    					      ^
     ..../src/gdb/c-exp.y:3231:62: error: call to ‘fprintf’ declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
       fprintf (file, "tsval<type=%d, %s>", value.tsval.type, copy);
    							       ^
     ..../src/gdb/c-exp.y:3237:57: error: call to ‘fprintf’ declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	fprintf (file, "sval<%s>", copy_name (value.sval));
    							  ^
     ..../src/gdb/c-exp.y:3243:39: error: call to ‘fprintf’ declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	  copy_name (value.tsym.stoken));
    					^
     ..../src/gdb/c-exp.y:3254:39: error: call to ‘fprintf’ declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	  value.ssym.is_a_field_of_this);
    					^
     ..../src/gdb/c-exp.y:3258:70: error: call to ‘fprintf’ declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	fprintf (file, "bval<%s>", host_address_to_string (value.bval));
                                                                          ^
    
    gdb/ChangeLog:
    2016-11-17  Pedro Alves  <palves@redhat.com>
    
    	* c-exp.y (c_print_token): Use parser_fprintf instead of fprintf.

commit 7c2683c40f745397e80b6df4edf8265ecb6fd194
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 14:43:02 2016 +0000

    gdb/ctf.c: Get rid of mkdir redefinition
    
    Making GDB use gnulib's C++ namespace support shows this build error
    on mingw:
    
     ../../src/gdb/ctf.c: In function 'void ctf_start(trace_file_writer*, const char*)':
     ../../src/gdb/ctf.c:309:46: error: no match for call to '(const gnulib::_gl_mkdir_wrapper) (const char*&)'
      #define mkdir(pathname, mode) mkdir (pathname)
    					       ^
     ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir'
        if (gnulib::mkdir (dirname, hmode) && errno != EEXIST)
    		^
     ../../src/gdb/ctf.c:309:46: note: candidate: gnulib::_gl_mkdir_wrapper::type {aka int (*)(const char*, short unsigned int)} <conversion>
      #define mkdir(pathname, mode) mkdir (pathname)
    					       ^
     ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir'
        if (gnulib::mkdir (dirname, hmode) && errno != EEXIST)
    		^
     ../../src/gdb/ctf.c:309:46: note:   candidate expects 3 arguments, 2 provided
      #define mkdir(pathname, mode) mkdir (pathname)
    					       ^
     ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir'
        if (gnulib::mkdir (dirname, hmode) && errno != EEXIST)
    		^
    
    The problem is the '#define mkdir ...'
    
    Fortunately, we can just remove it, since gnulib's sys/stat.h
    replacement already takes care of the Windows mkdir prototype quirk:
    
    ~~~
     /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
        Additionally, it declares _mkdir (and depending on compile flags, an
        alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
        which are included above.  */
     # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
    
     #  if !GNULIB_defined_rpl_mkdir
     static int
     rpl_mkdir (char const *name, mode_t mode)
     {
       return _mkdir (name);
     }
    ~~~
    
    That's sys_stat.in.h, part of the sys_stat module, which we explictly
    pull in nowadays.  It wasn't being pulled when this macro was added:
    
      https://sourceware.org/ml/gdb-patches/2013-03/msg00736.html
    
    That patch was partially reverted meanwhile here:
    
      https://sourceware.org/ml/gdb-patches/2013-12/msg00023.html
    
    But the mkdir macro had been left behind unnoticed.
    
    gdb/ChangeLog:
    2016-11-17  Pedro Alves  <palves@redhat.com>
    
    	* ctf.c [USE_WIN32API] (mkdir): Delete.

commit 200069c74f42ffcc726b9995a46971a86286a256
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 16 11:38:49 2016 +0000

    gdb/ada-lang.c: one malloc -> unique_ptr<[]>
    
    Switching gdb to use gnulib's C++ namespace mode reveals we're calling
    malloc instead of xmalloc here:
    
     ..../src/gdb/ada-lang.c: In function ‘value* ada_value_primitive_packed_val(value*, const gdb_byte*, long int, int, int, type*)’:
     ..../src/gdb/ada-lang.c:2592:50: error: call to ‘malloc’ declared with attribute warning: The symbol ::malloc refers to the system function. Use gnulib::malloc instead. [-Werror]
    	staging = (gdb_byte *) malloc (staging_len);
    						   ^
    
    We're unconditionaly using the result afterwards -- so it's not a case
    of gracefully handling huge allocations.
    
    Since we want to get rid of all cleanups, fix this by switching to
    new[] and unique_ptr<[]> instead, while at it.
    
    Regtested on Fedora 23.
    
    gdb/ChangeLog:
    2016-11-16  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_value_primitive_packed_val): Use unique_ptr and
    	new gdb_byte[] instead of malloc and cleanups.

commit 19f1935d91bfabbe4176ffdaca95bc789b593153
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 00:23:17 2016 +0000

    gdb/tracepoint.c: Don't use printf_vma
    
    I noticed that bfd's printf_vma prints to stdout directly:
    
      bfd-in2.h:202:#define printf_vma(x) fprintf_vma(stdout,x)
    
    This is a bad idea in gdb, where we should use
    gdb_stdout/gdb_stderr/gdb_stdlog, etc., to support redirection.
    
    Eliminate uses of sprintf_vma too while at it.
    
    Tested on Fedora 23, w/ gdbserver.
    
    gdb/ChangeLog:
    2016-11-17  Pedro Alves  <palves@redhat.com>
    
    	* tracepoint.c (collection_list::add_memrange): Add gdbarch
    	parameter.  Use paddress instead of printf_vma.  Adjust recursive
    	calls.
    	(collection_list::stringify): Use paddress and phex_nz instead of
    	sprintf_vma.  Adjust add_memrange call.
    	* tracepoint.h (collection_list::add_memrange): Add gdbarch
    	parameter.

commit fa98319231a95aca0313878443143d3f92aca5e1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 17 00:00:19 2016 +0000

    Automatic date update in version.in

commit 256ae5dbc73d1348850f86ee77a0dc3b04bc7cc0
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Mon Oct 31 12:47:42 2016 -0700

    Stash frame id of current frame before stashing frame id for previous frame
    
    This patch ensures that the frame id for the current frame is stashed
    before that of the previous frame (to the current frame).
    
    First, it should be noted that the frame id for the current frame is
    not stashed by get_current_frame().  The current frame's frame id is
    lazily computed and stashed via calls to get_frame_id().  However,
    it's possible for get_prev_frame() to be called without first stashing
    the current frame.
    
    The frame stash is used not only to speed up frame lookups, but
    also to detect cycles.  When attempting to compute the frame id
    for a "previous" frame (in get_prev_frame_if_no_cycle), a cycle
    is detected if the computed frame id is already in the stash.
    
    If it should happen that a previous frame id is stashed which should
    represent a cycle for the current frame, then an assertion failure
    will trigger should get_frame_id() be later called to determine
    the frame id for the current frame.
    
    As of late 2016, with the "Tweak meaning of VALUE_FRAME_ID" patch in
    place, this actually occurs when running the
    gdb.dwarf2/dw2-dup-frame.exp test.  While attempting to generate a
    backtrace, the python frame filter code is invoked, leading to
    frame_info_to_frame_object() (in python/py-frame.c) being called.
    That function will potentially call get_prev_frame() before
    get_frame_id() is called.  The call to get_prev_frame() can eventually
    end up in get_prev_frame_if_no_cycle() which, in turn, calls
    compute_frame_id(), after which the frame id is stashed for the
    previous frame.
    
    If the frame id for the current frame is stashed, the cycle detection
    code (which relies on the frame stash) in get_prev_frame_if_no_cycle()
    will be triggered for a cycle starting with the current frame.  If the
    current frame's id is not stashed, the cycle detecting code can't
    operate as designed.  Instead, when get_frame_id() is called on the
    current frame at some later point, the current frame's id will found
    to be already in the stash, triggering an assertion failure.
    
    Below is an in depth examination of the failure which lead to this change.
    I've shortened pathnames for brevity and readability.
    
    Here's the portion of the log file showing the failure/internal error:
    
    (gdb) break stop_frame
    Breakpoint 1 at 0x40059a: file dw2-dup-frame.c, line 22.
    (gdb) run
    Starting program: testsuite/outputs/gdb.dwarf2/dw2-dup-frame/dw2-dup-frame
    
    Breakpoint 1, stop_frame () at dw2-dup-frame.c:22
    22	}
    (gdb) bt
    gdb/frame.c:544: internal-error: frame_id get_frame_id(frame_info*): Assertion `stashed' failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Quit this debugging session? (y or n)
    FAIL: gdb.dwarf2/dw2-dup-frame.exp: backtrace from stop_frame (GDB internal error)
    
    Here's a partial backtrace from the internal error, showing the frames
    which I think are relevant, plus several extra to provide context:
    
        #0  internal_error (
    	file=0x932b98 "gdb/frame.c", line=544,
    	fmt=0x932b20 "%s: Assertion `%s' failed.")
    	at gdb/common/errors.c:54
        #1  0x000000000072207e in get_frame_id (fi=0xe5a760)
    	at gdb/frame.c:544
        #2  0x00000000004eb50d in frame_info_to_frame_object (frame=0xe5a760)
    	at gdb/python/py-frame.c:390
        #3  0x00000000004ef5be in bootstrap_python_frame_filters (frame=0xe5a760,
    	frame_low=0, frame_high=-1)
    	at gdb/python/py-framefilter.c:1453
        #4  0x00000000004ef7a9 in gdbpy_apply_frame_filter (
    	extlang=0x8857e0 <extension_language_python>, frame=0xe5a760, flags=7,
    	args_type=CLI_SCALAR_VALUES, out=0xf6def0, frame_low=0, frame_high=-1)
    	at gdb/python/py-framefilter.c:1548
        #5  0x00000000005f2c5a in apply_ext_lang_frame_filter (frame=0xe5a760,
    	flags=7, args_type=CLI_SCALAR_VALUES, out=0xf6def0, frame_low=0,
    	frame_high=-1)
    	at gdb/extension.c:572
        #6  0x00000000005ea896 in backtrace_command_1 (count_exp=0x0, show_locals=0,
    	no_filters=0, from_tty=1)
    	at gdb/stack.c:1834
    
    Examination of the code in frame_info_to_frame_object(), which is in
    python/py-frame.c, is key to understanding this problem:
    
          if (get_prev_frame (frame) == NULL
    	  && get_frame_unwind_stop_reason (frame) != UNWIND_NO_REASON
    	  && get_next_frame (frame) != NULL)
    	{
    	  frame_obj->frame_id = get_frame_id (get_next_frame (frame));
    	  frame_obj->frame_id_is_next = 1;
    	}
          else
    	{
    	  frame_obj->frame_id = get_frame_id (frame);
    	  frame_obj->frame_id_is_next = 0;
    	}
    
    I will first note that the frame id for frame has not been computed yet.  (This
    was verified by placing a breakpoint on compute_frame_id().)
    
    The call to get_prev_frame() causes the the frame id to (eventually) be
    computed for the previous frame.  Here's a backtrace showing how we
    get there:
    
        #0  compute_frame_id (fi=0x10e2810)
    	at gdb/frame.c:496
        #1  0x0000000000724a67 in get_prev_frame_if_no_cycle (this_frame=0xe5a760)
    	at gdb/frame.c:1871
        #2  0x0000000000725136 in get_prev_frame_always_1 (this_frame=0xe5a760)
    	at gdb/frame.c:2045
        #3  0x000000000072516b in get_prev_frame_always (this_frame=0xe5a760)
    	at gdb/frame.c:2061
        #4  0x000000000072570f in get_prev_frame (this_frame=0xe5a760)
    	at gdb/frame.c:2303
        #5  0x00000000004eb471 in frame_info_to_frame_object (frame=0xe5a760)
    	at gdb/python/py-frame.c:381
    
    For this particular case, we end up in the else clause of the code above
    which calls get_frame_id (frame).  It's at this point that the frame id
    for frame is computed.  Again, here's a backtrace:
    
        #0  compute_frame_id (fi=0xe5a760)
    	at gdb/frame.c:496
        #1  0x000000000072203d in get_frame_id (fi=0xe5a760)
    	at gdb/frame.c:539
        #2  0x00000000004eb50d in frame_info_to_frame_object (frame=0xe5a760)
    	at gdb/python/py-frame.c:390
    
    The test in question, dw2-dup-frame.exp, deliberately creates a broken
    (cyclic) stack.  So, in this instance, the frame id for the prev
    `frame' will be the same as that for `frame'.  But that particular
    frame id ended up in the stash during the previous frame operation.
    When, just a few lines later, we compute the frame id for `frame', the
    id in question is already in the stash, thus triggering the assertion
    failure.
    
    I considered two other solutions to solving this problem:
    
    We could prevent get_prev_frame() from being called before
    get_frame_id() in frame_info_to_frame_object().  (See above for the
    snippet of code where this happens.) A call to get_frame_id (frame)
    could be placed ahead of that code snippet above.  I have tested this
    approach and, while it does work, I can't be certain that
    get_prev_frame() isn't called ahead of stashing the current frame
    somewhere else in GDB, but in a less obvious way.
    
    Another approach is to stash the current frame's id by calling
    get_frame_id() in get_current_frame().  This approach is conceptually
    simpler, but when importing a python unwinder, has the unwelcome side
    effect of causing the unwinder to be called during import.
    
    A cleaner looking fix would be to place this code after code
    corresponding to the "Don't compute the frame id of the current frame
    yet..." comment in get_prev_frame_if_no_cycle().  Sadly, this does not
    work though; by the time we get to this point, the frame state for the
    prev frame has been modified just enough to cause an internal error to
    occur when attempting to compute the (current) frame id for inline
    frames.  (The unexpected failure count increases by roughly 130
    failures.)  Therefore, I decided to place it as early as possible
    in get_prev_frame().
    
    gdb/ChangeLog:
    
    	* frame.c (get_prev_frame): Stash frame id for current frame
    	prior to computing frame id for previous frame.

commit 33cc7d368f420326606695daafd6292e2779c6af
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Tue Sep 27 22:45:19 2016 -0700

    Make gdb.PendingFrame.read_register handle "user" registers.
    
    The C function, pending_framepy_read_register(), which implements
    the python interface gdb.PendingFrame.read_register does not handle
    the so called "user" registers like "pc".  An assertion error is
    triggered due to the user registers having numbers larger than or
    equal to gdbarch_num_regs(gdbarch).
    
    With the VALUE_FRAME_ID tweak in place, the call to
    get_frame_register_value() can simply be replaced by a call to
    value_of_register(), which handles both real registers as well as the
    user registers.
    
    gdb/ChangeLog:
    
    	* python/py-unwind.c (pending_framepy_read_register): Use
    	value_of_register() instead of get_frame_register_value().

commit 41b56feb5063aee4fefb4a991eb796d1e8a7475e
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Tue Sep 27 21:18:44 2016 -0700

    Change meaning of VALUE_FRAME_ID; rename to VALUE_NEXT_FRAME_ID
    
    The VALUE_FRAME_ID macro provides access to a member in struct value
    that's used to hold the frame id that's used when determining a
    register's value or when assigning to a register.  The underlying
    member has a long and obscure name.  I won't refer to it here, but
    will simply refer to VALUE_FRAME_ID as if it's the struct value member
    instead of being a convenient macro.
    
    At the moment, without this patch in place, VALUE_FRAME_ID is set in
    value_of_register_lazy() and several other locations to hold the frame
    id of the frame passed to those functions.
    
    VALUE_FRAME_ID is used in the lval_register case of
    value_fetch_lazy().  To fetch the register's value, it calls
    get_frame_register_value() which, in turn, calls
    frame_unwind_register_value() with frame->next.
    
    A python based unwinder may wish to determine the value of a register
    or evaluate an expression containing a register.  When it does this,
    value_fetch_lazy() will be called under some circumstances.  It will
    attempt to determine the frame id associated with the frame passed to
    it.  In so doing, it will end up back in the frame sniffer of the very
    same python unwinder that's attempting to learn the value of a
    register as part of the sniffing operation.  This recursion is not
    desirable.
    
    As noted above, when value_fetch_lazy() wants to fetch a register's
    value, it does so (indirectly) by unwinding from frame->next.
    
    With this in mind, a solution suggests itself:  Change VALUE_FRAME_ID
    to hold the frame id associated with the next frame.  Then, when it
    comes time to obtain the value associated with the register, we can
    simply unwind from the frame corresponding to the frame id stored in
    VALUE_FRAME_ID.  This neatly avoids the python unwinder recursion
    problem by changing when the "next" operation occurs.  Instead of the
    "next" operation occuring when the register value is fetched, it
    occurs earlier on when assigning a frame id to VALUE_FRAME_ID.
    (Thanks to Pedro for this suggestion.)
    
    This patch implements this idea.
    
    It builds on the patch "Distinguish sentinel frame from null frame".
    Without that work in place, it's necessary to check for null_id at
    several places and then obtain the sentinel frame.
    
    It also renames most occurences of VALUE_FRAME_ID to
    VALUE_NEXT_FRAME_ID to reflect the new meaning of this field.
    
    There are several uses of VALUE_FRAME_ID which were not changed.  In
    each case, the original meaning of VALUE_FRAME_ID is required to get
    correct results.  In all but one of these uses, either
    put_frame_register_bytes() or get_frame_register_bytes() is being
    called with the frame value obtained from VALUE_FRAME_ID.  Both of
    these functions perform some unwinding by performing a "->next"
    operation on the frame passed to it.  If we were to use the new
    VALUE_NEXT_FRAME_ID macro, this would effectively do two "->next"
    operations, which is not what we want.
    
    The VALUE_FRAME_ID macro has been redefined in terms of
    VALUE_NEXT_FRAME_ID.  It simply fetches the previous frame's id,
    providing this id as the value of the macro.
    
    gdb/ChangeLog:
    
    	* value.h (VALUE_FRAME_ID): Rename to VALUE_NEXT_FRAME_ID. Update
    	comment.  Create new VALUE_FRAME_ID which is defined in terms of
    	VALUE_NEXT_FRAME_ID.
    	(deprecated_value_frame_id_hack): Rename to
    	deprecated_value_next_frame_id_hack.
    	* dwarf2loc.c, findvar.c, frame-unwind.c, sentinel-frame.c,
    	valarith.c, valops.c, value.c: Adjust nearly all occurences of
    	VALUE_FRAME_ID to VALUE_NEXT_FRAME_ID.	Add comments for those
    	which did not change.
    	* value.c (struct value): Rename frame_id field to next_frame_id.
    	Update comment.
    	(deprecated_value_frame_id_hack): Rename to
    	deprecated_value_next_frame_id_hack.
    	(value_fetch_lazy): Call frame_unwind_register_value()
    	instead of get_frame_register_value().
    	* frame.c (get_prev_frame_id_by_id): New function.
    	* frame.h (get_prev_frame_id_by_id): Declare.
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Make
    	VALUE_NEXT_FRAME_ID refer to the next frame.
    	* findvar.c (value_of_register_lazy): Likewise.
    	(default_value_from_register): Likewise.
    	(value_from_register): Likewise.
    	* frame_unwind.c (frame_unwind_got_optimized): Likewise.
    	* sentinel-frame.c (sentinel_frame_prev_register): Likewise.
    	* value.h (VALUE_FRAME_ID): Update comment describing this macro.

commit df433d316277ff5293832d3cd6cbc30b5c38dec0
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Tue Sep 27 20:33:38 2016 -0700

    Distinguish sentinel frame from null frame.
    
    This patch replaces the `current_frame' static global in frame.c with
    `sentinel_frame'.  It also makes the sentinel frame id unique and
    different from the null frame.
    
    By itself, there is not much point to this patch, but it makes
    the code cleaner for the VALUE_FRAME_ID changes in another patch.
    Since we now allow "navigation" to the sentinel frame, it removes
    the necessity of adding special cases to other parts of GDB.
    
    Note that a new function, get_next_frame_sentinel_okay, is introduced
    in this patch.  It will be used by the VALUE_FRAME_ID changes that
    I've made.
    
    Thanks to Pedro Alves for this suggestion.
    
    gdb/ChangeLog:
    
        	* frame.h (enum frame_id_stack_status): Add FID_STACK_SENTINEL.
        	(struct frame_id): Increase number of bits required for storing
        	stack status to 3 from 2.
        	(sentinel_frame_id): New declaration.
        	(get_next_frame_sentinel_okay): Declare.
        	(frame_find_by_id_sentinel_okay): Declare.
        	* frame.c (current_frame): Rename this static global to...
        	(sentinel_frame): ...this static global, which has also been
        	moved an earlier location in the file.
        	(fprint_frame_id): Add case for sentinel frame id.
        	(get_frame_id): Return early for sentinel frame.
        	(sentinel_frame_id): Define.
        	(frame_find_by_id): Add case for sentinel_frame_id.
        	(create_sentinel_frame): Use sentinel_frame_id for this_id.value
        	instead of null_frame_id.
        	(get_current_frame): Add local declaration for `current_frame'.
        	Remove local declaration for `sentinel_frame.'
        	(get_next_frame_sentinel_okay): New function.
        	(reinit_frame_cache): Use `sentinel_frame' in place of
        	`current_frame'.

commit 1a2f3d7ff1d79b1290704e48c71e905b987393a6
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Mon Sep 26 15:00:37 2016 -0700

    Extend test gdb.python/py-recurse-unwind.exp
    
    This patch modifies the unwinder (sniffer) defined in
    py-recurse-unwind.py so that, depending upon the value of one of its
    class variables, it will take different paths through the code,
    testing different functionality.
    
    The original test attempted to obtain the value of an undefined
    symbol.
    
    This somewhat expanded test checks to see if 'pc' can be read via
    gdb.PendingFrame.read_register() and also via gdb.parse_and_eval().
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-recurse-unwind.c (main): Add loop.
    	* gdb.python/py-recurse-unwind.py (TestUnwinder): Add calls
    	to read_register() and gdb.parse_and_eval().  Make each code
    	call a separate case that can be individually tested.
    	* gdb.python/py-recurse-unwind.exp (cont_and_backtrace): New
    	proc. Call cont_and_backtrace for each of the code paths that
    	we want to test in the unwinder.

commit 1c666b6929be0eda374b204c2637b36e4547e3c5
Merge: 459afe4 4cb771f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Nov 16 18:58:09 2016 +0100

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

commit 4cb771f214ed6a2102e37bce255c6be5d0642f3a
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Wed Nov 16 16:11:46 2016 +0530

    Fix PR20789 - relaxation with negative valued diff relocs
    
    Fix issues with diff relocs that have a negative value
    i.e. sym2 - sym1 where sym2 is lesser than sym1.
    
    The assembler generates a diff reloc with symbol as start of section
    and addend as sym2 offset, and encodes assembly time difference at
    the reloc offset.
    
    The existing relaxation logic adjusts addends if the relaxed insn lies
    between symbol and addend. That doesn't work for diff relocs where
    sym2 is less than sym1 *and* the relaxed insn happens to be between
    sym2 and sym1.
    
    Fix the problems by
    
    1. Using signed handling of the difference value (bfd_signed_vma instead
    of bfd_vma, bfd_{get,set}_signed_xxx instead of bfd_{get,set}_xxx).
    
    2. Not assuming sym2 is bigger than sym1. It instead computes the actual
    addresses and sets the lower and higher addresses as start and end
    addresses respectively and then sees if insn is between start and end.
    
    3. Creating a new function elf32_avr_adjust_reloc_if_spans_insn to
    centralize reloc adjustment, and ensuring diff relocs get adjusted
    correctly even if their sym + addend doesn't overlap a relaxed insn.
    
    It also removes a redundant variable did_pad. It is never set if
    did_shrink is TRUE, and the code does a early return if did_shrink is
    FALSE.
    
    bfd/ChangeLog
    
    2016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
           PR ld/20789
           * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
           manipulation of diff value, and don't assume sym2 is less than sym1.
           (elf32_avr_adjust_reloc_if_spans_insn): New function.
           (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
           and remove redundant did_pad.
    
    ld/ChangeLog
    
    2016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
           PR ld/20789
           * ld/testsuite/ld-avr/pr20789.d: New test.
           * ld/testsuite/ld-avr/pr20789.s: New test.

commit ff7ba33e8aae2ee8ec607d3f1f4b96f7cb1a92b9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 16 00:00:20 2016 +0000

    Automatic date update in version.in

commit 4c62b19fd2e6b81ce7cbb7d01e84c09352ccf224
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 15 19:29:14 2016 +0000

    gdb: update gnulib to pull in C++ namespace support fixes
    
    I've been experimenting with making use of gnulib's C++ namespace support:
    
     https://www.gnu.org/software/gnulib/manual/html_node/A-C_002b_002b-namespace-for-gnulib.html
    
    That stumbled on a few gnulib issues, which I've fixed upstream:
    
     [PATCH] Fix gnulib C++ namespace support and std::frexp
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00039.html
    
     [PATCH] Fix real-floating argument functions in C++ mode
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00049.html
    
     [PATCH] Avoid having GNULIB_NAMESPACE::func always inject references to rpl_func
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00040.html
    
     [PATCH] C++: "#define timeval rpl_timeval" -> typedef in GNULIB_NAMESPACE
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00058.html
    
    This merge pulls those in.
    
    gdb/ChangeLog:
    2016-11-15  Pedro Alves  <palves@redhat.com>
    
    	* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
    	38237baf99386101934cd93278023aa4ae523ec0.
    	* gnulib/configure, gnulib/config.in: Regenerate.
    	* gnulib/import/Makefile.am: Regenerate.
    	* gnulib/import/Makefile.in: Regenerate.
    	* gnulib/import/canonicalize-lgpl.c: Update.
    	* gnulib/import/extra/snippet/c++defs.h: Update.
    	* gnulib/import/m4/stdint.m4: Update.
    	* gnulib/import/m4/stdlib_h.m4: Update.
    	* gnulib/import/math.in.h: Update.
    	* gnulib/import/stdlib.in.h: Update.
    	* gnulib/import/sys_time.in.h: Update.

commit 5cc8c7310338224d65aa14c4256d4d7539e0dd45
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 15 19:54:21 2016 +0000

    Delete gdb::unique_ptr/gdb::move
    
    Now that we require C++11 and all uses of gdb::unique_ptr and
    gdb::move are gone, let's remove their definitions...
    
    With my lazy hat on, I repurposed the header for "generally useful
    unique_ptr specializations", and left gdb::unique_xmalloc_ptr in
    there.  Not sure whether we it'd be better move it out of the gdb
    namespace or leave it be.  I left it because it's less work and avoids
    disrupting yet-unmerged patches that use it.
    
    gdb/ChangeLog:
    2016-11-15  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h: Update comment.
    	* common/gdb_unique_ptr.h: Update header comment and copyright
    	year.
    	(gdb::unique_ptr, gdb::move): Delete.

commit b22e99fdaf2efe58161c382bbd55f4572ba49eef
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 15 19:54:21 2016 +0000

    gdb::{unique_ptr,move} -> std::{unique_ptr,move}
    
    Now that we require C++11, use std::unique_ptr and std::move directly.
    
    gdb/ChangeLog:
    2016-11-15  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (create_excep_cond_exprs): Use std::move instead of
    	gdb::move.
    	* break-catch-throw.c (handle_gnu_v3_exceptions): Use
    	std::unique_ptr instead of gdb::unique_ptr.
    	* breakpoint.c (watch_command_1): Use std::move instead of
    	gdb::move.
    	* cli/cli-dump.c (dump_memory_to_file, restore_binary_file): Use
    	std::unique_ptr instead of gdb::unique_ptr.
    	* dtrace-probe.c (dtrace_process_dof_probe): Use std::move instead
    	of gdb::move.
    	* elfread.c (elf_read_minimal_symbols): Use std::unique_ptr
    	instead of gdb::unique_ptr.
    	* mi/mi-main.c (mi_cmd_data_read_memory): Use std::unique_ptr
    	instead of gdb::unique_ptr.
    	* parse.c (parse_expression_for_completion): Use std::move instead
    	of gdb::move.
    	* printcmd.c (display_command): std::move instead of gdb::move.

commit b7f38fdae7c75e1d13abd455b3931950db28d22b
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Nov 15 20:52:03 2016 +0100

    bitfield-parent-optimized-out: Fix struct definition
    
    The "struct S" type in bitfield-parent-optimized-out.exp is declared to
    have a size of 4 bytes but to hold two 4-byte members: an int-based
    bitfield and a 4-byte int.  Also, both members have the same
    data_member_location 2, causing them to overlap and to reach 2 bytes
    beyond the structure's boundary.
    
    This is fixed by increasing the structure size to 8 and setting the
    first and second member's data_member_location to 0 and 4, respectively.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/bitfield-parent-optimized-out.exp: Fix DWARF code for
    	the definition of struct S.

commit 93ca393659ef6714724749950301757f47e5e9fd
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Nov 15 15:41:27 2016 +0000

    Fix SPARC relocations generated for the .eh_frame section.
    
    	PR gas/20803
    	* config/tc-sparc.c (cons_fix_new_sparc): Use unaligned relocs in
    	the .eh_frame section.

commit 32ce946fd83f08a4f1486de02d3f83870b36b28e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 15 00:00:20 2016 +0000

    Automatic date update in version.in

commit 9d734efa1034d266249751978f95a686ec9d19c6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 14 10:13:03 2016 -0800

    Also check GOT PLT for R_X86_64_PLTOFF64
    
    Since "-z now" replaces PLT with GOT PLT, we should also check GOT PLT
    for R_X86_64_PLTOFF64 relocation.
    
    bfd/
    
    	PR ld/20800
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Also check
    	plt_got.offset for R_X86_64_PLTOFF64.
    
    ld/
    
    	PR ld/20800
    	* testsuite/ld-x86-64/pr20800a.S: New file.
    	* testsuite/ld-x86-64/pr20800b.S: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/20800 test.

commit 35fd2ddeb1d90f1750401cfb6d01fe055656b88d
Author: Rudy <jacky.chouchou@yandex.ru>
Date:   Mon Nov 14 16:30:45 2016 +0000

    Generate correct hint value for IDATA6.
    
    	PR binutils/20814
    	* dlltool.c (struct export): Remove hint field.
    	(make_one_lib_file): Store the ordinal value for IDATA6 not the
    	hint.
    	(gen_lib_file): Delete reference to hint field.
    	(mangle_defs): Delete computation of hint field.

commit db58b3735f45345c06cb9a14d0f83f5b26c1ebf3
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Fri Oct 14 09:08:01 2016 +0200

    btrace: read entire aux buffer
    
    The data_head of a perf event data buffer grows indefinitely.  Users are
    expected to compute data_head % data_size to find the location inside the perf
    event data buffer.
    
    The aux_head of a perf event aux buffer wraps around and always stays within the
    perf event aux buffer.
    
    Well, at least that's the behaviour for BTS and PT - where BTS uses the data
    buffer and PT the aux buffer.
    
    GDB does not read beyond data_head or aux_head.  This is OK for BTS but wrong
    for PT.  It causes only a portion of the trace to be considered by GDB.  In the
    extreme case, the buffer may appear (almost) empty.
    
    Thanks to Tim Wiederhake  <tim.wiederhake@intel.com> for reporting the anomaly.
    
    Change it to read the entire aux buffer for PT.  The buffer is initially zero so
    any extra zeroes we read before aux_head wraps around the first time will be
    ignored when searching for the first PSB packet in order to synchronize onto the
    trace stream.
    
    gdb/
    	* nat/linux-btrace.c (perf_event_read): Allow data_head < size.
    	* nat/linux-btrace.c (perf_event_read_all): Do not adjust size.
    
    Change-Id: If4f8049a2080a5f16f336309450b32a3eb1e3ec9

commit 80bb3407f6891aff5dbed5b2fd5c3dae8f227319
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 14 08:59:23 2016 +0000

      lexsup.c (parse_args): Add break at end of default case.

commit 63f2433dbccc7ddf8812fefd6eed0e6dd2f88955
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 14 08:44:17 2016 +0000

    Fix typo "Faal through" should be "Fall through".

commit 29df15201399610c3887382f004af337e3fe5601
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 14 00:00:19 2016 +0000

    Automatic date update in version.in

commit 459afe42d7936cd753cbd3655bd9971f584bee1d
Merge: 3e11dd8 b612f41
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Nov 13 17:02:24 2016 +0100

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

commit b612f4193c6119fb06933b0dabcc84a2b952d57e
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Nov 13 08:11:44 2016 -0500

    add missing ChangeLog entry

commit 3f47df7fb3fb46566bb68dd638a61cef87dd14e9
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Nov 13 07:37:02 2016 -0500

    Assemble 'bad' moxie instruction

commit 75d6c74e79ded209b1f0959b1780ab5b8885b9c2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 13 00:00:20 2016 +0000

    Automatic date update in version.in

commit 8001f1183f32d674fa3e9af1cca16856afdffc3e
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 20:32:50 2016 -0700

    Remove some cleanups from the rust code
    
    This removes some cleanups from the rust code, in favor of C++ objects
    with destructors.
    
    2016-11-12  Tom Tromey  <tom@tromey.com>
    
    	* rust-exp.y (super_name): Use std::vector.
    	(lex_number): Use std::string.
    	(convert_params_to_types): Return std::vector.
    	(convert_ast_to_type, convert_name): Update.
    	* rust-lang.c (rust_get_disr_info): Use unique_xmalloc_ptr.

commit d93f4d96bb0fb307db9e2dade38ddb3c6bc469ca
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 20:22:29 2016 -0700

    Use std::string in rust_get_disr_info
    
    This changes rust_get_disr_info to use std::string in one more spot,
    avoiding a memory leak.
    
    2016-11-12  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (rust_get_disr_info): Use std::string in one more
    	spot.

commit 6cb2202baaf482a8c7d54e5ec93af2f057e7ce28
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sat Nov 12 01:02:23 2016 -0500

    sim: mips: add PR info to ChangeLog

commit 8a19d84c2ba3ff1273ae1583681a0c428cf4425e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 12 00:00:19 2016 +0000

    Automatic date update in version.in

commit 7d15592e06e4abccc97cb8c5670f564327f747e9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Nov 11 16:50:42 2016 +0000

    Don't handle unavailable/optimized-out in spu_software_single_step
    
    When we do software single step, frame is always the innermost one,
    so it is impossible to get unavailable/optimized-out errors.
    
    gdb:
    
    2016-11-11  Yao Qi  <yao.qi@linaro.org>
    
    	* spu-tdep.c (spu_software_single_step): Don't call
    	get_frame_register_bytes, call get_frame_register_unsigned
    	instead.

commit 1f8db343049c3e06483a278e14b7e140ec55c8b3
Author: Catherine Moore <clm@codesourcery.com>
Date:   Fri Nov 11 07:42:37 2016 -0800

    	Identify verilog dump tests as such.
    
    	A couple of the verilog dump tests were marked as ihex tests.  This
    	patch identifies the tests as verilog format dump tests.

commit 86b80085c889cd388fa677a5ae9053fd4be3776c
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 11 15:13:07 2016 +0000

    Accept L and LL suffixes to integer constants.
    
    	PR gas/20732
    	* expr.c (integer_constant): If tc_allow_L_suffix is defined and
    	non-zero then accept a L or LL suffix.
    	* testsuite/gas/sparc/pr20732.d: New test source file.
    	* testsuite/gas/sparc/pr20732.d: New test output file.
    	* testsuite/gas/sparc/sparc.exp: Run new test.

commit 2f7d995359c7f280431f015726485ca421b0a65a
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 11 14:13:02 2016 +0000

    Extend information displayed about objdump's output of dynamic symbols.

commit df2c87b5803750d21f03b7d36f8d1abace3e1e14
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 11 11:49:45 2016 +0000

    Add the ability for nm to display symbol version information.
    
    	PR binutils/20751
    	* nm.c (with_symbol_versions): New local variable.
    	(long_options): Add --with-symbol-versions.
    	(usage): Mention --with-symbol-versions.
    	(print_symbol): If with_symbol_versions is set then display the
    	version information associated with the symbol.
    	* NEWS: Mention the new feature.
    	* doc/binutils.texi (nm): Document the new option.
    	(objdump): Describe how symbol version information is displayed
    	for dynamic symbol dumps.
    	(readelf): Describe how symbol version information is displayed.
    	* testsuite/binutils-all/nm.exp: Add a test of the new feature.

commit 74f5402d08b857d60499b27851c204954ce6c42c
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:43:15 2016 +0000

    [AArch64] Add ARMv8.3 combined pointer authentication branch instructions
    
    Add support for ARMv8.3 pointer authentication instructions
    that are encoded as unconditional branch instructions.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add braa, brab, blraa, blrab, braaz,
    	brabz, blraaz, blrabz, retaa, retab, eretaa, eretab.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/pac.s: Add ARMv8.3 branch instruction tests.
    	* testsuite/gas/aarch64/pac.d: Likewise.

commit c84364ece4faa7b3eb0f60f4dc301282e9693e1e
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:39:46 2016 +0000

    [AArch64] Add ARMv8.3 PACGA instruction
    
    Add support for the ARMv8.3 PACGA instruction.
    
    include/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rm_SP.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add pacga.
    	(AARCH64_OPERANDS): Add Rm_SP.
    	* aarch64-opc.c (aarch64_print_operand): Handle AARCH64_OPND_Rm_SP.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (process_omitted_operand): Handle AARCH64_OPND_Rm_SP.
    	(parse_operands): Likewise.
    	* testsuite/gas/aarch64/pac.s: Add pacga.
    	* testsuite/gas/aarch64/pac.d: Add pacga.

commit a2cfc830e715142a0dd28496feaedf569b116b0e
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:36:32 2016 +0000

    [AArch64] Add ARMv8.3 single source PAC instructions
    
    Add support for ARMv8.3 pointer authentication instructions
    that are encoded as single source data processing instructions.
    
    opcodes/
    2016-11-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add pacia, pacib, pacda, pacdb, autia,
    	autib, autda, autdb, paciza, pacizb, pacdza, pacdzb, autiza, autizb, autdza,
    	autdzb, xpaci, xpacd.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/testsuite/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/pac.s: New.
    	* testsuite/gas/aarch64/pac.d: New.

commit b0bfa7b5b884f78b798ab8d34d2a50bc63f558df
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:33:30 2016 +0000

    [AArch64] Add ARMv8.3 pointer authentication key registers
    
    Add support for system registers introduced in ARMv8.3
    for pointer authentication.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-opc.c (aarch64_sys_regs): Add apiakeylo_el1, apiakeyhi_el1,
    	apibkeylo_el1, apibkeyhi_el1, apdakeylo_el1, apdakeyhi_el1,
    	apdbkeylo_el1, apdbkeyhi_el1, apgakeylo_el1 and apgakeyhi_el1.
    	(aarch64_sys_reg_supported_p): Add feature test for new registers.
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/sysreg-3.s: New.
    	* testsuite/gas/aarch64/sysreg-3.d: New.
    	* testsuite/gas/aarch64/illegal-sysreg-3.l: New.
    	* testsuite/gas/aarch64/illegal-sysreg-3.d: New.

commit 8787d804e1cbbd1946239d6c5e560c87d38bac06
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:29:07 2016 +0000

    [AArch64] Add ARMv8.3 instructions which are in the NOP space
    
    This patch adds support for a subset of the ARMv8.3 pointer authentication
    instructions: XPACLRI, PACIA1716, PACIB1716, AUTIA1716, AUTIA1716, PACIAZ,
    PACIASP, PACIBZ, PACISP, AUTIAZ, AUTIASP, AUTIBZ, AUTIBSP.
    
    These are aliases to HINT #0x7, HINT #0x8, HINT #0xa, HINT #0xc, HINT #0xe,
    HINT #0x18, HINT #0x19, ..., HINT #0x1f respectively.
    
    For more details about pointer authentication in ARMv8.3 see
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (aarch64_feature_v8_3, ARMV8_3, V8_3_INSN): New.
    	(arch64_opcode_table): Add xpaclri, pacia1716, pacib1716, autia1716,
    	autib1716, paciaz, paciasp, pacibz, pacibsp, autiaz, autiasp, autibz,
    	autibsp.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/system-3.s: New.
    	* testsuite/gas/aarch64/system-3.d: New.
    	* testsuite/gas/aarch64/system.d: Update expected output.

commit 3d731f6949e2b0099cfbe0cf608d60a52a66d354
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:22:56 2016 +0000

    [AArch64] Increase max_num_aliases in aarch64-gen
    
    Some ARMv8.3 pointer authentication instructions are encoded as HINT aliases,
    so to allow more instruction aliases in the generator, max_num_aliases is
    increased from 16 to 32.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-gen.c (find_alias_opcode): Increase max_num_aliases to 32.

commit 1924ff7567abf9e1341ae135fb5097bc5f7b76f4
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:20:30 2016 +0000

    [AArch64] Add ARMv8.3 command line option and feature flag
    
    ARMv8.3 can be selected with -march=armv8.3-a command line option.
    An overview of the ARMv8.3 architecture extension is at
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (aarch64_archs): Add "armv8.3-a".
    	* doc/c-aarch64.texi (-march): Likewise.
    
    include/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (AARCH64_FEATURE_V8_3): Define.
    	(AARCH64_ARCH_V8_3): Define.
    	(AARCH64_ARCH_V8_1, AARCH64_ARCH_V8_2): Simplify.

commit fa09f4ea584e1bc33036e9ef82142db92b31da7c
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:14:31 2016 +0000

    [AArch64] Fix feature dependencies for +simd and +crypto
    
    According to the gas manual, +simd implies +fp and +crypto implies +simd.
    Make sure +nofp turns +simd, +crypto and +fp16 off.
    
    gas/
    2016-11-07  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (aarch64_features): Fix "simd" and "crypto".
    	* testsuite/gas/aarch64/illegal-crypto-nofp.d: New.
    	* testsuite/gas/aarch64/illegal-crypto-nofp.l: New.
    	* testsuite/gas/aarch64/illegal-fp16-nofp.d: New.
    	* testsuite/gas/aarch64/illegal-fp16-nofp.l: New.
    	* testsuite/gas/aarch64/illegal-fp16-nofp.s: New.

commit 7103ad7639b7ed80bec170404185a8e39079446b
Author: Luke Allardyce <lukeallardyce@gmail.com>
Date:   Fri Nov 11 10:08:05 2016 +0000

    Accept hidden COFF symbols, but treat them as if they were debugging symbols.
    
    	PR ld/20722
    	* coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
    	but treat them as debugging symbols.

commit 668e167446b2777869f413841ec05aed59473d9f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Nov 11 08:38:31 2016 +0000

    Remove apply_val_pretty_printer parameter valaddr
    
    This patch removes the parameter valaddr of
    extension_language_ops::apply_val_pretty_printer and remove const from
    "struct value *val".  valaddr can be got in each extension language's
    implementation of apply_val_pretty_printer.
    
    gdb:
    
    2016-11-11  Yao Qi  <yao.qi@linaro.org>
    
    	* cp-valprint.c (cp_print_value): Remove local base_valaddr.
    	* extension-priv.h (struct extension_language_ops)
    	<apply_val_pretty_printer>: Remove the second parameter.
    	Remove const from "struct value *".  Callers updated.
    	* extension.c (apply_ext_lang_val_pretty_printer): Update
    	comments.  Remove parameter valaddr.  Remove const from
    	"struct value *".
    	* extension.h (apply_ext_lang_val_pretty_printer): Update
    	declaration.
    	* guile/guile-internal.h (gdbscm_apply_val_pretty_printer):
    	Update declaration.
    	* guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
    	Remove parameter valaddr.  Remove const from "struct value *".
    	* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer):
    	Likewise.
    	* python/python-internal.h (gdbpy_apply_val_pretty_printer):
    	Update declaration.

commit 65408fa680538f997cdd4b6fb9d74f043a060801
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Nov 11 08:38:31 2016 +0000

    Remove parameter valaddr from c print functions
    
    This patch removes parameter valaddr from some c print functions.
    
    gdb:
    
    2016-11-11  Yao Qi  <yao.qi@linaro.org>
    
    	* c-lang.h (cp_print_value_fields): Update declaration.
    	* cp-valprint.c (cp_print_value): Update declaration.
    	(cp_print_value_fields): Remove parameter valaddr.  Callers
    	updated.
    	(cp_print_value): Likewise.

commit 91588b3af8e026ba11c7368476cc1f3fa8c2e2b1
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Nov 11 01:29:21 2016 -0500

    sim: mips: fix dv-tx3904cpu build error
    
    When building for mipstx39-rtems4.12 targets, some funcs use SD and CPU
    implicitly.  Restore the defines for these to the local sd and cpu vars.
    
    This was broken by the clean up in commit d47f5b30d8481272e9480118bdcb.
    
    Reported-by: Joel Sherrill <joel.sherrill@oarcorp.com>

commit e04659e8607bfed6995fd2ced9aaab55e2143302
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Nov 11 01:28:36 2016 -0500

    sim: mips: fix builds for r3900 cpus due to missing check_u64

commit a6bbedbad370ad895a6c559a60efe27a5a7838e6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 11 00:00:08 2016 +0000

    Automatic date update in version.in

commit a18590c38657a982f8d544f2f54f39ba9abe9fca
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Nov 10 12:26:53 2016 +0000

    Provide a more helpful error message when the BFD library is unable to load an extremely large section.
    
    	PR target/20737
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
    	symbol locally in PIE.

commit ac33b731d214d79738ca04d27f7464d4482f6a01
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Nov 10 09:25:17 2016 +0000

    [AArch64] Bind defined symbol locally in PIE
    
    bfd/
    	PR target/20737
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
    	symbol locally in PIE.
    
    ld/
    	* testsuite/ld-aarch64/pie-bind-locally-a.s: New test source.
    	* testsuite/ld-aarch64/pie-bind-locally-b.s: Likewise.
    	* testsuite/ld-aarch64/pie-bind-locally.d: New testcase.
    	* testsuite/ld-aarch64/aarch64-elf.exp: Run new testcase.

commit 9b9720149dfee4a9a961c29d0382fc5bdf9c975b
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Oct 15 09:20:02 2016 -0600

    Use unique_xmalloc_ptr in Python code
    
    This changes some utility functions in the Python code to return
    unique_xmalloc_ptr, and then fixes up the callers.
    
    I chose unique_xmalloc_ptr rather than std::string because at a few
    call points the xmalloc'd string is released and ownership transferred
    elsewhere.
    
    This patch found a few existing memory leaks.  For example,
    py-unwind.c called gdbpy_obj_to_string but never freed the result.
    
    Built and regression tested on the buildbot.
    
    2016-11-09  Tom Tromey  <tom@tromey.com>
    
    	* varobj.h (varobj_get_display_hint): Change return type.
    	* varobj.c (varobj_get_display_hint): Return unique_xmalloc_ptr.
    	(varobj_value_get_print_value): Update.
    	* python/python.c (gdbpy_before_prompt_hook, gdbpy_print_stack)
    	(gdbpy_apply_type_printers): Update.
    	* python/python-internal.h (unicode_to_target_string)
    	(python_string_to_target_string, python_string_to_host_string)
    	(gdbpy_obj_to_string, gdbpy_exception_to_string)
    	(gdbpy_get_display_hint): Change return types.
    	* python/py-varobj.c (py_varobj_iter_next): Update.
    	* python/py-value.c (valpy_getitem, convert_value_from_python):
    	Update.
    	* python/py-utils.c (unicode_to_encoded_string)
    	(unicode_to_target_string, python_string_to_target_string)
    	(python_string_to_host_string, gdbpy_obj_to_string)
    	(gdbpy_exception_to_string): Return unique_xmalloc_ptr.
    	* python/py-unwind.c (pyuw_parse_register_id): Update.
    	* python/py-type.c (typy_getitem): Update.
    	* python/py-prettyprint.c (gdbpy_get_display_hint)
    	(print_stack_unless_memory_error, print_children)
    	(gdbpy_apply_val_pretty_printer): Update.
    	* python/py-param.c (set_parameter_value): Update.
    	(get_doc_string, call_doc_function): Return unique_xmalloc_ptr.
    	(get_set_value, get_show_value, compute_enum_values, parmpy_init):
    	Update.
    	* python/py-infthread.c (thpy_set_name): Update.
    	* python/py-function.c (fnpy_call, fnpy_init): Update.
    	* python/py-framefilter.c (extract_sym): Change "name" to
    	unique_xmalloc_ptr.
    	(enumerate_args, enumerate_locals): Update.
    	(py_print_frame): Use unique_xmalloc_ptr.
    	* python/py-frame.c (frapy_read_var): Update.  Remove cleanup.
    	* python/py-cmd.c (cmdpy_function, cmdpy_completer, cmdpy_init):
    	Update.
    	* python/py-breakpoint.c (bppy_set_condition): Use
    	unique_xmalloc_ptr.
    	(bppy_init): Likewise.  Remove cleanup.
    	(local_setattro): Update.
    	* mi/mi-cmd-var.c (print_varobj, mi_cmd_var_list_children)
    	(varobj_update_one): Update.

commit 4e9d2153228d95c972907a8b13237218d380c5d3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 10 00:00:17 2016 +0000

    Automatic date update in version.in

commit 60227d64dd9228be1a07fc7122894fc2875b1a70
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 14:00:18 2016 -0800

    X86: Remove the .s suffix from EVEX vpextrw
    
    The .s suffix indicates that the instruction is encoded by swapping
    2 register operands.  Since vpextrw takes an XMM register and an
    integer register, the .s suffix should be ignored for EVEX vpextrw.
    
    gas/
    
    	PR binutils/20799
    	* testsuite/gas/i386/opcode.s: Add a test for EVEX vpextrw.
    	* testsuite/gas/i386/opcode-intel.d: Updated.
    	* testsuite/gas/i386/opcode-suffix.d: Likewise.
    	* testsuite/gas/i386/opcode.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512bw-opts.s: Remove vpextrw
    	tests.
    	* testsuite/gas/i386/x86-64-avx512bw-opts-intel.d: Updated.
    	* testsuite/gas/i386/x86-64-avx512bw-opts.d: Likewise.
    
    opcodes/
    
    	PR binutils/20799
    	* i386-dis-evex.h (evex_table): Replace EdqwS with Edqw.
    	* i386-dis.c (EdqwS): Removed.
    	(dqw_swap_mode): Likewise.
    	(intel_operand_size): Don't check dqw_swap_mode.
    	(OP_E_register): Likewise.
    	(OP_E_memory): Likewise.
    	(OP_G): Likewise.
    	(OP_EX): Likewise.
    	* i386-opc.tbl: Remove "S" from EVEX vpextrw.
    	* i386-tbl.h: Regerated.

commit 1032d6ebdcd53b8c09c76a1c3b932065d84b0b20
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 13:44:42 2016 -0800

    Update opcodes/ChangeLog

commit 7766fd10024dc0587838fbc4608f3f8e30e17a26
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 12:11:50 2016 -0800

    X86: Update opcode-suffix.d
    
    	PR binutils/20754
    	* testsuite/gas/i386/opcode-suffix.d: Updated.

commit fad0c9fb7dd362bdb5a3e4f89fb7f6e6789f5beb
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 18:48:25 2016 +0000

    Further cleanup/modernization of gdb.base/commands.exp
    
     - Use multi_line for matching multi-line GDB output.
    
     - Add a multi_line_input variant of multi_line to build GDB input and
       use it throughout.
    
       (The two changes above make the tests much more readable, IMO.)
    
     - Add a new valnum_re global to get rid of the multiple "\\\$\[0-9\]*".
    
     - Remove gdb_stop_suppressing_tests uses.
    
     - tighten a few regexps.
    
     - Replace send_gdb/gdb_expect with gdb_test_multiple and simplify,
       making pass/fail messages the same.
    
    gdb/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (runto_or_return): New procedure.
    	(gdbvar_simple_if_test, gdbvar_simple_while_test)
    	(gdbvar_complex_if_while_test, progvar_simple_if_test)
    	(progvar_simple_while_test, progvar_complex_if_while_test)
    	(if_while_breakpoint_command_test)
    	(infrun_breakpoint_command_test, breakpoint_command_test)
    	(user_defined_command_test, watchpoint_command_test)
    	(test_command_prompt_position, redefine_hook_test)
    	(stray_arg0_test, error_clears_commands_left, redefine_hook_test)
    	(redefine_backtrace_test): Use runto_or_return, $valnum_re,
    	multi_line_input and multi_line.  Remove gdb_expect and
    	gdb_stop_suppressing_tests uses.
    	* lib/gdb.exp (valnum_re): New global.
    	* lib/gdb.exp (valnum_re): New global.
    	(multi_line_input): New procedure.

commit 7efeed176a291c15c74e80aee5d7f906e28081cf
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 10:20:13 2016 -0800

    X86: Merge AVX512F vmovq
    
    AVX512F vmovq doesn't support masking.  We can't swap register operand
    in AVX512F vmovq with Reg64 since Reg64 != RegXMM.  This patch merges
    AVX512F vmovq.
    
    	* i386-opc.tbl: Merge AVX512F vmovq.

commit 8354c62cd144964fce17e11ce035c0c2c0635cbf
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 9 10:55:14 2016 -0500

    Make gdb.mi/user-selected-context-sync.exp use proc_with_prefix
    
    Pedro's patch provides a cleaner way to prefix tests with the proc name,
    so let's use that.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.mi/user-selected-context-sync.exp (with_test_prefix_procname):
    	Remove.
    	(test_setup): Define with proc_with_prefix.
    	(test_cli_inferior): Likewise.
    	(test_cli_thread): Likewise.
    	(test_cli_frame): Likewise.
    	(test_cli_select_frame): Likewise.
    	(test_cli_up_down): Likewise.
    	(test_mi_thread_select): Likewise.
    	(test_mi_stack_select_frame): Likewise.
    	(test_cli_in_mi_inferior): Likewise.
    	(test_cli_in_mi_thread): Likewise.
    	(test_cli_in_mi_frame): Likewise.
    	(top level): Do not use with_test_prefix_procname.

commit 64f367a201565d5c7d1e03da072db51123ac2174
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 15:45:49 2016 +0000

    gdb/testsuite: Introduce "proc_with_prefix"
    
    While adding new tests to gdb.base/commands.exp, I noticed that the
    file includes a bunch of individual testcases split into their own
    procedures, and that none have ever been adjusted to use
    with_test_prefix.  Instead, each gdb_test/gdb_test_multiple/etc
    invocation takes care of including the procedure name in the test
    message, in order to make sure test messages are unique.
    
    Simon convinced me that using the procedure name as prefix is not that
    bad of an idea:
      https://sourceware.org/ml/gdb-patches/2016-10/msg00020.html
    
    This commit adds an IMO simpler alternative to
    with_test_prefix_procname added by that patch -- a new
    "proc_with_prefix" convenience proc that is meant to be used in place
    of "proc", and then uses it in commands.exp.  Procedures defined with
    this automatically run their bodies under with_test_prefix $proc_name.
    
    Here's a sample of the resulting gdb.sum diff:
    
     [...]
     -PASS: gdb.base/commands.exp: break factorial #3
     -PASS: gdb.base/commands.exp: set value to 5 in test_command_prompt_position
     -PASS: gdb.base/commands.exp: if test in test_command_prompt_position
     -PASS: gdb.base/commands.exp: > OK in test_command_prompt_position
     +PASS: gdb.base/commands.exp: test_command_prompt_position: break factorial
     +PASS: gdb.base/commands.exp: test_command_prompt_position: set value to 5
     +PASS: gdb.base/commands.exp: test_command_prompt_position: if test
     +PASS: gdb.base/commands.exp: test_command_prompt_position: > OK
     [...]
    
    gdb/testsuite/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (gdbvar_simple_if_test)
    	(gdbvar_simple_while_test, gdbvar_complex_if_while_test)
    	(progvar_simple_if_test, progvar_simple_while_test)
    	(progvar_complex_if_while_test, if_while_breakpoint_command_test)
    	(infrun_breakpoint_command_test, breakpoint_command_test)
    	(user_defined_command_test, watchpoint_command_test)
    	(test_command_prompt_position, deprecated_command_test)
    	(bp_deleted_in_command, temporary_breakpoint_commands)
    	(stray_arg0_test, source_file_with_indented_comment)
    	(recursive_source_test, if_commands_test)
    	(error_clears_commands_left, redefine_hook_test)
    	(redefine_backtrace_test): Use proc_with_prefix.
    	* lib/gdb.exp (proc_with_prefix): New proc.

commit 2806dc7eec04db49fca03e04827e3dff7f6704e0
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 15:09:31 2016 +0000

    Fix formattting of gdb/ChangeLog and gdb/testsuite/ChangeLog enties
    
    Leading tab/spaces.  Missing periods.  Duplicate date.

commit 6c73cd95f96d37dbf6092a87c8ba0f35277223a5
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 12:49:43 2016 +0000

    agent_expr_up: gdb::unique_ptr -> std::unique_ptr
    
    Now that we require C++11, use std::unique_ptr directly.  This allows
    simplifying collection_list a bit by placing unique pointers in the
    vector directly, making the vector own its elements.
    
    gdb/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* ax-gdb.c (agent_eval_command_one): Use std::move instead of
    	gdb::move.
    	* ax.h (agent_expr_up): Use std::unique_ptr instead of
    	gdb::unique_ptr.
    	* breakpoint.c (parse_cond_to_aexpr): Use std::move instead of
    	gdb::move.
    	* tracepoint.c (collection_list::collect_symbol): Likewise.
    	(collection_list::~collection_list): Delete.
    	(encode_actions_1): Use std::move instead of gdb::move.
    	(collection_list::add_aexpr): Use std::move instead of
    	unique_ptr::release.
    	* tracepoint.h (collection_list) <~collection_list>: Delete
    	declaration.
    	<m_aexprs>: Now a vector of agent_ptr_up.

commit 7a63494a0df60cf71b9cf03c4eb8f24719d03e66
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 14:53:58 2016 +0000

    gdb: Use vector::emplace_back
    
    Now that we require C++11, we can use vector::emplace_back to
    construct elements in place instead of constructing and then copying.
    
    gdb/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* main.c (struct cmdarg): Add constructor.
    	(captured_main_1): Use vector::emplace_back.
    	* tracepoint.c (collection_list::add_memrange): Likewise.

commit 8c84bffb45ac63b98fffc5c1a492c2eb7e4f27e2
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:13 2016 +0100

    tui-winsource: Remove failed-allocation logic
    
    This removes dead code in tui_alloc_source_buffer for handling a NULL
    return value from xmalloc.
    
    gdb/ChangeLog:
    
    	* tui/tui-winsource.c (tui_alloc_source_buffer): Remove
    	failed-xmalloc handling.

commit 7bc2c8b83ea82b4315c67e7658af815aed062e73
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:13 2016 +0100

    tui-winsource: Allocate for actual lines only
    
    The logic for allocating a TUI source window's content buffer allocates
    two more lines than needed, because it does not reduce the window height
    by the highlight box's overhead.  However, it does reduce the line width
    accordingly.  This patch makes the height and width calculation
    consistent and improves the comment.
    
    gdb/ChangeLog:
    
    	* tui/tui-winsource.c (tui_alloc_source_buffer): Subtract
    	highlight box's overhead when calculating the content height.

commit f5396833d35a257902409493a63f777dcd771868
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:13 2016 +0100

    tui-disasm: Fix line buffer size calculation
    
    The code that fills the TUI disassembly window content first calculates
    the maximum full length of a displayed disassembly line.  This
    calculation typically yields the wrong result.  The result is too large,
    so the bug does not cause any run-time failures, but unnecessary
    confusion for the reader.  This patch fixes the calculation.
    
    gdb/ChangeLog:
    
    	* tui/tui-disasm.c (tui_set_disassem_content): Fix calculation of
    	the longest disassembly line's length.

commit 0bb65f1e7c9eed7338ef2e4a2f5b42d010409c39
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:12 2016 +0100

    tui-disasm: Fix window content buffer overrun
    
    A user reported a GDB crash with TUI when trying to debug a function
    with a long demangled C++ method name.  It turned out that the logic for
    displaying the TUI disassembly window has a bug that can cause a buffer
    overrun, possibly overwriting GDB-internal data structures.  In
    particular, the logic performs an unguarded strcpy.
    
    Another (harmless) bug in tui_alloc_source_buffer causes the buffer to
    be two lines longer than needed.  This may have made the crash appear
    less frequently.
    
    gdb/ChangeLog:
    
    	* tui/tui-disasm.c (tui_set_disassem_content): Fix line buffer
    	overrun due to unchecked strcpy.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/tui-layout.c: New file.
    	* gdb.base/tui-layout.exp: Use tui-layout.c, to ensure that the
    	disassembly window contains very long lines.

commit 82b19a4d2f9c9e8d56fdffdd702f7db4af486386
Author: Tristan Gingold <gingold@adacore.com>
Date:   Wed Nov 9 10:25:00 2016 +0100

    darwin-nat.c: handle Darwin 16 (aka Sierra).
    
    Support message from new task and dead name notification on task of an
    existing process.
    With Sierra, exec(2) terminate the current task and creates a new one.
    'set startup-with-shell off' must still be used on Darwin 16.
    
    2016-11-09  Tristan Gingold  <gingold@adacore.com>
    
    	* darwin-nat.c (find_inferior_task_it): Fix indentation.
    	(find_inferior_notify_it): Remove.
    	(find_inferior_pid_it): New function.
    	(darwin_find_inferior_by_notify): Remove.
    	(darwin_find_inferior_by_pid): New function.
    	(darwin_find_new_inferior): New function.
    	(darwin_check_message_ndr): New function from
    	darwin_decode_exception_message.
    	(darwin_decode_exception_message): Call darwin_check_message_ndr.
    	Handle SIGTRAP addressed to an unknown task (when a task spawned).
    	(darwin_decode_notify_message): New function.
    	(darwin_decode_message): Handle unknown task.
    	(darwin_deallocate_threads): New function from darwin_mourn_inferior.
    	(darwin_mourn_inferior): Use darwin_deallocate_threads and
    	darwin_deallocate_exception_ports.
    	(darwin_deallocate_exception_ports): New function from
    	darwin_mourn_inferior.
    	(darwin_setup_exceptions): New function from darwin_attach_pid.
    	(darwin_setup_request_notification): Likewise.
    	(darwin_attach_pid): Call darwin_setup_request_notification and
    	darwin_setup_request_notification.

commit 4c1d4908aa9e61a35a2555e5529997d7f996a516
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 9 00:00:27 2016 +0000

    Automatic date update in version.in

commit 1f334aeb2268db153f01143e9b0ac01448ecaa56
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Nov 8 11:03:06 2016 -0800

    X86: Remove the THREE_BYTE_0F7A entry
    
    Remove the THREE_BYTE_0F7A entry which is leftover from SSE5.
    
    	PR binutils/20701
    	* i386-dis.c (THREE_BYTE_0F7A): Removed.
    	(dis386_twobyte): Don't use THREE_BYTE_0F7A.
    	(three_byte_table): Remove THREE_BYTE_0F7A.

commit 7353f2470c2eda19c31c9fa44c315c7c69dea7c4
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Oct 31 11:23:34 2016 -0600

    Fix py-value.exp failure on Python 3
    
    I happened to notice that one test in py-value.exp did not work
    properly with Python 3.  This patch fixes the problem.
    
    2016-11-08  Tom Tromey  <tom@tromey.com>
    
    	* gdb.python/py-value.exp (test_value_creation): Make "long" test
    	depend on Python 2.

commit 30a7bb833cbd848b1814f18b91dfdafba4e86839
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Oct 31 11:10:35 2016 -0600

    Fix some error-handling bugs in python frame filters
    
    While writing a Python frame filter, I found a few bugs in the current
    frame filter code.  In particular:
    
    * One spot converts a Python long to a CORE_ADDR using PyLong_AsLong.
      However, this can fail on overflow.  I changed this to use
      get_addr_from_python.
    
    * Another spot is doing the same but with PyLong_AsUnsignedLongLong; I
      changed this as well just for consistency.
    
    * Converting line numbers can print "-1" if conversion from long
      fails.  This isn't fatal but just a bit ugly.
    
    I've included a test case for the first issue.  The line number one
    didn't seem important enough to bother with.
    
    2016-11-08  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (py_print_frame): Use
    	get_addr_from_python.  Check for errors when getting line number.
    
    2016-11-08  Tom Tromey  <tom@tromey.com>
    
    	* gdb.python/py-framefilter.py (ElidingFrameDecorator.address):
    	New method.

commit e8b24d9ff5b9419fc079f5fe975fac6f499f8bfb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 16:02:42 2016 +0000

    Remove parameter valaddr from la_val_print
    
    Nowadays, we pass both val and return value of
    value_contents_for_printing (val) to la_val_print.  The latter is
    unnecessary.  This patch removes the second parameter of la_val_print,
    and get valaddr in each language's implementation by calling
    value_contents_for_printing.  Since value_contents_for_printing calls
    value_fetch_lazy, I also make VAL non-const.
    
    Note that
     - I don't clean up the valaddr usages in each language's routines,
     - I don't remove valaddr from apply_ext_lang_val_pretty_printer, and
       extension language ops apply_val_pretty_printer.
    
    They can be done in followup patches.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* ada-lang.h (ada_val_print): Remove second parameter.  Remove
    	const from "struct value *".
    	* ada-valprint.c (print_field_values): Remove const from
    	"struct value *".
    	(val_print_packed_array_elements): Likewise.
    	(print_variant_part): Likewise.
    	(ada_val_print_string): Likewise.
    	(ada_val_print_gnat_array): Likewise.
    	(ada_val_print_ptr): Likewise.
    	(ada_val_print_num): Likewise.
    	(ada_val_print_enum): Likewise.
    	(ada_val_print_flt): Likewise.
    	(ada_val_print_union): Likewise.
    	(ada_val_print_struct_union): Likewise.
    	(ada_val_print_ref): Likewise.
    	(ada_val_print_1): Remove second parameter.  Remove const from
    	"struct value *".
    	(ada_val_print): Likewise.
    	* c-lang.h (c_val_print): Likewise.
    	* c-valprint.c (c_val_print_array): Remove const from
    	"struct value *".
    	(c_val_print_ptr): Likewise.
    	(c_val_print_struct): Likewise.
    	(c_val_print_union): Likewise.
    	(c_val_print_int): Likewise.
    	(c_val_print_memberptr): Likewise.
    	(c_val_print): Remove second parameter.  Remove const from
    	"struct value *".  All callers updated.
    	* cp-valprint.c (cp_print_value): Remove const from
    	"struct value *".
    	(cp_print_value_fields): Likewise.
    	(c_val_print_value): Likewise.
    	* d-lang.h (d_val_print): Remove second parameter.  Remove const
    	from "struct value *".
    	* d-valprint.c (dynamic_array_type): Likewise.
    	(d_val_print): Likewise.
    	* f-lang.h (f_val_print): Likewise.
    	* f-valprint.c (f_val_print): Likewise.
    	* go-lang.h (go_val_print): Likewise.
    	* go-valprint.c (print_go_string): Likewise.
    	(go_val_print): Likewise.
    	* language.c (unk_lang_val_print): Likewise.
    	* language.h (struct language_defn) <la_val_print>: Likewise.
    	Update comments.
    	(LA_VAL_PRINT): Remove.
    	* m2-lang.h (m2_val_print): Remove const from
    	"struct value *".
    	* m2-valprint.c (m2_print_array_contents): Likewise.
    	(m2_val_print): Likewise.
    	* p-lang.h (pascal_val_print): Remove second parameter.  Remove
    	const from "struct value *".
    	(pascal_object_print_value_fields): Likewise.
    	* p-valprint.c (pascal_val_print): Likewise.
    	(pascal_object_print_value_fields): Likewise.
    	(pascal_object_print_value): Likewise.
    	* rust-lang.c (rust_get_disr_info): Likewise.
    	(val_print_struct): Likewise.
    	(rust_val_print): Likewise.
    	* valprint.c (generic_val_print_array): Likewise.
    	(generic_val_print_ptr): Likewise.
    	(generic_val_print_memberptr): Likewise.
    	(generic_val_print_ref): Likewise.
    	(generic_val_print_enum): Likewise.
    	(generic_val_print_flags): Likewise.
    	(generic_val_print_func): Likewise.
    	(generic_val_print_bool): Likewise.
    	(generic_val_print_int): Likewise.
    	(generic_val_print_char): Likewise.
    	(generic_val_print_float): Likewise.
    	(generic_val_print_decfloat): Likewise.
    	(generic_val_print_complex): Likewise.
    	(generic_val_print): Likewise.
    	(val_print): Likewise.
    	(common_val_print): Likewise.
    	(val_print_type_code_flags): Likewise.
    	(val_print_scalar_formatted): Likewise.
    	(val_print_array_elements): Likewise.
    	* valprint.h (val_print_array_elements): Update declaration.
    	(val_print_scalar_formatted): Likewise.
    	(generic_val_print): Likewise.
    	* value.h (val_print): Likewise.

commit cc977dc7d53ef4546592a4f02a2e06a621beae6f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 15:58:47 2016 +0000

    Use get_frame_register_value instead of deprecated_frame_register_read
    
    This patch calls get_frame_register_value instead of
    deprecated_frame_register_read, so that we can pass
    value_contents_for_printing to val_print.  Both
    get_frame_register_value and deprecated_frame_register_read call
    frame_unwind_register_value indirectly, so no functionality is changed
    by this patch.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* mt-tdep.c (mt_registers_info): Call
    	get_frame_register_value instead of
    	deprecated_frame_register_read.
    	* sh64-tdep.c (sh64_do_register): Likewise.

commit 3cde5c42d1c1ddcf8bbde5c47233c644370c959c
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    Eliminate agent_expr_p; VEC -> std::vector in struct bp_target_info
    
    After the previous patch, we end up with these two types with quite
    similar, and potentially confusing names:
    
      typedef gdb::unique_ptr<agent_expr> agent_expr_up;
    
      /* Pointer to an agent_expr structure.  */
      typedef struct agent_expr *agent_expr_p;
    
    The latter is only necessary to put agent_expr pointers in VECs.  So
    just eliminate it and use std::vector instead.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ax.h (agent_expr_p): Delete.
    	(DEF_VEC_P (agent_expr_p)): Delete.
    	* breakpoint.c (build_target_condition_list)
    	(build_target_command_list): Adjust to use of std::vector.
    	(bp_location_dtor): Remove now unnecessary VEC_free calls.
    	* breakpoint.h: Include <vector>.
    	(struct bp_target_info) <conditions, tcommands>: Now
    	std::vector's.
    	* remote.c (remote_add_target_side_condition): bp_tgt->conditions
    	is now a std::vector; adjust.
    	(remote_add_target_side_commands, remote_insert_breakpoint):
    	bp_tgt->tcommands is now a std::vector; adjust.

commit 833177a4a5c1a2a6cabe70bfe35ecf241b68d169
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    'struct agent_expr *' -> unique_ptr<agent_expr>
    
    This patch makes the gen_* functions return a unique_ptr instead of
    raw pointer:
    
      typedef gdb::unique_ptr<agent_expr> agent_expr_up;
    
    and then adjusts the codebase throughout to stop using
    make_cleanup_free_agent_expr.
    
    The cond_bytecode and cmd_bytecode fields of struct bp_location are
    owning pointers, so they're changed to be unique_ptr's instead of raw
    pointers.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ax-gdb.c (is_nontrivial_conversion): Use agent_expr_up.
    	(gen_trace_for_var, gen_trace_for_expr, gen_eval_for_expr)
    	(gen_trace_for_return_address, gen_printf): Use and return an
    	agent_expr_up.  Don't use make_cleanup_free_agent_expr.
    	(agent_eval_command_one, maint_agent_printf_command): Use
    	agent_expr_up.  Don't use make_cleanup_free_agent_expr.
    	* ax-gdb.h (gen_trace_for_expr, gen_trace_for_var)
    	(gen_trace_for_return_address, gen_eval_for_expr, gen_printf): Use
    	agent_expr_up.
    	* ax-general.c (new_agent_expr): Rename to ...
    	(agent_expr::agent_expr): ... this, and now a constructor.
    	(free_agent_expr): Rename to ...
    	(agent_expr::~agent_exp): ... this, and now a destructor.
    	(do_free_agent_expr_cleanup, make_cleanup_free_agent_expr):
    	Delete.
    	* ax.h (struct agent_expr): Add ctor/dtor.
    	(agent_expr_up): New typedef.
    	(new_agent_expr, free_agent_expr, make_cleanup_free_agent_expr):
    	Delete declarations.
    	* breakpoint.c (parse_cond_to_aexpr): Use and return an
    	agent_expr_up.  Don't use make_cleanup_free_agent_expr.
    	(build_target_condition_list): Adjust to use agent_expr_up.
    	(parse_cmd_to_aexpr): Use and return an agent_expr_up.  Don't use
    	make_cleanup_free_agent_expr.
    	(build_target_command_list): Adjust to use agent_expr_up.
    	(force_breakpoint_reinsertion): Adjust to use agent_expr_up.
    	(bp_location_dtor): Remove unnecessary free_agent_expr and xfree
    	calls.
    	* breakpoint.h (struct bp_target_info) <cond_bytecode,
    	cmd_bytecode>: Now agent_expr_up's.
    	* remote.c (remote_download_tracepoint): Adjust to use
    	agent_expr_up and remove use of make_cleanup_free_agent_expr.
    	* tracepoint.c (validate_actionline, collect_symbol): Adjust to
    	use agent_expr_up and remove uses of make_cleanup_free_agent_expr.
    	(collection_list::~collection_list): Call delete instead of
    	free_agent_expr.
    	(encode_actions_1): Adjust to use agent_expr_up and remove uses of
    	make_cleanup_free_agent_expr.
    	(add_aexpr): Change parameter type to agent_expr_up; Return a raw
    	agent_expr pointer.

commit 2f408ecb929bd56613e94cf1e84ace4692c78257
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    Use ui_file_as_string throughout more
    
    This replaces most of the remaining ui_file_xstrdup calls with
    ui_file_as_string calls.  Whenever a call was replaced, that led to a
    cascade of other necessary adjustments throughout, to make the code
    use std::string instead of raw pointers.  And then whenever I added a
    std::string as member of a struct, I needed to adjust
    allocation/destruction of said struct to use new/delete instead of
    xmalloc/xfree.
    
    The stopping point was once gdb built again.  These doesn't seem to be
    a way to reasonably split this out further.
    
    Maybe-not-obvious changes:
    
     - demangle_for_lookup returns a cleanup today.  To get rid of that,
       and avoid unnecessary string dupping/copying, this introduces a
       demangle_result_storage type that the caller instantiates and
       passes to demangle_for_lookup.
    
     - Many methods returned a "char *" to indicate that the caller owns
       the memory and must free it.  Those are switched to return a
       std::string instead.  Methods that return a "view" into some
       internal string return a "const char *" instead.  I.e., we only
       copy/allocate when necessary.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_name_for_lookup, type_as_string): Use and return
    	std::string.
    	(type_as_string_and_cleanup): Delete.
    	(ada_lookup_struct_elt_type): Use type_as_string.
    	* ada-lang.h (ada_name_for_lookup): Now returns std::string.
    	* ada-varobj.c (ada_varobj_scalar_image): Return a std::string.
    	(ada_varobj_describe_child): Make 'child_name' and
    	'child_path_expr' parameters std::string pointers.
    	(ada_varobj_describe_struct_child, ada_varobj_describe_ptr_child):
    	Likewise, and use string_printf.
    	(ada_varobj_describe_simple_array_child)
    	(ada_varobj_describe_child): Likewise.
    	(ada_varobj_get_name_of_child, ada_varobj_get_path_expr_of_child)
    	(ada_varobj_get_value_image)
    	(ada_varobj_get_value_of_array_variable)
    	(ada_varobj_get_value_of_variable, ada_name_of_variable)
    	(ada_name_of_child, ada_path_expr_of_child)
    	(ada_value_of_variable): Now returns std::string.  Use
    	string_printf.
    	(ada_value_of_child): Adjust.
    	* break-catch-throw.c (check_status_exception_catchpoint): Adjust
    	to use std::string.
    	* breakpoint.c (watch_command_1): Adjust to use std::string.
    	* c-lang.c (c_get_string): Adjust to use std::string.
    	* c-typeprint.c (print_name_maybe_canonical): Use std::string.
    	* c-varobj.c (varobj_is_anonymous_child): Use ==/!= std::string
    	operators.
    	(c_name_of_variable): Now returns a std::string.
    	(c_describe_child): The 'cname' and 'cfull_expression' output
    	parameters are now std::string pointers.  Adjust.
    	(c_name_of_child, c_path_expr_of_child, c_value_of_variable)
    	(cplus_number_of_children): Adjust to use std::string and
    	string_printf.
    	(cplus_name_of_variable): Now returns a std::string.
    	(cplus_describe_child): The 'cname' and 'cfull_expression' output
    	parameters are now std::string pointers.  Adjust.
    	(cplus_name_of_child, cplus_path_expr_of_child)
    	(cplus_value_of_variable): Now returns a std::string.
    	* cp-abi.c (cplus_typename_from_type_info): Return std::string.
    	* cp-abi.h (cplus_typename_from_type_info): Return std::string.
    	(struct cp_abi_ops) <get_typename_from_type_info>: Return
    	std::string.
    	* cp-support.c (inspect_type): Use std::string.
    	(cp_canonicalize_string_full, cp_canonicalize_string_no_typedefs)
    	(cp_canonicalize_string): Return std::string and adjust.
    	* cp-support.h (cp_canonicalize_string)
    	(cp_canonicalize_string_no_typedefs, cp_canonicalize_string_full):
    	Return std::string.
    	* dbxread.c (read_dbx_symtab): Use std::string.
    	* dwarf2read.c (dwarf2_canonicalize_name): Adjust to use std::string.
    	* gdbcmd.h (lookup_struct_elt_type): Adjust to use std::string.
    	* gnu-v3-abi.c (gnuv3_get_typeid): Use std::string.
    	(gnuv3_get_typename_from_type_info): Return a std::string and
    	adjust.
    	(gnuv3_get_type_from_type_info): Adjust to use std::string.
    	* guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
    	std::string.
    	* infcmd.c (print_return_value_1): Adjust to use std::string.
    	* linespec.c (find_linespec_symbols): Adjust to
    	demangle_for_lookup API change.  Use std::string.
    	* mi/mi-cmd-var.c (print_varobj, mi_cmd_var_set_format)
    	(mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
    	(mi_cmd_var_info_expression, mi_cmd_var_evaluate_expression)
    	(mi_cmd_var_assign, varobj_update_one): Adjust to use std::string.
    	* minsyms.c (lookup_minimal_symbol): Use std::string.
    	* python/py-varobj.c (py_varobj_iter_next): Use new instead of
    	XNEW.  vitem->name is a std::string now, adjust.
    	* rust-exp.y (convert_ast_to_type, convert_name): Adjust to use
    	std::string.
    	* stabsread.c (define_symbol): Adjust to use std::string.
    	* symtab.c (demangle_for_lookup): Now returns 'const char *'.  Add
    	a demangle_result_storage parameter.  Use it for storage.
    	(lookup_symbol_in_language)
    	(lookup_symbol_in_objfile_from_linkage_name): Adjust to new
    	demangle_for_lookup API.
    	* symtab.h (struct demangle_result_storage): New type.
    	(demangle_for_lookup): Now returns 'const char *'.  Add a
    	demangle_result_storage parameter.
    	* typeprint.c (type_to_string): Return std::string and use
    	ui_file_as_string.
    	* value.h (type_to_string): Change return type to std::string.
    	* varobj-iter.h (struct varobj_item) <name>: Now a std::string.
    	(varobj_iter_delete): Use delete instead of xfree.
    	* varobj.c (create_child): Return std::string instead of char * in
    	output parameter.
    	(name_of_variable, name_of_child, my_value_of_variable): Return
    	std::string instead of char *.
    	(varobj_create, varobj_get_handle): Constify 'objname' parameter.
    	Adjust to std::string fields.
    	(varobj_get_objname): Return a const char * instead of a char *.
    	(varobj_get_expression): Return a std::string.
    	(varobj_list_children): Adjust to use std::string.
    	(varobj_get_type): Return a std::string.
    	(varobj_get_path_expr): Return a const char * instead of a char *.
    	Adjust to std::string fields.
    	(varobj_get_formatted_value, varobj_get_value): Return a
    	std::string.
    	(varobj_set_value): Change type of 'expression' parameter to
    	std::string.  Use std::string.
    	(install_new_value): Use std::string.
    	(delete_variable_1): Adjust to use std::string.
    	(create_child): Change the 'name' parameter to a std::string
    	reference.  Swap it into the new item's name.
    	(create_child_with_value): Swap item's name into the new child's
    	name.  Use string_printf.
    	(new_variable): Use new instead of XNEW.
    	(free_variable): Don't xfree fields that are now std::string.
    	(name_of_variable, name_of_child): Now returns std::string.
    	(value_of_root): Adjust to use std::string.
    	(my_value_of_variable, varobj_value_get_print_value): Return
    	and use std::string.
    	(varobj_value_get_print_value): Adjust to use ui_file_as_string
    	and std::string.
    	* varobj.h (struct varobj) <name, path_expr, obj_name,
    	print_value>: Now std::string's.
    	<name_of_variable, name_of_child, path_expr_of_child,
    	value_of_variable>: Return std::string.
    	(varobj_create, varobj_get_handle): Constify 'objname' parameter.
    	(varobj_get_objname): Return a const char * instead of a char *.
    	(varobj_get_expression, varobj_get_type): Return a std::string.
    	(varobj_get_path_expr): Return a const char * instead of a char *.
    	(varobj_get_formatted_value, varobj_get_value): Return a
    	std::string.
    	(varobj_set_value): Constify 'expression' parameter.
    	(varobj_value_get_print_value): Return a std::string.

commit d2af8993a7cac29eaa5a4efd47c9117bbd175068
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    Use ui_file_as_string in gdb/language.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* language.c (add_language): Use ui_file_as_string and adjust to
    	use std::string.

commit 5698084a7303c45fdc94fb44c47355413b271562
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/rust-lang.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    	    Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (struct disr_info) <name>: Now a std::string.
    	(rust_get_disr_info): Use ui_file_as_string and adjust to use
    	std::string.
    	(rust_val_print): Adjust to use std::string.

commit af1fe7b3b87de27d84a82d4f44b937c2800205ff
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/infrun.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* infrun.c (print_target_wait_results): Use ui_file_as_string and
    	std::string.

commit 3b4de39c9d9ff014ae90e2bafbf7ce1f42c2198e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/ada-lang.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (type_as_string): Use ui_file_as_string and return
    	std::string.
    	(type_as_string_and_cleanup): Delete.
    	(ada_lookup_struct_elt_type): Use type_as_string.

commit 6f0302493af0ace93943041c3374069c15c363f7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdbarch.sh/gdbarch.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* gdbarch.sh (verify_gdbarch): Use ui_file_as_string and
    	std::string.
    	* gdbarch.c: Regenerate.

commit 66bbce5bda870c49a68f2b77a29fb96eca72632f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/c-exp.y
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* c-exp.y (OPERATOR NEW): Adjust to use ui_file_as_string and
    	std::string.

commit aaee65aea29ac8f7317e866d5dbef9f96cfdb253
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/compile/
    
    Using ui_file_as_string would imply changing a few prototypes to pass
    around source and object file names as std::string.  Instead of that,
    wrap those two in a new class.  This ends up eliminating a small
    wrinkle: get_new_file_names and compile_object_load have swapped
    parameters.  The former takes "source, objfile", while the latter
    takes "objfile, source".
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* c-lang.h (c_compute_program): Now returns std::string.
    	* compile/compile-internal.h (class compile_file_names): New
    	class.
    	* compile/compile-object-load.c (compile_object_load): Replace
    	object_file and source_file parameters with a compile_file_names
    	parameter.  Adjust.
    	* compile-object-load.h: Include "compile-internal.h".
    	(compile_object_load): Replace object_file and source_file
    	parameters with a compile_file_names parameter.
    	* compile/compile-c-support.c (c_compute_program): Now returns a
    	std::string.  Use ui_file_as_string.
    	* compile/compile.c (get_new_file_names): Remove parameters and
    	return a compile_file_names instead.
    	(compile_to_object): Now returns a compile_file_names.  Use
    	ui_file_as_string.
    	(eval_compile_command): Use compile_file_names.
    	* language.h (struct language_defn) <la_compute_program>: Now
    	returns std::string.

commit 3d8b0d9483f6eabc2c1739ac3dd64c30061a6a72
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/cli/cli-setshow.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-setshow.c (do_show_command): Adjust to use
    	ui_file_as_string and std::string.

commit b3ced9bad2d8d5eb9ebabc5f8f7c6ab871f63748
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/remote.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* remote.c (escape_buffer): Use ui_file_as_string and return
    	std::string.
    	(putpkt_binary, read_frame): Adjust to use std::string.

commit c92aed165e8af79f51c5165f98f12389bb59a121
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/python/
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* python/py-arch.c (archpy_disassemble): Use ui_file_as_string and
    	std::string.
    	* python/py-breakpoint.c (bppy_get_commands): Use
    	ui_file_as_string and std::string.
    	* python/py-frame.c (frapy_str): Likewise.
    	* python/py-type.c (typy_str): Likewise.
    	* python/py-unwind.c (unwind_infopy_str): Likewise.
    	* python/py-value.c (valpy_str): Likewise.

commit 02030646c2a799614d31e52008403d8be067ac5d
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/printcmd.c
    
    Yet another cleanup eliminated.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* printcmd.c (eval_command): Use ui_file_as_string and
    	std::string.

commit 7b01d34b2a62fb8cda96fe40c755f99e63b8ba4f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/top.c
    
    Yet another cleanup is eliminated.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* top.c (quit_confirm): Use ui_file_as_string and std::string.

commit db1ec11fff1a46f7046bcbd971a42632d2ea795c
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in execute_command_to_string
    
    ... and then return std::string and adjust all callers.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* gdbcmd.h (execute_command_to_string): Now returns std::string.
    	(lookup_struct_elt_type): Adjust to use std::string.
    	* top.c (execute_command_to_string): Use ui_file_as_string and
    	return std::string.
    	* guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
    	std::string.
    	* python/python.c (execute_gdb_command): Adjust to use
    	std::string.

commit 3ab692db7f4d96022a132379614031a852de6f35
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/guile/
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
    	ui_file_as_string and adjust to use std::string.
    	* guile/scm-disasm.c (gdbscm_arch_disassemble): Likewise.
    	* guile/scm-frame.c (frscm_print_frame_smob): Likewise.
    	* guile/scm-type.c (tyscm_type_name): Use ui_file_as_string and
    	adjust to use std::string.  Throw exception directly instead of
    	returning it in EXCP output parameter.
    	(tyscm_print_type_smob, gdbscm_type_print_name): Adjust to
    	tyscm_type_name interface change.
    	* guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
    	Use ui_file_as_string and std::string.

commit 09b0e4b047b44063cf4c8c00527886743619c24e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/arm-tdep.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* arm-tdep.c (_initialize_arm_tdep): Use ui_file_as_string and
    	std::string.

commit d16c5475b560adbad2d9bc78ec3718658f4090e3
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/utils.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* utils.c (error_stream): Use ui_file_as_string and std::string.

commit 56dbf31760f721893a44d3da26adfccf548995c7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/ui-out.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ui-out.c (ui_out_field_stream): Use ui_file_as_string.

commit 77e1c7426aad05b20f48762234c02139e9c02f8e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/ada-valprint.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-valprint.c (ada_print_floating): Use ui_file_as_string and
    	std::string.

commit a0f86e735886f3d373507fa9cfc0cf2a2f32eabc
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/xtensa-tdep.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* xtensa-tdep.c (xtensa_verify_config): Use ui_file_as_string and
    	std::string.

commit 322a851675234b3c16be6dd5035b07f5e3410ec7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in dwarf2_compute_name
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (dwarf2_compute_name): Use ui_file_as_string and
    	std::string.

commit 1f45808ead357e8a81dec16b9802a6c369e08426
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    Clean up tracepoint.h/c:collection_list
    
    Noticed we could do this while working on the expression_up change.
    
    The main goal here was getting rid of the
    encode_actions_and_make_cleanup / do_clear_collection_list cleanups.
    
    While at it, uncrustify the code:
    
     - Make collection_list a C++ class, with data members private (and
       thus renamed m_...).
    
     - Make related functions be member methods.
    
     - Use std::vector instead of an open coding a vector implementation.
    
     - Use std::sort instead of qsort.
    
     - Rename the "list" member of collection_list, which is an incredibly
       obfuscating name.
    
     - Rename a couple other things here and there for clarify.
    
     - Use "bool" more.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* mi/mi-main.c (print_variable_or_computed): Constify 'expression'
    	parameter.
    	(mi_cmd_trace_frame_collected): Call encode_actions instead of
    	encode_actions_and_make_cleanup.  Adjust to use std::vector.
    	* tracepoint.c (memrange_cmp): Delete.
    	(memrange_comp): New.
    	(memrange_sortmerge): Take a memrange vector as parameter instead
    	of a collection_list.  Use std::sort instead of qsort.
    	(add_register): Now a method of collection_list.  Adjust to m_
    	prefix of data fields.
    	(add_memrange): Now a method of collection_list.  Adjust to m_
    	prefix of data fields.  Adjust to use std::vector.
    	(collect_symbol): Now a method of collection_list.  Adjust to m_
    	prefix of data fields.
    	(do_collect_symbol): Adjust.  Call add_wholly_collected instead of
    	accessing the vector directly.
    	(collection_list::add_wholly_collected): New.
    	(add_local_symbols): Now a method of collection_list.
    	(add_static_trace_data): Now a method of collection_list.  Adjust
    	to use bool.
    	(clear_collection_list, do_clear_collection_list): Delete.
    	(init_collection_list): Delete.
    	(collection_list::collection_list): New.
    	(collection_list::~collection_list): New.
    	(stringify_collection_list): Rename to ...
    	(collection_list::stringify): ... this and adjust to being a
    	method of collection_list.  Adjust to use of std::vector.
    	(append_exp): Now a method of collection_list.  Use
    	ui_file_as_string.  Adjust to std::vector.
    	(collection_list::finish): New.
    	(encode_actions_1): Adjust.
    	(encode_actions_and_make_cleanup): Rename to ...
    	(encode_actions)... this.  No longer returns a cleanup.  No longer
    	call init_collection_list nor install do_clear_collection_list
    	cleanups.  Call collection_list::finish instead of
    	memrange_sortmerge directly.
    	(encode_actions_rsp): Adjust to call encode_actions instead of
    	encode_actions_and_make_cleanup.  Adjust to method renames.
    	(add_aexpr): Now a method of collection_list.
    	* tracepoint.h: Include <vector> and <string>.
    	(struct memrange): Add constructors.
    	(struct collection_list): Now a class.
    	(class collection_list) <collection_list, ~collection_list,
    	add_wholly_collected, append_exp, add_aexpr, add_register,
    	add_memrange, collect_symbol, add_local_symbols,
    	add_static_trace_data, finish, stringify, wholly_collected, and
    	computed>: New methods.
    	<regs_mask>: Rename to ...
    	<m_regs_mask>: ... this.
    	<listsize, next_memrange, list>: Delete fields.
    	<m_memranges>: New field.
    	<aexpr_listsize, next_aexpr_elt, aexpr_list>: Delete fields.
    	<m_aexprs>: New field.
    	<strace_data>: Rename to ...
    	<m_strace_data>: ... this.  Now a bool.
    	<wholly_collected>: Rename to ...
    	<m_wholly_collected>: ... this.  Now a std::vector<std::string>.
    	<computed>: Rename to ...
    	<m_computed>: ... this.  Now a std::vector<std::string>.
    	(encode_actions_and_make_cleanup): Delete declaration.
    	(encode_actions): New declaration.

commit 8de00631b8bd1c328f1916b1fd95bd0d9ff2017e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    Introduce ui_file_as_string
    
    ui_file_as_string is a variant of ui_file_xstrdup that returns a
    std::string instead of a xmalloc'ed char *.  The idea is using the new
    function to eliminate "make_cleanup (xfree, ...)"  cleanups
    throughout.
    
    Following patches will make use of this.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ui-file.c (do_ui_file_as_string, ui_file_as_string): New
    	functions.
    	* ui-file.h: Include <string>.
    	(ui_file_as_string): New declaration.

commit 4d01a485d29732b19743e8b138897f3509e071b0
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    'struct expression *' -> gdb::unique_xmalloc_ptr<expression>
    
    This patch makes parse_expression and friends return a unique_ptr
    instead of raw pointer [1]:
    
      typedef gdb::unique_malloc_ptr<expression> expression_up;
    
    and then adjusts the codebase throughout to stop using cleanups to
    manage lifetime of expression pointers.
    
    Whenever I found a structure owning an expression pointer, I made it
    store a unique_ptr instead of a raw pointer, which then requires using
    new/delete of the holding structure, instead of XNEW/xfree.
    
    [1] - I'd like to set the rule that types named with an "_up" suffix
          are unique_ptr typedefs.
    
    Note I used gdb::unique_xmalloc_ptr instead of gdb::unique_ptr, simply
    because we still use xmalloc instead of new to allocate expression
    objects.  Once that's changed, all we need to do is change the
    expression_up typedef and the smart pointer will then call delete
    instead of xfree.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_read_renaming_var_value): Use expression_up.
    	(struct ada_catchpoint_location) <excep_cond_expr>: Now an
    	expression_up.
    	(ada_catchpoint_location_dtor): Reset excep_cond_expr instead of
    	using xfree.
    	(create_excep_cond_exprs): Use expression_up and gdb::move.
    	(allocate_location_exception): Use new instead of XNEW.
    	(should_stop_exception): Likewise.  Adjust to use expression_up.
    	(create_ada_exception_catchpoint): Use new instead of XNEW.
    	* ax-gdb.c (agent_eval_command_one): Use expression_up instead of
    	cleanups.
    	(maint_agent_printf_command): Use expression_up.
    	* break-catch-sig.c (create_signal_catchpoint): Use new instead of
    	XNEW.
    	* break-catch-syscall.c (create_syscall_event_catchpoint):
    	Likewise.
    	* break-catch-throw.c (handle_gnu_v3_exceptions): Use new instead
    	of XCNEW.  Use gdb::unique_ptr instead of cleanups.
    	* breakpoint.c (set_breakpoint_condition, update_watchpoint)
    	(parse_cmd_to_aexpr, watchpoint_check)
    	(bpstat_check_breakpoint_conditions, watchpoint_locations_match):
    	Adjust to use expression_up.
    	(init_bp_location): Adjust.
    	(free_bp_location): Use delete instead of xfree.
    	(set_raw_breakpoint_without_location, set_raw_breakpoint)
    	(add_solib_catchpoint, create_fork_vfork_event_catchpoint)
    	(new_single_step_breakpoint, create_breakpoint_sal): Use new
    	instead of XNEW.
    	(find_condition_and_thread): Adjust to use expression_up.
    	(create_breakpoint): Use new instead of XNEW.
    	(dtor_watchpoint): Don't xfree expression pointers, they're
    	unique_ptr's now.
    	(insert_watchpoint, remove_watchpoint): Adjust.
    	(watch_command_1): Use expression_up.  Use new instead of XCNEW.
    	(catch_exec_command_1): Use new instead of XNEW.
    	(bp_location_dtor): Don't xfree expression pointers, they're
    	unique_ptr's now.
    	(base_breakpoint_allocate_location)
    	(strace_marker_create_breakpoints_sal): Use new instead of XNEW.
    	(delete_breakpoint): Use delete instead of xfree.
    	* breakpoint.h (struct bp_location) <cond>: Now an
    	unique_ptr<expression> instead of a raw pointer.
    	(struct watchpoint) <exp, cond_exp>: Likewise.
    	* cli/cli-script.c (execute_control_command): Use expression_up
    	instead of cleanups.
    	* dtrace-probe.c (dtrace_process_dof_probe): Use expression_up.
    	* eval.c (parse_and_eval_address, parse_and_eval_long)
    	(parse_and_eval, parse_to_comma_and_eval, parse_and_eval_type):
    	Use expression_up instead of cleanups.
    	* expression.h (expression_up): New typedef.
    	(parse_expression, parse_expression_with_language, parse_exp_1):
    	Change return type to expression_up.
    	* mi/mi-main.c (mi_cmd_data_evaluate_expression)
    	(print_variable_or_computed): Use expression_up.
    	* objc-lang.c (print_object_command): Use expression_up instead of
    	cleanups.
    	* parse.c (parse_exp_1, parse_exp_in_context)
    	(parse_exp_in_context_1, parse_expression)
    	(parse_expression_with_language): Return an expression_up instead
    	of a raw pointer.
    	(parse_expression_for_completion): Use expression_up.
    	* printcmd.c (struct display) <exp>: Now an expression_up instead
    	of a raw pointer.
    	(print_command_1, output_command_const, set_command, x_command):
    	Use expression_up instead of cleanups.
    	(display_command): Likewise.  Use new instead of XNEW.
    	(free_display): Use delete instead of xfree.
    	(do_one_display): Adjust to use expression_up.
    	* remote.c (remote_download_tracepoint): Likewise.
    	* stack.c (return_command): Likewise.
    	* tracepoint.c (validate_actionline, encode_actions_1): Use
    	expression_up instead of cleanups.
    	* typeprint.c (whatis_exp, maintenance_print_type): Likewise.
    	* value.c (init_if_undefined_command): Likewise.
    	* varobj.c (struct varobj_root) <exp>: Now an expression_up
    	instead of a raw pointer.
    	(varobj_create): Adjust.
    	(varobj_set_value): Use an expression_up instead of cleanups.
    	(new_root_variable): Use new instead of XNEW.
    	(free_variable): Use delete instead of xfree.
    	(value_of_root_1): Use std::swap.

commit b064640146bb6908a0ccca27ca8ee2b06b668137
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    cli-script.c: Simplify using std::string, eliminate cleanups
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-script.c (execute_control_command): Use std::string
    	instead of cleanups.
    	(locate_arg): Constify return type.
    	(insert_args): Constify paremeter.  Simplify using std::string.
    	Return a std::string.

commit 896b6bda6904765f36692d76a37b99c0412ca9ae
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    breakpoint.c:commands_command_1 constification and cleanup
    
    This is constification needed for next patch.  Adjust
    commands_command_1 to use std::string too because the "arg" parameter
    is currently overwritten and then passed to make_cleanup.  The
    constification alone would trigger a compile error in the make_cleanup
    call otherwise (passing const char * to void * parameter).  Using
    std::string gets rid of the cleanup in the first place, resulting in
    simpler code.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.c (struct commands_info) <arg>: Constify.
    	(commands_command_1): Constify 'arg' parameter.  Use std::string
    	and string_printf.
    	(commands_from_control_command): Constify 'arg' parameter.
    	(map_breakpoint_numbers): Constify 'args' parameter.
    	* breakpoint.h (commands_from_control_command): Constify 'arg'
    	parameter.

commit 4f8ad951f662864884d4b11315c940c5239a4a89
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:42 2016 +0000

    cli/cli-script.c: Remove some dead NULL checks
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-script.c (execute_control_command): Assume insert_args
    	never returns NULL.
    	(insert_args): Assume xmalloc never returns NULL.

commit d4081a383e28db26c65298f7405554d4312b1342
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:42 2016 +0000

    Introduce string_printf
    
    This introduces the string_printf function.  Like asprintf, but
    returns a std::string.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (COMMON_OBS): Add utils-selftests.o.
    	* common/common-utils.c (string_printf): New function.
    	* common/common-utils.h: Include <string>.
    	(string_printf): Declare.
    	* utils-selftests.c: New file.

commit cb64e50d42a49bce61050c79c5ab0846905b6a82
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Nov 8 15:03:46 2016 +0000

    Fix heap-buffer-overflow error detected by address sanitization on a fuzzed binary.
    
    	PR binutils/20794
    	* readelf.c (process_section_headers): Fix off-by-one error when
    	checking for invalid sh_link and sh_info fields.

commit 93f9a11fbdb8f09428b17180d51a09a1bda39a52
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 14:28:32 2016 +0000

    gdbarch software_single_step returns VEC (CORE_ADDR) *
    
    This patch changes gdbarch method software_single_step to return a
    vector of addresses on which GDB should insert breakpoints, and don't
    insert breakpoints.  Instead, the caller of
    gdbarch_software_single_step inserts breakpoints if the returned
    vector is not NULL.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_software_single_step): Return
    	VEC (CORE_ADDR) *.  Return NULL instead of 0.  Don't call
    	insert_single_step_breakpoint.
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Likewise.
    	(alpha_software_single_step): Likewise.
    	* alpha-tdep.h (alpha_software_single_step): Update declaration.
    	* arm-linux-tdep.c (arm_linux_software_single_step): Return
    	VEC (CORE_ADDR) *.  Return NULL instead of 0.
    	* arm-tdep.c (arm_software_single_step): Return NULL instead of	0.
    	* arm-tdep.h (arm_software_single_step): Update declaration.
    	* breakpoint.c (insert_single_step_breakpoints): New function.
    	* breakpoint.h (insert_single_step_breakpoints): Declare.
    	* cris-tdep.c (cris_software_single_step): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	* gdbarch.sh (software_single_step): Change it to return
    	VEC (CORE_ADDR) *.
    	* gdbarch.c, gdbarch.h: Regenerated.
    	* infrun.c (maybe_software_singlestep): Adjust.
    	* mips-tdep.c (mips_deal_with_atomic_sequence): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	(micromips_deal_with_atomic_sequence): Likewise.
    	(deal_with_atomic_sequence): Likewise.
    	(mips_software_single_step): Likewise.
    	* mips-tdep.h (mips_software_single_step): Update declaration.
    	* moxie-tdep.c (moxie_software_single_step): Likewise.
    	* nios2-tdep.c (nios2_software_single_step): Likewise.
    	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Update
    	declaration.
    	* record-full.c (record_full_resume): Adjust.
    	(record_full_wait_1): Likewise.
    	* rs6000-aix-tdep.c (rs6000_software_single_step): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	* rs6000-tdep.c	(ppc_deal_with_atomic_sequence): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	* s390-linux-tdep.c (s390_software_single_step): Likewise.
    	* sparc-tdep.c (sparc_software_single_step): Likewise.
    	* spu-tdep.c (spu_software_single_step): Likewise.
    	* tic6x-tdep.c (tic6x_software_single_step): Likewise.

commit 0bc5d801ec836cd4b7d1ab7d05658e7a1d05df22
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 12:58:33 2016 +0000

    Clear addr bit in next_pcs vector
    
    This patch is to split the loop of calling gdbarch_addr_bits_remove
    and insert_single_step_breakpoint into two loops.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-linux-tdep.c (arm_linux_software_single_step): Write
    	adjusted address back to vector.  Call insert_single_step_breakpoint
    	in a new loop.
    	* arm-tdep.c (arm_software_single_step): Likewise.

commit 771da62d67a9f27c1e706610efe51b13c3f9fd60
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 12:47:16 2016 +0000

    Remove arm_insert_single_step_breakpoint
    
    This patch is to remove arm_insert_single_step_breakpoint.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-linux-tdep.c (arm_linux_software_single_step): Don't
    	call arm_insert_single_step_breakpoint, call
    	insert_single_step_breakpoint instead.
    	* arm-tdep.c (arm_insert_single_step_breakpoint): Remove.
    	(arm_software_single_step): Don't call
    	arm_insert_single_step_breakpoint, call
    	insert_single_step_breakpoint instead.
    	* arm-tdep.h (arm_insert_single_step_breakpoint): Remove
    	declaration.

commit 53c3572a9f5b03a92292cb6d24bf69b52c95500e
Author: Cordian A. Daniluk <th3c0r1uk@gmail.com>
Date:   Sat Oct 29 20:39:57 2016 +0200

    Fix PR breakpoints/20739: Badly formatted adress string in error message
    
    Remove duplicate `0x'-prefix for the hex address printed.  `paddress'
    already prepends this, so no need to do it manually.
    
    gdb/ChangeLog:
    2016-11-08  Cordian A. Daniluk  <th3c0r1uk@gmail.com>
    
    	PR breakpoints/20739
    	* breakpoint.c (check_fast_tracepoint_sals): Don't print duplicate
    	0x prefix.

commit 3b0d929dd61fcd55b4ef320a2033c731443b394f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 12:32:05 2016 +0000

    Fix bfd/dwarf2.c build breakage
    
    Fix build breakage introduced by commit 089e3718bd8d ("Greatly improve
    the speed if looking up DWARF line number information."):
    
     -  bfd_boolean is_linkage;
     -  const char *name;
     -  struct arange arange;
     +  int                  line;
     +  int                  tag;
     +  bfd                  boolean is_linkage;
    
    bfd/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
    	not "bfd boolean".

commit 089e3718bd8de11fc4d6bbc8d32701033d467960
Author: Igor Tsimbalist <tigor.tools@gmail.com>
Date:   Tue Nov 8 12:01:58 2016 +0000

    Greatly improve the speed if looking up DWARF line number information.
    
    	* dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
    	'number_of_functions' to keep lookup table and number of entries in
    	the table.
    	(line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
    	to keep lookup table and number of entries in the table.
    	(lookup_funcinfo): New structure for lookup table for function
    	references.
    	(build_line_info_table): New function to create and build the lookup
    	table for line information.
    	(lookup_address_in_line_info_table): Use the lookup table instead of
    	traverse a linked list.
    	(compare_lookup_funcinfos): New compare fuction used in sorting of
    	lookup table for function references.
    	(build_lookup_funcinfo_table): New function to create, build and
    	sort the lookup table for functions references.
    	(lookup_address_in_function_table): Use the table instead of
    	traverse a linked list.
    	(_bfd_dwarf2_cleanup_debug_info): Free memory from function references
    	lookup table.

commit 20955dbf718992e83b7c971344931934b62a784f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 11:32:53 2016 +0000

    Fix indentation
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* rust-lang.c (val_print_struct): Fix indentation.

commit 9dc193c3be85aafa60ceff57d3b0430af607b4ce
Author: Lionel Flandrin <lionel@svkt.org>
Date:   Tue Nov 8 10:27:36 2016 +0000

    Check for truncated registers in process_g_packet
    
    While investigating an unrelated issue in remote.c I noticed that the
    bound checking for 'g' packets was bogus:
    
    The previous code would only check that the first byte of the register
    was within bounds before passing the buffer to regcache_raw_supply.
    If it turned out that the register in the 'g' packet was incomplete
    then regcache_raw_supply would proceed to memcpy out-of-bounds.
    
    Since the buffer is allocated with alloca it's relatively unlikely to
    crash (you just end up dumping gdb's stack into the cache) but it's
    still a bit messy.
    
    I changed this logic to check for truncated registers and raise an
    error if one is encountered.  Hopefully it should make debugging
    remote stubs a bit easier.
    
    gdb/ChangeLog:
    2016-11-08  Lionel Flandrin  <lionel@svkt.org>
    
    	* remote.c (process_g_packet): Detect truncated registers in 'g'
    	packets and raise an error.

commit ec7b600bf1410f6bda239666fac258a605dc3f43
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 8 00:00:34 2016 +0000

    Automatic date update in version.in

commit 48c97fa1ba7d6628352fc2433abd91a41f6c8171
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 7 14:58:38 2016 -0800

    X86: Properly handle bad FPU opcode
    
    Since Bad_Opcode and FGRPd9_2 were the same in i386-dis.c, all
    Bad_Opcode entries in float_reg were displaced as FGRPd9_2.  This
    patch adds an entry for Bad_Opcode in fgrps to avoid treating it
    as FGRPd9_2.
    
    gas/
    
    	PR binutils/20775
    	* testsuite/gas/i386/i386.exp: Run fpu-bad.
    	* testsuite/gas/i386/fpu-bad.d: New file.
    	* testsuite/gas/i386/fpu-bad.s: Likewise.
    
    opcodes/
    
    	PR binutils/20775
    	* i386-dis.c (FGRPd9_2): Replace 0 with 1.
    	(FGRPd9_4): Replace 1 with 2.
    	(FGRPd9_5): Replace 2 with 3.
    	(FGRPd9_6): Replace 3 with 4.
    	(FGRPd9_7): Replace 4 with 5.
    	(FGRPda_5): Replace 5 with 6.
    	(FGRPdb_4): Replace 6 with 7.
    	(FGRPde_3): Replace 7 with 8.
    	(FGRPdf_4): Replace 8 with 9.
    	(fgrps): Add an entry for Bad_Opcode.

commit 5996220cfa24ef6fddb782617720cd56913b1bb7
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:31:24 2016 -0800

    Fix ext lang calls to value_struct_elt.
    
    gdb/ChangeLog:
    
    	* guile/scm-value.c (gdbscm_value_field): Fix call to value_struct_elt.
    	* python/py-value.c (valpy_getitem): Ditto.

commit ad9eb1fdda263cd91ee8fb36292fb29d546b0076
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:27:22 2016 -0800

    i386-tdep.c (i386_gdbarch_init): Add comments.
    
    gdb/ChangeLog:
    
    	* i386-tdep.c (i386_gdbarch_init): Add comments.

commit bc71081e53e3c0a52a28d5874e65a54194e2205f
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:23:10 2016 -0800

    python/py-unwind.c (unwind_infopy_str): Fix use of VEC_iterate.
    
    gdb/ChangeLog:
    
    	* python/py-unwind.c (unwind_infopy_str): Fix use of VEC_iterate.

commit a57160325ef479bd7181a4319126b1177c4a5cbb
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:15:48 2016 -0800

    configure.tgt (x86_64-*-elf*): Remove i386bsd-tdep.o.
    
    gdb/ChangeLog:
    
    	* configure.tgt (x86_64-*-elf*): Remove i386bsd-tdep.o.

commit 5ada5c6fca335963b0b9fb9e91c999fcdaab2f89
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:08:55 2016 -0800

    Sync config.sub,config.guess with upstream.

commit 3e11dd8696f156b8e79f5b2188be1cf8f894e85b
Merge: db2060b 7a34932
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Nov 7 21:58:39 2016 +0100

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

commit 7a34932bce1342c970a03128bbccc5a81ae3da6b
Author: Loïc Yhuel <loic.yhuel@softathome.com>
Date:   Mon Nov 7 08:00:21 2016 -0800

    Add missing '$' in configure.ac.
    
    2016-11-04  Loïc Yhuel <loic.yhuel@softathome.com>
    
    gold/
            * configure.ac: add missing '$'.
            * configure: Regenerate.

commit e680a6b69b4bd173a180419e973a9bf18a000151
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 7 15:05:34 2016 +0000

    Fix infinite loop when processing rpath tokens.
    
    	PR ld/20784
    	* emultempl/elf32.em (search_needed): Fix infinite loop when
    	unable to process a token.  Add support for curly braced enclosed
    	tokens.
    	* ld.texinfo (--rpath-link): Document supprot for $ORIGIN and
    	$LIB.

commit 9af89fbaecca21b2ca34c142584165066807fb10
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 7 12:28:16 2016 +0000

    Note that the linker's --compress-debug-sections option overrides the compression status of any input debug sections.
    
    	* ld.texinfo (--compress-debug-sections): Expand documentation of
    	this option.

commit b93bfa1980fa4d1229874067dd36acd9ac5685cd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 7 00:00:23 2016 +0000

    Automatic date update in version.in

commit db2060bfd45fedf12db5495376c2bee5526acc6c
Merge: 02e0217 62e3476
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Nov 6 19:02:26 2016 +0100

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

commit 62e34765c9b25094e6a7b460c3a1632efe51e03e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 6 00:00:24 2016 +0000

    Automatic date update in version.in

commit 9cee1c1eb3d7a39279f7a0dae94bb38ab1106d1b
Author: Nathan Sidwell <nathan@acm.org>
Date:   Thu Nov 3 20:42:23 2016 -0700

    Fix gas crash with unreasonably long lines
    
    	gas/
    	* input-scrub.c (partial_size): Make size_t.
    	(buffer_length): Likewise.  Adjust meaning.
    	(struct input_save): Adjust partial_size type.
    	(input_scrub_reinit): New.
    	(input_scrub_push, input_scrub_begin): Use it.
    	(input_scrub_next_buffer): Fix buffer extension logic. Only scan
    	newly read buffer for newline.

commit 26c4b26f0cc51f04cdaba3c9e6ff09032bd10d8b
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Nov 4 23:47:32 2016 -0400

    Fix a few typos
    
    gdb/ChangeLog:
    
    	* maint.c (scoped_command_stats::scoped_command_stats): Fix typo.
    	* ppcnbsd-tdep.c (_initialize_ppcnbsd_tdep): Likewise.
    	* ppcobsd-tdep.c (_initialize_ppcobsd_tdep): Likewise.
    	* ui-out.c (ui_out_new): Likewise.
    	* utils.c (init_page_info): Likewise.
    	(reset_prompt_for_continue_wait_time): Likewise.
    	* windows-nat.c (windows_init_thread_list): Likewise.
    	* xtensa-tdep.c (call0_analyze_prologue): Likewise.

commit 7989954c57444ef2a5963bb2bb0fae4652b846a6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 5 00:00:20 2016 +0000

    Automatic date update in version.in

commit b437d035ddf4e4c0c566c577ee059790ed28ad9b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 27 12:06:01 2016 +0100

    arc/nps400: Validate address type operands correctly
    
    When we match against an address type operand within an instruction it
    is important that we match exactly the right address type operand early
    on, during the opcode selection phase.  If we wait until the operand
    insertion phase to check that we have the correct address operand, then
    it is too late to select an alternative opcode.  This becomes important
    only when we have multiple opcodes with the same mnemonic, and operand
    lists that differ only in the type of the address operands.
    
    This commit fixes this issue, and adds some example instructions that
    require this issue to be fixed (the instructions are identical except
    for the address type operand).
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (find_opcode_match): Use insert function to
    	validate matching address type operands.
    	* testsuite/gas/arc/nps400-10.d: New file.
    	* testsuite/gas/arc/nps400-10.s: New file.
    
    opcodes/ChangeLog:
    
    	* arc-opc.c (arc_flag_operands): Add F_DI14.
    	(arc_flag_classes): Add C_DI14.
    	* arc-nps400-tbl.h: Add new exc instructions.

commit 848ac659685fba46ce8816400db705f60c8040f7
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Aug 11 16:04:59 2016 +0100

    objcopy: Close some memory leaks in error paths
    
    Closes some memory leaks within objcopy for error paths.
    
    binutils/ChangeLog:
    
    	* objcopy.c (copy_section): Add extra calls to free for error
    	paths.

commit c42608e136ef1eb52f65002d5e7efe6d62b7f285
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Aug 21 21:47:14 2016 -0600

    set default-directory in dwarf-browse
    
    I've been using dwarf-mode.el again recently and I found it mildly
    annoying that the mode doesn't set default-directory.  Setting it
    means that operations in the dwarf-browsing buffer default to the
    directory holding the object file being investigated.
    
    This bumps the version number as well so that updating it via the
    package manager works properly.
    
    2016-11-04  Tom Tromey  <tom@tromey.com>
    
    	* dwarf-mode.el (dwarf-browse): Set default-directory.  Bump
    	version number.

commit feb4bea70a297eb6316d1b0685bbbb8095b7fb29
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Fri Nov 4 19:48:35 2016 +0100

    S/390: Fix 16 bit pc relative relocs.
    
    Since the bpp instruction has been added the 16 bit wide pc relative
    relocs might occur at offset 2 as well at offset 4 in an instruction.
    With this patch the different adjustment is passed from
    md_gather_operand to md_apply_fix via fx_pcrel_adjust field in the fix
    data structure.
    
    No regressions on s390x.
    
    gas/ChangeLog:
    
    2016-11-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Set fx_pcrel_adjust.
    	(md_apply_fix): Use/Set fx_pcrel_adjust.
    	* testsuite/gas/s390/zarch-zEC12.d: Add bpp reloc test pattern.
    	* testsuite/gas/s390/zarch-zEC12.s: Add bpp reloc test.

commit d46a21655318492db1e6113972fb02ab49eae75f
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Nov 4 16:32:08 2016 +0000

    Commit missing ChangeLog entry for Cortex-M33 support
    
    2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    include/
    	* opcode/arm.h (ARM_AEXT_V8M_MAIN_DSP): Define.
    	(ARM_AEXT2_V8M_MAIN_DSP): Likewise.
    	(ARM_ARCH_V8M_MAIN_DSP): Likewise.

commit b19ea8d28b1c06c2973738c1cda076f895ac3ad0
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Nov 4 16:24:59 2016 +0000

    Add support for ARM Cortex-M33 processor
    
    2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (cortex-m33): Declare new processor.
    	* doc/c-arm.texi (-mcpu ARM command line option): Document new
    	Cortex-M33 processor.
    	* NEWS: Mention ARM Cortex-M33 support.

commit ce1b0a458aed5fea182c8eb4a8cf1161d1c0a20f
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Nov 4 16:24:08 2016 +0000

    Add support for ARM Cortex-M23 processor
    
    2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (cortex-m23): Declare new processor.
    	* doc/c-arm.texi (-mcpu ARM command line option): Document new
    	Cortex-M23 processor.
    	* NEWS: Mention ARM Cortex-M23 support.

commit 13be4805fe268e9ac61e6a6b22d19b8e6e7738bb
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Fri Nov 4 16:08:31 2016 +0000

    Add maintainers for RISC-V target.
    
    	* MAINTAINERS: Add myself and Andrew Waterman as maintainers for
    	the RISC-V target.

commit 4f7eddc4d1a03c982a4f0361879bc5347b921b10
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Fri Nov 4 14:18:06 2016 +0000

    Update RISC-V documentation and make sure that it is included in the gas info file.
    
    	* Makefile.am (CPU_DOCS): Add c-riscv.texi.
    	* Makefile.in: Regenerate.
    	* doc/all.texi: Set RISCV.
    	* doc/as.texinfo: Add RISCV options.
    	Add RISC-V-Dependent node.
    	Include c-riscv.texi.
    	* doc/c-riscv.texi: Rename RISC-V Options to RISC-V-Opts.

commit 88ba72a2dfae2e71e3b0798ac74c6853749fd502
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 4 13:57:40 2016 +0000

    Remove support for $PLATFORM in rpath search paths.
    
    	* emultempl/elf32.em (search_needed): Remove use of getauxval and
    	inclusion of <sys/auxv.h>.  Replace support for $PLATFORM with a
    	warning message.
    	* configure.ac (AC_CHECK_FUNCS): Remove getauxval.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 1b7a12f2d68f2f334fbe78cc2db76982ba6d4ef1
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 4 13:50:01 2016 +0000

    Fix building binutils for all 32-bit targets by moving riscv32 target into 64-bit builds only.
    
    	* targets.c (bfd_target_vector): Only add riscv_elf32_vec target
    	when supporting 64-bit BFD targets.

commit 8f1732fc2a11dc2dbece0800d4ed6f011590d3ad
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 14:21:05 2016 +0100

    ld: Allow EXCLUDE_FILE to be used outside of the section list
    
    Currently the EXCLUDE_FILE linker script construct can only be used
    within the input section list, and applied only to the section pattern
    immediately following the EXCLUDE_FILE.  For example:
    
        *.o (EXCLUDE_FILE (a.o) .text .rodata)
    
    In this case all sections matching '.text' are included from all files
    matching '*.o' but not from the file 'a.o'.  All sections matching
    '.rodata' are also included from all files matching '*.o' (incluing from
    'a.o').
    
    If the user wants to restrict the inclusion of section '.rodata' so that
    this too is not taken from the file 'a.o' then the above example must be
    extended like this:
    
        *.o (EXCLUDE_FILE (a.o) .text EXCLUDE_FILE (a.o) .rodata)
    
    However, due to the internal grammar of the linker script language the
    snippet 'EXCLUDE_FILE (a.o) .text' is parsed by a pattern called
    'wildcard_spec'.  The same 'wildcard_spec' pattern is also used to parse
    the input file name snippet '*.o' in the above examples.  As a result of
    this pattern reuse within the linker script grammar then the following
    is also a valid linker script construct:
    
        EXCLUDE_FILE (a.o) *.o (.text .rodata)
    
    However, though the linker accepts this without complaint the
    EXCLUDE_FILE part is silently ignored and has no effect.
    
    This commit takes this last example and makes it a useful, valid,
    construct.  The last example now means to include sections '.text' and
    '.rodata' from all files matching '*.o' except for the file 'a.o'.
    
    If the list of input sections is long, and the user knows that the file
    exclusion applies across the list then the second form might be a
    clearer alternative to replicating the EXCLUDE_FILE construct.
    
    I've added a set of tests for EXCLUDE_FILE to the linker, including
    tests for the new functionality.
    
    ld/ChangeLog:
    
    	* ldlang.h (struct lang_wild_statement_struct): Add
    	exclude_name_list field.
    	* ldlang.c (walk_wild_file_in_exclude_list): New function.
    	(walk_wild_consider_section): Use new
    	walk_wild_file_in_exclude_list function.
    	(walk_wild_file): Add call to walk_wild_file_in_exclude_list.
    	(print_wild_statement): Print new exclude_name_list field.
    	(lang_add_wild): Initialise new exclude_name_list field.
    	* testsuite/ld-scripts/exclude-file-1.d: New file.
    	* testsuite/ld-scripts/exclude-file-1.map: New file.
    	* testsuite/ld-scripts/exclude-file-1.t: New file.
    	* testsuite/ld-scripts/exclude-file-2.d: New file.
    	* testsuite/ld-scripts/exclude-file-2.map: New file.
    	* testsuite/ld-scripts/exclude-file-2.t: New file.
    	* testsuite/ld-scripts/exclude-file-3.d: New file.
    	* testsuite/ld-scripts/exclude-file-3.map: New file.
    	* testsuite/ld-scripts/exclude-file-3.t: New file.
    	* testsuite/ld-scripts/exclude-file-4.d: New file.
    	* testsuite/ld-scripts/exclude-file-4.map: New file.
    	* testsuite/ld-scripts/exclude-file-4.t: New file.
    	* testsuite/ld-scripts/exclude-file-a.s: New file.
    	* testsuite/ld-scripts/exclude-file-b.s: New file.
    	* testsuite/ld-scripts/exclude-file.exp: New file.
    	* ld.texinfo (Input Section Basics): Update description of
    	EXCLUDE_FILE to cover the new features.
    	* NEWS: Mention new EXCLUDE_FILE usage.

commit 88bd15396002102beedf49c87adee7b16c2bb409
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 15:25:55 2016 +0100

    ld: Create test object files based on source file name
    
    When creating object files during testing, base the name of the object
    file on the name of the source file, rather than using dump0.o,
    dump1.o, etc.  There's a few places where we have multiple source
    files with the same name but in different directories, in these cases,
    even after this change, we still add a numerical suffix to make the
    object file names unique.  So if we have 'foo/src.s' and 'bar/src.s',
    we will create object files 'src.o' and 'src1.o'.
    
    Update the few tests that hard code the object file name into the
    expected test results.
    
    ld/ChangeLog:
    
    	* testsuite/lib/ld-lib.exp (run_dump_test): Use object file names
    	based on the original source file name.
    	* testsuite/ld-discard/extern.d: Update object file names.
    	* testsuite/ld-discard/start.d: Likewise.
    	* testsuite/ld-discard/static.d: Likewise.
    	* testsuite/ld-elf/orphan-8.map: Likewise.

commit b709ef7ca12d963678c6f73b10a20bea60cfb0df
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Sun Oct 30 08:11:30 2016 +0000

    ld/xc16x: This target does not support -shared
    
    Add the xc16x-elf target to the list of targets that do not support
    the -shared option.  Being missing from this list was causing the
    linker to add '-z norelro' to the link line of many tests, which in
    turn caused these tests to fail.
    
    ld/ChangeLog:
    
    	* testsuite/lib/ld-lib.exp (check_shared_lib_support): Add
    	xc16x-*-elf to the list of targets that don't support -shared.

commit 6b211b9cc3c61f514423869af51a17e4c2bc7531
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 11:18:12 2016 +0100

    ld: Rename pattern within yacc grammar file
    
    Rename file_NAME_list to section_NAME_list in the linker's grammar
    file.  This rename reflects how the pattern is now being used, and makes
    the grammar easier to understand.
    
    There should be no functional change after this commit.
    
    ld/ChangeLog:
    
    	* ldgram.y: Rename file_NAME_list to section_NAME_list
    	throughout.

commit aed6eddb24be670fa619b844c651095bb65396d1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 4 00:00:13 2016 +0000

    Automatic date update in version.in

commit cdf5a07c75b47481da1e99ee91ee860c2a6bb5f6
Author: Manish Goregaokar <manish@mozilla.com>
Date:   Sat Oct 29 05:55:58 2016 -0700

    Add support for the sizeof function in Rust
    
    2016-10-29  Manish Goregaokar  <manish@mozilla.com>
    
    gdb/ChangeLog:
        * rust-exp.y: Parse `sizeof(exp)` as `UNOP_SIZEOF`
    
    gdb/testsuite/ChangeLog:
        * gdb.rust/simple.exp: Add tests for `sizeof(expr)`

commit b96645f1a1e6084ed6a20ddf615bdc4d2487a9c9
Author: Manish Goregaokar <manish@mozilla.com>
Date:   Fri Oct 28 18:00:43 2016 -0700

    Add support for untagged unions in Rust
    
    2016-10-28  Manish Goregaokar  <manish@mozilla.com>
    
    gdb/ChangeLog:
        * rust-lang.c (rust_union_is_untagged): Add function to
        check if a union is an untagged unioni
        (rust_val_print): Handle printing of untagged union values
        (rust_print_type): Handle printing of untagged union types
        (rust_evaluate_subexp): Handle evaluating field
        access on untagged unions

commit 51a789c3bf3d9b04d3d81493fda7f2514ae43add
Author: Manish Goregaokar <manish@mozilla.com>
Date:   Thu Oct 27 16:46:34 2016 -0700

    Fix handling of discriminantless univariant enums in Rust; fix bug with encoded enums
    
    2016-10-27  Manish Goregaokar  <manish@mozilla.com>
    
    gdb/ChangeLog:
        * rust-lang.c (rust_get_disr_info): Treat univariant enums
        without discriminants as encoded enums with a real field
        * rust-lang.c (rust_evaluate_subexp): Handle field access
        on encoded struct-like enums
    
    gdb/testsuite/ChangeLog:
        * simple.rs: Add test for univariant enums without discriminants
        and for encoded struct-like enums
        * simple.exp: Add test expectations

commit 98d0e90ccafe18d0b6392fa891e4b3d77299ae95
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Oct 26 17:53:21 2016 +0100

    [ARC] Fix ldbit test on 32-bit systems
    
    The long immediate operand chosen for one of the ldbit tests is
    equivalent to a small negative value that would fit inside an s9
    operand, leading to the assembler to choose an unexpected (but
    legitimate) encoding of the instruction on 32-bit systems, and
    therefore causing the test to fail. This commit fixes the test by
    changing the offending limm value so that it can no longer be
    interpreted as an s9 operand.
    
    gas/ChangeLog:
    
        * testsuite/gas/arc/nps400-6.s: Change ldbit tests so that
        limm operands are out of the range of an s9, in order to fix
        the test.
        * testsuite/gas/arc/nps400-6.d: Updated to match new expected
        output.

commit 5a736821eff3aa4a8da237778526f9f700759c7a
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Tue Oct 18 20:10:25 2016 +0100

    arc: Implement NPS-400 dcmac instruction
    
    gas/ChangeLog:
    
           * testsuite/gas/arc/nps-400-9.d: Added.
           * testsuite/gas/arc/nps-400-9.s: Added.
    
    include/ChangeLog:
    
           * opcode/arc.h: Add PROTOCOL_DECODE to insn_class_t.
    
    opcodes/ChangeLog:
    
           * arc-dis.c (arc_insn_length): Return length 8 for instructions with
           major opcode 0xa.
           * arc-nps-400-tbl.h: Add dcmac instruction.
           * arc-opc.c (arc_operands): Added operands for dcmac instruction.
           (insert_nps_rbdouble_64): Added.
           (extract_nps_rbdouble_64): Added.
           (insert_nps_proto_size): Added.
           (extract_nps_proto_size): Added.

commit bdfe53e3cfebb392b1a0ef50fdd02faafec6dc63
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Jul 6 19:39:55 2016 +0100

    arc: Change max instruction length to 64-bits
    
    The current handling for arc instructions longer than 32-bits is all
    handled as a special case in both the assembler and disassembler.
    
    The problem with this approach is that it leads to code duplication,
    selecting a long instruction is exactly the same process as selecting a
    short instruction, except over more bits, in both cases we select based
    on bit comparison, and initial operand insertion and extraction.
    
    This commit unifies both the long and short instruction worlds,
    converting the core opcodes library from being largely 32-bit focused,
    to being largely 64-bit focused.
    
    The changes are, on the whole, not too much.  There's obviously a lot of
    type changes but otherwise the bulk of the code just works.  Most of the
    actual functional changes are to code that previously handled the longer
    48 or 64 bit instructions.  The insert/extract handlers for these have
    now been brought into line with the short instruction insert/extract
    handlers.
    
    All of the special case handling code that was previously added has now
    been removed again.  Overall, this commit reduces the amount of code in
    the arc assembler and disassembler.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (struct arc_insn): Change type of insn field.
    	(md_number_to_chars_midend): Support 6- and 8-byte values.
    	(emit_insn0): Update debug output.
    	(find_opcode_match): Likewise.
    	(build_fake_opcode_hash_entry): Delete.
    	(find_special_case_long_opcode): Delete.
    	(find_special_case): Remove long format special case handling.
    	(insert_operand): Change instruction type and update debug print
    	format.
    	(assemble_insn): Change instruction type, update debug print
    	formats, and remove unneeded assert.
    
    include/ChangeLog:
    
    	* opcode/arc.h (struct arc_opcode): Change type of opcode and mask
    	fields.
    	(struct arc_long_opcode): Delete.
    	(struct arc_operand): Change types for insert and extract
    	handlers.
    
    opcodes/ChangeLog:
    
    	* arc-dis.c (struct arc_operand_iterator): Remove all fields
    	relating to long instruction processing, add new limm field.
    	(OPCODE): Rename to...
    	(OPCODE_32BIT_INSN): ...this.
    	(OPCODE_AC): Delete.
    	(skip_this_opcode): Handle different instruction lengths, update
    	macro name.
    	(special_flag_p): Update parameter type.
    	(find_format_from_table): Update for more instruction lengths.
    	(find_format_long_instructions): Delete.
    	(find_format): Update for more instruction lengths.
    	(arc_insn_length): Likewise.
    	(extract_operand_value): Update for more instruction lengths.
    	(operand_iterator_next): Remove code relating to long
    	instructions.
    	(arc_opcode_to_insn_type): New function.
    	(print_insn_arc):Update for more instructions lengths.
    	* arc-ext.c (extInstruction_t): Change argument type.
    	* arc-ext.h (extInstruction_t): Change argument type.
    	* arc-fxi.h: Change type unsigned to unsigned long long
    	extensively throughout.
    	* arc-nps400-tbl.h: Add long instructions taken from
    	arc_long_opcodes table in arc-opc.c.
    	* arc-opc.c: Update parameter types on insert/extract handlers.
    	(arc_long_opcodes): Delete.
    	(arc_num_long_opcodes): Delete.
    	(arc_opcode_len): Update for more instruction lengths.

commit 90f61cceac73fe40dcd21b3590c247bfa624ac00
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Thu Oct 13 09:34:16 2016 +0100

    arc: Swap highbyte and lowbyte in print_insn_arc
    
    highbyte and lowbyte actually refer to the low byte and the high
    byte respectively, but are used consistently in this swapped
    order. This commit swaps them round so that highbyte refers to the
    high byte and lowbyte refers to the low byte.
    
    There should be no functional change after this commit.
    
    opcodes/ChangeLog:
    
       * arc-dis.c (print_insn_arc): Swap highbyte and lowbyte.

commit 2e27220211249bfeb38b10e630b33fbd170fce6c
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Jul 6 19:01:53 2016 +0100

    opcodes/arc: Make some macros 64-bit safe
    
    In preparation to moving to a world where arc instructions can be 2, 4,
    6, or 8 bytes long, make some macros 64-bit safe.
    
    There should be no functional change after this commit.
    
    include/ChangeLog:
    
    	* opcode/arc.h: Make macros 64-bit safe.

commit 06fe285fd293e999481ec8f5c619658aa5e3b48b
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Thu Sep 29 19:25:25 2016 +0100

    arc: Replace ARC_SHORT macro with arc_opcode_len function
    
    In preparation for moving to a world where arc instructions can be 2, 4,
    6, or 8 bytes in length, replace the ARC_SHORT macro (which is either
    true of false) with an arc_opcode_len function that returns a length in
    bytes.
    
    There should be no functional change after this commit.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (assemble_insn): Replace use of ARC_SHORT with
    	arc_opcode_len.
    
    include/ChangeLog:
    
    	* opcode/arc.h (arc_opcode_len): Declare.
    	(ARC_SHORT): Delete.
    
    opcodes/ChangeLog:
    
    	* arc-dis.c (find_format_from_table): Replace use of ARC_SHORT
    	with arc_opcode_len.
    	(find_format_long_instructions): Likewise.
    	* arc-opc.c (arc_opcode_len): New function.

commit 91fdca6f26cf33573364b5bd313ed4bed6a547cc
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Jul 6 15:04:37 2016 +0100

    gas/arc: Replace short_insn flag with insn length field
    
    When assembling an instruction replace the short_insn boolean flag with
    an integer field for holding the instruction length.  This is in
    preparation for moving to a world where instructions can be 2, 4, 6, or
    8 bytes in length.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (struct arc_insn): Replace short_insn flag with
    	len field.
    	(apply_fixups): Update to use len field.
    	(emit_insn0): Simplify code, making use of len field.
    	(md_convert_frag): Update to use len field.
    	(assemble_insn): Update to use len field.

commit ecf64ec654afe916099f0fe482c2dae417913905
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Sep 29 17:51:16 2016 +0100

    arc/opcodes/nps400: Fix some instruction masks
    
    A few masks were incorrect, there were opcode bits that lives outside of
    the instruction mask, the effected instructions are decode1, zncv, and
    efabgt.
    
    Previously these instructions would assemble and disassemble correctly,
    and a correctly encoded binary should behave no differently.  The only
    difference would be seen in a few incorrectly encoded binaries,
    previously these would have decoded to the above instructions, while now
    they will not.
    
    opcodes/ChangeLog:
    
    	* arc-nps400-tbl.h: Fix some instruction masks.

commit 2fe9c2a0c9fe3ca2f0fa94ea7219a8a4a299ac6a
Author: Siddhesh Poyarekar <siddhesh.poyarekar@linaro.org>
Date:   Thu Oct 20 00:29:34 2016 +0530

    New option falkor for Qualcomm server part
    
    This adds an option for the Qualcomm falkor core, the corresponding
    gcc patch is here:
    
    https://gcc.gnu.org/ml/gcc-patches/2016-11/msg00262.html
    
    This was tested with aarch64 and armhf builds and make check and also
    by building and running SPEC2006.
    
            * config/tc-aarch64.c (aarch64_cpus): Add falkor.
            * config/tc-arm.c (arm_cpus): Likewise.
            * doc/c-aarch64.texi: Likewise.
            * doc/c-arm.texi: Likewise.

commit d039fef395c1b5fd781acaf1c611f96f654f5f91
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Nov 3 09:55:01 2016 -0700

    X86: Reuse opcode 0x80 decoder for opcode 0x82
    
    Since opcode 0x82 is an alias of opcode 0x80, we can reuse opcode 0x80
    decoder.
    
    	* i386-dis.c (REG_82): Removed.
    	(X86_64_82_REG_0): Likewise.
    	(X86_64_82_REG_1): Likewise.
    	(X86_64_82_REG_2): Likewise.
    	(X86_64_82_REG_3): Likewise.
    	(X86_64_82_REG_4): Likewise.
    	(X86_64_82_REG_5): Likewise.
    	(X86_64_82_REG_6): Likewise.
    	(X86_64_82_REG_7): Likewise.
    	(X86_64_82): New.
    	(dis386): Use X86_64_82 instead of REG_82.
    	(reg_table): Remove REG_82.
    	(x86_64_table): Add X86_64_82.  Remove X86_64_82_REG_0,
    	X86_64_82_REG_1, X86_64_82_REG_2, X86_64_82_REG_3,
    	X86_64_82_REG_4, X86_64_82_REG_5, X86_64_82_REG_6 and
    	X86_64_82_REG_7.

commit 8b89fe14b522cd6e5d160ff17defa8ecec243b11
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Nov 3 09:13:01 2016 -0700

    X86: Decode opcode 0x82 as opcode 0x80 in 32-bit mode
    
    Update x86 disassembler to treat opcode 0x82 as an aliase of opcode 0x80
    in 32-bit mode.
    
    gas/
    
    	PR binutils/20754
    	* testsuite/gas/i386/opcode.s: Add tests for opcode 0x82.
    	* testsuite/gas/i386/opcode-intel.d: Updated.
    	* testsuite/gas/i386/opcode.d: Likewise.
    
    opcodes/
    
    	PR binutils/20754
    	* i386-dis.c (REG_82): New.
    	(X86_64_82_REG_0): Likewise.
    	(X86_64_82_REG_1): Likewise.
    	(X86_64_82_REG_2): Likewise.
    	(X86_64_82_REG_3): Likewise.
    	(X86_64_82_REG_4): Likewise.
    	(X86_64_82_REG_5): Likewise.
    	(X86_64_82_REG_6): Likewise.
    	(X86_64_82_REG_7): Likewise.
    	(dis386): Use REG_82.
    	(reg_table): Add REG_82.
    	(x86_64_table): Add X86_64_82_REG_0, X86_64_82_REG_1,
    	X86_64_82_REG_2, X86_64_82_REG_3, X86_64_82_REG_4,
    	X86_64_82_REG_5, X86_64_82_REG_6 and X86_64_82_REG_7.

commit 722bcb33bf0383487c1af0e7d401e30301e94e2b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 16:09:42 2016 +0000

    Replace YY_NULL with YY_NULLPTR in LANG-exp.c
    
    As we require c++11, GDB fails to build if bison is not new enough.
    I see the following error on the system (fedora 19) that bison is
    2.6.4,
    
    g++ -std=gnu++11 .... \
    	-c -o ada-exp.o -MT ada-exp.o -MMD -MP -MF .deps/ada-exp.Tpo 'if test -f ada-exp.c; then echo ada-exp.c; else echo ../../binutils-gdb/gdb/ada-exp.c; fi`
    In file included from ../../binutils-gdb/gdb/ada-exp.y:731:0:
    ada-lex.c:113:0: error: "YY_NULL" redefined [-Werror]
     #define YY_NULL 0
     ^
    ada-exp.c:158:0: note: this is the location of the previous definition
     #   define YY_NULL nullptr
     ^
    cc1plus: all warnings being treated as errors
    make: *** [ada-exp.o] Error 1
    
    Both ada-exp.c and ada-lex.c has macro YY_NULL, like this,
    
     $ cat 1.c
     # ifndef YY_NULL
     #  if defined __cplusplus && 201103L <= __cplusplus
     #   define YY_NULL nullptr
     #  else
     #   define YY_NULL 0
     #  endif
     # endif
    
     #define YY_NULL 0
    
    as we can see, YY_NULL is defined differently (nullptr vs 0)
    
    $ g++ -std=c++11 -Wall 1.c -c
    1.c:9:0: warning: "YY_NULL" redefined
     #define YY_NULL 0
     ^
    1.c:3:0: note: this is the location of the previous definition
     #   define YY_NULL nullptr
     ^
    $ g++ -Wall 1.c -c
    
    bison renames YY_NULL to YY_NULLPTR in 2013 Nov,
    https://lists.gnu.org/archive/html/bison-patches/2013-11/msg00002.html
    and bison released later than 2013 Nov have this patch.  Bison 3.0.2,
    released on 2013 Dec, is OK.
    
    The fix is to replace YY_NULL with YY_NULLPTR via sed.  With old bison,
    YY_NULL becomes YY_NULLPTR; with new bison, YY_NULLPTR becomes
    YY_NULLPTRPTR,
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (.y.c): Replace YY_NULL with YY_NULLPTR.

commit 034b77cf7875c4ea5aaf3d06dfea2e422abc47db
Author: Tristan Gingold <gingold@adacore.com>
Date:   Tue Sep 27 15:06:51 2016 +0200

    Deprecate old platforms
    
    bfd/
    	* config.bfd: Deprecate many old triplets.

commit 7148c36989ee64f15ac9618543309cd7311b6015
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Nov 3 08:38:13 2016 -0700

    X86: Rename REG_82 to REG_83
    
    The REG_82 entry in x86 disassembler is for opcode 0x83, not opcode
    0x82.
    
    	* i386-dis.c (REG_82): Renamed to ...
    	(REG_83): This.
    	(dis386): Updated.
    	(reg_table): Likewise.

commit 04180708eff91ddd3a9572bd4b517ccce5850db0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Remove GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION
    
    Both of them are used in conversion.  We can remove them since the
    conversion is done.
    
    There are many architectures only have one breakpoint instruction,
    so their gdbarch methods breakpoint_kind_from_pc and
    sw_breakpoint_from_kind look very similar.  Instead of macro, we
    use template "template <size_t, const gdb_byte *> struct bp_manipulation"
    for these architectures.  In order to use template, I also change
    breakpoint instruction of type "static const gdb_byte[]" to
    "constexpr gdb_byte[]", and rename them to ARCH_break_insn.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves <palves@redhat.com>
    
    	* aarch64-tdep.c (aarch64_default_breakpoint): Change it to
    	constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(aarch64_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* alpha-tdep.c (break_insn): Rename to alpha_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(alpha_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* arc-tdep.c (arc_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Remove.
    	(struct bp_manipulation): New.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): Remove.
    	(struct bp_manipulation_endian): New.
    	(BP_MANIPULATION): New.
    	(BP_MANIPULATION_ENDIAN): New.
    	* arm-tdep.c (arm_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* avr-tdep.c (avr_break_insn): Change it constexpr.
    	(avr_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
    	* cris-tdep.c (cris_gdbarch_init): Likewise.
    	* frv-tdep.c (breakpoint): Rename it to frv_break_insn, and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(frv_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* ft32-tdep.c (breakpoint): Rename it to ft32_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(ft32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* h8300-tdep.c (breakpoint): Rename it to h8300_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(h8300_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* hppa-tdep.c (breakpoint): Rename it to h8300_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(hppa_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* i386-tdep.c (break_insn): Rename it to i386_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(i386_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* iq2000-tdep.c (iq2000_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* lm32-tdep.c (breakpoint): Rename it to lm32_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(lm32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m32c-tdep.c (break_insn): Rename it to m32c_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m32c_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
    	* m68hc11-tdep.c (breakpoint): Rename it to m68hc11_break_insn and
    	change its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m68hc11_gdbarch_init): Don't use SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m68k-tdep.c (break_insn): Rename it to m68k_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m68k_gdbarch_init):  Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m88k-tdep.c (break_insn): Rename it to m88k_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m88k_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* mep-tdep.c (breakpoint): Rename it to mep_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(mep_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* microblaze-tdep.c (break_insn): Rename it to
    	microblaze_break_insn and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(microblaze_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* mips-tdep.c (mips_gdbarch_init): Likewise.
    	* mn10300-tdep.c (breakpoint): Rename it to mn10300_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(mn10300_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* moxie-tdep.c (breakpoint): Rename it to moxie_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(moxie_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* msp430-tdep.c (breakpoint): Rename it to msp430_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(msp430_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* mt-tdep.c (mt_gdbarch_init): Likewise.
    	* nds32-tdep.c (break_insn): Rename it to nds32_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(nds32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* nios2-tdep.c (nios2_gdbarch_init): Likewise.
    	* rl78-tdep.c (breakpoint): Rename it to rl78_break_ins
    	and change its type to rl78_break_insn.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(rl78_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* rs6000-tdep.c (big_breakpoint): Change its type to
    	constexpr.
    	(little_breakpoint): Likewise.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN.
    	(rs6000_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* rx-tdep.c (breakpoint): Rename it to rx_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(rx_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* s390-linux-tdep.c (breakpoint): Rename it to s390_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION
    	(s390_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* score-tdep.c (score_gdbarch_init): Likewise.
    	* sh-tdep.c (sh_gdbarch_init): Likewise.
    	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
    	* sparc-tdep.c (break_insn): Rename it to sparc_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(sparc32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* spu-tdep.c (breakpoint): Rename it to spu_break_insn and change
    	its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(spu_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* tic6x-tdep.c (tic6x_gdbarch_init): Likewise.
    	* tilegx-tdep.c (breakpoint): Rename it to tilegx_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(tilegx_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* v850-tdep.c (v850_gdbarch_init): Likewise.
    	* vax-tdep.c (break_insn): Rename it to vax_break_insn and
    	change its type to constexpr.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(vax_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* xstormy16-tdep.c (breakpoint): Rename it to
    	xstormy16_break_insn and change its type to constexpr.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(xstormy16_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* xtensa-tdep.c (xtensa_gdbarch_init): Likewise.

commit a97c97e8d7c818886f0f7beb3fd5dee0042b4a07
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Remove arm_override_mode
    
    GDB can determine the kind of single step breakpoint by gdbarch
    breakpoint_kind_from_current_state, so global variable
    arm_override_mode is no longer needed.  This patch removes it.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (arm_override_mode): Remove.
    	(arm_pc_is_thumb): Update.
    	(arm_insert_single_step_breakpoint): Update.

commit 833b7ab5008b769dca6db6d5ee1d21d33e730132
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Determine the kind of single step breakpoint
    
    This patch adds a new gdbarch method breakpoint_kind_from_current_state
    for single step breakpoint, and uses it in breakpoint_kind.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.c (default_breakpoint_kind_from_current_state):
    	New function.
    	* arch-utils.h (default_breakpoint_kind_from_current_state):
    	Declare.
    	* arm-tdep.c (arm_breakpoint_kind_from_current_state): New
    	function.
    	(arm_gdbarch_init): Call
    	set_gdbarch_breakpoint_kind_from_current_state.
    	* breakpoint.c (breakpoint_kind): Call
    	gdbarch_breakpoint_kind_from_current_state for single step
    	breakpoint.  Update comments.
    	* gdbarch.sh (breakpoint_kind_from_current_state): New.
    	* gdbarch.c, gdbarch.h: Regenerate.

commit 22f13eb869197fc45a0da2a8a96b03d39809862e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Add default_breakpoint_from_pc
    
    This patch adds the default implementation of gdbarch breakpoint_from_pc,
    which is,
    
    const gdb_byte *
    default_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr,
                               int *lenptr)
    {
      int kind = gdbarch_breakpoint_kind_from_pc (gdbarch, pcptr);
    
      return gdbarch_sw_breakpoint_from_kind (gdbarch, kind, lenptr);
    }
    
    so gdbarch can only defines sw_breakpoint_from_kind and
    breakpoint_kind_from_pc.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.c (default_breakpoint_from_pc): New function.
    	* arch-utils.h (GDBARCH_BREAKPOINT_FROM_PC): Remove.
    	(GDBARCH_BREAKPOINT_MANIPULATION): Don't use
    	GDBARCH_BREAKPOINT_FROM_PC.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): Don't call
    	set_gdbarch_breakpoint_from_pc.
    	(default_breakpoint_from_pc): Remove declaration.
    	* gdbarch.sh (breakpoint_from_pc): Add its default implementation.
    	* gdbarch.c, gdbarch.h: Regenerate.
    	* arm-tdep.c: Don't use GDBARCH_BREAKPOINT_FROM_PC.
    	* arc-tdep.c, bfin-tdep.c, cris-tdep.c, iq2000-tdep.c: Likewise.
    	* m32r-tdep.c, mips-tdep.c, mt-tdep.c: Likewise.
    	* nios2-tdep.c, score-tdep.c, sh-tdep.c: Likewise.
    	* sh64-tdep.c, tic6x-tdep.c, v850-tdep.c, xtensa-tdep.c: Likewise.

commit c0f4a997c26760d2584946196ee5c411d1a632a6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Remove gdbarch_remote_breakpoint_from_pc
    
    This patch removes gdbarch method remote_breakpoint_from_pc, as it
    is no longer used.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.c (default_remote_breakpoint_from_pc): Remove.
    	* arch-utils.h (default_remote_breakpoint_from_pc): Remove.
    	* arm-tdep.c (arm_remote_breakpoint_from_pc): Remove.
    	(arm_gdbarch_init): Don't call
    	set_gdbarch_remote_breakpoint_from_pc.
    	* gdbarch.sh (remote_breakpoint_from_pc): Remove.
    	* gdbarch.c, gdbarch.h: Regenerate.
    	* mips-tdep.c (mips_remote_breakpoint_from_pc): Remove.
    	(mips_gdbarch_init): Don't call
    	set_gdbarch_remote_breakpoint_from_pc.

commit 579c6ad9830058ccebf9c592d692c25fac6285c7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    Rename placed_size to kind
    
    This patch renames placed_size to kind.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* breakpoint.h (struct bp_target_info) <placed_size>: Remove.
    	<kind>: New field.
    	Update all users.

commit cd6c3b4ffc4ea6f56f12581419e2eed885441beb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    New gdbarch methods breakpoint_kind_from_pc and sw_breakpoint_from_kind
    
    This patch adds two gdbarch methods breakpoint_kind_from_pc and
    sw_breakpoint_from_kind, and uses target_info.placed_size as "kind"
    of the breakpoint.  This patch updates the usages of
    target_info.placed_size.
    
    The "kind" of a breakpoint is determined by gdbarch rather than
    target, so we have gdbarch method breakpoint_kind_from_pc, and we
    should set target_info.placed_size out of each implementation of
    target to_insert_breakpoint.  In this way, each target doesn't have
    to set target_info.placed_size any more.
    
    This patch also sets target_info.placed_address before
    target_insert_breakpoint too, so that target to_insert_breakpoint
    can use it, see record_full_insert_breakpoint.
    
    Before we call target_insert_breakpoint, we set
    target_info.placed_address and target_info.placed_size like this,
    
          CORE_ADDR addr = bl->target_info.reqstd_address;
    
          bl->target_info.placed_size = gdbarch_breakpoint_kind_from_pc (bl->gdbarch, &addr);
          bl->target_info.placed_address = addr;
    
          return target_insert_breakpoint (bl->gdbarch, &bl->target_info);
    
    target_insert_breakpoint may fail, but it doesn't matter to the "kind"
    and "placed_address" of a breakpoint.  They should be determined by
    gdbarch.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Define
    	breakpoint_kind_from_pc and sw_breakpoint_from_kind.
    	(GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): Likewise.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): Call
    	set_gdbarch_breakpoint_kind_from_pc and
    	set_gdbarch_sw_breakpoint_from_kind.
    	* arm-tdep.c: Add comments.
    	* bfin-tdep.c: Likewise.
    	* breakpoint.c (breakpoint_kind): New function.
    	(insert_bp_location): Set target_info.placed_size and
    	target_info.placed_address.
    	(bkpt_insert_location): Likewise.
    	* cris-tdep.c: Add comments.
    	* gdbarch.sh (breakpoint_kind_from_pc): New.
    	(sw_breakpoint_from_kind): New.
    	* gdbarch.c, gdbarch.h: Regenerated.
    	* ia64-tdep.c (ia64_memory_insert_breakpoint): Don't set
    	bp_tgt->placed_size.
    	(ia64_memory_remove_breakpoint): Don't assert
    	bp_tgt->placed_size.
    	(ia64_breakpoint_kind_from_pc): New function.
    	(ia64_gdbarch_init): Install ia64_breakpoint_kind_from_pc.
    	* m32r-tdep.c (m32r_memory_insert_breakpoint): Don't set
    	bp_tgt->placed_size.
    	* mem-break.c (default_memory_insert_breakpoint): Don't set
    	bp_tgt->placed_size.  Call gdbarch_sw_breakpoint_from_kind.
    	(default_memory_remove_breakpoint): Call
    	gdbarch_sw_breakpoint_from_kind.
    	(memory_validate_breakpoint): Don't check bp_tgt->placed_size.
    	* mips-tdep.c: Add comments.
    	* mt-tdep.c: Likewise.
    	* nios2-tdep.c: Likewise.
    	* record-full.c (record_full_insert_breakpoint): Don't call
    	gdbarch_breakpoint_from_pc.  Don't set bp_tgt->placed_address
    	and bp_tgt->placed_size.
    	* remote.c (remote_insert_breakpoint): Don't call
    	gdbarch_remote_breakpoint_from_pc.  Use bp_tgt->placed_size.
    	Don't set bp_tgt->placed_address and bp_tgt->placed_size.
    	(remote_insert_hw_breakpoint): Likewise.
    	* score-tdep.c: Likewise.
    	* sh-tdep.c: Likewise.
    	* tic6x-tdep.c: Likewise.
    	* v850-tdep.c: Likewise.
    	* xtensa-tdep.c: Likewise.

commit d19280adb5b2d1470dc39756ccac8a8fa2af8321
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    Split breakpoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind
    
    We convert each ARCH_breakpoint_from_pc to ARCH_breakpoint_kind_from_pc
    and ARCH_sw_breakpoint_from_kind.  Note that gdbarch doesn't have methods
    breakpoint_kind_from_pc and sw_breakpoint_from_kind so far.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.h (GDBARCH_BREAKPOINT_FROM_PC): New macro.
    	(GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): New macro.
    	* arm-tdep.c (arm_breakpoint_from_pc): Remove.
    	(arm_breakpoint_kind_from_pc): New function.
    	(arm_sw_breakpoint_from_kind): New function.
    	(arm_breakpoint_from_pc): Call arm_breakpoint_kind_from_pc
    	and arm_sw_breakpoint_from_kind.
    	Use GDBARCH_BREAKPOINT_FROM_PC.
    	(arm_remote_breakpoint_from_pc): Call
    	arm_breakpoint_kind_from_pc.
    	(arm_gdbarch_init): Replace set_gdbarch_breakpoint_from_pc
    	with SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* arc-tdep.c: Likewise.
    	* bfin-tdep.c: Likewise.
    	* cris-tdep.c: Likewise.
    	* iq2000-tdep.c: Likewise.
    	* m32r-tdep.c: Likewise.
    	* mips-tdep.c: Likewise.
    	* mt-tdep.c: Likewise.
    	* nios2-tdep.c: Likewise.
    	* rs6000-tdep.c: Likewise.
    	* score-tdep.c: Likewise.
    	* sh-tdep.c: Likewise.
    	* sh64-tdep.c: Likewise.
    	* tic6x-tdep.c: Likewise.
    	* v850-tdep.c: Likewise.
    	* xtensa-tdep.c: Likewise.

commit 44f1c4d7b0160a51ecf7fe1af42416f1d2a71356
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    Add enum for mips breakpoint kinds
    
    This patch adds an enum mips_breakpoint_kind to avoid using magic
    numbers as much as possible.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-tdep.c (mips_breakpoint_kind): New enum.
    	(mips_breakpoint_from_pc): Use it.
    	(mips_remote_breakpoint_from_pc): Likewise.

commit 598cc9dc84aeaa66e4a77efa9dc8ff03d5532620
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION
    
    Many archs have only one kind of breakpoint, so their breakpoint_from_pc
    implementations are quite similar.  This patch uses macro
    GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION
    for breakpoint_from_pc, so that we can easily switch from
    breakpoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind
    later.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): New macro.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): New macro.
    	aarch64-tdep.c (aarch64_breakpoint_from_pc): Remove.  Use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(aarch64_gdbarch_init): Replace set_gdbarch_breakpoint_from_pc
    	with SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* alpha-tdep.c: Likewise.
    	* avr-tdep.c: Likewise.
    	* frv-tdep.c: Likewise.
    	* ft32-tdep.c: Likewise.
    	* h8300-tdep.c: Likewise.
    	* hppa-tdep.c: Likewise.
    	* i386-tdep.c: Likewise.
    	* lm32-tdep.c: Likewise.
    	* m32c-tdep.c: Likewise.
    	* m68hc11-tdep.c: Likewise.
    	* m68k-tdep.c: Likewise.
    	* m88k-tdep.c: Likewise.
    	* mep-tdep.c: Likewise.
    	* microblaze-tdep.c: Likewise.
    	* mn10300-tdep.c: Likewise.
    	* moxie-tdep.c: Likewise.
    	* msp430-tdep.c: Likewise.
    	* rl78-tdep.c: Likewise.
    	* rx-tdep.c: Likewise.
    	* s390-linux-tdep.c: Likewise.
    	* sparc-tdep.c: Likewise.
    	* spu-tdep.c: Likewise.
    	* tilegx-tdep.c: Likewise.
    	* vax-tdep.c: Likewise.
    	* xstormy16-tdep.c: Likewise.

commit 8b55a7e4e5b30877e924e4b0ed0437d16ccdcedf
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    gdbarch_breakpoint_from_pc doesn't return NULL
    
    gdbarch_breakpoint_from_pc doesn't return NULL except for
    ia64_breakpoint_from_pc, and we checked its return value in three
    places. In microblaze_linux_memory_remove_breakpoint and
    ppc_linux_memory_remove_breakpoint, gdbarch_breakpoint_from_pc never
    returns NULL, so we can remove the NULL checking.  In
    default_memory_insert_breakpoint, gdbarch_breakpoint_from_pc can't
    returns NULL too because ia64 defines its own memory_insert_breakpoint.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* mem-break.c (default_memory_insert_breakpoint): Don't check
    	'bp' against NULL.
    	* microblaze-linux-tdep.c (microblaze_linux_memory_remove_breakpoint):
    	Likewise.
    	* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise.

commit bada43421274615d0d5f629a61a60b7daa71bc15
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Nov 3 12:00:53 2016 +0000

    [ARM] Allow MOV/MOV.W to accept all possible immediates
    
    gas/
    	* config/tc-arm.c (SBIT_SHIFT): New.
    	(T2_SBIT_SHIFT): Likewise.
    	(t32_insn_ok): Return TRUE for MOV in ARMv8-M Baseline.
    	(md_apply_fix): Try UINT16 encoding when ARM/Thumb modified immediate
    	encoding failed.
    	* testsuite/gas/arm/archv6t2-bad.s: New error case.
    	* testsuite/gas/arm/archv6t2-bad.l: New error match.
    	* testsuite/gas/arm/archv6t2.s: New testcase.
    	* testsuite/gas/arm/archv6t2.d: New expected result.
    	* testsuite/gas/arm/archv8m.s: New testcase.
    	* testsuite/gas/arm/archv8m-base.d: New expected result.
    	* testsuite/gas/arm/archv8m-main.d: Likewise.
    	* testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.

commit 225b362d1036121a611f3dd17fdb6780070ba51f
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Nov 3 11:31:53 2016 +0000

    Updated Danish translation for the BFD library.

commit c8c064b0dc4ef58b47151e1dfb207262a24ff2d1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 3 00:00:21 2016 +0000

    Automatic date update in version.in

commit 7d5697f9e27f79e1decc1215f33088cee9f7d863
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Oct 30 20:45:08 2016 -0600

    Fix dwarf_expr_context method regressions
    
    This fixes some regressions found in the patch to convert
    dwarf_expr_context to use methods.  Specifically:
    
    * get_base_type could erroneously throw; this was rewritten to move
      the size checks into the only spot needing them.
    * Previously the "symbol needs frame" implementation reused th
      "cfa" function for the get_frame_pc slot; this reimplements
      it under the correct name.
    * Not enough members were saved and restored in one implementation
      of push_dwarf_reg_entry_value; this patch fixes this oversight
      and also takes the opportunity to remove an extraneous structure
      definition.
    
    2016-11-02  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type): Rename
    	from impl_get_base_type.  Rewrite.
    	(struct dwarf_expr_baton): Remove.
    	(dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value): Save and
    	restore more fields.
    	(symbol_needs_eval_context::get_frame_pc): New method.
    	* dwarf2expr.h (dwarf_expr_context::get_base_type): Now public,
    	virtual.
    	(dwarf_expr_context::impl_get_base_type): Remove.
    	* dwarf2expr.c (dwarf_expr_context::get_base_type): Remove.

commit 02e0217ac3479b8a6b3a41a57aafcfa5c496a628
Merge: 2e6305d 47acf0b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Nov 2 21:54:31 2016 +0100

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

commit 47acf0bd9faef8634d242e19ec3b7f784d10ba76
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Wed Nov 2 12:31:25 2016 -0700

    Enable Intel AVX512_4VNNIW instructions
    
    gas/
    
    	* config/tc-i386.c: (cpu_arch) Add .avx512_4vnniw.
    	(cpu_noarch): Add noavx512_4vnniw.
    	* doc/c-i386.texi: Document avx512_4vnniw, noavx512_4vnniw.
    	* testsuite/gas/i386/i386.exp: Run AVX512_4VNNIW tests.
    	* testsuite/gas/i386/avx512_4vnniwd_vl-intel.d: New test.
    	* testsuite/gas/i386/avx512_4vnniwd_vl.d: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd_vl.s: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd-intel.d: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd.d: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd.s: Ditto.
    
    opcodes/
    
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3852, PREFIX_EVEX_0F3853.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_4VNNIW_FLAGS,
    	CPU_ANY_AVX512_4VNNIW_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_4VNNIW.
    	* i386-opc.h (enum): (AVX512_4VNNIW): New.
    	(i386_cpu_flags): Add cpuavx512_4vnniw.
    	* i386-opc.tbl: Add Intel AVX512_4VNNIW instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 920d2ddccb72a366140ed28283165b274f7a9045
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Wed Nov 2 12:24:39 2016 -0700

    Enable Intel AVX512_4FMAPS instructions
    
    gas/
    
    	* config/tc-i386.c (cpu_arch): Add .avx512_4fmaps.
    	(cpu_noarch): Add noavx512_4fmaps.
    	(process_operands): Handle implicit quad group.
    	* doc/c-i386.texi: Document avx512_4fmaps, noavx512_4fmaps.
    	* testsuite/gas/i386/i386.exp: Add AVX512_4FMAPS tests.
    	* testsuite/gas/i386/avx512_4fmaps_vl-intel.d: New test.
    	* testsuite/gas/i386/avx512_4fmaps_vl.d: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps_vl.s: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps-intel.d: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps.d: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps.s: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps-warn.l: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps-warn.s: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps_vl-warn.l: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps_vl-warn.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps-warn.l: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps-warn.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.l: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.s: Ditto.
    
    opcodes/
    
    	* i386-dis.c. (enum): Add PREFIX_EVEX_0F389A,
    	PREFIX_EVEX_0F389B, PREFIX_EVEX_0F38AA, PREFIX_EVEX_0F38AB.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_4FMAPS_FLAGS,
    	CPU_ANY_AVX512_4FMAPS_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_4FMAPS.
    	(opcode_modifiers): Add ImplicitQuadGroup modifier.
    	* i386-opc.h (AVX512_4FMAP): New.
    	(i386_cpu_flags): Add cpuavx512_4fmaps.
    	(ImplicitQuadGroup): New.
    	(i386_opcode_modifier): Add implicitquadgroup.
    	* i386-opc.tbl: Add Intel AVX512_4FMAPS instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 95dc74aa02352505785bb70ba60b706e70c74584
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 2 00:00:20 2016 +0000

    Automatic date update in version.in

commit af955fe696088e69b436947b4a6f134567d31793
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 16:14:35 2016 +0000

    BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_lookup'
    
    Break out of the outer switch statement once the inner switch for the
    BFD_RELOC_CTOR relocation has been processed, preventing double BFD_FAIL
    calls from being made, once from the inner switch and then again from
    the default case of the outer switch.
    
    Noticed with a `-Wimplicit-fallthrough' build error reported by a recent
    GCC version:
    
    In file included from .../bfd/reloc.c:52:0:
    .../bfd/reloc.c: In function 'bfd_default_reloc_type_lookup':
    .../bfd/libbfd.h:779:8: error: this statement may fall through [-Werror=implicit-fallthrough=]
       do { bfd_assert(__FILE__,__LINE__); } while (0)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    .../bfd/reloc.c:7780:4: note: in expansion of macro 'BFD_FAIL'
        BFD_FAIL ();
        ^~~~~~~~
    .../bfd/reloc.c:7782:5: note: here
         default:
         ^~~~~~~
    cc1: all warnings being treated as errors
    make[4]: *** [reloc.lo] Error 1
    
    	bfd/
    	* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
    	not fall through to the default case.

commit 2e6305d981cdd51a7349fb82f83b00a9c52c81d1
Merge: e64174f e23eba9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Nov 1 18:46:28 2016 +0100

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

commit e23eba971dd409b999dd83d8df0f842680c1c642
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Nov 1 16:45:57 2016 +0000

    Add support for RISC-V architecture.
    
    bfd	* Makefile.am: Add entries for riscv32-elf and riscv64-elf.
    	* config.bdf: Likewise.
    	* configure.ac: Likewise.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* archures.c: Add bfd_riscv_arch.
    	* reloc.c: Add riscv relocs.
    	* targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    	* elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
    	* elfnn-riscv.c: New file.
    	* elfxx-riscv.c: New file.
    	* elfxx-riscv.h: New file.
    
    binutils* readelf.c (guess_is_rela): Add EM_RISCV.
    	(get_machine_name): Likewise.
    	(dump_relocations): Add support for riscv relocations.
    	(get_machine_flags): Add support for riscv flags.
    	(is_32bit_abs_reloc): Add R_RISCV_32.
    	(is_64bit_abs_reloc): Add R_RISCV_64.
    	(is_none_reloc): Add R_RISCV_NONE.
    	* testsuite/binutils-all/objdump.exp (cpus_expected): Add riscv.
    	Expect the debug_ranges test to fail.
    
    gas	* Makefile.am: Add riscv files.
    	* Makefile.in: Regenerate.
    	* NEWS: Mention the support for this architecture.
    	* configure.in: Define a default architecture.
    	* configure: Regenerate.
    	* configure.tgt: Add entries for riscv.
    	* doc/as.texinfo: Likewise.
    	* testsuite/gas/all/gas.exp: Expect the redef tests to fail.
    	* testsuite/gas/elf/elf.exp: Expect the groupauto tests to fail.
    	* config/tc-riscv.c: New file.
    	* config/tc-riscv.h: New file.
    	* doc/c-riscv.texi: New file.
    	* testsuite/gas/riscv: New directory.
    	* testsuite/gas/riscv/riscv.exp: New file.
    	* testsuite/gas/riscv/t_insns.d: New file.
    	* testsuite/gas/riscv/t_insns.s: New file.
    
    ld	* Makefile.am: Add riscv files.
    	* Makefile.in: Regenerate.
    	* NEWS: Mention the support for this target.
    	* configure.tgt: Add riscv entries.
    	* emulparams/elf32lriscv-defs.sh: New file.
    	* emulparams/elf32lriscv.sh: New file.
    	* emulparams/elf64lriscv-defs.sh: New file.
    	* emulparams/elf64lriscv.sh: New file.
    	* emultempl/riscvelf.em: New file.
    
    opcodes	* configure.ac: Add entry for bfd_riscv_arch.
    	* configure: Regenerate.
    	* disassemble.c (disassembler): Add support for riscv.
    	(disassembler_usage): Likewise.
    	* riscv-dis.c: New file.
    	* riscv-opc.c: New file.
    
    include	* dis-asm.h: Add prototypes for print_insn_riscv and
    	print_riscv_disassembler_options.
    	* elf/riscv.h: New file.
    	* opcode/riscv-opc.h: New file.
    	* opcode/riscv.h: New file.

commit 4e56efac8b4d5e251e8edc13febec93992bd6eb4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 1 00:00:19 2016 +0000

    Automatic date update in version.in

commit c50730217d606814cda69a2bb6975730c0f1ee63
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 16:24:04 2016 +0000

    Remove IRIX 5 <sys/proc.h> _KMEMUSER workaround
    
    Complement commit 3831839c089c ("Delete IRIX support") and remove the
    IRIX 5 <sys/proc.h> _KMEMUSER workaround from the `configure' script, as
    IRIX is no longer a supported host configuration.
    
    	gdb/
    	* configure.ac <mips-sgi-irix5*>: Remove <sys/proc.h> _KMEMUSER
    	workaround.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 7e3d947dd6ae45d71aa175b96fbd42a51e93b3f8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 02:08:06 2016 +0000

    MIPS: Remove remains of legacy remote target support
    
    Complement commit f7c382926d78 ("Remove support for "target m32rsdi" and
    "target mips/pmon/ddb/rockhopper/lsi"") and remove dead MIPS target code
    which used to support these legacy remote targets.
    
    	gdb/
    	* mips-tdep.c (mips_r3041_reg_names): Remove.
    	(mips_breakpoint_from_pc): Remove IDT and PMON breakpoint
    	encodings.

commit de4bfa865e5ea54f2ab5b7af53e4abe825da699e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 02:07:26 2016 +0000

    MIPS: Remove remains of IRIX OS ABI support
    
    Complement commit 3831839c089c ("Delete IRIX support") and remove dead
    MIPS target IRIX OS ABI support code.
    
    	gdb/
    	* defs.h (gdb_osabi): Remove GDB_OSABI_IRIX enum value.
    	* osabi.c (gdb_osabi_names): Remove "Irix" entry.
    	* mips-tdep.c (mips_irix_reg_names): Remove.
    	(mips_register_type): Remove GDB_OSABI_IRIX code.
    	(mips_pseudo_register_type): Likewise.
    	(mips_breakpoint_from_pc): Likewise.
    	(mips_gdbarch_init): Likewise.

commit fb47deda560b754008c35b5ec13fe02ef0593019
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon Oct 31 09:44:18 2016 +0000

    Initialize input statement created in add_archive_member
    
    2016-10-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    ld/
    	* ldmain.c (add_archive_element): Initialize input->header.type.
    	* plugin.c (plugin_maybe_claim): Assert the statement is an input
    	statement.

commit c646b02fdcae5f37bd88f33a0c4683ef13ad5c82
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Oct 31 12:46:38 2016 +1030

    Revert part "Set dynamic tag VMA and size from dynamic section when possible"
    
    	PR 20748
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
    	2016-05-13 change.

commit 1964088538cbf9483a1c9f411ad9d9054ea7be90
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Oct 31 00:00:22 2016 +0000

    Automatic date update in version.in

commit e64174f66d8ad2bea6c9e10aff1a255965f0d540
Merge: 514d315 690035b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Oct 30 17:25:41 2016 +0100

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

commit 514d315fe8e0f79a773104906eca6bae124f5586
Merge: 8287fd0 0bcda68
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Oct 30 17:25:08 2016 +0100

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

commit 690035b1471a58db62ec27d739f124f0f58f6af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Oct 30 00:00:23 2016 +0000

    Automatic date update in version.in

commit e6485aafde098bf182b46cb187d8fd049f309e29
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Oct 29 16:30:34 2016 +0100

    gdb/NEWS: Clarify C++ requirement
    
    gdb/ChangeLog:
    2016-10-29  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Clarify C++ requirement.

commit d29469235333ac99df5476499a59998ce49b39fa
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Oct 29 16:14:36 2016 +0100

    gdb/NEWS: Mention C++11 requirement
    
    gdb/ChangeLog:
    2016-10-29  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Adjust to mention C++11 requirement.

commit 8ba42bc5da8015fd0bd9e7f021af9cb0ef252005
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Sat Oct 29 18:10:23 2016 +0300

    Support command-line redirection in native MS-Windows debugging
    
    gdb/ChangeLog
    2016-10-29  Eli Zaretskii  <eliz@gnu.org>
    
    	* NEWS: Mention support for redirection on MS-Windows.
    
    	* windows-nat.c (redir_open, redir_set_redirection)
    	(redirect_inferior_handles) [!__CYGWIN__]: New functions.
    	(windows_create_inferior) [!__CYGWIN__]: Use
    	'redirect_inferior_handles' to redirect standard handles of the
    	debuggee if the command line requests that.

commit 39402e6c64121bdae146e82f6c48f0c0e0d9d26b
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Oct 29 16:07:31 2016 +0100

    gdb/doc: Remove mention of vCont's default actions
    
    Discussion with qemu folks suggests that the vCont description could
    be even simpler and clearer.  Given we now say:
    
     For each inferior thread, the leftmost action with a matching
     thread-id is applied.
    
    There's really no need to even talk about "default" actions, which
    raises doubts about whether "default" is special in some way (it's
    not).
    
    See <https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg06944.html>.
    
    gdb/doc/ChangeLog:
    2016-10-29  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (Packets) <vCont>: Remove mention of default
    	actions.

commit 6bcbbf52b2fe930f1ab1588611c84f052b6385cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Oct 29 00:00:19 2016 +0000

    Automatic date update in version.in

commit 0bcda68539948828795564b35a497dc69c27f768
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 13 00:27:45 2016 +0100

    gdb: Require C++11
    
    Use AX_CXX_COMPILE_STDCXX to detect if the compiler supports C++11,
    and if -std=xxx switches are necessary to enable C++11.
    
    We need to tweak AX_CXX_COMPILE_STDCXX a bit though.  Pristine
    upstream AX_CXX_COMPILE_STDCXX appends -std=gnu++11 to CXX directly.
    That doesn't work for us, because the top level Makefile passes CXX
    down to subdirs, and that overrides whatever gdb/Makefile may set CXX
    to.  The result would be that a make invocation from the build/gdb/
    directory would use "g++ -std=gnu++11" as expected, while a make
    invocation at the top level would not.
    
    So instead of having AX_CXX_COMPILE_STDCXX set CXX directly, tweak it
    to AC_SUBST a separate variable -- CXX_DIALECT -- and use '$(CXX)
    (CXX_DIALECT)' to compile/link.
    
    Confirmed that this enables C++11 starting with gcc 4.8, the first gcc
    release with full C++11 support.
    
    Also confirmed that configure errors out gracefully with older GCC
    releases:
    
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features by default... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=gnu++11... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=gnu++0x... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=c++11... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=c++0x... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with +std=c++11... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -h std=c++11... no
      configure: error: *** A compiler with support for C++11 language features is required.
      Makefile:9451: recipe for target 'configure-gdb' failed
      make[1]: *** [configure-gdb] Error 1
      make[1]: Leaving directory '/home/pedro/brno/pedro/gdb/mygit/cxx-convertion/build-gcc-4.7'
    
    If we need to revert back to making C++11 optional, all that's
    necessary is to change the "mandatory" to "optional" in configure.ac
    and regenerate configure (both gdb and gdbserver).
    
    gdb/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (CXX_DIALECT): Get from configure.
    	(COMPILE.pre, CC_LD): Append $(CXX_DIALECT).
    	(FLAGS_TO_PASS): Pass CXX_DIALECT.
    	* acinclude.m4: Include ax_cxx_compile_stdcxx.m4.
    	* ax_cxx_compile_stdcxx.m4: Add FSF copyright header.  Set and
    	AC_SUBST CXX_DIALECT instead of changing CXX/CXXCPP.
    	* configure.ac: Call AX_CXX_COMPILE_STDCXX.
    	* config.in: Regenerate.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (CXX_DIALECT): Get from configure.
    	(COMPILE.pre, CC_LD): Append $(CXX_DIALECT).
    	* acinclude.m4: Include ../ax_cxx_compile_stdcxx.m4.
    	* configure.ac: Call AX_CXX_COMPILE_STDCXX.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 87106a7b0a3c403832f15aa316d5d6d2434e323f
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 28 16:00:38 2016 +0100

    gdb: Import AX_CXX_COMPILE_STDCXX from the GNU Autoconf Archive
    
    This macro throws C++11 code at the compiler in order to check whether
    it supports C++11.  final/override, rvalue references, static_assert,
    decltype, auto, constexpr, etc., and adds -std=gnu++11 to CXX if
    necessary.
    
    Nothing uses the macro yet.  Simply adding it as separate preliminary
    step because we'll need local changes.
    
    gdb/ChangeLog
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* ax_cxx_compile_stdcxx.m4: New file.

commit f610ab6d3cbab5d8b8ef3f3a93dd81a800ec5725
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 28 12:03:18 2016 +0100

    gdb/testsuite: Avoid a buffer overrun in `gdb.base/maint.exp'
    
    Fixes:
    
     PASS: gdb.base/maint.exp: maint w/o args
     ERROR: internal buffer is full.
     UNRESOLVED: gdb.base/maint.exp: maint info line-table w/o a file name
    
    The problem is just many symtabs and long line tables, enough to
    overflow the expect buffer.  Fix this by matching input incrementally.
    
    gdb/testsuite/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/maint.exp <maint info line-table w/o a file name>: Use
    	gdb_test_multiple, tighten regexps and match symtabs and line
    	tables incrementally.

commit b129b0cacd4c8e982605b7c8d99e96c74155882a
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Oct 28 08:45:27 2016 -0500

    Make gdb.base/foll-exec.exp test pattern more general
    
    Testing a powerpc toolchain running gdbserver on the other end i noticed a
    failure in gdb.base/foll-exec.exp.  Turns out gdb is outputting a slightly
    different pattern due to the presence of debug information.
    
    --
    foll-exec is about to execlp(execd-prog)...^M
    Continuing.^M
    process 21222 is executing new program: gdb.d/outputs/gdb.base/foll-exec/execd-prog^M
    ^M
    Catchpoint 2 (exec'd gdb.d/outputs/gdb.base/foll-exec/execd-prog), _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:32^M
    --
    
    Notice the presence of source file information.
    
    Now, on my local machine, i get this:
    
    --
    foll-exec is about to execlp(execd-prog)...^M
    Continuing.^M
    process 9285 is executing new program: gdb/testsuite/outputs/gdb.base/foll-exec/execd-prog^M
    ^M
    Catchpoint 2 (exec'd gdb/testsuite/outputs/gdb.base/foll-exec/execd-prog), 0x00007ffff7dd7cc0 in ?? () from /lib64/ld-linux-x86-64.so.2^M
    --
    
    So the output differs slightly and the testcase is actually expecting only
    the second form with the "in" anchor.
    
    This patch removes the "in" pattern and lets the test match both kinds of
    output.
    
    gdb/testsuite/ChangeLog:
    
    2016-10-28  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/foll-exec.exp (do_exec_tests): Make test pattern more
    	general.

commit 44d83468ec8e5fccf904d66b752ac36e07d66c56
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 28 01:09:06 2016 +0100

    Fix gdb.base/maint.exp regressions
    
    This commit fixes these regressions:
    
     FAIL: gdb.base/maint.exp: mt set per on for expand-symtabs
     FAIL: gdb.base/maint.exp: maint set per-command on
    
    caused by commit 1e3b796d58ac ("Change command stats reporting to use
    class").
    
    gdb.log shows that the command stats are now printing garbage:
    
     (gdb) mt set per on
     Command execution time: -6.-419590 (cpu), 1467139648.-7706296840 (wall)
     Space used: 9809920 (-33276528 for this command)
     (gdb) FAIL: gdb.base/maint.exp: mt set per on for expand-symtabs
    
    while there should have been no output at all.
    
    The stats printing is done from within the scoped_command_stats's
    destructor, depending on whether some flags in the object are set.
    The problem is simply that scoped_command_stats's ctor misses clearing
    those flags on some paths.
    
    Since scoped_command_stats objects are allocated on the stack, whether
    you'll see the regression simply depends on whatever happens to
    already be on the stack space the object occupies.
    
    gdb/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* maint.c (scoped_command_stats::scoped_command_stats): Clear
    	m_space_enabled, m_time_enabled and m_symtab_enabled.

commit d87fdac3591d57c1a667b9d2dfeb05e3198b0b53
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Thu Jan 21 15:02:27 2016 +0100

    btrace: bridge gaps
    
    Most of the time, the trace should be in one piece.  This case is handled fine
    by GDB.  In some cases, however, there may be gaps in the trace.  They result
    from trace decode errors or from overflows.
    
    A gap in the trace means we lost an unknown amount of trace.  Gaps can be very
    small, such as a few instructions in the same function, or they can be rather
    big.  We may, for example, lose a few function calls or returns.  The trace may
    continue in a different function and we likely don't know how we got there.
    
    Even though we can't say how the program executed across a gap, higher levels
    may not be impacted too much by it.  Let's assume we have functions a-e and a
    trace that looks roughly like this:
    
      a
       \
        b                    b
         \                  /
          c   <gap>        c
                          /
                     d   d
                      \ /
                       e
    
    Even though we can't say for sure, it is likely that b and c are the same
    function instance before and after the gap.  This patch is trying to connect
    the c and b function segments across the gap.
    
    This will add a to the back trace of b on the right hand side.  The changes are
    reflected in GDB's internal representation of the trace and will improve:
    
      - the output of "record function-call-history /c"
      - the output of "backtrace" in replay mode
      - source stepping in replay mode
        will be improved indirectly via the improved back trace
    
    I don't have an automated test for this patch; decode errors will be fixed and
    overflows occur sporadically and are quite rare.  I tested it by hacking GDB to
    provoke a decode error and on the expected gap in the gdb.btrace/dlopen.exp
    test.
    
    The issue is that we can't predict where we will be able to re-sync in case of
    errors.  For the expected decode error in gdb.btrace/dlopen.exp, for example, we
    may be able to re-sync somewhere in dlclose, in test, in main, or not at all.
    
    Here's one example run of gdb.btrace/dlopen.exp with and without this patch.
    
        (gdb) info record
        Active record target: record-btrace
        Recording format: Intel Processor Trace.
        Buffer size: 16kB.
        warning: Non-contiguous trace at instruction 66608 (offset = 0xa83, pc = 0xb7fdcc31).
        warning: Non-contiguous trace at instruction 66652 (offset = 0xa9b, pc = 0xb7fdcc31).
        warning: Non-contiguous trace at instruction 66770 (offset = 0xacb, pc = 0xb7fdcc31).
        warning: Non-contiguous trace at instruction 66966 (offset = 0xb60, pc = 0xb7ff5ee4).
        warning: Non-contiguous trace at instruction 66994 (offset = 0xb74, pc = 0xb7ff5f24).
        warning: Non-contiguous trace at instruction 67334 (offset = 0xbac, pc = 0xb7ff5e6d).
        warning: Non-contiguous trace at instruction 69022 (offset = 0xc04, pc = 0xb7ff60b3).
        warning: Non-contiguous trace at instruction 69116 (offset = 0xc1c, pc = 0xb7ff60b3).
        warning: Non-contiguous trace at instruction 69504 (offset = 0xc74, pc = 0xb7ff605d).
        warning: Non-contiguous trace at instruction 83648 (offset = 0xecc, pc = 0xb7ff6134).
        warning: Decode error (-13) at instruction 83876 (offset = 0xf48, pc = 0xb7fd6380): no memory mapped at this address.
        warning: Non-contiguous trace at instruction 83876 (offset = 0x11b7, pc = 0xb7ff1c70).
        Recorded 83948 instructions in 912 functions (12 gaps) for thread 1 (process 12996).
        (gdb) record instruction-history 83876, +2
        83876   => 0xb7fec46f <call_init.part.0+95>:    call   *%eax
        [decode error (-13): no memory mapped at this address]
        [disabled]
        83877      0xb7ff1c70 <_dl_close_worker.part.0+1584>:   nop
    
    Without the patch, the trace is disconnected and the backtrace is short:
    
        (gdb) record goto 83876
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        #1  0xb7fec5d0 in _dl_init () from /lib/ld-linux.so.2
        #2  0xb7ff0fe3 in dl_open_worker () from /lib/ld-linux.so.2
        Backtrace stopped: not enough registers or memory available to unwind further
        (gdb) record goto 83877
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        #1  0xb7ff287a in _dl_close () from /lib/ld-linux.so.2
        #2  0xb7fc3d5d in dlclose_doit () from /lib/libdl.so.2
        #3  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #4  0xb7fc43dd in _dlerror_run () from /lib/libdl.so.2
        #5  0xb7fc3d98 in dlclose () from /lib/libdl.so.2
        #6  0x0804860a in test ()
        #7  0x08048628 in main ()
    
    With the patch, GDB is able to connect the trace pieces and we get a full
    backtrace.
    
        (gdb) record goto 83876
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        #1  0xb7fec5d0 in _dl_init () from /lib/ld-linux.so.2
        #2  0xb7ff0fe3 in dl_open_worker () from /lib/ld-linux.so.2
        #3  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #4  0xb7ff02e2 in _dl_open () from /lib/ld-linux.so.2
        #5  0xb7fc3c65 in dlopen_doit () from /lib/libdl.so.2
        #6  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #7  0xb7fc43dd in _dlerror_run () from /lib/libdl.so.2
        #8  0xb7fc3d0e in dlopen@@GLIBC_2.1 () from /lib/libdl.so.2
        #9  0xb7ff28ee in _dl_runtime_resolve () from /lib/ld-linux.so.2
        #10 0x0804841c in ?? ()
        #11 0x08048470 in dlopen@plt ()
        #12 0x080485a3 in test ()
        #13 0x08048628 in main ()
        (gdb) record goto 83877
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        #1  0xb7ff287a in _dl_close () from /lib/ld-linux.so.2
        #2  0xb7fc3d5d in dlclose_doit () from /lib/libdl.so.2
        #3  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #4  0xb7fc43dd in _dlerror_run () from /lib/libdl.so.2
        #5  0xb7fc3d98 in dlclose () from /lib/libdl.so.2
        #6  0x0804860a in test ()
        #7  0x08048628 in main ()
    
    It worked nicely in this case but it may, of course, also lead to weird
    connections; it is a heuristic, after all.
    
    It works best when the gap is small and the trace pieces are long.
    
    gdb/
    	* btrace.c (bfun_s): New typedef.
    	(ftrace_update_caller): Print caller in debug dump.
    	(ftrace_get_caller, ftrace_match_backtrace, ftrace_fixup_level)
    	(ftrace_compute_global_level_offset, ftrace_connect_bfun)
    	(ftrace_connect_backtrace, ftrace_bridge_gap, btrace_bridge_gaps): New.
    	(btrace_compute_ftrace_bts): Pass vector of gaps.  Collect gaps.
    	(btrace_compute_ftrace_pt): Likewise.
    	(btrace_compute_ftrace): Split into this, ...
    	(btrace_compute_ftrace_1): ... this, and ...
    	(btrace_finalize_ftrace): ... this.  Call btrace_bridge_gaps.

commit 259ba1e8acfd5ade4b6fa81e68a5e694e438fa28
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 19 14:54:19 2016 +0100

    btrace: preserve function level for unexpected returns
    
    When encountering a return for which we have not seen a corresponding call, GDB
    starts a new back trace from level -1, i.e. from the level of the first function
    in the trace.
    
    In the presence of trace gaps, this may cause some rather big jump.
    
        (gdb) record function-call-history /c 192, +8
        192	                                          sbrk
        193	                                            brk
        194	                                              __x86.get_pc_thunk.bx
        195	                                            brk
        196	                                              __kernel_vsyscall
        197	[disabled]
        198	                                              __kernel_vsyscall
        199	        brk
        200	      sbrk
    
    This doesn't help to make things more clear.  Let's remain on the same level
    instead.
    
        (gdb) record function-call-history /c 192, +8
        192	      sbrk
        193	        brk
        194	          __x86.get_pc_thunk.bx
        195	        brk
        196	          __kernel_vsyscall
        197	[disabled]
        198	          __kernel_vsyscall
        199	        brk
        200	      sbrk
    
    In this case it will look like we were able to connect the trace parts across
    the disabled gap.  We were not.  More work is required to achieve this.
    
    In the general case, the function-call history for the two trace parts won't
    match.  They may be off by a few levels or they may be entirely different.  All
    this patch does is to preserve the indentation level of the record
    function-call-history command.
    
    The disabled gap is caused by a sysenter not returning to the next instruction.
    
        (gdb) record function-call-history /i 196, +1
        196     __kernel_vsyscall       inst 66515,66519
        (gdb) record instruction-history 66515
        66515      0xb7fdcbf8 <__kernel_vsyscall+0>:    push   %ecx
        66516      0xb7fdcbf9 <__kernel_vsyscall+1>:    push   %edx
        66517      0xb7fdcbfa <__kernel_vsyscall+2>:    push   %ebp
        66518      0xb7fdcbfb <__kernel_vsyscall+3>:    mov    %esp,%ebp
        66519      0xb7fdcbfd <__kernel_vsyscall+5>:    sysenter
        [disabled]
        66520      0xb7fdcc08 <__kernel_vsyscall+16>:   pop    %ebp
        66521      0xb7fdcc09 <__kernel_vsyscall+17>:   pop    %edx
        66522      0xb7fdcc0a <__kernel_vsyscall+18>:   pop    %ecx
        66523      0xb7fdcc0b <__kernel_vsyscall+19>:   ret
        66524      0xb7e8e09e <brk+30>: xchg   %ecx,%ebx
        (gdb) disassemble 0xb7fdcbf8, 0xb7fdcc0c
        Dump of assembler code from 0xb7fdcbf8 to 0xb7fdcc0c:
           0xb7fdcbf8 <__kernel_vsyscall+0>:    push   %ecx
           0xb7fdcbf9 <__kernel_vsyscall+1>:    push   %edx
           0xb7fdcbfa <__kernel_vsyscall+2>:    push   %ebp
           0xb7fdcbfb <__kernel_vsyscall+3>:    mov    %esp,%ebp
           0xb7fdcbfd <__kernel_vsyscall+5>:    sysenter
           0xb7fdcbff <__kernel_vsyscall+7>:    nop
           0xb7fdcc00 <__kernel_vsyscall+8>:    nop
           0xb7fdcc01 <__kernel_vsyscall+9>:    nop
           0xb7fdcc02 <__kernel_vsyscall+10>:   nop
           0xb7fdcc03 <__kernel_vsyscall+11>:   nop
           0xb7fdcc04 <__kernel_vsyscall+12>:   nop
           0xb7fdcc05 <__kernel_vsyscall+13>:   nop
           0xb7fdcc06 <__kernel_vsyscall+14>:   int    $0x80
           0xb7fdcc08 <__kernel_vsyscall+16>:   pop    %ebp
           0xb7fdcc09 <__kernel_vsyscall+17>:   pop    %edx
           0xb7fdcc0a <__kernel_vsyscall+18>:   pop    %ecx
           0xb7fdcc0b <__kernel_vsyscall+19>:   ret
        End of assembler dump.
    
    I've seen this on 32-bit Fedora 23.  I have not investigated what causes this
    and whether we can avoid the gap in the first place.  Let's first try to make
    GDB handle such gaps more gracefully.
    
    gdb/
    	* btrace.c (ftrace_new_return): Start from the previous function's level
    	if we can't find a matching call for a return.

commit 2dfdb47abd418aac05380482093a87e763ab0a05
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 12 16:05:15 2016 +0100

    btrace: update tail call heuristic
    
    An unconditional jump to the start of a function typically indicates a tail
    call.
    
    If we can't determine the start of the function at the destination address, we
    used to treat it as a tail call, as well.  This results in lots of tail calls
    for code for which we don't have symbol information.
    
    Restrict the heuristic to only consider jumps as tail calls that switch
    functions in the case where we can't determine the start of a function.  This
    effectively disables tail call detection for code without symbol information.
    
    gdb/
    	* btrace.c (ftrace_update_function): Update tail call heuristic.

commit b61ce85cc54bf4acc86714cacd10d6f9f7e89d1b
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Jan 18 16:59:21 2016 +0100

    btrace: allow leading trace gaps
    
    GDB ignores trace gaps from decode errors or overflows at the beginning of the
    trace.  There isn't really a gap in the trace; the trace just starts a bit
    later than expected.
    
    In cases where there is no trace at all or where the trace is smaller than
    expected, this may hide the reason for the missing trace.
    
    Allow leading trace gaps.  They will be shown as decode warnings and by the
    record function-call-history command.
    
        (gdb) info record
        Active record target: record-btrace
        Recording format: Intel Processor Trace.
        Buffer size: 16kB.
        warning: Decode error (-6) at instruction 0 (offset = 0x58, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 0 (offset = 0xb0, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 0 (offset = 0x168, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 54205 (offset = 0xe08, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 54205 (offset = 0xe60, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 54205 (offset = 0xed8, pc = 0x0): unexpected packet context.
        Recorded 91582 instructions in 1111 functions (6 gaps) for thread 1 (process 15710).
        (gdb) record function-call-history /c 1
        1       [decode error (-6): unexpected packet context]
        2       [decode error (-6): unexpected packet context]
        3       [decode error (-6): unexpected packet context]
        4           _dl_addr
        5             ??
        6           _dl_addr
        7         ??
        8           ??
        9         ??
        10      ??
    
    Leading trace gaps will not be shown by the record instruction-history command
    without further changes.
    
    gdb/
    	* btrace.c (btrace_compute_ftrace_bts, ftrace_add_pt): Allow leading gaps.
    	* record-btrace.c (record_btrace_single_step_forward)
    	(record_btrace_single_step_backward): Jump back to last instruction if
    	step ends at a gap.
    	(record_btrace_goto_begin): Skip gaps.

commit 63ab433e29b2715f429551cdbec72dab0d752c20
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 12 10:44:37 2016 +0100

    btrace: fix gap indication
    
    Trace gaps due to overflows or non-contiguous trace are ignored in the 'info
    record' command.  Fix that.
    
    Also add a warning when decoding the trace and print the instruction number
    preceding the trace gap in that warning message.  It looks like this:
    
        (gdb) info record
        Active record target: record-btrace
        Recording format: Intel Processor Trace.
        Buffer size: 16kB.
        warning: Decode error (-13) at instruction 101044 (offset = 0x29f0, pc = 0x7ffff728a642): no memory mapped at this address.
        Recorded 101044 instructions in 2093 functions (1 gaps) for thread 1 (process 5360).
        (gdb) record instruction-history 101044
        101044     0x00007ffff728a640:  pop    %r13
        [decode error (-13): no memory mapped at this address]
    
    Remove the dead code that was supposed to print a gaps warning at the end of
    trace decode.  This isn't really needed since we now print a warning for each
    gap.
    
    gdb/
    	* btrace.c (ftrace_add_pt): Fix gap indication.  Add warning for non-
    	contiguous trace and overflow.  Rephrase trace decode warning and print
    	instruction number.  Remove dead gaps warning.
    	(btrace_compute_ftrace_bts): Rephrase warnings and print instruction
    	number.

commit 2fc9bcf136a72ecc56a333cb658a8eaac8c9fec7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Oct 28 00:00:18 2016 +0000

    Automatic date update in version.in

commit 8287fd0d12a3bee1f6f80d2557a827cbc5fed90d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Oct 27 23:04:00 2016 +0200

    commit a08ad453199b3306e971cd801af1c440ce74640b
    Author: Jan Kratochvil <jan.kratochvil@redhat.com>
    Date:   Tue Oct 25 21:49:49 2016 +0200
    
        Add various DWARF5 constants to dwarf2.{h,def}
    
        Hi!
    
        Now that DWARF5 public review draft has been released, I went through
        the document looking for double dagger marked constants and added them to
        dwarf2.{def,h}.
    
        Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
    
        2016-10-14  Jakub Jelinek  <jakub@redhat.com>
    
        	* dwarf2.h (enum dwarf_calling_convention): Add new DWARF5
        	calling convention codes.
        	(enum dwarf_line_number_content_type): New.
        	(enum dwarf_location_list_entry_type): Add DWARF5 DW_LLE_*
        	codes.
        	(enum dwarf_source_language): Add new DWARF5 DW_LANG_* codes.
        	(enum dwarf_macro_record_type): Add DWARF5 DW_MACRO_* codes.
        	(enum dwarf_name_index_attribute): New.
        	(enum dwarf_range_list_entry): New.
        	(enum dwarf_unit_type): New.
        	* dwarf2.def: Add new DWARF5 DW_TAG_*, DW_FORM_*, DW_AT_*,
        	DW_OP_* and DW_ATE_* entries.

commit 94dec91eacd7d377b3b0f8dd7b0e49686e95455d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Oct 27 23:03:37 2016 +0200

    commit ffbd598f28fb339c8a208de75c5c6df86196b2d0
    Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
    Date:   Mon Aug 15 09:51:44 2016 +0000
    
        	* dwarf2.def (DW_AT_string_length_bit_size,
        	DW_AT_string_length_byte_size): New attributes.
    
        	* dwarf2out.c (struct checksum_attributes): Add
        	at_string_length_bit_size and at_string_length_byte_size fields.
        	(collect_checksum_attributes): Handle DW_AT_string_length_bit_size
        	and DW_AT_string_length_byte_size.
        	(die_checksum_ordered): Handle at_string_length_bit_size and
        	at_string_length_byte_size.
        	(gen_array_type_die): For dwarf_version >= 5 emit
        	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
        	(adjust_string_types): For dwarf_version >= 5 remove
        	DW_AT_string_length_byte_size instead of DW_AT_byte_size.
        	(resolve_addr): Likewise.
    
        git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239470 138bc75d-0d04-0410-961f-82ee72b054a4

commit 36e14cca7ebe01136fea72bd389fefa3fcbf3ffe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Oct 27 23:03:13 2016 +0200

    commit 832d369da187f1ff8e59e714720c336cb80f7b49
    Author: aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
    Date:   Fri Aug 12 07:11:50 2016 +0000
    
        [PR63240] generate debug info for defaulted member functions
    
        This implements <http://dwarfstd.org/ShowIssue.php?issue=141215.3>, a
        proposal already accepted for inclusion in DWARF-5, but using
        DW_AT_GNU_defaulted instead of DW_AT_defaulted as the attribute name,
        because the attribute id for DW_AT_defaulted is not yet publicly
        available.
    
        for  include/ChangeLog
    
        	PR debug/63240
        	* dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New.
        	* dwarf2.h (enu dwarf_defaulted_attribute): New.
    
        for  gcc/ChangeLog
    
        	PR debug/63240
        	* langhooks-def.h
        	(LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify.
        	(LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise.
        	(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default.
        	(LANG_HOOKS_DECLS): Add it.
        	* langhooks.h (struct lang_hooks_for_decls): Add
        	function_decl_defaulted.  Const_tree-ify
        	function_decl_explicit_p and function_decl_deleted_p.
        	* dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted
        	attribute.  Add DW_AT_deleted instead of DW_AT_GNU_deleted,
        	also at strict DWARF v5.
    
        for  gcc/cp/ChangeLog
    
        	PR debug/63240
        	* cp-objcp-common.c (cp_function_decl_defaulted): New.
        	(cp_function_decl_explicit_p): Const_tree-ify.
        	(cp_function_decl_deleted_p): Likewise.
        	* cp-objcp-common.h (cp_function_decl_defaulted): Declare.
        	(cp_function_decl_explicit_p): Const_tree-ify.
        	(cp_function_decl_deleted_p): Likewise.
        	(LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Redefine.
    
        for  gcc/testsuite/ChangeLog
    
        	PR debug/63240
        	* g++.dg/debug/dwarf2/defaulted-member-function-1.C: New.
        	* g++.dg/debug/dwarf2/defaulted-member-function-2.C: New.
        	* g++.dg/debug/dwarf2/defaulted-member-function-3.C: New.
        	* g++.dg/debug/dwarf2/deleted-member-function.C: Expect
        	DW_AT_deleted.
    
        git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239403 138bc75d-0d04-0410-961f-82ee72b054a4

commit c38058942ececeb32c381a838a10277ba43be94c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Oct 27 16:05:06 2016 +0100

    Enable range stepping if software single step is supported
    
    If the target can do software single step, it can do range
    stepping.
    
    gdb/gdbserver:
    
    2016-10-27  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (linux_supports_agent): Return true if
    	can_software_single_step return true.

commit 89342618773b64db3e67701c0cd9dd89cdbbc18a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Oct 27 16:05:06 2016 +0100

    Get pending events in random
    
    Nowadays, we select events to be reported to GDB in random, however
    that is not enough when many GDBserver internal events (not reported
    to GDB) are generated.
    
    GDBserver pulls all events out of kernel via waitpid, and leave them
    pending.  When goes through threads which have pending events,
    GDBserver uses find_inferior to find the first thread which has
    pending event, and consumes it.  Note that find_inferior always
    iterate threads in a fixed order.  If multiple threads keep hitting
    GDBserver breakpoints, range stepping with single-step breakpoint for
    example, threads in the head of the thread list are more likely to be
    processed and threads in the tail are starved.  This causes some timeout
    fails in gdb.threads/non-stop-fair-events.exp when range stepping is
    enabled on arm-linux.
    
    This patch fixes this issue by randomly selecting pending events.  It
    adds a new function find_inferior_in_random, which iterates threads
    which have pending events randomly.
    
    gdb/gdbserver:
    
    2016-10-27  Yao Qi  <yao.qi@linaro.org>
    
    	* inferiors.c (find_inferior_in_random): New function.
    	* inferiors.h (find_inferior_in_random): Declare.
    	* linux-low.c (linux_wait_for_event_filtered): Call
    	find_inferior_in_random instead of find_inferior.

commit e3652c8460a6247f50e24deaca1c1c1c0e2a2573
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Oct 27 16:05:06 2016 +0100

    Remove single-step breakpoint for GDBserver internal event
    
    This patch removes single-step breakpoints if the event is only
    GDBserver internal, IOW, isn't reported back to GDB.
    
    gdb/gdbserver:
    
    2016-10-27  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (linux_wait_1): If single-step breakpoints are
    	inserted, remove them.

commit bb65a718b601ecfebd1ebe5be71728d5c359c31f
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Jul 8 18:01:00 2016 +0100

    gas/arc: Don't rely on bfd list of cpu type for cpu selection
    
    In the ARC assembler, when a cpu type is specified using the .cpu
    directive, we rely on the bfd list of arc machine types in order to
    validate the cpu name passed in.
    
    This validation is only used in order to check that the cpu type passed
    to the .cpu directive matches any machine type selected earlier on the
    command line.  Once that initial check has passed a full check is
    performed using the assemblers internal list of know cpu types.
    
    The problem is that the assembler knows about more cpu types than bfd,
    some cpu types known by the assembler are actually aliases for a base
    cpu type plus a specific set of assembler extensions.  One such example
    is NPS400, though more could be added later.
    
    This commit removes the need for the assembler to use the bfd list of
    machine types for validation.  Instead the error checking, to ensure
    that any value passed to a '.cpu' directive matches any earlier command
    line selection, is moved into the function arc_select_cpu.
    
    I have taken the opportunity to bundle the 4 separate static globals
    that describe the currently selected machine type into a single
    structure (called selected_cpu).
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (arc_target): Delete.
    	(arc_target_name): Delete.
    	(arc_features): Delete.
    	(arc_mach_type): Delete.
    	(mach_type_specified_p): Delete.
    	(enum mach_selection_type): New enum.
    	(mach_selection_mode): New static global.
    	(selected_cpu): New static global.
    	(arc_eflag): Rename to ...
    	(arc_initial_eflag): ...this, and make const.
    	(arc_select_cpu): Update comment, new parameter, check how
    	previous machine type selection was made, and record this
    	selection.  Use selected_cpu instead of old globals.
    	(arc_option): Remove use of arc_get_mach, instead use
    	arc_select_cpu to validate machine type selection.  Use
    	selected_cpu over old globals.
    	(allocate_tok): Use selected_cpu over old globals.
    	(find_opcode_match): Likewise.
    	(assemble_tokens): Likewise.
    	(arc_cons_fix_new): Likewise.
    	(arc_extinsn): Likewise.
    	(arc_extcorereg): Likewise.
    	(md_begin): Update default machine type selection, use
    	selected_cpu over old globals.
    	(md_parse_option): Update machine type selection option handling,
    	use selected_cpu over old globals.
    	* testsuite/gas/arc/nps400-0.s: Add .cpu directive.
    
    bfd/ChangeLog:
    
    	* cpu-arc.c (arc_get_mach): Delete.

commit 2e492780e8c4736b456448369ccdf4460f6e2675
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Oct 27 00:00:19 2016 +0000

    Automatic date update in version.in

commit ecf45d2cc7667ed4692d07e52fc77a2c9a8adf1c
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Wed Oct 26 12:12:01 2016 -0500

    PR 20569, segv in follow_exec
    
    The following testcases make GDB crash whenever an invalid sysroot is
    provided, when GDB is unable to find a valid path to the symbol file:
    
     gdb.base/catch-syscall.exp
     gdb.base/execl-update-breakpoints.exp
     gdb.base/foll-exec-mode.exp
     gdb.base/foll-exec.exp
     gdb.base/foll-vfork.exp
     gdb.base/pie-execl.exp
     gdb.multi/bkpt-multi-exec.exp
     gdb.python/py-finish-breakpoint.exp
     gdb.threads/execl.exp
     gdb.threads/non-ldr-exc-1.exp
     gdb.threads/non-ldr-exc-2.exp
     gdb.threads/non-ldr-exc-3.exp
     gdb.threads/non-ldr-exc-4.exp
     gdb.threads/thread-execl.exp
    
    The immediate cause of the segv is that follow_exec is passing a NULL
    argument (the result of exec_file_find) to strlen.
    
    However, the problem is deeper than that: follow_exec simply isn't
    prepared for the case where sysroot translation fails to locate the
    new executable.  Actually all callers of exec_file_find have bugs due
    to confusion between host and target pathnames.  This commit attempts
    to fix all that.
    
    In terms of the testcases that were formerly segv'ing, GDB now prints
    a warning but continues execution of the new program, so that the
    tests now mostly FAIL instead.  You could argue the FAILs are due to a
    legitimate problem with the test environment setting up the sysroot
    translation incorrectly.
    
    A new representative test is added which exercises the ne wwarning
    code path even with native testing.
    
    Tested on x86_64 Fedora 23, native and gdbserver.
    
    gdb/ChangeLog:
    2016-10-25  Sandra Loosemore  <sandra@codesourcery.com>
    	    Luis Machado  <lgustavo@codesourcery.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20569
    	* exceptions.c (exception_print_same): Moved here from exec.c.
    	* exceptions.h (exception_print_same): Declare.
    	* exec.h: Include "symfile-add-flags.h".
    	(try_open_exec_file): New declaration.
    	* exec.c (exception_print_same): Moved to exceptions.c.
    	(try_open_exec_file): New function.
    	(exec_file_locate_attach): Rename exec_file and full_exec_path
    	variables to avoid confusion between target and host pathnames.
    	Move pathname processing logic to exec_file_find.  Do not return
    	early if pathname lookup fails; Call try_open_exec_file.
    	* infrun.c (follow_exec): Split and rename execd_pathname variable
    	to avoid confusion between target and host pathnames.  Warn if
    	pathname lookup fails.  Pass target pathname to
    	target_follow_exec, not hostpathname.  Call try_open_exec_file.
    	* main.c (symbol_file_add_main_adapter): New function.
    	(captured_main_1): Use it.
    	* solib-svr4.c (open_symbol_file_object): Adjust to pass
    	symfile_add_flags to symbol_file_add_main.
    	* solib.c (exec_file_find): Incorporate fallback logic for relative
    	pathnames formerly in exec_file_locate_attach.
    	* symfile.c (symbol_file_add_main, symbol_file_add_main_1):
    	Replace 'from_tty' parameter with a symfile_add_file.
    	(symbol_file_command): Adjust to pass symfile_add_flags to
    	symbol_file_add_main.
    	* symfile.h (symbol_file_add_main): Replace 'from_tty' parameter
    	with a symfile_add_file.
    
    gdb/testsuite/ChangeLog:
    2016-10-25  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/exec-invalid-sysroot.exp: New file.

commit b15cc25cbe7c13e450f77b4a309223b9b3da3936
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 26 16:47:10 2016 +0100

    Make symfile_add_flags and objfile->flags strongly typed
    
    This makes these flag types be "enum flag" types.  The benefit is
    making use of C++'s stronger typing -- mixing the flags types by
    mistake errors at compile time.
    
    This caught one old bug in symbol_file_add_main_1 already, fixed by
    this patch as well:
    
      @@ -1318,7 +1326,7 @@ symbol_file_add_main_1 (const char *args, int from_tty, int flags)
    	what is frameless.  */
         reinit_frame_cache ();
    
      -  if ((flags & SYMFILE_NO_READ) == 0)
      +  if ((add_flags & SYMFILE_NO_READ) == 0)
           set_initial_language ();
       }
    
    Above, "flags" are objfile flags, not symfile_add_flags.  So that was
    actually checking for "flag & OBJF_PSYMTABS_READ", which has the same
    value as SYMFILE_NO_READ...
    
    I moved the flags definitions to separate files to break circular
    dependencies.
    
    Built with --enable-targets=all and tested on x86-64 Fedora 23.
    
    gdb/ChangeLog:
    2016-10-26  Pedro Alves  <palves@redhat.com>
    
    	* coffread.c (coff_symfile_read): Use symfile_add_flags.
    	* dbxread.c (dbx_symfile_read): Ditto.
    	* elfread.c (elf_symfile_read): Ditto.
    	* inferior.h: Include symfile-add-flags.h.
    	(struct inferior) <symfile_flags>: Now symfile_add_flags.
    	* machoread.c (macho_add_oso_symfile, macho_symfile_read_all_oso)
    	(macho_symfile_read, mipscoff_symfile_read): Use
    	symfile_add_flags.
    	* objfile-flags.h: New file.
    	* objfiles.c (allocate_objfile): Use objfile_flags.
    	* objfiles.h: Include objfile-flags.h.
    	(struct objfile) <flags>: Now an objfile_flags.
    	(OBJF_REORDERED, OBJF_SHARED, OBJF_READNOW, OBJF_USERLOADED)
    	(OBJF_PSYMTABS_READ, OBJF_MAINLINE, OBJF_NOT_FILENAME): Delete.
    	Converted to an enum-flags in objfile-flags.h.
    	(allocate_objfile): Use objfile_flags.
    	* python/py-objfile.c (objfpy_add_separate_debug_file): Remove
    	unnecessary local.
    	* solib.c (solib_read_symbols, solib_add)
    	(reload_shared_libraries_1): Use symfile_add_flags.
    	* solib.h: Include "symfile-add-flags.h".
    	(solib_read_symbols): Use symfile_add_flags.
    	* symfile-add-flags.h: New file.
    	* symfile-debug.c (debug_sym_read): Use symfile_add_flags.
    	* symfile-mem.c (symbol_file_add_from_memory): Use
    	symfile_add_flags.
    	* symfile.c (read_symbols, syms_from_objfile_1)
    	(syms_from_objfile, finish_new_objfile): Use symfile_add_flags.
    	(symbol_file_add_with_addrs): Use symfile_add_flags and
    	objfile_flags.
    	(symbol_file_add_separate): Use symfile_add_flags.
    	(symbol_file_add_from_bfd, symbol_file_add): Use symfile_add_flags
    	and objfile_flags.
    	(symbol_file_add_main_1): : Use objfile_flags.  Fix add_flags vs
    	flags confusion.
    	(symbol_file_command): Use objfile_flags.
    	(add_symbol_file_command): Use symfile_add_flags and
    	objfile_flags.
    	(clear_symtab_users): Use symfile_add_flags.
    	* symfile.h: Include "symfile-add-flags.h" and "objfile-flags.h".
    	(struct sym_fns) <sym_read>: Use symfile_add_flags.
    	(clear_symtab_users): Use symfile_add_flags.
    	(enum symfile_add_flags): Delete, moved to symfile-add-flags.h and
    	converted to enum-flags.
    	(symbol_file_add, symbol_file_add_from_bfd)
    	(symbol_file_add_separate): Use symfile_add_flags.
    	* xcoffread.c (xcoff_initial_scan): Use symfile_add_flags.

commit 85ad3aaf403d2104c82010494d3d4a93a36e2e6f
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 26 11:08:28 2016 +0100

    gdb: Coalesce/aggregate (async) vCont packets/actions
    
    Currently, with "maint set target-non-stop on", that is, when gdb
    connects with the non-stop/asynchronous variant of the remote
    protocol, even with "set non-stop off", GDB always sends one vCont
    packet per thread resumed.  This patch makes GDB aggregate and
    coalesce vCont packets, so we send vCont packets like "vCont;s:p1.1;c"
    in non-stop mode too.
    
    Basically, this is done by:
    
      - Adding a new target method target_commit_resume that is called
        after calling target_resume one or more times.  When resuming a
        batch of threads, we'll only call target_commit_resume once after
        calling target_resume for all threads.
    
      - Making the remote target defer sending the actual vCont packet to
        target_commit_resume.
    
    Special care must be taken to avoid sending a vCont action with a
    "wildcard" thread-id (all threads of process / all threads) when that
    would resume threads/processes that should not be resumed.  See
    remote_commit_resume comments for details.
    
    Unlike all-stop's remote_resume implementation, this handles the case
    of too many actions resulting in a too-big vCont packet, by flushing
    the vCont packet and starting a new one.
    
    E.g., imagining that the "c" action in:
    
      vCont;s:1;c
    
    overflows the packet buffer, we split the actions like:
    
      vCont;s:1
      vCont;c
    
    Tested on x86_64 Fedora 20, with and without "maint set
    target-non-stop on".
    
    Also tested with a hack that makes remote_commit_resume flush the vCont
    packet after every action appended (which caught a few bugs).
    
    gdb/ChangeLog:
    2016-10-26  Pedro Alves  <palves@redhat.com>
    
    	* inferior.h (ALL_NON_EXITED_INFERIORS): New macro.
    	* infrun.c (do_target_resume): Call target_commit_resume.
    	(proceed): Defer target_commit_resume while looping over threads,
    	resuming them.  Call target_commit_resume at the end.
    	* record-btrace.c (record_btrace_commit_resume): New function.
    	(init_record_btrace_ops): Install it as to_commit_resume method.
    	* record-full.c (record_full_commit_resume): New function.
    	(record_full_wait_1): Call the beneath target's to_commit_resume
    	method.
    	(init_record_full_ops): Install record_full_commit_resume as
    	to_commit_resume method.
    	* remote.c (struct private_thread_info) <last_resume_step,
    	last_resume_sig, vcont_resumed>: New fields.
    	(remote_add_thread): Set the new thread's vcont_resumed flag.
    	(demand_private_info): Delete.
    	(get_private_info_thread, get_private_info_ptid): New functions.
    	(remote_update_thread_list): Adjust.
    	(process_initial_stop_replies): Clear the thread's vcont_resumed
    	flag.
    	(remote_resume): If connected in non-stop mode, record the resume
    	request and return early.
    	(struct private_inferior): New.
    	(struct vcont_builder): New.
    	(vcont_builder_restart, vcont_builder_flush)
    	(vcont_builder_push_action): New functions.
    	(MAX_ACTION_SIZE): New macro.
    	(remote_commit_resume): New function.
    	(thread_pending_fork_status, is_pending_fork_parent_thread): New
    	functions.
    	(check_pending_event_prevents_wildcard_vcont_callback)
    	(check_pending_events_prevent_wildcard_vcont): New functions.
    	(process_stop_reply): Adjust.  Clear the thread's vcont_resumed
    	flag.
    	(init_remote_ops): Install remote_commit_resume.
    	* target-delegates.c: Regenerate.
    	* target.c (defer_target_commit_resume): New global.
    	(target_commit_resume, make_cleanup_defer_target_commit_resume):
    	New functions.
    	* target.h (struct target_ops) <to_commit_resume>: New field.
    	(target_resume): Update comments.
    	(target_commit_resume): New declaration.

commit 5a04c4cf5df6d13596e79e7b84520cbe245a5a4d
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 26 16:17:25 2016 +0100

    gdbserver: Leave already-vCont-resumed threads as they were
    
    Currently GDB never sends more than one action per vCont packet, when
    connected in non-stop mode.  A follow up patch will change that, and
    it exposed a gdbserver problem with the vCont handling.
    
    For example, this in non-stop mode:
    
      => vCont;s:p1.1;c
      <= OK
    
    Should be equivalent to:
    
      => vCont;s:p1.1
      <= OK
      => vCont;c
      <= OK
    
    But gdbserver currently doesn't handle this.  In the latter case,
    "vCont;c" makes gdbserver clobber the previous step request.  This
    patch fixes that.
    
    Note the server side must ignore resume actions for the thread that
    has a pending %Stopped notification (and any other threads with events
    pending), until GDB acks the notification with vStopped.  Otherwise,
    e.g., the following case is mishandled:
    
     #1 => g  (or any other packet)
     #2 <= [registers]
     #3 <= %Stopped T05 thread:p1.2
     #4 => vCont s:p1.1;c
     #5 <= OK
    
    Above, the server must not resume thread p1.2 when it processes the
    vCont.  GDB can't know that p1.2 stopped until it acks the %Stopped
    notification.  (Otherwise it wouldn't send a default "c" action.)
    
    (The vCont documentation already specifies this.)
    
    Finally, special care must also be given to handling fork/vfork
    events.  A (v)fork event actually tells us that two processes stopped
    -- the parent and the child.  Until we follow the fork, we must not
    resume the child.  Therefore, if we have a pending fork follow, we
    must not send a global wildcard resume action (vCont;c).  We can still
    send process-wide wildcards though.
    
    (The comments above will be added as code comments to gdb in a follow
    up patch.)
    
    gdb/gdbserver/ChangeLog:
    2016-10-26  Pedro Alves  <palves@redhat.com>
    
    	* linux-low.c (handle_extended_wait): Link parent/child fork
    	threads.
    	(linux_wait_1): Unlink them.
    	(linux_set_resume_request): Ignore resume requests for
    	already-resumed and unhandled fork child threads.
    	* linux-low.h (struct lwp_info) <fork_relative>: New field.
    	* server.c (in_queued_stop_replies_ptid, in_queued_stop_replies):
    	New functions.
    	(handle_v_requests) <vCont>: Don't call require_running.
    	* server.h (in_queued_stop_replies): New declaration.

commit ca6eff59089ff1a1772ac95d4890f94b3eef2796
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 26 11:08:27 2016 +0100

    gdb/doc: Clarify vCont packet description
    
    Specifically, what happens with multiple actions that could match a
    thread, and what happens when we get a vCont action that matches a
    thread that was already running.  E.g., what does:
    
     "vCont;s:2"
     "vCont;s:1;c"
    
    mean for thread 2.
    
    (Thread 2 continues stepping.)
    
    gdb/doc/ChangeLog:
    2016-10-26  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (Packets): Clarify vCont packets with multiple
    	actions that match a thread, and what happens when an action
    	matches a thread that is already running.

commit ef4a339527a41802fbab70af25d6e4788f35dcc8
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 26 11:08:26 2016 +0100

    gdb: Free inferior->priv when inferior exits
    
    (Where "exits" includes being killed or detached.)
    
    Nothing is clearing inferior->priv currently.  This is a problem if we
    change the inferior's process_stratum targets in a single debug
    session.  This field is currently only used by darwin-nat.c, but a
    follow up patch will make remote.c use it too.  Without the fix,
    remote.c might end up mistaking the priv object allocated by
    darwin-nat.c with its own.
    
    (Found by inspection.)
    
    gdb/ChangeLog:
    2016-10-26  Pedro Alves  <palves@redhat.com>
    
    	* inferior.c (exit_inferior_1): Free 'priv'.

commit 7b68ffbb32645c5383e74f27248a1c1c7ecd241a
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 26 11:08:26 2016 +0100

    gdb: Clean up remote.c:remote_resume
    
    Just some refactoring / TLC.  Mainly split the old c/s/C/S packet
    handling to a separate function.
    
    gdb/ChangeLog:
    2016-10-26  Pedro Alves  <palves@redhat.com>
    
    	* remote.c (remote_resume_with_hc): New function, factored out
    	from ...
    	(remote_resume): ... this.  Always try vCont first.
    	(remote_vcont_resume): Rename to ...
    	(remote_resume_with_vcont): ... this.  Bail out if execution
    	direction is reverse.

commit 2a3a7490761797388aae10da3c4b2fba6b876007
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 26 09:28:31 2016 +1030

    Revert "bison warning fixes"
    
    This reverts commit 95e61695c199a07c832153cea25ae9c331d16a3c.  People
    still want to use older versions of bison, apparently.
    
    	Revert 2016-10-06  Alan Modra  <amodra@gmail.com>
    	* config/rl78-parse.y: Do use old %name-prefix syntax.
    	* config/rx-parse.y: Likewise.

commit 21280c0ae32e182a4401d18664c3da89a7da17fd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Oct 26 00:00:19 2016 +0000

    Automatic date update in version.in

commit beb18c865c42ab57176099eecb65bb52e71def85
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 25 14:32:35 2016 +0100

    Make dwarf_expr_context's destructor virtual
    
    Ref: https://sourceware.org/ml/gdb-patches/2016-10/msg00662.html
    
     $ make WERROR_CFLAGS="-Wnon-virtual-dtor" dwarf2expr.o
     ...
     In file included from .../src/gdb/dwarf2expr.c:28:0:
     .../src/gdb/dwarf2expr.h:68:8: warning: ‘struct dwarf_expr_context’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
      struct dwarf_expr_context
    	 ^~~~~~~~~~~~~~~~~~
    
    Happens to not be a problem in practice currently because concrete
    subclasses are allocated on the stack.  I.e., we don't ever delete
    objects of types that derive from dwarf_expr_context through pointers
    to dwarf_expr_context.
    
    gdb/ChangeLog:
    2016-10-25  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2expr.h (struct dwarf_expr_context) <~dwarf_expr_context>:
    	Make virtual.

commit b196bc4cb45969ade48efcba6c31b1de0acf24d0
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Tue Oct 25 15:19:46 2016 +0200

    Fix gdb C++ compilation on Solaris (PR build/20712)
    
    gdb 7.12 doesn't compile as C++ (tried with g++ 4.9) on Solaris (tried
    10 and 12, sparc and x86).  The following patch (relative to the 7.12
    release, though I expect most if not all issues to be present on trunk,
    too) fixes this.
    
    Only a few of the changes bear explanation:
    
    * Initially, compilation failed whereever defs.h. was included:
    
    In file included from /vol/src/gnu/gdb/gdb-7.12/gdb/gdb.c:19:0:
    /vol/src/gnu/gdb/gdb-7.12/gdb/defs.h:630:33: error: 'double atof(const char*)' conflicts with a previous declaration
     extern double atof (const char *); /* X3.159-1989  4.10.1.1 */
                                     ^
    In file included from /usr/include/stdlib.h:17:0,
                     from build-gnulib/import/stdlib.h:36,
                     from /vol/src/gnu/gdb/gdb-7.12/gdb/common/common-defs.h:32,
                     from /vol/src/gnu/gdb/gdb-7.12/gdb/defs.h:28,
                     from /vol/src/gnu/gdb/gdb-7.12/gdb/gdb.c:19:
    /vol/gcc-4.9/lib/gcc/i386-pc-solaris2.10/4.9.0/include-fixed/iso/stdlib_iso.h:119:15: note: previous declaration 'double std::atof(const char*)'
     extern double atof(const char *);
                   ^
    
      This is due to this gem in gdb/defs.h which seems to have been present
      like forever:
    
    #ifndef atof
    extern double atof (const char *);	/* X3.159-1989  4.10.1.1 */
    #endif
    
      In the Solaris headers, the appropriate functions are in namespace std,
      thus the conflict.  I've wrapped the defs.h declaration in !__cplusplus
      to avoid this; perhaps it can go completely instead.
    
    * All the casts are necessary to appease g++ and should be pretty
      obvious.
    
    * The sol-thread.c changes are here to handle
    
    /vol/src/gnu/gdb/gdb-7.12/gdb/sol-thread.c: In function 'void _initialize_sol_thread()':
    /vol/src/gnu/gdb/gdb-7.12/gdb/sol-thread.c:1252:36: error: invalid conversion from 'void*' to 'void (*)(int)' [-fpermissive]
       if (!(p_##X = dlsym (dlhandle, #X))) \
                                        ^
    /vol/src/gnu/gdb/gdb-7.12/gdb/sol-thread.c:1255:3: note: in expansion of macro 'resolve'
       resolve (td_log);
       ^
    
      and are modeled after linux-thread-db.c (try_thread_db_load_1).
    
    The patch allowed both 32 and 64-bit C++ builds on sparc-sun-solaris2.10
    and i386-pc-solaris2.10 to complete.  The resulting binary hasn't seen
    more than a smoke test (invoke it on itself, b main, run) yet.
    
    When investigating the failure to detect -static-libstdc++
    support (more below), I found two more issues which only show up with
    -Werror:
    
    /vol/src/gnu/gdb/gdb/local/gdb/procfs.c: In function 'ssd* proc_get_LDT_entry(procinfo*, int)':
    /vol/src/gnu/gdb/gdb/local/gdb/procfs.c:2487:19: error: variable 'old_chain' set but not used [-Werror=unused-but-set-variable]
       struct cleanup *old_chain = NULL;
                       ^
    
    Unless I'm mistaken, you need to run do_cleanups on every return from
    the function.
    
    Afterwards, I ran a 32-bit compilation, which (after adding
    --disable-largefile to avoid
    
    In file included from /usr/include/sys/procfs.h:28:0,
                     from /vol/src/gnu/gdb/gdb/local/gdb/i386-sol2-nat.c:23:
    /usr/include/sys/old_procfs.h:39:2: error: #error "Cannot use procfs in the large file compilation environment"
     #error "Cannot use procfs in the large file compilation environment"
      ^
    
    and two more instances) revealed
    
    /vol/src/gnu/gdb/gdb/local/gdb/top.c: In function 'void gdb_safe_append_history()':
    /vol/src/gnu/gdb/gdb/local/gdb/top.c:1170:59: error: format '%d' expects argument of type 'int', but argument 3 has type 'pid_t {aka long int}' [-Werror=format=]
         = xstrprintf ("%s-gdb%d~", history_filename, getpid ());
                                                               ^
    
    Fixed by casting pid_t to long and printing it as such.

commit b30f354acb39f63bf3213673a0584119e63538b9
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 25 13:50:20 2016 +0100

    common/common-defs.h: Define __STDC_FORMAT_MACROS as well
    
    Ref: https://sourceware.org/ml/gdb-patches/2016-10/msg00694.html
    
    gdb/ChangeLog:
    2016-10-25  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h (__STDC_FORMAT_MACROS): Define.

commit e4426cb42f082b0dc1298a173014f18ff0ff7ea7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 25 13:32:26 2016 +0100

    new-op.c: Add comment about -fsanitize=address
    
    gdb/ChangeLog:
    2016-10-25  Pedro Alves  <palves@redhat.com>
    
    	* common/new-op.c: Add comment about -fsanitize=address.

commit 28fe4f87e0b815f4c0d9b80e0a9f3e6a53c649b3
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 25 11:47:18 2016 +0100

    Define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS again.
    
    Revert commit f6abaf7a4088 (gdb: no longer define
    __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS), with the tweak suggested
    in that commit's log: the macros are now defined before any system
    header is included.
    
    This should fix AIX:
      https://sourceware.org/ml/gdb-patches/2016-10/msg00682.html
    
    gdb/ChangeLog:
    2016-10-25  Pedro Alves  <palves@redhat.com>
    
           * common/common-defs.h (__STDC_CONSTANT_MACROS)
           (__STDC_LIMIT_MACROS): Define.

commit 3ef9d661f45abfaca5d0c0bb2ea9ab60470f1bb7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Oct 25 11:13:00 2016 +0100

    Don't override operator new if GDB is built with -fsanitize=address
    
    Nowadays, if we build GDB with -fsanitize=address, we can get the asan
    error below,
    
    (gdb) quit
    =================================================================
    ==9723==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete) on 0x60200003bf70
        #0 0x7f88f3837527 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x55527)
        #1 0xac8e13 in __gnu_cxx::new_allocator<void (*)()>::deallocate(void (**)(), unsigned long) /usr/include/c++/4.9/ext/new_allocator.h:110
        #2 0xac8cc2 in __gnu_cxx::__alloc_traits<std::allocator<void (*)()> >::deallocate(std::allocator<void (*)()>&, void (**)(), unsigned long) /usr/include/c++/4.9/ext/alloc_traits.h:185
    ....
    0x60200003bf70 is located 0 bytes inside of 8-byte region [0x60200003bf70,0x60200003bf78)
    allocated by thread T0 here:
        #0 0x7f88f38367ef in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x547ef)
        #1 0xbd2762 in operator new(unsigned long) /home/yao/SourceCode/gnu/gdb/git/gdb/common/new-op.c:42
        #2 0xac8edc in __gnu_cxx::new_allocator<void (*)()>::allocate(unsigned long, void const*) /usr/include/c++/4.9/ext/new_allocator.h:104
        #3 0xac8d81 in __gnu_cxx::__alloc_traits<std::allocator<void (*)()> >::allocate(std::allocator<void (*)()>&, unsigned long) /usr/include/c++/4.9/ext/alloc_traits.h:182
    
    The reason for this is that we override operator new but don't override
    operator delete.  This patch does the override if the code is NOT
    compiled with asan.
    
    gdb:
    
    2016-10-25  Yao Qi  <yao.qi@linaro.org>
    
    	PR gdb/20716
    	* common/new-op.c (__has_feature): New macro.
    	Don't override operator new if asan is used.

commit a18a2a347dd85e93d1083c984deffdc0dacf1bd6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Oct 25 02:08:26 2016 +0100

    elfxx-mips: Correct STUB_JALR's description
    
    	bfd/
    	* elfxx-mips.c (STUB_JALR): Correct description.

commit 73b088be7219eaa2fa73374006da9665d8cc5028
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Oct 25 00:00:22 2016 +0000

    Automatic date update in version.in

commit b5e1db87897cabfd9beb8b1bd49f7d965c0f2607
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Oct 24 17:51:33 2016 -0500

    Fix potential NULL pointer dereference
    
    This patch addresses a potential NULL pointer dereference when we try to
    duplicate a string. The input pointer can be NULL and that may lead to
    crashes. We simply add a check for that case.
    
    gdb/ChangeLog:
    2016-10-24  Luis Machado  <lgustavo@codesourcery.com>
    
    	* exec.c (exec_file_locate_attach): Prevent NULL pointer dereference
    	when duplicating a string.

commit 010ece9c47f1ac08c9436b133a74472713dd709b
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Oct 24 17:44:56 2016 -0500

    Fix obvious gotcha in string comparison
    
    This patch fixes a gotcha when comparing exception's messages in
    exception_print_same. It should've used the statically-allocated
    string versions msg1 and msg2 instead.
    
    As is, it could lead to crashes.
    
    gdb/ChangeLog:
    2016-10-24  Luis Machado  <lgustavo@codesourcery.com>
    
    	* exec.c (exception_print_same): Fix string comparison to use
    	statically-allocated ones.

commit b8d38ee4250fb6ad001c2f03fa2cef8c2bc06b57
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Oct 24 14:13:51 2016 +0200

    testsuite: Fix false FAIL for gdb.base/morestack.exp
    
    Since
    	[commit] [testsuite patch] Fix gcc_compiled for gcc 6 & 7
    	https://sourceware.org/ml/gdb-patches/2016-10/msg00620.html
    
    there has started running again
    	 Running gdb/testsuite/gdb.base/morestack.exp ...
    	+FAIL: gdb.base/morestack.exp: continue
    	+PASS: gdb.base/morestack.exp: up 3000
    
    but as you can see it FAILs now - on Fedora 24 x86_64 (although for example it
    still PASSes on CentOS-7.2 x86_64).
    
    Program received signal SIGSEGV, Segmentation fault.
    0x00007ffff787c7bb in malloc_consolidate (av=av@entry=0x7ffff7bbcb00 <main_arena>) at malloc.c:4181
    4181		      unlink(av, nextchunk, bck, fwd);
    (gdb) bt
    [...]
    [...]
    
    This apparently is due to - man gcc - -fsplit-stack:
    	When code compiled with -fsplit-stack calls code compiled without
    	-fsplit-stack, there may not be much stack space available for the
    	latter code to run.  If compiling all code, including library code,
    	with -fsplit-stack is not an option, then the linker can fix up these
    	calls so that the code compiled without -fsplit-stack always has
    	a large stack.  Support for this is implemented in the gold linker in
    	GNU binutils release 2.21 and later.
    
    gdb/testsuite/ChangeLog
    2016-10-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/morestack.exp: Try to build it using -fuse-ld=gold first.

commit cb93dc7f262978bafe36397a41a56e409a302042
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Oct 24 10:59:11 2016 +0100

    [GDBserver] Fix conversion warning
    
    I got the following warning if I build GDBserver for aarch64_be-linux-gnu,
    
    git/gdb/gdbserver/linux-aarch64-low.c:1539:39: error: invalid conversion from 'void*' to 'uint32_t* {aka unsigned int*}' [-fpermissive]
       uint32_t *le_buf = xmalloc (byte_len);
                                           ^
    The patch is to fix the warning.
    
    gdb/gdbserver:
    
    2016-10-24  Yao Qi  <yao.qi@linaro.org>
    
    	PR server/20733
    	* linux-aarch64-low.c (append_insns): Cast the return value to
    	'uint32_t *'.

commit 638101973de1d316fcb7d4b6a37fa194b61bfaad
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Oct 24 00:00:21 2016 +0000

    Automatic date update in version.in

commit 243050da090159b12177e00248bd3a06100d7415
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Oct 23 00:00:19 2016 +0000

    Automatic date update in version.in

commit dcf293fda811c2fa956423fd14be343c68c1984d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Oct 22 00:00:19 2016 +0000

    Automatic date update in version.in

commit befbff861e07212f4073e4ce72e4b45cca3e0f8d
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Oct 19 21:38:38 2016 -0600

    Make some dwarf_expr_context methods pure virtual
    
    This patch changes some dwarf_expr_context to be pure virtual, as
    mentioned during the discussion of an earlier patch in this series.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2expr.h (class dwarf_expr_context)
    	<get_frame_base, get_frame_cfa, get_tls_address, dwarf_call,
    	push_dwarf_block_entry_value, get_addr_index, get_object_address>:
    	Now pure virtual.
    	* dwarf2-frame.c (class dwarf_expr_executor)
    	<get_frame_base, get_frame_cfa, get_tls_address, dwarf_call,
    	push_dwarf_block_entry_value, get_addr_index, get_object_address>:
    	New methods.
    	<invalid>: New method.

commit ce6c454e5acbaec4e0c22e9c8af0fe7686a53baa
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Oct 14 15:19:03 2016 -0600

    Change minimal_symbol_reader::record_full to take a bool
    
    This changes an "int" to a "bool" in the signature for
    minimal_symbol_reader::record_full, and then fixes the callers.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* minsyms.h (minimal_symbol_reader::record_full): "copy_name" now
    	a bool.
    	(record, record_with_info): Update.
    	* minsyms.c (record): Fix indentation.
    	(record_full): Fix indentation.  Update for type change.
    	* elfread.c (record_minimal_symbol): "copy_name" now a bool.
    	(elf_symtab_read): "copy_names" now a bool.
    	(elf_rel_plt_read, elf_read_minimal_symbols): Update.

commit f60ee22ea1d62f7004511ec65a3ad76890032d88
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Oct 11 20:02:23 2016 -0600

    Remove last cleanup from captured_main_1
    
    An earlier patch split captured_main into two parts.  This patch
    removes the last remaining cleanup from captured_main_1, and also
    replaces a second hand-rolled VEC-like array with a std::vector.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* main.c: Include <vector>.
    	(cmdarg_s): Remove typedef.  Don't define VEC.
    	(captured_main_1): Use vector, not VEC.  Remove cleanups.

commit 192ca6d8eac4a5538036ef200b95d6ef3dbe9511
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Sep 26 08:59:13 2016 -0600

    Convert dwarf_expr_context_funcs to methods
    
    This patch converts the function pointers in dwarf_expr_context_funcs
    into methods on dwarf_expr_context, and then updates the various
    implementations and callers to follow.
    
    NB this patch uses "override" (which caught a couple of renaming bugs
    during development) -- but this is C++11, so this patch at least has
    to wait for Pedro's patch that adds the OVERRIDE macro.
    
    After this patch it would be possible to do one more, that makes
    various members of dwarf_expr_context "protected"; but I haven't done
    this.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2loc.c (struct dwarf_expr_context_funcs): Don't declare.
    	(dwarf_expr_read_addr_from_reg, dwarf_expr_get_reg_value)
    	(dwarf_expr_read_mem, dwarf_expr_frame_base): Rename; turn into
    	methods.
    	(get_frame_pc_for_per_cu_dwarf_call): New function.
    	(dwarf_expr_frame_cfa, dwarf_expr_frame_pc)
    	(dwarf_expr_tls_address): Rename; turn into methods.
    	(per_cu_dwarf_call): Remove arguments.  Use
    	get_frame_pc_for_per_cu_dwarf_call.
    	(dwarf_evaluate_loc_desc): New class.
    	(dwarf_expr_dwarf_call, dwarf_expr_context)
    	(dwarf_expr_push_dwarf_reg_entry_value)
    	(dwarf_expr_get_addr_index, dwarf_expr_get_obj_addr): Rename; turn
    	into methods.
    	(dwarf_expr_ctx_funcs): Remove.
    	(dwarf2_evaluate_loc_desc_full): Update.
    	(dwarf2_locexpr_baton_eval): Update.
    	(symbol_needs_eval_context): New class.
    	(symbol_needs_read_addr_from_reg, symbol_needs_get_reg_value)
    	(symbol_needs_read_mem, symbol_needs_frame_base)
    	(symbol_needs_frame_cfa, symbol_needs_tls_address)
    	(symbol_needs_dwarf_call, needs_dwarf_reg_entry_value): Rename;
    	turn into methods.
    	(needs_get_addr_index, needs_get_obj_addr): Remove; turn into
    	methods.
    	(symbol_needs_ctx_funcs): Remove.
    	(dwarf2_loc_desc_get_symbol_read_needs): Update.
    	* dwarf2expr.h (struct dwarf_expr_context_funcs): Remove; turn
    	contents into methods.
    	(struct dwarf_expr_context) <baton, funcs>: Remove.
    	<read_addr_from_reg, get_reg_value, read_mem, get_frame_base,
    	get_frame_cfa, get_frame_pc, get_tls_address, dwarf_call,
    	impl_get_base_type, push_dwarf_block_entry_value, get_addr_index,
    	get_object_address>: Declare new methods.
    	(ctx_no_get_frame_base, ctx_no_get_frame_cfa)
    	(ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
    	(ctx_no_get_base_type, ctx_no_push_dwarf_reg_entry_value)
    	(ctx_no_get_addr_index): Don't declare.
    	* dwarf2expr.c (get_base_type): Use impl_get_base_type.
    	(execute_stack_op): Update.
    	(ctx_no_get_frame_base, ctx_no_get_frame_cfa)
    	(ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
    	(ctx_no_get_base_type, ctx_no_push_dwarf_reg_entry_value)
    	(ctx_no_get_addr_index): Remove; now methods on
    	dwarf_expr_context.
    	* dwarf2-frame.c (read_addr_from_reg): Take a frame_info, not a
    	baton.
    	(class dwarf_expr_executor): New class.
    	(get_reg_value, read_mem): Rename, turn into methods.
    	(execute_stack_op): Use dwarf_expr_executor.

commit 595d2e303c0ef1a5cd5af8868c1d41db0050eb29
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Sep 25 16:48:47 2016 -0600

    Convert DWARF expr functions to methods
    
    This converts various DWARF expr functions to be members on
    dwarf_expr_context, then fixes up the various users.  This results in
    somewhat less wordy code and sets the stage for the next patch.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2loc.c (per_cu_dwarf_call)
    	(dwarf_expr_push_dwarf_reg_entry_value)
    	(dwarf2_evaluate_loc_desc_full, dwarf2_locexpr_baton_eval)
    	(needs_dwarf_reg_entry_value)
    	(dwarf2_loc_desc_get_symbol_read_needs): Update.
    	* dwarf2expr.h (dwarf_expr_context) <push_address, eval, fetch,
    	fetch_address, fetch_in_stack_memory, address_type, grow_stack,
    	push, stack_empty_p, add_piece, get_base_type, execute_stack_op,
    	pop>: New method declarations.
    	(dwarf_expr_push_address, dwarf_expr_eval, dwarf_expr_fetch)
    	(dwarf_expr_fetch_address, dwarf_expr_fetch_in_stack_memory):
    	Don't declare.
    	* dwarf2expr.c (address_type, grow_stack, push, push_address)
    	(pop, fetch, fetch_address, fetch_in_stack_memory)
    	(stack_empty_p, add_piece, eval, get_base_type)
    	(execute_stack_op): Rename.  Turn into methods.
    	* dwarf2-frame.c (execute_stack_op): Update.

commit 718b962660007c529f4ff4c5e940119da21e05a7
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Sep 25 16:28:03 2016 -0600

    Initial conversion of dwarf_expr_ctx
    
    This is the first step in the conversion of dwarf_expr_ctx to a C++
    class.  This conversion is done in steps to make the patches, and the
    reviews, a bit simpler.  This patch changes dwarf_expr_ctx to be
    stack-allocated and removes the associated cleanup.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Stack-allocate
    	dwarf_expr_context.  Remove cleanups.
    	(dwarf2_locexpr_baton_eval)
    	(dwarf2_loc_desc_get_symbol_read_needs):  Likewise.
    	* dwarf2expr.h (dwarf_expr_context, ~dwarf_expr_context): Add
    	constructors and destructors.
    	(new_dwarf_expr_context, free_dwarf_expr_context)
    	(make_cleanup_free_dwarf_expr_context): Don't declare.
    	* dwarf2-frame.c (execute_stack_op): Stack-allocate
    	dwarf_expr_context.  Remove cleanups.
    	(dwarf_expr_context): Rename from new_dwarf_expr_context.  Turn
    	into constructor.
    	(free_dwarf_expr_context, free_dwarf_expr_context_cleanup):
    	Remove.
    	(~dwarf_expr_context): Rename from
    	make_cleanup_free_dwarf_expr_context.  Turn into destructor.

commit 5841433461e2ce9da41292a49af4cc3c6b1e1f2d
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Sep 25 16:17:15 2016 -0600

    Some cleanup removal in dwarf2loc.c
    
    This removes some cleanups and manual allocation handling in
    dwarf2loc.c with std::vector.  Note that this patch has a case where
    the vector would normally fall into the "use gdb::unique_ptr"
    guidelines -- but here because the vector is immediately initialized,
    I moved the initialization into the constructor call, for further
    code savings.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2loc.c: Include <vector>.
    	(read_pieced_value, write_pieced_value)
    	(dwarf2_compile_expr_to_ax): Use std::vector.

commit 67ad9399e2a69757f06886ee61ce7f36d15e768a
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 21:53:54 2016 -0600

    Remove make_cleanup_restore_current_uiout
    
    This removes make_cleanup_restore_current_uiout in favor of an
    RAII-based class.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* stack.c (print_stack_frame_to_uiout): Use scoped_restore.
    	* ui-out.c (make_cleanup_restore_current_uiout)
    	(restore_current_uiout_cleanup): Remove.
    	* infrun.c (print_stop_event): Use scoped_restore.
    	* ui-out.h (make_cleanup_restore_current_uiout): Don't declare.

commit d1e4a624699fd734b3b6e87fb79a4da71c182dfd
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 21:31:36 2016 -0600

    Use gdb::unique_ptr in elf_read_minimal_symbols
    
    This changes elf_read_minimal_symbols to use gdb::unique_ptr rather
    than an explicit allocation.  This removes a cleanup.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* elfread.c (elf_read_minimal_symbols): Use gdb::unique_ptr.

commit cd9da5b077c21f0984cfbdac060ced6f4945ce06
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 21:21:35 2016 -0600

    Replace two xmallocs with unique_ptr
    
    This replaces a couple of uses of xmalloc with gdb::unique_ptr, also
    removing a couple of cleanups.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* cli/cli-dump.c (dump_memory_to_file): Use gdb::unique_ptr.
    	(restore_binary_file): Likewise.

commit 1e3b796d58ac3c4396e1739f44a0a41de6335eef
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 21:10:45 2016 -0600

    Change command stats reporting to use class
    
    This removes make_command_stats_cleanup in favor of an RAII class.
    The patch is reasonably straightforward, but keeping the same
    semantics without excessive reindentation required splitting
    captured_main in two.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* maint.h (scoped_command_stats): New class.
    	(make_command_stats_cleanup): Don't declare.
    	* maint.c (struct cmd_stats): Remove.
    	(~scoped_command_stats): Rename from report_command_stats.  Now a
    	destructor.
    	(scoped_command_stats): Rename from make_command_stats_cleanup.
    	Now a constructor.
    	* main.c (captured_main_1): New function.  Use
    	scoped_command_stats.
    	(captured_main): Call captured_main_1.
    	* event-top.c (command_handler): Use scoped_command_stats.

commit 6fc31fc73b577fce960730d87ead9a25df6c2653
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 20:56:12 2016 -0600

    Remove some cleanups in MI
    
    This patch removes a couple of cleanups from MI by using
    gdb::unique_ptr.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-main.c (mi_cmd_data_read_memory): Use gdb::unique_ptr.
    	Remove some cleanups.

commit 0e454242cc1527e49ad0ea795614ac94a083b68a
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 16:11:14 2016 -0600

    Remove make_cleanup_restore_current_ui
    
    This removes make_cleanup_restore_current_ui by converting the last
    use.  The last use was in a few functions used to iterate over all
    UIs.  This patch replaces these functions with a class, and arranges
    for the class destructor to do the needed cleanup.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-interp.c (tui_on_normal_stop, tui_on_signal_received)
    	(tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
    	(tui_on_no_history, tui_on_user_selected_context_changed):
    	Update.
    	* top.h (switch_thru_all_uis): New class.
    	(SWITCH_THRU_ALL_UIS): Rewrite.
    	(make_cleanup_restore_current_ui, switch_thru_all_uis_init)
    	(switch_thru_all_uis_cond, switch_thru_all_uis_next): Don't
    	declare.
    	* mi/mi-interp.c (mi_new_thread, mi_thread_exit)
    	(mi_record_changed, mi_inferior_added, mi_inferior_appeared)
    	(mi_inferior_exit, mi_inferior_removed, mi_on_signal_received)
    	(mi_on_end_stepping_range, mi_on_signal_exited, mi_on_exited)
    	(mi_on_no_history, mi_on_normal_stop, mi_traceframe_changed)
    	(mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
    	(mi_breakpoint_created, mi_breakpoint_deleted)
    	(mi_breakpoint_modified, mi_output_running_pid, mi_on_resume)
    	(mi_solib_loaded, mi_solib_unloaded, mi_command_param_changed)
    	(mi_memory_changed, mi_user_selected_context_changed): Update.
    	* infrun.c (all_uis_check_sync_execution_done)
    	(all_uis_on_sync_execution_starting, normal_stop): Update.
    	* event-top.c (restore_ui_cleanup)
    	(make_cleanup_restore_current_ui, switch_thru_all_uis_init)
    	(switch_thru_all_uis_cond, switch_thru_all_uis_next): Remove.
    	* cli/cli-interp.c (cli_on_normal_stop, cli_on_signal_received)
    	(cli_on_end_stepping_range, cli_on_signal_exited, cli_on_exited)
    	(cli_on_no_history, cli_on_user_selected_context_changed):
    	Update.
    	* breakpoint.c (watchpoint_check): Update.

commit 8dddcb8f005e8470312bf33041bb6ddaa5084e32
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 14:25:08 2016 -0600

    Record minimal symbols directly in reader.
    
    This patch changes minimal symbol creation in two ways.  First, it
    removes global variables in favor of members of minimal_symbol_reader.
    Second, it changes functions like prim_record_minimal_symbol to be
    member functions of minimal_symbol_reader.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* xcoffread.c (record_minimal_symbol, scan_xcoff_symtab): Add
    	"reader" argument.  Update.
    	(xcoff_initial_scan): Update.
    	* symfile.h (mdebug_build_psymtabs): Add "reader" argument.
    	* mipsread.c (mipscoff_symfile_read): Update.
    	(read_alphacoff_dynamic_symtab): Add "reader" argument.  Update.
    	* minsyms.h (minimal_symbol_reader) <record, record_full>:
    	Declare.
    	<m_msym_bunch, m_msym_bunch_index, m_msym_count>: New members.
    	<record_with_info>: New function, renamed from
    	prim_record_minimal_symbol_and_info.
    	* minsyms.c (msym_bunch, msym_bunch_index, msym_count): Remove
    	globals.
    	(minimal_symbol_reader): Initialize new members.
    	(minimal_symbol_reader::record): Renamed from
    	prim_record_minimal_symbol.
    	(minimal_symbol_reader::record_full): Renamed from
    	prim_record_minimal_symbol_full.
    	(prim_record_minimal_symbol_and_info): Move to minsyms.h; rename.
    	* mdebugread.c (mdebug_build_psymtabs, parse_partial_symbols)
    	(record_minimal_symbol): Add "reader" argument.  Update.
    	(elfmdebug_build_psymtabs): Update.
    	* machoread.c (macho_symtab_add_minsym, macho_symtab_read): Add
    	"reader" argument.  Update.
    	(macho_symfile_read): Update.
    	* elfread.c (record_minimal_symbol, elf_symtab_read)
    	(elf_rel_plt_read): Add "reader" argument.  Update.
    	(elf_read_minimal_symbols): Update.
    	* dbxread.c (record_minimal_symbol, read_dbx_dynamic_symtab)
    	(read_dbx_symtab): Add "reader" argument.  Update.
    	(dbx_symfile_read): Update.
    	* coffread.c (record_minimal_symbol, coff_symtab_read): Add
    	"reader" argument.  Update.
    	(coff_symfile_read): Update.
    	* coff-pe-read.h (read_pe_exported_syms): Add "reader" argument.
    	* coff-pe-read.c (add_pe_exported_sym, add_pe_forwarded_sym)
    	(read_pe_exported_syms): Add "reader" argument.  Update.

commit d25e87199327846e42b5a23f4365d75e75517ab3
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 13:57:15 2016 -0600

    Change minimal_symbol_reader to store objfile
    
    This changes minimal_symbol_reader to require the objfile to be
    passed to the constructor.  The class now records the objfile and
    automatically uses it later in "install".
    
    This is a minor cleanup that will come in useful in the next patch.
    It is separate from the first patch to keep that one a bit simpler to
    understand.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* xcoffread.c (xcoff_initial_scan): Update.
    	* mipsread.c (mipscoff_symfile_read): Update.
    	* minsyms.c (minimal_symbol_reader): Add obj argument.
    	Initialize member.
    	(install): Remove objfile argument.  Update.
    	* mdebugread.c (elfmdebug_build_psymtabs): Update.
    	* machoread.c (macho_symfile_read): Update.
    	* elfread.c (elf_read_minimal_symbols): Update.
    	* dbxread.c (dbx_symfile_read): Update.
    	* coffread.c (coff_symfile_read): Update.
    	* minsyms.h (minimal_symbol_reader): Add m_objfile member.
    	(constructor): Add objfile argument.
    	(minimal_symbol_reader::install): Remove objfile argument.

commit 873a915e0ad44cb303b071638536f27569491030
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 13:47:48 2016 -0600

    Introduce minimal_symbol_reader
    
    This patch introduced minimal_symbol_reader, a RAII-based class which
    replaces the current make_cleanup_discard_minimal_symbols.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* xcoffread.c (xcoff_initial_scan): Use
    	minimal_symbol_reader.
    	* mipsread.c (mipscoff_symfile_read): Use
    	minimal_symbol_reader.
    	* minsyms.h (minimal_symbol_reader): New class.
    	(init_minimal_symbol_collection)
    	(make_cleanup_discard_minimal_symbols, install_minimal_symbols):
    	Don't declare.
    	* minsyms.c (minimal_symbol_reader): Renamed from
    	init_minimal_symbol_collection, turned into constructor.
    	(~minimal_symbol_reader): Renamed from
    	do_discard_minimal_symbols_cleanup, turned into destructor.
    	(make_cleanup_discard_minimal_symbols): Remove.
    	(minimal_symbol_reader::install): Rename form
    	install_minimal_symbols.
    	* mdebugread.c (elfmdebug_build_psymtabs): Use
    	minimal_symbol_reader.
    	* machoread.c (macho_symfile_read): Use
    	minimal_symbol_reader.
    	* elfread.c (elf_read_minimal_symbols): Use
    	minimal_symbol_reader.
    	* dbxread.c (dbx_symfile_read): Use minimal_symbol_reader.
    	* coffread.c (coff_symfile_read): Use
    	minimal_symbol_reader.

commit 4b6749b9a4680e79affdb9c02ea2f5ba39a54587
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 20:50:52 2016 -0600

    Use scoped_restore for current_ui
    
    This changes most uses of make_cleanup_restore_current_ui to use
    scoped_restore.  The use in switch_thru_all_uis_init still remains;
    that is dealt with in a later patch by replacing this iterator with a
    real class.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* top.c (new_ui_command, wait_sync_command_done)
    	(gdb_readline_wrapper): Use scoped_restore.
    	* infrun.c (fetch_inferior_event): Use scoped_restore.
    	* infcall.c (call_thread_fsm_should_stop): Use scoped_restore.

commit 9746809447893fd4672ea6babf4e961157cb541d
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 20:33:30 2016 -0600

    Use scoped_restore for ui_file
    
    This replaces all the uses of make_cleanup_restore_ui_file with
    scoped_restore.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* utils.c (make_cleanup_restore_ui_file, do_restore_ui_file)
    	(struct restore_ui_file_closure): Remove.
    	* utils.h (make_cleanup_restore_ui_file): Don't declare.
    	* guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
    	scoped_restore.
    	* top.c (execute_command_to_string): Use scoped_restore.

commit b7b633e9b13fc5697af035f4504c9790c612a8c7
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 20:29:11 2016 -0600

    Use RAII to save and restore scalars
    
    This patch replaces many (but not all) uses of
    make_cleanup_restore_integer with a simple RAII-based template class.
    It also removes the similar restore_execution_direction cleanup in
    favor of this new class.  Subsequent patches will replace other
    similar cleanups with this class.
    
    The class is typically instantiated using make_scoped_restore.  This
    allows for template argument deduction.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* common/scoped_restore.h: New file.
    	* utils.h: Include scoped_restore.h.
    	* top.c (execute_command_to_string): Use scoped_restore.
    	* python/python.c (python_interactive_command): Use
    	scoped_restore.
    	(python_command, execute_gdb_command): Likewise.
    	* printcmd.c (do_one_display): Use scoped_restore.
    	* mi/mi-main.c (exec_continue): Use scoped_restore.
    	* mi/mi-cmd-var.c (mi_cmd_var_assign): Use scoped_restore.
    	* linux-fork.c (checkpoint_command): Use scoped_restore.
    	* infrun.c (restore_execution_direction): Remove.
    	(fetch_inferior_event): Use scoped_restore.
    	* compile/compile.c (compile_file_command): Use
    	scoped_restore.
    	(compile_code_command, compile_print_command): Likewise.
    	* cli/cli-script.c (execute_user_command): Use
    	scoped_restore.
    	(while_command, if_command, script_from_file): Likewise.
    	* arm-tdep.c (arm_insert_single_step_breakpoint): Use
    	scoped_restore.

commit 9a1e3f003122c97d6e1822c472bcd37f59fb1a74
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Oct 21 14:09:57 2016 -0600

    Fix build failure in xcoffread.c
    
    This changes read_xcoff_symtab to be const-correct.  This fixes a
    build failure.
    
    2016-10-21  Tom Tromey  <tom@tromey.com>
    
    	* xcoffread.c (read_xcoff_symtab): Make "filestring" const.

commit b5cefccad8bdeecaa3d0c548e32881466e021cb4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Oct 21 12:16:32 2016 -0700

    X86: Remove pcommit instruction
    
    Remove x86 pcommit instruction support, which has been deprecated:
    
    https://software.intel.com/en-us/blogs/2016/09/12/deprecate-pcommit-instruction
    
    gas/
    
    	* config/tc-i386.c (cpu_arch): Remove .pcommit.
    	* doc/c-i386.texi: Likewise.
    	* testsuite/gas/i386/i386.exp: Remove pcommit tests.
    	* testsuite/gas/i386/pcommit-intel.d: Removed.
    	* testsuite/gas/i386/pcommit.d: Likewise.
    	* testsuite/gas/i386/pcommit.s: Likewise.
    	* testsuite/gas/i386/x86-64-pcommit-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-pcommit.d: Likewise.
    	* testsuite/gas/i386/x86-64-pcommit.s: Likewise.
    
    opcodes/
    
    	* i386-dis.c (PREFIX_RM_0_0FAE_REG_7): Removed.
    	(prefix_table): Remove the PREFIX_RM_0_0FAE_REG_7 entry.
    	(rm_table): Update the RM_0FAE_REG_7 entry.
    	* i386-gen.c (cpu_flag_init): Remove CPU_PCOMMIT_FLAGS.
    	(cpu_flags): Remove CpuPCOMMIT.
    	* i386-opc.h (CpuPCOMMIT): Removed.
    	(i386_cpu_flags): Remove cpupcommit.
    	* i386-opc.tbl: Remove pcommit.
    	* i386-init.h: Regenerated.
    	* i386-tbl.h: Likewise.

commit ac423761af22f7858a1413cda5df3e1d5e88d4e4
Author: Gergely Nagy <ngg@tresorit.com>
Date:   Fri Oct 21 11:08:20 2016 -0700

    Fix PR 17704.
    
    This fix keeps the section with the highest alignment when folding sections with ICF.
    
    	PR gold/17704
    	* icf.cc (match_sections): Add new parameter section_addraligns.
    	Check section alignment and keep the section with the strictest
    	alignment.
    	(find_identical_sections): New local variable section_addraligns.
    	Store each section's alignment.
    	* testsuite/pr17704a_test.s: New file.
    	* testsuite/Makefile.am (pr17704a_test): New test.
    	* testsuite/Makefile.in: Regenerate.

commit d11261fc63ecbf9f3487be906a4e720b4b20fb42
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Fri Oct 21 17:47:15 2016 +0200

    Fix symbol table file name on AIX
    
    When xlc -qfuncsect or gcc -ffunction-sections options is used in AIX,
    each function csect is associated with each psymtab, so each psymtab
    will have it's corresponding filename entries set.
    
    If the pst filename isn't set then we will be seeing the below output
    when we set a breakpoint.
    
    (gdb) br main
    Breakpoint 1 at 0x10000374: file  _start_ , line 18.
    
    With the fix it will be.
    
    (gdb) br main
    Breakpoint 1 at 0x10000518: file test.c, line 24.
    
    Attached patch resolve this issue and correct filename will be set.
    
    gdb/
    2016-10-21  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
    	    Ulrich Weigand  <uweigand@de.ibm.com>
    
    	* xcoffread.c (read_xcoff_symtab): Make name of current file as
    	pst->filename instead of _start_ in AIX.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 4db41a0a1097860d1e0d3b8ecf6c01dbbb65ba5a
Author: Philipp Rudo <prudo@linux.vnet.ibm.com>
Date:   Fri Oct 21 12:32:52 2016 +0200

    Delete target_so_ops->special_symbol_handling hook
    
    No one(!) actually implements this hook. So simply delete it.
    
    gdb/ChangeLog:
    
    	* solist.h (struct target_so_ops): Delete special_symbol_handling
    	hook.
    	* solib.c (solib_add, reload_shared_libraries): Adjust.
    	* solib-aix.c (solib_aix_special_symbol_handling): Delete
    	(_initialize_solib_aix): Adjust
    	* solib-darwin.c (darwin_special_symbol_handling): Delete
    	(_initialize_darwin_solib): Adjust
    	* solib-dsbt.c (dsbt_special_symbol_handling): Delete
    	(_initialize_dsbt_solib): Adjust
    	* solib-frv.c (frv_special_symbol_handling): Delete
    	(_initialize_frv_solib): Adjust
    	* solib-svr4.c (svr4_special_symbol_handling): Delete
    	(_initialize_svr4_solib): Adjust
    	* solib-target.c (solib_target_special_symbol_handling): Delete
    	(_initialize_solib_target): Adjust

commit 16017f1915d15d0ec8a6fae02b137a6b50d96e63
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Oct 21 00:00:20 2016 +0000

    Automatic date update in version.in

commit 9889cbb14ebea4b281408afcfd94ad6646ab370a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Oct 20 15:07:42 2016 -0700

    Check invalid mask registers
    
    In 32-bit, the REX_B bit in the 3-byte VEX prefix is ignored and the
    the highest bit in VEX.vvvv is either 1 or ignored.  In 64-bit, we
    need to check invalid mask registers.
    
    gas/
    
    	PR binutis/20705
    	* testsuite/gas/i386/i386.exp: Run x86-64-opcode-bad.
    	* testsuite/gas/i386/x86-64-opcode-bad.d: New file.
    	* testsuite/gas/i386/x86-64-opcode-bad.s: Likewise.
    
    opcodes/
    
    	PR binutis/20705
    	* i386-dis.c (get_valid_dis386): Ignore the REX_B bit and
    	the highest bit in VEX.vvvv for the 3-byte VEX prefix in
    	32-bit mode.  Don't check vex.register_specifier in 32-bit
    	mode.
    	(OP_E_register): Check invalid mask registers.
    	(OP_G): Likewise.
    	(OP_VEX): Likewise.

commit f90fd8c2f17c7631915103ce5b760830a156ee93
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Oct 20 21:58:54 2016 +0200

    testsuite: Fix gcc_compiled for gcc 6 & 7
    
    gdb/testsuite/ChangeLog
    2016-10-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* lib/gdb.exp (get_compiler_info): Generalize gcc_compile regexp.

commit 789b4e00353f554c69ded290564276742ee290db
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Oct 20 11:44:51 2016 +0100

    Regenerate bfd.pot.

commit 78836e904d99c7e167d19d1d5421e9c6fe07f18b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Oct 20 11:33:07 2016 +0100

    Don't configure gdb for vxworks target
    
    VxWorks support was removed in 2004.
    
    commit e84ecc995d6a5e4e9114d3cea61717b8a573afb6
    Author: Andrew Cagney <cagney@redhat.com>
    Date:   Sat Nov 13 23:10:02 2004 +0000
    
        2004-11-13  Andrew Cagney  <cagney@gnu.org>
    
            * configure.tgt: Delete i[34567]86-*-vxworks*, m68*-netx-*,
            m68*-*-vxworks*, mips*-*-vxworks*, powerpc-*-vxworks*, and
            sparc-*-vxworks*.
            * NEWS: Mention that vxworks was deleted.
    
    This patch adds *-*-vxworks* in a list of targets GDB doesn't
    support.
    
    gdb:
    
    2016-10-20  Yao Qi  <yao.qi@linaro.org>
    
    	* configure.tgt: Don't configure if target is *-*-vxworks*.

commit c62fbd56c831623cf8906696267b7dd1abca048d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Oct 20 00:00:22 2016 +0000

    Automatic date update in version.in

commit 2d2476aac71fcafad6d1524733f0d88f2b53753b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Oct 19 18:20:54 2016 +0100

    testsuite: Fix gdb.base/killed-outside.exp using irrelevant stale options
    
    Fix a commit 4a556533cf02 ("Fix PR11094: JIT breakpoint is not properly
    recreated on reruns") regression:
    
    Running .../gdb/testsuite/gdb.base/killed-outside.exp ...
    Executing on host: mips-mti-linux-gnu-gcc  -Wl,--no-as-needed  -c -g  -o .../gdb/testsuite/outputs/gdb.base/killed-outside/killed-outside0.o .../gdb/testsuite/gdb.base/killed-outside.c .../gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple-jit.so    (timeout = 300)
    spawn mips-mti-linux-gnu-gcc -Wl,--no-as-needed -c -g -o .../gdb/testsuite/outputs/gdb.base/killed-outside/killed-outside0.o .../gdb/testsuite/gdb.base/killed-outside.c .../gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple-jit.so
    mips-mti-linux-gnu-gcc: warning: .../gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple-jit.so: linker input file unused because linking not done
    output is:
    mips-mti-linux-gnu-gcc: warning: .../gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple-jit.so: linker input file unused because linking not done
    
    gdb compile failed, mips-mti-linux-gnu-gcc: warning: .../gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple-jit.so: linker input file unused because linking not done
    UNTESTED: gdb.base/killed-outside.exp: failed to prepare
    
    and adjust the call to `prepare_for_testing' by removing a reference to
    `options', which is not set in this test case but a stale value is
    carried over from `gdb.base/jit-simple.exp' previously executed in a
    full test suite run.
    
    	gdb/testsuite/
    	* gdb.base/killed-outside.exp: Remove $options from a call to
    	`prepare_for_testing'.

commit 695344c018c8e462280c47a644df02ea472b0a4e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Oct 19 14:04:34 2016 +0100

    Add c-format tags to translatable strings with more than one argument-using formatting token.
    
    	* aout-adobe.c: Add missing c-format tags for translatable strings.
    	* aout-cris.c: Likewise.
    	* aoutx.h: Likewise.
    	* bfd.c: Likewise.
    	* binary.c: Likewise.
    	* cache.c: Likewise.
    	* coff-alpha.c: Likewise.
    	* coff-arm.c: Likewise.
    	* coff-i860.c: Likewise.
    	* coff-mcore.c: Likewise.
    	* coff-ppc.c: Likewise.
    	* coff-rs6000.c: Likewise.
    	* coff-sh.c: Likewise.
    	* coff-tic4x.c: Likewise.
    	* coff-tic54x.c: Likewise.
    	* coff-tic80.c: Likewise.
    	* coff64-rs6000.c: Likewise.
    	* coffcode.h: Likewise.
    	* coffgen.c: Likewise.
    	* cofflink.c: Likewise.
    	* coffswap.h: Likewise.
    	* cpu-arm.c: Likewise.
    	* dwarf2.c: Likewise.
    	* ecoff.c: Likewise.
    	* elf-attrs.c: Likewise.
    	* elf-eh-frame.c: Likewise.
    	* elf-ifunc.c: Likewise.
    	* elf-m10300.c: Likewise.
    	* elf-s390-common.c: Likewise.
    	* elf.c: Likewise.
    	* elf32-arc.c: Likewise.
    	* elf32-arm.c: Likewise.
    	* elf32-avr.c: Likewise.
    	* elf32-bfin.c: Likewise.
    	* elf32-cr16.c: Likewise.
    	* elf32-cr16c.c: Likewise.
    	* elf32-cris.c: Likewise.
    	* elf32-crx.c: Likewise.
    	* elf32-d10v.c: Likewise.
    	* elf32-d30v.c: Likewise.
    	* elf32-epiphany.c: Likewise.
    	* elf32-fr30.c: Likewise.
    	* elf32-frv.c: Likewise.
    	* elf32-gen.c: Likewise.
    	* elf32-hppa.c: Likewise.
    	* elf32-i370.c: Likewise.
    	* elf32-i386.c: Likewise.
    	* elf32-i960.c: Likewise.
    	* elf32-ip2k.c: Likewise.
    	* elf32-iq2000.c: Likewise.
    	* elf32-lm32.c: Likewise.
    	* elf32-m32c.c: Likewise.
    	* elf32-m32r.c: Likewise.
    	* elf32-m68hc11.c: Likewise.
    	* elf32-m68hc12.c: Likewise.
    	* elf32-m68hc1x.c: Likewise.
    	* elf32-m68k.c: Likewise.
    	* elf32-mcore.c: Likewise.
    	* elf32-mep.c: Likewise.
    	* elf32-metag.c: Likewise.
    	* elf32-microblaze.c: Likewise.
    	* elf32-moxie.c: Likewise.
    	* elf32-msp430.c: Likewise.
    	* elf32-mt.c: Likewise.
    	* elf32-nds32.c: Likewise.
    	* elf32-nios2.c: Likewise.
    	* elf32-or1k.c: Likewise.
    	* elf32-pj.c: Likewise.
    	* elf32-ppc.c: Likewise.
    	* elf32-rl78.c: Likewise.
    	* elf32-rx.c: Likewise.
    	* elf32-s390.c: Likewise.
    	* elf32-score.c: Likewise.
    	* elf32-score7.c: Likewise.
    	* elf32-sh-symbian.c: Likewise.
    	* elf32-sh.c: Likewise.
    	* elf32-sh64.c: Likewise.
    	* elf32-spu.c: Likewise.
    	* elf32-tic6x.c: Likewise.
    	* elf32-tilepro.c: Likewise.
    	* elf32-v850.c: Likewise.
    	* elf32-vax.c: Likewise.
    	* elf32-visium.c: Likewise.
    	* elf32-xgate.c: Likewise.
    	* elf32-xtensa.c: Likewise.
    	* elf64-alpha.c: Likewise.
    	* elf64-gen.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-sparc.c: Likewise.
    	* elf64-x86-64.c: Likewise.
    	* elfcode.h: Likewise.
    	* elfcore.h: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* elfxx-mips.c: Likewise.
    	* elfxx-sparc.c: Likewise.
    	* elfxx-tilegx.c: Likewise.
    	* ieee.c: Likewise.
    	* ihex.c: Likewise.
    	* libbfd.c: Likewise.
    	* linker.c: Likewise.
    	* m68klinux.c: Likewise.
    	* mach-o.c: Likewise.
    	* merge.c: Likewise.
    	* mmo.c: Likewise.
    	* oasys.c: Likewise.
    	* pdp11.c: Likewise.
    	* pe-mips.c: Likewise.
    	* peXXigen.c: Likewise.
    	* pei-x86_64.c: Likewise.
    	* peicode.h: Likewise.
    	* ppcboot.c: Likewise.
    	* reloc.c: Likewise.
    	* sparclinux.c: Likewise.
    	* srec.c: Likewise.
    	* stabs.c: Likewise.
    	* vms-alpha.c: Likewise.
    	* vms-lib.c: Likewise.
    	* xcofflink.c: Likewise.

commit 15f205b11547e7ec0ce42a9b49e78229a2d569e1
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Oct 18 12:02:52 2016 +0100

    Remove spurious whitespace introduced by previous delta.

commit f77a9b48608c64dac2c9c59db681d0168acf69e9
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 19 14:35:06 2016 +0100

    Regen gdb/config.in
    
    gdb/ChangeLog:
    2016-10-19  Pedro Alves  <palves@redhat.com>
    
    	* config.in: Regenerate.

commit 008a97eff0cabd416d18239eccd5267af6e965f3
Author: Renlin Li <renlin.li@arm.com>
Date:   Wed Oct 19 11:18:56 2016 +0100

    [GAS][ARM]Generate unpredictable warning for pc used in data processing instructions with register-shifted register operand.
    
    gas/
    
    2016-10-19  Renlin Li  <renlin.li@arm.com>
    
    	* config/tc-arm.c (encode_arm_shift): Generate unpredictable warning
    	for register-shifted register instructions.
    	* testsuite/gas/arm/shift-bad-pc.d: New.
    	* testsuite/gas/arm/shift-bad-pc.l: New.
    	* testsuite/gas/arm/shift-bad-pc.s: New.

commit bbb76b184f645ffc466baa1e5b3164d1e3febd93
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Oct 19 00:00:22 2016 +0000

    Automatic date update in version.in

commit f6abaf7a4088dc9a5d73ee2233246347af9181d5
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 18 20:48:37 2016 +0100

    gdb: no longer define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS
    
    My gnulib fix at:
      https://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00010.html
    was merged upstream meanwhile and our gnulib copy now includes it.
    
    As a concidence, Kevin was telling me today that these macros are
    causing a build problem on FreeBSD:
    
    common/common-defs.h:47:0: error: "__STDC_CONSTANT_MACROS" redefined [-Werror]
      #define __STDC_CONSTANT_MACROS 1
      /usr/include/sys/cdefs.h:408:0: note: this is the location of the previous definition
      #define __STDC_CONSTANT_MACROS
    (and a similar error for __STDC_LIMIT_MACROS)
    
    The problem seems to be that we should be defining these input macros
    before including any system header, but, we're not.
    
    So let's just revert e063da67902e ([C++] Define __STDC_CONSTANT_MACROS
    / __STDC_LIMIT_MACROS for stdint.h).  If this causes a problem
    somewhere, we can re-define the macros higher up in the file, before
    system headers are included.
    
    gdb/ChangeLog:
    2016-10-18  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h (__STDC_CONSTANT_MACROS)
    	(__STDC_LIMIT_MACROS): Delete.

commit 49e4877c5487dc34edf414bb0f1125ce1b71e08b
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 18 17:18:29 2016 +0100

    Update gnulib to current upstream master
    
    I tried building gdb with G++ 4.7 and CXX="g++ -std=gnu+11", and that
    tripped on a build error:
    
      In file included from build-gnulib/import/stdio.h:53:0,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/common/common-defs.h:31,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/defs.h:28,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/armobsd-tdep.c:20:
      build-gnulib/import/stddef.h:104:3: error: conflicting declaration ‘typedef union max_align_t max_align_t’
      In file included from build-gnulib/import/stddef.h:55:0,
    		   from build-gnulib/import/stdio.h:53,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/common/common-defs.h:31,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/defs.h:28,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/armobsd-tdep.c:20:
      /opt/gcc-4.7/lib/gcc/x86_64-unknown-linux-gnu/4.7.4/include/stddef.h:426:3: error: ‘max_align_t’ has a previous declaration as ‘typedef struct max_align_t max_align_t’
    
    Updating gnulib to current master fixes it, since it brings in this
    fix:
    
     http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00000.html
    
    Our last update was in August 2015.  This doesn't bring in much added
    baggage, it's mostly bug fixes.  It pulled in the "limits-h" module as
    automatic dependency, and given that looks potentially useful I added
    it to the set of modules we require.
    
    Tested on x86_64 Fedora 23, with g++ 4.7 and g++ 5.3, native and gdbserver.
    
    gdb/ChangeLog:
    2016-10-18  Pedro Alves  <palves@redhat.com>
    
    	* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
    	2692e23a48e21f6daa029e8af9f1a143b7532f47.
    	* gnulib/configure, gnulib/config.in, gnulib/aclocal.m4:
    	Regenerate.
    	* gnulib/import/Makefile: Update.
    	* gnulib/import/alloca: Update.
    	* gnulib/import/basename-lgpl: Update.
    	* gnulib/import/canonicalize-lgpl: Update.
    	* gnulib/import/config: Update.
    	* gnulib/import/dirent: Update.
    	* gnulib/import/dirfd: Update.
    	* gnulib/import/dirname-lgpl: Update.
    	* gnulib/import/dirname.h: Update.
    	* gnulib/import/dosname.h: Update.
    	* gnulib/import/errno: Update.
    	* gnulib/import/extra/snippet/arg-nonnull.h: Update.
    	* gnulib/import/extra/snippet/c++defs.h: Update.
    	* gnulib/import/extra/snippet/warn-on-use.h: Update.
    	* gnulib/import/extra/update-copyright: Update.
    	* gnulib/import/flexmember.h: Update.
    	* gnulib/import/float+.h: Update.
    	* gnulib/import/float: Update.
    	* gnulib/import/float: Update.
    	* gnulib/import/fnmatch: Update.
    	* gnulib/import/fnmatch: Update.
    	* gnulib/import/fnmatch_loop: Update.
    	* gnulib/import/fpucw.h: Update.
    	* gnulib/import/frexp: Update.
    	* gnulib/import/frexpl: Update.
    	* gnulib/import/gettimeofday: Update.
    	* gnulib/import/hard-locale: Update.
    	* gnulib/import/hard-locale.h: Update.
    	* gnulib/import/inttypes: Update.
    	* gnulib/import/isnan: Update.
    	* gnulib/import/isnand-nolibm.h: Update.
    	* gnulib/import/isnand: Update.
    	* gnulib/import/isnanl-nolibm.h: Update.
    	* gnulib/import/isnanl: Update.
    	* gnulib/import/itold: Update.
    	* gnulib/import/limits: Update.
    	* gnulib/import/localcharset: Update.
    	* gnulib/import/localcharset.h: Update.
    	* gnulib/import/lstat: Update.
    	* gnulib/import/m4/00gnulib: Update.
    	* gnulib/import/m4/absolute-header: Update.
    	* gnulib/import/m4/alloca: Update.
    	* gnulib/import/m4/canonicalize: Update.
    	* gnulib/import/m4/codeset: Update.
    	* gnulib/import/m4/configmake: Update.
    	* gnulib/import/m4/dirent_h: Update.
    	* gnulib/import/m4/dirfd: Update.
    	* gnulib/import/m4/dirname: Update.
    	* gnulib/import/m4/double-slash-root: Update.
    	* gnulib/import/m4/eealloc: Update.
    	* gnulib/import/m4/errno_h: Update.
    	* gnulib/import/m4/exponentd: Update.
    	* gnulib/import/m4/exponentl: Update.
    	* gnulib/import/m4/extensions: Update.
    	* gnulib/import/m4/extern-inline: Update.
    	* gnulib/import/m4/fcntl-o: Update.
    	* gnulib/import/m4/flexmember: Update.
    	* gnulib/import/m4/float_h: Update.
    	* gnulib/import/m4/fnmatch: Update.
    	* gnulib/import/m4/fpieee: Update.
    	* gnulib/import/m4/frexp: Update.
    	* gnulib/import/m4/frexpl: Update.
    	* gnulib/import/m4/gettimeofday: Update.
    	* gnulib/import/m4/glibc21: Update.
    	* gnulib/import/m4/gnulib-cache: Update.
    	* gnulib/import/m4/gnulib-common: Update.
    	* gnulib/import/m4/gnulib-comp: Update.
    	* gnulib/import/m4/gnulib-tool: Update.
    	* gnulib/import/m4/hard-locale: Update.
    	* gnulib/import/m4/include_next: Update.
    	* gnulib/import/m4/inttypes-pri: Update.
    	* gnulib/import/m4/inttypes: Update.
    	* gnulib/import/m4/isnand: Update.
    	* gnulib/import/m4/isnanl: Update.
    	* gnulib/import/m4/largefile: Update.
    	* gnulib/import/m4/limits-h: Update.
    	* gnulib/import/m4/localcharset: Update.
    	* gnulib/import/m4/locale-fr: Update.
    	* gnulib/import/m4/locale-ja: Update.
    	* gnulib/import/m4/locale-zh: Update.
    	* gnulib/import/m4/longlong: Update.
    	* gnulib/import/m4/lstat: Update.
    	* gnulib/import/m4/malloc: Update.
    	* gnulib/import/m4/malloca: Update.
    	* gnulib/import/m4/math_h: Update.
    	* gnulib/import/m4/mbrtowc: Update.
    	* gnulib/import/m4/mbsinit: Update.
    	* gnulib/import/m4/mbsrtowcs: Update.
    	* gnulib/import/m4/mbstate_t: Update.
    	* gnulib/import/m4/memchr: Update.
    	* gnulib/import/m4/memmem: Update.
    	* gnulib/import/m4/mmap-anon: Update.
    	* gnulib/import/m4/multiarch: Update.
    	* gnulib/import/m4/nocrash: Update.
    	* gnulib/import/m4/off_t: Update.
    	* gnulib/import/m4/pathmax: Update.
    	* gnulib/import/m4/rawmemchr: Update.
    	* gnulib/import/m4/readlink: Update.
    	* gnulib/import/m4/rename: Update.
    	* gnulib/import/m4/rmdir: Update.
    	* gnulib/import/m4/signal_h: Update.
    	* gnulib/import/m4/ssize_t: Update.
    	* gnulib/import/m4/stat: Update.
    	* gnulib/import/m4/stdbool: Update.
    	* gnulib/import/m4/stddef_h: Update.
    	* gnulib/import/m4/stdint: Update.
    	* gnulib/import/m4/stdio_h: Update.
    	* gnulib/import/m4/stdlib_h: Update.
    	* gnulib/import/m4/strchrnul: Update.
    	* gnulib/import/m4/string_h: Update.
    	* gnulib/import/m4/strstr: Update.
    	* gnulib/import/m4/strtok_r: Update.
    	* gnulib/import/m4/sys_socket_h: Update.
    	* gnulib/import/m4/sys_stat_h: Update.
    	* gnulib/import/m4/sys_time_h: Update.
    	* gnulib/import/m4/sys_types_h: Update.
    	* gnulib/import/m4/time_h: Update.
    	* gnulib/import/m4/unistd_h: Update.
    	* gnulib/import/m4/warn-on-use: Update.
    	* gnulib/import/m4/wchar_h: Update.
    	* gnulib/import/m4/wchar_t: Update.
    	* gnulib/import/m4/wctype_h: Update.
    	* gnulib/import/m4/wint_t: Update.
    	* gnulib/import/malloc: Update.
    	* gnulib/import/malloca: Update.
    	* gnulib/import/malloca.h: Update.
    	* gnulib/import/math: Update.
    	* gnulib/import/math: Update.
    	* gnulib/import/mbrtowc: Update.
    	* gnulib/import/mbsinit: Update.
    	* gnulib/import/mbsrtowcs-impl.h: Update.
    	* gnulib/import/mbsrtowcs-state: Update.
    	* gnulib/import/mbsrtowcs: Update.
    	* gnulib/import/memchr: Update.
    	* gnulib/import/memmem: Update.
    	* gnulib/import/pathmax.h: Update.
    	* gnulib/import/rawmemchr: Update.
    	* gnulib/import/readlink: Update.
    	* gnulib/import/ref-add.sin: Update.
    	* gnulib/import/ref-del.sin: Update.
    	* gnulib/import/rename: Update.
    	* gnulib/import/rmdir: Update.
    	* gnulib/import/same-inode.h: Update.
    	* gnulib/import/signal: Update.
    	* gnulib/import/stat: Update.
    	* gnulib/import/stdbool: Update.
    	* gnulib/import/stddef: Update.
    	* gnulib/import/stdint: Update.
    	* gnulib/import/stdio: Update.
    	* gnulib/import/stdlib: Update.
    	* gnulib/import/str-two-way.h: Update.
    	* gnulib/import/strchrnul: Update.
    	* gnulib/import/streq.h: Update.
    	* gnulib/import/string: Update.
    	* gnulib/import/stripslash: Update.
    	* gnulib/import/strnlen1: Update.
    	* gnulib/import/strnlen1.h: Update.
    	* gnulib/import/strstr: Update.
    	* gnulib/import/strtok_r: Update.
    	* gnulib/import/sys_stat: Update.
    	* gnulib/import/sys_time: Update.
    	* gnulib/import/sys_types: Update.
    	* gnulib/import/time: Update.
    	* gnulib/import/unistd: Update.
    	* gnulib/import/unistd: Update.
    	* gnulib/import/verify.h: Update.
    	* gnulib/import/wchar: Update.
    	* gnulib/import/wctype: Update.
    	* gnulib/import/flexmember.h: New file.
    	* gnulib/import/hard-locale.c: New file.
    	* gnulib/import/hard-locale.h: New file.
    	* gnulib/import/limits.in.h: New file.
    	* gnulib/import/m4/flexmember.m4: New file.
    	* gnulib/import/m4/hard-locale.m4: New file.
    	* gnulib/import/m4/limits-h.m4: New file.

commit 285963233bc7509edb07c035426ee0096650b0af
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Oct 18 09:06:27 2016 -0700

    Check addr32flag instead of sizeflag for rip/eip
    
    Since the address size prefix, 0x67, is ignored for MPX instructions in
    64-bit mode, we should check addr32flag instead of sizeflag for rip/eip.
    
    	PR binutis/20699
    	* i386-dis.c (OP_E_memory): Check addr32flag instead of sizeflag
    	for rip/eip.

commit da8d7d665521e5b3f67f87341400441a5d0643d5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Oct 18 08:14:10 2016 -0700

    Remove the remaining SSE5 support
    
    	PR binutis/20704
    	* i386-dis.c (three_byte_table): Remove the remaining SSE5 support.

commit da804164742b83965b487bbff5b6334f2e63fe91
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Oct 18 11:42:35 2016 +0100

    Introduce gdb::unique_ptr
    
    Many make_cleanup uses in the code base are best eliminated by using a
    "owning" smart pointer to manage ownership of the resource
    automatically.
    
    The question is _which_ smart pointer.
    
    GDB currently supports building with a C++03 compiler.  We have
    std::auto_ptr in C++03, but, as is collective wisdom by now, that's
    too easy to misuse, and has therefore been deprecated in C++11 and
    finally removed in C++17.
    
    It'd be nice to be able to use std::unique_ptr instead, which is the
    modern, safe std::auto_ptr replacement in C++11.
    
    In addition to extra safety -- moving (i.e., transfer of ownership of
    the managed pointer between smart pointers) must be explicit --
    std::unique_ptr has (among others) one nice feature that std::auto_ptr
    doesn't --- ability to specify a custom deleter as template parameter.
    In gdb's context, that allows easily creating a smart pointer for
    memory allocated with xmalloc -- the smart pointer then knows to
    release with xfree instead of delete.  This is particularly
    interesting when managing objects allocated in C libraries, and also,
    for C++-fying parts of GDB that interact with other parts that still
    return objects allocated with xmalloc.
    
    Since std::unique_ptr's API is quite nice, and eventually we'd like to
    move to C++11, this patch adds a C++03-compatible smart pointer that
    exposes the subset of the std::unique_ptr API that we're interested
    in.  An advantage is that whenever we start requiring C++11, we won't
    have to learn a new API.  Meanwhile, this allows continuing to support
    building with a C++03 compiler.
    
    Since C++03 doesn't support rvalue references (boost gets close to
    emulating them, but it's not fully transparent to user code), the
    C++03 std::unique_ptr emulation here doesn't try hard to prevent
    accidentally moving, which is where most of complication of a more
    thorough emulation would be.  Instead, we rely on the fact that GDB
    will be usually compiled with a C++11 compiler, and use the real
    std::unique_ptr in that case to catch such accidental moves.  IOW, the
    goal here is to allow code that would be correct using std::unique_ptr
    to be equally correct in C++03 mode, and, just as efficient.
    
    The C++03 version was originally based on GCC 7.0's std::auto_ptr and
    then heavily customized to behave more like C++11's std::unique_ptr:
    
       - Support for custom (stateless) deleters.  (Support for stateful
         deleters could be added, if necessary.)
    
       - unique_ptr<T[]> partial specialization (auto_ptr<T> does not know
         to use delete[]).
    
       - Support for all of 'ptr != NULL', 'ptr == NULL' and 'if (ptr)'
         using the safe bool idiom to emulate C++11's explicit bool
         operator.
    
       - There's no nullptr in C++03, so this allows initialization and
         assignment from NULL instead (std::auto_ptr allows neither).
    
       - Variable names un-uglified (ie., no leading __ prefix everywhere).
    
       - Formatting made to follow GDB's coding conventions, including
         comment style.
    
       - Converting "move" constructors done differently in order to truly
         support:
    
          unique_ptr<Derived> func_returning_unique_ptr (.....);
          ...
          unique_ptr<Base> ptr = func_returning_unique_ptr (.....);
    
    At this point, it no longer shares much at all with the original file,
    but, that's the history.
    
    See comments in the code to find out more.
    
    I thought of putting the "emulation" / shim in the "std" namespace, so
    that when we start requiring C++11 at some point, no actual changes to
    users of the smart pointer throughout would be necessary.  Putting
    things in the std namespace is technically undefined, however in
    practice it doesn't cause any issue with any compiler.  However,
    thinking that people might be confused with seeing std::unique_ptr and
    thinking that we're actually requiring C++11 already, I put the new
    types in the "gdb" namespace instead.
    
    For managing xmalloc pointers, this adds a gdb::unique_xmalloc_ptr<T>
    "specialization" with a custom xfree deleter.
    
    No actual use of any smart pointer is introduced in this patch.
    That'll be done in following patches.
    
    Tested (along with the rest of the series) on:
    
     - NetBSD 5.1 (gcc70 on the compile farm), w/ gcc 4.1.3
     - x86-64 Fedora 23, gcc 5.3.1 (gnu++03)
     - x86-64 Fedora 23, and gcc 7.0 (gnu++14)
    
    gdb/ChangeLog:
    2016-10-18  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h: Include "gdb_unique_ptr.h".
    	* common/gdb_unique_ptr.h: New.

commit b928b56ea67da30216b79abd6a87ffda99fc911d
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Oct 18 10:56:12 2016 +0100

    Updated Danish translation for the BFD library.

commit 333ec25d7e514be4851d94ec0652f571bcfd9c5e
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Oct 16 22:34:08 2016 -0400

    sim: avr: move changelog entries to subdir

commit ae71e7b59836219c617193a263b17041d765a031
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 17 16:15:33 2016 +0100

    i386-tdep: Verify architecture before proceeding with `set/show mpx'
    
    Make sure the architecture is `bfd_arch_i386' before handling the `set
    mpx' and `show mpx' commands, avoiding the issue with `i386_mpx_enabled'
    interpreting `gdbarch->tdep' according to the `struct gdbarch_tdep'
    definition in i386-tdep.h while indeed in a multi-target configuration
    it may have a different layout and cause GDB to crash or at least
    misbehave.
    
    	gdb/
    	* i386-tdep.c (i386_mpx_info_bounds): Make sure the architecture
    	is `bfd_arch_i386' before proceeding.
    	(i386_mpx_set_bounds): Likewise.

commit b348d11b70068e7eabba6d8f99d4ad371c3f6253
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 17 16:18:06 2016 +0100

    tilegx-tdep: Correct aliasing errors in `tilegx_analyze_prologue'
    
    Fix a load of aliasing build errors:
    
    cc1plus: warnings being treated as errors
    .../gdb/tilegx-tdep.c: In function 'CORE_ADDR tilegx_analyze_prologue(gdbarch*, CORE_ADDR, CORE_ADDR, tilegx_frame_cache*, frame_info*)':
    .../gdb/tilegx-tdep.c:609: error: dereferencing pointer 'operands' does break strict-aliasing rules
    .../gdb/tilegx-tdep.c:592: error: dereferencing pointer 'operands' does break strict-aliasing rules
    .../gdb/tilegx-tdep.c:571: error: dereferencing pointer 'operands' does break strict-aliasing rules
    [...]
    .../gdb/tilegx-tdep.c:601: error: dereferencing pointer '<anonymous>' does break strict-aliasing rules
    .../gdb/tilegx-tdep.c:601: note: initialized from here
    cc1plus: error: dereferencing pointer 'operands' does break strict-aliasing rules
    cc1plus: error: dereferencing pointer 'operands' does break strict-aliasing rules
    .../gdb/tilegx-tdep.c:452: note: initialized from here
    cc1plus: error: dereferencing pointer 'pretmp.896' does break strict-aliasing rules
    cc1plus: note: initialized from here
    cc1plus: error: dereferencing pointer 'pretmp.896' does break strict-aliasing rules
    cc1plus: note: initialized from here
    make[1]: *** [tilegx-tdep.o] Error 1
    
    from an attempt to cast a `long long' pointer to an `int64_t' pointer,
    which may not necessarily be compatible types.  Use the `long long' type
    for the auxiliary variable then as this is the type of the structure
    member referred.
    
    	gdb/
    	* tilegx-tdep.c (tilegx_analyze_prologue): Use the `long long'
    	type for `operands'.

commit eaf0270367cea4695d461261eb7fbd16caaeacf1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Oct 18 04:36:01 2016 +0100

    AArch64/opcodes: Correct an `index' global shadowing error
    
    Fix a commit 4df068de5214 ("Add support for SVE addressing modes") build
    regression:
    
    cc1: warnings being treated as errors
    .../opcodes/aarch64-dis.c: In function 'aarch64_ext_sve_addr_rr_lsl':
    .../opcodes/aarch64-dis.c:1324: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    make[3]: *** [aarch64-dis.lo] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	opcodes/
    	* aarch64-dis.c (aarch64_ext_sve_addr_rr_lsl): Rename `index'
    	local variable to `index_regno'.

commit 61034b0b6acc6ff72def5f5ecdbe628edc5d67ea
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Oct 18 04:34:36 2016 +0100

    NDS32/BFD: Correct an aliasing error in `nds32_elf_check_relocs'
    
    Fix an aliasing build error:
    
    cc1: warnings being treated as errors
    .../bfd/elf32-nds32.c: In function 'nds32_elf_check_relocs':
    .../bfd/elf32-nds32.c:6644: warning: dereferencing type-punned pointer will break strict-aliasing rules
    make[3]: *** [elf32-nds32.lo] Error 1
    
    in a way following commit 6edfbbad0864 ("Fix up gcc4.1 aliasing
    warnings"), <https://sourceware.org/ml/binutils/2005-10/msg00071.html>.
    
    	bfd/
    	* elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
    	from GCC.

commit c48182bfe408e06e3301ee887fd9a7b06bedff37
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Oct 18 04:28:34 2016 +0100

    ARM/BFD: Correct an `index' global shadowing error
    
    Fix a commit 5025eb7c0d87 ("Delete relocations associatesd with deleted
    exidx entries.") build regression:
    
    cc1: warnings being treated as errors
    .../bfd/elf32-arm.c: In function 'elf32_arm_update_relocs':
    .../bfd/elf32-arm.c:14951: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:304: warning: shadowed declaration is here
    make[3]: *** [elf32-arm.lo] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	bfd/
    	* elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
    	variable to `reloc_index'.

commit b252dcee39143928a8a1cbb37f770b9266e2c143
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Oct 18 00:00:21 2016 +0000

    Automatic date update in version.in

commit e42b25a0407fbbf3529815f69bd56a61b1821295
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Oct 17 17:05:46 2016 -0400

    Fix duplicate test message in mi-trace-save.exp
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.trace/mi-trace-save.exp (test_trace_save_wrong_num_args):
    	Change test message.

commit 3ccdb4324b0dc9fa46ee7cad9b370f8c7c370c3b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Oct 17 16:54:24 2016 -0400

    Fix comment in mi-trace-save.exp
    
    This fixes a comment I forgot to update in the previous patch.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.trace/mi-trace-save.exp (test_trace_save_wrong_num_args):
    	Update comment.

commit 5bad3170301060ee0801a739ffc213abae664973
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Oct 17 16:47:36 2016 -0400

    Fix -trace-save crash when argument is missing
    
    -trace-save doesn't check whether an argument is passed, leading to a
    segfault if you pass nothing.
    
    I added a small test, which only tests the error conditions of
    -trace-save.
    
    gdb/ChangeLog:
    
    	* mi/mi-main.c (mi_cmd_trace_save): Check if argument is present
    	before using it.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.trace/mi-trace-save.exp: New file.

commit 5562a44eb490b5777c9e786971907c0727d88495
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Oct 17 17:13:26 2016 +0100

    gdb: Fix phony iconv build
    
    Cross building gdb for mingw32 on Fedora 23 fails with:
    
      x86_64-w64-mingw32-g++ -g -O2  [...]  ../../src/gdb/charset.c
      In file included from ../../src/gdb/charset.c:21:0:
      ../../src/gdb/charset.h:134:3: error: 'iconv_t' does not name a type
         iconv_t m_desc;
         ^
      ../../src/gdb/charset.c: In constructor 'wchar_iterator::wchar_iterator(const gdb_byte*, size_t, const char*, size_t)':
      ../../src/gdb/charset.c:600:3: error: 'm_desc' was not declared in this scope
         m_desc = iconv_open (INTERMEDIATE_ENCODING, charset);
         ^
      ../../src/gdb/charset.c: In destructor 'wchar_iterator::~wchar_iterator()':
      ../../src/gdb/charset.c:607:7: error: 'm_desc' was not declared in this scope
         if (m_desc != (iconv_t) -1)
    	 ^
      ../../src/gdb/charset.c: In member function 'int wchar_iterator::iterate(wchar_iterate_result*, gdb_wchar_t**, const gdb_byte**, size_t*)':
      ../../src/gdb/charset.c:633:25: error: 'm_desc' was not declared in this scope
    	 size_t r = iconv (m_desc, &inptr, &m_bytes, &outptr, &out_avail);
    			   ^
    
    This is a regression caused by commit cda6c55bd399 (Turn wchar
    iterator into a class).  The problem is that iconv_t is now exposed in
    gdb/charset.h, while before it was only used in gdb/charset.c.
    
    gdb/charset.c, under #ifdef PHONY_ICONV, does:
    
     #undef iconv_t
     #define iconv_t int
    
    So it seems the simplest is to use 'int' in the header file too.
    
    gdb/ChangeLog:
    2016-10-17  Pedro Alves  <palves@redhat.com>
    
    	* charset.h (class wchar_iterator) [PHONY_ICONV] <m_desc>: Use
    	'int' as type.

commit 8cae7a47b12ff6a5de72f6cc62b42d056f63bef0
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Mon Oct 17 16:45:57 2016 +0200

    Fixed matching in newly added test.
    
    gas/ChangeLog:
    
        2016-10-17  Cupertino Miranda  <cmiranda@synopsys.com>
    	* testsuite/arc/dis-inv.d: Fixed target match.

commit 1449284bd80db7bb4cbe7fef21e1e8b753135af6
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Oct 17 15:29:43 2016 +0100

    Display unknown notes.  Decode NT_GNU_HWCAP notes.
    
    	* readelf.c (apply_relocations): Fail if the symbol table section
    	linked to by the reloc section does not have either the SHT_SYMTAB
    	or SHT_DYNSYM type.
    	(print_gnu_note): Decode the contents of NT_GNU_HWCAP notes.
    	Print the contents of unknown note types.
    	(process_note): Add the file and section to the parameter list.
    	Use print_symbol to display the note name.
    	Display the contents of unknown note types.
    	(process_corefile_note_segment): Rename to process_notes_at.
    	Add section parameter.  Apply relocations to the notes when
    	loading from a section.  Display section name when processing
    	notes in a section.
    	* testsuite/binutils-all/readelf.n: Update expected output.

commit decf5bd1570be3de10aeab99869a9548d17b1354
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Sep 21 12:07:46 2016 +0100

    Removed pseudo invalid instructions opcodes.
    
    The disassember was generating invXXX instructions for cases when in reality we
    had llockd or scondd instrutions.
    
    opcodes/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    	arc-tbl.h: Removed any "inv.+" instructions from the table.
    
    gas/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
            testsuite/arc/dis-inv.s: Test to validate patch.
            testsuite/arc/dis-inv.d: Likewise.

commit 6d91379408b87b6d0c1cd4bc2880b530cc4ec721
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Oct 17 11:46:32 2016 +0100

    Update list of ELF machine numbers.
    
    include	* elf/common.h (DT_SYMTAB_SHNDX): Define.
    	(EM_CLOUDSHIELD, EM_COREA_1ST, EM_COREA_2ND, EM_OPEN8): Define.
    	(EM_VIDEOCORE5, EM_56800EX, EM_BA1, EM_BA2, EM_XCORE): Define.
    	(EM_MCHP_PIC, EM_KM32, EM_KMX32, EM_KMX16, EM_KMX8): Define.
    	(EM_KVARC, EM_CDP, EM_COGE, EM_COOL, EM_NORC): Define.
    	(EM_CSR_KALIMBA, EM_Z80, EM_AMDGPU, EM_RISCV): Define.
    	(ELFOSABI_OPENVOS): Define.
    	(GRP_MASKOS, GRP_MASKPROC): Define.
    
    binutils	* readelf.c (get_dynamic_type): Add DT_SYMTAB_SHNDX.
    	(get_machine_type): Add EM_CLOUDSHIELD, EM_COREA_1ST,
    	EM_COREA_2ND, EM_OPEN8, EM_VIDEOCORE5, EM_56800EX, EM_BA1, EM_BA2,
    	EM_XCORE, EM_MCHP_PIC, EM_KM32, EM_KMX32, EM_KMX16, EM_KMX8,
    	EM_KVARC, EM_CDP, EM_COGE, EM_COOL, EM_NORC, EM_CSR_KALIMBA,
    	EM_Z80, EM_AMDGPU, EM_RISCV.
    	(get_osabi_name): Add ELFOSABI_CLOUDABI and ELFOSABI_OPENVS.
    	(get_group_flags): Update to handle flags in the
    	GRP_MASKOS and GRP_MASKPROC ranges.

commit 41f225defe891ff71d3c8a149cdc1ed8f3a64c5c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Oct 17 10:26:56 2016 +0100

    Sync libiberty sources with gcc mainline.
    
    2016-09-19  Andrew Stubbs  <ams@codesourcery.com>
    
    	* pex-win32.c (argv_to_cmdline): Quote zero-length parameters.
    	* testsuite/test-pexecute.c (main): Insert check for zero-length parameters.
    
    2016-09-10  Mark Wielaard  <mjw@redhat.com>
    
    	* cp-demangle.c (d_substitution): Change struct demangle_component
    	variable name from c to dc.
    
    2016-08-12  Marek Polacek  <polacek@redhat.com>
    
    	PR c/7652
    	* cp-demangle.c (d_print_mod): Add FALLTHRU.
    
    2016-08-04  Marcel B?hme  <boehme.marcel@gmail.com>
    
    	PR c++/71696
    	* cplus-dem.c: Prevent infinite recursion when there is a cycle
    	in the referencing of remembered mangled types.
    	(work_stuff): New stack to keep track of the remembered mangled
    	types that are currently being processed.
    	(push_processed_type): New method to push currently processed
    	remembered type onto the stack.
    	(pop_processed_type): New method to pop currently processed
    	remembered type from the stack.
    	(work_stuff_copy_to_from): Copy values of new variables.
    	(delete_non_B_K_work_stuff): Free stack memory.
    	(demangle_args): Push/Pop currently processed remembered type.
    	(do_type): Do not demangle a cyclic reference and push/pop
    	referenced remembered type.

commit b89bd142d2271fb9aeacb4d9e6fbabd842755039
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Oct 17 00:00:21 2016 +0000

    Automatic date update in version.in

commit e601a8aec5fe30049b0e5f6169891fa26776dcd6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Oct 16 00:00:20 2016 +0000

    Automatic date update in version.in

commit e4ce4d9479145adb03eb978bf699d894a77582d0
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Oct 15 12:24:54 2016 +1030

    Regenerate spu_ovl.o_c
    
    No real changes here.  This is just so that we match current spu_ovl.o
    with .shstrtab moved.
    
    	* emultempl/spu_ovl.o_c: Regenerate.

commit 6578011c4c858c09a7027fbcfa7ae81870cd91dc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Oct 15 00:00:19 2016 +0000

    Automatic date update in version.in

commit b4f6af8ee2ea97b8c6f2bca1c2fd728683e68ef5
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 14 17:03:16 2016 +0100

    FINAL/OVERRIDE: Define to empty on g++ < 4.7
    
    final/override were only implemented in g++ 4.7.
    
    include/ChangeLog
    2016-10-14  Pedro Alves  <palves@redhat.com>
    
    	* ansidecl.h [__cplusplus >= 201103 && GCC_VERSION < 4007] (FINAL,
    	OVERRIDE): Define as empty.
    	[__cplusplus < 201103 && GCC_VERSION < 4007] (FINAL): Define as
    	__final.
    	[__cplusplus < 201103 && GCC_VERSION >= 4007] (OVERRIDE): Define as
    	empty.

commit d118ee3761bcf0c861a75e454d0c2b741fccb956
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 14 17:03:16 2016 +0100

    Move OVERRIDE/FINAL from gcc/coretypes.h to include/ansidecl.h
    
    So that GDB and other projects that share the top level can use them.
    
    Bootstrapped with all default languages + jit on x86-64 Fedora 23.
    
    gcc/ChangeLog:
    2016-10-14  Pedro Alves  <palves@redhat.com>
    
    	* coretypes.h (OVERRIDE, FINAL): Delete, moved to
    	include/ansidecl.h.
    
    include/ChangeLog:
    2016-10-14  Pedro Alves  <palves@redhat.com>
    
    	* ansidecl.h (GCC_FINAL): Delete.
    	(OVERRIDE, FINAL): New, moved from gcc/coretypes.h.

commit be06ba8ceb2197b6771f8e47dc7b8df316e1da75
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Oct 14 11:39:17 2016 -0400

    Fix typos in trace commands doc
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Using Trace Files): Fix typo.
    	(GDB/MI Tracepoint Commands): Likewise.

commit 99e61edafe27b4949f9d6c49a016d9a18bc5d917
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Oct 14 11:39:16 2016 -0400

    Document -ctf switch of -trace-save
    
    The -trace-save MI command supports saving the trace in the CTF format,
    as its CLI counterpart, but it's not documented.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Tracepoint Commands): Document -ctf switch
    	of -trace-save.

commit e913b9cb939c45ce9cbf0f224da6466cd3094c3a
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Oct 14 09:04:46 2016 -0500

    Fix leftover remote test failures from PR binutils/19020
    
    As pointed out in PR binutils/19020, those tests were still failing when doing
    remote testing. This is because the binary files weren't being copied over to
    the remote host for testing.
    
    FAIL: binutils-all/pr19020a
    FAIL: binutils-all/pr19020b
    
    This small patch fixes this up to make things pass.
    
    binutils/ChangeLog:
    2016-10-14  Luis Machado  <lgustavo@codesourcery.com>
    
    	* testsuite/lib/utils-lib.exp (run_dump_test): Call remote_download
    	to copy file to remote host.

commit 754c39c2f32a796ad9983836deb7c4429c808e48
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Fri Oct 14 15:04:04 2016 +0200

    Fix set sysroot command on AIX
    
    set sysroot command on AIX has no effect if a program depends on shared
    library archives (.a).  Fixed by using solib_find and solib_bfd_fopen
    instead of gdb_bfd_open in solib_aix_bfd_open.
    
    gdb/
    2016-10-14  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
    	    Ulrich Weigand  <uweigand@de.ibm.com>
    
    	* solib-aix.c (solib_aix_bfd_open): Call solib_find so that sysroot
    	path is set properly if program has a dependency on .a archive and
    	sysroot is set via set sysroot command.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit ab2c2251daf50e5ce733d33b803eb469b3ba1d80
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Oct 14 21:17:54 2016 +1030

    Add separate debug info file section
    
    	* scripttempl/DWARF.sc: Add .debug_addr.

commit e5b06ef06b062f0626462abb182ee5470cf798bc
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Thu Oct 13 15:01:19 2016 +0200

    [ARC] Disassembler: fix LIMM detection for short instructions.
    
    The ARC (short) instructions are using a special register number to
    indicate is the instruction uses a long immediate (LIMM).  In the case
    of short instruction, this LIMM indicator depends on the ISA version
    used. Thus, for ARCv1 processors, the LIMM indicator is 0x3E, the same
    value used in "long" instructions.  However, for the ARCv2 processors,
    this LIMM indicator is 0x1E.
    
    This patch fixes the LIMM detection for ARCv1 ISA and adds two tests.
    
    gas/
    2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/shortlimm_a7.d: New file.
    	* testsuite/gas/arc/shortlimm_a7.s: Likewise.
    	* testsuite/gas/arc/shortlimm_hs.d: Likewise.
    	* testsuite/gas/arc/shortlimm_hs.s: Likewise.
    
    include/
    2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* opcode/arc.h (ARC_OPCODE_ARCV2): New define.
    
    opcodes/
    2016-10-13  Claudiu Zissulescu  <claziss@synopsys.com>
    
            * arc-dis.c (find_format_from_table): Discriminate LIMM indicator
    	usage on ISA basis.

commit afb1110bfa4fe150cb2f2c58329551bd82cb3627
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Thu Oct 13 16:09:41 2016 +0200

    btrace: remove leftover comment
    
    Remove a leftover comment on a function that was removed with commit
    0568462bbf0f666d5bf9f720e16147da71eec46a.

commit 8ffc1bb12a22e548835c9291871ad0eb68b7f6f0
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Fri Oct 14 10:08:25 2016 +0300

    Include strings.h where available
    
    gdb/ChangeLog
    
    2016-10-14  Eli Zaretskii  <eliz@gnu.org>
    
    	* common/common-defs.h [HAVE_STRINGS_H]: Include strings.h if
    	available, to get prototypes of 'strcasecmp' and 'strncasecmp'.

commit 64a0223474d767f07aecc1a8ce56d9fde12dfbfa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Oct 14 00:00:22 2016 +0000

    Automatic date update in version.in

commit 1f2e9c5e3b0ef55cb0ab180dd0c82c7954a73e1a
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 13 17:59:26 2016 +0100

    ARI: Remove true/false checks
    
    These don't make sense with C++.
    
    gdb/ChangeLog:
    2016-10-13  Pedro Alves  <palves@redhat.com>
    
    	* contrib/ari/gdb_ari.sh (boolean): Suggest bool instead.
    	(false, true): Remove checks.

commit 5ad9dba7519caa3e6193c87699ae37e24d0fe05c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Oct 13 16:08:17 2016 +0100

    Share proc get_var_address
    
    This patch moves proc get_var_address into lib/gdb.exp, and remove the
    duplicate copy in gdb.base/*.exp files.
    
    gdb/testsuite:
    
    2016-10-13  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/code_elim.exp (get_var_address): Remove.
    	* gdb.base/relocate.exp: Likewise.
    	* gdb.base/shreloc.exp: Likewise.
    	* lib/gdb.exp (get_var_address): New.

commit 62df7e210ebf096dc09ad14d9316fcda0f6217f7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Oct 13 11:10:25 2016 +0100

    Skip testing structures with floating points
    
    This patch skips some tests related to floating point in structs.exp
    if gdb_skip_float_test return false.
    
    gdb/testsuite:
    
    2016-10-13  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/structs.exp: Invoke gdb_skip_float_test, and do
    	floating point tests if $skip_float_test is false.

commit af533a5f8b149bfa1394ab04c3947e97dd507a33
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 21:28:52 2016 -0600

    Use std::string in macho_symfile_read_all_oso
    
    This changes macho_symfile_read_all_oso to use std::string.  This
    avoids a cleanup.
    
    2016-10-12  Tom Tromey  <tom@tromey.com>
    
    	* machoread.c (macho_symfile_read_all_oso): Use std::string.

commit d1a760cbb796b62f18ff6b81a189fd261809ef74
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Sep 24 21:14:14 2016 -0600

    Remove unnecessary null_cleanup
    
    This patch removes an unnecessary null_cleanup.
    
    2016-10-12  Tom Tromey  <tom@tromey.com>
    
    	* tracepoint.c (trace_dump_command): Remove unnecessary
    	null_cleanup.

commit cda6c55bd399a8892d62178d4daeb074def909e0
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 21:16:53 2016 -0600

    Turn wchar iterator into a class
    
    This changes wchar_iterator from charset.c into a real C++ class, then
    updates the users to use the class.  This lets us remove some cleanups
    in favor of the class' destructor.
    
    2016-10-12  Tom Tromey  <tom@tromey.com>
    
    	* valprint.c (generic_emit_char, count_next_character)
    	(generic_printstr): Update.
    	* charset.c (struct wchar_iterator): Move to charset.h.
    	(wchar_iterator::wchar_iterator): Rename from
    	make_wchar_iterator, turn into a constructor.
    	(wchar_iterator::~wchar_iterator): Rename from
    	do_cleanup_iterator, turn into a destructor.
    	(make_cleanup_wchar_iterator): Remove.
    	(wchar_iterator::iterate): Rename from wchar_iterate.  Remove
    	"iter" argument.  Update.
    	* charset.h: Include <vector>.
    	(class wchar_iterator): New class, from old struct
    	wchar_iterator.
    	(make_wchar_iterator, make_cleanup_wchar_iterator): Don't
    	declare.

commit 816d7b53047bca81c226990bc9248d59d80d4b8b
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 21:32:03 2016 -0600

    Change selttest.c to use use std::vector
    
    This patch changes selftest.c to use std::vector rather than VEC.
    I think this is a small net plus.
    
    2016-10-12  Tom Tromey  <tom@tromey.com>
    
    	* selftest.c: Include <vector>, not "vec.h".
    	(self_test_function_ptr): Remove.
    	(tests): Now a std::vector.
    	(register_self_test, run_self_tests): Update.

commit bfd282882d534cd4f48e2fc29d4ce0923c52352b
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 13 01:54:07 2016 +0100

    Convert tid_range_parser and get_number_or_range to classes
    
    This converts tid_range_parser and get_number_or_range to be classes.
    The various tid_range_parser_* and get_number_or_range_* functions
    become methods on the respective classes.  Then it updates the users
    to follow.
    
    The rationale for the change is that this provides better
    encapsulation.  For example, this forced me to think of a better
    interface between tid_range_parser and get_number_or_range, since the
    former peeked into the latter's internals a bit too much.  That ended
    up resulting mostly in these two not-just-straight-1-1 changes:
    
      void
     -tid_range_parser_skip (struct tid_range_parser *parser)
     +tid_range_parser::skip_range ()
      {
     ...
    
     -  tid_range_parser_init (parser, parser->range_parser.end_ptr,
     -			 parser->default_inferior);
     +  m_range_parser.skip_range ();
     +  init (m_range_parser.string (), m_default_inferior);
      }
    
     and:
    
        /* If we successfully parsed a thread number or finished parsing a
           thread range, switch back to assuming the next TID is
           inferior-qualified.  */
     -  if (parser->range_parser.end_ptr == NULL
     -      || parser->range_parser.string == parser->range_parser.end_ptr)
     +  if (!m_range_parser.in_range ())
          {
    
    For the same reason (encapsulation), this moves the enum
    tid_range_state definition to within the tid_parser class's scope,
    since that is private implementation detail.
    
    While at it, switch to use "bool" for booleans.
    
    gdb/ChangeLog:
    2016-10-13  Pedro Alves  <palves@redhat.com>
    	    Tom Tromey  <tom@tromey.com>
    
    	* tid-parse.h (tid_range_parser): New class.
    	(enum tid_range_state): Move into tid_range_parser's scope.
    	Remove TID_RANGE_ prefix from all values.
    	(tid_range_parser_get_tid, tid_range_parser_get_tid_range)
    	(tid_range_parser_star_range, tid_range_parser_finished)
    	(tid_range_parser_skip, tid_range_parser_qualified): Don't
    	declare.
    	(tid_is_in_list): Update comment.
    	* tid-parse.c (tid_range_parser::tid_range_parser): New.
    	(init, finished, get_string, skip, tid_is_qualified)
    	(get_tid_or_range, get_tid_range, get_tid, star_range): Rename;
    	turn into methods.
    	(tid_is_in_list): Adjust.
    	* cli/cli-utils.h (number_or_range_parser): New class.
    	(init_number_or_range, get_number_or_range)
    	(number_range_setup_range): Don't declare.
    	* cli/cli-utils.c
    	(number_or_range_parser::number_or_range_parser): New.
    	(init_number_or_range, get_number_or_range)
    	(number_range_setup_range): Rename; turn into methods.
    	(number_is_in_list): Adjust.
    	* breakpoint.c (map_breakpoint_numbers): Adjust.  Use bool.
    	(trace_pass_command, get_tracepoint_by_number): Adjust.
    	* breakpoint.h (get_tracepoint_by_number): Adjust.
    	* inferior.c (detach_inferior_command, kill_inferior_command)
    	(remove_inferior_command): Adjust.
    	* linespec.c (decode_line_2): Adjust.
    	* memattr.c (mem_enable_command, mem_disable_command)
    	(mem_delete_command): Adjust.
    	* printcmd.c (map_display_numbers): Adjust.
    	* reverse.c (delete_bookmark_command, bookmarks_info): Adjust.
    	* thread.c (thread_apply_command): Adjust.

commit b44fae2f56b0edbecff68c597f7b5718ca3f9f90
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Oct 13 00:00:20 2016 +0000

    Automatic date update in version.in

commit 4dac951e11030b43b17f52df8bdfa7432e4bf73c
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Wed Oct 12 10:10:03 2016 -0500

    Fixup gdb.python/py-value.exp for bare-metal aarch64-elf
    
    I noticed that testing aarch64-elf gdb with a physical board
    ran into issues with gdb.python/py-value.exp. Further investigation showed
    that we were actually trying to dereference a NULL pointer (argv) when trying
    to access argv[0].
    
    Being bare-metal, argv is not guaranteed to be valid. So we need to make sure
    argv is sane before accessing argv[0].
    
    The following patch fixes up the test program to check for a NULL argv and also
    improves the testcase a bit so it doesn't have to work with a hardcoded argc
    value.
    
    Regression-tested on x86-64 Ubuntu 16.04.
    
    gdb/testsuite/ChangeLog:
    
    2016-10-12  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.python/py-value.c (main): Check if argv is NULL before using it.
    	* gdb.python/py-value.exp (test_value_in_inferior): Don't use hardcoded
    	argc values.
    	Add 1 to argc so we guarantee distinct initial/modified argc values.

commit 4a2f4826907de97b089295000a67d2497aa94c99
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Oct 12 14:36:44 2016 +0300

    arc: Add support for Newlib
    
    Add support for Newlib as an OS/ABI.  The only thing that is specific to it
    relatively to "generic" baremetal target is location of PC register in jump
    buffer for longjump support.
    
    Sniffer uses .ivt section to decide if ELF file is for ARC Newlib or not.
    
    gdb/ChangeLog:
    
    	* arc-newlib-tdep.c: New file.
    	* configure.tgt: Add newlib support for ARC.

commit aaf43c4882f827d9f778b40dcdb93566f765f5f9
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Oct 12 14:36:44 2016 +0300

    arc: Add evaluation of long jump targets
    
    Standard get_longjmp_target implementation, similar to what is in arm-tdep.c.
    Actual value of jb_pc should be set in init_osabi methods of particular OS/ABI
    implementations.
    
    gdb/ChangeLog:
    
    	* arc-tdep.h (struct gdbarch_tdep) <jb_pc>: New field.
    	* arc-tdep.c (arc_get_longjmp_target): New function.
    	(arc_gdbarch_init): Set get_longjmp_target if jb_pc is non-negative.
    	(arc_dump_tdep): Print jb_pc.

commit b845c31ecc4fe2677f1d938b0d8a3dc98397158e
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Oct 12 14:36:44 2016 +0300

    arc: Add a gdbarch_tdep structure
    
    Add target-specific structure gdbarch_tdep for ARC.
    
    gdb/ChangeLog:
    
    	* arc-tdep.h (struct gdbarch_tdep): New.
    	* arc-tdep.c (arc_gdbarch_init): Allocate gdbarch_tdep.

commit 187f5d00acf0ffe5390f282fd4d6285bcd6fccb9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Oct 11 12:12:46 2016 +0100

    [AArch64] Track FP registers in prologue analyzer
    
    We don't track FP registers in aarch64 prologue analyzer, so this causes
    an internal error when FP registers are saved by "stp" instruction in
    prologue (stp	d8, d9, [sp,#128]),
    
     tbreak _Unwind_RaiseException^M
     aarch64-tdep.c:335: internal-error: CORE_ADDR aarch64_analyze_prologue(gdbarch*, CORE_ADDR, CORE_ADDR, aarch64_prologue_cache*): Assertion `inst.operands[0].type == AARCH64_OPND_Rt' failed.^M
     A problem internal to GDB has been detected,
    
    This patch teaches GDB to track FP registers (D registers) in prologue
    analyzer.
    
    gdb:
    
    2016-10-12  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20682
    	* aarch64-tdep.c: Replace 32 with AARCH64_D_REGISTER_COUNT.
    	(aarch64_analyze_prologue): Extend array 'regs' for D registers.
    	Assert that operand 0 and 1 can be X or D registers.  Update
    	register number for D registers.  Update registers in frame
    	cache.
    	* aarch64-tdep.h (AARCH64_D_REGISTER_COUNT): New macro.

commit b43fbca8c2cd2d40fb61dc667afbfc66a4441b58
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Oct 12 00:00:19 2016 +0000

    Automatic date update in version.in

commit 4d483590c65d9967da12ff316b2693cce05b0810
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 12 09:52:53 2016 +1030

    missing changelog entry

commit 821e6ff6299aa39e841ca50e1ae8a98e3554fd5f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 12 09:41:33 2016 +1030

    BFD_FAKE_SECTION macro params
    
    Order NAME, IDX, FLAGS as per STD_SECTION macro.
    
    	* section.c (BFD_FAKE_SECTION): Reorder parameters.  Formatting.
    	(STD_SECTION): Adjust to suit.
    	* elf.c (_bfd_elf_large_com_section): Likewise.
    	* bfd-in2.h: Regenerate.

commit 56fdab47732aa0e051d3442fdedbe602ce367cf9
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 12 09:31:24 2016 +1030

    Update more tests for objdump change
    
    	* testsuite/ld-i386/pr19636-1d-nacl.d: Adjust for objdump change.
    	* testsuite/ld-i386/pr19636-2c-nacl.d: Likewise.
    	* testsuite/ld-tic6x/shlib-1r.dd: Likewise.
    	* testsuite/ld-x86-64/plt-nacl.pd: Likewise.
    	* testsuite/ld-x86-64/pr19636-2d-nacl.d: Likewise.

commit 8f1a8fc4df2244f548d55fbecce20b7cd6f90e16
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Oct 11 19:09:05 2016 +0200

    testsuite: Fix gdb.arch/powerpc-prologue.c compilation
    
    gcc-6.2.1
    
    gdb compile failed, gdb/testsuite/gdb.arch/powerpc-prologue.c: In function 'main':
    gdb/testsuite/gdb.arch/powerpc-prologue.c:32:3: warning: implicit declaration of function 'optimized_1' [-Wimplicit-function-declaration]
       optimized_1 ();
       ^~~~~~~~~~~
    
    gdb/testsuite/ChangeLog
    2016-10-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.arch/powerpc-prologue.c (optimized_1): New declaration.

commit 16c85b5d14a04c275d3cb39b2029f3dc0f708531
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Oct 11 16:43:58 2016 +0200

    testsuite: Use standard_output_file
    
    gdb/testsuite/ChangeLog
    2016-10-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.arch/powerpc-prologue.exp: Use standard_output_file.
    	* gdb.arch/ppc64-symtab-cordic.exp: Likewise.
    	* gdb.arch/vsx-regs.exp: Likewise.

commit a24bb4f0cce83eea8b2ad1542316651143af6f90
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Oct 11 13:50:10 2016 +0100

    Enhance objdump so that it will use .got, .plt and .plt.got section symbols when disassembling, and it will use dynamic relocs to interpret entries in the PLT and GOT.
    
    binutils * objdump.c (is_significant_symbol_name): New function.
    	(remove_useless_symbols): Do not remove significanr symbols.
    	(find_symbol_for_address): If an exact match for the specified
    	address has not been found, try scanning the dynamic relocs to see
    	if one of these matches the address.  If so, use the symbol
    	associated with the reloc.
    	(objdump_print_addr_with_symbol): Do not print offsets to symbols
    	with no value.
    	(disassemble_section): Only use dynamic relocs if the user
    	requested this.
    	(disassemble_data): Always load dynamic relocs if they are
    	available.
    
    ld	* ld-aarch64/emit-relocs-515-be.d: Adjust output to match change
    	in objdump.
    	* ld-aarch64/emit-relocs-515.d: Likewise.
    	* ld-aarch64/emit-relocs-516-be.d: Likewise.
    	* ld-aarch64/emit-relocs-516.d: Likewise.
    	* ld-aarch64/farcall-b-plt.d: Likewise.
    	* ld-aarch64/farcall-bl-plt.d: Likewise.
    	* ld-aarch64/gc-plt-relocs.d: Likewise.
    	* ld-aarch64/tls-desc-ie.d: Likewise.
    	* ld-aarch64/tls-tiny-desc.d: Likewise.
    	* ld-aarch64/tls-tiny-gd.d: Likewise.
    	* ld-aarch64/tls-tiny-ie.d: Likewise.
    	* ld-arm/arm-app-abs32.d: Likewise.
    	* ld-arm/arm-app.d: Likewise.
    	* ld-arm/arm-lib-plt32.d: Likewise.
    	* ld-arm/arm-lib.d: Likewise.
    	* ld-arm/armthumb-lib.d: Likewise.
    	* ld-arm/cortex-a8-fix-b-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-bcc-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-bl-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-bl-rel-plt.d: Likewise.
    	* ld-arm/cortex-a8-fix-blx-plt.d: Likewise.
    	* ld-arm/farcall-mixed-app-v5.d: Likewise.
    	* ld-arm/farcall-mixed-app.d: Likewise.
    	* ld-arm/farcall-mixed-app2.d: Likewise.
    	* ld-arm/farcall-mixed-lib-v4t.d: Likewise.
    	* ld-arm/farcall-mixed-lib.d: Likewise.
    	* ld-arm/ifunc-10.dd: Likewise.
    	* ld-arm/ifunc-14.dd: Likewise.
    	* ld-arm/ifunc-15.dd: Likewise.
    	* ld-arm/ifunc-3.dd: Likewise.
    	* ld-arm/ifunc-4.dd: Likewise.
    	* ld-arm/ifunc-9.dd: Likewise.
    	* ld-arm/long-plt-format.d: Likewise.
    	* ld-arm/mixed-app-v5.d: Likewise.
    	* ld-arm/mixed-app.d: Likewise.
    	* ld-arm/mixed-lib.d: Likewise.
    	* ld-arm/tls-lib-loc.d: Likewise.
    	* ld-cris/dso-pltdis1.d: Likewise.
    	* ld-cris/dso-pltdis2.d: Likewise.
    	* ld-cris/dso12-pltdis.d: Likewise.
    	* ld-elf/symbolic-func.r: Likewise.
    	* ld-frv/fdpic-pie-1.d: Likewise.
    	* ld-frv/fdpic-pie-2.d: Likewise.
    	* ld-frv/fdpic-pie-6.d: Likewise.
    	* ld-frv/fdpic-pie-7.d: Likewise.
    	* ld-frv/fdpic-pie-8.d: Likewise.
    	* ld-frv/fdpic-shared-1.d: Likewise.
    	* ld-frv/fdpic-shared-2.d: Likewise.
    	* ld-frv/fdpic-shared-3.d: Likewise.
    	* ld-frv/fdpic-shared-4.d: Likewise.
    	* ld-frv/fdpic-shared-5.d: Likewise.
    	* ld-frv/fdpic-shared-6.d: Likewise.
    	* ld-frv/fdpic-shared-7.d: Likewise.
    	* ld-frv/fdpic-shared-8.d: Likewise.
    	* ld-frv/fdpic-shared-local-2.d: Likewise.
    	* ld-frv/fdpic-shared-local-8.d: Likewise.
    	* ld-frv/fdpic-static-1.d: Likewise.
    	* ld-frv/fdpic-static-2.d: Likewise.
    	* ld-frv/fdpic-static-6.d: Likewise.
    	* ld-frv/fdpic-static-7.d: Likewise.
    	* ld-frv/fdpic-static-8.d: Likewise.
    	* ld-frv/tls-dynamic-2.d: Likewise.
    	* ld-frv/tls-initial-shared-2.d: Likewise.
    	* ld-frv/tls-relax-shared-2.d: Likewise.
    	* ld-frv/tls-shared-2.d: Likewise.
    	* ld-i386/plt-nacl.pd: Likewise.
    	* ld-i386/plt-pic-nacl.pd: Likewise.
    	* ld-i386/plt-pic.pd: Likewise.
    	* ld-i386/plt.pd: Likewise.
    	* ld-i386/pr19636-1d-nacl.d: Likewise.
    	* ld-i386/pr19636-1d.d: Likewise.
    	* ld-i386/pr19636-2c-nacl.d: Likewise.
    	* ld-i386/pr19636-2c.d: Likewise.
    	* ld-ifunc/ifunc-21-x86-64.d: Likewise.
    	* ld-ifunc/ifunc-22-x86-64.d: Likewise.
    	* ld-ifunc/pr17154-i386.d: Likewise.
    	* ld-ifunc/pr17154-x86-64.d: Likewise.
    	* ld-m68k/plt1-68020.d: Likewise.
    	* ld-m68k/plt1-cpu32.d: Likewise.
    	* ld-m68k/plt1-isab.d: Likewise.
    	* ld-m68k/plt1-isac.d: Likewise.
    	* ld-metag/shared.d: Likewise.
    	* ld-metag/stub_pic_app.d: Likewise.
    	* ld-metag/stub_pic_shared.d: Likewise.
    	* ld-metag/stub_shared.d: Likewise.
    	* ld-s390/tlsbin_64.dd: Likewise.
    	* ld-s390/tlspic_64.dd: Likewise.
    	* ld-tic6x/shlib-1.dd: Likewise.
    	* ld-tic6x/shlib-1b.dd: Likewise.
    	* ld-tic6x/shlib-1rb.dd: Likewise.
    	* ld-tic6x/shlib-app-1.dd: Likewise.
    	* ld-tic6x/shlib-app-1b.dd: Likewise.
    	* ld-tic6x/shlib-app-1r.dd: Likewise.
    	* ld-tic6x/shlib-app-1rb.dd: Likewise.
    	* ld-tic6x/shlib-noindex.dd: Likewise.
    	* ld-vax-elf/export-class-data.dd: Likewise.
    	* ld-vax-elf/plt-local-lib.dd: Likewise.
    	* ld-vax-elf/plt-local.dd: Likewise.
    	* ld-x86-64/bnd-ifunc-2.d: Likewise.
    	* ld-x86-64/bnd-plt-1.d: Likewise.
    	* ld-x86-64/gotpcrel1.dd: Likewise.
    	* ld-x86-64/libno-plt-1b.dd: Likewise.
    	* ld-x86-64/load1c-nacl.d: Likewise.
    	* ld-x86-64/load1c.d: Likewise.
    	* ld-x86-64/load1d-nacl.d: Likewise.
    	* ld-x86-64/load1d.d: Likewise.
    	* ld-x86-64/mov1a.d: Likewise.
    	* ld-x86-64/mov1b.d: Likewise.
    	* ld-x86-64/mov1c.d: Likewise.
    	* ld-x86-64/mov1d.d: Likewise.
    	* ld-x86-64/mov2a.d: Likewise.
    	* ld-x86-64/mov2b.d: Likewise.
    	* ld-x86-64/mov2c.d: Likewise.
    	* ld-x86-64/mov2d.d: Likewise.
    	* ld-x86-64/mpx3.dd: Likewise.
    	* ld-x86-64/mpx4.dd: Likewise.
    	* ld-x86-64/no-plt-1a.dd: Likewise.
    	* ld-x86-64/no-plt-1b.dd: Likewise.
    	* ld-x86-64/no-plt-1c.dd: Likewise.
    	* ld-x86-64/no-plt-1e.dd: Likewise.
    	* ld-x86-64/no-plt-1f.dd: Likewise.
    	* ld-x86-64/no-plt-1g.dd: Likewise.
    	* ld-x86-64/plt-main-bnd.dd: Likewise.
    	* ld-x86-64/plt-nacl.pd: Likewise.
    	* ld-x86-64/plt.pd: Likewise.
    	* ld-x86-64/pr18591.d: Likewise.
    	* ld-x86-64/pr19609-1c.d: Likewise.
    	* ld-x86-64/pr19609-1e.d: Likewise.
    	* ld-x86-64/pr19609-1j.d: Likewise.
    	* ld-x86-64/pr19609-1l.d: Likewise.
    	* ld-x86-64/pr19609-1m.d: Likewise.
    	* ld-x86-64/pr19609-5b.d: Likewise.
    	* ld-x86-64/pr19609-5c.d: Likewise.
    	* ld-x86-64/pr19609-5e.d: Likewise.
    	* ld-x86-64/pr19609-6b.d: Likewise.
    	* ld-x86-64/pr19609-7b.d: Likewise.
    	* ld-x86-64/pr19609-7d.d: Likewise.
    	* ld-x86-64/pr19636-2d.d: Likewise.
    	* ld-x86-64/pr20093-1.d: Likewise.
    	* ld-x86-64/pr20093-2.d: Likewise.
    	* ld-x86-64/pr20253-1b.d: Likewise.
    	* ld-x86-64/pr20253-1d.d: Likewise.
    	* ld-x86-64/pr20253-1f.d: Likewise.
    	* ld-x86-64/pr20253-1h.d: Likewise.
    	* ld-x86-64/pr20253-1j.d: Likewise.
    	* ld-x86-64/pr20253-1l.d: Likewise.
    	* ld-x86-64/protected3.d: Likewise.
    	* ld-x86-64/tlsbin.dd: Likewise.
    	* ld-x86-64/tlsbin2.dd: Likewise.
    	* ld-x86-64/tlsbindesc.dd: Likewise.
    	* ld-x86-64/tlsdesc-nacl.pd: Likewise.
    	* ld-x86-64/tlsdesc.dd: Likewise.
    	* ld-x86-64/tlsdesc.pd: Likewise.
    	* ld-x86-64/tlsgd10.dd: Likewise.
    	* ld-x86-64/tlsgd5.dd: Likewise.
    	* ld-x86-64/tlsgd6.dd: Likewise.
    	* ld-x86-64/tlsgd8.dd: Likewise.
    	* ld-x86-64/tlsgdesc.dd: Likewise.
    	* ld-x86-64/tlspic.dd: Likewise.
    	* ld-x86-64/tlspic2.dd: Likewise.
    
    2016-10-11  Nick Clifton  <nickc@redhat.com>
    
    	PR ld/20535
    	* emultempl/elf32.em (_search_needed): Add support for pseudo
    	environment variables supported by ld.so.  Namely $ORIGIN, $LIB
    	and $PLATFORM.
    	* configure.ac: Add getauxval to list AC_CHECK_FUNCS list.
    	* config.in: Regenerate.
    	* configure: Regenerate.
    
    2016-10-11  Alan Modra  <amodra@gmail.com>
    
    	* ldlang.c (lang_do_assignments_1): Descend into output section
    	statements that do not yet have bfd sections.  Set symbol section
    	temporarily for symbols defined in such statements to the undefined
    	section.  Don't error on data or reloc statements until final phase.
    	* ldexp.c (exp_fold_tree_1 <etree_assign>): Handle bfd_und_section
    	in expld.section.
    	* testsuite/ld-mmix/bpo-10.d: Adjust.
    	* testsuite/ld-mmix/bpo-11.d: Adjust.
    
    2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* emulparams/elf64_s390.sh: Move binary start to 16M.
    	* testsuite/ld-s390/tlsbin_64.dd: Adjust testcases accordingly.
    	* testsuite/ld-s390/tlsbin_64.rd: Likewise.
    
    2016-10-07  Alan Modra  <amodra@gmail.com>
    
    	* ldexp.c (MAX): Define.
    	(exp_unop, exp_binop, exp_trinop): Alloc at least enough for
    	etree_type.value.
    
    2016-10-07  Alan Modra  <amodra@gmail.com>
    
    	* testsuite/lib/ld-lib.exp (is_generic_elf): New, extracted from..
    	* testsuite/ld-elf/elf.exp: ..here.
    
    2016-10-06  Ludovic Court?s  <ludo@gnu.org>
    
    	* emulparams/elf32bmipn32-defs.sh: Shift quote of
    	"x$EMULATION_NAME" to the left to work around
    	<http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-007>.
    
    2016-10-06  Alan Modra  <amodra@gmail.com>
    
    	* lexsup.c: Spell fall through comments consistently and add
    	missing fall through comments.
    
    2016-10-06  Alan Modra  <amodra@gmail.com>
    
    	* plugin.c (asymbol_from_plugin_symbol): Avoid compiler warning
    	by adding return.
    
    2016-10-04  Alan Modra  <amodra@gmail.com>
    
    	* ld.texinfo (Expression Section): Update result of arithmetic
    	expressions.
    	* ldexp.c (arith_result_section): New function.
    	(fold_binary): Use it.
    
    2016-10-04  Alan Modra  <amodra@gmail.com>
    
    	* ldexp.c (exp_value_fold): New function.
    	(exp_unop, exp_binop, exp_trinop): Use it.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	* scripttempl/v850.sc: Don't reference __ctbp, __ep, __gp when
    	not relocating.
    	* scripttempl/v850_rh850.sc: Likewise.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	PR ld/20528
    	* testsuite/ld-elf/pr20528a.d: xfail generic elf targets.  Allow
    	multiple .text sections for hppa-linux.
    	* testsuite/ld-elf/pr20528b.d: Likewise.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	* ldmain.c (default_bfd_error_handler): New function pointer.
    	(ld_bfd_error_handler): New function.
    	(main): Arrange to call it on bfd errors/warnings.
    	(ld_bfd_assert_handler): Enable tail call.
    
    2016-09-30  Alan Modra  <amodra@gmail.com>
    
    	* ldlang.c (ignore_bfd_errors): Update params.
    
    2016-09-29  H.J. Lu  <hongjiu.lu@intel.com>
    
    	PR ld/20528
    	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
    	merge 2 sections with different SHF_EXCLUDE.
    	* testsuite/ld-elf/pr20528a.d: New file.
    	* testsuite/ld-elf/pr20528a.s: Likewise.
    	* testsuite/ld-elf/pr20528b.d: Likewise.
    	* testsuite/ld-elf/pr20528b.s: Likewise.
    
    2016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	PR ld/20608
    	* testsuite/ld-arm/arm-elf.exp: Handle new testcase.
    	* testsuite/ld-arm/farcall-mixed-app2.d: New file.
    	* testsuite/ld-arm/farcall-mixed-app2.r: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.s: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.
    
    2016-09-26  Vlad Zakharov  <vzakhar@synopsys.com>
    
    	* Makefile.in: Regenerate.
    	* configure: Likewise.
    
    2016-09-26  Alan Modra  <amodra@gmail.com>
    
    	* testsuite/ld-powerpc/attr-gnu-4-4.s: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-14.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-24.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-34.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-41.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-32.d: Adjust expected warning.
    	* testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-01.d: Adjust expected output.
    	* testsuite/ld-powerpc/attr-gnu-4-02.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-03.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-10.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-11.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-20.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-22.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-33.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-8-11.d: Likewise.
    	* testsuite/ld-powerpc/powerpc.exp: Don't run deleted tests.
    
    2016-09-23  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
    
    	PR ld/20595
    	* testsuite/ld-arm/unwind-4.d: Add -q option to linker command
    	line and -r option to objdump command line.  Match emitted relocs
    	to make sure that superflous relocs are not generated.
    
    2016-09-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* emulparams/elf64_s390.sh: Change TEXT_START_ADDR to 256MB.
    	* testsuite/ld-s390/tlsbin_64.dd: Adjust testcase accordingly.
    	* testsuite/ld-s390/tlsbin_64.rd: Likewise.
    
    2016-09-22  Nick Clifton  <nickc@redhat.com>
    
    	* emultempl/elf32.em (_try_needed): In verbose mode, report failed
    	attempts to find a needed library.
    
    2016-09-21  Richard Sandiford  <richard.sandiford@arm.com>
    
    	* testsuite/ld-aarch64/emit-relocs-28.d: Expect spaces after ","
    	in addresses.
    	* testsuite/ld-aarch64/emit-relocs-301-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-301.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-302-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-302.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-310-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-310.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-313.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-515.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-516.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-531.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-532.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-533.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-534.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-535.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-536.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-537.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-538.d: Likewise.
    	* testsuite/ld-aarch64/erratum835769.d: Likewise.
    	* testsuite/ld-aarch64/erratum843419.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
    	* testsuite/ld-aarch64/gc-plt-relocs.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-21.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7c.d: Likewise.
    	* testsuite/ld-aarch64/tls-desc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-desc-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-desc.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-ie-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-all.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gd-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-large-desc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-tiny-desc.d: Likewise.
    	* testsuite/ld-aarch64/tls-tiny-gd.d: Likewise.
    
    gas	* gas/arm/tls.d: Adjust output to match change in objdump.

commit 199fa1b7089d7f7438b087fa30504ea5a590f561
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Oct 11 12:04:42 2016 +0100

    Add support to the static linker for the tokens accepted by the dynamic linker when resolving search paths.
    
    	PR ld/20535
    	* emultempl/elf32.em (_search_needed): Add support for pseudo
    	environment variables supported by ld.so.  Namely $ORIGIN, $LIB
    	and $PLATFORM.
    	* configure.ac: Add getauxval to list AC_CHECK_FUNCS list.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 93562a343c26f67d2bd0e93cceb18a0a793087c2
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Oct 11 11:24:44 2016 +0100

    [AArch64] PR target/20666, fix wrong encoding of new introduced BFC pseudo
    
    opcode/
    	PR target/20666
    	* aarch64-asm.c (convert_bfc_to_bfm): Fix dest index.
    
    gas/
    	* testsuite/gas/aarch64/alias-2.d: Update expected results.

commit f02cb058822459ea29a9fdaa928c2623df435908
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Oct 11 18:13:04 2016 +1030

    Always descend into output section statements in lang_do_assignments
    
    See https://sourceware.org/ml/binutils/2016-07/msg00091.html
    This patch stop --gc-sections elf_gc_sweep_symbol localizing symbols
    that ought to remain global.
    
    The difficulty with always descending into output section statements
    is that symbols defined by the script in such statements don't have
    a bfd section when lang_do_assignments runs early in the link process.
    There are two approaches to curing this problem.  Either we can
    create the bfd section early, or we can use a special section.  This
    patch takes the latter approach and uses bfd_und_section.  (Creating
    bfd sections early results in changed output section order, and thus
    lots of testsuite failures.  You can't create all output sections
    early to ensure proper ordering as KEEP then stops empty sections
    from being stripped.)
    
    The wrinkle with this approach is that some code that runs at
    gc-sections time needs to be made aware of the odd defined symbols
    using bfd_und_section.
    
    bfd/
    	* elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
    	defined temporarily with bfd_und_section.
    	* elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
    	* elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
    	symbols with bfd_und_section.
    ld/
    	* ldlang.c (lang_do_assignments_1): Descend into output section
    	statements that do not yet have bfd sections.  Set symbol section
    	temporarily for symbols defined in such statements to the undefined
    	section.  Don't error on data or reloc statements until final phase.
    	* ldexp.c (exp_fold_tree_1 <etree_assign>): Handle bfd_und_section
    	in expld.section.
    	* testsuite/ld-mmix/bpo-10.d: Adjust.
    	* testsuite/ld-mmix/bpo-11.d: Adjust.

commit 3b202c10808fa17200aaeb8eb9935d94e622e671
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Oct 11 00:00:21 2016 +0000

    Automatic date update in version.in

commit 82057c771e4338fd47d1ce570f29040186c51f9b
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Oct 10 17:09:03 2016 +0200

    S/390: Move binary start to 16M.
    
    Turned out that by moving the binary start to 256M I've hit a case with
    potentially a lot of aliasing in the branch target buffer between
    binaries and shared libs.  So moving on.
    
    Tested on s390x. No regressions.
    
    ld/ChangeLog:
    
    2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* emulparams/elf64_s390.sh: Move binary start to 16M.
    	* testsuite/ld-s390/tlsbin_64.dd: Adjust testcases accordingly.
    	* testsuite/ld-s390/tlsbin_64.rd: Likewise.

commit 668df12dd33d946d2c8dc2084e8a928d1184b2cb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 10 14:49:00 2016 +0100

    bfd/ChangeLog: Add missing PR ld/19908 reference

commit 969b385b5f7fddb1785b1f5d90de290aa264b1ee
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Oct 10 14:06:35 2016 +0200

    MIPS64: Adjust cfi* testcases.
    
    The CFI* testcases fail on MIPS64 because the augmentation string does
    not match the regexp. This is because MIPS64 doesn't use the default of
    4 for DWARF2_FDE_RELOC_SIZE which ends up as "b" in the augmentation
    string. MIPS64 uses the address size which is 8 resulting in "c".
    
    Adding c to the regexp fixes a couple of them. Others also need
    adjustments in the FDE header lines due to different
    sizes/offsets.
    
    gas/ChangeLog:
    
    2016-10-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* testsuite/gas/cfi/cfi-common-1.d: Adjust regexps for mips64.
    	* testsuite/gas/cfi/cfi-common-2.d: Likewise.
    	* testsuite/gas/cfi/cfi-common-3.d: Likewise.
    	* testsuite/gas/cfi/cfi-common-4.d: Likewise.
    	* testsuite/gas/cfi/cfi-common-5.d: Likewise.
    	* testsuite/gas/cfi/cfi-common-7.d: Likewise.
    	* testsuite/gas/cfi/cfi-common-8.d: Likewise.
    	* testsuite/gas/cfi/cfi-common-9.d: Likewise.
    	* testsuite/gas/cfi/cfi-mips-1.d: Likewise.

commit a1078bea751d48e8846b91542d91647f1e0aed8d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Oct 10 11:11:25 2016 +0100

    Share enum arm_breakpoint_kinds
    
    This patch shares "enum arm_breakpoint_kinds", and use ARM_BP_KIND_THUMB2
    in GDB.
    
    gdb:
    
    2016-10-10  Yao Qi  <yao.qi@linaro.org>
    
    	* arch/arm.h (enum arm_breakpoint_kinds): New.
    	* arm-tdep.c (arm_remote_breakpoint_from_pc): Use
    	ARM_BP_KIND_THUMB2.
    
    gdb/gdbserver:
    
    2016-10-10  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-aarch32-low.c (enum arm_breakpoint_kinds): Remove.

commit 97ce08cb8071bf9a8df6c99cdf8e9fbf1911f3f5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Oct 10 10:32:46 2016 +0100

    Rename 'arch' by 'gdbarch' in m32c_gdbarch_init
    
    This patch renames local 'arch' by 'gdbarch' in m32c_gdbarch_init, so
    that I can use macros in the following patch.
    
    gdb:
    
    2016-10-10  Yao Qi  <yao.qi@linaro.org>
    
    	* m32c-tdep.c (m32c_gdbarch_init): Rename local 'arch' by
    	'gdbarch'.

commit ff12a6593a1675aa9ba5340aa2984af19cf8966c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Oct 10 10:28:30 2016 +0100

    Remove v850_dbtrap_breakpoint_from_pc
    
    v850 has two functions to install to gdbarch_breakpoint_from_pc,
    and it selects one according to info.bfd_arch_info->mach.  However,
    we can select the kind/length of breakpoint instruction inside
    v850_breakpoint_from_pc by gdbarch_bfd_arch_info (gdbarch)->mach.
    This patch is to do that, and remove v850_dbtrap_breakpoint_from_pc.
    
    gdb:
    
    2016-08-30  Yao Qi  <yao.qi@linaro.org>
    
    	* v850-tdep.c (v850_breakpoint_from_pc): Use the right
    	breakpoint instruction.
    	(v850_dbtrap_breakpoint_from_pc): Remove.
    	(v850_gdbarch_init): Update.

commit 7b3860278cb1543774294cb07c38c15b813bc70a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Oct 10 00:00:21 2016 +0000

    Automatic date update in version.in

commit 43b831cb453921462b3a296e9796837cd71c1cde
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Oct 9 00:00:25 2016 +0000

    Automatic date update in version.in

commit 49d06418ada11004ca1cdc0ec5847358e83fc67a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Oct 8 19:47:09 2016 -0400

    ui-out.c: Remove unused parameter to push_level
    
    The parameter "id" is unused.
    
    gdb/ChangeLog:
    
    	* ui-out.c (push_level): Remove "id" parameter.
    	(ui_out_begin): Update call.

commit b6f80bb873981d21a00960ea372046b0424a553a
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Oct 8 13:49:00 2016 +1030

    Auto-generated dependencies for rx-parse.o and rl78-parse.o
    
    I noticed a while ago that the rx-elf gas gprel test regressed for no
    apparent reason.  It turns out that the problem was rx-parse.y using
    BFD_RELOC_RX_* values, which may change when other targets add new
    relocs.  If rx-parse.o doesn't depend on bfd.h, it won't be recompiled.
    
    	* Makefile.am (EXTRA_as_new_SOURCES): Add config/rl78-parse.y and
    	config/rx-parse.y.  Move config/bfin-parse.y.
    	(bfin-parse.@OBJEXT@, rl78-parse.@OBJEXT@, rx-parse.@OBJEXT@): Delete.
    	($(srcdir)/config/rl78-defs.h): New rule.
    	* Makefile.in: Regenerate.

commit 9722da93c589ee627e8d4388943717cbe4ba00ca
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Oct 8 00:00:23 2016 +0000

    Automatic date update in version.in

commit 1a30700100988c8322e43209c8c853a371c24403
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Fri Oct 7 10:18:36 2016 -0700

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

commit 769553e65f6ea5829edab1e70fd54b058435d85f
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Oct 7 22:54:45 2016 +1030

    Fold arithmetic integer expressions fallout
    
    	* ldexp.c (MAX): Define.
    	(exp_unop, exp_binop, exp_trinop): Alloc at least enough for
    	etree_type.value.

commit 362c0c4d9cc9f320d1e85755404879a13ebed91a
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Oct 7 10:55:56 2016 +0100

    [AArch64] PR target/20667, fix disassembler for the "special" optional SYS_Rt operand for "ic"/"tlbi"
    
    gas/
    	PR target/20667
    	* testsuite/gas/aarch64/sys-rt-reg.s: Test source for instructions
    	using SYS_Rt reg.
    	* testsuite/gas/aarch64/sys-rt-reg.d: New testcase.
    
    opcodes/
    	PR target/20667
    	* aarch64-opc.c (aarch64_print_operand): Always print operand if
    	it's available.

commit 1d0e042a8321cca82cce521afd276a8494385ae3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Oct 7 10:24:12 2016 +0100

    Set regdir in tdesc-regs.exp or arm
    
    0a69eedb (Clean up the XML files for ARM) moves arm-*.xml files to
    arm/ directory, so need update gdb.xml/tdesc-regs.exp accordingly.
    
    gdb/testsuite:
    
    2016-10-07  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.xml/tdesc-regs.exp: Set regdir to "arm/".

commit 68dadef54c216f7ec75c27d74193897b18c5f9ab
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Jun 20 11:12:14 2016 +0200

    python: accept address and explicit locations in gdb.decode_line
    
    The gdb.decode_line python function is documented to support the same location
    expressions as the "break" command.  It currently expects a linespec location.
    
    Instead of creating a linespec location directly, create the location via
    string_to_event_location_basic.

commit 50e03d47b77d5730f96f6b6bb66187654e66c797
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 08:44:50 2016 +0930

    Pass link_info to _bfd_merge_private_bfd_data
    
    Most BFD linker functions take a bfd_link_info param, which reinforces
    the fact that they are linker functions and allow access to linker
    callbacks, eg. einfo for printing errors.  I was going to use einfo
    for --fatal-warnings support before I decided a better way was the
    patch commit 4519d071.
    
    bfd/
    	* targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
    	obfd param with struct bfd_link_info param.  Update all callers.
    	* linker.c (bfd_merge_private_bfd_data): Likewise.
    	(_bfd_generic_verify_endian_match): Likewise.
    	* aoutf1.h (sunos_merge_private_bfd_data): Likewise.
    	* coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
    	* elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
    	* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
    	(_bfd_elf_merge_object_attributes): Likewise.
    	* elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
    	* elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
    	* elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
    	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
    	(elf32_arm_merge_private_bfd_data): Likewise.
    	* elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
    	* elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
    	* elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
    	* elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
    	* elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
    	* elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
    	* elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
    	* elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
    	* elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
    	* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
    	* elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
    	* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
    	* elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
    	* elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
    	* elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
    	(elf32_msp430_merge_private_bfd_data): Likewise.
    	* elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
    	* elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
    	* elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
    	* elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
    	* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
    	(ppc_elf_merge_obj_attributes): Likewise.
    	(ppc_elf_merge_private_bfd_data): Likewise.
    	* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
    	* elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
    	* elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
    	* elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
    	(elf32_score_merge_private_bfd_data): Likewise.
    	* elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
    	* elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
    	* elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
    	* elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
    	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
    	* elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
    	(elf32_tic6x_merge_private_bfd_data): Likewise.
    	* elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
    	* elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
    	* elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
    	* elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
    	* elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
    	* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
    	* elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
    	* elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
    	* elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
    	* elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
    	* elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
    	(mips_elf_merge_obj_attributes): Likewise.
    	(_bfd_mips_elf_merge_private_bfd_data): Likewise.
    	* elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
    	* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
    	* elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
    	* elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
    	* elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
    	* elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
    	* libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    ld/
    	* ldlang.c (lang_check): Update bfd_merge_private_bfd_data call.

commit 1047201fd0f402428bb3331638a198413f97f476
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Oct 7 10:58:35 2016 +1030

    bfd_merge_private_bfd_data tidy
    
    bfd_merge_private_bfd_data and _bfd_generic_verify_endian_match are
    linker functions, so move them to linker.c.
    
    bfd/
    	* Makefile.am (LIBBFD_H_FILES): Update.
    	* doc/Makefile.am (LIBBFD_H_DEP): Likewise.
    	* cpu-sh.c (sh_merge_bfd_arch): Move to..
    	* elf32-sh.c: ..here, and make static.
    	* elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
    	error.
    	* elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
    	_bfd_generic_verify_endian_match.
    	* elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
    	(bfd_elf32_bfd_merge_private_bfd_data): Define as
    	_bfd_generic_verify_endian_match.
    	* elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
    	boolean == FALSE.
    	* elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
    	(bfd_elf32_bfd_merge_private_bfd_data): Don't define.
    	* elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
    	* libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
    	* libbfd.c (_bfd_generic_verify_endian_match): Move to..
    	* linker.c: ..here, and make internal.
    	* bfd.c (bfd_merge_private_bfd_data): Move to..
    	* linker.c: ..here.
    	* Makefile.in: Regenerate.
    	* doc/Makefile.in: Regenerate.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    opcodes/
    	* sh-opc.h (sh_merge_bfd_arch): Delete prototype.

commit b62b1f7143c70caf5a14bd9684bbe50f51db706f
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jul 25 12:06:52 2016 +0930

    Add is_generic_elf to ld/ld-lib.exp
    
    	* testsuite/lib/ld-lib.exp (is_generic_elf): New, extracted from..
    	* testsuite/ld-elf/elf.exp: ..here.

commit fa549b9484c9ce54fd7528bbf8db5e4b0a94510a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Oct 7 00:00:28 2016 +0000

    Automatic date update in version.in

commit 1fb77080fd74d11c0dbccf812ed98ffa0b3edc4e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Sep 27 16:21:48 2016 -0400

    Consolidate API of target_supports_multi_process
    
    This simple commit consolidates the API of
    target_supports_multi_process.  Since both GDB and gdbserver use the
    same function prototype, all that was needed was to move create this
    prototype on gdb/target/target.h and turn the macros declared on
    gdb/{,gdbserver/}target.h into actual functions.
    
    Regtested (clean pass) on the BuildBot.
    
    gdb/ChangeLog:
    2016-10-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* target.c (target_supports_multi_process): New function, moved
    	from...
    	* target.h (target_supports_multi_process): ... here.  Remove
    	macro.
    	* target/target.h (target_supports_multi_process): New prototype.
    
    gdb/gdbserver/ChangeLog:
    2016-10-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* target.c (target_supports_multi_process): New function, moved
    	from...
    	* target.h (target_supports_multi_process): ... here.  Remove
    	macro.

commit ddb6d633875b76f9d772af901118233fc498253a
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 6 19:23:37 2016 +0100

    gdb: Remove some C compiler support leftovers
    
    Remove some __cplusplus checks, inline EXPORTED_CONST, and update some comments.
    
    gdb/ChangeLog:
    2016-10-06  Pedro Alves  <palves@redhat.com>
    
    	* cp-valprint.c (vtbl_ptr_name): Write "extern const" instead of
    	EXPORTED_CONST.
    	* stub-termcap.c: Remove __cplusplus checks.
    	* common/common-defs.h [!__cplusplus] (EXTERN_C, EXTERN_C_PUSH,
    	EXTERN_C_POP): Delete.
    	* common/common-exceptions.h (GDB_XCPT_SJMP): Update comments.
    	(GDB_XCPT) [!__cplusplus]: Delete.
    	(throw_exception, throw_exception_sjlj): Update comments.
    	* guile/guile-internal.h (as_a_scm_t_subr) [!__cplusplus]: Delete.
    	* guile/guile.c (extension_language_guile): Write "extern const"
    	instead of EXPORTED_CONST.
    	* features/feature_to_c.sh: Don't emit !__cplusplus code.  Write
    	"extern const" instead of EXPORTED_CONST.

commit 33fa2c6e1b1e63599156f7d79de8c0a6ea69c8af
Author: Doug Evans <dje@google.com>
Date:   Thu Oct 6 10:41:27 2016 -0700

    Fix gdb.Value->python conversion for large unsigned ints.
    
    gdb/ChangeLog:
    
    	* python/py-value.c (valpy_long): Handle unsigned values.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-value.exp (test_value_creation): Add test for large
    	unsigned 64-bit value.

commit d73f9c4bab1a0ec82007f9d36b8a7bf5d34f7bf6
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Oct 6 13:01:37 2016 -0400

    frame.h: Forward-declare struct ui_out
    
    Fixes this failure when building in C mode.  I think it's relevant for master
    as well, since it's a good practice to include (or forward-declare) what you
    use.
    
    In file included from ../../binutils-gdb/gdb/gdbarch.h:38:0,
                     from ../../binutils-gdb/gdb/defs.h:653,
                     from ../../binutils-gdb/gdb/dictionary.c:23:
    ../../binutils-gdb/gdb/frame.h:710:48: warning: ‘struct ui_out’ declared inside parameter list will not be visible outside of this definition or declaration
     extern void print_stack_frame_to_uiout (struct ui_out *uiout,
    
    gdb/ChangeLog:
    
    	* frame.h: Forward-declare struct ui_out.

commit 9c37b5aed98e5996a9777a366bfcc371c0e1a92d
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Oct 5 08:44:34 2016 -0600

    Remove Java support
    
    This patch removes the Java support from gdb.  gcj has not seen much
    development or use for years now, and was recently removed from GCC.
    This patch changes gdb to follow; in the unlikely event that there are
    still users using gcj, they can continue to use an older gdb to debug.
    Or, they can debug in C++ mode.
    
    Built and regtested on x86-64 Fedora 24.
    
    2016-10-06  Tom Tromey  <tom@tromey.com>
    
    	* MAINTAINERS: Remove Java test maintainer.
    	* varobj.h (java_varobj_ops): Don't declare.
    	* valprint.h (struct value_print_options)
    	<pascal_static_field_print>: Update comment.
    	* utils.c (producer_is_gcc): Remove java reference.
    	* symtab.h (struct general_symbol_info): Remove java references.
    	(SYMBOL_SEARCH_NAME): Likewise.
    	* objfiles.c (allocate_objfile): Update comment.
    	* linespec.c (find_linespec_symbols): Remove java references.
    	* gnu-v3-abi.c (gnuv3_rtti_type, gnuv3_baseclass_offset): Remove
    	java references.
    	* gdbtypes.h (struct cplus_struct_type) <is_java>: Remove.
    	(TYPE_CPLUS_REALLY_JAVA): Remove.
    	* c-varobj.c (enum vsections): Update comment.
    	* symtab.c (symbol_set_language, symbol_set_names)
    	(symbol_natural_name, symbol_demangled_name)
    	(demangle_for_lookup, symbol_matches_domain)
    	(default_make_symbol_completion_list_break_on_1): Remove java
    	references.
    	(JAVA_PREFIX, JAVA_PREFIX_LEN): Remove.
    	* psymtab.c (match_partial_symbol, psymtab_search_name)
    	(lookup_partial_symbol): Remove java references.
    	* dwarf2read.c (find_slot_in_mapped_hash): Remove java references.
    	(add_partial_symbol, dwarf2_compute_name, dwarf2_physname)
    	(dwarf2_add_member_fn, is_vtable_name, read_structure_type)
    	(process_structure_scope, read_subroutine_type)
    	(read_subrange_type, load_partial_dies)
    	(new_symbol_full, determine_prefix, typename_concat)
    	(dwarf2_name): Remove java references.
    	(set_cu_language): Treat Java as C++.
    	* c-typeprint.c (c_type_print_args): Remove java reference.
    	* defs.h (enum language) <language_java>: Remove.
    	* Makefile.in (SFILES, HFILES_NO_SRCDIR, COMMON_OBS, YYFILES)
    	(YYOBJ, local-maintainer-clean): Don't mention java files.
    	* jv-exp.y, jv-lang.c, jv-lang.h, jv-typeprint.c, jv-valprint.c,
    	jv-varobj.c: Remove.
    
    2016-10-06  Tom Tromey  <tom@tromey.com>
    
    	* guile.texi (Types In Guile): Remove Java mentions.
    	* python.texi (Types In Python): Remove Java mentions.
    	* gdb.texinfo (Address Locations, Supported Languages)
    	(Index Section Format): Remove Java mentions.
    
    2016-10-06  Tom Tromey  <tom@tromey.com>
    
    	* gdb.compile/compile.exp: Change java tests to rust.
    	* gdb.base/setshow.exp: Change java tests to rust.
    	* gdb.base/default.exp: Remove java from language list.
    	* README (Examples): Update language example.
    	* gdb.python/py-lookup-type.exp (test_lookup_type): Remove java
    	test.
    	* lib/gdb.exp (skip_java_tests): Remove.
    	* lib/java.exp: Remove.
    	* gdb.java: Remove.

commit 78b86327b5301231005b08a7c589b2b58e6b4322
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Oct 6 16:51:18 2016 +0100

    mips-tdep: Make FCRs always 32-bit
    
    Fix a regression from commit f8b73d13b7ca ("Target-described register
    support for MIPS"),
    <https://sourceware.org/ml/gdb-patches/2007-05/msg00340.html>,
    <https://sourceware.org/ml/gdb-patches/2007-06/msg00256.html>, which
    caused Floating Point Control Registers (FCRs) to be shown as 64-bit
    with 64-bit targets.
    
    This came from the legacy register format where all raw registers
    matched the width of the architecture regardless of their actual size.
    The correct size was then set in `mips_register_type' for cooked
    registers presented to the user, which in the case of FCRs meant the
    cooked size was always forced to 32 bits, reflecting their actual
    hardware size, even though the raw format carried them in 64-bit
    quantities on 64-bit targets.  The upper 32 bits carried in the raw FCR
    format have always been don't-cares, not actually retrieved from
    hardware and never written back.
    
    With the introduction of XML register descriptions the layout of
    previously defined raw registers has been preserved, so as to keep
    existing register handling code unchanged and make it easier for GDB and
    `gdbserver' to interact with each other whether neither, either or both
    parties talking over RSP support XML register descriptions.  For the
    XML-described case however `mips_register_type' is not used in raw to
    cooked register conversion, so any special cases coded there are not
    taken into account.
    
    Instead a new function, `mips_pseudo_register_type', has been introduced
    to handle size conversion, however lacking the special case for FCRs for
    the Linux and the now defunct IRIX target.  The correct size has been
    maintained for embedded targets however, due to the bundling of FCRs
    with the embedded registers under the `rawnum >= MIPS_EMBED_FP0_REGNUM +
    32' condition.
    
    Add the missing case to `mips_pseudo_register_type' then, referring to
    the FCR indices explicitly, and observing that between
    `MIPS_EMBED_FP0_REGNUM + 32' and `MIPS_FIRST_EMBED_REGNUM' there is an
    unused register slot whose contents are ignored so with the removal of
    embedded FCRs from under that condition we don't have to care about it
    and we can refer to the embedded registers starting from
    MIPS_FIRST_EMBED_REGNUM instead.
    
    Add a test case too so that we have means to check automatically that
    the correct user-visible size of FCRs is maintained.
    
    	gdb/
    	* mips-tdep.c (mips_pseudo_register_type): Make FCRs always
    	32-bit.
    
    	gdb/testsuite/
    	* gdb.arch/mips-fcr.exp: New test.
    	* gdb.arch/mips-fcr.c: Source for the new test.

commit a6912260f813b1493efefd27cbcb6a73d933accc
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Oct 6 16:19:38 2016 +0100

    mips-tdep: Rearrange comments in `mips_pseudo_register_type'
    
    Rearrange comments throughout `mips_pseudo_register_type', placing them
    ahead the condtionals they apply to consistently.
    
    	gdb/
    	* mips-tdep.c (mips_pseudo_register_type): Rearrange comments
    	throughout.

commit 08ec958fe088c7a226bb35bd2993254ff21228a3
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Sep 28 12:27:41 2016 +0200

    [ARC] Fix parsing leave_s and enter_s mnemonics.
    
    gas/
    2016-10-06  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/leave_enter.d: New file.
    	* testsuite/gas/arc/leave_enter.s: Likewise.
    	* testsuite/gas/arc/regnames.d: Likewise.
    	* testsuite/gas/arc/regnames.s: Likewise.
    	* config/tc-arc.c (arc_parse_name): Don't match reg names against
    	confirmed symbol names.

commit 7470adbb872d5363580eb5e0a8dbb231c286ee4c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Oct 6 15:12:54 2016 +0100

    testsuite: solib-disc: Use `standard_output_file'
    
    Correct a commit 2151ccc56c74 ("Always organize test artifacts in a
    directory hierarchy") regression causing:
    
    Running .../gdb/testsuite/gdb.base/solib-disc.exp ...
    gdb compile failed, Assembler messages:
    Fatal error: can't create .../gdb/testsuite/gdb.base/so-disc-shr.c.o: No such file or directory
    
    by using `standard_output_file' to construct output file names
    throughout.
    
    	gdb/testsuite/
    	* gdb.base/solib-disc.exp: Use `standard_output_file'
    	throughout.

commit 249471c08ad2ba2c325d691753b327a108138c89
Author: Ludovic Court?s <ludo@gnu.org>
Date:   Thu Oct 6 13:49:09 2016 +0100

    Add workaround for bash 4.2 scripting problem.
    
    	* emulparams/elf32bmipn32-defs.sh: Shift quote of
    	"x$EMULATION_NAME" to the left to work around
    	<http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-007>.

commit c620c3e48d01e70c435c146905cab1a50382ce89
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Fri Jul 22 10:01:19 2016 +0200

    stack: fix gdb.dwarf2/dw2-undefined-ret-addr.exp regression
    
    Commit a038fa3e14a4 stack: check frame_unwind_caller_id adds a frame_id check to
    frame_info and treats a missing frame_id as NOT_AVAILABLE_ERROR.  This causes a
    regression in gdb.dwarf2/dw2-undefined-ret-addr.exp.
    
    Treat a missing frame_id as OPTIMIZED_OUT_ERROR instead.
    
    See also https://sourceware.org/ml/gdb-patches/2016-07/msg00273.html.

commit fcddde94ee566423cacf455a86e2e797b11d1cee
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 6 22:49:08 2016 +1030

    -Wimplicit-fallthrough dodgy fixes
    
    The comment logically belongs inside the preprocessor conditional,
    but gcc's -Wimplicit-fallthrough loses track of it.  Revert when/if
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817 is fixed.
    
    	* app.c (do_scrub_chars): Move fall through comment.
    	* expr.c (operand): Likewise.

commit b781683b71a1fc70c4d925ebe1bc943203dd7419
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 6 20:41:13 2016 +1030

    Add fall through comment to source in cpu/
    
    I edited opcodes/mep-asm.c in 1a0670f3 without noticing it was a
    generated file.
    
    	* mep.opc (expand_string): Add fall through comment.

commit c25aa1e114af2be29bb8b69641673ec2baa8c6bd
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 6 15:54:38 2016 +1030

    [GOLD] two more fall-through comments
    
    	* powerpc.cc (Target_powerpc::Relocate::relocate): Add fall
    	through comment.
    	* tilegx.cc (Target_tilegx::Relocate::relocate): Likewise.

commit 4a556533cf0256613c412b9627fa8b8edfa7674a
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 6 12:53:52 2016 +0100

    Fix PR11094: JIT breakpoint is not properly recreated on reruns
    
    Even though this was supposedly in the gdb 7.2 timeframe, the testcase
    in PR11094 crashes current GDB with a segfault:
    
      Program received signal SIGSEGV, Segmentation fault.
      0x00000000005ee894 in event_location_to_string (location=0x0) at
      src/gdb/location.c:412
      412       if (EL_STRING (location) == NULL)
      (top-gdb) bt
      #0  0x00000000005ee894 in event_location_to_string (location=0x0) at
      src/gdb/location.c:412
      #1  0x000000000057411a in print_breakpoint_location (b=0x18288e0, loc=0x0) at
      src/gdb/breakpoint.c:6201
      #2  0x000000000057483f in print_one_breakpoint_location (b=0x18288e0,
      loc=0x182cf10, loc_number=0, last_loc=0x7fffffffd258, allflag=1)
          at src/gdb/breakpoint.c:6473
      #3  0x00000000005751e1 in print_one_breakpoint (b=0x18288e0,
      last_loc=0x7fffffffd258, allflag=1) at
      src/gdb/breakpoint.c:6707
      #4  0x000000000057589c in breakpoint_1 (args=0x0, allflag=1, filter=0x0) at
      src/gdb/breakpoint.c:6947
      #5  0x0000000000575aa8 in maintenance_info_breakpoints (args=0x0, from_tty=0)
      at src/gdb/breakpoint.c:7026
      [...]
    
    This is GDB trying to print the location spec of the JIT event
    breakpoint, but that's an internal breakpoint without one.
    
    If I add a NULL check, then we see that the JIT breakpoint is now
    pending (because its location has shlib_disabled set):
    
      (gdb) maint info breakpoints
      Num     Type           Disp Enb Address            What
      [...]
      -8      jit events     keep y   <PENDING>           inf 1
      [...]
    
    But that's incorrect.  GDB should have managed to recreate the JIT
    breakpoint's location for the second run.  So the problem is
    elsewhere.
    
    The problem is that if the JIT loads at the same address on the second
    run, we never recreate the JIT breakpoint, because we hit this early
    return:
    
      static int
      jit_breakpoint_re_set_internal (struct gdbarch *gdbarch,
    				  struct jit_program_space_data *ps_data)
      {
        [...]
        if (ps_data->cached_code_address == addr)
          return 0;
    
        [...]
          delete_breakpoint (ps_data->jit_breakpoint);
        [...]
        ps_data->jit_breakpoint = create_jit_event_breakpoint (gdbarch, addr);
    
    Fix this by deleting the breakpoint and discarding the cached code
    address when the objfile where the previous JIT breakpoint was found
    is deleted/unloaded in the first place.
    
    The test that was originally added for PR11094 doesn't trip on this
    because:
    
      #1 - It doesn't test the case of the JIT descriptor's address _not_
           changing between reruns.
    
      #2 - And then it doesn't do "maint info breakpoints", or really
           anything with the JIT at all.
    
      #3 - and even then, to trigger the problem the JIT descriptor needs
           to be in a separate library, while the current test puts it in
           the main program.
    
    The patch extends the test to cover all combinations of these
    scenarios.
    
    gdb/ChangeLog:
    2016-10-06  Pedro Alves  <palves@redhat.com>
    
    	* jit.c (free_objfile_data): Delete the JIT breakpoint and clear
    	the cached code address.
    
    gdb/testsuite/ChangeLog:
    2016-10-06  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/jit-simple-dl.c: New file.
    	* gdb.base/jit-simple-jit.c: New file, factored out from ...
    	* gdb.base/jit-simple.c: ... this.
    	* gdb.base/jit-simple.exp (jit_run): Delete.
    	(build_jit): New proc.
    	(jit_test_reread): Recompile either the main program or the shared
    	library, depending on what is being tested.  Skip changing address
    	if caller wants to.  Compare before/after addresses.  If testing
    	standalone, explicitly load the binary.  Test "maint info
    	breakpoints".
    	(top level): Add "standalone vs shared lib" and "change address"
    	vs "same address" axes.

commit 5a122fbc307f35093b8fe038a8e6caa51b4d0dae
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 6 12:53:51 2016 +0100

    Fix a few gdb.base/jit-simple.exp problems
    
    I noticed that we sometimes get this:
    
      (gdb) print &__jit_debug_descriptor
      $1 = (struct jit_descriptor *) 0x601040 <__jit_debug_descriptor>
      (gdb) PASS: gdb.base/jit-simple.exp: blah 1
      [...]
      (gdb) run
      [...]
      Starting program: build/gdb/testsuite/outputs/gdb.base/jit-simple/jit-simple
      Unsupported JIT protocol version 4 in descriptor (expected 1)
    
      Breakpoint 2, main () at src/gdb/testsuite/gdb.base/jit-simple.c:36
      36        return 0;
      (gdb) print &__jit_debug_descriptor
      $2 = (struct jit_descriptor *) 0x601040 <__jit_debug_descriptor>
      (gdb) PASS: gdb.base/jit-simple.exp: blah 1
    
    All tests PASSed, but note the "Unsupported JIT protocol version 4"
    message.
    
    Also notice that "__jit_debug_descriptor" has the same address before
    and after the rerun, while the test is built in a way that should make
    that address change between runs.
    
    The test doesn't catch any of this because it doesn't compare
    before/after addresses.
    
    And then notice the "blah 1" test messages.  "blah" is clearly a WIP
    message, but it should be at least "blah 2" the second time.  :-)
    
    The reason this sometimes happens is that the test recompiles the
    program and expects gdb to reload it automaticallyt on "run".  However,
    if the original program and the new recompilation happen to be in the
    same second, then gdb does not realize that the binary needs to be
    reloaded.  (This is an old problem out of scope of this series.)  If
    that happens, then GDB ends up using the wrong symbols for the program
    that it spawns, reads the JIT descriptor out of the wrong address,
    finds garbage, and prints that "unsupported version" notice.
    
    Fix that in the same way gdb.base/reread.exp handles it -- by sleeping
    one second before recompiling.
    
    gdb/testsuite/ChangeLog:
    2016-10-06  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/jit-simple.exp (top level) Delete get_compiler_info
    	call.
    	(jit_run): Delete.
    	(jit_test_reread): Use with_test_prefix.  Reload the main binary
    	explicitly.  Compare the before/after addresses of the JIT
    	descriptor.

commit 6bd7996d3d45d9dfcbf695ec680fb43b5275ee89
Author: Tom Tromey <tromey@sourceware.org>
Date:   Thu Oct 6 12:51:47 2016 +0100

    Remove redundant assignment in gprof.
    
    	PR gprof/20656
    	* source.c (annotate_source): Delete redundant assignment to
    	new_line.

commit 3d3424e9a8d6ad56160b98bf6e223c0346164468
Author: Matthew Fortune <matthew.fortune@imgtec.com>
Date:   Thu Sep 29 11:13:46 2016 +0100

    Refine .cfi_sections check to only consider compact eh_frame
    
    The .cfi_sections directive can be safely used multiple times
    with different sections named at any time unless the compact form
    of exception handling is requested after CFI information has
    been emitted.  Only the compact form of CFI information changes
    the way in which CFI is generated and therefore cannot be
    retrospectively requested after generating CFI information.
    
    gas/
    
    	PR gas/20648
    	* dw2gencfi.c (dot_cfi_sections): Refine the check for
    	inconsistent .cfi_sections to only consider compact vs non
    	compact forms.
    	* testsuite/gas/cfi/cfi-common-9.d: New file.
    	* testsuite/gas/cfi/cfi-common-9.s: New file.
    	* testsuite/gas/cfi/cfi.exp: Run new test.

commit ee8da4b8396d9a74d27cb9bb0f3aa43d6d23b8ea
Author: Doug Evans <dje@google.com>
Date:   Thu Oct 6 12:12:33 2016 +0100

    Make "end" field in feature specs required again.
    
    Newer gdbservers may be talking to older gdbs,
    and older gdbs will flag a missing "end" as an error.
    So just make "end" required again, and for compatibility
    change the default field type to "bool".
    
    gdb/ChangeLog:
    2016-10-06  Doug Evans  <dje@google.com>
    
    	* features/aarch64-core.xml (cpsr_flags): Elide "type" and specify
    	"end" in all fields.
    	* features/aarch64.c: Regenerate.
    	* features/i386/32bit-mpx.xml (_bndcfgu): Specify type of "preserved"
    	and "enabled" fields. Correct size of "enabled" field.
    	* features/i386/64bit-mpx.xml (_bndcfgu): Specify type of "preserved"
    	and "enabled" fields.
    	* features/i386/i386-avx-mpx-linux.c: Regenerate.
    	* features/i386/i386-avx-mpx.c: Regenerate.
    	* features/i386/i386-avx512-linux.c: Regenerate.
    	* features/i386/i386-avx512.c: Regenerate.
    	* features/i386/i386-mpx-linux.c: Regenerate.
    	* features/i386/i386-mpx.c: Regenerate.
    	* features/arc-arcompact.c: Regenerate.
    	* features/arc-v2.c: Regenerate.
    	* xml-tdesc.c (tdesc_start_field): Require "end" spec.  Single bit
    	fields default to "bool" type.
    
    	Revert 2016-03-15  Doug Evans  <dje@google.com>
    	* features/i386/32bit-core.xml (i386_eflags): Remove "end" spec.
    	* features/i386/32bit-sse.xml (i386_eflags): Ditto.
    	* features/i386/64bit-core.xml (i386_eflags): Ditto.
    	* features/i386/64bit-sse.xml (i386_eflags): Ditto.
    	* features/i386/x32-core.xml (i386_eflags): Ditto.
    
    gdb/doc/ChangeLog:
    2016-10-06  Doug Evans  <dje@google.com>
    
    	* gdb.texinfo (Target Description Format): Update docs on "end"
    	field spec and field default type.
    
    gdb/testsuite/ChangeLog:
    2016-10-06  Doug Evans  <dje@google.com>
    
    	* gdb.xml/extra-regs.xml: Update, end field now required, default type
    	for single bitfields is bool.
    	* gdb.xml/tdesc-regs.exp: Ditto.

commit 3ac6b810d1e58fe10ee496fdb1ebd4ce050dc91c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Oct 6 00:00:20 2016 +0000

    Automatic date update in version.in

commit 1a0670f37442b7ae904932b347353046126b990c
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 5 18:17:02 2016 +1030

    -Wimplicit-fallthrough warning fixes
    
    Comment changes.
    
    bfd/
    	* coff-h8300.c: Spell fall through comments consistently.
    	* coffgen.c: Likewise.
    	* elf32-hppa.c: Likewise.
    	* elf32-ppc.c: Likewise.
    	* elf32-score.c: Likewise.
    	* elf32-score7.c: Likewise.
    	* elf64-ppc.c: Likewise.
    	* elfxx-aarch64.c: Likewise.
    	* elfxx-mips.c: Likewise.
    	* cpu-ns32k.c: Add missing fall through comments.
    	* elf-m10300.c: Likewise.
    	* elf32-arm.c: Likewise.
    	* elf32-avr.c: Likewise.
    	* elf32-bfin.c: Likewise.
    	* elf32-frv.c: Likewise.
    	* elf32-i386.c: Likewise.
    	* elf32-microblaze.c: Likewise.
    	* elf32-nds32.c: Likewise.
    	* elf32-ppc.c: Likewise.
    	* elf32-rl78.c: Likewise.
    	* elf32-rx.c: Likewise.
    	* elf32-s390.c: Likewise.
    	* elf32-sh.c: Likewise.
    	* elf32-tic6x.c: Likewise.
    	* elf64-ia64-vms.c: Likewise.
    	* elf64-ppc.c: Likewise.
    	* elf64-s390.c: Likewise.
    	* elf64-x86-64.c: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* ieee.c: Likewise.
    	* oasys.c: Likewise.
    	* pdp11.c: Likewise.
    	* srec.c: Likewise.
    	* versados.c: Likewise.
    opcodes/
    	* aarch64-opc.c: Spell fall through comments consistently.
    	* i386-dis.c: Likewise.
    	* aarch64-dis.c: Add missing fall through comments.
    	* aarch64-opc.c: Likewise.
    	* arc-dis.c: Likewise.
    	* arm-dis.c: Likewise.
    	* i386-dis.c: Likewise.
    	* m68k-dis.c: Likewise.
    	* mep-asm.c: Likewise.
    	* ns32k-dis.c: Likewise.
    	* sh-dis.c: Likewise.
    	* tic4x-dis.c: Likewise.
    	* tic6x-dis.c: Likewise.
    	* vax-dis.c: Likewise.
    binutils/
    	* dlltool.c: Spell fall through comments consistently.
    	* objcopy.c: Likewise.
    	* readelf.c: Likewise.
    	* dwarf.c: Add missing fall through comments.
    	* elfcomm.c: Likewise.
    	* sysinfo.y: Likewise.
    	* readelf.c: Likewise.  Also remove extraneous comments.
    gas/
    	* app.c: Add missing fall through comments.
    	* dw2gencfi.c: Likewise.
    	* expr.c: Likewise.
    	* config/tc-alpha.c: Likewise.
    	* config/tc-arc.c: Likewise.
    	* config/tc-arm.c: Likewise.
    	* config/tc-cr16.c: Likewise.
    	* config/tc-crx.c: Likewise.
    	* config/tc-dlx.c: Likewise.
    	* config/tc-h8300.c: Likewise.
    	* config/tc-hppa.c: Likewise.
    	* config/tc-i370.c: Likewise.
    	* config/tc-i386.c: Likewise.
    	* config/tc-i960.c: Likewise.
    	* config/tc-ia64.c: Likewise.
    	* config/tc-m68hc11.c: Likewise.
    	* config/tc-m68k.c: Likewise.
    	* config/tc-mep.c: Likewise.
    	* config/tc-metag.c: Likewise.
    	* config/tc-microblaze.c: Likewise.
    	* config/tc-mips.c: Likewise.
    	* config/tc-ns32k.c: Likewise.
    	* config/tc-rx.c: Likewise.
    	* config/tc-score.c: Likewise.
    	* config/tc-score7.c: Likewise.
    	* config/tc-sh.c: Likewise.
    	* config/tc-tic4x.c: Likewise.
    	* config/tc-vax.c: Likewise.
    	* config/tc-xstormy16.c: Likewise.
    	* config/tc-z80.c: Likewise.
    	* config/tc-z8k.c: Likewise.
    	* config/obj-elf.c: Likewise.
    	* config/tc-i386.c: Likewise.
    	* depend.c: Spell fall through comments consistently.
    	* config/tc-arm.c: Likewise.
    	* config/tc-d10v.c: Likewise.
    	* config/tc-i960.c: Likewise.
    	* config/tc-ia64.c: Likewise.
    	* config/tc-m68k.c: Likewise.
    	* config/tc-mcore.c: Likewise.
    	* config/tc-mep.c: Likewise.
    	* config/tc-ns32k.c: Likewise.
    	* config/tc-visium.c: Likewise.
    	* config/tc-xstormy16.c: Likewise.
    	* config/tc-z8k.c: Likewise.
    gprof/
    	* gprof.c: Add missing fall through comments.
    ld/
    	* lexsup.c: Spell fall through comments consistently and add
    	missing fall through comments.

commit 1e0f0b4d0191263e35d81a3670d56bf639be274a
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 5 16:44:07 2016 +1030

    -Wimplicit-fallthrough noreturn fixes
    
    binutils/
    	* cxxfilt.c (usage): Add ATTRIBUTE_NORETURN.
    	* elfedit.c (usage): Likewise.
    	* nm.c (usage): Likewise.
    	* objcopy.c (copy_usage, strip_usage): Likewise.
    	* srconv.c (show_usage): Likewise.
    	* strings.c (usage): Likewise.
    	* sysdump.c (show_usage): Likewise.
    	* srconv.c: Remove unneeded forward function declarations.
    	* strings.c: Likewise.
    	* sysdump.c: Likewise.
    gas/
    	* as.h (as_assert): Add ATTRIBUTE_NORETURN.

commit 2b804145796e948fa4c025c07eb201e700281e6b
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 5 16:52:24 2016 +1030

    -Wimplicit-fallthrough error fixes
    
    Well, not all are errors, but a little more substantive than just
    fiddling with comments.
    
    bfd/
    	* coffcode.h (coff_slurp_symbol_table): Revert accidental commit
    	made 2015-01-08.
    	* elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
    	* reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
    opcodes/
    	* arc-ext.c (create_map): Add missing break.
    	* msp430-decode.opc (encode_as): Likewise.
    	* msp430-decode.c: Regenerate.
    binutils/
    	* coffdump.c (dump_coff_where): Add missing break.
    	* stabs.c (stab_xcoff_builtin_type): Likewise.
    gas/
    	* config/tc-arc.c (find_opcode_match): Add missing break.
    	* config/tc-i960.c (get_cdisp): Likewise.
    	* config/tc-metag.c (parse_swap, md_apply_fix): Likewise.
    	* config/tc-mt.c (md_parse_option): Likewise.
    	* config/tc-nds32.c (nds32_apply_fix): Likewise.
    	* config/tc-hppa.c (pa_ip): Assert rather than testing last
    	condition of multiple if statements.
    	* config/tc-s390.c (s390_exp_compare): Return 0 on error.
    	* config/tc-tic4x.c (tic4x_operand_parse): Add as_bad and break
    	out of case rather than falling into next case.  Formatting.
    ld/
    	* plugin.c (asymbol_from_plugin_symbol): Avoid compiler warning
    	by adding return.

commit d8e9025191bc7b8ac1ffe28612a9015cd238f5b2
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Oct 5 15:40:11 2016 +1030

    [GOLD] -Wimplicit-fallthrough warning fixes
    
    	* aarch64.cc: Spell fall through comments as "// Fall through.".
    	* arm.cc: Likewise.
    	* mips.cc: Likewise.
    	* powerpc.cc: Likewise.
    	* s390.cc: Likewise.
    	* sparc.cc: Likewise.
    	* x86_64.cc: Likewise.
    	* powerpc.cc (Target_powerpc::Relocate::relocate): Add missing
    	fall through comments.
    	* sparc.cc: (Target_sparc::Scan::global): Likewise.
    	(Target_sparc::Relocate::relocate): Likewise.
    	* tilegx.cc (Target_tilegx::Relocate::relocate): Likewise.
    	* resolve.cc (symbol_to_bits): Add missing break.

commit 95e61695c199a07c832153cea25ae9c331d16a3c
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 6 08:55:23 2016 +1030

    bison warning fixes
    
    	* config/rl78-parse.y: Don't use deprecated %name-prefix.
    	* config/rx-parse.y: Likewise.

commit 616ec3583b7b6ba0a4e581c426b700b0664a3027
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Oct 6 08:08:25 2016 +1030

    Don't use boolean OR in arithmetic expressions
    
    bfd/
    	* elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
    	OR in arithmetic expression, not boolean OR.
    opcodes/
    	* cr16-dis.c (print_insn_cr16): Don't use boolean OR in arithmetic.
    	* crx-dis.c (print_insn_crx): Likewise.

commit f389f6fef76d7cf8e8beb7061edff2155c284898
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Oct 5 21:56:46 2016 +0200

    testsuite: Fix recent GCC FAIL: gdb.arch/i386-signal.exp
    
    gcc-6.2.1-2.fc24.x86_64
    
    (gdb) backtrace 10^M
    (gdb) FAIL: gdb.arch/i386-signal.exp: backtrace 10
    
    (gdb) disas/s
    Dump of assembler code for function main:
    .../gdb/testsuite/gdb.arch/i386-signal.c:
    30      {
       0x000000000040057f <+0>:     push   %rbp
       0x0000000000400580 <+1>:     mov    %rsp,%rbp
    31        setup ();
       0x0000000000400583 <+4>:     callq  0x400590 <setup>
    => 0x0000000000400588 <+9>:     mov    $0x0,%eax
    32      }
       0x000000000040058d <+14>:    pop    %rbp
       0x000000000040058e <+15>:    retq
    End of assembler dump.
    
    The .exp patch is an obvious typo fix I think.  The regex was written to
    accept "ADDR in main" and I find it OK as checking .debug_line validity is not
    the purpose of this testfile.
    
    gcc-4.8.5-11.el7.x86_64 did not put the 'mov $0x0,%eax' instruction there at
    all so there was no problem with .debug_line.
    
    gdb/testsuite/ChangeLog
    2016-10-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.arch/i386-signal.exp (backtrace 10): Fix #2 typo.

commit 39b5a3b9b3aadac723de719f3c27f8462ed49af7
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Sep 30 15:45:26 2016 -0600

    PR remote/20655 - small fix in handle_tracepoint_bkpts
    
    handle_tracepoint_bkpts has two parallel "if"s.  This changes the
    second one to check ipa_error_tracepoint, which seems to be what was
    intended.
    
    2016-10-05  Tom Tromey  <tom@tromey.com>
    
    	PR remote/20655:
    	* tracepoint.c (handle_tracepoint_bkpts): Check
    	ipa_error_tracepoint, not ipa_stopping_tracepoint.

commit e742d386c480efa5229bc8b1887a7718f840a457
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Sep 30 15:43:40 2016 -0600

    PR gdb/20653 - small cleanup in string_to_explicit_location
    
    This bug points out that string_to_explicit_location compares a char*
    against '\0'; whereas comparing against NULL is more normal.
    
    2016-10-05  Tom Tromey  <tom@tromey.com>
    
    	PR breakpoints/20653:
    	* location.c (string_to_explicit_location): Use NULL, not '\0'.

commit 3e611445bf05fa20e0befa41afa42651d1983734
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Sep 30 15:42:28 2016 -0600

    PR symtab/20652 - fix psymbol_compare
    
    This fixes an oversight in psymbol_compare.
    
    2016-10-05  Tom Tromey  <tom@tromey.com>
    
    	PR symtab/20652:
    	* psymtab.c (psymbol_compare): Correctly compare "ginfo.value"
    	fields.

commit fdebf1a415f565fc4606f9139d10d1e9393999c0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Oct 5 17:04:31 2016 +0100

    Skip complex types tests if gdb_skip_float_test
    
    If the target doesn't support float, we don't run float complex types
    tests.
    
    gdb/testsuite:
    
    2016-10-05  Yao Qi  <yao.qi@linaro.org>
    
    	* lib/gdb.exp (support_complex_tests): Return zero if
    	gdb_skip_float_test return true.

commit dba484926919ac02d1577f22fd47a5d99df99d8d
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Oct 5 17:04:17 2016 +0300

    Fix incorrect formatting of a ChangeLog entry
    
    My previous commit had an invalid formatting of a ChangeLog entry.  This commit
    fixes that.

commit f206f69cb43e420f92a63464036b342386963261
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Oct 5 12:36:29 2016 +0200

    Allow DW_OP_GNU_uninit in dwarf_expr_require_composition
    
    In DWARF expression handling, some operators are required to be either
    at the end of an expression or followed by a composition operator.  So
    far only the operators DW_OP_reg0-31 were allowed to be followed by
    DW_OP_GNU_uninit instead, and particularly DW_OP_regx was not, which is
    obviously inconsistent.
    
    This patch allows DW_OP_GNU_uninit after all operators requiring a
    composition, to simplify the code and make it more consistent.  This
    policy may be more permissive than necessary, but in the worst case just
    leads to a DWARF location description resulting in an uninitialized
    value instead of an error message.
    
    gdb/ChangeLog:
    
    	* dwarf2expr.c (dwarf_expr_require_composition): Allow
    	DW_OP_GNU_uninit.
    	(execute_stack_op): Use dwarf_expr_require_composition instead of
    	copying its logic.

commit ed2f09e183df513e9616c53cdace32cf8b824b98
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Oct 5 13:06:08 2016 +0300

    arc: Remove annoying debug message
    
    The logging message is called too often - once for each register when it's
    value has to be evaluated. This floods the screen for commands like "info
    register all", but doesn't give really any help at debugging GDB issues.
    Between increasing the debug level of this message and removing it altogether I
    think that removing it is preferable.
    
    gdb/ChangeLog:
    
    	arc-tdep.c (arc_frame_prev_register): Remove annoying log message.

commit c1d0b70ae517512a77eed778c6dd7d8a941962fc
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Oct 5 10:00:24 2016 +0100

    Update the path arm-*.xml files for aarch64
    
    0a69eedb (Clean up the XML files for ARM) breaks the GDBserver build
    on aarch64 because some arm-*.xml files can't be found.
    
    This patch is to fix the build failure.
    
    gdb/gdbserver:
    
    2016-10-05  Yao Qi  <yao.qi@linaro.org>
    
    	* configure.srv: Update the path of arm-*.xml files.

commit 5878efd48016e091cb19dc09345cd7f73d791c6f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Oct 5 09:31:13 2016 +0100

    Regenerate some regformats/rs6000/*.dat files
    
    If I remove all regformats/*.dat files and run
    make GDB=/scratch/yao/gdb/build-git/all-targets/gdb/gdb all, some
    powerpc .dat files are not generated.
    
    This patch fixes it by adding them to WHICH, so these .dat files can
    be generated.
    
    gdb:
    
    2016-10-05  Yao Qi  <yao.qi@linaro.org>
    
    	* features/Makefile (WHICH): Add
    	rs6000/powerpc-isa205-32l, rs6000/powerpc-isa205-64l,
    	rs6000/powerpc-isa205-altivec32l, rs6000/powerpc-isa205-altivec64l,
    	rs6000/powerpc-isa205-vsx32l and rs6000/powerpc-isa205-vsx64l.
    	* regformats/rs6000/powerpc-isa205-32l.dat: Regenerated.
    	* regformats/rs6000/powerpc-isa205-64l.dat: Likewise.
    	* regformats/rs6000/powerpc-isa205-altivec32l.dat: Likewise.
    	* regformats/rs6000/powerpc-isa205-altivec64l.dat: Likewise.
    	* regformats/rs6000/powerpc-isa205-vsx32l.dat: Likewise.
    	* regformats/rs6000/powerpc-isa205-vsx64l.dat: Likewise.

commit defaaad59909ead1722f978463fc2e4bdeb0629c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Oct 5 09:31:13 2016 +0100

    Generate s390 target description c files
    
    If I delete all target description c files under features/ directory,
    and run make GDB=/scratch/yao/gdb/build-git/all-targets/gdb/gdb cfiles,
    some s390 target description c files are not generated.
    
    This patch adds these s390 xml files to XMLTOC, so these c files can
    be generated.
    
    gdb:
    
    2016-10-05  Yao Qi  <yao.qi@linaro.org>
    
    	* features/Makefile (XMLTOC): Add s390-tevx-linux64.xml,
    	s390-vx-linux64.xml, s390x-tevx-linux64.xml and
    	s390x-vx-linux64.xml.

commit 414c838a722efedb0f787b64629db13d88c9ef7c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Oct 5 09:31:13 2016 +0100

    Simplify i386, amd64 and x32 expedite registers
    
    Nowadays, there are a lot of duplication about
    i386/{i386, amd64, x32}*-expedite in features/Makefile.  However,
    in features/Makefile, we have
    
     echo "expedite:$(if $($*-expedite),$($*-expedite),$($(firstword $(subst -, ,$(notdir $*)))-expedite))" \
    	  >> $(outdir)/$*.tmp
    
    which means for a given bar/foo-baz.xml, we'll look for either
    bar/foo-baz-expedite or foo-expedite.  In x86 expedite registers, we
    use the former now, but it will be much simpler if we use the latter.
    This is what this patch does.  This patch removes them, and defines
    three generic expedite.  Re-run 'make GDB=/path/build/gdb all' to
    regenerate regformats/*.dat files, and they are not changed.
    
    gdb:
    
    2016-10-05  Yao Qi  <yao.qi@linaro.org>
    
    	* features/Makefile: Remove i386/*-expedite. Add i386-expedite,
    	amd64-expedite, and x32-expedite.

commit 0a69eedb6d7c1c90ec7888a857c4d7c0a1fd1b31
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Oct 5 09:31:13 2016 +0100

    Clean up the XML files for ARM
    
    This patch is move features/arm-*.xml to features/arm/, and it is based
    on Terry's patch posted here
    https://sourceware.org/ml/gdb-patches/2014-06/msg00794.html
    
    One comment to Terry's patch is about losing "arm" prefix, and the new
    patch fixes this problem.
    
    gdb:
    
    2016-10-05  Terry Guo  <terry.guo@arm.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c: Adjust includes.
    	* features/Makefile (WHICH): Add "arm/" directory to arm
    	target descriptions.
    	(XMLTOC): Likewise.
    	(arm/arm-with-iwmmxt.dat): Adjust the path for
    	dependencies.
    	* features/arm-core.xml: Moved to ...
    	* features/arm/arm-core.xml: ... it.
    	* features/arm-fpa.xml: Moved to ...
    	* features/arm/arm-fpa.xml: ... it.
    	* features/arm-m-profile.xml: Moved to ...
    	* features/arm/arm-m-profile.xm: ... it.
    	* features/arm-vfpv2.xml: Moved to ...
    	* features/arm/arm-vfpv2.xm: ... it.
    	* features/arm-vfpv3.xml: Moved to ...
    	* features/arm/arm-vfpv3.xml: ... it.
    	* features/arm-with-iwmmxt.c: Moved to ...
    	* features/arm/arm-with-iwmmxt.c: ... it.
    	* features/arm-with-iwmmxt.xml: Moved to ...
    	* features/arm/arm-with-iwmmxt.xml: ... it.
    	* features/arm-with-m-fpa-layout.c: Moved to ...
    	* features/arm/arm-with-m-fpa-layout.c: ... it.
    	* features/arm-with-m-fpa-layout.xml: Moved to ...
    	* features/arm/arm-with-m-fpa-layout.xml: ... it.
    	* features/arm-with-m-vfp-d16.c: Moved to ...
    	* features/arm/arm-with-m-vfp-d16.c: ... it.
    	* features/arm-with-m-vfp-d16.xml: Moved to ...
    	* features/arm/arm-with-m-vfp-d16.xml: ... it.
    	* features/arm-with-m.c: Moved to ...
    	* features/arm/arm-with-m.c: ... it.
    	* features/arm-with-m.xml: Moved to ...
    	* features/arm/arm-with-m.xm: ... it.
    	* features/arm-with-neon.c: Moved to ...
    	* features/arm/arm-with-neon.c: ... it.
    	* features/arm-with-neon.xml: Moved to ...
    	* features/arm/arm-with-neon.xml: ... it.
    	* features/arm-with-vfpv2.c: Moved to ...
    	* features/arm/arm-with-vfpv2.c: ... it.
    	* features/arm-with-vfpv2.xml: Moved to ...
    	* features/arm/arm-with-vfpv2.xml: ... it.
    	* features/arm-with-vfpv3.c: Moved to ...
    	* features/arm/arm-with-vfpv3.c: ... it.
    	* features/arm-with-vfpv3.xml: Moved to ...
    	* features/arm/arm-with-vfpv3.xml: ... it.
    	* features/xscale-iwmmxt.xml: Moved to ...
    	* features/arm/xscale-iwmmxt.xml: ... it.
    
    gdb/gdbserver:
    
    2016-10-05  Terry Guo  <terry.guo@arm.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in: Adjust the path of rules.
    	* configure.srv: Update the path of xml files.
    	* regformats/arm-with-iwmmxt.dat: Regenerated.
    	* regformats/arm-with-neon.dat: Likewise.
    	* regformats/arm-with-vfpv2.dat: Likewise.
    	* regformats/arm-with-vfpv3.dat Likewise.

commit 825be1e5eb004d3816490b492291f121c83ebf11
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Oct 5 00:00:20 2016 +0000

    Automatic date update in version.in

commit 94b41882b09a0b61c27cb0220ac31d9f5496e13c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Oct 4 10:43:50 2016 +1030

    ld expression section
    
    Changes the result of ld expressions that were previously plain
    numbers to be an absolute address, in the same circumstances where
    numbers are treated as absolute addresses.
    
    	* ld.texinfo (Expression Section): Update result of arithmetic
    	expressions.
    	* ldexp.c (arith_result_section): New function.
    	(fold_binary): Use it.

commit 9ad39107ca6e4efcda0f48a6abf528844a2f11aa
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Oct 4 10:41:26 2016 +1030

    Fold arithmetic integer expressions
    
    Commit b751e639 regressed arm linux kernel builds, that have an
    ASSERT (((__hyp_idmap_text_end - (__hyp_idmap_text_start
           			          & ~ (((0x1 << 0xc) - 0x1))))
             <= (0x1 << 0xc)), HYP init code too big or misaligned)
    
    Due to some insanity in ld expression evaluation, the integer values
    0x1 and 0xc above are treated as absolute addresses (ie. they have an
    associated section, *ABS*, see exp_fold_tree_1 case etree_value) while
    the expression (0x1 << 0xc) has a plain number result.  The left hand
    side of the inequality happens to evaluate to a "negative" .text
    section relative value.  Comparing a section relative value against an
    absolute value works since the section relative value is first
    converted to absolute.  Comparing a section relative value against a
    number just compares the offsets, which fails since the "negative"
    offset is really a very large positive number.
    
    This patch works around the problem by folding integer expressions, so
    the assert again becomes
    ASSERT (((__hyp_idmap_text_end - (__hyp_idmap_text_start
           			          & 0xfffffffffffff000))
             <= 0x1000), HYP init code too big or misaligned)
    
    	* ldexp.c (exp_value_fold): New function.
    	(exp_unop, exp_binop, exp_trinop): Use it.

commit 128d08b1587e537667c3079cc01915a94964e5a0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Oct 4 00:00:22 2016 +0000

    Automatic date update in version.in

commit 9c36d9544f0987cbd840a19552af3343252d28a0
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Mon Oct 3 16:55:35 2016 -0400

    Add test for user context selection sync
    
    This patch adds a test to verify that events are sent properly to all
    UIs when the user selection context (inferior, thread, frame) changes.
    
    The goal of the C test file is to provide two threads that are stopped with the
    same predictable backtrace (so that we can test frame switching).  The barrier
    helps us know when the child threads are started.  Then, scheduler-locking is
    used to bring each thread one by one to the position we expect them to be
    during the test.
    
    gdb/testsuite/ChangeLog:
    
    YYYY-MM-DD  Antoine Tremblay  <antoine.tremblay@ericsson.com>
    YYYY-MM-DD  Simon Marchi  <simon.marchi@ericsson.com>
    
    	PR gdb/20487
    	* gdb.mi/user-selected-context-sync.exp: New file.
    	* gdb.mi/user-selected-context-sync.c: New file.

commit 4034d0ff52b0f346efedd2d335ccbc672466da45
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Mon Oct 3 16:52:44 2016 -0400

    Emit inferior, thread and frame selection events to all UIs
    
    With this patch, when an inferior, thread or frame is explicitly
    selected by the user, notifications will appear on all CLI and MI UIs.
    When a GDB console is integrated in a front-end, this allows the
    front-end to follow a selection made by the user ont he CLI, and it
    informs the user about selection changes made behind the scenes by the
    front-end.
    
    This patch addresses PR gdb/20487.
    
    In order to communicate frame changes to the front-end, this patch adds
    a new field to the =thread-selected event for the selected frame.  The
    idea is that since inferior/thread/frame can be seen as a composition,
    it makes sense to send them together in the same event.  The vision
    would be to eventually send the inferior information as well, if we find
    that it's needed, although the "=thread-selected" event would be
    ill-named for that job.
    
    Front-ends need to handle this new field if they want to follow the
    frame selection changes that originate from the console.  The format of
    the frame attribute is the same as what is found in the *stopped events.
    
    Here's a detailed example for each command and the events they generate:
    
    thread
    ------
    
    1. CLI command:
    
         thread 1.3
    
       MI event:
    
         =thread-selected,id="3",frame={...}
    
    2. MI command:
    
         -thread-select 3
    
       CLI event:
    
         [Switching to thread 1.3 ...]
    
    3. MI command (CLI-in-MI):
    
         thread 1.3
    
       MI event/reply:
    
         &"thread 1.3\n"
         ~"#0  child_sub_function () ...
         =thread-selected,id="3",frame={level="0",...}
         ^done
    
    frame
    -----
    
    1. CLI command:
    
         frame 1
    
       MI event:
    
         =thread-selected,id="3",frame={level="1",...}
    
    2. MI command:
    
         -stack-select-frame 1
    
       CLI event:
    
         #1  0x00000000004007f0 in child_function...
    
    3. MI command (CLI-in-MI):
    
         frame 1
    
       MI event/reply:
    
         &"frame 1\n"
         ~"#1  0x00000000004007f9 in ..."
         =thread-selected,id="3",frame={level="1"...}
         ^done
    
    inferior
    --------
    
    Inferior selection events only go from the console to MI, since there's
    no way to select the inferior in pure MI.
    
    1. CLI command:
    
         inferior 2
    
       MI event:
    
         =thread-selected,id="3"
    
    Note that if the user selects an inferior that is not started or exited,
    the MI doesn't receive a notification.  Since there is no threads to
    select, the =thread-selected event does not apply...
    
    2. MI command (CLI-in-MI):
    
         inferior 2
    
       MI event/reply:
    
         &"inferior 2\n"
         ~"[Switching to inferior 2 ...]"
         =thread-selected,id="4",frame={level="0"...}
         ^done
    
    Internal implementation detail: this patch makes it possible to suppress
    notifications caused by a CLI command, like what is done in mi-interp.c.
    This means that it's now possible to use the
    add_com_suppress_notification function to register a command with some
    event suppressed.  It is used to implement the select-frame command in
    this patch.
    
    The function command_notifies_uscc_observer was added to extract
    the rather complicated logical expression from the if statement.  It is
    also now clearer what that logic does: if the command used by the user
    already notifies the user_selected_context_changed observer, there is
    not need to notify it again.  It therefore protects again emitting the
    event twice.
    
    No regressions, tested on ubuntu 14.04 x86 with target boards unix and
    native-extended-gdbserver.
    
    gdb/ChangeLog:
    
    YYYY-MM-DD  Antoine Tremblay  <antoine.tremblay@ericsson.com>
    YYYY-MM-DD  Simon Marchi  <simon.marchi@ericsson.com>
    
    	PR gdb/20487
    	* NEWS: Mention new frame field of =thread-selected event.
    	* cli/cli-decode.c (add_cmd): Initialize c->suppress_notification.
    	(add_com_suppress_notification): New function definition.
    	(cmd_func): Set and restore the suppress_notification flag.
    	* cli/cli-deicode.h (struct cmd_list_element)
    	<suppress_notification>: New field.
    	* cli/cli-interp.c (cli_suppress_notification): New global variable.
    	(cli_on_user_selected_context_changed): New function.
    	(_initialize_cli_interp): Attach to user_selected_context_changed
    	observer.
    	* command.h (struct cli_suppress_notification): New structure.
    	(cli_suppress_notification): New global variable declaration.
    	(add_com_suppress_notification): New function declaration.
    	* defs.h (enum user_selected_what_flag): New enum.
    	(user_selected_what): New enum flag type.
    	* frame.h (print_stack_frame_to_uiout): New function declaration.
    	* gdbthread.h (print_selected_thread_frame): New function declaration.
    	* inferior.c (print_selected_inferior): New function definition.
    	(inferior_command): Remove printing of inferior/thread/frame switch
    	notifications, notify user_selected_context_changed observer.
    	* inferior.h (print_selected_inferior): New function declaration.
    	* mi/mi-cmds.c (struct mi_cmd): Add user_selected_context
    	suppression to stack-select-frame and thread-select commands.
    	* mi/mi-interp.c (struct mi_suppress_notification)
    	<user_selected_context>: Initialize.
    	(mi_user_selected_context_changed): New function definition.
    	(_initialize_mi_interp): Attach to user_selected_context_changed.
    	* mi/mi-main.c (mi_cmd_thread_select): Print thread selection reply.
    	(mi_execute_command): Handle notification suppression.  Notify
    	user_selected_context_changed observer on thread change instead of printing
    	event directly.  Don't send it if command already sends the notification.
    	(command_notifies_uscc_observer): New function.
    	(mi_cmd_execute): Don't handle notification suppression.
    	* mi/mi-main.h (struct mi_suppress_notification)
    	<user_selected_context>: New field.
    	* stack.c (print_stack_frame_to_uiout): New function definition.
    	(select_frame_command): Notify user_selected_context_changed
    	observer.
    	(frame_command): Call print_selected_thread_frame if there's no frame
    	change or notify user_selected_context_changed observer if there is.
    	(up_command): Notify user_selected_context_changed observer.
    	(down_command): Likewise.
    	(_initialize_stack): Suppress user_selected_context notification for
    	command select-frame.
    	* thread.c (thread_command): Notify
    	user_selected_context_changed if the thread has changed, print
    	thread info directly if it hasn't.
    	(do_captured_thread_select): Do not print thread switch event.
    	(print_selected_thread_frame): New function definition.
    	* tui/tui-interp.c (tui_on_user_selected_context_changed):
    	New function definition.
    	(_initialize_tui_interp): Attach to user_selected_context_changed
    	observer.
    
    gdb/doc/ChangeLog:
    
    	PR gdb/20487
    	* gdb.texinfo (Context management): Update mention of frame
    	change notifications.
    	(gdb/mi Async Records): Document frame field in
    	=thread-select event.
    	* observer.texi (GDB Observers): New user_selected_context_changed
    	observer.
    
    gdb/testsuite/ChangeLog:
    
    	PR gdb/20487
    	* gdb.mi/mi-pthreads.exp (check_mi_thread_command_set): Adapt
    	=thread-select-event check.

commit 0ee0f92162cec2de93c26f2d587f67026f559522
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Oct 3 00:00:22 2016 +0000

    Automatic date update in version.in

commit e7847a2b370770c8f712bf9beb8db482bdd5551d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Oct 2 00:00:19 2016 +0000

    Automatic date update in version.in

commit fe61e2596da5633b0fdd100e9da0069efe6e40ae
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Oct 1 00:00:27 2016 +0000

    Automatic date update in version.in

commit 17e16485989c7e91ba1ec5abf397f7f91a299eec
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Sep 30 18:39:12 2016 +0100

    PR 20627: Use resume_stop to stop lwp
    
    Commit 049a8570 (Use target_continue{,_no_signal} instead of target_resume)
    replaces the code stopping lwp with target_continue_no_signal in
    target_stop_and_wait, like this,
    
    -  resume_info.thread = ptid;
    -  resume_info.kind = resume_stop;
    -  resume_info.sig = GDB_SIGNAL_0;
    -  (*the_target->resume) (&resume_info, 1);
    +  target_continue_no_signal (ptid);
    
    the replacement is not equivalent, and it causes PR 20627.  This patch
    is just to revert that change.
    
    Regression testing it on x86_64-linux.
    
    gdb/gdbserver:
    
    2016-09-30  Yao Qi  <yao.qi@linaro.org>
    
    	PR gdbserver/20627
    	* target.c (target_stop_and_wait): Don't call
    	target_continue_no_signal, use resume_stop instead.

commit 72da393d4131836933f104abf0f605e09970f134
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 30 08:54:43 2016 -0700

    Don't assign alt twice
    
    	PR binutils/20657
    	* i386-dis.c (putop): Don't assign alt twice.

commit 92c6e4fe5d6f30a24fe15795a6a3b25afd0b24c9
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 18:27:36 2016 +0930

    Add missing dependencies to BFD_H_FILES
    
    	* Makefile.am (BFD_H_FILES): Add linker.c and simple.c.  Sort
    	as per comment at head of bfd-in2.h.
    	* Makefile.in: Regenerate.

commit 744ce3025e82a59c13642c57e38febd8ff531f9b
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Sep 30 14:16:54 2016 +0100

    [AArch64] PR target/20553, fix opcode mask for SIMD multiply by element
    
    opcode/
    	PR target/20553
            * aarch64-tbl.h (fmla, fmls, fmul, fmulx): Fix opcode mask field.
    
    gas/
            * testsuite/gas/aarch64/advsimd-fp16.s (indexed_elem): New high index
            testcases for H and S variants.  New low index testcases for D variant.
            * testsuite/gas/aarch64/advsimd-fp16.d: Update expected results.

commit 76276ff673e9d6855d721e4caf19a244c8b7363d
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 17:52:48 2016 +0930

    v850 linker scripts
    
    This should mean the 2010-10-28 change for ld -r --gc-sections can
    be reverted.
    
    	* scripttempl/v850.sc: Don't reference __ctbp, __ep, __gp when
    	not relocating.
    	* scripttempl/v850_rh850.sc: Likewise.

commit 80169c8a23d9bd3f213028e3d44239b03d0aedf7
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 16:09:42 2016 +0930

    Fix pr20528 testsuite
    
    	PR ld/20528
    	* testsuite/ld-elf/pr20528a.d: xfail generic elf targets.  Allow
    	multiple .text sections for hppa-linux.
    	* testsuite/ld-elf/pr20528b.d: Likewise.

commit 4eca02287cf48e60ee89338ddd35f8d0d8257a51
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 13:00:18 2016 +0930

    Remove syntactic sugar
    
    Now that _bfd_error_handler is not a function pointer.
    
    	* aout-adobe.c: Replace (*_bfd_error_handler) (...) with
    	_bfd_error_handler (...) throughout.
    	* aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
    	* cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
    	* coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
    	* coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
    	* coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
    	* coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
    	* ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
    	* elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
    	* elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
    	* elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
    	* elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
    	* elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
    	* elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
    	* elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
    	* elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
    	* elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
    	* elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
    	* elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
    	* elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
    	* elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
    	* elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
    	* elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
    	* ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
    	* mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
    	* pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
    	* rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
    	* stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
    	* xcofflink.c: Likewise.

commit 4519d071387f374932616b588ddb4ec8cabe2a52
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 11:33:13 2016 +0930

    Better ld --fatal-warnings support
    
    	* ldmain.c (default_bfd_error_handler): New function pointer.
    	(ld_bfd_error_handler): New function.
    	(main): Arrange to call it on bfd errors/warnings.
    	(ld_bfd_assert_handler): Enable tail call.

commit 52d45da3f275b5d1c8ef2e96a7760585c736133b
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Sep 30 11:03:52 2016 +0930

    Make bfd_error_handler_type like vprintf
    
    It was like printf, which means you can't use bfd_set_error_handler to
    hook in a function to do something and then call the original handler.
    
    The patch also deletes some unused functions and makes pointers local.
    
    bfd/
    	* bfd-in.h: Include stdarg.h.
    	* bfd.c (bfd_error_handler_type): Make like vprintf.
    	(_bfd_error_internal): Rename from _bfd_error_handler.  Make static.
    	(error_handler_internal): New function, split out from..
    	(_bfd_default_error_handler): ..here.  Rename to _bfd_error_handler.
    	(bfd_set_error_handler): Update.
    	(bfd_get_error_handler, bfd_get_assert_handler): Delete.
    	(_bfd_assert_handler): Make static.
    	* coffgen.c (null_error_handler): Update params.
    	* elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
    	Don't use bfd_error_handler_type.
    	* elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
    	* elfxx-target.h (elf_backend_link_order_error_handler): Default
    	to _bfd_error_handler.
    	* libbfd-in.h (_bfd_default_error_handler): Don't declare.
    	(bfd_assert_handler_type): Likewise.
    	(_bfd_error_handler): Update.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    ld/
    	* ldlang.c (ignore_bfd_errors): Update params.

commit 1fcf3da985a9f4436674816046cf5a308eae74f3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Sep 30 00:00:09 2016 +0000

    Automatic date update in version.in

commit a4297203ea1a1e4664b6f2b05efecd60f6437f46
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Thu Sep 29 15:21:55 2016 -0500

    Update tests to account for the L operand being compulsory.
    
    	* gdb.arch/powerpc-power.exp <cmprb>: Update tests to account for
    	the compulsory L operand changes.
    	* gdb.arch/powerpc-power.s: Likewise.

commit 93dc595d7659a8cf224a9fc33aa9071f38328334
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 29 12:58:29 2016 -0700

    Don't merge 2 sections with different SHF_EXCLUDE
    
    SEC_EXCLUDE is ignored when doing a relocatable link.  But we can't
    merge 2 input sections with the same name when only one of them has
    SHF_EXCLUDE.
    
    	PR ld/20528
    	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
    	merge 2 sections with different SHF_EXCLUDE.
    	* testsuite/ld-elf/pr20528a.d: New file.
    	* testsuite/ld-elf/pr20528a.s: Likewise.
    	* testsuite/ld-elf/pr20528b.d: Likewise.
    	* testsuite/ld-elf/pr20528b.s: Likewise.

commit bb805577d2b212411fb7b0a2d01644567fac4e8d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Sep 29 17:38:16 2016 +0200

    PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regression
    
    Regression: gdb --pid $(pidof qemu-system-x86_64) stopped working with gdb 7.11.1
    https://sourceware.org/bugzilla/show_bug.cgi?id=20609
    
    It was reported for qemu-system-x86_64 but it happens for any multithreaded
    inferior with a JIT debugging hook.
    
    136613ef0c6850427317e57be1b644080ff6decb is the first bad commit
    Author: Pedro Alves <palves@redhat.com>
        Fix PR gdb/19828: gdb -p <process from a container>: internal error
    Message-ID: <cbdf2e04-4fa8-872a-2a23-08c9c1b26e00@redhat.com>
    https://sourceware.org/ml/gdb-patches/2016-05/msg00450.html
    
    jit_breakpoint_re_set() is specific by trying to insert a breakpoint into the
    main executable, not into a shared library.  During attachment GDB thinks it
    needs to use 'breakpoint always-inserted' from
    breakpoints_should_be_inserted_now() as a newly attached thread is
    'thread_info->executing' due to 'lwp_info->must_set_ptrace_flags' enabled and
    the task not yet stopped.  This did not happen before the 'bad commit' above
    which adds tracking of such thread.
    
    GDB then fails to insert the breakpoints to invalid address as PIE executable
    gets properly relocated during later phase of attachment.  One can see in the
    backtraces below:
     -> jit_breakpoint_re_set_internal()
    later:
     -> svr4_exec_displacement()
    
    One can suppress the initial breakpoint_re_set() call as there will be another
    breakpoint_re_set() done from the final post_create_inferior() call in
    setup_inferior().
    
    BTW additionally 'threads_executing' cache bool is somehow stale (somewhere is
    missing update_threads_executing()).  I was trying to deal with that in my
    first/second attempt below but in my final third attempt (attached) I have
    left it as it is.
    
    First attempt trying not to falsely require 'breakpoint always-inserted':
      https://people.redhat.com/jkratoch/rhbz1375553-fix1.patch
    Reduced first attempt:
      https://people.redhat.com/jkratoch/rhbz1375553-fix2.patch
    
    The third attempt suppresses breakpoint insertion until PIE executable gets
    relocated by svr4_exec_displacement().  Applied.
    
    gdb/ChangeLog
    2016-09-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regression
    	* exec.c (exec_file_locate_attach): Add parameter defer_bp_reset.
    	Use it.
    	* gdbcore.h (exec_file_locate_attach): Add parameter defer_bp_reset.
    	* infcmd.c (setup_inferior): Update caller.
    	* remote.c (remote_add_inferior): Likewise.
    
    gdb/testsuite/ChangeLog
    2016-09-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regression
    	* gdb.base/jit-attach-pie.c: New file.
    	* gdb.base/jit-attach-pie.exp: New file.

commit 50751e18f3f2fc47959a577a5754f1a2d80baf18
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Thu Sep 29 10:04:44 2016 +0200

    Frame info dump: Fix bad register marks.
    
    On S/390 we see quite often registers marked as "bad register" in the
    readelf --debug-dump=frames or objdump -Wf output.
    
    00000000 0000000000000014 00000000 CIE
          Version:               1
          Augmentation:          "zR"
          Code alignment factor: 1
          Data alignment factor: -8
          Return address column: 14
          Augmentation data:     1b
    
          DW_CFA_def_cfa: r15 ofs 160
          DW_CFA_nop
          DW_CFA_nop
          DW_CFA_nop
    
        ...
    
        00000050 000000000000001c 00000054 FDE cie=00000000 pc=0000000080000e58..0000000080000e84
          DW_CFA_advance_loc: 6 to 0000000080000e5e
          DW_CFA_offset: r14 at cfa-48
          DW_CFA_offset: r15 at cfa-40
          DW_CFA_advance_loc: 6 to 0000000080000e64
          DW_CFA_def_cfa_offset: 320
          DW_CFA_advance_loc: 18 to 0000000080000e76
          DW_CFA_restore: bad register: r15              <------
          DW_CFA_restore: r14
          DW_CFA_def_cfa_offset: 160
    
        This is triggered by this check in display_debug_frames (dwarf.c):
    
    		case DW_CFA_restore:
    		  if (opa >= (unsigned int) cie->ncols
    		      || opa >= (unsigned int) fc->ncols)
    		    reg_prefix = bad_reg;
    
    cie->ncols is number of registers referenced in the CIE which is 15 due
    to r14 being given as return address column.  So for the CFA_restore of
    r15 a "bad register" is being printed while the same rule on r14 is ok.
    
    The reason for this check is to prevent wild memory accesses when
    reading input with corrupted register values while accessing the
    col_type/col_offset arrays. However in that case r15 is a perfectly
    valid register. It just happens not to be mentioned in the CIE.  Hence
    restoring the CIE rule for r15 should end up with the default rule which
    is DW_CFA_undefined.
    
    This probably wasn't observed on other platforms because they either do
    not use CFA_restore (x86-64) or do not issue CFA_restore on registers
    with a higher number than the return address column.
    
    binutils/ChangeLog:
    
    2016-09-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* dwarf.c (frame_display_row): Fix formatting of return address
    	register column.
    	(display_debug_frames): Ignore invalid indices into
    	cie->col_type/cie->col_offset arrays and default to
    	DW_CF_undefined instead.

commit 084303b8c636944564d7be3b85dde55e8c371e91
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Wed Sep 28 17:54:06 2016 +0200

    Add .cfi_val_offset GAS command.
    
    This patch adds support for .cfi_val_offset GAS pseudo command which
    maps to DW_CFA_val_offset and DW_CFA_val_offset_sf.
    
    gas/ChangeLog:
    
    2016-09-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* doc/as.texinfo: Add docu for .cfi_val_offset.
    	* dw2gencfi.c (cfi_add_CFA_val_offset): New function.
    	(dot_cfi): Add case for DW_CFA_val_offset.
    	(output_cfi_insn): Likewise.
    	(cfi_pseudo_table): Add entry for cfi_val_offset.
    	* dw2gencfi.h: Add prototype for cfi_add_CFA_val_offset.
    	* testsuite/gas/cfi/cfi-common-8.d: New test.
    	* testsuite/gas/cfi/cfi-common-8.s: New test.
    	* testsuite/gas/cfi/cfi.exp: Run cfi-common-8 testcase.
    
    binutils/ChangeLog:
    
    2016-09-29  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* dwarf.c (display_debug_frames): Adjust output line.

commit a5721ba270ddf860e0e5a45bba456214e8eac2be
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Sep 29 15:12:47 2016 +0930

    Disallow 3-operand cmp[l][i] for ppc64
    
    cmp[l][o] get an optional L field only when generating 32-bit code.
    dcbf, tlbie and tlbiel keep their optional L field, ditto for R field
    of tbegin.  cmprb, tsr., wlcr[all] and mtsle all change to a
    compulsory L field.
    
    L field of dcbf and wclr is 2 bits.
    
    	PR 20641
    include/
    	* opcode/ppc.h (PPC_OPERAND_OPTIONAL32): Define.
    opcodes/
    	* ppc-opc.c (L): Make compulsory.
    	(LOPT): New, optional form of L.
    	(HTM_R): Define as LOPT.
    	(L0, L1): Delete.
    	(L32OPT): New, optional for 32-bit L.
    	(L2OPT): New, 2-bit L for dcbf.
    	(SVC_LEC): Update.
    	(L2): Define.
    	(insert_l0, extract_l0, insert_l1, extract_l2): Delete.
    	(powerpc_opcodes <cmpli, cmpi, cmpl, cmp>): Use L32OPT.
    	<dcbf>: Use L2OPT.
    	<tlbiel, tlbie>: Use LOPT.
    	<wclr, wclrall>: Use L2.
    gas/
    	* config/tc-ppc.c (md_assemble): Handle PPC_OPERAND_OPTIONAL32.
    	* testsuite/gas/ppc/power8.s: Provide tbegin. operand.
    	* testsuite/gas/ppc/power9.d: Update cmprb disassembly.

commit b82317dd347991288e4cca4772e951c672fca8cc
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Sep 29 15:10:39 2016 +0930

    Display .gnu.attributes tags for powerpc64
    
    	* readelf.c (process_arch_specific): Call process_power_specific
    	for EM_PPC64.

commit b1f5b0a43579d199715fa3db620ddd54c10341ce
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Sep 29 00:00:22 2016 +0000

    Automatic date update in version.in

commit 6d61dee599fb314f0561c3bd0dd17ac0cfa05e35
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Sep 28 17:44:57 2016 -0400

    Fix PR 20345 - call_function_by_hand_dummy: Assertion `tp->thread_fsm == &sm->thread_fsm' failed
    
    If you run an infcall from the command line, and immediately after run
    some other command, GDB incorrectly processes the other command before
    the infcall finishes.
    
    The problem is that the fix for PR gdb/20418 (Problems with
    synchronous commands and new-ui, git 3eb7562a983b) moved the
    add_file_handler/delete_file_handler calls out of
    target_terminal_$foo, and missed adjusting the infcall code.
    
    gdb/ChangeLog:
    2016-09-28  Pedro Alves  <palves@redhat.com>
    
    	* infcall.c (run_inferior_call): Remove input from the event
    	loop while running the infcall.
    
    gdb/testsuite/ChangeLog:
    2016-09-28  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/infcall-input.c: New file.
    	* gdb.base/infcall-input.exp: New file.

commit 4435e1cc6214e6ef44bd90fcde8ae2de9d8be418
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Sep 13 16:50:34 2016 -0600

    Small improvements to the remote protocol manual
    
    I was reading the gdb RSP manual recently and I found a number of
    small problems in the documentation.  This patch attempts to improve
    these areas.  Specfically:
    
    * The term "memory breakpoint" is used only in this section of the
      manual, and there inconsistently.  I found this term confusing --
      initially I thought it might be a watchpoint.  This patch changes it
      to use the term "software breakpoint", which is used in the rest of
      the manual.
    
    * The z0 packet didn't document how "kind" was written.  And, it had a
      stray link to the architecture-specific protocol details node.  This
      patch moves this link to a better spot.
    
    * The z1 patch didn't document that it accepts cmd_list.
    
    * I couldn't find any text saying what response is given to a command
      like vCont in non-stop mode.  The answer is that OK is sent, and
      then a stop reply is sent as a notification.  This patch adds a note
      about this.
    
    * The "create" stop reply did not document that the "R" argument is
      ignored.
    
    * The "W", "X", and "w" packets did not document how the "AA" part is
      formatted.
    
    * The %Stop notification example said "%%Stop", but I think this is
      incorrect.
    
    2016-09-28  Tom Tromey  <tom@tromey.com>
    
    	* gdb.texinfo (Packets) <z0>: Use "software breakpoint" rather
    	than "memory breakpoint".  Further document "kind".  Move
    	protocol-details link earlier.
    	<z1>: Document the cmd_list argument.  Fix typo.
    	<g>: Remove incorrect sentence.
    	(Stop Reply Packets): Document "OK" response to requests when in
    	non-stop mode.
    	<swbreak>: Use "software breakpoint" rather than "memory
    	breakpoint".
    	<create>: Document that "R" is ignored.
    	<W, X, w>: Document formatting of "AA".
    	(Notification Packets): Use "%Stop", not "%%Stop".

commit 9eaff8613893f063400fdae95bc382ab33685e3b
Author: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Date:   Wed Sep 28 11:50:41 2016 +0100

    Fix seg-fault in the linker introduced by the previous delta.
    
    	PR ld/20636
    	* elf-bfd.h (struct elf_backend_data): Delete
    	elf_backend_count_output_relocs callback and add
    	elf_backend_update_relocs.
    	* elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
    	(emit_relocs): Deleted.
    	(elf32_arm_emit_relocs): Deleted.
    	(elf_backend_emit_relocs): Updated not to use the old functions.
    	(elf32_arm_update_relocs): New function.
    	(elf_backend_update_relocs): New define.
    	* elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
    	relocation count. Call elf_backend_emit_relocs.
    	(_bfd_elf_size_reloc_section): Do not call
    	elf_backend_count_output_relocs.
    	* elfxx-target.h (elf_backend_count_output_relocs): Deleted.
    	(elf_backend_update_relocs): New define.

commit de7fb42b57b132ca65746ca4a9ff17c902d9cc62
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Sep 28 00:00:23 2016 +0000

    Automatic date update in version.in

commit 2df2751d1927e1231bbe7d548139da98d6ca9b9a
Author: Christophe Lyon <christophe.lyon@linaro.org>
Date:   Wed Sep 28 01:37:52 2016 +0200

    [ARM] PR ld/20608 Relocation truncated to fit: R_ARM_THM_JUMP24 for relocation to PLT entry
    
    2016-09-28  Christophe Lyon  <christophe.lyon@linaro.org>
    
    	PR ld/20608
    	bfd/
    	* elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
    	Thumb-ARM stub is too far.
    
    	ld
    	* testsuite/ld-arm/arm-elf.exp: Handle new testcase.
    	* testsuite/ld-arm/farcall-mixed-app2.d: New file.
    	* testsuite/ld-arm/farcall-mixed-app2.r: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.s: Likewise.
    	* testsuite/ld-arm/farcall-mixed-app2.sym: Likewise.

commit e3f07b5b750554bbbbee1bddc34bb77fd7d31eeb
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Sep 27 12:08:19 2016 -0700

    Don't treat as separate symbols if unversioned symbol is undefined.
    
    When we see an unversioned symbol reference in a shared library, followed
    by a default definition of the symbol in another shared library, we were
    treating them as separate symbols. That should only happen when both are
    definitions.
    
    gold/
    	PR gold/20238
    	* symtab.cc (Symbol_table::define_default_version): Check that
    	unversioned symbol is defined.

commit 07619d52fef6fda58cbc327512a4d8ec60ad5637
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Sep 27 15:10:42 2016 +0100

    Add archives and make stamps to the .gitignore file.

commit 1c5f704fc035bc705dee887418f42cb8bca24b5d
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Sep 27 12:08:19 2016 +0100

    Ensure that the timestamp in PE/COFF headers is always initialised.
    
    	PR ld/20634
    	* peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
    	timestamp field if real time values are not being stored.

commit ca90e76046d302a730629ecf39b425a8aaa590c2
Author: Fredrik Hederstierna <fredrik.hederstierna@verisure.com>
Date:   Tue Sep 27 02:02:47 2016 +0100

    Detect the magic address of EXC_RETURN in ARM coretx-m profile
    
    On ARMv6-M and ARMv7-M, the exception return address is sort of magic
    address defined by the manual.  This patch is to let GDB well handle
    these magic addresses.
    
    2016-09-27  Fredrik Hederstierna  <fredrik.hederstierna@verisure.com>
    
    	* arm-tdep.c (arm_m_addr_is_magic): New function.
    	(arm_addr_bits_remove): Call arm_m_addr_is_magic.
    	(arm_m_exception_unwind_sniffer): Likewise.

commit 83ae81cd0b2ec355aeb7666c0c059f00492635e8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Sep 27 00:00:20 2016 +0000

    Automatic date update in version.in

commit 78fb7e37eb8bb08ae537d6c487996ff17c810332
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date:   Mon Sep 26 12:42:11 2016 -0400

    tc-xtensa.c: fixup xg_reverse_shift_count typo
    
    gas/ChangeLog:
    
    2016-09-26  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
    
    	* config/tc-xtensa.c (xg_reverse_shift_count): Pass cnt_arg instead of
    	cnt_argp to concat.

commit c5da193232ea0452f714dffee0d417d965590476
Author: Vlad Zakharov <vzakhar@synopsys.com>
Date:   Mon Sep 26 16:36:08 2016 +0100

    When building target binaries, ensure that the warning flags selected for the command line match the target compiler.
    
    bfd	* warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
    	to verify CC_FOR_BUILD compiler.
    	(AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
    	and add CC_FOR_BUILD compiler checks.
    	* Makefile.in: Regenerate.
    	* configure: Likewise.
    	* doc/Makefile.in: Likewise.
    
    binutils	* Makefile.am: Replace AM_CLFAGS with AM_CFLAGS_FOR_BUILD
    	when building with CC_FOR_BUILD compiler.
    	* Makefile.in: Regenerate.
    	* configure: Likewise.
    	* doc/Makefile.in: Likewise.
    
    gas	* Makefile.in: Regenerate.
    	* configure: Likewise.
    	* doc/Makefile.in: Likewise.
    
    gold	* Makefile.in: Regenerate.
    	* configure: Likewise.
    	* testsuite/Makefile.in: Likewise.
    
    gprof	* Makefile.in: Regenerate.
    	* configure: Likewise.
    
    ld	* Makefile.in: Regenerate.
    	* configure: Likewise.
    
    opcodes	* Makefile.in: Regenerate.
    	* configure: Likewise.

commit 384f7503344b1d07561f801ced7493858cde6164
Author: Awson <kyrab@mail.ru>
Date:   Mon Sep 26 16:16:25 2016 +0100

    Fix the calculation of AMD64_PCRQUAD relocations.
    
    	PR ld/17955
    	* coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
    	for R_AMD64_PCRQUAD relocations.

commit 2b848ebdbb2d1f856c7525ed4d6efaf6fe70de81
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Sep 14 13:40:38 2016 +0200

    [ARC] ISA alignment.
    
    include/
    2016-09-26  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* opcode/arc.h (insn_class_t): Add two new classes.
    
    opcodes/
    2016-09-26  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-ext-tbl.h (EXTINSN2OPF): Define.
    	(EXTINSN2OP): Use EXTINSN2OPF.
    	(bspeekm, bspop, modapp): New extension instructions.
    	* arc-opc.c (F_DNZ_ND): Define.
    	(F_DNZ_D): Likewise.
    	(F_SIZEB1): Changed.
    	(C_DNZ_D): Define.
    	(C_HARD): Changed.
    	* arc-tbl.h (dbnz): New instruction.
    	(prealloc): Allow it for ARC EM.
    	(xbfu): Likewise.

commit 005d79fd6101dae0aaf62a1b0cee399efcbd0e21
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Sep 26 18:04:57 2016 +0930

    PowerPC .gnu.attributes
    
    This patch extends Tag_GNU_Power_ABI_FP to cover long double ABIs,
    makes the assembler warn about undefined tag values, and removes
    similar warnings from the linker.  I think it is better to not
    warn in the linker about undefined tag values as future extensions to
    the tags then won't result in likely bogus warnings.  This is
    consistent with the fact that an older linker won't warn on an
    entirely new tag.
    
    include/
    	* elf/ppc.h (Tag_GNU_Power_ABI_FP): Comment.
    bfd/
    	* elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
    	* elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
    	(ppc_elf_merge_obj_attributes): Use it.  Don't copy first file
    	attributes, merge them.  Don't warn about undefined tag bits,
    	or copy unknown values to output.
    	* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
    	_bfd_elf_ppc_merge_fp_attributes.
    binutils/
    	* readelf.c (display_power_gnu_attribute): Catch truncated section
    	for all powerpc attributes.  Display long double ABI.  Don't
    	capitalize words, except for names.  Show known bits of tag values
    	when some unknown bits are present.  Whitespace fixes.
    gas/
    	* config/tc-ppc.c (ppc_elf_gnu_attribute): New function.
    	(md_pseudo_table <ELF>): Handle "gnu_attribute".
    ld/
    	* testsuite/ld-powerpc/attr-gnu-4-4.s: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-14.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-24.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-34.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-41.d: Delete.
    	* testsuite/ld-powerpc/attr-gnu-4-32.d: Adjust expected warning.
    	* testsuite/ld-powerpc/attr-gnu-8-23.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-01.d: Adjust expected output.
    	* testsuite/ld-powerpc/attr-gnu-4-02.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-03.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-10.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-11.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-20.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-22.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-4-33.d: Likewise.
    	* testsuite/ld-powerpc/attr-gnu-8-11.d: Likewise.
    	* testsuite/ld-powerpc/powerpc.exp: Don't run deleted tests.

commit 153679d55f9e74c369ca67444bdbaad82855cc6e
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Sep 26 18:04:35 2016 +0930

    [GOLD] regen testsuite/Makefile.in

commit 2422813015a1601d0484afef73a94753ffc07a1d
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Sep 26 18:04:18 2016 +0930

    [GOLD] warning fixes
    
    	* aarch64.cc (Target_aarch64::is_erratum_835769_sequence): Avoid
    	compiler warning.
    	* output.cc (Output_segment::set_section_addresses): Likewise.

commit 7358f4cbaf3c6fafbbbc9703a5e2884470643bfa
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Sep 26 17:55:08 2016 +0930

    Fix nm potential buffer overflow
    
    get_coff_symbol_type had a potenial buffer overflow even with
    untranslated messages.
    
    	* nm.c (get_elf_symbol_type): Don't use sprintf with translated
    	strings, use asprintf instead.
    	(get_coff_symbol_type): Likewise.

commit edeeb6024373d865284903f0b96b9811afde0441
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Sep 26 04:01:19 2016 +0100

    Call debug_exit in linux_wait_1
    
    When I read the GDBserver debug message, I find the "entering" of
    linux_wait_1 doesn't match the "existing" of linux_wait_1.  Looks
    we don't call debug_exit somewhere in linux_wait_1 on return.
    
    gdb/gdbserver:
    
    2016-09-26  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (linux_wait_1): Call debug_exit.

commit b9897522a5d0c812a5baded84ba0ecb01e1d08f5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Sep 26 00:00:20 2016 +0000

    Automatic date update in version.in

commit ec93bc323de89ba6056c5325b307e7e4e4b17276
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Sep 25 00:00:21 2016 +0000

    Automatic date update in version.in

commit 9eee20eb5400345cab1952cbfc0426035ddf1140
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Fri Sep 23 14:07:55 2016 +0100

    Fix a use of target_mourn_inferior in windows-nat.c
    
    One use of target_mourn_interior seems to have been missed in bc1e6c81
    
    gdb/ChangeLog:
    
    2016-09-23  Jon Turney  <jon.turney@dronecode.org.uk>
    
    	* windows-nat.c (windows_delete_thread): Adjusting call to
    	target_mourn_inferior to include ptid_t argument.

commit f4e0d9f40b21fb42bbf7da07917683fb1cc16e8e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Sep 24 00:00:16 2016 +0000

    Automatic date update in version.in

commit a97e29d248d51bb688cff677def657eb0cf82cca
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 08:41:33 2016 -0600

    Use std::string rather than dyn-string
    
    This patch changes some code in cli-cmds.c to use std::string rather
    than dyn-string, removing some cleanups.  Since this was the last use
    of dyn-string in gdb, this patch also removes
    make_cleanup_dyn_string_delete.
    
    2016-09-23  Tom Tromey  <tom@tromey.com>
    
    	* utils.h (make_cleanup_dyn_string_delete): Remove declaration.
    	* utils.c: Don't include dyn-string.h.
    	(do_dyn_string_delete, make_cleanup_dyn_string_delete): Remove.
    	* cli/cli-cmds.c: Include <string>.  Don't include dyn-string.h.
    	(argv_to_string): Rename.  Change return type to std::string.
    	(alias_command): Use std::string.

commit cfe826d45ea2e15f0df4c039dfa4b9ea605831da
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 08:33:13 2016 -0600

    Use std::vector in objfiles.c
    
    This patch changes a spot in objfiles.c to use a std::vector, removing
    a cleanup.
    
    2016-09-23  Tom Tromey  <tom@tromey.com>
    
    	* objfiles.c: Include <vector>.
    	(objfile_relocate): Use std::vector.

commit ab8b80a88546eacb6e75004e8dd571e6bdf9505f
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 09:51:20 2016 -0600

    Use std::string, std::vector in rust-lang.c
    
    This patch changes some spots in rust-lang.c to use std::string or
    std::vector, removing some cleanups.
    
    2016-09-23  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c: Include <string> and <vector>.
    	(rust_evaluate_funcall): Use std::vector, std::string.
    	(rust_evaluate_subexp): Use std::string.
    	(rust_lookup_symbol_nonlocal): Use std::string.

commit 05d49c372d4689f8ca8baf4fdd32529ac40f297a
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 09:51:03 2016 -0600

    Use std::string in cp-namespace.c
    
    This changes a few spots in cp-namespace.c to use std::string,
    removing some cleanups.
    
    2016-09-23  Tom Tromey  <tom@tromey.com>
    
    	* cp-namespace.c: Include <string>.
    	(cp_search_static_and_baseclasses)
    	(cp_lookup_symbol_imports_or_template, find_symbol_in_baseclass):
    	Use std::string.

commit 5809899dad253e2fefcb6f7ae57a6f43cfa4e3c5
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 22 09:50:50 2016 -0600

    Use std::string in break-catch-sig.c
    
    This changes one spot in break-catch-sig.c to use std::string,
    removing some cleanups.
    
    2016-09-23  Tom Tromey  <tom@tromey.com>
    
    	* break-catch-sig.c: Include <string>.
    	(signal_catchpoint_print_one): Use std::string.

commit 3e25a500a1ba05587389737e7c617e5ae6dd2bcf
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Sep 23 10:40:36 2016 -0600

    Remove some unnecessary code
    
    This patch removes some unnecessary code.  In particular,
    terminate_minimal_symbol_table is declared in minsyms.h, so it doesn't
    need to be declared in objfiles.h as well.  And,
    restore_ui_out_closure was rendered unnecessary by an earlier patch,
    so the structure definition can be removed now.
    
    I'm checking this in as obvious.
    
    Tested by rebuilding on x86-64 Fedora 24 with --enable-targets=all;
    which would notice any missing includes of minsyms.h.
    
    2016-09-23  Tom Tromey  <tom@tromey.com>
    
    	* utils.c (struct restore_ui_out_closure): Remove.
    	* objfiles.h (terminate_minimal_symbol_table): Don't declare.

commit 97e64e5ab19dbf6a9babd711e8deec5545520954
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Sep 23 17:27:26 2016 +0100

    Replace sprintf with xsnprintf in nat/linux-osdata.c
    
    I see the following build warning when I build GDB with GCC trunk.
    
    ../../binutils-gdb/gdb/nat/linux-osdata.c: In function ‘LONGEST linux_xfer_osdata_fds(gdb_byte*, ULONGEST, ULONGEST)’:
    ../../binutils-gdb/gdb/nat/linux-osdata.c:767:1: error: ‘%s’ directive writing between 0 and 255 bytes into a region of size 11 [-Werror=format-length=]
     linux_xfer_osdata_fds (gdb_byte *readbuf,
     ^~~~~~~~~~~~~~~~~~~~~
    ../../binutils-gdb/gdb/nat/linux-osdata.c:800:51: note: format output between 7 and 262 bytes into a destination of size 17
            sprintf (procentry, "/proc/%s", dp->d_name);
                                                       ^
    ../../binutils-gdb/gdb/nat/linux-osdata.c: In function ‘LONGEST linux_xfer_osdata_threads(gdb_byte*, ULONGEST, ULONGEST)’:
    ../../binutils-gdb/gdb/nat/linux-osdata.c:555:1: error: ‘%s’ directive writing between 0 and 255 bytes into a region of size 11 [-Werror=format-length=]
     linux_xfer_osdata_threads (gdb_byte *readbuf,
     ^~~~~~~~~~~~~~~~~~~~~~~~~
    ../../binutils-gdb/gdb/nat/linux-osdata.c:588:51: note: format output between 7 and 262 bytes into a destination of size 17
            sprintf (procentry, "/proc/%s", dp->d_name);
                                                       ^
    cc1plus: all warnings being treated as errors
    
    The warning is a false positive, but we can workaround it by replacing
    sprintf with xsnprintf.  On the other hand, it is always preferred to
    use xsnprintf.
    
    gdb:
    
    2016-09-23  Yao Qi  <yao.qi@linaro.org>
    
    	* nat/linux-osdata.c (linux_xfer_osdata_threads): Replace
    	sprintf with xsnprintf.
    	(linux_xfer_osdata_fds): Likewise.

commit 503b1c39dc801389f7ae510fb1f7ee1e533b67ac
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Sep 23 16:42:24 2016 +0100

    gdb: Replace operator new / operator new[]
    
    If xmalloc fails allocating memory, usually because something tried a
    huge allocation, like xmalloc(-1) or some such, GDB asks the user what
    to do:
    
      .../src/gdb/utils.c:1079: internal-error: virtual memory exhausted.
      A problem internal to GDB has been detected,
      further debugging may prove unreliable.
      Quit this debugging session? (y or n)
    
    If the user says "n", that throws a QUIT exception, which is caught by
    one of the multiple CATCH(RETURN_MASK_ALL) blocks somewhere up the
    stack.
    
    The default implementations of operator new / operator new[] call
    malloc directly, and on memory allocation failure throw
    std::bad_alloc.  Currently, if that happens, since nothing catches it,
    the exception escapes out of main, and GDB aborts from unhandled
    exception.
    
    This patch replaces the default operator new variants with versions
    that, just like xmalloc:
    
     #1 - Raise an internal-error on memory allocation failure.
    
     #2 - Throw a QUIT gdb_exception, so that the exact same CATCH blocks
          continue handling memory allocation problems.
    
    A minor complication of #2 is that operator new can _only_ throw
    std::bad_alloc, or something that extends it:
    
      void* operator new (std::size_t size) throw (std::bad_alloc);
    
    That means that if we let a gdb QUIT exception escape from within
    operator new, the C++ runtime aborts due to unexpected exception
    thrown.
    
    So to bridge the gap, this patch adds a new gdb_quit_bad_alloc
    exception type that inherits both std::bad_alloc and gdb_exception,
    and throws _that_.
    
    If we decide that we should be catching memory allocation errors in
    fewer places than all the places we currently catch them (everywhere
    we use RETURN_MASK_ALL currently), then we could change operator new
    to throw plain std::bad_alloc then.  But I'm considering such a change
    as separate matter from this one -- it'd make sense to do the same to
    xmalloc at the same time, for instance.
    
    Meanwhile, this allows using new/new[] instead of xmalloc/XNEW/etc.
    without losing the "virtual memory exhausted" internal-error
    safeguard.
    
    Tested on x86_64 Fedora 23.
    
    gdb/ChangeLog:
    2016-09-23  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add common/new-op.c.
    	(COMMON_OBS): Add common/new-op.o.
    	(new-op.o): New rule.
    	* common/common-exceptions.h: Include <new>.
    	(struct gdb_quit_bad_alloc): New type.
    	* common/new-op.c: New file.
    
    gdb/gdbserver/ChangeLog:
    2016-09-23  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add common/new-op.c.
    	(OBS): Add common/new-op.o.
    	(new-op.o): New rule.

commit 5025eb7c0d87b01507116353b5d63b163d7add3d
Author: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Date:   Fri Sep 23 16:32:04 2016 +0100

    Delete relocations associatesd with deleted exidx entries.
    
    	PR ld/20595
    ld	* testsuite/ld-arm/unwind-4.d: Add -q option to linker command
    	line and -r option to objdump command line.  Match emitted relocs
    	to make sure that superflous relocs are not generated.
    
    bfd	* elf-bfd.h (struct elf_backend_data): Add
    	elf_backend_count_output_relocs callback to count relocations in
    	the final output.
    	* elf-arm.c (elf32_arm_add_relocation): Deleted.
    	(elf32_arm_write_section): Move additional relocation to emit_relocs.
    	(elf32_arm_count_output_relocs): New function.
    	(emit_relocs): New function.
    	(elf32_arm_emit_relocs): New function.
    	(elf32_arm_vxworks_emit_relocs): New function.
    	(elf_backend_emit_relocs): Updated to use the new functions.
    	(elf_backend_count_output_relocs): New define.
    	* bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
    	to the relocation count.
    	(_bfd_elf_link_size_reloc_section): Use callback to count the
    	relocations which will be in output.
    	(_bfd_elf_default_count_output_relocs): New function.
    	* bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.

commit 7c4236c3505d8dca3c6d9c2bc61145fa759bf4ce
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Fri Sep 23 11:26:05 2016 +0200

    S/390: Move start of 64 bit binaries from 2GB to 256MB.
    
    ld/ChangeLog:
    
    2016-09-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* emulparams/elf64_s390.sh: Change TEXT_START_ADDR to 256MB.
    	* testsuite/ld-s390/tlsbin_64.dd: Adjust testcase accordingly.
    	* testsuite/ld-s390/tlsbin_64.rd: Likewise.

commit 27b5c3d96d45b0010d1bf4ef9f47b6d4ec0363c0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Sep 23 00:00:20 2016 +0000

    Automatic date update in version.in

commit f73842fc847e297fd44542de9601a84b4d6b28d8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Sep 22 16:04:03 2016 +0100

    Close gdbserver in mi_gdb_exit
    
    In commit 6423214f (testsuite: Don't use expect_background to reap
    gdbserver), we override gdb_exit in lib/gdbserver-support.exp, so
    that we can close gdbserver first.  However, we don't close gdbserver
    in mi_gdb_exit.  This makes a problem in my aarch64 mulit-arch testing,
    in which I run some mi tests, mi-watch.exp for example, in different
    variations (aarch64 and arm),
    
    Schedule of variations:
        junor0-2
        junor0-2-arm/-marm
        junor0-2-arm/-mthumb
    
    When the test is done in the first variation (aarch64), test case is
    recompiled for arm, but GDBserver with aarch64 program is still
    running.  When the second variation is started, GDB loads arm program,
    but GDBserver still loads aarch64 program because the old GDBserver
    process is using it.  We'll get,
    
    47-target-select remote junor0-2:2350^M
    &"warning: Selected architecture arm is not compatible with reported target architecture aarch64\n"^M
    &"warning: Architecture rejected target-supplied description\n"
    
    This patch fixes this problem by closing GDBserver in mi_gdb_exit.
    
    gdb/testsuite:
    
    2016-09-22  Yao Qi  <yao.qi@linaro.org>
    
    	* lib/gdbserver-support.exp: Rename mi_gdb_exit.
    	(gdb_exit): Rename it to ...
    	(gdbserver_gdb_exit): ...  Close GDBserver.
    	(gdb_exit): New proc, call gdbserver_gdb_exit.
    	(mi_gdb_exit): Likewise.

commit de6784544abc97d5e396cb1e83eda1ae09f63d40
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Thu Sep 22 11:33:56 2016 -0300

    Fix build breakage from commit 6ec2b2
    
    I was notified by buildbot that my patch (commit 6ec2b2) has broken the build
    on x86_64:
    
    ../../binutils-gdb/gdb/rs6000-tdep.c: In function int ppc_process_record_op31(gdbarch*, regcache*, CORE_ADDR, uint32_t):
    ../../binutils-gdb/gdb/rs6000-tdep.c:4705:50: error: cannot convert CORE_ADDR* {aka long unsigned int*} to ULONGEST* {aka long long unsigned int*} for argument 3 to register_status regcache_raw_read_unsigned(regcache*, int, ULONGEST*)
             tdep->ppc_gp0_regnum + PPC_RA (insn), &ea);
                                                      ^
    ../../binutils-gdb/gdb/rs6000-tdep.c:4718:50: error: cannot convert CORE_ADDR* {aka long unsigned int*} to ULONGEST* {aka long long unsigned int*} for argument 3 to register_status regcache_raw_read_unsigned(regcache*, int, ULONGEST*)
             tdep->ppc_gp0_regnum + PPC_RA (insn), &ea);
                                                      ^
    The patch below should fix it.
    
    gdb/ChangeLog:
    2016-09-22  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* rs6000-tdep.c (ppc_process_record_op31): Fix
    	regcache_raw_read_unsigned call using the correct parameter type.

commit 90681dabc79316d382aae5e932303f61bd705b16
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Sep 21 11:43:22 2016 +0100

    Use gdbserver-base in remote-gdbserver-on-localhost.exp
    
    This patch is to make remote-gdbserver-on-localhost.exp use gdbserver-base
    and remove duplicated code.
    
    gdb/testsuite:
    
    2016-09-22  Yao Qi  <yao.qi@linaro.org>
    
    	* boards/gdbserver-base.exp (gdb_server_prog): Set the absolute
    	path.
    	* boards/remote-gdbserver-on-localhost.exp: Use gdbserver-base.
    	Remove duplication.

commit 0ec22c2c9fd06505f333c00235b3328a632bb69c
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Sep 22 14:29:49 2016 +0100

    Report failed attempts to locate DT_NEEDED files when --verbose is in effect.
    
    	* emultempl/elf32.em (_try_needed): In verbose mode, report failed
    	attempts to find a needed library.

commit fa42dd2e8328560e65c888277ab146810c1763a8
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Thu Sep 22 13:29:43 2016 +0300

    arc: Fix ARI warning for printf(%p)
    
    Replace printf ("%p") with printf ("%s", host_address_to_string ()). Printing
    host addrss might make sense here because pointers can be null and this would
    affect how function behaves.
    
    This particular warning is printed only when option -Wari is passed to
    contrib/ari/gdb_ari.sh
    
    gdb/ChangeLog:
    
    	* arc-tdep.c: Fix ARI warning for printf(%p).

commit 870dd155d688fec15d61eb1fe7ef36bd36791dd4
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Sep 22 11:30:24 2016 +0100

    Remove legacy basepri_mask MRS/MSR special reg
    
    2016-09-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (v7m_psrs): Remove BASEPRI_MASK MRS/MSR special
    	register and redundant basepri_max.

commit 9c211fd8d6c7a600a7e55f272e21a967377a7c87
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Sep 21 09:20:12 2016 +0100

    Check the right proc name
    
    In lib/gdbserver-support.exp, we rename gdb_exit to
    gdbserver_orig_gdb_exit, but we check the existence gdbserver_gdb_exit.
    We should check gdbserver_orig_gdb_exit instead.  Looks it is a typo
    or an oversight.
    
    gdb/testsuite:
    
    2016-09-22  Yao Qi  <yao.qi@linaro.org>
    
    	* lib/gdbserver-support.exp: Check the existence of
    	gdbserver_orig_gdb_exit rather than gdbserver_gdb_exit.

commit 1e0baa1f26cf008198d0abf4d9f1595f464d5657
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Sep 22 00:00:18 2016 +0000

    Automatic date update in version.in

commit 31da3f27d765612d3f067467ad39e386da7bacd7
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Aug 26 16:14:55 2016 +0300

    Add myself as a write-after-approval GDB maintainer
    
    gdb/ChangeLog:
    
    	* MAINTAINERS (Write After Approval): Add Anton Kolesov.

commit ad0a504f7e10ea11dbf58eb9990a5180f781b695
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Aug 12 20:02:20 2016 +0300

    arc: New Synopsys ARC port
    
    ARC is a family of licensable processors developed by Synopsys.
    
    This is an initial patch that doesn't yet support some of the features, that
    are already available in Synopsys' fork of GDB, namely:
    
      * longjmp support
      * signal frame handling
      * prologue analysis
      * Linux targets support
      * native Linux support
    
    ARC cores are configurable and extensible, which means from debugger
    perspective that some registers and debug capabilities are optional, therefore
    it is up to the GDB stub to determine exact list of register available on
    target and supply it to GDB via XML target descriptions.  List of registers
    that is known to GDB and is required is intentionally kept small to simplify
    requirements to GDB stub and implementation of a GDB client.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_TARGET_OBS): Add arc-tdep.o.
    	(HFILES_NO_SRCDIR): Add arc-tdep.h.
    	(ALLDEPFILES): Add arc-tdep.c.
    	* NEWS: Mention new ARC port.
    	* configure.tgt: Add ARC.
    	* arc-tdep.c: New file.
    	* arc-tdep.h: New file.
    	* features/Makefile (XMLTOC): Add arc-v2.xml and arc-arcompact.xml.
    	* features/arc-v2.xml: New file.
    	* features/arc-v2.c: New file (generated).
    	* features/arc-arcompact.xml: New file.
    	* features/arc-arcompact.c: New file (generated).
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Embedded Processors): Document ARC.
    	(Synopsys ARC): New section.
    	(Standard Target Features): Document ARC features.
    	(ARC Features): New section.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.xml/tdesc-regs.exp: set core-regs for arc*-*-elf32.

commit 8aabe2e254e6a0419db9c6397c4068c69bfd95b0
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Wed Sep 21 14:47:43 2016 -0300

    ppc: Fix return of instruction handlers in ppc_process_record_op63
    
    some instruction handlers in ppc_process_record_op63() seem to be missing
    return or incorrectly using break. This patch aims to fix that.
    
    gdb/ChangeLog:
    2016-09-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* rs6000-tdep.c (ppc_process_record_op63): Fix return of instruction
    	handlers.

commit 36cf1806a87fdd208c704d0768af232ce35aae9f
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Sep 14 11:48:31 2016 -0600

    PR gdb/20604 - fix "quit" when an invalid expression is used
    
    This fixes PR gdb/20604.  The bug here is that passing an invalid
    expression to "quit" -- e.g., "quit()" -- causes gdb to enter a
    non-functioning state.
    
    The immediate problem is that quit_force resets the terminal before
    evaluating the expression.  However, it seemed to me that it doesn't
    really make sense to pass the quit_force argument to kill_or_detach
    (which passes it to to_detach), first because conflating the exit
    status for "quit" and the signal to pass when detaching doesn't make
    sense, and second because to_detach implementations generally only
    accept a constant here, while "quit" accepts an expression.  So, I
    removed that.
    
    As an aside, I think the "detach SIGNO" functionality is not
    documented.
    
    Built and regtested on x86-64 Fedora 24.
    
    2016-09-21  Tom Tromey  <tom@tromey.com>
    
    	PR gdb/20604:
    	* top.h (quit_force): Update.
    	* top.c (quit_force): Changed type of first argument.  Don't
    	evaluate expression.  Pass NULL to kill_or_detach.
    	* cli/cli-cmds.c (quit_command): Evaluate "args".
    
    2016-09-21  Tom Tromey  <tom@tromey.com>
    
    	PR gdb/20604:
    	* gdb.base/quit.exp: New file.

commit 74172ecf37e5877085c5d01f335db94e8091ba97
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Sep 21 13:12:21 2016 -0400

    Update and add .gitignore's
    
    This patch adds a bunch of generated files to gdb's gitignore files.
    There are still a bunch of "stamp" files that are not ignored, but I
    think the rule for them should be put in the top-level gitignore.
    
    Users and developers are encouraged to build out-of-tree, but some
    people prefer the simplicity to build in-tree, so it should be useful
    for them.
    
    gdb/ChangeLog:
    
    	* .gitignore: Ignore more files.
    	* data-directory/.gitignore: Likewise.
    
    gdb/doc/ChangeLog:
    
    	* .gitignore: New file.
    
    gdb/gdbserver/ChangeLog:
    
    	* .gitinore: Ignore more files.
    
    gdb/testsuite/ChangeLog:
    
    	* .gitignore: New file.

commit 6ec2b213de6962ceeb81bfa33354ea6e60c57049
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Wed Sep 21 13:30:39 2016 -0300

    ppc: Add Power ISA 3.0/POWER9 instructions record support
    
    gdb/ChangeLog:
    2016-09-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* rs6000-tdep.c (PPC_DQ): New macro.
    	(ppc_process_record_op4): Add Power ISA 3.0 instructions.
    	(ppc_process_record_op19): Likewise.
    	(ppc_process_record_op31): Likewise.
    	(ppc_process_record_op59): Likewise.
    	(ppc_process_record_op60): Likewise.
    	(ppc_process_record_op63): Likewise.
    	(ppc_process_record): Likewise.
    	(ppc_process_record_op61): New function.

commit ad43e107eb233dcef8e76da6328aa4e4d74afd84
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 17:11:52 2016 +0100

    [AArch64] Print spaces after commas in addresses
    
    I got an off-list request to make the AArch64 disassembler print
    spaces after commas in addresses.  This patch does that.
    
    The same code is used to print operands in "did you mean" errors,
    so to keep things consistent, the patch also prints spaces between
    operands in those messages.
    
    opcodes/
    	* aarch64-opc.c (print_immediate_offset_address): Print spaces
    	after commas in addresses.
    	(aarch64_print_operand): Likewise.
    
    gas/
    	* config/tc-aarch64.c (print_operands): Print spaces between
    	operands.
    	* testsuite/gas/aarch64/ilp32-basic.d: Expect spaces after ","
    	in addresses.
    	* testsuite/gas/aarch64/ldst-reg-imm-post-ind.d: Likewise.
    	* testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d: Likewise.
    	* testsuite/gas/aarch64/ldst-reg-pair.d: Likewise.
    	* testsuite/gas/aarch64/ldst-reg-reg-offset.d: Likewise.
    	* testsuite/gas/aarch64/ldst-reg-uns-imm.d: Likewise.
    	* testsuite/gas/aarch64/ldst-reg-unscaled-imm.d: Likewise.
    	* testsuite/gas/aarch64/reloc-insn.d: Likewise.
    	* testsuite/gas/aarch64/sve.d: Likewise.
    	* testsuite/gas/aarch64/symbol.d: Likewise.
    	* testsuite/gas/aarch64/system.d: Likewise.
    	* testsuite/gas/aarch64/tls-desc.d: Likewise.
    	* testsuite/gas/aarch64/sve-invalid.l: Expect spaces after ","
    	in suggested alternatives.
    	* testsuite/gas/aarch64/verbose-error.l: Likewise.
    
    ld/
    	* testsuite/ld-aarch64/emit-relocs-28.d: Expect spaces after ","
    	in addresses.
    	* testsuite/ld-aarch64/emit-relocs-301-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-301.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-302-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-302.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-310-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-310.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-313.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-515.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-516.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-531.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-532.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-533.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-534.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-535.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-536.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-537.d: Likewise.
    	* testsuite/ld-aarch64/emit-relocs-538.d: Likewise.
    	* testsuite/ld-aarch64/erratum835769.d: Likewise.
    	* testsuite/ld-aarch64/erratum843419.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
    	* testsuite/ld-aarch64/gc-plt-relocs.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-21.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7c.d: Likewise.
    	* testsuite/ld-aarch64/tls-desc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-desc-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-desc.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-ie-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-large-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-all.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gd-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d: Likewise.
    	* testsuite/ld-aarch64/tls-relax-large-desc-ie.d: Likewise.
    	* testsuite/ld-aarch64/tls-tiny-desc.d: Likewise.
    	* testsuite/ld-aarch64/tls-tiny-gd.d: Likewise.

commit ab3b8fcfdb06695d27eaec4eedb019ada4a5713e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 17:11:04 2016 +0100

    [AArch64] Use "must" rather than "should" in error messages
    
    One of the review comments from the SVE series was that it would
    be better to use "must" rather than "should" in error messages.
    I think this patch fixes all cases in the AArch64 code.
    It also uses "must be" instead of "expected to be".
    
    opcodes/
    	* aarch64-opc.c (operand_general_constraint_met_p): Use "must be"
    	rather than "should be" or "expected to be" in error messages.
    
    gas/
    	* config/tc-aarch64.c (output_operand_error_record): Use "must be"
    	rather than "should be" or "expected to be" in error messages.
    	(parse_operands): Likewise.
    	* testsuite/gas/aarch64/diagnostic.l: Likewise.
    	* testsuite/gas/aarch64/legacy_reg_names.l: Likewise.
    	* testsuite/gas/aarch64/sve-invalid.l: Likewise.
    	* testsuite/gas/aarch64/sve-reg-diagnostic.l: Likewise.

commit bb7eff5206e4795ac79c177a80fe9f4630aaf730
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 17:09:59 2016 +0100

    [AArch64] Add SVE condition codes
    
    SVE defines new names for existing NZCV conditions, to reflect the
    result of instructions like PTEST.  This patch adds support for these
    names.
    
    The patch also adds comments to the disassembly output to show the
    alternative names of a condition code.  For example:
    
    	cinv	x0, x1, cc
    
    becomes:
    
         	cinv	x0, x1, cc  // cc = lo, ul, last
    
    and:
    
    	b.cc	f0 <...>
    
    becomes:
    
         	b.cc	f0 <...>  // b.lo, b.ul, b.last
    
    Doing this for the SVE names follows the practice recommended by the
    SVE specification and is definitely useful when reading SVE code.
    If the feeling is that it's too distracting elsewhere, we could add
    an option to turn it off.
    
    include/
    	* opcode/aarch64.h (aarch64_cond): Bump array size to 4.
    
    opcodes/
    	* aarch64-dis.c (remove_dot_suffix): New function, split out from...
    	(print_mnemonic_name): ...here.
    	(print_comment): New function.
    	(print_aarch64_insn): Call it.
    	* aarch64-opc.c (aarch64_conds): Add SVE names.
    	(aarch64_print_operand): Print alternative condition names in
    	a comment.
    
    gas/
    	* config/tc-aarch64.c (opcode_lookup): Search for the end of
    	a condition name, rather than assuming that it will have exactly
    	2 characters.
    	(parse_operands): Likewise.
    	* testsuite/gas/aarch64/alias.d: Add new condition-code comments
    	to the expected output.
    	* testsuite/gas/aarch64/beq_1.d: Likewise.
    	* testsuite/gas/aarch64/float-fp16.d: Likewise.
    	* testsuite/gas/aarch64/int-insns.d: Likewise.
    	* testsuite/gas/aarch64/no-aliases.d: Likewise.
    	* testsuite/gas/aarch64/programmer-friendly.d: Likewise.
    	* testsuite/gas/aarch64/reloc-insn.d: Likewise.
    	* testsuite/gas/aarch64/b_c_1.d, testsuite/gas/aarch64/b_c_1.s:
    	New test.
    
    ld/
    	* testsuite/ld-aarch64/emit-relocs-280.d: Match branch comments.
    	* testsuite/ld-aarch64/weak-undefined.d: Likewise.

commit f2a5c4f5af38b146f0bc7e1407e422ac292f9da7
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 17:08:58 2016 +0100

    Fix misplaced ChangeLog

commit bc33f5f961b18a0a8303924f7bc6140730ec006a
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:59:07 2016 +0100

    [AArch64][SVE 32/32] Add SVE tests
    
    This patch adds new tests for SVE.  It also extends diagnostic.[sl] with
    checks for some inappropriate uses of MUL and MUL VL in base AArch64
    instructions.
    
    gas/testsuite/
    	* gas/aarch64/diagnostic.s, gas/aarch64/diagnostic.l: Add tests for
    	invalid uses of MUL VL and MUL in base AArch64 instructions.
    	* gas/aarch64/sve-add.s, gas/aarch64/sve-add.d, gas/aarch64/sve-dup.s,
    	gas/aarch64/sve-dup.d, gas/aarch64/sve-invalid.s,
    	gas/aarch64/sve-invalid.d, gas/aarch64/sve-invalid.l,
    	gas/aarch64/sve-reg-diagnostic.s, gas/aarch64/sve-reg-diagnostic.d,
    	gas/aarch64/sve-reg-diagnostic.l, gas/aarch64/sve.s,
    	gas/aarch64/sve.d: New tests.

commit c0890d26289c4dad0e2ddedb7822a32a0645d150
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:58:48 2016 +0100

    [AArch64][SVE 31/32] Add SVE instructions
    
    This patch adds the SVE instruction definitions and associated OP_*
    enum values.
    
    include/
    	* opcode/aarch64.h (AARCH64_FEATURE_SVE): New macro.
    	(OP_MOV_P_P, OP_MOV_Z_P_Z, OP_MOV_Z_V, OP_MOV_Z_Z, OP_MOV_Z_Zi)
    	(OP_MOVM_P_P_P, OP_MOVS_P_P, OP_MOVZS_P_P_P, OP_MOVZ_P_P_P)
    	(OP_NOTS_P_P_P_Z, OP_NOT_P_P_P_Z): New aarch64_ops.
    
    opcodes/
    	* aarch64-tbl.h (OP_SVE_B, OP_SVE_BB, OP_SVE_BBBU, OP_SVE_BMB)
    	(OP_SVE_BPB, OP_SVE_BUB, OP_SVE_BUBB, OP_SVE_BUU, OP_SVE_BZ)
    	(OP_SVE_BZB, OP_SVE_BZBB, OP_SVE_BZU, OP_SVE_DD, OP_SVE_DDD)
    	(OP_SVE_DMD, OP_SVE_DMH, OP_SVE_DMS, OP_SVE_DU, OP_SVE_DUD, OP_SVE_DUU)
    	(OP_SVE_DUV_BHS, OP_SVE_DUV_BHSD, OP_SVE_DZD, OP_SVE_DZU, OP_SVE_HB)
    	(OP_SVE_HMD, OP_SVE_HMS, OP_SVE_HU, OP_SVE_HUU, OP_SVE_HZU, OP_SVE_RR)
    	(OP_SVE_RURV_BHSD, OP_SVE_RUV_BHSD, OP_SVE_SMD, OP_SVE_SMH, OP_SVE_SMS)
    	(OP_SVE_SU, OP_SVE_SUS, OP_SVE_SUU, OP_SVE_SZS, OP_SVE_SZU, OP_SVE_UB)
    	(OP_SVE_UUD, OP_SVE_UUS, OP_SVE_VMR_BHSD, OP_SVE_VMU_SD)
    	(OP_SVE_VMVD_BHS, OP_SVE_VMVU_BHSD, OP_SVE_VMVU_SD, OP_SVE_VMVV_BHSD)
    	(OP_SVE_VMVV_SD, OP_SVE_VMV_BHSD, OP_SVE_VMV_HSD, OP_SVE_VMV_SD)
    	(OP_SVE_VM_SD, OP_SVE_VPU_BHSD, OP_SVE_VPV_BHSD, OP_SVE_VRR_BHSD)
    	(OP_SVE_VRU_BHSD, OP_SVE_VR_BHSD, OP_SVE_VUR_BHSD, OP_SVE_VUU_BHSD)
    	(OP_SVE_VUVV_BHSD, OP_SVE_VUVV_SD, OP_SVE_VUV_BHSD, OP_SVE_VUV_SD)
    	(OP_SVE_VU_BHSD, OP_SVE_VU_HSD, OP_SVE_VU_SD, OP_SVE_VVD_BHS)
    	(OP_SVE_VVU_BHSD, OP_SVE_VVVU_SD, OP_SVE_VVV_BHSD, OP_SVE_VVV_SD)
    	(OP_SVE_VV_BHSD, OP_SVE_VV_HSD_BHS, OP_SVE_VV_SD, OP_SVE_VWW_BHSD)
    	(OP_SVE_VXX_BHSD, OP_SVE_VZVD_BHS, OP_SVE_VZVU_BHSD, OP_SVE_VZVV_BHSD)
    	(OP_SVE_VZVV_SD, OP_SVE_VZV_SD, OP_SVE_V_SD, OP_SVE_WU, OP_SVE_WV_BHSD)
    	(OP_SVE_XU, OP_SVE_XUV_BHSD, OP_SVE_XVW_BHSD, OP_SVE_XV_BHSD)
    	(OP_SVE_XWU, OP_SVE_XXU): New macros.
    	(aarch64_feature_sve): New variable.
    	(SVE): New macro.
    	(_SVE_INSN): Likewise.
    	(aarch64_opcode_table): Add SVE instructions.
    	* aarch64-opc.h (extract_fields): Declare.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.c (do_misc_encoding): Handle the new SVE aarch64_ops.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.c (extract_fields): Make global.
    	(do_misc_decoding): Handle the new SVE aarch64_ops.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* doc/c-aarch64.texi: Document the "sve" feature.
    	* config/tc-aarch64.c (REG_TYPE_R_Z_BHSDQ_VZP): New register type.
    	(get_reg_expected_msg): Handle it.
    	(parse_operands): When parsing operands of an SVE instruction,
    	disallow immediates that match REG_TYPE_R_Z_BHSDQ_VZP.
    	(aarch64_features): Add an entry for SVE.

commit 116b60193779ac65a29fb3688b753527980cb3e7
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:58:22 2016 +0100

    [AArch64][SVE 30/32] Add SVE instruction classes
    
    The main purpose of the SVE aarch64_insn_classes is to describe how
    an index into an aarch64_opnd_qualifier_seq_t is represented in the
    instruction encoding.  Other instructions usually use flags for this
    information, but (a) we're running out of those and (b) the iclass
    would otherwise be unused for SVE.
    
    include/
    	* opcode/aarch64.h (sve_cpy, sve_index, sve_limm, sve_misc)
    	(sve_movprfx, sve_pred_zm, sve_shift_pred, sve_shift_unpred)
    	(sve_size_bhs, sve_size_bhsd, sve_size_hsd, sve_size_sd): New
    	aarch64_insn_classes.
    
    opcodes/
    	* aarch64-opc.h (FLD_SVE_M_4, FLD_SVE_M_14, FLD_SVE_M_16)
    	(FLD_SVE_sz, FLD_SVE_tsz, FLD_SVE_tszl_8, FLD_SVE_tszl_19): New
    	aarch64_field_kinds.
    	* aarch64-opc.c (fields): Add corresponding entries.
    	* aarch64-asm.c (aarch64_get_variant): New function.
    	(aarch64_encode_variant_using_iclass): Likewise.
    	(aarch64_opcode_encode): Call it.
    	* aarch64-dis.c (aarch64_decode_variant_using_iclass): New function.
    	(aarch64_opcode_decode): Call it.

commit 047cd301d40288d13e44f3322541ac28ebe06078
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:57:43 2016 +0100

    [AArch64][SVE 29/32] Add new SVE core & FP register operands
    
    SVE uses some new fields to store W, X and scalar FP registers.
    This patch adds corresponding operands.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_Rm): New aarch64_opnd.
    	(AARCH64_OPND_SVE_Rn_SP, AARCH64_OPND_SVE_VZn, AARCH64_OPND_SVE_Vd)
    	(AARCH64_OPND_SVE_Vm, AARCH64_OPND_SVE_Vn): Likewise.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for the new SVE core
    	and FP register operands.
    	* aarch64-opc.h (FLD_SVE_Rm, FLD_SVE_Rn, FLD_SVE_Vd, FLD_SVE_Vm)
    	(FLD_SVE_Vn): New aarch64_field_kinds.
    	* aarch64-opc.c (fields): Add corresponding entries.
    	(aarch64_print_operand): Handle the new SVE core and FP register
    	operands.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm-2.c: Likewise.
    	* aarch64-dis-2.c: Likewise.
    
    gas/
    	* config/tc-aarch64.c (parse_operands): Handle the new SVE core
    	and FP register operands.

commit 165d4950855493dd904a7996e7fcf58880d54219
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:57:22 2016 +0100

    [AArch64][SVE 28/32] Add SVE FP immediate operands
    
    This patch adds support for the new SVE floating-point immediate
    operands.  One operand uses the same 8-bit encoding as base AArch64,
    but in a different position.  The others use a single bit to select
    between two values.
    
    One of the single-bit operands is a choice between 0 and 1, where 0
    is not a valid 8-bit encoding.  I think the cleanest way of handling
    these single-bit immediates is therefore to use the IEEE float encoding
    itself as the immediate value and select between the two possible values
    when encoding and decoding.
    
    As described in the covering note for the patch that added F_STRICT,
    we get better error messages by accepting unsuffixed vector registers
    and leaving the qualifier matching code to report an error.  This means
    that we carry on parsing the other operands, and so can try to parse FP
    immediates for invalid instructions like:
    
    	fcpy	z0, #2.5
    
    In this case there is no suffix to tell us whether the immediate should
    be treated as single or double precision.  Again, we get better error
    messages by picking one (arbitrary) immediate size and reporting an error
    for the missing suffix later.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_FPIMM8): New aarch64_opnd.
    	(AARCH64_OPND_SVE_I1_HALF_ONE, AARCH64_OPND_SVE_I1_HALF_TWO)
    	(AARCH64_OPND_SVE_I1_ZERO_ONE): Likewise.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for the new SVE FP
    	immediate operands.
    	* aarch64-opc.h (FLD_SVE_i1): New aarch64_field_kind.
    	* aarch64-opc.c (fields): Add corresponding entry.
    	(operand_general_constraint_met_p): Handle the new SVE FP immediate
    	operands.
    	(aarch64_print_operand): Likewise.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.h (ins_sve_float_half_one, ins_sve_float_half_two)
    	(ins_sve_float_zero_one): New inserters.
    	* aarch64-asm.c (aarch64_ins_sve_float_half_one): New function.
    	(aarch64_ins_sve_float_half_two): Likewise.
    	(aarch64_ins_sve_float_zero_one): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_sve_float_half_one, ext_sve_float_half_two)
    	(ext_sve_float_zero_one): New extractors.
    	* aarch64-dis.c (aarch64_ext_sve_float_half_one): New function.
    	(aarch64_ext_sve_float_half_two): Likewise.
    	(aarch64_ext_sve_float_zero_one): Likewise.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* config/tc-aarch64.c (double_precision_operand_p): New function.
    	(parse_operands): Use it to calculate the dp_p input to
    	parse_aarch64_imm_float.  Handle the new SVE FP immediate operands.

commit e950b3453948830c5ce9c2f70d114d0b38a4b4ac
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:56:57 2016 +0100

    [AArch64][SVE 27/32] Add SVE integer immediate operands
    
    This patch adds the new SVE integer immediate operands.  There are
    three kinds:
    
    - simple signed and unsigned ranges, but with new widths and positions.
    
    - 13-bit logical immediates.  These have the same form as in base AArch64,
      but at a different bit position.
    
      In the case of the "MOV Zn.<T>, #<limm>" alias of DUPM, the logical
      immediate <limm> is not allowed to be a valid DUP immediate, since DUP
      is preferred over DUPM for constants that both instructions can handle.
    
    - a new 9-bit arithmetic immediate, of the form "<imm8>{, LSL #8}".
      In some contexts the operand is signed and in others it's unsigned.
      As an extension, we allow shifted immediates to be written as a single
      integer, e.g. "#256" is equivalent to "#1, LSL #8".  We also use the
      shiftless form as the preferred disassembly, except for the special
      case of "#0, LSL #8" (a redundant encoding of 0).
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SIMM5): New aarch64_opnd.
    	(AARCH64_OPND_SVE_AIMM, AARCH64_OPND_SVE_ASIMM)
    	(AARCH64_OPND_SVE_INV_LIMM, AARCH64_OPND_SVE_LIMM)
    	(AARCH64_OPND_SVE_LIMM_MOV, AARCH64_OPND_SVE_SHLIMM_PRED)
    	(AARCH64_OPND_SVE_SHLIMM_UNPRED, AARCH64_OPND_SVE_SHRIMM_PRED)
    	(AARCH64_OPND_SVE_SHRIMM_UNPRED, AARCH64_OPND_SVE_SIMM5)
    	(AARCH64_OPND_SVE_SIMM5B, AARCH64_OPND_SVE_SIMM6)
    	(AARCH64_OPND_SVE_SIMM8, AARCH64_OPND_SVE_UIMM3)
    	(AARCH64_OPND_SVE_UIMM7, AARCH64_OPND_SVE_UIMM8)
    	(AARCH64_OPND_SVE_UIMM8_53): Likewise.
    	(aarch64_sve_dupm_mov_immediate_p): Declare.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for the new SVE
    	integer immediate operands.
    	* aarch64-opc.h (FLD_SVE_immN, FLD_SVE_imm3, FLD_SVE_imm5)
    	(FLD_SVE_imm5b, FLD_SVE_imm7, FLD_SVE_imm8, FLD_SVE_imm9)
    	(FLD_SVE_immr, FLD_SVE_imms, FLD_SVE_tszh): New aarch64_field_kinds.
    	* aarch64-opc.c (fields): Add corresponding entries.
    	(operand_general_constraint_met_p): Handle the new SVE integer
    	immediate operands.
    	(aarch64_print_operand): Likewise.
    	(aarch64_sve_dupm_mov_immediate_p): New function.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.h (ins_inv_limm, ins_sve_aimm, ins_sve_asimm)
    	(ins_sve_limm_mov, ins_sve_shlimm, ins_sve_shrimm): New inserters.
    	* aarch64-asm.c (aarch64_ins_limm_1): New function, split out from...
    	(aarch64_ins_limm): ...here.
    	(aarch64_ins_inv_limm): New function.
    	(aarch64_ins_sve_aimm): Likewise.
    	(aarch64_ins_sve_asimm): Likewise.
    	(aarch64_ins_sve_limm_mov): Likewise.
    	(aarch64_ins_sve_shlimm): Likewise.
    	(aarch64_ins_sve_shrimm): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_inv_limm, ext_sve_aimm, ext_sve_asimm)
    	(ext_sve_limm_mov, ext_sve_shlimm, ext_sve_shrimm): New extractors.
    	* aarch64-dis.c (decode_limm): New function, split out from...
    	(aarch64_ext_limm): ...here.
    	(aarch64_ext_inv_limm): New function.
    	(decode_sve_aimm): Likewise.
    	(aarch64_ext_sve_aimm): Likewise.
    	(aarch64_ext_sve_asimm): Likewise.
    	(aarch64_ext_sve_limm_mov): Likewise.
    	(aarch64_top_bit): Likewise.
    	(aarch64_ext_sve_shlimm): Likewise.
    	(aarch64_ext_sve_shrimm): Likewise.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* config/tc-aarch64.c (parse_operands): Handle the new SVE integer
    	immediate operands.

commit 98907a704908c5877d929c57b2ddb2e5f899d9a9
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:56:15 2016 +0100

    [AArch64][SVE 26/32] Add SVE MUL VL addressing modes
    
    This patch adds support for addresses of the form:
    
           [<base>, #<offset>, MUL VL]
    
    This involves adding a new AARCH64_MOD_MUL_VL modifier, which is
    why I split it out from the other addressing modes.
    
    For LD2, LD3 and LD4, the offset must be a multiple of the structure
    size, so for LD3 the possible values are 0, 3, 6, ....  The patch
    therefore extends value_aligned_p to handle non-power-of-2 alignments.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_ADDR_RI_S4xVL): New aarch64_opnd.
    	(AARCH64_OPND_SVE_ADDR_RI_S4x2xVL, AARCH64_OPND_SVE_ADDR_RI_S4x3xVL)
    	(AARCH64_OPND_SVE_ADDR_RI_S4x4xVL, AARCH64_OPND_SVE_ADDR_RI_S6xVL)
    	(AARCH64_OPND_SVE_ADDR_RI_S9xVL): Likewise.
    	(AARCH64_MOD_MUL_VL): New aarch64_modifier_kind.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for new MUL VL
    	operands.
    	* aarch64-opc.c (aarch64_operand_modifiers): Initialize
    	the AARCH64_MOD_MUL_VL entry.
    	(value_aligned_p): Cope with non-power-of-two alignments.
    	(operand_general_constraint_met_p): Handle the new MUL VL addresses.
    	(print_immediate_offset_address): Likewise.
    	(aarch64_print_operand): Likewise.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.h (ins_sve_addr_ri_s4xvl, ins_sve_addr_ri_s6xvl)
    	(ins_sve_addr_ri_s9xvl): New inserters.
    	* aarch64-asm.c (aarch64_ins_sve_addr_ri_s4xvl): New function.
    	(aarch64_ins_sve_addr_ri_s6xvl): Likewise.
    	(aarch64_ins_sve_addr_ri_s9xvl): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_sve_addr_ri_s4xvl, ext_sve_addr_ri_s6xvl)
    	(ext_sve_addr_ri_s9xvl): New extractors.
    	* aarch64-dis.c (aarch64_ext_sve_addr_reg_mul_vl): New function.
    	(aarch64_ext_sve_addr_ri_s4xvl): Likewise.
    	(aarch64_ext_sve_addr_ri_s6xvl): Likewise.
    	(aarch64_ext_sve_addr_ri_s9xvl): Likewise.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* config/tc-aarch64.c (SHIFTED_NONE, SHIFTED_MUL_VL): New
    	parse_shift_modes.
    	(parse_shift): Handle SHIFTED_MUL_VL.
    	(parse_address_main): Add an imm_shift_mode parameter.
    	(parse_address, parse_sve_address): Update accordingly.
    	(parse_operands): Handle MUL VL addressing modes.

commit 4df068de5214ff55b01ae320ec580f2928eb74e5
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:55:49 2016 +0100

    [AArch64][SVE 25/32] Add support for SVE addressing modes
    
    This patch adds most of the new SVE addressing modes and associated
    operands.  A follow-on patch adds MUL VL, since handling it separately
    makes the changes easier to read.
    
    The patch also introduces a new "operand-dependent data" field to the
    operand flags, based closely on the existing one for opcode flags.
    For SVE this new field needs only 2 bits, but it could be widened
    in future if necessary.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_ADDR_RI_U6): New aarch64_opnd.
    	(AARCH64_OPND_SVE_ADDR_RI_U6x2, AARCH64_OPND_SVE_ADDR_RI_U6x4)
    	(AARCH64_OPND_SVE_ADDR_RI_U6x8, AARCH64_OPND_SVE_ADDR_RR)
    	(AARCH64_OPND_SVE_ADDR_RR_LSL1, AARCH64_OPND_SVE_ADDR_RR_LSL2)
    	(AARCH64_OPND_SVE_ADDR_RR_LSL3, AARCH64_OPND_SVE_ADDR_RX)
    	(AARCH64_OPND_SVE_ADDR_RX_LSL1, AARCH64_OPND_SVE_ADDR_RX_LSL2)
    	(AARCH64_OPND_SVE_ADDR_RX_LSL3, AARCH64_OPND_SVE_ADDR_RZ)
    	(AARCH64_OPND_SVE_ADDR_RZ_LSL1, AARCH64_OPND_SVE_ADDR_RZ_LSL2)
    	(AARCH64_OPND_SVE_ADDR_RZ_LSL3, AARCH64_OPND_SVE_ADDR_RZ_XTW_14)
    	(AARCH64_OPND_SVE_ADDR_RZ_XTW_22, AARCH64_OPND_SVE_ADDR_RZ_XTW1_14)
    	(AARCH64_OPND_SVE_ADDR_RZ_XTW1_22, AARCH64_OPND_SVE_ADDR_RZ_XTW2_14)
    	(AARCH64_OPND_SVE_ADDR_RZ_XTW2_22, AARCH64_OPND_SVE_ADDR_RZ_XTW3_14)
    	(AARCH64_OPND_SVE_ADDR_RZ_XTW3_22, AARCH64_OPND_SVE_ADDR_ZI_U5)
    	(AARCH64_OPND_SVE_ADDR_ZI_U5x2, AARCH64_OPND_SVE_ADDR_ZI_U5x4)
    	(AARCH64_OPND_SVE_ADDR_ZI_U5x8, AARCH64_OPND_SVE_ADDR_ZZ_LSL)
    	(AARCH64_OPND_SVE_ADDR_ZZ_SXTW, AARCH64_OPND_SVE_ADDR_ZZ_UXTW):
    	Likewise.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for the new SVE
    	address operands.
    	* aarch64-opc.h (FLD_SVE_imm6, FLD_SVE_msz, FLD_SVE_xs_14)
    	(FLD_SVE_xs_22): New aarch64_field_kinds.
    	(OPD_F_OD_MASK, OPD_F_OD_LSB, OPD_F_NO_ZR): New flags.
    	(get_operand_specific_data): New function.
    	* aarch64-opc.c (fields): Add entries for FLD_SVE_imm6, FLD_SVE_msz,
    	FLD_SVE_xs_14 and FLD_SVE_xs_22.
    	(operand_general_constraint_met_p): Handle the new SVE address
    	operands.
    	(sve_reg): New array.
    	(get_addr_sve_reg_name): New function.
    	(aarch64_print_operand): Handle the new SVE address operands.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.h (ins_sve_addr_ri_u6, ins_sve_addr_rr_lsl)
    	(ins_sve_addr_rz_xtw, ins_sve_addr_zi_u5, ins_sve_addr_zz_lsl)
    	(ins_sve_addr_zz_sxtw, ins_sve_addr_zz_uxtw): New inserters.
    	* aarch64-asm.c (aarch64_ins_sve_addr_ri_u6): New function.
    	(aarch64_ins_sve_addr_rr_lsl): Likewise.
    	(aarch64_ins_sve_addr_rz_xtw): Likewise.
    	(aarch64_ins_sve_addr_zi_u5): Likewise.
    	(aarch64_ins_sve_addr_zz): Likewise.
    	(aarch64_ins_sve_addr_zz_lsl): Likewise.
    	(aarch64_ins_sve_addr_zz_sxtw): Likewise.
    	(aarch64_ins_sve_addr_zz_uxtw): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_sve_addr_ri_u6, ext_sve_addr_rr_lsl)
    	(ext_sve_addr_rz_xtw, ext_sve_addr_zi_u5, ext_sve_addr_zz_lsl)
    	(ext_sve_addr_zz_sxtw, ext_sve_addr_zz_uxtw): New extractors.
    	* aarch64-dis.c (aarch64_ext_sve_add_reg_imm): New function.
    	(aarch64_ext_sve_addr_ri_u6): Likewise.
    	(aarch64_ext_sve_addr_rr_lsl): Likewise.
    	(aarch64_ext_sve_addr_rz_xtw): Likewise.
    	(aarch64_ext_sve_addr_zi_u5): Likewise.
    	(aarch64_ext_sve_addr_zz): Likewise.
    	(aarch64_ext_sve_addr_zz_lsl): Likewise.
    	(aarch64_ext_sve_addr_zz_sxtw): Likewise.
    	(aarch64_ext_sve_addr_zz_uxtw): Likewise.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* config/tc-aarch64.c (REG_TYPE_SVE_BASE, REG_TYPE_SVE_OFFSET): New
    	register types.
    	(get_reg_expected_msg): Handle them.
    	(aarch64_addr_reg_parse): New function, split out from
    	aarch64_reg_parse_32_64.  Handle Z registers too.
    	(aarch64_reg_parse_32_64): Call it.
    	(parse_address_main): Add base_qualifier, offset_qualifier,
    	base_type and offset_type parameters.  Handle SVE base and offset
    	registers.
    	(parse_address): Update call to parse_address_main.
    	(parse_sve_address): New function.
    	(parse_operands): Parse the new SVE address operands.

commit 2442d8466e221ba6cf4ec4bd2a819fdcb1e5ea7e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:55:22 2016 +0100

    [AArch64][SVE 24/32] Add AARCH64_OPND_SVE_PATTERN_SCALED
    
    Some SVE instructions count the number of elements in a given vector
    pattern and allow a scale factor of [1, 16] to be applied to the result.
    This scale factor is written ", MUL #n", where "MUL" is a new operator.
    E.g.:
    
    	UQINCD	X0, POW2, MUL #2
    
    This patch adds support for this kind of operand.
    
    All existing operators were shifts of some kind, so there was a natural
    range of [0, 63] regardless of context.  This was then narrowered further
    by later checks (e.g. to [0, 31] when used for 32-bit values).
    
    In contrast, MUL doesn't really have a natural context-independent range.
    Rather than pick one arbitrarily, it seemed better to make the "shift"
    amount a full 64-bit value and leave the range test to the usual
    operand-checking code.  I've rearranged the fields of aarch64_opnd_info
    so that this doesn't increase the size of the structure (although I don't
    think its size is critical anyway).
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_PATTERN_SCALED): New
    	aarch64_opnd.
    	(AARCH64_MOD_MUL): New aarch64_modifier_kind.
    	(aarch64_opnd_info): Make shifter.amount an int64_t and
    	rearrange the fields.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add an entry for
    	AARCH64_OPND_SVE_PATTERN_SCALED.
    	* aarch64-opc.h (FLD_SVE_imm4): New aarch64_field_kind.
    	* aarch64-opc.c (fields): Add a corresponding entry.
    	(set_multiplier_out_of_range_error): New function.
    	(aarch64_operand_modifiers): Add entry for AARCH64_MOD_MUL.
    	(operand_general_constraint_met_p): Handle
    	AARCH64_OPND_SVE_PATTERN_SCALED.
    	(print_register_offset_address): Use PRIi64 to print the
    	shift amount.
    	(aarch64_print_operand): Likewise.  Handle
    	AARCH64_OPND_SVE_PATTERN_SCALED.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.h (ins_sve_scale): New inserter.
    	* aarch64-asm.c (aarch64_ins_sve_scale): New function.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_sve_scale): New inserter.
    	* aarch64-dis.c (aarch64_ext_sve_scale): New function.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* config/tc-aarch64.c (SHIFTED_MUL): New parse_shift_mode.
    	(parse_shift): Handle it.  Reject AARCH64_MOD_MUL for all other
    	shift modes.  Skip range tests for AARCH64_MOD_MUL.
    	(process_omitted_operand): Handle AARCH64_OPND_SVE_PATTERN_SCALED.
    	(parse_operands): Likewise.

commit 245d2e3fe8d9ff35c65ed1329609fb7e59034877
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:54:53 2016 +0100

    [AArch64][SVE 23/32] Add SVE pattern and prfop operands
    
    The SVE instructions have two enumerated operands: one to select a
    vector pattern and another to select a prefetch operation.  The latter
    is a cut-down version of the base AArch64 prefetch operation.
    
    Both types of operand can also be specified as raw enum values such as #31.
    Reserved values can only be specified this way.
    
    If it hadn't been for the pattern operand, I would have been tempted
    to use the existing parsing for prefetch operations and add extra
    checks for SVE.  However, since the patterns needed new enum parsing
    code anyway, it seeemed cleaner to reuse it for the prefetches too.
    
    Because of the small number of enum values, I don't think we'd gain
    anything by using hash tables.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_PATTERN): New aarch64_opnd.
    	(AARCH64_OPND_SVE_PRFOP): Likewise.
    	(aarch64_sve_pattern_array): Declare.
    	(aarch64_sve_prfop_array): Likewise.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for
    	AARCH64_OPND_SVE_PATTERN and AARCH64_OPND_SVE_PRFOP.
    	* aarch64-opc.h (FLD_SVE_pattern): New aarch64_field_kind.
    	(FLD_SVE_prfop): Likewise.
    	* aarch64-opc.c: Include libiberty.h.
    	(aarch64_sve_pattern_array): New variable.
    	(aarch64_sve_prfop_array): Likewise.
    	(fields): Add entries for FLD_SVE_pattern and FLD_SVE_prfop.
    	(aarch64_print_operand): Handle AARCH64_OPND_SVE_PATTERN and
    	AARCH64_OPND_SVE_PRFOP.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Likewise.
    	* aarch64-opc-2.c: Likewise.
    
    gas/
    	* config/tc-aarch64.c (parse_enum_string): New function.
    	(po_enum_or_fail): New macro.
    	(parse_operands): Handle AARCH64_OPND_SVE_PATTERN and
    	AARCH64_OPND_SVE_PRFOP.

commit d50c751e00b5336b4604b92271ab84615fdb0d27
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:54:30 2016 +0100

    [AArch64][SVE 22/32] Add qualifiers for merging and zeroing predication
    
    This patch adds qualifiers to represent /z and /m suffixes on
    predicate registers.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_QLF_P_Z): New aarch64_opnd_qualifier.
    	(AARCH64_OPND_QLF_P_M): Likewise.
    
    opcodes/
    	* aarch64-opc.c (aarch64_opnd_qualifiers): Add entries for
    	AARCH64_OPND_QLF_P_[ZM].
    	(aarch64_print_operand): Print /z and /m where appropriate.
    
    gas/
    	* config/tc-aarch64.c (vector_el_type): Add NT_zero and NT_merge.
    	(parse_vector_type_for_operand): Assert that the skipped character
    	is a '.'.
    	(parse_predication_for_operand): New function.
    	(parse_typed_reg): Parse /z and /m suffixes for predicate registers.
    	(vectype_to_qualifier): Handle NT_zero and NT_merge.

commit f11ad6bc0fc44b94c6970115bb6984b497b967e7
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:53:54 2016 +0100

    [AArch64][SVE 21/32] Add Zn and Pn registers
    
    This patch adds the Zn and Pn registers, and associated fields and
    operands.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_CLASS_SVE_REG): New
    	aarch64_operand_class.
    	(AARCH64_OPND_CLASS_PRED_REG): Likewise.
    	(AARCH64_OPND_SVE_Pd, AARCH64_OPND_SVE_Pg3, AARCH64_OPND_SVE_Pg4_5)
    	(AARCH64_OPND_SVE_Pg4_10, AARCH64_OPND_SVE_Pg4_16)
    	(AARCH64_OPND_SVE_Pm, AARCH64_OPND_SVE_Pn, AARCH64_OPND_SVE_Pt)
    	(AARCH64_OPND_SVE_Za_5, AARCH64_OPND_SVE_Za_16, AARCH64_OPND_SVE_Zd)
    	(AARCH64_OPND_SVE_Zm_5, AARCH64_OPND_SVE_Zm_16, AARCH64_OPND_SVE_Zn)
    	(AARCH64_OPND_SVE_Zn_INDEX, AARCH64_OPND_SVE_ZnxN)
    	(AARCH64_OPND_SVE_Zt, AARCH64_OPND_SVE_ZtxN): New aarch64_opnds.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERANDS): Add entries for new SVE operands.
    	* aarch64-opc.h (FLD_SVE_Pd, FLD_SVE_Pg3, FLD_SVE_Pg4_5)
    	(FLD_SVE_Pg4_10, FLD_SVE_Pg4_16, FLD_SVE_Pm, FLD_SVE_Pn, FLD_SVE_Pt)
    	(FLD_SVE_Za_5, FLD_SVE_Za_16, FLD_SVE_Zd, FLD_SVE_Zm_5, FLD_SVE_Zm_16)
    	(FLD_SVE_Zn, FLD_SVE_Zt, FLD_SVE_tzsh): New aarch64_field_kinds.
    	* aarch64-opc.c (fields): Add corresponding entries here.
    	(operand_general_constraint_met_p): Check that SVE register lists
    	have the correct length.  Check the ranges of SVE index registers.
    	Check for cases where p8-p15 are used in 3-bit predicate fields.
    	(aarch64_print_operand): Handle the new SVE operands.
    	* aarch64-opc-2.c: Regenerate.
    	* aarch64-asm.h (ins_sve_index, ins_sve_reglist): New inserters.
    	* aarch64-asm.c (aarch64_ins_sve_index): New function.
    	(aarch64_ins_sve_reglist): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_sve_index, ext_sve_reglist): New extractors.
    	* aarch64-dis.c (aarch64_ext_sve_index): New function.
    	(aarch64_ext_sve_reglist): Likewise.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    	* config/tc-aarch64.c (NTA_HASVARWIDTH): New macro.
    	(AARCH64_REG_TYPES): Add ZN and PN.
    	(get_reg_expected_msg): Handle them.
    	(parse_vector_type_for_operand): Add a reg_type parameter.
    	Skip the width for Zn and Pn registers.
    	(parse_typed_reg): Extend vector handling to Zn and Pn.  Update the
    	call to parse_vector_type_for_operand.  Set HASVARTYPE for Zn and Pn,
    	expecting the width to be 0.
    	(parse_vector_reg_list): Restrict error about [BHSD]nn operands to
    	REG_TYPE_VN.
    	(vectype_to_qualifier): Use S_[BHSD] qualifiers for NTA_HASVARWIDTH.
    	(parse_operands): Handle the new Zn and Pn operands.
    	(REGSET16): New macro, split out from...
    	(REGSET31): ...here.
    	(reg_names): Add Zn and Pn entries.

commit 0c608d6b62f9164203685ab125b4b3ad113eb26e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:52:30 2016 +0100

    [AArch64][SVE 20/32] Add support for tied operands
    
    SVE has some instructions in which the same register appears twice
    in the assembly string, once as an input and once as an output.
    This patch adds a general mechanism for that.
    
    The patch needs to add new information to the instruction entries.
    One option would have been to extend the flags field of the opcode
    to 64 bits (since we already rely on 64-bit integers being available
    on the host).  However, the *_INSN macros mean that it's easy to add
    new information as top-level fields without affecting the existing
    table entries too much.  Going for that option seemed to give slightly
    neater code.
    
    include/
    	* opcode/aarch64.h (aarch64_opcode): Add a tied_operand field.
    	(AARCH64_OPDE_UNTIED_OPERAND): New aarch64_operand_error_kind.
    
    opcodes/
    	* aarch64-tbl.h (CORE_INSN, __FP_INSN, SIMD_INSN, CRYP_INSN)
    	(_CRC_INSN, _LSE_INSN, _LOR_INSN, RDMA_INSN, FP16_INSN, SF16_INSN)
    	(V8_2_INSN, aarch64_opcode_table): Initialize tied_operand field.
    	* aarch64-opc.c (aarch64_match_operands_constraint): Check for
    	tied operands.
    
    gas/
    	* config/tc-aarch64.c (output_operand_error_record): Handle
    	AARCH64_OPDE_UNTIED_OPERAND.

commit 01dbfe4c0e2b832c6b1076e8d373b162e2faa376
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:43 2016 +0100

    [AArch64][SVE 19/32] Refactor address-printing code
    
    SVE adds addresses in which the base or offset are vector registers.
    The addresses otherwise have the same kind of form as normal AArch64
    addresses, including things like SXTW with or without a shift, UXTW
    with or without a shift, and LSL.
    
    This patch therefore refactors the address-printing code so that it
    can cope with both scalar and vector registers.
    
    opcodes/
    	* aarch64-opc.c (get_offset_int_reg_name): New function.
    	(print_immediate_offset_address): Likewise.
    	(print_register_offset_address): Take the base and offset
    	registers as parameters.
    	(aarch64_print_operand): Update caller accordingly.  Use
    	print_immediate_offset_address.

commit 72e9f31937f063ed6f5991a2b8c00068fa2dc8fc
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:37 2016 +0100

    [AArch64][SVE 18/32] Tidy definition of aarch64-opc.c:int_reg
    
    Use a macro to define 31 regular registers followed by a supplied
    value for 0b11111.  The SVE code will also use this for vector base
    and offset registers.
    
    opcodes/
    	* aarch64-opc.c (BANK): New macro.
    	(R32, R64): Take a register number as argument
    	(int_reg): Use BANK.

commit 8a7f0c1b5ae35d041886855ac7ca9b9533e8788a
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:30 2016 +0100

    [AArch64][SVE 17/32] Add a prefix parameter to print_register_list
    
    This patch generalises the interface to print_register_list so
    that it can print register lists involving SVE z registers as
    well as AdvSIMD v ones.
    
    opcodes/
    	* aarch64-opc.c (print_register_list): Add a prefix parameter.
    	(aarch64_print_operand): Update accordingly.

commit aa2aa4c69429444836821a92cb99396d02dcb996
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:24 2016 +0100

    [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm
    
    FPIMM used the normal "imm" insert/extract methods, with a specific
    test for FPIMM in the extract method.  SVE needs to use the same
    extractors, so rather than add extra checks for specific operand types,
    it seemed cleaner to use a separate insert/extract method.
    
    opcodes/
    	* aarch64-tbl.h (AARCH64_OPERNADS): Use fpimm rather than imm
    	for FPIMM.
    	* aarch64-asm.h (ins_fpimm): New inserter.
    	* aarch64-asm.c (aarch64_ins_fpimm): New function.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_fpimm): New extractor.
    	* aarch64-dis.c (aarch64_ext_imm): Remove fpimm test.
    	(aarch64_ext_fpimm): New function.
    	* aarch64-dis-2.c: Regenerate.

commit b5464a6825e40e6d8ab2dd86c7ff5d65bedd64d4
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:16 2016 +0100

    [AArch64][SVE 15/32] Add {insert,extract}_all_fields helpers
    
    Several of the SVE operands use the aarch64_operand fields array
    to store the fields that make up the operand, rather than hard-coding
    the names in the C code.  This patch adds helpers for inserting and
    extracting those fields.
    
    opcodes/
    	* aarch64-asm.c: Include libiberty.h.
    	(insert_fields): New function.
    	(aarch64_ins_imm): Use it.
    	* aarch64-dis.c (extract_fields): New function.
    	(aarch64_ext_imm): Use it.

commit 42408347b86745fdbd4bec9ee3a6a3fee31c4dee
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:09 2016 +0100

    [AArch64][SVE 14/32] Make aarch64_logical_immediate_p take an element size
    
    SVE supports logical immediate operations on 8-bit, 16-bit and 32-bit
    elements, treating them as aliases of operations on 64-bit elements in
    which the immediate is replicated.  This patch therefore replaces the
    "32-bit/64-bit" input to aarch64_logical_immediate_p with a more
    general "number of bytes" input.
    
    opcodes/
    	* aarch64-opc.c (aarch64_logical_immediate_p): Replace is32
    	with an esize parameter.
    	(operand_general_constraint_met_p): Update accordingly.
    	Fix misindented code.
    	* aarch64-asm.c (aarch64_ins_limm): Update call to
    	aarch64_logical_immediate_p.

commit 4989adac848eb8f2fee8b98d9615d2fded22623b
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:51:00 2016 +0100

    [AArch64][SVE 13/32] Add an F_STRICT flag
    
    SVE predicate operands can appear in three forms:
    
    1. unsuffixed: "Pn"
    2. with a predication type: "Pn/[ZM]"
    3. with a size suffix: "Pn.[BHSD]"
    
    No variation is allowed: unsuffixed operands cannot have a (redundant)
    suffix, and the suffixes can never be dropped.  Unsuffixed Pn are used
    in LDR and STR, but they are also used for Pg operands in cases where
    the result is scalar and where there is therefore no choice to be made
    between "merging" and "zeroing".  This means that some Pg operands have
    suffixes and others don't.
    
    It would be possible to use context-sensitive parsing to handle
    this difference.  The tc-aarch64.c code would then raise an error
    if the wrong kind of suffix is used for a particular instruction.
    
    However, we get much more user-friendly error messages if we parse
    all three forms for all SVE instructions and record the suffix as a
    qualifier.  The normal qualifier matching code can then report cases
    where the wrong kind of suffix is used.  This is a slight extension
    of existing usage, which really only checks for the wrong choice of
    suffix within a particular kind of suffix.
    
    The only catch is a that a "NIL" entry in the qualifier list
    specifically means "no suffix should be present" (case 1 above).
    NIL isn't a wildcard here.  It also means that an instruction that
    requires all-NIL qualifiers can fail to match (because a suffix was
    supplied when it shouldn't have been); this requires a slight change
    to find_best_match.
    
    This patch adds an F_STRICT flag to select this behaviour.
    The flag will be set for all SVE instructions.  The behaviour
    for other instructions doesn't change.
    
    include/
    	* opcode/aarch64.h (F_STRICT): New flag.
    
    opcodes/
    	* aarch64-opc.c (match_operands_qualifier): Handle F_STRICT.
    
    gas/
    	* config/tc-aarch64.c (find_best_match): Simplify, allowing an
    	instruction with all-NIL qualifiers to fail to match.

commit 73866052f244927457202e4b0d1542bea529878f
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:49:31 2016 +0100

    [AArch64][SVE 12/32] Remove boolean parameters from parse_address_main
    
    In the review of the original version of this series, Richard didn't
    like the use of boolean parameters to parse_address_main.  I think we
    can just get rid of them and leave the callers to check the addressing
    modes.  As it happens, the handling of ADDR_SIMM9{,_2} already did this
    for relocation operators (i.e. it used parse_address_reloc and then
    rejected relocations).
    
    The callers are already set up to reject invalid register post-indexed
    addressing, so we can simply remove the accept_reg_post_index parameter
    without adding any more checks.  This again creates a corner case where:
    
    	.equ	x2, 1
    	ldr	w0, [x1], x2
    
    was previously an acceptable way of writing "ldr w0, [x1], #1" but
    is now rejected.
    
    Removing the "reloc" parameter means that two cases need to check
    explicitly for relocation operators.
    
    ADDR_SIMM9_2 appers to be unused.  I'll send a separate patch
    to remove it.
    
    This patch makes parse_address temporarily equivalent to
    parse_address_main, but later patches in the series will need
    to keep the distinction.
    
    gas/
    	* config/tc-aarch64.c (parse_address_main): Remove reloc and
    	accept_reg_post_index parameters.  Parse relocations and register
    	post indexes unconditionally.
    	(parse_address): Remove accept_reg_post_index parameter.
    	Update call to parse_address_main.
    	(parse_address_reloc): Delete.
    	(parse_operands): Call parse_address instead of parse_address_main.
    	Update existing callers of parse_address and make them check
    	inst.reloc.type where appropriate.
    	* testsuite/gas/aarch64/diagnostic.s: Add tests for relocations
    	in ADDR_SIMPLE, SIMD_ADDR_SIMPLE, ADDR_SIMM7 and ADDR_SIMM9 addresses.
    	Also test for invalid uses of post-index register addressing.
    	* testsuite/gas/aarch64/diagnostic.l: Update accordingly.

commit e1b988bba630c09564248ebb78cf29c70f2d04db
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:49:24 2016 +0100

    [AArch64][SVE 11/32] Tweak aarch64_reg_parse_32_64 interface
    
    aarch64_reg_parse_32_64 is currently used to parse address registers,
    among other things.  It returns two bits of information about the
    register: whether it's W rather than X, and whether it's a zero register.
    
    SVE adds addressing modes in which the base or offset can be a vector
    register instead of a scalar, so a choice between W and X is no longer
    enough.  It's more convenient to pass the type of register around as
    a qualifier instead.
    
    As it happens, two callers of aarch64_reg_parse_32_64 already wanted
    the information in the form of a qualifier, so the change feels pretty
    natural even without SVE.
    
    Also, the function took two parameters to control whether {W}SP
    and (W|X)ZR should be accepted.  We tend to get slightly better
    error messages by accepting them regardless and getting the caller
    to do the check, rather than potentially treating "xzr", "sp" etc.
    as constants.  This is easier to do if the function returns the
    reg_entry rather than just the register number.
    
    This does create a corner case where:
    
    	.equ	sp, 1
    	ldr	w0, [x0, sp]
    
    was previously an acceptable way of writing "ldr w0, [x0, #1]",
    but I don't think it's important to continue supporting that.
    We already rejected things like:
    
    	.equ	sp, 1
    	add	x0, x1, sp
    
    To ensure these new error messages "win" when matching against
    several candidate instruction entries, we need to use the same
    address-parsing code for all addresses, including ADDR_SIMPLE
    and SIMD_ADDR_SIMPLE.  The next patch also relies on this.
    
    Finally, aarcch64_check_reg_type was written in a pretty
    conservative way.  It should always be equivalent to a single
    bit test.
    
    gas/
    	* config/tc-aarch64.c (REG_TYPE_R_Z, REG_TYPE_R_SP): New register
    	types.
    	(get_reg_expected_msg): Handle them and REG_TYPE_R64_SP.
    	(aarch64_check_reg_type): Simplify.
    	(aarch64_reg_parse_32_64): Return the reg_entry instead of the
    	register number.  Return the type as a qualifier rather than an
    	"isreg32" boolean.  Remove reject_sp, reject_rz and isregzero
    	parameters.
    	(parse_shifter_operand): Update call to aarch64_parse_32_64_reg.
    	Use get_reg_expected_msg.
    	(parse_address_main): Likewise.  Use aarch64_check_reg_type.
    	(po_int_reg_or_fail): Replace reject_sp and reject_rz parameters
    	with a reg_type parameter.  Update call to aarch64_parse_32_64_reg.
    	Use aarch64_check_reg_type to test the result.
    	(parse_operands): Update after the above changes.  Parse ADDR_SIMPLE
    	addresses normally before enforcing the syntax restrictions.
    	* testsuite/gas/aarch64/diagnostic.s: Add tests for a post-index
    	zero register and for a stack pointer index.
    	* testsuite/gas/aarch64/diagnostic.l: Update accordingly.
    	Also update existing diagnostic messages after the above changes.
    	* testsuite/gas/aarch64/illegal-lse.l: Update the error message
    	for 32-bit register bases.

commit 874d7e6ef9c750b3e7bccd1dda98ada93f6554eb
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:49:15 2016 +0100

    [AArch64][SVE 10/32] Move range check out of parse_aarch64_imm_float
    
    Since some SVE constants are no longer explicitly tied to the 8-bit
    FP immediate format, it seems better to move the range checks out of
    parse_aarch64_imm_float and into the callers.
    
    gas/
    	* config/tc-aarch64.c (parse_aarch64_imm_float): Remove range check.
    	(parse_operands): Check the range of 8-bit FP immediates here instead.

commit 6a9deabec4faf3160a527d11ab5d6997dec7d66a
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:49:07 2016 +0100

    [AArch64][SVE 09/32] Improve error messages for invalid floats
    
    Previously:
    
            fmov d0, #2
    
    would give an error:
    
            Operand 2 should be an integer register
    
    whereas the user probably just forgot to add the ".0" to make:
    
            fmov d0, #2.0
    
    This patch reports an invalid floating point constant unless the
    operand is obviously a register.
    
    The FPIMM8 handling is only relevant for SVE.  Without it:
    
            fmov z0, z1
    
    would try to parse z1 as an integer immediate zero (the res2 path),
    whereas it's more likely that the user forgot the predicate.  This is
    tested by the final patch.
    
    gas/
    	* config/tc-aarch64.c (parse_aarch64_imm_float): Report a specific
    	low-severity error for registers.
    	(parse_operands): Report an invalid floating point constant for
    	if parsing an FPIMM8 fails, and if no better error has been
    	recorded.
    	* testsuite/gas/aarch64/diagnostic.s,
    	testsuite/gas/aarch64/diagnostic.l: Add tests for integer operands
    	to FMOV.

commit 04a3379aceaeb8e29f2586d756d5f2ef26c85e7e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:59 2016 +0100

    [AArch64][SVE 08/32] Generalise aarch64_double_precision_fmovable
    
    SVE has single-bit floating-point constants that don't really
    have any relation to the AArch64 8-bit floating-point encoding.
    (E.g. one of the constants selects between 0 and 1.)  The easiest
    way of representing them in the aarch64_opnd_info seemed to be
    to use the IEEE float representation directly, rather than invent
    some new scheme.
    
    This patch paves the way for that by making the code that converts IEEE
    doubles to IEEE floats accept any value in the range of an IEEE float,
    not just zero and 8-bit floats.  It leaves the range checking to the
    caller (which already handles it).
    
    gas/
    	* config/tc-aarch64.c (aarch64_double_precision_fmovable): Rename
    	to...
    	(can_convert_double_to_float): ...this.  Accept any double-precision
    	value that converts to single precision without loss of precision.
    	(parse_aarch64_imm_float): Update accordingly.

commit 1799c0d064f21e09666fd1ab19a31a957202f18b
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:50 2016 +0100

    [AArch64][SVE 07/32] Replace hard-coded uses of REG_TYPE_R_Z_BHSDQ_V
    
    To remove parsing ambiguities and to avoid register names being
    accidentally added to the symbol table, the immediate parsing
    routines reject things like:
    
    	.equ	x0, 0
    	add	v0.4s, v0.4s, x0
    
    An explicit '#' must be used instead:
    
    	.equ	x0, 0
    	add	v0.4s, v0.4s, #x0
    
    Of course, it wasn't possible to predict what other register
    names might be added in future, so this behaviour was restricted
    to the register names that were defined at the time.  For backwards
    compatibility, we should continue to allow things like:
    
    	.equ	p0, 0
    	add	v0.4s, v0.4s, p0
    
    even though p0 is now an SVE register.
    
    However, it seems reasonable to extend the x0 behaviour above to
    SVE registers when parsing SVE instructions, especially since none
    of the SVE immediate formats are relocatable.  Doing so removes the
    same parsing ambiguity for SVE instructions as the x0 behaviour removes
    for base AArch64 instructions.
    
    As a prerequisite, we then need to be able to tell the parsing routines
    which registers to reject.  This patch changes the interface to make
    that possible, although the set of rejected registers doesn't change
    at this stage.
    
    gas/
    	* config/tc-aarch64.c (parse_immediate_expression): Add a
    	reg_type parameter.
    	(parse_constant_immediate): Likewise, and update calls.
    	(parse_aarch64_imm_float): Likewise.
    	(parse_big_immediate): Likewise.
    	(po_imm_nc_or_fail): Update accordingly, passing down a new
    	imm_reg_type variable.
    	(po_imm_of_fail): Likewise.
    	(parse_operands): Likewise.

commit 10d76650106ac50cd690536014244a0a03778a8e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:41 2016 +0100

    [AArch64][SVE 06/32] Generalise parse_neon_reg_list
    
    Rename parse_neon_reg_list to parse_vector_reg_list and take
    in the required register type as an argument.  Later patches
    will reuse the function for SVE registers.
    
    gas/
    	* config/tc-aarch64.c (parse_neon_reg_list): Rename to...
    	(parse_vector_reg_list): ...this and take a register type
    	as input.
    	(parse_operands): Update accordingly.

commit 53021dd1a03ecde87239c999d70c5591a91f1385
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:34 2016 +0100

    [AArch64][SVE 05/32] Rename parse_neon_type_for_operand
    
    Generalise the name of parse_neon_type_for_operand to
    parse_vector_type_for_operand.  Later patches will add SVEisms to it.
    
    gas/
    	* config/tc-aarch64.c (parse_neon_type_for_operand): Rename to...
    	(parse_vector_type_for_operand): ...this.
    	(parse_typed_reg): Update accordingly.

commit 8f9a77affe98e0892c46504712a1f0d8372ec765
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:25 2016 +0100

    [AArch64][SVE 04/32] Rename neon_type_el to vector_type_el
    
    Similar to the previous patch, but this time for the neon_type_el
    structure.
    
    gas/
    	* config/tc-aarch64.c (neon_type_el): Rename to...
    	(vector_type_el): ...this.
    	(parse_neon_type_for_operand): Update accordingly.
    	(parse_typed_reg): Likewise.
    	(aarch64_reg_parse): Likewise.
    	(vectype_to_qualifier): Likewise.
    	(parse_operands): Likewise.
    	(eq_neon_type_el): Likewise.  Rename to...
    	(eq_vector_type_el): ...this.
    	(parse_neon_reg_list): Update accordingly.

commit f06935a5c1ef4c978a995361241974917a4ab363
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:16 2016 +0100

    [AArch64][SVE 03/32] Rename neon_el_type to vector_el_type
    
    Later patches will add SVEisms to neon_el_type, so this patch renames
    it to something more generic.
    
    gas/
    	* config/tc-aarch64.c (neon_el_type: Rename to...
    	(vector_el_type): ...this.
    	(neon_type_el): Update accordingly.
    	(parse_neon_type_for_operand): Likewise.
    	(vectype_to_qualifier): Likewise.

commit bd11d5d83775e6d05c8e49f2233fb1cf883ff5b4
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:48:06 2016 +0100

    [AArch64][SVE 02/32] Avoid hard-coded limit in indented_print
    
    The maximum indentation needed by aarch64-gen.c grows as more
    instructions are added to aarch64-tbl.h.  Rather than having to
    increase the indentation limit to a higher value, it seemed better
    to replace it with "%*s".
    
    opcodes/
    	* aarch64-gen.c (indented_print): Avoid hard-coded indentation limit.

commit a235d3aece0b1eeba3789f7e15d64e2e03224a4e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Sep 21 16:47:57 2016 +0100

    [AArch64][SVE 01/32] Remove parse_neon_operand_type
    
    A false return from parse_neon_operand_type had an overloaded
    meaning: either the parsing failed, or there was nothing to parse
    (which isn't necessarily an error).  The only caller, parse_typed_reg,
    would therefore not consume the suffix if it was invalid but instead
    (successfully) parse the register without a suffix.  It would still
    leave inst.parsing_error with an error about the invalid suffix.
    
    It seems wrong for a successful parse to leave an error message,
    so this patch makes parse_typed_reg return PARSE_FAIL instead.
    
    The patch doesn't seem to make much difference in practice.
    Most possible follow-on errors use set_first_error and so the
    error about the suffix tended to win despite the successful parse.
    
    gas/
    	* config/tc-aarch64.c (parse_neon_operand_type): Delete.
    	(parse_typed_reg): Call parse_neon_type_for_operand directly.

commit 3d0ec882241884d0cabb27f8fee1262dbc7cf9e7
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Sep 21 12:55:25 2016 +0100

    MIPS/testsuite: mips16-thunks: Use `standard_output_file'
    
    Correct a commit 2151ccc56c74 ("Always organize test artifacts in a
    directory hierarchy") regression causing:
    
    Running .../gdb/testsuite/gdb.arch/mips16-thunks.exp ...
    gdb compile failed, Assembler messages:
    Fatal error: can't create .../gdb/testsuite/gdb.arch/mips16-thunks-inmain.o: No such file or directory
    gdb compile failed, Assembler messages:
    Fatal error: can't create .../gdb/testsuite/gdb.arch/mips16-thunks-main.o: No such file or directory
    gdb compile failed, mips-mti-linux-gnu-gcc: error: .../gdb/testsuite/gdb.arch/mips16-thunks-inmain.o: No such file or directory
    mips-mti-linux-gnu-gcc: error: .../gdb/testsuite/gdb.arch/mips16-thunks-main.o: No such file or directory
    UNSUPPORTED: gdb.arch/mips16-thunks.exp: No MIPS16 support in the toolchain.
    
    by using `standard_output_file' to construct output file names
    throughout.
    
    	gdb/testsuite/
    	* gdb.arch/mips16-thunks.exp: Use `standard_output_file'
    	throughout.

commit fc6cda2ee85d2c2719db3b5ae3a1ae963f28416b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Sep 16 14:58:31 2016 +0100

    Keep reserved bits in CPSR on write
    
    In patch https://sourceware.org/ml/gdb-patches/2016-04/msg00529.html
    I cleared reserved bits when reading CPSR.  It makes a problem that
    these bits (zero) are written back to kernel through ptrace, and it
    changes the state of the processor on some recent kernel, which is
    unexpected.
    
    In this patch, I keep these reserved bits when write CPSR back to
    hardware.
    
    gdb:
    
    2016-09-21  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch32-linux-nat.c (aarch32_gp_regcache_collect): Keep
    	bits 20 to 23.
    
    gdb/gdbserver:
    
    2016-09-21  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-aarch32-low.c (arm_fill_gregset): Keep bits 20 to
    	23.

commit 44b8317a75390fd3713da6d8cc0f593c041fd8a2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Sep 21 00:00:18 2016 +0000

    Automatic date update in version.in

commit 12c58cd4dc805cbac97a6d93c971c2496313dce4
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 21 13:41:54 2016 -0600

    Avoid -Wduplicated-cond warnings in gdb/python
    
    I tried building gdb with -Wduplicated-cond.  This patch fixes the
    simpler issue that was found.
    
    In Python 3, "int" and "long" are synonyms, so code like:
    
          else if (PyLong_Check (obj))
    ...
          else if (PyInt_Check (obj))
    
    .... will trigger this warning.  The fix is to conditionalize the
    PyInt_Check branches on Python 2.
    
    Tested by rebuilding, with both version of Python, on x86-64 Fedora 24.
    
    2016-09-20  Tom Tromey  <tom@tromey.com>
    
    	* python/py-value.c (convert_value_from_python): Make PyInt_Check
    	conditional on Python 2.
    	* python/py-arch.c (archpy_disassemble): Make PyInt_Check
    	conditional on Python 2.

commit 9f7efd5bf76aa5065298d13aefb109ecfd7a825a
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Tue Sep 20 12:24:30 2016 -0300

    ppc: Fix record support of Store String Word instructions
    
    gdb/ChangeLog
    2016-09-20  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* rs6000-tdep.c (ppc_process_record_op31): Fix record of Store String
    	Word instructions.

commit d4ed4da3f56e9281e22f0ec2d20def671fba52