public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  users/jkratoch/dwarf5gcc-gdb: 8ac14c4c6fc26c02b6333792728cbc0c0eece05a
@ 2016-10-30 19:44 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2016-10-30 19:44 UTC (permalink / raw)
  To: archer-commits

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

The branch, users/jkratoch/dwarf5gcc-gdb has been created
        at  8ac14c4c6fc26c02b6333792728cbc0c0eece05a (commit)

- Log -----------------------------------------------------------------
commit 8ac14c4c6fc26c02b6333792728cbc0c0eece05a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Oct 30 20:32:07 2016 +0100

    .

commit edd97d081d5f50ae60d1e19033800e5c586d7b26
Merge: 2f5903d e64174f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Oct 30 17:25:41 2016 +0100

    Merge branch 'dwarf5jakub' into dwarf5jakub-full

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 2f5903d1949c0e33efc628e027934dc3997f7155
Merge: ece644b 514d315
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Oct 30 17:25:10 2016 +0100

    Merge branch 'dwarf5jakub' into dwarf5jakub-full

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 ece644bff670e936707d755b85a51ee22c2ca0c5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Oct 28 17:47:56 2016 +0200

    .

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 d4ed4da3f56e9281e22f0ec2d20def671fba52d1
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 15:33:50 2016 +0100

    ld: Fix mistake in ChangeLog
    
    The previous commit contained a small mistake in the ChangeLog, fixed in
    this commit.

commit a5bf7d4fe7a115a358528328b8d1ae221cd684fa
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 10:49:39 2016 +0100

    ld: Extend documentation for EXCLUDE_FILE
    
    There was a gap in the documentation of EXCLUDE_FILE that could cause
    confusion to a user.  When writing an input section specifier like this:
    
        *(EXCLUDE_FILE (somefile.o) .text .text.*)
    
    this could mean one of the following:
    
       1. All '.text' and '.text.*' from all files except for 'somefile.o',
       or
       2. All '.text' from all files except 'somefile.o', and all '.text.*'
       sections from all files.
    
    It turns out that the second interpretation is correct, but the manual
    does not make this clear (to me at least).  Hopefully this patch makes
    things clearer.
    
    ld/ChangeLog:
    
    	* ld/ld.texinfo (Input Section Basics): Expand the description of
    	EXCLUDE_FILE.

commit 7d5adfe3118050243e85469ad891c7813e4db68a
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Mon Sep 19 17:00:22 2016 -0400

    Use 'event_ptid' instead of 'resume_ptid' on startup_inferior (fix for regression on my last commit)
    
    Pedro pointed out a regression happening on gdb.mi/mi-exec-run.exp,
    and as it turned out, this was a thinko when dealing with some events
    on startup_inferior.  Basically, one needs to pass 'event_ptid' to
    target_mourn_inferior, but I mistakenly passed 'resume_ptid'.
    
    This commit fixes it.
    
    Built and regtested on BuildBot, now with fixed e-mail notifications!
    
    gdb/ChangeLog:
    2016-09-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* fork-inferior.c (startup_inferior): Pass 'event_ptid' instead of
    	'resume_ptid' to 'target_mourn_inferior'.  Fix regression
    	introduced by my last commit.

commit e8eafa2bf8c95c1f2afc073e5244ff4ad0c0a805
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Sep 20 00:00:23 2016 +0000

    Automatic date update in version.in

commit 6679754127e51d9c3bd0e387fabbe4e71038c8ce
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Sep 19 16:55:35 2016 +0100

    gdb: Fix build breakage with GCC 4.1 and --disable-nls
    
    Ref: https://sourceware.org/ml/gdb-patches/2016-09/msg00203.html
    
    The std::{min,max} patch caused build failures when configuring GDB
    with with --disable-nls and using GCC 4.1.
    
    The reason is this bit in common/gdb_locale.h:
    
     #ifdef ENABLE_NLS
     ...
     #else
     # define gettext(Msgid) (Msgid)
     ...
     #endif
    
    This causes problems if the <libintl.h> header is first included at
    any point after "gdb_locale.h".
    
    Specifically, the gettext&co declarations in libintl.h:
    
     extern char *gettext (__const char *__msgid)
          __THROW __attribute_format_arg__ (1);
    
    end up broken after preprocessing:
    
     extern char *(__const char *__msgid)
          throw () __attribute__ ((__format_arg__ (1)));
    
    After the std::min/std::max change to include <algorithm>, this now
    happens with at least the GCC 4.1 copy of <algorithm>, which includes
    <libintl.h> via <bits/stl_algobase.h>, <iosfwd>, and
    <bits/c++locale.h>.
    
    The fix is to simply remove the troublesome *gettext and *textdomain
    macros, leaving only the _ and N_ ones.
    
    gdb/ChangeLog:
    2016-09-19  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_locale.h [!ENABLE_NLS] (gettext, dgettext, dcgettext,
    	textdomain, bindtextdomain): Delete macros.
    	* main.c (captured_main) [!ENABLE_NLS]: Skip bintextdomain and
    	textdomain calls.

commit b19753ce31da347605dfa903c6fd2158e2444f0d
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Sep 19 05:19:14 2016 -0700

    bfd: allow negative offsets to _GLOBAL_OFFSET_TABLE_ in elf64 SPARC
    
    The code compiled with the -fpic model in SPARC uses 13-bit signed
    immediate PC-relative loads to fetch entries from the GOT table.  In
    theory this would allow using a GOT table (.got section) containing up
    to 1024 entries in elf32 or 512 entries in elf64.
    
    However, in elf64 sparc GNU targets _GLOBAL_OFFSET_TABLE_ is always
    placed at the beginning of the .got section, making it impossible to use
    negative offsets.  This limits the usage of -fpic to GOT tables
    containing a maximum of 257 entries in elf64.
    
    This patch activates an optimization that is already used in sparc-elf32
    also in sparc-elf64, that sets _GLOBAL_OFFSET_TABLE_ to point 0x1000
    into the .got section if the section size is bigger than 0x1000.
    
    2016-09-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
    	negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
    	bigger than 0x1000 bytes.

commit 2387dd904938566f5d1d6df6670b5dec9dd3f463
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Sep 17 00:28:05 2016 +0930

    nm handling of synthetic symbols
    
    Symbol sorting means we can't assume that the last n symbols are
    synthetic.
    
    	* nm.c (print_symbol): Remove is_synthetic param.  Test sym->flags
    	instead.
    	(print_size_symbols, print_symbols): Adjust to suit, deleting
    	now unused synth_count param and fromsynth var.
    	(display_rel_file): Adjust, localizing synth_count.

commit bc1e6c81d5b77d78282c47f6fd7f697e564a6eb6
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Sun Sep 11 23:45:31 2016 -0400

    Consolidate target_mourn_inferior between GDB and gdbserver
    
    This patch consolidates the API of target_mourn_inferior between GDB
    and gdbserver, in my continuing efforts to make sharing the
    fork_inferior function possible between both.
    
    GDB's version of the function did not care about the inferior's ptid
    being mourned, but gdbserver's needed to know this information.  Since
    it actually makes sense to pass the ptid as an argument, instead of
    depending on a global value directly (which GDB's version did), I
    decided to make the generic API to accept it.  I then went on and
    extended all calls being made on GDB to include a ptid argument (which
    ended up being inferior_ptid most of the times, anyway), and now we
    have a more sane interface.
    
    On GDB's side, after talking to Pedro a bit about it, we decided that
    just an assertion to make sure that the ptid being passed is equal to
    inferior_ptid would be enough for now, on the GDB side.  We can remove
    the assertion and perform more operations later if we ever pass
    anything different than inferior_ptid.
    
    Regression tested on our BuildBot, everything OK.
    
    I'd appreciate a special look at gdb/windows-nat.c's modification
    because I wasn't really sure what to do there.  It seemed to me that
    maybe I should build a ptid out of the process information there, but
    then I am almost sure the assertion on GDB's side would trigger.
    
    gdb/ChangeLog:
    2016-09-19  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* darwin-nat.c (darwin_kill_inferior): Adjusting call to
    	target_mourn_inferior to include ptid_t argument.
    	* fork-child.c (startup_inferior): Likewise.
    	* gnu-nat.c (gnu_kill_inferior): Likewise.
    	* inf-ptrace.c (inf_ptrace_kill): Likewise.
    	* infrun.c (handle_inferior_event_1): Likewise.
    	* linux-nat.c (linux_nat_attach): Likewise.
    	(linux_nat_kill): Likewise.
    	* nto-procfs.c (interrupt_query): Likewise.
    	(procfs_interrupt): Likewise.
    	(procfs_kill_inferior): Likewise.
    	* procfs.c (procfs_kill_inferior): Likewise.
    	* record.c (record_mourn_inferior): Likewise.
    	* remote-sim.c (gdbsim_kill): Likewise.
    	* remote.c (remote_detach_1): Likewise.
    	(remote_kill): Likewise.
    	* target.c (target_mourn_inferior): Change declaration to accept
    	new ptid_t argument; use gdb_assert on it.
    	* target.h (target_mourn_inferior): Move function prototype from
    	here...
    	* target/target.h (target_mourn_inferior): ... to here.  Adjust it
    	to accept new ptid_t argument.
    	* windows-nat.c (get_windows_debug_event): Adjusting call to
    	target_mourn_inferior to include ptid_t argument.
    
    gdb/gdbserver/ChangeLog:
    2016-09-19  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* server.c (start_inferior): Call target_mourn_inferior instead of
    	mourn_inferior; pass ptid_t argument to it.
    	(resume): Likewise.
    	(handle_target_event): Likewise.
    	* target.c (target_mourn_inferior): New function.
    	* target.h (mourn_inferior): Delete macro.

commit 73cca75e7b187800d473ef2dc5115dd509901536
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Sep 19 00:00:21 2016 +0000

    Automatic date update in version.in

commit 93689493b376c4e5616c1679733619f96202c369
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Sep 19 00:30:30 2016 +0100

    gdb/s390: Fix build breakage due to std::min/std::max usage without header
    
      [...]
      .../gdb/s390-linux-nat.c: In function 'void s390_prepare_to_resume(lwp_info*)':
      .../gdb/s390-linux-nat.c:703:20: error: 'min' is not a member of 'std'
          watch_lo_addr = std::min (watch_lo_addr, area->lo_addr);
      [...]
    
    gdb/ChangeLog:
    2016-09-18  Pedro Alves  <palves@redhat.com>
    
    	* s390-linux-nat.c: Include <algorithm>.

commit 768adc05c44c7e8b5c0f9ca5ad3ca96657715293
Author: Pedro Alves <palves@redhat.com>
Date:   Sun Sep 18 23:56:01 2016 +0100

    gdb: Fix std::{min, max}-related build breakage on 32-bit hosts
    
    Building on a 32-bit host fails currently with errors like:
    
      .../src/gdb/exec.c: In function ‘target_xfer_status section_table_read_available_memory(gdb_byte*, ULONGEST, ULONGEST, ULONGEST*)’:
      .../src/gdb/exec.c:801:54: error: no matching function for call to ‘min(ULONGEST, long unsigned int)’
          end = std::min (offset + len, r->start + r->length);
    							^
      In file included from /usr/include/c++/5.3.1/algorithm:61:0,
    		   from .../src/gdb/exec.c:46:
      /usr/include/c++/5.3.1/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)
           min(const _Tp& __a, const _Tp& __b)
           ^
      /usr/include/c++/5.3.1/bits/stl_algobase.h:195:5: note:   template argument deduction/substitution failed:
      .../src/gdb/exec.c:801:54: note:   deduced conflicting types for parameter ‘const _Tp’ (‘long long unsigned int’ and ‘long unsigned int’)
          end = std::min (offset + len, r->start + r->length);
    							^
      In file included from /usr/include/c++/5.3.1/algorithm:61:0,
    		   from .../src/gdb/exec.c:46:
      /usr/include/c++/5.3.1/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
           min(const _Tp& __a, const _Tp& __b, _Compare __comp)
           ^
    
    The problem is that the std::min/std::max function templates use the
    same type for both parameters.  When the argument types are different,
    the compiler can't automatically deduce which template specialization
    to pick from the arguments' types.
    
    Fix that by specifying the specialization we want explicitly.
    
    gdb/ChangeLog:
    2016-09-18  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.c (hardware_watchpoint_inserted_in_range): Explicitly
    	specify the std:min/std::max specialization.
    	* exec.c (section_table_read_available_memory): Likewise.
    	* remote.c (remote_read_qxfer): Likewise.
    	* target.c (simple_verify_memory): Likewise.

commit 498f644143437511c10b0cb30479e528d32ea02b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Sep 18 00:00:23 2016 +0000

    Automatic date update in version.in

commit 7f3c5ec870943f7f32c946ff9459dfd04fcb8e07
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Sat Sep 17 11:50:37 2016 +0300

    Improve MinGW support in Readline
    
    These changes were already accepted upstream in Readline,
    but GDB did not yet import a newer Readline version.
    
    readline/Changelog.gdb:
    
    	* util.c: Include rlshell.h.
    	(_rl_tropen) [_WIN32 && !__CYGWIN__]: Open the trace file in the
    	user's temporary directory.
    	* tcap.h [HAVE_NCURSES_TERMCAP_H]: Include ncurses/termcap.h.
    	* input.c (w32_isatty) [_WIN32 && !__CYGWIN__]: New function, to
    	replace isatty that is not reliable enough on MS-Windows.
    	(isatty) [_WIN32 && !__CYGWIN__]: Redirect to w32_isatty.
    	(rl_getc): Call _getch, not getch, which could be an ncurses
    	function when linked with ncurses, in which case getch will return
    	EOF for any keystroke, because there's no curses window.
    	* tilde.c (tilde_expand_word) [_WIN32]:
    	* histfile.c (history_filename) [_WIN32]: Windows-specific
    	environment variable to replace HOME if that is undefined.
    	* funmap.c (default_funmap): Compile rl_paste_from_clipboard on
    	all Windows platforms, not just Cygwin.
    	* readline.h (rl_paste_from_clipboard): Include declaration for
    	all Windows platforms.
    	* display.c (insert_some_chars, delete_chars): Don't use the
    	MinGW-specific code if linked with ncurses.
    	* configure.in:
    	* config.h.in: Support ncurses/termcap.h.  The configure script
    	was updated accordingly.
    	* complete.c [_WIN32 && !__CYGWIN__]: Initialize
    	_rl_completion_case_fold to 1.
    	(printable_part, rl_filename_completion_function)
    	[_WIN32 && !__CYGWIN__]: Handle the drive letter.

commit a3fa21cadc29421553d2c956056f0a777dafd3d2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Sep 17 00:00:23 2016 +0000

    Automatic date update in version.in

commit cd94f6d535d1ebd8f252185cd84d21fe0df3c893
Author: Simon Marchi <simark@simark.ca>
Date:   Fri Sep 16 15:44:29 2016 -0400

    Introduce cleanup to restore current_uiout
    
    Make a globally available cleanup from a pre-existing one in infrun.c.
    This is used in a following patch.
    
    gdb/ChangeLog:
    
    	* infrun.c (restore_current_uiout_cleanup): Move to ui-out.c.
    	(print_stop_event): Use make_cleanup_restore_current_uiout.
    	* python/python.c (execute_gdb_command): Likewise.
    	* ui-out.c (restore_current_uiout_cleanup): Move from infrun.c.
    	(make_cleanup_restore_current_uiout): New function definition.
    	* ui-out.h (make_cleanup_restore_current_uiout): New function
    	declaration.
    	* utils.c (do_restore_ui_out): Remove.
    	(make_cleanup_restore_ui_out): Remove.
    	* utils.h (make_cleanup_restore_ui_out): Remove.

commit 325fac504a327de9c46a4e5cf9c88ece9d9d7701
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Sep 16 19:55:17 2016 +0100

    gdb: Use std::min and std::max throughout
    
    Otherwise including <string> or some other C++ header is broken.
    E.g.:
    
      In file included from /opt/gcc/include/c++/7.0.0/bits/char_traits.h:39:0,
    		   from /opt/gcc/include/c++/7.0.0/string:40,
    		   from /home/pedro/gdb/mygit/cxx-convertion/src/gdb/infrun.c:68:
      /opt/gcc/include/c++/7.0.0/bits/stl_algobase.h:243:56: error: macro "min" passed 3 arguments, but takes just 2
           min(const _Tp& __a, const _Tp& __b, _Compare __comp)
    							  ^
      /opt/gcc/include/c++/7.0.0/bits/stl_algobase.h:265:56: error: macro "max" passed 3 arguments, but takes just 2
           max(const _Tp& __a, const _Tp& __b, _Compare __comp)
    							  ^
      In file included from .../src/gdb/infrun.c:21:0:
    
    To the best of my grepping abilities, I believe I adjusted all min/max
    calls.
    
    gdb/ChangeLog:
    2016-09-16  Pedro Alves  <palves@redhat.com>
    
    	* defs.h (min, max): Delete.
    	* aarch64-tdep.c: Include <algorithm> and use std::min and
    	std::max throughout.
    	* aarch64-tdep.c: Likewise.
    	* alpha-tdep.c: Likewise.
    	* amd64-tdep.c: Likewise.
    	* amd64-windows-tdep.c: Likewise.
    	* arm-tdep.c: Likewise.
    	* avr-tdep.c: Likewise.
    	* breakpoint.c: Likewise.
    	* btrace.c: Likewise.
    	* ctf.c: Likewise.
    	* disasm.c: Likewise.
    	* doublest.c: Likewise.
    	* dwarf2loc.c: Likewise.
    	* dwarf2read.c: Likewise.
    	* environ.c: Likewise.
    	* exec.c: Likewise.
    	* f-exp.y: Likewise.
    	* findcmd.c: Likewise.
    	* ft32-tdep.c: Likewise.
    	* gcore.c: Likewise.
    	* hppa-tdep.c: Likewise.
    	* i386-darwin-tdep.c: Likewise.
    	* i386-tdep.c: Likewise.
    	* linux-thread-db.c: Likewise.
    	* lm32-tdep.c: Likewise.
    	* m32r-tdep.c: Likewise.
    	* m88k-tdep.c: Likewise.
    	* memrange.c: Likewise.
    	* minidebug.c: Likewise.
    	* mips-tdep.c: Likewise.
    	* moxie-tdep.c: Likewise.
    	* nds32-tdep.c: Likewise.
    	* nios2-tdep.c: Likewise.
    	* nto-procfs.c: Likewise.
    	* parse.c: Likewise.
    	* ppc-sysv-tdep.c: Likewise.
    	* probe.c: Likewise.
    	* record-btrace.c: Likewise.
    	* remote.c: Likewise.
    	* rs6000-tdep.c: Likewise.
    	* rx-tdep.c: Likewise.
    	* s390-linux-nat.c: Likewise.
    	* s390-linux-tdep.c: Likewise.
    	* ser-tcp.c: Likewise.
    	* sh-tdep.c: Likewise.
    	* sh64-tdep.c: Likewise.
    	* source.c: Likewise.
    	* sparc-tdep.c: Likewise.
    	* symfile.c: Likewise.
    	* target-memory.c: Likewise.
    	* target.c: Likewise.
    	* tic6x-tdep.c: Likewise.
    	* tilegx-tdep.c: Likewise.
    	* tracefile-tfile.c: Likewise.
    	* tracepoint.c: Likewise.
    	* valprint.c: Likewise.
    	* value.c: Likewise.
    	* xtensa-tdep.c: Likewise.
    	* cli/cli-cmds.c: Likewise.
    	* compile/compile-object-load.c: Likewise.

commit 8193adea2f86e37423a5d0acffb69b80bde05d52
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 16 19:25:55 2016 +0200

    S390: Hardware breakpoint support
    
    Add hardware breakpoint support for S390 targets.
    
    gdb/ChangeLog:
    
    	* s390-linux-nat.c (PER_BIT, PER_EVENT_BRANCH, PER_EVENT_IFETCH)
    	(PER_EVENT_STORE, PER_EVENT_NULLIFICATION)
    	(PER_CONTROL_BRANCH_ADDRESS, PER_CONTROL_SUSPENSION)
    	(PER_CONTROL_ALTERATION): New macros.
    	(struct s390_debug_reg_state) <break_areas>: New member.
    	(s390_forget_process): Free break_areas as well.
    	(s390_linux_new_fork): Copy break_areas as well.
    	(s390_prepare_to_resume): Install hardware breakpoints.
    	(s390_can_use_hw_breakpoint): Indicate support for hardware
    	breakpoints.
    	(s390_insert_hw_breakpoint, s390_remove_hw_breakpoint): New
    	linux_nat target methods.
    	(_initialize_s390_nat): Register them.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/gdb.exp: No longer skip hardware breakpoint tests on s390.

commit 0e00e962c57138f0dd8c261cbd6918782deec3c4
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 16 19:25:55 2016 +0200

    linux-nat: Add function lwp_is_stepping
    
    Add the function lwp_is_stepping which indicates whether the given LWP
    is currently single-stepping.  This is a common interface, usable from
    native GDB as well as from gdbserver.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-low.c (lwp_is_stepping): New function.
    
    gdb/ChangeLog:
    
    	* nat/linux-nat.h (lwp_is_stepping): New declaration.
    	* linux-nat.c (lwp_is_stepping): New function.

commit 169fe0df159c04cd7344d24cc6b1268bd219f830
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 16 19:25:55 2016 +0200

    S390: Enable "maint set show-debug-regs"
    
    Implement a new function for dumping the S390 "debug
    registers" (actually, the PER info) and invoke it at appropriate places.
    Respect the variable show_debug_regs and make it settable by the user.
    
    gdb/ChangeLog:
    
    	* s390-linux-nat.c (gdbcmd.h): New include.
    	(s390_show_debug_regs): New function.
    	(s390_stopped_by_watchpoint): Call it, if show_debug_regs is set.
    	(s390_prepare_to_resume): Likewise.
    	(_initialize_s390_nat): Register the command "maint set
    	show-debug-regs".

commit 373c3dad74da78c46bc1fe4280a26d07e5b54cdd
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 16 19:25:54 2016 +0200

    S390: Multi-inferior watchpoint support
    
    Support different sets of watchpoints in multiple inferiors.
    
    gdb/ChangeLog:
    
    	* s390-linux-nat.c (watch_areas): Remove variable.  Replace by a
    	member of...
    	(struct s390_debug_reg_state): ...this.  New struct.
    	(struct s390_process_info): New struct.
    	(s390_process_list): New variable.
    	(s390_find_process_pid, s390_add_process, s390_process_info_get)
    	(s390_get_debug_reg_state): New functions.
    	(s390_stopped_by_watchpoint): Now access the watch_areas VEC via
    	s390_get_debug_reg_state.
    	(s390_prepare_to_resume): Likewise.
    	(s390_insert_watchpoint): Likewise.
    	(s390_remove_watchpoint): Likewise.
    	(s390_forget_process, s390_linux_new_fork): New linux_nat target
    	methods.
    	(_initialize_s390_nat): Register them.

commit 17c84ccaf042dfb7dd81e4670b74768fe5a96017
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 16 19:25:54 2016 +0200

    S390: Migrate watch areas from list to VEC type
    
    For S390, the list of active watchpoints is maintained in a list based
    at "watch_base".  This refactors the list to a vector "watch_areas".
    
    gdb/ChangeLog:
    
    	* s390-linux-nat.c (s390_watch_area): New typedef.  Define a VEC.
    	(watch_base): Remove variable.
    	(watch_areas): New variable.
    	(s390_stopped_by_watchpoint): Transform operations on the
    	watch_base list to equivalent operations on the watch_areas VEC.
    	(s390_prepare_to_resume): Likewise.
    	(s390_insert_watchpoint): Likewise.
    	(s390_remove_watchpoint): Likewise.

commit 9c2996c98278a95593afaa79db0dc00bb2aff189
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 16 19:25:54 2016 +0200

    S390: Avoid direct access to lwp_info structure
    
    When using the lwp_info structure, avoid accessing its members directly,
    and use the advertised function interfaces instead.  This is according
    to the instructions in linux-nat.h and prepares for making some of the
    code common between gdb and gdbserver.
    
    gdb/ChangeLog:
    
    	* s390-linux-nat.c (s390_prepare_to_resume): Use advertised lwp
    	functions instead of accessing lwp_info structure members.
    	(s390_mark_per_info_changed): New function.
    	(s390_new_thread): Use it.
    	(s390_refresh_per_info_cb): New function.
    	(s390_refresh_per_info): Remove parameter.  Refresh all lwps of
    	the current process.
    	(s390_insert_watchpoint): Adjust call to s390_refresh_per_info.
    	(s390_remove_watchpoint): Likewise.

commit d41a5c096ec613f7df33d5d5ea4c0e512ac1e87a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Sep 16 19:23:22 2016 +0200

    testsuite: Fix false FAIL in gdb.cp/casts.exp
    
    gcc-6.2.1-1.fc26.x86_64
    
    gdb compile failed, /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected primary-expression before 'int'
     decltype(int x)
              ^~~
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected ')' before 'int'
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:1: error: expected unqualified-id before 'decltype'
     decltype(int x)
     ^~~~~~~~
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc: In function 'int main(int, char**)':
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:59:14: error: expected primary-expression before 'decltype'
       double y = decltype(2);
                  ^~~~~~~~
    
    'decltype' is a registered keyword since C++11 which is now a default for GCC.
    
    On Thu, 15 Sep 2016 14:06:56 +0200, Pedro Alves wrote:
    
    Seems to be exercising the FLAG_SHADOW bits:
    
    ...
        {"__typeof__", TYPEOF, OP_TYPEOF, 0 },
        {"__typeof", TYPEOF, OP_TYPEOF, 0 },
        {"typeof", TYPEOF, OP_TYPEOF, FLAG_SHADOW },
        {"__decltype", DECLTYPE, OP_DECLTYPE, FLAG_CXX },
        {"decltype", DECLTYPE, OP_DECLTYPE, FLAG_CXX | FLAG_SHADOW },
    ...
    
    /* This is used to associate some attributes with a token.  */
    
    enum token_flag
    {
    ...
      /* If this bit is set, the token is conditional: if there is a
         symbol of the same name, then the token is a symbol; otherwise,
         the token is a keyword.  */
    
      FLAG_SHADOW = 2
    };
    
    So perhaps a better fix is to move that particular test to a
    separate testcase that force-compiles with -std=c++03.
    
    gdb/testsuite/ChangeLog
    2016-09-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.cp/casts.cc (decltype): Move it ...
    	(main): ... with its call to ...
    	* gdb.cp/casts03.cc: ... a new file.
    	* gdb.cp/casts.exp: Add new file casts03.cc, move decltype test to it.

commit f807f43d7eba5bba3042554f9b3e884d71a68309
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Thu Sep 15 12:24:24 2016 +0200

    [ARC] Disassemble correctly extension instructions.
    
    For each MAJOR-MINOR opcode tuple, we can have either a 3-operand, or
    2-operand, or a single operand instruction format, depending on the
    values present in i-field, and a-field.
    
    The disassembler is reading the section containing the extension
    instruction format and stores them in a table.  Each table element
    represents a linked list with encodings for a particular MAJOR-MINOR
    tuple.
    
    The current implementation checks only against the first element of
    the list, hence, the issue.
    
    This patch is walking the linked list until empty or finds an opcode
    match.  It also adds a test outlining the found problem.
    
    opcodes/
    2016-09-15  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (find_format): Walk the linked list pointed by einsn.
    
    gas/
    2016-09-15  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/textinsnxop.d: New file.
    	* testsuite/gas/arc/textinsnxop.s: Likewise.

commit 0a0df908277bc9c63ec546fb7cd15ea14ad4d9a0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Sep 16 00:00:18 2016 +0000

    Automatic date update in version.in

commit d2dfe7003423d41394d2475680e55af796566b8e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Sep 15 23:45:11 2016 +0200

    testsuite: Fix C++11 compilation failure for gdb.cp/m-static.exp
    
    gcc-6.2.1-1.fc26.x86_64
    
    g++ -std=c++03:
    no warnings
    
    g++:
    In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:0:
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:34: error: ‘constexpr’ needed for in-class initialization of static
    data member ‘const float gnu_obj_4::somewhere’ of non-integral type [-fpermissive]
       static const float somewhere = 3.14159;
                                      ^~~~~~~
    
    clang++:
    In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const
    float' is a GNU extension [-Wgnu-static-float-init]
      static const float somewhere = 3.14159;
                         ^           ~~~~~~~
    1 warning generated.
    
    clang++ -std=c++11:
    In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: error: in-class initializer for static data member of type 'const
    float' requires 'constexpr' specifier [-Wstatic-float-init]
      static const float somewhere = 3.14159;
                         ^           ~~~~~~~
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:3: note: add 'constexpr'
      static const float somewhere = 3.14159;
      ^
      constexpr
    1 error generated.
    
    OK for check-in?
    
    After the fix out of the 4 combinations above only this one remains non-empty:
    
    clang++:
    In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
    /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const
    float' is a GNU extension [-Wgnu-static-float-init]
      static const float somewhere = 3.14159;
                         ^           ~~~~~~~
    1 warning generated.
    
    On Thu, 15 Sep 2016 15:10:50 +0200, Pedro Alves wrote:
    
    Hmm, OK, now that I read the test, I think you were right in trying to
    keep it safe, actually.  The .exp file has:
    
    if { $non_dwarf } { setup_xfail *-*-* }
    gdb_test "print test4.everywhere" "\\$\[0-9\].* = 317" "static const int initialized in class definition"
    if { $non_dwarf } { setup_xfail *-*-* }
    gdb_test "print test4.somewhere" "\\$\[0-9\].* = 3.14\[0-9\]*" "static const float initialized in class definition"
                                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    Added by this:
    
     https://sourceware.org/bugzilla/show_bug.cgi?id=11702
     https://sourceware.org/ml/gdb-patches/2010-06/msg00677.html
     https://sourceware.org/ml/gdb-patches/2010-06/txt00011.txt
    
    So the new patch would make that highlighted tested above not
    test what its test message says it is testing.
    
    So I now think your original patch is better.  Please push
    that one instead.
    
    gdb/testsuite/ChangeLog
    2016-09-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.cp/m-static.h (gnu_obj_4::somewhere): Use constexpr for C++11.

commit e2a92b16496f418e3c2c3b69eb5203b0b335df87
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Thu Sep 15 16:10:05 2016 -0500

    Update ISA 3.0 / POWER9 gdb tests to match GAS test cases.
    
    	* gdb.arch/powerpc-power.s: Update Power9 instruction tests
    	and sync up the test with tests in gas/testsuite/gas/ppc.
    	* gdb.arch/powerpc-power.exp: Likewise.

commit 49b4de64242d4ae035e0e2197837278e33c187fc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Sep 15 14:04:20 2016 +0200

    testsuite: Disable ccache
    
    There were always various problems with compatibility with ccache:
    	https://bugzilla.redhat.com/show_bug.cgi?id=488863
    	https://bugzilla.redhat.com/show_bug.cgi?id=759592
    	https://sourceware.org/ml/gdb-patches/2009-02/msg00397.html
    
    IMO in a summary ccache finds more a benefit of faster compilation despite the
    debug info is no longer exactly the same (as without ccache).
    
    Although for example in this case ccache helped to find a real GDB bug:
    	https://sourceware.org/ml/gdb-patches/2015-01/msg00497.html
    
    For the GDB testcases ccache has (IMO) no real performance advantage and it
    just brings heisenbugs - false FAILs - from time to time:
    
    Breakpoint 1, main () at gdb/testsuite/gdb.base/vdso-warning.c:21^M
    	21        return 0;^M
    	(gdb) PASS: gdb.base/vdso-warning.exp: run: startup
    	->
    	Breakpoint 1, main () at gdb/testsuite/gdb.base/hbreak-unmapped.c:21^M
    	21        return 0;^M
    	(gdb) FAIL: gdb.base/vdso-warning.exp: run: startup
    
    So I find most safe and easy to just disable ccache for all testsuites.
    
    gdb/testsuite/ChangeLog
    2016-09-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* lib/future.exp: Set CCACHE_DISABLE, clear CCACHE_NODISABLE.

commit d7cd93a718c0ddd67e027e42db819d6f152c3500
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Thu Sep 15 12:20:54 2016 +0200

    gas: run the sparc test dcti-couples-v9 only in ELF targets.
    
    gas/ChangeLog:
    
    2016-09-15  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run
    	dcti-couples-v9 only in ELF targets to avoid spurious failures in
    	sparc-aout and sparc-coff targets.

commit fb324ee93a26dcf0560a911074c97dcfb9b3eeb4
Author: Ed Maste <emaste@freebsd.org>
Date:   Thu Sep 15 10:42:08 2016 +0100

    Fix typo in readelf error message.
    
    	* readelf.c (process_mips_specific): Fix typo in error message.

commit fd486b633e87f8ab2977592d56a6d98168814e2e
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Wed Sep 14 22:10:51 2016 -0500

    Modify POWER9 support to match final ISA 3.0 documentation.
    
    opcodes/
    	* ppc-opc.c (powerpc_opcodes) <slbiag>: New mnemonic.
    	<addex., brd, brh, brw, lwzmx, nandxor, rldixor, setbool,
    	xor3>: Delete mnemonics.
    	<cp_abort>: Rename mnemonic from ...
    	<cpabort>: ...to this.
    	<setb>: Change to a X form instruction.
    	<sync>: Change to 1 operand form.
    	<copy>: Delete mnemonic.
    	<copy_first>: Rename mnemonic from ...
    	<copy>: ...to this.
    	<paste, paste.>: Delete mnemonics.
    	<paste_last>: Rename mnemonic from ...
    	<paste.>: ...to this.
    
    gas/
    	* testsuite/gas/ppc/power9.d <slbiag, cpabort> New tests.
    	<addex., brd, brh, brw, lwzmx, nandxor, rldixor, setbool,
    	xor3, cp_abort, copy_first, paste, paste_last, sync>: Remove tests.
    	<copy, paste.>: Update tests.
    	* testsuite/gas/ppc/power9.s: Likewise.

commit b82c1d974170c78cc7b4029da72baca29d0c15bc
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Sep 15 00:00:19 2016 +0000

    Automatic date update in version.in

commit 4f90d84b2f2995829d6af475077598d45ef1d127
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Sep 14 16:02:17 2016 +0100

    Fix ld --gc-section segfault with ARMv8-M entry function in absolute section
    
    bfd/
    2016-09-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
    	not already marked.
    
    ld/
    2016-09-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	* testsuite/ld-arm/cmse-veneers.s: Add a test for ARMv8-M Security
    	Extensions entry functions in absolute section.
    	* testsuite/ld-arm/cmse-veneers.rd: Adapt expected output accordingly.

commit e6d042fe27102cb789407ccb2ec1663aa9c65129
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Sep 14 15:32:01 2016 +0100

    Fix seg-fault in objdump when run on a fuzzed PE binary.
    
    	PR binutils/20605
    	* peicode.h (pe_bfd_read_buildid): Check that the Data Directory
    	contains a valid size for the Debug directory.

commit fc7514d6f2784390b7e6c65c0c9603ede0203f58
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Sep 14 07:15:24 2016 -0700

    gas: improve architecture mismatch diagnostics in sparc
    
    Merely dumping the mnemonic name in "architecture mismatch" errors may
    not provide enough information to determine what went wrong, as the same
    mnemonic can be used for different variants of an instruction pertaining
    to different architecture levels.
    
    This little patch makes the assembler to include the instruction
    arguments in the error message.
    
    gas/ChangeLog:
    
    2016-09-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-sparc.c (sparc_ip): Print the instruction arguments
    	in "architecture mismatch" error messages.

commit 46a2d504dd875caf60f9be191a55c9ff676bcd5c
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Sep 14 07:10:49 2016 -0700

    gas: detect DCTI couples in sparc
    
    Before SPARC V9 the effect of having a delayed branch instruction in the
    delay slot of a conditional delayed branch was undefined.
    
    In SPARC V9 DCTI couples are well defined.
    
    However, starting with the UltraSPARC Architecture 2005, DCTI
    couples (of all kind) are deprecated and should not be used, as they may
    be slow or behave differently to what the programmer expects.
    
    This patch adds a new command line option --dcti-couples-detect to `as',
    disabled by default, that makes the assembler to warn the user if an
    unpredictable DCTI couple is found.  Tests and documentation are
    included.
    
    gas/ChangeLog:
    
    2016-09-14  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-sparc.c (md_assemble): Detect and warning on
    	unpredictable DCTI couples in certain arches.
    	(dcti_couples_detect): New global.
    	(md_longopts): Add command line option -dcti-couples-detect.
    	(md_show_usage): Document -dcti-couples-detect.
    	(md_parse_option): Handle OPTION_DCTI_COUPLES_DETECT.
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run
    	dcti-couples-v8, dcti-couples-v9 and dcti-couples-v9c tests.
    	* testsuite/gas/sparc/dcti-couples.s: New file.
    	* testsuite/gas/sparc/dcti-couples-v9c.d: Likewise.
    	* testsuite/gas/sparc/dcti-couples-v8.d: Likewise.
    	* testsuite/gas/sparc/dcti-couples-v9.d: Likewise.
    	* testsuite/gas/sparc/dcti-couples-v9c.l: Likewise.
    	* testsuite/gas/sparc/dcti-couples-v8.l: Likewise.
    	* doc/as.texinfo (Overview): Document --dcti-couples-detect.
    	* doc/c-sparc.texi (Sparc-Opts): Likewise.

commit 5d9bbb73c1df68741048c3d0f837b50c289ea608
Author: Bhushan Attarde <bhushan.attarde@imgtec.com>
Date:   Wed Sep 14 13:49:16 2016 +0100

    Prevent segfault in GDB when searching for architecture matches.
    
    	* format.c (struct bfd_preserve): New "build_id" field.
    	(bfd_preserve_save): Save "build_id".
    	(bfd_preserve_restore): Restore "build_id".

commit 32348c581bf104d46c3fb42a7ff5cefe8ef65f7f
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Sep 7 09:47:34 2016 +0200

    [ARC] Fix parsing dtpoff relocation expression.
    
    The assembler accepts dtpoff complex relocation expression like
    identifier@dtpoff + const. However, it doesn't accept an expression such
    as identifier@dtpoff@base + const. This patch solves this issue, and adds
    a number of tests.
    
    ld/
    2016-09-14  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/ld-arc/tls-dtpoff.dd: New file.
    	* testsuite/ld-arc/tls-dtpoff.rd: Likewise.
    	* testsuite/ld-arc/tls-dtpoff.s: Likewise.
    	* testsuite/ld-arc/tls-relocs.ld: Likewise.
    	* testsuite/ld-arc/arc.exp: Add new tdpoff test.
    
    gas/
    2016-09-14  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/tls-relocs2.d: New file.
    	* testsuite/gas/arc/tls-relocs2.s: Likewise.
    	* config/tc-arc.c (tokenize_arguments): Accept offsets when base
    	is used.

commit dce084426d75b45ef728425a880d642a604c36a7
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Sep 14 12:20:13 2016 +0100

    Stop the ARC disassembler from seg-faulting if initialised without a BFD present.
    
    	* arc-dis.c (arc_get_disassembler): Accept a null bfd gracefully.

commit 29063f8bfb9d68a213efd1d0ab7a66f97ed9a013
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Sep 14 10:42:10 2016 +0100

    Add support for disabling automatic generation of .eh_frame_hdr sections in ELF based linkers.
    
    	PR ld/20537
    	* emultempl/elf32.em: More OPTION_xxx values into an enum.  Add
    	OPTION_NO_EH_FRAME_HDR.
    	(_add_options): Add support for --no-eh-frame-hdr.
    	* ld.texinfo: Document new option.
    	* lexsup.c (elf_shlib_list_options): List new option.
    	* NEWS: Mention the new option.

commit d68ff01f176038a3a1f21bd2a60dd3d5a2ea0343
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Sep 14 00:00:22 2016 +0000

    Automatic date update in version.in

commit 1d8cb77dff14d44b1e3b670442438da496f99c6e
Author: Carl E. Love <carll@oc4738070240.ibm.com>
Date:   Tue Sep 13 09:58:18 2016 -0700

    Fix for gdb.server/non-existing-program.exp test case
    
    The last commit was supposed to have the reference to ptrace () removed.
    The patch didn't get updated correctly before the commit.  This commit
    fixes the comment as requested
    
    gdbserver/ChangeLog
    
    	2016-09-06  Carl Love  <cel@us.ibm.com>
    
    	* server.c (start_inferior):  Fixed comment, requested comment change
    	didn't get updated correctly.  Removed reference to ptrace () call as
     	it is only true on Linux systems.

commit 7313bced5b695b71a707c82b6817763046e21bb1
Author: Carl E. Love <carll@oc4738070240.ibm.com>
Date:   Tue Sep 13 09:41:54 2016 -0700

    Fix for gdb.server/non-existing-program.exp test case
    
    The test checks to make sure GDB exits cleanly if there is
    no valid target binary.  Currently, ppc and S390 fail on this
    test.  The function target_post_create_inferior () calls
    linux_post_create_inferior () which calls the architecture
    specific functions s390_arch_setup () and ppc_arch_setup ()
    which make ptrace calls	to access the architecture specific
    registers.  These ptrace calls fail because the	process	does
    not exist causing GDB to exit on error.
    
    This patch checks to see if the initial ptrace (PTRACE_TRACEME, ...)
    call returned a status of TARGET_WAITKIND_EXITED indicating the
    target has already exited.  If the target has exited, then the
    target_post_create_inferior () is not called since there is no
    inferior to be setup.  The test	to see if the initial ptrace
    call succeeded is done after the ptrace (PTRACE_TRACEME, ...)
    call and the wait for the inferior process to stop, assuming
    it exists, has occurred.
    
    The patch has been tested on X86 64-bit, ppc64 and s390.  If
    fixes the test failures	on ppc64 and s390.  The	test does not
    fail on	X86 64-bit.  The patch does not	introduce any additional
    regression failures on any of these three platforms.
    
    gdbserver/ChangeLog
    
    2016-09-06  Carl Love  <cel@us.ibm.com>
    
    	* server.c (start_inferior):  Do not call
    	function target_post_create_inferior () if the
    	inferior process has already exited.

commit f83683d5e8246251afaa89036ac0028adbd413b6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Sep 13 00:00:21 2016 +0000

    Automatic date update in version.in

commit 952c3f51ac994f5e98aa829076609124cf9e5243
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Sep 12 16:32:02 2016 +0200

    S/390: Add alternate processor names.
    
    This patch adds alternate CPU names which adhere to the number of the
    architecture document.  So instead of having z196, zEC12, and z13 you
    can use arch9, arch10, and arch11.  The old cpu names stay valid and
    should primarily be used.
    
    The alternate names are supposed to improve compatibility with the IBM
    XL compiler toolchain which uses the arch numbering.
    
    opcodes/ChangeLog:
    
    2016-09-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-mkopc.c (main): Support alternate arch strings.
    
    gas/ChangeLog:
    
    2016-09-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (s390_parse_cpu): Support alternate arch
    	strings.
    	* doc/as.texinfo: Document new arch strings.
    	* doc/c-s390.texi: Likewise.

commit 58af639728582db42765e6f2c73ea61e75b66c8e
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Sep 12 16:32:02 2016 +0200

    S/390: Fix facility bit default.
    
    gas/ChangeLog:
    
    2016-09-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c: Set all facitily bits by default

commit 8b71537b6be5d66d6b6cf1273f7acab0621adfc5
Author: Patrick Steuer <steuer@linux.vnet.ibm.com>
Date:   Mon Sep 12 16:32:02 2016 +0200

    S/390: Fix kmctr instruction type.
    
    opcodes/ChangeLog:
    
    2016-09-12  Patrick Steuer  <steuer@linux.vnet.ibm.com>
    
    	* s390-opc.txt: Fix kmctr instruction type.
    
    gas/ChangeLog:
    
    2016-09-12  Patrick Steuer  <steuer@linux.vnet.ibm.com>
    
    	* testsuite/gas/s390/zarch-z196.d: Adjust testcase.

commit 2c29df25b7c2ff006b45afd80ee6dd734ebbd47c
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Sun Sep 11 16:53:09 2016 -0400

    Fix false FAIL on gdb.base/stap-probe.exp, due to ICF optimization
    
    GCC 6's ICF optimization pass is making the declaration of 'm1' and
    'm2', on gdb.base/stap-probe.c, to be unified.  However, this leads to
    only one instance of the probe 'two' being created, which causes a
    failure on the testsuite (which expects a multi-location breakpoint to
    be inserted on the probe).
    
    This patch fixes this failure by declaring a dummy variable on 'm1',
    and using it as an argument to m1's version of probe 'two'.  Since we
    do not care about the contents of the functions nor about the
    arguments of each probe 'two', this is OK.
    
    gdb/testsuite/ChangeLog:
    2016-09-11  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to
    	make m1's definition to be different from m2's.  Use 'dummy' as an
    	argument for probe 'two'.

commit 12ec45de8ff3705f1e25e031b4502d31d4098f13
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Sep 12 00:00:22 2016 +0000

    Automatic date update in version.in

commit 6097c91e1cc8ccffab1aefb7200069b668e1ab1b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Sep 11 00:00:22 2016 +0000

    Automatic date update in version.in

commit cc3c284619d0482506f532cc8c1b00018fe14136
Author: Jon Beniston <jon@beniston.com>
Date:   Sat Sep 10 21:18:56 2016 +0100

    Use target_sim_options for sim target.
    
    2016-09-10  Jon Beniston  <jon@beniston.com>
    
    	* lib/mi-support.exp (mi_gdb_target_load): Use target_sim_options
    	for sim target.

commit 855dde8e78665bc29482dd23c1f9ac3fda1ae72f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Sep 10 00:00:21 2016 +0000

    Automatic date update in version.in

commit e1b2624a08fae1f669d879946d5041945b4dc248
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Sep 9 19:59:53 2016 +0200

    Pass HWCAP to ifunc resolver
    
    On various GNU Elf architectures, including AArch64, ARM, s390/s390x,
    ppc32/64, and sparc32/64, the dynamic loader passes HWCAP as a parameter
    to each ifunc resolver.  Currently there is an open glibc Bugzilla that
    requests this to be generalized to all architectures:
    
      https://sourceware.org/bugzilla/show_bug.cgi?id=19766
    
    And various ifunc resolvers already rely on receiving HWCAP.  Currently
    GDB always calls an ifunc resolver without any arguments; thus the
    resolver may receive garbage, and based on that, the resolver may decide
    to return a function that is not suited for the given platform.
    
    This patch always passes HWCAP to ifunc resolvers, even on systems where
    the dynamic loader currently behaves otherwise.  The rationale is
    that (1) the dynamic loader may get adjusted on those systems as well in
    the future; (2) passing an unused argument should not cause a problem
    with existing resolvers; and (3) the logic is much simpler without such
    a distinction.
    
    gdb/ChangeLog:
    
    	* elfread.c (auxv.h): New include.
    	(elf_gnu_ifunc_resolve_addr): Pass HWCAP to ifunc resolver.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/gnu-ifunc-lib.c (resolver_hwcap): New external
    	variable declaration.
    	(gnu_ifunc): Add parameter hwcap.  Store it in resolver_hwcap.
    	* gdb.base/gnu-ifunc.c (resolver_hwcap): New global variable.
    	* gdb.base/gnu-ifunc.exp: Add test to verify that the resolver
    	received HWCAP as its argument.

commit 3569342c148dd1cb4b2e1bdafe64a9e3a3701813
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Sep 9 00:00:22 2016 +0000

    Automatic date update in version.in

commit f5c4fcd9712f516e2b5cfb8ad2464f0d5dfcc61b
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Sep 8 09:49:07 2016 -0600

    Remove some unneeded casts from remote.c
    
    I happened to notice a few unneeded casts in remote.c.  In some cases
    these are no-ops, and in others these cast away const, but in a context
    where this is not needed.
    
    I'm checking this in under the obvious rule.
    Tested by rebuilding on x86-64 Fedora 24.
    
    2016-09-08  Tom Tromey  <tom@tromey.com>
    
    	* remote.c (remote_notif_stop_ack, remote_wait_as)
    	(show_remote_cmd): Remove unneeded casts.

commit 8d471ec1e73eea3ff8ff6954283f8f16e7a7bc84
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 8 07:54:16 2016 -0700

    Allow PROCESSOR_IAMCU for Intel MCU
    
    	* config/tc-i386.c (i386_target_format): Allow PROCESSOR_IAMCU
    	for Intel MCU.

commit a46c43f40a5faf27fc01062bad8d34c7751f18e4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Sep 8 00:00:20 2016 +0000

    Automatic date update in version.in

commit 5b64d091e9ede49e402cb9697d35a40559ee7ff0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Sep 7 09:16:25 2016 -0700

    X86: Allow additional ISAs for IAMCU in assembler
    
    Originally only Pentium integer instructions are allowed for IAMCU.
    This patch removes such a restriction.  For example, 387 and SSE2
    instructions can be enabled by passing "-march=iamcu+sse2+387" to
    assembler.
    
    gas/
    
    	* config/tc-i386.c (valid_iamcu_cpu_flags): Removed.
    	(set_cpu_arch): Updated.
    	(md_parse_option): Likewise.
    	* testsuite/gas/i386/i386.exp: Run iamcu-4 and iamcu-5.  Remove
    	iamcu-inval-2 and iamcu-inval-3.
    	* testsuite/gas/i386/iamcu-4.d: New file.
    	* testsuite/gas/i386/iamcu-4.s: Likewise.
    	* testsuite/gas/i386/iamcu-5.d: Likewise.
    	* testsuite/gas/i386/iamcu-5.s: Likewise.
    	* testsuite/gas/i386/iamcu-inval-2.l: Removed.
    	* testsuite/gas/i386/iamcu-inval-2.s: Likewise.
    	* testsuite/gas/i386/iamcu-inval-3.l: Likewise.
    	* testsuite/gas/i386/iamcu-inval-3.s: Likewise.
    
    opcodes/
    
    	* i386-gen.c (cpu_flag_init): Remove CPU_IAMCU_COMPAT_FLAGS.
    	* i386-init.h: Regenerated.

commit 27e5a270962fb92c07e7d476966ba380fa3bb68e
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Wed Sep 7 17:14:54 2016 +0100

    [arm] Automatically enable CRC instructions on supported ARMv8-A CPUs.
    
    2016-09-07  Richard Earnshaw  <rearnsha@arm.com>
    
    	* opcode/arm.h (ARM_ARCH_V8A_CRC): New architecture.
    
    2016-09-07  Richard Earnshaw  <rearnsha@arm.com>
    
    	* config/tc-arm.c ((arm_cpus): Use ARM_ARCH_V8A_CRC for all
    	ARMv8-A CPUs except xgene1.

commit 361441170c2503ccd00aee8bc2b2accf4e121553
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Sep 7 00:00:19 2016 +0000

    Automatic date update in version.in

commit 4295e285efa8193504ee08b9f633d9f8680bf181
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Sep 6 23:29:25 2016 +0100

    new-ui command: gdb internal errors if input is already pending
    
    I noticed that if input is already pending on the new-ui TTY, gdb
    internal-errors.
    
    E.g., create /dev/pts/2, and type anything there (even just <return>
    is sufficient).
    
    Now start GDB creating a new UI on that TTY, while at the same time,
    running a synchronous execution command.  Something like:
    
    $ gdb program -ex "new-ui console /dev/pts/2" -ex "start"
    
    Back on /dev/pts/2, we get:
    
      (gdb) .../src/gdb/event-top.c:360: internal-error: double prompt
      A problem internal to GDB has been detected,
      further debugging may prove unreliable.
    
    While the main UI was waiting for "start" to finish, gdb kepts pumping
    events, including the input fd of the extra console.  The problem is
    that stdin_event_handler doesn't restore the current UI back to what
    it was, assuming that it's only ever called from the top level event
    loop.  However, in this case, it's being called from the nested event
    loop from within maybe_wait_sync_command_done.
    
    When finally the "start" command is done, we reach the code that
    prints the prompt in the main UI, just before starting the main event
    loop.  Since now the current UI is pointing at the extra console (by
    mistake), we find ourselves printing a double prompt on the extra
    console.  This is caught by the assertion that fails, as shown above.
    
    Since other event handlers also don't restore the UI (e.g., signal
    event handlers), I think it's better if whatever is pumping events to
    take care to restore the UI, if it cares.  That's what this patch
    does.  New test included.
    
    gdb/ChangeLog:
    2016-09-06  Pedro Alves  <palves@redhat.com>
    
    	* top.c (wait_sync_command_done): Don't assume current_ui doesn't
    	change across events.  Restore the current UI before returning.
    	(gdb_readline_wrapper): Restore the current UI before returning.
    
    gdb/testsuite/ChangeLog:
    2016-09-06  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/new-ui-pending-input.c: New file.
    	* gdb.base/new-ui-pending-input.exp: New file.
    	* gdb.exp (clear_gdb_spawn_id): New procedure.
    	(with_spawn_id): Check whether gdb_spawn_id exists before
    	referencing it.  If gdb_spawn_id didn't exist on entry, clear it
    	on exit.

commit a025b477cc466112af0b120c5f2bf5d62a62017e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Sep 6 23:17:14 2016 +0100

    Introduce make_cleanup_restore_current_ui
    
    Just a tidy, no functional changes.
    
    gdb/ChangeLog:
    2016-09-06  Pedro Alves  <palves@redhat.com>
    
    	* event-top.c (restore_ui_cleanup): Now static.
    	(make_cleanup_restore_current_ui): New function.
    	(switch_thru_all_uis_init): Use it.
    	* infcall.c (call_thread_fsm_should_stop): Use it.
    	* infrun.c (fetch_inferior_event): Use it.
    	* top.c (new_ui_command): Use it.
    	* top.h (restore_ui_cleanup): Delete declaration.
    	(make_cleanup_restore_current_ui): New declaration.

commit d8457a04b71cbd642a00352dce0539fe1fe22dd4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Sep 6 13:34:30 2016 -0700

    Resolve size relocation with copy relocation
    
    We can resolve size relocation against symbol which needs copy relocation
    when building executable.
    
    bfd/
    
    	PR ld/20550
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
    	relocation with copy relocation when building executable.
    
    ld/
    
    	PR ld/20550
    	* testsuite/ld-x86-64/pr20550a.s: New file.
    	* testsuite/ld-x86-64/pr20550b.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp (x86_64tests): Add tests for
    	PR ld/20550.

commit 22d6c51be8de9a091d89c0e11e6e140f333ade62
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Sep 6 17:35:35 2016 +0100

    Do not pass host compiler sanitization flags on to linker testsuite.
    
    	* Makefile.am (CFLAGS_FOR_TARGET): Define as a copy of CFLAGS but
    	without any sanitization options.
    	(CXXFLAGS_FOR_TARGET): Define as a copy of CXXFLAGS but	without
    	any sanitization options.
    	(check-DEJAGNU): Pass CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET
    	as CFLAGS and CXXFLAGS respectively.

commit 00d5215ecec4fa0a78dcc37fec9425593753eb66
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:33:15 2016 +0200

    Support 128-bit IEEE floating-point types on Intel and Power
    
    Now that all the prerequisites are in place, this commit finally adds support
    for handling the __float128 type on Intel and Power, by providing appropriate
    platform-specific versions of the floatformat_for_type callback.
    
    Since at this point we do not yet have any indication in the debug info to
    distinguish different floating-point formats of the same length, we simply
    use the type name as hint.  Types named "__float128" get the IEEE format.
    In addition to handling "__float128" itself, we also recognize "_Float128"
    and (on Power) "_Float64x", as well as the complex versions of those.
    (As pointed out by Joseph Myers, starting with GCC 7, __float128 is just
    a typedef for _Float128 -- but it's good to handle this anyway.)
    
    A new test case does some simple verification that the format is decoded
    correctly, using both __float128 and "long double" to make sure using both
    in the same file still works.  Another new test verifies handling of the
    _FloatN and _FloatNx types supported by GCC 7, as well as the complex
    versions of those types.
    
    Note that this still only supports basic format decoding and encoding.
    We do not yet support the GNU extension 'g' suffix for __float128 constants.
    In addition, since all *arithmetic* on floating-point values is still
    performed in native host "long double" arithmetic, if that format is not
    able to encode all target __float128 values, we may get incorrect results.
    (To fix this would require implementing fully synthetic target floating-
    point arithmetic along the lines of GCC's real.c, presumably using MPFR.)
    
    gdb/ChangeLog:
    
    	* i386-tdep.c (i386_floatformat_for_type): New function.
    	(i386_gdbarch_init): Install it.
    	* ppc-linux-tdep.c (ppc_floatformat_for_type): New function.
    	(ppc_linux_init_abi): Install it.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/float128.c: New file.
    	* gdb.base/float128.exp: Likewise.
    	* gdb.base/floatn.c: Likewise.
    	* gdb.base/floatn.exp: Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 9b790ce7227fa346d08a41462119e9a3e93f5e80
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:31:53 2016 +0200

    Add gdbarch callback to provide formats for debug info float types
    
    At this point, all TYPE_CODE_FLT types carry their floating-point format,
    except for those creating from reading DWARF or stabs debug info.  Those
    will be addressed by this commit.
    
    The main issue here is that we actually have to determine which floating-
    point format to use.  Currently, we only have the type length as input
    to this decision.  In the future, we may hopefully get --at least in
    DWARF-- additional information to help disambiguate multiple different
    formats of the same length.  For now, we can still look at the type name
    as a hint.
    
    This decision logic is encapsulated in a gdbarch callback to allow
    platform-specific overrides.  The default implementation use the same
    logic (compare type length against the various gdbarch_..._bit sizes)
    that is currently implemented in floatformat_from_length.
    
    With this commit, all platforms still use the default logic, so there
    should be no actual change in behavior.  A follow-on commit will add
    support for __float128 on Intel and Power.
    
    Once dwarf2read.c and stabsread.c make use of the new callback to
    determine floating-point formats, we're now sure every TYPE_CODE_FLT
    type will always carry its format.  The commit therefore adds asserts
    to verify_floatformat to ensure new code will continue to always
    provide formats, and removes the code in floatformat_from_type that
    used to handle types with a NULL TYPE_FLOATFORMAT.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh (floatformat_for_type): New gdbarch callback.
    	* gdbarch.h, gdbarch.c: Re-generate.
    	* arch-utils.h (default_floatformat_for_type): New prototype.
    	* arch-utils.c (default_floatformat_for_type): New function.
    
    	* doublest.c (floatformat_from_length): Remove.
    	(floatformat_from_type): Assume TYPE_FLOATFORMAT is non-NULL.
    	* gdbtypes.c (verify_floatformat): Require non-NULL format.
    
    	* dwarf2read.c (dwarf2_init_float_type): New function.
    	(read_base_type): Use it.
    	* stabsread.c (dbx_init_float_type): New function.
    	(read_sun_floating_type): Use it.
    	(read_range_type): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 49f190bcb7f074ea2e27d4e967e4fae9ed7dafb6
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:31:03 2016 +0200

    Add missing format for built-in floating-point types
    
    Many callers of init_float_type and arch_float_type still pass a NULL
    floatformat.  This commit changes those callers where the floatformat
    that is supposed to be use is obvious.  There are two categories where
    this is the case:
    
    - A number of built-in types are intended to match the platform ABI
      floating-point types (i.e. types that use gdbarch_float_bit etc.).
      Those places should use the platform ABI floating-point formats
      defined via gdbarch_float_format etc.
    
    - A number of language built-in types should simply use IEEE floating-
      point formats, since the language actually defines that this is the
      format that must be used to implement floating-point types for this
      language.  (This affects Java, Go, and Rust.)  The same applies for
      to the predefined "RS/6000" stabs floating-point built-in types.
    
    gdb/ChangeLog:
    
    	* ada-lang.c (ada_language_arch_info): Use gdbarch-provided
    	platform ABI floating-point formats for built-in types.
    	* d-lang.c (build_d_types): Likewise.
    	* f-lang.c (build_fortran_types): Likewise.
    	* m2-lang.c (build_m2_types): Likewise.
    	* mdebugread.c (basic_type): Likewise.
    
    	* go-lang.c (build_go_types): Use IEEE floating-point formats
    	for language built-in types as mandanted by the language.
    	* jv-lang.c (build_java_types): Likewise.
    	* rust-lang.c (rust_language_arch_info): Likewise.
    	* stabsread.c (rs6000_builtin_type): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit c413c44801e449f1f0b9828b81770e752b8219af
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:30:13 2016 +0200

    Remove TYPE_NOSIGN "char" hack
    
    init_type (and arch_integer_type) currently use a special hack to set the
    TYPE_NOSIGN flag if the type name is exactly "char".  This commit moves the
    hack up to the callers of those routines.
    
    The special case currently can hit only for types created from dwarf2read,
    but read_base_type actually implements the "char" check itself, so it is
    redundant to do it in init_type as well.  (Note that stabsread.c and the
    other type readers always pass NULL as name to init_type, so the special
    case can never hit for those.)
    
    A few other cases create pre-definded types with a hard-coded name of "char";
    the commit simply moves setting the TYPE_NOSIGN flag to those places.
    
    No functional change intended.
    
    gdb/ChangeLog:
    
    	* gdbtypes.c (init_type): Remove "char" special case.
    	(arch_integer_type): Likewise.
    	(gdbtypes_post_init): Set TYPE_NOSIGN for "char" type.
    	(objfile_type): Likewise.
    	* mdebugread.c (basic_type): Likewise.
    	* stabsread.c (rs6000_builtin_type): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit a9ff5f12cff6cd06f74ecf387ac5468984c94c6f
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:29:15 2016 +0200

    Remove obsolete TYPE_FLAG_... values
    
    Now that init_type no longer takes a FLAGS argument, there is no user of
    the TYPE_FLAGS_... enum values left.  This commit removes them (and all
    references to them in comments as well).
    
    This is mostly a no-op, except for a change to the Python type printer,
    which attempted to use them before.  (As best as I can tell, this wasn't
    really needed anyway, since it was only used to pretty-print type
    *instance* flags, which only use the instance flags.)
    
    gdb/ChangeLog:
    
    	* gdbtypes.h (enum type_flag_value): Remove.
    	Remove references to TYPE_FLAG_... in comments throughout.
    	* gdbtypes.c (recursive_dump_type): Do not print TYPE_FLAG_...
    	flags, print the corresponding TYPE_... access macro names.
    	Remove references to TYPE_FLAG_... in comments throughout.
    	* infcall.c: Remove references to TYPE_FLAG_... in comments.
    	* valprint.c: Likewise.
    	* gdb-gdb.py (class TypeFlag): No longer consider TYPE_FLAG_...
    	values, only TYPE_INSTANCE_FLAG_... values.
    	(class TypeFlagsPrinter): Likewise.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.cp/hang.exp: Remove reference to TYPE_FLAG_STUB in comment.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 19f392bc2a93d9e64d063b884cd6eca547c8dad0
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:27:55 2016 +0200

    Unify init_type and arch_type interface and helpers
    
    This adds a number of helper routines for creating objfile-owned types;
    these correspond 1:1 to the already existing helper routines for creating
    gdbarch-owned types, and are intended to be used instead of init_type.
    A shared fragment of init_float_type and arch_float_type is extracted into
    a separate subroutine verify_subroutine.
    
    The commit also brings the interface of init_type in line with the one for
    arch_type.  In particular, this means removing the FLAGS argument; callers
    now set the required flags directly.  (Since most callers use the new
    helper routines, very few callers actually need to set any additional
    flags directly any more.)
    
    Note that this means all the TYPE_FLAGS_... defined are no longer needed
    anywhere; they will be removed by a follow-on commit.
    
    All users of init_type are changed to use on of the new helpers where
    possible.  No functional change intended.
    
    gdb/ChangeLog:
    
    	* gdbtypes.h (init_type): Remove FLAGS argument.  Move OBJFILE
    	argument to first position.
    	(init_integer_type): New prototype.
    	(init_character_type): Likewise.
    	(init_boolean_type): Likewise.
    	(init_float_type): Likewise.
    	(init_decfloat_type): Likewise.
    	(init_complex_type): Likewise.
    	(init_pointer_type): Likewise.
    	* gdbtypes.c (verify_floatflormat): New function.
    	(init_type): Remove FLAGS argument and processing.  Move OBJFILE
    	argument to first position.
    	(init_integer_type): New function.
    	(init_character_type): Likewise.
    	(init_boolean_type): Likewise.
    	(init_float_type): Likewise.
    	(init_decfloat_type): Likewise.
    	(init_complex_type): Likewise.
    	(init_pointer_type): Likewise.
    	(arch_float_type): Use verify_floatflormat.
    	(objfile_type): Use init_..._type helpers instead of calling
    	init_type directly.
    	* dwarf2read.c (fixup_go_packaging): Update to changed init_type
    	prototype.
    	(read_namespace_type): Likewise.
    	(read_module_type): Likewise.
    	(read_typedef): Likewise.
    	(read_unspecified_type): Likewise.
    	(build_error_marker_type): Likewise.
    	(read_base_type): Use init_..._type helpers.
    	* mdebugread.c (basic_type): Use init_..._type helpers.
    	(parse_type): Update to changed init_type prototype.
    	(cross_ref): Likewise.
    	* stabsread.c (rs6000_builtin_type): Use init_..._type helpers.
    	(read_sun_builtin_type): Likewise.
    	(read_sun_floating_type): Likewise.
    	(read_range_type): Likewise.  Also update to changed init_type
    	prototype.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 88dfca6c43c11dea69db24cfb87e6821e63e29b2
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:26:32 2016 +0200

    Add some missing arch_..._type helpers
    
    gdbtypes provides a number of helper routines that can be called instead of
    using arch_type directly to create a type of a particular kind.  This patch
    adds two additional such routines that have been missing so far, to allow
    creation of TYPE_CODE_DECFLOAT and TYPE_CODE_POINTER types.
    
    The patch also changes a number of places to use the new helper routines
    instead of calling arch_type directly.  No functional change intended.
    
    gdb/ChangeLog:
    
    	* gdbtypes.h (arch_decfloat_type): New prototype.
    	(arch_pointer_type): Likewise.
    	* gdbtypes.c (arch_decfloat_type): New function.
    	(arch_pointer_type): Likewise.
    	(gdbtypes_post_init): Use arch_decfloat_type.
    	* avr-tdep.c (avr_gdbarch_init): Use arch_pointer_type.
    	* ft32-tdep.c (ft32_gdbarch_init): Likewise.
    	* m32c-tdep.c (make_types): Likewise.
    	* rl78-tdep.c (rl78_gdbarch_init): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit ae438bc5c06b770c00f37e4ed244707ce3ab9ff4
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:25:31 2016 +0200

    Fix TYPE_SPECIFIC_FIELD for types created via arch_type
    
    A type's TYPE_SPECIFIC_FIELD is supposed to be initialized as appropriate
    for the type code.  This does happen if the type is created via init_type,
    but not if it created via arch_type.
    
    Fixed by extracting the initialization logic into a new set_type_code
    routine, which is then called from both places.
    
    gdb/ChangeLog:
    
    	* gdbtypes.c (set_type_code): New function.
    	(init_type, arch_type): Use it.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 5f3bceb68dd211be977eb61d5f1ea68e7de51b7a
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Tue Sep 6 17:22:51 2016 +0200

    Fix typo in ada_language_arch_info
    
    This fixes a bug introduced by a wrong replacement here:
    https://sourceware.org/ml/gdb-patches/2007-06/msg00196.html
    
    The Ada "long_long_float" type is supposed to correspond to the
    platform ABI long double type, not double.
    
    gdb/ChangeLog:
    
    	* ada-lang.c (ada_language_arch_info): Use gdbarch_long_double_bit
    	instead of gdbarch_double_bit for "long_long_float".
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 21b65bac42c899df2049cdbd472b2e7242a40fbe
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Sep 6 15:42:12 2016 +0100

    Fix a problem in readelf where memcpy could be called with a NULL second argument.
    
    	* readelf.c (request_dump_bynumber): Only call memcpy if
    	dump_sects is not NULL.

commit bf1865065f64af2f32798c0327143baf99634e8d
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Tue Sep 6 12:28:37 2016 +0530

    Fix PR ld/20545 - relaxation bugs in avr backend
    
    Prior to the patch, addends for relocs were being adjusted even if
    they went beyond an alignment boundary. This is wrong - to
    preserve alignment constraints, the relaxation logic adds as many padding
    bytes at the alignment boundary as was deleted, so addends beyond the
    boundary should not be adjusted. avr-prop-7.s reproduces this
    scenario.
    
    Also, prior to this patch, the relaxation logic assumed that the addr
    parameter pointed to the middle of the instruction to be deleted, and
    that addr - count would therefore be the shrinked instruction's
    address. This is true when actually shrinking instructions.
    
    The alignment constraints handling logic also invokes the same logic
    though, with addr as the starting offset of padding bytes and
    with count as the number of bytes to be deleted. Calculating the
    shrinked insn's address as addr - count is obviously wrong in this
    case - that offset would point to count bytes before the last
    non-padded byte. avr-prop-8.s reproduces this scenario.
    
    To fix scenario 1, the patch adds an additional check to ensure reloc addends
    aren't adjusted if they cross a shrink boundary. The shrink boundary
    is either the section size or an alignment boundary. Addends pointing
    at an alignment boundary don't need to be adjusted, as padding would
    occur and keep the boundary the same. Addends pointing at section size
    need to be adjusted though, as no padding occurs and the section size
    itself would get decremented. The patch records whether padding
    occured (did_pad) and uses that to detect and handle this condition.
    
    To fix scenario 2, the patch adds an additional parameter
    (delete_shrinks_insn) to elf32_avr_relax_delete_bytes to distinguish
    instruction bytes deletion from padding bytes deletion. It then uses that to
    correctly set shrinked_insn_address.
    
    bfd/ChangeLog:
    
    2016-09-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
    	PR ld/20545
    	* elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
    	delete_shrinks_insn. Modify computation of shrinked_insn_address.
    	Compute shrink_boundary and adjust addend only if
    	addend_within_shrink_boundary.
    	(elf32_avr_relax_section): Modify calls to
    	elf32_avr_relax_delete_bytes to pass extra parameter.
    
    ld/ChangeLog:
    
    2016-09-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
    	PR ld/20545
    	* testsuite/ld-avr/avr-prop-7.d: New test.
    	* testsuite/ld-avr/avr-prop-7.s: New test.
    	* testsuite/ld-avr/avr-prop-8.d: New test.
    	* testsuite/ld-avr/avr-prop-8.s: New test.

commit 3b276c08506b32359570e56698dfc7fc4d9e43c4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Sep 6 00:00:19 2016 +0000

    Automatic date update in version.in

commit cf6de44d75082116865a85cbf94db2632b679361
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Sep 5 19:10:44 2016 +0100

    gdb/: Require a C++ compiler
    
    This removes all support for building gdb & gdbserver with a C
    compiler from gdb & gdbserver's build machinery.
    
    gdb/ChangeLog:
    2016-09-05  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Mention that a C++ compiler is now required.
    	* Makefile.in (COMPILER, COMPILER_CFLAGS): Remove.
    	(COMPILE.pre, CC_LD): Use CXX directly.
    	(INTERNAL_CFLAGS_BASE): Use CXXFLAGS directly.
    	* acinclude.m4: Don't include build-with-cxx.m4.
    	* build-with-cxx.m4: Delete file.
    	* configure.ac: Remove GDB_AC_BUILD_WITH_CXX call.
    	* warning.m4: Assume $enable_build_with_cxx is yes.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2016-09-05  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (COMPILER, COMPILER_CFLAGS): Remove.
    	(COMPILE.pre, CC_LD): Use CXX directly.
    	(INTERNAL_CFLAGS_BASE): Use CXXFLAGS directly.
    	* acinclude.m4: Don't include build-with-cxx.m4.
    	* configure.ac: Remove GDB_AC_BUILD_WITH_CXX call.
    	* configure: Regenerate.

commit f245535cf583ae4ca13b10d47b3c7d3334593ece
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Sep 5 18:41:38 2016 +0100

    Fix PR19927: Avoid unwinder recursion if sniffer uses calls parse_and_eval
    
    This fixes the problem exercised by Kevin's test at:
    
     https://sourceware.org/ml/gdb-patches/2016-08/msg00216.html
    
    This was originally exposed by the OpenJDK Python-based unwinder.
    
    If an unwinder attempts to call parse_and_eval from within its
    sniffing method, GDB's unwinding machinery enters infinite recursion.
    However, parse_and_eval is a pretty reasonable thing to call, because
    Python/Scheme-based unwinders will often need to read globals out of
    inferior memory.  The recursion happens because:
    
    - get_current_frame() is called soon after the target stops.
    
    - current_frame is NULL, and so we unwind it from the sentinel frame
      (which is special and has level == -1).
    
    - We reach get_prev_frame_if_no_cycle, which does cycle detection
      based on frame id, and thus tries to compute the frame id of the new
      frame.
    
    - Frame id computation requires an unwinder, so we go through all
      unwinder sniffers trying to see if one accepts the new frame (the
      current frame).
    
    - the unwinder's sniffer calls parse_and_eval().
    
    - parse_and_eval depends on the selected frame/block, and if not set
      yet, the selected frame is set to the current frame.
    
    - get_current_frame () is called again.  current_frame is still NULL,
      so ...
    
    - recurse forever.
    
    
    In Kevin's test at:
    
     https://sourceware.org/ml/gdb-patches/2016-08/msg00216.html
    
    gdb doesn't recurse forever simply because the Python unwinder
    contains code to detect and stop the recursion itself.  However, GDB
    goes downhill from here, e.g., by showing the sentinel frame as
    current frame (note the -1):
    
        Breakpoint 1, ccc (arg=<unavailable>) at py-recurse-unwind.c:23
        23      }
        (gdb) bt
        #-1 ccc (arg=<unavailable>) at py-recurse-unwind.c:23
        Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    That "-1" frame level comes from this:
    
          if (catch_exceptions (current_uiout, unwind_to_current_frame,
    			    sentinel_frame, RETURN_MASK_ERROR) != 0)
    	{
    	  /* Oops! Fake a current frame?  Is this useful?  It has a PC
                 of zero, for instance.  */
    	  current_frame = sentinel_frame;
    	}
    
    which is bogus.  It's never correct to set the current frame to the
    sentinel frame.  The only reason this has survived so long is that
    getting here normally indicates something wrong has already happened
    before and we fix that.  And this case is no exception -- it doesn't
    really matter how precisely we managed to get to that bogus code (it
    has to do with the the stash), because anything after recursion
    happens is going to be invalid.
    
    So the fix is to avoid the recursion in the first place.
    
    Observations:
    
     #1 - The recursion happens because we try to do cycle detection from
          within get_prev_frame_if_no_cycle.  That requires computing the
          frame id of the frame being unwound, and that itself requires
          calling into the unwinders.
    
     #2 - But, the first time we're unwinding from the sentinel frame,
          when we reach get_prev_frame_if_no_cycle, there's no frame chain
          at all yet:
    
          - current_frame is NULL.
          - the frame stash is empty.
    
    Thus, there's really no need to do cycle detection the first time we
    reach get_prev_frame_if_no_cycle, when building the current frame.
    
    So we can break the recursion by making get_current_frame call a
    simplified version of get_prev_frame_if_no_cycle that results in
    setting the current_frame global _before_ computing the current
    frame's id.
    
    But, we can go a little bit further.  As there's really no reason
    anymore to compute the current frame's frame id immediately, we can
    defer computing it to when some caller of get_current_frame might need
    it.  This was actually how the frame id was computed for all frames
    before the stash-based cycle detection was added.  So in a way, this
    patch reintroduces the lazy frame id computation, but unlike before,
    only for the case of the current frame, which turns out to be special.
    
    This lazyness, however, requires adjusting
    gdb.python/py-unwind-maint.exp, because that assumes unwinders are
    immediately called as side effect of some commands.  I didn't see a
    need to preserve the behavior expected by that test (all it would take
    is call get_frame_id inside get_current_frame), so I adjusted the
    test.
    
    gdb/ChangeLog:
    2016-09-05  Pedro Alves  <palves@redhat.com>
    
    	PR backtrace/19927
    	* frame.c (get_frame_id): Compute the frame id if not computed
    	yet.
    	(unwind_to_current_frame): Delete.
    	(get_current_frame): Use get_prev_frame_always_1 to get the
    	current frame and assert that that always succeeds.
    	(get_prev_frame_if_no_cycle): Skip cycle detection if returning
    	the current frame.
    
    gdb/testsuite/ChangeLog:
    2016-09-05  Pedro Alves  <palves@redhat.com>
    
    	PR backtrace/19927
    	* gdb.python/py-unwind-maint.exp: Adjust tests to not expect that
    	unwinders are immediately called as side effect of "source" or
    	"disable unwinder" commands.
    	* gdb.python/py-recurse-unwind.exp: Remove setup_kfail calls.

commit e8190051bb0effe35254d2968a4a62170f3bbc0e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Sep 5 00:00:19 2016 +0000

    Automatic date update in version.in

commit d846d3226826a2deb5e1759e19f93689c7003233
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Sep 4 00:00:18 2016 +0000

    Automatic date update in version.in

commit c1da6748f560ec19173d5d7766e0d497e8a0f1e4
Author: Akash Trehan <akash.trehan123@gmail.com>
Date:   Fri Sep 2 13:48:59 2016 +0530

    Removed redundant line remote-utils.c
    
    2016-09-02  Akash Trehan  <akash.trehan123@gmail.com>
    
    gdb/gdbserver/ChangeLog:
        PR gdb/19495
        * remote-utils.c (relocate_instruction): Remove redundant strcpy()
        call writing data to own_buf.

commit a367a3acb383e7766602db840fad31ed4a1da655
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Sep 3 00:00:17 2016 +0000

    Automatic date update in version.in

commit bc99685c7387acaa9fc20f7e45e9cd477bf0c619
Author: Doug Kwan <dougkwan@google.com>
Date:   Fri Sep 2 15:51:59 2016 -0700

    Handle ARM-specific --target1-abs, --target1-rel and --target2 options

commit 4aa4e28bdcf5f0d733def62b542fea11d5f219d5
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Aug 22 16:56:52 2016 -0600

    Handle DW_OP_form_tls_address
    
    Currently gdb supports DW_OP_GNU_push_tls_address, but not
    DW_OP_form_tls_address.  I think it would be better if the toolchain
    as a whole moved to using the standard opcode, and the prerequisite to
    this is getting gdb to recognize it.
    
    GCC can sometimes emit DW_OP_form_tls_address for emultls targets.  As
    far as I know, nobody has ever tried this with gdb (since it wouldn't
    work at all).
    
    I don't think there's a major drawback to using a single opcode for
    all targets, because computing the location of a thread-local is
    already target specific.
    
    This is PR gdb/11616.
    
    I don't know how to write a test case for this; though it's worth
    noting that there aren't explicit tests for DW_OP_GNU_push_tls_address
    either -- and if I change GCC, these paths will be tested to the same
    extent they are now.
    
    2016-09-02  Tom Tromey  <tom@tromey.com>
    
    	PR gdb/11616:
    	* dwarf2read.c (decode_locdesc): Handle DW_OP_form_tls_address.
    	* dwarf2loc.c (dwarf2_compile_expr_to_ax): Handle
    	DW_OP_form_tls_address.
    	(locexpr_describe_location_piece): Likewise.
    	* dwarf2expr.h (struct dwarf_expr_context_funcs): Update comment.
    	* dwarf2expr.c (execute_stack_op): Handle DW_OP_form_tls_address.
    	(ctx_no_get_tls_address): Mention DW_OP_form_tls_address.
    	* compile/compile-loc2c.c (struct insn_info): Update comment.
    	(compute_stack_depth_worker): Handle DW_OP_form_tls_address.

commit 1b2d85b255f11d0fce6c323f9e113673445c961a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Sep 2 07:58:24 2016 -0700

    Limit pr20513c/pr20513d to Linux and GNU targets
    
    	* testsuite/ld-elf/pr20513c.d: Limit to *-*-linux* and *-*-gnu*
    	targets.
    	* testsuite/ld-elf/pr20513d.d: Likewise.

commit 3b9a79ef767f0e7f8c5fecd7eea920f20084d3d4
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Sep 2 15:49:57 2016 +0100

    [GDBserver] Replace "reinsert_breakpoint" with "single_step_breakpoint"
    
    reinsert_breakpoint is used for software single step, so it is more
    clear to rename it to single_step_breakpoint.  This was pointed out in
    the review https://sourceware.org/ml/gdb-patches/2016-05/msg00429.html
    I don't rename "other_breakpoint" in this patch.
    
    gdb/gdbserver:
    
    2016-09-02  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c: Replace "reinsert_breakpoints" with
    	"single_step_breakpoints".  Replace "reinsert breakpoints"
    	with "single-step breakpoints".
    	* mem-break.c: Likewise.
    	* mem-break.h: Likewise.

commit ae9cf263fdd47c30b997fcf4627609df77ca64c1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Sep 2 15:26:54 2016 +0100

    Skip floating point tests in return-nodebug.exp if gdb_skip_float_test is true
    
    return-nodebug.exp does the test for various types, but we shouldn't
    test with floating point type if gdb_skip_float_test returns true.
    
    gdb/testsuite:
    
    2016-09-02  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/return-nodebug.exp: Skip the test if	skip_float_test
    	is true and $type is "float" or "double".

commit 27aba0477a4818fd760accd5b29a210d0ade2f42
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Sep 2 09:22:13 2016 +0100

    Detect broken ptrace in gdb_skip_float_test
    
    We recently found a ARM kernel ptrace bug
    http://lists.infradead.org/pipermail/linux-arm-kernel/2016-May/431962.html
    Details can be found in the comment in gdb_skip_float_test.  We can
    skip floating point tests if the kernel bug is detected.
    
    This patch adds more code in gdb_skip_float_test to detect the broken
    ptrace on arm-linux.  Such detection should be done at the beginning
    of the test, because it starts a fresh GDB, so change the test cases
    to invoke gdb_skip_float_test at the beginning of test, and use its
    return value afterwards.
    
    Since gdb_skip_float_test becomes a gdb_caching_proc, so it can't
    have an argument, this patch also removes argument "msg", which isn't
    useful.
    
    gdb/testsuite:
    
    2016-09-02  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.arch/arm-neon.exp: Skip it if gdb_skip_float_test returns
    	true.
    	* gdb.base/call-ar-st.exp: Invoke gdb_skip_float_test.
    	* gdb.base/call-rt-st.exp: Likewise.
    	* gdb.base/call-sc.exp: Invoke gdb_skip_float_test and use its
    	return value instead of gdb,skip_float_test.
    	* gdb.base/callfuncs.exp: Invoke gdb_skip_float_test.
    	(do_function_calls): Use its return value instead of
    	gdb,skip_float_test.
    	* gdb.base/finish.exp: Likewise.
    	* gdb.base/funcargs.exp: Likewise.
    	* gdb.base/return.exp: Likewise.
    	* gdb.base/return2.exp: Likewise.
    	* gdb.base/varargs.exp: Likewise.
    	* lib/gdb.exp (gdb_skip_float_test): Change it to
    	gdb_caching_proc.  Detect the broken ptrace on arm-linux.

commit db0a1c2b666b9612d77ee40b25875b286801f22d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Sep 2 00:00:23 2016 +0000

    Automatic date update in version.in

commit 652a8f4f57243c41e71da06b6d0fe27540f3cbba
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Sep 1 12:01:00 2016 -0700

    Add tests for PR ld/20513
    
    	PR ld/20513
    	* testsuite/ld-elf/pr20513a.d: New file.
    	* testsuite/ld-elf/pr20513a.s: Likewise.
    	* testsuite/ld-elf/pr20513b.d: Likewise.
    	* testsuite/ld-elf/pr20513b.s: Likewise.
    	* testsuite/ld-elf/pr20513c.d: Likewise.
    	* testsuite/ld-elf/pr20513d.d: Likewise.
    	* testsuite/ld-elf/pr20513e.d: Likewise.
    	* testsuite/ld-elf/pr20513f.d: Likewise.

commit f2b9e3dfd4bc3c5149496fdbeaa5f0907220685f
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Sun Aug 28 23:39:45 2016 -0400

    Share target_wait prototype between GDB and gdbserver
    
    This commit moves the target_wait prototype from the GDB-specific
    target.h header to the common target/target.h header.  Then, it
    creates a compatible implementation of target_wait on gdbserver using
    the_target->wait, and adjusts the (only) caller (mywait function).
    
    Pretty straightforward, no regressions introduced.
    
    gdb/gdbserver/ChangeLog:
    2016-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* target.c (mywait): Call target_wait instead of
    	the_target->wait.
    	(target_wait): New function.
    
    gdb/ChangeLog:
    2016-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* target.c (target_wait): Mention that the function's prototype
    	can be found at target/target.h.
    	* target.h (target_wait): Move prototype from here...
    	* target/target.h (target_wait): ... to here.

commit 049a857091cff98371b5688140832a3cf767153c
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Aug 25 16:26:24 2016 -0400

    Use target_continue{,_no_signal} instead of target_resume
    
    This commit implements a new function, target_continue, on top of the
    target_resume function.  Then, it replaces all calls to target_resume
    by calls to target_continue or to the already existing
    target_continue_no_signal.
    
    This is one of the (many) necessary steps needed to consolidate the
    target interface between GDB and gdbserver.  In particular, I am
    interested in the impact this change will have on the unification of
    the fork_inferior function (which I have been working on).
    
    Tested on the BuildBot, no regressions introduced.
    
    gdb/gdbserver/ChangeLog:
    2016-09-31  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* server.c (start_inferior): New variable 'ptid'.  Replace calls
    	to the_target->resume by target_continue{,_no_signal}, depending
    	on the case.
    	* target.c (target_stop_and_wait): Call target_continue_no_signal
    	instead of the_target->resume.
    	(target_continue): New function.
    
    gdb/ChangeLog:
    2016-09-31  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* fork-child.c (startup_inferior): Replace calls to target_resume
    	by target_continue{,_no_signal}, depending on the case.
    	* linux-nat.c (cleanup_target_stop): Call
    	target_continue_no_signal instead of target_resume.
    	* procfs.c (procfs_wait): Likewise.
    	* target.c (target_continue): New function.
    	* target/target.h (target_continue): New prototype.

commit 424844864aa6f49c616b3bb74a0a5ba9bcb92e72
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Sep 1 09:35:57 2016 +0100

    2016-09-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
    	array of bytes and use bfd_get_16 to interpret its encoding according
    	to endianness of target.

commit cd285db582fb1bd59db01e3dc29511d08999d05b
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Sep 1 14:56:52 2016 +0930

    Don't treat .opd section specially when ELFv2
    
    Fixes a gdb segfault if a section named .opd is found in ELFv2 binaries.
    
    	* elf64-ppc.c (synthetic_opd): New static var.
    	(compare_symbols): Don't treat symbols in .opd specially for ELFv2.
    	(ppc64_elf_get_synthetic_symtab): Likewise.  Comment.

commit 0318424c7bd637453be8178506c18f24858ad7f6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Sep 1 00:00:20 2016 +0000

    Automatic date update in version.in

commit 3aa5cfa0d1cdbbd839884302535da28ca8c8b00d
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Wed Aug 31 13:46:22 2016 -0400

    Fix lwp_suspend/unsuspend imbalance in linux_wait_1
    
    This patch fixes imbalanced lwp_suspend/unsuspend calls caused by the
    premature choosing of another event for fairness.
    
    select_event_lwp would switch the event before a call to
    unsuspend_all_lwps, thus it would be called with the wrong event.
    
    This caused an assertion failure: unsuspend LWP xx, suspended=-1 when
    testing  gdb.threads/non-stop-fair-events.exp with ARM range stepping in
    GDBServer.
    
    This patch moves the switch of event after the unsuspend/unstop calls.
    
    No regressions, tested on ubuntu 14.04 ARMv7 and x86.
    With gdbserver-native.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-low.c (linux_wait_1): Move event switch after unsuspend_lwps.

commit f99bd5f2c1e6b545a0a6cfb3b13f79deea84098e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Aug 31 14:28:27 2016 +0100

    Fix a typo in comment
    
    This patch replaces "keep things single" with "keep things simple".
    
    gdb:
    
    2016-08-31  Yao Qi  <yao.qi@linaro.org>
    
    	* record-full.c (record_full_insert_breakpoint): Fix typo.

commit 2e84f9c1b5770b803b739bcd157d7a457c22b56f
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 26 22:01:15 2016 +0930

    Ignore symbols defined in SHF_EXCLUDE sections
    
    	PR 20513
    	* ldlang.c (section_already_linked): Deal with SHF_EXCLUDE sections.

commit 8a37735f20f4cbd0cba49d49e57974faf8b9f19b
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 31 17:06:32 2016 +0930

    [GOLD] Further tidy to powerpc can_add_to_stub_group
    
    This patch adds a little more debug output, and replaces two variables
    with one, tracking current max group size by group_size_ rather than
    by has14_.
    
    	* powerpc.cc (class Stub_control): Delete stub14_group_size_
    	and has14_.  Add group_size_.
    	(Stub_control::can_add_to_stub_group): Adjust to suit.  Print
    	debug info when switching to adding sections before stubs.

commit 09f92717713cfc7595b29caa3f017f88e7f7e279
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 30 21:02:58 2016 +0930

    PowerPC64, correct grouping of stubs for ld.bfd
    
    Like 57f6d32d, this patch ensures that sections containing external
    conditional branches limit the group size.
    
    	* elf64-ppc.c (group_sections): Delete stub14_group_size.  Instead,
    	track max group size with a new "group_size" var that is reduced
    	by a factor of 1024 from the 24-bit branch size whenever a 14-bit
    	branch is seen.

commit 3e8c34ea9d6ede278cc1a49fab7ccac7971aa32f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 31 14:02:36 2016 +0930

    Adjust VLE testsuite
    
    To suit f7d69005.
    
    	* testsuite/ld-powerpc/vle-multiseg-1.d: Adjust to suit segment change.
    	* testsuite/ld-powerpc/vle-multiseg-2.d: Likewise.
    	* testsuite/ld-powerpc/vle-multiseg-3.d: Likewise.
    	* testsuite/ld-powerpc/vle-multiseg-6.d: Likewise.
    	* testsuite/ld-powerpc/vle-reloc-2.d: Likewise.

commit f7d69005fb97f0d90c9eb414944a5035bfd67b36
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 31 13:18:34 2016 +0930

    PowerPC VLE sh_flags and p_flags
    
    ELF section sh_flags SHF_PPC_VLE was being set based on arch/mach,
    which meant all code sections in an object file has the flag or all
    lacked it.  We can do better than that.  Only those code sections
    where VLE is enabled ought to have the flag, allowing an object file
    to contain both VLE and non-VLE code.
    
    Also, ELF header p_flags PF_PPC_VLE wasn't being set, and segments
    were being split unnecessarily.
    
    bfd/
    	* elf32-ppc.c (ppc_elf_section_processing): Delete.
    	(elf_backend_section_processing): Don't define.
    	(ppc_elf_modify_segment_map): Set p_flags and mark valid.  Don't
    	split on non-exec sections differing in SHF_PPC_VLE.  When
    	splitting segments, mark size invalid.
    gas/
    	* config/tc-ppc.c (md_assemble): Set sh_flags for VLE.  Test
    	ppc_cpu rather than calling ppc_mach to determine VLE mode.
    	(ppc_frag_check, ppc_handle_align): Likewise use ppc_cpu.

commit afe002dd6619560c569ac0e080cbf220c826f989
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Aug 31 12:34:36 2016 +0930

    [GOLD] Add debug output for powerpc section grouping
    
    	* debug.h (DEBUG_TARGET): New.
    	(DEBUG_ALL): Add DEBUG_TARGET.
    	(gold_debug): Delete FORMAT param.
    	* powerpc.cc (Stub_control::can_add_to_stub_group): Print debug ourput.

commit 6c95c841109309563e4436e0bd1a33464c847bd7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 31 00:00:20 2016 +0000

    Automatic date update in version.in

commit 7763838e991e4d17a24c4214db5144eefd515543
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Fri Aug 26 22:15:23 2016 +0200

    Fixed issue with NULL pointer access on header var.
    
    Variable "header" in function is set conditionally, but was accessed without
    verifying if pointer was NULL.
    
    opcodes/ChangeLog:
    
        Cupertino Miranda  <cmiranda@synopsys.com>
    	* opcodes/arc-dis.c (print_insn_arc): Changed.

commit 5af962df4dda65216b83d0a954ea355296517f4b
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Aug 30 17:03:55 2016 +0200

    Fix order of inferiors in "thread apply all"
    
    This inserts missing parentheses in the calculation of the comparison
    result between two different inferior numbers.  The problem was found by
    Philipp Rudo.
    
    gdb/ChangeLog:
    
    	* thread.c (tp_array_compar): Insert missing parentheses.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.multi/tids.exp: Test "thread apply all".

commit b2b383620e85d6611044a1d98869831074ccb2f2
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Mon Aug 29 10:38:40 2016 +0200

    Made tests to XFAIL for arc*-*-elf*.
    
    ld/ChangeLog:
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* testsuite/ld-arc/tls_gs-01.d: Set to XFAIL on arc*-*-elf*.
    	* testsuite/ld-arc/tls_ie-01.d: Likewise.

commit c616591359a014fcfdb5acb48e70ecda0823fb46
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 30 13:51:43 2016 +0100

    Partially revert previous delta - move limit testing code to first scan over symbol file.
    
    	PR gprof/20499
    	* corefile.c (num_of_syms_in): Return an unsigned int.
    	Fail if the count exceeds the maximum possible allocatable size.
    	(core_create_syms_from): Exit early if num_of_syms_in returns a
    	failure code.

commit 00927233079d1d65826fd611019e9167706b9ec6
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 30 13:38:54 2016 +0100

    Fix more potential seg-faults in gprof.
    
    	PR gprof/20499
    	* corefile.c (num_of_syms_in): Return an unsigned int.
    	(core_create_syms_from): Catch a possible integer overflow
    	computing the argument to xmalloc.  Also allow for the possibility
    	that an integer overflow in num_of_syms_in means that less space
    	has been allocated than expected.

commit 8941017bc0226b60ce306d5271df15820ce66a53
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 30 20:57:32 2016 +0930

    ppc apuinfo for spe parsed incorrectly
    
    apuinfo saying SPE resulted in mach = bfd_mach_ppc_vle due to a
    missing break.
    
    	PR 20531
    	* elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".

commit 57f6d32deafcfec43bef5e963e12aacc0783a1e4
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 30 11:58:05 2016 +0930

    [GOLD] correct grouping of stubs
    
    This patch rewrites the rather obscure can_add_to_stub_group, fixing
    a problem with the handling of sections containing conditional
    external branches.  When a section group contains any such section,
    the group size needs to be limited to a much smaller size than groups
    with only non-conditional external branches.
    
    	PR 20523
    	* powerpc.cc (class Stub_control): Add has14_.  Comment owner_.
    	(Stub_control::can_add_to_stub_group): Correct grouping of
    	sections containing 14-bit external branches.  When returning
    	false, set state_ to reflect the fact that we have one section
    	for the next group.  Rewrite most of function for clarity.
    	Add and expand comments.
    	(Target_powerpc::do_relax): Print stub group size retry in hex.

commit 7229b687db8c5fe9c1534b763dea6d1211ff3993
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 30 00:00:21 2016 +0000

    Automatic date update in version.in

commit 3c4f32287f2271ee46cf57669f867b39f716fe46
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 29 09:09:14 2016 -0700

    Run PR ld/19784 tests only if ifunc attribute works
    
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/19784 tests only
    	if ifunc attribute works.

commit f53be9779bb1220f33a8a45615e0fafd7b6f47c4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 29 08:49:20 2016 -0700

    Check the external compression header size
    
    Since the internal compression header size can be bigger than the
    external compression header size, we should check the external
    compression header size.
    
    	* readelf.c (load_specific_debug_section): Check the external
    	compression header size.

commit 74437ea28fb611d4c88077b486fd7c0a8b4c2a25
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 29 08:12:59 2016 -0700

    i386: Issue an error on non-PIC call to IFUNC in PIC object
    
    On i386, IFUNC function must be called via PLT.  Since PLT in PIC
    object uses EBX register, R_386_PLT32 relocation must be used to
    call IFUNC function even when IFUNC function is defined locally.
    Linker should issue an error when R_386_PC32 relocation is used
    to call IFUNC function.
    
    Since PR ld/19784 tests doesn't use PLT relocation to local IFUNC
    function, they are moved to the x86-64 test directory.
    
    bfd/
    
    	PR ld/14961
    	PR ld/20515
    	* elf32-i386.c (elf_i386_check_relocs): Issue an error when
    	R_386_PC32 relocation is used to call IFUNC function in PIC
    	object.
    
    ld/
    
    	PR ld/14961
    	PR ld/20515
    	* testsuite/ld-i386/i386.exp: Run pr20515.
    	* testsuite/ld-i386/pr20515.d: New file.
    	* testsuite/ld-i386/pr20515.s: Likewise.
    	* testsuite/ld-ifunc/ifunc-14a.s: Use R_386_PLT32 to call IFUNC
    	function.
    	* testsuite/ld-ifunc/ifunc-14c.s: Likewise.
    	* testsuite/ld-ifunc/ifunc-2-i386.s: Likewise.
    	* testsuite/ld-ifunc/ifunc-2-local-i386.s: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Move PR ld/19784 tests to ...
    	* testsuite/ld-x86-64/x86-64.exp: Here.
    	* testsuite/ld-ifunc/pr19784a.c: Moved to ...
    	* testsuite/ld-x86-64/pr19784a.c: Here.
    	* testsuite/ld-ifunc/pr19784b.c: Moved to ...
    	* testsuite/ld-x86-64/pr19784b.c: Here.
    	* testsuite/ld-ifunc/pr19784c.c: Moved to ...
    	* testsuite/ld-x86-64/pr19784c.c: Here.

commit 7fac69100a7c1fb52b2e044294a858272bad4e46
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Aug 29 15:20:04 2016 +0200

    gdb.base/default.exp regression
    
    tty^M
    (gdb) FAIL: gdb.base/default.exp: tty
    
    gdb/testsuite/ChangeLog
    2016-08-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.base/default.exp (tty): Remove.

commit 1cc90bb7ed1c1d66699083cbfe3f5254367454e1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 29 00:00:18 2016 +0000

    Automatic date update in version.in

commit 6395d38b7ffd231a3b7b5a67b47e1bda947089ee
Author: Han Shen <shenhan@google.com>
Date:   Fri Aug 26 15:50:15 2016 -0700

    PR gold/20529 - relaxing loop never ends.
    
    gold/ChangeLog
    
    2016-08-26  Han Shen  <shenhan@google.com>
    
    	* powerpc.cc (Stub_table::min_size_threshold_): New member to
    	limit size.
    	(Stub_table::set_min_size_threshold): New member function.
    	(Stub_table::set_address_and_size): Add code to only allow size
    	increase.
    	(Target_powerpc::do_relax): Add code to record last size.

commit 8b2f3453b768a3ecd4c7f7d2ddcb138be7487a09
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 28 00:00:19 2016 +0000

    Automatic date update in version.in

commit 53720c495c7c25f9b0f4bfce3269c6c8a7696522
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 27 09:43:42 2016 +0930

    Lack of SHF_GROUP sections result in ld segfault
    
    	PR 20520
    	* elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
    	have corresponding SHF_GROUP sections.
    	(bfd_elf_set_group_contents): Comment.

commit 8a9e8e72fe88095043d16f8a56b5a1e150ee288b
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 27 08:59:29 2016 +0930

    Fix commit 980aa3e6
    
    Commit 980aa3e6 was supposed to cure dyn_reloc counting problems, but
    did the opposite.  For PIC we count two types of dyn_reloc, those on
    pc-relative relocs, and the total.  If a sym needs pc-relative dyn
    relocs then all the relocs are dynamic.  If not, then only those that
    are must_be_dyn_reloc are dynamic.
    
    	PR 20519
    	* elf64-ppc.c (pc_dynrelocs): New function.
    	(ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
    	handle pic dynamic relocs.

commit e55c2fc0ef151054f4a1603799d8ecd6a3f407bd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 27 00:00:20 2016 +0000

    Automatic date update in version.in

commit 1b8b65328f8825444a7370a7817f2802b0e1a7c9
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Aug 26 07:31:31 2016 -0700

    opcodes, gas: fix mnemonic of sparc camellia_fl
    
    This patch fixes a typo in the mnemonic of the camellia_fl
    instruction, which was implemented before as camellia_fi.
    
    gas/ChangeLog:
    
    2016-08-26  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/crypto.d: Rename invalid opcode camellia_fi
    	to camellia_fl.
    	* testsuite/gas/sparc/crypto.s: Likewise.
    
    opcodes/ChangeLog:
    
    2016-08-26  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* sparc-opc.c (sparc_opcodes): Fix typo in opcode, camellia_fi ->
    	camellia_fl.

commit 68c398921742291719d97f803891b5113874a22b
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Aug 26 14:00:39 2016 +0100

    Reduce parameter list in bfd_elf32_arm_target_relocs
    
    2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* bfd-in.h (struct elf32_arm_params): Define.
    	(bfd_elf32_arm_set_target_relocs): Rename into ...
    	(bfd_elf32_arm_set_target_params): This.  Use a struct
    	elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
    	* bfd-in2.h: Regenerate.
    	* elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
    	(bfd_elf32_arm_set_target_params): This.  Pass all values via a struct
    	elf32_arm_params rather than as individual parameters.
    
    ld/
    	* emultempl/armelf.em (params): New static variable.
    	(thumb_entry_symbol, byteswap_code, target1_is_rel, target2_type,
    	fix_v4bx, use_blx, vfp11_denorm_fix, stm32l4xx_fix, fix_cortex_a8,
    	no_enum_size_warning, no_wchar_size_warning, pic_veneer,
    	merge_exidx_entries, fix_arm1176, cmse_implib): move as part of the
    	above new structure.
    	(arm_elf_before_allocation): Access static variable from the params
    	structure.
    	(gld${EMULATION_NAME}_finish): Likewise.
    	(arm_elf_create_output_section_statements): Likewise and pass the
    	address of that structure to bfd_elf32_arm_set_target_relocs instead
    	of the static variables.
    	(PARSE_AND_LIST_ARGS_CASES): Access static variable from the params
    	structure.

commit c2abbbebcccf6c9403f8d6327e3fe3655acffbc1
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Aug 26 12:01:47 2016 +0100

    2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
    	passed the end of htab->stub_group array.
    	(elf32_arm_create_or_find_stub_sec): Likewise.
    	(elf32_arm_create_stub): Likewise.

commit 1a336194b70b712074a3f5479a01cc221003a152
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Aug 26 11:53:30 2016 +0100

    Add missing ARMv8-M special registers
    
    2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (v7m_psrs): Add MSPLIM, PSPLIM, MSPLIM_NS,
    	PSPLIM_NS, PRIMASK_NS, BASEPRI_NS, FAULTMASK_NS, CONTROL_NS, SP_NS and
    	their lowecase counterpart special registers.  Write register
    	identifier in hex.
    	* testsuite/gas/arm/archv8m-cmse-msr.s: Reorganize tests per
    	operation, special register and then case.  Use different register for
    	each operation.  Add tests for new special registers.
    	* testsuite/gas/arm/archv8m-cmse-msr-base.d: Adapt expected result
    	accordingly.
    	* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
    	* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
    
    opcodes/
    	* arm-dis.c (psr_name): Use hex as case labels.  Add detection for
    	MSPLIM, PSPLIM, MSPLIM_NS, PSPLIM_NS, PRIMASK_NS, BASEPRI_NS,
    	FAULTMASK_NS, CONTROL_NS and SP_NS special registers.

commit 980aa3e6dfeb0f018915f65be4b2987667f31fe9
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Thu Jul 21 15:32:35 2016 +0200

    Dynamic TLS GOT entries would not be relocated.
    
    Forgot to set should_relocate to TRUE in case of GOT and TLS relocations of
    undefined symbols for shared libraries.
    In dynamic libraries if symbol is not known the instruction relocation would
    not be resolved to point to the respective .got entry.
    A test was created to detect similar future mistakes.
    
    bfd/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
    	to TRUE for GOT and TLS relocs.
    
    ld/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* ld/testsuite/ld-arc/tls_gd-01.s: Added a testcase for this patch.
    	* ld/testsuite/ld-arc/tls_gd-01.d: Likewise.

commit 65b94e90977efe3235381708f5a3e0d541026d88
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Tue Jul 19 14:33:34 2016 +0200

    Fixed -init, -fini linker options.
    
    ARC was overloading this options by forcing DT_INIT AND DT_FINI
    to always point to _init and _fini, respectively.
    
    bfd/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synospsys.com>
    
    	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.

commit 8a36df4dcfa3cb89779e1a3eaca8067426e9cad6
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Wed Jul 13 18:04:20 2016 +0200

    Several fixes related to ARC PIE support.
    
    Fixed conditions related to dynamic relocs relative offset patching.
    Added arc_link_hash_table to be able to always generate and track
    .rela.bss section.
    
    bfd/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
    	* elf32-arc.c (struct elf_arc_link_hash_entry): Added.
    	(struct elf_arc_link_hash_table): Likewise.
    	(elf_arc_link_hash_newfunc): Likewise.
    	(elf_arc_link_hash_table_free): Likewise.
    	(arc_elf_link_hash_table_create): Likewise.
    	(elf_arc_relocate_section): Fixed conditions related to dynamic
    	(elf_arc_check_relocs): Likewise.
    	(arc_elf_create_dynamic_sections): Added
    	(elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
    	through the hash table.

commit 4dd72ffdfe254fec30fd5eab0c5fd4445df73529
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Tue Jul 12 16:31:40 2016 +0200

    Content for TLS_IE_GOT not written to .got.
    
    When no dynamic relocation was generated the .got content would not be
    updated for the TLS_IE_GOT relocation addresses.
    
    bfd/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
    	debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
    	relocation.
    
    ld/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* testsuite/ld-arc/tls_ie-01.s: Added to verify associated fix.
    	* testsuite/ld-arc/tls_ie-01.d: Likewise

commit a87aa054a67e23faeead400bdf902a1eddb242a4
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Tue Jun 7 10:24:37 2016 +0200

    Fixes to legacy ARC relocations.
    
    Added support for ARC_SDA_12 reloc.
    Fixed ARC_N32_ME.
    Added ME (middle-endian) to ARC_SDA_12 reloc.
    
    bfd/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    	* reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
    	relocation.
    	* bfd-in2.h: Regenerated from the previous changes.
    	* libbfd.h: Regenerated from the previous changes.
    
    include/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synopsys.com>
    	* elf/arc-reloc.def: Fixed relocation formula for N*, SDA, SDA_12,
    	SDA_16_LD*, S13_PCREL, N32_ME, SECTOFF_* relocations.
    	* opcode/arc-func.h (replace_disp12s): Added. Used for SDA_12 relocation.

commit 0955507f6e7144c9c5e420bbcf617593b13de38b
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Aug 26 10:59:26 2016 +0100

    Add support for stable secure gateway veneers addresses
    
    2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
    	the input import library bfd.
    	* bfd-in2.h: Regenerate.
    	* elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
    	and new_cmse_stub_offset fields.
    	(stub_hash_newfunc): Initialize stub_offset and stub_template_size to
    	-1.
    	(elf32_arm_add_stub): Likewise for stub_offset.
    	(arm_new_stubs_start_offset_ptr): New function.
    	(arm_build_one_stub): Only allocate a stub_offset if it is -1.  Allow
    	empty SG veneers to have zero relocations.
    	(arm_size_one_stub): Only initialize stub size and template
    	information for non empty veneers.  Do not update veneer section size
    	if veneer already has an offset.
    	(elf32_arm_create_stub): Return the stub entry pointer or NULL instead
    	of a boolean indicating success or failure.
    	(cmse_scan): Change stub_changed parameter into an integer pointer
    	parameter cmse_stub_created to count the number of stub created and
    	adapt to change of return value in elf32_arm_create_stub.
    	(cmse_entry_fct_p): New function.
    	(arm_list_new_cmse_stub): Likewise.
    	(set_cmse_veneer_addr_from_implib): Likewise.
    	(elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
    	cmse_scan instead of that of cmse_stub_changed to compute the number
    	of stub created and use it to initialize stub_changed.  Call
    	set_cmse_veneer_addr_from_implib after all cmse_scan.  Adapt to change
    	of return value in elf32_arm_create_stub.  Use
    	arm_stub_section_start_offset () if not NULL to initialize size of
    	secure gateway veneers section.  Initialize stub_offset of Cortex-A8
    	erratum fix to -1.  Use ret to hold return value.
    	(elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
    	NULL to initialize size of secure gateway veneers section.  Adapt
    	comment to stress the importance of zeroing veneer section content.
    	(bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
    	initialize eponymous field in struct elf32_arm_link_hash_table.
    
    ld/
    	* emultempl/armelf.em (in_implib_filename): Declare and initialize new
    	variable.
    	(arm_elf_create_output_section_statements): Open import input library
    	file for writing and pass resulting in_implib_bfd to
    	bfd_elf32_arm_set_target_relocs.
    	(PARSE_AND_LIST_PROLOGUE): Define OPTION_IN_IMPLIB option.
    	(PARSE_AND_LIST_LONGOPTS): Define --in-implib option.
    	(PARSE_AND_LIST_OPTIONS): Add help message for --in-implib option.
    	(PARSE_AND_LIST_ARGS_CASES): Handle new OPTION_IN_IMPLIB case.
    	* ld.texinfo (--cmse-implib): Update to mention --in-implib.
    	(--in-implib): Document new option.
    	* NEWS: Likewise.
    	* testsuite/ld-arm/arm-elf.exp
    	(Secure gateway import library generation): add --defsym VER=1 to gas
    	CLI.
    	(Secure gateway import library generation: errors): Likewise.
    	(Input secure gateway import library): New test.
    	(Input secure gateway import library: no output import library):
    	Likewise.
    	(Input secure gateway import library: not an SG input import library):
    	Likewise.
    	(Input secure gateway import library: earlier stub section base):
    	Likewise.
    	(Input secure gateway import library: later stub section base):
    	Likewise.
    	(Input secure gateway import library: veneer comeback): Likewise.
    	(Input secure gateway import library: entry function change):
    	Likewise.
    	* testsuite/ld-arm/cmse-implib.s: Add input import library testing.
    	* testsuite/ld-arm/cmse-implib.rd: Update accordingly.
    	* testsuite/ld-arm/cmse-new-implib.out: New file.
    	* testsuite/ld-arm/cmse-new-implib.rd: Likewise.
    	* testsuite/ld-arm/cmse-new-implib-no-output.out: Likewise.
    	* testsuite/ld-arm/cmse-new-implib-not-sg-in-implib.out: Likewise.
    	* testsuite/ld-arm/cmse-new-earlier-later-implib.out: Likewise.
    	* testsuite/ld-arm/cmse-new-comeback-implib.rd: Likewise.
    	* testsuite/ld-arm/cmse-new-wrong-implib.out: Likewise.

commit 4edcc97c1a892325fcda1abe0d383802cc87a869
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 26 00:00:21 2016 +0000

    Automatic date update in version.in

commit e3e9290d6c7bc276ac6a15a9d5793a49dde92c41
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Aug 25 19:13:57 2016 +0200

    S390: Add support for core dump NOTE sections
    
    This enhances the 32-bit and 64-bit s390 ELF backends with support for
    reading and writing the core dump note sections NT_PRSTATUS and
    NT_PRPSINFO.  Byte swapping is done as appropriate, such that core files
    can now be processed correctly on non-s390 platforms.
    
    bfd/ChangeLog:
    
    	* elf32-s390.c (stdarg.h): New include.
    	(elf_s390_grok_psinfo): New function.
    	(elf_s390_write_core_note): New function.
    	(elf_backend_grok_psinfo): Declare backend hook.
    	(elf_backend_write_core_note): Likewise.
    	* elf64-s390.c (stdarg.h): New include.
    	(elf_s390_grok_prstatus): New function.
    	(elf_s390_grok_psinfo): New function.
    	(elf_s390_write_core_note): New function.
    	(elf_backend_grok_prstatus): Declare backend hook.
    	(elf_backend_grok_psinfo): Likewise.
    	(elf_backend_write_core_note): Likewise.

commit ceada89664de30158de12d3d8f7bd7880ff6af29
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Aug 25 19:13:57 2016 +0200

    S390: Indentation fixes in elf32/64-s390.c
    
    Some indentation fixes in elf32-s390.c and elf64-s390.c.  Whitespace
    changes only.
    
    bfd/ChangeLog:
    
    	* elf32-s390.c (allocate_dynrelocs): Fix indentation.
    	(elf_s390_finish_ifunc_symbol): Likewise.
    	(elf_s390_finish_dynamic_symbol): Likewise.
    	(elf_s390_finish_dynamic_sections): Likewise.
    	(elf_s390_grok_prstatus): Likewise.
    	* elf64-s390.c (elf_s390_hash_table): Fix indentation.
    	(elf_s390_finish_dynamic_symbol): Likewise.

commit ae68ff9f280902d9cead28b90979e75dc046492e
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Aug 25 19:13:57 2016 +0200

    xtensa: Avoid designated inits, for C++ compliance
    
    C++ does not officially support designators in initializer lists.  Thus
    some compilers may issue errors when encountering them.  Modern versions
    of GCC seem to allow them by default, as a GCC extension, even though
    the GCC documentation explicitly states otherwise: "[...] This extension
    is not implemented in GNU C++."  But some older GCC versions (like
    4.4.7) did indeed emit an error instead, like this:
    
      .../gdb/xtensa-config.c:219: error: expected primary-expression before
    			       ‘.’ token
    
    This patch removes the only such instance I've seen when building with
    '--enable-targets=all'.
    
    gdb/ChangeLog:
    
    	* xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Replace
    	designated initializer list by plain initializer list, for C++
    	compliance.

commit 4811ccb48f0d24b9ae2ce37a06af575fbd83a55d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Aug 25 16:11:40 2016 +0930

    powerpc ld configure
    
    This fixes a few problems in the powerpc ld configury.
    1) Using powerpc*le-* to test for powerpcle and powerpc64le would
       incorrectly match a target triple like powerpc-apple-elf.
    2) In the same vein, *64* could match 64 in the user supplied MANUF-OS
       part of the target triple.
    3) tooldir vars were missing, and some target aliases would result in
       ridiculous values for those tdir_* vars given.
    4) Since 2016-04-25, BE support was added automatically when asking
       for an LE target.  If that is a good idea, then so is adding LE
       support when asking for BE.
    
    	* configure.tgt (powerpc*-*-linux* et al): Rewrite, adding LE
    	support for BE.  First output all target endian configury
    	values, then opposite endian.  Handle more tooldirs.  Fix
    	bogus matches with strings in MANUF-OS part of target triple.

commit c4dd0ba27f10cb4cb27a9d89f9620648f9cb5165
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Aug 25 09:44:09 2016 +0100

    Remove _S version of ARM MSR/MRS special registers
    
    2016-08-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	* config/tc-arm.c (v7m_psrs): Remove msp_s, MSP_S, psp_s and PSP_S
    	special registers.
    	* testsuite/gas/arm/archv8m-cmse-msr.s: Remove test for above special
    	registers.
    	* testsuite/gas/arm/archv8m-cmse-msr-base.d: Likewise.
    	* testsuite/gas/arm/archv8m-cmse-msr-main.d: Likewise.
    	* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.

commit 754653a7c0a43a668a38aa30c4063b9e292a19f9
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Aug 25 08:42:03 2016 +0100

    Sync proc_service definition with GLIBC
    
    GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const'
    attributes from ps_get_thread_area and comment #15 discuss why to remove
    the const attribute (basically since it a callback with the struct
    ps_prochandle owned by the client it should be able to modify it if
    it the case).
    
    On default build this is not the issue and current g++ does not trigger
    any issue with this mismatch declaration.  However, on some bootstrap
    build configuration where gdbserver is build with gcc instead this
    triggers:
    
    error: conflicting types for 'ps_get_thread_area'
    
    This patch fixes it by syncing the declaration with GLIBC.
    
    [1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311
    
    gdb/ChangeLog:
    
    2016-08-25  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    
    	* aarch64-linux-nat.c (ps_get_thread_area): Remove const from
    	struct ps_prochandle.
    	* amd64-linux-nat.c (ps_get_thread_area): Likewise.
    	* arm-linux-nat.c (ps_get_thread_area): Likewise.
    	* gdb_proc_service.h (ps_get_thread_area): Likewise.
    	* i386-linux-nat.c (ps_get_thread_area): Likewise.
    	* m68klinux-nat.c (ps_get_thread_area): Likewise.
    	* mips-linux-nat.c (ps_get_thread_area): Likewise.
    	* nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise.
    	* nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise.
    	* xtensa-linux-nat.c (ps_get_thread_area): Likewise.
    
    gdb/gdbserver/ChangeLog:
    
    2016-08-25  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
    
    	PR server/20491
    	* gdb_proc_service.h (ps_get_thread_area): Remove const from struct
    	ps_prochandle.
    	* linux-aarch64-low.c (ps_get_thread_area): Likewise.
    	* linux-arm-low.c (ps_get_thread_area): Likewise.
    	* linux-crisv32-low.c (ps_get_thread_area): Likewise.
    	* linux-m68k-low.c (ps_get_thread_area): Likewise.
    	* linux-mips-low.c (ps_get_thread_area): Likewise.
    	* linux-nios2-low.c (ps_get_thread_area): Likewise.
    	* linux-tic6x-low.c (ps_get_thread_area): Likewise.
    	* linux-x86-low.c (ps_get_thread_area): Likewise.
    	* linux-xtensa-low.c (ps_get_thread_area): Likewise.

commit 4a64c29a551392f193e5cb4d876da4683b6e64bb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 25 00:00:19 2016 +0000

    Automatic date update in version.in

commit 6b40c462310066612636ec7434645ec7b46ff135
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Aug 24 15:27:11 2016 -0700

    X86: Add ptwrite instruction
    
    Implement ptwrite instruction defined in Intel64 and IA-32 Architectures
    Software Developer’s Manual, June 2016.
    
    gas/
    
    	* config/tc-i386.c (cpu_arch): Add .ptwrite.
    	* doc/c-i386.texi: Document ptwrite and .ptwrite.
    	* testsuite/gas/i386/i386.exp: Run ptwrite, ptwrite-intel,
    	x86-64-ptwrite and x86-64-ptwrite-intel.
    	* testsuite/gas/i386/ptwrite-intel.d: New file.
    	* testsuite/gas/i386/ptwrite.d: Likewise.
    	* testsuite/gas/i386/ptwrite.s: Likewise.
    	* testsuite/gas/i386/x86-64-ptwrite-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-ptwrite.d: Likewise.
    	* testsuite/gas/i386/x86-64-ptwrite.s: Likewise.
    
    opcodes/
    
    	* i386-dis.c (PREFIX_MOD_0_0FAE_REG_4): New.
    	(PREFIX_MOD_3_0FAE_REG_4): Likewise.
    	(prefix_table): Add PREFIX_MOD_0_0FAE_REG_4 and
    	PREFIX_MOD_3_0FAE_REG_4.
    	(mod_table): Use PREFIX_MOD_0_0FAE_REG_4 and
    	PREFIX_MOD_3_0FAE_REG_4.
    	* i386-gen.c (cpu_flag_init): Add CPU_PTWRITE_FLAGS.
    	(cpu_flags): Add CpuPTWRITE.
    	* i386-opc.h (CpuPTWRITE): New.
    	(i386_cpu_flags): Add cpuptwrite.
    	* i386-opc.tbl: Add ptwrite instruction.
    	* i386-init.h: Regenerated.
    	* i386-tbl.h: Likewise.

commit bb1fe4acb8927fc4d451402f3f5fc245144c987e
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Mon Aug 22 10:14:05 2016 -0700

    Test case to detect recursive unwinding in Python-based unwinders.
    
    This test case verifies that GDB will not attempt to invoke a python
    unwinder recursively.
    
    At the moment, the behavior exhibited by GDB looks like this:
    
        (gdb) source py-recurse-unwind.py
        Python script imported
        (gdb) b ccc
        Breakpoint 1 at 0x4004bd: file py-recurse-unwind.c, line 23.
        (gdb) run
        Starting program: py-recurse-unwind
        TestUnwinder: Recursion detected - returning early.
        TestUnwinder: Recursion detected - returning early.
        TestUnwinder: Recursion detected - returning early.
        TestUnwinder: Recursion detected - returning early.
    
        Breakpoint 1, ccc (arg=<unavailable>) at py-recurse-unwind.c:23
        23      }
        (gdb) bt
        #-1 ccc (arg=<unavailable>) at py-recurse-unwind.c:23
        Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    [I've shortened pathnames for easier reading.]
    
    The desired / expected behavior looks like this:
    
        (gdb) source py-recurse-unwind.py
        Python script imported
        (gdb) b ccc
        Breakpoint 1 at 0x4004bd: file py-recurse-unwind.c, line 23.
        (gdb) run
        Starting program: py-recurse-unwind
    
        Breakpoint 1, ccc (arg=789) at py-recurse-unwind.c:23
        23      }
        (gdb) bt
        #0  ccc (arg=789) at py-recurse-unwind.c:23
        #1  0x00000000004004d5 in bbb (arg=456) at py-recurse-unwind.c:28
        #2  0x00000000004004ed in aaa (arg=123) at py-recurse-unwind.c:34
        #3  0x00000000004004fe in main () at py-recurse-unwind.c:40
    
    Note that GDB's problems go well beyond the fact that it invokes the
    unwinder recursively.  In the process it messes up some internal state
    (the frame stash) leading to display of (only) the sentinel frame in
    the backtrace.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-recurse-unwind.c: New file.
    	* gdb.python/py-recurse-unwind.py: New file.
    	* gdb.python/py-recurse-unwind.exp: New file.

commit 0a1ddfa6b67201bb06f51fb47b56096e81bec5c0
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Aug 24 13:10:08 2016 -0400

    Allow resetting an empty inferior-tty
    
    This patch allows the user to set the inferior-tty to "empty", in order
    to come back to the default behaviour of using the same tty as gdb is
    using.
    
    This is already supported in MI (and tested in gdb.mi/mi-basics.exp).
    
    I added a new test, set-inferior-tty.exp, where I test only the setting
    and unsetting of the parameter.  It would be nice to actually test that
    the inferior output properly goes to the separate tty, but that will be
    for another day.
    
    gdb/ChangeLog:
    
    	* infcmd.c (set_inferior_io_terminal): Set inferior terminal to
    	NULL if terminal_name is an empty string.
    	(_initialize_infcmd): Make the argument of "set inferior-tty"
    	optional, mention it in the help doc.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Input/Output): Mention possibility to unset
    	inferior-tty.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/set-inferior-tty.exp: New file.
    	* gdb.base/set-inferior-tty.c: New file.

commit bdd78711b4c1ae26dbc8c2a64f28abec3486ae6c
Author: Carl E. Love <carll@oc4738070240.ibm.com>
Date:   Wed Aug 24 08:08:58 2016 -0700

    Fix for gdb.base/pc-fp.exp.
    
    It is my understanding that GDB used to require each architecture to
    define a Frame Pointer (fp).  However, this functionality was deprecated
    some time ago so the call to setup the fp_reg was changed to deprecated
    (set_gdbarch_deprecated_fp_regnum).  It should have been removed from the
    Power code.
    
    That said, the code "set_gdbarch_deprecated_fp_regnum
    (gdbarch, PPC_R0_REGNUM + 1);" sets up register r1 as the frame pointer.
    Register r1 is no longer used to hold the frame pointer on Power.  By
    removing the fp definition for Power in GDB, it causes GDB to fall back
    to the call get_frame_base_address (frame) which returns the correct value
    depending on the specific senario but most of the time is the DWARF
    canonical frame address.
    
    gdb/ChangeLog
    
    2016-08-24  Carl Love  <cel@us.ibm.com>
    
    	* rs6000-tdep.c (rs6000_gdbarch_init): Remove call
            set_gdbarch_deprecated_fp_regnum() from initialization function.

commit ab548d2db9ac35675d1b700ecbf007ae0cf3d83d
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Tue May 31 18:40:09 2016 +0300

    [ARC] C++ compatibility for arc-dis.h
    
    opcodes/
    2016-08-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>
    
    	* arc-dis.h: Wrap around in extern "C".
    
    Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>

commit 47f7f636bc8abc3c41848a412a68ca6aa36dbd21
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Thu Sep 12 15:56:45 2013 +0400

    [ARC] Parse NOTE section in core dump files
    
    This patch adds function elf32_arc_grok_parse to parse NOTE section of core
    dump files. GDB requires this to work properly with core dumps.
    
    bfd/
    2016-08-24  Anton Kolesov  <Anton.Kolesov@synopsys.com>
    
    	* elf32-arc.c (elf32_arc_grok_prstatus): New function.
    
    Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com>

commit 1130c90ed7c8d1bc7b70c701b62cdbc23ac9fc01
Author: Roland McGrath <mcgrathr@google.com>
Date:   Tue Aug 23 16:43:33 2016 -0700

    [gold] Implement -z stack-size option
    
    gold/
    	* options.h (General_options): Grok -z stack-size.
    	* output.h (Output_segment::set_size): New method.
    	* layout.cc (Layout::create_executable_stack_info): Renamed to ...
    	(Layout::create_stack_segment): ... this.  Always create the
    	segment if -z stack-size was used.
    	(Layout::set_segment_offsets): Don't call ->set_offset on the
    	PT_GNU_STACK segment.

commit 4ba25152ff03e835bbbb2512ea71b7fefe3b7e89
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 24 00:00:20 2016 +0000

    Automatic date update in version.in

commit 9f84726cd51ed081b0a042a94a8804b92481c4be
Author: Bharathi Seshadri <bseshadr@cisco.com>
Date:   Tue Aug 23 14:50:48 2016 -0700

    Add --be8 option to gold.
    
    gold/
    	* options.h (General_options): Add --be8 option.
    	* arm.cc (Arm_relobj::do_relocate_sections): Add code to swap for be8.
    	(Output_data_plt_arm_standard::do_fill_first_plt_entry): Likewise.
    	(Output_data_plt_arm_short::do_fill_plt_entry): Likewise.
    	(Output_data_plt_arm_long::do_fill_plt_entry): Likewise.
    	(Target_arm::do_adjust_elf_header): Do EF_ARM_BE8 adjustment.

commit 34f81801be0b294a93ac73bac6f6195a66d10b98
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Aug 23 13:49:56 2016 -0400

    Fix typo in comment
    
    gdb/ChangeLog:
    
    	* stack.c (parse_frame_specification): Fix typo in comment.

commit d9de1fe3d5607f96491e8f16f474b9441cbec849
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Aug 23 16:03:28 2016 +0100

    Fix PR20494 - User input stops being echoed in CLI
    
    This patch fixes a problem that problem triggers if you start an
    inferior, e.g., with the "start" command, in a UI created with the
    new-ui command, and then run a foreground execution command in the
    main UI.  Once the program stops for the latter command, typing in the
    main UI no longer echoes back to the user.
    
    The problem revolves around this:
    
    - gdb_has_a_terminal computes its result lazily, on first call.
    
      that is what saves gdb's initial main UI terminal state (the UI
      associated with stdin):
    
              our_terminal_info.ttystate = serial_get_tty_state (stdin_serial);
    
      This is the state that target_terminal_ours() restores.
    
    - In this scenario, the gdb_has_a_terminal function happens to be
      first ever called from within the target_terminal_init call in
      startup_inferior:
    
          (top-gdb) bt
          #0  gdb_has_a_terminal () at src/gdb/inflow.c:157
          #1  0x000000000079db22 in child_terminal_init_with_pgrp () at src/gdb/inflow.c:217
           [...]
          #4  0x000000000065bacb in target_terminal_init () at src/gdb/target.c:456
          #5  0x00000000004676d2 in startup_inferior () at src/gdb/fork-child.c:531
           [...]
          #7  0x000000000046b168 in linux_nat_create_inferior () at src/gdb/linux-nat.c:1112
           [...]
          #9  0x00000000005f20c9 in start_command (args=0x0, from_tty=1) at src/gdb/infcmd.c:657
    
    If the command to start the inferior is issued on the main UI, then
    readline will have deprepped the terminal when we reach the above, and
    the problem doesn't appear.
    
    If however the command is issued on a non-main UI, then when we reach
    that gdb_has_a_terminal call, the main UI's terminal state is still
    set to whatever readline has sets it to in rl_prep_terminal, which
    happens to have echo disabled.  Later, when the following synchronous
    execution command finishes, we'll call target_terminal_ours to restore
    gdb's the main UI's terminal settings, and that restores the terminal
    state with echo disabled...
    
    Conceptually, the fix is to move the gdb_has_a_terminal call earlier,
    to someplace during GDB initialization, before readline/ncurses have
    had a chance to change terminal settings.  Turns out that
    "set_initial_gdb_ttystate" is exactly such a place.
    
    I say conceptually, because the fix actually inlines the
    gdb_has_a_terminal part that saves the terminal state in
    set_initial_gdb_ttystate and then simplifies gdb_has_a_terminal, since
    there's no point in making gdb_has_a_terminal do lazy computation.
    
    gdb/ChangeLog:
    2016-08-23  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20494
    	* inflow.c (our_terminal_info, initial_gdb_ttystate): Update
    	comments.
    	(enum gdb_has_a_terminal_flag_enum, gdb_has_a_terminal_flag):
    	Delete.
    	(set_initial_gdb_ttystate): Record our_terminal_info here too,
    	instead of ...
    	(gdb_has_a_terminal): ... here.  Reimplement in terms of
    	initial_gdb_ttystate.  Make static.
    	* terminal.h (gdb_has_a_terminal): Delete declaration.
    	(set_initial_gdb_ttystate): Add comment.
    	* top.c (show_interactive_mode): Use input_interactive_p instead
    	of gdb_has_a_terminal.
    
    gdb/testsuite/ChangeLog:
    2016-08-23  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20494
    	* gdb.base/new-ui-echo.c: New file.
    	* gdb.base/new-ui-echo.exp: New file.

commit 38334d6de448272c3bd831e3410dbc337fc2739d
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 23 15:41:01 2016 +0100

    Better fix for PR 20499, including preventing strlen from being called on an uninitialised name field.
    
    	PR gprof/20499
    	* corefile.c (BUFSIZE): Define.
    	(STR_BUFSIZE): Define.
    	(read_function_mappings): Use BUFSIZE and STR)BUFSIZE.
    	(num_of_syms_in): Move buf, address and name arrays out of
    	function and declare as static BUFSIZE arrays.
    	Use STR_BUFSIZE when scanning for name and address.
    	(core_create_syms_from): Revert previous delta.  Instead
    	short circuit the parsing of a symbol if all three fields
    	could not be found.

commit e9d9abd7470ea500eb4e82567fff68e87a30efb9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Aug 23 14:24:03 2016 +0100

    gdbserver_spawn "" rather than gdbserver_spawn ${binfile}
    
    Hi,
    I happen to see gdbserver is spawned like this in gdb.log,
    
    spawn /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/../../gdb/gdbserver/gdbserver --once :2346 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.s
    erver/connect-stopped-target/connect-stopped-target /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/connect-stopped-target/connect-stopped-t
    arget
    
    spawn /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/../../gdb/gdbserver/gdbserver --once :2347 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.s
    erver/connect-stopped-target/connect-stopped-target /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/connect-stopped-target/connect-stopped-t
    arget
    
    as we can see, there are two instances of connect-stopped-target or
    connect-stopped-target in the command line spawning gdbserver, but
    none of these gets parameters from command line.  In these two
    tests, gdbserver is spawned via "gdbserver_spawn ${binfile}".  However,
    the argument of gdbserver_spawn is the argument passed the child
    inferior, not the program itself.
    
     # Start a gdbserver process running SERVER_EXEC, and connect GDB
     # to it.  CHILD_ARGS are passed to the inferior.
     #
     # Returns the target protocol and socket to connect to.
    
    proc gdbserver_spawn { child_args } {
        set target_exec [gdbserver_download_current_prog]
    
    GDBserver gets the program via last_loaded_file, which is set by
    gdb_file_cmd.  In each test, we don't need to pass ${binfile}.
    
    gdb/testsuite:
    
    2016-08-23  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.server/connect-stopped-target.exp (do_test): Pass "" to
    	gdbserver_spawn.
    	* gdb.server/connect-without-multi-process.exp (do_test):
    	Likewise.

commit 3589529e3cec4a5a72cd161959055d1e48dcf129
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Aug 23 14:15:50 2016 +0100

    Fix signals-state-child.exp in remote testing
    
    Remote testing isn't considered in signals-state-child.exp, so the it
    fails like
    
    shell diff -s /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.base/signals-state-child/standalone.txt /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.base/signals-state-child/gdb.txt^M
    diff: /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.base/signals-state-child/standalone.txt: No such file or directory^M
    (gdb) FAIL: gdb.base/signals-state-child.exp: signals states are identical
    
    This patch is to fix it.
    
    gdb/testsuite:
    
    2016-08-23  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/signals-state-child.exp: Set variables gdb_txt and
    	standalone_txt.  Delete gdb_txt and standalone_txt on host
    	and target.  Spawn the binary on target.  Copy files from
    	target to host.

commit 6342be709e8749d0a44c02e1876ddca360bfd52f
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 23 09:45:11 2016 +0100

    Fix seg-fault in ARM linker when trying to parse a binary file.
    
    	* elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
    	there is no arm data associated with the section.

commit 344bde0a7f812ff03139ab53aecd61674eb143bf
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Tue Aug 23 09:03:19 2016 +0100

    [AArch64] Add V8_2_INSN macro
    
    For consistency with the previous two patches, this one
    adds a macro for the two ARMv8.2 table entries.  Both table
    entries need a non-null aarch64_op field.
    
    I haven't added macros for the RAS and STAT_PROFILE entries
    since there's only one of each.  The series isn't getting
    rid of braced entries altogether, so I've only looked at
    replacing things that occur more than once.
    
    opcodes/
    	* aarch64-tbl.h (V8_2_INSN): New macro.
    	(aarch64_opcode_table): Use it.

commit 5ce912d8016857990f894d10e15516c17cf7d653
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Tue Aug 23 09:02:38 2016 +0100

    [AArch64] Make more use of CORE/FP/SIMD_INSN
    
    After the previous patch, this one makes all CORE, FP
    and SIMD table entries with null "verify" fields use
    the associated macros.
    
    opcodes/
    	* aarch64-tbl.h (aarch64_opcode_table): Make more use of
    	CORE_INSN, __FP_INSN and SIMD_INSN.

commit 9d30b0bdab56a563a29984705778168ae93f71ae
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Tue Aug 23 09:01:54 2016 +0100

    [AArch64] Add OP parameter to aarch64-tbl.h macros
    
    Nick recently wrapped most of aarch64-tbl.h entries in macros
    like CORE_INSN.  These new macros assumed that the aarch64_op
    "op" field of aarch64_opcode is 0 and that the new "verifier"
    field is NULL.
    
    However, there are a lot of CORE, SIMD and FP insns whose table
    entries need a nonzero aarch64_op field, so these entries
    continued to use a braced list instead of a macro.  This makes
    the table entries less consistent and means that there are still
    quite a few braced entries that need to be updated when making
    further changes to the aarch64_opcode structure.
    
    I think the number of entries that need a nonzero aarch64_op
    field is high enough to justify having an explicit aarch64_op
    entry for all CORE, SIMD and FP entries.  This patch adds
    one and updates all existing uses of the macros.  A following
    patch makes more use of the macros.
    
    I've followed existing practice by using 0 instead of OP_NIL
    for empty aarch64_op fields.  Empty fields are still the norm
    and you need to know what the fields are when reading the table
    anyway, so it was hard to justify an additional patch to replace
    all 0 op fields with OP_NIL.
    
    opcodes/
    	* aarch64-tbl.h (CORE_INSN, __FP_INSN, SIMD_INSN): Add OP parameter.
    	(aarch64_opcode_table): Update uses accordingly.

commit d44ea5d05b305bebedd2afaf344b361c5c2f9815
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 23 12:22:25 2016 +0930

    Fix duplicate FAILs from ld testsuite
    
    	* testsuite/lib/ld-lib.exp (run_cc_link_tests): Don't fail tests
    	twice.

commit eacfca90f1ff457d3a7be9d593040218b6208d2b
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 23 12:20:59 2016 +0930

    R_OR1K_GOTOFF_* relocations
    
    	PR 20475
    	* elf32-or1k.c (or1k_elf_relocate_section): Offset from
    	_GLOBAL_OFFSET_TABLE_, not start of .got section.

commit ed02c2d1944169075bff73de3c31bad80ecdd2c7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 23 00:00:18 2016 +0000

    Automatic date update in version.in

commit 6bb90213cb7b8e2f3be20f2e46f11f57f0c9ce55
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Aug 22 20:05:09 2016 +0100

    Fix PR gdb/20505 - Make vDSO detection work with core files
    
    Loading a core dump that was either generated on a system running
    pristine glibc master, or on a Fedora/RHEL system with LD_DEBUG=unused
    set in the environment, solib-svr4.c:svr4_current_sos fails to filter
    out the vDSO, resulting in:
    
      (gdb) core-file corefile.core^M
      [New LWP 2362]^M
      warning: Could not load shared library symbols for linux-vdso.so.1.^M
      Do you need "set solib-search-path" or "set sysroot"?^M
      Core was generated by `build-gdb/gdb/testsuite/outputs/gdb.base/corefile/'.^M
      ...
    
    The problem is that gdbarch_vsyscall_range does not support core
    inferiors at all.
    
    When live debugging, we're finding the vDSO's start address with
    auxv/AT_SYSINFO_EHDR, and then we find the vDSO's size by look for the
    corresponding mapping, by parsing /proc/PID/maps.  When debugging a
    core dump, we can also determine the starting address from
    auxv/AT_SYSINFO_EHDR.  However, we obviously can't read the core
    mappings out of the host's /proc.  But we can instead look for a
    corresponding load segment in the core's bfd.
    
    gdb/ChangeLog:
    2016-08-22  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20505
    	* linux-tdep.c (linux_vsyscall_range_raw): For core inferiors,
    	find the vDSO's start address with AT_SYSINFO_EHDR too, and
    	determine the vDSO's size by finding the PT_LOAD segment that
    	matches AT_SYSINFO_EHDR.
    
    gdb/testsuite/ChangeLog:
    2016-08-22  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20505
    	* gdb.base/vdso-warning.exp: Test core dumps too.  Use
    	with_test_prefix.  Factor out bits to ...
    	(test_no_vdso): ... this new procedure.

commit 5fbe0d878a691b9be42bb2bdebd027ac3dfd38c2
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 22 14:23:19 2016 +0100

    Free the string buffer used by the chew program to hold each file it parses.
    
    	* doc/chew.c (main): Free the string buffer used to files as they
    	are parsed.

commit 4ca0333f073cb4d86fe9d4e64c9dfdca5deba1e0
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 22 14:16:26 2016 +0100

    Prevent a seg-fault in gprof when parsing a corrupt core file.
    
    	PR gprof/20499
    	* corefile.c (core_create_syms_from): Avoid walking off the end of
    	the symbol table.

commit 888a7fc3665a67e20da1bce2f865b0ff9ef15842
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Aug 22 10:42:26 2016 +0930

    Error on unsupported PowerPC ifuncs
    
    The pr19784 tests fail on ppc32 due to a gcc bug.  The failure should
    be noticed when building both libpr19784a.so and libpr19784b.so,
    rather than ld building a buggy libpr19784a.so that fails at run time.
    This patch fixes that by moving the @local ifunc check out of
    check_relocs, where a call destination may not yet be known to be
    ifunc.  The patch also adds a related error for -mbss-plt code.
    
    	* elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
    	(ppc_elf_relocate_section): ..to here.  Comment.  Error on
    	detecting -mbss-plt -fPIC local ifuncs too.
    	(ppc_elf_size_dynamic_sections): Comment on unnecessary glink
    	branch table entries.

commit ca942b53cec608a3df1a351b504852e4e64c5e90
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 22 00:00:20 2016 +0000

    Automatic date update in version.in

commit a8cc20ac0638fde53888381bfe138ef7e200cf3e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 21 00:00:18 2016 +0000

    Automatic date update in version.in

commit 23be02821c784564f6fa5894dfd14e4656671f69
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 20 00:00:19 2016 +0000

    Automatic date update in version.in

commit 20c2c024c1e89e402a57e8c3577fb9777709d9a4
Author: Carl E. Love <carll@oc4738070240.ibm.com>
Date:   Fri Aug 19 11:06:38 2016 -0700

    Fix missing files for ld when test suite not compiled in the source directory
    
    This patch fixes an issues with six test suite expect files that do not
    run correctly when the test suite is not built in the source directory.  The
    issue is these tests are not using the current "standard_testfile" call
    but rather using the older set command to initialize the "testfile",
    "srcfile" and "binprefix" variables or are missing the set for the
    "binprefix" variable.
    
    -----------------------------------------------
    
    gdb/testsuite/ChangeLog
    
    2016-08-19  Carl Love  <cel@us.ibm.com>
    
    	* gdb.arch/altivec-regs.exp: Use standard_testfile instead of
    	maintaining separate logic for constructing the output path.
    	* gdb.arch/powerpc-d128-regs.exp: Likewise.
    	* gdb.arch/ppc-dfp.exp: Likewise.
    	* gdb.arch/ppc-fp.exp: Likewise.
    	* gdb.arch/vsx-regs.exp: Likewise.
    	* gdb.arch/altivec-abi.exp: Likewise, plus added local variable
    	binprefix for generating the additional binary files.

commit 03bcd7394eefb9399f5ab97919a0463dea274c02
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Aug 19 14:49:31 2016 +0100

    [AArch64] Match instruction "STP with base register" in prologue
    
    Nowadays, we only match pre-indexed STP in prologue.  Due to the change
    in gcc, https://gcc.gnu.org/ml/gcc-patches/2016-07/msg01933.html, it
    may generate "STP with base register" in prologue, which GDB doesn't
    handle.  That is to say, previously GCC generates prologue like this,
    
     sub sp, sp, #490
     stp x29, x30, [sp, #-96]!
     mov x29, sp
    
    with the gcc patch above, GCC generates prologue like like this,
    
     sub sp, sp, #4f0
     stp x29, x30, [sp]
     mov x29, sp
    
    This patch is to teach GDB to recognize this instruction in prologue
    analysis.
    
    gdb:
    
    2016-08-19  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_analyze_prologue): Handle register
    	based STP instruction.

commit bbfa2517ded26c1ba9e1af37671565a1a5e6bbc6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Aug 11 17:04:11 2016 +0100

    null-terminate string in linespec_location_completer
    
    If I build gdb with -fsanitize=address and run tests, I get error,
    
    malformed linespec error: unexpected colon^M
    (gdb) PASS: gdb.linespec/ls-errs.exp: lang=C: break     :
    break   :=================================================================^M
    ==3266==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000051451 at pc 0x2b5797a972a8 bp 0x7fffd8e0f3c0 sp 0x7fffd8e0f398^M
    READ of size 2 at 0x602000051451 thread T0
        #0 0x2b5797a972a7 in __interceptor_strlen (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x322a7)^M
        #1 0x7bd004 in compare_filenames_for_search(char const*, char const*) /home/yao/SourceCode/gnu/gdb/git/gdb/symtab.c:316^M
        #2 0x7bd310 in iterate_over_some_symtabs(char const*, char const*, int (*)(symtab*, void*), void*, compunit_symtab*, compunit_symtab*) /home/yao/SourceCode/gnu/gdb/git/gdb/symtab.c:411^M
        #3 0x7bd775 in iterate_over_symtabs(char const*, int (*)(symtab*, void*), void*) /home/yao/SourceCode/gnu/gdb/git/gdb/symtab.c:481^M
        #4 0x7bda15 in lookup_symtab(char const*) /home/yao/SourceCode/gnu/gdb/git/gdb/symtab.c:527^M
        #5 0x7d5e2a in make_file_symbol_completion_list_1 /home/yao/SourceCode/gnu/gdb/git/gdb/symtab.c:5635^M
        #6 0x7d61e1 in make_file_symbol_completion_list(char const*, char const*, char const*) /home/yao/SourceCode/gnu/gdb/git/gdb/symtab.c:5684^M
        #7 0x88dc06 in linespec_location_completer /home/yao/SourceCode/gnu/gdb/git/gdb/completer.c:288
    ....
    0x602000051451 is located 0 bytes to the right of 1-byte region [0x602000051450,0x602000051451)^M
    mallocated by thread T0 here:
        #0 0x2b5797ab97ef in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x547ef)^M
        #1 0xbbfb8d in xmalloc /home/yao/SourceCode/gnu/gdb/git/gdb/common/common-utils.c:43^M
        #2 0x88dabd in linespec_location_completer /home/yao/SourceCode/gnu/gdb/git/gdb/completer.c:273^M
        #3 0x88e5ef in location_completer(cmd_list_element*, char const*, char const*) /home/yao/SourceCode/gnu/gdb/git/gdb/completer.c:531^M
        #4 0x8902e7 in complete_line_internal /home/yao/SourceCode/gnu/gdb/git/gdb/completer.c:964^
    
    The code in question is here
    
           file_to_match = (char *) xmalloc (colon - text + 1);
           strncpy (file_to_match, text, colon - text + 1);
    
    it is likely that file_to_match is not null-terminated.  The patch is
    to strncpy 'colon - text' bytes and explicitly set '\0'.
    
    gdb:
    
    2016-08-19  Yao Qi  <yao.qi@linaro.org>
    
    	* completer.c (linespec_location_completer): Make file_to_match
    	null-terminated.

commit 873f10f02f5959ce9b74cc5b599f5006147de940
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Fri Aug 19 12:57:20 2016 +0100

    ARM: Issue a warning when the MRRC and MRRC2 instructions are used with the same destination registers.
    
    	* config/tc-arm.c (do_co_reg2c): Added constraint.
    	* testsuite/gas/arm/dest-unpredictable.s: New.
    	* testsuite/gas/arm/dest-unpredictable.l: New.
    	* testsuite/gas/arm/dest-unpredictable.d: New.

commit 0646e07d6e88045d650ee1ec5b674da1cdeaa6b6
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 19 12:07:46 2016 +0100

    x32: Fix gdb.trace/mi-trace-frame-collected.exp
    
    gdb.trace/mi-trace-frame-collected.exp has a couple failures on x32:
    
     FAIL: gdb.trace/mi-trace-frame-collected.exp: live: -trace-frame-collected (register)
     FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (register)
    
    gdb.log:
    
     -trace-frame-collected
     ^done,explicit-variables=[{name="gdb_char_test",value="0 '\\000'"}],computed-expressions=[],registers=[{number="16",value="0x4004dc"},{number="204",value="0x4004dc"}],tvars
     =[],memory=[{address="0x00601060",length="1"}]
     (gdb)
     FAIL: gdb.trace/mi-trace-frame-collected.exp: live: -trace-frame-collected (register)
    [...]
     -trace-frame-collected
     ^done,explicit-variables=[{name="gdb_char_test",value="0 '\\000'"}],computed-expressions=[],registers=[{number="16",value="0x4004dc"},{number="204",value="0x4004dc"}],tvars
     =[],memory=[{address="0x00601060",length="1"}]
     (gdb)
     FAIL: gdb.trace/mi-trace-frame-collected.exp: tfile: -trace-frame-collected (register)
    
    This test only collects the PC, and thus expects to only see one
    register in the output of -trace-frame-collected.  However, while on
    the 64-bit ABI gdb only exposes 64-bit $pc/$rip (register 16 above),
    on x32, GDB exposes 32-bit $eip as well, as a pseudo-register
    (register 204 above).  Thus, collecting $pc/$rip automatically always
    collects $eip as well.
    
    gdb/testsuite/ChangeLog:
    2016-08-19  Pedro Alves  <palves@redhat.com>
    
    	* gdb.trace/mi-trace-frame-collected.exp
    	(test_trace_frame_collected): On x32, expect two registers.

commit f077e978deccac00fea013c4f120122bf6726834
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 19 12:07:46 2016 +0100

    x32: gdb: Fix 'call' insn relocation with qRelocInsn
    
    Running the fast tracepoints tests against x32 gdbserver exposes a
    latent bug.  E.g.,:
    
     (gdb)
     continue
     Continuing.
     Reading /media/sf_host-pedro/gdb/mygit/build-ubuntu-x32/gdb/testsuite/outputs/gdb.trace/change-loc/change-loc-2.sl from remote target...
    
     Thread 1 "change-loc" received signal SIGSEGV, Segmentation fault.
     func4 () at /home/pedro/gdb/src/gdb/testsuite/gdb.trace/change-loc.h:24
     24      }
     (gdb) FAIL: gdb.trace/change-loc.exp: 1 ftrace: continue to marker 2
    
    The test sets a fast tracepoint on a shared library.  On x32, shared
    libraries end up loaded somewhere in the upper 2GB of the 4GB address
    space x32 has access to.  When gdbserver needs to copy an instruction
    to execute it in the jump pad, it asks gdb to relocate/adjust it, with
    the qRelocInsn packet.  gdb converts "call" instructions into a "push
    $<2GB-4GB addr> + jmp" sequence, however, the "pushq" instruction sign
    extends its operand, so later when the called function returns, it
    returns to an incorrectly sign-extended address.  E.g.,
    0xfffffffffabc0000 instead of 0xfabc0000, resulting in the
    segmentation fault.
    
    Fix this by converting calls at such addresses to "sub + mov + jmp"
    sequences instead.
    
    gdb/ChangeLog:
    2016-08-19  Pedro Alves  <palves@redhat.com>
    
    	* amd64-tdep.c (amd64_relocate_instruction) <callq>: Handle return
    	addresses over 0x7fffffff.

commit ed036b4052193ba6790ba7ee94a33a364ace3b55
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 19 12:07:45 2016 +0100

    x32: gdbserver's agent bytecode JIT: fix "call" emission
    
    Running fast tracepoint tests on x32 exposes a latent bug in the agent
    bytecode jitting.  There's a code path that forgets to emit the call
    opcode...  Whoops.  Fixes a bunch of gdb.trace/trace-condition.exp
    FAILs, like:
    
      (gdb)
      continue
      Continuing.
    
      Thread 1 "trace-condition" received signal SIGSEGV, Segmentation fault.
      0x7ffec016 in ?? ()
      (gdb) FAIL: gdb.trace/trace-condition.exp: ftrace: $rip == *set_point: advance through tracing
    
    gdb/gdbserver/ChangeLog:
    2016-08-19  Pedro Alves  <palves@redhat.com>
    
    	* linux-x86-low.c (amd64_emit_call): Emit missing call opcode.

commit c8ef42eed100c2439e600e846caa7437da93ac17
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 19 12:07:45 2016 +0100

    x32: Avoid unsigned long when installing fast tracepoint jump pads
    
    We're casting through unsigned long to write a 64-bit immediate
    operand of movabs (the comment said movl, but that was incorrect).
    The problem is that unsigned long is 32-bit on x32, so we were writing
    fewer bytes than necessary.
    
    Fix this by using an 8 byte memcpy like in other similar places in the
    function.
    
    gdb/gdbserver/ChangeLog:
    2016-08-19  Pedro Alves  <palves@redhat.com>
    
    	* linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Fix
    	comment.  Use memcpy instead of casting through unsigned long.

commit 9c235a72a112c5656f17499c0c0d3ad73609833d
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 19 12:07:45 2016 +0100

    x32 Fast tracepoints: Customize jump pad address
    
    MAP_32BIT is ignored on x32, meaning the jump pad can end up somewhere
    between 2GB and 4GB, too far away from the executable for 5-byte
    relative jumps (JMP rel32).  So on x32, try explicitly placing the
    jump pad near the middle of the available address space.
    
    gdb/gdbserver/ChangeLog:
    2016-08-19  Pedro Alves  <palves@redhat.com>
    
    	* linux-amd64-ipa.c (alloc_jump_pad_buffer) [__ILP32__]: Try
    	allocating around 0x80000000.

commit 201506dadd117df72d0528f735e44ce2e68cc66f
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 19 12:07:44 2016 +0100

    x32 Fast tracepoints: IPA target descriptions
    
    Building GDB for x32 fails building the IPA, with:
    
       .../src/gdb/gdbserver/linux-amd64-ipa.c: In function ‘const target_desc* get_ipa_tdesc(int)’:
       .../src/gdb/gdbserver/linux-amd64-ipa.c:182:14: error: ‘tdesc_amd64_avx_linux’ was not declared in this scope
    	  return tdesc_amd64_avx_linux;
    		 ^
       .../src/gdb/gdbserver/linux-amd64-ipa.c:184:14: error: ‘tdesc_amd64_mpx_linux’ was not declared in this scope
    	  return tdesc_amd64_mpx_linux;
    		 ^
       .../src/gdb/gdbserver/linux-amd64-ipa.c:186:14: error: ‘tdesc_amd64_avx_mpx_linux’ was not declared in this scope
    	  return tdesc_amd64_avx_mpx_linux;
    		 ^
      [...]
    
    The problem is that the IPA is trying to use the 64-bit descriptions,
    when it should be using the x32 ones.
    
    gdb/gdbserver/ChangeLog:
    2016-08-19  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20415
    	* Makefile.in (x32-linux-ipa.o, x32-avx-linux-ipa.o)
    	(x32-avx512-linux-ipa.o): New rules.
    	* configure.ac (x86_64-*-linux*): New x32 check.
    	* configure.srv (ipa_x32_linux_regobj): New.
    	(x86_64-*-linux*): Use $ipa_x32_linux_regobj if building for x32.
    	* linux-amd64-ipa.c (get_ipa_tdesc) [__ILP32__]: Return x32
    	descriptions.
    	(initialize_low_tracepoint) [__ILP32__]: Initialize x32
    	descriptions.
    	* configure: Regenerate.

commit 576438f0fa3ecbe0b49b3bcc2f028d586d198247
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 19 09:27:52 2016 +0100

    Enable relro by default for AArch64, ARM and SCORE.
    
    ld	* emultempl/aarch64elf.em (before_parse): Initialise the relro
    	field in the link_info structure.
    	* emultempl/armelf.em (before_parse): Likewise.
    	* emultempl/linux.em (before_parse): Likewise.
    	* emultempl/scoreelf.em (before_parse): Likewise.

commit dd90581873482f67922a4ace92dafdfdfed09f3c
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 19 09:16:30 2016 +0100

    Place .shstrtab section after .symtab and .strtab, thus restoring monotonically increasing section offsets.
    
    bfd
      * elf.c (assign_section_numbers): Assign number for the .shstrtab
      section after the symbol table and string table sections.
    
    binutils
      * testsuite/binutils-all/readelf.s: Adjust expected ordering of
      sections.
      * testsuite/binutils-all/readelf.s-64: Likewise.
    
    gas
      * testsuite/gas/i386/ilp32/x86-64-unwind.d: Adjust expected ordering
      of sections.
      * testsuite/gas/i386/x86-64-unwind.d: Likewise.
      * testsuite/gas/ia64/alias-ilp32.d: Likewise.
      * testsuite/gas/ia64/alias.d: Likewise.
      * testsuite/gas/ia64/group-1.d: Likewise.
      * testsuite/gas/ia64/group-2.d: Likewise.
      * testsuite/gas/ia64/secname-ilp32.d: Likewise.
      * testsuite/gas/ia64/secname.d: Likewise.
      * testsuite/gas/ia64/unwind-ilp32.d: Likewise.
      * testsuite/gas/ia64/unwind.d: Likewise.
      * testsuite/gas/ia64/xdata-ilp32.d: Likewise.
      * testsuite/gas/ia64/xdata.d: Likewise.
      * testsuite/gas/mmix/bspec-1.d: Likewise.
      * testsuite/gas/mmix/bspec-2.d: Likewise.
      * testsuite/gas/mmix/byte-1.d: Likewise.
      * testsuite/gas/mmix/loc-1.d: Likewise.
      * testsuite/gas/mmix/loc-2.d: Likewise.
      * testsuite/gas/mmix/loc-3.d: Likewise.
      * testsuite/gas/mmix/loc-4.d: Likewise.
      * testsuite/gas/mmix/loc-5.d: Likewise.
      * testsuite/gas/tic6x/scomm-directive-4.d: Likewise.
    
    ld
      * testsuite/ld-alpha/tlsbin.rd: Adjust expected ordering of sections.
      * testsuite/ld-alpha/tlsbinr.rd: Likewise.
      * testsuite/ld-alpha/tlspic.rd: Likewise.
      * testsuite/ld-cris/libdso-2.d: Likewise.
      * testsuite/ld-i386/nogot1.d: Likewise.
      * testsuite/ld-i386/pr12718.d: Likewise.
      * testsuite/ld-i386/pr12921.d: Likewise.
      * testsuite/ld-i386/tlsbin-nacl.rd: Likewise.
      * testsuite/ld-i386/tlsbin.rd: Likewise.
      * testsuite/ld-i386/tlsbin2-nacl.rd: Likewise.
      * testsuite/ld-i386/tlsbin2.rd: Likewise.
      * testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise.
      * testsuite/ld-i386/tlsbindesc.rd: Likewise.
      * testsuite/ld-i386/tlsdesc-nacl.rd: Likewise.
      * testsuite/ld-i386/tlsdesc.rd: Likewise.
      * testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise.
      * testsuite/ld-i386/tlsgdesc.rd: Likewise.
      * testsuite/ld-i386/tlsnopic-nacl.rd: Likewise.
      * testsuite/ld-i386/tlsnopic.rd: Likewise.
      * testsuite/ld-i386/tlspic-nacl.rd: Likewise.
      * testsuite/ld-i386/tlspic.rd: Likewise.
      * testsuite/ld-i386/tlspic2-nacl.rd: Likewise.
      * testsuite/ld-i386/tlspic2.rd: Likewise.
      * testsuite/ld-ia64/tlsbin.rd: Likewise.
      * testsuite/ld-ia64/tlspic.rd: Likewise.
      * testsuite/ld-mips-elf/attr-gnu-4-10.d: Likewise.
      * testsuite/ld-mips-elf/attr-gnu-4-50.d: Likewise.
      * testsuite/ld-mips-elf/attr-gnu-4-60.d: Likewise.
      * testsuite/ld-mips-elf/attr-gnu-4-70.d: Likewise.
      * testsuite/ld-mmix/bspec1.d: Likewise.
      * testsuite/ld-mmix/bspec2.d: Likewise.
      * testsuite/ld-mmix/local1.d: Likewise.
      * testsuite/ld-mmix/local3.d: Likewise.
      * testsuite/ld-mmix/local5.d: Likewise.
      * testsuite/ld-mmix/local7.d: Likewise.
      * testsuite/ld-mmix/undef-3.d: Likewise.
      * testsuite/ld-powerpc/tlsexe.r: Likewise.
      * testsuite/ld-powerpc/tlsexe32.r: Likewise.
      * testsuite/ld-powerpc/tlsexetoc.r: Likewise.
      * testsuite/ld-powerpc/tlsso.r: Likewise.
      * testsuite/ld-powerpc/tlsso32.r: Likewise.
      * testsuite/ld-powerpc/tlstocso.r: Likewise.
      * testsuite/ld-s390/tlsbin.rd: Likewise.
      * testsuite/ld-s390/tlsbin_64.rd: Likewise.
      * testsuite/ld-s390/tlspic.rd: Likewise.
      * testsuite/ld-s390/tlspic_64.rd: Likewise.
      * testsuite/ld-sh/sh64/crange1.rd: Likewise.
      * testsuite/ld-sh/sh64/crange2.rd: Likewise.
      * testsuite/ld-sh/sh64/crange3-cmpct.rd: Likewise.
      * testsuite/ld-sh/sh64/crange3-media.rd: Likewise.
      * testsuite/ld-sh/sh64/crange3.rd: Likewise.
      * testsuite/ld-sh/sh64/crangerel1.rd: Likewise.
      * testsuite/ld-sh/sh64/crangerel2.rd: Likewise.
      * testsuite/ld-sh/tlsbin-2.d: Likewise.
      * testsuite/ld-sh/tlspic-2.d: Likewise.
      * testsuite/ld-sparc/gotop32.rd: Likewise.
      * testsuite/ld-sparc/gotop64.rd: Likewise.
      * testsuite/ld-sparc/tlssunbin32.rd: Likewise.
      * testsuite/ld-sparc/tlssunbin64.rd: Likewise.
      * testsuite/ld-sparc/tlssunnopic32.rd: Likewise.
      * testsuite/ld-sparc/tlssunnopic64.rd: Likewise.
      * testsuite/ld-sparc/tlssunpic32.rd: Likewise.
      * testsuite/ld-sparc/tlssunpic64.rd: Likewise.
      * testsuite/ld-tic6x/common.d: Likewise.
      * testsuite/ld-tic6x/shlib-1.rd: Likewise.
      * testsuite/ld-tic6x/shlib-1b.rd: Likewise.
      * testsuite/ld-tic6x/shlib-1r.rd: Likewise.
      * testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
      * testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
      * testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
      * testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
      * testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
      * testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
      * testsuite/ld-tic6x/static-app-1.rd: Likewise.
      * testsuite/ld-tic6x/static-app-1b.rd: Likewise.
      * testsuite/ld-tic6x/static-app-1r.rd: Likewise.
      * testsuite/ld-tic6x/static-app-1rb.rd: Likewise.
      * testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise.
      * testsuite/ld-x86-64/ilp32-4.d: Likewise.
      * testsuite/ld-x86-64/nogot1.d: Likewise.
      * testsuite/ld-x86-64/pr12718.d: Likewise.
      * testsuite/ld-x86-64/pr12921.d: Likewise.
      * testsuite/ld-x86-64/split-by-file-nacl.rd: Likewise.
      * testsuite/ld-x86-64/split-by-file.rd: Likewise.
      * testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlsbin.rd: Likewise.
      * testsuite/ld-x86-64/tlsbin2-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlsbin2.rd: Likewise.
      * testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlsbindesc.rd: Likewise.
      * testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlsdesc.rd: Likewise.
      * testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlsgdesc.rd: Likewise.
      * testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlspic.rd: Likewise.
      * testsuite/ld-x86-64/tlspic2-nacl.rd: Likewise.
      * testsuite/ld-x86-64/tlspic2.rd: Likewise.
      * testsuite/ld-xtensa/tlsbin.rd: Likewise.
      * testsuite/ld-xtensa/tlspic.rd: Likewise.

commit d311bc8bf85f8358df21301fe8a357aa1212f80c
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 19 11:06:53 2016 +0930

    PowerPC64, Don't copy weak symbol dyn_relocs to weakdef.
    
    At the cost of an extra field in the symbol table hash entries, this
    simplification to the relocate_section dynamic reloc test should help
    maintainability.
    
    	* elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
    	(ppc64_elf_copy_indirect_symbol): Set weakref.  Don't merge
    	dyn_relocs for weakdefs.
    	(alias_readonly_dynrelocs): New function.
    	(ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
    	(ppc64_elf_relocate_section): Simplify condition under which
    	dyn_relocs are emitted.

commit 8a2058b5e3318a337a6fecd61b91349d1131758e
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 19 11:06:41 2016 +0930

    PR 20472, PowerPC64 ifunc confusion
    
    This patch fixes quite a lot of confusion in allocate_dynrelocs over
    ifuncs.  Function descriptors make ELFv1 quite different to ELFv2.
    
    	PR 20472
    	* elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
    	(readonly_dynrelocs): Comment fix.
    	(global_entry_stub): New function.
    	(ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test.  Match
    	ELFv2 code deciding on dynamic relocs vs. global entry stubs to
    	that in size_global_entry_stubs, handling ifunc too.  Delete dead
    	weak sym code.
    	(allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
    	dyn_relocs are needed.  Correct handling of ifunc dyn_relocs.
    	Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
    	undefweak syms.  Expand and correct comments.
    	(size_global_entry_stubs): Ensure symbol is defined.
    	(ppc64_elf_relocate_section): Match condition under which
    	dyn_relocs are emitted to that in allocate_dynrelocs.

commit e47d628fad1517ff91e8d66eb4609d84c35a2b1c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 19 00:00:12 2016 +0000

    Automatic date update in version.in

commit 46da9242e8f4e4f85dfb2eb1da5603b89126e78f
Author: Carl E. Love <carll@oc4738070240.ibm.com>
Date:   Thu Aug 18 14:36:36 2016 -0700

    Add ChangeLog updates to my previous two commits
    
    gdb/ChangeLog:
    
    	* MAINTAINERS (Write After Approval): Add "Carl Love".
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.arch/powerpc-power.s: Add new Power9 instruction tests
    	and sync up the test with tests in gas/testsuite/gas/ppc.
    	* gdb.arch/powerpc-power.exp: Likewise.

commit 63373e4f1610f3917cdb034b8e34dbd44c86489d
Author: Carl Love <cel@us.ibm.com>
Date:   Thu May 19 13:02:41 2016 -0400

    Fix for powerpc-power.exp gdb regression test for Power 9
    
    The GDB testsuite reports 5 test failures on Power 7 instructions.
    Additionally the ppc test is missing the new Power 9 instructions as
    well as a large number of older instructions.  Additionally, some
    instruction names have changed or been deleted.  This patch
    fixes the test failures and completely updates the test to make it
    consistent with the supported Power 9 instructions listed in:
    
       gas/testsuite/gas/ppc/power7.d
       gas/testsuite/gas/ppc/power8.d
       gas/testsuite/gas/ppc/power9.d
       gas/testsuite/gas/ppc/altivec.d
       gas/testsuite/gas/ppc/altivec2.d
       gas/testsuite/gas/ppc/altivec3.d
       gas/testsuite/gas/ppc/vsx.d
       gas/testsuite/gas/ppc/vsx2.d
       gas/testsuite/gas/ppc/vsx3.d
    -----------------------------------------------------
    
    gdb/testsuite/ChangeLog
    
    2016-08-18  Carl Love  <cel@us.ibm.com>
    
    	* gdb.arch/powerpc-power.s: Add new Power9 instruction tests
    	and sync up the test with tests in gas/testsuite/gas/ppc.
    	* gdb.arch/powerpc-power.exp: Likewise.

commit 6e859fd22942c6b8077416e01e50355da6cbc052
Author: Carl E. Love <carll@oc4738070240.ibm.com>
Date:   Thu Aug 18 12:47:55 2016 -0700

    Add myself as write-after-approval GDB maintainer.
    
    gdb/ChangeLog:
    
    	* MAINTAINERS (Write After Approval): Add "Carl Love".

commit d44c67f38178c5ad0c083ebff6429d6e477ea42e
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Thu Aug 18 10:45:12 2016 -0300

    ppc: Fix record of HTM instructions
    
    The patch fixes the record support of Hardware Transactional Memory
    instructions on Power. It also solves a large number of unexpected failures
    from gdb.reverse testcases sigall-precsave.exp and sigall-reverse.exp that
    occur on distros which glibc uses HTM instructions.
    
    gdb/ChangeLog
    2016-08-18  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* rs6000-tdep.c (ppc_process_record_op31): Handle HTM instructions.

commit 626c539f2edd20e351732cc23e30988853b08ca1
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Aug 18 20:24:47 2016 +0930

    Fix thinko in new weak undefined function test
    
    	* testsuite/ld-undefined/weak-undef.exp: Use unsupported not
    	unresolved.

commit 38326bfc8bdba796967f3bb78aa62c2a29d29b34
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 18 00:00:22 2016 +0000

    Automatic date update in version.in

commit eb2332d78d4ef40a2696aa0f6c833ea26a739efc
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Aug 17 16:02:27 2016 -0400

    Fix remove-inferior error message
    
    This error message should not contain the word symbol:
    
      (gdb) remove-inferiors 1
      Warning: Can not remove current symbol inferior 1.
    
    gdb/ChangeLog:
    
    	* inferior.c (remove_inferior_command): Fix error message.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.multi/remove-inferiors.exp (test_remove_inferiors): Fix
    	expected error message.

commit 63c61e04bb7168f0819fc590ac44e7583b225f7b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Aug 17 15:53:29 2016 -0400

    Add remove-inferiors test
    
    I noticed that the remove-inferiors command was not tested, and as I am
    doing some changes related to the user selection, I want to make sure I
    don't break it.  For example, I want to make sure it's not possible to
    remove the current inferior.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.multi/remove-inferiors.exp: New file.
    	* gdb.multi/remove-inferiors.c: New file.

commit a4aa1f5f01456222b47096e19018a8adc251cd58
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Aug 17 10:53:31 2016 -0700

    Fix extraneous complaints about missing expected TLS relocation (i386).
    
    Build the test objects with the in-tree assembler. Also fix some cascading
    error messages caused by not resetting the skip_call_tls_get_addr_ flag
    after printing the error.
    
    gold/
    	* i386.cc (Target_i386): Reset skip_call_tls_get_addr_ after printing
    	error message.
    	* testsuite/Makefile.am (pr20216a): Add missing dependencies.
    	(pr20308a): Add -Bgcctestdir/ to compile rules.
    	* testsuite/Makefile.in: Regenerate.

commit 9b19e39006796a4dc90f9801f44bb6f07fdb6386
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Aug 17 10:26:37 2016 -0400

    Remove stale comment
    
    This comment seems outdated, since exiting an inferior does not remove
    it.
    
    gdb/ChangeLog:
    
    	* inferior.c (exit_inferior_1): Remove comment.

commit 2c103b3d3b104557ac690a68a72105eeb7aae60e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 17 00:00:21 2016 +0000

    Automatic date update in version.in

commit fa0843f50204bfd46b444c0ded6a1df1051c876e
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Aug 15 07:39:59 2016 -0700

    sim: m68hc11: use standard STATIC_INLINE helper
    
    Rather than redefine inline locally, use the common STATIC_INLINE.

commit fc177366b0e1f4654f480d0810b0c41084b8b017
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 16 00:00:20 2016 +0000

    Automatic date update in version.in

commit 5357150c97899af2cc93072780a9c3a128c5b1ae
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Jan 21 22:17:59 2016 -0500

    sim: unify symbol table handling
    
    The common sim tracing code already handles loading and tracking of
    symbols from the target program so that it can show symbol info in
    trace/disassembly calls.  Once we touch up the trace code and add a
    few API callbacks, ports don't need to do loading and searching of
    symbol tables themselves anymore.

commit 31925464a80970e37c06192a0c49f8948a2f5da0
Author: Matthew Wahab <matthew.wahab@arm.com>
Date:   Mon Aug 15 13:09:04 2016 +0100

    [GDB] Fix builds broken by proc-service changes.
    
    GLIBC BZ#20311 introduced a change to install proc_service.h so that gdb
    didn't have to use the version it embeds in gdb_proc_service.h. The
    embedded version is guarded by HAVE_PROC_SERVICE_H and
    gdb_proc_service.h has a number other of includes and definitions, all
    of which are uncondional except for an include for gregset.h. This is
    only included if HAVE_PROC_SERIVCE_H is not defined.
    
    This causes a build failure when cross compiling gdb with the latest
    glibc because type definitions in gregset are used independently of
    HAVE_PROC_SERIVCE_H. In particular, they are used in gdb_proc_service.h
    when PRFPREGSET_T_BROKEN is set.
    
    The error messages on the failure are
    ----
    binutils-gdb/gdb/gdb_proc_service.h:173:9: error: ‘gdb_fpregset_t’ does
    not name a type; did you mean ‘elf_fpregset_t’?
     typedef gdb_fpregset_t gdb_prfpregset_t;
             ^~~~~~~~~~~~~~
             elf_fpregset_t
    
    binutils-gdb/gdb/gdb_proc_service.h:173:9: error: ‘gdb_fpregset_t’ does
    not name a type; did you mean ‘elf_fpregset_t’?
     typedef gdb_fpregset_t gdb_prfpregset_t;
             ^~~~~~~~~~~~~~
             elf_fpregset_t
    
    binutils-gdb/gdb/proc-service.c:218:15: error: ‘gdb_prfpregset_t’ does
    not name a type; did you mean ‘gdb_fpregset_t’?
             const gdb_prfpregset_t *fpregset)
                   ^~~~~~~~~~~~~~~~
                   gdb_fpregset_t
    ----
    
    This patch moves the include for gregset.h to before the code guarded by
    HAVE_PROC_SERIVCE_H, so that it is always included. This is enough to
    fix the build.
    
    2016-08-15  Matthew Wahab  <matthew.wahab@arm.com>
    
    	PR gdb/20457
    	* gdb_proc_service.h: Add an include of gregset.h
            [!HAVE_PROC_SERVICE_H]: Remove the include of gregset.h.

commit b31f9478185764487b1dcfb2803ed9c399c40ed1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Aug 15 12:28:56 2016 +0100

    Fix heap-buffer-overflow in explicit_location_lex_one
    
    I build GDB with -fsanitize=address, and see the error in tests,
    
    (gdb) PASS: gdb.linespec/ls-errs.exp: lang=C++: break 3 foo
    break -line 3 foo^M
    =================================================================^M
    ==4401==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x603000047487 at pc 0x819d8e bp 0x7fff4e4e6bb0 sp 0x7fff4e4e6ba8^M
    READ of size 1 at 0x603000047487 thread T0^[[1m^[[0m^M
        #0 0x819d8d in explicit_location_lex_one /home/yao/SourceCode/gnu/gdb/git/gdb/location.c:502^M
        #1 0x81a185 in string_to_explicit_location(char const**, language_defn const*, int) /home/yao/SourceCode/gnu/gdb/git/gdb/location.c:556^M
        #2 0x81ac10 in string_to_event_location(char**, language_defn const*) /home/yao/SourceCode/gnu/gdb/git/gdb/location.c:687^
    
    the code in question is:
    
    >         /* Special case: C++ operator,.  */
    >         if (language->la_language == language_cplus
    >             && strncmp (*inp, "operator", 8)  <--- [1]
    >             && (*inp)[9] == ',')
    >           (*inp) += 9;
    >         ++(*inp);
    
    The error is caused by the access to (*inp)[9] if 9 is out of its bounds.
    However [1] looks odd to me, because if strncmp returns true (non-zero),
    the following check "(*inp)[9] == ','" makes no sense any more.  I
    suspect it was a typo in the code we meant to "strncmp () == 0".  Another
    problem in the code above is that if *inp is "operator,", we first
    increment *inp by 9, and then increment it by one again, which is wrong
    to me.  We should only increment *inp by 8 to skip "operator", and go
    back to the loop header to decide where we stop.
    
    gdb:
    
    2016-08-15  Yao Qi  <yao.qi@linaro.org>
    
    	* location.c (explicit_location_lex_one): Compare the return
    	value of strncmp with zero.  Don't check (*inp)[9].  Increment
    	*inp by 8.

commit b69fc9d9f3b68420f7c2b5c57167a1f5c8fac279
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 15 00:00:19 2016 +0000

    Automatic date update in version.in

commit 6f64fd48c500baf7792c7995d853a4383c5f2ba0
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sat Aug 13 08:44:24 2016 -0700

    sim: m68hc11: standardize sim_cpu naming
    
    We use "sim_cpu *cpu" in the sim code base, not "struct _sim_cpu" or
    the name "proc", so clean up this sim to follow along.

commit 527aaa4a3143afedd8dd85aa70862328a9dbe627
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sat Aug 13 01:41:57 2016 -0700

    sim: m68hc11: fix up various prototype related warnings
    
    A few funcs are only used locally, so mark them static to avoid warnings
    due to -Wmissing-prototypes.
    
    Some funcs cast the return value wrong, so drop them (and let void * just
    work by default).
    
    Update some prototypes to be new style.

commit 4c171e25a8c83fc26b78430fa632fa9e64f61050
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Aug 12 22:11:26 2016 +0800

    sim: cgen: constify mode_names

commit 78d983e9ea6bf289d76bc2dce45397501371b5a7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 14 00:00:20 2016 +0000

    Automatic date update in version.in

commit 6b97945424f3714d2f9f6866079fd2bc658f4285
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Thu Jan 21 21:04:18 2016 -0500

    sim: cgen: drop unused argv/envp definitions
    
    The common argv/envp are used now by all ports, so drop this old
    cgen fragment.

commit 474a2d9f5f8a080e30812525729c3a8b7baa61d6
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Aug 8 13:06:49 2016 +0800

    sim: bfin: split out common mach/model defines into arch.h [PR sim/20438]
    
    The current machs.h mixes common enums with Blackfin-specific defines.
    This causes us troubles with header inclusion order such that we can't
    drop the old SIM_CPU typedef (which is duplicated in common code).  By
    splitting the two up, we can unwind this dependency chain, and drop the
    old typedef.  It also fixes building with older gcc versions.

commit 752cf9131f9e0fc39f9be5c1933d2f4d5b0b5ac9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 13 00:00:20 2016 +0000

    Automatic date update in version.in

commit 52c3c391f4a4a38ca921e5e7b5dce92e62079f34
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 12 20:36:20 2016 +0100

    Warn if the sh_info field of a symbol table does not index the first non-local symbol in the section.
    
    	* readelf.c (process_symbol_table): Generate a warning if a local
    	symbol is found at and offste greater than or equal to the sh_info
    	field of it's section header.

commit 3785f51aa2454dba199db8aafa80019795d536ec
Author: Roland McGrath <mcgrathr@google.com>
Date:   Fri Aug 12 09:55:25 2016 -0700

    PR gold/20462: Fix bogus layout on ARM with linker script using PHDRS clause
    
    gold/
    	PR gold/20462
    	* script-sections.cc (Script_sections::release_segments):
    	Reset this->segments_created_.

commit f300578f78f5ecddc9cfb28c02d032a0acffdf70
Author: Roland McGrath <mcgrathr@google.com>
Date:   Fri Aug 12 09:50:49 2016 -0700

    [gold] Implement HIDDEN syntax in linker scripts
    
    gold/
    	* yyscript.y (HIDDEN): New %token.
    	(assignment): Handle HIDDEN(string = expr) syntax.
    	* script.cc (script_keyword_parsecodes): Add HIDDEN.

commit 90ac242072dc68ad454aaaa228868b0f1c8e10f9
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Aug 13 00:03:43 2016 +0930

    Correct .dynsym sh_info
    
    bfd/
    	* elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
    	* elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
    	(bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
    ld/
    	* testsuite/ld-tic6x/shlib-1.rd: Correct expected .dynsym sh_info.
    	* testsuite/ld-tic6x/shlib-1b.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-1r.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-1rb.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-app-1.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-app-1b.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-app-1r.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-app-1rb.rd: Likewise.
    	* testsuite/ld-tic6x/shlib-noindex.rd: Likewise.
    	* testsuite/ld-tic6x/static-app-1.rd: Likewise.
    	* testsuite/ld-tic6x/static-app-1b.rd: Likewise.
    	* testsuite/ld-tic6x/static-app-1r.rd: Likewise.
    	* testsuite/ld-tic6x/static-app-1rb.rd: Likewise.

commit b14bdb3bab20db9d200d669dfb5e2eadde7b14cc
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 12 11:35:32 2016 +0100

    Undo the previous change to the aarch64 sim - exporting aarch64_step() - and instead make aarch64_run correctly process sim events.
    
    	* simulator.c (aarch64_step): Revert pervious delta.
    	(aarch64_run): Call sim_events_tick after each
    	instruction is simulated, and if necessary call
    	sim_events_process.
    	* simulator.h: Revert previous delta.

commit 7b17065f843252c27e8b9c093f78382079fe4d7f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Aug 12 11:02:04 2016 +0100

    Fix warning in gdb.base/signals-state-child.c
    
    I see the following warning when running signals-state-child.exp.
    
    gdb/testsuite/gdb.base/signals-state-child.c:77:4: warning: too many arguments for format [-Wformat-extra-args]
        fprintf (out, "sigaction={sa_handler=", i);
        ^
    
    this patch is to remove the argument from fprintf.
    
    gdb/testsuite:
    
    2016-08-12  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/signals-state-child.c (main): Remove "i" from fprintf's
    	argument list.

commit bf174910c85dee65d9bbacb5cb5a40c1c7a91399
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Aug 12 14:07:40 2016 +0930

    Add undefined weak function tests
    
    	* testsuite/ld-undefined/weak-fundef.s: New.
    	* testsuite/ld-undefined/weak-undef.t: Don't specify filename.
    	* testsuite/ld-undefined/weak-undef.exp: Run new tests.  Rearrange
    	much of old code.  Use is_elf_format to select targets.

commit 585bc974b1c891636b8e0c7ebe8c21e2a6728771
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 12 00:00:21 2016 +0000

    Automatic date update in version.in

commit 8be1e36919a884152d7115f4f4b8c0cfcf086a1f
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Aug 11 23:42:05 2016 +0930

    Fix ERROR: target-cc does not exist
    
    	PR ld/20436
    	* testsuite/lib/ld-lib.exp (at_least_gcc_version): Don't ignore
    	remote_exec status.
    	(check_gcc_plugin_enabled): Likewise.

commit 6a2775793d17c8a73956977c75111b33ec10ec37
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Aug 11 15:04:40 2016 +0100

    Export the single step function from the AArch64 simulator.
    
    	* interp.c (sim_create_inferior): Allow for being called with a
    	NULL abfd parameter.  If a bfd is provided, initialise the sim
    	with that start address.
    	* simulator.c (HALT_NYI): Just print out the numeric value of the
    	instruction when not tracing.
    	(aarch64_step): Change from static to global.
    	* simulator.h: Add a prototype for aarch64_step().

commit 39b22471578843019026c50fcdbe0483a6045970
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Aug 11 12:01:22 2016 +0100

    Fix fallout from gdb/20413's fix (x32: linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER)
    
    Fixes, on NIOS GNU/Linux:
    
      In file included from
      /scratch/mbilal/nois-lite/src/gdb-trunk/gdb/gdbserver/../nat/linux-ptrace.c:26:0:
      /scratch/mbilal/nois-lite/src/gdb-trunk/gdb/gdbserver/../gregset.h:27:23:
      error: unknown type name 'gregset_t'
       #define GDB_GREGSET_T gregset_t
    			 ^
    
    Fix this by including sys/procfs.h directly.  We shouldn't really be
    including a gdb-only header in a gdb/nat/ file, anyway.  Whoops.
    
    gdb/ChangeLog:
    2016-08-11  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20413
    	* nat/linux-ptrace.c: Include <sys/procfs.h> instead of
    	"gregset.h".

commit 7f6bf02d58c837d0a5f1e266058cc0e6bd6fc318
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Aug 11 10:22:41 2016 +0100

    Avoid testsuite errors about missing compilers.
    
    	PR ld/20436
    	* testsuite/lib/ld-lib.exp (check_gcc_plugin_enabled): When not
    	testing remotely, check to see if target compiler is installed
    	before trying to run it.

commit dbd8770c866ae978feb5ce9e71f64b9f7204d802
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Thu Aug 11 09:14:45 2016 +0100

    [AArch64] Reject -0.0 as an 8-bit FP immediate
    
    parse_aarch64_imm_float was accepting -0.0 even though that's not
    a valid immediate for any instruction.  The FPIMM0 caller rejected
    it, but the FPIMM one would silently treat it as -2.0.
    
    This patch rejects -0.0 and adds testcases to illegal.[sd].
    
    Before the patch, the final error emitted for illegal.s was:
    
            Error: cannot do 16-byte relocation
    
    which was matched by:
    
            [^:]*:569: Error: .*
    
    The error was reported against the last line of the file rather than
    the instruction that required the reloc.  Adding more instructions
    meant that the line number also changed.
    
    Reporting against the wrong line isn't good from a QoI perspective
    but isn't what I'm trying to fix here.  Until it's fixed, I thought
    it would be better to adjust the match to be against an end-of-file
    comment rather than against whatever the last instruction happens to be.
    
    gas/
    	* config/tc-aarch64.c (parse_aarch64_imm_float): Reject -0.0.
    	* testsuite/gas/aarch64/illegal.s, testsuite/gas/aarch64/illegal.l:
    	Add tests for -0.0.  Add an end-of-file comment.

commit d93d1c80b351a424c1737436b5e7dfb44ddc9d46
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Aug 11 12:30:52 2016 +0930

    PowerPC64 ELFv1 undefined weak functions
    
    Undefined weak functions, like __gmon_start__, were not being made
    dynamic or emitting plt call code.  While the behaviour of undefined
    weak symbols is not defined in the ELF standard, the intention on
    powerpc64 was to make it possible to link without a definition of such
    symbols and at run time behave the same as if a definition was found
    at link time in a shared library.
    
    	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
    	non_got_ref true in any case where we could have generated dynbss
    	copies but decide not to do so.

commit 4e796e9fedee43829c3eef17f557127d08cead12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 11 00:00:21 2016 +0000

    Automatic date update in version.in

commit 3807734dbe48f212629e70aeecb8c8c46bb9653c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Aug 11 00:52:06 2016 +0100

    PR ld/15428: MIPS/LD/testsuite: Un-KFAIL `__ehdr_start' test 2
    
    Complement commit b75d42bce560 ("Fix mips segfault on GOT access of
    absolute symbol") and unmark the `__ehdr_start' test 2 as known to fail
    for the n32 and n64 ABIs, as with the change referred in place the
    causing issue has been properly addressed and consequently the tests do
    not fail anymore and neither are supposed to.
    
    	ld/
    	PR ld/15428
    	* testsuite/ld-mips-elf/mips-elf.exp: Un-KFAIL `__ehdr_start'
    	test 2.

commit 01d3dedf60912cee478c242d575f4683adada1d2
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Aug 10 23:03:29 2016 +0100

    Fix PR gdb/19187 (process record over a fork causes internal error)
    
    Right after a fork is detected, we detach breakpoints from the child
    (detach_breakpoints), which calls into target_remove_breakpoint with
    inferior_ptid pointing at the child process, but leaves the breakpoint
    marked inserted (in the parent).
    
    The problem is that record-full.c always deletes all knowledge of the
    breakpoint.  Then when we later really delete the breakpoint from the
    parent, we fail the assertion, since the breakpoint is unexpectedly
    not found in the record-full.c breakpoint table.
    
    The fix is simply to not forget about the breakpoint if we're
    detaching it from a fork child.
    
    gdb/ChangeLog:
    2016-08-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/19187
    	* record-full.c (record_full_remove_breakpoint): Don't remove the
    	breakpoint from the record_full_breakpoints VEC if we're detaching
    	the breakpoint from a fork child.
    
    gdb/testsuite/ChangeLog:
    2016-08-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/19187
    	* gdb.reverse/waitpid-reverse.exp: Add comment and remove
    	setup_kfails.

commit 73971819031d74eb846805a9fbfad04ba1dff500
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Aug 10 23:03:29 2016 +0100

    Plumb enum remove_bp_reason all the way to target_remove_breakpoint
    
    So the target knows whether we're detaching breakpoints.
    Nothing uses the parameter in this patch yet.
    
    gdb/ChangeLog:
    2016-08-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/19187
    	* break-catch-sig.c (signal_catchpoint_remove_location): Adjust
    	interface.
    	* break-catch-syscall.c (remove_catch_syscall):
    	* breakpoint.c (enum remove_bp_reason): Moved to breakpoint.h.
    	(remove_breakpoint_1): Pass 'reason' down.
    	(remove_catch_fork, remove_catch_vfork, remove_catch_solib)
    	(remove_catch_exec, remove_watchpoint, remove_masked_watchpoint)
    	(base_breakpoint_remove_location, bkpt_remove_location)
    	(bkpt_probe_remove_location, bkpt_probe_remove_location): Adjust
    	interface.
    	* breakpoint.h (enum remove_bp_reason): Moved here from
    	breakpoint.c.
    	(struct breakpoint_ops) <remove_location>: Add 'reason' parameter.
    	* corelow.c (core_remove_breakpoint): New function.
    	(init_core_ops): Install it as to_remove_breakpoint method.
    	* exec.c (exec_remove_breakpoint): New function.
    	(init_exec_ops): Install it as to_remove_breakpoint method.
    	* mem-break.c (memory_remove_breakpoint): Adjust interface.
    	* record-btrace.c (record_btrace_remove_breakpoint): Adjust
    	interface.
    	* record-full.c (record_full_remove_breakpoint)
    	(record_full_core_remove_breakpoint): Adjust interface.
    	* remote.c (remote_remove_breakpoint): Adjust interface.
    	* target-debug.h (target_debug_print_enum_remove_bp_reason): New
    	macro.
    	* target-delegates.c: Regenerate.
    	* target.c (target_remove_breakpoint): Add 'reason' parameter.
    	* target.h (struct target_ops) <to_remove_breakpoint>: Add
    	'reason' parameter.
    	(target_remove_breakpoint, memory_remove_breakpoint): Add 'reason'
    	parameter.

commit b2b6a7dab91de9a616e1d76c869d127c5752b9e6
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Aug 10 23:03:29 2016 +0100

    Introduce 'enum remove_bp_reason'
    
    Makes the code more obvious.
    
    gdb/ChangeLog:
    2016-08-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/19187
    	* breakpoint.c (insertion_state_t): Delete.
    	(enum remove_bp_reason): New.
    	(detach_breakpoints, remove_breakpoint_1, remove_breakpoint):
    	Adjust to use enum remove_bp_reason instead of insertion_state_t.

commit 834c0d033bdade640aab149d0d4bd7b41dcb16af
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Aug 10 23:03:28 2016 +0100

    Simplify remove_breakpoint interface
    
    All callers pass mark_uninserted, so there's no need for the 'is'
    parameter.
    
    gdb/ChangeLog:
    2016-08-10  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/19187
    	* breakpoint.c (remove_breakpoint): Remove 'is' parameter and
    	always pass mark_uninserted to remove_breakpoint_1.
    	(insert_breakpoint_locations, remove_breakpoints)
    	(remove_breakpoints_pid, update_global_location_list): Update
    	callers.

commit 0375b0a53725b5b0bddcf8d31b707909f91afcb0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Aug 10 22:10:30 2016 +0100

    MIPS/LD/testsuite: Verify microMIPS LA25 stub generation
    
    Repeat `PIC and non-PIC test 1' checks for microMIPS LA25 stubs,
    covering code generation and stub symbol annotation.
    
    	ld/
    	* testsuite/ld-mips-elf/pic-and-nonpic-1-micromips-rel.dd: New
    	test.
    	* testsuite/ld-mips-elf/pic-and-nonpic-1-micromips-rel.nd: New
    	test.
    	* testsuite/ld-mips-elf/pic-and-nonpic-1-micromips.dd: New test.
    	* testsuite/ld-mips-elf/pic-and-nonpic-1-micromips.nd: New test.
    	* testsuite/ld-mips-elf/pic-and-nonpic-1a-micromips.s: New test
    	source.
    	* testsuite/ld-mips-elf/pic-and-nonpic-1b-micromips.s: New test
    	source.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit fe152e64f65de9cfb6f2059b76be98712baa7b56
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Aug 10 20:44:03 2016 +0100

    MIPS/BFD: Actually produce short microMIPS LA25 stubs
    
    For the case where a function which requires an LA25 stub is at the
    beginning of a section we use a short sequence comprised of a LUI/ADDIU
    instruction pair only and prepended to the associated function rather
    than using a trailing jump to reach the function.  This works by
    checking for the offset into section of the function symbol being 0.
    
    This is however never the case for microMIPS function symbols, which
    have the ISA bit set.  Consequently the short LA25 sequence is never
    produced for microMIPS functions, like with the following example:
    
    $ cat la25a.s
    	.abicalls
    
    	.global	f1
    	.ent	f1
    f1:
    	.set	noreorder
    	.cpload	$25
    	.set	reorder
    	.option	pic0
    	jal	f2
    	.option	pic2
    	jr	$31
    	.end	f1
    
    	.global	f2
    	.ent	f2
    f2:
    	jr	$31
    	.end	f2
    $ cat la25b.s
    	.abicalls
    	.option	pic0
    
    	.global	__start
    	.ent	__start
    __start:
    	jal	f1
    	jal	f2
    	.end	__start
    $ as -mmicromips -32 -EB -o la25a.o la25a.s
    $ as -mmicromips -32 -EB -o la25b.o la25b.s
    $ ld -melf32btsmip -o la25 la25a.o la25b.o
    $ objdump -d la25
    
    la25:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    004000d0 <.pic.f2>:
      4000d0:	41b9 0040 	lui	t9,0x40
      4000d4:	d420 0083 	j	400106 <f2>
      4000d8:	3339 0107 	addiu	t9,t9,263
      4000dc:	0000 0000 	nop
    
    004000e0 <.pic.f1>:
      4000e0:	41b9 0040 	lui	t9,0x40
      4000e4:	d420 0078 	j	4000f0 <f1>
      4000e8:	3339 00f1 	addiu	t9,t9,241
      4000ec:	0000 0000 	nop
    
    004000f0 <f1>:
      4000f0:	41bc 0002 	lui	gp,0x2
      4000f4:	339c 801f 	addiu	gp,gp,-32737
      4000f8:	033c e150 	addu	gp,gp,t9
      4000fc:	f420 0083 	jal	400106 <f2>
      400100:	0000 0000 	nop
      400104:	45bf      	jrc	ra
    
    00400106 <f2>:
      400106:	45bf      	jrc	ra
    	...
    
    00400110 <__start>:
      400110:	f420 0070 	jal	4000e0 <.pic.f1>
      400114:	0000 0000 	nop
      400118:	f420 0068 	jal	4000d0 <.pic.f2>
      40011c:	0000 0000 	nop
    $
    
    where `.pic.f1' could omit the trailing jump and the filler NOP and just
    fall through to `f1'.
    
    Correct the problem by masking out the ISA bit from microMIPS functions,
    which fixes the earlier example:
    
    $ objdump -d la25
    
    la25:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    004000d0 <.pic.f2>:
      4000d0:	41b9 0040 	lui	t9,0x40
      4000d4:	d420 0083 	j	400106 <f2>
      4000d8:	3339 0107 	addiu	t9,t9,263
    	...
    
    004000e8 <.pic.f1>:
      4000e8:	41b9 0040 	lui	t9,0x40
      4000ec:	3339 00f1 	addiu	t9,t9,241
    
    004000f0 <f1>:
      4000f0:	41bc 0002 	lui	gp,0x2
      4000f4:	339c 801f 	addiu	gp,gp,-32737
      4000f8:	033c e150 	addu	gp,gp,t9
      4000fc:	f420 0083 	jal	400106 <f2>
      400100:	0000 0000 	nop
      400104:	45bf      	jrc	ra
    
    00400106 <f2>:
      400106:	45bf      	jrc	ra
    	...
    
    00400110 <__start>:
      400110:	f420 0074 	jal	4000e8 <.pic.f1>
      400114:	0000 0000 	nop
      400118:	f420 0068 	jal	4000d0 <.pic.f2>
      40011c:	0000 0000 	nop
    $
    
    There is no need to do anything for MIPS16 functions, because if any
    LA25 stub has been generated for such a function, then it is only
    required for an associated call thunk only, which is regular MIPS code
    and the address of which, with the ISA bit clear, is returned by
    `mips_elf_get_la25_target'.
    
    This problem has been there since the beginning of microMIPS support:
    
    commit df58fc944dbc6d5efd8d3826241b64b6af22f447
    Author: Richard Sandiford <rdsandiford@googlemail.com>
    Date:   Sun Jul 24 14:20:15 2011 +0000
    
    <https://sourceware.org/ml/binutils/2011-07/msg00198.html>, ("MIPS:
    microMIPS ASE support").
    
    	bfd/
    	* elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
    	the stub address retrieved if associated with a microMIPS
    	function.

commit a848a2271b9bd45400e875a2518ebedf1efba2fa
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Aug 10 20:03:02 2016 +0100

    MIPS/BFD: Add microMIPS annotation to LA25 stub symbols
    
    Fix a problem with missing microMIPS symbol annotation with microMIPS
    LA25 stub symbols.  The consequence of the issue is these symbols appear
    in the symbol table as regular MIPS symbols with the ISA bit set, as
    shown with the example below:
    
    $ cat la25a.s
    	.abicalls
    
    	.global	f1
    	.ent	f1
    f1:
    	.set	noreorder
    	.cpload	$25
    	.set	reorder
    	.option	pic0
    	jal	f2
    	.option	pic2
    	jr	$31
    	.end	f1
    
    	.global	f2
    	.ent	f2
    f2:
    	jr	$31
    	.end	f2
    $ cat la25b.s
    	.abicalls
    	.option	pic0
    
    	.global	__start
    	.ent	__start
    __start:
    	jal	f1
    	jal	f2
    	.end	__start
    $ as -mmicromips -32 -EB -o la25a.o la25a.s
    $ as -mmicromips -32 -EB -o la25b.o la25b.s
    $ ld -melf32btsmip -o la25 la25a.o la25b.o
    $ readelf -s la25
    
    Symbol table '.symtab' contains 18 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 00400098     0 SECTION LOCAL  DEFAULT    1
         2: 004000b0     0 SECTION LOCAL  DEFAULT    2
         3: 004000d0     0 SECTION LOCAL  DEFAULT    3
         4: 00000000     0 SECTION LOCAL  DEFAULT    4
         5: 00000000     0 SECTION LOCAL  DEFAULT    5
         6: 00418110     0 NOTYPE  LOCAL  DEFAULT    3 _gp
         7: 004000e1    16 FUNC    LOCAL  DEFAULT    3 .pic.f1
         8: 004000d1    16 FUNC    LOCAL  DEFAULT    3 .pic.f2
         9: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _fdata
        10: 00400110    16 FUNC    GLOBAL DEFAULT [MICROMIPS]     3 __start
        11: 00400106     2 FUNC    GLOBAL DEFAULT [MICROMIPS]     3 f2
        12: 004000d0     0 NOTYPE  GLOBAL DEFAULT    3 _ftext
        13: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 __bss_start
        14: 004000f0    22 FUNC    GLOBAL DEFAULT [MICROMIPS]     3 f1
        15: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _edata
        16: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _end
        17: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _fbss
    $
    
    where microMIPS annotation is missing for `.pic.f1' and `.pic.f2' even
    though these stubs are associated with microMIPS functions `f1' and `f2'
    respectively.
    
    Add the missing annotation then, by copying it from the function symbol
    an LA25 stub is associated with, correcting the example above:
    
    $ readelf -s la25
    
    Symbol table '.symtab' contains 18 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 00400098     0 SECTION LOCAL  DEFAULT    1
         2: 004000b0     0 SECTION LOCAL  DEFAULT    2
         3: 004000d0     0 SECTION LOCAL  DEFAULT    3
         4: 00000000     0 SECTION LOCAL  DEFAULT    4
         5: 00000000     0 SECTION LOCAL  DEFAULT    5
         6: 00418110     0 NOTYPE  LOCAL  DEFAULT    3 _gp
         7: 004000e0    16 FUNC    LOCAL  DEFAULT [MICROMIPS]     3 .pic.f1
         8: 004000d0    16 FUNC    LOCAL  DEFAULT [MICROMIPS]     3 .pic.f2
         9: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _fdata
        10: 00400110    16 FUNC    GLOBAL DEFAULT [MICROMIPS]     3 __start
        11: 00400106     2 FUNC    GLOBAL DEFAULT [MICROMIPS]     3 f2
        12: 004000d0     0 NOTYPE  GLOBAL DEFAULT    3 _ftext
        13: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 __bss_start
        14: 004000f0    22 FUNC    GLOBAL DEFAULT [MICROMIPS]     3 f1
        15: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _edata
        16: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _end
        17: 00410120     0 NOTYPE  GLOBAL DEFAULT    3 _fbss
    $
    
    This problem has been there since the beginning of microMIPS support:
    
    commit df58fc944dbc6d5efd8d3826241b64b6af22f447
    Author: Richard Sandiford <rdsandiford@googlemail.com>
    Date:   Sun Jul 24 14:20:15 2011 +0000
    
    <https://sourceware.org/ml/binutils/2011-07/msg00198.html>, ("MIPS:
    microMIPS ASE support").
    
    	bfd/
    	* elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
    	stub also add STO_MICROMIPS annotation.

commit c7318def0cbfc6f0e1bab5fb54306efaf9ed3a5c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Aug 10 12:43:18 2016 +0100

    MIPS/BFD: Set the ISA bit in microMIPS LA25 stub references
    
    Fix a linker regression introduced with commit 9d862524f6ae ("MIPS:
    Verify the ISA mode and alignment of branch and jump targets") causing a
    build failure in microMIPS glibc where the `zdump' tool fails to link:
    
    .../timezone/zdump.o: In function `yeartot':
    .../timezone/zdump.c:758:(.text+0x62): Jump to a non-instruction-aligned address
    .../timezone/zdump.c:758:(.text+0x76): Jump to a non-instruction-aligned address
    .../timezone/zdump.c:768:(.text+0x112): Jump to a non-instruction-aligned address
    .../timezone/zdump.c:774:(.text+0x1b8): Jump to a non-instruction-aligned address
    .../timezone/zdump.c:774:(.text+0x1cc): Jump to a non-instruction-aligned address
    collect2: error: ld returned 1 exit status
    make[2]: *** [.../timezone/zdump] Error 1
    
    The cause of the failure is the stricter check introduced with the said
    change for jump and branch targets tripping on the address of microMIPS
    LA25 stubs.  Despite being microMIPS code these stubs do not have the
    ISA bit set throughout the relocation calculation process, because they
    have their address set to the memory offset into the stub section they
    are placed in.
    
    The `mips_elf_la25_stub' structure does not carry ISA mode information,
    but there is no need to extend it, because the ISA mode can be inferred
    from the original symbol, which will have STO_MICROMIPS annotation, so
    use that instead to set the ISA bit appropriately.  Also only LA25 stubs
    associated with microMIPS symbols need to have the ISA bit set, because
    other LA25 stubs are made with regular MIPS code, even if associated
    with a MIPS16 symbol (in which case they are needed by a call thunk only
    rather than the MIPS16 function proper).
    
    	bfd/
    	* elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
    	in microMIPS LA25 stub references.

commit 24cdb46e9f0a694b4fbc11085e094857f08c0419
Author: Руслан Ижбулатов <lrn1986@gmail.com>
Date:   Wed Aug 10 19:22:45 2016 +0100

    Support setting thread names (MS-Windows)
    
    This is done by catching an exception number 0x406d1388 (it has no
    documented name, though MSDN dubs it "MS_VC_EXCEPTION" in one code
    example), which is thrown by the program.  The exception record
    contains an ID of a thread and a name to give it.
    
    This requires rolling back some changes in handle_exception(), which
    now again returns more than two distinct values.  The new
    HANDLE_EXCEPTION_IGNORED value means that gdb should just continue,
    without returning the thread ID up the stack (which would result in
    further handling of the exception, which is not what we want).
    
    gdb/ChangeLog:
    2016-08-10  Руслан Ижбулатов  <lrn1986@gmail.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* windows-nat.c (MS_VC_EXCEPTION): New define.
    	(handle_exception_result): New enum.
    	(windows_delete_thread): Free the thread's name.
    	(handle_exception): Handle MS_VC_EXCEPTION.
    	(get_windows_debug_event): Handle HANDLE_EXCEPTION_IGNORED.
    	(windows_thread_name): New function.
    	(windows_target): Install it as to_thread_name method.
    	* NEWS: Mention the thread naming support on MS-Windows.

commit f571390111e28717935ea1b6edd1afc902c5c61c
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Aug 10 10:57:42 2016 -0700

    Fix extraneous complaints about missing expected TLS relocation.
    
    With some versions of gas, the call to tls_get_addr uses a GOTPCREL
    relocation instead of a GOTPCRELX relocation. We should allow for that
    when skip_call_tls_get_addr_ is true. We should also build the test
    objects with the in-tree assembler.
    
    This patch also fixes some cascading error messages caused by not
    resetting the skip_call_tls_get_addr_ flag after printing the error.
    
    gold/
    	PR gold/20216
    	* x86_64.cc (Target_x86_64::Relocate::relocate): Add check for
    	R_X86_64_GOTPCREL. Reset skip_call_tls_get_addr_ after printing
    	error message.
    	* testsuite/Makefile.am (pr20216_gd.o): Add -Bgcctestdir/.
    	(pr20216_ld.o): Likewise.
    	* testsuite/Makefile.in: Regenerate.

commit 2c00092dced3808ce4dcb76a9e7c473530dd01e8
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Wed Aug 10 09:58:01 2016 -0700

    Fix potential crashes when Target::make_symbol() returns NULL.
    
    2016-08-10  James Clarke  <jrtc27@jrtc27.com>
    
    gold/
    	PR gold/20443
    	* symtab.cc (Symbol_table::add_from_relobj): Handle NULL symbols,
    	which will be present for STT_SPARC_REGISTER.
    	(Symbol_table::add_from_pluginobj): Likewise.
    	(Symbol_table::add_from_dynobj): Likewise.
    	(Symbol_table::add_from_incrobj): Removed dead code.

commit 007801eeb19ed565eb4dc4020831f6d293f46930
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Wed Aug 10 09:47:45 2016 -0700

    Fix improper handling of R_SPARC_GOTDATA_OP_LOX10 relocation.
    
    The fall-through in Target_sparc::Relocate::relocate for
    R_SPARC_GOTDATA_OP_LOX10 is currently R_SPARC_GOT13, but should
    clearly be R_SPARC_GOT10. GCC has been seen to emit a sethi/xor
    rather than a sethi/or sequence to load a 32-bit immediate, but
    if R_SPARC_GOT13 is used then bits 10-12 get zeroed out as both
    the sethi and xor immediates contain them.
    
    gold/
    	PR gold/20442
    	* sparc.cc (Target_sparc::Relocate::relocate): R_SPARC_GOTDATA_OP_LOX10
    	should fall back on R_SPARC_GOT10, not R_SPARC_GOT13.

commit 55872e496e89285814d11f03bb543091d6757318
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Wed Aug 10 09:42:39 2016 -0700

    Add support for R_SPARC_32 relocation.
    
    gold/
    	PR gold/20441
    	* sparc.cc (Target_sparc::Scan::check_non_pic): Allow R_SPARC_32 on
    	sparc64.

commit 669f9429c7b5a9e827497c5ad70efb6a570c8c7d
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Aug 10 16:06:57 2016 +0100

    Quiet ARI gettext checks
    
    The ARI complains about this new file:
    
     common/signals-state-save-restore.c:46: warning: gettext: All messages should be marked up with _.
     common/signals-state-save-restore.c:59: warning: gettext: All messages should be marked up with _.
     common/signals-state-save-restore.c:87: warning: gettext: All messages should be marked up with _.
     common/signals-state-save-restore.c:92: warning: gettext: All messages should be marked up with _.
    
    Since these are untranslatable strings, use () instead of _().
    
    gdb/ChangeLog:
    2016-08-10  Pedro Alves  <palves@redhat.com>
    
    	* common/signals-state-save-restore.c
    	(save_original_signals_state, restore_original_signals_state):
    	Wrap perror_with_name arguments with '()'.

commit 51132311dbc5ac5fc1724f0cb9baeaefffd0ae67
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 10 00:00:21 2016 +0000

    Automatic date update in version.in

commit 5ff559107a34a664abf7db01cc9db93e3597d466
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Aug 9 16:41:12 2016 -0700

    Skip LTO tests for --disable-plugin
    
    Don't run LTO tests if compiler is configured with --disable-plugin.
    
    	PR ld/20436
    	* testsuite/lib/ld-lib.exp (check_gcc_plugin_enabled): New
    	proc.
    	(check_lto_available): Return 0 if check_gcc_plugin_enabled
    	returns 0.
    	(check_lto_fat_available): Likewise.
    	(check_lto_shared_available): Likewise.

commit 3eb7562a983bab4c768983bcd85708852d171121
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Aug 9 22:45:40 2016 +0100

    Fix PR gdb/20418 - Problems with synchronous commands and new-ui
    
    When executing commands on a secondary UI running the MI interpreter,
    some commands that should be synchronous are not.  MI incorrectly
    continues processing input right after the synchronous command is
    sent, before the target stops.
    
    The problem happens when we emit MI async events (=library-loaded,
    etc.), and we go about restoring the previous terminal state, we end
    up calling target_terminal_ours, which incorrectly always installs the
    current UI's input_fd in the event loop...  That is, code like this:
    
       old_chain = make_cleanup_restore_target_terminal ();
       target_terminal_ours_for_output ();
    
       fprintf_unfiltered (mi->event_channel, "library-loaded");
    
    ...
    
       do_cleanups (old_chain);
    
    The fix is to move the add_file_handler/delete_file_handler calls out
    of target_terminal_$foo, making these completely no-ops unless called
    with the main UI as current UI.
    
    gdb/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20418
    	* event-top.c (ui_register_input_event_handler)
    	(ui_unregister_input_event_handler): New functions.
    	(async_enable_stdin): Register input in the event loop.
    	(async_disable_stdin): Unregister input from the event loop.
    	(gdb_setup_readline): Register input in the event loop.
    	* infrun.c (check_curr_ui_sync_execution_done): Register input in
    	the event loop.
    	* target.c (target_terminal_inferior): Don't unregister input from
    	the event loop.
    	(target_terminal_ours): Don't register input in the event loop.
    	* target.h (target_terminal_inferior)
    	(target_terminal_ours_for_output, target_terminal_ours): Update
    	comments.
    	* top.h (ui_register_input_event_handler)
    	(ui_unregister_input_event_handler): New declarations.
    	* utils.c (ui_unregister_input_event_handler_cleanup)
    	(prepare_to_handle_input): New functions.
    	(defaulted_query, prompt_for_continue): Use
    	prepare_to_handle_input.
    
    gdb/testsuite/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    	    Simon Marchi  <simon.marchi@ericsson.com>
    
    	PR gdb/20418
    	* gdb.mi/new-ui-mi-sync.c, gdb.mi/new-ui-mi-sync.exp: New files.
    	* lib/mi-support.exp (mi_expect_interrupt): Remove anchors.

commit 80614914274f7166baea2ec656aec6a949869324
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Aug 9 22:45:39 2016 +0100

    Fix PR mi/20431 - Missing MI prompts after sync execution MI command (-exec-continue, etc.) errors
    
    gdb 7.11 introduced an MI regression: a failing MI sync execution
    command misses printing the MI prompt, and then all subsequent command
    miss it too:
    
     $ gdb-7.11.1 -i=mi
     [...]
     p 1
     &"p 1\n"
     ~"$1 = 1"
     ~"\n"
     ^done
     (gdb)                                        <<< prompted ok
     -exec-continue
     ^error,msg="The program is not being run."   <<< missing prompt after this
     print 1
     &"print 1\n"
     ~"$2 = 1"
     ~"\n"
     ^done                                        <<< missing prompt after this
    
    
    gdb 7.10.1 behaved correctly, even with "set mi-async on":
    
     -exec-continue
     ^error,msg="The program is not being run."
     (gdb)                                        <<< prompted ok
    
    etc.
    
    Bisecting points at:
    
      commit 0b333c5e7d6c
      Author: Pedro Alves <palves@redhat.com>
      Date:   Wed Sep 9 18:23:23 2015 +0100
    
          Merge async and sync code paths some more
      [...]
    
    The problem is that when an exception is thrown, we leave the prompt
    state set to PROMPT_BLOCKED, and then mi_execute_command_input_handler
    doesn't print the prompt.  It used to work because before that patch,
    we happened to skip disabling stdin if the current target didn't do
    async (which it never does before execution).
    
    I was surprised to find that this bug isn't caught by the testsuite,
    so I made a thorough test that tests all combinations of pairs of:
    
     - a failing synchronous execution command
     - a failing non-execution command
     - a non-failing command
    
    gdb/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	PR mi/20431
    	* mi/mi-main.c (mi_execute_command): Enable input and set prompt
    	state to PROMPT_NEEDED.
    
    gdb/testsuite/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	PR mi/20431
    	* gdb.mi/mi-cmd-error.exp: New file.

commit f348d89aeccaf3eb613e2f31a823baa64300bf88
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Aug 9 20:16:20 2016 +0100

    Fix PR gdb/18653: gdb disturbs inferior's inherited signal dispositions
    
    gdb's (or gdbserver's) own signal handling should not interfere with
    the signal dispositions their spawned children inherit.  However, it
    currently does.  For example, some paths in gdb cause SIGPIPE to be
    set to SIG_IGN, and as consequence, the child starts with SIGPIPE to
    set to SIG_IGN too, even though gdb was started with SIGPIPE set to
    SIG_DFL.
    
    This is because the exec family of functions does not reset the signal
    disposition of signals that are set to SIG_IGN:
    
      http://pubs.opengroup.org/onlinepubs/7908799/xsh/execve.html
    
      Signals set to the default action (SIG_DFL) in the calling process
      image are set to the default action in the new process
      image. Signals set to be ignored (SIG_IGN) by the calling process
      image are set to be ignored by the new process image. Signals set to
      be caught by the calling process image are set to the default action
      in the new process image (see <signal.h>).
    
    And neither does it reset signal masks or flags.
    
    In order to be transparent, when spawning new child processes to debug
    (with "run", etc.), reset signal actions and mask back to what was
    originally inherited from gdb/gdbserver's parent, just before execing
    the target program to debug.
    
    gdb/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18653
    	* Makefile.in (SFILES): Add
    	common/signals-state-save-restore.c.
    	(HFILES_NO_SRCDIR): Add common/signals-state-save-restore.h.
    	(COMMON_OBS): Add signals-state-save-restore.o.
    	(signals-state-save-restore.o): New rule.
    	* configure: Regenerate.
    	* fork-child.c: Include "signals-state-save-restore.h".
    	(fork_inferior): Call restore_original_signals_state.
    	* main.c: Include "signals-state-save-restore.h".
    	(captured_main): Call save_original_signals_state.
    	* common/common.m4: Add sigaction to AC_CHECK_FUNCS checks.
    	* common/signals-state-save-restore.c: New file.
    	* common/signals-state-save-restore.h: New file.
    
    gdb/gdbserver/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18653
    	* Makefile.in (OBS): Add signals-state-save-restore.o.
    	(signals-state-save-restore.o): New rule.
    	* config.in: Regenerate.
    	* configure: Regenerate.
    	* linux-low.c: Include "signals-state-save-restore.h".
    	(linux_create_inferior): Call
    	restore_original_signals_state.
    	* server.c: Include "dispositions-save-restore.h".
    	(captured_main): Call save_original_signals_state.
    
    gdb/testsuite/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18653
    	* gdb.base/signals-state-child.c: New file.
    	* gdb.base/signals-state-child.exp: New file.
    	* gdb.gdb/selftest.exp (do_steps_and_nexts): Add new pattern.

commit 7cfee229f1eb6e3ee98b63918a5189a330284751
Author: Roland McGrath <mcgrathr@google.com>
Date:   Tue Aug 9 12:09:17 2016 -0700

    Support -pie for arm*-eabi targets.
    
    ld/
    	* emulparams/armelf.sh (GENERATE_PIE_SCRIPT): Set to yes.

commit 68994ca2c06b55c46e53d670bc10869e7f1bc5fe
Author: Jiaming Wei <jmwei@hxgpt.com>
Date:   Tue Aug 9 16:18:42 2016 +0100

    Correct the calculation of the use_counts of merged .got entries.
    
    	* elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
    	adjusting the use_count of merged .got entries.

commit e5ca03b41d2c94919d5cb59d8d7adad98c29d156
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Aug 9 12:04:48 2016 +0100

    Fix PR gdb/20295: GDB segfaults printing bitfield member of optimized out value
    
    With something like:
    
      struct A { int bitfield:4; } var;
    
    If 'var' ends up wholly-optimized out, printing 'var.bitfield' crashes
    gdb here:
    
     (top-gdb) bt
     #0  0x000000000058b89f in extract_unsigned_integer (addr=0x2 <error: Cannot access memory at address 0x2>, len=2, byte_order=BFD_ENDIAN_LITTLE)
         at /home/pedro/gdb/mygit/src/gdb/findvar.c:109
     #1  0x00000000005a187a in unpack_bits_as_long (field_type=0x16cff70, valaddr=0x0, bitpos=16, bitsize=12) at /home/pedro/gdb/mygit/src/gdb/value.c:3347
     #2  0x00000000005a1b9d in unpack_value_bitfield (dest_val=0x1b5d9d0, bitpos=16, bitsize=12, valaddr=0x0, embedded_offset=0, val=0x1b5d8d0)
         at /home/pedro/gdb/mygit/src/gdb/value.c:3441
     #3  0x00000000005a2a5f in value_fetch_lazy (val=0x1b5d9d0) at /home/pedro/gdb/mygit/src/gdb/value.c:3958
     #4  0x00000000005a10a7 in value_primitive_field (arg1=0x1b5d8d0, offset=0, fieldno=0, arg_type=0x16d04c0) at /home/pedro/gdb/mygit/src/gdb/value.c:3161
     #5  0x00000000005b01e5 in do_search_struct_field (name=0x1727c60 "bitfield", arg1=0x1b5d8d0, offset=0, type=0x16d04c0, looking_for_baseclass=0, result_ptr=0x7fffffffcaf8,
     [...]
    
    unpack_value_bitfield is already optimized-out/unavailable -aware:
    
       (...) VALADDR points to the contents of VAL.  If the VAL's contents
       required to extract the bitfield from are unavailable/optimized
       out, DEST_VAL is correspondingly marked unavailable/optimized out.
    
    however, it is not considering the case of the value having no
    contents buffer at all, as can happen through
    allocate_optimized_out_value.
    
    gdb/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	* value.c (unpack_value_bitfield): Skip unpacking if the parent
    	has no contents buffer to begin with.
    
    gdb/testsuite/ChangeLog:
    2016-08-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.dwarf2/bitfield-parent-optimized-out.exp: New file.

commit 02183cb7d306469dc7cf57f39c97bf3e98829585
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 9 00:00:19 2016 +0000

    Automatic date update in version.in

commit 6a17ca318b7bc453831049f1d8bbc7f336f5ac5a
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Aug 8 15:09:46 2016 +0100

    Regenerate some target description files
    
    I regenerated all target description .c files from scratch, and got
    this spurious diff.
    
    It's a simple mid-air collision - these files were clearly generated
    before commit 73b4f516a037 ("maint_print_c_tdesc_cmd: Use type for
    TYPE_CODE_FLAGS instead of field_type."), which did the global
    s/field_type/type/, and pushed to master afterwards.
    
    gdb/features/ChangeLog:
    2016-08-08  Pedro Alves  <palves@redhat.com>
    
    	* features/i386/amd64-avx-mpx-linux.c: Regenerate.
    	* features/i386/amd64-avx-mpx.c: Regenerate.
    	* features/i386/i386-avx-mpx-linux.c: Regenerate.
    	* features/i386/i386-avx-mpx.c: Regenerate.

commit d8024a9189b9e686e403512a96e4256823b5c6e4
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 8 13:20:04 2016 +0100

    Fix seg-faults when running readelf on fuzzed binaries.
    
    	PR binutils/20440
    	* dwarf.c (display_debug_lines_decoded): Add checks for running
    	off the end of the section when populating the directory table and
    	file table.
    	(frame_display_row): Set max_regs equal to ncols.
    	(load_specific_debug_section): If the section is compressed, but
    	it is not big enough to hold a compression header then warn and
    	return 0.

commit 8a286b63457628b0a55d395f14005f254512e27d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 8 12:19:29 2016 +0100

    Fix memory leaks in chew program.
    
    	* doc/chew.c (delete_string): Only free the string buffer if it is
    	there.  Mark the buffer as NULL after freeing.
    	(drop): Free the dropped string.
    	(free_words): New function: Frees the memory allocated to the
    	dictionary.
    	(add_instrinsic): Duplicate the name string, so that it can be
    	freed later on.
    	(compile): Free unused words.
    	(main): Free the dictionary and top level string buffers at the
    	end.

commit db9537d2b735300b129e2715012ae249ee015f58
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 8 09:34:32 2016 +0100

    Fix seg-fault in DWARF dumper when given a corrupt binary containing illegal directory and file table indicies.
    
    	PR binutils/20439
    	* dwarf.c (display_debug_lines_decoded): Check directory and file
    	indicies before using them to access directory and file tables.

commit f091cf02943c1ef8667742d28a8db82d0748f908
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 8 00:00:22 2016 +0000

    Automatic date update in version.in

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


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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-10-30 19:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-30 19:44 [SCM] users/jkratoch/dwarf5gcc-gdb: 8ac14c4c6fc26c02b6333792728cbc0c0eece05a jkratoch

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