This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Created tag users/hjl/linux/release/2.28.51.0.1


The unsigned tag 'users/hjl/linux/release/2.28.51.0.1' was created pointing to:

 b8cc0ce... Remove release.binutils-2.26.51.0.2

Tagger: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Jul 11 03:57:03 2017 -0700

    Linux binutils 2.28.51.0.1

Diff:

Summary of changes (added commits):
-----------------------------------

  b8cc0ce... Remove release.binutils-2.26.51.0.2
  84b40b7... Merge remote-tracking branch 'origin/users/hjl/linux/master
  813f376... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  32f76c6... Add support for a __gcc_isr pseudo isntruction to the AVR a (*)
  33f4669... MIPS/GAS: Update `match_float_constant' and `match_operand' (*)
  b1d3c88... MIPS/opcodes: Reorder LSA and DLSA instructions (*)
  dc4bde3... PR cli/21688: Detect aliases when issuing python/compile/gu (*)
  51ed89a... PR cli/21688: Fix multi-line/inline command differentiation (*)
  60a0204... Fix failures in MMIX linker tests introduced by fix for PR  (*)
  4151f68... MIPS: Add Imagination interAptiv MR2 MIPS32r3 processor sup (*)
  909b4e3... MIPS: Add microMIPS XPA support (*)
  f5b2fd5... MIPS: Add microMIPS R5 support (*)
  9785fc2... MIPS: Fix XPA base and Virtualization ASE instruction handl (*)
  8d011e8... Automatic date update in version.in (*)
  60804c5... MIPS/opcodes: Correctly combine ASE flags for ASE_MIPS16E2_ (*)
  92cebb3... MIPS/GAS: Clear the ASE_MIPS16E2_MT flag for recalculation (*)
  3df5cd1... RISC-V: Fix TLS copy relocs (*)
  eb17d41... Expression completer should not match explicit location opt (*)
  195bcdd... Remove old stale expression_completer hack (*)
  2e74f9d... [ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over opti (*)
  e1e94c4... [ARC] Fix handling of cpu=... disassembler option value (*)
  adc764e... Use target_desc fields expedite_regs and xmltarget ifndef I (*)
  ec1acab... bfd: prevent all but undef weak syms from becoming dynamic  (*)
  ff07562... [AArch64] Only override the symbol dynamic decision on unde (*)
  2aff25b... [AArch64] Remove duplicated code when handling some GOT rel (*)
  88ab90e... S390: Support guarded-storage core note sections (*)
  1b19ec9... Automatic date update in version.in (*)
  328ce95... Don't call bfd_get_file_size in _bfd_generic_get_section_co (*)
  47fdcf6... Change bfd_get_size/bfd_get_file_size to ufile_ptr (*)
  6e75794... gdb/command.h: Include common/scoped_restore.h (*)
  bc491f2... Use obstack_grow_str (*)
  88305e1... Add support for version 2 of the GNU Build Attribute note s (*)
  65a55fb... [AArch64] Add dot product support for AArch64 to binutils (*)
  c604a79... [ARM] Assembler and disassembler support Dot Product Extens (*)
  41664b4... Fix PR 21337: segfault when re-reading symbols. (*)
  819e1f8... MIPS: Add new Imagination interAptiv MR2 GAS and LD tests (*)
  c7d289d... MIPS: Add Imagination interAptiv MR2 GAS test infrastructur (*)
  38bf472... MIPS: Add Imagination interAptiv MR2 MIPS32r3 processor sup (*)
  9991e9d... Automatic date update in version.in (*)
  6da67eb... completion_list_add_name wrapper functions (*)
  23732b1... objfile_per_bfd_storage non-POD (*)
  a6205d0... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  a4d1e79... Remove MAX_REGISTER_SIZE from remote-sim.c (*)
  2d68166... Remove debugging accidentally left in tekhex.c. (*)
  8268c77... Eliminate make_cleanup_obstack_free, introduce auto_obstack (*)
  6806377... Fix PR 13402 (*)
  db665f4... darwin: Do not add a dummy thread (*)
  ea9aafc... Warning fix (*)
  79cb3f7... MIPS/GAS/testsuite: Drop the `mips16e-' prefix from SAVE/RE (*)
  b0bd097... MIPS/GAS/testsuite: Run SAVE/RESTORE tests across all MIPS1 (*)
  2438385... MIPS/GAS/testsuite: Convert `mips16e-save-err' list test to (*)
  daba08c... MIPS/GAS/testsuite: Capitalize the name of the `mips16e-sav (*)
  7575e6a... MIPS/LD/testsuite: mips-elf-flags: Add MIPS ABI Flags handl (*)
  1284e99... MIPS/LD/testsuite: mips-elf-flags: Use `remote_exec' to cal (*)
  b1a2d7a... MIPS/LD/testsuite: mips-elf-flags: Use `-h' only with `read (*)
  a6cbf93... RISC-V: Use pc-relative relocation for FDE initial location (*)
  7211ae5... More fixes for bfd_get_section_contents change (*)
  dc81914... Automatic date update in version.in (*)
  ab27f80... Fix GDB regressions caused by previous bfd_get_section_cont (*)
  1f473e3... Add a missing line to _bfd_generic_get_section_contents_in_ (*)
  b417536... MIPS/BFD: Consistently mark the LSI CW4010 as a MIPS II pro (*)
  6f8f1a8... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  0630b49... Check file size before getting section contents (*)
  515a446... LD: Fix .startof.SECNAME/.sizeof.SECNAME tests for MIPS/IRI (*)
  90d076a... Revert "Apply Check unsupported .symver with common symbol" (*)
  a341068... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  873c081... record-full: Remove unused function netorder16 (*)
  8b5a7a6... vec: Silence -Wunused-function warnings on clang (*)
  d143537... ada-lex: Ignore warnings about register keyword (*)
  04e15b4... Fix address violation parsing a corrupt texhex format file. (*)
  cfd14a5... Fix address violations when atempting to parse fuzzed binar (*)
  0602cda... Produce a consistent warning message when attempting to run (*)
  a3aea05... Check unsupported .symver with common symbol (*)
  fd52715... Add pgste marker changelog (*)
  93ec5e2... S/390: Fix testsuite segfault added with recent pgste patch (*)
  49fa50e... Fix compile time warning building gas for arm-wince target. (*)
  cf9bdae... Update check conditions for illegal placed instructions. (*)
  46adbd1... Automatic date update in version.in (*)
  57963c0... Don't attach linker created section to --just-syms bfd (*)
  cc75e0f... main: Don't add int to string (*)
  07809ea... dtrace-probe: Put semicolon after while on its own line (*)
  f076f03... x86-dregs: Print debug registers one per line (*)
  d7e2ebe... Sync libiberty with upstream GCC. (*)
  2d3392b... Sync libiberty with upstream GCC. (*)
  5cc4ca8... fix out-of-bounds access in elf.c:find_link (*)
  b21351f... Automatic date update in version.in (*)
  0cda1e1... [ARM] Add support for ARM Cortex-R52 processor (*)
  bff0500... [ARM] Add linker support for ARMv8-R (*)
  ced4057... [ARM] Add support for ARMv8-R in assembler and readelf (*)
  173205c... [ARM] Remove ARMv6S-M special casing (*)
  926770b... Automatic date update in version.in (*)
  df4e92b... Apply Check unsupported .symver with common symbol (*)
  9bdfdbf... RISC-V: Fix SLTI disassembly (*)
  94f78a7... RISC-V: Error, don't warn, for shfit amounts/CSRs (*)
  8c04984... Revert "Apply patches for IBT and SHSTK from CET" (*)
  177d1eb... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  4aa57d6... [AArch64] Fix typo in comments on relocation name (*)
  7ee7ff7... [GOLD] PowerPC64 localentry:0 plt call optimization (*)
  7e57d19... [GOLD] PowerPC64 tocsave (*)
  0e15876... Make the strings utility reject directories. (*)
  0dd5cbc... Add XTENSA_MAX_REGISTER_SIZE (*)
  b4cbbe8... S/390: Add support for pgste marker (*)
  790ba5c... Automatic date update in version.in (*)
  0056441... i386: Add hidden weak undefined tests (*)
  5d8763a... x86-64: Move the error_alignment label forward (*)
  922109c... Pass $NOPIE_CFLAGS to ELF visibility tests (*)
  84da4cf... x86: Resolve local undefined weak symbol to 0 (*)
  d4c6ce5... Update comment on gdb_environ::unset (*)
  e652757... 2017-06-22  Eric Christopher  <echristo@gmail.com> (*)
  329b5ba... Pass $NOPIE_CFLAGS/$NOPIE_LDFLAGS to "Run pr19031" (*)
  9d1c54e... Pass $NOPIE_CFLAGS and $NOPIE_LDFLAGS to more ELF tests (*)
  16892a0... Fix cached_frame allocation in py-unwind (*)
  d7dcbef... Remove an instance of MAX_REGISTER_SIZE from record-full.c (*)
  b30ff12... Regenerate two regformats/i386/.dat files (*)
  4fa847d... Remove MAX_REGISTER_SIZE from py-unwind.c (*)
  4858098... x86: Support Intel Shadow Stack with SHSTK property (*)
  ee2fdd6... x86: Support Intel IBT with IBT property and IBT-enable PLT (*)
  f4906a9... environ-selftests: Ignore -Wself-move warning (*)
  d269dfc... Add STRINGIFY to gdb/common/preprocessor.h (*)
  b45a120... common/agent.h: Add missing include guards (*)
  d19237d... Fix address violation parsing a corrupt SOM binary. (*)
  e7d39ed... Fix compile time warning about unused static variable. (*)
  a765d07... Automatic date update in version.in (*)
  1947478... Use DWARF_VMA_FMT to report error (*)
  6b73737... Pass $NOPIE_CFLAGS and $NOPIE_LDFLAGS to some ELF tests (*)
  e5c89b0... Pass $NOPIE_CFLAGS to NOCROSSREFS tests (*)
  127d08c... Add missing ChangeLog entries (*)
  6819335... Pass $NOPIE_LDFLAGS size tests (*)
  75312ae... Use noncapturing subpattern/parens in gdb_test implementati (*)
  7f2c8a1... Fix address violation when reading corrupt DWARF data. (*)
  d890268... Apply patches for IBT and SHSTK from CET (*)
  46821f2... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  2c6b98e... [ARM] Rework Tag_CPU_arch build attribute value selection (*)
  6879f5a... Fix addrss violation when processing a corrupt SH COFF bina (*)
  2234eee... x86: CET v2.0: Update incssp and setssbsy (*)
  c2f7640... x86: CET v2.0: Rename savessp to saveprevssp (*)
  9fef80d... x86: CET v2.0: Update NOTRACK prefix (*)
  7adc0a8... Fix address violation parsing a corrupt Alpha VMS binary fi (*)
  3d030cd... [ARM] Allow Thumb division as an extension for ARMv7 (*)
  54bab28... [ARM] Rework selection of feature bits to base build attrib (*)
  bdab445... [GOLD] PowerPC move plt indx_ out of unordered map key (*)
  6e1816b... PowerPC64 localentry:0 plt calls (*)
  81209ef... PowerPC64 tocsave testcases (*)
  6c290d5... [ARM] Simplify Tag_DSP_extension selection logic (*)
  c168ce0... [ARM] Keep separation between extensions and architecture b (*)
  996b556... [ARM] Separate extensions from architectures in arm_cpus (*)
  20bd1b6... Fix seg-fault in the BFD parsing a corrupt input binary. (*)
  e4da2c6... Change to_xfer_partial doc to use addressable memory units (*)
  3de58d9... Fix potential address violation parsing a corrupt Alpha VMS (*)
  cb06d03... Fix address violation parsing a corrupt IEEE Alpha binary. (*)
  c458d00... Fix address violation when parsing a corrupt IEEE binary. (*)
  ce49701... Fix seg-fault reading a corrupt ELF binary. (*)
  1e29262... Add support for the Cortex-A55 and Cortex-A75 versions of t (*)
  eb83230... Fix PR gdb/21606: SYMBOL_FUNCTIONS_DOMAIN misspelled in doc (*)
  eceb74c... Automatic date update in version.in (*)
  69431ba... 2017-06-20  Eric Christopher  <echristo@gmail.com> (*)
  a206891... gdbserver/Makefile.in: Sort IPA_OBJS (*)
  96160d6... Use '::iterator' instead of '::const_iterator' on environ.c (*)
  9a6c7d9... C++ify gdb/common/environ.c (*)
  75c554c... Adjust the order of 32bit-linux.xml and 32bit-sse.xml in i3 (*)
  72ddacb... Class-fy tdesc_reg tdesc_type and tdesc_feature (*)
  94de2a2... [GOLD] Avoid duplicate PLT stub symbols on ppc32 (*)
  abfa390... Check the DYNAMIC bit for input shared objects (*)
  a6cab9a... Automatic date update in version.in (*)
  325c9fd... Don't throw an error in 'info registers' for unavailable MI (*)
  6695352... Update GDB test case for new lnia extended mnemonic. (*)
  d16fddd... Fix address violation when attempting to display disassembl (*)
  bc21b16... Fix address violations when reading corrupt VMS records. (*)
  0f6d864... Prevent address violation when attempting to disassemble a  (*)
  acb56a8... Fix access violation when parsing a corrupt IEEE binary. (*)
  80053e4... Fix access violation disassembling a corrupt VMS binary. (*)
  0fd1bd5... Update binutils-secondary.patch against master (*)
  16b7a71... .gdb_index writer: close the file before unlinking it (*)
  2214c37... Revert "Apply ELF: Hide .startof.SECNAME and .sizeof.SECNAM (*)
  a5bd768... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  72e84f9... Fix access violation when disassembling a corrupt VMS binar (*)
  875ffa3... Correct target_underscore for cris (*)
  1c8e01c... Use getenv instead of gdb_environ on mi-cmd-env.c (*)
  65ce776... Automatic date update in version.in (*)
  ffce45d... nat/linux-ptrace.c: add missing gdb_byte* cast (*)
  bdd32e0... is_underscore_target for ld-elf tests (*)
  9914936... Automatic date update in version.in (*)
  1d4fbac... Add ATTRIBUTE_PRINTF to trace_start_error (*)
  ae3e2cc... linux-low: Remove usage of "register" keyword (*)
  8465943... gdb: Add -Wno-mismatched-tags (*)
  3e019bd... gdb: Use -Werror when checking for (un)supported warning fl (*)
  cf0dd6f... gdb: Pass -x c++ to the compiler (*)
  291e629... Automatic date update in version.in (*)
  6f98355... extract/store integer function template (*)
  e197589... Regen rx-decode.c (*)
  4b48e2f... Fixing linking configure generated tests of ifunc support. (*)
  7dba936... Rewrite __start and __stop symbol handling (*)
  d68f197... [AArch64] Use SYMBOL_REFERENCES_LOCAL in one symbol check (*)
  a87dc45... arc: Select CPU model properly before disassembling (*)
  c092b67... 2017-06-15  Eric Christopher  <echristo@gmail.com> (*)
  00fd923... Automatic date update in version.in (*)
  75e06f9... Correct "ld --help" to display "-z stack-size=SIZE" (*)
  6353d82... [AArch64] Allow COPY relocation elimination (*)
  8cac017... i386-dis: Add 2 tests with invalid bnd register (*)
  0d96e4d... i386-dis: Check valid bnd register (*)
  cd3ea7c... Prevent address violation problem when disassembling corrup (*)
  62b76e4... Fix address violation parsing a corrupt ieee binary. (*)
  63634bb... Avoid a possible compiler bug by using a static buffer inst (*)
  63323b5... Fix address violation when disassembling a corrupt RL78 bin (*)
  76800cb... Handle EITR records in VMS Alpha binaries with overlarge co (*)
  08c7881... Prevent invalid array accesses when disassembling a corrupt (*)
  37de058... [GOLD] Don't install branch-to-stub for TLS relaxed ERRATUM (*)
  45159d6... PR gdb/21574: Mention $SHELL and startup-with-shell on "hel (*)
  6e89f89... Automatic date update in version.in (*)
  f7e16c2... xtensa: don't expect XCHAL_* macros to be constant (*)
  b46c4cf... Maxim Grigoriev stepping down as Xtensa maintainer (*)
  e64519d... Fix seg-fault when trying to disassemble a corrupt score bi (*)
  f461bbd... Fix address violation bug when disassembling a corrupt SH b (*)
  ae87f7e... Fix address violation when disassembling a corrupt binary. (*)
  6394c60... Don't use print_insn_XXX in GDB (*)
  5d6ac75... Apply ELF: Hide .startof.SECNAME and .sizeof.SECNAME (*)
  38a1763... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  99031ba... xfail pr20022.d on targets without dynamic relocs in .text (*)
  8eca109... Skip PR ld/21562 tests on targets with leading char or with (*)
  f78d1b3... Add size to bar in ld-gc/pr20022a.s (*)
  b6947a7... Skip sizeof/startof tests on targets with leading char (*)
  db5fa77... Fix address violation problems when disassembling a corrupt (*)
  5524b52... Fix register selection in var-access.exp (*)
  4c0b797... Move location of .jumptables section and add .hightext sect (*)
  c53d2e6... Fix potential address violations when processing a corrupt  (*)
  d5722aa... Introduce gdb::byte_vector, add allocator that default-init (*)
  05c966f... [opcodes][arm] Remove bogus entry added by accident in form (*)
  04f963f... Fix seg-faults in objdump when disassembling a corrupt vers (*)
  319c2db... Accept more epiphany targets (*)
  f9a36b2... Automatic date update in version.in (*)
  8dc293b... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  b27685f... ld: Don't define __start_SECNAME/__stop_SECNAME for -r (*)
  01ec7a2... darwin-nat: Add missing include (*)
  848d907... darwin: Add fork-inferior.o to NATDEPFILES (*)
  3b91294... aix: Add fork-inferior.o to NATDEPFILES (*)
  5139a55... Revert "Apply Always define referenced __start_SECNAME/__st (*)
  7196419... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  da61436... ld: Add tests for .startof.SECNAME/.sizeof.SECNAME (*)
  cbd0eec... Always define referenced __start_SECNAME/__stop_SECNAME (*)
  6490dc6... Replace multiple AVR scripts with a single, customizable li (*)
  dc74bec... ld: Add tests for -Ur (*)
  8569cfa... [LD][Testsuite] Add --no-dynamic-linker option to dynamic-1 (*)
  55acdf2... read/write_pieced_value: Merge into one function (*)
  f65e204... write_pieced_value: Notify memory_changed observers (*)
  23f945b... Fix bit-/byte-offset mismatch in parameter to read_value_me (*)
  f236533... read/write_pieced_value: Remove unnecessary variable copies (*)
  65d84b7... Respect piece offset for DW_OP_bit_piece (*)
  242d31a... read/write_pieced_value: Improve logic for buffer allocatio (*)
  03c8af1... Fix handling of DWARF register pieces on big-endian targets (*)
  840989c... read/write_pieced_value: Drop 'buffer_size' variable (*)
  3bf3101... Add DWARF piece test cases for bit-field access (*)
  359b19b... write_pieced_value: Transfer least significant bits into bi (*)
  07c9ca3... write_pieced_value: Fix buffer offset for memory pieces (*)
  f1cc987... write_pieced_value: Include transfer size in byte-wise chec (*)
  cdaac32... write_pieced_value: Fix copy/paste error in size calculatio (*)
  af547a9... read/write_pieced_value: Respect value parent's offset (*)
  805acca... gdb/testsuite: Add "get_endianness" convenience proc (*)
  ddd7882... Remove addr_size field from struct piece_closure (*)
  e935232... PR gdb/21226: Take DWARF stack value pieces from LSB end (*)
  d5d1163... write_pieced_value: Fix size capping logic (*)
  0567c98... Add test for modifiable DWARF locations (*)
  10bbbc1... Prevent a call to abort when a relocatable link encounters  (*)
  032bb6e... Move initialize_tdesc_mips* calls from mips-linux-nat.c to  (*)
  a0688fa... Automatic date update in version.in (*)
  973e9aa... Add some 128-bit integer tests (*)
  f12f6ba... Remove val_print_type_code_int (*)
  d9109c8... Simplify print_scalar_formatted (*)
  4ac0cb1... Let print_decimal_chars handle signed values (*)
  30a2546... Don't always zero pad in print_*_chars (*)
  05db746... Apply Always define referenced __start_SECNAME/__stop_SECNA (*)
  b3464d0... mips-tdep.c: Remove MAX_REGISTER_SIZE usage (*)
  4b76cda... .gdb_index prod perf regression: mapped_symtab now vector o (*)
  e8f8bcb... .gdb_index prod perf regression: Estimate size of psyms_see (*)
  70a1152... .gdb_index prod perf regression: find before insert in unor (*)
  c2f134a... Code cleanup: dwarf2read.c: Add data_buf::append_uint (*)
  a81e6d4... Code cleanup: dwarf2read.c: Eliminate ::file_write (*)
  6fd931f... Code cleanup: dwarf2read.c:uniquify_cu_indices: Use std::un (*)
  bc8f243... Code cleanup: C++ify .gdb_index producer (*)
  ca0273c... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  acedbbe... Revert "Apply x86: Add -z print-local-ifuncs to ELF linker" (*)
  5c3ce2b... ELF: Pass bfd_link_info to merge_gnu_properties (*)
  3704e35... S/390: Return with an error for broken tls rewrites (*)
  fd02199... Automatic date update in version.in (*)
  c4dcb15... Introduce "set debug separate-debug-file" (*)
  9b97dfb... PR 21564, Section start in binary output file incorrect (*)
  c7198f9... Automatic date update in version.in (*)
  561bf3e... Automatic date update in version.in (*)
  6d45d4b... gdbarch: Remove displaced_step_free_closure (*)
  9845682... Include <signal.h> on gdbserver/fork-child.c (and fix regre (*)
  654f3b6... x86-64: Add some x32 ELF property tests (*)
  dbb2bcd... Revert "[AArch64] Allow COPY relocation elimination" (*)
  fe7bb2d... Automatic date update in version.in (*)
  2f91880... Fix possible bug when no args have been provided to the exe (*)
  e3d1d40... [ARC] Corrected conditions for dynamic sections creation. (*)
  64aa8e0... [ARC] Fixed condition to generate TEXTREL. (*)
  a0abe74... [ARC] Fixed TLS for IE model. (*)
  f4e6805... [ARC] Add RELOC_FOR_GLOBAL_SYMBOL in ARC target code. (*)
  cd64029... [ARC] ARC_PC32 dynamic reloc incorrectly generated. (*)
  7ef0acc... [ARC] Don't convert _DYNAMIC@ to _GLOBAL_OFFSET_TABLE_ (*)
  cc89d0b... [ARC] Reassign the symbol got information to actual symbol  (*)
  9d5c718... [ARC] Disable warning on absolute relocs when symbol is loc (*)
  be9e370... [ARC] Avoid creating dynamic relocs when static linked is r (*)
  b8b6e72... Add MN10300_MAX_REGISTER_SIZE (*)
  5369082... Update ff4ca5ac6a2e8 to the correct version. (*)
  4ec192e... [bfd][arm] Don't assert on suspicious build attributes in i (*)
  ff4ca5a... Remove MAX_REGISTER_SIZE from mi/mi-main.c (*)
  6322e5c... x86: Dump local IFUNC functions in the map file (*)
  51fa269... cl (*)
  bc32752... [AArch64] Allow COPY relocation elimination (*)
  81b6fe3... 2017-06-07  Eric Christopher  <echristo@gmail.com> (*)
  3030551... Automatic date update in version.in (*)
  aefd8b3... Implement proper "startup-with-shell" support on gdbserver (*)
  2090129... Share fork_inferior et al with gdbserver (*)
  043a493... Share parts of gdb/gdbthread.h with gdbserver (*)
  1565251... Move parts of inferior job control to common/ (*)
  4ed1dc6... Apply x86: Add -z print-local-ifuncs to ELF linker (*)
  f1e3ee7... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  2d7cc5c... Introduce compiled_regex, eliminate make_regfree_cleanup (*)
  62e20ed... Add support for AArch64 system register names IP0, IP1, FP  (*)
  50d6ade... Remove MAX_REGISTER_SIZE from regcache.c (*)
  4a8a33c... Remove MAX_REGISTER_SIZE from sh(64)-tdep.c (*)
  d1be909... Remove MAX_REGISTER_SIZE from aarch64-tdep.c (*)
  4936f23... Fix a number of pr21529 testcase failures (*)
  58f59b7... Automatic date update in version.in (*)
  78e8a2f... bfd: support section groups with preceding SHF_GROUP sectio (*)
  f4a6504... Remove declaration of set_register_cache from regdef.h (*)
  9f7fb0a... Remove a MAX_REGISTER_SIZE from frame.c (*)
  e1e0104... Fix double free when running gdb.linespec/ls-errs.exp (PR b (*)
  fbe654c... Remove uses of MAX_REGISTER_SIZE from alpha-tdep.c (*)
  9949827... Handle printing information about PE format files which hav (*)
  5c8ed6a... [Patch, ARM] Relax the restrictions on REG_SP under Thumb m (*)
  d24b756... Fix memory leaks in the sysinfo program. (*)
  0ee3a6d... Fix AArch64 in the same way as other targets updated in 817 (*)
  ae0d01d... Add IA64_MAX_FP_REGISTER_SIZE (*)
  670b1a1... ld: Fix spelling mistake in comment. (*)
  7bdf412... ld: Allow section groups to be resolved as part of a reloca (*)
  458ad2b... bfd: remove unused local variables in elf32-score, elf32-sc (*)
  fbebaf4... bfd: remove unused local variable in elflink.c:init_reloc_c (*)
  056bafd... ELF/BFD: Hold the number of internal static relocs in `->re (*)
  61756f8... Drop arm support for falkor/qdf24xx targets, not present in (*)
  a6ba675... Automatic date update in version.in (*)
  d940949... Add a testcase for PR ld/21529 (*)
  af54f0e... PR21529, internal error in linker.c (*)
  9100132... Fix --enable-new-dtags config support (*)
  6734f10... Introduce --enable-new-dtags configure option. (*)
  3ea0007... Automatic date update in version.in (*)
  49cf576... Document the GDB 8.0 release in gdb/ChangeLog (*)
  923ca33... Automatic date update in version.in (*)
  26b6a6a... x86-linux-nat: Remove unused arch_lwp_info structure (*)
  22827c5... linux-nat: Remove unused parameter (*)
  0af6b29... Automatic date update in version.in (*)
  4a4a4a2... x86: Remove linker option: -z prefix-nop (*)
  0e05cf3... Use delete instead of xfree for gdb_timer (*)
  c1fc265... C++ify breakpoint class hierarchy (destructors only) (*)
  3b0871f... Create struct type for longjmp breakpoint (*)
  a5e364a... Introduce and use new_breakpoint_from_type (*)
  e7cd268... Correct check for endianness (*)
  0efdc72... Automatic date update in version.in (*)
  6cf3bf8... Correct ChangeLog entry date. (*)
  b5430a3... Use the ELF class to determine the word size for FreeBSD co (*)
  09b2564... Revert "Apply "Add bfd_get_file_size to get archive element (*)
  6c3bea8... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  f378ab0... PPC64_OPT_LOCALENTRY (*)
  19fb31c... S/390: idte/ipte fixes (*)
  580dfe9... Automatic date update in version.in (*)
  ae3b3f3... Rename "mem" related commmands (*)
  ab12fca... PowerPC64 ld help quoting (*)
  13ace07... btrace: support decoder events (*)
  c56ccc0... config, btrace: check for pt_insn_event in libipt (*)
  5b4a1ff... Avoid compilation warning on MinGW in xstrndup (*)
  90b4491... Make libiberty/waitpid.c compile without warnings on MinGW (*)
  b9c6833... Fix MinGW compilation warnings due to environ.h (*)
  1b1810b... Automatic date update in version.in (*)
  8c65b54... Fix calculation of R_ARM_RHM_ALU_PREL_11_0 relocation when  (*)
  1004547... [ARC] Allow CPU to be enforced via disassemble_info options (*)
  940171d... [ARC] Add arc-cpu.def with processor definitions (*)
  64984c2... [ARC] Implement compatible function for ARC BFD architectur (*)
  37cd387... [ARC] Remove duplicate ARC600 entry (*)
  8e2f54b... Add bfd_get_file_size to get archive element size (*)
  08c3f6d... btrace: Store function segments as objects. (*)
  8ffd39f... btrace: Remove bfun_s vector. (*)
  4aeb0df... btrace: Replace struct btrace_function::segment. (*)
  eb8f2b9... btrace: Remove struct btrace_function::flow. (*)
  42bfe59... btrace: Replace struct btrace_function::up. (*)
  b54b03b... btrace: Remove struct btrace_thread_info::{begin,end}. (*)
  8286623... btrace: Remove constant arguments. (*)
  a0f1b96... btrace: Use function segment index in insn iterator. (*)
  f158f20... btrace: Use function segment index in call iterator. (*)
  521103f... btrace: Add btinfo to instruction interator. (*)
  17b89b3... btrace: Transfer ownership of pointers. (*)
  2b51edd... btrace: Use std::vector in struct btrace_thread_information (*)
  70c16c0... S/390: Fix indentation (*)
  db6be0d... Fix NEWS formatting in GDB 8.0 section (*)
  8e86a41... gdb.base/watch-cond-infcall.exp: Don't run if target doesn' (*)
  ca87ae7... S/390: Fix instruction types of csdtr and csxtr (*)
  67aa8be... S/390: Add missing operand to tb instruction (*)
  ffc61c5... S/390: Add ipte/idte variants with optional operands (*)
  a09f258... S/390: Improve error checking for optional operands (*)
  bfcfbe6... S/390: Remove optional operand flag. (*)
  6813caf... Automatic date update in version.in (*)
  146c3d9... Automatic date update in version.in (*)
  b40889f... Automatic date update in version.in (*)
  2153e1d... Automatic date update in version.in (*)
  b057297... Add regcache raw_supply_integer and raw_collect_integer. (*)
  22e7d29... Automatic date update in version.in (*)
  4835dcc... Apply "Add bfd_get_file_size to get archive element size" (*)
  138f93c... Revert "Apply "x86: Add NOTRACK prefix support"" (*)
  1938a6c... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  64aaf98... Automatic date update in version.in (*)
  b77b02a... Add unit test to gdbarch methods register_to_value and valu (*)
  e521e87... Move current_regcache to regcache::current_regcache (*)
  d8e07dd... Get register contents by register_size instead of TYPE_LENG (*)
  8c8f912... Restrict i387_convert_register_p (*)
  68fce50... Restrict alpha_convert_register_p (*)
  88954b4... Restrict ia64_convert_register_p (*)
  e3ec9b6... Restrict m68k_convert_register_p (*)
  cdd238d... Use XCNEW gdbarch_tdep (*)
  7a3929c... Clear GDB internal state after each unit test (*)
  88c1242... Move print_insn_XXX to an opcodes internal header (*)
  f4985db... Use disassemble.c:disassembler select rs6000 disassembler (*)
  ab20fa4... Use disassemble.c:disassembler select rl78 disassembler (*)
  f532ab9... Use disassemble.c:disassembler select h8300 disassembler (*)
  39503f8... Delegate opcodes to select disassembler in GDB (*)
  003ca0f... Refactor disassembler selection (*)
  60fd657... Automatic date update in version.in (*)
  f7241d4... Use mips_regnum instead of constants for FreeBSD/mips regis (*)
  d489d81... Cleanups to FreeBSD/mips native register operations. (*)
  6e92fed... x86: Update notrackbad tests for non-ELF targets (*)
  590b87f... PR21503, Gold doesn't create linker stub symbols on ppc64 (*)
  6e3f347... [ARC] Reformat error messages. (*)
  8e7f04f... [ARC] Fix fall through warnings. (*)
  575dcd2... [ARC] Update MAX_INSN_FLGS. (*)
  903b2a5... Automatic date update in version.in (*)
  176efed... gdb: Document vMustReplyEmpty remote packet (*)
  04ef582... x86: Add NOTRACK prefix support (*)
  25f9434... x86-64: Use dynobj instead of htab->elf.dynobj (*)
  9a6465c... [AArch64, ld] Support ILP32 triplet aarch64*-linux-gnu_ilp3 (*)
  3c0367d... [AArch64, gas] Support ILP32 triplet aarch64*-linux-gnu_ilp (*)
  e11b3cd... gdb: Add John Baldwin as FreeBSD Maintainer (*)
  0f068fb... Add PPC_MAX_REGISTER_SIZE (*)
  ca49a96... Automatic date update in version.in (*)
  e6cf65f... Print Rust unsized array types a bit more nicely (*)
  5629862... Automatic date update in version.in (*)
  b4f5b98... binutils: remove sparc64/mips64 workaround in objcopy build (*)
  43cc538... Use watchpoint's language when re-parsing expression (*)
  a9dba87... Automatic date update in version.in (*)
  e571322... MIPS/BFD: For n64 hold the number of internal relocs in `-> (*)
  f068169... binutils/testsuite: Permit the reuse of dump patterns (*)
  6451799... binutils: support for the SPARC M8 processor (*)
  50fee3f... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  92f7d78... x86: Add GC testcases with property sections (*)
  ae0264a... gas: fix tests call-relax and asi-bump-warn in 32-bit SPARC (*)
  f4203b2... Update avrxmega3 linker emulation to support avrxmega2 devi (*)
  6e7e174... Fix tui compilation with Solaris libcurses: clear define (P (*)
  7a6e7fc... Fix tui compilation with Solaris libcurses: non-const last  (*)
  1933fd8... gdb: fix TYPE_CODE_ARRAY handling in sparc targets (*)
  eb026f0... garbage collect debug sections when no alloc sections are k (*)
  50e1d29... Avoid MinGW compilation warning in readline/input.c (*)
  dd47d67... MIPS/binutils/testsuite: Bail out right away if !ELF (*)
  8038128... Automatic date update in version.in (*)
  ec8df23... Fix test failure with Rust 1.18 and 1.19 (*)
  3e3e7fa... Expect prompt after no FPU warning (*)
  3aa2d05... Treat a prefix of "$SYSROOT" in the same way as "=" when pa (*)
  59cc050... gdb.base/fileio.c: Fix several -Wmaybe-uninitialized warnin (*)
  c8f6abd... gdb.base/fileio.c: Fix several -Wreturn-type warnings (*)
  d2a03b7... gdb.base/fileio.exp: Remove nowarnings (*)
  9d43118... fix changelog typo (*)
  535b785... Don't compare boolean values against TRUE or FALSE (*)
  087ea22... pr20882 testcase (*)
  a406db9... Automatic date update in version.in (*)
  64d3b4b... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  b7c871e... Mark debug sections referenced by kept debug sections (*)
  0d5c699... Add nowarnings in gdb.base/fileio.exp (*)
  2187306... Add alias command to cmd_list_element (*)
  2b351b1... nat_extra_makefile_frag -> nat_makefile_frag (*)
  a0a110b... S/390: Fix arch level of pckmo instruction. (*)
  4ebcabb... Automatic date update in version.in (*)
  8ec8bfe... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  8540623... Fix commit 0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac (*)
  4ef0d1b... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  0a7d388... Run PR ld/21481 tests only if IFUNC is supported (*)
  65991d2... Apply "x86: Add NOTRACK prefix support" (*)
  046ab4d... Revert "Apply "x86: Generate PLT relocations for -z now"" (*)
  811c112... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  91cb980... Allow target files access to default TC_FORCE_RELOCATION de (*)
  bc4e12d... Rename non_ir_ref to non_ir_ref_regular (*)
  4070765... non_ir_ref_dynamic (*)
  8cc2a97... Automatic date update in version.in (*)
  0c38a3d... 2017-05-15  Eric Christopher <echristo@gmail.com> (*)
  d8cbc93... 2017-05-15  Jeff Law  <law@redhat.com> (*)
  52a86f8... Fix use of ARM ADR and ADRl pseudo-instructions with thumb  (*)
  b32465c... MIPS16e2: Add new MIPS16e2 relaxation GAS and LD tests (*)
  3f3467f... MIPS16e2: Add new MIPS16e2 ASE binutils and GAS tests (*)
  70ab592... MIPS16e2: Add MIPS16e2 ASE GAS test infrastructure (*)
  25499ac... MIPS16e2: Add MIPS16e2 ASE support (*)
  20c59b8... MIPS16/GAS: Improve [32768,65535] out-of-range operand erro (*)
  602b88e... MIPS16/GAS: Improve non-constant operand error diagnostics (*)
  c96425c... MIPS/GAS: Improve bignum operand error diagnostics (*)
  1a7bf19... MIPS16/GAS: Improve non-immediate operand error diagnostics (*)
  e295202... MIPS16/GAS: Improve disallowed relocation operand error dia (*)
  c76081b... MIPS/GAS/testsuite: Convert LUI list tests to dump tests (*)
  fdfb475... MIPS/opcodes: Remove an incorrect MT ASE reference in MFC0/ (*)
  a54d5f8... MIPS/GAS: Update `match_const_int' description (*)
  32035f5... MIPS/GAS/doc: Refer to `.module' rather than `.set' (*)
  5f2ad7a... Fix gdb procfs.c compilation on Solaris (*)
  786e3eb... Add .debug_gdb_scripts section to PE linker scripts. (*)
  fba2af9... Automatic date update in version.in (*)
  cd85e51... Fix match and mask for 64-bit bb opcode. (*)
  097eb00... Automatic date update in version.in (*)
  67f46fe... Fix assertion failure relaxing TLS for position-independent (*)
  adf3dde... Avoid compiler warning in MinGW build (*)
  c0c05aa... Automatic date update in version.in (*)
  6bf56e7... Fix misplacement of a relaxed section on AArch64. (*)
  73caa85... x86: Merge X86_ISA_1_USED/X86_ISA_1_NEEDED properties (*)
  6830f27... Avoid exponential behavior in rust_evaluate_subexp (*)
  68f2f2e... Fix rust_dump_subexp_body (*)
  256afbc... Replace "return" with "break" (*)
  be3f100... MIPS/GAS: Unify GP-relative percent-ops (*)
  a4f8991... MIPS16/opcodes: Make the handling of BREAK and SDBBP consis (*)
  de428bc... Automatic date update in version.in (*)
  99e2d67... MIPS/opcodes: Mark descriptive SYNC mnemonics as aliases (*)
  f2c29a1... x86-64: Rename .plt.bnd to .plt.sec (*)
  dc2be3d... x86: Generate PLT relocations for -z now (*)
  f96f371... Automatic date update in version.in (*)
  7f401e8... MIPS/GAS/testsuite: Convert ISA override list tests to dump (*)
  40e5240... MIPS/binutils/testsuite: Define names of temporary files (*)
  5d69120... i386: Set CHECK_RELOCS_AFTER_OPEN_INPUT to yes (*)
  9fc1813... MIPS/GAS/testsuite: Correct swapped MIPS16e subset test nam (*)
  db84b98... bfd: fix the deletion of relocs in sparc64 (*)
  2318686... bfd: new BFD target entry point _bfd_set_reloc. (*)
  aab82f4... x86-64: Use .plt.bnd for IFUNC function address (*)
  f78c0b9... MIPS/GAS/testsuite: Remove stale `mips16-macro' list test o (*)
  5866775... MIPS/GAS/testsuite: Remove last remnants of ECOFF support (*)
  53a346d... [ARC] Object attributes. (*)
  21d1fbe... Remove Kaz Kojima as SH maintainer. (*)
  8010f3e... Automatic date update in version.in (*)
  a6da463... Support pe-bigobj-x86-64 as an output format in 64-bit PE b (*)
  94bb8df... Use std::forward_list for current_regcache (*)
  8248946... Add current_regcache unit test (*)
  e645cf4... Fix resolution of R_ARM_THM_ALU_PREL_11_0 relocation agains (*)
  d2732b6... ld.texinfo, use "affects" instead of "effects" (*)
  56eeb7f... Automatic date update in version.in (*)
  749d3c7... Apply "x86: Generate PLT relocations for -z now" (*)
  0149751... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  dd9e66e... Add missing initializer to silence GCC 4.2 (*)
  559452d... Don't apply x86 -z now patches (*)
  2bc1b2b... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  38b1234... x86-64: Improve PLT generation and synthetic PLT symbols (*)
  d7ab491... S/390: Fix ifunc missing runtime reloc (*)
  f604c2a... i386: Improve PLT generation and synthetic PLT symbols (*)
  046734f... Make import libraries relocatable objects (*)
  313c596... Remove some uses of MAX_REGISTER_SIZE from mips-tdep.c (*)
  27bfc1d... Remove some uses of MAX_REGISTER_SIZE from mips-linux-tdep. (*)
  146e6c5... Remove some uses of MAX_REGISTER_SIZE uses from mn10300-lin (*)
  b48e3ca... Automatic date update in version.in (*)
  618a737... Automatic date update in version.in (*)
  e50f25e... Rearrange gdb/configure.nat to make it simpler and less red (*)
  21ea5ac... Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.m (*)
  7b937cb... Automatic date update in version.in (*)
  7ed1aca... btrace: Fix memory leak in btrace_clear. (*)
  e13cb30... gdb: Disable -Werror for -Wmaybe-uninitialized (*)
  3234491... Automatic date update in version.in (*)
  b9fa99c... Apply gold test patches (*)
  d512d31... Fix gdb.python/py-record-btrace-threads.exp with Python 3 (*)
  7f4519b... Update x86 -z now patches (*)
  f0e59e6... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  5ed8105... RAII-fy make_cleanup_restore_current_thread & friends (*)
  f6223db... make_cleanup_restore_current_thread: Look up thread earlier (*)
  3c3ae77... Fix get_core_register_section leak, introduce thread_sectio (*)
  f91d48d... RISC-V: Fix disassemble for c.li, c.andi and c.addiw (*)
  45eba0a... Remove some superfluous code in corelow.c (*)
  b660e9e... Fix PR21404 - assertion fail when calculating symbol size (*)
  8293e73... Automatic date update in version.in (*)
  8507b6e... MIPS16/GAS: Relax 32-bit non-PIC PC-relative synthetic inst (*)
  90cef2e... Make sure malloc is linked into gdb.cp/oranking.cc. (*)
  b229082... Adjust testsuite/ld-elf/pr21384.d (*)
  f81fdd3... Remove MAX_REGISTER_SIZE from frv-linux-tdep.c (*)
  3583777... gdbarch.sh: Remove commented out TARGET_CHAR_BIT definition (*)
  c94fee5... Regenerate gdb/{,gdbserver/}configure (for commit be628ab81 (*)
  e78bb25... Prevent a seg-fault in the assembler when provided with a b (*)
  35387fd... Automatic date update in version.in (*)
  82d808e... MIPS16/GAS: Fix absolute references with PC-relative synthe (*)
  3d85059... x86: Add -Wl,--no-as-needed to some TLS tests (*)
  43e379d... RISC-V: Change CALL macro to use ra as the temporary addres (*)
  763a5fa... RISC-V: Allow 32-bit BFD to handle 64-bit objects (*)
  640226f... Add a test for PR ld/21384 (*)
  2ecf0cc... Cast relcount to unsigned long when comparing with sec->rel (*)
  d17f7b3... solib-target: Remove local variables (*)
  b560ebd... Remove definition of VEC (CORE_ADDR) (*)
  f2f46df... Use std::vector in lm_info_target (*)
  a0ff9e1... Change return type of gdbarch_software_single_step to vecto (*)
  ea480a3... Change field separator in gdbarch.sh (*)
  1395c6c... Don't merge notes when the relocs associated with them cann (*)
  73ec947... PR 21384, --dynamic-list regression with f02cb058 (*)
  a4ddc54... MIPS16/opcodes: Keep the LSB of PC-relative offsets in disa (*)
  39ff1b7... Prevent memory exhaustion from a corrupt PE binary with an  (*)
  d050f7d... Python: Introduce gdb.Instruction class (*)
  14f819c... Python: Move and rename gdb.BtraceFunction (*)
  0ed5da7... Python: Move and rename gdb.BtraceInstruction (*)
  913aead... Python: Introduce gdb.RecordGap class (*)
  a3be24a... Python: Remove ptid from gdb.Record interface (*)
  ae20e79... Python: Use correct ptid in btrace recording (*)
  8d0050e... Python: Fix indentation in py-record-btrace.c (*)
  fe50e98... Fix value in comment of disassembled ARM type A opcodes. (*)
  122a483... Automatic date update in version.in (*)
  c95b98c... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  0aae7e7... x86: Run GNU2 TLS tests with working GNU2 TLS support (*)
  2f95240... Apply x86 -z now patches (*)
  bbdc747... Update binutils-secondary.patch against master (*)
  9ba1cc0... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  3f380b5... gdb/MAINTAINERS: Move Daniel J and Mark to the Past Maintai (*)
  ee7e95e... merge_gnu_build_notes reloc deletion (*)
  6224c85... Automatic date update in version.in (*)
  020bf56... Automatic date update in version.in (*)
  a941291... PR21432, buffer overflow in perform_relocation (*)
  45ce1b4... Make environ.exp run on all platforms (and create info-prog (*)
  a93866c... Automatic date update in version.in (*)
  0749542... Remove cleanup in get_return_value (*)
  deb1fa3... Use tag dispatch regcache ctor in regcache_dup (*)
  b421c83... Simplify regcache_dup (*)
  ef79d9a... Class-fy regcache (*)
  f8fdb78... Class-ify lm_info_windows (*)
  9ccbfd7... Class-ify lm_info_darwin (*)
  76e7522... Class-ify lm_info_svr4 (*)
  51046d9... Class-ify lm_info_target (*)
  4023ae7... Class-ify lm_info_frv (*)
  af43057... Fix indentation of lm_info_frv (*)
  b091120... Class-ify lm_info_dsbt (*)
  6c401f7... Class-ify lm_info_aix (*)
  d0e449a... Make various lm_info implementations inherit from a base cl (*)
  434a402... Standardize darwin's lm_info (*)
  1670f9c... x86: Add run-time tests for -mtls-dialect=gnu2 (*)
  d6f48ae... ELF: Add run-time tests for -z now (*)
  428544e... Consistently use fprintf_filtered when displaying MIPS regi (*)
  750eaa4... x86: Check plt_got before using .plt.got (*)
  4621115... Add constructor and destructor to regcache (*)
  b06b2c9... Fix off by one error when checking for empty note names. (*)
  4e3afec... Fix heap-buffer address violation when reading version data (*)
  d949ff5... Fix heap-buffer overflow bugs caused when dumping debug inf (*)
  339053c... Use ptid method lwp in mips_linux_new_thread (*)
  7974a60... [MIPS] Use lwpid from lwp_info instead of inferior_ptid (*)
  343b374... Automatic date update in version.in (*)
  e15c3eb... Fix overload resolution involving rvalue references and cv  (*)
  5b66fac... x86-64: Use "=" instead of "+=" to update 0 (*)
  72bc1d2... Add missing incref when creating Inferior Python object (*)
  de9a3c4... x86: Create dynamic sections in create_dynamic_sections (*)
  da3d25a... Remove has_bnd_reloc from elf_x86_64_link_hash_entry (*)
  fba37ed... Change _bfd_elf_link_setup_gnu_properties to bfd * (*)
  1f78f64... i386: Simplify VxWorks for non-PIC (*)
  55bcecd... Read corrrect auxiliary entry in AIX (*)
  14f72d4... MIPS16/GAS: Factor out duplicate symbol value conversion co (*)
  1425c41... MIPS16/GAS: Rename the LONG_BRANCH relaxation flag (*)
  5c99fcf... Remove some MAX_REGISTER_SIZE uses in ia64-tdep.c (*)
  f2d830a... Tidy S_FORCE_RELOC (*)
  76c20d5... Constify elf_backend_eh_frame_address_size (*)
  d7153c4... Edit .eh_frame symbols (*)
  641338d... Clear dynstr_index when forcing symbols local (*)
  21d68fc... PowerPC undefweak handling (*)
  a61d92b... [GOLD] testsuite/plugin_section_order.c fix (*)
  7a81a73... Automatic date update in version.in (*)
  ce8ad87... MIPS/GAS: Fix `.option picX' handling with relaxation (*)
  97d343d... x86: Add DT_PLTRELSZ/DT_PLTREL/DT_JMPREL for PLT relocation (*)
  04b3118... Fix a seg-fault when processing a corrupt binary containing (*)
  d21f3dd... Fix PR number in ChangeLog comment. (*)
  740a463... Fix invocation of stat() on a NULL pointer. (*)
  3e6b644... Improve decoding of corrupt/unrecognised gnu build attribut (*)
  b41c5a8... [gdbarch] New method "execute_dwarf_cfa_vendor_op" and migr (*)
  23ec1e3... PR ld/21334: Always call `_bfd_elf_link_renumber_dynsyms' i (*)
  c46cec3... ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in sec (*)
  bbdd9a6... MIPS/readelf: With `-A' also dump GOT in static binaries (*)
  e63d123... Fix seg-fault attempting to compress a debug section in a c (*)
  c185f58... xtensa_pseudo_register_read/write - Use regcache_raw_read_u (*)
  19c4559... nds32: Abort instead of returning REG_UNKNOWN (*)
  03def08... Automatic date update in version.in (*)
  4658f12... Change readonly_p to bool (*)
  c4ab950... MIPS/readelf: Simplify GOT[1] data availability check (*)
  919383a... MIPS/readelf: Remove extraneous null GOT data check (*)
  126124c... [ARC] Enhance enter/leave mnemonics. (*)
  be6a24d... [ARC] Prefer NOP instead of MOV 0,0 (*)
  d581dda... Change gdbarch_wchar_bit for AArch64 and ARM (*)
  0348fd7... MIPS16/opcodes: Add `-M no-aliases' disassembler option hel (*)
  6e3d1f0... MIPS16/opcodes: Annotate instruction aliases (*)
  adc1273... MIPS/GAS: Correct BFD_RELOC_MIPS16_16_PCREL_S1 fixup size (*)
  debed3d... Fix build on gcc < 5 (std::is_trivially_copyable missing) (*)
  d28b636... gas: sparc: fix relaxation of CALL instruction into branche (*)
  b0b92ae... Poison non-POD memset & non-trivially-copyable memcpy/memmo (*)
  16c4d54... Don't memset non-POD types: struct breakpoint (*)
  b5c3668... Don't memset non-POD types: struct btrace_insn (*)
  5625a28... Don't memset non-POD types: struct bp_location (*)
  23bcc18... Don't memcpy non-trivially-copyable types: Make enum_flags  (*)
  a49abe0... Automatic date update in version.in (*)
  9e9821d... x86-64: Force symbol dynamic if it isn't undefined weak (*)
  0dc9a30... i386: Force symbol dynamic if it isn't undefined weak (*)
  e1ba305... Use floatformat_totalsize_bytes (*)
  e662f84... i386: Skip pr12570 tests for nacl targets (*)
  1587442... i386: Set ELF_MAXPAGESIZE to 0x1000 for VxWorks (*)
  5344555... [GAS/ARM] Fix expansion of ldr pseudo instruction (*)
  8b353c4... ld: fix regressions with rett instructions in sparc tests. (*)
  957f6b3... Fix snafu in aarch64 opcodes debugging statement. (*)
  9ad8982... Automatic date update in version.in (*)
  4235484... PR 21418, ar -N lacks arg check (*)
  7034215... PR 21417, ar arg check failure (*)
  b02cd3e... PR 21415, objdump fails to check bfd_get_section_contents s (*)
  7eacd66... PR 21414, null pointer deref of _bfd_elf_large_com_section  (*)
  bce964a... PR 21412, get_reloc_section assumes .rel/.rela name for SHT (*)
  97e83a1... PR 21409, segfault in _bfd_dwarf2_find_nearest_line (*)
  f082820... PR 21408, segfault in display_debug_lines_decoded (*)
  b43eea2... Automatic date update in version.in (*)
  bf15543... Fix ldn/stn multiple instructions.  Fix testcases with unal (*)
  10f489e... Use ui_out_emit_list (*)
  0092b74... Use ui_out_emit_tuple in more places in MI (*)
  a14a62d... Use ui_out_emit_tuple in tracepoint.c (*)
  46b9c12... More uses of ui_out_emit_tuple (*)
  2e78302... Use ui_out_emit_tuple (*)
  a8cc8a5... PowerPC VLE insn set additions (*)
  ebe553d... doc: Improve documentation about MI thread output (*)
  9be21bb... Remove dead code and "current" field from MI thread output  (*)
  b8ac4fa... Automatic date update in version.in (*)
  e133d00... i386: Avoid dynamic symbol with GOT reference in PIE (*)
  3c5fce9... Require --no-dynamic-linker with -static -E/--dynamic-list (*)
  0d4c07a... release branch: Fix: --enable-werror (*)
  4daf993... Simplify regcache_restore (*)
  3ab87b6... opcodes: mark SPARC RETT instructions as v6notv9. (*)
  ddef72c... Fix shift overflow when parsing an overlarge note value. (*)
  792f174... Fix detection of illegal AArch64 opcodes that resemble LD1R (*)
  73b58fd... Automatic date update in version.in (*)
  f285ab0... Revert "Apply binutils-pr21382.patch" (*)
  ad556be... Revert "Apply binutils-pr21389.patch" (*)
  e218e1b... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  afe9edb... Skip PIE indirect5 and indirect6 tests on i386 (*)
  0fad295... ELF/LD: Always consider STB_LOCAL symbols local (*)
  31321c8... MIPS/LD/testsuite: Join `__ehdr_start' tests (*)
  64575f7... MIPS/BFD: Reorder comment about dynamic symbol sorting (*)
  59fa66c... Handle symbol defined in IR and referenced in DSO (*)
  c768868... Automatic date update in version.in (*)
  e492d2f... x86-64: Handle undefined IFUNC symbol with -z now (*)
  a6c21d4... gdbthread.h: Fix comment typo (*)
  3a3fd0f... Fix removing inferiors from within "thread apply" commands (*)
  9bcb1f1... Make inferior::detaching a bool, and introduce scoped_resto (*)
  26fcd53... gdb/Makefile.in: Re-sort SUBDIR_UNITTESTS_SRCS/SUBDIR_UNITT (*)
  1016913... Correct PE reloc display (*)
  954b63d... Implement -z dynamic-undefined-weak (*)
  951787e... Automatic date update in version.in (*)
  fdd243b... Eliminate obstack_printf (*)
  4895cde... gdb_xml_parser: make data fields private and make more func (*)
  bd8a901... xml-support.c: Use std::string for growing string buffer (*)
  d35d195... gdb::optional unit tests (*)
  22796e9... More gdb::optional features (*)
  a7fc9b6... xml-support.c: Use std::vector (*)
  010151c... C++-ify gdb/xml-support.c a bit to eliminate cleanups (*)
  d56060f... PR threads/20743: Don't attempt to suspend or resume exited (*)
  6631d36... Automatic date update in version.in (*)
  e669901... Put soname in the version definition section (*)
  305d16a... Update NEWS post GDB 8.0 branch creation. (*)
  8bb5723... Bump version to 8.0.50.DATE-git (*)
  c5d3746... Undo dynamic symbol state after regular object sym type mis (*)
  c661778... Automatic date update in version.in (*)
  94522e5... Automatic date update in version.in (*)
  725bf5c... Automatic date update in version.in (*)
  2397afc... Apply binutils-pr21389.patch (*)
  8aeaf64... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  fa2190d... Apply binutils-pr21382.patch (*)
  096c92d... Fix build breakage on Cygwin (PR gdb/21385) (*)
  5dc74d6... Automatic date update in version.in (*)
  0550c95... Make inferior a class with cdtors, and use new/delete (*)
  e3d60df... GC inferior.c:init_inferior_list (*)
  5fd69d0... Improve coverage of the PR threads/13217 regression test (*)
  c660945... C++fy thread_apply_all_command (*)
  2a00d7c... Fix follow-fork latent bug (*)
  441d7c9... watch_command_1: Fix dangling frame access (*)
  7296a62... readelf: fix out of range subtraction, seg fault from a NUL (*)
  1d15e43... Add note merging to strip and add code to merge stack size  (*)
  4274208... Regen cgen files (*)
  808480f... fork-child.c: Avoid unnecessary heap-allocation / string co (*)
  8f0dd45... 	* config.sub: Sync with master version in config project. (*)
  b1b4550... Add ChangeLog entries (*)
  63a5468... Wrap long lines (*)
  dae8256... Use %A and %B in more error messages (*)
  c08bb8d... Rewrite bfd error handler (*)
  10463f3... Missing _bfd_error_handler args (*)
  4af8774... Regen bfd-in2.h (*)
  ad3d022... Fix a typo in rx_fpsw_type (*)
  e6ddc3b... XCNEW gdbarch_tdep in rl78 and rx (*)
  bfb8cf9... struct breakpoint: Fix indentation (*)
  f5336ca... breakpoint.c: bp_location (the array) shadows bp_location ( (*)
  4f70a99... Automatic date update in version.in (*)
  be628ab... Create gdb_termios.h (and cleanup gdb/{,gdbserver/}terminal (*)
  8e9e35b... Change linespec_result::location to be an event_location_up (*)
  16e802b... Add a constructor and destructor to linespec_result (*)
  d28cd78... Change breakpoint event locations to event_location_up (*)
  711799d... Use std::vector in compile-loc2c.c (*)
  52d214d... Use std::vector in find_instruction_backward (*)
  4c404b8... Use std::vector in reread_symbols (*)
  156d9ea... Use scoped_restore in more places (*)
  4d89769... C++ify mi_parse (*)
  4b217cc... Remove some cleanups from location.c (*)
  59d3651... Remove some cleanups from gnu-v3-abi.c (*)
  b24b0d6... Fix up wchar_iterator comment (*)
  80a3b8c... Remove cleanup_iconv (*)
  c83dd86... Change increment_reading_symtab to return a scoped_restore (*)
  0e8621a... Introduce gdb_dlhandle_up (*)
  67d8990... Change find_pcs_for_symtab_line to return a std::vector (*)
  9392140... Introduce command_line_up (*)
  ffc2605... Introduce event_location_up (*)
  8f10c93... gdb: Move DJGPP/go32 bits to their own tdep file (*)
  0a31ccf... Fix build error in aix-thread.c (*)
  e9bb3fb... Remove unnecessary set_gdbarch_gnu_triplet_regexp calls (*)
  5337538... Teach GDB that wchar_t is a built-in type in C++ mode (*)
  53e710a... Fix PR c++/21323: GDB thinks char16_t and char32_t are sign (*)
  5e0e042... Fix Changelog for ab0538b875c054468aa205d8d36550d1223a3bfd (*)
  ab0538b... Add M32R_ARG_REGISTER_SIZE (*)
  5430098... Fix build breakage from last commit (window-nat.c:windows_c (*)
  7c5ded6... C++-fy and prepare for sharing fork_inferior (*)
  ef6a5ae... Automatic date update in version.in (*)
  e4097f5... Remove the extra `\n' in warning/error messages (*)
  537616a... Ignore processor-specific GNU program properties (*)
  ae0eee4... gdb/thread.c: Fix whitespace throughout (*)
  a6acac0... Fix read after xfree in linux-nat.c:linux_nat_detach (*)
  64403bd... Remove MAX_REGISTER_SIZE from arm-tdep.c (*)
  fbea150... PR 21274, ld segfaults linking PE DLL (*)
  b43c520... Automatic date update in version.in (*)
  c03dc33... Reorder PPC_OPCODE_* and set PPC_OPCODE_TMR for e6500 (*)
  ef85eab... Bye bye PPC_OPCODE_HTM and -mhtm (*)
  9570835... Bye Bye PPC_OPCODE_VSX3 (*)
  9a85b49... Bye bye PPC_OPCODE_ALTIVEC2 (*)
  a5bef50... Fix PR gdb/21364: Dead code due to an unreachable condition (*)
  28d909e... Prevent a bigus warning from readelf about a gdb-index tabl (*)
  a70f34c... Document undocumented linker command line options. (*)
  9295a5a... thread.c: ptid_equal -> operator== (*)
  996812e... GC gdb/thread.c:current_thread_cleanup_chain (*)
  845b344... msp430: Don't use REG_UNKNOWN (*)
  803bdfe... Don't delete thread_info if refcount isn't zero (*)
  8c25b49... Hoist code on marking thread as exited (*)
  947fa91... gas: xtensa: fix incorrect code generated with auto litpool (*)
  bb1dd17... Port the bug fix for PR 19704 (Missing dynamic relocation a (*)
  d236cfd... Remove the ns32k target from the obsolete list. (*)
  62adc51... Tidy ppc476 opcodes (*)
  6f9dbcd... PR21287, Inconsistent section type for .init_array and .ini (*)
  37095d0... Clean elfvsb files left over from previous runs (*)
  aa80870... WebAssembly disassembler support (*)
  8473b44... windows-nat.c: Fix bad initialization of ptid (*)
  4a44171... Automatic date update in version.in (*)
  5e8bf44... Automatic date update in version.in (*)
  b630840... Add support for fcvtl and fcvtl2. (*)
  ae27d3f... Support the fcmXX zero instructions. (*)
  aebcde5... Automatic date update in version.in (*)
  a7eaf01... Use NOPIE_CFLAGS and NOPIE_LDFLAGS to disable PIE (*)
  3ac27d6... Update binutils-secondary.patch against master (*)
  5b3e876... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  8170f76... ELF: Check ELF_COMMON_DEF_P for common symbols (*)
  6670ec1... ptid-selftests: Fix erroneous assert messages (*)
  49f4617... Fix building the BFD library for Win64 by reqorking the fin (*)
  ae3f8c2... Fix failure in x86_64 linker tests when compiling with a PI (*)
  ac8f0f7... Remove E6500 insns from PPC_OPCODE_ALTIVEC2 (*)
  5c1f54c... Tweak MBIND ld test for ARM. (*)
  498e344... MBIND gas test tweak (*)
  ba2f91b... Add BFIN_MAX_REGISTER_SIZE (*)
  1fd6d11... pe/coff: handle weak defined symbol for gc-sections. (*)
  436252d... Class-ify ptid_t (*)
  1379e3a... Automatic date update in version.in (*)
  62ecb94... Add support for disassembling WebAssembly opcodes. (*)
  0dedf37... Fix Windows gdb build failure with Python 2 support (*)
  3944e22... mbind tests: don't check PT_LOAD headers (*)
  86abf93... Regen SRC-POTFILES.in (*)
  0f65a5d... [objcopy] Fix quadratic-time when handling --redefine-syms (*)
  9014582... Automatic date update in version.in (*)
  6ca30fa... PR ld/21233: change xfails to kfails, fix the indentation i (*)
  4e9868d... ptid_{lwp,tid}_p: Remove unnecessary checks (*)
  9bf2a70... -Wwrite-strings: Remove -Wno-write-strings (*)
  a121b7c... -Wwrite-strings: The Rest (*)
  995816b... -Wwrite-strings: More Solaris (*)
  3e83a92... -Wwrite-strings: Fix Solaris "set procfs-file" (*)
  63160a4... -Wwrite-strings: Some constification in gdb/breakpoint.c (*)
  9b2eba3... -Wwrite-strings: execute_command calls with string literals (*)
  2adadf5... -Wwrite-strings: Add a PyArg_ParseTupleAndKeywords "const c (*)
  0d1f4ce... -Wwrite-strings: Wrap PyGetSetDef for construction with str (*)
  4d75997... -Wwrite-strings: More fix-old-Python-API wrappers (*)
  21c8a58... -Wwrite-strings: gdbserver/win32-low.c and TARGET_WAITKIND_ (*)
  fb32b4f... -Wwrite-strings: gdbserver's 'port' parsing (*)
  fdf9e36... -Wwrite-strings: MI -info-os (*)
  9f33b8b... -Wwrite-strings: Constify mi_cmd_argv_ftype's 'command' par (*)
  67cb5b2... -Wwrite-strings: Constify word break character arrays (*)
  7a11496... -Wwrite-strings: Constify target_pid_to_str and target_thre (*)
  69bbf46... -Wwrite-strings: Constify warning_pre_print (*)
  be47f9e... -Wwrite-strings: Constify shell_escape and plug make_comman (*)
  bde6261... -Wwrite-strings: Don't initialize string command variables  (*)
  b38ef47... -Wwrite-strings: Constify macroexp.c:init_shared_buffer (*)
  f995bbe... -Wwrite-strings: Constify struct disassemble_info's disasse (*)
  0ad9d8c... PR 21352: Add testsuite for "tsave -r" command (*)
  4a596fe... Fix PR 21352: Command tsave does not support -r argument (*)
  2cad08e... Use frame_unwind_register_value in frame_unwind_register_un (*)
  55a9897... Fix racy test in gdb.threads/thread-specific-bp.exp (*)
  8dea77f... PowerPC64le PLT reference counting (*)
  4ac4012... New global maintainer - Simon Marchi (*)
  4d5efb8... PR ld/21233: xfail failing test-parts for cris*-*-* (*)
  c053b65... Initialize gdb::optional empty payload to quiet false -Wmay (*)
  f3b8f8e... Automatic date update in version.in (*)
  80070c0... PR ld/21233: Avoid sweeping forced-undefined symbols in sec (*)
  4c7bf4f... Remove support for using the bsd-uthread target on FreeBSD. (*)
  1e1a8be... Remove support for FreeBSD/alpha. (*)
  4990793... Use ptid from regcache instead of inferior_ptid. (*)
  6f77053... dwarf2read.c: C++fy lnp_state_machine (*)
  9c54172... Make sect_offset and cu_offset strong typedefs instead of s (*)
  ecfb656... dwarf2read.c: Make dir_index and file_name_index strong typ (*)
  d194f1f... gdb::optional: Add observers (*)
  fff8551... dwarf2read.c: Some C++fycation, use std::vector, std::uniqu (*)
  477bdd3... Use symbolic constants instead of magic numbers with add_da (*)
  988ad1d... Revert "Apply binutils-properties.patch" (*)
  7f007d8... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  a91e160... Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX (*)
  b529203... RISC-V: Resurrect GP-relative disassembly hints (*)
  65dd1e5... gdbserver: Clear .deps on clean (*)
  d62a8ae... remote.c: Use ptid_t instead of struct ptid (*)
  ad32986... Fix null pointer dereferences when using a link built with  (*)
  db3a1dc... Remove MAX_REGISTER_SIZE from frame.c (*)
  4c220b4... Automatic date update in version.in (*)
  c41cf6f... RISC-V: Avoid a const warning (*)
  2f5f29c... 	IA16 support (*)
  2514e33... Correct the ChangeLog entry (*)
  46bed67... ld: Support ELF GNU program properties (*)
  82156ab... readelf: Fix overlarge memory allocation when reading a bin (*)
  75ec1fd... Fix runtime seg-fault in readelf when parsing a corrupt MIP (*)
  f32ba72... readelf: Update check for invalid word offsets in ARM unwin (*)
  12bfb8f... Automatic date update in version.in (*)
  450b68d... Automatic date update in version.in (*)
  5e6a0e7... Automatic date update in version.in (*)
  fecb9c4... RISC-V: Allow ISA subsets to be disabled (*)
  858f82b... RISC-V: Add physical memory protection CSRs (*)
  8fa5b77... gdbserver: Suffix generated C files with -generated (*)
  efdf7a0... Fix minor problems with previous wasm32 binutils commit. (*)
  dc1e4d6... Reduce the size of s390 symbol tables by allowing relocatio (*)
  938ec66... Automatic date update in version.in (*)
  b668d5b... Apply binutils-properties.patch (*)
  694f9e3... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  f96bd6c... Add support for the WebAssembly file format and the wasm32  (*)
  662659a... Fix classification of `module.type' in D lexer. (*)
  a62b755... Automatic date update in version.in (*)
  ec13808... Fix warning: Invalid entry in .debug_gdb_scripts section (*)
  f7c514a... opcodes: sparc: support missing SPARC ASIs from UA2005, UA2 (*)
  1231656... Add constructor and destructor to thread_info (*)
  52be03f... PowerPC -Mraw disassembly (*)
  e643cb4... Improve the speed of scanning PE binaries for line number i (*)
  7cc0cd2... Automatic date update in version.in (*)
  086554e... Fix for PR ld/16044: elf32-cris.c h->plt.refcount inconsist (*)
  fe5f737... arc: Add prologue analysis (*)
  eea7875... arc: Add disassembler helper (*)
  3be78af... arc: Add "maintenance print arc" command prefix (*)
  296ec4f... arc: Align internal regnums with architectural regnums (*)
  081c108... Automatic date update in version.in (*)
  a12e714... gdbserver: xtensa: support THREADPTR register (*)
  f74f865... gdb: xtensa-linux: support THREADPTR register (*)
  0d0bf81... gdb: xtensa: fix test for privileged register number (*)
  1a09b50... gdbserver: xtensa: add call0 support (*)
  0ce4291... gdb: xtensa-linux: add call0 support (*)
  c56054f... gdb: gdbserver: xtensa: make C0_NREGS available (*)
  a439862... gdb: xtensa: clean up xtensa_default_isa initialization (*)
  8c43009... dwarf2read.c: Clean up out of bounds handling (*)
  a7e80b9... gdb/cp-name-parser.y: Eliminate make_empty, use cplus_deman (*)
  b1a42fd... cplus_demangle_fill_component: Handle DEMANGLE_COMPONENT_RV (*)
  a6be053... Add support for the WebAssembly backend to the BFD library. (*)
  2104772... Fix gdb_xml_debug/gdb_xml_error ATTRIBUTE_PRINTF use (*)
  9b75393... PR21303, objdump doesn't show e200z4 insns (*)
  d721ba3... gdb: Make ldirname return a std::string (*)
  79b1d3c... oops - forgot to add the bfd/ChangeLog entry... (*)
  8fb740d... Add minimal support for WebAssembly backend to the BFD libr (*)
  c0c31e9... Implement ARC NPS-400 Ultra Ip and Miscellaneous instructio (*)
  cf31b44... Automatic date update in version.in (*)
  f124168... Fix bug with cmn/adds where C flag was incorrectly set. (*)
  7ed687b... Automatic date update in version.in (*)
  275c67f... Automatic date update in version.in (*)
  ed77125... Remove MAX_REGISTER_SIZE from target.c (*)
  568c1b9... Avoid segfault on invalid directory table (*)
  62785b0... [GAS/ARM] Fix selected_cpu with default CPU and -mcpu (*)
  c72cea5... readelf: Fix incorrect "Version definition past end of sect (*)
  cad1105... Automatic date update in version.in (*)
  3e00d44... Remove some unnecessary inferior_ptid setting/restoring whe (*)
  077ae65... Remove MAX_REGISTER_SIZE from sol-thread.c (*)
  1e2b521... Handle PRFM in AArch64 process record (*)
  3387712... Fix code indentation (*)
  a0eef94... Remove AARCH64_RECORD_FAILURE (*)
  1a5e158... Remove constness of libdir in do_start_initialization (*)
  3f2a356... Fix memory leak in python.c:do_start_initialization (*)
  ad36c6c... Automatic date update in version.in (*)
  19683c0... Sanitize RISC-V GAS help text, documentation (*)
  24e5b4e... gas: xtensa: make trampolines relaxation work with jumps in (*)
  b67aeab... Remove lwp -> pid conversion in linux_nat_xfer_partial (*)
  11997a8... Sync top level config files with master versions in the FSF (*)
  79778b3... Remove @code for python (*)
  ffdbe86... Wrap locally used classes in anonymous namespace (*)
  9d736fb... Import sys in gdb/python/lib/gdb/printer/bound_registers.py (*)
  3e6c756... Automatic date update in version.in (*)
  4c8798c... Disable shared library tests for nios2-*-elf. (*)
  3de88e9... windows: Use ptid from regcache in register fetch/store (*)
  0e7b8f6... Remove remaining reference to struct serial::current_timeou (*)
  2253c8f... S/390: Remove vx2 facility flag (*)
  4a14e30... Add --inlines option to objdump to include scope backtrace  (*)
  645d334... arc/nps400: Add cp16/cp32 instructions to opcodes library (*)
  75d7d29... Update support for GNU BUILD notes so that version notes ca (*)
  5badf10... Decode properly flags of %ccr register on sparc64. (*)
  2170171... ld: check overflow only for allocated sections. (*)
  cee59b3... Fix break on Python 2 (*)
  09220ea... Automatic date update in version.in (*)
  639a903... spu: Use ptid from regcache instead of inferior_ptid (*)
  bcc0c09... Use ptid from regcache in almost all remaining nat files (*)
  c0f55cc... Add rvalue reference tests and docs (*)
  15c0a2a... Add rvalue references to overloading resolution (*)
  aa00611... Convert lvalue reference type check to general reference ty (*)
  3fcf899... Support rvalue references in the gdb python module (include (*)
  4297a3f... Support DW_TAG_rvalue_reference type (*)
  e1cb321... Implement printing of rvalue reference types and values (*)
  e4347c8... Implement demangling for rvalue reference type names (*)
  53cc15f... Support rvalue reference type in parser (*)
  a65cfae... Add ability to return rvalue reference values from value_re (*)
  3b22433... Change {lookup,make}_reference_type API (*)
  f9aeb8d... Add definitions for rvalue reference types (*)
  51457a0... Add -file-list-shared-libraries MI command (*)
  5b291c0... Add a better diagnostic message in mi_gdb_test (*)
  e696b3a... Remove unused parameter in solib_add and update_solib_list (*)
  59a5614... Fix spurious FAILs with examine-backward.exp (*)
  39e224f... readelf: Don't error on .debug files with NOBITS .dynamic s (*)
  e406e42... Update descriptions of the .2byte, .4byte and .8byte direct (*)
  dcb84ed... s390: Fix displaced-stepping certain relative branch insns (*)
  4ea0266... Update the openrisc previous program counter (ppc) when run (*)
  d5e0ba9... [arm] Document missing -mfpu entries. (*)
  d3375dd... [arm] Add neon-vfp3 as an alias for neon to -mfpu. (*)
  5c62b69... Automatic date update in version.in (*)
  aaed6f5... PR 21266, unstable qsort in bfd/elf64-ppc.c (*)
  84e8538... Automatic date update in version.in (*)
  bbdf9b6... Automatic date update in version.in (*)
  82e6616... DT_TEXTREL vs IFUNC (*)
  d9cb6cd... i386-gnu-nat: Use ptid from regcache instead of inferior_pt (*)
  1afaf9f... i386-darwin-nat: Use ptid from regcache instead of inferior (*)
  aac12e2... i386-bsd-nat: Use ptid from regcache instead of inferior_pt (*)
  bbe1eef... hppa-obsd-nat: Use ptid from regcache instead of inferior_p (*)
  1079902... hppa-nbsd-nat: Use ptid from regcache instead of inferior_p (*)
  00204cf... hppa-linux-nat: Use ptid from regcache instead of inferior_ (*)
  11a3371... corelow: Use ptid from regcache instead of inferior_ptid (*)
  317cd49... bsd-uthread: Use ptid from regcache instead of inferior_pti (*)
  9ac8a7c... arm-nbsd-nat: Use ptid from regcache instead of inferior_pt (*)
  4ac4bb6... arm-linux-nat.c: Use ptid from regcache instead of inferior (*)
  0dd6ae2... Fix displaying the value associated a GNU BUILD note that u (*)
  9bcbdca... PR remote/21188: Fix remote serial timeout (*)
  7503099... Fix PR gdb/19637: bound_registers.py: Add support for Pytho (*)
  4b94dd2... E6500 spr mnemonics (*)
  1d3fa25... ld sec64k test fix (*)
  b4fcfd3... Automatic date update in version.in (*)
  7942e96... Big-endian targets: Don't ignore offset into DW_OP_stack_va (*)
  6ebac3f... gdb.python/py-lazy-string (pointer): Really add new typedef (*)
  2cc36e2... Remove collision markers from earlier commit (*)
  a8be550... Add support for a GNU BUILD note type to record the enum si (*)
  ba14f37... Support CBNZ, CBZ, REV, REV16 and REVSH in arm process reco (*)
  b121eeb... Fix arm process record for some instructions (*)
  728a791... Add instruction_reader to arm process record (*)
  a7c0469... Copy lazy string handling fixes from Python. (*)
  34b4332... Fix various python lazy string bugs. (*)
  a3a5fec... New function tyscm_scm_to_type. (*)
  f8d9958... Lazy strings can be made from arrays too. (*)
  28f1c60... [Patch] Fix variable type glitch in inf-ptrace.c (*)
  ec3b243... Fix expect for gdb.cp/m-static.exp (*)
  2c52e2e... gas/arc: Limit special handling of t/nt flag to ARCv2 (*)
  e189bfe... Automatic date update in version.in (*)
  aab2c17... Mips: Fix TLS LDM GOT entry. (*)
  4d78db4... Mips: Omit empty objects for merging processor-specific dat (*)
  152c92b... Mips: Add support for resolving multiple consecutive reloca (*)
  1e1247c... Remove redundant checks for relocatable link (MIPS). (*)
  1728969... Add support for .MIPS.options section. (*)
  c384746... Improve relocation overflow errors on MIPS. (*)
  453018b... Correct the definition of _gp and _GLOBAL_OFFSET_TABLE_ sym (*)
  b416fe8... RISC-V: Fix assembler for c.li, c.andi and c.addiw (*)
  03b039a... RISC-V: Fix assembler for c.addi, rd can be x0 (*)
  9494d96... ld-checks: tweak overflow checks. (*)
  7cb7b94... Fix building riscv targets with gcc v6.3.1 (*)
  cc7e96c... Automatic date update in version.in (*)
  c987632... Add DW_OP_GNU_variable_value (*)
  87c336f... inf-ptrace: Do not stop memory transfers after a single wor (*)
  d47c3ff... RISC-V: Define DWARF2_USE_FIXED_ADVANCE_PC. (*)
  2aece2b... RISC-V: Fix DW_CFA_advance_loc relocation. (*)
  c1b465c... RISC-V: Fix the offset of CFA relocation. (*)
  2c232b8... RISC-V: Fix [dis]assembly of srai/srli (*)
  9216a6f... Use addr_mask to check VMA and LMA (*)
  cf81cf6... Make length_of_subexp static (*)
  c799a79... Try harder to find the correct symbol to associate with OPE (*)
  0efcde6... Add test name argument to get_valueof, get_integer_valueof  (*)
  a379284... linux-nat: Exploit /proc/<pid>/mem for writing (*)
  8a6200b... Restore test-cp-name-parser build (*)
  9c7272f... Automatic date update in version.in (*)
  f79ec20... alpha-bsd-nat: Use ptid from regcache instead of inferior_p (*)
  edb5fb0... aix-thread: Use ptid from regcache instead of inferior_ptid (*)
  5511968... aarc64-linux-nat: Use ptid from regcache instead of inferio (*)
  6a06fbb... amd64-linux-nat: Use ptid from regcache instead of inferior (*)
  c638687... Add asserts in target_fetch/store_registers (*)
  ddaaf0f... Introduce regcache_get_ptid (*)
  1a01e7c... gdbserver: Use pattern rule for the remaining %-ipa.o objec (*)
  36bc18a... gdbserver: Use pattern rule for IPA objects from common/ (*)
  a8ebe3d... gdbserver: Use pattern rule for IPA objects from gdbserver/ (*)
  50cfacb... gdbserver: Use pattern rule for objects from arch/ (*)
  c5a2242... gdbserver: Use pattern rule for objects from nat/ (*)
  6bda016... gdbserver: Use pattern rule for objects from common/ (*)
  2112296... gdbserver: Use pattern rule for objects from target/ (*)
  c362e62... gdbserver: Use pattern rule for regformats source file gene (*)
  7978d7c... testsuite: Disable backslash_in_multi_line_command_test for (*)
  896c0c1... testsuite: Introduce dejagnu_version (*)
  b9da89d... Merge libiberty: Initialize d_printing in all cplus_demangl (*)
  c793cac... Sync libiberty sources with GCC. (*)
  5ef2d51... objdump -dS: warn if source is more recent than object (*)
  f955ccc... Rename R_AARCH64_TLSDESC_LD64_LO12_NC to R_AARCH64_TLSDESC_ (*)
  d40e34d... ld: add an error in case of address space overflow. (*)
  4b5900d... PowerPC: incorrect library search order (*)
  b9d62f8... Automatic date update in version.in (*)
  d5bb792... Automatic date update in version.in (*)
  118aa6c... Add sysroot for ld -rpath search (*)
  316a124... Rewrite add_sysroot (*)
  4aef764... Remove bogus ATTRIBUTE_UNUSED (*)
  bb4287c... Don't use -rdynamic in ld test (*)
  e299b35... Don't run new orphan tests on i860 and i960 (*)
  a08f8d9... Automatic date update in version.in (*)
  5f4d108... c++/8218: Destructors w/arguments. (*)
  7b5d482... Make objdump's --wide command line option affect its output (*)
  8b1e5da... Document that the .2byte and .4byte directives warn about o (*)
  55e22ca... Add basic recognition of new EM_ ELF machine numbers. (*)
  f9f791a... Automatic date update in version.in (*)
  14ea2c1... ld: Track changes to default region LMA even for empty sect (*)
  77f5e65... ld: better handling of lma region for orphan sections (*)
  a87ded7... ld: Orphan section documentation (*)
  c65f0cb... Update binutils-lto-mixed.patch against master (*)
  a09dda3... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  86fa698... X86: Add pseudo prefixes to control encoding (*)
  f03265d... Fix compile time warnings about using possibly uninitialise (*)
  c1fe188... Use CpuCET on rdsspq (*)
  4b8b687... Update -maltivec and -mvsx options to only enable their old (*)
  c7341d5... Automatic date update in version.in (*)
  1de0520... Avoid unstable test message in gdb.base/step-over-exit.exp (*)
  1437d06... Add support for the new 'lnia' extended mnemonic. (*)
  c65d6b5... Fix PR18360 - internal error when using "interrupt -a" (*)
  15c2268... gdb: Fix ATTRIBUTE_NONNULL usage (*)
  1fc8748... Properly dump NT_GNU_PROPERTY_TYPE_0 (*)
  2e86a28... gdb.arch/amd64-entry-value-param*.exp: Make sure test messa (*)
  25dcbff... "gdb.arch/i386-pkru.exp: probe PKRU support" shouldn't FAIL (*)
  dc9366e... gdb: Fix a few unstable test names (*)
  6e5d74e... Fix PR 21218: GDB dumps core when escaping newline in multi (*)
  5cf7051... [gdb, doc] Add missing escape character '@' (*)
  9753a2f... Fix PR tui/21216: TUI line breaks regression (*)
  1a4dd9d... Move TUI completion tests to gdb.tui/completion.exp (*)
  7cbbff3... Move TUI testcases to new gdb/testsuite/gdb.tui/ directory (*)
  50dbe6e... Automatic date update in version.in (*)
  1672e0d... Share gdb/environ.[ch] with gdbserver (*)
  f7bb4e3... GDB: Fix some null pointer dereferences due to disassembler (*)
  e45ced6... Remove use of the no longer needed -mminimal-toc option. (*)
  5f6fd32... Fix "layout reg" crash (*)
  44959fa... Rename gdb.base/tui-layout.exp -> gdb.base/tui-disasm-long- (*)
  f8c4e71... Add describing intro comment to gdb.base/tui-layout.exp (*)
  6dbb839... Fix whitespace/typos in gdb/ChangeLog and gdb/testsuite/Cha (*)
  4a612d6... amd64-mpx: initialize BND register before performing inferi (*)
  ea86f53... Correct @section placement for makeinfo 4.13 (*)
  2b841ec... Document .Nbyte assembler directives (*)
  d933941... Fix ld uninitialized read of script ASSERT data structure (*)
  b1b0705... PowerPC64 abort due to dynamic relocs on hidden undefweak (*)
  bb98f85... Automatic date update in version.in (*)
  603555e... Add support for Intel CET instructions (*)
  1cccfb3... Update x86-64-mpx-inval-2 test for COFF (*)
  d274ecf... Remove const in xtensa-linux-nat.c:fetch_gregs (*)
  79a964d... Fix reading numeric values from GNU BUILD NOTEs. (*)
  73f07bf... Don't decode powerpc insns with invalid fields (*)
  ea0de82... dw2gencfi.c DWARF2_FDE_RELOC_SIZE (*)
  9e1a867... gas/dw2gencfi.c formatting (*)
  1f5345a... binutils: Fix warning on platforms that don't have asprintf (*)
  62e755d... Automatic date update in version.in (*)
  49fced1... gas: Emit name, comp_dir and producer strings in .debug_str (*)
  2e0ce1c... Align eh_frame FDEs according to their encoding (*)
  0792e0e... Automatic date update in version.in (*)
  921ea88... Automatic date update in version.in (*)
  8ecbe59... Fix umulh and smulh bugs.  Fix bugs in last week's sumov.s  (*)
  df97be5... Use range-based for loop in remote_add_target_side_commands (*)
  7d45f3d... Fetch lazy value before calling val_print (*)
  611a3ca... Make the linker fail if asked to create more than 1^16 ordi (*)
  d20928f... Fix thinko in previous changelog entry. (*)
  b565cf2... Automatic date update in version.in (*)
  05ed431... Support merging build notes in sections without the SHF_GNU (*)
  f98450c... Disable warning message about a program header with no asso (*)
  c871dad... Fix snafu parsing GNU_BUILD_NOTEs on ARM and AArch64 archit (*)
  b451e98... New debug_displays_assert (*)
  d4620be... Fix dwarf_section_display_enum regression by DWARF-5 (*)
  9875b36... GAS: Fix bogus "attempt to move .org backwards" relaxation  (*)
  673cff9... PowerPC VLE typo fix (*)
  199add0... Avoid gcc-7 warning killing ld testcases (*)
  ecd78df... Automatic date update in version.in (*)
  134e805... Sync libiberty sources with GCC mainline. (*)
  01cca2f... [AArch64] Document +rcpc weak release consistency extension (*)
  9ef920e... Add support for displaying and merging GNU_BUILD_NOTEs. (*)
  a7e8b06... Automatic date update in version.in (*)
  65b48a8... GDB: Add support for the new set/show disassembler-options  (*)
  2979a88... Revert "Add symbol called __nm_<name> to exported symbols c (*)
  3de43e7... PowerPC addpcis fix again (*)
  15c7c1d... x86: fix handling of 64-bit operand size VPCMPESTR{I,M} (*)
  4ef97a1... Nios2 dynobj handling fixes (*)
  7ba7165... PowerPC addpcis fix (*)
  afbf7e8... Don't make dynamic .data.rel.ro SEC_READONLY (*)
  0e39210... MIPS/BFD: Also handle `jalr $0, $25' with R_MIPS_JALR (*)
  279a558... Automatic date update in version.in (*)
  9dfd0db... Fix compilation with GCC 4.4.7. (*)
  d538e36... Remove struct keyword from range-based for loop (*)
  8362122... Use range-based for loop in remote_add_target_side_conditio (*)
  2123df0... Fix array out of bound access (*)
  fbf25df... Place read-only data in the text section on AVR Tiny target (*)
  47612ae... Add symbol called __nm_<name> to exported symbols created b (*)
  bd757ca... Fix segfault in microblaze linker when garbage collection r (*)
  8e36812... Remove MAX_REGISTER_SIZE from remote.c (*)
  a0aa382... Automatic date update in version.in (*)
  a49dd8d... DWARF-5: Initialization due to a false compiler warning (*)
  152e1e1... Add missing smov support, and clean up existing umov suppor (*)
  ac189e7... Add missing cnt (popcount) instruction support. (*)
  a8a0c93... Automatic date update in version.in (*)
  dd803a2... Testsuite fixes for hppa64-hpux (*)
  3b83ea3... Fixes for new dw5 test (*)
  034fed0... ARC naughtiness causing assertion fail at elf-strtab.c:302 (*)
  7cc1440... Automatic date update in version.in (*)
  582e12b... [AArch64] Additional SVE instructions (*)
  f482d30... [AArch64] Add a "compnum" feature (*)
  6b4bf3b... Fix snafu with booleans in readelf patch - lack of a progra (*)
  34e4bae... symtab.c: Small refactor (*)
  d0f744f... bfd: RISC-V: relax to gp in more cases. (*)
  742d14b... Add new counter-enable CSRs (*)
  b0e4b36... Remove use of MAX_REGISTER_SIZE (*)
  975c21a... Use I386_MAX_REGISTER_SIZE and M68K_MAX_REGISTER_SIZE (*)
  32ec889... Tidy up readelf's use of boolean values. (*)
  7bb1ad1... readelf: Correct version flag formatting (*)
  5235cd6... readelf: Make version section index sum unsigned (*)
  c9f02c3... readelf: Fix incorrect "Version definition past end of sect (*)
  7db2c58... x86: also correctly support TEST opcode aliases (*)
  1b3cee5... gas: test cases for the architecture level aware SPARC ASI  (*)
  e091dff... Automatic date update in version.in (*)
  5d58c73... MIPS/BFD: Remove duplicate NewABI JALR relocation handling (*)
  c1556ec... MIPS/BFD: Discard ineligible JALR relocations right away (*)
  a567769... DWARF-5: testcase (*)
  2f6cd59... DWARF-5: DW_FORM_data16 (*)
  7a7e106... DWARF-5: Macros (*)
  bc0a77d... DWARF-5: call sites (*)
  7714557... DWARF-5 basic functionality (*)
  ef0b5f1... DWARF attrs: add delimiter (*)
  17cd494... PR21166: Validate rdrand/rdseed support separately in gdb.r (*)
  359ca07... dwarf.c: Use more dwarf_vma (*)
  64025b4... S/390: Add support for new cpu architecture - arch12. (*)
  14bc53a... Use gdb::function_view in iterate_over_symtabs & co (*)
  07e253a... Introduce gdb::function_view (*)
  1e9d41d... opcodes,gas: associate SPARC ASIs with an architecture leve (*)
  8eaf532... Fix usage of inferior_ptid in two thread_alive implementati (*)
  60abdbe... Add support to readelf for displaying gnu attributes in arc (*)
  3876875... Use xfree rather than delete for varobj_iter (*)
  0a8beab... Use delete instead of xfree for varobj_item (*)
  946416f... gas: slightly relax .startof.()/.sizeof.() testcase (*)
  53c4d62... x86: drop stray VEX opcode 82 references (*)
  4c5b8d1... x86: extend 64-bit invalid MPX insn forms testcase (*)
  5499c7c... Correct VLE 16D and SDAREL relocations (*)
  d826042... Automatic date update in version.in (*)
  0502a2b... Display user op byte (*)
  233f82c... readelf: Restore a lost new line in version information (*)
  902e9fc... PR ld/20828: Move symbol version processing ahead of GC sym (*)
  5ff6a06... GAS: Consistently fix labels at the `.end' pseudo-op (*)
  758d96d... Align .gnu_debuglink sections on a 4-byte boundary. (*)
  25890fc... Fix gas/all/err-sizeof.s for cris*-*-* (*)
  5ffbd92... Skip ARM vcmp-noprefix-imm test on non-ELF targets (*)
  b0c5349... gas: require an operand to .startof.()/.sizeof.() (*)
  11648de... aarch64: actually copy first operand in convert_bfc_to_bfm( (*)
  e025ae6... Automatic date update in version.in (*)
  58fdfd2... Fix a regression by: Code cleanup: Split dwarf2_ranges_read (*)
  6528b6e... PowerPC ld segfault on script discarding dynamic sections (*)
  1b90b13... Default initialize enum flags to 0 (*)
  2039d74... [ppc64] Add POWER8/ISA 2.07 atomic sequences single-steppin (*)
  a51d7ec... Fix test names starting with uppercase in gdb.arch/ppc64-at (*)
  4651978... Fix compile time warning message in linker testsuite test. (*)
  7814882... Fix recent compiler warnings. (*)
  24f1a75... Alpha DT_RELA (*)
  262062f... Automatic date update in version.in (*)
  0ae60b6... DWARF-5: NEWS (*)
  0224619... DWARF-5: DW_FORM_data16 (*)
  0af92d6... DWARF-5: Macros (*)
  216f72a... DWARF-5: call sites (*)
  4398809... DWARF-5 basic functionality (*)
  22d2f3a... Code cleanup: Refactor abbrev_table_read_table cycle (*)
  5f46c5a... Code cleanup: Split dwarf2_ranges_read to a callback (*)
  78d4d2c... Code cleanup: Split create_debug_types_hash_table (*)
  43a444f... Fix another memory access error in readelf when parsing a c (*)
  c48cfed... PE ld -r script fixes (*)
  1b076f2... Fix thinko on last commit (*)
  9c7e3b0... Sync ZLIB with FSF GCC sources, bringing in version 1.2.11. (*)
  0db8980... PR gdb/16188: Verify PTRACE_TRACEME succeeded (*)
  246b912... fix PR number (*)
  6448778... Alpha executables segfault when linked with -z,now (*)
  74dc903... Move .stack before debug sections (*)
  ece5dcc... Downgrade powerpc register error to warning (*)
  99de87c... Automatic date update in version.in (*)
  2e7e5e2... Fix for aarch64 sim sxtl/uxtl insns, plus another fix for a (*)
  ceae703... Automatic date update in version.in (*)
  99d8956... Automatic date update in version.in (*)
  37f9ec6... GAS: Add ECOFF `.aent' pseudo-op support (*)
  67cecab... Fix documentation of the linker's --pop-state command line  (*)
  b814a36... Fix illegal memory accesses in readelf when parsing a corru (*)
  1b4b80b... Add support to readelf for displaying GNU section types. (*)
  6438d1b... Fix potential illegal memory access in ZLIB because of an e (*)
  51547df... Add support for Intel PKRU register to GDB and GDBserver. (*)
  a1fa17e... Add target description for avx-avx512. (*)
  2204942... Rename target descriptions to reflect actual content of des (*)
  ff6527b... Change xstate_bv handling to use 8 bytes of data. (*)
  1f85ef5... Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch. (*)
  262a40a... Relax dwarf2 expected error match (*)
  002a5d4... Relax dwarf3 expected error match (*)
  4bc26c6... bfd: Rename Chunk and S3Forced (*)
  7ec22e0... bfd: Rename bsd_write_armap and coff_write_armap (*)
  8c8402c... bfd: Rename warn_deprecated (*)
  c7c3d11... bfd: Rename real_{ftell, fseek, fopen} (*)
  4265548... bfd: Rename read_{signed,unsigned}_leb128, safe_read_leb128 (*)
  2f0d09c... Automatic date update in version.in (*)
  b4897cb... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  3239a42... bfd: Improve lookup of file / line information for errors (*)
  90ed9b8... bfd/dwarf: Improve use of previously loaded dwarf informati (*)
  2bd7f87... ld: Add additional checking for warnings/errors in testsuit (*)
  37d7d56... ld testsuite function pointer comparisons vs. hppa (*)
  a8c75b7... hppa -z relro again (*)
  247d6c4... PR21132, hppa-linux pie support doesn't work (*)
  a48cda7... Fix more powerpc testsuite source errors (*)
  9057120... [Patch] Add BFD_LINKER_CREATED to BFD_FLAGS_SAVED (*)
  99e8a4f... PR gdb/21164: maint print {symbols,msymbols,psymbols} witho (*)
  eb721b5... Automatic date update in version.in (*)
  2a56840... i386: Allow "lea foo@GOT, %reg" in PIC (*)
  a5def14... Add a test for R_386_GOT32/R_386_GOT32X IFUNC reloc error (*)
  f98d33b... Add SFENCE.VMA instruction (*)
  773fb66... [AArch64] Add SVE system registers (*)
  7a2114e... [AArch64] Fix +sve documentation (*)
  ebf0b03... LD: vfinfo: Make clever formatters consistent WRT function  (*)
  174d0a7... PowerPC/BFD: Convert `%P: %H:' to `%H:' in error messages (*)
  befe814... LD: vfinfo: Remove static NULL initializers (*)
  b58a8c0... Fix illegal upper case gdb cmd in chained-calls.exp (*)
  cc07cda... [ARC] Fix assembler relaxation. (*)
  7c723ee... Move Eric Christopher to Past Maintainers list. (*)
  defe6f5... Use Windows style directory separators when running sysroot (*)
  f902956... Don't give an internal error for unsupported relocations. (*)
  e242ece... Add support for R_MIPS_HIGHER/HIGHEST, R_MICROMIPS_HIGHER/H (*)
  66a5a74... Distinguish some of the registers different on ARC700 and H (*)
  4aebb63... Improved support for --icf=safe when used with -pie. (*)
  4e746bb... Add missing ChangeLog entries. (*)
  1869079... Automatic date update in version.in (*)
  742e3a7... Add self to aarch64 maintainers.  Fix mla instruction. (*)
  bf25e9a... Fix bit/bif instructions. (*)
  e8f42b5... Add ldn/stn single support, fix ldnr support. (*)
  3f77c76... PR python/13598 - add before_prompt event (*)
  075beec... Big-endian targets: Fix implptrpiece.exp (*)
  bc303e5... Fix invalid memory access displayiing contents of sections. (*)
  92134dc... Fix an illegal memory access parsing corrupt STABD debug in (*)
  a2dea0b... Fix handling of corrupt STABS enum type strings. (*)
  b32e566... Fix illegal memory access problems with readelf processing  (*)
  7e0de60... PowerPC register expression checks (*)
  606a935... Fix powerpc testsuite source errors (*)
  e278ae0... Update ppc64_elf_gc_mark_dynamic_ref (*)
  0a0faf9... Add documentation for new record Python bindings. (*)
  714aa61... python: Add tests for record Python bindings (*)
  75c0bdf... python: Implement btrace Python bindings for record history (*)
  4726b2d... python: Create Python bindings for record history. (*)
  b158a20... Add method to query current recording method to target_ops. (*)
  45b196c... Add record_start and record_stop functions. (*)
  fdd2bd9... btrace: Use binary search to find instruction. (*)
  508352a... btrace: Export btrace_decode_error function. (*)
  69090ce... btrace: Count gaps as one instruction explicitly. (*)
  4c2c7ac... btrace: preserve call stack on function switch (*)
  61697d0... Automatic date update in version.in (*)
  10ddfe6... Don't use "_gp" on RISC-V, use "_global_pointer$" instead (*)
  d11135f... Fix invalid memory access in the BFD library's DWARF parser (*)
  3c6452a... [ARM] Allow immediate without prefix in unified syntax for  (*)
  c122140... Fix illegal memory access bug in nm when run on a corrupt b (*)
  1835f74... Extend previous patch to cover uncompress_section_contents  (*)
  f055032... Fix invalid read of section contents whilst processing a co (*)
  ebdf1eb... Fix invalid memory access attempting to read the compressio (*)
  4aeb00a... Fix check for buffer overflow when processing version infor (*)
  0ee3043... Fix access violation when reporting sections that could not (*)
  f84ce13... Fix read-after-free error in readelf when processing multip (*)
  5cf30eb... Improve load command's help text (*)
  bf5f525... Fix gdb.linespec/explicit.exp (*)
  13a6618... Make gdb.arch/i386-biarch-core.exp more robust (*)
  03f7786... Fix readelf writing to illegal addresses whilst processing  (*)
  13a590c... sim: use ARRAY_SIZE instead of ad-hoc sizeof calculations (*)
  b1499fc... Automatic date update in version.in (*)
  61351dd... Automatic date update in version.in (*)
  54064fd... Fix use after free in cgen instruction lookup (*)
  09ec4d3... Automatic date update in version.in (*)
  26a0691... Do not send queries on secondary UIs (*)
  b761ca9... new-ui.exp: Use proc_with_prefix (*)
  0b145e3... Remove unused variable in rust-lang.c (*)
  b964bee... Fix Python test to use lowercase command (*)
  2d8365c... Remove unnecessary local variables (*)
  2bb8f23... Remove some gotos from Python (*)
  1bdfaf4... Change one more spot to use gdbpy_ref (*)
  88b6fae... Use gdbpy_ref to simplify some logic (*)
  7780f18... Turn gdbpy_ref into a template (*)
  d4b0bb1... Remove some ui_out-related cleanups from Python (*)
  f67f945... gdb/MAINTAINERS: Update my e-mail address (*)
  18da0c5... PR gdb/21122: Fix documentation mistakes for breakpoint com (*)
  7239c37... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  dce75bf... POWER9 add scv/rfscv instruction support (*)
  53f7e8e... Automatic date update in version.in (*)
  62c1453... Remove return in function returning void (*)
  ff6fa24... Fix NULL pointer dereference (*)
  9d5c5dd... Automatic date update in version.in (*)
  d748871... ld/arc: Change default linker emulation for nps400 (*)
  a474bd8... Eliminate interp::quiet_p (*)
  604c457... Command abbreviation in define (*)
  3d7b173... Command names: make them case sensitive (*)
  cc16242... Fix segfault when .plt section does not exist (*)
  b2680bc... Automatic date update in version.in (*)
  1291063... gdb: fix ARI warning in sparc-tdep.c (*)
  3d044c0... bfd: Fix objdump --dynamic-reloc for SPARC 64-bit to show s (*)
  8a78ba5... Automatic date update in version.in (*)
  65f90e8... [ld, testsuite] Don't print to stdout for "readelf -w" to a (*)
  6ec7c1a... [ARC] Provide an interface to decode ARC instructions. (*)
  20b477a... [BZ 21005] Add support for Intel 64 rdrand and rdseed recor (*)
  3f7b46f... gdb: provide and use sparc{32,64} target description XML fi (*)
  de32a80... Automatic date update in version.in (*)
  5d3debc... Automatic date update in version.in (*)
  f0fd41c... Fix ptype of single-member Rust enums (*)
  e25dae2... Automatic date update in version.in (*)
  d6f9b0f... C++-fy struct interp/cli_interp/tui_interp/mi_interp (*)
  e666304... [GOLD] PowerPC64 TOC indirect to TOC relative segfault (*)
  1b7e3d2... Fix compile time warning messages when compiling binutils w (*)
  65c40c9... Use bool in Rust code (*)
  b50f188... Reindent rust-lang.c (*)
  03c85b1... Use std::string in Rust code (*)
  73dceb9... Automatic date update in version.in (*)
  9b6da50... Fix "maintenance selftest" printing stray instructions (*)
  b1ace6b... Fix "maintenance selftest" printing stray instructions (*)
  ec4cb20... struct mi_interp: Remove unused fields (*)
  e17b0c3... MIPS/BFD: Respect the ELF gABI dynamic symbol table sort re (*)
  55f8b9d... MIPS/BFD: Use `bfd_size_type' for dynamic symbol table indi (*)
  0f8c4b6... MIPS/BFD: Streamline hash table references in `mips_elf_sor (*)
  17a80fa... MIPS/BFD: Fix assertion in `mips_elf_sort_hash_table' (*)
  fa93e3d... CRIS/LD/testsuite: tls-err-20x.d: Fix a typo, s/n/\n/ (*)
  2e9af2d... LD/testsuite: ld-lib.exp: Fix a typo, s/regexp/regex/ (*)
  8f56d4f... BFD: Wrap overlong error handler call line in `elf_gc_sweep (*)
  7320133... MIPS/GAS/doc: Include MIPS options in the man page (*)
  616268b... Move "tee" building down to interpreter::set_logging_proc (*)
  5be5dbf... Fix "-gdb-set logging redirect on" crash (*)
  c99cc44... Tweak pretty_print_disassembler's intro comment (*)
  8b172ce... Reuse buffers across gdb_pretty_print_insn calls (*)
  d7e7473... Eliminate make_cleanup_ui_file_delete / make ui_file a clas (*)
  187808b... Add back gdb_pretty_print_insn (*)
  fd121c5... [ld, testsuite] Restrict dl1*main and dl6*main tests on pla (*)
  7a8eb31... Remove unused file_string parameter in gdb_disassembly (*)
  981d5de... Automatic date update in version.in (*)
  c0c237f... MIPS/LD/testsuite: Correct relocation addends in VxWorks te (*)
  5139cfd... MIPS/LD/testsuite: Fix a `tls-multi-got-1-1.s' build failur (*)
  7346ef5... Big-endian targets: Don't ignore offset into DW_OP_implicit (*)
  787f002... testsuite: diagnose a running GDB in gdb_skip_xml_tests (*)
  68777c2... btrace, testsuite: fix extended-remote fail (*)
  0a1c7e2... btrace, testsuite: fix extended-remote non-stop test (*)
  b5ac99b... btrace: add unsupported/untested messages when skipping tes (*)
  cd4007e... btrace: allow recording to be started (and stopped) for run (*)
  cf77c34... thread: add can_access_registers_ptid (*)
  ce79037... [ld, testsuite] Append $board_cflags in one more place in l (*)
  067869b... Fix failing print-memory-usage-1 on Windows (*)
  ed35cc4... Don't allow mov-to-lea optimization for __ehdr_start. (*)
  15a00b1... PR ld/20828: LD/testsuite: Correct indentation (*)
  be85ce7... [ob/pushed] Use gdb_insn_length instead of creating dummy s (*)
  a8128fa... Automatic date update in version.in (*)
  29b0b25... gdb/mi/mi-interp.c: Fix typos (*)
  289b5b2... gdb/stack.c: Remove unused mem_fileopen (*)
  b47413b... gdb/varobj.c: Fix leak (*)
  60adb36... gdb: make_scoped_restore and types convertible to T (*)
  1273da0... Fix buffer overflows in ld when printing translated strings (*)
  07fbc63... Automatic date update in version.in (*)
  8b10b0b... MIPS: Add options to control branch ISA checks (*)
  7795a8f... MIPS/GAS/testsuite: Convert branch local list tests to dump (*)
  17e9c56... Automatic date update in version.in (*)
  ce6366f... Fix another typo in the last ChangeLog entry. (*)
  8dcdd12... Fix typo in ChangeLog (*)
  c1d4523... PR binutils/19935 (*)
  bf382b3... Fix long-standing buglet and fallout from now-default initf (*)
  5203065... Automatic date update in version.in (*)
  6a849af... Automatic date update in version.in (*)
  4471a46... [ld, testsuite] XFAIL "pr20995-2", "Build pr20995-2.so" on  (*)
  2735833... amd64-linux: expose system register FS_BASE and GS_BASE for (*)
  8884e97... amd64: simplify addition of new general registers. (*)
  7005d26... amd64: remove additional comparison for validity of a regis (*)
  239b6d1... gdbserver-amd64: add HAVE_STRUCT_USER_REGS_STRUCT_(GS|FS)_B (*)
  387dd77... Update description of the -plugin option used by the linker (*)
  8ec5cf6... Fix disassembling of TIC6X parallel instructions where the  (*)
  0348d4b... Add Serbian translation for the LD directory. (*)
  4bd2e1b... Fix PTRACE_GETREGSET failure for compat inferiors on arm64 (*)
  22d9a0d... Fix unused-but-set warning in elf32-cris.c:elf_cris_finish_ (*)
  1fbd05e... Fix PR ld/20995 for cris-linux (*)
  b51e1e9... Add missing gdb/testsuite/ChangeLog entry. (*)
  03bc0a2... Automatic date update in version.in (*)
  72ca041... Change method of loading .py files in Python tests (*)
  e3ceef3... 2017-01-26  Luis Machado  <lgustavo@codesourcery.com> (*)
  e309aa6... Harden tests that deal with memory regions (*)
  7cf1de6... Big-endian hosts: Fix "set architecture cris" (*)
  515aff2... Missing ChangeLog and files for commit 8b00c176168dc7b0d78d (*)
  8b00c17... Refactor gdb.reverse/insn-reverse.c (*)
  874a1c8... Fix crash when loading a core with unexpected register sect (*)
  d8b49cf... Don't throw exception in dis_asm_memory_error (*)
  658ca58... Disassembly unit test: memory error (*)
  79843d4... Disassembly unit test: disassemble one instruction (*)
  8cafda3... Call print_insn_mep in mep_gdb_print_insn (*)
  e47ad6c... Refactor disassembly code (*)
  80d7587... New function null_stream (*)
  8e87a59... Automatic date update in version.in (*)
  f13a9a0... Use dwarf assembler in gdb.dwarf2/implptr-64bit.exp (*)
  5ac9524... Handle DW_OP_GNU_implicit_pointer in dwarf assembler (*)
  a1aa5e8... Clarify that include/opcode/ files are part of GNU opcodes (*)
  82f2527... Fix include/ChangeLog entry format (*)
  4a7324e... Remove all RTEMS a.out targets (*)
  c75b4eb... Move RTEMS target configuration to ELF sections (*)
  de514cf... gas: Default to ELF for RTEMS targets (*)
  3e97ba8... gas: Use ARM EABI for RTEMS (*)
  850d84f... Remove all RTEMS COFF targets (*)
  3fe6a8e... Automatic date update in version.in (*)
  373832b... Fix typo in ExitedEvent doc (*)
  666c6af... RISC-V gas: Remove em=linux from configure.tgt (*)
  b531344... PR ld/20828: Reorder the symbol sweep stage of section GC (*)
  1a792e1... Solaris2/LD: Fix anonymous version script acceptance bug (*)
  fae1616... [PATCH] Add NT_ARM_SVE (*)
  077c11e... [ld, testsuite] Always assemble those intermeidate .o files (*)
  f0158f4... PowerPC dynamic relocations (*)
  741bcbe... Add -e to test scripts where necessary. (*)
  fbf32f6... Add support for cmtst. (*)
  04bc2a2... Make the sh_info field of .rel.plt point to .plt (MIPS). (*)
  c1f59f8... Fix MIPS GOT when global symbols are forced to local visibi (*)
  c780b47... Automatic date update in version.in (*)
  60685cd... Minor simplification of (Python) find_thread_object (*)
  2d0ca82... Fix AArch64 relocation handling in ILP32 mode. (*)
  c49f9d0... Fix typo in MAINTAINERS file (*)
  71d01c6... Remove Mei Ligang as SCORE maintainer (*)
  cf581a9... Add Bernd Schmidt to Past Maintainers list (*)
  93df731... Restore ability to build zlib in a srcdir == builddir confi (*)
  33eaf5d... Fix spelling mistakes and typos in the GAS sources. (*)
  715e99a...        * MAINTAINERS (BFIN): Remove myself as Blackfin main (*)
  8069955... Updated Irish translation for ld and Swedish translation fo (*)
  05a1325... Sync top-level make and configure files with FSF GCC mainli (*)
  1e5f45b... PR ld/20828: Work around RISC-V failures (*)
  fda46c4... PR ld/20828: Remove leading `_' from symbols used in tests (*)
  adcbdc6... PR ld/20828: Relax symbol ordering in tests (*)
  9966f7e... [ld, testsuite] Honor cflags when GCC used as linker driver (*)
  dcd310a... Automatic date update in version.in (*)
  54f1917... Automatic date update in version.in (*)
  eb1cdb6... Document the GDB 7.12.1 release in gdb/ChangeLog (*)
  b1ce656... Fix Py_DECREF being executed without holding the GIL (*)
  fec93fb... Add missing PR reference in ChangeLog (*)
  6f8b040... Fix python-interactive with Python 3.6 (*)
  6dd1c25... Automatic date update in version.in (*)
  23e8293... Fix uppercase test names in gdb.python/py-xmethods.exp (*)
  d334ae2... Make gdb.python/python.exp more robust (*)
  78cbbba... Add command to erase all flash memory regions (*)
  7f78481... [AArch64] Optimize .gnu.hash table size for executable (*)
  add3afb... Updated Irish translation for the opcodes library. (*)
  9d46ce3... Fix potential array overrun in x86 assembler. (*)
  a24df30... Fix problem in aarch64 gold sources uncovered by Coverty -  (*)
  de1ab01... Sync zlib sources with GCC, upgrading to 1.2.10. (*)
  1737c64... objdump: Better objdump section headers in wide mode (*)
  2132fe8... fix gdbserver build in nat/linux-ptrace.c on arm-android (*)
  8b5a555... Automatic date update in version.in (*)
  530d10c... Automatic date update in version.in (*)
  6984613... PR ld/20995: MIPS: Set GAS flags correctly for tests (*)
  057ff62... Remove binutils-pr21040.patch (*)
  28165cc... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  81ff47b... PR ld/20828: Fix linker script symbols wrongly forced local (*)
  9e00995... PR gas/20649: MIPS: Fix GOT16/LO16 reloc pairing with comda (*)
  c13a63b... [ARM] Fix the decoding of indexed element VCMLA instruction (*)
  d1dff22... Allocate data in cached_reg_t (*)
  9890e43... Use register_size () instead of MAX_REGISTER_SIZE (*)
  2cedb9e... Add support for processing lex source files with flex v 2.6 (*)
  1ec4b9f... Catch gas exit-via-signal (*)
  319b82e... Skip linker tests for unique symbols in shared libraries if (*)
  6bb2170... Stop the (optional) dialong control data from being aligned (*)
  01fabda... Updated Swedish translation for GAS. (*)
  05b3d79... Fixes for addv and xtn2 instructions. (*)
  11741d5... Automatic date update in version.in (*)
  640d6bf... RISC-V/bfd: Hook elf_backend_object_p to set the mach type. (*)
  f964e51... Automatic date update in version.in (*)
  7a36499... gdb: sparc: split real and pseudo registers. (*)
  6aa1df2... Updated Swedish translations for GAS and LD subdirectories. (*)
  17a3046... Automatic date update in version.in (*)
  e707b49... Automatic date update in version.in (*)
  545e07d... Automatic date update in version.in (*)
  857e829... Gold: Fix build with GCC 4.2 (*)
  6f8976b... Don't print too much if remote_debug is on (*)
  e4241ac... 'make check-headers' for c++ header (*)
  9608051... Return -1 on memory error in print_insn_m68k (*)
  f622ea9... Remove magic numbers in m68k-dis.c:print_insn_arg (*)
  404c843... Automatic date update in version.in (*)
  88c7c98... Update binutils-pr21040.patch against master (*)
  8f5933e... Remove binutils-pr21039.patch (*)
  b8aae86... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  aca5eec... Fix incorrect byte counts. (*)
  8361ed4... x86-64: Also generate unwind info for .plt.bnd (*)
  2425a30... Add support for locating separate debug info files via the  (*)
  620214f... Enable Intel AVX512_VPOPCNTDQ instructions (*)
  3015c06... Update comment in remote_can_async_p (*)
  fde1b17... Update comment in linux_nat_can_async_p (*)
  ca1ca08... Remove dead serial_interface_lookup calls (*)
  1181551... Prevent internal assembler errors if a stabs creation funct (*)
  d95014a... Return -1 on memory error in print_insn_msp430 (*)
  eed0b5b... Automatic date update in version.in (*)
  6624f3a... Fix more compile errors with GCC 4.2. (*)
  92a933c... Fix PRs gold/21039,21040 (*)
  976e204... Fix compile errors with GCC 4.2. (*)
  1fa5f68... Fix test cases to work for i386. (*)
  b5033c5... Update binutils-lto-mixed.patch against master (*)
  cd4c8fb... Remove binutils-sharable.patch (*)
  7a8f607... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  9e65917... x86-64: Correct unwind info for the BND PLT (*)
  4ad2da7... Fix typo in lookup_cmd_1 comment (*)
  f2e2d2f... Add support for x86/64 redox target. (*)
  c8b23b3... Add constructor and destructor to demangle_parse_info (*)
  1ac3211... Remove cleanups from execute_gdb_command (*)
  0cf0822... Use scoped_value_mark in dwarf2_evaluate_loc_desc_full (*)
  eb11506... Add scoped_value_mark (*)
  906768f... Remove make_cleanup_discard_psymtabs (*)
  bef155c... Introduce and use gdb::unlinker (*)
  192b62c... Use class to manage BFD reference counts (*)
  50315b2... Add gdb_ref_ptr.h (*)
  fc4007c... Remove make_cleanup_htab_delete (*)
  8dbcee6... Remove make_cleanup_py_decref and make_cleanup_py_xdecref (*)
  13df46c... Use gdbpy_ref rather than make_cleanup_py_decref (*)
  06fc9bf... Use gdbpy_ref in enumerate_args (*)
  830a493... Use gdbpy_ref in py-utils.c (*)
  4586d54... Use gdbpy_ref in pyuw_object_attribute_to_pointer (*)
  59876f8... Use gdbpy_ref in python.c (*)
  97d8348... Use gdbpy_ref in py-param.c (*)
  9205649... Use gdbpy_ref in py-inferior.c (*)
  74c49d4... Use gdbpy_ref in py_print_frame (*)
  16361ff... Use gdbpy_ref in bpfinishpy_out_of_scope (*)
  905f2cc... Use gdbpy_ref in py-cmd.c (*)
  6408143... Use gdbpy_ref in gdbpy_breakpoint_cond_says_stop (*)
  59e9e83... Use gdbpy_ref in archpy_disassemble (*)
  9de10f6... Change python_run_simple_file to use gdbpy_ref (*)
  2bd5759... Use gdbpy_ref in py-prettyprint.c (*)
  3b4e0e0... Use gdbpy_ref in py_print_frame (*)
  17a2271... Remove ensure_python_env (*)
  68cdc55... Use gdbpy_enter_varobj in varobj_value_get_print_value (*)
  1eba638... Change type of encoding argument to gdbpy_extract_lazy_stri (*)
  bde7b3e... Use gdbpy_enter_varobj in more of varobj.c (*)
  a7785f8... Use gdbpy_enter in python.c (*)
  2865bfc... Use gdbpy_enter in py-param.c (*)
  0e9dcc7... Use gdbpy_enter in fnpy_call (*)
  12a5ced... Use gdbpy_enter in cmdpy_function (*)
  788f258... Use gdbpy_enter_varobj in py-varobj.c (*)
  6cd67be... Introduce gdbpy_enter_varobj and use it (*)
  14b122b... Use gdbpy_enter in py-xmethod.c (*)
  bf1ca3b... Use gdbpy_ref in invoke_match_method (*)
  572a552... Use gdbpy_enter in gdbpy_get_matching_xmethod_workers (*)
  396a78b... Use gdbpy_enter in python_interactive_command (*)
  a88b13c... Use gdbpy_enter in gdbpy_before_prompt_hook (*)
  e9f0c36... Use gdbpy_enter in py-prettyprint.c (*)
  6349f45... Introduce htab_up and use gdbpy_enter in py-framefilter.c (*)
  c0171de... Use gdbpy_enter in py-unwind.c (*)
  f18e226... Use gdbpy_enter in py-xmethods.c (*)
  c57af3f... Use gdbpy_enter in py-type.c (*)
  60e600e... Use gdbpy_enter in python.c (*)
  bf7da5b... Use gdbpy_enter in py-progspace.c (*)
  2d38bce... Use gdbpy_enter in py-objfile.c (*)
  07bc732... Use gdbpy_enter in py-inferior.c (*)
  6e7c365... Use gdbpy_enter in py-finishbreakpoint.c (*)
  6ba0cd4... Use gdbpy_enter in py-cmd.c (*)
  de2dc87... Use gdbpy_enter in py-breakpoint.c (*)
  4ecee2c... Introduce gdbpy_enter (*)
  37fce74... Use gdbpy_ref in gdbpy_lookup_symbol (*)
  53a0cca... Use gdbpy_ref in py-value.c (*)
  ff3724f... Use gdbpy_ref in python.c (*)
  0700aea... Use gdbpy_ref in py-prettyprint.c (*)
  1bb44c9... Use gdbpy_ref in call_doc_function (*)
  87ce03f... Use gdbpy_ref in py-linetable.c (*)
  ee0a3fb... Use gdbpy_ref in py-framefilter.c (*)
  bf2a52f... Use gdbpy_ref in gdbpy_breakpoints (*)
  f59fe7f... Use gdbpy_ref in gdbpy_inferiors (*)
  80bd970... Use gdbpy_ref in py-function.c (*)
  d1b3de2... Use gdbpy_ref in gdbpy_string_to_argv (*)
  3bb4338... Use gdbpy_ref in py-type.c (*)
  abf5651... Change event code to use gdbpy_ref (*)
  a68ff33... Introduce py-ref.h (*)
  0b67023... Automatic date update in version.in (*)
  52b232b... i386/x32: Align .eh_frame section to 4 bytes (*)
  59a1e29... X32: Place .plt.got section after .plt section (*)
  fff53da... i386/x86-64: Add unwind info for .plt.got section (*)
  5edad15... [GOLD] PowerPC64 TOC indirect to TOC relative code editing (*)
  f129e49... Don't use elf_i386_eh_frame_plt directly (*)
  e923722... i386: Pass -Wl,-R,tmpdir/-Wl --as-needed to $CC (*)
  7becfd0... Change return type of ui_out redirect to void (*)
  9846151... Refactor Sized_relobj_file::do_relocate_sections. (*)
  df29465... Update help of the "frame" command (*)
  1a94eb2... Fix sleb128-8 regressions. (*)
  b972a0d... Fix compile time warning about pointer comparison. (*)
  07e8e62... Updated Swedish translations for GAS and LD (*)
  07ccf83... [ARC] Add new linker emulation for nps (*)
  74def31... This patch ensure same output for sleb128 with large number (*)
  f7fd19e... [GOLD] Fix tests for powerpc64 (*)
  f159cdb... [GOLD] Add --secure-plt option for ppc32 (*)
  eaa38cf... Automatic date update in version.in (*)
  a4fb598... Fix problems with the implementation of the uzp1 and uzp2 i (*)
  694b382... Fix inferior memory reading in GDBServer for arm/aarch32 (*)
  a5ec5e3... RISC-V/GAS: Support more relocs against constant addresses (*)
  e294484... RISC-V/GAS: Improve handling of invalid relocs (*)
  6ec11ab... Remove some custom sections from RISC-V's default linker sc (*)
  cd6581d... Speed up objdump when displaying disassembly mixed with lin (*)
  20b52c8... Add Swedish translation for GAS. (*)
  98f0296... Improve objdump's behaviour when it encounters a corrupt bi (*)
  0115611... RISC-V/GAS: Correct branch relaxation for weak symbols. (*)
  3254d32... [GOLD] Set sh_info of .rela.plt for powerpc (*)
  4d74727... .rela.dyn comment fix and add missing ChangeLog entry (*)
  a631dd7... Automatic date update in version.in (*)
  f5e6296... [D] Fix crash when debug expression enabled. (*)
  2efa215... Automatic date update in version.in (*)
  431e5de... S/390: Issue error for overflowing relocs. (*)
  0e123f6... [GOLD] powerpc.cc tidies (*)
  a6eb589... Automatic date update in version.in (*)
  0e2d6fa... Include gdb_proc_service.h in x86-linux-nat.h (*)
  44d6d3f... Include serial.h in ser-base.h. (*)
  656731f... Include ppc-tdep.h in ppc-linux-tdep.h (*)
  1ca8f92... Include signal.h in nat/amd64-linux-siginfo.h (*)
  bc3008c... Include break-common.h in nat/aarch64-linux-hw-point.h (*)
  66c80d0... Include mi-cmds.h in mi-parse.h (*)
  051d2dd... Include target.h in inf-loop.h (*)
  8018d34... Include doublest.h and expression.h in dfp.h (*)
  c0b8369... Include ax.h in ax-gdb.h (*)
  ad5cba2... Update gdb_ptrace.h in HFILES_NO_SRCDIR (*)
  fd13a84... Retire Paul Brook as an ARM maintainer. (*)
  ac10a93... Automatic date update in version.in (*)
  1c33cd7... Fix ARI warning (*)
  0ae60c3... Prevent an abort in the FRV disassembler if the target bfd  (*)
  c0386d4... Five fixes, for fcsel, fcvtz, fminnm, mls, and non-widening (*)
  6ed0191... Automatic date update in version.in (*)
  c988ac1... Use correct OSABI constant for FreeBSD/mips binaries. (*)
  b268007... Add native target for FreeBSD/mips. (*)
  387360d... Add FreeBSD/mips architecture. (*)
  b055631... Use noyywrap option in lex files. (*)
  8cf50cb... [DWARF] Sync GCC dwarf.def change on AArch64 (*)
  7c2a23b... update-copyright.py for binutils (*)
  e495212... Sync libiberty from gcc (*)
  0913ae5... picflag.m4 high bit set in comment (*)
  d74d488... [AArch64] Add separate feature flag for weaker release cons (*)
  10ab38d... When configuring GAS treat as sparcv9 target the same way a (*)
  2aaaf25... Fix an internal error on writing pieced value (*)
  c27e4ed... Automatic date update in version.in (*)
  4752365... Check for shared lib support before running ld tests with - (*)
  ae4fda6... bfd: alpha: Fix crash caused by double free with --no-keep- (*)
  cc917fd... Add support for the Q extension to the RISCV ISA. (*)
  de1010f... Fix generation of GOT table when only GOT-relative relocs a (*)
  b52d3cf... Add fall through comment. (*)
  f90c58d... Add new Serbian translation for the opcodes library. (*)
  09fe266... Fix compile time warning about using a possibly uninitialis (*)
  fb9b4b7... Sync dwarf headers with master versions in gcc repository. (*)
  a44d0bd... Check ld_compile return status (*)
  ddb2c6f... Fix PRU GAS for 32-bit hosts (*)
  27c3ce2... Fix PRU LD for --enable-targets=all config option (*)
  8cfc7cf... Add -rpath-link to various tests (*)
  4ce6ca2... Don't run C tests in ld testsuite unless we have a C compil (*)
  052d038... Automatic date update in version.in (*)
  f47b0d4... Regen opcodes cgen files (*)
  d981640... Run more ld tests when not native (*)
  64859e1... Support -z relro on metag (*)
  f565727... Support -z relro on hppa (*)
  595e0a4... Don't make symbols dynamic other than undef weak (*)
  7bd9df3... Set SHF_INFO_LINK for .PARISC.unwind (*)
  5b86074... PR20989, sparc GOT sequence optimisation (*)
  2571583... Update year range in copyright notice of all files. (*)
  5c1ad6b... ChangeLog rotation (*)
  cb868fd... Automatic date update in version.in (*)
  61baf72... update copyright year range in GDB files (*)
  c113e7f... Rotate GDB main ChangeLog for 2017 (*)
  66abb82... Automatic date update in version.in (*)
  ae4c0df... Fix riscv breakage (*)
  b7aba15... Create sdynrelro for elfn32 mips too (*)
  0220170... PRU LD Port (*)
  93f11b1... PRU GAS Port (*)
  2b100bb... PRU Binutils port (*)
  1114684... PRU Opcode Port (*)
  889294f... PRU BFD support (*)
  4244d58... Add PRU ELF ID to elfcpp (*)
  517c416... ld testsuite: Sanitize output from ld (*)
  3f66c01... Import config.sub (*)
  d6deafd... Automatic date update in version.in (*)
  fa62ef0... Automatic date update in version.in (*)
  0a7e101... Return 'int' rather than 'unsigned short' in avrdis_opcode (*)
  e81830c... link_hash_copy_indirect and symbol flags (*)
  ffdc5f4... Automatic date update in version.in (*)
  913e12d... Fix comment typo (*)
  265d97f... Add explicit instantiations for build_compressed_section_ma (*)
  6142c99... Fix last ChangeLog entry. (*)
  0fa6f7c... Check bfd support for bfd_mips_elf_get_abiflags in mips mak (*)
  9acc85a... Use dynrelro for symbols in relro sections too (*)
  b733bcb... Place copy relocations in .dynbss when target is read-only. (*)
  7ff3426... Automatic date update in version.in (*)
  28985b6... Automatic date update in version.in (*)
  5474d94... dynrelro section for read-only dynamic symbols copied into  (*)
  9d19e4f... Put .dynbss and .rel.bss shortcuts in main elf hash table (*)
  09a1b0e... Correct .dynbss in script (*)
  3bdb506... Automatic date update in version.in (*)
  4e008fd... Automatic date update in version.in (*)
  65ac99a... Automatic date update in version.in (*)
  4d4f40e... MIPS/BFD: Remove EI_ABIVERSION 5 allocation for PT_GNU_STAC (*)
  5284e47... MIPS16: Add ASMACRO instruction support (*)
  bdd1528... MIPS16: Simplify extended operand handling (*)
  1da43ac... MIPS16/GAS: Clean up invalid unextended operand handling (*)
  d8722d7... MIPS16: Reassign `0' and `4' operand codes (*)
  0674ee5... MIPS16: Handle non-extensible instructions correctly (*)
  b2805ed... MIPS16: Remove "extended" BREAK/SDBBP handling (*)
  3fb4970... MIPS16/GAS: Fix forced size suffixes with argumentless inst (*)
  645c455... MIPS16/GAS: Disallow EXTEND delay-slot scheduling (*)
  9e76c21... opcodes: Use autoconf to check for `bfd_mips_elf_get_abifla (*)
  5b362f0... Fix more cases of improper test names (*)
  7dc5302... Fix incorrect reference to source files (*)
  d81c735... Bump gold version number to 1.14. (*)
  6eda96b... Call target specific add_symbols function (*)
  b9fc257... Remove "collect" forms of generic linker add symbols functi (*)
  865422f... hppa-linux-gnu-ranlib: libcpp.a: File format not recognized (*)
  6096dda... Updated email address. (*)
  4eabf34... [msp430] Sync tc-msp430.c with devices.csv (*)
  99b5dbf... Bump version to 2.28.51 (*)
  9703a4e... Add marker in NEWS files (*)
  e0e7a9d... Regenerate pot files. (*)
  7a0c0a1... Add -z bndplt support (for Intel MPX). (*)
  c4d5a76... Fix placement of forced local symbols in the dynamic symbol (*)
  40d7d93... Fix problem where version script causes predefined hidden s (*)
  ce0db13... infrun.c (set_step_over_info): Add comment. (*)
  34c41c6... New syntax for mt print symbols,msymbols,psymbols. (*)
  112e870... Class-ify ui_out (*)
  ab55d1a... Don't call "error" in sysroot-prefix.exp (*)
  eb39084... Make linker-created symbols relocatable where appropriate. (*)
  514b852... Automatic date update in version.in (*)
  87903ea... Fix bugs with float compare and Inf operands. (*)
  f0d19df... Don't make_bfd_vms_lib archive functions NULL (*)
  b2c6190... ChangeLog formatting fixes (*)
  e5b737d... Support aligning text section from odd addresses (*)
  ad5bc88... Fix a const-safety issue on GCC-4.9 and above (*)
  58a6d3c... Avoid creating symbol table entries for registers (*)
  9ef7906... Do not add padding if an output section is marked as ignore (*)
  3145b99... bfd: aarch64: fix word and arrdess size declaration in ilp3 (*)
  4e25adb... Remove high bit set characters (*)
  9962fe2... Document character escape sequences (*)
  7e66a1a... Automatic date update in version.in (*)
  992f1dd... gdb: Constify solib_find (*)
  2693a26... Fix longjmp across readline w/ --enable-sjlj-exceptions too (*)
  ff71884... Set emacs default mode for the GDB directory to C++ (*)
  11dd08e... MIPS16/opcodes: Respect ISA and ASE in disassembly (*)
  853faf5... MIPS/GAS/testsuite: Add RESTORE instruction to `mips16e' te (*)
  c60aaac... MIPS/GAS/testsuite: Extend MIPS16 testing over multiple ISA (*)
  6b43820... MIPS/GAS/testsuite: Implement individual MIPS16 ISA testing (*)
  23c2125... MIPS/GAS/testsuite: Fix trailing padding in `loc-swap.s' (*)
  7fd5392... MIPS16: Switch to 32-bit opcode table interpretation (*)
  4ebce1a... MIPS16/opcodes: Correct 64-bit macros' ISA membership (*)
  c97dda7... MIPS16/opcodes: Correct I64/SDRASP opcode's ISA membership (*)
  95f6ac8... MIPS/GAS/testsuite: Correct NewABI test selection (*)
  78d9f18... Update testsuite Makefile with missing dependencies. (*)
  092e019... Fix read-beyond-end-of-buffer error in script parsing. (*)
  3e67a37... Correct assembler mnemonic for RISC-V aqrl AMOs (*)
  04386d9... Fix disassembly of RISC-V CSR instructions under -Mno-alias (*)
  755c529... Add canonical JALR for RISC-V (*)
  d115ab8... Don't define RISC-V .p2align (*)
  2922d21... Re-work RISC-V gas flags: now we just support -mabi and -ma (*)
  1d61f79... Fix an integer overflow in RISC-V relocation handling (*)
  45f7642... Rework RISC-V relocations (*)
  1d65abb... Formatting changes for RISC-V (*)
  96b0927... Improve RISC-V LD error message (*)
  dd1d944... Add opcodes RISC-V dependencies (*)
  412ffd8... Fix problem where linker does not place .note sections acco (*)
  ec5882f... Automatic date update in version.in (*)
  ee7ef21... Fix an internal error in the constructor of Target_arm. (*)
  89ede9f... Fix forced allocation of common (-d) during -r links. (*)
  16e6932... Clean up gdb.gdb/selftest.exp (*)
  b25e998... bfd/elf32-arm.c: Rename 'popcount' to 'elf32_arm_popcount' (*)
  91068ec... MIPS/opcodes: Only examine ELF file structures if SYMTAB_AV (*)
  4df995c... MIPS/opcodes: Only call `bfd_mips_elf_get_abiflags' if BFD6 (*)
  602a818... Automatic date update in version.in (*)
  53eab0d... Automatic date update in version.in (*)
  ddb9ad3... Automatic date update in version.in (*)
  97f00e3... Darwin: Fix gdb compilation. (*)
  db7b55f... Fix compile time warning building arm-dis.c (*)
  2218550... Implement and document --gc-keep-exported (*)
  4c4067e... Automatic date update in version.in (*)
  a961cdd... Linking non-ELF file broken by PR20908 fix (*)
  02aa377... Automatic date update in version.in (*)
  cadf97c... MAINTAINERS: Add myself as a MIPS maintainer (*)
  5e7fc73... MIPS/opcodes: Also set disassembler's ASE flags from ELF st (*)
  8184783... MIPS/opcodes: Reorder ELF file header flag handling in disa (*)
  eefc336... MIPS16/GAS: Fix assertion failures with relocations on 16-b (*)
  353abf7... MIPS16: Fix SP-relative SD instruction annotation (*)
  63e014f... MIPS16/opcodes: Fix and clarify MIPS16e commentary (*)
  c1fc2d7... ld: aarch64: fix TLS relaxation where TCB_SIZE is used (*)
  7acd51d... Revert "bfd: aarch64: fix word and arrdess size declaration (*)
  98fa61f... Revert "ld: aarch64: fix TLS relaxation where TCB_SIZE is u (*)
  a02c351... bfd: aarch64: fix word and arrdess size declaration in ilp3 (*)
  6650f7b... ld: aarch64: fix TLS relaxation where TCB_SIZE is used (*)
  fc8e010... Automatic date update in version.in (*)
  591be3e... Add --orphan-handling option. (*)
  03fb64f... Do not use linker script to place static relocation section (*)
  a6a5175... [Binutils][AARCH64]Remove Cn register for coprocessor CRn,  (*)
  aa78536... PE linker script improvements. (*)
  963201c... Fix aarch64 sim bug with adds64, and add testcases for last (*)
  9282b95... [AArch64] Recognize R_AARCH64_P32_ABS32 as 32-bit relocatio (*)
  971f1d2... [AArch64] Make LD testcases support ILP32 mode (*)
  1bec0c8... [AArch64] Make GAS testcases support ILP32 mode (*)
  1336427... Add a 'Past Maintainers' section to the MAINTAINERS file.   (*)
  bfbf34d... When using linker scripts, place linker-generated sections  (*)
  d81222d... Fix edge cases in orphan section placement. (*)
  75c6202... Automatic date update in version.in (*)
  22b05d3... Don't add PHDR for objcopy/strip or ld script specifying PH (*)
  6392030... Don't fudge p_vaddr when PHDR in segment (*)
  ea0ffd5... [GOLD] Allow for larger alignment in script_test_15 (*)
  d32a48b... [GOLD] Adjust testcase for PowerPC64 (*)
  88acc2e... Port c++/78252 from GCC (*)
  d36cab8... Remove assert on exec_bfd in cris_delayed_get_disassembler (*)
  029e9d5... Handle memory error in print_insn_rx (*)
  3a0b8f7... Handle memory error in print_insn_rl78_common (*)
  cc90de4... Fix earlier ChangeLog entry to give Igor credit, add testca (*)
  5d9f66c... Fix problems with bss handling in linker scripts. (*)
  e83563a... Regenerate Makefile.in to get rid of annoying diffs caused  (*)
  98fdf25... Automatic date update in version.in (*)
  ec6f610... Automatic date update in version.in (*)
  4783ebb... Automatic date update in version.in (*)
  64c1118... MIPS16: Remove unused `>' operand code (*)
  f17ecb4... MIPS16/opcodes: Use hexadecimal interpretation for the `e'  (*)
  55af478... MIPS16/opcodes: Reformat raw EXTEND and undecoded output (*)
  1736a7b... gdb: Remove support for obsolete OSABIs and a.out (*)
  f94f411... Add ChangeLog entries (*)
  a28aa6e... Create tdep->rx_psw_type and tdep->rx_fpsw_type lazily (*)
  1a31b34... Create tdep->rl78_psw_type lazily (*)
  f1b5dee... Add test that exercises all bfd architecture, osabi, endian (*)
  fc2f703... Use code cache in aarch64 prologue analyzer (*)
  198cd59... Use code cache in arm prologue analyzer (*)
  364ca42... Compile gdb.perf/skip-prologue.c with and without debug inf (*)
  c752a4c... Hurd: Adjust to changes to "push pruning old threads down t (*)
  53488a6... Avoid PATH_MAX usage (*)
  cfccf14... Automatic date update in version.in (*)
  39f66f3... MIPS16/opcodes: Fix off-by-one indentation in `print_mips16 (*)
  860b03a... MIPS16/opcodes: Fix PC-relative operation delay-slot adjust (*)
  731f7c4... ARC/GAS: Correct a `spaces' global shadowing error (*)
  bf355b6... ARM/GAS: Correct an `index' global shadowing error (*)
  329d01f... AArch64/opcodes: Correct another `index' global shadowing e (*)
  3a2488d... Fix crash when disassembling invalid range on powerpc vle (*)
  1d26252... Always use a hex prefix when displaying the alignment of pr (*)
  980d0cd... [GOLD] Don't assert in powerpc stub_table (*)
  69a2af1... [GOLD] fix typo in --stub-group-multi help (*)
  da17fe9... sync binutils config/ with gcc (*)
  8e2a4f1... PR20932, Internal error during record link assignment (*)
  c3187fa... Hurd: In the CLI, use parse_thread_id instead of global_thr (*)
  21389b7... Hurd, C++: Mach/Hurd headers and MIG stubs are not yet fit  (*)
  0947023... Hurd, C++: kern_return_t vs. error_t (*)
  785102a... Hurd, C++: Avoid "const char *" to "char *" casts (*)
  a9617a4... Hurd, C++: Avoid GNU C nested functions (*)
  e9e431d... Hurd, C++: Explicitly cast "void *" (*)
  e2f9914... Automatic date update in version.in (*)
  14f6890... Hurd: Adjust to "Per-inferior/Inferior-qualified thread IDs (*)
  4b07811... MIPS/include: opcode/mips.h: Correct INSN_CHIP_MASK (*)
  5f5c6e0... MIPS/opcodes: Correct an `interaction' comment typo (*)
  343fa69... MIPS16/opcodes: Update opcode table comment (*)
  6725647... MIPS/opcodes: Reformat `-M' disassembler option's help text (*)
  b8760d2... MIPS/include: opcode/mips.h: Add a comment for ASE_DSPR3 (*)
  be0fcbe... MIPS/GAS: Use local `isa' consistently in `is_opcode_valid' (*)
  c2596ca... Fix internal error in the linker by replacing a call to abo (*)
  1c3a5fb... [GOLD] PowerPC --stub-group-multi (*)
  a5018ae... [GOLD] powerpc64le-linux fails to link large Linux kernel (*)
  dc60b26... [GOLD] PowerPC stub debug (*)
  86a6934... Automatic date update in version.in (*)
  5590c2b... Remove unnecessary inferior lookup in inferior_command (*)
  4f3ca05... Fix seg-fault in strip when copying a corrupt binary. (*)
  8b929e4... Fix seg-fault running strip on a corrupt binary. (*)
  92744f0... Fix seg-fault running strip on a corrupt binary. (*)
  5eecd86... fix typo (*)
  005304a... Stop the assembler from running out of memory when asked to (*)
  7c2ba67... Assert on lval_register (*)
  5e359a6... Fix mmix assembler test to account for changes in the error (*)
  39eeab2... PowerPC64 toc optimisation for power9 (*)
  fc72aff... argv.c (expandargv): Check for directories passed as @-file (*)
  e99f7af... Automatic date update in version.in (*)
  efe4db3... Fix gold/testsuite/file_in_many_sections_test.sh file mode (*)
  82d9379... Fix problem where absolute local symbols are omitted when o (*)
  f49547a... Fix fault in assembler when passed a bogus input file. (*)
  14c1428... Fix ICE in assembler when passed a bogus input file. (*)
  fa6631b... Fix seg-fault in the binutils utilities when reading a corr (*)
  406bd12... Fix seg-fault in linker when passed a bogus input script. (*)
  9b5481c... binutils: add myself to MAINTAINERS (*)
  52c4f3b... Fix abort when running tools on a bogus binary. (*)
  e2996cc... Fix seg-fault running strip on a corrupt binary. (*)
  c28eeff... [ARM] Add ARMv8.3 VCMLA and VCADD instructions (*)
  0691188... [ARC] Don't check extAuxRegister second argument for sign. (*)
  49e8a72... [ARM] Add ARMv8.3 VJCVT instruction (*)
  a12fd8e... [ARM] Add ARMv8.3 command line option and feature flag (*)
  597e138... bfd,ld: Continue after partially-successful relaxed call re (*)
  a55c987... Fix seg-fault attempting to strip a corrupt binary. (*)
  88add6d... Fix seg-fault running strip on a corrupt binary. (*)
  daae68f... Fix seg-fault in linker parsing a corrupt input file. (*)
  39d4daf... Fix assertion failure in linker triggered by corrupt input  (*)
  e9a1e93... fix typo (*)
  df9236f... Automatic date update in version.in (*)
  668650d... Fix bugs with tbnz/tbz instructions. (*)
  4132f1c... Automatic date update in version.in (*)
  8c5b4e5... PowerPC64 dot-symbol compatibility bugfixes (*)
  4e95fbc... PowerPC64 dot-sym testsuite fixes (*)
  ca16c5b... ld-elfvers don't fail on non-empty results (*)
  f522190... Correct cdtest g++ version test (*)
  b8ac284... Tidy ppc64_elf_hide_symbol (*)
  35dc6e0... PowerPC64 add_symbol_adjust (*)
  8400d40... Indirect and warning symbols (*)
  474436e... ppc64_elf_copy_indirect_symbol versioned_hidden fix (*)
  4193bc5... try_copy_symbol_type node_class check (*)
  10c5620... Automatic date update in version.in (*)
  bef721e... Introduce enum_flag type for ui_out flags (*)
  107c2d6... Remove unneeded pattern matching in gdb.base/maint.exp (*)
  df3ee9c... Support an "unlimited" number of user-defined arguments (*)
  ec83536... Test user-defined gdb commands and arguments stack (*)
  01770bb... Fix PR 20559 - "eval" command and $arg0...$arg9/$argc subst (*)
  7ed7e43... Fix typo in changelog entry (*)
  d7f399a... Fix seg-fault in linker when passed a corrupt binary input  (*)
  008459e... Revert change to gdb.cp/ovldbreak.exp (*)
  531336e... Fix seg-fault in the linker when examining a corrupt binary (*)
  0c1b455... PR symtab/16264 - support DW_AT_main_subprogram (*)
  f5ac6ab... Fix seg-fault in the linker when attempting to print out a  (*)
  a9752fd... [ARC] Sync cpu names with the ones accepted by GCC. (*)
  e5a873b... Rename some trace functions (*)
  fe6fae0... Fix seg-fault in linker when applying relocs to a corrupt b (*)
  233c8c2... Remove mi_out_data::suppress_output (*)
  68c638d... Fix seg-fault linking corrupt binary. (*)
  08698b7... Always pass a valid section header offset to elf_parse_note (*)
  d5451cd... Add support for Fushia OS. (*)
  432ec08... [AArch64] Recognize STR instruction in prologue (*)
  4d9a900... Add unit test to aarch64 prologue analyzer (*)
  018572b... Don't handle timeout inside gdb_test_multiple (*)
  397b8d2... Fix problem where orphan section is treated as a KEEP secti (*)
  be2884c... Fix problem causing internal error when -z max-page-size is (*)
  376c3ec... Implement --push-state/--pop-state. (*)
  6a67d49... Automatic date update in version.in (*)
  36d18bc... Class-ify ui_out_table (*)
  77a179e... ui_out_table: Replace boolean flag with enum (*)
  33b2fac... Simplify ui-out level code (*)
  909c0aa... Class-ify ui_out_level (*)
  37e20dd... Class-ify ui_out_hdr (*)
  c520961... Use std::string for ui_out_hdr's text fields (*)
  78afa7f... Replace hand-made linked list of ui_out_hdr by vector and i (*)
  0f12543... Fix internal error when relaxing branches to STT_SECTION sy (*)
  84c93cd... Fixup testcases outputting own name as a test name and stan (*)
  fb9feb3... Fix test names starting with uppercase using multi-line gdb (*)
  cd2ddb6... Fix test names starting with uppercase using multi-line gdb (*)
  bb95117... Fix test names starting with uppercase using multi-line gdb (*)
  de97fdd... Fix test names starting with uppercase using gdb_test_multi (*)
  9f058c1... Fix test names starting with uppercase using gdb_test_no_ou (*)
  cdc7edd... Fix test names starting with uppercase using gdb_test on a  (*)
  bc6c7af... Fix test names starting with uppercase output by basic func (*)
  88256e7... Fix typo in ChangeLog entry. (*)
  88ddd4a... Fix bug with FP stur instructions. (*)
  69ace22... Fix seg fault attempting to unget an EOF character. (*)
  4cbd840... Fix seg-fault printing assembler statistics when the output (*)
  4ee1d7e... Fix generation of IDATA[6] for PE files. (*)
  cec4b2e... Fix calculation of synthetic symbol sizes (ppc64) (*)
  5cd1d8b... Fix accesses to the GOT for AARCH64 operating in 32-bit mod (*)
  40a0bfd... Fix handling of MIPS16 HI16 relocs. (*)
  e82ab85... Fix a seg-fault disassembling a corrupt binary. (*)
  6d6ad65... Fix ICE in assembler when passed a corrupt input file. (*)
  a37a280... Fix abort in x86 disassembler. (*)
  50455f1... Fix seg-fault running addr2line on a corrupt binary. (*)
  95a2328... Use std::string in ui_out_table (*)
  b9b118c... Use std::vector for cli_ui_out_data::streams (*)
  4a9d4ea... Use std::vector for mi_ui_out_data::streams (*)
  56df308... Use std::vector for ui_out::levels (*)
  5486f16... Use new/delete instead of malloc/free-based functions (*)
  5084b13... Automatic date update in version.in (*)
  ad02e4f... Makefiles: Disable suffix rules and implicit rules (*)
  25f327e... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  7913a64... [ARM] Read memory as unsigned integer (*)
  e9a38e0... Revert accidental elf.c change (*)
  502d895... Stop readelf from complaining about out of order PT_LOAD se (*)
  ea3d7d1... PR20886, looping in ppc64_elf_size_stubs (*)
  f0e9390... Automatic date update in version.in (*)
  abe7c33... [ARC] Add checking for LP_COUNT reg usage, improve error re (*)
  ee881e5... [ARC] Fix disassembler option. (*)
  0a0640e... Fix debug output in record_full_open_1 (*)
  aec6cd3... Automatic date update in version.in (*)
  268ebe9... arc/ld: Remove duplicate TEMPLATE_NAME from emulparam file (*)
  157686a... Update linker tests after partial reversion of PR 20815 pat (*)
  cd58485... Partially revert patch for PR 20815 - do not sort the PT_LO (*)
  abfcb41... X86: Ignore REX_B bit for 32-bit XOP instructions (*)
  1a08844... Restrict checking value.lval on using address (*)
  7dc5457... Adjust Value.location for lval_register (*)
  ee40d8d... Move computed value's frame id to piece_closure (*)
  4deb8f7... Properly hide hidden versioned symbol in executable (*)
  9e27646... Automatic date update in version.in (*)
  ae9a198... Fix powerpc vle test for sorting of program headers (*)
  cb55e96... Fix spelling in comments in .y files (ld) (*)
  a582903... Fix spelling in comments in .y files (binutils) (*)
  b81c93c... Fix spelling in comments in .sc files (ld) (*)
  8f02b5a... Fix spelling in comments in .l files (gas) (*)
  839b0b3... Fix spelling in comments in .em files (ld) (*)
  6223ef9... Fix spelling in comments in .def files (gold) (*)
  d14a6a9... Fix spelling in comments in Expect scripts (ld) (*)
  c29ae97... Fix spelling in comments in Expect scripts (gas) (*)
  15a086b... Fix spelling in comments in Assembler files (ld) (*)
  a40d031... Fix spelling in comments in Assembler files (gas) (*)
  370dfff... Fix spelling in comments in C source files (ld) (*)
  576a6e4... Fix spelling in comments in C source files (gprof) (*)
  5c3024d... Fix spelling in comments in C source files (gold) (*)
  2b0f376... Fix spelling in comments in C source files (gas) (*)
  222c2bf... Fix spelling in comments in C source files (binutils) (*)
  7fb048a... Remove verbosity from ui_out_message and friends (*)
  d2c0eef... Constify wrap_here/wrap_hint code path (*)
  82bbe65... Fix return value of uo_redirect (*)
  e4975d6... Remove ui_out_destroy (*)
  0abe66b... Rename ui_out_data to mi_ui_out_data (*)
  7f904c2... Remove unused functions and declarations (*)
  0584673... Automatic date update in version.in (*)
  59b2125... Remove stale comments (*)
  cf64518... Automatic date update in version.in (*)
  8227ffa... Remove check requiring void argument to functions with no p (*)
  50cc587... Fix typo in Makefile (*)
  8ce9efb... Fix typos in comment (*)
  17e5269... Fix typo in comment (*)
  65d1cff... gas: fix CBCOND diagnostics for invalid immediate operands. (*)
  ec8f768... Prevent problems with section alignment by not shrinking th (*)
  0e722c9... Automatic date update in version.in (*)
  036e657... Do not use std::move when assigning an anonymous object to  (*)
  bbe910e... Add noexcept to custom non-throwing new operators. (*)
  793c128... Optimize byte-aligned copies in copy_bitwise() (*)
  ad06383... Add unit test for copy_bitwise (*)
  22347e5... Fix copy_bitwise() (*)
  da5b30d... Fix PR12616 - gdb does not implement DW_AT_data_bit_offset (*)
  1dcb972... [ARM] Bind defined symbol locally in PIE (*)
  51750ac... Fix snafu parsing $ORIGIN. (*)
  0b14696... RISC-V/bfd: Fix bitsize of R_RISCV_ADD8. (*)
  8bc2611... Automatic date update in version.in (*)
  dcb07cf... gdb: Use C++11 std::chrono (*)
  7836e40... Adjust linker test for arm-vxworks in wake of patch for PR  (*)
  8629c02... Minor formatting fixups in Makefiles (*)
  03b62bb... Normalize names of some source files (*)
  b593ecc... Makefiles: Flatten and sort file lists (*)
  1a9ccd7... Fix the linker so that it will not silently generate ELF bi (*)
  128e85e... gas: run the hwcaps-bump tests with 64-bit sparc objects on (*)
  073808e... RISCV/GAS Add missing break in md_apply_fix. (*)
  64f5233... elf_backend_dtrel_excludes_plt (*)
  ce558b8... Delete duplicate target short-cuts to dynamic sections (*)
  3ae0486... Regen POTFILES.in (*)
  9986ba0... gdbserver: Use warning for warnings (*)
  4eefa7b... gdbserver: Use debug_printf for debug output (*)
  400b2f2... Automatic date update in version.in (*)
  358a971... Print the default for all binary options; clean up --help o (*)
  ca3cbe5... Fix spelling mistakes in comments in shell scripts (*)
  96fe456... Fix spelling mistakes in comments in configure scripts (*)
  f5ea389... Change gdbarch software_single_step frame_info to regcache (*)
  b226016... gdbarch software_single_step frame_info to regcache: spu (*)
  fb090cf... gdbarch software_single_step frame_info to regcache: tic6x (*)
  41e26ad... gdbarch software_single_step frame_info to regcache: rs6000 (*)
  ad76968... gdbarch software_single_step frame_info to regcache: s390 (*)
  cd76b52... gdbarch software_single_step frame_info to regcache: sparc (*)
  3889f49... gdbarch software_single_step frame_info to regcache: nios2 (*)
  a8f3418... gdbarch software_single_step frame_info to regcache: moxie (*)
  7113a19... gdbarch software_single_step frame_info to regcache: mips (*)
  5b6e2ee... gdbarch software_single_step frame_info to regcache: cris (*)
  7ab2d08... gdbarch software_single_step frame_info to regcache: alpha (*)
  0187a92... gdbarch software_single_step frame_info to regcache: aarch6 (*)
  9fd15b2... New regcache_raw_get_signed (*)
  6884417... gas,opcodes: fix hardware capabilities bumping in the sparc (*)
  c4b943d... [ARC] Fix printing 'b' mnemonics. (*)
  08dc996... PR20744, Incorrect PowerPC VLE relocs (*)
  95f0d0d... Use input_bfd in relocate_section (*)
  c5acd81... Use VALUE_NEXT_FRAME_ID in value_from_component (*)
  3063bab... Automatic date update in version.in (*)
  c13b08d... Fix bug where -u option with empty archive results in inter (*)
  d0de53e... Add missing POSTCOMPILE step to mi/ file generation rules (*)
  b32e175... Add --build-id=uuid support for MinGW32. (*)
  b6ddcd8... BFD/DWARF2: Correct an `index' global shadowing error (*)
  3fff986... Create subobject value in pretty printer (*)
  5689c94... [GAS][ARM][PR20827]Fix gas error for two register form inst (*)
  2d7f250... Use ACX_PROG_CMP_IGNORE_INITIAL in gas (*)
  081f6b9... Automatic date update in version.in (*)
  b5fbed8... Automatic date update in version.in (*)
  cc188e5... ARI: Add detection of printf_vma and sprintf_vma (*)
  0fc9967... Revert "bfd: allow negative offsets to _GLOBAL_OFFSET_TABLE (*)
  ef78776... Makefile: fix typo (*)
  3d6d882... Automatic date update in version.in (*)
  8504e09... gdb/doc: Add missing comma after xref (*)
  bb050a6... [ARC] Fix and extend features of .cpu directive. (*)
  cc133f9... bfd: fix negative GOT offsets for non-local references on s (*)
  a85db0a... cxxfilt: Recognize rust_demangling. (*)
  535aade... libiberty: Add Rust symbol demangling. (*)
  ddc5804... libiberty: demangler crash with missing :? or fold expressi (*)
  1706852... libiberty: Fix some demangler crashes caused by reading pas (*)
  59d2699... libiberty: Add -Wshadow=local to warning flags (if supporte (*)
  a4ddf8d... Implement P0012R1, Make exception specifications part of th (*)
  4d17eae... libiberty: Fix -Wimplicit-fallthrough warnings. (*)
  ef0f5d7... Implement P0136R1, Rewording inheriting constructors. (*)
  aba19b6... libiberty: Fix memory leak in ada_demangle when symbol cann (*)
  9d2cdc8... PR c++/71696 testcase. (*)
  c2c4ff8... [AArch64] Add ARMv8.3 FCMLA and FCADD instructions (*)
  2861767... [AArch64] Add ARMv8.3 weaker release consistency load instr (*)
  ccfc90a... [AArch64] Add ARMv8.3 javascript floating-point conversion  (*)
  3f06e55... [AArch64] Add ARMv8.3 combined pointer authentication load  (*)
  6ec49e7... Help diagnose problems with the metag target when mixing st (*)
  cd42d70... Automatic date update in version.in (*)
  470dd0a... Makefile: Replace explicit subdir rules with pattern rules (*)
  5443506... Makefile: Replace old suffix rules with pattern rules (*)
  3b16525... Remove code that checks for GNU/non-GNU make (*)
  f2ff9ac... Document new hard requirement on GNU make (*)
  66be918... gdb/c-exp.y: fprintf -> parser_fprintf (*)
  7c2683c... gdb/ctf.c: Get rid of mkdir redefinition (*)
  200069c... gdb/ada-lang.c: one malloc -> unique_ptr<[]> (*)
  19f1935... gdb/tracepoint.c: Don't use printf_vma (*)
  fa98319... Automatic date update in version.in (*)
  256ae5d... Stash frame id of current frame before stashing frame id fo (*)
  33cc7d3... Make gdb.PendingFrame.read_register handle "user" registers (*)
  41b56fe... Change meaning of VALUE_FRAME_ID; rename to VALUE_NEXT_FRAM (*)
  df433d3... Distinguish sentinel frame from null frame. (*)
  1a2f3d7... Extend test gdb.python/py-recurse-unwind.exp (*)
  4cb771f... Fix PR20789 - relaxation with negative valued diff relocs (*)
  ff7ba33... Automatic date update in version.in (*)
  4c62b19... gdb: update gnulib to pull in C++ namespace support fixes (*)
  5cc8c73... Delete gdb::unique_ptr/gdb::move (*)
  b22e99f... gdb::{unique_ptr,move} -> std::{unique_ptr,move} (*)
  b7f38fd... bitfield-parent-optimized-out: Fix struct definition (*)
  93ca393... Fix SPARC relocations generated for the .eh_frame section. (*)
  32ce946... Automatic date update in version.in (*)
  9d734ef... Also check GOT PLT for R_X86_64_PLTOFF64 (*)
  35fd2dd... Generate correct hint value for IDATA6. (*)
  db58b37... btrace: read entire aux buffer (*)
  80bb340...   lexsup.c (parse_args): Add break at end of default case. (*)
  63f2433... Fix typo "Faal through" should be "Fall through". (*)
  29df152... Automatic date update in version.in (*)
  b612f41... add missing ChangeLog entry (*)
  3f47df7... Assemble 'bad' moxie instruction (*)
  75d6c74... Automatic date update in version.in (*)
  8001f11... Remove some cleanups from the rust code (*)
  d93f4d9... Use std::string in rust_get_disr_info (*)
  6cb2202... sim: mips: add PR info to ChangeLog (*)
  8a19d84... Automatic date update in version.in (*)
  7d15592... Don't handle unavailable/optimized-out in spu_software_sing (*)
  1f8db34... 	Identify verilog dump tests as such. (*)
  86b8008... Accept L and LL suffixes to integer constants. (*)
  2f7d995... Extend information displayed about objdump's output of dyna (*)
  df2c87b... Add the ability for nm to display symbol version informatio (*)
  74f5402... [AArch64] Add ARMv8.3 combined pointer authentication branc (*)
  c84364e... [AArch64] Add ARMv8.3 PACGA instruction (*)
  a2cfc83... [AArch64] Add ARMv8.3 single source PAC instructions (*)
  b0bfa7b... [AArch64] Add ARMv8.3 pointer authentication key registers (*)
  8787d80... [AArch64] Add ARMv8.3 instructions which are in the NOP spa (*)
  3d731f6... [AArch64] Increase max_num_aliases in aarch64-gen (*)
  1924ff7... [AArch64] Add ARMv8.3 command line option and feature flag (*)
  fa09f4e... [AArch64] Fix feature dependencies for +simd and +crypto (*)
  7103ad7... Accept hidden COFF symbols, but treat them as if they were  (*)
  668e167... Remove apply_val_pretty_printer parameter valaddr (*)
  65408fa... Remove parameter valaddr from c print functions (*)
  91588b3... sim: mips: fix dv-tx3904cpu build error (*)
  e04659e... sim: mips: fix builds for r3900 cpus due to missing check_u (*)
  a6bbedb... Automatic date update in version.in (*)
  a18590c... Provide a more helpful error message when the BFD library i (*)
  ac33b73... [AArch64] Bind defined symbol locally in PIE (*)
  9b97201... Use unique_xmalloc_ptr in Python code (*)
  4e9d215... Automatic date update in version.in (*)
  60227d6... X86: Remove the .s suffix from EVEX vpextrw (*)
  1032d6e... Update opcodes/ChangeLog (*)
  7766fd1... X86: Update opcode-suffix.d (*)
  fad0c9f... Further cleanup/modernization of gdb.base/commands.exp (*)
  7efeed1... X86: Merge AVX512F vmovq (*)
  8354c62... Make gdb.mi/user-selected-context-sync.exp use proc_with_pr (*)
  64f367a... gdb/testsuite: Introduce "proc_with_prefix" (*)
  2806dc7... Fix formattting of gdb/ChangeLog and gdb/testsuite/ChangeLo (*)
  6c73cd9... agent_expr_up: gdb::unique_ptr -> std::unique_ptr (*)
  7a63494... gdb: Use vector::emplace_back (*)
  8c84bff... tui-winsource: Remove failed-allocation logic (*)
  7bc2c8b... tui-winsource: Allocate for actual lines only (*)
  f539683... tui-disasm: Fix line buffer size calculation (*)
  0bb65f1... tui-disasm: Fix window content buffer overrun (*)
  82b19a4... darwin-nat.c: handle Darwin 16 (aka Sierra). (*)
  4c1d490... Automatic date update in version.in (*)
  1f334ae... X86: Remove the THREE_BYTE_0F7A entry (*)
  7353f24... Fix py-value.exp failure on Python 3 (*)
  30a7bb8... Fix some error-handling bugs in python frame filters (*)
  e8b24d9... Remove parameter valaddr from la_val_print (*)
  cc977dc... Use get_frame_register_value instead of deprecated_frame_re (*)
  3cde5c4... Eliminate agent_expr_p; VEC -> std::vector in struct bp_tar (*)
  833177a... 'struct agent_expr *' -> unique_ptr<agent_expr> (*)
  2f408ec... Use ui_file_as_string throughout more (*)
  d2af899... Use ui_file_as_string in gdb/language.c (*)
  5698084... Use ui_file_as_string in gdb/rust-lang.c (*)
  af1fe7b... Use ui_file_as_string in gdb/infrun.c (*)
  3b4de39... Use ui_file_as_string in gdb/ada-lang.c (*)
  6f03024... Use ui_file_as_string in gdbarch.sh/gdbarch.c (*)
  66bbce5... Use ui_file_as_string in gdb/c-exp.y (*)
  aaee65a... Use ui_file_as_string in gdb/compile/ (*)
  3d8b0d9... Use ui_file_as_string in gdb/cli/cli-setshow.c (*)
  b3ced9b... Use ui_file_as_string in gdb/remote.c (*)
  c92aed1... Use ui_file_as_string in gdb/python/ (*)
  0203064... Use ui_file_as_string in gdb/printcmd.c (*)
  7b01d34... Use ui_file_as_string in gdb/top.c (*)
  db1ec11... Use ui_file_as_string in execute_command_to_string (*)
  3ab692d... Use ui_file_as_string in gdb/guile/ (*)
  09b0e4b... Use ui_file_as_string in gdb/arm-tdep.c (*)
  d16c547... Use ui_file_as_string in gdb/utils.c (*)
  56dbf31... Use ui_file_as_string in gdb/ui-out.c (*)
  77e1c74... Use ui_file_as_string in gdb/ada-valprint.c (*)
  a0f86e7... Use ui_file_as_string in gdb/xtensa-tdep.c (*)
  322a851... Use ui_file_as_string in dwarf2_compute_name (*)
  1f45808... Clean up tracepoint.h/c:collection_list (*)
  8de0063... Introduce ui_file_as_string (*)
  4d01a48... 'struct expression *' -> gdb::unique_xmalloc_ptr<expression (*)
  b064640... cli-script.c: Simplify using std::string, eliminate cleanup (*)
  896b6bd... breakpoint.c:commands_command_1 constification and cleanup (*)
  4f8ad95... cli/cli-script.c: Remove some dead NULL checks (*)
  d4081a3... Introduce string_printf (*)
  cb64e50... Fix heap-buffer-overflow error detected by address sanitiza (*)
  93f9a11... gdbarch software_single_step returns VEC (CORE_ADDR) * (*)
  0bc5d80... Clear addr bit in next_pcs vector (*)
  771da62... Remove arm_insert_single_step_breakpoint (*)
  53c3572... Fix PR breakpoints/20739: Badly formatted adress string in  (*)
  3b0d929... Fix bfd/dwarf2.c build breakage (*)
  089e371... Greatly improve the speed if looking up DWARF line number i (*)
  20955db... Fix indentation (*)
  9dc193c... Check for truncated registers in process_g_packet (*)
  ec7b600... Automatic date update in version.in (*)
  48c97fa... X86: Properly handle bad FPU opcode (*)
  5996220... Fix ext lang calls to value_struct_elt. (*)
  ad9eb1f... i386-tdep.c (i386_gdbarch_init): Add comments. (*)
  bc71081... python/py-unwind.c (unwind_infopy_str): Fix use of VEC_iter (*)
  a571603... configure.tgt (x86_64-*-elf*): Remove i386bsd-tdep.o. (*)
  5ada5c6... Sync config.sub,config.guess with upstream. (*)
  7a34932... Add missing '$' in configure.ac. (*)
  e680a6b... Fix infinite loop when processing rpath tokens. (*)
  9af89fb... Note that the linker's --compress-debug-sections option ove (*)
  b93bfa1... Automatic date update in version.in (*)
  62e3476... Automatic date update in version.in (*)
  9cee1c1... Fix gas crash with unreasonably long lines (*)
  26c4b26... Fix a few typos (*)
  7989954... Automatic date update in version.in (*)
  b437d03... arc/nps400: Validate address type operands correctly (*)
  848ac65... objcopy: Close some memory leaks in error paths (*)
  c42608e... set default-directory in dwarf-browse (*)
  feb4bea... S/390: Fix 16 bit pc relative relocs. (*)
  d46a216... Commit missing ChangeLog entry for Cortex-M33 support (*)
  b19ea8d... Add support for ARM Cortex-M33 processor (*)
  ce1b0a4... Add support for ARM Cortex-M23 processor (*)
  13be480... Add maintainers for RISC-V target. (*)
  4f7eddc... Update RISC-V documentation and make sure that it is includ (*)
  88ba72a... Remove support for $PLATFORM in rpath search paths. (*)
  1b7a12f... Fix building binutils for all 32-bit targets by moving risc (*)
  8f1732f... ld: Allow EXCLUDE_FILE to be used outside of the section li (*)
  88bd153... ld: Create test object files based on source file name (*)
  b709ef7... ld/xc16x: This target does not support -shared (*)
  6b211b9... ld: Rename pattern within yacc grammar file (*)
  aed6edd... Automatic date update in version.in (*)
  cdf5a07... Add support for the sizeof function in Rust (*)
  b96645f... Add support for untagged unions in Rust (*)
  51a789c... Fix handling of discriminantless univariant enums in Rust;  (*)
  98d0e90... [ARC] Fix ldbit test on 32-bit systems (*)
  5a73682... arc: Implement NPS-400 dcmac instruction (*)
  bdfe53e... arc: Change max instruction length to 64-bits (*)
  90f61cc... arc: Swap highbyte and lowbyte in print_insn_arc (*)
  2e27220... opcodes/arc: Make some macros 64-bit safe (*)
  06fe285... arc: Replace ARC_SHORT macro with arc_opcode_len function (*)
  91fdca6... gas/arc: Replace short_insn flag with insn length field (*)
  ecf64ec... arc/opcodes/nps400: Fix some instruction masks (*)
  2fe9c2a... New option falkor for Qualcomm server part (*)
  d039fef... X86: Reuse opcode 0x80 decoder for opcode 0x82 (*)
  8b89fe1... X86: Decode opcode 0x82 as opcode 0x80 in 32-bit mode (*)
  722bcb3... Replace YY_NULL with YY_NULLPTR in LANG-exp.c (*)
  034b77c... Deprecate old platforms (*)
  7148c36... X86: Rename REG_82 to REG_83 (*)
  0418070... Remove GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREA (*)
  a97c97e... Remove arm_override_mode (*)
  833b7ab... Determine the kind of single step breakpoint (*)
  22f13eb... Add default_breakpoint_from_pc (*)
  c0f4a99... Remove gdbarch_remote_breakpoint_from_pc (*)
  579c6ad... Rename placed_size to kind (*)
  cd6c3b4... New gdbarch methods breakpoint_kind_from_pc and sw_breakpoi (*)
  d19280a... Split breakpoint_from_pc to breakpoint_kind_from_pc and sw_ (*)
  44f1c4d... Add enum for mips breakpoint kinds (*)
  598cc9d... GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_ (*)
  8b55a7e... gdbarch_breakpoint_from_pc doesn't return NULL (*)
  bada434... [ARM] Allow MOV/MOV.W to accept all possible immediates (*)
  225b362... Updated Danish translation for the BFD library. (*)
  c8c064b... Automatic date update in version.in (*)
  7d5697f... Fix dwarf_expr_context method regressions (*)
  47acf0b... Enable Intel AVX512_4VNNIW instructions (*)
  920d2dd... Enable Intel AVX512_4FMAPS instructions (*)
  95dc74a... Automatic date update in version.in (*)
  af955fe... BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_l (*)
  be6222a... Update binutils-lto-mixed.patch against master (*)
  e23eba9... Add support for RISC-V architecture. (*)
  c6b8910... Update binutils-sharable.patch against master (*)
  82c91f3... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  4e56efa... Automatic date update in version.in (*)
  c507302... Remove IRIX 5 <sys/proc.h> _KMEMUSER workaround (*)
  7e3d947... MIPS: Remove remains of legacy remote target support (*)
  de4bfa8... MIPS: Remove remains of IRIX OS ABI support (*)
  fb47ded... Initialize input statement created in add_archive_member (*)
  c646b02... Revert part "Set dynamic tag VMA and size from dynamic sect (*)
  1964088... Automatic date update in version.in (*)
  690035b... Automatic date update in version.in (*)
  e6485aa... gdb/NEWS: Clarify C++ requirement (*)
  d294692... gdb/NEWS: Mention C++11 requirement (*)
  8ba42bc... Support command-line redirection in native MS-Windows debug (*)
  39402e6... gdb/doc: Remove mention of vCont's default actions (*)
  6bcbbf5... Automatic date update in version.in (*)
  0bcda68... gdb: Require C++11 (*)
  87106a7... gdb: Import AX_CXX_COMPILE_STDCXX from the GNU Autoconf Arc (*)
  f610ab6... gdb/testsuite: Avoid a buffer overrun in `gdb.base/maint.ex (*)
  b129b0c... Make gdb.base/foll-exec.exp test pattern more general (*)
  44d8346... Fix gdb.base/maint.exp regressions (*)
  d87fdac... btrace: bridge gaps (*)
  259ba1e... btrace: preserve function level for unexpected returns (*)
  2dfdb47... btrace: update tail call heuristic (*)
  b61ce85... btrace: allow leading trace gaps (*)
  63ab433... btrace: fix gap indication (*)
  2fc9bcf... Automatic date update in version.in (*)
  c380589... Enable range stepping if software single step is supported (*)
  8934261... Get pending events in random (*)
  e3652c8... Remove single-step breakpoint for GDBserver internal event (*)
  bb65a71... gas/arc: Don't rely on bfd list of cpu type for cpu selecti (*)
  2e49278... Automatic date update in version.in (*)
  ecf45d2... PR 20569, segv in follow_exec (*)
  b15cc25... Make symfile_add_flags and objfile->flags strongly typed (*)
  85ad3aa... gdb: Coalesce/aggregate (async) vCont packets/actions (*)
  5a04c4c... gdbserver: Leave already-vCont-resumed threads as they were (*)
  ca6eff5... gdb/doc: Clarify vCont packet description (*)
  ef4a339... gdb: Free inferior->priv when inferior exits (*)
  7b68ffb... gdb: Clean up remote.c:remote_resume (*)
  2a3a749... Revert "bison warning fixes" (*)
  21280c0... Automatic date update in version.in (*)
  beb18c8... Make dwarf_expr_context's destructor virtual (*)
  b196bc4... Fix gdb C++ compilation on Solaris (PR build/20712) (*)
  b30f354... common/common-defs.h: Define __STDC_FORMAT_MACROS as well (*)
  e4426cb... new-op.c: Add comment about -fsanitize=address (*)
  28fe4f8... Define __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS again. (*)
  3ef9d66... Don't override operator new if GDB is built with -fsanitize (*)
  a18a2a3... elfxx-mips: Correct STUB_JALR's description (*)
  73b088b... Automatic date update in version.in (*)
  b5e1db8... Fix potential NULL pointer dereference (*)
  010ece9... Fix obvious gotcha in string comparison (*)
  b8d38ee... testsuite: Fix false FAIL for gdb.base/morestack.exp (*)
  cb93dc7... [GDBserver] Fix conversion warning (*)
  6381019... Automatic date update in version.in (*)
  243050d... Automatic date update in version.in (*)
  dcf293f... Automatic date update in version.in (*)
  befbff8... Make some dwarf_expr_context methods pure virtual (*)
  ce6c454... Change minimal_symbol_reader::record_full to take a bool (*)
  f60ee22... Remove last cleanup from captured_main_1 (*)
  192ca6d... Convert dwarf_expr_context_funcs to methods (*)
  595d2e3... Convert DWARF expr functions to methods (*)
  718b962... Initial conversion of dwarf_expr_ctx (*)
  5841433... Some cleanup removal in dwarf2loc.c (*)
  67ad939... Remove make_cleanup_restore_current_uiout (*)
  d1e4a62... Use gdb::unique_ptr in elf_read_minimal_symbols (*)
  cd9da5b... Replace two xmallocs with unique_ptr (*)
  1e3b796... Change command stats reporting to use class (*)
  6fc31fc... Remove some cleanups in MI (*)
  0e45424... Remove make_cleanup_restore_current_ui (*)
  8dddcb8... Record minimal symbols directly in reader. (*)
  d25e871... Change minimal_symbol_reader to store objfile (*)
  873a915... Introduce minimal_symbol_reader (*)
  4b6749b... Use scoped_restore for current_ui (*)
  9746809... Use scoped_restore for ui_file (*)
  b7b633e... Use RAII to save and restore scalars (*)
  9a1e3f0... Fix build failure in xcoffread.c (*)
  b5cefcc... X86: Remove pcommit instruction (*)
  ac42376... Fix PR 17704. (*)
  d11261f... Fix symbol table file name on AIX (*)
  4db41a0... Delete target_so_ops->special_symbol_handling hook (*)
  16017f1... Automatic date update in version.in (*)
  9889cbb... Check invalid mask registers (*)
  f90fd8c... testsuite: Fix gcc_compiled for gcc 6 & 7 (*)
  789b4e0... Regenerate bfd.pot. (*)
  78836e9... Don't configure gdb for vxworks target (*)
  c62fbd5... Automatic date update in version.in (*)
  2d2476a... testsuite: Fix gdb.base/killed-outside.exp using irrelevant (*)
  695344c... Add c-format tags to translatable strings with more than on (*)
  15f205b... Remove spurious whitespace introduced by previous delta. (*)
  f77a9b4... Regen gdb/config.in (*)
  008a97e... [GAS][ARM]Generate unpredictable warning for pc used in dat (*)
  bbb76b1... Automatic date update in version.in (*)
  f6abaf7... gdb: no longer define __STDC_CONSTANT_MACROS/__STDC_LIMIT_M (*)
  49e4877... Update gnulib to current upstream master (*)
  2859632... Check addr32flag instead of sizeflag for rip/eip (*)
  da8d7d6... Remove the remaining SSE5 support (*)
  da80416... Introduce gdb::unique_ptr (*)
  b928b56... Updated Danish translation for the BFD library. (*)
  333ec25... sim: avr: move changelog entries to subdir (*)
  ae71e7b... i386-tdep: Verify architecture before proceeding with `set/ (*)
  b348d11... tilegx-tdep: Correct aliasing errors in `tilegx_analyze_pro (*)
  eaf0270... AArch64/opcodes: Correct an `index' global shadowing error (*)
  61034b0... NDS32/BFD: Correct an aliasing error in `nds32_elf_check_re (*)
  c48182b... ARM/BFD: Correct an `index' global shadowing error (*)
  b252dce... Automatic date update in version.in (*)
  e42b25a... Fix duplicate test message in mi-trace-save.exp (*)
  3ccdb43... Fix comment in mi-trace-save.exp (*)
  5bad317... Fix -trace-save crash when argument is missing (*)
  5562a44... gdb: Fix phony iconv build (*)
  8cae7a4... Fixed matching in newly added test. (*)
  1449284... Display unknown notes.  Decode NT_GNU_HWCAP notes. (*)
  decf5bd... Removed pseudo invalid instructions opcodes. (*)
  6d91379... Update list of ELF machine numbers. (*)
  41f225d... Sync libiberty sources with gcc mainline. (*)
  b89bd14... Automatic date update in version.in (*)
  e601a8a... Automatic date update in version.in (*)
  e4ce4d9... Regenerate spu_ovl.o_c (*)
  6578011... Automatic date update in version.in (*)
  b4f6af8... FINAL/OVERRIDE: Define to empty on g++ < 4.7 (*)
  d118ee3... Move OVERRIDE/FINAL from gcc/coretypes.h to include/ansidec (*)
  be06ba8... Fix typos in trace commands doc (*)
  99e61ed... Document -ctf switch of -trace-save (*)
  e913b9c... Fix leftover remote test failures from PR binutils/19020 (*)
  754c39c... Fix set sysroot command on AIX (*)
  ab2c225... Add separate debug info file section (*)
  e5b06ef... [ARC] Disassembler: fix LIMM detection for short instructio (*)
  afb1110... btrace: remove leftover comment (*)
  8ffc1bb... Include strings.h where available (*)
  64a0223... Automatic date update in version.in (*)
  1f2e9c5... ARI: Remove true/false checks (*)
  5ad9dba... Share proc get_var_address (*)
  62df7e2... Skip testing structures with floating points (*)
  af533a5... Use std::string in macho_symfile_read_all_oso (*)
  d1a760c... Remove unnecessary null_cleanup (*)
  cda6c55... Turn wchar iterator into a class (*)
  816d7b5... Change selttest.c to use use std::vector (*)
  bfd2828... Convert tid_range_parser and get_number_or_range to classes (*)
  b44fae2... Automatic date update in version.in (*)
  4dac951... Fixup gdb.python/py-value.exp for bare-metal aarch64-elf (*)
  4a2f482... arc: Add support for Newlib (*)
  aaf43c4... arc: Add evaluation of long jump targets (*)
  b845c31... arc: Add a gdbarch_tdep structure (*)
  187f5d0... [AArch64] Track FP registers in prologue analyzer (*)
  b43fbca... Automatic date update in version.in (*)
  4d48359... missing changelog entry (*)
  821e6ff... BFD_FAKE_SECTION macro params (*)
  56fdab4... Update more tests for objdump change (*)
  8f1a8fc... testsuite: Fix gdb.arch/powerpc-prologue.c compilation (*)
  16c85b5... testsuite: Use standard_output_file (*)
  a24bb4f... Enhance objdump so that it will use .got, .plt and .plt.got (*)
  199fa1b... Add support to the static linker for the tokens accepted by (*)
  93562a3... [AArch64] PR target/20666, fix wrong encoding of new introd (*)
  f02cb05... Always descend into output section statements in lang_do_as (*)
  3b202c1... Automatic date update in version.in (*)
  82057c7... S/390: Move binary start to 16M. (*)
  668df12... bfd/ChangeLog: Add missing PR ld/19908 reference (*)
  969b385... MIPS64: Adjust cfi* testcases. (*)
  a1078be... Share enum arm_breakpoint_kinds (*)
  97ce08c... Rename 'arch' by 'gdbarch' in m32c_gdbarch_init (*)
  ff12a65... Remove v850_dbtrap_breakpoint_from_pc (*)
  7b38602... Automatic date update in version.in (*)
  43b831c... Automatic date update in version.in (*)
  49d0641... ui-out.c: Remove unused parameter to push_level (*)
  b6f80bb... Auto-generated dependencies for rx-parse.o and rl78-parse.o (*)
  9722da9... Automatic date update in version.in (*)
  1a30700... Document the GDB 7.12 release in gdb/ChangeLog (*)
  769553e... Fold arithmetic integer expressions fallout (*)
  362c0c4... [AArch64] PR target/20667, fix disassembler for the "specia (*)
  1d0e042... Set regdir in tdesc-regs.exp or arm (*)
  68dadef... python: accept address and explicit locations in gdb.decode (*)
  50e03d4... Pass link_info to _bfd_merge_private_bfd_data (*)
  1047201... bfd_merge_private_bfd_data tidy (*)
  b62b1f7... Add is_generic_elf to ld/ld-lib.exp (*)
  fa549b9... Automatic date update in version.in (*)
  1fb7708... Consolidate API of target_supports_multi_process (*)
  ddb6d63... gdb: Remove some C compiler support leftovers (*)
  33fa2c6... Fix gdb.Value->python conversion for large unsigned ints. (*)
  d73f9c4... frame.h: Forward-declare struct ui_out (*)
  9c37b5a... Remove Java support (*)
  78b8632... mips-tdep: Make FCRs always 32-bit (*)
  a691226... mips-tdep: Rearrange comments in `mips_pseudo_register_type (*)
  08ec958... [ARC] Fix parsing leave_s and enter_s mnemonics. (*)
  7470adb... testsuite: solib-disc: Use `standard_output_file' (*)
  249471c... Add workaround for bash 4.2 scripting problem. (*)
  c620c3e... stack: fix gdb.dwarf2/dw2-undefined-ret-addr.exp regression (*)
  fcddde9... -Wimplicit-fallthrough dodgy fixes (*)
  b781683... Add fall through comment to source in cpu/ (*)
  c25aa1e... [GOLD] two more fall-through comments (*)
  4a55653... Fix PR11094: JIT breakpoint is not properly recreated on re (*)
  5a122fb... Fix a few gdb.base/jit-simple.exp problems (*)
  6bd7996... Remove redundant assignment in gprof. (*)
  3d3424e... Refine .cfi_sections check to only consider compact eh_fram (*)
  ee8da4b... Make "end" field in feature specs required again. (*)
  3ac6b81... Automatic date update in version.in (*)
  1a0670f... -Wimplicit-fallthrough warning fixes (*)
  1e0f0b4... -Wimplicit-fallthrough noreturn fixes (*)
  2b80414... -Wimplicit-fallthrough error fixes (*)
  d8e9025... [GOLD] -Wimplicit-fallthrough warning fixes (*)
  95e6169... bison warning fixes (*)
  616ec35... Don't use boolean OR in arithmetic expressions (*)
  f389f6f... testsuite: Fix recent GCC FAIL: gdb.arch/i386-signal.exp (*)
  39b5a3b... PR remote/20655 - small fix in handle_tracepoint_bkpts (*)
  e742d38... PR gdb/20653 - small cleanup in string_to_explicit_location (*)
  3e61144... PR symtab/20652 - fix psymbol_compare (*)
  fdebf1a... Skip complex types tests if gdb_skip_float_test (*)
  dba4849... Fix incorrect formatting of a ChangeLog entry (*)
  f206f69... Allow DW_OP_GNU_uninit in dwarf_expr_require_composition (*)
  ed2f09e... arc: Remove annoying debug message (*)
  c1d0b70... Update the path arm-*.xml files for aarch64 (*)
  5878efd... Regenerate some regformats/rs6000/*.dat files (*)
  defaaad... Generate s390 target description c files (*)
  414c838... Simplify i386, amd64 and x32 expedite registers (*)
  0a69eed... Clean up the XML files for ARM (*)
  825be1e... Automatic date update in version.in (*)
  94b4188... ld expression section (*)
  9ad3910... Fold arithmetic integer expressions (*)
  128d08b... Automatic date update in version.in (*)
  9c36d95... Add test for user context selection sync (*)
  4034d0f... Emit inferior, thread and frame selection events to all UIs (*)
  0ee0f92... Automatic date update in version.in (*)
  e7847a2... Automatic date update in version.in (*)
  fe61e25... Automatic date update in version.in (*)
  17e1648... PR 20627: Use resume_stop to stop lwp (*)
  72da393... Don't assign alt twice (*)
  92c6e4f... Add missing dependencies to BFD_H_FILES (*)
  744ce30... [AArch64] PR target/20553, fix opcode mask for SIMD multipl (*)
  76276ff... v850 linker scripts (*)
  80169c8... Fix pr20528 testsuite (*)
  4eca022... Remove syntactic sugar (*)
  4519d07... Better ld --fatal-warnings support (*)
  52d45da... Make bfd_error_handler_type like vprintf (*)
  1fcf3da... Automatic date update in version.in (*)
  a429720... Update tests to account for the L operand being compulsory. (*)
  93dc595... Don't merge 2 sections with different SHF_EXCLUDE (*)
  bb80557... PR gdb/20609 - attach of JIT-debug-enabled inf 7.11.1 regre (*)
  50751e1... Frame info dump: Fix bad register marks. (*)
  084303b... Add .cfi_val_offset GAS command. (*)
  a5721ba... Disallow 3-operand cmp[l][i] for ppc64 (*)
  b82317d... Display .gnu.attributes tags for powerpc64 (*)
  b1f5b0a... Automatic date update in version.in (*)
  6d61dee... Fix PR 20345 - call_function_by_hand_dummy: Assertion `tp-> (*)
  4435e1c... Small improvements to the remote protocol manual (*)
  9eaff86... Fix seg-fault in the linker introduced by the previous delt (*)
  de7fb42... Automatic date update in version.in (*)
  2df2751... [ARM] PR ld/20608 Relocation truncated to fit: R_ARM_THM_JU (*)
  e3f07b5... Don't treat as separate symbols if unversioned symbol is un (*)
  07619d5... Add archives and make stamps to the .gitignore file. (*)
  1c5f704... Ensure that the timestamp in PE/COFF headers is always init (*)
  ca90e76... Detect the magic address of EXC_RETURN in ARM coretx-m prof (*)
  83ae81c... Automatic date update in version.in (*)
  78fb7e3... tc-xtensa.c: fixup xg_reverse_shift_count typo (*)
  c5da193... When building target binaries, ensure that the warning flag (*)
  384f750... Fix the calculation of AMD64_PCRQUAD relocations. (*)
  2b848eb... [ARC] ISA alignment. (*)
  005d79f... PowerPC .gnu.attributes (*)
  153679d... [GOLD] regen testsuite/Makefile.in (*)
  2422813... [GOLD] warning fixes (*)
  7358f4c... Fix nm potential buffer overflow (*)
  edeeb60... Call debug_exit in linux_wait_1 (*)
  b989752... Automatic date update in version.in (*)
  ec93bc3... Automatic date update in version.in (*)
  9eee20e... Fix a use of target_mourn_inferior in windows-nat.c (*)
  f4e0d9f... Automatic date update in version.in (*)
  a97e29d... Use std::string rather than dyn-string (*)
  cfe826d... Use std::vector in objfiles.c (*)
  ab8b80a... Use std::string, std::vector in rust-lang.c (*)
  05d49c3... Use std::string in cp-namespace.c (*)
  5809899... Use std::string in break-catch-sig.c (*)
  3e25a50... Remove some unnecessary code (*)
  97e64e5... Replace sprintf with xsnprintf in nat/linux-osdata.c (*)
  503b1c3... gdb: Replace operator new / operator new[] (*)
  5025eb7... Delete relocations associatesd with deleted exidx entries. (*)
  7c4236c... S/390: Move start of 64 bit binaries from 2GB to 256MB. (*)
  27b5c3d... Automatic date update in version.in (*)
  f73842f... Close gdbserver in mi_gdb_exit (*)
  de67845... Fix build breakage from commit 6ec2b2 (*)
  90681da... Use gdbserver-base in remote-gdbserver-on-localhost.exp (*)
  0ec22c2... Report failed attempts to locate DT_NEEDED files when --ver (*)
  fa42dd2... arc: Fix ARI warning for printf(%p) (*)
  870dd15... Remove legacy basepri_mask MRS/MSR special reg (*)
  9c211fd... Check the right proc name (*)
  1e0baa1... Automatic date update in version.in (*)
  31da3f2... Add myself as a write-after-approval GDB maintainer (*)
  ad0a504... arc: New Synopsys ARC port (*)
  8aabe2e... ppc: Fix return of instruction handlers in ppc_process_reco (*)
  36cf180... PR gdb/20604 - fix "quit" when an invalid expression is use (*)
  74172ec... Update and add .gitignore's (*)
  6ec2b21... ppc: Add Power ISA 3.0/POWER9 instructions record support (*)
  ad43e10... [AArch64] Print spaces after commas in addresses (*)
  ab3b8fc... [AArch64] Use "must" rather than "should" in error messages (*)
  bb7eff5... [AArch64] Add SVE condition codes (*)
  f2a5c4f... Fix misplaced ChangeLog (*)
  bc33f5f... [AArch64][SVE 32/32] Add SVE tests (*)
  c0890d2... [AArch64][SVE 31/32] Add SVE instructions (*)
  116b601... [AArch64][SVE 30/32] Add SVE instruction classes (*)
  047cd30... [AArch64][SVE 29/32] Add new SVE core & FP register operand (*)
  165d495... [AArch64][SVE 28/32] Add SVE FP immediate operands (*)
  e950b34... [AArch64][SVE 27/32] Add SVE integer immediate operands (*)
  98907a7... [AArch64][SVE 26/32] Add SVE MUL VL addressing modes (*)
  4df068d... [AArch64][SVE 25/32] Add support for SVE addressing modes (*)
  2442d84... [AArch64][SVE 24/32] Add AARCH64_OPND_SVE_PATTERN_SCALED (*)
  245d2e3... [AArch64][SVE 23/32] Add SVE pattern and prfop operands (*)
  d50c751... [AArch64][SVE 22/32] Add qualifiers for merging and zeroing (*)
  f11ad6b... [AArch64][SVE 21/32] Add Zn and Pn registers (*)
  0c608d6... [AArch64][SVE 20/32] Add support for tied operands (*)
  01dbfe4... [AArch64][SVE 19/32] Refactor address-printing code (*)
  72e9f31... [AArch64][SVE 18/32] Tidy definition of aarch64-opc.c:int_r (*)
  8a7f0c1... [AArch64][SVE 17/32] Add a prefix parameter to print_regist (*)
  aa2aa4c... [AArch64][SVE 16/32] Use specific insert/extract methods fo (*)
  b5464a6... [AArch64][SVE 15/32] Add {insert,extract}_all_fields helper (*)
  4240834... [AArch64][SVE 14/32] Make aarch64_logical_immediate_p take  (*)
  4989ada... [AArch64][SVE 13/32] Add an F_STRICT flag (*)
  7386605... [AArch64][SVE 12/32] Remove boolean parameters from parse_a (*)
  e1b988b... [AArch64][SVE 11/32] Tweak aarch64_reg_parse_32_64 interfac (*)
  874d7e6... [AArch64][SVE 10/32] Move range check out of parse_aarch64_ (*)
  6a9deab... [AArch64][SVE 09/32] Improve error messages for invalid flo (*)
  04a3379... [AArch64][SVE 08/32] Generalise aarch64_double_precision_fm (*)
  1799c0d... [AArch64][SVE 07/32] Replace hard-coded uses of REG_TYPE_R_ (*)
  10d7665... [AArch64][SVE 06/32] Generalise parse_neon_reg_list (*)
  53021dd... [AArch64][SVE 05/32] Rename parse_neon_type_for_operand (*)
  8f9a77a... [AArch64][SVE 04/32] Rename neon_type_el to vector_type_el (*)
  f06935a... [AArch64][SVE 03/32] Rename neon_el_type to vector_el_type (*)
  bd11d5d... [AArch64][SVE 02/32] Avoid hard-coded limit in indented_pri (*)
  a235d3a... [AArch64][SVE 01/32] Remove parse_neon_operand_type (*)
  3d0ec88... MIPS/testsuite: mips16-thunks: Use `standard_output_file' (*)
  fc6cda2... Keep reserved bits in CPSR on write (*)
  44b8317... Automatic date update in version.in (*)
  12c58cd... Avoid -Wduplicated-cond warnings in gdb/python (*)
  9f7efd5... ppc: Fix record support of Store String Word instructions (*)
  d4ed4da... ld: Fix mistake in ChangeLog (*)
  a5bf7d4... ld: Extend documentation for EXCLUDE_FILE (*)
  7d5adfe... Use 'event_ptid' instead of 'resume_ptid' on startup_inferi (*)
  e8eafa2... Automatic date update in version.in (*)
  6679754... gdb: Fix build breakage with GCC 4.1 and --disable-nls (*)
  b19753c... bfd: allow negative offsets to _GLOBAL_OFFSET_TABLE_ in elf (*)
  2387dd9... nm handling of synthetic symbols (*)
  bc1e6c8... Consolidate target_mourn_inferior between GDB and gdbserver (*)
  73cca75... Automatic date update in version.in (*)
  9368949... gdb/s390: Fix build breakage due to std::min/std::max usage (*)
  768adc0... gdb: Fix std::{min, max}-related build breakage on 32-bit h (*)
  498f644... Automatic date update in version.in (*)
  7f3c5ec... Improve MinGW support in Readline (*)
  a3fa21c... Automatic date update in version.in (*)
  cd94f6d... Introduce cleanup to restore current_uiout (*)
  325fac5... gdb: Use std::min and std::max throughout (*)
  8193ade... S390: Hardware breakpoint support (*)
  0e00e96... linux-nat: Add function lwp_is_stepping (*)
  169fe0d... S390: Enable "maint set show-debug-regs" (*)
  373c3da... S390: Multi-inferior watchpoint support (*)
  17c84cc... S390: Migrate watch areas from list to VEC type (*)
  9c2996c... S390: Avoid direct access to lwp_info structure (*)
  d41a5c0... testsuite: Fix false FAIL in gdb.cp/casts.exp (*)
  f807f43... [ARC] Disassemble correctly extension instructions. (*)
  0a0df90... Automatic date update in version.in (*)
  d2dfe70... testsuite: Fix C++11 compilation failure for gdb.cp/m-stati (*)
  e2a92b1... Update ISA 3.0 / POWER9 gdb tests to match GAS test cases. (*)
  49b4de6... testsuite: Disable ccache (*)
  d7cd93a... gas: run the sparc test dcti-couples-v9 only in ELF targets (*)
  fb324ee... Fix typo in readelf error message. (*)
  fd486b6... Modify POWER9 support to match final ISA 3.0 documentation. (*)
  b82c1d9... Automatic date update in version.in (*)
  4f90d84... Fix ld --gc-section segfault with ARMv8-M entry function in (*)
  e6d042f... Fix seg-fault in objdump when run on a fuzzed PE binary. (*)
  fc7514d... gas: improve architecture mismatch diagnostics in sparc (*)
  46a2d50... gas: detect DCTI couples in sparc (*)
  5d9bbb7... Prevent segfault in GDB when searching for architecture mat (*)
  32348c5... [ARC] Fix parsing dtpoff relocation expression. (*)
  dce0844... Stop the ARC disassembler from seg-faulting if initialised  (*)
  29063f8... Add support for disabling automatic generation of .eh_frame (*)
  d68ff01... Automatic date update in version.in (*)
  1d8cb77... Fix for gdb.server/non-existing-program.exp test case (*)
  7313bce... Fix for gdb.server/non-existing-program.exp test case (*)
  f83683d... Automatic date update in version.in (*)
  952c3f5... S/390: Add alternate processor names. (*)
  58af639... S/390: Fix facility bit default. (*)
  8b71537... S/390: Fix kmctr instruction type. (*)
  2c29df2... Fix false FAIL on gdb.base/stap-probe.exp, due to ICF optim (*)
  12ec45d... Automatic date update in version.in (*)
  6097c91... Automatic date update in version.in (*)
  cc3c284... Use target_sim_options for sim target. (*)
  855dde8... Automatic date update in version.in (*)
  e1b2624... Pass HWCAP to ifunc resolver (*)
  3569342... Automatic date update in version.in (*)
  f5c4fcd... Remove some unneeded casts from remote.c (*)
  8d471ec... Allow PROCESSOR_IAMCU for Intel MCU (*)
  a46c43f... Automatic date update in version.in (*)
  5b64d09... X86: Allow additional ISAs for IAMCU in assembler (*)
  27e5a27... [arm] Automatically enable CRC instructions on supported AR (*)
  3614411... Automatic date update in version.in (*)
  4295e28... new-ui command: gdb internal errors if input is already pen (*)
  a025b47... Introduce make_cleanup_restore_current_ui (*)
  d8457a0... Resolve size relocation with copy relocation (*)
  22d6c51... Do not pass host compiler sanitization flags on to linker t (*)
  00d5215... Support 128-bit IEEE floating-point types on Intel and Powe (*)
  9b790ce... Add gdbarch callback to provide formats for debug info floa (*)
  49f190b... Add missing format for built-in floating-point types (*)
  c413c44... Remove TYPE_NOSIGN "char" hack (*)
  a9ff5f1... Remove obsolete TYPE_FLAG_... values (*)
  19f392b... Unify init_type and arch_type interface and helpers (*)
  88dfca6... Add some missing arch_..._type helpers (*)
  ae438bc... Fix TYPE_SPECIFIC_FIELD for types created via arch_type (*)
  5f3bceb... Fix typo in ada_language_arch_info (*)
  21b65ba... Fix a problem in readelf where memcpy could be called with  (*)
  bf18650... Fix PR ld/20545 - relaxation bugs in avr backend (*)
  3b276c0... Automatic date update in version.in (*)
  cf6de44... gdb/: Require a C++ compiler (*)
  f245535... Fix PR19927: Avoid unwinder recursion if sniffer uses calls (*)
  e819005... Automatic date update in version.in (*)
  d846d32... Automatic date update in version.in (*)
  c1da674... Removed redundant line remote-utils.c (*)
  a367a3a... Automatic date update in version.in (*)
  bc99685... Handle ARM-specific --target1-abs, --target1-rel and --targ (*)
  4aa4e28... Handle DW_OP_form_tls_address (*)
  1b2d85b... Limit pr20513c/pr20513d to Linux and GNU targets (*)
  3b9a79e... [GDBserver] Replace "reinsert_breakpoint" with "single_step (*)
  ae9cf26... Skip floating point tests in return-nodebug.exp if gdb_skip (*)
  27aba04... Detect broken ptrace in gdb_skip_float_test (*)
  db0a1c2... Automatic date update in version.in (*)
  652a8f4... Add tests for PR ld/20513 (*)
  f2b9e3d... Share target_wait prototype between GDB and gdbserver (*)
  049a857... Use target_continue{,_no_signal} instead of target_resume (*)
  4248448... 2016-09-01  Thomas Preud'homme  <thomas.preudhomme@arm.com> (*)
  cd285db... Don't treat .opd section specially when ELFv2 (*)
  0318424... Automatic date update in version.in (*)
  3aa5cfa... Fix lwp_suspend/unsuspend imbalance in linux_wait_1 (*)
  f99bd5f... Fix a typo in comment (*)
  2e84f9c... Ignore symbols defined in SHF_EXCLUDE sections (*)
  8a37735... [GOLD] Further tidy to powerpc can_add_to_stub_group (*)
  09f9271... PowerPC64, correct grouping of stubs for ld.bfd (*)
  3e8c34e... Adjust VLE testsuite (*)
  f7d6900... PowerPC VLE sh_flags and p_flags (*)
  afe002d... [GOLD] Add debug output for powerpc section grouping (*)
  6c95c84... Automatic date update in version.in (*)
  7763838... Fixed issue with NULL pointer access on header var. (*)
  5af962d... Fix order of inferiors in "thread apply all" (*)
  b2b3836... Made tests to XFAIL for arc*-*-elf*. (*)
  c616591... Partially revert previous delta - move limit testing code t (*)
  0092723... Fix more potential seg-faults in gprof. (*)
  8941017... ppc apuinfo for spe parsed incorrectly (*)
  57f6d32... [GOLD] correct grouping of stubs (*)
  7229b68... Automatic date update in version.in (*)
  834c5e3... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  3c4f322... Run PR ld/19784 tests only if ifunc attribute works (*)
  f53be97... Check the external compression header size (*)
  35a42cd... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  74437ea... i386: Issue an error on non-PIC call to IFUNC in PIC object (*)
  7fac691... gdb.base/default.exp regression (*)
  1cc90bb... Automatic date update in version.in (*)
  6395d38... PR gold/20529 - relaxing loop never ends. (*)
  8b2f345... Automatic date update in version.in (*)
  53720c4... Lack of SHF_GROUP sections result in ld segfault (*)
  8a9e8e7... Fix commit 980aa3e6 (*)
  e55c2fc... Automatic date update in version.in (*)
  1b8b653... opcodes, gas: fix mnemonic of sparc camellia_fl (*)
  68c3989... Reduce parameter list in bfd_elf32_arm_target_relocs (*)
  c2abbbe... 2016-08-26  Thomas Preud'homme  <thomas.preudhomme@arm.com> (*)
  1a33619... Add missing ARMv8-M special registers (*)
  980aa3e... Dynamic TLS GOT entries would not be relocated. (*)
  65b94e9... Fixed -init, -fini linker options. (*)
  8a36df4... Several fixes related to ARC PIE support. (*)
  4dd72ff... Content for TLS_IE_GOT not written to .got. (*)
  a87aa05... Fixes to legacy ARC relocations. (*)
  0955507... Add support for stable secure gateway veneers addresses (*)
  4edcc97... Automatic date update in version.in (*)
  e3e9290... S390: Add support for core dump NOTE sections (*)
  ceada89... S390: Indentation fixes in elf32/64-s390.c (*)
  ae68ff9... xtensa: Avoid designated inits, for C++ compliance (*)
  4811ccb... powerpc ld configure (*)
  c4dd0ba... Remove _S version of ARM MSR/MRS special registers (*)
  754653a... Sync proc_service definition with GLIBC (*)
  4a64c29... Automatic date update in version.in (*)
  6b40c46... X86: Add ptwrite instruction (*)
  bb1fe4a... Test case to detect recursive unwinding in Python-based unw (*)
  0a1ddfa... Allow resetting an empty inferior-tty (*)
  bdd7871... Fix for gdb.base/pc-fp.exp. (*)
  ab548d2... [ARC] C++ compatibility for arc-dis.h (*)
  47f7f63... [ARC] Parse NOTE section in core dump files (*)
  1130c90... [gold] Implement -z stack-size option (*)
  4ba2515... Automatic date update in version.in (*)
  9f84726... Add --be8 option to gold. (*)
  34f8180... Fix typo in comment (*)
  d9de1fe... Fix PR20494 - User input stops being echoed in CLI (*)
  38334d6... Better fix for PR 20499, including preventing strlen from b (*)
  e9d9abd... gdbserver_spawn "" rather than gdbserver_spawn ${binfile} (*)
  3589529... Fix signals-state-child.exp in remote testing (*)
  6342be7... Fix seg-fault in ARM linker when trying to parse a binary f (*)
  344bde0... [AArch64] Add V8_2_INSN macro (*)
  5ce912d... [AArch64] Make more use of CORE/FP/SIMD_INSN (*)
  9d30b0b... [AArch64] Add OP parameter to aarch64-tbl.h macros (*)
  d44ea5d... Fix duplicate FAILs from ld testsuite (*)
  eacfca9... R_OR1K_GOTOFF_* relocations (*)
  ed02c2d... Automatic date update in version.in (*)
  6bb9021... Fix PR gdb/20505 - Make vDSO detection work with core files (*)
  5fbe0d8... Free the string buffer used by the chew program to hold eac (*)
  4ca0333... Prevent a seg-fault in gprof when parsing a corrupt core fi (*)
  888a7fc... Error on unsupported PowerPC ifuncs (*)
  ca942b5... Automatic date update in version.in (*)
  a8cc20a... Automatic date update in version.in (*)
  23be028... Automatic date update in version.in (*)
  20c2c02... Fix missing files for ld when test suite not compiled in th (*)
  03bcd73... [AArch64] Match instruction "STP with base register" in pro (*)
  bbfa251... null-terminate string in linespec_location_completer (*)
  873f10f... ARM: Issue a warning when the MRRC and MRRC2 instructions a (*)
  0646e07... x32: Fix gdb.trace/mi-trace-frame-collected.exp (*)
  f077e97... x32: gdb: Fix 'call' insn relocation with qRelocInsn (*)
  ed036b4... x32: gdbserver's agent bytecode JIT: fix "call" emission (*)
  c8ef42e... x32: Avoid unsigned long when installing fast tracepoint ju (*)
  9c235a7... x32 Fast tracepoints: Customize jump pad address (*)
  201506d... x32 Fast tracepoints: IPA target descriptions (*)
  576438f... Enable relro by default for AArch64, ARM and SCORE. (*)
  dd90581... Place .shstrtab section after .symtab and .strtab, thus res (*)
  d311bc8... PowerPC64, Don't copy weak symbol dyn_relocs to weakdef. (*)
  8a2058b... PR 20472, PowerPC64 ifunc confusion (*)
  e47d628... Automatic date update in version.in (*)
  46da924... Add ChangeLog updates to my previous two commits (*)
  63373e4... Fix for powerpc-power.exp gdb regression test for Power 9 (*)
  6e859fd... Add myself as write-after-approval GDB maintainer. (*)
  d44c67f... ppc: Fix record of HTM instructions (*)
  626c539... Fix thinko in new weak undefined function test (*)
  38326bf... Automatic date update in version.in (*)
  eb2332d... Fix remove-inferior error message (*)
  63c61e0... Add remove-inferiors test (*)
  a4aa1f5... Fix extraneous complaints about missing expected TLS reloca (*)
  9b19e39... Remove stale comment (*)
  2c103b3... Automatic date update in version.in (*)
  fa0843f... sim: m68hc11: use standard STATIC_INLINE helper (*)
  fc17736... Automatic date update in version.in (*)
  5357150... sim: unify symbol table handling (*)
  3192546... [GDB] Fix builds broken by proc-service changes. (*)
  b31f947... Fix heap-buffer-overflow in explicit_location_lex_one (*)
  b69fc9d... Automatic date update in version.in (*)
  6f64fd4... sim: m68hc11: standardize sim_cpu naming (*)
  527aaa4... sim: m68hc11: fix up various prototype related warnings (*)
  4c171e2... sim: cgen: constify mode_names (*)
  78d983e... Automatic date update in version.in (*)
  6b97945... sim: cgen: drop unused argv/envp definitions (*)
  474a2d9... sim: bfin: split out common mach/model defines into arch.h  (*)
  752cf91... Automatic date update in version.in (*)
  52c3c39... Warn if the sh_info field of a symbol table does not index  (*)
  3785f51... PR gold/20462: Fix bogus layout on ARM with linker script u (*)
  f300578... [gold] Implement HIDDEN syntax in linker scripts (*)
  90ac242... Correct .dynsym sh_info (*)
  b14bdb3... Undo the previous change to the aarch64 sim - exporting aar (*)
  7b17065... Fix warning in gdb.base/signals-state-child.c (*)
  bf17491... Add undefined weak function tests (*)
  585bc97... Automatic date update in version.in (*)
  8be1e36... Fix ERROR: target-cc does not exist (*)
  6a27757... Export the single step function from the AArch64 simulator. (*)
  39b2247... Fix fallout from gdb/20413's fix (x32: linux_ptrace_test_re (*)
  7f6bf02... Avoid testsuite errors about missing compilers. (*)
  dbd8770... [AArch64] Reject -0.0 as an 8-bit FP immediate (*)
  d93d1c8... PowerPC64 ELFv1 undefined weak functions (*)
  4e796e9... Automatic date update in version.in (*)
  3807734... PR ld/15428: MIPS/LD/testsuite: Un-KFAIL `__ehdr_start' tes (*)
  01d3ded... Fix PR gdb/19187 (process record over a fork causes interna (*)
  7397181... Plumb enum remove_bp_reason all the way to target_remove_br (*)
  b2b6a7d... Introduce 'enum remove_bp_reason' (*)
  834c0d0... Simplify remove_breakpoint interface (*)
  0375b0a... MIPS/LD/testsuite: Verify microMIPS LA25 stub generation (*)
  fe152e6... MIPS/BFD: Actually produce short microMIPS LA25 stubs (*)
  a848a22... MIPS/BFD: Add microMIPS annotation to LA25 stub symbols (*)
  c7318de... MIPS/BFD: Set the ISA bit in microMIPS LA25 stub references (*)
  24cdb46... Support setting thread names (MS-Windows) (*)
  f571390... Fix extraneous complaints about missing expected TLS reloca (*)
  2c00092... Fix potential crashes when Target::make_symbol() returns NU (*)
  007801e... Fix improper handling of R_SPARC_GOTDATA_OP_LOX10 relocatio (*)
  55872e4... Add support for R_SPARC_32 relocation. (*)
  669f942... Quiet ARI gettext checks (*)
  5113231... Automatic date update in version.in (*)
  5ff5591... Skip LTO tests for --disable-plugin (*)
  3eb7562... Fix PR gdb/20418 - Problems with synchronous commands and n (*)
  8061491... Fix PR mi/20431 - Missing MI prompts after sync execution M (*)
  f348d89... Fix PR gdb/18653: gdb disturbs inferior's inherited signal  (*)
  7cfee22... Support -pie for arm*-eabi targets. (*)
  68994ca... Correct the calculation of the use_counts of merged .got en (*)
  e5ca03b... Fix PR gdb/20295: GDB segfaults printing bitfield member of (*)
  02183cb... Automatic date update in version.in (*)
  6a17ca3... Regenerate some target description files (*)
  d8024a9... Fix seg-faults when running readelf on fuzzed binaries. (*)
  8a286b6... Fix memory leaks in chew program. (*)
  db9537d... Fix seg-fault in DWARF dumper when given a corrupt binary c (*)
  f091cf0... Automatic date update in version.in (*)
  8e8fe55... Automatic date update in version.in (*)
  d6d4df4... Automatic date update in version.in (*)
  c632e42... Remove unused cli_command_loop declaration (*)
  ed1b027... Add missing ChangLog enrtry (*)
  3906a8f... Fix PR remote/20398: File-IO write always outputs "Quit" (*)
  69ffd7f... gdb/NEWS: Mention that C++ is now the default (*)
  1baf514... gdb/configure --help: suggest --disable-build-with-cxx inst (*)
  b126985... Ensure ARM VPUSH and VPOP instructions do not affect more t (*)
  7ea12e5... Fix the generation of alignment frags in code sections for  (*)
  cca8e7e... Automatic date update in version.in (*)
  54ddd29... 2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com> (*)
  4ba2ef8... 2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com> (*)
  0244256... Fix generation of relocs for 32-bit Sparc Solaris targets. (*)
  6f67973... Determine target description for native aarch64 (*)
  fcd4a73... Quiet ptrace error ESRCH in regsets_fetch_inferior_register (*)
  dabcfa6... Automatic date update in version.in (*)
  282a069... PR python/18565 - make Frame.function work for inline frame (*)
  d10153c... Avoid potential memory leak in find_frame_funname (*)
  8d2a0a1... Update NEWS to mention Python breakpoint events (*)
  f72b087... Automatic date update in version.in (*)
  33541b2... Add myself as Rust maintainer (*)
  979659d... [GDBserver] Remove td_ta_event_addr td_ta_set_event and td_ (*)
  89d77b8... PowerPC64 ld segfault with code in non-executable sections (*)
  fa3fcee... Synchronize libiberty sources with FSF GCC mainline version (*)
  a94d834... Fix SH GOT allocation in the presence of linker garbage col (*)
  2d5bddc... Avoid compile time warning when building on 32-bit host. (*)
  80b476c... Automatic date update in version.in (*)
  dfdaec1...         Fix some PowerPC VLE BFD issues and add some PowerP (*)
  751b375... Update NEWS post GDB 7.12 branch creation. (*)
  b2bd778... Bump version to 7.12.50.DATE-git. (*)
  41bfcd6... Swap "single-process" and "multi-process" in process-dies-w (*)
  781bf64... Update Swedish translation in bfd directory. (*)
  e3465b2... Tweak gdb.cp tests for aarch32 (*)
  5e3d6ca... Automatic date update in version.in (*)
  a161b76... Automatic date update in version.in (*)
  3e684cf... Automatic date update in version.in (*)
  c88960d... gas: avoid spurious failures in non-ELF targets in the SPAR (*)
  76539d8... Automatic date update in version.in (*)
  4931146... Fix decoding of Windows resources. (*)
  ff20cab... Automatic date update in version.in (*)
  7bd374a... MIPS/GAS: Implement microMIPS branch/jump compaction (*)
  db18dba... Begin implementing ARC NPS-400 Accelerator instructions (*)
  61d2d2b... Restrict linker garbage collection personality test to cfi  (*)
  147d994... Fix seg-fault when running garbage collection on coff binar (*)
  7fca8e8... Fix warning in ldbuildid.c mingw32 code (*)
  23fcf59... Fix aarch64_relocs.sh file mode (*)
  b6e11d0... Automatic date update in version.in (*)
  293acfa... Wean gdb and sim off private libbfd.h header (*)
  6598661... Fix PR server/20414 - x32 gdbserver always crashes inferior (*)
  0b31a4b... PR python/20190 - compute TLS symbol without a frame (*)
  8484fb7... MIPS/GAS: Respect the `insn32' mode in branch relaxation (*)
  54806ff... MIPS/BFD: Handle branches in PLT compression selection (*)
  40c3170... Fix PR gdb/20413 - x32: linux_ptrace_test_ret_to_nx: Cannot (*)
  9cf12d5... Fix PR gdb/20287 - x32 and "gdb_static_assert (sizeof (nat_ (*)
  d0d4152... Add support for creating uuid based build-id's in a MinGW32 (*)
  8769bc4... [Gold, aarch64] Implement some AArch64 relocs. (*)
  e0461db... btrace, testsuite: fix assembly source file selection (*)
  698f8cb... Automatic date update in version.in (*)
  8194e92... Handle correctly passing a bad interpreter name to new-ui (*)
  0e1a6a5... linux-procfs: Handle lowercase "t (tracing stop)" state (*)
  d617208... linux-procfs: Introduce enum proc_state (*)
  3a1518e... Add myself as a write-after-approval GDB maintainer. (*)
  c0272db... btrace: Resume recording after disconnect. (*)
  9580450... Revise targets able to run ELF 64k section test (*)
  a173d7f... Automatic date update in version.in (*)
  074e493... Automatic date update in version.in (*)
  e348790... Implement catch syscall group (*)
  49ecef2... Fix ARMv8.1/v8.2 for hw watchpoint and breakpoint (*)
  463888a... Support JIT debugging on MS-Windows (*)
  cac7097... Automatic date update in version.in (*)
  e98c9e7... PR rust/20162 - fix gdb regressions caused by rust 1.10 (*)
  eed2386... Get "num" as unsigned in ctf (*)
  c02d11a... Fix segfault in ARC linker when generating got entries for  (*)
  70ad873... Automatic date update in version.in (*)
  d55ed11... Update binutils-lto-mixed.patch against master (*)
  bd6bc75... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  fecd57f... Set BFD_VERSION to 2.27.51 (*)
  89b829a... Move ChangeLog entry for PR ld/20376 (*)
  7d4756a... Merge remote-tracking branch 'origin/master' into users/hjl (*)
  12df5c0... Allow empty struct expressions in Rust (*)
  305450e... Add -Wunused-but-set-* to build (*)
  f515a1d... Fix djgpp gdb build (*)
  c25b7cc... Remove unused variable in windows-nat.c (*)
  e3821cc... Remove unused variable in gdb/varobj.c when built without P (*)
  2583da7... Fix cast to 'gdb_breakpoint *' (*)
  21536b3... Support vCont s and S actions with software single step (*)
  8901d19... Use reinsert_breakpoint for vCont;s (*)
  0e9a339... Enqueue signal even when resuming threads (*)
  4281b35... Use enqueue_pending_signal in linux_resume_one_thread (*)
  984a2c0... Switch current_thread to lwp's thread in install_software_s (*)
  bec903c... Make reinsert_breakpoint thread specific (*)
  63c40ec... Refactor clone_all_breakpoints (*)
  9aa76cd... Create sub classes of 'struct breakpoint' (*)
  811f830... Pass breakpoint type in set_breakpoint_at (*)
  bae62ee... Skip gdb.server/ tests if lack of XML support (*)
  0c66ea4... Fix typo fsqrt -> sqrtf. (*)
  7982a1d... oops - forgot to include binutils.texi in the previous delt (*)
  0f118bc... Use fsqrt() to calculate float (rather than double) square  (*)
  b1b53fb... Fix fail in gdb.server/solib-list.exp (*)
  982c6f2... Use variable args in run_ld_link_exec_tests (*)
  5df1bc5... Fix implib test failures (*)
  c092a4d... Automatic date update in version.in (*)
  dbaed38... Use a real vfork done event on FreeBSD when available. (*)
  5fa14c6... Enable ptrace events on new child processes. (*)
  da95a26... Consolidate code to enable optional FreeBSD native target e (*)
  37fd5ef... Add support to the ARC disassembler for selecting instructi (*)
  0064d22... Handle version 1a of FreeBSD's NT_PRSINFO. (*)
  9ab8247... Check p_paddr for program header space (*)
  027d97f... testsuite: Fix gdb.gdb/selftest.exp for C++-O2-g-built GDB (*)
  7674d38... testsuite: Fix gdb.btrace/tailcall-only.exp errors on x86_6 (*)
  72b5d09... testsuite patch: Skip py-unwind.exp on x86_64 -m32 (*)
  5caa2b0... MIPS/GAS: Remove erroneous ELF relocation references (*)
  f262985... Update documentation to reflect that the symbol localizatio (*)
  bedbe19... Enable the configuration of GDB for the NDS32 target. (*)
  b751e63... Early expression evaluation (*)
  3ce5128... Mark some more powerpc relocs as not handled by generic lin (*)
  0806868... Automatic date update in version.in (*)
  3af09e8... Support -pie for aarch64*-elf targets. (*)
  1f960ce... Build gdb.opt/inline-*.exp tests at -O0, rely on __attribut (*)
  a6ebf61... MIPS: Convert cross-mode BAL to JALX (*)
  9d86252... MIPS: Verify the ISA mode and alignment of branch and jump  (*)
  065251a... make the type of nds32_pseudo_opcode::pseudo_val  unsigned (*)
  9bceab4... sparc: make a field type bfd_reloc_code_real_type (*)
  cf80913... sparc: remove a sentinal (*)
  35fec4f... tc-z8k.c: make some argument types bfd_reloc_code_real_type (*)
  f25827c... Use do_self_tests in selftest.exp (*)
  ace667e... ld: Restore file offset after a plugin fails to claim a fil (*)
  59f48f5... 	Update PC when simulate break instruction. (*)
  a4717ff... Automatic date update in version.in (*)
  faf1390... Automatic date update in version.in (*)
  68cd8f1... Automatic date update in version.in (*)
  7d0b9eb... Don't include libbfd.h outside of bfd, part 6 (*)
  aac502f... Don't include libbfd.h outside of bfd, part 5 (*)
  4212b42... Don't include libbfd.h outside of bfd, part 4 (*)
  16412c3... Don't include libbfd.h outside of bfd, part 3 (*)
  00dad9a... Don't include libbfd.h outside of bfd, part 2 (*)
  76e7a75... Don't include libbfd.h outside of bfd, part 1 (*)
  235fa74... Automatic date update in version.in (*)
  37539eb... GDB testsuite: Escape paths used in regular expressions (*)
  7635954... Add support for creating ELF import libraries (*)
  bc7b765... Pass SIGLIBRT directly to child processes. (*)
  f7e8b36... Tidy up debugging in the ARC port of the BFD library. (*)
  003c15c... Use address sized relocs in remove-relocs-01.s (*)
  06ab6fa... COFF buffer overflow in mark_relocs (*)
  50c1cbe... Automatic date update in version.in (*)
  b416ba9... MIPS/GAS: Don't convert PC-relative REL relocs against abso (*)
  96e9ba5... MIPS/GAS: Keep the ISA bit in the addend of branch relocati (*)
  0c11728... BFD: Let targets handle relocations against absolute symbol (*)
  7f131b3... Add missing newline to py-breakpoint.c (*)
  78cc6c2... Remove unused variables (*)
  ac29888... Remove some variables but call functions for side effects (*)
  764c99c... Remove some unused overlay code (*)
  cecc8b9... Use getcurx in curses code (*)
  821fc4a... Add one use of ATTRIBUTE_UNUSED (*)
  537d9b8... Change reopen_exec_file to check result of stat (*)
  d3e5f6c... objcopy/strip: Add option --remove-relocations=SECTIONPATTE (*)
  e511c9b... objcopy/strip: Allow section patterns starting with '!'. (*)
  7df9478... Small improvements to the ARM simulator to cope with illega (*)
  fa1c017... [ARC] Fix/improve small data support. (*)
  efc67f6... Automatic date update in version.in (*)
  dac790e... PR python/15620, PR python/18620 - breakpoint events in Pyt (*)
  93daf33... PR python/17698 - add Breakpoint.pending (*)
  43684a7... use user_breakpoint_p in python code (*)
  cda75e7... Rearrange Python breakpoint node in documentation (*)
  6571a38... Fix PR cli/18053 (*)
  92281a5... MIPS/opcodes: Address issues with NAL disassembly (*)
  d9dcf8c... MIPS/GAS: Remove extraneous `install_insn' call from `appen (*)
  6e7ced3... opcodes,gas: support for the ldtxa SPARC instructions. (*)
  e873247... [ppc64] Fix for function descriptors (*)
  9873a9a... Automatic date update in version.in (*)
  37567a2... Align x86-64 .got/.got.plt sections to 8 bytes (*)
  e0f3fd7... PR python/19293 - invalidate frame cache when unwinders cha (*)
  cf14306... Second fix for grammar in error message. (*)
  3cfe46b... Match the selftest output when captured_main is inlined (*)
  b1c51e3... Add type casts to allow C++ compile. (*)
  f231881... Fix grammar in error message. (*)
  3eb8468... Automatic date update in version.in (*)

(*) This commit exists in a branch whose name matches
    the hooks.noemail config option. No separate email
    sent.

commit b8cc0ceb40868b1d4d42854e4d89372aa5aef921
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jul 11 03:54:20 2017 -0700

    Remove release.binutils-2.26.51.0.2

commit 84b40b725395b4bb06ac9229012d436944169bef
Merge: 06ec846 813f376
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jul 11 03:52:26 2017 -0700

    Merge remote-tracking branch 'origin/users/hjl/linux/master' into users/hjl/linux/applied

commit 813f37656676da29b3b8b5555573b355bff4b77e
Merge: a6205d0 32f76c6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 30 10:07:13 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 32f76c677333510350f21a40db062a8d17995c53
Author: Georg-Johann Lay <avr@gjlay.de>
Date:   Fri Jun 30 16:37:39 2017 +0100

    Add support for a __gcc_isr pseudo isntruction to the AVR assembler.
    
        PR gas/21683
    include * opcode/avr.h (AVR_INSN): Add one for __gcc_isr.
    
    gas * doc/c-avr.texi (AVR Options) <-mgcc-isr>: Document it.
        (AVR Pseudo Instructions): New node.
        * config/tc-avr.h (md_pre_output_hook): Define to avr_pre_output_hook.
        (md_undefined_symbol): Define to avr_undefined_symbol.
        (avr_pre_output_hook, avr_undefined_symbol): New protos.
        * config/tc-avr.c (struc-symbol.h): Include it.
        (ISR_CHUNK_Done, ISR_CHUNK_Prologue, ISR_CHUNK_Epilogue): New enums.
        (avr_isr, avr_gccisr_opcode)
        (avr_no_sreg_hash, avr_no_sreg): New static variables.
        (avr_opt_s) <have_gccisr>: Add field.
        (avr_opt): Add initializer for have_gccisr.
        (enum options) <OPTION_HAVE_GCCISR>: Add enum.
        (md_longopts) <"mgcc-isr">: Add entry.
        (md_show_usage): Document -mgcc-isr.
        (md_parse_option) [OPTION_HAVE_GCCISR]: Handle it.
        (md_undefined_symbol): Remove.
        (avr_undefined_symbol, avr_pre_output_hook): New fuctions.
        (md_begin) <avr_no_sreg_hash, avr_gccisr_opcode>: Initialize them.
        (avr_operand) <pregno>: Add argument and set *pregno if function
        is called for a register constraint.
        [N]: Handle constraint.
        (avr_operands) <avr_operand>: Pass 5th parameter to calls.
        [avr_opt.have_gccisr]: Call avr_update_gccisr.  Call
        avr_gccisr_operands instead of avr_operands.
        (avr_update_gccisr, avr_emit_insn, avr_patch_gccisr_frag)
        (avr_gccisr_operands, avr_check_gccisr_done): New static functions.
        * testsuite/gas/avr/gccisr-01.d: New test.
        * testsuite/gas/avr/gccisr-01.s: New test.
        * testsuite/gas/avr/gccisr-02.d: New test.
        * testsuite/gas/avr/gccisr-02.s: New test.
        * testsuite/gas/avr/gccisr-03.d: New test.
        * testsuite/gas/avr/gccisr-03.s: New test.

commit 33f466961ce01a7db6dbec6b39aafb7af1855645
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 15:39:26 2017 +0100

    MIPS/GAS: Update `match_float_constant' and `match_operand' descriptions
    
    Complement commit a92713e60ef4 ("Preparse MIPS instructions into
    tokens"), <https://sourceware.org/ml/binutils/2013-07/msg00143.html>,
    and update `match_float_constant' and `match_operand' function
    descriptions according to semantics changes.
    
    	gas/
    	* config/tc-mips.c (match_float_constant): Update description.
    	(match_operand): Likewise.

commit b1d3c886aa30083236bf60c50d519bcc978139fb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 15:27:18 2017 +0100

    MIPS/opcodes: Reorder LSA and DLSA instructions
    
    Correct an issue introduced with commit 7361da2c952e ("Add support for
    MIPS R6.") and move the LSA and DLSA instructions back to the MSA ASE
    instruction block in the regular MIPS opcode table.  Adjust formatting
    around the "MIPS r6" heading.
    
    	opcodes/
    	* mips-opc.c (mips_builtin_opcodes): Move "lsa" and "dlsa"
    	entries to the MSA ASE instruction block.

commit dc4bde35d16df749e529229657b3468417937cfc
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Jun 30 08:27:29 2017 -0400

    PR cli/21688: Detect aliases when issuing python/compile/guile commands (and fix last commit)
    
    My last commit fixed a regression that happened when using
    inline/multi-line commands for Python/Compile/Guile, but introduced
    another regression: it is now not possible to use aliases for the
    commands mentioned above.  The fix is to almost revert the change I've
    made and go back to using the 'struct cmd_list_element *', but at the
    same time make sure that we advance the 'cmd_name' variable past all
    the whitespace characters after the command name.  If, after skipping
    the whitespace, we encounter a '\0', it means that the command is not
    inline.  Otherwise, it is.
    
    This patch also expands the testcase in order to check for aliases and
    for trailing whitespace after the command name.
    
    gdb/ChangeLog:
    2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	PR cli/21688
    	* cli/cli-script.c (command_name_equals_not_inline): Remove function.
    	(process_next_line): New variable 'inline_cmd'.
    	Adjust 'if' clauses for "python", "compile" and "guile" to use
    	'command_name_equals' and check for '!inline_cmd'.
    
    gdb/testsuite/ChangeLog:
    2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR cli/21688
    	* gdb.python/py-cmd.exp (test_python_inline_or_multiline): Add new
    	tests for alias commands and trailing whitespace.

commit 51ed89aa0dce3db46561235efdc4bbc0661bcf37
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Jun 28 21:55:03 2017 -0400

    PR cli/21688: Fix multi-line/inline command differentiation
    
    This bug is a regression caused by the following commit:
    
      604c4576fdcfc4e7c28f569b3748a1b6b4e0dbd4 is the first bad commit
      commit 604c4576fdcfc4e7c28f569b3748a1b6b4e0dbd4
      Author: Jerome Guitton <guitton@adacore.com>
      Date:   Tue Jan 10 15:15:53 2017 +0100
    
    The problem happens because, on cli/cli-script.c:process_next_line,
    GDB is not using the command line string to identify which command to
    run, but it instead using the 'struct cmd_list_element *' that is
    obtained by using the mentioned string.  The problem with that is that
    the 'struct cmd_list_element *' doesn't have any information on
    whether the command issued by the user is a multi-line or inline one.
    
    A multi-line command is a command that will necessarily be composed of
    more than 1 line.  For example:
    
      (gdb) if 1
      >python
       >print ('hello')
       >end
      >end
    
    As can be seen in the example above, the 'python' command actually
    "opens" a new command line (represented by the change in the
    indentation) that will then be used to enter Python code.  OTOH, an
    inline command is a command that is "self-contained" in a single line,
    for example:
    
      (gdb) if 1
      >python print ('hello')
      >end
    
    This Python command is a one-liner, and therefore there is no other
    Python code that can be entered for this same block.  There is also no
    change in the indentation.
    
    So, the fix is somewhat simple: we have to revert the change and use
    the full command line string passed to process_next_line in order to
    identify whether we're dealing with a multi-line or an inline command.
    This commit does just that.  As can be seen, this regression also
    affects other languages, like guile or the compile framework.  To make
    things clearer, I decided to create a new helper function responsible
    for identifying a non-inline command.
    
    Testcase is attached.
    
    gdb/ChangeLog:
    2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR cli/21688
    	* cli/cli-script.c (command_name_equals_not_inline): New function.
    	(process_next_line): Adjust 'if' clauses for "python", "compile"
    	and "guile" to use command_name_equals_not_inline.
    
    gdb/testsuite/ChangeLog:
    2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR cli/21688
    	* gdb.python/py-cmd.exp (test_python_inline_or_multiline): New
    	procedure.  Call it.

commit 60a02042bacf8d25814430080adda61ed086bca6
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 30 11:03:37 2017 +0100

    Fix failures in MMIX linker tests introduced by fix for PR 21665.
    
    	PR binutils/21665
    	* objdump.c (disassemble_section): Move check for an overlarge
    	section to just before the allocation of memory.  Do not check
    	section size against file size, but instead use an arbitrary 2Gb
    	limit.  Issue a warning message if the section is too big.

commit 4151f6842850876e93c8e5d870d7c9147065788d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 07:21:56 2017 +0100

    MIPS: Add Imagination interAptiv MR2 MIPS32r3 processor support (ChangeLog)
    
    Correct ChangeLog entry for commit 38bf472a1521 ("MIPS: Add Imagination
    interAptiv MR2 MIPS32r3 processor support").

commit 909b4e3d5fb8579b3721651c9e64a11e7ec27e5f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 07:21:56 2017 +0100

    MIPS: Add microMIPS XPA support
    
    Add support for the base and Virtualization ASE microMIPS instructions
    as per the architecture specifications[1][2][3][4].
    
    Most of this change by Andrew Bennett.
    
    [1] "MIPS Architecture for Programmers Volume II-B: The microMIPS32
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00582,
        Revision 5.04, January 15, 2014, Section 5.5 "Recoded 32-Bit
        Instructions", p. 340
    
    [2] "microMIPS32 Architecture for Programmers Volume IV-i:
        Virtualization Module of the microMIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00848, Revision 1.06,
        December 10, 2013, Section 6.1 "Overview", pp. 133, 136
    
    [3] "MIPS Architecture for Programmers Volume II-B: The microMIPS64
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00594,
        Revision 5.04, January 15, 2014, Section 5.5 "Recoded 32-Bit
        Instructions", pp. 415, 444
    
    [4] "microMIPS64 Architecture for Programmers Volume IV-i:
        Virtualization Module of the microMIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00849, Revision 1.06,
        December 10, 2013, Section 6.1 "Overview", pp. 134-135, 139-140
    
    	binutils/
    	* NEWS: Mention microMIPS XPA support.
    
    	opcodes/
    	* micromips-opc.c (XPA, XPAVZ): New macros.
    	(micromips_opcodes): Add "mfhc0", "mfhgc0", "mthc0" and
    	"mthgc0".
    
    	gas/
    	* config/tc-mips.c (mips_ases): Add microMIPS XPA support.
    	* testsuite/gas/mips/micromips@xpa.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new test.  Enable
    	`xpa-virt-err' test for `micromips'.

commit f5b2fd523f8f180e11f77b84a107279c562672cd
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 07:21:56 2017 +0100

    MIPS: Add microMIPS R5 support
    
    Add base microMIPS Release 5 ISA support and the ERETNC instruction in
    particular, as per the architecture specifications[1][2].
    
    Most of this change by Andrew Bennett.
    
    References:
    
    [1] "MIPS Architecture for Programmers Volume II-B: The microMIPS32
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00582,
        Revision 5.04, January 15, 2014, Section 5.5 "Recoded 32-Bit
        Instructions", pp. 266-267
    
    [2] "MIPS Architecture for Programmers Volume II-B: The microMIPS64
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00594,
        Revision 5.04, January 15, 2014, Section 5.5 "Recoded 32-Bit
        Instructions", pp. 326-327
    
    	binutils/
    	* NEWS: Mention microMIPS Release 5 ISA support.
    
    	opcodes/
    	* micromips-opc.c (I36): New macro.
    	(micromips_opcodes): Add "eretnc".
    
    	gas/
    	* testsuite/gas/mips/micromips@r5.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 9785fc2a4d220322ce6cd1d79e768345ea5234d2
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 07:21:55 2017 +0100

    MIPS: Fix XPA base and Virtualization ASE instruction handling
    
    Correct a commit 7d64c587c15f ("Add support for the MIPS eXtended
    Physical Address (XPA) ASE.") bug, causing XPA base and Virtualization
    ASE instructions to be wrongly always enabled with the selection of the
    MIPS32r2 or higher ISA.
    
    For example this source assembles successfully as shown below:
    
    $ cat xpa.s
    	mfhc0	$2, $1
    $ as -32 -mips32 -o xpa.o xpa.s
    xpa.s: Assembler messages:
    xpa.s:1: Error: opcode not supported on this processor: mips32 (mips32) `mfhc0 $2,$1'
    $ as -32 -mips32r2 -o xpa.o xpa.s
    $ objdump -d xpa.o
    
    xpa.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    00000000 <.text>:
       0:	40420800 	mfhc0	v0,c0_random
    	...
    $
    
    To address this issue remove the I33 (INSN_ISA32R2) marking from all XPA
    instructions in the opcode table.  Additionally, for XPA Virtualization
    ASE instructions implement an XPAVZ (ASE_XPA_VIRT) combination ASE flag
    and use it in place of IVIRT|XPA (ASE_VIRT|ASE_XPA).
    
    Now the same source is correctly rejected unless the `-mxpa' option is
    also used:
    
    $ as -32 -mips32r2 -o xpa.o xpa.s
    xpa.s: Assembler messages:
    xpa.s:1: Error: opcode not supported on this processor: mips32r2 (mips32r2) `mfhc0 $2,$1'
    $ as -32 -mips32r2 -mxpa -o xpa.o xpa.s
    $
    
    Add test cases for XPA base and XPA Virtualization ASE instructions.
    
    Parts of this change by Andrew Bennett.
    
    	include/
    	* opcode/mips.h (ASE_XPA_VIRT): New macro.
    
    	opcodes/
    	* mips-dis.c (mips_calculate_combination_ases): Handle the
    	ASE_XPA_VIRT flag.
    	(parse_mips_ase_option): New function.
    	(parse_mips_dis_option): Factor out ASE option handling to the
    	new function.  Call `mips_calculate_combination_ases'.
    	* mips-opc.c (XPAVZ): New macro.
    	(mips_builtin_opcodes): Correct ISA and ASE flags for "mfhc0",
    	"mfhgc0", "mthc0" and "mthgc0".
    
    	gas/
    	* config/tc-mips.c (mips_set_ase): Handle the ASE_XPA_VIRT flag.
    	* testsuite/gas/mips/xpa.d: Remove `xpa' from `-M' in `objdump'
    	flags.  Add `-mvirt' to `as' flags.
    	* testsuite/gas/mips/xpa-err.d: New test.
    	* testsuite/gas/mips/xpa-virt-err.d: New test.
    	* testsuite/gas/mips/xpa-err.l: New stderr output.
    	* testsuite/gas/mips/xpa-virt-err.l: New stderr output.
    	* testsuite/gas/mips/xpa-err.s: New test source.
    	* testsuite/gas/mips/xpa-virt-err.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips-xpa-virt-1.d: New test.
    	* testsuite/binutils-all/mips/mips-xpa-virt-2.d: New test.
    	* testsuite/binutils-all/mips/mips-xpa-virt-3.d: New test.
    	* testsuite/binutils-all/mips/mips-xpa-virt-4.d: New test.
    	* testsuite/binutils-all/mips/mips-xpa-virt.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.

commit 8d011e87dfa4e1719bd909b9adcbd1a0f5a75228
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jun 30 00:00:30 2017 +0000

    Automatic date update in version.in

commit 60804c53a0c365f0802e90c12dfcbe6696b861fe
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 00:55:07 2017 +0100

    MIPS/opcodes: Correctly combine ASE flags for ASE_MIPS16E2_MT calculation
    
    Correct a commit 25499ac7ee92 ("MIPS16e2: Add MIPS16e2 ASE support")
    disassembler bug with the handling of the ASE_MIPS16E2_MT combination
    ASE flag, where the calculation uses MIPS ABI Flags directly rather than
    calculated internal ASE flags.  Consequently code does not correctly set
    the ASE_MIPS16E2_MT flag when the MIPS16e2 ASE flag and the MT ASE flag
    come from different sources, i.e. one from the BFD chosen and the other
    one from MIPS ABI Flags.
    
    Fix this by using internal ASE_MT and ASE_MIPS16E2 flags in a separate
    subsequent step, factored out to a dedicated function for use with
    future combination ASE flags.  Adjust the `mips16e2@mips16e2-mt-sub.d'
    test case accordingly, where the MT flag comes from the BFD selected for
    the disassembler and the MIPS16e2 flag comes from the ELF binary itself.
    
    	opcodes/
    	* mips-dis.c (mips_calculate_combination_ases): New function.
    	(mips_convert_abiflags_ases): Factor out ASE_MIPS16E2_MT
    	calculation to the new function.
    	(set_default_mips_dis_options): Call the new function.
    
    	gas/
    	* testsuite/gas/mips/mips16e2@mips16e2-mt-sub.d: Adjust for the
    	ASE_MIPS16E2_MT flag disassembler fix.
    	* testsuite/gas/mips/mips16e2-interaptiv-mr2@mips16e2-mt-sub.d:
    	Likewise.

commit 92cebb3dbea282bbf7357ed2f3f03bc92fee8c7b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jun 30 00:55:07 2017 +0100

    MIPS/GAS: Clear the ASE_MIPS16E2_MT flag for recalculation
    
    Correct a commit 25499ac7ee92 ("MIPS16e2: Add MIPS16e2 ASE support") GAS
    bug with the handling of the ASE_MIPS16E2_MT combination ASE flag, which
    is not correctly calculated as `.set nomips16e2' and `.set nomt'
    pseudo-ops are processed.  This leads to code like:
    
    $ cat foo.s
    	.set	nomt
    	evpe
    	.align	4, 0
    $ cat bar.s
    	.set	nomips16e2
    	dvpe
    	.align	4, 0
    $
    
    to successfully assemble where it should not:
    
    $ as -32 -mips32r3 -mmt -mips16 -mmips16e2 -o foo.o foo.s
    $ as -32 -mips32r3 -mmt -mips16 -mmips16e2 -o bar.o bar.s
    $ objdump -m mips:16 -d foo.o
    
    foo.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    00000000 <.text>:
       0:	f027 6700 	evpe
    	...
    
    bar.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    00000000 <.text>:
       0:	f026 6700 	dvpe
    	...
    $
    
    This happens because ASE_MIPS16E2_MT once set in `mips_set_ase' is never
    cleared.  Fix the problem by clearing it there before it is calculated
    based on the ASE_MT and ASE_MIPS16E2 flags, making assembly fail as
    expected:
    
    $ as -32 -mips32r3 -mmt -mips16 -mmips16e2 -o foo.o foo.s
    foo.s: Assembler messages:
    foo.s:2: Error: opcode not supported on this processor: mips32r3 (mips32r3) `evpe'
    $ as -32 -mips32r3 -mmt -mips16 -mmips16e2 -o bar.o bar.s
    bar.s: Assembler messages:
    bar.s:2: Error: opcode not supported on this processor: mips32r3 (mips32r3) `dvpe'
    $
    
    	gas/
    	* config/tc-mips.c (mips_set_ase): Clear the ASE_MIPS16E2_MT
    	flag before recalculating.
    	* testsuite/gas/mips/mips16e2-mt-err.d: New test.
    	* testsuite/gas/mips/mips16e2-mt-err.l: New stderr output.
    	* testsuite/gas/mips/mips16e2-mt-err.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 3df5cd139455a1448de00e1e173f3ce566a25a48
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Jun 27 22:44:24 2017 -0700

    RISC-V: Fix TLS copy relocs
    
    The dynrelro introduction wasn't implemented quite right for RISC-V,
    as it didn't consider TLS copy relocs.
    
    bfd/ChangeLog
    
    2017-06-29  Andrew Waterman  <andrew@sifive.com>
    
            * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol): Fix TLS copy
            relocs.

commit eb17d4137dc83a373b8968cd20b256fa8073a4ca
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jun 29 15:52:38 2017 +0100

    Expression completer should not match explicit location options
    
    This commit fixes a mismatch between what "print" command completer
    thinks the command understands, and what the command actually
    understands.
    
    The explicit location options are understood by commands that take
    (linespecs and) explicit locations as argument.  I.e, breakpoint
    commands, and "list".  For example:
    
     (gdb) b -source file.c -function my_func
    
    So for those commands, it makes sense that the completer
    completes:
    
     "b -sour[TAB]" -> "b -source "
     "b -functi[TAB]" -> "b -function "
    
    etc.
    
    However, completion for commands that take expressions (not
    linespecs/locations) as arguments, such as the "print" command, also
    completes the explicit location options, even though those switches
    aren't really understood by these commands.  Instead, "-foo" is
    understood as an expression applying unary minus on a symbol named
    "foo" (think "print -1"):
    
     (gdb) p -func[TAB]
     (gdb) p -function [RET]
     No symbol "function" in current context.
    
    The patch fixes this by having the expression_completer function
    bypass the function that completes explicit locations.
    
    New regression tests included.
    
    gdb/ChangeLog:
    2017-06-29  Pedro Alves  <palves@redhat.com>
    
    	* completer.c (expression_completer): Call
    	linespec_location_completer instead of location_completer.
    
    gdb/testsuite/ChangeLog:
    2017-06-29  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/printcmds.exp: Add tests.

commit 195bcdd5183f2c137399db23a68a26a4e4193f8f
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jun 29 15:52:37 2017 +0100

    Remove old stale expression_completer hack
    
    The code in question was introduced by:
    
     https://sourceware.com/ml/gdb-patches/2008-06/msg00143.html
    
    "The fix is to make sure that the entire expression is passed to
    expression_completer, then duplicate some logic there in the case
    where location_completer is called."
    
    The logic that was duplicated was much later on removed by the
    original explicit locations patch:
    
     commit 87f0e7204722a986f79f245eee716f0870832d47
     Author:     Keith Seitz <keiths@redhat.com>
     AuthorDate: Tue Aug 11 17:09:36 2015 -0700
     Commit:     Keith Seitz <keiths@redhat.com>
     CommitDate: Tue Aug 11 17:09:36 2015 -0700
    
         Explicit locations: add UI features for CLI
    
     @@ -688,16 +880,6 @@ complete_line_internal (const char *text,
    		       rl_completer_word_break_characters =
    			 gdb_completer_file_name_break_characters;
    		     }
     -                 else if (c->completer == location_completer)
     -                   {
     -                     /* Commands which complete on locations want to
     -                        see the entire argument.  */
     -                     for (p = word;
     -                          p > tmp_command
     -                            && p[-1] != ' ' && p[-1] != '\t';
     -                          p--)
     -                       ;
     -                   }
    
    However this case in expression_completer was left behind.
    
    I couldn't come up with a test where this currently makes any
    difference.
    
    gdb/ChangeLog:
    2017-06-29  Pedro Alves  <palves@redhat.com>
    
    	* completer.c (expression_completer): Remove code that recomputes
    	'text' from 'word'.

commit 2e74f9dd8ae79ddfe7f0f84b890c962016fc8f15
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Mon Jun 19 13:27:52 2017 +0300

    [ARC] Use FOR_EACH_DISASSEMBLER_OPTION to iterate over options
    
    This patch updates arc-dis.c:parse_disassembler_options to use a macro
    FOR_EACH_DISASSEMBLER_OPTION, which has been introduced in [1], instead of a
    homegrown solution to split option string.
    
    [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=65b48a81
    
    opcodes/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <Anton.Kolesov@synopsys.com>
    
    	* arc-dis.c (parse_disassembler_options): Use
    	FOR_EACH_DISASSEMBLER_OPTION.

commit e1e94c4994151ebe0e3a103fd0d27f60bd806bbe
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Thu Jun 15 15:58:32 2017 +0300

    [ARC] Fix handling of cpu=... disassembler option value
    
    There is a bug in handling of cpu=... disassembler option in case there are
    other options after it, for example, `cpu=EM,dsp'.  In this case `EM,dsp' is
    treated as an option value, and strcasecmp reports is as non-equal to "EM".
    This is fixed by using disassembler_options_cmp function, which compares string
    treating `,' the same way as `\0'.
    
    This function also solves a problem with option order in parse_option.
    Previously, if several option had same prefix (e.g. fpud, fpuda), then the
    longer one should have been compared first, otherwise when longer option is
    passed it would be treated as a short one, because
    
      CONST_STRNEQ ("fpud", "fpuda")
    
    would be true.  The order of options was correct for ARC, so there were no
    bugs per se, but with disassembler_option_cmp there is no risk of such a bug
    being introduced in the future.
    
    opcodes/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <Anton.Kolesov@synopsys.com>
    
    	* arc-dis.c (parse_option): Use disassembler_options_cmp to compare
    	disassembler option strings.
    	(parse_cpu_option): Likewise.
    
    binutils/ChangeLog
    
    yyyy-mm-dd  Anton Kolesov  <Anton.Kolesov@synopsys.com>
    
    	* testsuite/binutils-all/arc/double_store.s: New file.
    	* testsuite/binutils-all/arc/objdump.exp: Tests for disassembler
    	options.
    	(do_objfile): New function.
    	(check_assembly): Likewise.

commit adc764e7d217d3e56af988ce20cedc98d8c4cc73
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jun 29 12:41:50 2017 +0100

    Use target_desc fields expedite_regs and xmltarget ifndef IN_PROCESS_AGENT
    
    struct target_desc is used by both GDBserver and IPA, but fields
    expedite_regs and xmltarget are only used in GDBserver, so this patch wraps
    these two fields by ifndef IN_PROCESS_AGENT.  This patch also changes
    regformats/regdat.sh to generate .c files in this way too.
    
    gdb/gdbserver:
    
    2017-06-29  Yao Qi  <yao.qi@linaro.org>
    
    	* tdesc.h (struct target_desc) [IN_PROCESS_AGENT] <expedite_regs>:
    	Remove.
    	[IN_PROCESS_AGENT] <xmltarget>: Likewise.
    
    gdb:
    
    2017-06-29  Yao Qi  <yao.qi@linaro.org>
    
    	* regformats/regdat.sh: Generate code with
    	"ifndef IN_PROCESS_AGENT".

commit ec1acaba1381d0196c45965a7db9942b67fbd88d
Author: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Date:   Thu Jun 29 04:28:27 2017 -0700

    bfd: prevent all but undef weak syms from becoming dynamic in sparc.
    
    Prevent sparc backend making symbols dynamic unless they are undefined
    weak. Use R_SPARC_RELATIVE for the symbols which are not dynamic in PIC.
    
    This patch is tested on sparc64-unknown-linux-gnu, no regressions are
    found.
    
    bfd/ChangeLog:
    
    2017-06-29  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
    
    	* elfxx-sparc.c (allocate_dynrelocs): Don't make a symbol dynamic
    	unless it is undefined weak.
    	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Set the flag
    	relative_reloc to direct non-dynamic symbols to R_SPARC_RELATIVE
    	relocation.
    	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): If symbol
            is not dynamic in PIC, abort.

commit ff07562f1e369b6e37eafb2a888dc48fa2453e86
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 29 11:47:43 2017 +0100

    [AArch64] Only override the symbol dynamic decision on undefined weak symbol
    
    This fix is an adaption of the x86-64 PR ld/21402 fix to AArch64.
    
    After the generic code deciding one symbol is not dynamic, AArch64 backend
    only overrides the decision on undefined weak symbols.
    
    bfd/
    	PR ld/21402
    	* elfnn-aarch64.c (elfNN_aarch64_allocate_dynrelocs): Only make
    	undefined weak symbols into dynamic.
    	(elfNN_aarch64_final_link_relocate): Generate runtime RELATIVE
    	relocation for non-dynamic symbols.
    	(elfNN_aarch64_finish_dynamic_symbol): Add sanity check.

commit 2aff25ba76035d2f1f48ea8a6c4b7e498ee31790
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Jun 29 11:45:24 2017 +0100

    [AArch64] Remove duplicated code when handling some GOT relocations types
    
    There are quite a few duplicated code supporting several GP based
    relocation types.  They are:
    
      BFD_RELOC_AARCH64_LD64_GOTOFF_LO15
      BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC
      BFD_RELOC_AARCH64_MOVW_GOTOFF_G1
    
    These relocation types are supposed to be used for large memory model PIC/pic
    mode under which we will have an initialized GP register points to the base of
    GOT table, then these relocations are supposed to put the distance between GOT
    entry and GOT table base address into the related instructions.
    
    So, the parameters required to calculate the relocation should be the same as
    BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15 etc, all of them are require the GOT entry
    address and GOT table base address to perform the relocation.
    
    This patch has removed those duplicated code when handling above listed
    relocation types,  grouped them with others as relocation types that are
    require GOT table base address during performing relocation, reused the
    existed GOT handling code.
    
    The relocation calculation for these types before and after this patch should be
    identical.
    
    bfd/
    	* elfnn-aarch64.c (aarch64_relocation_aginst_gp_p): New function.
    	(elfNN_aarch64_final_link_relocate): Delete duplicated code for
    	BFD_RELOC_AARCH64_LD64_GOTOFF_LO15, BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC,
    	BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
    	* elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Optimize the
    	support for them.

commit 88ab90e860a46a1123fcfd13bfe51cd360e9c3f7
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Jun 29 10:30:09 2017 +0200

    S390: Support guarded-storage core note sections
    
    Newer Linux kernel versions offer two new register sets in support of the
    z/Architecture's guarded storage facility: NT_S390_GS_CB, the
    "guarded-storage registers", and NT_S390_GS_BC, the "guarded-storage
    broadcast control block".  This patch adds support for the respective core
    notes sections to binutils.
    
    bfd/ChangeLog:
    	* elf-bfd.h (elfcore_write_s390_gs_cb): Add prototype.
    	(elfcore_write_s390_gs_bc): Likewise.
    	* elf.c (elfcore_grok_s390_gs_cb): New function.
    	(elfcore_grok_s390_gs_bc): New function.
    	(elfcore_grok_note): Call them.
    	(elfcore_write_s390_gs_cb): New function.
    	(elfcore_write_s390_gs_bc): New function.
    	(elfcore_write_register_note): Call them.
    
    binutils/ChangeLog:
    	* readelf.c (get_note_type): Add NT_S390_GS_CB and NT_S390_GS_BC.
    
    include/ChangeLog:
    	* elf/common.h (NT_S390_GS_CB): New macro.
    	(NT_S390_GS_BC): Likewise.

commit 1b19ec971047a074486e6b775dc1969aa13f30fb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jun 29 00:01:02 2017 +0000

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

commit a6205d0c6d3eef955384db5bbc66e6e517c0af80
Merge: 6f8f1a8 a4d1e79
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 27 07:56:51 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

commit 6f8f1a82b0417f5e5fc45aee5eabf9aa20aa30e4
Merge: 90d076a 0630b49
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 26 09:32:21 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

commit 90d076ad8d5aa6179936cd31defc9086ebd02064
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 26 07:55:35 2017 -0700

    Revert "Apply Check unsupported .symver with common symbol"
    
    This reverts commit df4e92b91edd1abe4b223a02dac984d8e983d551.
    
    A different fix has been checked into master branch.

commit a341068d43f1114a971b3ba0816ea1d0a2b9e0c3
Merge: df4e92b 873c081
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 26 07:54:19 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Add pgste marker changelog

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

commit df4e92b91edd1abe4b223a02dac984d8e983d551
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 23 12:14:40 2017 -0700

    Apply Check unsupported .symver with common symbol

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

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

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

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

commit 8c0498422c17530407d36b4e8a3019a956d654dc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 23 08:36:16 2017 -0700

    Revert "Apply patches for IBT and SHSTK from CET"
    
    This reverts commit d89026862568260f488db8386c73107a0644c911.
    
    They have been checked into master branch.

commit 177d1eb5bc866f3b3353531de84a794b2c16db0f
Merge: d890268 4aa57d6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jun 23 08:36:05 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

    Add missing ChangeLog entries

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

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

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

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

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

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

commit d89026862568260f488db8386c73107a0644c911
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 09:29:50 2017 -0700

    Apply patches for IBT and SHSTK from CET

commit 46821f2d2ffdf91383b06ff17f6dcc1997eaf696
Merge: 0fd1bd5 2234eee
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 21 09:27:01 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

commit 0fd1bd55f30e50145676658f4774030f93471a66
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 19 04:51:28 2017 -0700

    Update binutils-secondary.patch against master

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

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

commit 2214c37f39b84aef41e8afdee9512a732e7824c7
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 19 04:43:06 2017 -0700

    Revert "Apply ELF: Hide .startof.SECNAME and .sizeof.SECNAME"
    
    This reverts commit 5d6ac75b90206f705e39f6332d5acd78ee87e384.
    
    A different patch has been checked into master branch.

commit a5bd768893fe967097ecddc5e0920c349b7549b1
Merge: 5d6ac75 72e84f9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 19 04:42:51 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

commit 5d6ac75b90206f705e39f6332d5acd78ee87e384
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 08:13:10 2017 -0700

    Apply ELF: Hide .startof.SECNAME and .sizeof.SECNAME

commit 38a176354d6e2057f946066f090e8e5a79945040
Merge: 8dc293b 99031ba
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 14 07:43:46 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

commit 8dc293b8817855935621f25094a7dd21e1e7668b
Merge: 5139a55 b27685f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 13:06:39 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

commit 5139a5534bd5e2b624659242f8d711921a3733f5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 12:13:25 2017 -0700

    Revert "Apply Always define referenced __start_SECNAME/__stop_SECNAME"
    
    This reverts commit 05db746594ecd5d8e612748aef843dac866eaeac.
    
    This patch has been checked into master.

commit 7196419c816d91c27aeed690a9aa203dc53daaee
Merge: 05db746 da61436
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jun 13 12:13:03 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

commit 05db746594ecd5d8e612748aef843dac866eaeac
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 12 07:54:43 2017 -0700

    Apply Always define referenced __start_SECNAME/__stop_SECNAME

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

commit ca0273cb90ba27b4235bc8f9b138f53b0fca933b
Merge: acedbbe 5c3ce2b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 12 07:42:32 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit acedbbed171fe376aea0723d71de4574b4f4a9d0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jun 12 07:41:02 2017 -0700

    Revert "Apply x86: Add -z print-local-ifuncs to ELF linker"
    
    This reverts commit 4ed1dc64dbc2fca248738df5d6e1ae3211431282, which has
    been superseded by
    
    commit 6322e5c5cb7ffe1c26c50f117765503717b0431c
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Wed Jun 7 21:18:01 2017 -0700
    
        x86: Dump local IFUNC functions in the map file
    
        Dump local IFUNC functions in the map file when generating IRELATIVE
        relocations if -Map is used.

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

    Automatic date update in version.in

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    cl

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

commit 4ed1dc64dbc2fca248738df5d6e1ae3211431282
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 7 07:25:14 2017 -0700

    Apply x86: Add -z print-local-ifuncs to ELF linker

commit f1e3ee7708e94998c632af2c4f6df20de1dc8c0c
Merge: 09b2564 2d7cc5c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 7 07:22:52 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

    Automatic date update in version.in

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

    Correct ChangeLog entry date.

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

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

commit 09b25649e6e2dd04c74392e35a2372a795bb4e79
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 1 08:30:54 2017 -0700

    Revert "Apply "Add bfd_get_file_size to get archive element size""
    
    This reverts commit 4835dcc585d6ca51de4a6a1d098decb37cc4438c.
    
    This has been checked into master branch.

commit 6c3bea8d9c3235725bfe5b616bb163d00b0d831c
Merge: 4835dcc f378ab0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jun 1 08:30:21 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

    btrace: Store function segments as objects.

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

    btrace: Remove bfun_s vector.

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

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

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

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

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

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

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

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

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

    btrace: Remove constant arguments.

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

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

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

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

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

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

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

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

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

    btrace: Use std::vector in struct btrace_thread_information.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

    Automatic date update in version.in

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

    Automatic date update in version.in

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

    Automatic date update in version.in

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

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

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

    Automatic date update in version.in

commit 4835dcc585d6ca51de4a6a1d098decb37cc4438c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 25 09:59:42 2017 -0700

    Apply "Add bfd_get_file_size to get archive element size"

commit 138f93c31466b019444dfe805da96ea0ce1462c4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 25 09:57:36 2017 -0700

    Revert "Apply "x86: Add NOTRACK prefix support""
    
    This reverts commit 65991d2bc187340ff60690885ee1d3b160766129.
    
    It has been checked into master branch.

commit 1938a6c74e0e279d1ec154615f286f395e1f2c9e
Merge: 50fee3f 64aaf98
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 25 09:57:12 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

    Automatic date update in version.in

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

commit 50fee3f02dd886e1327c0cb4ecd0b4c1a49e73b4
Merge: 64d3b4b 92f7d78
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 19 08:49:06 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

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

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

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

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

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

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

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

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

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

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

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

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

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

    fix changelog typo

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

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

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

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

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

    Automatic date update in version.in

commit 64d3b4b29bfd54982b69dd7cd5c5648d6cb1ccbe
Merge: 8ec8bfe b7c871e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 17 08:07:23 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

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

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

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

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

    Automatic date update in version.in

commit 8ec8bfeee03e74b9dadb3670fbccecdc6d22465f
Merge: 4ef0d1b 8540623
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 09:10:04 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

    Fix commit 0a7d38897b9fb1ec7a064ca3347cbac3ba49e5ac

commit 4ef0d1b8a1ded47ef49cbc7ae3023d7f034c43dd
Merge: 65991d2 0a7d388
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 08:54:47 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

commit 65991d2bc187340ff60690885ee1d3b160766129
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 08:46:43 2017 -0700

    Apply "x86: Add NOTRACK prefix support"

commit 046ab4dbee70e396e51788a76963d1980b93f348
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 08:39:07 2017 -0700

    Revert "Apply "x86: Generate PLT relocations for -z now""
    
    This reverts commit 749d3c7c257fab706b19182dfd9022ee6ccb4784.
    
    This patch has been checked into master branch.

commit 811c11264e9d23bd95d4dbeb29c1a6f4fba96e25
Merge: 749d3c7 91cb980
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 16 08:38:03 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

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

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

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

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

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

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

    Automatic date update in version.in

commit 0c38a3d1942067100580e9673bcf0cbe27f3d6e8
Author: Eric Christopher <echristo@gmail.com>
Date:   Mon May 15 15:59:52 2017 -0700

    2017-05-15  Eric Christopher <echristo@gmail.com>
    
            * layout.cc (Layout::segment_precedes): Add a case for testing
            pointer equality when determining which segment precedes
            another.

commit d8cbc93b65ace8a36002839d5ee944efff59d643
Author: Jeff Law <law@redhat.com>
Date:   Mon May 15 10:48:41 2017 -0600

    2017-05-15  Jeff Law  <law@redhat.com>
    
    	* readelf.c (display_arc_attribute): Avoid implicit fallthru.

commit 52a86f843b6dee1de9977293da9786649b146b05
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon May 15 15:29:02 2017 +0100

    Fix use of ARM ADR and ADRl pseudo-instructions with thumb function symbols.
    
    	PR gas/21458
    	* config/tc-arm.c (do_adr): If the ADR involves a thumb function
    	symbol, ensure that the T bit will be set.
    	(do_adrl): Likewise.
    	(do_t_adr): Likewise.
    	* testsuite/gas/arm/pr21458.s: New test.
    	* testsuite/gas/arm/pr21458.d: New test driver.

commit b32465c97c12cc6049cefcde1beb3e2bfbfa232c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:52:04 2017 +0100

    MIPS16e2: Add new MIPS16e2 relaxation GAS and LD tests
    
    Verify MIPS16 PC-relative instruction relaxation using the MIPS16e2 LUI
    instruction rather than an LI/SLL instruction pair.
    
    	gas/
    	* testsuite/gas/mips/mips16-pcrel-1.d: Remove `-mips3' from `as'
    	flags.
    	* testsuite/gas/mips/mips16-pcrel-pic-1.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-n64-0.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-n64-1.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-reloc-4.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-reloc-5.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-reloc-6.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-reloc-7.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-4.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-5.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-6.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-7.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-2.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-3.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-7.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d:
    	Likewise.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-2.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-2.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-3.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-6.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-reloc-7.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-2.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-3.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-6.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-7.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-8.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-9.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n32-8.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n32-9.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n64-sym32-8.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-addend-n64-sym32-9.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-1.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-2.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-3.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-4.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-5.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-6.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-7.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-4.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-6.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n32-4.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n32-6.d: New
    	test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n64-sym32-4.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-n64-sym32-6.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n32-4.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n32-6.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n64-sym32-4.d:
    	New test.
    	* testsuite/gas/mips/mips16e2@mips16-pcrel-absolute-pic-n64-sym32-6.d:
    	New test.
    	* testsuite/gas/mips/mips16-pcrel-1.l: Adjust line numbers.
    	* testsuite/gas/mips/mips16-pcrel-1.s: Adjust for alignment
    	preservation between MIPS16 and MIPS16e2 code.
    	* testsuite/gas/mips/mips.exp: Run MIPS16 relaxation tests over
    	all MIPS16 architectures.
    
    	ld/
    	* testsuite/ld-mips-elf/mips16e2-pcrel-0.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-1.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-addend-2.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-addend-6.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-n32-0.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-n32-1.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-n64-sym32-0.d: New test.
    	* testsuite/ld-mips-elf/mips16e2-pcrel-n64-sym32-1.d: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 3f3467ffc4b0a397a7017b8ab729e4c0060b25f0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:45:42 2017 +0100

    MIPS16e2: Add new MIPS16e2 ASE binutils and GAS tests
    
    Verify MIPS16e2 ASE instruction assembly, disassembly and object file
    flags.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-undecoded.d: Add `-mips3'
    	to `as' flags.
    	* testsuite/binutils-all/mips/mips16e2-undecoded.d: New test.
    	* testsuite/binutils-all/mips/mips16e2-extend-insn.d: New test.
    	* testsuite/binutils-all/mips/mips16-undecoded.s: Remove
    	`.module mips3'.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.
    
    	gas/
    	* testsuite/gas/mips/mips16e2.d: New test.
    	* testsuite/gas/mips/mips16e2-mt.d: New test.
    	* testsuite/gas/mips/mips16e2-sub.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16e2-sub.d: New test.
    	* testsuite/gas/mips/mips16e2-mt-sub.d: New test.
    	* testsuite/gas/mips/mips16e2@mips16e2-mt-sub.d: New test.
    	* testsuite/gas/mips/mips16e2-hilo.d: New test.
    	* testsuite/gas/mips/mips16e2-hilo-n32.d: New test.
    	* testsuite/gas/mips/mips16e2-reloc-error.d: New test.
    	* testsuite/gas/mips/mips16e2-imm-error.d: New test.
    	* testsuite/gas/mips/elf_ase_mips16e2.d: New test.
    	* testsuite/gas/mips/elf_ase_mips16e2-2.d: New test.
    	* testsuite/gas/mips/elf-rel9-mips16e2.d: New test.
    	* testsuite/gas/mips/mips16e2-lui.d: New test.
    	* testsuite/gas/mips/mips16e2@mips32r2-sync.d: New test.
    	* testsuite/gas/mips/mips16e2@mips32r2-sync-1.d: New test.
    	* testsuite/gas/mips/mips16e2@lui-2.d: New test.
    	* testsuite/gas/mips/mips16e2-reloc-error.l: New stderr output.
    	* testsuite/gas/mips/mips16e2-imm-error.l: New stderr output.
    	* testsuite/gas/mips/mips16e2@lui-2.l: New stderr output.
    	* testsuite/gas/mips/mips16e2.s: New test source.
    	* testsuite/gas/mips/mips16e2-mt.s: New test source.
    	* testsuite/gas/mips/mips16e2-sub.s: New test source.
    	* testsuite/gas/mips/mips16e2-mt-sub.s: New test source.
    	* testsuite/gas/mips/mips16e2-hilo.s: New test source.
    	* testsuite/gas/mips/mips16e2-reloc-error.s: New test source.
    	* testsuite/gas/mips/mips16e2-imm-error.s: New test source.
    	* testsuite/gas/mips/elf-rel9-mips16e2.s: New test source.
    	* testsuite/gas/mips/mips16e2-lui.s: New test source.
    	* testsuite/gas/mips/mips.exp: Expand `mips32r2-sync',
    	`mips32r2-sync-1', `lui-1' and `lui-2' tests across MIPS16e2
    	architectures.  Run the new tests.

commit 70ab592fbae1725ac576012dd1242328e20e664a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:40:50 2017 +0100

    MIPS16e2: Add MIPS16e2 ASE GAS test infrastructure
    
    Define a new 32-bit and 64-bit MIPS16e2 test architecture and adjust
    existing tests now run against these architectures accordingly.
    
    	gas/
    	* testsuite/gas/mips/mips.exp (run_dump_test_arch): Add
    	`mips16e2@' prefix.
    	(run_list_test_arch): Likewise.
    	(mips16e2-32, mips16e2-64): New architectures.
    	* testsuite/gas/mips/mips16e2-32@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16e-64.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16e2-32@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16e2@relax-swap3.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-asmacro.d: Remove `source'
    	tag.  Add `-I$srcdir/$subdir' to `as' flags.
    	* testsuite/gas/mips/mips16-64@mips16-asmacro.d: Likewise.
    	* testsuite/gas/mips/mips16e2-32@mips16-macro.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e2-32@mips16-macro-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e2-32@mips16-macro-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e2-32@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e2-32@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-sub.s: Add `.set nomips16e2'.
    	* testsuite/gas/mips/mips16e-sub.s: Likewise.
    	* testsuite/gas/mips/mips16e-64-sub.s: Likewise.
    	* testsuite/gas/mips/mips16-asmacro.s: Remove `.set mips32'.
    	* testsuite/gas/mips/mips16-32@mips16-asmacro.s: New test
    	source.
    	* testsuite/gas/mips/mips16-64@mips16-asmacro.s: New test
    	source.

commit 25499ac7ee92bca177c9436383ee167d6a220066
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:26:01 2017 +0100

    MIPS16e2: Add MIPS16e2 ASE support
    
    Add MIPS16e2 ASE support as per the architecture specification[1],
    including in particular:
    
    1. A new ELF ASE flag to mark MIPS16e2 binaries.
    
    2. MIPS16e2 instruction assembly support, including a relaxation update
       to use LUI rather than an LI/SLL instruction pair for loading the
       high part of 32-bit addresses.
    
    3. MIPS16e2 instruction disassembly support, including updated rules for
       extended forms of instructions that are now subdecoded and therefore
       do not alias to the original MIPS16 ISA revision instructions even
       for encodings that are not valid in the MIPS16e2 instruction set.
    
    Add `-mmips16e2' and `-mno-mips16e2' GAS command-line options and their
    corresponding `mips16e2' and `no-mips16e2' settings for the `.set' and
    `.module' pseudo-ops.  Control the availability of the MT ASE subset of
    the MIPS16e2 instruction set with a combination of these controls and
    the preexisting MT ASE controls.
    
    Parts of this change by Matthew Fortune and Andrew Bennett.
    
    References:
    
    [1] "MIPS32 Architecture for Programmers: MIPS16e2 Application-Specific
        Extension Technical Reference Manual", Imagination Technologies
        Ltd., Document Number: MD01172, Revision 01.00, April 26, 2016
    
    	include/
    	* elf/mips.h (AFL_ASE_MIPS16E2): New macro.
    	(AFL_ASE_MASK): Adjust accordingly.
    	* opcode/mips.h: Document new operand codes defined.
    	(mips_operand_type): Add OP_REG28 enum value.
    	(INSN2_SHORT_ONLY): Update description.
    	(ASE_MIPS16E2, ASE_MIPS16E2_MT): New macros.
    
    	bfd/
    	* elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
    
    	opcodes/
    	* mips-dis.c (mips_arch_choices): Add ASE_MIPS16E2 and
    	ASE_MIPS16E2_MT flags to the unnamed MIPS16 entry.
    	(mips_convert_abiflags_ases): Handle the AFL_ASE_MIPS16E2 flag.
    	(print_insn_arg) <OP_REG28>: Add handler.
    	(validate_insn_args) <OP_REG28>: Handle.
    	(print_mips16_insn_arg): Handle MIPS16 instructions that require
    	32-bit encoding and 9-bit immediates.
    	(print_insn_mips16): Handle MIPS16 instructions that require
    	32-bit encoding and MFC0/MTC0 operand decoding.
    	* mips16-opc.c (decode_mips16_operand) <'>', '9', 'G', 'N', 'O'>
    	<'Q', 'T', 'b', 'c', 'd', 'r', 'u'>: Add handlers.
    	(RD_C0, WR_C0, E2, E2MT): New macros.
    	(mips16_opcodes): Add entries for MIPS16e2 instructions:
    	GP-relative "addiu" and its "addu" spelling, "andi", "cache",
    	"di", "ehb", "ei", "ext", "ins", GP-relative "lb", "lbu", "lh",
    	"lhu", and "lw" instructions, "ll", "lui", "lwl", "lwr", "mfc0",
    	"movn", "movtn", "movtz", "movz", "mtc0", "ori", "pause",
    	"pref", "rdhwr", "sc", GP-relative "sb", "sh" and "sw"
    	instructions, "swl", "swr", "sync" and its "sync_acquire",
    	"sync_mb", "sync_release", "sync_rmb" and "sync_wmb" aliases,
    	"xori", "dmt", "dvpe", "emt" and "evpe".  Add split
    	regular/extended entries for original MIPS16 ISA revision
    	instructions whose extended forms are subdecoded in the MIPS16e2
    	ISA revision: "li", "sll" and "srl".
    
    	binutils/
    	* readelf.c (print_mips_ases): Handle MIPS16e2 ASE.
    	* NEWS: Mention MIPS16e2 ASE support.
    
    	gas/
    	* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `e2' flag.
    	(RELAX_MIPS16_E2): New macro.
    	(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO)
    	(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
    	(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
    	(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
    	(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
    	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
    	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED, RELAX_MIPS16_MACRO)
    	(RELAX_MIPS16_MARK_MACRO, RELAX_MIPS16_CLEAR_MACRO): Shift bits.
    	(mips16_immed_extend): New prototype.
    	(options): Add OPTION_MIPS16E2 and OPTION_NO_MIPS16E2 enum
    	values.
    	(md_longopts): Add "mmips16e2" and "mno-mips16e2" options.
    	(mips_ases): Add "mips16e2" entry.
    	(mips_set_ase): Handle MIPS16e2 ASE.
    	(insn_insert_operand): Explicitly handle immediates with MIPS16
    	instructions that require 32-bit encoding.
    	(is_opcode_valid_16): Pass enabled ASE bitmask on to
    	`opcode_is_member'.
    	(validate_mips_insn): Explicitly handle immediates with MIPS16
    	instructions that require 32-bit encoding.
    	(operand_reg_mask) <OP_REG28>: Add handler.
    	(match_reg28_operand): New function.
    	(match_operand) <OP_REG28>: Add handler.
    	(append_insn): Pass ASE_MIPS16E2 setting to RELAX_MIPS16_ENCODE.
    	(match_mips16_insn): Handle MIPS16 instructions that require
    	32-bit encoding and `V' and `u' operand codes.
    	(mips16_ip): Allow any characters except from `.' in opcodes.
    	(mips16_immed_extend): Handle 9-bit immediates.  Do not shuffle
    	immediates whose width is not one of these listed.
    	(md_estimate_size_before_relax): Handle MIPS16e2 relaxation.
    	(mips_relax_frag): Likewise.
    	(md_convert_frag): Likewise.
    	(mips_convert_ase_flags): Handle MIPS16e2 ASE.
    
    	* doc/as.texinfo (Target MIPS options): Add `-mmips16e2' and
    	`-mno-mips16e2' options.
    	(-mmips16e2, -mno-mips16e2): New options.
    	* doc/c-mips.texi (MIPS Options): Add `-mmips16e2' and
    	`-mno-mips16e2' options.
    	(MIPS ASE Instruction Generation Overrides): Add `.set mips16e2'
    	and `.set nomips16e2'.

commit 20c59b843a90300e5f9e07add83f5c72c8f994a6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:21:01 2017 +0100

    MIPS16/GAS: Improve [32768,65535] out-of-range operand error diagnostics
    
    Improve out-of-range operand error diagnostics for invalid values in the
    [32768,65535] range used for a signed 16-bit immediate, making the
    message consistent with that used for other invalid values, e.g.:
    
    foo.s:1: Error: operand 2 must be an immediate expression `addiu $2,$gp,32768'
    foo.s:2: Error: invalid operands `lw $2,32768($gp)'
    
    vs:
    
    foo.s:3: Error: operand 3 out of range `addiu $2,$gp,-32769'
    foo.s:4: Error: operand 2 out of range `lw $2,-32769($gp)'
    
    This case does not currently trigger however, for two reasons.
    
    First, for regular MIPS and microMIPS assembly in the case of no match
    caused by `match_int_operand' here, the function is always called again
    from `mips_ip' via `match_insns', `match_insn' and then `match_operand'
    for the same opcode table's entry with `lax_match' set to TRUE, in which
    case the attempt to match succeeds and no error is issued.
    
    Second, in the case of MIPS16 assembly no call to `match_int_operand' is
    made at all for signed 16-bit immediates, because such immediates are
    currently only matched with extensible instructions, and these are
    handled in `match_mips16_insn' via `match_expression' directly rather
    than via `match_operand'.
    
    This will change for MIPS16 code with MIPS16e2 support introduced, where
    non-extensible instructions accepting signed 16-bit immediates will be
    added, so make the case work well right from the start:
    
    foo.s:1: Error: operand 3 out of range `addiu $2,$gp,32768'
    foo.s:2: Error: operand 2 out of range `lw $2,32768($gp)'
    
    	gas/
    	* config/tc-mips.c (match_int_operand): Call
    	`match_out_of_range' before returning failure for 0x8000-0xffff
    	values conditionally allowed.

commit 602b88e3ab372729b53d130068f069dd363032db
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:19:20 2017 +0100

    MIPS16/GAS: Improve non-constant operand error diagnostics
    
    Improve operand error diagnostics for non-constant expressions used for
    a 16-bit immediate, making the message more descriptive and indicating
    the offending operand, e.g.:
    
    foo.s:1: Error: invalid operands `lui $2,foo-bar'
    
    will show as:
    
    foo.s:1: Error: operand 2 must be constant `lui $2,foo-bar'
    
    This case does not currently trigger however, for two reasons.
    
    First, for regular MIPS and microMIPS assembly in the case of no match
    caused by `match_int_operand' here, the function is always called again
    from `mips_ip' via `match_insns', `match_insn' and then `match_operand'
    for the same opcode table's entry with `lax_match' set to TRUE, in which
    case the attempt to match succeeds and no error is issued.
    
    Second, in the case of MIPS16 assembly no call to `match_int_operand' is
    made at all for 16-bit immediates, because such immediates are currently
    only matched with extensible instructions, and these are handled in
    `match_mips16_insn' via `match_expression' directly rather than via
    `match_operand'.
    
    This will change for MIPS16 code with MIPS16e2 support introduced, where
    non-extensible instructions accepting 16-bit immediates will be added,
    so make the case work well right from the start.
    
    	gas/
    	* config/tc-mips.c (match_int_operand): Call
    	`match_not_constant' before returning failure for a non-constant
    	16-bit immediate conditionally allowed.

commit c96425c560d640df9c416ff4e6a8c49c1f3b1119
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:17:18 2017 +0100

    MIPS/GAS: Improve bignum operand error diagnostics
    
    Improve bignum operand error diagnostics for cases where a constant
    would be accepted and report them as range errors, also indicating the
    offending operand and instruction, e.g.:
    
    $ cat bignum.s
    	addiu	$2, 0x10000000000000000
    	break	0x10000000000000000
    $ as -o bignum.o bignum.s
    bignum.s:1: Error: bignum invalid
    bignum.s:2: Error: operand 1 must be constant `break 0x10000000000000000'
    $
    
    now show as:
    
    $ as -o bignum.o bignum.s
    bignum.s:1: Error: operand 2 out of range `addiu $2,0x10000000000000000'
    bignum.s:2: Error: operand 1 out of range `break 0x10000000000000000'
    $
    
    	gas/
    	* config/tc-mips.c (match_const_int): Call `match_out_of_range'
    	rather than `match_not_constant' for unrelocated operands
    	retrieved as an `O_big' expression.
    	(match_int_operand): Call `match_out_of_range' for relocatable
    	operands retrieved as an `O_big' expression.
    	(match_mips16_insn): Call `match_out_of_range' for relaxable
    	operands retrieved as an `O_big' expression.
    	* testsuite/gas/mips/addiu-error.d: New test.
    	* testsuite/gas/mips/mips16@addiu-error.d: New test.
    	* testsuite/gas/mips/micromips@addiu-error.d: New test.
    	* testsuite/gas/mips/break-error.d: New test.
    	* testsuite/gas/mips/lui-1.l: Adjust error message.
    	* testsuite/gas/mips/addiu-error.l: New stderr output.
    	* testsuite/gas/mips/mips16@addiu-error.l: New stderr output.
    	* testsuite/gas/mips/micromips@addiu-error.l: New stderr output.
    	* testsuite/gas/mips/break-error.l: New stderr output.
    	* testsuite/gas/mips/addiu-error.s: New test source.
    	* testsuite/gas/mips/break-error.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 1a7bf198b67c4b99e9adeaeba38c6874ec354c12
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:13:41 2017 +0100

    MIPS16/GAS: Improve non-immediate operand error diagnostics
    
    Improve non-immediate operand error diagnostics for extensible MIPS16
    instructions and make it match corresponding regular MIPS and microMIPS
    handling, e.g:
    
    $ cat addiu.s
            addiu    $4, $3, $2
    $ as -o addiu.o addiu.s
    addiu.s: Assembler messages:
    addiu.s:1: Error: operand 3 must be an immediate expression `addiu $4,$3,$2'
    $ as -mips16 -o addiu.o addiu.s
    addiu.s: Assembler messages:
    addiu.s:1: Error: invalid operands `addiu $4,$3,$2'
    $
    
    To do so observe that for extensible MIPS16 instructions and a non-PC
    relative operand this case is handled by an explicit OT_INTEGER check in
    `match_mips16_insn' returning a failure right away and consequently
    preventing a call to `match_expression' from being made.  As from commit
    d436c1c2e889 ("Improve error reporting for register expressions"),
    <https://sourceware.org/ml/binutils/2013-08/msg00134.html>, however the
    check has become redundant as `match_expression' now only ever returns
    success for OT_INTEGER argument tokens, and a special case of an OT_CHAR
    `(' token already handled by `match_mips16_insn' just ahead of the
    `match_expression' call.  Previously it also returned success for OT_REG
    argument tokens.
    
    Let the call to `match_expression' always happen then, yielding the same
    failure for the affected cases, however with more accurate diagnostics
    provided by the call making reporting consistent:
    
    $ as -mips16 -o addiu.o addiu.s
    addiu.s: Assembler messages:
    addiu.s:1: Error: operand 3 must be an immediate expression `addiu $4,$3,$2'
    $
    
    	gas/
    	* config/tc-mips.c (match_mips16_insn): Remove the explicit
    	OT_INTEGER check before the `match_expression' call.
    	* testsuite/gas/mips/mips16-insn-e.l: Adjust messages.
    	* testsuite/gas/mips/mips16-32@mips16-insn-e.l: Likewise.
    	* testsuite/gas/mips/mips16-64@mips16-insn-e.l: Likewise.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-e.l: Likewise.
    	* testsuite/gas/mips/mips16-reg-error.d: New test.
    	* testsuite/gas/mips/mips16-reg-error.l: New stderr output.
    	* testsuite/gas/mips/mips16-reg-error.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit e295202f606accec7623c961997a295a8e680247
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:09:37 2017 +0100

    MIPS16/GAS: Improve disallowed relocation operand error diagnostics
    
    Improve disallowed relocation operand error diagnostics for MIPS16 code
    and make it match corresponding regular MIPS and microMIPS handling,
    e.g:
    
    $ cat sltu.s
    	sltu	$2, %lo(foo)
    $ as -o sltu.o sltu.s
    sltu.s: Assembler messages:
    sltu.s:1: Error: operand 2 must be constant `sltu $2,%lo(foo)'
    $ as -mips16 -o sltu.o sltu.s
    sltu.s: Assembler messages:
    sltu.s:1: Error: invalid operands `sltu $2,%lo(foo)'
    $
    
    To do so call `match_not_constant' from `match_mips16_insn' whenever a
    disallowed relocation operation has been noticed, like `match_const_int'
    does, making reporting consistent:
    
    $ as -mips16 -o sltu.o sltu.s
    sltu.s: Assembler messages:
    sltu.s:1: Error: operand 2 must be constant `sltu $2,%lo(foo)'
    $
    
    	gas/
    	* config/tc-mips.c (match_mips16_insn): Call
    	`match_not_constant' for a disallowed relocation operation.
    	* testsuite/gas/mips/mips16-reloc-error.d: New test.
    	* testsuite/gas/mips/mips16-reloc-error.l: New stderr output.
    	* testsuite/gas/mips/mips16-reloc-error.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit c76081bc874d7d41eb6f41ea79a4ac0f906467d0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:06:54 2017 +0100

    MIPS/GAS/testsuite: Convert LUI list tests to dump tests
    
    	gas/
    	* testsuite/gas/mips/lui-1.d: New test.
    	* testsuite/gas/mips/lui-2.d: New test.
    	* gas/testsuite/gas/mips/mips.exp: Fold corresponding list tests
    	into the new tests.

commit fdfb475260daf591d05407ea7affa39122a5b7f6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:04:19 2017 +0100

    MIPS/opcodes: Remove an incorrect MT ASE reference in MFC0/MTC0 decoding
    
    The `sel' operand of CP0 move instructions is a part of the base ISA and
    has nothing to do with the MT ASE.
    
    	opcodes/
    	* mips-dis.c (print_insn_args) <default>: Remove an MT ASE
    	reference in CP0 move operand decoding.

commit a54d5f8bb3eb4772a94779a5d37b644aeee72bca
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 13:02:16 2017 +0100

    MIPS/GAS: Update `match_const_int' description
    
    Remove a stale reference to FALLBACK parameter from the description of
    `match_const_int', matching commit 1a00e61226b3 ("Remove soft_match"),
    <https://sourceware.org/ml/binutils/2013-08/msg00133.html>.
    
    	gas/
    	* config/tc-mips.c (match_const_int): Update description.

commit 32035f5151b6ec76af0b62d9db8774b76eddc091
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon May 15 12:47:26 2017 +0100

    MIPS/GAS/doc: Refer to `.module' rather than `.set'
    
    Complement commit 919731affbef ("Add MIPS .module directive") and update
    the GAS manual to refer to the `.module' rather than `.set' directive in
    command-line option descriptions, following an observation that unlike
    `.set' and like the respective command-line option the use of the
    `.module' directive affects the ISA and ASE flags recorded in the object
    file produced, and therefore it is `.module' rather than `.set' that
    corresponds to the respective command-line option.
    
    	gas/
    	* doc/as.texinfo (-mips16, -no-mips16): Refer to `.module
    	mips16' rather than `.set mips16'.
    	(-mmicromips, -mno-micromips): Refer to `.module micromips' and
    	`.module nomicromips' rather than `.set micromips' and `.set
    	nomicromips'.
    	(-msmartmips, -mno-smartmips): Refer to `.module smartmips'
    	rather than `.set smartmips'.
    	* doc/c-mips.texi (MIPS Options): Refer to `.module mips16',
    	`.module micromips', `.module nomicromips' and `.module
    	smartmips' rather than `.set mips16', `.set micromips', `.set
    	nomicromips' and `.set smartmips' respectively.

commit 5f2ad7a3c73fcec0a7891794eb5aade73bac8523
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Mon May 15 14:43:15 2017 +0200

    Fix gdb procfs.c compilation on Solaris
    
    Prompted by the creation of the gdb 8.0 branch, I tried to build it on
    x86_64-pc-solaris2.12, but failed:
    
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/procfs.c: In function `target_ops* procfs_target()':
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/procfs.c:186:27: error: invalid conversion from `void (*)(target_ops*, char*, char*, char**, int)' to `void (*)(target_ops*, const char*, const string&, char**, int) {aka void (*)(target_ops*, const char*, const std::__cxx11::basic_string<char>&, char**, int)}' [-fpermissive]
       t->to_create_inferior = procfs_create_inferior;
                               ^~~~~~~~~~~~~~~~~~~~~~
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/procfs.c: At global scope:
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/procfs.c:125:13: warning: `void procfs_create_inferior(target_ops*, char*, char*, char**, int)' declared `static' but never defined [-Wunused-function]
     static void procfs_create_inferior (struct target_ops *, char *,
                 ^~~~~~~~~~~~~~~~~~~~~~
    /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/procfs.c:4529:1: warning: `void procfs_create_inferior(target_ops*, const char*, const string&, char**, int)' defined but not used [-Wunused-function]
     procfs_create_inferior (struct target_ops *ops, const char *exec_file,
     ^~~~~~~~~~~~~~~~~~~~~~
    
    This can easily be fixed by the following patch.
    
    	* procfs.c (procfs_create_inferior): Change prototype to match
    	definition.

commit 786e3eba7915df35df1d98a300e06f757336c75b
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon May 15 13:12:49 2017 +0100

    Add .debug_gdb_scripts section to PE linker scripts.
    
    	PR ld/21459
    	* scripttempl/pe.sc: Add .debug_gdb_scripts section.
    	* scripttempl/pep.sc: Likewise.

commit fba2af917d78bb1d8ef0d508b9246ad32fed1afd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 15 00:00:38 2017 +0000

    Automatic date update in version.in

commit cd85e51ad3921eabd7030974ce375123a0848cce
Author: John David Anglin <danglin@gcc.gnu.org>
Date:   Sun May 14 16:06:06 2017 -0400

    Fix match and mask for 64-bit bb opcode.

commit 097eb00398891370779bb6562965bcdf357a292f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun May 14 00:00:28 2017 +0000

    Automatic date update in version.in

commit 67f46fed806465c005b15c97d33947f4c0abb25c
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Sat May 13 08:01:15 2017 -0700

    Fix assertion failure relaxing TLS for position-independent executables.
    
    gold/
    	PR gold/21444
    	* gold.cc (Target_sparc::Relocate::relocate_tls): Local
    	variables are final for position-independent executables. This
    	has to be consistent with Target_sparc::Scan::local otherwise
    	they will disagree as to whether local-exec is used.

commit adf3dde510088ef8dc46d04df05baf36adb0ed1e
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Sat May 13 11:10:00 2017 +0300

    Avoid compiler warning in MinGW build
    
    gdb:
    
    2017-05-13  Eli Zaretskii  <eliz@gnu.org>
    
    	* tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
    	C++ compiler warning.

commit c0c05aad81ef32899e809570c18932bcfb588009
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat May 13 00:00:51 2017 +0000

    Automatic date update in version.in

commit 6bf56e7482e220ff98655b5285736a37dd602c17
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Fri May 12 15:24:32 2017 -0700

    Fix misplacement of a relaxed section on AArch64.
    
    gold/ChangeLog
    	PR gold/21430
    	* aarch64.cc
    	(AArch64_relobj::convert_input_section_to_relaxed_section):
    	Set the section offset to -1ULL.
    	(Target_aarch64::relocate_section): Adjust the view in case
    	of a relaxed input section.
    	* testsuite/Makefile.am (pr21430): New test.
    	* testsuite/Makefile.in: Regenerate
    	* testsuite/pr21430.s: New test source file.
    	* testsuite/pr21430.sh: New test script.

commit 73caa85d4a97eb991e581ccba3ff4eccce5e2e1d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri May 12 08:07:21 2017 -0700

    x86: Merge X86_ISA_1_USED/X86_ISA_1_NEEDED properties
    
    If there are more than GNU property note in an input, we should merge
    X86_ISA_1_USED and X86_ISA_1_NEEDED properties.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_parse_gnu_properties): Merge
    	GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
    	properties.
    	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
    
    ld/
    
    	* testsuite/ld-i386/i386.exp: Run property-x86-3.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-i386/property-x86-3.d: New file.
    	* testsuite/ld-i386/property-x86-3.s: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.d: Likewise.
    	* testsuite/ld-x86-64/property-x86-3.s: Likewise.

commit 6830f270e7b6676e7a77c1b8080941e35003d918
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 11 22:22:36 2017 -0600

    Avoid exponential behavior in rust_evaluate_subexp
    
    The STRUCTOP_STRUCT case in rust_evaluate_subexp would evaluate its
    LHS, and then, if it did not need Rust-specific treatment, it would
    back up and re-evaluate the entire STRUCTOP_STRUCT part of the
    expression using evaluate_subexp_standard.  This yields exponential
    behavior and causes some expressions to evaluate extremely slowly.
    
    The fix is to simply do the needed work inline.
    
    This is PR rust/21483.
    
    ChangeLog
    2017-05-12  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21483:
    	* rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
    	recurse, just call value_struct_elt directly.

commit 68f2f2e308a8585c39ddb2f391a9ae8d779c5029
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 11 19:50:47 2017 -0600

    Fix rust_dump_subexp_body
    
    rust_dump_subexp_body was not correct in a couple of cases.  While
    debugging the bug I was really interested in, this caused a crash.
    This patch fixes the problems.  No test case because, IIRC there
    generally aren't tests for expression dumping.
    
    ChangeLog
    2017-05-12  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
    	OP_RUST_ARRAY>: Fix.

commit 256afbc259c1e22fafba601a27cf3c8d7bdde417
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 11 19:44:43 2017 -0600

    Replace "return" with "break"
    
    This replaces a "return" with a "break" in rust_print_subexp, for
    consistency.
    
    ChangeLog
    2017-05-12  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (rust_print_subexp): Replace "return" with "break".

commit be3f1006743f04f0b133de7fa8085a3e4c49b193
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri May 12 02:28:54 2017 +0100

    MIPS/GAS: Unify GP-relative percent-ops
    
    For a reason that is unclear commit d6f165938798 ("Support for MIPS16
    HI16/LO16 relocations"),
    <https://sourceware.org/ml/binutils/2005-02/msg00332.html>, which has
    added support for the R_MIPS16_GPREL relocation, has spelled its
    corresponding MIPS16 percent-op as `%gprel', rather than `%gp_rel' which
    is how its regular MIPS counterpart is spelled.  To make assembly code
    sharing easier between the regular MIPS and the MIPS16 ISA make both
    percent-op spellings acceptable in both kinds of code now.
    
    Parts of this change by Matthew Fortune.
    
    	gas/
    	* config/tc-mips.c (mips_percent_op): Add "%gprel".
    	(mips16_percent_op): Add "%gp_rel".
    	* testsuite/gas/mips/elf-rel8.s:: Add `%gprel' forms.
    	* testsuite/gas/mips/elf-rel8-mips16.s: Add `%gp_rel' forms.
    	* testsuite/gas/mips/elf-rel8.d: Adjust accordingly.
    	* testsuite/gas/mips/elf-rel8-mips16.d: Likewise.

commit a4f89915135f6760917c01dc783de5b674234d84
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri May 12 01:09:36 2017 +0100

    MIPS16/opcodes: Make the handling of BREAK and SDBBP consistent
    
    Disassemble the MIPS16 BREAK and SDBBP instruction's immediate operand
    in the hexadecimal rather than decimal numeral system and add respective
    operandless variants with an implicit 0 operand, making our handling of
    these instructions consistent with how we have processed their regular
    MIPS and microMIPS counterparts since forever.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'6'>: Switch the operand
    	type to hexadecimal.
    	(mips16_opcodes): Add operandless "break" and "sdbbp" entries.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-insn.d: Adjust BREAK
    	and SDBBP disassembly.
    
    	gas/
    	* testsuite/gas/mips/mips16.d: Adjust BREAK disassembly.
    	* testsuite/gas/mips/mips16-64@mips16.d: Likewise.
    	* testsuite/gas/mips/mips16-64.d: Likewise.
    	* testsuite/gas/mips/mips16-64@mips16-64.d: Likewise.
    	* testsuite/gas/mips/mips16-macro.d: Likewise.
    	* testsuite/gas/mips/mips16-64@mips16-macro.d: Likewise.
    	* testsuite/gas/mips/mips16-sub.d: Likewise.
    	* testsuite/gas/mips/mips16-32@mips16-sub.d: Likewise.

commit de428bc53335d88c21eda38a823d5a4008468e52
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri May 12 00:00:43 2017 +0000

    Automatic date update in version.in

commit 99e2d67a0edd1a8feca82036feb93709fee488fa
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri May 12 00:46:45 2017 +0100

    MIPS/opcodes: Mark descriptive SYNC mnemonics as aliases
    
    Following the way how descriptive SYNC mnemonics have been defined in
    the architecture[1][2] mark them as aliases, so that the generic SYNC
    instruction can be alternatively disassembled along with its immediate
    operand, as noted in the documents referred.
    
    References:
    
    [1] "MIPS Architecture For Programmers, Volume II-A: The MIPS32
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00086,
        Revision 5.04, December 11, 2013, Table 4.7 "Encodings of the
        Bits[10:6] of the SYNC instruction; the SType Field", p. 305
    
    [2] "MIPS Architecture for Programmers, Volume II-B: The microMIPS32
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00582,
        Revision 5.04, January 15, 2014, Table 5.28 "Encodings of the
        Bits[10:6] of the SYNC instruction; the SType Field", p. 481
    
    	opcodes/
    	* mips-opc.c (mips_builtin_opcodes): Mark "synciobdma", "syncs",
    	"syncw", "syncws", "sync_acquire", "sync_mb", "sync_release",
    	"sync_rmb" and "sync_wmb" as aliases.
    	* micromips-opc.c (micromips_opcodes): Mark "sync_acquire",
    	"sync_mb", "sync_release", "sync_rmb" and "sync_wmb" as aliases.
    
    	gas/
    	* testsuite/gas/mips/mips32r2-sync-1.d: New test.
    	* testsuite/gas/mips/micromips@mips32r2-sync-1.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit f2c29a169242d0c564afb46ecaf160422b28bfbb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 11 11:26:26 2017 -0700

    x86-64: Rename .plt.bnd to .plt.sec
    
    Rename .plt.bnd to .plt.sec to indicate that this is used as the second
    PLT section.  There is no change in run-time behavior.  We also scan the
    .plt.sec section to synthesize PLT symbols.
    
    bfd/
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Rename plt_bnd
    	to plt_second.
    	(elf_x86_64_link_hash_table): Rename plt_bnd/plt_bnd_eh_frame
    	to plt_second/plt_second_eh_frame.
    	(elf_x86_64_link_hash_newfunc): Updated.
    	(elf_x86_64_allocate_dynrelocs): Likewise.
    	(elf_x86_64_size_dynamic_sections): Likewise.
    	(elf_x86_64_relocate_section): Likewise.
    	(elf_x86_64_finish_dynamic_symbol): Likewise.
    	(elf_x86_64_finish_dynamic_sections): Likewise.
    	(elf_x86_64_plt_type): Rename plt_bnd to plt_second.
    	(elf_x86_64_get_synthetic_symtab): Updated.  Also scan the
    	.plt.sec section.
    	(elf_backend_setup_gnu_properties): Updated.  Create the
    	.plt.sec section instead of the .plt.sec section.
    
    ld/
    
    	* emulparams/elf_x86_64.sh (TINY_READONLY_SECTION): Replace
    	.plt.bnd with .plt.sec.
    	* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
    	* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-plt-1.d: Likewise.
    	* testsuite/ld-x86-64/mpx3.dd: Likewise.
    	* testsuite/ld-x86-64/mpx3n.dd: Likewise.
    	* testsuite/ld-x86-64/mpx4.dd: Likewise.
    	* testsuite/ld-x86-64/mpx4n.dd: Likewise.
    	* testsuite/ld-x86-64/plt-main-bnd-now.rd: Likewise.
    	* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
    	* testsuite/ld-x86-64/pr21038b.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c.d: Likewise.

commit dc2be3d2f6de530aac40983e79e29e050f40e759
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 11 07:42:30 2017 -0700

    x86: Generate PLT relocations for -z now
    
    This patch partially reverses:
    
    commit 25070364b0ce33eed46aa5d78ebebbec6accec7e
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Sat May 16 07:00:21 2015 -0700
    
        Don't generate PLT relocations for now binding
    
    to support LD_AUDIT and LD_PROFILE with -z now.  If there is an existing
    GOT relocation, it is still used to avoid PLT relocation against the same
    function symbol.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert
    	commit 25070364b0ce33eed46aa5d78ebebbec6accec7e.
    	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse.
    
    ld/
    
    	* testsuite/ld-i386/plt-pic2.dd: Updated.
    	* testsuite/ld-i386/plt2.dd: Likewise.
    	* testsuite/ld-i386/plt2.rd: Likewise.
    	* testsuite/ld-i386/pr17689now.rd: Likewise.
    	* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
    	* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: Likewise.
    	* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
    	* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
    	* testsuite/ld-x86-64/plt2.dd: Likewise.
    	* testsuite/ld-x86-64/plt2.rd: Likewise.
    	* testsuite/ld-x86-64/pr17689now.rd: Likewise.
    	* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c-now.d: Likewise.

commit f96f371cbb33454544a9f1827c239c4375f0b60e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu May 11 00:00:48 2017 +0000

    Automatic date update in version.in

commit 7f401e8417160ba5cdad60a38c8a3cbce395a5c5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 10 20:14:11 2017 +0100

    MIPS/GAS/testsuite: Convert ISA override list tests to dump tests
    
    And remove the zillion duplicate sources.  Also `mips1@isa-override-2.l'
    is the same as `r3000@isa-override-2.l', so remove the latter too, now
    that `r3000@isa-override-2.d' can name a file to match stderr output
    against.
    
    	gas/
    	* testsuite/gas/mips/isa-override-2.d: New test.
    	* testsuite/gas/mips/mips1@isa-override-2.d: New test.
    	* testsuite/gas/mips/r3000@isa-override-2.d: New test.
    	* testsuite/gas/mips/r3900@isa-override-2.d: New test.
    	* testsuite/gas/mips/mips2@isa-override-2.d: New test.
    	* testsuite/gas/mips/mips32@isa-override-2.d: New test.
    	* testsuite/gas/mips/mips32r2@isa-override-2.d: New test.
    	* testsuite/gas/mips/mips32r3@isa-override-2.d: New test.
    	* testsuite/gas/mips/mips32r5@isa-override-2.d: New test.
    	* testsuite/gas/mips/mips32r6@isa-override-2.d: New test.
    	* testsuite/gas/mips/octeon3@isa-override-2.d: New test.
    	* testsuite/gas/mips/r3000@isa-override-2.l: Remove list test.
    	* testsuite/gas/mips/mips1@isa-override-2.s: Remove test source.
    	* testsuite/gas/mips/r3000@isa-override-2.s: Remove test source.
    	* testsuite/gas/mips/r3900@isa-override-2.s: Remove test source.
    	* testsuite/gas/mips/mips2@isa-override-2.s: Remove test source.
    	* testsuite/gas/mips/mips32@isa-override-2.s: Remove test
    	source.
    	* testsuite/gas/mips/mips32r2@isa-override-2.s: Remove test
    	source.
    	* testsuite/gas/mips/mips32r3@isa-override-2.s: Remove test
    	source.
    	* testsuite/gas/mips/mips32r5@isa-override-2.s: Remove test
    	source.
    	* testsuite/gas/mips/mips32r6@isa-override-2.s: Remove test
    	source.
    	* testsuite/gas/mips/octeon3@isa-override-2.s: Remove test
    	source.
    	* gas/testsuite/gas/mips/mips.exp: Fold corresponding list tests
    	into the new tests.

commit 40e5240e1f32b1cc36c45551eb3f59253c40f317
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 10 19:03:15 2017 +0100

    MIPS/binutils/testsuite: Define names of temporary files
    
    Define `tempfile' and `copyfile' in `mips.exp' so that standalone script
    execution via `RUNTESTFLAGS=mips.exp' works rather than producing:
    
    Running .../binutils/testsuite/binutils-all/mips/mips.exp ...
    ERROR: tcl error sourcing
    .../binutils/testsuite/binutils-all/mips/mips.exp.
    ERROR: can't read "tempfile": no such variable
        while executing
    "binutils_assemble_flags ${srcfile} $tempfile $opts(as)"
        (procedure "run_dump_test" line 207)
        invoked from within
    "run_dump_test "mips-ase-1""
        invoked from within
    "if [is_elf_format] {
        run_dump_test "mips-ase-1"
        run_dump_test "mips-ase-2"
        run_dump_test "mips-ase-3"
        run_dump_test "mixed-mips16"
       ..."
        (file ".../binutils/testsuite/binutils-all/mips/mips.exp" line 22)
        invoked from within
    "source .../binutils/testsuite/binutils-all/mips/mips.exp"
        ("uplevel" body line 1)
        invoked from within
    "uplevel #0 source .../binutils/testsuite/binutils-all/mips/mips.exp"
        invoked from within
    "catch "uplevel #0 source $test_file_name""
    testcase .../binutils/testsuite/binutils-all/mips/mips.exp completed in 0 seconds
    
    	binutils/
    	* testsuite/binutils-all/mips/mips.exp: Define `tempfile' and
    	`copyfile' variables.

commit 5d69120bfff3e532242083acd636dc68f23ea831
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 10 10:51:35 2017 -0700

    i386: Set CHECK_RELOCS_AFTER_OPEN_INPUT to yes
    
    All linker targets based on elf32-i386 should check relocations after
    opening all inputs since this is how elf32-i386 works.
    
    	* emulparams/i386lynx.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Set
    	to yes.
    	* emulparams/i386moss.sh (CHECK_RELOCS_AFTER_OPEN_INPUT):
    	Likewise.
    	* emulparams/i386nw.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Likewise.

commit 9fc1813479e1518197949105c3f34da8c2e30984
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 10 18:19:56 2017 +0100

    MIPS/GAS/testsuite: Correct swapped MIPS16e subset test names
    
    Correct the test names swapped between common and 64-bit MIPS16e subset
    tests.
    
    	gas/
    	* testsuite/gas/mips/mips16e-sub.d: Correct test name.
    	* testsuite/gas/mips/mips16-32@mips16e-sub.d: Likewise.
    	* testsuite/gas/mips/mips16-64@mips16e-sub.d: Likewise.
    	* testsuite/gas/mips/mips16e-64-sub.d: Likewise.
    	* testsuite/gas/mips/mips16-32@mips16e-64-sub.d: Likewise.
    	* testsuite/gas/mips/mips16-64@mips16e-64-sub.d: Likewise.
    	* testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: Likewise.

commit db84b98a160d20f30dbdae3e3405cfb0fa680fbd
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed May 10 18:44:19 2017 +0200

    bfd: fix the deletion of relocs in sparc64
    
    This patch fixes the deletion of relocations in BFD sections in
    sparc64 targets.
    
    A specialized `_bfd_set_reloc' function is provided that updates the
    internal canon_reloc_count(sec) counter instead of sec->reloc_count.
    Additionally, the `write_relocs' callback in elf64-sparc is adapted to
    use the canon_reloc_count to traverse `sec->orelocation'.
    
    Tested in sparc64-linux-gnu targets.
    Fixes an existing failure in the merge-notes objcopy test.
    No regressions.
    
    bfd/ChangeLog:
    
    2017-05-10  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* elf64-sparc.c (elf64_sparc_set_reloc): New function.
    	(bfd_elf64_set_reloc): Define.
    	(elf64_sparc_write_relocs): Use `canon_reloc_count'.

commit 2318686590bd252a47f494554dfc11bc18a3e58b
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed May 10 18:40:04 2017 +0200

    bfd: new BFD target entry point _bfd_set_reloc.
    
    This patch adds a new entry point to the BFD_JUMP_TABLE_RELOCS.  The
    previous common implementation `bfd_set_reloc', in bfd/bfd.c, has been
    moved to bfd/reloc.c with the name `_bfd_generic_set_reloc', and all
    BFD targets has been adapted to use it.
    
    This patch doesn't introduce any change on functionality, but prepares
    the ground for further work.
    
    bfd/ChangeLog:
    
        2017-05-10  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
        	* targets.c (BFD_JUMP_TABLE_RELOCS): Add NAME##_set_reloc.
        	(struct bfd_target): New field _bfd_set_reloc.
        	* bfd.c (bfd_set_reloc): Call backend _set_bfd.
        	* reloc.c (_bfd_generic_set_reloc): New function.
        	* coffcode.h (coff_set_reloc): Define to _bfd_generic_set_reloc.
        	* nlm-target.h (nlm_set_reloc): Likewise.
        	* coff-rs6000.c (_bfd_xcoff_set_reloc): Likewise.
        	* aout-tic30.c (MY_set_reloc): Likewise.
        	* aout-target.h (MY_set_reloc): Likewise.
        	* elfxx-target.h (bfd_elfNN_set_reloc): Likewise.
        	* coff-alpha.c (_bfd_ecoff_set_reloc): Likewise.
        	* mach-o-target.c (bfd_mach_o_set_reloc): Likewise.
        	* vms-alpha.c (alpha_vms_set_reloc): Likewise.
        	* aout-adobe.c (aout_32_set_reloc): Likewise.
        	* bout.c (b_out_set_reloc): Likewise.
        	* coff-mips.c (_bfd_ecoff_set_reloc): Likewise.
        	* i386os9k.c (aout_32_set_reloc): Likewise.
        	* ieee.c (ieee_set_reloc): Likewise.
        	* oasys.c (oasys_set_reloc): Likewise.
        	* som.c (som_set_reloc): Likewise.
        	* versados.c (versados_set_reloc): Likewise.
        	* coff64-rs6000.c (rs6000_xcoff64_vec): Add
        	_bfd_generic_set_reloc.
        	(rs6000_xcoff64_aix_vec): LIkewise.
        	* libbfd.c (_bfd_norelocs_set_reloc): New function.
        	* libbfd-in.h: Prototype for _bfd_norelocs_set_reloc.
        	* i386msdos.c (msdos_set_reloc): Define to
        	_bfd_norelocs_set_reloc.
        	* elfcode.h (elf_set_reloc): Define.
        	* bfd-in2.h: Regenerated.

commit aab82f4c201a2612c0fb6d5b66d8e4ce2f036f1c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 10 09:28:00 2017 -0700

    x86-64: Use .plt.bnd for IFUNC function address
    
    When -z bndplt is used, we must use the .plt.bnd entry for IFUNC function
    address.
    
    bfd/
    
    	PR ld/21481
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Use .plt.bnd
    	for IFUNC function address.
    
    ld/
    
    	PR ld/21481
    	* testsuite/ld-x86-64/pr21481a.c: New file.
    	* testsuite/ld-x86-64/pr21481b.S: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/21481 tests.

commit f78c0b915888ab388f9bdac826d7ac18dc944c28
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 10 14:37:21 2017 +0100

    MIPS/GAS/testsuite: Remove stale `mips16-macro' list test output
    
    Complement commit c60aaac10f9a1 ("MIPS/GAS/testsuite: Extend MIPS16
    testing over multiple ISAs") and remove a stale `mips16-macro' list test
    output replaced with the `mips16-32@mips16-macro' stderr output.
    
    	gas/
    	* testsuite/gas/mips/mips16-macro.l: Remove list test.

commit 58667758b1f907f8983d8a065333e3c38e311e88
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 10 14:17:19 2017 +0100

    MIPS/GAS/testsuite: Remove last remnants of ECOFF support
    
    Complement commit 16e5e222b6ea ("Make gas/mips/mips.exp ELF-only"),
    <https://sourceware.org/ml/binutils/2013-06/msg00195.html>, and commit
    fcedb9f3ca87 ("MIPS/GAS/testsuite: Remove remnants of a.out/ECOFF
    support"), and remove stale ECOFF test dumps previously missed.
    
    	gas/
    	* testsuite/gas/mips/r3900@ecoff@ld.d: Remove test.
    	* testsuite/gas/mips/mips2@ecoff@ld.d: Remove test.
    	* testsuite/gas/mips/mips32@ecoff@ld.d: Remove test.
    	* testsuite/gas/mips/mips32r2@ecoff@ld.d: Remove test.
    	* testsuite/gas/mips/r3900@ecoff@ld-forward.d: Remove test.
    	* testsuite/gas/mips/mips2@ecoff@ld-forward.d: Remove test.
    	* testsuite/gas/mips/mips32@ecoff@ld-forward.d: Remove test.
    	* testsuite/gas/mips/mips32r2@ecoff@ld-forward.d: Remove test.
    	* testsuite/gas/mips/mips1@ecoff@sd.d: Remove test.
    	* testsuite/gas/mips/r3000@ecoff@sd.d: Remove test.
    	* testsuite/gas/mips/r3900@ecoff@sd.d: Remove test.
    	* testsuite/gas/mips/mips2@ecoff@sd.d: Remove test.
    	* testsuite/gas/mips/mips32@ecoff@sd.d: Remove test.
    	* testsuite/gas/mips/mips32r2@ecoff@sd.d: Remove test.
    	* testsuite/gas/mips/mips1@ecoff@sd-forward.d: Remove test.
    	* testsuite/gas/mips/r3000@ecoff@sd-forward.d: Remove test.
    	* testsuite/gas/mips/r3900@ecoff@sd-forward.d: Remove test.
    	* testsuite/gas/mips/mips2@ecoff@sd-forward.d: Remove test.
    	* testsuite/gas/mips/mips32@ecoff@sd-forward.d: Remove test.
    	* testsuite/gas/mips/mips32r2@ecoff@sd-forward.d: Remove test.

commit 53a346d8236aec06f1d3c767716d3340fb0aa013
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed May 10 14:42:22 2017 +0200

    [ARC] Object attributes.
    
    gas/
    2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/attr-arc600.d: New file.
    	* testsuite/gas/arc/attr-arc600_mul32x16.d: Likewise.
    	* testsuite/gas/arc/attr-arc600_norm.d: Likewise.
    	* testsuite/gas/arc/attr-arc601.d: Likewise.
    	* testsuite/gas/arc/attr-arc601_mul32x16.d: Likewise.
    	* testsuite/gas/arc/attr-arc601_mul64.d: Likewise.
    	* testsuite/gas/arc/attr-arc601_norm.d: Likewise.
    	* testsuite/gas/arc/attr-arc700.d: Likewise.
    	* testsuite/gas/arc/attr-arcem.d: Likewise.
    	* testsuite/gas/arc/attr-archs.d: Likewise.
    	* testsuite/gas/arc/attr-autodetect-1.d: Likewise.
    	* testsuite/gas/arc/attr-autodetect-1.s: Likewise.
    	* testsuite/gas/arc/attr-cpu-a601.d: Likewise.
    	* testsuite/gas/arc/attr-cpu-a601.s: Likewise.
    	* testsuite/gas/arc/attr-cpu-a700.d: Likewise.
    	* testsuite/gas/arc/attr-cpu-a700.s: Likewise.
    	* testsuite/gas/arc/attr-cpu-em.d: Likewise.
    	* testsuite/gas/arc/attr-cpu-em.s: Likewise.
    	* testsuite/gas/arc/attr-cpu-hs.d: Likewise.
    	* testsuite/gas/arc/attr-cpu-hs.s: Likewise.
    	* testsuite/gas/arc/attr-em.d: Likewise.
    	* testsuite/gas/arc/attr-em4.d: Likewise.
    	* testsuite/gas/arc/attr-em4_dmips.d: Likewise.
    	* testsuite/gas/arc/attr-em4_fpuda.d: Likewise.
    	* testsuite/gas/arc/attr-em4_fpus.d: Likewise.
    	* testsuite/gas/arc/attr-hs.d: Likewise.
    	* testsuite/gas/arc/attr-hs34.d: Likewise.
    	* testsuite/gas/arc/attr-hs38.d: Likewise.
    	* testsuite/gas/arc/attr-hs38_linux.d: Likewise.
    	* testsuite/gas/arc/attr-mul64.d: Likewise.
    	* testsuite/gas/arc/attr-name.d: Likewise.
    	* testsuite/gas/arc/attr-name.s: Likewise.
    	* testsuite/gas/arc/attr-nps400.d: Likewise.
    	* testsuite/gas/arc/attr-override-mcpu.d: Likewise.
    	* testsuite/gas/arc/attr-override-mcpu.s
    	* testsuite/gas/arc/attr-quarkse_em.d: Likewise.
    	* testsuite/gas/arc/blank.s: Likewise.
    	* testsuite/gas/elf/section2.e-arc: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-1.d: Update test.
    	* testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
    	* testsuite/gas/arc/nps400-0.d: Likewise.
    	* testsuite/gas/elf/elf.exp: Set target_machine for ARC.
    	* config/tc-arc.c (opcode/arc-attrs.h): Include.
    	(ARC_GET_FLAG, ARC_SET_FLAG, streq): Define.
    	(arc_attribute): Declare new function.
    	(md_pseudo_table): Add arc_attribute.
    	(cpu_types): Rename default cpu features.
    	(selected_cpu): Set the default OSABI flag.
    	(mpy_option): New variable.
    	(pic_option): Likewise.
    	(sda_option): Likewise.
    	(tls_option): Likewise.
    	(feature_type, feature_list): Remove.
    	(arc_initial_eflag): Likewise.
    	(attributes_set_explicitly): New variable.
    	(arc_check_feature): Check also for the conflicting features.
    	(arc_select_cpu): Refactor assignment of selected_cpu.eflags.
    	(arc_option): Remove setting of private flags and architecture.
    	(check_cpu_feature): Refactor feature names.
    	(autodetect_attributes): New function.
    	(assemble_tokens): Use above function.
    	(md_parse_option): Refactor feature names.
    	(arc_attribute): New function.
    	(arc_set_attribute_int): Likewise.
    	(arc_set_attribute_string): Likewise.
    	(arc_stralloc): Likewise.
    	(arc_set_public_attributes): Likewise.
    	(arc_md_end): Likewise.
    	(arc_copy_symbol_attributes): Likewise.
    	(rc_convert_symbolic_attribute): Likewise.
    	* config/tc-arc.h (md_end): Define.
    	(CONVERT_SYMBOLIC_ATTRIBUTE): Likewise.
    	(TC_COPY_SYMBOL_ATTRIBUTES): Likewise.
    	* doc/c-arc.texi: Document ARC object attributes.
    
    binutils/
    2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* readelf.c (decode_ARC_machine_flags): Recognize OSABI v4.
    	(get_arc_section_type_name): New function.
    	(get_section_type_name): Use the above function.
    	(display_arc_attribute): New function.
    	(process_arc_specific): Likewise.
    	(process_arch_specific): Handle ARC specific information.
    	* testsuite/binutils-all/strip-3.d: Consider ARC.attributes
    	section.
    
    include/
    2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* elf/arc.h (SHT_ARC_ATTRIBUTES): Define.
    	(Tag_ARC_*): Define.
    	(E_ARC_OSABI_V4): Define.
    	(E_ARC_OSABI_CURRENT): Reassign it.
    	(TAG_CPU_*): Define.
    	* opcode/arc-attrs.h: New file.
    	* opcode/arc.h (insn_subclass_t): Assign enum values.
    	(insn_subclass_t): Update enum with QUARKSE1, QUARKSE2, and LL64.
    	(ARC_EA, ARC_CD, ARC_LLOCK, ARC_ATOMIC, ARC_MPY, ARC_MULT)
    	(ARC_NPS400, ARC_DPFP, ARC_SPFP, ARC_FPU, ARC_FPUDA, ARC_SWAP)
    	(ARC_NORM, ARC_BSCAN, ARC_UIX, ARC_TSTAMP, ARC_VBFDW)
    	(ARC_BARREL, ARC_DSPA, ARC_SHIFT, ARC_INTR, ARC_DIV, ARC_XMAC)
    	(ARC_CRC): Delete.
    
    bfd/
    2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* elf32-arc.c (FEATURE_LIST_NAME): Define.
    	(CONFLICT_LIST): Likewise.
    	(opcode/arc-attrs.h): Include.
    	(arc_elf_print_private_bfd_data): Print OSABI v4 flag.
    	(arc_extract_features): New file.
    	(arc_stralloc): Likewise.
    	(arc_elf_merge_attributes): Likewise.
    	(arc_elf_merge_private_bfd_data): Use object attributes.
    	(bfd_arc_get_mach_from_attributes): New function.
    	(arc_elf_object_p): Use object attributes.
    	(arc_elf_final_write_processing): Likewise.
    	(elf32_arc_obj_attrs_arg_type): New function.
    	(elf32_arc_obj_attrs_handle_unknown): Likewise.
    	(elf32_arc_section_from_shdr): Likewise.
    	(elf_backend_obj_attrs_vendor): Define.
    	(elf_backend_obj_attrs_section): Likewise.
    	(elf_backend_obj_attrs_arg_type): Likewise.
    	(elf_backend_obj_attrs_section_type): Likewise.
    	(elf_backend_obj_attrs_handle_unknown): Likewise.
    	(elf_backend_section_from_shdr): Likewise.
    
    ld/
    2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/ld-arc/attr-merge-0.d: New file.
    	* testsuite/ld-arc/attr-merge-0.s: Likewise.
    	* testsuite/ld-arc/attr-merge-0e.s: Likewise.
    	* testsuite/ld-arc/attr-merge-1.d: Likewise.
    	* testsuite/ld-arc/attr-merge-1.s: Likewise.
    	* testsuite/ld-arc/attr-merge-1e.s: Likewise.
    	* testsuite/ld-arc/attr-merge-2.d: Likewise.
    	* testsuite/ld-arc/attr-merge-2.s: Likewise.
    	* testsuite/ld-arc/attr-merge-3.d: Likewise.
    	* testsuite/ld-arc/attr-merge-3.s: Likewise.
    	* testsuite/ld-arc/attr-merge-3e.s: Likewise.
    	* testsuite/ld-arc/attr-merge-4.s: Likewise.
    	* testsuite/ld-arc/attr-merge-5.d: Likewise.
    	* testsuite/ld-arc/attr-merge-5a.s: Likewise.
    	* testsuite/ld-arc/attr-merge-5b.s: Likewise.
    	* testsuite/ld-arc/attr-merge-conflict-isa.d: Likewise.
    	* testsuite/ld-arc/attr-merge-err-isa.d: Likewise.
    	* testsuite/ld-arc/attr-merge-incompatible-cpu.d: Likewise.
    	* testsuite/ld-arc/got-01.d: Update test.
    	* testsuite/ld-arc/attr-merge-err-quarkse.d: New file.
    	* testsuite/ld-arc/attr-quarkse.s: Likewise.
    	* testsuite/ld-arc/attr-quarkse2.s: Likewise.
    
    opcodes/
    2017-05-10  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (parse_option): Update quarkse_em option..
    	* arc-ext-tbl.h (dsp_fp_flt2i, dsp_fp_i2flt): Change subclass to
    	QUARKSE1.
    	(dsp_fp_div, dsp_fp_cmp): Change subclass to QUARKSE2.

commit 21d1fbeed4b7c4d006e399437445519e6505088f
Author: Kaz Kojima <kkojima@rr.iij4u.or.jp>
Date:   Wed May 10 09:15:19 2017 +0900

    Remove Kaz Kojima as SH maintainer.

commit 8010f3ed8d459f98b8ff8b8577a0ed422c836e0d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 10 00:00:42 2017 +0000

    Automatic date update in version.in

commit a6da46304894741d50a6f4ca2263b5cc158740e4
Author: Awson <kyrab@mail.ru>
Date:   Tue May 9 14:42:43 2017 +0100

    Support pe-bigobj-x86-64 as an output format in 64-bit PE based linkers.
    
    	PR ld/21471
    	* pe-dll.c (pe_detail_list): Add entry for pe-bigobj-x86-64.

commit 94bb8dfe28219e4b747cb874aae401d18df91c9b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue May 9 12:36:53 2017 +0100

    Use std::forward_list for current_regcache
    
    gdb:
    
    2017-05-09  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c: Include <forward_list>.
    	(struct regcache_list): Remove.
    	(current_regcache): Update.
    	(get_thread_arch_aspace_regcache): Update for std::forward_list.
    	(regcache_thread_ptid_changed): Likewise.
    	(registers_changed_ptid): Likewise.
    	(current_regcache_size): Likewise.

commit 8248946cc5fd4522de630b9d86627af6e8fe0097
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue May 9 12:36:53 2017 +0100

    Add current_regcache unit test
    
    This patch adds a unit test to current_regcache, to make sure it is
    correctly updated by get_thread_arch_aspace_regcache and
    registers_changed_ptid.
    
    gdb:
    
    2017-05-09  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c [GDB_SELF_TEST]: Include selftest.h.
    	(current_regcache_size): New function.
    	(current_regcache_test): New function.
    	(_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.

commit e645cf40b111daef4518a58547de577eb9379ccb
Author: Andrew Goedhart <Andrewgoedhart@simplepowersolutions.co.za>
Date:   Tue May 9 12:14:48 2017 +0100

    Fix resolution of R_ARM_THM_ALU_PREL_11_0 relocation against Thumb symbols.
    
    	PR ld/21458
    	* elf32-arm.c (elf32_arm_final_link_relocate): Set the bottom bit
    	of the value when resolving a R_ARM_THM_ALU_PREL_11_0 relocation
    	and the destination is a Thumb symbol.

commit d2732b697fe56ff4274a4bc45add9386c17f8a07
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 9 17:10:17 2017 +0930

    ld.texinfo, use "affects" instead of "effects"
    
    	* ld.texinfo (orphan sections): Grammar fix.

commit 56eeb7f2cbdb16f513b825af426ee38d8f7efe3a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 9 00:00:40 2017 +0000

    Automatic date update in version.in

commit 749d3c7c257fab706b19182dfd9022ee6ccb4784
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 13:48:41 2017 -0700

    Apply "x86: Generate PLT relocations for -z now"

commit 01497512b0c21d2a96fcf1a5d41d2aece6cb0582
Merge: 559452d dd9e66e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 13:40:58 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit dd9e66ee9549c872fad36a21d521b68b14429f38
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 13:37:50 2017 -0700

    Add missing initializer to silence GCC 4.2
    
    Silence GCC 4.2:
    
    elf64-x86-64.c: In function â??elf_x86_64_get_synthetic_symtabâ??:
    elf64-x86-64.c:6490: warning: missing initializer
    elf64-x86-64.c:6490: warning: (near initialization for â??plts[3].secâ??)
    
    	* elf32-i386.c (elf_i386_get_synthetic_symtab): Add missing
    	initializer for GCC 4.2.
    	* lf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.

commit 559452de9c66553c5043eecbaea69c502158b5f3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 13:27:09 2017 -0700

    Don't apply x86 -z now patches
    
    They have been applied to master branch.

commit 2bc1b2ba6e0b3951bd002316cdda1abf41a08242
Merge: b9fa99c5 38b1234
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 13:26:13 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 38b123494b38ae09168387c0502acd1f23c1b601
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 12:24:11 2017 -0700

    x86-64: Improve PLT generation and synthetic PLT symbols
    
    On x86-64, the procedure linkage table (PLT) is used to
    
    1. Call external function.
    2. Call internal IFUNC function.  The best implementation is selected
    for the target processor at run-time.
    3. Act as the canonical function address.
    4. Support LD_AUDIT to audit external function calls.
    5. Support LD_PROFILE to profile external function calls.
    
    PLT looks like:
    
    PLT0:  push  GOT[1]
           jmp   *GOT[2]
           nop
    PLT1:  jmp   *GOT[name1_index]
           push  name1_reloc_index
           jmp   PLT0
    
    GOT is an array of addresses.  Initially the GOT entry of name1 is
    filled with the address of the "push name1_reloc_index" instruction.
    The function, name1, is called via "jmp *GOT[name1]" in the PLT entry.
    Even when lazy binding is disabled by "-z now", the PLT0 entry may
    still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
    canonical function address.
    
    When linker is invoked with "-z bndplt", a different PLT layout in .plt
    is used:
    
    PLT0:  push     GOT[1]
           bnd jmp  *GOT[2]
           nop
    PLT1:  push     name1_reloc_index
           bnd jmp  PLT0
           nop
    
    together with a second PLT section, .pl.bnd:
    
    PLT1:  bnd jmp  *GOT[name1_index]
           nop
    
    where the GOT entry of name1 is filled with the address of the push
    instruction of the corresponding entry in .plt.
    
    1. With lazy binding, when the external function, name1, is called the
    first time, dynamic linker is called via PLT0 to update GOT[name1_index]
    with the actual address of name1 and transfers control to name1
    afterwards.
    2. PLT is also used to call a local IFUNC function, name1, run-time
    loader updates GOT[name1_index] when loading the module.
    
    This patch
    
    1. Remove PLT layout configurations from x86-64 backend_data.
    2. Add generic, lay and non-lazy PLT layout configurations to x86-64
    link_hash_table.  Generic PLT layout includes the PLT entry templates,
    information how to update the first instruction in PLT and PLT eh_frame
    informaton, which are initialized in x86-64 setup_gnu_properties, based
    on "-z bndplt" and target selection.  PLT section alignment is also set
    to PLT entry size for non-NaCl target.
    3. Remove elf_x86_64_create_dynamic_sections.  create_dynamic_sections
    isn't always called, but GOT relocations need GOT relocations.  Instead,
    create all x86-64 specific dynamic sections with alignment to their entry
    size  in x86-64 setup_gnu_properties, which initializes elf.dynobj, so
    that x86-64 check_relocs can be simplified.
    4. Rewrite elf_x86_64_get_synthetic_symtab to check PLT sections against
    all dynamic relocations to support both lazy and non-lazy PLTs.
    
    There is no change in PLT.  The only externally visible change is the
    improvement of synthetic PLT symbols for .plt.got.
    
    bfd/
    
    	* elf64-x86-64.c (PLT_ENTRY_SIZE): Renamed to ...
    	(LAZY_PLT_ENTRY_SIZE): This.
    	(NON_LAZY_PLT_ENTRY_SIZE): New.
    	(elf_x86_64_plt0_entry): Renamed to ...
    	(elf_x86_64_lazy_plt0_entry): This.
    	(elf_x86_64_plt_entry): Renamed to ...
    	(elf_x86_64_lazy_plt_entry): This.
    	(elf_x86_64_bnd_plt0_entry): Renamed to ...
    	(elf_x86_64_lazy_bnd_plt0_entry): This.
    	(elf_x86_64_legacy_plt_entry): Removed.
    	(elf_x86_64_bnd_plt_entry): Renamed to ...
    	(elf_x86_64_lazy_bnd_plt_entry): This.
    	(elf_x86_64_legacy_plt2_entry): Renamed to ...
    	(elf_x86_64_non_lazy_plt_entry): This.
    	(elf_x86_64_bnd_plt2_entry): Renamed to ...
    	(elf_x86_64_non_lazy_bnd_plt_entry): This.
    	(elf_x86_64_eh_frame_plt): Renamed to ...
    	(elf_x86_64_eh_frame_lazy_plt): This.
    	(elf_x86_64_eh_frame_bnd_plt): Renamed to ...
    	(elf_x86_64_eh_frame_lazy_bnd_plt): This.
    	(elf_x86_64_eh_frame_plt_got): Renamed to ...
    	(elf_x86_64_eh_frame_non_lazy_plt): This.
    	(elf_x86_64_lazy_plt_layout): New.
    	(elf_x86_64_non_lazy_plt_layout): Likewise.
    	(elf_x86_64_plt_layout): Likewise.
    	(elf_x86_64_backend_data): Remove PLT layout information.  Add
    	os for target system.
    	(GET_PLT_ENTRY_SIZE): Removed.
    	(elf_x86_64_lazy_plt): New.
    	(elf_x86_64_non_lazy_plt): Likewise.
    	(elf_x86_64_lazy_bnd_plt): Likewise.
    	(elf_x86_64_non_lazy_bnd_plt): Likewise.
    	(elf_x86-64_arch_bed): Updated.
    	(elf_x86_64_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
    	(elf_x86_64_create_dynamic_sections): Removed.
    	(elf_x86_64_check_relocs): Don't check elf.dynobj.  Don't call
    	_bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
    	(elf_x86-64_adjust_dynamic_symbol): Updated.
    	(elf_x86_64_allocate_dynrelocs): Updated.  Pass 0 as PLT header
    	size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
    	size for PLT0 if there is no PLT0.  Get plt_entry_size from
    	non_lazy_plt for non-lazy PLT entries.
    	(elf_x86_64_size_dynamic_sections): Updated.  Get plt_entry_size
    	from non_lazy_plt for non-lazy PLT entries.
    	(elf_x86-64_relocate_section): Updated.  Properly get PLT index
    	if there is no PLT0.
    	(elf_x86_64_finish_dynamic_symbol): Updated.  Fill the first slot
    	in the PLT entry with generic PLT layout.  Fill the non-lazy PLT
    	entries with non-lazy PLT layout.  Don't fill the second and third
    	slots in the PLT entry if there is no PLT0.
    	(elf_x86_64_finish_dynamic_sections): Updated.  Don't fill PLT0
    	if there is no PLT0.  Set sh_entsize on the .plt.got section.
    	(compare_relocs): New.
    	(elf_x86_64_plt_type): Likewise.
    	(elf_x86_64_plt): Likewise.
    	(elf_x86_64_nacl_plt): New. Forward declaration.
    	(elf_x86_64_get_plt_sym_val): Removed.
    	(elf_x86_64_get_synthetic_symtab): Rewrite to check PLT sections
    	against all dynamic relocations.
    	(elf_x86_64_link_setup_gnu_properties): New function.
    	(elf_backend_create_dynamic_sections): Updated.
    	(elf_backend_setup_gnu_properties): New.
    	(elf_x86_64_nacl_plt): New.
    	(elf_x86_64_nacl_arch_bed): Updated.
    
    ld/
    
    	* testsuite/ld-ifunc/ifunc-16-x86-64-now.d: New file.
    	* testsuite/ld-ifunc/ifunc-2-local-x86-64-now.d: Likewise.
    	* testsuite/ld-ifunc/ifunc-2-x86-64-now.d: Likewise.
    	* testsuite/ld-ifunc/pr17154-x86-64-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
    	* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
    	* testsuite/ld-x86-64/mpx3n.dd: Likewise.
    	* testsuite/ld-x86-64/mpx4n.dd: Likewise.
    	* testsuite/ld-x86-64/plt-main-bnd-now.rd: Likewise.
    	* testsuite/ld-x86-64/plt2.dd: Likewise.
    	* testsuite/ld-x86-64/plt2.rd: Likewise.
    	* testsuite/ld-x86-64/plt2.s: Likewise.
    	* testsuite/ld-x86-64/pr20830a-now.d: Likewise.
    	* testsuite/ld-x86-64/pr20830b-now.d: Likewise.
    	* testsuite/ld-x86-64/pr21038a-now.d: Likewise.
    	* testsuite/ld-x86-64/pr21038b-now.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c-now.d: Likewise.
    	* testsuite/ld-x86-64/load1b-nacl.d: Updated.
    	* testsuite/ld-x86-64/load1b.d: Likewise.
    	* testsuite/ld-x86-64/plt-main-bnd.dd: Likewise.
    	* testsuite/ld-x86-64/pr20253-1h.d: Likewise.
    	* testsuite/ld-x86-64/pr20830a.d: Update the .plt.got section
    	with func@plt.
    	* testsuite/ld-x86-64/pr20830b.d: Likewise.
    	* testsuite/ld-x86-64/pr21038a.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c.d: Likewise.
    	* testsuite/ld-x86-64/mpx.exp: Add some -z now tests.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.

commit d7ab4911f8aa3e1cd06ece40f74d0b4a532d6a10
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon May 8 19:10:42 2017 +0200

    S/390: Fix ifunc missing runtime reloc
    
    This fixes a problem with a missing R_390_64 reloc against .data for a
    function pointer to an ifunc function.
    
    No regressions on s390x.
    
    Pushed to mainline.
    
    bfd/ChangeLog:
    
    2017-05-08  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf-s390-common.c: Don't check non_got_ref flag.
    	* elf32-s390.c (elf_s390_relocate_section): Likewise.
    	* elf64-s390.c (elf_s390_relocate_section): Likewise.

commit f604c2a2a54ebf88e4a51986c7cdedffe7b3313a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 8 10:10:22 2017 -0700

    i386: Improve PLT generation and synthetic PLT symbols
    
    On i386, the procedure linkage table (PLT) is used to
    
    1. Call external function.
    2. Call internal IFUNC function.  The best implementation is selected
    for the target processor at run-time.
    3. Act as the canonical function address.
    4. Support LD_AUDIT to audit external function calls.
    5. Support LD_PROFILE to profile external function calls.
    
    PLT looks like:
    
    PLT0:  push  GOT[1]
           jmp   *GOT[2]
           nop
    PLT1:  jmp   *GOT[name1_index]
           push  name1_reloc_index
           jmp   PLT0
    
    GOT is an array of addresses.  Initially the GOT entry of name1 is
    filled with the address of the "push name1_reloc_index" instruction.
    The function, name1, is called via "jmp *GOT[name1]" in the PLT entry.
    Even when lazy binding is disabled by "-z now", the PLT0 entry may
    still be used with LD_AUDIT or LD_PROFILE if PLT entry is used for
    canonical function address.
    
    1. With lazy binding, when the external function, name1, is called the
    first time, dynamic linker is called via PLT0 to update GOT[name1_index]
    with the actual address of name1 and transfers control to name1
    afterwards.
    2. PLT is also used to call a local IFUNC function, name1, run-time
    loader updates GOT[name1_index] when loading the module.
    
    This patch
    
    1. Remove PLT layout configurations from i386 backend_data.
    2. Add generic, lay and non-lazy PLT layout configurations to i386
    link_hash_table.  Generic PLT layout includes the PLT entry templates,
    information how to update the first instruction in PLT and PLT eh_frame
    informaton, which are initialized in i386 setup_gnu_properties, based
    on PIC and target selection.  PLT section alignment is also set to PLT
    entry size for non-NaCl/VxWorks target.
    3. Remove elf_i386_create_dynamic_sections.  create_dynamic_sections
    isn't always called, but GOT relocations need GOT relocations.  Instead,
    create all i386 specific dynamic sections in i386 setup_gnu_properties,
    which initializes elf.dynobj, so that i386 check_relocs can be simplified.
    4. Rewrite elf_i386_get_synthetic_symtab to check PLT sections against
    all dynamic relocations to support both lazy and non-lazy PLTs.
    
    bfd/
    
    	* elf32-i386.c (PLT_ENTRY_SIZE): Renamed to ...
    	(LAZY_PLT_ENTRY_SIZE): This.
    	(NON_LAZY_PLT_ENTRY_SIZE): New.
    	(elf_i386_plt0_entry): Renamed to ...
    	(elf_i386_lazy_plt0_entry): This.
    	(elf_i386_plt_entry): Renamed to ...
    	(elf_i386_lazy_plt_entry): This.
    	(elf_i386_pic_plt0_entry): Renamed to ...
    	(elf_i386_pic_lazy_plt0_entry): This.
    	(elf_i386_pic_plt_entry): Renamed to ...
    	(elf_i386_pic_lazy_plt_entry): This.
    	(elf_i386_got_plt_entry): Renamed to ...
    	(elf_i386_non_lazy_plt_entry): This.
    	(elf_i386_pic_got_plt_entry): Renamed to ...
    	(elf_i386_pic_non_lazy_plt_entry): This.
    	(elf_i386_eh_frame_plt): Renamed to ...
    	(elf_i386_eh_frame_lazy_plt): This.
    	(elf_i386_eh_frame_plt_got): Renamed to ...
    	(elf_i386_eh_frame_non_lazy_plt): This.
    	(elf_i386_plt_layout): Renamed to ...
    	(elf_i386_lazy_plt_layout): This.  Remove eh_frame_plt_got and
    	eh_frame_plt_got_size.
    	(elf_i386_non_lazy_plt_layout): New.
    	(elf_i386_plt_layout): Likewise.
    	(elf_i386_non_lazy_plt): Likewise.
    	(GET_PLT_ENTRY_SIZE): Removed.
    	(elf_i386_plt): Renamed to ...
    	(elf_i386_lazy_plt): This.
    	(elf_i386_backend_data): Remove plt.  Rename is_vxworks to os.
    	(elf_i386_arch_bed): Updated.
    	(elf_i386_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
    	(elf_i386_create_dynamic_sections): Removed.
    	(elf_i386_check_relocs): Don't check elf.dynobj.  Don't call
    	_bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
    	(elf_i386_adjust_dynamic_symbol): Updated.
    	(elf_i386_allocate_dynrelocs): Updated.  Pass 0 as PLT header
    	size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
    	size for PLT0 if there is no PLT0.
    	(elf_i386_size_dynamic_sections): Updated.  Check whether GOT
    	output section is discarded only if GOT isn't empty.
    	(elf_i386_relocate_section): Updated.  Properly get PLT index
    	if there is no PLT0.
    	(elf_i386_finish_dynamic_symbol): Updated.  Don't fill the
    	second and third slots in the PLT entry if there is no PLT0.
    	(elf_i386_finish_dynamic_sections): Updated.  Don't fill PLT0
    	if there is no PLT0.  Set sh_entsize on the .plt.got section.
    	(elf_i386_nacl_plt): Forward declaration.
    	(elf_i386_get_plt_sym_val): Removed.
    	(elf_i386_get_synthetic_symtab): Rewrite to check PLT sections
    	against all dynamic relocations.
    	(elf_i386_link_setup_gnu_properties): New function.
    	(elf_backend_create_dynamic_sections): Updated.
    	(elf_backend_setup_gnu_properties): New.
    	(elf_i386_nacl_plt): Updated.
    	(elf_i386_nacl_arch_bed): Likewise.
    	(elf_i386_vxworks_arch_bed): Likewise.
    
    ld/
    
    	* testsuite/ld-i386/i386.exp: Add some -z now tests.
    	* testsuite/ld-i386/plt-pic2.dd: New file.
    	* testsuite/ld-i386/plt2.dd: Likewise.
    	* testsuite/ld-i386/plt2.rd: Likewise.
    	* testsuite/ld-i386/plt2.s: Likewise.
    	* testsuite/ld-ifunc/ifunc-16-i386-now.d: Likewise.
    	* testsuite/ld-ifunc/ifunc-2-i386-now.d: Likewise.
    	* testsuite/ld-ifunc/ifunc-2-local-i386-now.d: Likewise.
    	* testsuite/ld-ifunc/pr17154-i386-now.d: Likewise.
    	* testsuite/ld-i386/pr20830.d: Update the .plt.got section
    	with func@plt.

commit 046734ff424bc5a4c1b6a69630d5bb31aa67165c
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon May 8 15:26:51 2017 +0100

    Make import libraries relocatable objects
    
    For ELF targets --out-implib currently generates an executable file
    (e_type is ET_EXEC) despite the file being expected to be linked against
    some other object file to make an executable later. It seems therefore
    more sensible to make the import library a relocatable object file
    (e_type set to ET_REL).
    
    Incidentally, as dicted by requirement 8 of
    "ARM v8-M Security Extensions: Requirements on Development Tools"
    (document ARM-ECM-0359818) version 1.0, import libraries generated when
    using --cmse-implib *must* be relocatable object file so this commit
    also adds an assert there in case the type of ELF import library is
    changed again in the future.
    
    2017-05-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* elflink.c (elf_output_implib): Remove executable flag from import
    	library bfd.
    	* elf32-arm.c (elf32_arm_filter_implib_symbols): Assert that the import
    	library is a relocatable object file.
    
    ld/
    	* testsuite/ld-arm/arm-elf.exp
    	(Secure gateway import library generation): Check e_type field
    	of import library and executable produced.
    	* testsuite/ld-arm/cmse-implib.type: Expectations for e_type field.

commit 313c59612298b022a408ca390bd5f73f28708015
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon May 8 09:40:07 2017 +0100

    Remove some uses of MAX_REGISTER_SIZE from mips-tdep.c
    
    gdb/
    	* mips-tdep.c (mips_o32_return_value): Remove unused buffer.
    	(print_gp_register_row): Use get_frame_register_value.

commit 27bfc1d1c2cbcafccddef51ef82b309ef147c4a8
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon May 8 09:37:26 2017 +0100

    Remove some uses of MAX_REGISTER_SIZE from mips-linux-tdep.c
    
    gdb/
    	* mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
    	(mips_supply_fpregset): Likewise.
    	(mips64_supply_gregset): Likewise.

commit 146e6c5cc7b19ea56a033415511e38a2d0656e42
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon May 8 09:35:45 2017 +0100

    Remove some uses of MAX_REGISTER_SIZE uses from mn10300-linux-tdep.c
    
    gdb/
    	* mn10300-linux-tdep.c (am33_supply_gregset_method): Use
    	regcache->raw_supply_zeroed.

commit b48e3ca69abef81d729d01d7c720fb23697c3590
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 8 00:00:41 2017 +0000

    Automatic date update in version.in

commit 618a737b59008a0153f6454ae9a6d42814384828
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun May 7 00:00:54 2017 +0000

    Automatic date update in version.in

commit e50f25ecdb24505bccb695e6c63add45f0032b9a
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue May 2 21:32:33 2017 -0400

    Rearrange gdb/configure.nat to make it simpler and less redundant
    
    The previous commit introduced gdb/configure.nat, but it was just a
    copy-and-past (with the necessary adjustments) from the files under
    gdb/config/.  We can do better than that.
    
    Instead of using one big 'case' statement that matches the
    ${gdb_host_cpu} and then match each ${gdb_host}, it is possible to
    remove a lof of redundancy by matching the most common ${gdb_host}'s
    first, setting the common variables for each, and then proceed to
    matching specific ${gdb_host}'s and ${gdb_host_cpu}'s.  In other
    words, reverse the order of the 'case's and take advantage of the fact
    that a lot of parameters are the same for each host.
    
    This commit was tested on x86_64 without regressions.
    
    gdb/ChangeLog:
    2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
     	* configure.nat: Rearrange 'case' statements to match
    	host before cpu.

commit 21ea5acdd1bcfe89984b16b5bac730050c5cf05e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Apr 25 16:03:39 2017 -0400

    Introduce "gdb/configure.nat" (and delete "gdb/config/*/*.mh" files)
    
    Due to my ongoing work to make it possible for gdbserver to start the
    inferior using the shell, I had to share the fork_inferior function
    under the "nat/" directory.  In order to do that, I created a new file
    and put the function there; however, this meant that I now had to
    update some of the *.mh files (under "gdb/config") and add the new
    file as a dependency to be built natively.  Bleh...
    
    After talking a bit to Pedro about this, the idea came up to write a
    new "gdb/configure.nat" file, a la "gdb/configure.tgt", which would
    concentrate all of the native settings for each host/system.  I
    decided to tackle this issue.
    
    The patch is simple.  All of the previous Makefile variables that were
    being declared inside the *.mh files are now inside "gdb/Makefile.in",
    and "gdb/configure" is responsible for AC_SUBST'ing them.  The
    definitions of these variables were put inside "gdb/configure.nat", so
    now they're shell variables.  For excerpts of Makefile code, one must
    create a file under "gdb/config/${gdb_cpu_host}" and reference it on
    the "nat_extra_makefile_frag" variable.
    
    It should now be easier to update the native dependencies of hosts in
    this single file.
    
    This has been tested on x86_64 without regressions.
    
    gdb/ChangeLog:
    2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in: Remove "@host_makefile_frag@".  Add variables
    	NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
    	NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
    	"@nat_extra_makefile_frag@".
    	(Makefile): Remove dependency on "@frags@".
    	($(GNULIB_BUILDDIR)/Makefile): Likewise.
    	(data-directory/Makefile): Likewise.
    	* config/aarch64/linux.mh: Deleted; moved contents to
    	"gdb/configure.nat".
    	* config/alpha/alpha-linux.mh: Likewise.
    	* config/alpha/nbsd.mh: Likewise.
    	* config/arm/linux.mh: Likewise.
    	* config/arm/nbsdelf.mh: Likewise.
    	* config/i386/cygwin.mh: Likewise.
    	* config/i386/cygwin64.mh: Likewise.
    	* config/i386/darwin.mh: Likewise.
    	* config/i386/fbsd.mh: Likewise.
    	* config/i386/fbsd64.mh: Likewise.
    	* config/i386/go32.mh: Likewise.
    	* config/i386/i386gnu.mh: Likewise.
    	* config/i386/i386sol2.mh: Likewise.
    	* config/i386/linux.mh: Likewise.
    	* config/i386/linux64.mh: Likewise.
    	* config/i386/mingw.mh: Likewise.
    	* config/i386/mingw64.mh: Likewise.
    	* config/i386/nbsd64.mh: Likewise.
    	* config/i386/nbsdelf.mh: Likewise.
    	* config/i386/nto.mh: Likewise.
    	* config/i386/obsd.mh: Likewise.
    	* config/i386/obsd64.mh: Likewise.
    	* config/i386/sol2-64.mh: Likewise.
    	* config/ia64/linux.mh: Likewise.
    	* config/m32r/linux.mh: Likewise.
    	* config/m68k/linux.mh: Likewise.
    	* config/m68k/nbsdelf.mh: Likewise.
    	* config/m68k/obsd.mh: Likewise.
    	* config/m88k/obsd.mh: Likewise.
    	* config/mips/fbsd.mh: Likewise.
    	* config/mips/linux.mh: Likewise.
    	* config/mips/nbsd.mh: Likewise.
    	* config/mips/obsd64.mh: Likewise.
    	* config/pa/linux.mh: Likewise.
    	* config/pa/nbsd.mh: Likewise.
    	* config/pa/obsd.mh: Likewise.
    	* config/powerpc/aix.mh: Likewise.
    	* config/powerpc/fbsd.mh: Likewise.
    	* config/powerpc/linux.mh: Likewise.
    	* config/powerpc/nbsd.mh: Likewise.
    	* config/powerpc/obsd.mh: Likewise.
    	* config/powerpc/ppc64-linux.mh: Likewise.
    	* config/powerpc/spu-linux.mh: Likewise.
    	* config/s390/linux.mh: Likewise.
    	* config/sh/nbsd.mh: Likewise.
    	* config/sparc/fbsd.mh: Likewise.
    	* config/sparc/linux.mh: Likewise.
    	* config/sparc/linux64.mh: Likewise.
    	* config/sparc/nbsd64.mh: Likewise.
    	* config/sparc/nbsdelf.mh: Likewise.
    	* config/sparc/obsd64.mh: Likewise.
    	* config/sparc/sol2.mh: Likewise.
    	* config/tilegx/linux.mh: Likewise.
    	* config/vax/nbsdelf.mh: Likewise.
    	* config/vax/obsd.mh: Likewise.
    	* config/xtensa/linux.mh: Likewise.
    	* config/i386/i386gnu.mn: New file, with excerpts from
    	"config/i386/i386gnu.mh".
    	* configure: Regenerate.
    	* configure.ac: Rewrite code to use "gdb/configure.nat" instead of
    	*.mh files under "gdb/config".
    	* configure.nat: New file, with contents from the
    	"gdb/config/*/*.mh" files.
    
    gdb/doc/ChangeLog:
    2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile: Remove "@host_makefile_frag@".

commit 7b937cba77df45962ced7e0e03802561beab549f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat May 6 00:00:53 2017 +0000

    Automatic date update in version.in

commit 7ed1acafa0b5d135342f9dcc0eb0387dff95005a
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Fri May 5 08:20:50 2017 +0200

    btrace: Fix memory leak in btrace_clear.

commit e13cb306f099a8cd450c9fba0dfa22521aaa3c95
Author: Pedro Alves <palves@redhat.com>
Date:   Fri May 5 01:03:28 2017 +0100

    gdb: Disable -Werror for -Wmaybe-uninitialized
    
    Newer GCCs are triggering false-positive -Wmaybe-uninitialized
    warnings around code that uses gdb::optional:
      https://sourceware.org/ml/gdb-patches/2017-05/msg00118.html
    
    Using std::optional wouldn't help, it triggers the same warnings:
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635
    
    Initializing the variables to quiet the warning would defeat the
    purpose of gdb::optional.  Making the optional ctor memset its storage
    would be a pessimization.  Wrapping gdb::optional's internals with
    "#pragma GCC diagnostic push/ignored/pop" doesn't work, we'd have to
    wrap uses of gdb::optional instead, which I think would get unwieldy
    and ugly as we start using gdb::optional more and more.
    
    The -Wmaybe-uninitialized warning is documented as producing false
    positives (unlike -Wuninialized), so until we find a better
    workaround, disable -Werror for this warning.  You'll still see the
    warning when building gdb, but it won't cause a build failure.
    
    Tested by building with gcc 4.8.5, 5.3.1, and gcc trunk (20170428).
    
    gdb/ChangeLog:
    2017-05-05  Pedro Alves  <palves@redhat.com>
    
    	* warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2017-05-05  Pedro Alves  <palves@redhat.com>
    
    	* configure: Regenerate.

commit 323449189c3474d1ab352b49172f4f59670ea73e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri May 5 00:00:37 2017 +0000

    Automatic date update in version.in

commit b9fa99c5c9e4b82ccf6687625484dd68b0b6ddc5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 4 08:09:04 2017 -0700

    Apply gold test patches

commit d512d31c395e3c45f83778e01b9824efe45cac5f
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 16:02:36 2017 +0100

    Fix gdb.python/py-record-btrace-threads.exp with Python 3
    
    Fix several instances of:
    
     ...
     python print not f1calls
       File "<string>", line 1
         print not f1calls
    		     ^
     SyntaxError: Missing parentheses in call to 'print'
     Error while executing Python code.
     (gdb) FAIL: gdb.python/py-record-btrace-threads.exp: thread=1: checking thread 1: python print not f1calls
     ...
    
    gdb/testsuite/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* gdb.python/py-record-btrace-threads.exp (check_insn_for_thread):
    	Add parens to print call for Python 3.

commit 7f4519b122ca5a68ed4c0a736ba805077cd3998f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 4 08:01:10 2017 -0700

    Update x86 -z now patches

commit f0e59e6a35d008cf7d2ce034931a455626c69e64
Merge: c95b98c 5ed8105
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu May 4 07:59:34 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 5ed8105e02d0c6648b7faea9f4e941237b932717
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 12:46:44 2017 +0100

    RAII-fy make_cleanup_restore_current_thread & friends
    
    After all the make_cleanup_restore_current_thread fixing, I thought
    I'd convert that and its relatives (which are all cleanups) to RAII
    classes.
    
    scoped_restore_current_pspace_and_thread was put in a separate file to
    avoid a circular dependency.
    
    Tested on x86-64 Fedora 23, native and gdbserver.
    
    gdb/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add progspace-and-thread.c.
    	(HFILES_NO_SRCDIR): Add progspace-and-thread.h.
    	(COMMON_OBS): Add progspace-and-thread.o.
    	* breakpoint.c: Include "progspace-and-thread.h".
    	(update_inserted_breakpoint_locations)
    	(insert_breakpoint_locations, create_longjmp_master_breakpoint):
    	Use scoped_restore_current_pspace_and_thread.
    	(create_std_terminate_master_breakpoint): Use
    	scoped_restore_current_program_space.
    	(remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
    	(print_breakpoint_location): Use
    	scoped_restore_current_program_space.
    	(bp_loc_is_permanent): Use
    	scoped_restore_current_pspace_and_thread.
    	(resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
    	(download_tracepoint_locations): Use
    	scoped_restore_current_pspace_and_thread.
    	(breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
    	* exec.c (exec_close_1): Use scoped_restore_current_program_space.
    	(enum step_over_calls_kind): Moved from inferior.h.
    	(class scoped_restore_current_thread): New class.
    	* gdbthread.h (make_cleanup_restore_current_thread): Delete
    	declaration.
    	(scoped_restore_current_thread): New class.
    	* infcmd.c: Include "common/gdb_optional.h".
    	(continue_1, proceed_after_attach): Use
    	scoped_restore_current_thread.
    	(notice_new_inferior): Use scoped_restore_current_thread.
    	* inferior.c: Include "progspace-and-thread.h".
    	(restore_inferior, save_current_inferior): Delete.
    	(add_inferior_command, clone_inferior_command): Use
    	scoped_restore_current_pspace_and_thread.
    	* inferior.h (scoped_restore_current_inferior): New class.
    	* infrun.c: Include "progspace-and-thread.h" and
    	"common/gdb_optional.h".
    	(follow_fork_inferior): Use
    	scoped_restore_current_pspace_and_thread.
    	(scoped_restore_exited_inferior): New class.
    	(handle_vfork_child_exec_or_exit): Use
    	scoped_restore_exited_inferior,
    	scoped_restore_current_pspace_and_thread,
    	scoped_restore_current_thread and scoped_restore.
    	(fetch_inferior_event): Use scoped_restore_current_thread.
    	* linespec.c (decode_line_full, decode_line_1): Use
    	scoped_restore_current_program_space.
    	* mi/mi-main.c: Include "progspace-and-thread.h".
    	(exec_continue): Use scoped_restore_current_thread.
    	(mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
    	(mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
    	* proc-service.c (ps_pglobal_lookup): Use
    	scoped_restore_current_program_space.
    	* progspace-and-thread.c: New file.
    	* progspace-and-thread.h: New file.
    	* progspace.c (release_program_space, clone_program_space): Use
    	scoped_restore_current_program_space.
    	(restore_program_space, save_current_program_space)
    	(save_current_space_and_thread): Delete.
    	(switch_to_program_space_and_thread): Moved to
    	progspace-and-thread.c.
    	* progspace.h (save_current_program_space)
    	(save_current_space_and_thread): Delete declarations.
    	(scoped_restore_current_program_space): New class.
    	* remote.c (remote_btrace_maybe_reopen): Use
    	scoped_restore_current_thread.
    	* symtab.c: Include "progspace-and-thread.h".
    	(skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
    	* thread.c (print_thread_info_1): Use
    	scoped_restore_current_thread.
    	(struct current_thread_cleanup): Delete.
    	(do_restore_current_thread_cleanup)
    	(restore_current_thread_cleanup_dtor): Rename/convert both to ...
    	(scoped_restore_current_thread::~scoped_restore_current_thread):
    	... this new dtor.
    	(make_cleanup_restore_current_thread): Rename/convert to ...
    	(scoped_restore_current_thread::scoped_restore_current_thread):
    	... this new ctor.
    	(thread_apply_all_command): Use scoped_restore_current_thread.
    	(thread_apply_command): Use scoped_restore_current_thread.
    	* tracepoint.c (tdump_command): Use scoped_restore_current_thread.
    	* varobj.c (value_of_root_1): Use scoped_restore_current_thread.

commit f6223dbb50b5d8780df633633adf0742c662173d
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 14:43:34 2017 +0100

    make_cleanup_restore_current_thread: Look up thread earlier
    
    The unconditional is_stopped call already asserts that the thread exists.
    
    gdb/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* thread.c (make_cleanup_restore_current_thread): Move
    	find_thread_ptid call before the is_stopped call.  Assert that the
    	thread is found.  Replace is_stopped call by checking the thread's
    	state directly.  Remove unnecessary NULL-thread check.

commit 3c3ae77e68a9032ef9f174bf6b1cc992b6a4cb35
Author: Pedro Alves <palves@redhat.com>
Date:   Thu May 4 15:14:37 2017 +0100

    Fix get_core_register_section leak, introduce thread_section_name
    
    This plugs a leak introduced in the previous change to
    get_core_register_section, which removed an xfree call that is
    actually necessary because the 'section_name' local is static.
    
    From [1] it looks like the reason the variable was made static to
    begin with, was just "laziness" to avoid having to think about freeing
    it on every function return path:
    
     https://sourceware.org/ml/gdb-patches/2005-03/msg00237.html
    
    The easiest to fix that nowadays is to use a std::string.
    
    I don't see a need to xstrdup the section name in the single-threaded
    case though, and also there's more than one place that computes a
    multi-threaded section name in the same way.  So put the section name
    computation in a wrapper class with state.
    
    gdb/ChangeLog:
    2017-05-04  Pedro Alves  <palves@redhat.com>
    
    	* corelow.c (thread_section_name): New class.
    	(get_core_register_section, get_core_siginfo): Use it.

commit f91d48deb29d9e6f4b530f586db0140943ed0d83
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Wed Apr 5 20:58:28 2017 +0800

    RISC-V: Fix disassemble for c.li, c.andi and c.addiw
    
    ChangeLog
    
    2017-05-03  Kito Cheng  <kito.cheng@gmail.com>
    
            * riscv-dis.c (print_insn_args): Handle 'Co' operands.

commit 45eba0ab7d26435121facb68847fbd0cd4a313c1
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu May 4 11:06:10 2017 +0200

    Remove some superfluous code in corelow.c
    
    In corelow.c I stumbled upon an extra semicolon and an xfree of a NULL
    pointer.  Remove them.
    
    gdb/ChangeLog:
    
    	* corelow.c (sniff_core_bfd): Remove extra semicolon.
    	(get_core_register_section): Remove xfree of NULL pointer.

commit b660e9eb7a45cfe99e719c5d16af35913a2fdc96
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Mon Apr 24 15:17:14 2017 +0530

    Fix PR21404 - assertion fail when calculating symbol size
    
    Fix a host of problems related to adjustment of
    symbol values and sizes when relaxing for avr.
    
    1. Adjust symbol size first before adjusting symbol
    value. Otherwise, a symbol whose value just got adjusted to the
    relaxed address also ends up getting resized. See pr21404-1.s.
    
    2. Reduce symbol sizes only if their span is below an
    alignment boundary. Otherwise, the size gets decremented once when the
    actual instruction is relaxed and padding bytes are added, and again
    when the padding bytes are deleted (if padding ends up being unnecessary).
    pr21404-2.s addresses that, and this bug is really the root cause of PR21404.
    
    3. Adjust all symbol values before an alignment boundary.
    Previous code did not adjust symbol values if they fell in the
    would-be padded area, resulting in incorrect symbol values in some
    cases (see pr21404-3.s).
    
    4. Increase symbol sizes if alignment directives require so.
    As pr21404-4.s shows
    .global nonzero_sym
    L1:
        jmp  L1
    nonzero_sym:
        nop
        nop
        .p2align 2
    .size nonzero_sym, .-nonzero_sym
    
    The two nops satisfy the 4 byte alignment at assembly time and
    therefore the size of nonzero_sym is 4. Relaxation shortens
    the 4 byte jmp to a 2 byte rjmp, and to satisfy 4 byte alignment
    the code places 2 extra padding bytes after the nops, increasing
    nonzero_sym's size by 2. This wasn't handled before.
    
    If the assembly code does not have any align directives, then the
    boundary is the section size, and symbol values and sizes == boundary
    should also get adjusted. To handle that case, add a did_pad variable
    and use that to determine whether it should use < boundary or <= boundary.
    
    Also get rid of reloc_toaddr, which is now redundant.  toaddr is now not
    adjusted to handle the above case - the newly added
    did_pad variable does the job.
    
    pr21404-{5,6,7,8} are the same testcases written for local symbols, as
    the code handles them slightly differently.

commit 8293e73636484b403150ae94a93619779bcbae96
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu May 4 00:00:55 2017 +0000

    Automatic date update in version.in

commit 8507b6e79772ffeb83a0142d12a63e02dcc44562
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 3 20:43:10 2017 +0100

    MIPS16/GAS: Relax 32-bit non-PIC PC-relative synthetic instructions
    
    Implement the relaxation of MIPS16 PC-relative synthetic LA, DLA, LW and
    LD instructions to an equivalent sequence of instructions produced where
    the address operand requested is out of range, absolute or requires
    linker relocation, for ABIs that use 32-bit addressing and non-PIC code.
    
    The sequence generated uses the register specified for the destination
    operand as a temporary and begins with LI to load the high 16-bit part
    of the address, then continues with SLL by 16 bits to move that part
    into place and finally completes with a suitable operation corresponding
    to the synthetic instruction used, one of: 2-argument ADDIU, 2-argument
    DADDIU, absolute LW, and absolute LD respectively, providing the low
    16-bit part of the address.  All instructions use the extended encoding.
    As a special exception accept absolute addresses for relaxation even in
    PIC code.
    
    For example:
    
    	la	$2, 0x12345678
    
    produces code as:
    
    	li	$2, 0x1234
    	sll	$2, $2, 16
    	addiu	$2, 0x5678
    
    would.
    
    Where linker relocation is required emit an R_MIPS16_HI16 relocation on
    the initial LI instruction and an R_MIPS16_LO16 relocation on the final
    operation.
    
    For example (where `foo' is not local):
    
    	lw	$3, foo
    
    produces code as:
    
    	li	$3, %hi(foo)
    	sll	$3, $3, 16
    	lw	$3, %lo(foo)($3)
    
    would.
    
    Emit assembly warnings as appropriate where this new relaxation triggers
    in the `nomacro' mode or for an instruction manually placed in a branch
    delay slot in the `noreorder' mode.  Refrain from relaxation where an
    explicit instruction size suffix has been used and in the `noautoextend'
    mode.
    
    	gas/
    	* config/tc-mips.c (RELAX_MIPS16_ENCODE): Add `pic', `sym32' and
    	`nomacro' flags.
    	(RELAX_MIPS16_PIC, RELAX_MIPS16_SYM32, RELAX_MIPS16_NOMACRO):
    	New macros.
    	(RELAX_MIPS16_USER_SMALL, RELAX_MIPS16_USER_EXT)
    	(RELAX_MIPS16_DSLOT, RELAX_MIPS16_JAL_DSLOT)
    	(RELAX_MIPS16_EXTENDED, RELAX_MIPS16_MARK_EXTENDED)
    	(RELAX_MIPS16_CLEAR_EXTENDED, RELAX_MIPS16_ALWAYS_EXTENDED)
    	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED)
    	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): Shift bits.
    	(RELAX_MIPS16_MACRO, RELAX_MIPS16_MARK_MACRO)
    	(RELAX_MIPS16_CLEAR_MACRO): New macros.
    	(append_insn): Pass `mips_pic', HAVE_32BIT_SYMBOLS and
    	`mips_opts.warn_about_macros' settings to RELAX_MIPS16_ENCODE.
    	(mips16_macro_frag): New function.
    	(md_estimate_size_before_relax): Handle HI16/LO16 relaxation.
    	(mips_relax_frag): Likewise.
    	(md_convert_frag): Likewise.
    
    	* testsuite/gas/mips/mips16@relax-swap3.d: Remove error output,
    	add dump patterns.
    	* testsuite/gas/mips/mips16e@relax-swap3.d: New test
    	subarchitecture.
    	* testsuite/gas/mips/micromips@relax-swap3.d: Remove trailing
    	NOP padding.
    	* testsuite/gas/mips/mips16-pcrel-reloc-2.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-reloc-3.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-reloc-6.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-reloc-7.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-addend-2.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-addend-3.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-absolute.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.d: Remove error
    	output, add dump patterns.
    	* testsuite/gas/mips/mips16@relax-swap3.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-2.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-3.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-6.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-reloc-7.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-addend-2.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-addend-3.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-absolute.l: Remove file.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.l: Remove file.
    	* testsuite/gas/mips/relax-swap3.s: Adjust trailing padding.
    
    	* testsuite/gas/mips/mips16-pcrel-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-2.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-3.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-5.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-pic-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-pic-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n32-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n32-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-n64-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-delay-0.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-delay-1.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-5.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-7.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-pic-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-pic-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n32-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n32-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-sym32-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-8.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-addend-n64-9.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-2.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-3.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-5.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-7.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n32-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n32-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-4.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-6.d: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-4.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-n64-sym32-6.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-4.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n32-6.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-4.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-6.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-4.d:
    	New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-pic-n64-sym32-6.d:
    	New test.
    	* testsuite/gas/mips/mips16-pcrel-0.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-1.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-2.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-3.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-4.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-5.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-delay-0.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-delay-1.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-addend-8.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.l: New stderr output.
    	* testsuite/gas/mips/mips16-pcrel-absolute-4.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-pcrel-0.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-1.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-2.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-3.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-4.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-5.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-delay-0.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-delay-1.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-4.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-5.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-6.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-7.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-8.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-addend-9.s: New test source.
    	* testsuite/gas/mips/mips16-pcrel-absolute-2.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-3.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-4.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-5.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-6.s: New test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-7.s: New test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/mips16-pcrel-0.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-1.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-addend-2.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-addend-6.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n32-0.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n32-1.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-0.d: New test.
    	* testsuite/ld-mips-elf/mips16-pcrel-n64-sym32-1.d: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 90cef2edd256c48d2ff9a03d4a6c1bcb575db07c
Author: Keith Seitz <keiths@redhat.com>
Date:   Wed May 3 12:41:09 2017 -0700

    Make sure malloc is linked into gdb.cp/oranking.cc.
    
    On some platforms, e.g., arm-eabi-none, we need to make certain that
    malloc is linked into the program because the test suite uses function
    calls requiring malloc:
    
    (gdb) p foo101("abc")
    evaluation of this expression requires the program to have a function "malloc".
    
    gdb/testsuite/ChangeLog
    
    	* gdb.cp/oranking.cc (dummy): New function to grab malloc.
    	(main): Call it.

commit b22908217d8593185af3f76fab6f0f01457b0600
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 3 07:40:51 2017 -0700

    Adjust testsuite/ld-elf/pr21384.d
    
    Adjust testsuite/ld-elf/pr21384.d to accommodate additional dynamic
    symbols on some targets.
    
    	* testsuite/ld-elf/pr21384.d: Adjusted to accommodate
    	additional dynamic symbols on some targets.

commit f81fdd350e688bd0216486b30884a52ebc4f32b8
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed May 3 14:51:40 2017 +0100

    Remove MAX_REGISTER_SIZE from frv-linux-tdep.c
    
    gdb/
    	* frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
    	* regcache.c (regcache::raw_supply_zeroed): New function.
    	* regcache.h (regcache::raw_supply_zeroed): New declaration.

commit 35837774a77d641ba3ae75930a7b08ed853759ad
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed May 3 09:21:27 2017 -0400

    gdbarch.sh: Remove commented out TARGET_CHAR_BIT definition
    
    As Pedro commented on the patch "Change field separator in gdbarch.sh",
    this commented out definition is probably not useful and should be
    removed.  It has been commented out for basically forever, and it
    probably serves the same intent as addressable_memory_unit_size.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh: Remove commented out definition of
    	TARGET_CHAR_BIT.
    	* gdbarch.h: Re-generate.

commit c94fee56f5f8e5e26a115a1ca155ddada9d43b31
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed May 3 09:13:15 2017 -0400

    Regenerate gdb/{,gdbserver/}configure (for commit be628ab814f1c90e185d7482d27aa8a991ab5837)
    
    On commit be628ab814f1c90e185d7482d27aa8a991ab5837, both
    common/common.m4 was modified in order to check for the presence of
    'termios.h', 'termio.h' and 'sgtty.h'.  However, I forgot to
    regenerate both gdb/configure and gdb/gdbserver/configure.  This
    commit does that.
    
    gdb/ChangeLog:
    2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* configure: Regenerate.

commit e78bb25cb636a331f27e9cc4cba5522939567695
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed May 3 09:52:01 2017 +0100

    Prevent a seg-fault in the assembler when provided with a bogus input source file.
    
    	PR gas/20941
    	* symbols.c (snapshot_symbol): Handle the case where
    	resolve_expression returns a local symbol.

commit 35387fdec5e10b281c218c9dc4f3dc33c3fcc522
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed May 3 00:00:41 2017 +0000

    Automatic date update in version.in

commit 82d808edbc7a06f706b82064cec6c3ed88f0c4be
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed May 3 00:05:15 2017 +0100

    MIPS16/GAS: Fix absolute references with PC-relative synthetic instructions
    
    Complement commit 88a7ef168927 ("MIPS16/GAS: Restore unsupported
    relocation diagnostics") and also propagate constant expressions, either
    already reduced from absolute symbol references or created from literals
    in the first place, used as a PC-relative operand with the MIPS16 LA,
    LW, DLA and LD synthetic instructions to relaxation, matching the way
    forward absolute symbol references have been handled as from the commit
    referred and letting relaxation produce any necessary relocations, if
    possible, for the absolute value requested to be reproduced at the run
    time.
    
    Call `symbol_append' for any expression symbol created for the purpose
    of MIPS16 relaxation as with constant expressions now propagated from
    earlier on such symbols may make it through and have R_MIPS16_PC16_S1
    relocations emitted against, and therefore need to appear in the symbol
    table produced.
    
    	gas/
    	* config/tc-mips.c (append_insn): Call `symbol_append' for any
    	expression symbol created for MIPS16 relaxation.
    	(match_mips16_insn): Don't encode a constant value as an
    	immediate with a PC-relative operand.
    
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-1.d: New
    	test.
    	* testsuite/gas/mips/mips16-branch-absolute-n32-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-n32-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n32-1.d: New
    	test.
    	* testsuite/gas/mips/mips16-branch-absolute-n64-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-n64-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n64-1.d: New
    	test.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-pcrel-absolute-1.s: New test source.
    	* testsuite/gas/mips/mips16-branch-absolute-1.s: New test
    	source.
    	* testsuite/gas/mips/mips16-branch-absolute-2.s: New test
    	source.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-1.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/mips16-branch-absolute-1.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-2.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-1.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n32-1.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n32-2.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32-1.d:
    	New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n64-1.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n64-2.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64-1.d:
    	New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 3d8505928a06e00b05bb162c1ad0dd612c1c16af
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 2 16:00:49 2017 -0700

    x86: Add -Wl,--no-as-needed to some TLS tests
    
    	* testsuite/ld-i386/tls.exp: Add -Wl,--no-as-needed to
    	"TLS without PLT (1)" and "TLS without PLT (3)".
    	* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to
    	to "TLS without PLT (3)".

commit 43e379d74c994fe431368b5f25f778bf601a2981
Author: Michael Clark <michaeljclark@mac.com>
Date:   Thu Apr 27 16:08:46 2017 +1200

    RISC-V: Change CALL macro to use ra as the temporary address register
    
    e.g.
    
        1:  auipc ra, %pcrel_hi(symbol)
            jalr  ra, %pcrel_lo(1b)(ra)
    
    The use of ra instead of t1 for address construction provides an
    opportunity for a microarchitecture to elide the write of the
    destination address, and instead read the target address as an
    immediate spread across the fused auipc+jalr pair. The link
    register ra in the jalr overwrites the target address temporary.
    
    2017-05-01  Michael Clark  <michaeljclark@mac.com>
    
    	* riscv-opc.c (riscv_opcodes) <call>: Use RA not T1 as a temporary
    	register.

commit 763a5fa4f330d6d3859c94a69ba1fcab09330cf9
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Mon May 1 10:26:32 2017 -0700

    RISC-V: Allow 32-bit BFD to handle 64-bit objects
    
    We've been telling people that the riscv32-* and riscv64-* toolchains
    are exactly the same, but it turns out we were lying: the riscv32-* BFD
    doesn't handle 64-bit objects.  This fixes that difference, so the ports
    are actually the same.
    
    bfd/ChangeLog
    
    2017-05-01  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * config.bfd (riscv32-*): Enable rv64.

commit 640226f048b67d79da85742728e40114c9ee5da0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 2 13:54:22 2017 -0700

    Add a test for PR ld/21384
    
    	PR ld/21384
    	* testsuite/ld-elf/pr21384.d: New file.
    	* testsuite/ld-elf/pr21384.dl: Likewise.
    	* testsuite/ld-elf/pr21384.ld: Likewise.
    	* testsuite/ld-elf/pr21384.s: Likewise.

commit 2ecf0cc317d065cfeb960c61688897351521bce0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue May 2 12:16:26 2017 -0700

    Cast relcount to unsigned long when comparing with sec->reloc_count
    
    The type of relcount is long and the type of sec->reloc_count is
    unsigned int.  On 32-bit hosts, GCC issues an error:
    
    objcopy.c:2144:20: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
           if (relcount > sec->reloc_count)
    
    Cast relcount to unsigned long to silence GCC.
    
    	* objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned
    	long when comparing with sec->reloc_count.

commit d17f7b365cf3896b3129b9077d55b3154fc43131
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue May 2 14:25:43 2017 -0400

    solib-target: Remove local variables
    
    Now that we use std::vector, these local variables are not very useful.
    They're not much shorter than the expressions they stand for.
    
    gdb/ChangeLog:
    
    	* solib-target.c (solib_target_relocate_section_addresses):
    	Remove num_section_bases, num_bases, segment_bases variables.

commit b560ebd6605503276e09b2ef75c94e1d10f176f2
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:09 2017 -0400

    Remove definition of VEC (CORE_ADDR)
    
    gdb/ChangeLog:
    
    	* common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.

commit f2f46dfcdafe6bd32152d80b5e832d2fab4e6900
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:08 2017 -0400

    Use std::vector in lm_info_target
    
    Replace the two VEC fields with std::vector.
    
    gdb/ChangeLog:
    
    	* solib-target.c: Include <vector>
    	(struct lm_info_target) <~lm_info_target>: Remove.
    	<segment_bases, section_bases>: Change type to
    	std::vector<CORE_ADDR>.
    	(library_list_start_segment, library_list_start_section,
    	library_list_end_library,
    	solib_target_relocate_section_addresses): Adjust.

commit a0ff9e1ad221c11f58a9d8d12a84c21579132d85
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:07 2017 -0400

    Change return type of gdbarch_software_single_step to vector<CORE_ADDR>
    
    This is a relatively straightforward patch that changes
    gdbarch_software_single_step so it returns an std::vector<CORE_ADDR>
    instead of a VEC (CORE_ADDR).
    
    gdb/ChangeLog:
    
    	* gdbarch.sh (software_single_step): Change return type to
    	std::vector<CORE_ADDR>.
    	* gdbarch.c, gdbarch.h: Re-generate.
    	* arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
    	Adjust.
    	(arm_deal_with_atomic_sequence_raw): Adjust.
    	(thumb_get_next_pcs_raw): Adjust.
    	(arm_get_next_pcs_raw): Adjust.
    	(arm_get_next_pcs): Adjust.
    	* arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
    	* aarch64-tdep.c (aarch64_software_single_step): Adjust.
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
    	(alpha_software_single_step): Adjust.
    	* alpha-tdep.h (alpha_software_single_step): Adjust.
    	* arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
    	* arm-tdep.c (arm_software_single_step): Adjust.
    	(arm_breakpoint_kind_from_current_state): Adjust.
    	* arm-tdep.h (arm_software_single_step): Adjust.
    	* breakpoint.c (insert_single_step_breakpoint): Adjust.
    	* cris-tdep.c (cris_software_single_step): Adjust.
    	* mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
    	(micromips_deal_with_atomic_sequence): Adjust.
    	(deal_with_atomic_sequence): Adjust.
    	(mips_software_single_step): Adjust.
    	* mips-tdep.h (mips_software_single_step): Adjust.
    	* moxie-tdep.c (moxie_software_single_step): Adjust.
    	* nios2-tdep.c (nios2_software_single_step): Adjust.
    	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
    	* rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
    	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
    	* s390-linux-tdep.c (s390_software_single_step): Adjust.
    	* sparc-tdep.c (sparc_software_single_step): Adjust.
    	* spu-tdep.c (spu_software_single_step): Adjust.
    	* tic6x-tdep.c (tic6x_software_single_step): Adjust.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-arm-low.c (arm_gdbserver_get_next_pcs): Adjust to
    	software_single_step change of return type to
    	std::vector<CORE_ADDR>.
    	* linux-low.c (install_software_single_step_breakpoints):
    	Likewise.
    	* linux-low.h (install_software_single_step_breakpoints):
    	Likewise.

commit ea480a306d46efe3dd1839618137f0e73a80e9b3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue May 2 13:30:07 2017 -0400

    Change field separator in gdbarch.sh
    
    The fields in the description of the gdbarch interface are separated
    using colons.  That becomes a problem if we want to use things like
    std::vector in it. This patch changes the field separator to use
    semicolons instead.
    
    I think there's very little chance we'll ever want to use a semicolon in
    one of the fields, but if you think another character would be more
    appropriate, let me know.
    
    gdb/ChangeLog:
    
    	* gdbarch.sh: Use semi-colon as field separator instead of colon.
    	* gdbarch.h: Re-generate.

commit 1395c6ce47510babad3dcb9892f6f2517a3f2b59
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue May 2 16:54:53 2017 +0100

    Don't merge notes when the relocs associated with them cannot be reliably deleted.
    
    	* objcopy.c (merge_gnu_build_notes): Disable merge if there are
    	more internal relocs than external relocs.

commit 73ec947d59c511411377ad51ef792a5fcdd3f0cc
Author: Alan Modra <amodra@gmail.com>
Date:   Tue May 2 21:56:43 2017 +0930

    PR 21384, --dynamic-list regression with f02cb058
    
    The commit to "Always descend into output section statements in
    lang_do_assignments" meant that linker script symbols were not
    bfd_link_hash_new when ld called bfd_elf_record_link_assignment.
    This patch corrects that problem by testing h->non_elf instead.
    
    	PR 21384
    	* elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
    	rather than h->root.type == bfd_link_hash_new.
    	(bfd_elf_record_link_assignment): Similarly, call
    	bfd_elf_link_mark_dynamic_symbol when h->non_elf.

commit a4ddc54ec1cd187c844ca631fe0315bf1d78e96f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue May 2 11:53:30 2017 +0100

    MIPS16/opcodes: Keep the LSB of PC-relative offsets in disassembly
    
    Correct the disassembly of the PC-relative immediate argument of the
    MIPS16 synthetic LA, LW, DLA and LD instructions and do not mask the
    LSB, which in this case is a part of the data address rather than the
    ISA bit and has to be fully presented.
    
    	opcodes/
    	* mips-dis.c (print_insn_arg): Only clear the ISA bit for jumps
    	and branches and not synthetic data instructions.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
    	disassembly of PC-relative LA and LW synthetic instructions.

commit 39ff1b79f687b65f4144ddb379f22587003443fb
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue May 2 11:54:53 2017 +0100

    Prevent memory exhaustion from a corrupt PE binary with an overlarge number of relocs.
    
    	PR 21440
    	* objdump.c (dump_relocs_in_section): Check for an excessive
    	number of relocs before attempting to dump them.

commit d050f7d7f474c7e3ba26902a9cbb185910921a11
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Introduce gdb.Instruction class
    
    This adds a generic instruction class to Python and has gdb.RecordInstruction
    inherit from it.

commit 14f819c8c5f7d080e5eea9256f0ec7453aac750e
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Move and rename gdb.BtraceFunction
    
    Remove gdb.BtraceFunctionCall and replace by gdb.FunctionSegment.  Additionally,
    rename prev_segment and next_segment to prev and next.

commit 0ed5da759e34c6e85cb2a9ea0fdc7b680f897a81
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Move and rename gdb.BtraceInstruction
    
    Remove gdb.BtraceInstruction and replace by gdb.RecordInstruction.

commit 913aeadd9d6b8bdea5131b16dc7ede395097656d
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Introduce gdb.RecordGap class
    
    As discussed here: https://sourceware.org/ml/gdb-patches/2017-04/msg00157.html
    
    A gap is not an instruction and it should not pretend to be one.
    gdb.Record.instruction_history is now a list of gdb.RecordInstruction and
    gdb.RecordGap objects.  This allows the user to deal with Gaps in the record
    in a more sane way.

commit a3be24ad59d683d1b08df28e093739743a7cf256
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Remove ptid from gdb.Record interface
    
    As discussed here: https://sourceware.org/ml/gdb-patches/2017-04/msg00166.html

commit ae20e79ae852fee8f7d42701a54a95de3b79ecea
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Use correct ptid in btrace recording
    
    The user would always get the instruction_history and function_call_history
    objects of the current thread, not the thread for which the gdb.Record object
    was created.
    
    The attached testcase fails without this patch and passes with the patch.

commit 8d0050ea192c41349c1f2b000866c1bdb761abeb
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue May 2 11:35:54 2017 +0200

    Python: Fix indentation in py-record-btrace.c

commit fe50e98c9a22a89ca2e032b17aa7162452c3ad3b
Author: Bernd Edlinger <bernd.edlinger@hotmail.de>
Date:   Tue May 2 10:28:09 2017 +0100

    Fix value in comment of disassembled ARM type A opcodes.
    
    	* arm-dis.c (print_insn_thumb32): Fix value_in_comment.

commit 122a483d4f19c8b0a7f3d265dad882bd4f2c868a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue May 2 00:00:39 2017 +0000

    Automatic date update in version.in

commit c95b98c44cf50a13b5b8799b9f90e00844548397
Merge: 2f95240 0aae7e7
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 1 11:06:46 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 0aae7e72a2a11ef1fd2a3b4fd18c8d8d49e0c21b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 1 11:02:55 2017 -0700

    x86: Run GNU2 TLS tests with working GNU2 TLS support
    
    Check if GNU2 TLS really works before running GNU2 TLS tests.
    
    	* testsuite/ld-i386/tls.exp: Run GNU2 TLS tests only if there
    	is working GNU2 TLS support.
    	* testsuite/ld-x86-64/tls.exp: Likewise.
    	* testsuite/lib/ld-lib.exp (check_gnu2_tls_available): New proc.

commit 2f952405a71a6019c66d87435de1a63082d4a9a5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 1 10:26:10 2017 -0700

    Apply x86 -z now patches

commit bbdc747425a73a2743874cfca887e4a4e60566bb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 1 10:20:19 2017 -0700

    Update binutils-secondary.patch against master

commit 9ba1cc0c267b7b7cfa0373fe5d18b498c7854ce9
Merge: f285ab0 ee7e95e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon May 1 10:11:03 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 3f380b502769e55bbcdf7b9587c62344913c6ee8
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon May 1 09:59:15 2017 -0700

    gdb/MAINTAINERS: Move Daniel J and Mark to the Past Maintainers section.
    
    gdb/ChangeLog:
    
            * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
            the past maintainers section.

commit ee7e95efb98186c09dc2c39b32263aa15b147bb0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon May 1 14:11:27 2017 +0930

    merge_gnu_build_notes reloc deletion
    
    If moving relocs, the next reloc to look at is at the same location.
    
    	* objcopy.c (merge_gnu_build_notes): Correct code deleting
    	relocs.

commit 6224c858130fe5c5e5d8b2abdec1cea35986d9e7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon May 1 00:00:35 2017 +0000

    Automatic date update in version.in

commit 020bf56c8e55bfbe5a53989eac0c72b8d2416feb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 30 00:00:31 2017 +0000

    Automatic date update in version.in

commit a941291cab71b9ac356e1c03968c177c03e602ab
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Apr 29 14:48:16 2017 +0930

    PR21432, buffer overflow in perform_relocation
    
    The existing reloc offset range tests didn't catch small negative
    offsets less than the size of the reloc field.
    
    	PR 21432
    	* reloc.c (reloc_offset_in_range): New function.
    	(bfd_perform_relocation, bfd_install_relocation): Use it.
    	(_bfd_final_link_relocate): Likewise.

commit 45ce1b47e4490993b5c1a04f4a8acb62d9ec5039
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Fri Mar 31 13:24:36 2017 -0400

    Make environ.exp run on all platforms (and create info-program.exp)
    
    This has been on my TODO list for a while.  There's a really old bug
    about this (PR testsuite/8595), and there was no reason for
    environ.exp to be specific for hppa* targets.  So this patch removes
    this constraint, modernizes the testcase, and cleans up some things.
    Most of the tests remained, and some were rewritten (especially the
    one that checks if "show environment" works, which is something kind
    of hard to do).
    
    As a bonus, I'm adding a separated info-program.exp file containing
    all the tests related to "info program" that were present on
    environ.exp.
    
    Tested locally, everything still passes.
    
    gdb/testsuite/ChangeLog:
    2017-04-28  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR testsuite/8595
    	* gdb.base/environ.exp: Make test available in all architectures.
    	Move bits related to "info program" testing to
    	gdb.base/info-program.exp.  Rewrite tests to use the two new
    	procedures mentione below.
    	(test_set_show_env_var) New procedure.
    	(test_set_show_env_var_equal): Likewise.
    	* gdb.base/info-program.exp: New file.

commit a93866c8bfd4ad4b32c81e73e6a73aa9d831d350
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 29 00:00:38 2017 +0000

    Automatic date update in version.in

commit 0749542484129e77a30f1089d6d671197be5035f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Remove cleanup in get_return_value
    
    With regcache ctor, we can use it to create local object in
    get_return_value (), so that the cleanup can be removed.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* infcmd.c (get_return_value): Use regcache ctor, and remove
    	cleanup.

commit deb1fa3edaf10c65d1f39951779927da955e3a57
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Use tag dispatch regcache ctor in regcache_dup
    
    This patch adds a tag dispatch ctor to create read-only regcache from
    a write-through regcache, also this patch deletes copy ctor and
    assignment operator.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* regcache.c (regcache::regcache): New tag dispatch ctor.
    	(do_cooked_read): Moved above.
    	(regcache_dup): Use the tag dispatch ctor..
    	* regcache.h (regcache): Declare ctor, delete copy ctor and
    	assignment operator, remove friend regcache_dup.

commit b421c83cb866120ab347d60fda20fb0e2011be8c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Simplify regcache_dup
    
    regcache_dup, in fact, is to create a readonly regcache from a
    non-readonly regcache.  This patch adds an assert that src is not
    readonly.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_dup): Assert !src->m_readonly_p and
    	call method save instead of regcache_cpy.
    	* regcache.h (struct regcache): Make regcache_dup a friend.

commit ef79d9a3c6ed1e3ccd466bae76956019a7c5d376
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 22:48:42 2017 +0100

    Class-fy regcache
    
    This patch moves regcache declaration to regcache.h, and converts
    regcache apis to member functions, for example, regcache_invalidate
    is changed to regcache::invalidate.
    
    This patch also add "m_" prefix to these private fields.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (struct regcache): Move to regcache.h
    	(regcache::arch): New method.
    	(regcache_get_ptid): Update.
    	(get_regcache_arch): Call arch method.
    	(get_regcache_aspace): Call method aspace.
    	(register_buffer): Change it to method.
    	(regcache_save): Change it to regcache::save.
    	(regcache_restore): Likewise.
    	(regcache_cpy_no_passthrough): Remove the declaration.
    	(regcache_cpy): Call methods restore and cpy_no_passthrough.
    	(regcache_cpy_no_passthrough): Change it to method
    	cpy_no_passthrough.
    	(regcache_register_status): Change it to method
    	get_register_status.
    	(regcache_invalidate): Change it to method invalidate.
    	(regcache_thread_ptid_changed): Use methods ptid and set_ptid.
    	(regcache_raw_update): Change it to method raw_update.
    	(regcache_raw_read): Likewise.
    	(regcache_raw_read_signed): Likewise.
    	(regcache_raw_read_unsigned): Likewise.
    	(regcache_raw_write_signed): Likewise.
    	(regcache_raw_write_unsigned): Likewise.
    	(regcache_cooked_read): Likewise.
    	(regcache_cooked_read_value): Likewise.
    	(regcache_cooked_read_signed): Likewise.
    	(regcache_cooked_read_unsigned): Likewise.
    	(regcache_cooked_write_signed): Likewise.
    	(regcache_cooked_write_unsigned): Likewise.
    	(regcache_raw_set_cached_value): Likewise.
    	(regcache_raw_write): Likewise.
    	(regcache_cooked_write): Likewise.
    	(regcache_xfer_part): Likewise.
    	(regcache_raw_read_part): Likewise.
    	(regcache_raw_write_part): Likewise.
    	(regcache_cooked_read_part): Likewise.
    	(regcache_cooked_write_part): Likewise.
    	(regcache_raw_supply): Likewise.
    	(regcache_raw_collect): Likewise.
    	(regcache_transfer_regset): Likewise.
    	(regcache_supply_regset): Likewise.
    	(regcache_collect_regset): Likewise.
    	(regcache_debug_print_register): Likewise.
    	(enum regcache_dump_what): Move it to regcache.h.
    	(regcache_dump): Change it to method dump.
    	* regcache.h (enum regcache_dump_what): New.
    	(class regcache): New.
    	* target.c (target_fetch_registers): Call method
    	debug_print_register.
    	(target_store_registers): Likewise.

commit f8fdb78eafb3f70661f6e4a43beb004dde9e0921
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:18 2017 -0400

    Class-ify lm_info_windows
    
    This patch makes lm_info_windows a "real" class.  It initializes the field
    and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* windows-nat.c (struct lm_info_windows): Initialize field.
    	(windows_make_so): Allocate lm_info_windows with new.
    	(windows_free_so): Free lm_info_windows with delete.

commit 9ccbfd7bc1b7228d67f2d4ca878224d493918264
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:18 2017 -0400

    Class-ify lm_info_darwin
    
    This patch makes lm_info_darwin a "real" class.  It initializes the
    field and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* solib-darwin.c (struct lm_info_darwin): Initialize field.
    	(darwin_current_sos): Allocate lm_info_darwin with new, remove
    	cleanup.
    	(darwin_free_so): Free lm_info_darwin with delete.

commit 76e75227c37bc058449a09fe5017eeb40cda0781
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:17 2017 -0400

    Class-ify lm_info_svr4
    
    This patch makes lm_info_svr4 a "real" class.  It initializes fields,
    uses bool and replaces XCNEW/xfree with new/delete.
    
    The memcpy in svr4_copy_library_list is replaced by a usage of the
    default copy constructor.
    
    gdb/ChangeLog:
    
    	* solib-svr4.h (struct lm_info_svr4): Initialize fields.
    	<l_addr_p>: Change type to bool.
    	* solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
    	(svr4_free_so): Free lm_info_svr4 with delete.
    	(svr4_copy_library_list): Replace memcpy with call to copy
    	constructor.
    	(library_list_start_library, svr4_default_sos): Allocate
    	lm_info_svr4 with new.

commit 51046d9e60727cd6a4cfeae29a05ce2e1e394dc9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:16 2017 -0400

    Class-ify lm_info_target
    
    This patch makes lm_info_target a "real" class.  It adds a destructor,
    uses std::string, initializes the fields and replaces XCNEW/xfree with
    new/delete.
    
    gdb/ChangeLog:
    
    	* solib-target.c (struct lm_info_target): Add destructor,
    	initialize fields.
    	<name>: Change type to std::string.
    	(library_list_start_library): Allocate lm_info_target with new.
    	(solib_target_free_library_list): Free lm_info_target with
    	delete.
    	(solib_target_current_sos): Adapt to std::string.
    	(solib_target_free_so): Free lm_info_target with delete.

commit 4023ae762ed9b52e4925242b705d0b3a50f6ed13
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:16 2017 -0400

    Class-ify lm_info_frv
    
    This patches makes lm_info_frv a "real" class.  It adds a destructor,
    initializes the fields and replaces XCNEW/xfree with new/delete.
    
    gdb/ChangeLog:
    
    	* solib-frv.c (struct lm_info_frv): Add destructor, initialize
    	fields.
    	(frv_current_sos): Allocate lm_info_frv with new.
    	(frv_relocate_main_executable): Free lm_info_frv with delete,
    	allocate with new.
    	(frv_clear_solib, frv_free_so): Free lm_info_frv with delete.

commit af43057bafa7260dbcc453d2acc47eb63b974c50
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:15 2017 -0400

    Fix indentation of lm_info_frv
    
    This patch fixes the indentation of lm_info_frv, so that the real
    changes of the following patch are not lost in the reformatting.
    
    gdb/ChangeLog:
    
    	* solib-frv.c (struct lm_info_frv): Fix indentation.

commit b091120773f8a740065b6449617cfbf1e0e789f4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:14 2017 -0400

    Class-ify lm_info_dsbt
    
    This patches makes lm_info_dsbt a "real" class.  It introduces a
    destructor, initializes the field and replaces XCNEW/xfree with
    new/delete.
    
    gdb/ChangeLog:
    
    	* solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
    	map field.
    	(dsbt_current_sos): Allocate lm_info_dsbt with new.
    	(dsbt_relocate_main_executable): Free lm_info_dsbt with delete
    	and allocate with new.
    	(dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.

commit 6c401f72e979ddd7e2f890dcc88f93f683233d74
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:14 2017 -0400

    Class-ify lm_info_aix
    
    This patch makes lm_info_aix a "real" class.  It uses std::string,
    initializes fields in-class and replaces XCNEW/xfree with new/delete.
    The solib_aix_new_lm_info can be replaced by using the default copy
    constructor.
    
    gdb/ChangeLog:
    
    	* solib-aix.c (struct lm_info_aix): Initialize fields in-class.
    	<filename, member_name>: Change type to std::string.
    	(solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
    	(library_list_start_library): Allocate lm_info_aix with new.
    	(solib_aix_free_library_list, solib_aix_free_so): Free with delete.
    	(solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
    	with copy constructor.

commit d0e449a1865c741c5e0c9d43a7d61a0621163aa7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:13 2017 -0400

    Make various lm_info implementations inherit from a base class
    
    The lm_info structure is used to store target specific information about
    mapped libraries.  It is currently defined as an opaque type in solist.h
    and a pointer to it is included in solist, the target-agnostic object
    representing a loaded shared library.  Multiple targets define their own
    implementation of lm_info.
    
    In anticipation of using C++ stuff (e.g. vector) in the lm_info objects,
    we first need to avoid different definitions of classes with the same
    name (which violates the one definition rule).  This patch does it by
    having a base class (lm_info_base) from which all the specific lm_info
    derive.  Each implementation is renamed to something that makes sense
    (e.g. lm_info_aix for AIX).  The next logical step would probably be to
    derive directly from so_list, it's not really obvious, so I'll keep that
    for another day.
    
    One special case is the Neutrino (nto) support.  It uses SVR4-style
    libraries, but overrides some methods.  To do that, it needed to have
    its own copy of SVR4's lm_info structure in nto-tdep.c, because it was
    just not possible to put it in solib-svr4.h and include that file.  Over
    time, that copy got out of sync, which is still the case today.  I can
    only assume that the lm_addr function in nto-tdep.c is broken right now.
    The first field of the old lm_info was a pointer (gdb_byte *), whereas
    in the new lm_info it's an address in the inferior (CORE_ADDR).  Trying
    to use that field today probably results in a crash.  With this
    refactor, it's now possible to put lm_info_svr4 in solib-svr4.h and just
    include it.  I have adapted the code in nto-tdep.c to that it builds,
    but it's probably not correct.  Since I don't have the knowledge nor
    setup to try this on Neutrino, somebody else would have to fix it.  But
    I am confident that I am not making things worse than they already are.
    
    gdb/ChangeLog:
    
    	* solist.h (struct lm_info): Remove.
    	(struct lm_info_base): New class.
    	(struct so_list) <lm_info>: Change type to lm_info_base *.
    	* nto-tdep.c (struct lm_info): Remove.
    	(lm_addr): Adjust.
    	* solib-aix.c (struct lm_info): Rename to ...
    	(struct lm_info_aix): ... this.  Extend lm_info_base.
    	(lm_info_p): Rename to ...
    	(lm_info_aix_p): ... this, and adjust.
    	(solib_aix_new_lm_info, solib_aix_xfree_lm_info,
    	solib_aix_parse_libraries, library_list_start_library,
    	solib_aix_free_library_list, solib_aix_parse_libraries,
    	solib_aix_get_library_list,
    	solib_aix_relocate_section_addresses, solib_aix_free_so,
    	solib_aix_get_section_offsets,
    	solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
    	Adjust.
    	(struct solib_aix_inferior_data) <library_list>: Adjust.
    	* solib-darwin.c (struct lm_info): Rename to ...
    	(struct lm_info_darwin): ... this.  Extend lm_info_base.
    	(darwin_current_sos, darwin_relocate_section_addresses): Adjust.
    	* solib-dsbt.c (struct lm_info): Rename to ...
    	(struct lm_info_dsbt): ... this.  Extend lm_info_base.
    	(struct dsbt_info) <main_executable_lm_info): Adjust.
    	(dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
    	dsbt_relocate_section_addresses): Adjust.
    	* solib-frv.c (struct lm_info): Rename to ...
    	(struct lm_info_frv): ... this.  Extend lm_info_base.
    	(main_executable_lm_info): Adjust.
    	(frv_current_sos, frv_relocate_main_executable, frv_free_so,
    	frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
    	find_canonical_descriptor_in_load_object,
    	frv_fdpic_find_canonical_descriptor): Adjust.
    	* solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
    	to lm_info_svr4.
    	(lm_info_read, lm_addr_check, svr4_keep_data_in_core,
    	svr4_clear_so, svr4_copy_library_list,
    	library_list_start_library, svr4_default_sos, svr4_read_so_list,
    	svr4_current_sos, svr4_fetch_objfile_link_map,
    	solist_update_incremental): Adjust.
    	* solib-svr4.h (struct lm_info_svr4): Move here from
    	solib-svr4.c.
    	* solib-target.c (struct lm_info): Rename to ...
    	(struct lm_info_target): ... this.  Extend lm_info_base.
    	(lm_info_p): Rename to ...
    	(lm_info_target_p): ... this.
    	(solib_target_parse_libraries, library_list_start_segment,
    	library_list_start_section, library_list_start_library,
    	library_list_end_library, solib_target_free_library_list,
    	solib_target_current_sos, solib_target_free_so,
    	solib_target_relocate_section_addresses): Adjust.
    	* windows-nat.c (struct lm_info): Rename to ...
    	(struct lm_info_windows): ... this.  Extend lm_info_base.
    	(windows_make_so, handle_load_dll, handle_unload_dll,
    	windows_xfer_shared_libraries): Adjust.

commit 434a40239548115cf04a80410e4f570f35c361c1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 28 17:16:12 2017 -0400

    Standardize darwin's lm_info
    
    Darwin's lm_info structure is used a little bit differently than the
    other solib implementations.  The other implementations first allocate
    an so_list object, then instanciate their specific lm_info structure,
    and assign it to so_list::lm_info.
    
    The Darwin implementation allocates both at the same time
    (darwin_so_list).  This patch changes it to be like the others, so that
    we'll be able to do some generalizations later.
    
    gdb/ChangeLog:
    
    	* solib-darwin.c (struct darwin_so_list): Remove.
    	(darwin_current_sos): Allocate an so_list object instead of a
    	darwin_so_list, separately allocate an lm_info object.
    	(darwin_free_so): Free lm_info.

commit 1670f9c1546818c4ffe02e8f460df1c1c4b1601d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 12:42:05 2017 -0700

    x86: Add run-time tests for -mtls-dialect=gnu2
    
    	* testsuite/config/default.exp (GNU2_CFLAGS): New.  Set
    	to -mtls-dialect=gnu2 if target compiler supports it.
    	* testsuite/ld-i386/tls.exp: Run -mtls-dialect=gnu2 tests.
    	* testsuite/ld-x86-64/tls.exp: Likewise.
    	* testsuite/ld-i386/tlsdesc1a.c: New file.
    	* testsuite/ld-i386/tlsdesc1b.c: Likewise.
    	* testsuite/ld-x86-64/tlsdesc1a.c: Likewise.
    	* testsuite/ld-x86-64/tlsdesc1b.c: Likewise.

commit d6f48aed23d1004a4ed8ab3b2742b0bf7c838c1c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 12:29:29 2017 -0700

    ELF: Add run-time tests for -z now
    
    	* testsuite/ld-elf/shared.exp: Add run-time tests for -z now.
    	* testsuite/ld-i386/tls.exp: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Likewise.
    	* testsuite/ld-x86-64/tls.exp: Likewise.

commit 428544e8ae6252a615a3100889f3df7d2c5483c4
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Apr 28 09:34:52 2017 -0700

    Consistently use fprintf_filtered when displaying MIPS registers.
    
    One line was using printf_filtered instead of fprintf_filtered
    to the requested file.
    
    gdb/ChangeLog:
    
    	* mips-tdep.c (print_gp_register_row): Replace printf_filtered
    	with fprintf_filtered.

commit 750eaa47f10f48d19aacbec74ab6867da0164677
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 28 07:26:45 2017 -0700

    x86: Check plt_got before using .plt.got
    
    Since the GOT procedure linkage table is supported only if plt_got
    isn't NULL, we need to check plt_got before using it.
    
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
    	before using .plt.got.
    	* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.

commit 4621115fe529869e938dca605bb90190ea52316a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 14:43:13 2017 +0100

    Add constructor and destructor to regcache
    
    This patch adds ctor and dtor to regcache.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache::regcache): New function.
    	(regcache::~regcache): New function.
    	(regcache_xmalloc_1): Remove.
    	(regcache_xmalloc): Call new regcache.
    	(regcache_xfree): Call delete regcache.
    	(get_thread_arch_aspace_regcache): Call new regcache.

commit b06b2c92c06cf100f259f218337d007ee0b1c884
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 12:09:14 2017 +0100

    Fix off by one error when checking for empty note names.
    
    	PR binutils/21439
    	* readelf.c (print_gnu_build_attribute_name): Allow for an empty
    	name field.

commit 4e3afec278d1fb55b983751d02119f65566bd094
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 11:21:53 2017 +0100

    Fix heap-buffer address violation when reading version data from a corrupt binary.
    
    	PR binutils/21437
    	* readelf.c (process_version_sections): Check for underflow when
    	computing the start address of the auxillary version data.

commit d949ff5607b9f595e0eed2ff15fbe5eb84eb3a34
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 28 10:28:04 2017 +0100

    Fix heap-buffer overflow bugs caused when dumping debug information from a corrupt binary.
    
    	PR binutils/21438
    	* dwarf.c (process_extended_line_op): Do not assume that the
    	string extracted from the section is NUL terminated.
    	(fetch_indirect_string): If the string retrieved from the section
    	is not NUL terminated, return an error message.
    	(fetch_indirect_line_string): Likewise.
    	(fetch_indexed_string): Likewise.

commit 339053c29abac25e5f86a1ccccd4e8e3b2d362df
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 09:50:51 2017 +0100

    Use ptid method lwp in mips_linux_new_thread
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c (mips_linux_new_thread): Use ptid method
    	lwp instead of ptid_get_lwp.

commit 7974a6050b6e2c44722a533e2d5d9131e7db00ff
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 28 09:33:16 2017 +0100

    [MIPS] Use lwpid from lwp_info instead of inferior_ptid
    
    RAJESH reported that GDB gets "Couldn't write debug register: No such
    process." on mips64 when GDB attaches to a multi threaded application.
    
    Looks GDB nows PTRACE_GET_WATCH_REGS for inferior_ptid but
    PTRACE_SET_WATCH_REGS for lwp->ptid, they may be different.
    
    gdb:
    
    2017-04-28  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
    	lwp_info instead of getting from inferior_ptid.

commit 343b374c61f793f745b820c3cf61f69186566b18
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 28 00:00:34 2017 +0000

    Automatic date update in version.in

commit e15c3eb45bdc8bd5717fd5ceddcc30c3de07b58f
Author: Keith Seitz <keiths@redhat.com>
Date:   Thu Apr 27 15:55:26 2017 -0700

    Fix overload resolution involving rvalue references and cv qualifiers.
    
    The following patch fixes several outstanding overload resolution problems
    with rvalue references and cv qualifiers in the test suite. The tests for
    these problems typically passed with one compiler version and failed with
    another. This behavior occurs because of the ordering of the overloaded
    functions in the debug info. So the first best match "won out" over the
    a subsequent better match.
    
    One of the bugs addressed by this patch is the failure of rank_one_type to
    account for type equality of two overloads based on CV qualifiers.  This was
    leading directly to problems evaluating rvalue reference overload quality,
    but it is also highlighted in gdb.cp/oranking.exp, where two test KFAIL as
    a result of this shortcoming.
    
    I found the overload resolution code committed with the rvalue reference
    patch (f9aeb8d49) needlessly over-complicated, and I have greatly simplified
    it. This fixes some KFAILing tests in gdb.exp/rvalue-ref-overload.exp.
    
    gdb/ChangeLog
    
    	* gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
    	DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
    	(CV_CONVERSION_BADNESS): Define.
    	(rank_one_type): Remove overly restrictive rvalue reference
    	rank checks.
    	Add cv-qualifier checks and subranks for type equality.
    	* gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
    	REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
    	CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
    
    gdb/testsuite/ChangeLog
    
    	* gdb.cp/oranking.cc (test15): New function.
    	(main): Call test15 and declare additional variables for testing.
    	* gdb.cp/oranking.exp: Remove kfail status for "p foo4(&a)" and
    	"p foo101('abc')" tests.
    	* gdb.cp/rvalue-ref-overloads.exp: Remove kfail status for
    	"lvalue reference overload" test.
    	* gdb.cp/rvalue-ref-params.exp: Remove kfail status for
    	"print value of f1 on Child&& in f2" test.

commit 5b66fac4bad619766fb1a5f5179c08b67d48a8c5
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 15:24:08 2017 -0700

    x86-64: Use "=" instead of "+=" to update 0
    
    Use
    
      if (htab->elf.splt->size == 0)
        htab->elf.splt->size = GET_PLT_ENTRY_SIZE (output_bfd);
    
    instead of
    
      if (htab->elf.splt->size == 0)
        htab->elf.splt->size += GET_PLT_ENTRY_SIZE (output_bfd);
    
    	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
    	instead of "+=" to update 0.

commit 72bc1d246686ff38ef01f5a35769ebdbe39f023c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Apr 27 17:03:20 2017 -0400

    Add missing incref when creating Inferior Python object
    
    The test py-inferior.exp fails when using a debug build of Python 3.6.  I don't
    see it failing with my system's default Python, but it might be related to the
    different memory allocation scheme used when doing a build with pydebug.
    
    The issue is that we are missing a Py_INCREF in
    inferior_to_inferior_object.  The PyObject_New function initializes the
    object with a refcount of 1.  If we assume that this refcount
    corresponds to the reference we are returning, then we are missing an
    incref for the reference in the inferior data.
    
    The counterpart for the incref that corresponds to the reference in the
    inferior data is in py_free_inferior, in the form the gdbpy_ref instance.
    
    Here's how I can get it to crash (with some debug output):
    
      $ ./gdb -nx -ex "set debug python 1"
      (gdb) add-inferior
      Added inferior 2
      (gdb) python infs = gdb.inferiors()
      Creating Python Inferior object inf = 1
      Creating Python Inferior object inf = 2
      (gdb) remove-inferiors 2
      py_free_inferior inf = 2
      infpy_dealloc inf = <unknown>
      (gdb) python infs = None
      Fatal Python error: Objects/tupleobject.c:243 object at 0x7f9cf1a568d8 has negative ref count -1
    
      Current thread 0x00007f9cf1b68780 (most recent call first):
        File "<string>", line 1 in <module>
      [1]    408 abort (core dumped)  ./gdb -nx -ex "set debug python 1"
    
    After having created the inferiors object, their refcount is 1 (which
    comes from PyObject_New), but it should be two.  The gdb inferior object
    has a reference and the "infs" list has a reference.
    
    When invoking remove-inferiors, py_free_inferior gets called.  It does
    the decref that corresponds to the reference that the gdb inferior
    object kept.  At this moment, the refcount drops to 0 and the object
    gets deallocated, even though the "infs" list still has a reference.
    When we set "infs" to None, Python tries to decref the already zero
    refcount and the assert triggers.
    
    With this patch, it looks better:
    
      (gdb) add-inferior
      Added inferior 2
      (gdb) python infs = gdb.inferiors()
      Creating Python Inferior object inf = 1
      Creating Python Inferior object inf = 2
      (gdb) remove-inferiors 2
      py_free_inferior inf = 2
      (gdb) python infs = None
      infpy_dealloc inf = <unknown>
    
    gdb/ChangeLog:
    
    	* python/py-inferior.c (inferior_to_inferior_object): Increment reference
    	count when creating the object.

commit de9a3c4285fad1914929ee304ddaa26e76af8031
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 13:55:31 2017 -0700

    x86: Create dynamic sections in create_dynamic_sections
    
    This patch creates dynamic sections in i386/x86-64 create_dynamic_sections
    instead of creating them on demend.  Linker will strip them if they are
    empty.  It changes order in x86-64 .eh_frame section.  The extra DW_CFA_nop
    paddings is due to
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=21441
    
    bfd/
    
    	* elf32-i386.c (elf_i386_create_dynamic_sections): Create the
    	.plt.got section here.
    	(elf_i386_check_relocs): Don't create the .plt.got section.
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
    	the .plt.got and .plt.bnd sections here.
    	(elf_x86_64_check_relocs): Don't create the .plt.got nor
    	.plt.bnd sections.
    
    ld/
    
    	* testsuite/ld-x86-64/pr21038a.d: Update DW_CFA_nop paddings
    	in .eh_frame section.
    	* testsuite/ld-x86-64/pr21038c.d: Update .eh_frame order.

commit da3d25afa26476bf24247b8696fd00ab31f39db9
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 09:32:35 2017 -0700

    Remove has_bnd_reloc from elf_x86_64_link_hash_entry
    
    has_bnd_reloc was added to elf_x86_64_link_hash_entry track BND
    relocations by
    
    commit 0ff2b86e7c14177ec7f9e1257f8e697814794017
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Wed Nov 20 09:01:04 2013 -0800
    
        Create the second PLT for BND relocations
    
    Since BND relocations have been deprecated by
    
    commit d258b828287a863376af60a1ef7ceafbccc83d93
    Author: Igor Zamyatin <igor.zamyatin@intel.com>
    Date:   Tue Nov 18 10:52:36 2014 +0300
    
        Add -z bndplt to generate BND prefix in PLT entries
    
    This patch removes has_bnd_reloc from elf_x86_64_link_hash_entry and
    checks bndplt instead of has_bnd_reloc.
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
    	has_bnd_reloc.
    	(elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
    	(elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
    	(elf_x86_64_check_relocs): Don't set has_bnd_reloc.
    	(elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
    	has_bnd_reloc.
    
    Remove has_bnd_reloc

commit fba37edd96c8dc65a63bd5b4fef5366de45b165a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 09:07:23 2017 -0700

    Change _bfd_elf_link_setup_gnu_properties to bfd *
    
    Change setup_gnu_properties to return the first relocatable ELF input
    with GNU properties so that a backend can make decision based on GNU
    properties.
    
    	* elf-bfd.h (elf_backend_data): Change setup_gnu_properties
    	to return bfd *.
    	(_bfd_elf_link_setup_gnu_properties): Return bfd *.
    	* elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
    	the first relocatable ELF input with GNU properties.

commit 1f78f649e868979d36490d7c2ea0b3d41abc5ec6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 27 08:55:36 2017 -0700

    i386: Simplify VxWorks for non-PIC
    
    Change
    
      if (PIC)
        {
          #1
        }
      else
        {
          #2
          if (VxWorks)
            {
              #3
            }
        }
      #4
      if (VxWorks && !PIC)
        {
          #5
        }
    
    to
    
      #4
      if (PIC)
        {
          #1
        }
      else
        {
          #2
          if (VxWorks)
            {
              #3
              #5
            }
        }
    
    	* elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
    	VxWorks for non-PIC.

commit 55bcecda5703eb4647165cb3ddb86aed63fd44d2
Author: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date:   Thu Apr 27 15:57:08 2017 +0200

    Read corrrect auxiliary entry in AIX
    
    Fix handling of XCOFF function auxiliary entries, in particular when
    the xlc -qfuncsect or gcc -ffunction-sections compiler option is used
    in AIX.  Also handle C_WEAKEXT storage class.
    
    gdb/
    2016-10-21  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
    	    Ulrich Weigand  <uweigand@de.ibm.com>
    
    	* xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
    	entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
    	is used in AIX.
    	(read_xcoff_symtab): Handle C_WEAKEXT storage class.
    	(process_xcoff_symbol): Likewise.
    	(scan_xcoff_symtab): Likewise.
    
    Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>

commit 14f72d45a22f25f6d00a62fc03bcf9827df226f5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 02:25:33 2017 +0100

    MIPS16/GAS: Factor out duplicate symbol value conversion code
    
    Factor out and consolidate duplicate section-relative to PC-relative
    symbol value conversion in `mips16_extended_frag' and `md_convert_frag'
    used for MIPS16 relaxation, observing that the final calculation in the
    latter function implies `stretch == 0'.  Sanitize the formatting of code
    moved.
    
    	gas/
    	* config/tc-mips.c (mips16_pcrel_val): New function, factored
    	out from...
    	(mips16_extended_frag): ... here.
    	(md_convert_frag): Use `mips16_pcrel_val' rather than repeated
    	code in MIPS16 relaxation, with `stretch' hardcoded to 0.

commit 1425c41dcd68350d9be9670910c547cc7ab91e0e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 02:13:21 2017 +0100

    MIPS16/GAS: Rename the LONG_BRANCH relaxation flag
    
    Following commit 177b4a6ad004 ("infinite loop in mips16 assembler
    relaxation"), <https://sourceware.org/ml/binutils/2002-03/msg00345.html>
    the LONG_BRANCH flag used in MIPS16 relaxation has lost its use for
    branches.  Complement commit 88a7ef168927 ("MIPS16/GAS: Restore
    unsupported relocation diagnostics") then, which has removed the remains
    of code deactivated by the former commit, and rename the flag to
    ALWAYS_EXTENDED, more accurately reflecting its current use to select
    the extended form of PC-relative ADDIU, DADDIU, LD and LW instructions.
    
    	gas/
    	* config/tc-mips.c (RELAX_MIPS16_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_ALWAYS_EXTENDED): ... this.
    	(RELAX_MIPS16_MARK_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_MARK_ALWAYS_EXTENDED): ... this.
    	(RELAX_MIPS16_CLEAR_LONG_BRANCH): Rename to...
    	(RELAX_MIPS16_CLEAR_ALWAYS_EXTENDED): ... this.
    	(mips16_extended_frag): Adjust accordingly.

commit 5c99fcf8031bcf96f2c948e9fc5d3b03c97f631a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Apr 27 11:38:14 2017 +0100

    Remove some MAX_REGISTER_SIZE uses in ia64-tdep.c
    
    gdb/
    	* ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
    	(ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
    	(ia64_access_reg): Use get_frame_register_unsigned.
    	(ia64_access_rse_reg): Likewise.
    	(ia64_libunwind_frame_prev_register): Likewise.

commit f2d830a50def7a00a911620a3e9c7d920e5ef0f0
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 12:20:10 2017 +0930

    Tidy S_FORCE_RELOC
    
    Separate out symbol flag reasons from section reasons to force a
    reloc.  Yes, this adds another section test to the local symbol case
    too.
    
    	* symbols.c (S_FORCE_RELOC): Separate section and symbol tests.

commit 76c20d54ca5042e11af9ddf5723cc24cf47736ec
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 12:03:39 2017 +0930

    Constify elf_backend_eh_frame_address_size
    
    	* elf-bfd.h (struct elf_backend_data): Make asection param of
    	elf_backend_eh_frame_address_size const.
    	(_bfd_elf_eh_frame_address_size): Likewise.
    	* elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
    	* elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
    	* elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
    	* elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
    	(next_cie_fde_offset): Constify params.
    	(offset_adjust, adjust_eh_frame_local_symbols): Likewise.

commit d7153c4ac333c9127c18efcf184607d368bb142d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 11:08:14 2017 +0930

    Edit .eh_frame symbols
    
    Experimental support for moving symbols defined in .eh_frame as their
    CIEs/FDEs are edited or merged.
    
    	* elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
    	(_bfd_elf_adjust_eh_frame_global_symbol): Declare.
    	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
    	aug_data_len.
    	(offset_adjust): New function.
    	(_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
    	(adjust_eh_frame_local_symbols): Likewise.
    	(_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
    	after changing anything.  Return true if anything changed.
    	* elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
    	_bfd_elf_adjust_eh_frame_global_symbol for globals.

commit 641338d8e9b62bde9672f13f0dca2324b61e46e2
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 11:06:33 2017 +0930

    Clear dynstr_index when forcing symbols local
    
    This is really just cosmetic, but it does protect a little from
    accidentally reading a stale value.
    
    	* elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
    	when force_local.

commit 21d68fcd0c2f9113369d860ee1e5841bfacc35ff
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 09:19:26 2017 +0930

    PowerPC undefweak handling
    
    This patch fixes a number of cases where -z nodynamic-undefined-weak
    was not effective in preventing dynamic relocations or linkage stubs.
    
    	* elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
    	(ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
    	(ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
    	(ppc_elf_relocate_section): Likewise.  Delete silly optimisation
    	for undef and undefweak dyn_relocs.
    	* elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
    	(ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
    	(allocate_got, allocate_dynrelocs): Likewise.
    	(ppc64_elf_relocate_section): Likewise.

commit a61d92b7bd4da998dd5d73e9205b4871f7c4825d
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 27 09:08:09 2017 +0930

    [GOLD] testsuite/plugin_section_order.c fix
    
    	* testsuite/plugin_section_order.c (onload): Add missing break.

commit 7a81a73b2e5d00b76e15d97db7b8f0c9809ba1b7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 27 00:00:56 2017 +0000

    Automatic date update in version.in

commit ce8ad8721313d288a05a95b62d95ca43db584ebb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 27 00:47:15 2017 +0100

    MIPS/GAS: Fix `.option picX' handling with relaxation
    
    Correct the handling of `.option pic0' and `.option pic2' GAS pseudo-ops
    in relaxation and use the setting of `mips_pic' (which these directives
    control) as at the time a relaxed frag has been created rather than the
    final `mips_pic' setting at the end of the source file processed.
    
    To do so record whether `mips_pic' is NO_PIC or not in the frag itself
    and use this information throughout relaxation instead of `mips_pic' to
    decide which of NO_PIC or SVR4_PIC to produce machine code for, fixing
    code generation and removing a possible fatal failure reproducible with:
    
    $ as -32 --relax-branch -o option-pic-relax-3.o option-pic-relax-3.s
    option-pic-relax-3.s: Assembler messages:
    option-pic-relax-3.s:7: Warning: relaxed out-of-range branch into a jump
    option-pic-relax-3.s: Internal error in cvt_frag_to_fill at .../gas/write.c:490.
    Please report this bug.
    $
    
    using the test source included, due to a buffer overrun in filling the
    variable part of a frag.
    
    Likewise use the `fx_tcbit2' flag of a BFD_RELOC_16_PCREL_S2 fixup to
    handle the simple case of substituting an out of range unconditional
    branch with an equivalent absolute jump in NO_PIC code.
    
    Retain the current way of VXWORKS_PIC use, which commit 41a1578ed17c
    ("MIPS/GAS: Sanitize `.option picX' pseudo-op") has forbidden the use of
    `.option picX' with.
    
    	gas/
    	* config/tc-mips.c (RELAX_ENCODE): Add `PIC' flag.
    	(RELAX_PIC): New macro.
    	(RELAX_USE_SECOND, RELAX_SECOND_LONGER, RELAX_NOMACRO)
    	(RELAX_DELAY_SLOT, RELAX_DELAY_SLOT_16BIT)
    	(RELAX_DELAY_SLOT_SIZE_FIRST, RELAX_DELAY_SLOT_SIZE_SECOND):
    	Shift bits.
    	(RELAX_BRANCH_ENCODE): Add `pic' flag.
    	(RELAX_BRANCH_UNCOND, RELAX_BRANCH_LIKELY, RELAX_BRANCH_LINK)
    	(RELAX_BRANCH_TOOFAR): Shift bits.
    	(RELAX_BRANCH_PIC): New macro.
    	(RELAX_MICROMIPS_ENCODE): Add `pic' flag.
    	(RELAX_MICROMIPS_PIC): New macro.
    	(RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT)
    	(RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_NODS)
    	(RELAX_MICROMIPS_RELAX32): Shift bits.
    	(relax_close_frag): Pass `mips_pic' setting to RELAX_ENCODE.
    	(append_insn): Pass `mips_pic' setting to RELAX_BRANCH_ENCODE
    	and RELAX_MICROMIPS_ENCODE, and record it in `fx_tcbit2' of the
    	first fixup created.
    	(md_apply_fix) <BFD_RELOC_16_PCREL_S2>: Use `fx_tcbit2' of the
    	fixup processed rather than `mips_pic' in choosing to relax an
    	out of range branch to a jump.
    	(relaxed_branch_length): Use the `pic' flag of the relaxed frag
    	rather than `mips_pic'.
    	(relaxed_micromips_32bit_branch_length): Likewise.
    	(md_estimate_size_before_relax): Likewise.
    	(md_convert_frag): Likewise.
    
    	* testsuite/gas/mips/option-pic-relax-0.d: New test.
    	* testsuite/gas/mips/option-pic-relax-1.d: New test.
    	* testsuite/gas/mips/option-pic-relax-2.d: New test.
    	* testsuite/gas/mips/option-pic-relax-3.d: New test.
    	* testsuite/gas/mips/option-pic-relax-3a.d: New test.
    	* testsuite/gas/mips/option-pic-relax-4.d: New test.
    	* testsuite/gas/mips/option-pic-relax-5.d: New test.
    	* testsuite/gas/mips/option-pic-relax-2.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-3.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-4.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-5.l: New stderr output.
    	* testsuite/gas/mips/option-pic-relax-0.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-1.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-2.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-3.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-4.s: New test source.
    	* testsuite/gas/mips/option-pic-relax-5.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 97d343d40012b1030f1fd219f91efcab180fb3ef
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Apr 26 15:34:00 2017 -0700

    x86: Add DT_PLTRELSZ/DT_PLTREL/DT_JMPREL for PLT relocation
    
    x86, PLT relocation may contain R_386_TLS_DESC or R_X86_64_TLSDESC
    even though there is no real PLT.  We need to add DT_PLTRELSZ, DT_PLTREL
    and DT_JMPREL if there is a .rel.plt/.rela.plt section.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
    	DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
    	* elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
    	add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
    
    ld/
    
    	* testsuite/ld-i386/tlsdesc2.d: New test.
    	* testsuite/ld-x86-64/tlsdesc2.d: Likewise.

commit 04b31182bf3f8a1a76e995bdfaaaab4c009b9cb2
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 16:30:22 2017 +0100

    Fix a seg-fault when processing a corrupt binary containing reloc(s) with negative addresses.
    
    	PR binutils/21434
    	* reloc.c (bfd_perform_relocation): Check for a negative address
    	in the reloc.

commit d21f3ddb0d5f95aff5c769ae283ce5522262f48d
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 15:45:41 2017 +0100

    Fix PR number in ChangeLog comment.

commit 740a463062bd5d1641bdfb639295dafe89341b9b
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 15:42:03 2017 +0100

    Fix invocation of stat() on a NULL pointer.
    
    	PR binutils/21407
    	* bucomm.c (get_file_size): Return -1 if file_name is NULL.
    	* ar.c (main): Fail with usage() invocation if no file names are
    	provided.

commit 3e6b644558f941d3fe482e15efbc53d8f39ef8b7
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 14:23:26 2017 +0100

    Improve decoding of corrupt/unrecognised gnu build attribute notes.
    
    	* readelf.c (process_section_headers): Warn about overlarge
    	sections.
    	(print_gnu_build_attribute_name): Print the number of unrecognised
    	note types.  Fix formatting in the presence of errors.
    	(testsuite/binutils-all/note-2-32.s): Fix encoding of numeric notes.
    	(testsuite/binutils-all/note-2-64.s): Likewise.

commit b41c5a85a734b9ca813d4a314b66ef4b4b4d1b11
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Apr 26 14:05:03 2017 +0100

    [gdbarch] New method "execute_dwarf_cfa_vendor_op" and migrate SPARC to it
    
    Recently a feature called "return address signing" has been added to GCC to
    prevent stack smash stack on AArch64.  For details please refer:
    
      https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00376.html
    
    GDB needs to be aware of this feature so it can restore the original return
    address which is critical for unwinding.
    
    On compiler side, whenever return address, i.e. LR register, is mangled or
    restored by hardware instruction, compiler is expected to generate a
    DW_CFA_AARCH64_negate_ra_state to toggle return address signing status.
    
    DW_CFA_AARCH64_negate_ra_state is using the same CFI number and
    therefore need to be multiplexed with DW_CFA_GNU_window_save which was designed
    for SPARC.
    
    A new gdbarch method "execute_dwarf_cfa_vendor_op" is introduced by this patch.
    It's parameters has been restricted to those only needed by SPARC and AArch64
    for multiplexing DW_CFA_GNU_window_save which is a CFI operation takes none
    operand.  Should any further DWARF CFI operation want to be multiplexed in the
    future,  the parameter list can be extended.  Below is the current function
    prototype.
    
       typedef int (gdbarch_execute_dwarf_cfa_vendor_op_ftype)
         (struct gdbarch *gdbarch, gdb_byte op, struct dwarf2_frame_state *fs);
    
    DW_CFA_GNU_window_save support for SPARC is migrated to this new gdbarch
    method by this patch.
    
    gdb/
    	* gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
    	* gdbarch.c: Regenerated.
    	* gdbarch.h: Regenerated.
    	* dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
    	visibility external.
    	(execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
    	between DW_CFA_lo_user and DW_CFA_high_user inclusive.
    	(enum cfa_how_kind): Move to ...
    	(struct dwarf2_frame_state_reg_info): Likewise.
    	(struct dwarf2_frame_state): Likewise.
    	* dwarf2-frame.h: ... here.
    	(dwarf2_frame_state_alloc_regs): New declaration.
    	* sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
    	(sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.

commit 23ec1e32b1ab714649a7c25e49b5d721fe3bd3db
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:15:31 2017 +0100

    PR ld/21334: Always call `_bfd_elf_link_renumber_dynsyms' if required
    
    Complement commit e17b0c351f0b ("MIPS/BFD: Respect the ELF gABI dynamic
    symbol table sort requirement") and correct an inconsistency in dynamic
    symbol accounting data causing an assertion failure in the MIPS backend:
    
    ld: BFD (GNU Binutils) 2.28.51.20170330 assertion fail
    ../../binutils-gdb/bfd/elfxx-mips.c:3860
    
    in the course of making a GOT entry in a static binary to satisfy a GOT
    relocation present in input, due to the local dynamic symbol count not
    having been established.
    
    To do so let backends request `_bfd_elf_link_renumber_dynsyms' to be
    always called, rather than where a dynamic binary is linked only, and
    then make this request in the MIPS backend.
    
    	bfd/
    	PR ld/21334
    	* elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
    	member.
    	* elfxx-target.h [!elf_backend_always_renumber_dynsyms]
    	(elf_backend_always_renumber_dynsyms): Define.
    	(elfNN_bed): Initialize `always_renumber_dynsyms' member.
    	* elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
    	* elflink.c (bfd_elf_size_dynamic_sections): Also call
    	`_bfd_elf_link_renumber_dynsyms' if the backend has requested
    	it.
    	(bfd_elf_size_dynsym_hash_dynstr): Likewise.
    
    	ld/
    	PR ld/21334
    	* testsuite/ld-mips-elf/pr21334.dd: New test.
    	* testsuite/ld-mips-elf/pr21334.gd: New test.
    	* testsuite/ld-mips-elf/pr21334.ld: New test linker script.
    	* testsuite/ld-mips-elf/pr21334.s: New test source.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit c46cec3a8cfe02fbe0f6c67ba53abc5369c5c659
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:13:28 2017 +0100

    ELF/BFD: Limit `_bfd_elf_link_renumber_dynsyms' call in section GC
    
    Consistently call `_bfd_elf_link_renumber_dynsyms' only if linking a
    dynamic binary, complementing code in `bfd_elf_size_dynsym_hash_dynstr'
    and commit ccabcbe51e85 ("New attempt at fixing MIPS --gc-sections et
    al."), <https://sourceware.org/ml/binutils/2005-08/msg00258.html>.
    
    	bfd/
    	* elflink.c (bfd_elf_size_dynamic_sections): Only call
    	`_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
    	sections have been created.

commit bbdd9a6894d7875407da59d490faf5588163d21c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Apr 24 20:41:33 2017 +0100

    MIPS/readelf: With `-A' also dump GOT in static binaries
    
    A static, non-relocated global offset table will be embedded in static
    binaries produced from objects containing any kind of GOT relocations,
    generally PIC code.  All symbols will have been resolved in static link
    in such binaries making all GOT entries local and their values final as
    there is no run-time load processing further performed.
    
    Dump such GOT with `readelf -A' like already done with regular GOT, to
    make it easier to examine static code that uses accesses via the GOT
    pointer.  There will be no dynamic segment or section in a static binary
    to get the GOT pointer (DT_PLTGOT) from, so use section headers to find
    a `.got' section instead.
    
    	binutils/
    	* readelf.c (process_mips_specific): Add static GOT support.

commit e63d123268f23a4cbc45ee55fb6dbc7d84729da3
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Apr 26 13:07:49 2017 +0100

    Fix seg-fault attempting to compress a debug section in a corrupt binary.
    
    	PR binutils/21431
    	* compress.c (bfd_init_section_compress_status): Check the return
    	value from bfd_malloc.

commit c185f580b2b3baf7cee762c8ab31ab6925b9534a
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 26 10:32:35 2017 +0100

    xtensa_pseudo_register_read/write - Use regcache_raw_read_unsigned
    
    gdb/
    	* xtensa-tdep.c (xtensa_pseudo_register_read): Use
    	regcache_raw_read_unsigned.
    	(xtensa_pseudo_register_write): Likewise.

commit 19c4559475791cd70e319eaf5c1e23d23d9ae81e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 26 09:57:15 2017 +0100

    nds32: Abort instead of returning REG_UNKNOWN
    
    gdb/
    	* nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
    	(nds32_pseudo_register_write): Likewise.

commit 03def0812a9ee962d9dcfe9b0ba37783e58acfb8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 26 00:00:36 2017 +0000

    Automatic date update in version.in

commit 4658f12e9c5ec0d2efb04f1688f6cd6bd9f1a47d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Apr 25 21:32:05 2017 +0100

    Change readonly_p to bool
    
    This patch changes readonly_p type to bool.
    
    gdb:
    
    2017-04-25  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (struct regcache) <readonly_p>: Change its type
    	to bool.
    	(regcache_xmalloc_1): Update parameter type and callers update.

commit c4ab9505b53cdc899506ed421fddb7e1f8faf7a3
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 12 00:03:41 2017 +0100

    MIPS/readelf: Simplify GOT[1] data availability check
    
    Unavailable data is handled gracefully in MIPS GOT processing done by
    `print_mips_got_entry', so all that is needed in special GOT[1] handling
    is to verify whether data can be retrieved for the purpose of the GNU
    marker check done with `byte_get'.  Remove the extra error reporting
    code then, introduced with commit 75ec1fdbb797 ("Fix runtime seg-fault
    in readelf when parsing a corrupt MIPS binary.") in the course of
    addressing PR binutils/21344, and defer the error case to regular local
    GOT entry processing.
    
    	binutils/
    	* readelf.c (process_mips_specific): Remove error reporting from
    	GOT[1] processing.

commit 919383ac718c2a3187ee2a9ad659daa22da26258
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 12 00:02:13 2017 +0100

    MIPS/readelf: Remove extraneous null GOT data check
    
    Null data is handled gracefully throughout in MIPS GOT processing, with
    addresses printed normally and unavailable data shown as `<unknown>' by
    `print_mips_got_entry', and special processing code for GOT[1] doing an
    explicit check.  Remove an unwanted null GOT data check then, introduced
    with commit 592458412fb2 in the course of addressing PR binutils/12855.
    
    	binutils/
    	* readelf.c (process_mips_specific): Remove null GOT data check.

commit 126124cc0f3f0417913bfd84d83e4e525b6facf9
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Apr 25 17:07:00 2017 +0200

    [ARC] Enhance enter/leave mnemonics.
    
    enter/leave mnemonics are enhanced to not only accept register ranges
    but also single register (i.e., r13) or even no GPR register at all.
    
    gas/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/leave_enter.d: Update test.
    	* testsuite/gas/arc/leave_enter.s: Likewise.
    
    opcodes/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (print_insn_arc): Smartly print enter/leave mnemonics.
    	* arc-opc.c (insert_r13el): New function.
    	(R13_EL): Define.
    	* arc-tbl.h: Add new enter/leave variants.

commit be6a24d8eabdbeef32a9d79e81307af4491fcf56
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Apr 25 17:07:00 2017 +0200

    [ARC] Prefer NOP instead of MOV 0,0
    
    NOP and MOV 0,0 are having the same encoding. As MOV mnemonic is
    located before NOP in the instruction table, the disassembler prints
    MOV 0,0 for NOP. Reorder the instructions such that NOP is first.
    
    gas/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/b.d: Update test.
    	* testsuite/gas/arc/noargs_hs.d: Likewise.
    
    opcode/
    2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-tbl.h: Reorder NOP entry to be before MOV instructions.

commit d581dda88162831ebbd0757312fa93681d945327
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Apr 25 15:15:54 2017 +0100

    Change gdbarch_wchar_bit for AArch64 and ARM
    
    The size of wchar_t on AArch64 and ARM is 4-byte, so we can use the
    default value (4*TARGET_CHAR_BIT).
    
    This patch fixes some fails in gdb.cp/wide_char_types.exp on
    aarch64-linux.
    
    gdb:
    
    2017-04-25  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_gdbarch_init): Don't call
    	set_gdbarch_wchar_bit.
    	* arm-tdep.c (arm_gdbarch_init): Likewise.

commit 0348fd79d4c32243d91e8a55f20f408a9b4ec20d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 11:49:37 2017 +0100

    MIPS16/opcodes: Add `-M no-aliases' disassembler option help text
    
    Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
    mips_opcode to extend number of available bits"),
    <https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and add a
    help text for the `-M no-aliases' disassembler option.
    
    	opcodes/
    	* mips-dis.c (print_mips_disassembler_options): Add
    	`no-aliases'.

commit 6e3d1f0728d980a384c5aa63ce7f2ff3919c5024
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 11:44:29 2017 +0100

    MIPS16/opcodes: Annotate instruction aliases
    
    Complement commit 986e18a5a9fd ("Add a second 'pinfo' member to
    mips_opcode to extend number of available bits"),
    <https://sourceware.org/ml/binutils/2005-01/msg00261.html>, and annotate
    MIPS16 NOP, LA, DLA and the synthetic forms of LD and LW instructions as
    aliases.  These correspond to MOVE, and the PC-relative ADDIU, DADDIU,
    LD and LW hardware instructions respectively.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-alias.d: New test.
    	* testsuite/binutils-all/mips/mips16-noalias.d: New test.
    	* testsuite/binutils-all/mips/mips16-alias.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips16-opc.c (AL): New macro.
    	(mips16_opcodes): Mark "nop", "la", "dla", and synthetic forms
    	of "ld" and "lw" as aliases.

commit adc1273cb27286452ed8b32c5ca3ea263b4854f0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Apr 25 10:20:14 2017 +0100

    MIPS/GAS: Correct BFD_RELOC_MIPS16_16_PCREL_S1 fixup size
    
    Correct the size of a BFD_RELOC_MIPS16_16_PCREL_S1 fixup made in
    `md_convert_frag', fixing a bug introduced with commit c9775dde3277
    ("MIPS16: Add R_MIPS16_PC16_S1 branch relocation support)".  Add test
    cases to verify that the overflow of this fixup's in-place addend is
    still correctly detected.
    
    	gas/
    	* config/tc-mips.c (md_convert_frag): Correct
    	BFD_RELOC_MIPS16_16_PCREL_S1 fixup size.
    	* testsuite/gas/mips/mips16-branch-addend-4.d: New test.
    	* testsuite/gas/mips/mips16-branch-addend-5.d: New test.
    	* testsuite/gas/mips/mips16-branch-addend-5.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-branch-addend-4.s: New test source.
    	* testsuite/gas/mips/mips16-branch-addend-5.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit debed3db4887483552103da36d180967ef0dca5f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 10:58:57 2017 +0100

    Fix build on gcc < 5 (std::is_trivially_copyable missing)
    
    Ref: https://sourceware.org/ml/gdb-patches/2017-04/msg00660.html
    
    Simply skip the poisoning on older compilers.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
    	(BothAreRelocatable, memcopy, memmove): Don't define.
    	* common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
    	macros.

commit d28b6364b1fba1c0270c001f0d82a69e351e1922
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Apr 25 02:40:43 2017 -0700

    gas: sparc: fix relaxation of CALL instruction into branches in a.out targets
    
    This patch avoids CALL instructions to be optimized into branches if
    the symbols referred to in the CALL instruction are not fully resolved
    at the time the assembler writes its output.
    
    Tested in sparc64-linux-gnu and sparc-sun-sunos4.1.3 targets.
    No regressions.
    
    gas/ChangeLog:
    
    2017-04-25  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	PR gas/21407
    	* config/tc-sparc.c (md_apply_fix): Do not transform `call'
    	instructions into branch instructions in fixups generating
    	additional relocations.
    	* testsuite/gas/sparc/call-relax.s: New file.
    	* testsuite/gas/sparc/call-relax.d: Likewise.
    	* testsuite/gas/sparc/call-relax-aout.d: Likewise.
    	* testsuite/gas/sparc/sparc.exp: Test call-relax and call-relax-aout.

commit b0b92aeb3828219075fce23543fb39fee8608e99
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:41 2017 +0100

    Poison non-POD memset & non-trivially-copyable memcpy/memmove
    
    This patch catches invalid initialization of non-POD types with
    memset, at compile time.
    
    This is what I used to catch the problems fixed by the previous
    patches in the series:
    
      $ make -k 2>&1 | grep "deleted function"
      src/gdb/breakpoint.c:951:53: error: use of deleted function â??void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]â??
      src/gdb/breakpoint.c:7325:32: error: use of deleted function â??void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]â??
      src/gdb/btrace.c:1153:42: error: use of deleted function â??void* memset(T*, int, size_t) [with T = btrace_insn; <template-parameter-1-2> = void; size_t = long unsigned int]â??
    ...
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h: Include "common/poison.h".
    	* common/function-view.h: (Not, Or, Requires): Move to traits.h
    	and adjust.
    	* common/poison.h: New file.
    	* common/traits.h: Include <type_traits>.
    	(Not, Or, Requires): New, moved from common/function-view.h.

commit 16c4d54a71d8052988ed9c8005a03a7f934245f4
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct breakpoint
    
    Eh, struct breakpoint was made non-POD just today, with commit
    d28cd78ad820e3 ("Change breakpoint event locations to
    event_location_up").  :-)
    
      src/gdb/breakpoint.c: In function â??void init_raw_breakpoint_without_location(breakpoint*, gdbarch*, bptype, const breakpoint_ops*)â??:
      src/gdb/breakpoint.c:7447:28: error: use of deleted function â??void* memset(T*, int, size_t) [with T = breakpoint; <template-parameter-1-2> = void; size_t = long unsigned int]â??
         memset (b, 0, sizeof (*b));
    			      ^
      In file included from src/gdb/common/common-defs.h:85:0,
    		   from src/gdb/defs.h:28,
    		   from src/gdb/breakpoint.c:20:
      src/gdb/common/poison.h:56:7: note: declared here
       void *memset (T *s, int c, size_t n) = delete;
    	 ^
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.h (struct breakpoint): In-class initialize all
    	fields.  Make boolean fields "bool".
    	* breakpoint.c (init_raw_breakpoint_without_location): Remove
    	memset call and initializations no longer necessary.

commit b5c3668253b909fd1f5b011893a35bb8dfd3be9b
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct btrace_insn
    
    struct btrace_insn is not a POD [1] so we shouldn't be using memset to
    initialize it [2].
    
    Use list-initialization instead, wrapped in a "pt insn to btrace insn"
    function, which looks like just begging to be added next to the
    existing pt_reclassify_insn/pt_btrace_insn_flags functions.
    
    [1] - because its field "flags" is not POD, because enum_flags has a
    non-trivial default ctor.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* btrace.c (pt_btrace_insn_flags): Change parameter type to
    	reference.
    	(pt_btrace_insn): New function.
    	(ftrace_add_pt): Remove memset call and use pt_btrace_insn.

commit 5625a2864147f4d92b22edfeeab7600818988be2
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memset non-POD types: struct bp_location
    
    struct bp_location is not a POD, so we shouldn't be using memset to
    initialize it.
    
    Caught like this:
    
      src/gdb/breakpoint.c: In function â??bp_location** get_first_locp_gte_addr(CORE_ADDR)â??:
      src/gdb/breakpoint.c:950:53: error: use of deleted function â??void* memset(T*, int, size_t) [with T = bp_location; <template-parameter-1-2> = void; size_t = long unsigned int]â??
         memset (&dummy_loc, 0, sizeof (struct bp_location));
    						       ^
      In file included from src/gdb/defs.h:28:0,
    		   from src/gdb/breakpoint.c:20:
      src/gdb/common/common-defs.h:126:7: note: declared here
       void *memset (T *s, int c, size_t n) = delete;
    	 ^
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
    	"base" field and inherit from "bp_location" instead.  Add
    	non-default ctor.
    	(allocate_location_exception): Use new non-default ctor.
    	* breakpoint.c (get_first_locp_gte_addr): Remove memset call.
    	(init_bp_location): Convert to ...
    	(bp_location::bp_location): ... this new ctor, and remove memset
    	call.
    	(base_breakpoint_allocate_location): Use the new non-default ctor.
    	* breakpoint.h (bp_location): Now a class.  Declare default and
    	non-default ctors.  In-class initialize all members.
    	(init_bp_location): Remove declaration.

commit 23bcc18f470ee4364bd362a8b78c6c1415a9dadb
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 25 01:27:42 2017 +0100

    Don't memcpy non-trivially-copyable types: Make enum_flags triv. copyable
    
    The delete-memcpy-with-non-trivial-types patch exposed many instances
    of this problem:
    
      src/gdb/btrace.h: In function â??btrace_insn_s* VEC_btrace_insn_s_quick_insert(VEC_btrace_insn_s*, unsigned int, const btrace_insn_s*, const char*, unsigned int)â??:
      src/gdb/common/vec.h:948:62: error: use of deleted function â??void* memmove(T*, const U*, size_t) [with T = btrace_insn; U = btrace_insn; <template-parameter-1-3> = void; size_t = long unsigned int]â??
         memmove (slot_ + 1, slot_, (vec_->num++ - ix_) * sizeof (T));    \
    								^
      src/gdb/common/vec.h:436:1: note: in expansion of macro â??DEF_VEC_FUNC_Oâ??
       DEF_VEC_FUNC_O(T)         \
       ^
      src/gdb/btrace.h:84:1: note: in expansion of macro â??DEF_VEC_Oâ??
       DEF_VEC_O (btrace_insn_s);
       ^
    [...]
      src/gdb/common/vec.h:1060:31: error: use of deleted function â??void* memcpy(T*, const U*, size_t) [with T = btrace_insn; U = btrace_insn; <template-parameter-1-3> = void; size_t = long unsigned int]â??
    	  sizeof (T) * vec2_->num);       \
    				 ^
      src/gdb/common/vec.h:437:1: note: in expansion of macro â??DEF_VEC_ALLOC_FUNC_Oâ??
       DEF_VEC_ALLOC_FUNC_O(T)         \
       ^
      src/gdb/btrace.h:84:1: note: in expansion of macro â??DEF_VEC_Oâ??
       DEF_VEC_O (btrace_insn_s);
       ^
    
    So, VECs (given it's C roots) rely on memcpy/memcpy of VEC elements to
    be well defined, in order to grow/reallocate its internal elements
    array.  This means that we can only put trivially copyable types in
    VECs.  E.g., if a type requires using a custom copy/move ctor to
    relocate, then we can't put it in a VEC (so we use std::vector
    instead).  But, as shown above, we're violating that requirement.
    
    btrace_insn is currently not trivially copyable, because it contains
    an enum_flags field, and that is itself not trivially copyable.  This
    patch corrects that, by simply removing the user-provided copy
    constructor and assignment operator.  The compiler-generated versions
    work just fine.
    
    Note that std::vector relies on std::is_trivially_copyable too to know
    whether it can reallocate its elements with memcpy/memmove instead of
    having to call copy/move ctors and dtors, so if we have types in
    std::vectors that weren't trivially copyable because of enum_flags,
    this will make such vectors more efficient.
    
    gdb/ChangeLog:
    2017-04-25  Pedro Alves  <palves@redhat.com>
    
    	* common/enum-flags.h (enum_flags): Don't implement copy ctor and
    	assignment operator.

commit a49abe0bb18e04d3a4b692995fcfae70cd470775
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 25 00:00:36 2017 +0000

    Automatic date update in version.in

commit 9e9821ddd80c0d0b3dda54d34cc8867f256d4583
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 14:37:12 2017 -0700

    x86-64: Force symbol dynamic if it isn't undefined weak
    
    Force symbol dynamic if it isn't undefined weak.  Generate relative
    relocation for GOT reference against non-dynamic symbol in PIC to
    avoid unnecessary dynamic symbols.
    
    bfd/
    
    	* elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
    	no_finish_dynamic_symbol.
    	(elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
    	0.
    	(elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
    	weak symbol, don't make it dynamic.
    	(elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
    	set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
    	relocation for GOT reference.
    	(elf_x86_64_finish_dynamic_symbol): Abort if
    	no_finish_dynamic_symbol isn't 0.
    
    ld/
    
    	* testsuite/ld-x86-64/no-plt.exp: Also check no-plt-1e.nd.
    	* testsuite/ld-x86-64/no-plt-1e.nd: New file.

commit 0dc9a308a1ec9675bf6b33bae9e8b1faa0bad9ed
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 13:42:33 2017 -0700

    i386: Force symbol dynamic if it isn't undefined weak
    
    Force symbol dynamic if it isn't undefined weak.  Generate R_386_RELATIVE
    relocation for R_386_GOT32 relocation against non-dynamic symbol in PIC.
    
    	PR ld/21402
    	* elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
    	undefined weak symbol, don't make it dynamic.
    	(elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
    	set no_finish_dynamic_symbol and generate R_386_RELATIVE
    	relocation for R_386_GOT32.

commit e1ba30532c6de26a14404ab4919bb591e8da3eab
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Apr 24 21:29:12 2017 +0100

    Use floatformat_totalsize_bytes
    
    The code can be replaced by floatformat_totalsize_bytes.
    
    gdb:
    
    2017-04-24  Yao Qi  <yao.qi@linaro.org>
    
    	* doublest.c (convert_doublest_to_floatformat): Call
    	floatformat_totalsize_bytes.

commit e662f84f5d6d014746550ce3d3f623583c043ff0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 09:46:04 2017 -0700

    i386: Skip pr12570 tests for nacl targets
    
    commit f129e49f4d07f4d36319ac757fdcf3a8ce7d605b
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Tue Jan 10 11:30:25 2017 -0800
    
        Don't use elf_i386_eh_frame_plt directly
    
    fixed i386 PLT eh_frame generation.  Skip pr12570 tests since they are
    for non-nacl targets.
    
    	* testsuite/ld-i386/pr12570a.d: Skip for nacl targets.
    	* testsuite/ld-i386/pr12570b.d: Likewise.

commit 1587442d37ee4266e54d59bfdc783574f0587aff
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 24 09:37:10 2017 -0700

    i386: Set ELF_MAXPAGESIZE to 0x1000 for VxWorks
    
    commit a27e437177412e5b52999723f3c5d5d0d37b9087
    Author: Roland McGrath <roland@gnu.org>
    Date:   Thu Jul 28 22:35:15 2011 +0000
    
        BFD vector for elf32-i386-nacl:
    
    changed ELF_MAXPAGESIZE to 0x10000 for VxWorks.  This patch fixes it
    and updated testsuite/ld-i386/vxworks2.sd to add space for program
    headers.
    
    bfd/
    
    	PR ld/21425
    	* elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
    
    ld/
    
    	PR ld/20815
    	* testsuite/ld-i386/vxworks2.sd: Add space for program headers.

commit 534455547021f3262fa60d32cabb626af01692a3
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon Apr 24 14:49:48 2017 +0100

    [GAS/ARM] Fix expansion of ldr pseudo instruction
    
    The LDR rX, =cst pseudo-instruction suffers from two issues for loading
    integer constants in Thumb mode:
    
    - movs is used if the constant and register can be encoded using that
      instruction which leads to unexpected behavior due to its flag-setting
      behavior
    - mov.w, movw and mvn are used for r13 (sp) and r15 (pc) but these
      encoding are marked as UNPREDICTABLE
    
    This patch fixes those issues and update testing accordingly.
    
    2017-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (move_or_literal_pool): Remove code generating MOVS.
    	Forbid MOV.W and MOVW if destination is SP or PC.
    	* testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.s: Explain
    	expectation of LDR not generating a MOVS for low registers and small
    	constants.  Add tests of MOVW generation.
    	* testsuite/gas/arm/thumb2_ldr_immediate_highregs_armv6t2.d: Update
    	expected disassembly.

commit 8b353c47b70568ab9f0cfd619b7a19e931c2b0c8
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Apr 24 05:31:31 2017 -0700

    ld: fix regressions with rett instructions in sparc tests.
    
    A few tests in the ld testsuite were expecting the disassembler to
    emit `rett' instructions in V9.  This patch updates the tests to
    expect `return' instead.
    
    ld/ChangeLog:
    
    2017-04-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/ld-sparc/tlssunbin64.dd: Expect `return' instructions
    	instead of `rett' in V9.
    	* testsuite/ld-sparc/tlssunnopic64.dd: Likewise.
    	* testsuite/ld-sparc/tlssunpic64.dd: Likewise.

commit 957f6b39cab6cac0e4c54e650c7f75109544ac1d
Author: Tamar Christina <tamar.christina@arm.com>
Date:   Mon Apr 24 11:55:44 2017 +0100

    Fix snafu in aarch64 opcodes debugging statement.
    
    	* aarch64-opc.c (aarch64_logical_immediate_p): Update DEBUG_TRACE
    	arguments.

commit 9ad8982091eeb76b380e459fe721aaeacf7b8f24
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 24 00:00:39 2017 +0000

    Automatic date update in version.in

commit 42354845ae5e00ec1c3519e1f2166b79a9533401
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 17:39:48 2017 +0930

    PR 21418, ar -N lacks arg check
    
    	PR 21418
    	* ar.c (main): Check -a, -b, -i and -N args are given.

commit 7034215fd6d99f275998f7f0f8a346ab35fcbee6
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 17:28:14 2017 +0930

    PR 21417, ar arg check failure
    
    	PR 21417
    	* ar.c (main): Check that an archive file is given after options.

commit b02cd3e978e9273074f7cbe2ca1d5b372225a56d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 18:31:40 2017 +0930

    PR 21415, objdump fails to check bfd_get_section_contents status
    
    	PR 21415
    	* objdump.c (disassemble_section): Check bfd_get_section_contents
    	status.

commit 7eacd66b086cabb1daab20890d5481894d4f56b2
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 15:21:11 2017 +0930

    PR 21414, null pointer deref of _bfd_elf_large_com_section sym
    
    	PR 21414
    	* section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
    	* elf.c (lcomm_sym): New.
    	(_bfd_elf_large_com_section): Use lcomm_sym section symbol.
    	* bfd-in2.h: Regenerate.

commit bce964aa6c777d236fbd641f2bc7bb931cfe4bf3
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 11:03:34 2017 +0930

    PR 21412, get_reloc_section assumes .rel/.rela name for SHT_REL/RELA.
    
    This patch fixes an assumption made by code that runs for objcopy and
    strip, that SHT_REL/SHR_RELA sections are always named starting with a
    .rel/.rela prefix.  I'm also modifying the interface for
    elf_backend_get_reloc_section, so any backend function just needs to
    handle name mapping.
    
    	PR 21412
    	* elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
    	parameters and comment.
    	(_bfd_elf_get_reloc_section): Delete.
    	(_bfd_elf_plt_get_reloc_section): Declare.
    	* elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
    	New functions.  Don't blindly skip over assumed .rel/.rela prefix.
    	Extracted from..
    	(_bfd_elf_get_reloc_section): ..here.  Delete.
    	(assign_section_numbers): Call elf_get_reloc_section.
    	* elf64-ppc.c (elf_backend_get_reloc_section): Define.
    	* elfxx-target.h (elf_backend_get_reloc_section): Update.

commit 97e83a100aa8250be783304bfe0429761c6e6b6b
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 13:55:49 2017 +0930

    PR 21409, segfault in _bfd_dwarf2_find_nearest_line
    
    	PR 21409
    	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
    	no symbols.

commit f082820db966c79e47a143da774700055a1fad41
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Apr 23 13:49:50 2017 +0930

    PR 21408, segfault in display_debug_lines_decoded
    
    	PR 21408
    	* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
    	file_table.

commit b43eea27e99f5fd270b3bec455054ea53ac700bb
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 23 00:00:35 2017 +0000

    Automatic date update in version.in

commit bf1554384b186b448904dbc13ee5374239c88520
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Apr 22 16:36:01 2017 -0700

    Fix ldn/stn multiple instructions.  Fix testcases with unaligned data.
    
    	sim/aarch64/
    	* simulator.c (vec_load): Add M argument.  Rewrite to iterate over
    	registers based on structure size.
    	(LD4, LD3, LD2, LD1_2, LD1_3, LD1_4): Pass new arg to vec_load.
    	(LD1_1): Replace with call to vec_load.
    	(vec_store): Add new M argument.  Rewrite to iterate over registers
    	based on structure size.
    	(ST4, ST3, ST2, ST1_2, ST1_3, ST1_4): Pass new arg to vec_store.
    	(ST1_1): Replace with call to vec_store.
    
    	sim/testsuite/sim/aarch64/
    	* fcvtz.s, fstur.s, ldn_single.s, ldnr.s, mla.s, mls.s, uzp.s: Align
    	data.
    	* sumulh.s: Delete unnecessary data alignment.
    	* stn_single.s: Align data.  Fix unaligned ldr insns.  Adjust cmp
    	arguments to match change.
    	* ldn_multiple.s, stn_multiple.s: New.

commit 10f489e57677e670bf980e93896762594e9ad908
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:30:21 2017 -0600

    Use ui_out_emit_list
    
    This changes some spots to use ui_out_emit_list.  This only touches
    "easy" cases, where the cleanup was used in a block-structured way.
    There's also one more use of ui_out_emit_tuple in here.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
    	ui_out_emit_list.
    	* stack.c (print_frame): Use ui_out_emit_list.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
    	ui_out_emit_list.
    	* mi/mi-main.c (print_one_inferior)
    	(mi_cmd_data_list_register_names)
    	(mi_cmd_data_list_register_values, mi_cmd_list_features)
    	(mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
    	ui_out_emit_list.
    	* mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
    	(mi_output_solib_attribs): Use ui_out_emit_list,
    	ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
    	(mi_cmd_stack_list_args, list_args_or_locals): Use
    	ui_out_emit_list.
    	* disasm.c (do_assembly_only): Use ui_out_emit_list.
    	* breakpoint.c (print_solib_event, output_thread_groups): Use
    	ui_out_emit_list.

commit 0092b74da6d86185c4d0c0fa0f540b97647bf44a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:16:10 2017 -0600

    Use ui_out_emit_tuple in more places in MI
    
    This patch changes a few more spots in MI to use ui_out_emit_tuple.
    These changes required the use of gdb::optional.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
    	* mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.

commit a14a62ddff9eadbb8a7ad101ab06b02e44b6c00a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:15:14 2017 -0600

    Use ui_out_emit_tuple in tracepoint.c
    
    This changes some code in tracepoint.c to use ui_out_emit_tuple.  One
    of these involved removing an otherwise unrelated cleanup (changing
    type to std::string) and the other involved introducing a new block.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* tracepoint.c (tvariables_info_1)
    	(print_one_static_tracepoint_marker): Use ui_out_emit_tuple.

commit 46b9c12945629fffb61001a8f13a37c96675c0b7
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 16:10:02 2017 -0600

    More uses of ui_out_emit_tuple
    
    This patch adds a few more uses of ui_out_emit_tuple.  In these cases
    a slightly more complicated change was needed.  This also adds
    annotate_arg_emitter, for use in stack.c, to avoid having to introduce
    a new scope and reindent the code for a single call.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* stack.c (print_frame_arg): Use ui_out_emit_tuple,
    	annotate_arg_emitter.
    	* breakpoint.c (print_mention_watchpoint)
    	(print_mention_masked_watchpoint): Use ui_out_emit_tuple.
    	* annotate.h (struct annotate_arg_emitter): New.

commit 2e78302469502f4f8a98144b60c09d4d9b6438fd
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 12 08:23:08 2017 -0600

    Use ui_out_emit_tuple
    
    This patch changes various places to use ui_out_emit_tuple,
    eliminating a number of cleanups.  This patch only tackles "easy"
    cases, which are ones where the cleanups in question were
    block-structured and did not involve any changes other than the
    obvious replacement.
    
    ChangeLog
    2017-04-22  Tom Tromey  <tom@tromey.com>
    
    	* record-btrace.c (record_btrace_insn_history)
    	(record_btrace_insn_history_range, record_btrace_call_history)
    	(record_btrace_call_history_range): Use ui_out_emit_tuple.
    	* thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
    	ui_out_emit_tuple.
    	* stack.c (print_frame_info): Use ui_out_emit_tuple.
    	* solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
    	* skip.c (skip_info): Use ui_out_emit_tuple.
    	* remote.c (show_remote_cmd): Use ui_out_emit_tuple.
    	* progspace.c (print_program_space): Use ui_out_emit_tuple.
    	* probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
    	* osdata.c (info_osdata): Use ui_out_emit_tuple.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
    	ui_out_emit_tuple.
    	* mi/mi-main.c (print_one_inferior, list_available_thread_groups)
    	(output_register, mi_cmd_data_read_memory)
    	(mi_cmd_data_read_memory_bytes, mi_load_progress)
    	(mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
    	* mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
    	Use ui_out_emit_tuple.
    	* mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
    	ui_out_emit_tuple.
    	* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
    	(mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
    	* linux-thread-db.c (info_auto_load_libthread_db): Use
    	ui_out_emit_tuple.
    	* inferior.c (print_inferior): Use ui_out_emit_tuple.
    	* gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
    	* disasm.c (do_mixed_source_and_assembly_deprecated)
    	(do_mixed_source_and_assembly): Use ui_out_emit_tuple.
    	* cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
    	* cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
    	* breakpoint.c (print_one_breakpoint_location)
    	(print_one_breakpoint): Use ui_out_emit_tuple.
    	* auto-load.c (print_script, info_auto_load_cmd): Use
    	ui_out_emit_tuple.
    	* ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.

commit a8cc8a548eccdfd78ad76c826339f56db815bdb8
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Apr 22 14:09:21 2017 +0930

    PowerPC VLE insn set additions
    
    opcodes/
    	* ppc-opc.c (ELEV): Define.
    	(vle_opcodes): Add se_rfgi and e_sc.
    	(powerpc_opcodes): Enable lbdx, lhdx, lwdx, stbdx, sthdx, stwdx
    	for E200Z4.
    gas/
    	* testsuite/gas/ppc/vle.s: Format.  Add se_rfgi and e_sc.
    	* testsuite/gas/ppc/vle.d: Update.

commit ebe553db6c639d7533650f8482d611109c2f98a9
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 21 21:50:22 2017 -0400

    doc: Improve documentation about MI thread output
    
    I noticed that the documentation on how the info about threads is output
    in MI is duplicated and not up to date.  The duplication is between the
    "GDB/MI Thread Information" page and the -thread-info result
    description.
    
    I improved the "GDB/MI Thread Information" page a bit and referred to it
    in the -thread-info doc.  This way, the -thread-info doc is more precise
    (it did not mention the "threads" and "current-thread-id" attributes)
    and concise.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Thread Information): Add missing
    	fields, re-word some things.
    	(GDB/MI Thread Commands): Describe fields found in the output of
    	-thread-info, remove description of fields in the
    	thread output tuple, replace with a cross-reference to "GDB/MI
    	Thread Information".

commit 9be21bb4d4f30975766dfaa7d40b53ba10dcc3a0
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 21 21:45:15 2017 -0400

    Remove dead code and "current" field from MI thread output doc
    
    The MI documentation says that -thread-info output contains a "current"
    field in the current thread tuple, with the value "*".  Current GDB
    master does not do this, and I couldn't find any GDB version that did.
    I suspect that it was never the case.
    
    The code that would correspond to this in print_thread_info_1 is
    essentially dead code.  The calls to uiout->text end up in
    mi_out::do_text, which is empty.
    
    This patch removes the documentation bit and the dead code.  This
    "current" field is not necessary, since -thread-info outputs a
    "current-thread-id" field.
    
    gdb/ChangeLog:
    
    	* thread.c (print_thread_info_1): Remove dead code.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Thread Commands): Remove "current" field
    	from -thread-info output.

commit b8ac4fa43d5d37e4028ba2a7cc2d9b100ee85418
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 22 00:00:47 2017 +0000

    Automatic date update in version.in

commit e133d00576f3da89e7772149e8d2b6a059d26919
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 21 12:03:14 2017 -0700

    i386: Avoid dynamic symbol with GOT reference in PIE
    
    GOT reference to global symbol in PIE will lead to dynamic symbol.  It
    becomes a problem when "time" or "times" is defined as a variable in
    an executable, clashing with functions of the same name in libc.  If
    a symbol isn't undefined weak symbol, don't make it dynamic in PIE and
    generate R_386_RELATIVE relocation.
    
    bfd/
    
    	PR ld/21402
    	* elf32-i386.c (elf_i386_link_hash_entry): Add
    	no_finish_dynamic_symbol.
    	(elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
    	(elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
    	symbol, don't make it dynamic in PIE.
    	(elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
    	set no_finish_dynamic_symbol and generate R_386_RELATIVE
    	relocation for R_386_GOT32
    	(elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
    	isn't 0.
    
    ld/
    
    	PR ld/21402
    	* testsuite/ld-elf/indirect.exp: Don't skip PIE indirect5 and
    	indirect6 tests on i386.

commit 3c5fce9bc29b216af7d10f8d6e4d8c3f11a48359
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 21 12:00:55 2017 -0700

    Require --no-dynamic-linker with -static -E/--dynamic-list
    
    When -static -E/--dynamic-list are passed to linker, linker may create
    executable with dynamic sections which aren't supported by run-time.
    We require --no-dynamic-linker together with -static -E/--dynamic-list
    before adding dynamic symbol table to static executable.
    
    bfd/
    
    	PR ld/19617
    	PR ld/21086
    	* elflink.c (elf_link_add_object_symbols): Require
    	--no-dynamic-linker with -E/--dynamic-list when creating
    	dynamic sections.
    
    ld/
    
    	PR ld/19617
    	PR ld/21086
    	* testsuite/ld-elf/pr19617a.d: Pass --no-dynamic-linker to ld.
    	* testsuite/ld-elf/pr19617b.d: Likewise.
    	* testsuite/ld-elf/pr19617c.d: Likewise.
    	*testsuite/ld-i386/pr19636-4d.d: Likewise.
    	* testsuite/ld-elf/readelf.exp: Pass --no-dynamic-linker to ld
    	with --export-dynamic.
    	* testsuite/ld-elf/shared.exp: Pass --no-dynamic-linker to ld
    	with -E.

commit 0d4c07afb1e5e37e8e296858f8b14a3b4adf950b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Apr 21 16:14:37 2017 +0200

    release branch: Fix: --enable-werror
    
    gdb-8.0-branch
    ./configure --enable-werror --enable-targets=all
    aarch64-tdep.c:3045:13: error: â??void selftests::aarch64_process_record_test()â?? declared â??staticâ?? but never defined [-Werror=unused-function]
    arm-tdep.c:9601:13: error: â??void selftests::arm_record_test()â?? declared â??staticâ?? but never defined [-Werror=unused-function]
    
    gdb/ChangeLog
    2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
    	GDB_SELF_TEST.
    	* arm-tdep.c (selftests::arm_record_test): Likewise.

commit 4daf993d4d4686f2707810af3725038d2f289bbb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Apr 21 14:59:27 2017 +0100

    Simplify regcache_restore
    
    This patches removes the 2nd argument of regcache_restore, because it
    is only called by regcache_cpy.  In regcache_cpy, if regcache_restore
    is called, dst is not readonly, but src is readonly.  So this patch
    adds an assert that src is readonly in regcache_restore.
    regcache_cook_read read everything from a readonly regcache cache
    (src)'s register_buffer, and register status is from ->register_status.
    
    gdb:
    
    2017-04-21  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_restore): Remove argument 2.  Replace
    	argument 3 with regcache.  Get register status from
    	src->register_status and get register contents from
    	register_buffer (src, regnum).
    	(regcache_cpy): Update.

commit 3ab87b688320e02db1bb7ed4bd45323d57737c77
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Apr 21 05:19:06 2017 -0700

    opcodes: mark SPARC RETT instructions as v6notv9.
    
    This prevents the disassembler to show `return' instructions as
    `rett' in V9 and later architectures.
    
    opcodes/ChangeLog:
    
    2017-04-21  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* sparc-opc.c (sparc_opcodes): Mark RETT instructions as v6notv9.

commit ddef72cdc10d82ba011a7ff81cafbbd3466acf54
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 21 12:31:59 2017 +0100

    Fix shift overflow when parsing an overlarge note value.
    
    	PR binutils/21378
    	* readelf.c (print_gnu_build_attribute_name): Check for an
    	overlarge name field.

commit 792f174f8af4291c222d0a6de919118e488258bc
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 21 12:18:06 2017 +0100

    Fix detection of illegal AArch64 opcodes that resemble LD1R, LD2R, LD3R and LD4R.
    
    	PR binutils/21380
    opcodes	* aarch64-tbl.h (aarch64_opcode_table): Fix masks for LD1R, LD2R,
    	LD3R and LD4R.
    
    gas	* testsuite/gas/aarch64/illegal-3.s: New file.
    	* testsuite/gas/aarch64/illegal-3.d: New file.

commit 73b58fda3b5976ad1a60feb43695eaf61cdf62b9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 21 00:00:18 2017 +0000

    Automatic date update in version.in

commit f285ab0c132daa289c146b16f05fd23e4658a2c3
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 12:44:46 2017 -0700

    Revert "Apply binutils-pr21382.patch"
    
    This reverts commit fa2190ddc31ff8b61f6765698842e4638911be4d.
    
    It has been fixed on master branch.

commit ad556bec71c041df2e10decc9e12424f5849f5c0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 12:44:16 2017 -0700

    Revert "Apply binutils-pr21389.patch"
    
    This reverts commit 2397afcce6b6648b03ab7a379374269a3f048663.
    
    It has been fixed on master branch.

commit e218e1b45840a3e735e6bd92a35c34f988fce82b
Merge: 2397afc afe9edb
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 12:43:42 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit afe9edbf486c4b27cceb258c11e104377512ec24
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 12:33:55 2017 -0700

    Skip PIE indirect5 and indirect6 tests on i386
    
    On i386, since GOT reference is needed to access global symbols in PIE,
    those symbols are made dynamic.  Crash happens when there is a reference
    to the same global symbol with a different symbol type in a shared
    object.  Since mixing different types of the same symbol doesn't work in
    general, this patch skips those tests on i386 as well as compiles non-PIE
    indirect5 and indirect6 tests with $NOPIE_LDFLAGS and $NOPIE_CFLAGS.
    
    	PR ld/21402
    	* testsuite/ld-elf/indirect.exp: Pass $NOPIE_LDFLAGS and
    	$NOPIE_CFLAGS to non-PIE indirect5 and indirect6 tests.  Skip
    	PIE indirect5 and indirect6 tests on i386.

commit 0fad29560ee055f1253a8e40bfc09b413117480d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 13 10:26:05 2017 +0100

    ELF/LD: Always consider STB_LOCAL symbols local
    
    Do not require forced local (STB_LOCAL) symbols to have a definition in
    a regular file to be considered to resolve local to the current module,
    matching `elf_link_renumber_local_hash_table_dynsyms'.  In the absence
    of a regular definition any reference to a STB_LOCAL symbol will have to
    be garbage collected along with the undefined symbol itself, or the link
    will eventually fail.  Either way the symbol concerned is not going to
    be external.
    
    	bfd/
    	* elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
    	if forced local.

commit 31321c8031315c8b5f7c6b73e464f14ad90310b6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Apr 20 01:39:30 2017 +0100

    MIPS/LD/testsuite: Join `__ehdr_start' tests
    
    Complement commit 3807734dbe48 ("PR ld/15428: MIPS/LD/testsuite:
    Un-KFAIL `__ehdr_start' test 2") and join tests that do not need to be
    split anymore.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf.exp: Join `__ehdr_start' tests.

commit 64575f782b79e310852e43947bc1b06f24af388e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Apr 19 16:51:17 2017 +0100

    MIPS/BFD: Reorder comment about dynamic symbol sorting
    
    Move the comment about dynamic symbol sorting next to where it happens.
    
    	bfd/
    	* elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
    	dynamic symbol sorting.

commit 59fa66c53823dc695f78669f40ec2eebab3aec42
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Apr 20 07:48:24 2017 -0700

    Handle symbol defined in IR and referenced in DSO
    
    We need to make an IR symbol visible if it is defined in an IR object
    and referenced in a dynamic object.  When --as-needed is used, since
    linker removes the IR symbol reference of the dynamic object if the
    dynamic object isn't needed in the first pass, the IR definition isn't
    visible to the dynamic object even if the dynamic object becomes needed
    in the second pass.  Add dynamic_ref_after_ir_def to bfd_link_hash_entry
    to track IR symbol which is defined in an IR object and later referenced
    in a dynamic object.  dynamic_ref_after_ir_def is preserved when restoring
    the symbol table for unneeded dynamic object.
    
    bfd/
    
    	PR ld/21382
    	* elflink.c (elf_link_add_object_symbols): Preserve
    	dynamic_ref_after_ir_def when restoring the symbol table for
    	unneeded dynamic object.
    
    include/
    
    	PR ld/21382
    	* bfdlink.h (bfd_link_hash_entry): Add dynamic_ref_after_ir_def.
    
    ld/
    
    	PR ld/21382
    	* plugin.c (is_visible_from_outside): Symbol may be visible
    	from outside if dynamic_ref_after_ir_def is set.
    	(plugin_notice): Set dynamic_ref_after_ir_def if the symbol is
    	defined in an IR object and referenced in a dynamic object.
    	* testsuite/ld-plugin/lto.exp: Run PR ld/21382 tests.
    	* testsuite/ld-plugin/pr21382a.c: New file.
    	* testsuite/ld-plugin/pr21382b.c: Likewise.

commit c76886885987e543f9162809ad86a0a37b394e82
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 20 00:00:41 2017 +0000

    Automatic date update in version.in

commit e492d2f8ac653b050019865ba1418fc5b057c00b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Apr 19 09:59:14 2017 -0700

    x86-64: Handle undefined IFUNC symbol with -z now
    
    Since undefined IFUNC symbol is treated as normal FUNC symbol, don't
    abort on undefined IFUNC symbol in the second PLT.
    
    bfd/
    
    	PR ld/21401
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
    	on on undefined IFUNC symbol in the second PLT.
    
    ld/
    
    	PR ld/21401
    	* testsuite/ld-ifunc/ifunc.exp: Add a libtest-2-now.so test with
    	-z now.

commit a6c21d4a553de184562fd8409a5bcd3f2cc2561a
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:16:05 2017 +0100

    gdbthread.h: Fix comment typo
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* gdbthread.h (thread): Add missing closing parenthesis in
    	comment.

commit 3a3fd0fd2c4c87fdd588c51d879961a49e38f0c1
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:12:23 2017 +0100

    Fix removing inferiors from within "thread apply" commands
    
    This patch fixes an internal error exposed by a test that does
    something like:
    
      define kill-and-remove
        kill inferiors 2
        remove-inferiors 2
      end
    
      # Start one inferior.
      start
    
      # Start another inferior.
      add-inferior 2
      inferior 2
      start
    
      # Kill and remove inferior 1 while inferior 2 is selected.
      thread apply 1.1 kill-and-remove
    
    The internal error looks like this:
    
     Thread 1.1 (Thread 0x7ffff7fc2700 (LWP 20677)):
     [Switching to inferior 1 [process 20677] (gdb/testsuite/outputs/gdb.threads/threadapply/threadapply)]
     [Switching to thread 1.1 (Thread 0x7ffff7fc2700 (LWP 20677))]
     #0  main () at src/gdb/testsuite/gdb.threads/threadapply.c:38
     38          for (i = 0; i < NUM; i++)
     src/gdb/inferior.c:66: internal-error: void set_current_inferior(inferior*): Assertion `inf != NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n) FAIL: gdb.threads/threadapply.exp: kill_and_remove_inferior: try kill-and-remove: thread apply 1.1 kill-and-remove (GDB internal error)
    
    There are several problems around this area of the code.  One is that
    in do_restore_current_thread_cleanup, we do a look up of inferior by
    ptid, which can find the wrong inferior if the previously selected
    inferior exited and some other inferior was started with a reused pid
    (rare, but still...).
    
    The other problem is that the "remove-inferiors" command rejects
    attempts to remove the current inferior, but when we get to
    "remove-inferiors" in a "thread apply THR remove-inferiors 2" command,
    the current inferior is the inferior of thread THR, not the previously
    selected inferior, so if the previously selected inferior was inferior
    2, that command still manages to wipe it, and then gdb restores the
    old selected inferior, which is now a dangling pointer...
    
    So the fix here is:
    
    - Make make_cleanup_restore_current_thread store a pointer to the
      previously selected inferior directly, and use it directly instead
      of doing ptid look ups.
    
    - Add a refcount to inferiors, very similar to thread_info's refcount,
      that is incremented/decremented by
      make_cleanup_restore_current_thread, and checked before deleting an
      inferior.  To avoid duplication, a new refcounted_object type is
      added, that both thread_info and inferior inherit from.
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* common/refcounted-object.h: New file.
    	* gdbthread.h: Include "common/refcounted-object.h".
    	(thread_info): Inherit from refcounted_object and add comments.
    	(thread_info::incref, thread_info::decref)
    	(thread_info::m_refcount): Delete.
    	(thread_info::deletable): Use the refcounted_object::refcount()
    	method.
    	* inferior.c (current_inferior_): Add comment.
    	(set_current_inferior): Increment/decrement refcounts.
    	(prune_inferiors, remove_inferior_command): Skip inferiors marked
    	not-deletable instead of comparing with the current inferior.
    	(initialize_inferiors): Increment the initial inferior's refcount.
    	* inferior.h (struct inferior): Forward declare.
    	Include "common/refcounted-object.h".
    	(current_inferior, set_current_inferior): Move declaration to
    	before struct inferior's definition, and fix comment.
    	(inferior): Inherit from refcounted_object.  Add comments.
    	* thread.c (switch_to_thread_no_regs): Reference the thread's
    	inferior pointer directly instead of doing a ptid lookup.
    	(switch_to_no_thread): New function.
    	(switch_to_thread(thread_info *)): New function, factored out
    	from ...
    	(switch_to_thread(ptid_t)): ... this.
    	(restore_current_thread): Delete.
    	(current_thread_cleanup): Remove 'inf_id' and 'was_removable'
    	fields, and add 'inf' field.
    	(do_restore_current_thread_cleanup): Check whether old->inf is
    	alive instead of looking up an inferior by ptid.  Use
    	switch_to_thread and switch_to_no_thread.
    	(restore_current_thread_cleanup_dtor): Use old->inf directly
    	instead of lookup up an inferior by id.  Decref the inferior.
    	Don't restore 'removable'.
    	(make_cleanup_restore_current_thread): Same the inferior pointer
    	in old, instead of the inferior number.  Incref the inferior.
    	Don't save/clear 'removable'.
    
    gdb/testsuite/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* gdb.threads/threadapply.exp (kill_and_remove_inferior): New
    	procedure.
    	(top level): Call it.
    	* lib/gdb.exp (gdb_define_cmd): New procedure.

commit 9bcb1f1630b05594fa86bfd017639cfcc966b11c
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:12:23 2017 +0100

    Make inferior::detaching a bool, and introduce scoped_restore::release()
    
    I left making inferior::detaching a bool to a separate patch, because
    doing that makes a make_cleanup_restore_integer call in
    infrun.c:prepare_for_detach no longer compile (passing a 'bool *' when
    an 'int *' is expected).  Since we want to get rid of cleanups anyway,
    I looked at converting that to a scoped_restore.  However,
    prepare_for_detach wants to discard the cleanup on success, and
    scoped_restore doesn't have an equivalent for that.  So I added one --
    I called it "release()" because it seems like a natural fit in the way
    standard components call similarly-spirited methods, and, it's also
    what the proposal for a generic scope guard calls it too, AFAICS:
    
      http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4189.pdf
    
    I've added some scoped_guard unit tests, while at it.
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/scoped_restore-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
    	* common/scoped_restore.h (scoped_restore_base): Make "class".
    	(scoped_restore_base::release): New public method.
    	(scoped_restore_base::scoped_restore_base): New protected ctor.
    	(scoped_restore_base::m_saved_var): New protected field.
    	(scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
    	scoped_restore_base base class instead of m_saved_var directly.
    	(scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
    	(scoped_restore_tmpl::scoped_restore_tmpl(const
    	scoped_restore_tmpl<T>&)): Likewise.
    	(scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
    	method.
    	(scoped_restore_tmpl::saved_var): New method.
    	(scoped_restore_tmpl::m_saved_var): Delete.
    	* inferior.h (inferior::detaching): Now a bool.
    	* infrun.c (prepare_for_detach): Use a scoped_restore instead of a
    	cleanup.
    	* unittests/scoped_restore-selftests.c: New file.

commit 26fcd539dd38a27259d8179152d617118f016706
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 19 13:06:20 2017 +0100

    gdb/Makefile.in: Re-sort SUBDIR_UNITTESTS_SRCS/SUBDIR_UNITTESTS_OBS
    
    Note to self: 'o' before 'p'.
    
    gdb/ChangeLog:
    2017-04-19  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
    	Re-sort in alphabetic order.

commit 101691343ce5f815dc70f6cfd083393e259a18d8
Author: Wedson Almeida Filho <wedsonaf@gmail.com>
Date:   Wed Apr 19 18:02:53 2017 +0930

    Correct PE reloc display
    
    	* peXXigen.c (pe_print_reloc): Correct chunk_end.

commit 954b63d4c8645f86e40c7ef6c6d60acd2bf019de
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Apr 19 01:26:57 2017 +0930

    Implement -z dynamic-undefined-weak
    
    -z nodynamic-undefined-weak is only implemented for x86.  (The sparc
    backend has some support code but doesn't enable the option by
    including ld/emulparams/dynamic_undefined_weak.sh, and since the
    support looks like it may be broken I haven't enabled it.)  This patch
    adds the complementary -z dynamic-undefined-weak, extends both options
    to affect building of shared libraries as well as executables, and
    adds support for the option on powerpc.
    
    include/
    	* bfdlink.h (struct bfd_link_info <dynamic_undefined_weak>):
    	Revise comment.
    bfd/
    	* elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
    	or make dynamic for info->dynamic_undefined_weak 0 and 1.
    	* elf32-ppc.c:Formatting.
    	(ensure_undefweak_dynamic): Don't make dynamic when
    	info->dynamic_undefined_weak is zero.
    	(allocate_dynrelocs): Discard undefweak dyn_relocs for
    	info->dynamic_undefined_weak.  Discard undef dyn_relocs when
    	not default visibility.  Discard undef and undefweak
    	dyn_relocs earlier.
    	(ppc_elf_relocate_section): Adjust to suit.
    	* elf64-ppc.c: Formatting.
    	(ensure_undefweak_dynamic): Don't make dynamic when
    	info->dynamic_undefined_weak is zero.
    	(allocate_dynrelocs): Discard undefweak dyn_relocs for
    	info->dynamic_undefined_weak.  Discard them earlier.
    ld/
    	* ld.texinfo (dynamic-undefined-weak): Document.
    	(nodynamic-undefined-weak): Document that this option now can
    	be used with shared libs.
    	* emulparams/dynamic_undefined_weak.sh: Support -z
    	dynamic-undefined-weak.
    	* emulparams/elf32ppccommon.sh: Include dynamic_undefined_weak.sh.
    	* testsuite/ld-undefined/weak-undef.exp (undef_weak_so),
    	(undef_weak_exe): New.  Use them.  Add -z dynamic-undefined-weak
    	and -z nodynamic-undefined-weak tests.
    	* Makefile.am: Update powerpc dependencies.
    	* Makefile.in: Regenerate.

commit 951787ed6d13f8f441d93fc3f6fb870c234774af
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 19 00:00:40 2017 +0000

    Automatic date update in version.in

commit fdd243b001585c5ca078342608332af77050c867
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:25 2017 +0100

    Eliminate obstack_printf
    
    Not used anywhere.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c (obstack_xml_printf): Delete.
    	* xml-support.h (obstack_xml_printf): Delete.

commit 4895cde29761f6c39fdb6c319ff4666ee39f5d28
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:25 2017 +0100

    gdb_xml_parser: make data fields private and make more functions methods
    
    This patch makes the data fields of gdb_xml_parser private, and makes
    more functions be gdb_xml_parser methods.  This is mostly for better
    encapsulation.
    
    Some free functions have their parsing-related guts converted to
    methods, while the free functions remain, as they're used as expat
    callbacks.  Now their only job is to be small shims that restore back
    the gdb_xml_parser type, defer work to the corresponding method, and
    make sure C++ exceptions don't cross expat.
    
    More C++-fycation of the XML parsers built on top of gdb_xml_parser
    could follow, but this was my stopping point.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
    	vdebug, verror, body_text, start_element, end_element, name,
    	user_data, set_is_xinclude, set_error, expat_parser>: New methods.
    	<name, user_data, expat_parser, scopes, error, last_line, dtd_name,
    	is_xinclude>: Make private and add m_ prefix.
    	(gdb_xml_parser::body_text): New method, based on ...
    	(gdb_xml_body_text): ... this.  Adjust.
    	(gdb_xml_parser::vdebug): New method, based on ...
    	(gdb_xml_debug): ... this.  Adjust.
    	(gdb_xml_parser::verror): New method, based on ...
    	(gdb_xml_error): ... this.  Adjust.
    	(gdb_xml_parser::start_element): New method, based on ...
    	(gdb_xml_start_element): ... this.  Adjust.
    	(gdb_xml_start_element_wrapper): Defer to
    	gdb_xml_parser::start_element and gdb_xml_parser::set_error.
    	(gdb_xml_parser::end_element): New method, based on ...
    	(gdb_xml_end_element_wrapper): ... this.  Adjust.
    	(gdb_xml_parser::~gdb_xml_parser): Adjust.
    	(gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
    	(gdb_xml_parser::use_dtd): New method, based on ...
    	(gdb_xml_use_dtd): ... this.  Adjust.
    	(gdb_xml_parser::parse): New method, based on ...
    	(gdb_xml_parse): ... this.  Adjust.
    	(gdb_xml_parse_quick): Adjust to call the parser's parse method.
    	(xinclude_start_include): Adjust to call the parser's name method.
    	(xml_xinclude_default, xml_xinclude_start_doctype)
    	(xml_xinclude_end_doctype): Adjust to call the parser's user_data
    	method.
    	(xml_process_xincludes): Adjust to call parser methods.
    	* xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
    	declarations.

commit bd8a901f9e34191e0645a5527556d124ba5c345a
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:25 2017 +0100

    xml-support.c: Use std::string for growing string buffer
    
    This main idea behind this patch is this change to xml-support.c:scope_level
    
      -  /* Body text accumulation.  This is an owning pointer.  */
      -  struct obstack *body;
      +  /* Body text accumulation.  */
      +  std::string body;
    
    ... which allows simplifying other parts of the code.
    
    In target_fetch_description_xml, we want to distinguish between
    returning "success + empty std::string" and "no success", and
    gdb::optional is a natural fit for that.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* tracefile-tfile.c (tfile_write_tdesc): Adjust to use
    	gdb::optional<std::string>.
    	* xml-support.c: Include <string>.
    	(scope_level::scope_level(scope_level &&))
    	(scope_level::~scope_level): Delete.
    	(scope_level::body): Now a std::string.
    	(gdb_xml_body_text, gdb_xml_end_element): Adjust.
    	(xinclude_parsing_data::xinclude_parsing_data): Add 'output'
    	parameter.
    	(xinclude_parsing_data::~xinclude_parsing_data): Delete.
    	(xinclude_parsing_data::output): Now a std::string reference.
    	(xinclude_start_include): Adjust.
    	(xml_xinclude_default): Adjust.
    	(xml_process_xincludes): Add 'output' parameter, and return bool.
    	* xml-support.h (xml_process_xincludes): Add 'output' parameter,
    	and return bool.
    	* xml-tdesc.c: Include <unordered_map> and <string>.
    	(tdesc_xml_cache): Delete.
    	(tdesc_xml_cache_s): Delete.
    	(xml_cache): Now an std::unordered_map.
    	(tdesc_parse_xml): Adjust to use std::string and unordered_map.
    	(target_fetch_description_xml): Change return type to
    	gdb::optional<std::string>, and adjust.
    	* xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
    	(target_fetch_description_xml): Change return type to
    	gdb::optional<std::string>.

commit d35d19584cf56a50b4833ff9c003597e01022f27
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    gdb::optional unit tests
    
    I thought I'd add some unit tests to make sure gdb::optional behaved
    correctly, and started writing some, but then thought/realized that
    libstdc++ already has extensive testing for C++17 std::optional, which
    gdb::optional is a subset of, and thought why bother writing something
    from scratch.  So I tried copying over a subset of libstdc++'s tests
    (that ones that cover the subset supported by gdb::optional), and was
    positively surprised that they mostly work OOTB.  This did help shake
    out a few bugs from what I was implementing in the previous patch to
    gdb::optional.  Still, it's a good chunk of code being copied over, so
    if people dislike this copying/duplication, I can drop this patch.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/optional-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
    	* unittests/optional-selftests.c: New file.
    	* unittests/optional/assignment/1.cc: New file.
    	* unittests/optional/assignment/2.cc: New file.
    	* unittests/optional/assignment/3.cc: New file.
    	* unittests/optional/assignment/4.cc: New file.
    	* unittests/optional/assignment/5.cc: New file.
    	* unittests/optional/assignment/6.cc: New file.
    	* unittests/optional/assignment/7.cc: New file.
    	* unittests/optional/cons/copy.cc: New file.
    	* unittests/optional/cons/default.cc: New file.
    	* unittests/optional/cons/move.cc: New file.
    	* unittests/optional/cons/value.cc: New file.
    	* unittests/optional/in_place.cc: New file.
    	* unittests/optional/observers/1.cc: New file.
    	* unittests/optional/observers/2.cc: New file.

commit 22796e972f18c5601cecb0251222411a352836b6
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    More gdb::optional features
    
    Currently we can't use gdb::optional<T> as function return type,
    because gdb::optional's copy ctor is deleted.  For example, with:
    
      gdb::optional<int> function ()
      {
        gdb::optional<int> opt;
        ....
        return opt;
    
    we get:
    
      src/gdb/foo.c: In function â??gdb::optional<int> foo()â??:
      src/gdb/foo.c:75:10: error: use of deleted function â??gdb::optional<T>::optional(const gdb::optional<T>&) [with T = int]â??
         return opt;
    	    ^
      In file included from src/gdb/foo.c:68:0:
      src/gdb/common/gdb_optional.h:53:3: note: declared here
         optional (const optional &other) = delete;
         ^
    
    I started by fixing that, and then ran into another missing feature,
    also fixed by this patch.
    
    The next feature I'm missing most from gdb::optional<T> compared to
    std::optional<T> is construction/move/assignment from a T, instead of
    having to default construct an gdb::optional and then use
    optional::emplace(....).
    
    For example:
      gdb::optional<std::string> function ()
      {
        gdb::optional<std::string> opt;
        std::string str;
        ...
        opt.emplace (std::move (str));
        return opt;
    vs
      gdb::optional<std::string> function ()
      {
        std::string str;
        ...
        return str;
    
    The copy/move ctor/assign methods weren't initialy implemented because
    std::optional supports construction from a type U if U is convertible
    to T too, and has rules to decide whether the ctors are
    explicit/implicit based on that, and rules for whether the ctor should
    be trivial or not, etc., which leads to a much more complicated
    implementation.
    
    If we stick to supporting copy/move construction/assignment of/to an
    optional<T> from exactly only optional<T> and T, then all that
    conversion-related complication disappears, and we still gain
    convenience in most use cases.
    
    The patch also makes emplace return a reference to the constructor
    object, per C++17 std::optional, and adds a reset method, againt
    because std::optional has one and it's trivial to support it.  These
    two changes are a requirement of the gdb::optional unit testing patch
    that will follow.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_optional.h: Include common/traits.h.
    	(in_place_t): New type.
    	(in_place): New constexpr variable.
    	(optional::optional): Remove member initialization of
    	m_instantiated.
    	(optional::optional(in_place_t...)): New constructor.
    	(optional::~optional): Use reset.
    	(optional::optional(const optional&)): New.
    	(optional::optional(const optional&&)): New.
    	(optional::optional(T &)): New.
    	(optional::optional(T &&)): New.
    	(operator::operator=(const optional &)): New.
    	(operator::operator=(optional &&)): New.
    	(operator::operator= (const T &))
    	(operator::operator= (T &&))
    	(operator::emplace (Args &&... args)): Return a T&.  Use reset.
    	(operator::reset): New.
    	(operator::m_instantiated):: Add in-class initializer.
    	* common/traits.h: Include <type_traits>.
    	(struct And): New types.

commit a7fc9b6193f830293066479aa439cea924418393
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    xml-support.c: Use std::vector
    
    scope_level::scope_level needed both a move ctor and a dtor explicitly
    coded, but those will be eliminated in a following patch.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c: Include <vector>.
    	(scope_level::scope_level(const gdb_xml_element *))
    	(scope_level::scope_level(scope_level&&)): New.
    	(scope_level::~scope_level): New.
    	(scope_level_s): Delete.
    	(gdb_xml_parser::scopes): Now a std::vector.
    	(gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
    	Use std::vector.
    	(gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
    	scope cleanup code.
    	(gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
    	of the scopes member.  Use std::vector::emplace_back.

commit 010151c9146eb2a299686e41c714e57c344be8e8
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 18 21:39:24 2017 +0100

    C++-ify gdb/xml-support.c a bit to eliminate cleanups
    
    Basically convert cleanups to destructors in gdb_xml_parser and
    xinclude_parsing_data, and then allocate objects of those types on the
    stack.
    
    More C++-ification is possible / will follow, but this removes a few
    make_cleanup calls already.
    
    gdb/ChangeLog:
    2017-04-18  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
    	a bool.
    	(gdb_xml_end_element): Change type of first parameter.
    	(gdb_xml_cleanup): Rename to ...
    	(gdb_xml_parser::~gdb_xml_parser): ... this.
    	(gdb_xml_create_parser_and_cleanup): Delete with ...
    	(gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
    	to this new ctor.
    	(gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
    	using gdb_xml_create_parser_and_cleanup.
    	(xinclude_parsing_data): Add ctor/dtor.
    	(xml_xinclude_cleanup): Delete.
    	(xml_process_xincludes): Create a local xinclude_parsing_data
    	instead of heap-allocating one.  Create a local gdb_xml_parser
    	instead of heap-allocating one with
    	gdb_xml_create_parser_and_cleanup.

commit d56060f08aa4ed5786042a066f62aa8e474cc0fd
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 18 09:44:32 2017 -0700

    PR threads/20743: Don't attempt to suspend or resume exited threads.
    
    When resuming a native FreeBSD process, ignore exited threads when
    suspending/resuming individual threads prior to continuing the process.
    
    gdb/ChangeLog:
    
    	PR threads/20743
    	* fbsd-nat.c (resume_one_thread_cb): Remove.
    	(resume_all_threads_cb): Remove.
    	(fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
    	iterate_over_threads.

commit 6631d36456babbaf4c78b955165c3344f95ac5dd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 18 00:00:36 2017 +0000

    Automatic date update in version.in

commit e6699019c4f363f804f9646974ab1d5e78785ffc
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 17 07:47:17 2017 -0700

    Put soname in the version definition section
    
    commit 902e9fc76a0ec9f642cefa71ef88cca1c675ad54
    Author: Maciej W. Rozycki <macro@imgtec.com>
    Date:   Tue Feb 21 01:46:42 2017 +0000
    
        PR ld/20828: Move symbol version processing ahead of GC symbol sweep
    
    breaks version definition with --version-script --soname.  This patch
    fixes it by getting soname index before generating the version definition
    section.
    
    bfd/
    
    	PR ld/21389
    	* elflink.c (bfd_elf_size_dynamic_sections): Get soname index
    	before generating the version definition section.
    
    ld/
    
    	PR ld/21389
    	* testsuite/ld-elf/pr21389.map: New file.
    	* testsuite/ld-elf/pr21389.s: Likewise.
    	* testsuite/ld-elf/pr21389a.d: Likewise.
    	* testsuite/ld-elf/pr21389b.d: Likewise.
    	* testsuite/ld-elf/pr21389c.d: Likewise.

commit 305d16a9beff2a817ee03b3881da68eb3a29edec
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Apr 17 07:30:29 2017 -0700

    Update NEWS post GDB 8.0 branch creation.
    
    gdb/ChangeLog:
    
    	* NEWS: Create a new section for the next release branch.
    	Rename the section of the current branch, now that it has
    	been cut.

commit 8bb5723165d4e7308fb69b21a95f396f9e61caaf
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Apr 17 07:20:49 2017 -0700

    Bump version to 8.0.50.DATE-git
    
    Now that the GDB 8.0 branch has been created, we should bump
    the GDB version accordingly.
    
    gdb/ChangeLog:
    
    	GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
    	* version.in: Bump version to 7.99.90.DATE-git.

commit c5d37467b152fe98f02ac1ff8188e32ecd0def95
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Apr 17 18:33:52 2017 +0930

    Undo dynamic symbol state after regular object sym type mismatch
    
    We already handle the case of an object file first defining a symbol
    that a later shared library also defines where the symbol types are
    incompatible.  This patch handles the reverse, when a later object
    file defines an incompatible symbol defined by an earlier shared
    library.
    
    bfd/
    	* elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
    	state when a regular object file defines a symbol with
    	incompatible type to that defined by an earlier shared lib.
    ld/
    	* testsuite/ld-elf/indirect5a.c,
    	* testsuite/ld-elf/indirect5b.c,
    	* testsuite/ld-elf/indirect5.map,
    	* testsuite/ld-elf/indirect5.out: New test.
    	* testsuite/ld-elf/indirect6a.c: Likewise.
    	* testsuite/ld-elf/indirect.exp (check_dynamic_syms): New proc.
    	Run new tests and check dynsyms.

commit c661778cb6b406d5b55fbf22ff88fbc85ee3f4c2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 17 00:00:33 2017 +0000

    Automatic date update in version.in

commit 94522e5f36e542a7f7eccc4e2fa31682e58f812c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 16 00:00:35 2017 +0000

    Automatic date update in version.in

commit 725bf5cf125783c2a7ca4ab63d3768e220bab2db
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 15 00:00:36 2017 +0000

    Automatic date update in version.in

commit 2397afcce6b6648b03ab7a379374269a3f048663
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 14 13:20:58 2017 -0700

    Apply binutils-pr21389.patch

commit 8aeaf641c73aaf536ed8c76a31a1f1e1ecad32a7
Merge: fa2190d 096c92d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 14 08:50:55 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit fa2190ddc31ff8b61f6765698842e4638911be4d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 14 08:50:45 2017 -0700

    Apply binutils-pr21382.patch

commit 096c92ddb3a5a959bc638cff3c4ffa0f48a737d7
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Apr 13 21:01:53 2017 -0400

    Fix build breakage on Cygwin (PR gdb/21385)
    
    On gdb/windows-nat.c:windows_create_inferior, ALLARGS needs to be
    declared independently of the host that we're building for.  This
    fixes a build breakage on Cygwin.
    
    2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21385
    	* windows-nat.c (windows_create_inferior): Declare 'allargs'
    	independently of the host, and fix build breakage on Cygwin.

commit 5dc74d659d1c84b8ffdb4fcbf2ef73dc974d8a5b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 14 00:00:35 2017 +0000

    Automatic date update in version.in

commit 0550c9559522c84341edcb334af30bc9bf2df9fb
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 16:15:35 2017 +0100

    Make inferior a class with cdtors, and use new/delete
    
    struct inferior became a non-POD when enum_flags was made a non-POD,
    so we should be allocating/destroying inferiors with new/delete, etc.
    That's what this commit does.
    
    Note: this commit makes all boolean fields of inferior be "bool",
    except the "detaching" field.  That'll require more work, so I split
    it to a separate patch.
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* inferior.c (free_inferior): Convert to ...
    	(inferior::~inferior): ... this dtor.
    	(inferior::inferior): New ctor, factored out from ...
    	(add_inferior_silent): ... here.  Allocate the inferior with a new
    	expression.
    	(delete_inferior): Call delete instead of free_inferior.
    	* inferior.h (gdb_environ, continuation): Forward declare.
    	(inferior): Now a class.  Add in-class initialization to all
    	members.  Make boolean fields bool, except 'detaching'.
    	(inferior::inferior): New explicit ctor.
    	(inferior::~inferior): New.

commit e3d60dfc000a29959c78bd69b85100aab33f7ab5
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 16:15:34 2017 +0100

    GC inferior.c:init_inferior_list
    
    Not used anywhere.  This was actually never used.  It came in because
    I originally created inferior.c by copying thread.c, and doing
    s/thread/inferior/g, and missed that nothing needs this.  :-)
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* inferior.c (init_inferior_list): Delete.
    	* inferior.h (init_inferior_list): Delete.

commit 5fd69d0ab2c42d2be0781bf3a5d60e1d5b8d05dc
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 16:15:34 2017 +0100

    Improve coverage of the PR threads/13217 regression test
    
    - Make sure we end up with no thread selected after the detach.
    
    - Test both "thread apply all" and "thread apply $some_threads", for
      completeness.
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	PR threads/13217
    	* gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
    	(top level): Call it twice, with different thread sets.

commit c6609450b33960a0e9f8c1df045b02f0677e866a
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 16:15:34 2017 +0100

    C++fy thread_apply_all_command
    
    This eliminates a couple cleanups.
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* thread.c: Include <algorithm>.
    	(thread_array_cleanup): Delete.
    	(scoped_inc_dec_ref): New class.
    	(live_threads_count): New function.
    	(set_thread_refcount): Delete.
    	(tp_array_compar_ascending): Now a bool.
    	(tp_array_compar): Convert to a std::sort comparison function.
    	(thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
    	and live_threads_count.

commit 2a00d7ce26a6ee15e3712b045c8b7932278ea23b
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 16:15:34 2017 +0100

    Fix follow-fork latent bug
    
    A later patch in the series adds an assertion to switch_to_thread that
    the resulting inferior_ptid always matches the "current_inferior()"
    inferior.  This exposed a latent bug in the follow-fork code, where
    we're building the fork child inferior.  We're switching
    inferior_ptid, but not the current inferior object...
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* infrun.c (follow_fork_inferior): Also switch the current
    	inferior.

commit 441d7c93782a1b1877bfa903dc8da56a6041bfb4
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 16:15:34 2017 +0100

    watch_command_1: Fix dangling frame access
    
    While working on some changes to switch_to_thread, I inadvertently
    make switch_to_thread call reinit_frame_cache more frequently, even
    when the thread didn't change.  This exposed a latent bug in
    watch_command_1, where we're referencing a frame after
    creating/inserting breakpoints, which potentially calls
    reinit_frame_cache if it needs to install breakpoints with a different
    thread selected.
    
    Handle this similarly to how it's already handled in other similar
    cases.  I.e., save any frame-related information we might need before
    creating a breakpoint.
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.c (watch_command_1): Save watchpoint-frame info
    	before calling create_internal_breakpoint.

commit 7296a62a2a237f6b1ad8db8c38b090e9f592c8cf
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Apr 13 16:06:30 2017 +0100

    readelf: fix out of range subtraction, seg fault from a NULL pointer and memory exhaustion, all from parsing corrupt binaries.
    
    	PR binutils/21379
    	* readelf.c (process_dynamic_section): Detect over large section
    	offsets in the DT_SYMTAB entry.
    
    	PR binutils/21345
    	* readelf.c (process_mips_specific): Catch an unfeasible memory
    	allocation before it happens and print a suitable error message.

commit 1d15e434f43bc41a07bc7b0648fcb7e6ccbe8dcc
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Apr 13 14:50:56 2017 +0100

    Add note merging to strip and add code to merge stack size notes.
    
    	* objcopy.c: Add --no-merge-notes option to disable note merging.
    	Add --[no-]merge-notes option to strip, and enable it by default.
    	(num_bytes): New function.
    	(merge_gnu_build_notes): Add code to merge stack size notes.
    	* binutils.texi: Update strip and objcopy documentation.
    	* readelf.c (print_gnu_build_attribute_name): Use defined
    	constants for note types.

commit 4274208406762da7af6dd697f44d8e6895061530
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 13 10:33:53 2017 +0930

    Regen cgen files
    
    	* epiphany-desc.c: Regenerate.
    	* fr30-desc.c: Regenerate.
    	* frv-desc.c: Regenerate.
    	* ip2k-desc.c: Regenerate.
    	* iq2000-desc.c: Regenerate.
    	* lm32-desc.c: Regenerate.
    	* m32c-desc.c: Regenerate.
    	* m32r-desc.c: Regenerate.
    	* mep-desc.c: Regenerate.
    	* mt-desc.c: Regenerate.
    	* or1k-desc.c: Regenerate.
    	* xc16x-desc.c: Regenerate.
    	* xstormy16-desc.c: Regenerate.

commit 808480f667e41e2fdb66bfdc9d5e047f1aa34a68
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 11:46:07 2017 +0100

    fork-child.c: Avoid unnecessary heap-allocation / string copying
    
    The previous change to fork-child.c converted the argv building from
    an alloca-allocated array of non-owning arg pointers, to a std::vector
    of owning pointers, which results in N string dups, with N being the
    number of arguments in the vector, and then requires manually
    releasing the pointers owned by the vector.
    
    This patch makes the vector hold non-owning pointers, and avoids the
    string dups, by doing one single string copy of the arguments upfront,
    and replacing separators with NULL terminators in place, like we used
    to.  All the logic to do that is encapsulated in a new class.
    
    With this, there's no need to remember to manually release the argv
    elements with free_vector_argv either.
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* fork-child.c (execv_argv): New class.
    	(breakup_args): Refactored as ...
    	(execv_argv::init_for_no_shell): .. this method of execv_argv.
    	Copy arguments to storage and replace separators with NULL
    	terminators in place.
    	(escape_bang_in_quoted_argument): Adjust to return bool.
    	(execv_argv::execv_argv): New ctor.
    	(execv_argv::init_for_shell): New method, factored out from
    	fork_inferior.  Don't strdup strings into the vector.
    	(fork_inferior): Eliminate "shell" local and use execv_argv.  Use
    	Remove free_vector_argv call.

commit 8f0dd45fde9de100160f45cad3e537e4e01a5493
Author: Andrew Jenner <andrew@codesourcery.com>
Date:   Thu Apr 13 02:34:19 2017 -0700

    	* config.sub: Sync with master version in config project.

commit b1b45502bdef95b57125b56287b45c2eb26707d3
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Thu Apr 13 10:39:13 2017 +0200

    Add ChangeLog entries
    
    ChangeLog entries were left unstaged in my previous commit on March 30th.

commit 63a5468afa8e2cf8843d87b99e780e9266b31014
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 13 13:24:18 2017 +0930

    Wrap long lines
    
    Not a comprehensive change, just some split out from fixes made for
    the %A and %B changes.
    
    	* coffcode.h: Wrap some overly long _bfd_error_handler args.
    	* elf.c: Likewise.
    	* elf32-arm.c: Likewise.
    	* elf32-i386.c: Likewise.
    	* elf32-mep.c: Likewise.
    	* elf64-ia64-vms.c: Likewise.
    	* elf64-x86-64.c: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* elfxx-mips.c: Likewise.

commit dae82561a286618acf097ad9894eafba98377f66
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 13 13:20:15 2017 +0930

    Use %A and %B in more error messages
    
    	* aoutx.h: Use %B and %A in error messages throughout file.
    	* aout-cris.c: Likewise.
    	* archive.c: Likewise.
    	* binary.c: Likewise.
    	* coff-rs6000.c: Likewise.
    	* coff-tic4x.c: Likewise.
    	* coffcode.h: Likewise.
    	* coffgen.c: Likewise.
    	* cofflink.c: Likewise.
    	* coffswap.h: Likewise.
    	* cpu-arm.c: Likewise.
    	* elf-eh-frame.c: Likewise.
    	* elf-m10300.c: Likewise.
    	* elf.c: Likewise.
    	* elf32-arc.c: Likewise.
    	* elf32-arm.c: Likewise.
    	* elf32-bfin.c: Likewise.
    	* elf32-frv.c: Likewise.
    	* elf32-iq2000.c: Likewise.
    	* elf32-m32c.c: Likewise.
    	* elf32-microblaze.c: Likewise.
    	* elf32-nds32.c: Likewise.
    	* elf32-rl78.c: Likewise.
    	* elf32-rx.c: Likewise.
    	* elf32-score.c: Likewise.
    	* elf32-score7.c: Likewise.
    	* elf32-sh64.c: Likewise.
    	* elf32-v850.c: Likewise.
    	* elf32-vax.c: Likewise.
    	* elf32-visium.c: Likewise.
    	* elf64-ia64-vms.c: Likewise.
    	* elf64-mmix.c: Likewise.
    	* elf64-sh64.c: Likewise.
    	* elfcode.h: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* elfxx-mips.c: Likewise.
    	* hpux-core.c: Likewise.
    	* ieee.c: Likewise.
    	* ihex.c: Likewise.
    	* linker.c: Likewise.
    	* merge.c: Likewise.
    	* mmo.c: Likewise.
    	* oasys.c: Likewise.
    	* pdp11.c: Likewise.
    	* peXXigen.c: Likewise.
    	* rs6000-core.c: Likewise.
    	* vms-alpha.c: Likewise.
    	* xcofflink.c: Likewise.

commit c08bb8dd9bd9fd101018b287726187d7ed6a0035
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 13 10:58:40 2017 +0930

    Rewrite bfd error handler
    
    This steals _doprnt from libiberty, extended to handle %A and %B.
    Which lets us do away with the current horrible %A and %B handling
    that requires all %A and %B arguments to be passed first, rather than
    in the natural order.
    
    	* bfd.c (PRINT_TYPE): Define.
    	(_doprnt): New function.
    	(error_handler_internal): Use _doprnt.
    	* coff-arm.c: Put %A and %B arguments to _bfd_error_handler
    	calls in their natural order, throughout file.
    	* coff-mcore.c: Likewise.
    	* coff-ppc.c: Likewise.
    	* coff-tic80.c: Likewise.
    	* cofflink.c: Likewise.
    	* elf-s390-common.c: Likewise.
    	* elf.c: Likewise.
    	* elf32-arm.c: Likewise.
    	* elf32-i386.c: Likewise.
    	* elf32-m32r.c: Likewise.
    	* elf32-msp430.c: Likewise.
    	* elf32-spu.c: Likewise.
    	* elf64-ia64-vms.c: Likewise.
    	* elf64-sparc.c: Likewise.
    	* elf64-x86-64.c: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* elfxx-mips.c: Likewise.

commit 10463f39c79843c2c141481a0781091870695b17
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 13 10:44:20 2017 +0930

    Missing _bfd_error_handler args
    
    	* elf32-arm.c (arm_type_of_stub): Supply missing args to "long
    	branch veneers" error.  Fix double space and format message.
    	* elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
    	* elf64-ppc.c (tocsave_find): Supply missing %B arg.

commit 4af8774e1559b2a4e098ca0e4fc5daf857c633c1
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Apr 13 10:33:11 2017 +0930

    Regen bfd-in2.h
    
    	* bfd-in2.h: Regenerate.

commit ad3d022a77afdbaba4bb36ff4aa99be52892de42
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Apr 13 08:29:44 2017 +0100

    Fix a typo in rx_fpsw_type
    
    gdb:
    
    2017-04-13  Yao Qi  <yao.qi@linaro.org>
    
    	* rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
    	tdep->rx_psw_type.

commit e6ddc3bfedb4665c9d4baa2c85037af25167cdf3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Apr 13 08:29:43 2017 +0100

    XCNEW gdbarch_tdep in rl78 and rx
    
    "struct gdbarch_tdep" is XNEW'ed in rl78 and rx, so the memory is not
    cleared.  As the result, tdep->rl78_psw_type is never initialized
    properly.
    
      struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
    
      if (tdep->rl78_psw_type == NULL)
        {
          tdep->rl78_psw_type = arch_flags_type (gdbarch,
    					     "builtin_type_rl78_psw", 1);
    
    The bug is found by my unit test in the following patch.
    
    gdb:
    
    2017-04-13  Yao Qi  <yao.qi@linaro.org>
    
    	* rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
    	* rx-tdep.c (rx_gdbarch_init): Likewise.

commit bfb8cf9091a174b42beeff3d014173084413af4d
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 03:07:21 2017 +0100

    struct breakpoint: Fix indentation
    
    I'm going to need to touch all these fields to add in-class
    initialization anyway, might as well take the opportunity to finally
    fix this...
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.h (struct breakpoint): Reindent.

commit f5336ca55ca0aca2507ac8c0f1d573d7f6b877ab
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Apr 13 02:12:53 2017 +0100

    breakpoint.c: bp_location (the array) shadows bp_location (the type)
    
    The bp_location array has the same name as the "struct bp_location",
    type preventing refering to the structure without the "struct" inside
    breakpoint.c.  I.e., we must write:
    
     "new struct bp_location;"
    
    instead of:
    
     "new bp_location"
    
    Rename the array and the associated variables/functions to avoid the
    shadowing.
    
    gdb/ChangeLog:
    2017-04-13  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.c (bp_location): Rename to ...
    	(bp_locations): ... this.  All references updated.
    	(bp_location_count): Rename to ...
    	(bp_locations_count): ... this.  All references updated.
    	(bp_location_placed_address_before_address_max): Rename to ...
    	(bp_locations_placed_address_before_address_max): ... this.  All
    	references updated.
    	(bp_location_shadow_len_after_address_max): Rename to ...
    	(bp_locations_shadow_len_after_address_max): ... this.  All
    	references updated.
    	(bp_location_compare_addrs): Rename to ...
    	(bp_locations_compare_addrs): ... this.  All references updated.
    	(bp_location_compare):Rename to ...
    	(bp_locations_compare): ... this.  All references updated.
    	(bp_location_target_extensions_update): Rename to ...
    	(bp_locations_target_extensions_update): ... this.  All references
    	updated.

commit 4f70a994900c2f7b235add7d4131cc069c181cea
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 13 00:00:38 2017 +0000

    Automatic date update in version.in

commit be628ab814f1c90e185d7482d27aa8a991ab5837
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Apr 11 21:05:12 2017 -0400

    Create gdb_termios.h (and cleanup gdb/{,gdbserver/}terminal.h)
    
    As requested, I'm sending this as a separate patch because it is ready
    to be included as-is.
    
    The idea here is that both gdb/terminal.h and gdb/gdbserver/terminal.h
    share the same code, which is responsible for setting a bunch of
    defines on based on the presence of termios.h and a few other headers.
    This simple patch just moves this common code to common/gdb_termios.h
    and makes the necessary adjustments on both GDB and gdbserver so that
    they can use this new header.  It also implements the some header
    checks on common/common.m4.
    
    As a bonus, gdb/gdbserver/terminal.h can be removed because it's now
    empty.
    
    Built on x86_64, no regressions found.
    
    gdb/ChangeLog:
    2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
    	* common/common.m4: Check headers 'termios.h', 'termio.h' and
    	'sgtty.h'.
    	* common/gdb_termios.h: New file, with parts of "terminal.h".
    	* inflow.c: Include "gdb_termios.h".
    	* ser-unix.c: Include "gdb_termios.h".
    	* terminal.h: Move terminal-related defines to
    	"common/gdb_termios.h".
    
    gdb/gdbserver/ChangeLog:
    2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* remote-utils.c: Include "gdb_termios.h" instead of
    	"terminal.h".
    	* terminal.h: Delete file.

commit 8e9e35b1808481735e2d1efbf70ed7396a845d8e
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Apr 10 15:53:22 2017 -0600

    Change linespec_result::location to be an event_location_up
    
    This is a follow-up to another patch.  It changes
    linespec_result::location to be an event_location_up.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* probe.c (parse_probes): Update.
    	* location.h (delete_event_location): Don't declare.
    	(event_location_deleter::operator()): Update.
    	* location.c (event_location_deleter::operator()): Rename from
    	delete_event_location.
    	* linespec.h (linespec_result) <location>: Change type to
    	event_location_up.
    	* linespec.c (canonicalize_linespec, event_location_to_sals)
    	(decode_objc): Update.
    	(linespec_result): Don't call delete_event_location.
    	* breakpoint.c (create_breakpoints_sal)
    	(bkpt_probe_create_sals_from_location)
    	(strace_marker_create_sals_from_location): Update.

commit 16e802b9c085ce354b1ab9e2fd25d00bf7626fa8
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Apr 10 15:47:21 2017 -0600

    Add a constructor and destructor to linespec_result
    
    linespec_result is only ever allocated on the stack, so it's
    relatively easy to convert to having a constructor and a destructor.
    This patch makes this change.  This removes some cleanups.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* linespec.h (struct linespec_result): Add constructor and
    	destructor.
    	(init_linespec_result, destroy_linespec_result)
    	(make_cleanup_destroy_linespec_result): Don't declare.
    	* linespec.c (init_linespec_result): Remove.
    	(linespec_result::~linespec_result): Rename from
    	destroy_linespec_result.  Update.
    	(cleanup_linespec_result, make_cleanup_destroy_linespec_result):
    	Remove.
    	* breakpoint.c (create_breakpoint, break_range_command)
    	(decode_location_default): Update.
    	* ax-gdb.c (agent_command_1): Update.

commit d28cd78ad820e3a40ac5064b6a30f3a12ce70bf0
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Apr 10 15:41:25 2017 -0600

    Change breakpoint event locations to event_location_up
    
    This is a follow-up to an earlier patch.  It changes breakpoint's
    location and location_range_end members to be of type
    event_location_up, then fixes up the users.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* remote.c (remote_download_tracepoint): Update.
    	* python/py-breakpoint.c (bppy_get_location): Update.
    	* guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
    	(gdbscm_breakpoint_location): Update.
    	* elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
    	* breakpoint.h (struct breakpoint) <location, location_range_end>:
    	Change type to event_location_up.
    	* breakpoint.c (create_overlay_event_breakpoint)
    	(create_longjmp_master_breakpoint)
    	(create_std_terminate_master_breakpoint)
    	(create_exception_master_breakpoint)
    	(breakpoint_event_location_empty_p, print_breakpoint_location)
    	(print_one_breakpoint_location, create_thread_event_breakpoint)
    	(init_breakpoint_sal, create_breakpoint)
    	(print_recreate_ranged_breakpoint, break_range_command)
    	(init_ada_exception_breakpoint, say_where): Update.
    	(base_breakpoint_dtor): Don't call delete_event_location.
    	(bkpt_print_recreate, tracepoint_print_recreate)
    	(dprintf_print_recreate, update_static_tracepoint)
    	(breakpoint_re_set_default): Update.

commit 711799d513206f6d8fc3dbfa81dcdecdb2ce6ece
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Apr 7 16:05:42 2017 -0600

    Use std::vector in compile-loc2c.c
    
    This changes compile-loc2c.c to use std::vector in place of a VEC,
    allowing the removal of a cleanup.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* compile/compile-loc2c.c (compute_stack_depth_worker): Change
    	type of "to_do".  Update.
    	(compute_stack_depth): Use std::vector.

commit 52d214d3e1b2f6a1382feafbf2984acdb24c0c95
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Apr 7 16:01:10 2017 -0600

    Use std::vector in find_instruction_backward
    
    This changes find_instruction_backward to use std::vector, removing a
    cleanup.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* printcmd.c (find_instruction_backward): Use std::vector.

commit 4c404b8be6b1d8759eed50366207fc0e2e47d2b1
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Apr 7 15:58:25 2017 -0600

    Use std::vector in reread_symbols
    
    This changes reread_symbols to use std::vector, removing a cleanup.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* symfile.c (objfilep): Remove typedef.
    	(reread_symbols): Use a std::vector.

commit 156d9eab863f40fc812245cf1213abbe12d192b3
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Apr 7 15:37:25 2017 -0600

    Use scoped_restore in more places
    
    This changes a few more places to use scoped_restore, allowing some
    cleanup removals.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-main.c (exec_direction_forward): Remove.
    	(exec_reverse_continue, mi_execute_command): Use scoped_restore.
    	* guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
    	scoped_restore.
    	* guile/guile.c (guile_repl_command, guile_command)
    	(gdbscm_execute_gdb_command): Use scoped_restore.
    	* go-exp.y (go_parse): Use scoped_restore.
    	* d-exp.y (d_parse): Use scoped_restore.
    	* cli/cli-decode.c (cmd_func): Use scoped_restore.
    	* c-exp.y (c_parse): Use scoped_restore.

commit 4d89769a7b4e38e94a6e027281b36eff71fc8214
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Apr 7 15:34:02 2017 -0600

    C++ify mi_parse
    
    This changes mi_parse to return a unique_ptr, and to use "new"; then
    fixes up the users.  This allows removing one cleanup.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
    	(mi_parse): Update return type.
    	(mi_parse_free): Remove.
    	* mi/mi-parse.c (mi_parse::mi_parse): New constructor.
    	(mi_parse::~mi_parse): Rename from mi_parse_free.
    	(mi_parse_cleanup): Remove.
    	(mi_parse): Return a unique_ptr.  Use new.
    	* mi/mi-main.c (mi_execute_command): Update.

commit 4b217cc72b7ab04e2bea519f9fbd47d8952e08f5
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 23:26:14 2017 -0600

    Remove some cleanups from location.c
    
    This removes some more cleanups from location.c by using
    unique_xmalloc_ptr.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* location.c (explicit_location_lex_one): Return a
    	unique_xmalloc_ptr.
    	(string_to_explicit_location): Update.  Remove cleanups.

commit 59d3651be7419fafa959f75a3fd46914f5ce395a
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 22:48:27 2017 -0600

    Remove some cleanups from gnu-v3-abi.c
    
    This removes some cleanups from gnu-v3-abi.c, by using std::vector
    rather than VEC.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
    	(compare_value_and_voffset): Change type.  Update.
    	(compute_vtable_size): Change type of "offset_vec".
    	(gnuv3_print_vtable): Use std::vector.  Remove cleanups.
    	(gnuv3_get_typeid): Remove extraneous declaration.

commit b24b0d6c3be6b95d4b5e8da901e1ef315bd458b4
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 21:07:00 2017 -0600

    Fix up wchar_iterator comment
    
    This fixes up a comment in charset.h that has been obsolete for a
    while.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* charset.h (wchar_iterator): Fix comment.

commit 80a3b8c578e93119183db5f5e34248f843e410a7
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 20:50:38 2017 -0600

    Remove cleanup_iconv
    
    This introduces a new "iconv_wrapper" class, to be used in
    convert_between_encodings.  This allows the removal of cleanup_iconv.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* charset.c (iconv_wrapper): New class.
    	(cleanup_iconv): Remove.
    	(convert_between_encodings): Use it.

commit c83dd8672698bcdf48d27e267e481230075f5900
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 20:27:10 2017 -0600

    Change increment_reading_symtab to return a scoped_restore
    
    This changes increment_reading_symtab to return a scoped_restore, then
    fixes up the users.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* symfile.h (increment_reading_symtab): Update type.
    	* symfile.c (decrement_reading_symtab): Remove.
    	(increment_reading_symtab): Return a scoped_restore_tmpl<int>.
    	* psymtab.c (psymtab_to_symtab): Update.
    	* dwarf2read.c (dw2_instantiate_symtab): Update.

commit 0e8621a0bec2d0840b853c4104614f345f0569ca
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 20:09:42 2017 -0600

    Introduce gdb_dlhandle_up
    
    This introduces gdb_dlhandle_up, a unique_ptr that can close a
    dlopen'd library.  All the functions working with dlopen handles are
    updated to use this new type.
    
    I did not try to build this on Windows.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* jit.c (struct jit_reader): Declare separately.  Add constructor
    	and destructor.  Change type of "handle".
    	(loaded_jit_reader): Define separately.
    	(jit_reader_load): Update.  New "new".
    	(jit_reader_unload_command): Use "delete".
    	* gdb-dlfcn.h (struct dlclose_deleter): New.
    	(gdb_dlhandle_up): New typedef.
    	(gdb_dlopen, gdb_dlsym): Update types.
    	(gdb_dlclose): Remove.
    	* gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
    	(gdb_dlsym): Change type of "handle".
    	(make_cleanup_dlclose): Remove.
    	(dlclose_deleter::operator()): Rename from gdb_dlclose.
    	* compile/compile-c-support.c (load_libcc): Update.

commit 67d89901506da74d00a482b7560237dce404b41c
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Apr 6 16:38:56 2017 -0600

    Change find_pcs_for_symtab_line to return a std::vector
    
    This changes find_pcs_for_symtab_line to return a std::vector.  This
    allows the removal of some cleanups.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* symtab.h (find_pcs_for_symtab_line): Change return type.
    	* symtab.c (find_pcs_for_symtab_line): Change return type.
    	* python/py-linetable.c (build_line_table_tuple_from_pcs): Change
    	type of "vec".  Update.
    	(ltpy_get_pcs_for_line): Update.
    	* linespec.c (decode_digits_ordinary): Update.

commit 93921405a46c0a58eae19fffb92e02416082801a
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 5 21:14:09 2017 -0600

    Introduce command_line_up
    
    This introduces command_line_up, a unique_ptr for command_line
    objects, and changes many places to use it.  This removes a number of
    cleanups.
    
    Command lines are funny in that sometimes they are reference counted.
    Once there is more C++-ification of some of the users, perhaps all of
    these can be changed to use shared_ptr instead.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* tracepoint.c (actions_command): Update.
    	* python/python.c (python_command, python_interactive_command):
    	Update.
    	* mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
    	* guile/guile.c (guile_command): Update.
    	* defs.h (read_command_lines, read_command_lines_1): Return
    	command_line_up.
    	(command_lines_deleter): New struct.
    	(command_line_up): New typedef.
    	* compile/compile.c (compile_code_command)
    	(compile_print_command): Update.
    	* cli/cli-script.h (get_command_line, copy_command_lines): Return
    	command_line_up.
    	(make_cleanup_free_command_lines): Remove.
    	* cli/cli-script.c (get_command_line, read_command_lines_1)
    	(copy_command_lines): Return command_line_up.
    	(while_command, if_command, read_command_lines, define_command)
    	(document_command): Update.
    	(do_free_command_lines_cleanup, make_cleanup_free_command_lines):
    	Remove.
    	* breakpoint.h (breakpoint_set_commands): Change type of
    	"commands".
    	* breakpoint.c (breakpoint_set_commands): Change type of
    	"commands".  Update.
    	(do_map_commands_command, update_dprintf_command_list)
    	(create_tracepoint_from_upload): Update.

commit ffc2605c41d026cf5710704848b7c3b1cdbdcf49
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 5 20:44:01 2017 -0600

    Introduce event_location_up
    
    This removes make_cleanup_delete_event_location and instead changes
    the various location functions to return an event_location_up, a new
    unique_ptr typedef.
    
    This is largely straightforward, but be sure to examine the
    init_breakpoint_sal change.  I believe the code I deleted there is
    dead, because "location != NULL" can never be true in that branch; but
    you should double-check.
    
    gdb/ChangeLog
    2017-04-12  Tom Tromey  <tom@tromey.com>
    
    	* tracepoint.c (scope_info): Update.
    	* spu-tdep.c (spu_catch_start): Update.
    	* python/python.c (gdbpy_decode_line): Update.
    	* python/py-finishbreakpoint.c (bpfinishpy_init): Update.
    	* python/py-breakpoint.c (bppy_init): Update.
    	* probe.c (parse_probes): Update.
    	* mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
    	* location.h (event_location_deleter): New struct.
    	(event_location_up): New typedef.
    	(new_linespec_location, new_address_location, new_probe_location)
    	(new_explicit_location, copy_event_location)
    	(string_to_event_location, string_to_event_location_basic)
    	(string_to_explicit_location): Update return type.
    	(make_cleanup_delete_event_location): Remove.
    	* location.c (new_linespec_location, new_address_location)
    	(new_probe_location, new_explicit_location, copy_event_location):
    	Return event_location_up.
    	(delete_event_location_cleanup)
    	(make_cleanup_delete_event_location): Remove.
    	(string_to_explicit_location, string_to_event_location_basic)
    	(string_to_event_location): Return event_location_up.
    	* linespec.c (canonicalize_linespec, event_location_to_sals)
    	(decode_line_with_current_source)
    	(decode_line_with_last_displayed, decode_objc): Update.
    	* guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
    	* completer.c (location_completer): Update.
    	* cli/cli-cmds.c (edit_command, list_command): Update.
    	* breakpoint.c (create_overlay_event_breakpoint)
    	(create_longjmp_master_breakpoint)
    	(create_std_terminate_master_breakpoint)
    	(create_exception_master_breakpoint)
    	(create_thread_event_breakpoint): Update.
    	(init_breakpoint_sal): Update.  Remove some dead code.
    	(create_breakpoint_sal): Change type of "location".  Update.
    	(create_breakpoints_sal, create_breakpoint, break_command_1)
    	(dprintf_command, break_range_command, until_break_command)
    	(init_ada_exception_breakpoint)
    	(strace_marker_create_sals_from_location)
    	(update_static_tracepoint, trace_command, ftrace_command)
    	(strace_command, create_tracepoint_from_upload): Update.
    	* break-catch-throw.c (re_set_exception_catchpoint): Update.
    	* ax-gdb.c (agent_command_1): Update.

commit 8f10c9323357ad190c0383f2fc9d394316447905
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 12 16:00:04 2017 +0100

    gdb: Move DJGPP/go32 bits to their own tdep file
    
    I posit that this makes them easier to find.
    
    The other day while working on the wchar_t patch, I had a bit of
    trouble finding the DJGPP/go32 tdep bits.  My initial reaction was
    looking for a go32-specific tdep file, but there's none.
    
    Confirmed that a --host=i586-pc-msdosdjgpp GDB still builds
    successfully and includes the  i386-go32-tdep.o object.
    
    Confirmed that an --enable-targets=all build of GDB on x86-64
    GNU/Linux includes the DJGPP/go32 bits too.
    
    gdb/ChangeLog:
    2017-04-12  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
    	* configure.tgt: Handle i[34567]86-*-go32* and
    	i[34567]86-*-msdosdjgpp*.
    	* i386-tdep.c (i386_svr4_reg_to_regnum):
    	Make extern.
    	(i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
    	i386-go32-tdep.c.
    	(_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
    	* i386-go32-tdep.c: New file.
    	* i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
    	declarations.

commit 0a31ccfbd84660a91b133a9915e6f63c30033189
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Apr 12 10:46:13 2017 -0400

    Fix build error in aix-thread.c
    
    Obvious fix for:
    
    aix-thread.c: In function 'char* pd_status2str(int)':
    aix-thread.c:163:33: error: deprecated conversion from string constant to 'char*' [-Werror=write-strings]
         case PTHDB_SUCCESS:  return "SUCCESS";
                                     ^
    gdb/ChangeLog:
    
    	* aix-thread.c (pd_status2str): Change return type to const char *.

commit e9bb3fbbe81115b196b436cf513f0fd7b41d6a4a
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Mar 31 13:41:45 2017 +0100

    Remove unnecessary set_gdbarch_gnu_triplet_regexp calls
    
    i386_gdbarch_init already does this unconditionally for all x86 ports.
    
    Tested on x86-64 Fedora 23.
    
    gdb/ChangeLog:
    2017-04-12  Pedro Alves  <palves@redhat.com>
    
    	* i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
    	calls to set_gdbarch_gnu_triplet_regexp.

commit 53375380e934928af133bca69c1e1912c35e9c73
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 12 14:00:49 2017 +0100

    Teach GDB that wchar_t is a built-in type in C++ mode
    
    GDB is currently not aware that wchar_t is a built-in type in C++
    mode.  This is usually not a problem because the debug info describes
    the type, so when you have a program loaded, you don't notice this.
    However, if you try expressions involving wchar_t before a program is
    loaded, gdb errors out:
    
     (gdb) p (wchar_t)-1
     No symbol table is loaded.  Use the "file" command.
     (gdb) p L"hello"
     No type named wchar_t.
     (gdb) ptype L"hello"
     No type named wchar_t.
    
    This commit teaches gdb about the type.  After:
    
     (gdb) p (wchar_t)-1
     $1 = -1 L'\xffffffff'
     (gdb) p L"hello"
     $2 = L"hello"
     (gdb) ptype L"hello"
     type = wchar_t [6]
    
    Unlike char16_t/char32_t, unfortunately, the underlying type of
    wchar_t is implementation dependent, both size and signness.  So this
    requires adding a couple new gdbarch hooks.
    
    I grepped the GCC code base for WCHAR_TYPE and WCHAR_TYPE_SIZE, and it
    seems to me that the majority of the ABIs have a 4-byte signed
    wchar_t, so that's what I made the default for GDB too.  And then I
    looked for which ports have a 16-bit and/or unsigned wchar_t, and made
    GDB follow suit.
    
    gdb/ChangeLog:
    2017-04-12  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/21323
    	* c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
    	New enum value.
    	(cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
    	* gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
    	* gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
    	* gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
    	* gdbarch.h, gdbarch.c: Regenerate.
    	* aarch64-tdep.c (aarch64_gdbarch_init): Override
    	gdbarch_wchar_bit and gdbarch_wchar_signed.
    	* alpha-tdep.c (alpha_gdbarch_init): Likewise.
    	* arm-tdep.c (arm_gdbarch_init): Likewise.
    	* avr-tdep.c (avr_gdbarch_init): Likewise.
    	* h8300-tdep.c (h8300_gdbarch_init): Likewise.
    	* i386-nto-tdep.c (i386nto_init_abi): Likewise.
    	* i386-tdep.c (i386_go32_init_abi): Likewise.
    	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
    	* moxie-tdep.c (moxie_gdbarch_init): Likewise.
    	* nds32-tdep.c (nds32_gdbarch_init): Likewise.
    	* rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
    	* sh-tdep.c (sh_gdbarch_init): Likewise.
    	* sparc-tdep.c (sparc32_gdbarch_init): Likewise.
    	* sparc64-tdep.c (sparc64_init_abi): Likewise.
    	* windows-tdep.c (windows_init_abi): Likewise.
    	* xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
    
    gdb/testsuite/ChangeLog:
    2017-04-12  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/21323
    	* gdb.cp/wide_char_types.c: Include <wchar.h>.
    	(wchar): New global.
    	* gdb.cp/wide_char_types.exp (wide_char_types_program)
    	(do_test_wide_char, wide_char_types_no_program, top level): Add
    	wchar_t testing.

commit 53e710acd249e1861029b19b7a3d8195e7f28929
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 12 14:00:49 2017 +0100

    Fix PR c++/21323: GDB thinks char16_t and char32_t are signed in C++
    
    While the C++ standard says that char16_t and char32_t are unsigned types:
    
     Types char16_t and char32_t denote distinct types with the same size,
     signedness, and alignment as uint_least16_t and uint_least32_t,
     respectively, in <cstdint>, called the underlying types.
    
    ... gdb treats them as signed currently:
    
     (gdb) p (char16_t)-1
     $1 = -1 u'\xffff'
    
    There are actually two places in gdb that hardcode these types:
    
    - gdbtypes.c:gdbtypes_post_init, when creating the built-in types,
      seemingly used by the "x /s" command (judging from commit 9a22f0d0).
    
    - dwarf2read.c, when reading base types with DW_ATE_UTF encoding
      (which is what is used for these types, when compiling for C++11 and
      up).  Despite the comment, the type created does end up used.
    
    Both places need fixing.  But since I couldn't tell why dwarf2read.c
    needs to create a new type, I've made it use the per-arch built-in
    types instead, so that the types are only created once per arch
    instead of once per objfile.  That seems to work fine.
    
    While writting the test, I noticed that the C++ language parser isn't
    actually aware of these built-in types, so if you try to use them
    without a program that uses them, you get:
    
     (gdb) set language c++
     (gdb) ptype char16_t
     No symbol table is loaded.  Use the "file" command.
     (gdb) ptype u"hello"
     No type named char16_t.
     (gdb) p u"hello"
     No type named char16_t.
    
    That's fixed by simply adding a couple entries to C++'s built-in types
    array in c-lang.c.  With that, we get the expected:
    
     (gdb) ptype char16_t
     type = char16_t
     (gdb) ptype u"hello"
     type = char16_t [6]
     (gdb) p u"hello"
     $1 = u"hello"
    
    gdb/ChangeLog:
    2017-04-12  Pedro Alves  <palves@redhat.com>
    
    	PR c++/21323
    	* c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
    	cplus_primitive_type_char32_t>: New enum values.
    	(cplus_language_arch_info): Register cplus_primitive_type_char16_t
    	and cplus_primitive_type_char32_t.
    	* dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
    	32, use the archtecture's built-in type for char16_t and char32_t,
    	respectively.  Otherwise, fallback to init_integer_type as before,
    	but make the type unsigned, and issue a complaint.
    	* gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
    
    gdb/testsuite/ChangeLog:
    2017-04-12  Pedro Alves  <palves@redhat.com>
    
    	PR c++/21323
    	* gdb.cp/wide_char_types.c: New file.
    	* gdb.cp/wide_char_types.exp: New file.

commit 5e0e0422137063ff3846886c8eeb64e98e7669d6
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 12 09:51:04 2017 +0100

    Fix Changelog for ab0538b875c054468aa205d8d36550d1223a3bfd

commit ab0538b875c054468aa205d8d36550d1223a3bfd
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Apr 12 09:19:55 2017 +0100

    Add M32R_ARG_REGISTER_SIZE
    
    gdb/
    	* m32r-tdep.c M32R_ARG_REGISTER_SIZE: Added.
    	(m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.

commit 5430098f1807e084fe4ff5057040d68435f3d8a2
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Apr 12 01:16:50 2017 -0400

    Fix build breakage from last commit (window-nat.c:windows_create_inferior)
    
    Forgot to declare the variable 'toexec' (from
    window-nat.c:windows_create_inferior) as 'const char *', which caused
    a build breakage.
    
    gdb/ChangeLog:
    2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* windows-nat.c (windows_create_inferior): Declare 'toexec' as
    	'const char *'.

commit 7c5ded6a00c4817d56cdf04fbc1969bc33b2a930
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Mar 22 21:54:49 2017 -0400

    C++-fy and prepare for sharing fork_inferior
    
    As a preparation for the next patch, which will move fork_inferior
    from GDB to common/ (and therefore share it with gdbserver), it is
    interesting to convert a few functions to C++.
    
    This patch touches functions related to parsing command-line arguments
    to the inferior (see gdb/fork-child.c:breakup_args), the way the
    arguments are stored on fork_inferior (using std::vector instead of
    char **), and the code responsible for dealing with argv also on
    gdbserver.
    
    I've taken this opportunity and decided to constify a few arguments to
    fork_inferior/create_inferior as well, in order to make the code
    cleaner.  And now, on gdbserver, we're using xstrdup everywhere and
    aren't checking for memory allocation failures anymore, as requested
    by Pedro:
    
      <https://sourceware.org/ml/gdb-patches/2017-03/msg00191.html>
      Message-Id: <025ebdb9-90d9-d54a-c055-57ed2406b812@redhat.com>
    
      Pedro Alves wrote:
    
      > On the "== NULL" check: IIUC, the old NULL check was there to
      > handle strdup returning NULL due to out-of-memory.
      > See NULL checks and comments further above in this function.
      > Now that you're using a std::vector, that doesn't work or make
      > sense any longer, since if push_back fails to allocate space for
      > its internal buffer (with operator new), our operator new replacement
      > (common/new-op.c) calls malloc_failure, which aborts gdbserver.
      >
      > Not sure it makes sense to handle out-of-memory specially in
      > the gdb/rsp-facing functions nowadays (maybe git blame/log/patch
      > submission for that code shows some guidelines).  Maybe (or, probably)
      > it's OK to stop caring about it, but then we should consistently remove
      > left over code, by using xstrdup instead and remove the NULL checks.
    
    IMO this refactoring was very good to increase the readability of the
    code as well, because some parts of the argument handling were
    unnecessarily confusing before.
    
    gdb/ChangeLog:
    2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* common/common-utils.c (free_vector_argv): New function.
    	* common/common-utils.h: Include <vector>.
    	(free_vector_argv): New prototype.
    	* darwin-nat.c (darwin_create_inferior): Rewrite function
    	prototype in order to constify "exec_file" and accept a
    	"std::string" for "allargs".
    	* fork-child.c: Include <vector>.
    	(breakup_args): Rewrite function, using C++.
    	(fork_inferior): Rewrite function header, constify "exec_file_arg"
    	and accept "std::string" for "allargs".  Update the code to
    	calculate "argv" based on "allargs".  Update calls to "exec_fun"
    	and "execvp".
    	* gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
    	order to constify "exec_file" and accept a "std::string" for
    	"allargs".
    	* go32-nat.c (go32_create_inferior): Likewise.
    	* inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
    	* infcmd.c (run_command_1): Constify "exec_file".  Use
    	"std::string" for inferior arguments.
    	* inferior.h (fork_inferior): Update prototype.
    	* linux-nat.c (linux_nat_create_inferior): Rewrite function
    	prototype in order to constify "exec_file" and accept a
    	"std::string" for "allargs".
    	* nto-procfs.c (procfs_create_inferior): Likewise.
    	* procfs.c (procfs_create_inferior): Likewise.
    	* remote-sim.c (gdbsim_create_inferior): Likewise.
    	* remote.c (extended_remote_run): Update code to accept
    	"std::string" as argument.
    	(extended_remote_create_inferior): Rewrite function prototype in
    	order to constify "exec_file" and accept a "std::string" for
    	"allargs".
    	* rs6000-nat.c (super_create_inferior): Likewise.
    	(rs6000_create_inferior): Likewise.
    	* target.h (struct target_ops) <to_create_inferior>: Likewise.
    	* windows-nat.c (windows_create_inferior): Likewise.
    
    gdb/gdbserver/ChangeLog:
    2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* server.c: Include <vector>.
    	<program_argv, wrapper_argv>: Convert to std::vector.
    	(start_inferior): Rewrite function to use C++.
    	(handle_v_run): Likewise.  Update code that calculates the argv
    	based on the vRun packet; use C++.
    	(captured_main): Likewise.

commit ef6a5ae7bd1dd7b528f5cf368d98056603003c35
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 12 00:00:43 2017 +0000

    Automatic date update in version.in

commit e4097f5ee55a0d14a6213bccb9da39d4878714c8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 11 15:41:00 2017 -0700

    Remove the extra `\n' in warning/error messages
    
    	* elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
    	extra `\n' in warning/error messages.
    	* elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
    	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.

commit 537616aaeb44bc698af9848987e7c8e96d550595
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 11 15:07:41 2017 -0700

    Ignore processor-specific GNU program properties
    
    Skip processor-specific GNU program properties with generic ELF target
    vector.  They should be handled by the matching ELF target vector.
    
    	* elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
    	processor-specific properties with generic ELF target vector.

commit ae0eee42821865ead8d391bb4f92bd2c136c6d43
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 11 13:57:52 2017 +0100

    gdb/thread.c: Fix whitespace throughout
    
    gdb/ChangeLog:
    2017-04-11  Pedro Alves  <palves@redhat.com>
    
    	* thread.c: Fix whitespace throughout.

commit a6acac06113f4b04fa0333ee2a3ab3025b43ee7c
Author: Philipp Rudo <prudo@linux.vnet.ibm.com>
Date:   Tue Apr 11 14:28:51 2017 +0100

    Fix read after xfree in linux-nat.c:linux_nat_detach
    
    At the end of linux_nat_detach the main_lwp is deleted (delete_lwp).
    This is problematic as during detach (detach_one_lwp and
    linux_fork_detach) main_lwp already gets freed.  Thus calling
    delete_lwp causes a read after free.  Fix it by removing the
    unnecessary delete_lwp.
    
    gdb/ChangeLog:
    2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
    
    	* linux-nat.c (linux_nat_detach): Remove delete_lwp call.

commit 64403bd1832e10aa8324194968f72bdc5feb5aeb
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Apr 11 13:51:58 2017 +0100

    Remove MAX_REGISTER_SIZE from arm-tdep.c
    
    gdb/
    	* arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE

commit fbea15088db59186960134d11b8bf98070224d6c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Apr 11 19:37:51 2017 +0930

    PR 21274, ld segfaults linking PE DLL
    
    Don't use fixed size buffers for symbol names.
    
    	PR 21274
    	PR 18466
    	* emultempl/pe.em (pe_find_data_imports): Don't use fixed size
    	symbol buffer.  Instead, xmalloc max size needed with space for
    	prefix.  Wrap overlong lines.  Formatting.  Pass symbol buffer
    	copy of name to pe_walk_relocs_of_symbol.
    	(make_inport_fixup): Add "name" param, pass to pe_create_import_fixup.
    	* emultempl/pe.em (pep_find_data_imports): As for pe_find_data_imports.
    	(make_import_fixup): Add "name" param, pass to pep_create_import_fixup.
    	Use bfd_get_signed_* and remove unnecessary casts.  Formatting.
    	* pe-dll.c (pe_walk_relocs_of_symbol): Add "name" param.  Pass to
    	callback.
    	(make_import_fixup_mark): Add "name" param.  Make use of prefix
    	space rather than xmalloc here.
    	(pe_create_import_fixup): Likewise.
    	* pe-dll.h (pe_walk_relocs_of_symbol): Update prototype.
    	(pe_create_import_fixup): Likewise.
    	* pep-dll.h (pep_walk_relocs_of_symbol): Likewise.
    	(pep_create_import_fixup): Likewise.

commit b43c520dba2f909c9bbb3ff5f2657c1c9010939b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 11 00:00:28 2017 +0000

    Automatic date update in version.in

commit c03dc33b606c17231e47f37ae0f00d1c9a6c0506
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Apr 11 07:43:21 2017 +0930

    Reorder PPC_OPCODE_* and set PPC_OPCODE_TMR for e6500
    
    PPC_OPCODE_* renumbered to fill the gaps left by previous patches,
    and reordered chronologically just because.  I kept PPC_OPCODE_TMR
    because presumably it might be used in future APUinfo for e6500.
    
    include/
    	* opcode/ppc.h (PPC_OPCODE_*): Renumber and order chronologically.
    	(PPC_OPCODE_SPE): Comment on this and other bits used for APUinfo.
    opcodes/
    	* ppc-dis.c (ppc_opts): Formatting.  Set PPC_OPCODE_TMR for e6500.
    	* ppc-opc.c (powerpc_opcodes <mftmr, mttmr>): Remove now
    	unnecessary E6500.

commit ef85eab0ec3d7c88ea05047538d11fe704806cd8
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Apr 11 07:40:24 2017 +0930

    Bye bye PPC_OPCODE_HTM and -mhtm
    
    The -mhtm option is fairly useless too.
    
    include/
    	* opcode/ppc.h (PPC_OPCODE_HTM): Delete.
    gas/
    	* config/tc-ppc.c (md_show_usage): Delete mention of -mhtm.
    	* testsuite/gas/ppc/htm.d: Pass -mpower8 and -Mpower8.
    opcodes/
    	* ppc-dis.c (ppc_opts): Remove PPC_OPCODE_HTM and "htm".
    	* ppc-opc.c (PPCHTM): Define as PPC_OPCODE_POWER8.

commit 9570835e5597037bee5042edf822675e715b3caf
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Apr 11 07:36:43 2017 +0930

    Bye Bye PPC_OPCODE_VSX3
    
    This bit is also useless as it can be replaced with PPC_OPCODE_POWER9.
    Defining the VSX2 and VSX3 selection based on cpu bits also lets the
    assembler/disassembler distinguish between the power7 VSX opcodes and
    the power8 ones.  Note that this change means -mvsx now reverts back
    to just adding the power7 VSX insns.
    
    include/
    	* opcode/ppc.h (PPC_OPCODE_VSX3): Delete.
    opcodes/
    	* ppc-dis.c (ppc_opts): Remove PPC_OPCODE_VSX3.
    	* ppc-opc.c (PPCVSX2): Define as PPC_OPCODE_POWER8.
    	(PPCVSX3): Define as PPC_OPCODE_POWER9.

commit 9a85b496ac4e6488d427155c24f87367ab1f6b1b
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Apr 11 07:33:50 2017 +0930

    Bye bye PPC_OPCODE_ALTIVEC2
    
    This bit is worse than useless.  Using it prevents the assembler and
    disassembler distinguishing between opcodes added for power8 and those
    added for power9.
    
    include/
    	* opcode/ppc.h (PPC_OPCODE_ALTIVEC2): Delete.
    opcodes/
    	* ppc-dis.c (ppc_opts): Remove PPC_OPCODE_ALTIVEC2.
    	* ppc-opc.c (PPCVEC2): Define as PPC_OPCODE_POWER8|PPC_OPCODE_E6500.
    	(PPCVEC3): Define as PPC_OPCODE_POWER9.

commit a5bef50fdbfadbc6b8911b458580ee91cbfcdafd
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Mon Apr 10 12:43:44 2017 -0400

    Fix PR gdb/21364: Dead code due to an unreachable condition in osdata.c
    
    Pedro's recent commits enabling -Wwrite-strings has changed a bit the
    logic of info_osdata.  Now, 'type' is always non-NULL, so we have to
    check if it's an empty string instead of NULL.  One of the checks was
    fixed, but there is another that was left behind.  This commit fixes
    it.
    
    gdb/ChangeLog:
    2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21364
    	* osdata.c (info_osdata): Check if 'type' is an empty string
    	instead of NULL.

commit 28d909e539567ab5ecd2bc20680e933869fdf889
Author: John Delsignor <john.delsignore@roguewave.com>
Date:   Mon Apr 10 16:27:05 2017 +0100

    Prevent a bigus warning from readelf about a gdb-index table being too big.
    
    	PR binutils/21319
    	* dwarf.c (display_gdb_index): Correct test for a corrupt address
    	table size.

commit a70f34c01c7f250858bd62df245c241263200f63
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 10 15:56:55 2017 +0100

    Document undocumented linker command line options.
    
    ld 	* ld.texinfo (--strip-discarded): Document.
    	(--embedded-relocs): Document.
    	(--spare-dynamic-tags): Document.
    	(--task-link): Document.

commit 9295a5a95da871bfdeec225a6fc2f52f7655bd1c
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Apr 10 15:54:57 2017 +0100

    thread.c: ptid_equal -> operator==
    
    gdb/ChangeLog:
    2017-04-10  Pedro Alves  <palves@redhat.com>
    
    	* thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
    	(ptid_to_global_thread_id, in_thread_list)
    	(do_captured_list_thread_ids, set_resumed, set_running)
    	(set_executing, set_stop_requested, finish_thread_state)
    	(validate_registers_access, can_access_registers_ptid)
    	(print_thread_info_1, switch_to_thread)
    	(do_restore_current_thread_cleanup)
    	(make_cleanup_restore_current_thread, thread_command)
    	(thread_name_command): Use operator== instead of ptid_equal.

commit 996812e3d43f78b17b6454d2948cd825ec98c63b
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Apr 10 15:18:49 2017 +0100

    GC gdb/thread.c:current_thread_cleanup_chain
    
    Commit 803bdfe43083475c7df3db38dc96f4e20d05457d ("Don't delete
    thread_info if refcount isn't zero") eliminated
    restore_current_thread_ptid_changed, so current_thread_cleanup_chain
    is no longer necessary either.
    
    gdb/ChangeLog:
    2017-04-10  Pedro Alves  <palves@redhat.com>
    
    	* thread.c (struct current_thread_cleanup) <next>: Delete field.
    	(current_thread_cleanup_chain): Delete.
    	(restore_current_thread_cleanup_dtor)
    	(make_cleanup_restore_current_thread): Remove references to
    	current_thread_cleanup_chain.

commit 845b344fd54ba381a826b271dd33682d1f148438
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon Apr 10 15:01:53 2017 +0100

    msp430: Don't use REG_UNKNOWN
    
    gdb/
    	* msp430-tdep.c (msp430_pseudo_register_read): Never return
    	REG_UNKNOWN.

commit 803bdfe43083475c7df3db38dc96f4e20d05457d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Apr 10 14:39:41 2017 +0100

    Don't delete thread_info if refcount isn't zero
    
    I build GDB with asan, and run test case hook-stop.exp, and threadapply.exp,
    I got the following asan error,
    
    =================================================================^M
    ^[[1m^[[31m==2291==ERROR: AddressSanitizer: heap-use-after-free on address 0x6160000999c4 at pc 0x000000826022 bp 0x7ffd28a8ff70 sp 0x7ffd28a8ff60^M
    ^[[1m^[[0m^[[1m^[[34mREAD of size 4 at 0x6160000999c4 thread T0^[[1m^[[0m^M
        #0 0x826021 in release_stop_context_cleanup ../../binutils-gdb/gdb/infrun.c:8203^M
        #1 0x72798a in do_my_cleanups ../../binutils-gdb/gdb/common/cleanups.c:154^M
        #2 0x727a32 in do_cleanups(cleanup*) ../../binutils-gdb/gdb/common/cleanups.c:176^M
        #3 0x826895 in normal_stop() ../../binutils-gdb/gdb/infrun.c:8381^M
        #4 0x815208 in fetch_inferior_event(void*) ../../binutils-gdb/gdb/infrun.c:4011^M
        #5 0x868aca in inferior_event_handler(inferior_event_type, void*) ../../binutils-gdb/gdb/inf-loop.c:44^M
    ....
    ^[[1m^[[32m0x6160000999c4 is located 68 bytes inside of 568-byte region [0x616000099980,0x616000099bb8)^M
    ^[[1m^[[0m^[[1m^[[35mfreed by thread T0 here:^[[1m^[[0m^M
        #0 0x7fb0bc1312ca in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x982ca)^M
        #1 0xb8c62f in xfree(void*) ../../binutils-gdb/gdb/common/common-utils.c:100^M
        #2 0x83df67 in free_thread ../../binutils-gdb/gdb/thread.c:207^M
        #3 0x83dfd2 in init_thread_list() ../../binutils-gdb/gdb/thread.c:223^M
        #4 0x805494 in kill_command ../../binutils-gdb/gdb/infcmd.c:2595^M
    ....
    
    Detaching from program: /home/yao.qi/SourceCode/gnu/build-with-asan/gdb/testsuite/outputs/gdb.threads/threadapply/threadapply, process 2399^M
    =================================================================^M
    ^[[1m^[[31m==2387==ERROR: AddressSanitizer: heap-use-after-free on address 0x6160000a98c0 at pc 0x00000083fd28 bp 0x7ffd401c3110 sp 0x7ffd401c3100^M
    ^[[1m^[[0m^[[1m^[[34mREAD of size 4 at 0x6160000a98c0 thread T0^[[1m^[[0m^M
        #0 0x83fd27 in thread_alive ../../binutils-gdb/gdb/thread.c:741^M
        #1 0x844277 in thread_apply_all_command ../../binutils-gdb/gdb/thread.c:1804^M
    ....
    ^M
    ^[[1m^[[32m0x6160000a98c0 is located 64 bytes inside of 568-byte region [0x6160000a9880,0x6160000a9ab8)^M
    ^[[1m^[[0m^[[1m^[[35mfreed by thread T0 here:^[[1m^[[0m^M
        #0 0x7f59a7e322ca in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x982ca)^M
        #1 0xb8c62f in xfree(void*) ../../binutils-gdb/gdb/common/common-utils.c:100^M
        #2 0x83df67 in free_thread ../../binutils-gdb/gdb/thread.c:207^M
        #3 0x83dfd2 in init_thread_list() ../../binutils-gdb/gdb/thread.c:223^M
    
    This patch fixes the issue by deleting thread_info object if it is
    deletable, otherwise, mark it as exited (by set_thread_exited).
    Function set_thread_exited is shared from delete_thread_1.  This patch
    also moves field "refcount" to private and methods incref and
    decref.  Additionally, we stop using "ptid_t" in
    "struct current_thread_cleanup" to reference threads, instead we use
    "thread_info" directly.  Due to this change, we don't need
    restore_current_thread_ptid_changed anymore.
    
    gdb:
    
    2017-04-10  Yao Qi  <yao.qi@linaro.org>
    
    	PR gdb/19942
    	* gdbthread.h (thread_info::deletable): New method.
    	(thread_info::incref): New method.
    	(thread_info::decref): New method.
    	(thread_info::refcount): Move it to private.
    	* infrun.c (save_stop_context): Call inc_refcount.
    	(release_stop_context_cleanup): Likewise.
    	* thread.c (set_thread_exited): New function.
    	(init_thread_list): Delete "tp" only it is deletable, otherwise
    	call set_thread_exited.
    	(delete_thread_1): Call set_thread_exited.
    	(current_thread_cleanup) <inferior_pid>: Remove.
    	<thread>: New field.
    	(restore_current_thread_ptid_changed): Removed.
    	(do_restore_current_thread_cleanup): Adjust.
    	(restore_current_thread_cleanup_dtor): Don't call
    	find_thread_ptid.
    	(set_thread_refcount): Use dec_refcount.
    	(make_cleanup_restore_current_thread): Adjust.
    	(thread_apply_all_command): Call inc_refcount.
    	(_initialize_thread): Don't call
    	observer_attach_thread_ptid_changed.

commit 8c25b49760b854d0b8451e8ecffeb9860fc41158
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Apr 10 14:39:41 2017 +0100

    Hoist code on marking thread as exited
    
    This patch hoists code on marking thread as exited, so more code is shared
    for two different paths (thread_info is deleted or is not deleted).
    
    gdb:
    
    2017-04-10  Yao Qi  <yao.qi@linaro.org>
    
    	* thread.c (delete_thread_1): Hoist code on marking thread as
    	exited.

commit 947fa9141488c1d39303fcdaa056332d2d0b2599
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Mon Apr 10 13:12:52 2017 +0100

    gas: xtensa: fix incorrect code generated with auto litpools
    
    	* config/tc-xtensa.c (xtensa_maybe_create_literal_pool_frag):
    	Initialize lps->frag_count with auto_litpool_limit.
    	(xg_promote_candidate_litpool): New function.
    	(xtensa_move_literals): Extract candidate litpool promotion code
    	into separate function. Call it for all possible found
    	candidates.
    	(xtensa_switch_to_literal_fragment): Drop 'recursive' flag and
    	call to xtensa_mark_literal_pool_location that it guards.
    	Replace it with call to xtensa_maybe_create_literal_pool_frag.
    	Initialize pool_location with created literal pool candidate.
    	* testsuite/gas/xtensa/all.exp: Add new tests.
    	* testsuite/gas/xtensa/auto-litpools-first1.d: New test results.
    	* testsuite/gas/xtensa/auto-litpools-first1.s: New test.
    	* testsuite/gas/xtensa/auto-litpools-first2.d: New test results.
    	* testsuite/gas/xtensa/auto-litpools-first2.s: New test.
    	* testsuite/gas/xtensa/auto-litpools.d: Fix offsets changed due
    	to additional jump instruction.

commit bb1dd176fb6f38ae3cc30dc61ce55a7fbf9d0d7b
Author: Qing Zhao <qing.zhao@oracle.com>
Date:   Mon Apr 10 12:46:30 2017 +0100

    Port the bug fix for PR 19704 (Missing dynamic relocation against undefined weak symbol) to the SPARC architecture.
    
           * elf32-sparc.c (elf_backend_fixup_symbol): New.
            * elf64-sparc.c (elf_backend_fixup_symbol): New.
            * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
            (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
            has_non_got_reloc.
            (link_hash_newfunc): Initialize has_got_reloc and
    	has_non_got_reloc.
            (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
            section.
            (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
            has_non_got_reloc.
            (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
            has_non_got_reloc.
            (_bfd_sparc_elf_fixup_symbol): New function.
            (allocate_dynrelocs): Don't allocate space for dynamic
            relocations and discard relocations against resolved undefined
            weak symbols in executable.  Don't make resolved undefined weak
            symbols in executable dynamic.  Keep dynamic non-GOT/non-PLT
            relocation against undefined weak symbols in PIE.
            (_bfd_sparc_elf_relocate_section): Don't generate dynamic
            relocations against resolved undefined weak symbols in PIE
            (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
            without ynamic PLT/GOT relocations for resolved undefined weak
            symbols.
            Don't generate dynamic relocation against resolved undefined
            weak symbol in executable.
            (pie_finish_undefweak_symbol): New function.
            (_bfd_sparc_elf_finish_dynamic_sections): Call
            pie_finish_undefweak_symbol on all symbols in PIE.
            * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
            (_bfd_sparc_elf_fixup_symbol): New function.

commit d236cfd444630bd9ddb63edca54c056d5825e673
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 10 11:38:21 2017 +0100

    Remove the ns32k target from the obsolete list.
    
    	* config.bfd: Remove ns32k from obsolete list.

commit 62adc51030ad83d09e6d20c455616fd9216e4783
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Apr 10 15:35:11 2017 +0930

    Tidy ppc476 opcodes
    
    PPC_OPCODE_440 being set for ppc476 meant that many opcodes needed to
    be deprecated for ppc476.  There are far fewer to add specially for
    ppc476 if PPC_OPCODE_440 is not set for ppc476.
    
    	* ppc-dis.c (ppc_opts <476>): Remove PPC_OPCODE_440.
    	* ppc-opc.c (MULHW): Add PPC_OPCODE_476.
    	(powerpc_opcodes): Adjust PPC440, PPC464 and PPC476 insns to suit
    	removal of PPC_OPCODE_440 from ppc476 cpu selection bits.

commit 6f9dbcd42f2cf034a9a21f46842c08d2e88449db
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Apr 10 15:11:35 2017 +0930

    PR21287, Inconsistent section type for .init_array and .init_array.42
    
    PR21287 notes that .init_array is correctly given a type of
    SHT_INIT_ARRAY while .init_array.nnn gets SHT_PROGBITS.  This patch
    fixes that problem, and properly drops warnings from the compiler that
    would cause the testsuite to fail.  My a44d0bd78 change to check
    ld_compile status, necessary to pick up compile errors, also meant
    warnings were not ignored.
    
    bfd/
    	PR 21287
    	* elf.c (special_sections_f): Match .fini_array and .fini_array.*.
    	(special_sections_i): Likewise for .init_array.
    	(special_sections_p): Likewise for .preinit_array.
    ld/
    	PR 21287
    	* testsuite/ld-elf/init-fini-arrays.d: Match INIT_ARRAY and FINI_ARRAY.
    	* testsuite/ld-elf/init-fini-arrays.s: Use %init_array and %fini_array
    	section types.
    	* testsuite/lib/ld-lib.exp (default_ld_compile): Trim assembler
    	warnings about "ignoring incorrect section type".
    	(run_ld_link_exec_tests, run_cc_link_tests): Delete old comment.

commit 37095d07b470ea94d578cd5ca2da032617200c52
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Apr 10 15:10:58 2017 +0930

    Clean elfvsb files left over from previous runs
    
    My mips-linux and mips64-linux testsuite runs have been failing a
    bunch of visibility tests, seemingly randomly.  It turns out the
    problem occurs when object files are left over in ld/tmpdir from a
    previous run.
    
    	* testsuite/ld-elfvsb/elfvsb.exp (visibility_run): Delete
    	sh1p.o, sh2p.o, sh1np.o and sh2np.o before compiling.  Use
    	remote_file host exists rather than file exists.

commit aa808707033a46ee063263f4bc1bd06449851621
Author: Pip Cet <pipcet@gmail.com>
Date:   Mon Apr 10 00:10:28 2017 +0000

    WebAssembly disassembler support
    
    	* wasm32-dis.c (print_insn_wasm32): Avoid DECIMAL_DIG, specify
    	appropriate floating-point precision directly.

commit 8473b4472dce9ce87aaad35ff8e975e1487f914e
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sun Apr 9 23:14:36 2017 -0400

    windows-nat.c: Fix bad initialization of ptid
    
    When trying to build for x86_64-w64-mingw32:
    
    /home/simark/src/binutils-gdb/gdb/windows-nat.c: In function â??void windows_detach(target_ops*, const char*, int)â??:
    /home/simark/src/binutils-gdb/gdb/windows-nat.c:1915:20: error: converting to â??ptid_tâ?? from initializer list would use explicit constructor â??constexpr ptid_t::ptid_t(int, long int, long int)â??
       ptid_t ptid = {-1};
                        ^
    Fixed by initializing ptid with the minus_one_ptid variable.
    
    gdb/ChangeLog:
    
    	* windows-nat.c (windows_detach): Initialize ptid with
    	minus_one_ptid.

commit 4a44171e07147c6b943412c90184736ca5dbfb4c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 10 00:00:37 2017 +0000

    Automatic date update in version.in

commit 5e8bf44f4c94d430ac21257a1a953cfccd2ce79b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 9 00:00:35 2017 +0000

    Automatic date update in version.in

commit b630840c9c22a877b2c6270880a214f7b451f546
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Apr 8 12:06:31 2017 -0700

    Add support for fcvtl and fcvtl2.
    
    	sim/aarch64/
    	* simulator.c (do_vec_FCVTL): New.
    	(do_vec_op1): Call do_vec_FCVTL.
    
    	sim/testsuite/sim/aarch64/
    	* fcvtl.s: New.

commit ae27d3fe76ffb54e7d413a67d8c8d76ca78a9681
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Apr 8 07:10:38 2017 -0700

    Support the fcmXX zero instructions.
    
    	sim/aarch64/
    	* simulator.c (do_scalar_FCMGE_zero): New.
    	(do_scalar_FCMLE_zero, do_scalar_FCMGT_zero, do_scalar_FCMEQ_zero)
    	(do_scalar_FCMLT_zero): Likewise.
    	(do_scalar_vec): Add calls to new functions.
    
    	sim/testsuite/sim/aarch64/
    	* fcmXX.s: New.

commit aebcde5eb475befba571ca9ae7b6c58126d41160
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 8 00:00:33 2017 +0000

    Automatic date update in version.in

commit a7eaf017f95932eb2d654bd61f4c4a873ba71f77
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 7 08:53:43 2017 -0700

    Use NOPIE_CFLAGS and NOPIE_LDFLAGS to disable PIE
    
    Since not all compilers support -no-pie, NOPIE_CFLAGS and NOPIE_LDFLAGS
    should be used to disable PIE.
    
    	PR ld/21090
    	* testsuite/ld-x86-64/x86-64.exp (undefined_weak): Use
    	NOPIE_CFLAGS and NOPIE_LDFLAGS to disable PIE for the non-pie
    	version of the test.

commit 3ac27d69a6161c10ecfaeee41320fc670bbc029d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 7 08:43:19 2017 -0700

    Update binutils-secondary.patch against master

commit 5b3e876711a0db9609e523220c5d0199d957a600
Merge: 988ad1d 8170f76
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 7 08:19:13 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 8170f7693bc0a9442c0aa280197925db92d48ca6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Apr 7 07:40:14 2017 -0700

    ELF: Check ELF_COMMON_DEF_P for common symbols
    
    Since common symbols that are turned into definitions don't have the
    DEF_REGULAR flag set, we need to check ELF_COMMON_DEF_P for common
    symbols.
    
    bfd/
    
    	PR ld/19579
    	PR ld/21306
    	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
    	ELF_COMMON_DEF_P for common symbols.
    	* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
    	* elflink.c (_bfd_elf_merge_symbol): Revert commits
    	202ac193bbbecc96a4978d1ac3d17148253f9b01 and
    	07492f668d2173da7a2bda3707ff0985e0f460b6.
    
    ld/
    
    	PR ld/19579
    	PR ld/21306
    	* testsuite/ld-elf/pr19579a.c (main): Updated.

commit 6670ec13726c3afca789672f6235378a5e1f7d71
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Apr 7 10:27:48 2017 -0400

    ptid-selftests: Fix erroneous assert messages
    
    gdb/ChangeLog:
    
    	* unittests/ptid-selftests.c: Fix erroneous assert messages.

commit 49f4617bf4b86a0b057f3477d57ffbf7c998b229
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Apr 7 14:51:42 2017 +0100

    Fix building the BFD library for Win64 by reqorking the find_separate_debug_file interface.
    
    	* opncls.c (bfd_get_debug_link_info): Rename to...
    	(bfd_get_debug_link_info_1): ... this.  Change type of second
    	parameter to void pointer.  Adjust.
    	(bfd_get_debug_link_info): Reimplement on top of
    	bfd_get_debug_link_info_1.
    	(separate_debug_file_exists, separate_alt_debug_file_exists):
    	Change type of second parameter to void pointer.  Adjust.
    	(get_func_type, check_func_type): Change type of second parameter
    	to void pointer.
    	(find_separate_debug_file): Add 'func_data' parameter.  Pass it to
    	the callback functions instead of passing the address of a local.
    	(bfd_follow_gnu_debuglink): Pass address of unsigned long local to
    	find_separate_debug_file.
    	(get_alt_debug_link_info_shim): Change type of second parameter to
    	void pointer.  Adjust.
    	(bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
    	find_separate_debug_file.
    	(get_build_id_name, bfd_boolean check_build_id_file): Change type
    	of second parameter to void pointer.  Adjust.
    	(bfd_follow_build_id_debuglink): Pass address of bfd_build_id
    	pointer local to find_separate_debug_file.

commit ae3f8c28134b52414a4c31df2e156615087c46e5
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Apr 7 11:48:08 2017 +0100

    Fix failure in x86_64 linker tests when compiling with a PIE enabled compiler.
    
    	PR 21090
    	* testsuite/ld-x86-64/x86-64.exp (undefined_weak): Explicitly
    	disable PIE for the non-pie version of the test.

commit ac8f0f721bf0db9ffd0c6602744f1859cb4dd8d2
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Apr 7 18:03:46 2017 +0930

    Remove E6500 insns from PPC_OPCODE_ALTIVEC2
    
    This isn't losing anything from the testsuite.  All of these insns
    appear in testsuite/gas/ppc/e6500.s
    
    opcodes/
    	* ppc-opc.c (powerpc_opcodes <mviwsplt, mvidsplt, lvexbx, lvepxl,
    	lvexhx, lvepx, lvexwx, stvexbx, stvexhx, stvexwx, lvtrx, lvtlx,
    	lvswx, stvfrx, stvflx, stvswx, lvsm, stvepxl, lvtrxl, stvepx,
    	lvtlxl, lvswxl, stvfrxl, stvflxl, stvswxl>): Enable E6500 only
    	vector instructions with E6500 not PPCVEC2.
    gas/
    	* testsuite/gas/ppc/altivec2.s: Delete E6500 vector insns.
    	* testsuite/gas/ppc/altivec2.d: Adjust to suit.

commit 5c1f54ce0b21b19ac0b2a2c921c9ea2f33bbf5fd
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Apr 7 18:01:43 2017 +0930

    Tweak MBIND ld test for ARM.
    
    	* testsuite/ld-elf/mbind2a.s: Don't use @, the ARM comment char.

commit 498e34425b38f69ceba28707962e3593c281261a
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Apr 7 17:58:37 2017 +0930

    MBIND gas test tweak
    
    score-elf aligns text sections.
    
    	* testsuite/gas/elf/section12a.d: Don't expect alignment of 1
    	for .mbind.text.

commit ba2f91bb5d69127da41b368c7226f596ee449eca
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Apr 7 09:31:37 2017 +0100

    Add BFIN_MAX_REGISTER_SIZE
    
    gdb/
    	* bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
    	(bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
    	(bfin_pseudo_register_write): Likewise

commit 1fd6d111905e76dfa7af9fbee5229f3f1d360b4c
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Mar 31 15:25:18 2017 +0200

    pe/coff: handle weak defined symbol for gc-sections.
    
    bfd/
    	* coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
    	external symbols with a definition.
    	(_bfd_coff_gc_mark_extra_sections): Fix typo.
    
    ld/
    	* testsuite/ld-pe/pe.exp: New test.
    	* testsuite/ld-pe/weakdef-1.s: New test source.
    	* testsuite/ld-pe/weakdef-1.d: New test.

commit 436252de3e9de546001c4312d0863ce7e10aa200
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Apr 6 23:29:53 2017 -0400

    Class-ify ptid_t
    
    I grew a bit tired of using ptid_get_{lwp,pid,tid} and friends, so I decided to
    make it a bit easier to use by making it a proper class.  The fields are now
    private, so it's not possible to change a ptid_t field by mistake.
    
    The new methods of ptid_t map to existing functions/practice like this:
    
      ptid_t (pid, lwp, tid) -> ptid_build (pid, lwp, tid)
      ptid_t (pid) -> pid_to_ptid (pid)
      ptid.is_pid () -> ptid_is_pid (ptid)
      ptid == other -> ptid_equal (ptid, other)
      ptid != other -> !ptid_equal (ptid, other)
      ptid.pid () -> ptid_get_pid (ptid)
      ptid.lwp_p () -> ptid_lwp_p (ptid)
      ptid.lwp () -> ptid_get_lwp (ptid)
      ptid.tid_p () -> ptid_tid_p (ptid)
      ptid.tid () -> ptid_get_tid (ptid)
      ptid.matches (filter) -> ptid_match (ptid, filter)
    
    I've replaced the implementation of the existing functions with calls to
    the new methods.  People are encouraged to gradually switch to using the
    ptid_t methods instead of the functions (or we can change them all in
    one pass eventually).
    
    Also, I'm not sure if it's worth it (because of ptid_t's relatively
    small size), but I have made the functions and methods take ptid_t
    arguments by const reference instead of by value.
    
    gdb/ChangeLog:
    
    	* common/ptid.h (struct ptid): Change to...
    	(class ptid_t): ... this.
    	<ptid_t>: New constructors.
    	<pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
    	matches>: New methods.
    	<make_null, make_minus_one>: New static methods.
    	<pid>: Rename to...
    	<m_pid>: ...this.
    	<lwp>: Rename to...
    	<m_lwp>: ...this.
    	<tid>: Rename to...
    	<m_tid>: ...this.
    	(ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
    	ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
    	as references, move comment to class ptid_t.
    	* common/ptid.c (null_ptid, minus_one_ptid): Initialize with
    	ptid_t static methods.
    	(ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
    	ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
    	Take ptid arguments as references, implement using ptid_t methods.
    	* unittests/ptid-selftests.c: New file.
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/ptid-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
    
    gdb/gdbserver/ChangeLog:
    
    	* server.c (handle_v_cont): Initialize thread_resume::thread
    	with null_ptid.

commit 1379e3aaea5e9454d7e75f293c3fe24c0d11c688
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Apr 7 00:00:35 2017 +0000

    Automatic date update in version.in

commit 62ecb94c4a2929c1aace3fb5470d2a5100255811
Author: Pip Cet <pipcet@gmail.com>
Date:   Thu Apr 6 17:17:15 2017 +0100

    Add support for disassembling WebAssembly opcodes.
    
    include	* dis-asm.h: Add prototypes for wasm32 disassembler.
    
    opcodes	* Makefile.am: Add wasm32-dis.c.
    	* configure.ac: Add wasm32-dis.c to wasm32 target.
    	* disassemble.c: Add wasm32 disassembler code.
    	* wasm32-dis.c: New file.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* po/POTFILES.in: Regenerate.
    	* po/opcodes.pot: Regenerate.
    
    gas	* testsuite/gas/wasm32/allinsn.d: Adjust test for disassembler
    	changes.
    	* testsuite/gas/wasm32/disass.d: New test.
    	* testsuite/gas/wasm32/disass.s: New test.
    	* testsuite/gas/wasm32/disass-2.d: New test.
    	* testsuite/gas/wasm32/disass-2.s: New test.
    	* testsuite/gas/wasm32/reloc.d: Adjust test for changed reloc
    	names.
    	* testsuite/gas/wasm32/reloc.s: Update test for changed assembler
    	syntax.
    	* testsuite/gas/wasm32/wasm32.exp: Run new tests.  Expect allinsn
    	test to succeed.

commit 0dedf3777db42712f460123ac0c63c49de5456f5
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Apr 6 17:17:23 2017 +0100

    Fix Windows gdb build failure with Python 2 support
    
    GDB fails to build for Windows host with Python 2 support enabled due
    to PyFile_FromString's second argument being of type char * and being
    passed a (const) string literal. This parameter is input only so this
    commit fixes the issue by casting to char *.
    
    2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gdb/
    	* python/python.c (python_run_simple_file): Cast mode literal to
    	non-const char pointer as expected by PyFile_FromString.

commit 3944e22b463a62bfc4f6f0a892c6b0ac705e3c43
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Apr 7 00:18:33 2017 +0930

    mbind tests: don't check PT_LOAD headers
    
    On powerpc-linux, the second PT_LOAD header is RWE.  On hppa64-linux,
    only one PT_LOAD header is present.  Since the tests are really about
    the new GNU_MBIND headers, ignore PT_LOAD and its section mapping.
    
    	* testsuite/ld-elf/mbind1a.d: Remove matches for PT_LOAD segments.
    	* testsuite/ld-elf/mbind1b.d: Likewise.
    	* testsuite/ld-elf/mbind1c.d: Likewise.

commit 86abf93a3a56ccdf1c5f15b841ee9d6a0516a2cf
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Apr 7 00:17:09 2017 +0930

    Regen SRC-POTFILES.in
    
    Missed when elf-properties.c was added.
    
    	* po/SRC-POTFILES.in: Regenerate.

commit 0f65a5d84d0a83e5594cf17d04e9f98ab66652a4
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Apr 5 17:22:47 2017 +0100

    [objcopy] Fix quadratic-time when handling --redefine-syms
    
    objcopy/
    	* objcopy.c (struct redefine_node): Delete the field "next".
    	(redefine_sym_list): Deleted.
    	(redefine_specific_htab): New hash table.
    	(redefine_specific_reverse_htab): Likewise.
    	(eq_string_redefnode): New function.
    	(htab_hash_redefnode): Likewise.
    	(create_symbol2redef_htab): Likewise.
    	(add_specific_symbol_node): Likewise.
    	(create_symbol_htabs): Create redefine_specific_htab and
    	redefine_specific_reverse_htab.
    	(lookup_sym_redefinition): Use hash table instead of list.
    	(redefine_list_append): Likewise, and rename to add_redefine_and_check.
    	(copy_main): Use redefine_specific_htab instead of redefine_sym_list.
    	Update comments.

commit 9014582538e38055e438b6cce28d165a73abcc60
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Apr 6 00:00:21 2017 +0000

    Automatic date update in version.in

commit 6ca30fa5613cfa935834f27114d6db4f3854a13e
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Wed Apr 5 23:12:16 2017 +0200

    PR ld/21233: change xfails to kfails, fix the indentation issue

commit 4e9868d4e0c8e45505876901d22c021dd36972a8
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Apr 5 15:15:59 2017 -0400

    ptid_{lwp,tid}_p: Remove unnecessary checks
    
    The calls to ptid_equal in ptid_lwp_p and ptid_tid_p that compare the
    argument to minus_one_ptid and null_ptid are not necessary.  The calls
    in question are:
    
       if (ptid_equal (minus_one_ptid, ptid)
           || ptid_equal (null_ptid, ptid))
         return 0;
    
    minus_one_ptid is { .pid = -1, .lwp = 0, .tid = 0 }
    null_ptid is { .pid = 0, .lwp = 0, .tid = 0 }
    
    If the ptid argument is either of them, the statements
    
      return (ptid_get_lwp (ptid) != 0);
    
    and
    
      return (ptid_get_tid (ptid) != 0);
    
    will yield the same result (0/false).
    
    gdb/ChangeLog:
    
    	* common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
    	minus_one_ptid and null_ptid.

commit 9bf2a700667c53003ece783c05e8b355801105f2
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:37 2017 +0100

    -Wwrite-strings: Remove -Wno-write-strings
    
    AFAIK GDB is now free from -Wwrite-strings warnings.  A few warnings may
    be left behind in some host-specific code, but those should be few and
    easy to fix.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* warning.m4 (build_warnings): Remove -Wno-write-strings.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* configure: Regenerate.

commit a121b7c1ac76833018f4fc3adaeddc3147272dd0
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:37 2017 +0100

    -Wwrite-strings: The Rest
    
    This is the remainder boring constification that all looks more of less
    borderline obvious IMO.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* ada-exp.y (yyerror): Constify.
    	* ada-lang.c (bound_name, get_selections)
    	(ada_variant_discrim_type)
    	(ada_variant_discrim_name, ada_value_struct_elt)
    	(ada_lookup_struct_elt_type, is_unchecked_variant)
    	(ada_which_variant_applies, standard_exc, ada_get_next_arg)
    	(catch_ada_exception_command_split)
    	(catch_ada_assert_command_split, catch_assert_command)
    	(ada_op_name): Constify.
    	* ada-lang.h (ada_yyerror, get_selections)
    	(ada_variant_discrim_name, ada_value_struct_elt): Constify.
    	* arc-tdep.c (arc_print_frame_cache): Constify.
    	* arm-tdep.c (arm_skip_stub): Constify.
    	* ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
    	(gen_aggregate_elt_ref): Constify.
    	* bcache.c (print_bcache_statistics): Constify.
    	* bcache.h (print_bcache_statistics): Constify.
    	* break-catch-throw.c (catch_exception_command_1):
    	* breakpoint.c (struct ep_type_description::description):
    	Constify.
    	(add_solib_catchpoint): Constify.
    	(catch_fork_command_1): Add cast.
    	(add_catch_command): Constify.
    	* breakpoint.h (add_catch_command, add_solib_catchpoint):
    	Constify.
    	* bsd-uthread.c (bsd_uthread_state): Constify.
    	* buildsym.c (patch_subfile_names): Constify.
    	* buildsym.h (next_symbol_text_func, patch_subfile_names):
    	Constify.
    	* c-exp.y (yyerror): Constify.
    	(token::oper): Constify.
    	* c-lang.h (c_yyerror, cp_print_class_member): Constify.
    	* c-varobj.c (cplus_describe_child): Constify.
    	* charset.c (find_charset_names): Add cast.
    	(find_charset_names): Constify array and add const_cast.
    	* cli/cli-cmds.c (complete_command, cd_command): Constify.
    	(edit_command): Constify.
    	* cli/cli-decode.c (lookup_cmd): Constify.
    	* cli/cli-dump.c (dump_memory_command, dump_value_command):
    	Constify.
    	(struct dump_context): Constify.
    	(add_dump_command, restore_command): Constify.
    	* cli/cli-script.c (get_command_line): Constify.
    	* cli/cli-script.h (get_command_line): Constify.
    	* cli/cli-utils.c (check_for_argument): Constify.
    	* cli/cli-utils.h (check_for_argument): Constify.
    	* coff-pe-read.c (struct read_pe_section_data): Constify.
    	* command.h (lookup_cmd): Constify.
    	* common/print-utils.c (decimal2str): Constify.
    	* completer.c (gdb_print_filename): Constify.
    	* corefile.c (set_gnutarget): Constify.
    	* cp-name-parser.y (yyerror): Constify.
    	* cp-valprint.c (cp_print_class_member): Constify.
    	* cris-tdep.c (cris_register_name, crisv32_register_name):
    	Constify.
    	* d-exp.y (yyerror): Constify.
    	(struct token::oper): Constify.
    	* d-lang.h (d_yyerror): Constify.
    	* dbxread.c (struct header_file_location::name): Constify.
    	(add_old_header_file, add_new_header_file, last_function_name)
    	(dbx_next_symbol_text, add_bincl_to_list)
    	(find_corresponding_bincl_psymtab, set_namestring)
    	(find_stab_function_addr, read_dbx_symtab, start_psymtab)
    	(dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
    	* defs.h (command_line_input, print_address_symbolic)
    	(deprecated_readline_begin_hook): Constify.
    	* dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
    	Constify.
    	* event-top.c (handle_line_of_input): Constify and add cast.
    	* exceptions.c (catch_errors): Constify.
    	* exceptions.h (catch_errors): Constify.
    	* expprint.c (print_subexp_standard, op_string, op_name)
    	(op_name_standard, dump_raw_expression, dump_raw_expression):
    	* expression.h (op_name, op_string, dump_raw_expression):
    	Constify.
    	* f-exp.y (yyerror): Constify.
    	(struct token::oper): Constify.
    	(struct f77_boolean_val::name): Constify.
    	* f-lang.c (f_word_break_characters): Constify.
    	* f-lang.h (f_yyerror): Constify.
    	* fork-child.c (fork_inferior): Add cast.
    	* frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
    	(new_variant): Constify.
    	* gdbarch.sh (pstring_ptr, pstring_list): Constify.
    	* gdbarch.c: Regenerate.
    	* gdbcore.h (set_gnutarget): Constify.
    	* go-exp.y (yyerror): Constify.
    	(token::oper): Constify.
    	* go-lang.h (go_yyerror): Constify.
    	* go32-nat.c (go32_sysinfo): Constify.
    	* guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
    	* guile/scm-cmd.c (cmdscm_function): Constify.
    	* guile/scm-param.c (pascm_param_value): Constify.
    	* h8300-tdep.c (h8300_register_name, h8300s_register_name)
    	(h8300sx_register_name): Constify.
    	* hppa-tdep.c (hppa32_register_name, hppa64_register_name):
    	Constify.
    	* ia64-tdep.c (ia64_register_names): Constify.
    	* infcmd.c (construct_inferior_arguments): Constify.
    	(path_command, attach_post_wait): Constify.
    	* language.c (show_range_command, show_case_command)
    	(unk_lang_error): Constify.
    	* language.h (language_defn::la_error)
    	(language_defn::la_name_of_this): Constify.
    	* linespec.c (decode_line_2): Constify.
    	* linux-thread-db.c (thread_db_err_str): Constify.
    	* lm32-tdep.c (lm32_register_name): Constify.
    	* m2-exp.y (yyerror): Constify.
    	* m2-lang.h (m2_yyerror): Constify.
    	* m32r-tdep.c (m32r_register_names): Constify and make static.
    	* m68hc11-tdep.c (m68hc11_register_names): Constify.
    	* m88k-tdep.c (m88k_register_name): Constify.
    	* macroexp.c (appendmem): Constify.
    	* mdebugread.c (fdr_name, add_data_symbol, parse_type)
    	(upgrade_type, parse_external, parse_partial_symbols)
    	(mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
    	(new_symbol): Constify.
    	* memattr.c (mem_info_command): Constify.
    	* mep-tdep.c (register_name_from_keyword): Constify.
    	* mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
    	Constify.
    	* mi/mi-cmd-stack.c (list_args_or_locals): Constify.
    	* mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
    	* mi/mi-main.c (captured_mi_execute_command): Constify and add
    	cast.
    	(mi_execute_async_cli_command): Constify.
    	* mips-tdep.c (mips_register_name): Constify.
    	* mn10300-tdep.c (register_name, mn10300_generic_register_name)
    	(am33_register_name, am33_2_register_name)
    	* moxie-tdep.c (moxie_register_names): Constify.
    	* nat/linux-osdata.c (osdata_type): Constify fields.
    	* nto-tdep.c (nto_parse_redirection): Constify.
    	* objc-lang.c (lookup_struct_typedef, lookup_objc_class)
    	(lookup_child_selector): Constify.
    	(objc_methcall::name): Constify.
    	* objc-lang.h (lookup_objc_class, lookup_child_selector)
    	(lookup_struct_typedef): Constify.
    	* objfiles.c (pc_in_section): Constify.
    	* objfiles.h (pc_in_section): Constify.
    	* p-exp.y (struct token::oper): Constify.
    	(yyerror): Constify.
    	* p-lang.h (pascal_yyerror): Constify.
    	* parser-defs.h (op_name_standard): Constify.
    	(op_print::string): Constify.
    	(exp_descriptor::op_name): Constify.
    	* printcmd.c (print_address_symbolic): Constify.
    	* psymtab.c (print_partial_symbols): Constify.
    	* python/py-breakpoint.c (stop_func): Constify.
    	(bppy_get_expression): Constify.
    	* python/py-cmd.c (cmdpy_completer::name): Constify.
    	(cmdpy_function): Constify.
    	* python/py-event.c (evpy_add_attribute)
    	(gdbpy_initialize_event_generic): Constify.
    	* python/py-event.h (evpy_add_attribute)
    	(gdbpy_initialize_event_generic): Constify.
    	* python/py-evts.c (add_new_registry): Constify.
    	* python/py-finishbreakpoint.c (outofscope_func): Constify.
    	* python/py-framefilter.c (get_py_iter_from_func): Constify.
    	* python/py-inferior.c (get_buffer): Add cast.
    	* python/py-param.c (parm_constant::name): Constify.
    	* python/py-unwind.c (fprint_frame_id): Constify.
    	* python/python.c (gdbpy_parameter_value): Constify.
    	* remote-fileio.c (remote_fio_func_map): Make 'name' const.
    	* remote.c (memory_packet_config::name): Constify.
    	(show_packet_config_cmd, remote_write_bytes)
    	(remote_buffer_add_string):
    	* reverse.c (exec_reverse_once): Constify.
    	* rs6000-tdep.c (variant::name, variant::description): Constify.
    	* rust-exp.y (rustyyerror): Constify.
    	* rust-lang.c (rust_op_name): Constify.
    	* rust-lang.h (rustyyerror): Constify.
    	* serial.h (serial_ops::name): Constify.
    	* sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
    	(sh_sh3e_register_name, sh_sh2e_register_name)
    	(sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
    	(sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
    	(sh_sh4_register_name, sh_sh4_nofpu_register_name)
    	(sh_sh4al_dsp_register_name): Constify.
    	* sh64-tdep.c (sh64_register_name): Constify.
    	* solib-darwin.c (lookup_symbol_from_bfd): Constify.
    	* spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
    	* stabsread.c (patch_block_stabs, read_type_number)
    	(ref_map::stabs, ref_add, process_reference)
    	(symbol_reference_defined, define_symbol, define_symbol)
    	(error_type, read_type, read_member_functions, read_cpp_abbrev)
    	(read_one_struct_field, read_struct_fields, read_baseclasses)
    	(read_tilde_fields, read_struct_type, read_array_type)
    	(read_enum_type, read_sun_builtin_type, read_sun_floating_type)
    	(read_huge_number, read_range_type, read_args, common_block_start)
    	(find_name_end): Constify.
    	* stabsread.h (common_block_start, define_symbol)
    	(process_one_symbol, symbol_reference_defined, ref_add):
    	* symfile.c (get_section_index, add_symbol_file_command):
    	* symfile.h (get_section_index): Constify.
    	* target-descriptions.c (tdesc_type::name): Constify.
    	(tdesc_free_type): Add cast.
    	* target.c (find_default_run_target):
    	(add_deprecated_target_alias, find_default_run_target)
    	(target_announce_detach): Constify.
    	(do_option): Constify.
    	* target.h (add_deprecated_target_alias): Constify.
    	* thread.c (print_thread_info_1): Constify.
    	* top.c (deprecated_readline_begin_hook, command_line_input):
    	Constify.
    	(init_main): Add casts.
    	* top.h (handle_line_of_input): Constify.
    	* tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
    	* tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
    	(tfind_command): Rename to ...
    	(tfind_command_1): ... this and constify.
    	(tfind_command): New function.
    	(tfind_end_command, tfind_start_command): Adjust.
    	(encode_source_string): Constify.
    	* tracepoint.h (encode_source_string): Constify.
    	* tui/tui-data.c (tui_partial_win_by_name): Constify.
    	* tui/tui-data.h (tui_partial_win_by_name): Constify.
    	* tui/tui-source.c (tui_set_source_content_nil): Constify.
    	* tui/tui-source.h (tui_set_source_content_nil): Constify.
    	* tui/tui-win.c (parse_scrolling_args): Constify.
    	* tui/tui-windata.c (tui_erase_data_content): Constify.
    	* tui/tui-windata.h (tui_erase_data_content): Constify.
    	* tui/tui-winsource.c (tui_erase_source_content): Constify.
    	* tui/tui.c (tui_enable): Add cast.
    	* utils.c (defaulted_query): Constify.
    	(init_page_info): Add cast.
    	(puts_debug, subset_compare): Constify.
    	* utils.h (subset_compare): Constify.
    	* varobj.c (varobj_format_string): Constify.
    	* varobj.h (varobj_format_string): Constify.
    	* vax-tdep.c (vax_register_name): Constify.
    	* windows-nat.c (windows_detach): Constify.
    	* xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
    	* xml-support.c (gdb_xml_end_element): Constify.
    	* xml-tdesc.c (tdesc_start_reg): Constify.
    	* xstormy16-tdep.c (xstormy16_register_name): Constify.
    	* xtensa-tdep.c (xtensa_find_register_by_name): Constify.
    	* xtensa-tdep.h (xtensa_register_t::name): Constify.
    
    gdb/gdbserver/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* gdbreplay.c (sync_error): Constify.
    	* linux-x86-low.c (push_opcode): Constify.

commit 995816ba55d952b2823d2ead66495c5cad6dfe58
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:37 2017 +0100

    -Wwrite-strings: More Solaris
    
    Some obvious constifications found by attempting to build 64-bit GDB
    on Solaris 11.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* proc-api.c (struct trans): Constify.
    	(procfs_note): Constify.
    	* proc-events.c (struct trans, syscall_table):
    	* proc-flags.c (struct trans): Constify.
    	* proc-utils.h (procfs_note): Constify.
    	* proc-why.c (struct trans): Constify.
    	* procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
    	(procfs_detach): Constify.
    	* sol-thread.c (struct string_map): Constify.
    	(td_err_string, td_state_string): Constify.

commit 3e83a920090130052a407621b94b94513f539fda
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:36 2017 +0100

    -Wwrite-strings: Fix Solaris "set procfs-file"
    
    Compiling GDB with -Wwrite-strings flags this code in gdb/proc-api.c:
    
      static char *procfs_filename = "procfs_trace";
    
    as needing a cast.  However, this variable is a command variable, and
    as such it's incorrect to initialize it to a literal, since when you
    use the corresponding set command, gdb frees the old string...
    
    I didn't manage to fully build Solaris gdb (fails for other reasons),
    but I confirmed that the system GDB on Solaris 11 crashes when running
    this command:
    
     (gdb) set procfs-file foo
     Segmentation Fault (core dumped)
    
    So I don't think this commit can make it worse than the status quo.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* proc-api.c (procfs_filename): Don't initialize
            procfs_filename.
    	(prepare_to_trace): Assume procfs_filename is non-NULL.
    	(_initialize_proc_api): Give procfs_filename a default value here.

commit 63160a43508fb50d9013df061b2191de71f67b50
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:36 2017 +0100

    -Wwrite-strings: Some constification in gdb/breakpoint.c
    
    The main motivation here is avoiding having to write a couple casts
    like these:
    
         if (!arg)
      -    arg = "";
      +    arg = (char *) "";
    
    in catch_exception_command_1 and catch_exec_command_1.
    
    That requires making ep_parse_optional_if_clause and
    check_for_argument take pointers to const strings.  I then tried
    propagating the resulting constification all the way, but that was
    spiraling out of control, so instead I settled for keeping const and
    non-const overloads.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* break-catch-throw.c (handle_gnu_v3_exceptions): Constify
    	'cond_string' parameter.
    	(extract_exception_regexp): Constify 'string' parameter.
    	(catch_exception_command_1): Constify.
    	* breakpoint.c (init_catchpoint)
    	(create_fork_vfork_event_catchpoint): Constify 'cond_string'
    	parameter.
    	(ep_parse_optional_if_clause, catch_fork_command_1)
    	(catch_exec_command_1): Constify.
    	* breakpoint.h (init_catchpoint): Constify 'cond_string'
    	parameter.
    	(ep_parse_optional_if_clause): Constify.
    	* cli/cli-utils.c (remove_trailing_whitespace)
    	(check_for_argument): Constify.
    	* cli/cli-utils.h (remove_trailing_whitespace): Constify and add
    	non-const overload.
    	(check_for_argument): Likewise.

commit 9b2eba3dcc6b41f17180e1aee29ed133f942c733
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:36 2017 +0100

    -Wwrite-strings: execute_command calls with string literals
    
    This is ugly, but it's just making the uglyness explicit.
    
    All these places would better be calling some API function directly
    instead of going through execute_command & friends...
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* event-top.c (command_line_handler): Add cast to execute_command
    	call.
    	* record-btrace.c (cmd_record_btrace_bts_start)
    	(cmd_record_btrace_pt_start, cmd_record_btrace_start)
    	(cmd_record_btrace_start): Add cast to execute_command call.
    	* record-full.c (record_full_goto_insn):
    	* record.c (record_start, record_stop): Add cast to
    	execute_command_to_string calls.
    	(cmd_record_start): Add cast to execute_command calls.

commit 2adadf517063fb1c3b9240bf99ad339968c12f15
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:36 2017 +0100

    -Wwrite-strings: Add a PyArg_ParseTupleAndKeywords "const char *" overload
    
    -Wwrite-strings flags code like:
    
       static char *keywords[] = {"command", "from_tty", "to_string", NULL };
    
    as needing "(char *)" casts, because string literals are "const char []".
    
    We can get rid of the casts by changing the array type like this:
    
     -  static char *keywords[] = {"command", "from_tty", "to_string", NULL };
     +  static const char *keywords[] = {"command", "from_tty", "to_string", NULL };
    
    However, passing the such array to PyArg_ParseTupleAndKeywords no longer
    works OOTB, because PyArg_ParseTupleAndKeywords expects a "char **":
    
      PyArg_ParseTupleAndKeywords(PyObject *args, PyObject *kw,
                                  const char *format,
    			      char *keywords[], ...);
    
    and "const char **" is not implicitly convertible to "char **".  C++
    is more tolerant that C here WRT aliasing, and a const_cast<char **>
    is fine.  However, to avoid having all callers do the cast themselves,
    this commit defines a gdb_PyArg_ParseTupleAndKeywords function here
    with a corresponding 'keywords' parameter type that does the cast in a
    single place.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
    	static inline function.
    	* python/py-arch.c (archpy_disassemble): Constify 'keywords'
    	array and use gdb_PyArg_ParseTupleAndKeywords.
    	* python/py-cmd.c (cmdpy_init): Likewise.
    	* python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
    	* python/py-inferior.c (infpy_read_memory, infpy_write_memory)
    	(infpy_search_memory): Likewise.
    	* python/py-objfile.c (objfpy_add_separate_debug_file)
    	(gdbpy_lookup_objfile): Likewise.
    	* python/py-symbol.c (gdbpy_lookup_symbol)
    	(gdbpy_lookup_global_symbol): Likewise.
    	* python/py-type.c (gdbpy_lookup_type): Likewise.
    	* python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
    	* python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
    	Likewise.

commit 0d1f4ceb3904c4c82231adf98f0e84f37bc8d4ea
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:36 2017 +0100

    -Wwrite-strings: Wrap PyGetSetDef for construction with string literals
    
    Unfortunately, PyGetSetDef's 'name' and 'doc' members are 'char *'
    instead of 'const char *', meaning that in order to list-initialize
    PyGetSetDef arrays using string literals requires writing explicit
    'char *' casts.  For example:
    
        static PyGetSetDef value_object_getset[] = {
       -  { "address", valpy_get_address, NULL, "The address of the value.",
       +  { (char *) "address", valpy_get_address, NULL,
       +    (char *) "The address of the value.",
    	NULL },
       -  { "is_optimized_out", valpy_get_is_optimized_out, NULL,
       -    "Boolean telling whether the value is optimized "
       +  { (char *) "is_optimized_out", valpy_get_is_optimized_out, NULL,
       +    (char *) "Boolean telling whether the value is optimized "
    	"out (i.e., not available).",
    	NULL },
       -  { "type", valpy_get_type, NULL, "Type of the value.", NULL },
       -  { "dynamic_type", valpy_get_dynamic_type, NULL,
       -    "Dynamic type of the value.", NULL },
       -  { "is_lazy", valpy_get_is_lazy, NULL,
       -    "Boolean telling whether the value is lazy (not fetched yet\n\
       +  { (char *) "type", valpy_get_type, NULL,
       +    (char *) "Type of the value.", NULL },
       +  { (char *) "dynamic_type", valpy_get_dynamic_type, NULL,
       +    (char *) "Dynamic type of the value.", NULL },
       +  { (char *) "is_lazy", valpy_get_is_lazy, NULL,
       +    (char *) "Boolean telling whether the value is lazy (not fetched yet\n\
        from the inferior).  A lazy value is fetched when needed, or when\n\
        the \"fetch_lazy()\" method is called.", NULL },
          {NULL}  /* Sentinel */
    
    We have ~20 such arrays, and I first wrote a patch that fixed all of
    them like that...  It's not pretty...
    
    One way to make these a bit less ugly would be add a new macro that
    hides the casts, like:
    
      #define GDBPY_GSDEF(NAME, GET, SET, DOC, CLOSURE) \
         { (char *) NAME, GET, SET, (char *) DOC, CLOSURE }
    
    and then use it like:
    
        static PyGetSetDef value_object_getset[] = {
           GDBPY_GSDEF ("address", valpy_get_address, NULL,
           		    "The address of the value.", NULL),
           GDBPY_GSDEF ("is_optimized_out", valpy_get_is_optimized_out, NULL,
           		    "Boolean telling whether the value is optimized ", NULL),
          {NULL}  /* Sentinel */
        };
    
    But since we have C++11, which gives us constexpr and list
    initialization, I thought of a way that requires no changes where the
    arrays are initialized:
    
    We add a new type that extends PyGetSetDef (called gdb_PyGetSetDef),
    and add constexpr constructors that accept const 'name' and 'doc', and
    then list/aggregate initialization simply "calls" these matching
    constructors instead.
    
    I put "calls" in quotes, because given "constexpr", it's all done at
    compile time, and there's no overhead either in binary size or at run
    time.  In fact, we get identical binaries, before/after this change.
    
    Unlike the fixes that fix some old Python API to match the API of more
    recent Python, this switches to using explicit "gdb_PyGetSetDef"
    everywhere, just to be clear that we are using our own version of it.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* python/python-internal.h (gdb_PyGetSetDef): New type.
    	* python/py-block.c (block_object_getset)
    	(breakpoint_object_getset): Now a gdb_PyGetSetDef array.
    	* python/py-event.c (event_object_getset)
    	(finish_breakpoint_object_getset): Likewise.
    	* python/py-inferior.c (inferior_object_getset): Likewise.
    	* python/py-infthread.c (thread_object_getset): Likewise.
    	* python/py-lazy-string.c (lazy_string_object_getset): Likewise.
    	* python/py-linetable.c (linetable_entry_object_getset): Likewise.
    	* python/py-objfile.c (objfile_getset): Likewise.
    	* python/py-progspace.c (pspace_getset): Likewise.
    	* python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
    	Likewise.
    	* python/py-record.c (recpy_record_getset): Likewise.
    	* python/py-symbol.c (symbol_object_getset): Likewise.
    	* python/py-symtab.c (symtab_object_getset, sal_object_getset):
    	Likewise.
    	* python/py-type.c (type_object_getset, field_object_getset):
    	Likewise.
    	* python/py-value.c (value_object_getset): Likewise.

commit 4d75997912d77497fd395fde222513436a7df046
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:35 2017 +0100

    -Wwrite-strings: More fix-old-Python-API wrappers
    
    When building against Python 2.7, -Wwrite-strings flags several cases
    of passing a string literal to Python functions that expect a "char
    *".  This commit addresses the issue like we already handle several
    other similar cases -- wrap the Python API with our own fixed
    version that adds the necessary constification.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* python/python-internal.h (gdb_PyObject_CallMethod)
    	(gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
    	New functions.
    	(GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
    	(PySys_GetObject, PySys_SetPath): New macros.

commit 21c8a587ab81a58d3e067551d5503a765f00ec6e
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:35 2017 +0100

    -Wwrite-strings: gdbserver/win32-low.c and TARGET_WAITKIND_EXECD
    
     src/gdb/gdbserver/win32-low.c:1499:39: error: ISO C++ forbids converting a string constant to 'char*' [-Werror=write-strings]
    	ourstatus->value.execd_pathname = "Main executable";
    					^
    
    This reporting via TARGET_WAITKIND_EXECD it's totally unnecessary.
    get_child_debug_event returns a TARGET_WAITKIND_SPURIOUS by default,
    which works just as well here, and is what the equivalent code in
    gdb/windows-nat.c does too.
    
    gdb/gdbserver/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* win32-low.c (get_child_debug_event)
    	<CREATE_PROCESS_DEBUG_EVENT>: Don't report TARGET_WAITKIND_EXECD.
    	Report TARGET_WAITKIND_SPURIOUS instead.

commit fb32b4f7005ef8f1bde02394b58b5c5eda9cbf10
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:35 2017 +0100

    -Wwrite-strings: gdbserver's 'port' parsing
    
    -Wwrite-strings flags this assignment as requiring a cast:
    
    		  port = STDIO_CONNECTION_NAME;
    
    because 'port' is a "char *", and STDIO_CONNECTION_NAME is a string
    literal.
    
    gdb/gdbserver/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
            * remote-utils.c (remote_prepare, remote_open): Constify.
            * remote-utils.h (remote_prepare, remote_open): Constify.
            * server.c (captured_main): Constify 'port' handling.

commit fdf9e36fa2ed39f0da0dfa5dfdbd8e2452c6cb45
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:35 2017 +0100

    -Wwrite-strings: MI -info-os
    
    -Wwrite-strings flags this attempt to convert a string literal to
     "char *":
    
          info_osdata_command ("", 0);
    
    info_osdata_command is a command function.  We could address this by
    simply passing NULL instead of "".  However, I went a little bit
    further and added a new function that is called by both the CLI and
    MI.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
    	info_osdata_command.
    	* osdata.c (info_osdata_command): Rename to ...
    	(info_osdata): ... this.  Constify 'type' parameter, and remove
    	the 'from_tty' parameter.  Accept NULL TYPE.
    	(info_osdata_command): New function.
    	* osdata.h (info_osdata_command): Remove declaration.
    	(info_osdata): New declaration.

commit 9f33b8b7c19413efbb37638bdba54706e4da8573
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:34 2017 +0100

    -Wwrite-strings: Constify mi_cmd_argv_ftype's 'command' parameter
    
    -Wwrite-strings flags this attempt to pass a literal to a "char *":
    
    	mi_cmd_interpreter_exec ("-interpreter-exec", argv, 2);
    
    Fix that by constifying mi_cmd_argv_ftype's 'command' parameter and
    adjusting all MI commands.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
    	(mi_cmd_dprintf_insert, mi_cmd_break_passcount)
    	(mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
    	parameter.
    	* mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
    	(mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
    	* mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
    	parameter.
    	* mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
    	(mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
    	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
    	(mi_cmd_file_list_exec_source_files)
    	(mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
    	* mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
    	(mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
    	parameter.
    	* mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
    	(mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
    	(mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
    	(mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
    	(mi_cmd_stack_info_frame): Constify 'command' parameter.
    	* mi/mi-cmd-target.c (mi_cmd_target_file_get)
    	(mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
    	'command' parameter.
    	* mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
    	(mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
    	(mi_cmd_var_set_frozen, mi_cmd_var_show_format)
    	(mi_cmd_var_info_num_children, mi_cmd_var_list_children)
    	(mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
    	(mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
    	(mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
    	(mi_cmd_var_update, mi_cmd_enable_pretty_printing)
    	(mi_cmd_var_set_update_range): Constify 'command' parameter.
    	* mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
    	* mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
    	parameter.
    	* mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
    	(mi_cmd_exec_next_instruction, mi_cmd_exec_step)
    	(mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
    	(mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
    	(mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
    	(mi_cmd_target_flash_erase, mi_cmd_thread_select)
    	(mi_cmd_thread_list_ids, mi_cmd_thread_info)
    	(mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
    	(mi_cmd_data_list_changed_registers)
    	(mi_cmd_data_write_register_values)
    	(mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
    	(mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
    	(mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
    	(mi_cmd_list_features, mi_cmd_list_target_features)
    	(mi_cmd_add_inferior, mi_cmd_remove_inferior)
    	(mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
    	(mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
    	(mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
    	(mi_cmd_trace_frame_collected): Constify 'command'
    	parameter.
    	* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
    	'command' parameter.

commit 67cb5b2da285175d37782f3606992b8052234b00
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:34 2017 +0100

    -Wwrite-strings: Constify word break character arrays
    
    -Wwrite-strings flags several cases of missing casts around
    initializations like:
    
       static char *gdb_completer_command_word_break_characters =
        " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,";
    
    Obviously these could/should be const.  However, while at it, there's
    no need for these variables to be pointers instead of arrays.  They
    are never changed to point to anything else.
    
    Unfortunately, readline's rl_completer_word_break_characters is
    "char *", not "const char *".  So we always need a cast somewhere.  The
    approach taken here is to add a new
    set_rl_completer_word_break_characters function that becomes the only
    place that writes to rl_completer_word_break_characters, and thus the
    single place that needs the cast.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_completer_word_break_characters): Now a const
    	array.
    	(ada_get_gdb_completer_word_break_characters): Constify.
    	* completer.c (gdb_completer_command_word_break_characters)
    	(gdb_completer_file_name_break_characters)
    	(gdb_completer_quote_characters): Now const arrays.
    	(get_gdb_completer_quote_characters): Constify.
    	(set_rl_completer_word_break_characters): New function.
    	(set_gdb_completion_word_break_characters)
    	(complete_line_internal): Use it.
    	* completer.h (get_gdb_completer_quote_characters): Constify.
    	(set_rl_completer_word_break_characters): Declare.
    	* f-lang.c (f_word_break_characters): Constify.
    	* language.c (default_word_break_characters): Constify.
    	* language.h (language_defn::la_word_break_characters): Constify.
    	(default_word_break_characters): Constify.
    	* top.c (init_main): Use set_rl_completer_word_break_characters.

commit 7a1149643d8621541025e2c70e6391e901c8c7ef
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:34 2017 +0100

    -Wwrite-strings: Constify target_pid_to_str and target_thread_extra_thread_info
    
    -Wwrite-strings flagged a missing cast for example here:
    
       static char *
       ravenscar_extra_thread_info (struct target_ops *self, struct thread_info *tp)
       {
         return "Ravenscar task";
    
    Since callers are not supposed to free the string returned by these
    methods, change the methods' signature to return const strings.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* aix-thread.c (aix_thread_pid_to_str)
    	(aix_thread_extra_thread_info): Constify.
    	* bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
    	* bsd-uthread.c (bsd_uthread_extra_thread_info)
    	(bsd_uthread_pid_to_str): Constify.
    	* corelow.c (core_pid_to_str): Constify.
    	* darwin-nat.c (darwin_pid_to_str): Constify.
    	* fbsd-nat.c (fbsd_pid_to_str): Constify.
    	* fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
    	Constify.
    	* gnu-nat.c (gnu_pid_to_str): Constify.
    	* go32-nat.c (go32_pid_to_str): Constify.
    	* i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
    	* inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
    	* inferior.c (inferior_pid_to_str): Constify.
    	* linux-nat.c (linux_nat_pid_to_str): Constify.
    	* linux-tdep.c (linux_core_pid_to_str): Constify.
    	* linux-thread-db.c (thread_db_pid_to_str)
    	(thread_db_extra_thread_info): Constify.
    	* nto-tdep.c (nto_extra_thread_info): Constify.
    	* nto-tdep.h (nto_extra_thread_info): Constify.
    	* obsd-nat.c (obsd_pid_to_str): Constify.
    	* procfs.c (procfs_pid_to_str): Constify.
    	* ravenscar-thread.c (ravenscar_extra_thread_info)
    	(ravenscar_pid_to_str): Constify.
    	* remote-sim.c (gdbsim_pid_to_str): Constify.
    	* remote.c (remote_threads_extra_info, remote_pid_to_str):
    	Constify.
    	* sol-thread.c (solaris_pid_to_str): Constify.
    	* sol2-tdep.c (sol2_core_pid_to_str): Constify.
    	* sol2-tdep.h (sol2_core_pid_to_str): Constify.
    	* target.c (default_pid_to_str, target_pid_to_str)
    	(normal_pid_to_str, default_pid_to_str): Constify.
    	* target.h (target_ops::to_pid_to_str)
    	(target_ops::to_extra_thread_info): Constify.
    	(target_pid_to_str, normal_pid_to_str): Constify.
    	* windows-nat.c (windows_pid_to_str): Constify.
    	* gdbarch.sh (core_pid_to_str): Constify.
    	* target-delegates.c: Regenerate.
    	* gdbarch.h, gdbarch.c: Regenerate.

commit 69bbf465237819bd7bf2a21a682d695273b3c8cb
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:34 2017 +0100

    -Wwrite-strings: Constify warning_pre_print
    
    -Wwrite-strings flags a warning here:
    
      char *warning_pre_print = "\nwarning: ";
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves	 <palves@redhat.com>
    
    	* main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
    	the memory of the temporary warning_pre_print override.
    	* utils.c (warning_pre_print): Constify.
    	* utils.h (warning_pre_print): Constify.

commit be47f9e8180d7275b0e2b26998472e99be9a2d7b
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:34 2017 +0100

    -Wwrite-strings: Constify shell_escape and plug make_command leak
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves	 <palves@redhat.com>
    
    	* cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
    	(shell_command): New function.
    	(make_command): Use std::string.
    	(init_cli_cmds): Register shell_command instead of shell_escape.

commit bde6261aed330cd8d108c387bfe659a6171525dd
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:33 2017 +0100

    -Wwrite-strings: Don't initialize string command variables to empty string
    
    -Wwrite-strings flags these initializations as requiring a cast.
    However, these variables are command variables, and as such point to
    heap-allocated memory.  The initial allocation is always done when the
    corresponding command is registered.  E.g.,:
    
        dprintf_function = xstrdup ("printf");
        add_setshow_string_cmd ("dprintf-function", class_support,
    			    &dprintf_function, _("\
      Set the function to use for dynamic printf"), _("\
      Show the function to use for dynamic printf"), NULL,
    			    update_dprintf_commands, NULL,
    			    &setlist, &showlist);
    
    That's why we never reach a bogus attempt to free these string
    literals.
    
    So, just drop the incorrect initializations.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
    	* tracepoint.c (default_collect): Don't initialize.

commit b38ef47f47bda5509babd768092ceb09ab98828d
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:33 2017 +0100

    -Wwrite-strings: Constify macroexp.c:init_shared_buffer
    
    There's one call in the file that passes a string literal, like:
    
    	init_shared_buffer (&va_arg_name, "__VA_ARGS__",
    				  strlen ("__VA_ARGS__"));
    
    Instead of adding a cast here, make init_shared_buffer take a 'const
    char *', and remove the several casts in the file that are made
    obsolete.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* macroexp.c (macro_buffer::shared): Now a bool.
    	(init_buffer): Update.
    	(init_shared_buffer): Constify 'addr' parameter.
    	(substitute_args, expand, macro_expand, macro_expand_next): Remove
    	casts.

commit f995bbe8e62fdb5607acb1ee127240cfe50d2b8f
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 19:21:33 2017 +0100

    -Wwrite-strings: Constify struct disassemble_info's disassembler_options field
    
    The memory disassemble_info::disassembler_options points to is always
    owned by the client.  I.e., that field is an non-owning, observing
    pointer.  Thus const makes sense.
    
    Are the include/ and opcodes/ bits OK?
    
    Tested on x86_64 Fedora 23, built with --enable-targets=all.
    
    include/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* dis-asm.h (disassemble_info) <disassembler_options>: Now a
    	"const char *".
    	(next_disassembler_option): Constify.
    
    opcodes/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* arc-dis.c (parse_option, parse_disassembler_options): Constify.
    	* arm-dis.c (parse_arm_disassembler_options): Constify.
    	* ppc-dis.c (powerpc_init_dialect): Constify local.
    	* vax-dis.c (parse_disassembler_options): Constify.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* arm-tdep.c (show_disassembly_style_sfunc): Constify local.
    	* disasm.c (set_disassembler_options): Constify local.
    	* i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.

commit 0ad9d8c73486e60c5a4963c1b7a0ea7063d69cd2
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Apr 5 12:43:52 2017 -0400

    PR 21352: Add testsuite for "tsave -r" command
    
    This commit adds a test for the fix of PR 21352.
    
    gdb/testsuite/ChangeLog:
    2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21352
    	* gdb.trace/tsv.exp: Add test for "tsave -r".

commit 4a596fe20e93109300e841a3d0ee5f198146ab6d
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Apr 5 12:28:30 2017 -0400

    Fix PR 21352: Command tsave does not support -r argument
    
    This is an obvious fix for PR 21352.  The problem is that the argument
    parsing loop is not using an "else if" where it should, and therefore
    the '-r' option ends up unrecognized by GDB.
    
    gdb/ChangeLog:
    2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21352
    	* tracefile.c (tsave_command): Fix argument parsing for '-r'
    	option.

commit 2cad08ea7dbc96103da9957da6973f9d0dbc33a8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Apr 5 14:55:43 2017 +0100

    Use frame_unwind_register_value in frame_unwind_register_unsigned
    
    gdb:
    
    2017-04-05  Yao Qi  <yao.qi@linaro.org>
    
    	* frame.c (frame_unwind_register_unsigned): Call
    	frame_unwind_register_value.

commit 55a98976756cb2df83ac8f8e9799331fbcc4f669
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Apr 5 14:46:13 2017 +0100

    Fix racy test in gdb.threads/thread-specific-bp.exp
    
    I see the following test fail from time to time, due to the racy test
    in gdb.threads/thread-specific-bp.exp.
    
    continue -a^M
    Continuing.^M
    ^M
    Thread 1 "thread-specific" hit Breakpoint 4, end () at binutils-gdb/gdb/testsuite/gdb.threads/thread-specific-bp.c:29^M
    29      }^M
    (gdb) [Thread 0x40322460 (LWP 12950) exited]^M
    Thread-specific breakpoint 3 deleted - thread 2 no longer in the thread list.^M
    FAIL: gdb.threads/thread-specific-bp.exp: non-stop: continue to end (timeout)
    
    This patch changes gdb_test to gdb_test_multiple to match prompt only
    instead of both prompt and anchor.
    
    gdb/testsuite:
    
    2017-04-05  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
    	Use gdb_test_multiple, and don't match anchor.

commit 8dea77f0254d6a76d71092c922e9409ef1b67df4
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Apr 5 12:47:41 2017 +0930

    PowerPC64le PLT reference counting
    
    A fix for ELFv2 ABI garbage-collection.
    
    	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
    	reference counting.

commit 4ac40124eef08045bf99ad9f4fcc277961953109
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Apr 5 09:39:49 2017 +0100

    New global maintainer - Simon Marchi
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* MAINTAINERS (Global Maintainers): Add Simon Marchi.
    	(Write After Approval): Remove Simon Marchi.

commit 4d5efb852be6554305dfaf17c1e4f07bb9514273
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Wed Apr 5 03:00:40 2017 +0200

    PR ld/21233: xfail failing test-parts for cris*-*-*

commit c053b65441eb70ac78a514fabc3431b857a30d2e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 23:49:27 2017 +0100

    Initialize gdb::optional empty payload to quiet false -Wmaybe-uninitialized warnings
    
    Commit ecfb656c37b982 ("dwarf2read.c: Make dir_index and
    file_name_index strong typedefs") added a use of gdb::optional that
    triggers bogus -Wmaybe-uninitialized warnings:
    
    GCC trunk is complaining like this:
    
      ../../binutils-gdb/gdb/dwarf2read.c: In function void read_formatted_entries(bfd*, const gdb_byte**, line_header*, const comp_unit_head*, void (*)(line_header*, const char*, dir_index, unsigned int, unsigned int)):
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: fe.file_entry::length may be used uninitialized in this function [-Werror=maybe-uninitialized]
    	 callback (lh, fe.name, fe.d_index, fe.mod_time, fe.length);
    								   ^
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: *((void*)& fe +8) may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: fe.file_entry::mod_time may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: fe.file_entry::name may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    While some older GCCs are complaining like this:
    
      ../../binutils-gdb/gdb/dwarf2read.c: In function void read_formatted_entries(bfd*, const gdb_byte**, line_header*, const comp_unit_head*, void (*)(line_header*, const char*, dir_index, unsigned int, unsigned int)):
      ../../binutils-gdb/gdb/dwarf2read.c:17779:65: error: uint may be used uninitialized in this function [-Werror=maybe-uninitialized]
    	 callback (lh, fe.name, fe.d_index, fe.mod_time, fe.length);
    
    Looking around the web, I see that boost's optional implementation
    triggers this kind of issue often too.  See:
    
      http://www.boost.org/doc/libs/1_63_0/libs/optional/doc/html/boost_optional/tutorial/gotchas/false_positive_with__wmaybe_uninitialized.html
    
    I noticed that replacing the gdb::optional uses with real C++17
    std::optional uses against GCC 7/trunk makes the warnings go away.
    Looking at the implementation, AFAICS, libstdc++ always initializes
    its "empty" union payload member (_M_empty, which is defined as an
    empty class, like ours).  I.e., all payload types have this ctor:
    
        struct _Optional_payload.....
        {
          constexpr _Optional_payload()
    	: _M_empty() {}
    
    The constexpr makes a diference too.  Without it, GCC7 still warns.
    
    So I'm applying the same treatment to our gdb::optional.
    
    gdb/ChangeLog:
    2017-04-05  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_optional.h (optional::optional): Make constexpr and
    	initialize m_dummy.

commit f3b8f8ee35bd62a2ae7d21561f5d23f00dad004f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Apr 5 00:00:36 2017 +0000

    Automatic date update in version.in

commit 80070c0d3491347f11283c5791b9dd040fedbd4f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Mar 27 12:39:07 2017 +0100

    PR ld/21233: Avoid sweeping forced-undefined symbols in section GC
    
    Complement commit 902e9fc76a0e ("PR ld/20828: Move symbol version
    processing ahead of GC symbol sweep"), commit b531344c34b0 ("PR
    ld/20828: Reorder the symbol sweep stage of section GC") and commit
    81ff47b3a546 ("PR ld/20828: Fix linker script symbols wrongly forced
    local with section GC"), and prevent symbols forcibly entered in the
    output file with the use of the `--undefined=' or `--require-defined='
    linker command line options or the EXTERN linker script command from
    being swept in section garbage collection and consequently recorded in
    the dynamic symbol table as local entries.  This happens in certain
    circumstances, where a symbol reference also exists in one of the static
    input files, however only in a section which is garbage-collected and
    does not make it to the output file, and the symbol is defined in a
    dynamic object present in the link.
    
    For example with the `i386-linux' target and the `pr21233.s' and
    `pr21233-l.s' sources, and the `pr21233.ld' linker script included with
    this change we get:
    
    $ as -o pr21233-l.o pr21233-l.s
    $ ld -shared -T pr21233.ld -o libpr21233.so pr21233-l.o
    $ as -o pr21233.o pr21233.s
    $ ld --gc-sections -e foo --require-defined=bar -T pr21233.ld -o pr21233 pr21233.o libpr21233.so
    $ readelf --dyn-syms pr21233
    
    Symbol table '.dynsym' contains 2 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 00000000     0 OBJECT  LOCAL  DEFAULT  UND bar
    $
    
    which makes the run-time `bar' dependency of the `pr21233' executable
    different from its corresponding link-time dependency, i.e. the presence
    of `libpr21233.so' and its `bar' symbol is required at the link time,
    however at the run time a copy of `libpr21233.so' without `bar' will do.
    Similarly with `--undefined=' and EXTERN which do not actually require
    the reference to the symbol requested to be satisfied with a definition
    at the link time, however once the definition has been pulled at the
    link time, so it should at the dynamic load time.
    
    Additionally with the `mips-linux' target we get:
    
    $ ld --gc-sections -e foo --require-defined=bar -T pr21233.ld -o pr21233 pr21233.o libpr21233.so
    ld: BFD (GNU Binutils) 2.28.51.20170324 assertion fail .../bfd/elfxx-mips.c:3861
    $
    
    as the target is not prepared to handle such a local dynamic symbol.
    
    With this change in effect we get:
    
    $ readelf --dyn-syms pr21233
    
    Symbol table '.dynsym' contains 2 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 00000000     0 OBJECT  GLOBAL DEFAULT  UND bar
    $
    
    instead, for both targets.
    
    	ld/
    	PR ld/21233
    	* ldlang.c (insert_undefined): Set `mark' for ELF symbols.
    	* testsuite/ld-elf/pr21233.sd: New test.
    	* testsuite/ld-elf/pr21233-l.sd: New test.
    	* testsuite/ld-elf/pr21233.ld: New test linker script.
    	* testsuite/ld-elf/pr21233-e.ld: New test linker script.
    	* testsuite/ld-elf/pr21233.s: New test source.
    	* testsuite/ld-elf/pr21233-l.s: New test source.
    	* testsuite/ld-elf/shared.exp: Run the new tests.

commit 4c7bf4f91b7dd3ccbd12be55316fca8817059a24
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 4 14:28:07 2017 -0700

    Remove support for using the bsd-uthread target on FreeBSD.
    
    The bsd-uthread target supports an old thread library ("libc_r") that
    was last included in FreeBSD release 6.4 released in 2008.  However,
    this library has not been used as the default library since FreeBSD
    5.0 (2003) and 4.11 (2005).  Thread support for modern FreeBSD binaries
    is provided via "normal" LWP support in core files and the native
    FreeBSD target.
    
    gdb/ChangeLog:
    
    	* amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
    	(amd64fbsd_jmp_buf_reg_offset): Remove.
    	(amd64fbsd_supply_uthread): Remove function.
    	(amd64fbsd_collect_uthread): Remove function.
    	(amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
    	* configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
    	(x86_64-*-freebsd*): Remove bsd-uthread.o.
    	(fbsd-nat.c): Update comment.
    	* i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
    	(i386fbsd_jmp_buf_reg_offset): Remove.
    	(i386fbsd_supply_uthread): Remove function.
    	(i386fbsd_collect_uthread): Remove function.
    	(i386fbsd_init_abi): Don't set bsd-uthread callbacks.

commit 1e1a8bef60db2f524c5eb1d27be22cfa9ff82a84
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 4 14:20:37 2017 -0700

    Remove support for FreeBSD/alpha.
    
    FreeBSD last shipped a release for Alpha (6.3) in 2008.
    This also removes support for GNU/kFreeBSD on Alpha.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
    	(ALLDEPFILES): Remove alpha-fbsd-tdep.c
    	* NEWS: Mention that support for FreeBSD/alpha was removed.
    	* alpha-fbsd-tdep.c: Delete file.
    	* config/alpha/fbsd.mh: Delete file.
    	* configure.host: Delete alpha*-*-freebsd* and
    	alpha*-*-kfreebsd*-gnu.
    	* configure.tgt: Delete alpha*-*-freebsd* and
    	alpha*-*-kfreebsd*-gnu.

commit 499079343549348e270047ffa2687a8a76523700
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Tue Apr 4 13:57:47 2017 -0700

    Use ptid from regcache instead of inferior_ptid.
    
    gdb/ChangeLog:
    
    	* amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
    	amd64bsd_store_inferior_registers): Use ptid from regcache.

commit 6f77053d2ae56f16c10a8817732ed9fb43893507
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:26 2017 +0100

    dwarf2read.c: C++fy lnp_state_machine
    
    While I was looking at the file, I noticed that this struct could be
    nicely converted to a class.  As I was progressing, I ended up moving
    all state machine actual internal state manipulation to methods of
    lnp_state_machine, essentially decoupling DWARF parsing from state
    tracking.  I also noticed that the lnp_reader_state doesn't really
    serve any good use, so that's eliminated in the process.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
    	data fields, make them private and add "m_" prefixes.
    	(lnp_state_machine::lnp_state_machine): New ctor.
    	(record_line, check_line_address, handle_set_discriminator)
    	(handle_set_address, handle_advance_pc, handle_special_opcode)
    	(handle_advance_line, handle_set_file, handle_negate_stmt)
    	(handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
    	(end_sequence, advance_line): New methods.
    	(m_gdbarch, m_record_lines_p): New fields.
    	(lnp_reader_state): Delete.
    	(dwarf_record_line): Rename to ...
    	(lnp_state_machine::record_line): ... adjust.
    	(init_lnp_state_machine): Delete.
    	(lnp_state_machine::lnp_state_machine): New.
    	(check_line_address): Rename to ...
    	(lnp_state_machine::check_line_address): This.
    	(dwarf_decode_lines_1): Remove reference to "reader_state".
    	Adjust lnp_state_machine having a non-default ctor.  Use bool.
    	State machine internal state manipulation moved to
    	lnp_state_machine methods.

commit 9c5417255690af00751c7d506172459afe856894
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:26 2017 +0100

    Make sect_offset and cu_offset strong typedefs instead of structs
    
    A while ago, back when GDB was a C program, the sect_offset and
    cu_offset types were made structs in order to prevent incorrect mixing
    of those offsets.  Now that we require C++11, we can make them
    integers again, while keeping the safety, by exploiting "enum class".
    We can add a bit more safety, even, by defining operators that the
    types _should_ support, helping making the suspicious uses stand out
    more.
    
    Getting at the underlying type is done with the new to_underlying
    function added by the previous patch, which also helps better spot
    where do we need to step out of the safety net.  Mostly, that's around
    parsing the DWARF, and when we print the offset for complaint/debug
    purposes.  But there are other occasional uses.
    
    Since we have to define the sect_offset/cu_offset types in a header
    anyway, I went ahead and generalized/library-fied the idea of "offset"
    types, making it trivial to add more such types if we find a use.  See
    common/offset-type.h and the DEFINE_OFFSET_TYPE macro.
    
    I needed a couple generaly-useful preprocessor bits (e.g., yet another
    CONCAT implementation), so I started a new common/preprocessor.h file.
    
    I included units tests covering the "offset" types API.  These are
    mostly compile-time tests, using SFINAE to check that expressions that
    shouldn't compile (e.g., comparing unrelated offset types) really are
    invalid and would fail to compile.  This same idea appeared in my
    pending enum-flags revamp from a few months ago (though this version
    is a bit further modernized compared to what I had posted), and I plan
    on reusing the "check valid expression" bits added here in that
    series, so I went ahead and defined the CHECK_VALID_EXPR macro in its
    own header -- common/valid-expr.h.  I think that's nicer regardless.
    
    I was borderline between calling the new types "offset" types, or
    "index" types, BTW.  I stuck with "offset" simply because that's what
    we're already calling them, mostly.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
    	unittests/offset-type-selftests.c.
    	(SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
    	* common/offset-type.h: New file.
    	* common/preprocessor.h: New file.
    	* common/traits.h: New file.
    	* common/valid-expr.h: New file.
    	* dwarf2expr.c: Include "common/underlying.h".  Adjust to use
    	sect_offset and cu_offset strong typedefs throughout.
    	* dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
    	typedefs throughout.
    	* dwarf2loc.c: Include "common/underlying.h".  Adjust to use
    	sect_offset and cu_offset strong typedefs throughout.
    	* dwarf2read.c: Adjust to use sect_offset and cu_offset strong
    	typedefs throughout.
    	* gdbtypes.h: Include "common/offset-type.h".
    	(cu_offset): Now an offset type (strong typedef) instead of a
    	struct.
    	(sect_offset): Likewise.
    	(union call_site_parameter_u): Rename "param_offset" field to
    	"param_cu_off".
    	* unittests/offset-type-selftests.c: New file.

commit ecfb656c37b982479d8eb07f240b434772d98fd6
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:25 2017 +0100

    dwarf2read.c: Make dir_index and file_name_index strong typedefs
    
    This should help catch mistakes related to mixing the 1-based DWARF
    indexes with 0-based std::vector indexes, since the new types do not
    implicitly convert to anything.
    
    The change in read_formatted_entries relates to the fact that doing
    the seemingly simpler:
    
     -	      uintp = &fe.dir_index;
     +	      uintp = (unsigned int *) &fe.dir_index;
    
    would be undefined C/C++.  So to address that, I made the function
    extract the form before assigning to the file_entry.  It felt natural
    to use gdb::optional for "do I have this value", and this is what
    motivated the previous patch that added the missing observer methods
    to gdb::optional.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* common/underlying.h: New file.
    	* dwarf2read.c: Include "common/gdb_optional.h" and
    	"common/underlying.h".
    	(dir_index, file_name_index): New types.
    	(file_entry): Use them.
    	(file_entry::include): Use to_underlying.
    	(line_header::add_file_name): Use dir_index.
    	(read_formatted_entries): Use gdb::optional.  Read form before
    	writting to file_entry.
    	(dwarf_decode_line_header): Use dir_index.
    	(lnp_state_machine::current_file): Use to_underlying.
    	(lnp_state_machine::file): Change type to file_name_index.
    	(dwarf_record_line): Use to_underlying.
    	(init_lnp_state_machine): Use file_name_index.
    	(dwarf_decode_lines_1): Use dir_index and file_name_index.

commit d194f1fe51cb85b8a919b7ee9e3a7715b0ec9744
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:25 2017 +0100

    gdb::optional: Add observers
    
    Currently, gdb::optional is really minimal and can only be used for
    lazy initialization.  There's no way to get at the value contained
    inside the optinal.  This commit corrects that, by adding observer
    methods, mostly copied from libstdc++'s implementation of C++17
    std::optional.
    
    This will be used in the following patch.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
    	operator bool, has_value and get methods.

commit fff8551cf549f4047c9276a836408d802db6ce6d
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Apr 4 20:03:25 2017 +0100

    dwarf2read.c: Some C++fycation, use std::vector, std::unique_ptr
    
    This starts off as replacing a couple custom open coded vector
    implementations in the file with std::vector, and then the rest falls
    off of that.  I.e., use new/delete instead of XCNEW/xfree, add
    ctors/dtors/initializers where appropriate.  And then use
    std::unique_ptr instead of cleanups.  Some functions became methods,
    and in a couple spots, some single-use callback functions that would
    have to be tweaked anyway are converted to lambdas instead.
    
    gdb/ChangeLog:
    2017-04-04  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (struct file_entry): Add ctors, and initialize all
    	fields.
    	(line_header): Initialize all data fields.  Change type of
    	standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
    	Change type of include_dirs to std::vector<const char *>.  Remove
    	num_include_dirs, include_dirs_size.  Change type of file_names to
    	std::vector<file_entry>.  Remove num_file_names, file_names_size.
    	(line_header::line_header): New.
    	(line_header::add_include_dir, line_header::add_file_name): New
    	methods.
    	(line_header::include_dir_at): Remove NULL check.
    	(line_header::file_name_at): Add const overload.
    	(line_header_up): New unique_ptr typedef.
    	(dw2_get_file_names_reader): Use line_header_up.  Adjust to use
    	std::vector.  Remove free_line_header call.
    	(dwarf2_build_include_psymtabs): Use line_header_up.  Remove
    	free_line_header call.
    	(free_cu_line_header): Delete.
    	(handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
    	(setup_type_unit_groups): Use line_header_up instead of cleanups.
    	Adjust to use std::vector.
    	(free_line_header): Delete.
    	(free_line_header_voidp): Use delete.
    	(add_include_dir): Replace with ...
    	(line_header::add_include_dir): ... this method.  Use std::vector.
    	(add_file_name): Replace with ...
    	(line_header::add_file_name): ... this method.  Use std::vector.
    	(add_include_dir_stub): Delete.
    	(read_formatted_entries): Remove memset.
    	(dwarf_decode_line_header): Return a line_header_up instead of a
    	raw pointer.  Remove cleanup handling.  Pass lambdas to
    	read_formatted_entries.  Adjust to use line_header methods.
    	(dwarf_decode_lines_1): Adjust to use line_header methods.
    	(dwarf_decode_lines, file_file_name, file_full_name): Adjust to
    	use std::vector.

commit 477bdd393c8145ad44899cb4681d57a61c82aad3
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Thu Jun 2 13:46:58 2016 +0000

    Use symbolic constants instead of magic numbers with add_data_entry()
    
    Use symbolic constants from include/coff/internal.h instead of magic numbers
    with add_data_entry()
    
    bfd/ChangeLog:
    
    2017-04-02  Jon Turney  <jon.turney@dronecode.org.uk>
    
    	(_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
    	numbers for DataDirectory entry indicies passed to
    	add_data_entry().

commit 988ad1def9fae173cd8b4363c41743443e282e54
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 4 09:13:44 2017 -0700

    Revert "Apply binutils-properties.patch"
    
    This reverts commit b668d5b24c07dff5c960bc2b646ddad1f4e49fc8.
    
    It has been applied to master branch.

commit 7f007d8c52d834945b60c0adee016546d5070f98
Merge: b668d5b a91e160
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 4 09:13:27 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit a91e1603afb6704545793e967a1a3dfe96b389de
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 4 09:05:48 2017 -0700

    Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX
    
    Mark an ALLOC section, which should be placed in special memory area,
    with SHF_GNU_MBIND.  Its sh_info field indicates the special memory
    type.  GNU_MBIND section names start with ".mbind" so that they are
    placed as orphan sections by linker.  All input GNU_MBIND sections
    with the same sh_type, sh_flags and sh_info are placed in one output
    GNU_MBIND section.  In executable and shared object, create a
    GNU_MBIND segment for each GNU_MBIND section and its segment type is
    PT_GNU_MBIND_LO plus the sh_info value.  Each GNU_MBIND segment is
    aligned at page boundary.
    
    The assembler syntax:
    
        .section .mbind.foo,"adx",%progbits
                              ^             0: Special memory type.
                              |
                             'd' for SHF_GNU_MBIND.
    
        .section .mbind.foo,"adx",%progbits,0x1
                              ^             1: Special memory type.
                              |
                             'd' for SHF_GNU_MBIND.
    
        .section .mbind.bar,"adG",%progbits,.foo_group,comdat,0x2
                              ^                               2: Special memory type.
                              |
                             'd' for SHF_GNU_MBIND.
    
    bfd/
    
    	* elf.c (get_program_header_size): Add a GNU_MBIND segment for
    	each GNU_MBIND section and align GNU_MBIND section to page size.
    	(_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
    	segment for each GNU_MBIND section.
    	(_bfd_elf_init_private_section_data): Copy sh_info from input
    	for GNU_MBIND section.
    
    binutils/
    
    	* NEWS: Mention support for ELF SHF_GNU_MBIND and
    	PT_GNU_MBIND_XXX.
    	* readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
    	(get_elf_section_flags): Handle SHF_GNU_MBIND.
    	(process_section_headers): Likewise.
    	* testsuite/binutils-all/mbind1.s: New file.
    	* testsuite/binutils-all/objcopy.exp: Run readelf test on
    	mbind1.s.
    
    gas/
    
    	* NEWS: Mention support for ELF SHF_GNU_MBIND.
    	* config/obj-elf.c (section_match): New.
    	(get_section): Match both sh_info and group name.
    	(obj_elf_change_section): Add argument for sh_info.  Pass both
    	sh_info and group name to get_section. Issue an error for
    	SHF_GNU_MBIND section without SHF_ALLOC.  Set sh_info.
    	(obj_elf_parse_section_letters): Set SHF_GNU_MBIND for 'd'.
    	(obj_elf_section): Support SHF_GNU_MBIND section info.
    	* config/obj-elf.h (obj_elf_change_section): Add argument for
    	sh_info.
    	* config/tc-arm.c (start_unwind_section): Pass 0 as sh_info to
    	obj_elf_change_section.
    	* config/tc-ia64.c (obj_elf_vms_common): Likewise.
    	* config/tc-microblaze.c (microblaze_s_data): Likewise.
    	(microblaze_s_sdata): Likewise.
    	(microblaze_s_rdata): Likewise.
    	(microblaze_s_bss): Likewise.
    	* config/tc-mips.c (s_change_section): Likewise.
    	* config/tc-msp430.c (msp430_profiler): Likewise.
    	* config/tc-rx.c (parse_rx_section): Likewise.
    	* config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
    	* doc/as.texinfo: Document 'd' for SHF_GNU_MBIND.
    	* testsuite/gas/elf/elf.exp: Run section12a, section12b and
    	section13.
    	* testsuite/gas/elf/section10.d: Updated.
    	* testsuite/gas/elf/section10.s: Likewise.
    	* testsuite/gas/elf/section12.s: New file.
    	* testsuite/gas/elf/section12a.d: Likewise.
    	* testsuite/gas/elf/section12b.d: Likewise.
    	* testsuite/gas/elf/section13.l: Likewise.
    	* testsuite/gas/elf/section13.d: Likewise.
    	* testsuite/gas/elf/section13.s: Likewise.
    
    include/
    
    	* elf/common.h (PT_GNU_MBIND_NUM): New.
    	(PT_GNU_MBIND_LO): Likewise.
    	(PT_GNU_MBIND_HI): Likewise.
    	(SHF_GNU_MBIND): Likewise.
    
    ld/
    
    	* NEWS: Mention support for ELF SHF_GNU_MBIND and
    	PT_GNU_MBIND_XXX.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Place
    	input GNU_MBIND sections with the same type, attributes and
    	sh_info field into a single output GNU_MBIND section.
    	* testsuite/ld-elf/elf.exp: Run mbind2a and mbind2b.
    	* testsuite/ld-elf/mbind1.s: New file.
    	* testsuite/ld-elf/mbind1a.d: Likewise.
    	* testsuite/ld-elf/mbind1b.d: Likewise.
    	* testsuite/ld-elf/mbind1c.d: Likewise.
    	* testsuite/ld-elf/mbind2a.s: Likewise.
    	* testsuite/ld-elf/mbind2b.c: Likewise.

commit b52920324fabbcad93042f2e17de52696d0dab42
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Mon Apr 3 10:08:29 2017 -0700

    RISC-V: Resurrect GP-relative disassembly hints
    
    We missed a "_gp" when changing the GP symbol.  To make sure that
    doesn't happen again, we now use the same definition everywhere (thanks,
    Nick).
    
    include/ChangeLog:
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * elf/riscv.h (RISCV_GP_SYMBOL): New define.
    
    bfd/ChangeLog:
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * elfnn-riscv.c (GP_NAME): Delete.
            (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
            (_bfd_riscv_relax_lui): Likewise.
    
    opcodes/ChangeLog:
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * riscv-dis.c (riscv_disassemble_insn): Change "_gp" to
            RISCV_GP_SYMBOL.

commit 65dd1e590e519eba10bc29fb6e952271e0604c9b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Apr 4 10:48:24 2017 -0400

    gdbserver: Clear .deps on clean
    
    In some situations, the dependency tracking files in .deps can refer to
    source files that were removed or renamed, leading to errors like:
    
      make: *** No rule to make target `version.c', needed by `version.o'. Stop.
    
    This patch makes the clean target clear the .deps directory, which gives
    the user a chance to recover from the error wihtout knowing about the
    internals of the build system.
    
    It is already done for GDB.  See here for more details:
    
      https://sourceware.org/ml/gdb-patches/2009-03/msg00000.html
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (clean): Clear .deps.

commit d62a8ae2dd0fbb6235f4e8f2fb61b83fe4ba1d90
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Apr 4 10:31:50 2017 -0400

    remote.c: Use ptid_t instead of struct ptid
    
    It's the only place in the codebase that uses "struct ptid", so change
    it to ptid_t for consistency.
    
    gdb/ChangeLog:
    
    	* remote.c (set_general_thread, set_continue_thread): Use ptid_t
    	instead of struct ptid.

commit ad32986fdf9da1c8748e47b8b45100398223dba8
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Apr 4 11:23:36 2017 +0100

    Fix null pointer dereferences when using a link built with clang.
    
    	PR binutils/21342
    	* elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
    	dereference.
    	(bfd_elf_final_link): Only initialize the extended symbol index
    	section if there are extended symbol tables to list.

commit db3a1dc7c9404e203c54576db3335e69d995e83e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Apr 4 08:42:30 2017 +0100

    Remove MAX_REGISTER_SIZE from frame.c
    
    gdb/
    	* frame.c (get_frame_register_bytes): Unwind using value.
    	(put_frame_register_bytes): Likewise.

commit 4c220b4625df0b08cbb22e5c7ca04dc7a629de1b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Apr 4 00:00:42 2017 +0000

    Automatic date update in version.in

commit c41cf6fdf514fce6b69f8f875b6903b2a3910f89
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Mon Apr 3 09:03:57 2017 -0700

    RISC-V: Avoid a const warning
    
    2017-04-03  Palmer Dabbelt  <palmer@dabbelt.com>
    
           * config/tc-riscv.c (riscv_clear_subsets): Cast argument to free to
           avoid const warnings.

commit 2f5f29cada3c06c9c26f4da5994951effee7d6f7
Author: Andrew Jenner <andrew@codesourcery.com>
Date:   Mon Apr 3 09:13:19 2017 -0700

    	IA16 support
    
           * config.sub: Handle ia16 in $basic_machine.
    
           bfd/
           * config.bfd: Handle ia16.
    
           gas/
           * configure.tgt: Handle ia16.
    
           ld/
           * configure.tgt: Handle ia16.

commit 2514e33e01890ad28023359b110d1c9c1ad201d4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 3 08:25:36 2017 -0700

    Correct the ChangeLog entry

commit 46bed6796d5821832e8ba373ddb2e7fdc45a109d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 3 08:03:14 2017 -0700

    ld: Support ELF GNU program properties
    
    From .note.gnu.property section in each ELF input, we build a list of
    GNU properties if .note.gnu.property section isn't corrupt.  The unknown
    properties are ignored.  All property lists in relocatable inputs are
    merged into an output property list.  When -z stack-size=N is used and
    N isn't 0, the GNU_PROPERTY_STACK_SIZE property will be merged with or
    added to the output property list.  .note.gnu.property section is
    generated in output from the output property list.
    
    bfd/
    
    	* Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
    	(BFD32_BACKENDS_CFILES): Add elf-properties.c.
    	* configure.ac (elf): Add elf-properties.lo.
    	* Makefile.in: Regenerated.
    	* configure: Likewise.
    	* elf-bfd.h (elf_property_kind): New.
    	(elf_property): Likewise.
    	(elf_property_list): Likewise.
    	(elf_properties): Likewise.
    	(_bfd_elf_parse_gnu_properties): Likewise.
    	(_bfd_elf_get_property): Likewise.
    	(_bfd_elf_link_setup_gnu_properties): Likewise.
    	(elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
    	and setup_gnu_properties.
    	(elf_obj_tdata): Add properties.
    	* elf-properties.c: New file.
    	* elf32-i386.c (elf_i386_parse_gnu_properties): New.
    	(elf_i386_merge_gnu_properties): Likewise.
    	(elf_backend_parse_gnu_properties): Likewise.
    	(elf_backend_merge_gnu_properties): Likewise.
    	* elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
    	(elf_x86_64_merge_gnu_properties): Likewise.
    	(elf_backend_parse_gnu_properties): Likewise.
    	(elf_backend_merge_gnu_properties): Likewise.
    	* elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
    	(elf_backend_parse_gnu_properties): Likewise.
    	(elf_backend_setup_gnu_properties): Likewise.
    	(elfNN_bed): Add elf_backend_parse_gnu_properties,
    	elf_backend_merge_gnu_properties and
    	elf_backend_setup_gnu_properties.
    
    ld/
    
    	* ld/NEWS: Mention support for ELF GNU program properties.
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Call
    	ELF setup_gnu_properties.
    	* testsuite/ld-i386/i386.exp: Run property tests for Linux/i386.
    	* testsuite/ld-i386/pass.c: New file.
    	* testsuite/ld-i386/property-1.r: Likewise.
    	* testsuite/ld-i386/property-2.r: Likewise.
    	* testsuite/ld-i386/property-3.r: Likewise.
    	* testsuite/ld-i386/property-4.r: Likewise.
    	* testsuite/ld-i386/property-5.r: Likewise.
    	* testsuite/ld-i386/property-6.r: Likewise.
    	* testsuite/ld-i386/property-6a.c: Likewise.
    	* testsuite/ld-i386/property-6b.c: Likewise.
    	* testsuite/ld-i386/property-6c.S: Likewise.
    	* testsuite/ld-i386/property-7.r: Likewise.
    	* testsuite/ld-i386/property-no-copy.S: Likewise.
    	* testsuite/ld-i386/property-stack.S: Likewise.
    	* testsuite/ld-i386/property-unsorted-1.S: Likewise.
    	* testsuite/ld-i386/property-unsorted-2.S: Likewise.
    	* testsuite/ld-i386/property-x86-1.S: Likewise.
    	* testsuite/ld-i386/property-x86-2.S: Likewise.
    	* testsuite/ld-x86-64/pass.c: Likewise.
    	* testsuite/ld-x86-64/property-1.r: Likewise.
    	* testsuite/ld-x86-64/property-2.r: Likewise.
    	* testsuite/ld-x86-64/property-3.r: Likewise.
    	* testsuite/ld-x86-64/property-4.r: Likewise.
    	* testsuite/ld-x86-64/property-5.r: Likewise.
    	* testsuite/ld-x86-64/property-6.r: Likewise.
    	* testsuite/ld-x86-64/property-6a.c: Likewise.
    	* testsuite/ld-x86-64/property-6b.c: Likewise.
    	* testsuite/ld-x86-64/property-6c.S: Likewise.
    	* testsuite/ld-x86-64/property-7.r: Likewise.
    	* testsuite/ld-x86-64/property-no-copy.S: Likewise.
    	* testsuite/ld-x86-64/property-stack.S: Likewise.
    	* testsuite/ld-x86-64/property-unsorted-1.S: Likewise.
    	* testsuite/ld-x86-64/property-unsorted-2.S: Likewise.
    	* testsuite/ld-x86-64/property-x86-1.S: Likewise.
    	* testsuite/ld-x86-64/property-x86-2.S: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run property tests for
    	Linux/x86-64.

commit 82156ab704b08b124d319c0decdbd48b3ca2dac5
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 3 12:14:06 2017 +0100

    readelf: Fix overlarge memory allocation when reading a binary with an excessive number of program headers.
    
    	PR binutils/21345
    	* readelf.c (get_program_headers): Check for there being too many
    	program headers before attempting to allocate space for them.

commit 75ec1fdbb797a389e4fe4aaf2e15358a070dcc19
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 3 11:13:21 2017 +0100

    Fix runtime seg-fault in readelf when parsing a corrupt MIPS binary.
    
    	PR binutils/21344
    	* readelf.c (process_mips_specific): Check for an out of range GOT
    	entry before reading the module pointer.

commit f32ba72991d2406b21ab17edc234a2f3fa7fb23d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Apr 3 11:01:45 2017 +0100

    readelf: Update check for invalid word offsets in ARM unwind information.
    
    	PR binutils/21343
    	* readelf.c (get_unwind_section_word): Fix snafu checking for
    	invalid word offsets in ARM unwind information.

commit 12bfb8fec326e847f6300874ca656e47ee027f5d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Apr 3 00:00:37 2017 +0000

    Automatic date update in version.in

commit 450b68da0169dcfa1c36987ec80e2655abb3f8e6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Apr 2 00:00:36 2017 +0000

    Automatic date update in version.in

commit 5e6a0e73317915b0685249606538ea739acc3a23
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Apr 1 00:00:39 2017 +0000

    Automatic date update in version.in

commit fecb9c46659c576e9e2c790eff2a25df8203a97f
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Wed Mar 29 16:05:40 2017 -0700

    RISC-V: Allow ISA subsets to be disabled
    
    Without this patch, passing "-march=rv64ic -march=rv64i" results in
    you getting a "RV64IC" toolchain, which isn't expected.
    
    gas/ChangeLog:
    
    2017-03-30  Palmer Dabbelt  <palmer@dabbelt.com>
    
           * config/tc-riscv.c (riscv_clear_subsets): New function.
           (riscv_add_subset): Call riscv_clear_subsets and riscv_set_rvc to
           clear RVC when it's been previously set.

commit 858f82bf7e6531f4ad821285359c759c835f9dce
Author: Andrew Waterman <andrew@sifive.com>
Date:   Wed Mar 22 02:09:56 2017 -0700

    RISC-V: Add physical memory protection CSRs
    
    2017-03-27  Andrew Waterman  <andrew@sifive.com>
    
           * opcode/riscv-opc.h (CSR_PMPCFG0): New define.
           (CSR_PMPCFG1): Likewise.
           (CSR_PMPCFG2): Likewise.
           (CSR_PMPCFG3): Likewise.
           (CSR_PMPADDR0): Likewise.
           (CSR_PMPADDR1): Likewise.
           (CSR_PMPADDR2): Likewise.
           (CSR_PMPADDR3): Likewise.
           (CSR_PMPADDR4): Likewise.
           (CSR_PMPADDR5): Likewise.
           (CSR_PMPADDR6): Likewise.
           (CSR_PMPADDR7): Likewise.
           (CSR_PMPADDR8): Likewise.
           (CSR_PMPADDR9): Likewise.
           (CSR_PMPADDR10): Likewise.
           (CSR_PMPADDR11): Likewise.
           (CSR_PMPADDR12): Likewise.
           (CSR_PMPADDR13): Likewise.
           (CSR_PMPADDR14): Likewise.
           (CSR_PMPADDR15): Likewise.
           (pmpcfg0): Declare register.
           (pmpcfg1): Likewise.
           (pmpcfg2): Likewise.
           (pmpcfg3): Likewise.
           (pmpaddr0): Likewise.
           (pmpaddr1): Likewise.
           (pmpaddr2): Likewise.
           (pmpaddr3): Likewise.
           (pmpaddr4): Likewise.
           (pmpaddr5): Likewise.
           (pmpaddr6): Likewise.
           (pmpaddr7): Likewise.
           (pmpaddr8): Likewise.
           (pmpaddr9): Likewise.
           (pmpaddr10): Likewise.
           (pmpaddr11): Likewise.
           (pmpaddr12): Likewise.
           (pmpaddr13): Likewise.
           (pmpaddr14): Likewise.
           (pmpaddr15): Likewise.

commit 8fa5b777488105287e56937365523d01e51c2eb3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 31 11:19:44 2017 -0400

    gdbserver: Suffix generated C files with -generated
    
    I noticed that there were some missing files in gdbserver's gitignore
    (some generated register format .c files).  Of course the easy fix would
    be to add those files to .gitignore, but I think we can do a better job,
    so that we don't have to worry about adding generated files to
    .gitignore or the clean Makefile target.
    
    I suggest naming all generated source files -generated.c.  This way, we
    can use a single rule in .gitignore and do a "rm -f *-generated.c" to
    clean them up.
    
    New in v2:
    
      - Don't rename version.o and xml-builtin.o
    
    gdb/gdbserver/ChangeLog:
    
    	* .gitignore: Remove generated files, replace with wildcard.
    	* (clean): Replace removal of generated files with wildcard.
    	(version.c): Replace with...
    	(version-generated.c): ...this.
    	(xml-builtin.c): Replace with...
    	(xml-builtin-generated.c): ...this.
    	(%-ipa.o: %-generated.c, %.o: %-generated.c): New rules.
    	(%.c: *regformats*): Replace with...
    	(%-generated.c: *regformats*): ...this.

commit efdf7a02db60e7371ba6372e47b510aadecbae28
Author: Pip Cet <pipcet@gmail.com>
Date:   Fri Mar 31 13:07:01 2017 +0100

    Fix minor problems with previous wasm32 binutils commit.
    
    binutils * NEWS: Use "WebAssembly" consistently.
    	* testsuite/binutils-all/wasm32/wasm32.exp: Fix copyright notice.

commit dc1e4d6dedcb8ee3bb195f0db711f6aa164b8ab4
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 31 12:54:38 2017 +0100

    Reduce the size of s390 symbol tables by allowing relocations in mergeable string sections (eg .debug_str) to be made section relative rather than symbol relative.
    
    	PR gas/21333
    	* config/tc-s390.c (tc_s390_fix_adjustable): Allow non pc-relative
    	fixups in mergeable sections to be adjusted.

commit 938ec663b8ec03336bd0387ee8f8d6f18f199025
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 31 00:00:31 2017 +0000

    Automatic date update in version.in

commit b668d5b24c07dff5c960bc2b646ddad1f4e49fc8
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 30 09:57:53 2017 -0700

    Apply binutils-properties.patch

commit 694f9e375ce429822f4ea0444d9ccfe9efbe054c
Merge: c65f0cb f96bd6c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 30 08:29:59 2017 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit f96bd6c2d7a3801fabbf9d834f7a29b752aa7532
Author: Pip Cet <pipcet@gmail.com>
Date:   Thu Mar 30 10:57:21 2017 +0100

    Add support for the WebAssembly file format and the wasm32 ELF conversion to gas and the binutils.
    
    binutils * readelf.c: Add support for wasm32 ELF format WebAssembly files.
    	(guess_is_rela): Likewise.
    	(dump_relocations): Likewise.
    	(is_32bit_abs_reloc): Likewise.
    	(is_none_reloc_): Likewise.
    	* NEWS: Mention the new support.
    	* testsuite/lib/binutils-common.exp (is_elf_format): Mark wasm32
    	as ELF target.
    	(supports_gnu_unique): Mark wasm32 as supporting STB_GNU_UNIQUE.
    	* testsuite/binutils-all/nm.exp: Mark wasm32 as requiring .size annotations.
    	* testsuite/binutils-all/wasm32: New directory.
    	* testsuite/binutils-all/wasm32/create-wasm.d: New file.
    	* testsuite/binutils-all/wasm32/create-wasm.s: Likewise.
    	* testsuite/binutils-all/wasm32/custom-section.d: Likewise.
    	* testsuite/binutils-all/wasm32/custom-section.s: Likewise.
    	* testsuite/binutils-all/wasm32/invalid-wasm-1.d: Likewise.
    	* testsuite/binutils-all/wasm32/invalid-wasm-1.s: Likewise.
    	* testsuite/binutils-all/wasm32/long-sections.d: Likewise.
    	* testsuite/binutils-all/wasm32/long-sections.s: Likewise.
    	* testsuite/binutils-all/wasm32/parse-wasm.d: Likewise.
    	* testsuite/binutils-all/wasm32/parse-wasm.s: Likewise.
    	* testsuite/binutils-all/wasm32/parse-wasm-2.d: Likewise.
    	* testsuite/binutils-all/wasm32/parse-wasm-2.s: Likewise.
    	* testsuite/binutils-all/wasm32/prepared-section.d: Likewise.
    	* testsuite/binutils-all/wasm32/prepared-section.s: Likewise.
    	* testsuite/binutils-all/wasm32/wasm32.exp: New file, run tests.
    
    gas	* config/tc-wasm32.h: New file: Add WebAssembly assembler target.
    	* config/tc-wasm32.c: New file: Add WebAssembly assembler target.
    	* Makefile.am: Add WebAssembly assembler target.
    	* configure.tgt: Add WebAssembly assembler target.
    	* doc/c-wasm32.texi: New file: Start documenting WebAssembly
    	assembler.
    	* doc/all.texi: Define WASM32.
    	* doc/as.texinfo: Add WebAssembly entries.
    	* NEWS: Mention the new support.
    	* Makefile.in: Regenerate.
    	* po/gas.pot: Regenerate.
    	* po/POTFILES.in: Regenerate.
    	* testsuite/gas/wasm32: New directory.
    	* testsuite/gas/wasm32/allinsn.d: New file.
    	* testsuite/gas/wasm32/allinsn.s: New file.
    	* testsuite/gas/wasm32/illegal.l: New file.
    	* testsuite/gas/wasm32/illegal.s: New file.
    	* testsuite/gas/wasm32/illegal-2.l: New file.
    	* testsuite/gas/wasm32/illegal-2.s: New file.
    	* testsuite/gas/wasm32/illegal-3.l: New file.
    	* testsuite/gas/wasm32/illegal-3.s: New file.
    	* testsuite/gas/wasm32/illegal-4.l: New file.
    	* testsuite/gas/wasm32/illegal-4.s: New file.
    	* testsuite/gas/wasm32/illegal-5.l: New file.
    	* testsuite/gas/wasm32/illegal-5.s: New file.
    	* testsuite/gas/wasm32/illegal-6.l: New file.
    	* testsuite/gas/wasm32/illegal-6.s: New file.
    	* testsuite/gas/wasm32/illegal-7.l: New file.
    	* testsuite/gas/wasm32/illegal-7.s: New file.
    	* testsuite/gas/wasm32/illegal-8.l: New file.
    	* testsuite/gas/wasm32/illegal-8.s: New file.
    	* testsuite/gas/wasm32/illegal-9.l: New file.
    	* testsuite/gas/wasm32/illegal-9.s: New file.
    	* testsuite/gas/wasm32/illegal-10.l: New file.
    	* testsuite/gas/wasm32/illegal-10.s: New file.
    	* testsuite/gas/wasm32/illegal-11.l: New file.
    	* testsuite/gas/wasm32/illegal-11.s: New file.
    	* testsuite/gas/wasm32/illegal-12.l: New file.
    	* testsuite/gas/wasm32/illegal-12.s: New file.
    	* testsuite/gas/wasm32/illegal-13.l: New file.
    	* testsuite/gas/wasm32/illegal-13.s: New file.
    	* testsuite/gas/wasm32/illegal-14.l: New file.
    	* testsuite/gas/wasm32/illegal-14.s: New file.
    	* testsuite/gas/wasm32/illegal-15.l: New file.
    	* testsuite/gas/wasm32/illegal-15.s: New file.
    	* testsuite/gas/wasm32/illegal-16.l: New file.
    	* testsuite/gas/wasm32/illegal-16.s: New file.
    	* testsuite/gas/wasm32/illegal-17.l: New file.
    	* testsuite/gas/wasm32/illegal-17.s: New file.
    	* testsuite/gas/wasm32/illegal-18.l: New file.
    	* testsuite/gas/wasm32/illegal-18.s: New file.
    	* testsuite/gas/wasm32/illegal-19.l: New file.
    	* testsuite/gas/wasm32/illegal-19.s: New file.
    	* testsuite/gas/wasm32/illegal-20.l: New file.
    	* testsuite/gas/wasm32/illegal-20.s: New file.
    	* testsuite/gas/wasm32/illegal-21.l: New file.
    	* testsuite/gas/wasm32/illegal-21.s: New file.
    	* testsuite/gas/wasm32/illegal-22.l: New file.
    	* testsuite/gas/wasm32/illegal-22.s: New file.
    	* testsuite/gas/wasm32/illegal-24.l: New file.
    	* testsuite/gas/wasm32/illegal-24.s: New file.
    	* testsuite/gas/wasm32/illegal-25.l: New file.
    	* testsuite/gas/wasm32/illegal-25.s: New file.
    	* testsuite/gas/wasm32/reloc.d: New file.
    	* testsuite/gas/wasm32/reloc.s: New file.
    	* testsuite/gas/wasm32/wasm32.exp: New tests for WebAssembly
    	architecture.
    
    opcodes * configure.ac: Add (empty) bfd_wasm32_arch target.
    	* configure: Regenerate
    	* po/opcodes.pot: Regenerate.
    
    include	* opcode/wasm.h: New file to support wasm32 architecture.
    	* elf/wasm32.h: Add R_WASM32_32 relocation.
    
    bfd	* elf32-wasm32.c: Add relocation code, two relocs.
    	* reloc.c: Add wasm32 relocations.
    	* libbfd.h: Regenerate.
    	* bfd-in2.h: Regenerate.
    	* bfd/po/bfd.pot: Regenerate.

commit 662659a1a582af14aa45a458005e2a4df514b6d7
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Thu Mar 30 10:43:03 2017 +0200

    Fix classification of `module.type' in D lexer.
    
    The two-tier lexer in gdb/d-exp.y, which resolves fully qualified names
    missed a case where `module.type' was not being classified as one token.
    And so when the grammar takes over, it matched the remaining tokens
    against the rule `TypeExp . IdentifierExp', where we were expecting to
    instead match cast expression `( TypeExp ) UnaryExpression'.
    
    Adding a case for TYPE_CODE_MODULE in type_aggregate_p means that
    classify_inner_name will get a chance to lookup the symbol.
    
    This was noticed when using `watch -l', and got the rather confusing
    response:
    
        A syntax error in expression, near `) 0x0add4e55'.
    
    So it's been included in the testsuite, along with another test that
    does effectively the same expression, but explicitly.
    
    gdb/ChangeLog:
    
    	* d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
    	aggregate-like.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dlang/watch-loc.c: New file.
    	* gdb.dlang/watch-loc.exp: New file.

commit a62b75569b0e8038cf7c61350bf6fd5d0d6b64f8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 30 00:00:41 2017 +0000

    Automatic date update in version.in

commit ec13808ef07550f8a5f87fad1945739da1f10c81
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 29 21:53:43 2017 +0200

    Fix warning: Invalid entry in .debug_gdb_scripts section
    
    $ gdb rustc
    Reading symbols from rustc...Reading symbols from /usr/lib/debug/usr/bin/rustc.debug...done.
    done.
    warning: Invalid entry in .debug_gdb_scripts section
    
    /usr/bin/rustc
    Section Headers:
      [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
      [15] .debug_gdb_scripts PROGBITS        00000000000008ed 0008ed 000022 00 AMS  0   0  1
    
    /usr/lib/debug/usr/bin/rustc.debug
    Section Headers:
      [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
      [15] .debug_gdb_scripts NOBITS          00000000000008ed 000280 000022 00 AMS  0   0  1
    
    There remains questionable whether bfd_get_section_by_name() should not return
    an error for !SEC_LOAD but I haven't investigated that.
    
    gdb/ChangeLog
    2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
    
    gdb/testsuite/ChangeLog
    2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.python/py-section-script.exp (sepdebug): New testcases.

commit f7c514a3784384215692c43d66f013d7640db277
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Mar 29 21:20:23 2017 +0200

    opcodes: sparc: support missing SPARC ASIs from UA2005, UA2007, OSA2011, & OSA2015

commit 1231656410996d2cc271486adc743a0fafe2ab4d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Mar 29 16:56:31 2017 +0100

    Add constructor and destructor to thread_info
    
    This patch adds constructor and destructor to thread_info.
    
    gdb:
    
    2017-03-29  Yao Qi  <yao.qi@linaro.org>
    
    	* gdbthread.h (struct thread_info): Declare constructor and
    	destructor.  Add some in-class member initializers.
    	* thread.c (free_thread): Remove.
    	(init_thread_list): Call delete instead of free_thread.
    	(new_thread): Call thread_info constructor.
    	(thread_info::thread_info): New function.
    	(thread_info::~thread_info): New function.
    	(delete_thread_1): Call delete instead of free_thread.
    	(make_cleanup_restore_current_thread): Move tp and frame to
    	inner block.

commit 52be03fd13a26ecda4f27c451a434f19eded0ca6
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Mar 29 13:43:06 2017 +1030

    PowerPC -Mraw disassembly
    
    This adds -Mraw for PowerPC objdump, a disassembler option to display
    the underlying machine instruction rather than aliases.  For example,
    "rlwinm" always rather than "rotlwi" when the instruction is
    performing a simple rotate.
    
    binutils/
    	* doc/binutils.texi (objdump): Document PowerPC -M options.
    gas/
    	* config/tc-ppc.c (md_parse_option): Reject -mraw.
    include/
    	* opcode/ppc.h (PPC_OPCODE_RAW): Define.
    	(PPC_OPCODE_*): Make them all unsigned long long constants.
    opcodes/
    	* ppc-dis.c (ppc_opts): Set PPC_OPCODE_PPC for "any" flags.  Add
    	"raw" option.
    	(lookup_powerpc): Don't special case -1 dialect.  Handle
    	PPC_OPCODE_RAW.
    	(print_insn_powerpc): Mask out PPC_OPCODE_ANY on first
    	lookup_powerpc call, pass it on second.

commit e643cb45bf85fa5c8c49a89ff177de246af4212e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 29 12:27:44 2017 +0100

    Improve the speed of scanning PE binaries for line number information.
    
    	PR binutils/18025
    	* coff-bfd.h (struct coff_section_data): Add new fields:
    	saved_bias and bias.
    	* coffgen.c (coff_find_nearest_line_with_names): Cache the bias
    	computed for PE binaries.
    	* dwarf2.c (scan_unit_for_symbols): Only warn once about each
    	missing abbrev.

commit 7cc0cd2903612a0730de6ba00181b9016e77ea3d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 29 00:00:28 2017 +0000

    Automatic date update in version.in

commit 086554e8e6b222518f12acab34e6cc7b5af7fde7
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Tue Mar 28 23:43:09 2017 +0200

    Fix for PR ld/16044: elf32-cris.c h->plt.refcount inconsistency

commit fe5f7374bef8f23ffa0fe0dee0f9b05e0a218a29
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Feb 10 14:12:09 2017 +0300

    arc: Add prologue analysis
    
    Add a prologue analysis that recognizes all instructions that may happen in
    compiler-generated prologue, including various stores, core register moves,
    subtraction and ENTER_S instruction that does a lot of prologue actions through
    microcode.
    
    Testcases cover various prologue scenarios, including instructions that are
    spread across multiple 16-bit encodings (for example there are 7 encodings of
    store instruction).
    
    gdb/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
    	(arc_skip_prologue): Likewise.
    	(arc_make_frame_cache): Likewise.
    	(arc_pv_get_operand): New function.
    	(arc_is_in_prologue): Likewise.
    	(arc_analyze_prologue): Likewise.
    	(arc_print_frame_cache): Likewise.
    	(MAX_PROLOGUE_LENGTH): New constant.
    
    gdb/doc/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* gdb.texinfo (Synopsys ARC): Document "set debug arc 2".
    
    gdb/testsuite/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* gdb.arch/arc-analyze-prologue.S: New file.
    	* gdb.arch/arc-analyze-prologue.exp: Likewise.

commit eea787570f708e51048f812808e6cbd76fde6919
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Feb 10 14:12:06 2017 +0300

    arc: Add disassembler helper
    
    Add disassembler helper for GDB, that uses opcodes structure arc_instruction
    and adds convenience functions to handle instruction operands.  This interface
    solves at least those problems with arc_instruction:
    
      * Some instructions, like "push_s", have implicit operands which are not
        directly present in arc_instruction.
      * Operands of particular meaning, like branch/jump targets, have various
        locations and meaning depending on type of branch/target.
      * Access to operand value is abstracted into a separate function, so callee
        code shouldn't bother if operand value is an immediate value or in a
        register.
    
    Testcases included in this commit are fairly limited - they test exclusively
    branch instructions, something that will be used in software single stepping.
    Most of the other parts of this disassembler helper are tested during prologue
    analysis testing.
    
    gdb/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* configure.tgt: Add arc-insn.o.
    	* arc-tdep.c (arc_delayed_print_insn): Make non-static.
    	(dump_arc_instruction_command): New function.
    	(arc_fprintf_disasm): Likewise.
    	(arc_disassemble_info): Likewise.
    	(arc_insn_get_operand_value): Likewise.
    	(arc_insn_get_operand_value_signed): Likewise.
    	(arc_insn_get_memory_base_reg): Likewise.
    	(arc_insn_get_memory_offset): Likewise.
    	(arc_insn_get_branch_target): Likewise.
    	(arc_insn_dump): Likewise.
    	(arc_insn_get_linear_next_pc): Likewise.
    	* arc-tdep.h (arc_delayed_print_insn): Add function declaration.
    	(arc_disassemble_info): Likewise.
    	(arc_insn_get_branch_target): Likewise.
    	(arc_insn_get_linear_next_pc): Likewise.
    	* NEWS: Mention new "maint print arc arc-instruction".
    
    gdb/doc/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* gdb.texinfo (Synopsys ARC): Add "maint print arc arc-instruction".
    
    gdb/testsuite/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* gdb.arch/arc-decode-insn.S: New file.
    	* gdb.arch/arc-decode-insn.exp: Likewise.

commit 3be78afdeddd3ebf57eb0df8b029cf596f468c7a
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Feb 10 14:12:01 2017 +0300

    arc: Add "maintenance print arc" command prefix
    
    Add an "arc" sublist to "maintenance print" command list.  The list is empty
    for now, its purpose is to contain commands that print internal state of some
    ARC-specific structures.
    
    gdb/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-tdep (maintenance_print_arc_list): New variable.
    	(maintenance_print_arc_command): New function.

commit 296ec4fa2afb14abc400fa0109d7288eb958c544
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Fri Feb 10 14:11:46 2017 +0300

    arc: Align internal regnums with architectural regnums
    
    Add ARC_LIMM_REGNUM to arc_regnum enumeration and assign a number 62 to it.
    This ensures that for core registers internal register numbers in this enum are
    the same as architectural numbers.  This allows to use internal register
    numbers in the contexts where architectural number is implied, for example when
    disassembling instruction during prologue analysis.
    
    gdb/ChangeLog:
    
    yyyy-mm-dd  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
    	Add "limm" and "reserved".
    	(arc_cannot_fetch_register, arc_cannot_store_register): Add
    	ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
    	* arc-tdep.h (arc_regnum): Likewise.

commit 081c108e3688d67f257d4b98c9012ef2677b3b18
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 28 00:00:37 2017 +0000

    Automatic date update in version.in

commit a12e714b775ce025444af15dcfbd5a420363ad53
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Fri Nov 18 16:08:48 2016 -0800

    gdbserver: xtensa: support THREADPTR register
    
    Provide aceess to the THREADPTR register to remote gdb.
    
    gdb/gdbserver/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* linux-xtensa-low.c (regnum::R_THREADPTR): New enum member.
    	(xtensa_fill_gregset): Call collect_register_by_name for
    	threadptr register.
    	(xtensa_store_gregset): Call supply_register_by_name for
    	threadptr register.

commit f74f865e5030057deb8a6a56af4a9e003d82cdcd
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Fri Nov 18 11:39:47 2016 -0800

    gdb: xtensa-linux: support THREADPTR register
    
    Make THREADPTR user register accessible.
    
    gdb/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
    	for THREADPTR register.
    	(supply_gregset_reg): Call regcache_raw_supply for THREADPTR
    	register.
    	* xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
    	(xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
    	* xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.

commit 0d0bf81a6729478563c3851ccfca435222ddfa25
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Tue Feb 21 15:41:31 2017 -0800

    gdb: xtensa: fix test for privileged register number
    
    There are no a0-a15 pseudoregisters at the top of the register set in
    call0 registers layout. All registers above gdbarch_num_regs (gdbarch)
    are privileged. Treat them as such. This fixes the following gdb
    assertion seen when 'finish' command is invoked:
    
      regcache.c:649: internal-error: register_status
      regcache_raw_read(regcache*, int, gdb_byte*):
      Assertion `regnum >= 0 && regnum < regcache->descr->nr_raw_registers'
      failed.
    
    gdb/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
    	registers above gdbarch_num_regs (gdbarch) as privileged in
    	call0 ABI.

commit 1a09b50a463ad005946849540da136b5cbe6237b
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Fri Nov 18 08:58:21 2016 -0800

    gdbserver: xtensa: add call0 support
    
    Correctly handle a0- registers on requests from remote gdb. This fixes
    
      'Register 1 is not available'
    
    and subsequent assertion in the remote gdb connecting to the gdbserver:
    
      'findvar.c:291: internal-error: value_of_register_lazy:
        Assertion `frame_id_p(get_frame_id (frame))' failed.'
    
    The register structure is the same for windowed and call0 ABIs because
    currently linux kernel internally requires windowed registers, so they
    are always present.
    
    gdb/gdbserver/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* linux-xtensa-low.c (xtensa_fill_gregset): Call collect_register
    	for all registers in a0_regnum..a0_regnum + C0_NREGS range.
    	(xtensa_store_gregset): Call supply_register for all registers in
    	a0_regnum..a0_regnum + C0_NREGS range.

commit 0ce4291e3ffd90d2b94e02b4557d716c043bf02e
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Fri Nov 18 09:48:01 2016 -0800

    gdb: xtensa-linux: add call0 support
    
    Correctly handle a0- registers. This allows debugging call0 code in
    linux natively.
    The register structure is the same for windowed and call0 ABIs because
    currently linux kernel internally requires windowed registers, so they are
    always present.
    
    gdb/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
    	for a single specified register or for all registers in
    	a0_base..a0_base + C0_NREGS range.
    	(supply_gregset_reg): Call regcache_raw_supply for a single
    	specified register or for all registers in a0_base..a0_base +
    	C0_NREGS range.

commit c56054f9a80e157e3d2d5109821abd191b68f0ea
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Tue Feb 21 17:14:37 2017 -0800

    gdb: gdbserver: xtensa: make C0_NREGS available
    
    Both gdb and gdbserver need this definition to properly work with call0
    ABI. Make it available to both.
    
    gdb/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* arch/xtensa.h (C0_NREGS): Add definition.
    	* xtensa-tdep.c (C0_NREGS): Remove definition.

commit a43986283d61ffd4d7dc9b20c0ecb73cd345206c
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Fri Nov 18 09:39:41 2016 -0800

    gdb: xtensa: clean up xtensa_default_isa initialization
    
    This fixes segfault in native gdb because isa is not initialized at the
    point of call to xtensa_isa_maxlength.
    
    gdb/
    2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
    	Drop xtensa_default_isa initialization.
    	(xtensa_gdbarch_init): Initialize xtensa_default_isa.

commit 8c43009f48a0d4be497cf7c1285784aa70fc5abd
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Mar 27 15:57:19 2017 +0100

    dwarf2read.c: Clean up out of bounds handling
    
    Multiple places in dwarf2read.c open code 1-based to 0-based index
    conversion and check for out of bounds accesses to lh->include_dirs
    and lh->file_names.  This commit factors those out to a couple methods
    and uses them throughout.
    
    gdb/ChangeLog:
    2017-03-27  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (file_entry) <dir_index>: Add comment.
    	(file_entry::include_dir): New method.
    	(line_header::include_dir_at, line_header::file_name_at): New
    	methods.
    	(setup_type_unit_groups, setup_type_unit_groups)
    	(psymtab_include_file_name): Simplify using the new methods.
    	(lnp_state_machine) <the_line_header>: New field.
    	<file>: Add comment.
    	(lnp_state_machine::current_file): New method.
    	(dwarf_record_line): Simplify using the new methods.
    	(init_lnp_state_machine): Initialize the "the_line_header" field.
    	(dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
    	Simplify using the new methods.

commit a7e80b9e21eb907ac5c90de7452588c059db0cec
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Mar 27 13:56:49 2017 +0100

    gdb/cp-name-parser.y: Eliminate make_empty, use cplus_demangle_fill_component
    
    The demangler exports the cplus_demangle_fill_component function that
    clients should use to initialize demangle_component components that
    use the "s_binary" union member.  cp-name-parser.y uses it in some
    places, via the fill_comp wrapper, but not all.  Several places
    instead use a GDB-specific "make_empty" function.  Because this
    function does not call any of the demangler "fill" functions, we had
    to patch it recently to clear the allocated demangle_component's
    "d_printing" field, which is supposedly a "private" demangler field.
    To avoid such problems in the future, this commit switches those
    places to use "fill_comp" instead, and eliminates the "make_empty"
    function.
    
    gdb/ChangeLog:
    2017-03-27  Pedro Alves  <palves@redhat.com>
    
    	* cp-name-parser.y (make_empty): Delete.
    	(demangler_special, nested_name, ptr_operator, array_indicator)
    	(direct_declarator, declarator_1): Use fill_comp instead of
    	make_empty.

commit b1a42fdfa31937d7e05df34afee970ac0ad239e1
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Mar 27 13:56:49 2017 +0100

    cplus_demangle_fill_component: Handle DEMANGLE_COMPONENT_RVALUE_REFERENCE
    
    This patch almost a decade ago:
    
    ...
        2007-08-31  Douglas Gregor  <doug.gregor@gmail.com>
    
            * cp-demangle.c (d_dump): Handle
            DEMANGLE_COMPONENT_RVALUE_REFERENCE.
            (d_make_comp): Ditto.
    ...
    
    ... missed doing the same change to cplus_demangle_fill_component that
    was done to d_make_comp.  I.e., teach it to only validate that we're
    not passing in a "right" subtree.  GDB has recently (finally) learned
    about rvalue references, and a change to make it use
    cplus_demangle_fill_component more ran into an assertion because of
    this.
    
    (GDB is the only user of cplus_demangle_fill_component in both the gcc
    and binutils-gdb trees.)
    
    libiberty/ChangeLog:
    2017-03-27  Pedro Alves  <palves@redhat.com>
    
    	* cp-demint.c (cplus_demangle_fill_component): Handle
    	DEMANGLE_COMPONENT_RVALUE_REFERENCE.

commit a6be053897be3786ceda9a59d17befe11454f6d2
Author: Pip Cet <pipcet@gmail.com>
Date:   Mon Mar 27 13:41:39 2017 +0100

    Add support for the WebAssembly backend to the BFD library.
    
    	* wasm-module.c: New file to support WebAssembly modules.
    	* wasm-module.h: New file to support WebAssembly modules.
    	* doc/webassembly.texi: Start documenting wasm-module.c.
    	* config.bfd: Add wasm_vec.
    	* targets.c: Likewise.
    	* configure.ac: Likewise.
    	* Makefile.am: Add entries for wasm-module.c.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* po/SRC-POTFILES.in: Regenerate.

commit 210477268d4ac5cad937e811888a5c932206794c
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Mar 27 12:28:03 2017 +0100

    Fix gdb_xml_debug/gdb_xml_error ATTRIBUTE_PRINTF use
    
    The declarations of gdb_xml_debug and gdb_xml_error are passing "0" as
    "first-to-check" argument to ATTRIBUTE_PRINTF, as if they were va_args
    functions.  Consequently, the arguments to gdb_xml_debug /
    gdb_xml_error aren't being checked against the format strings.
    
    With that fixed, a couple obvious bugs are exposed, both fixed by this
    commit.
    
    gdb/ChangeLog:
    2017-03-27  Pedro Alves  <palves@redhat.com>
    
    	* xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
    	to ATTRIBUTE_PRINTF.
    	* solib-target.c (library_list_start_list): Print "string" not
    	"version".
    	* xml-tdesc.c (tdesc_start_field): Pass "field_name" to
    	gdb_xml_error call.

commit 9b7539374617a94c2d646f49e1bbfc954b11891d
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 27 08:19:48 2017 +1030

    PR21303, objdump doesn't show e200z4 insns
    
    	PR 21303
    opcodes/
    	* ppc-dis.c (struct ppc_mopt): Comment.
    	(ppc_opts <e200z4>): Move PPC_OPCODE_VLE from .sticky to .cpu.
    gas/
    	* testsuite/gas/ppc/pr21303.d,
    	* testsuite/gas/ppc/pr21303.s: New test
    	* testsuite/gas/ppc/ppc.exp: Run it.

commit d721ba37d8995b9c11a0b8eef0f4d2dc022f85aa
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Mar 27 11:56:28 2017 +0100

    gdb: Make ldirname return a std::string
    
    Eliminates several uses of cleanups.
    
    Tested on x86_64 Fedora 23 with Python 2 and 3.
    
    gdb/ChangeLog
    2017-03-27  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (struct file_and_directory): New.
    	(dwarf2_get_dwz_file): Adjust to use std::string.
    	(dw2_get_file_names_reader): Adjust to use file_and_directory.
    	(find_file_and_directory): Adjust to return a file_and_directory
    	object.
    	(read_file_scope): Adjust to use file_and_directory.  Remove
    	make_cleanup/do_cleanups calls.
    	(open_and_init_dwp_file): Adjust to use std::string.  Remove
    	make_cleanup/do_cleanups calls.
    	* python/python.c (do_start_initialization): Adjust to ldirname
    	returning a std::string.
    	* utils.c (ldirname): Now returns a std::string.
    	* utils.h (ldirname): Change return type to std::string.
    	* xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
    	returning a std::string.
    	* xml-tdesc.c (file_read_description_xml): Likewise.

commit 79b1d3cb362385c38af9cfb44c0c87b939711fbc
Author: Pip Cet <pipcet@gmail.com>
Date:   Mon Mar 27 11:45:24 2017 +0100

    oops - forgot to add the bfd/ChangeLog entry...

commit 8fb740dd3032543b833b141011aa2005c035d024
Author: Pip Cet <pipcet@gmail.com>
Date:   Mon Mar 27 11:39:50 2017 +0100

    Add minimal support for WebAssembly backend to the BFD library.
    
    include * elf/wasm32.h: New file to support wasm32 architecture.
    
    bfd * cpu-wasm32.c: New file to support wasm32 architecture.
        * elf32-wasm32.c: New file to support wasm32 architecture.
        * Makefile.am: Add wasm32 architecture.
        * archures.c: Likewise.
        * config.bfd: Likewise.
        * configure.ac: Likewise.
        * targets.c: Likewise.

commit c0c31e91adc6aabe7c96f02dd51a0f6200a982da
Author: Rinat Zelig <rinat@mellanox.com>
Date:   Mon Mar 27 11:14:30 2017 +0100

    Implement ARC NPS-400 Ultra Ip and Miscellaneous instructions.
    
    opcodes	* arc-nps400-tbl.h: Add Ultra Ip and Miscellaneous instructions format.
    	* arc-opc.c: Add defines. e.g. F_NJ, F_NM , F_NO_T, F_NPS_SR, F_NPS_M, F_NPS_CORE, F_NPS_ALL.
    	(insert_nps_misc_imm_offset): New function.
    	(extract_nps_misc imm_offset): New function.
    	(arc_num_flag_operands): Add F_NJ, F_NM, F_NO_T.
    	(arc_flag_special_cases): Add F_NJ, F_NM, F_NO_T.
    
    include * opcode/arc.h (insn_class_t): Add ULTRAIP and MISC class.
    
    gas     * testsuite/gas/arc/nps400-12.s: New file.
            * testsuite/gas/arc/nps400-12.d: New file.

commit cf31b44f3c4d839db0dcce10e0c4cc47d3be4ff1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 27 00:00:35 2017 +0000

    Automatic date update in version.in

commit f124168208a5927e9f1b9843094ec2bf2aad2edf
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Mar 25 20:32:02 2017 -0700

    Fix bug with cmn/adds where C flag was incorrectly set.
    
    	sim/aarch64/
    	* simulator.c (set_flags_for_add32): Cast result to uint32_t in carry
    	flag check.
    
    	sim/testsuite/sim/aarch64/
    	* adds.s: Add checks for values -2 and 1, where C is not set.

commit 7ed687b257a4182771079c582887498d0a98810c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 26 00:00:20 2017 +0000

    Automatic date update in version.in

commit 275c67ffb452f21f5c002cd0c7bbfd244848111d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 25 00:00:12 2017 +0000

    Automatic date update in version.in

commit ed771251e16c8c66cbdd03738135e76caef6937e
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Mar 24 16:53:05 2017 +0000

    Remove MAX_REGISTER_SIZE from target.c
    
    gdb/
    	* regcache.c (regcache_debug_print_register): New function.
    	* regcache.h (regcache_debug_print_register): New declaration.
    	* target.c (debug_print_register): Remove.
    	(target_fetch_registers): Call regcache_debug_print_register.
    	(target_store_registers): Likewise.

commit 568c1b9f503649d19ed1d17e6970f212e6b6317d
Author: Pádraig Brady <pbrady@fb.com>
Date:   Fri Mar 24 15:12:53 2017 +0000

    Avoid segfault on invalid directory table
    
    gdb was segfaulting during backtrace on a binary here, where
    fe->dir_index parsed from the DWARF info was seen to access beyond the
    provided include_dirs array.
    
    This commit bounds the access to entries actually written to the
    array, and was verified to output the backtrace correctly.
    
    gdb/ChangeLog:
    
    	* dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
    	reference beyond the 'lh->include_dirs' array before accessing to
    	it.
    	(psymtab_include_file_name): Likewise.
    	(dwarf_decode_lines_1): Likewise.
    	(dwarf_decode_lines): Likewise.
    	(file_file_name): Likewise.

commit 62785b09987359ede74a98fac11343827f7181af
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Mar 24 13:22:16 2017 +0000

    [GAS/ARM] Fix selected_cpu with default CPU and -mcpu
    
    When GAS is compiled with DEFAULT_CPU set and then run with a -mcpu or
    -march option, selected_cpu will be set to the default CPU. This means
    the -mcpu is ignored which is surprising behavior. This commit instead
    sets selected_cpu from the value passed to -mcpu/-march.
    
    2017-03-24  Thomas preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.: (md_begin): Set selected_cpu from *mcpu_cpu_opt when
    	CPU_DEFAULT is defined.

commit c72cea5aec39df2d7a105755691a61460ee64f59
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Mar 24 12:25:49 2017 +0000

    readelf: Fix incorrect "Version definition past end of section" message (ChangeLog)
    
    Correct ChangeLog entry for commit c9f02c3e2949 ("readelf: Fix incorrect
    "Version definition past end of section" message").

commit cad1105d6a28e1199e82653619fbd63c2b9d4fa6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 24 00:00:33 2017 +0000

    Automatic date update in version.in

commit 3e00d44febb8093d8dc0e6842b975afb194c4fd1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Mar 23 13:37:06 2017 -0400

    Remove some unnecessary inferior_ptid setting/restoring when fetching/storing registers
    
    Now that the to_fetch_registers, to_store_registers and
    to_prepare_to_store target methods don't rely on the value of
    inferior_ptid anymore, we can remove a bunch of now unnecessary setting
    and restoring of inferior_ptid.
    
    The asserts added recently in target_fetch_registers and
    target_store_registers, which validate that inferior_ptid matches the
    regcache's ptid, must go away.  It's the whole point of this effort, to
    not require inferior_ptid to have a particular value when calling these
    functions.
    
    One thing that I noticed is how sol-thread.c's ps_lgetregs and friends
    use the current value of inferior_ptid instead of what's passed as
    argument (ph->ptid), unlike proc-service.c's versions of the same
    functions.  Is it expected?  I left it like this in the current patch,
    but unless there's a good reason for it to be that way, I guess we
    should make it use the parameter.
    
    gdb/ChangeLog:
    
    	* fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
    	inferior_ptid.
    	* proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
    	ps_lsetfpregs): Likewise.
    	* regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
    	* sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
    	ps_lsetfpregs): Likewise.
    	* target.c (target_fetch_registers, target_store_registers):
    	Remove asserts.

commit 077ae656a69fcf144f68848a3f6f2cb559b62987
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Thu Mar 23 14:40:58 2017 +0000

    Remove MAX_REGISTER_SIZE from sol-thread.c
    
    gdb/
    	* sol-thread.c (sol_thread_store_registers): Remove regcache calls.

commit 1e2b521d987a34898ca959a33972be8912511ba0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 23 14:11:04 2017 +0000

    Handle PRFM in AArch64 process record
    
    This patch fixes the bug of handling PRFM instruction.  PRFM is documented
    in a table with other load and store instructions, but it doesn't do any
    load or store.  This patch also adds a unit test to PRFM instruction.
    
    gdb:
    
    2017-03-23  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_process_record_test): Declare.
    	(_initialize_aarch64_tdep): Register it.
    	(aarch64_record_load_store): Handle PRFM instruction.
    	(aarch64_process_record_test): New function.

commit 338771252e913f82df8a445cb3e748a791b1cba8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 23 14:11:04 2017 +0000

    Fix code indentation
    
    gdb:
    
    2017-03-23  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_record_load_store): Fix code
    	indentation.

commit a0eef9404b0fcfc8b0fbe7511d094a419ac631e9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 23 14:11:04 2017 +0000

    Remove AARCH64_RECORD_FAILURE
    
    It is not used at all.
    
    gdb:
    
    2017-03-23  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.

commit 1a5e158b68d0fb3b1ba3d038e87c841239572a35
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Mar 23 12:51:14 2017 +0100

    Remove constness of libdir in do_start_initialization
    
    The patch "Fix memory leak in python.c:do_start_initialization"
    (https://sourceware.org/ml/gdb-patches/2017-03/msg00407.html) introduced a
    compilation error on some platforms:
    
      ../../binutils-gdb/gdb/python/python.c: In function bool do_start_initialization():
      ../../binutils-gdb/gdb/python/python.c:1556:16: error: invalid conversion from const void* to void* [-fpermissive]
       xfree (libdir);
                    ^
    
    This is fixed by removing the constness of libdir's data type.
    
    gdb/ChangeLog:
    
    	* python/python.c (do_start_initialization): Remove 'const' from
    	data type of libdir.

commit 3f2a3564b1c3872e4a380f2484d40ce2495a4835
Author: Philipp Rudo <prudo@linux.vnet.ibm.com>
Date:   Thu Mar 23 12:22:11 2017 +0100

    Fix memory leak in python.c:do_start_initialization
    
    When intializing Python the path to the python binary is build the
    following way
    
    progname = concat (ldirname (python_libdir), SLASH_STRING, "bin",
    		   SLASH_STRING, "python", (char *) NULL);
    
    This is problematic as both concat and ldirname allocate memory for the
    string they return.  Thus the memory allocated by ldirname cannot be
    accessed afterwards causing a memory leak.  Fix it by temporarily storing
    libdir in a variable and xfree it after concat.
    
    gdb/ChangeLog:
    	python/python.c (do_start_initialization): Fix memory leak.

commit ad36c6ce7c176a0bade3b3f09b801e65ab5ef93f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 23 00:00:42 2017 +0000

    Automatic date update in version.in

commit 19683c0408d66d9e48085fd5af009ad7d83aa3cd
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Tue Mar 21 08:36:44 2017 -0700

    Sanitize RISC-V GAS help text, documentation
    
    It looks like I missed the GAS help text when going through all the
    documentation last time, so it printed some of the old-format (never
    upstream) arguments.  I fixed this, and when I went to check doc/ I
    noticed it was missing the '-fpic'/'-fno-pic' options.

commit 24e5b4e682a92788ffa676e963b7f1dec2101333
Author: Max Filippov <jcmvbkbc@gmail.com>
Date:   Wed Mar 22 10:19:14 2017 -0700

    gas: xtensa: make trampolines relaxation work with jumps in slots other than 0
    
    add_jump_to_trampoline assumes that jump instruction is in slot 0,
    when it's in other slot that results in fixup that references NULL symbol,
    which results in segfault later in xtensa_make_cached_fixup.
    Search for the non-NULL symbol in the tc_frag_data.slot_symbols and check
    that there's exactly one such slot.
    
    xtensa_relax_frag for RELAX_TRAMPOLINE reassigns fixup from the original
    instruction with jump to generated jump in the trampoline frag, but does not
    fix its fx_r_type or fx_size. That results in "undecodable fix" or
    "fixup not contained within frag" error messages during relaxation.
    Fix both these fields.
    
    gas/
    2017-03-22  Max Filippov  <jcmvbkbc@gmail.com>
    
    	* config/tc-xtensa.c (xtensa_relax_frag): Change fx_size of the
    	reassigned fixup to size of jump instruction (3) and fx_r_type
    	to BFD_RELOC_XTENSA_SLOT0_OP, as there's only one slot.
    	(add_jump_to_trampoline): Search
    	origfrag->tc_frag_data.slot_symbols for the slot with non-NULL
    	symbol and use that slot instead of slot 0.

commit b67aeab02c05fdd654f132a550dd4f196cb1f6d3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Mar 22 10:35:07 2017 -0400

    Remove lwp -> pid conversion in linux_nat_xfer_partial
    
    The linux_nat_xfer_partial does a conversion of inferior_ptid: if it's
    an LWP (ptid::lwp != 0), it builds a new ptid with the lwp as
    the pid and assigns that temporarily to inferior_ptid.  For example, if
    inferior_ptid is:
    
      { .pid = 1234, .lwp = 1235 }
    
    it will assign this to inferior_ptid for the duration of the call:
    
      { .pid = 1235, .lwp = 0 }
    
    Instead of doing this, this patch teaches the inf-ptrace implementation
    of xfer_partial to deal with ptids representing lwps by using
    get_ptrace_pid.
    
    Also, in linux_proc_xfer_spu and linux_proc_xfer_partial, we use ptid_get_lwp
    instead of ptid_get_pid.  While not strictly necessary, since the content of
    /proc/<pid> and /proc/<lwp> should be the same, it's a bit safer, because:
    
    - some files under /proc/<pid>/ may not work if the <pid> thread is
      running, just like ptrace requires a stopped thread.  The current
      thread's lwp id is more likely to be in the necessary state (stopped).
    
    - if the leader (<pid>) had exited and is thus now zombie, then several
      files under "/proc/<pid>" won't work, while they will if you use
      "/proc/<lwp>".
    
    The testsuite found no regression on native amd64 linux.
    
    gdb/ChangeLog:
    
    	* inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
    	using get_ptrace_pid.
    	* linux-nat.c (linux_nat_xfer_partial): Don't set/restore
    	inferior_ptid.
    	(linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
    	inferior_ptid instead of pid.

commit 11997a83a040245406b6e2e9978c6720f17e80c4
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 22 14:01:03 2017 +0000

    Sync top level config files with master versions in the FSF config project.
    
    	* config.sub: Sync with master version in config project.
    	* config.guess: Likewise.

commit 79778b30dc5881a8d88b55744cab53d95fa6fda2
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Mar 22 12:40:24 2017 +0000

    Remove @code for python
    
    There's no reason to use @code for Python the name of a programming
    language.
    
    gdb/doc:
    
    2017-03-22  Yao Qi  <yao.qi@linaro.org>
    
    	* python.texi (Inferiors In Python): Remove @code from Python.

commit ffdbe8642e74527795b695988a176f0920d58f96
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Mar 22 12:35:31 2017 +0000

    Wrap locally used classes in anonymous namespace
    
    Both aarch64-tdep.c and arm-tdep.c defines a class instruction_reader, which
    violates ODR, but linker doesn't an emit error.  I fix this issue by wrapping
    them by anonymous namespace, but I think it is better to apply this for all
    locally used classes.
    
    If it is a good idea to put locally used class into anonymous namespace, we
    should document this rule into GDB coding convention, or even GCC coding
    convention.  Note that anonymous namespace has been used in GCC but GCC
    coding convention doesn't mention the it.
    
    gdb:
    
    2017-03-22  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c: Wrap locally used classes in anonymous
    	namespace.
    	* arm-tdep.c: Likewise.
    	* linespec.c: Likewise.
    	* ui-out.c: Likewise.

commit 9d736fbf01d20bc03804fa0cb49d99fdf6628fab
Author: Jonah Graham <jonah@kichwacoders.com>
Date:   Wed Mar 22 11:19:44 2017 +0000

    Import sys in gdb/python/lib/gdb/printer/bound_registers.py
    
    Pick up missing bits from the patch merged in.
    
    2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
    
    	PR gdb/19637
    	* python/lib/gdb/printer/bound_registers.py: Import sys.

commit 3e6c75670009a5e9eaa72eb456b296451b3c46fe
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 22 00:00:28 2017 +0000

    Automatic date update in version.in

commit 4c8798c9923de48c71430ce262d83042179232c6
Author: Sandra Loosemore <sandra@codesourcery.com>
Date:   Tue Mar 21 13:25:09 2017 -0700

    Disable shared library tests for nios2-*-elf.
    
    The Nios II processor documentation defines relocations for PIC and
    shared libraries as part of the GNU/Linux ABI only; GCC rejects -fpic
    on bare-metal.
    
    2017-03-21  Sandra Loosemore  <sandra@codesourcery.com>
    
    	ld/
    	* testsuite/lib/ld-lib.exp (check_shared_lib_support): Return
    	false for nios2-*-elf.

commit 3de88e9afbf0d8d10a8c4ce1415c219120e0a0c1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Mar 21 11:35:54 2017 -0400

    windows: Use ptid from regcache in register fetch/store
    
    Use the ptid from the regcache so we don't depend on the current value
    of the inferior_ptid global.
    
    Also, change how the current thread is passed to sub-functions.  The
    windows_fetch_inferior_registers function sets current_thread then calls
    do_windows_fetch_inferior_registers, which reads current_thread.  This
    very much looks like passing a parameter through a global variable.  I
    think it would be more straightforward to pass the thread as a
    parameter.
    
    gdb/ChangeLog:
    
    	* windows-nat.c (do_windows_fetch_inferior_registers): Add
    	windows_thread_info parameter and use it instead of
    	current_thread.
    	(windows_fetch_inferior_registers): Don't set current_thread,
    	pass the thread to do_windows_fetch_inferior_registers.  Use
    	ptid from regcache instead of inferior_ptid.
    	(do_windows_store_inferior_registers): Add windows_thread_info
    	parameter and use it instead of current_thread.
    	(windows_store_inferior_registers): Don't set current_thread,
    	pass the thread to do_windows_store_inferior_registers.  Use
    	ptid from regcache instead of inferior_ptid.

commit 0e7b8f61069f1219ca53a9dd927ba55c9a7eefd4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Mar 21 11:35:42 2017 -0400

    Remove remaining reference to struct serial::current_timeout
    
    I get this when trying to build for --host=x68_64-w64-mingw32:
    
    /home/emaisin/src/binutils-gdb/gdb/ser-mingw.c: In function 'void ser_windows_raw(serial*)':
    /home/emaisin/src/binutils-gdb/gdb/ser-mingw.c:166:8: error: 'struct serial' has no member named 'current_timeout'
       scb->current_timeout = 0;
            ^~~~~~~~~~~~~~~
    
    It is just a leftover from
    
      9bcbdca808b5f9fec6217d20bd4b48a56008c460
      PR remote/21188: Fix remote serial timeout
    
    gdb/ChangeLog:
    
    	* ser-mingw.c (ser_windows_raw): Remove reference to
    	struct serial::current_timeout.

commit 2253c8f089193b90141e08436417bc8ea1dd6015
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Tue Mar 21 14:21:02 2017 +0100

    S/390: Remove vx2 facility flag
    
    This patch removes the vx2 facility flag.  It will not be used by GCC
    and was a misnomer anyway.
    
    Committed to mainline and 2.28 branch.
    
    include/ChangeLog:
    
    2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h (S390_INSTR_FLAG_VX2): Remove.
    	(S390_INSTR_FLAG_FACILITY_MASK): Adjust value.
    
    gas/ChangeLog:
    
    2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (s390_parse_cpu): Remove S390_INSTR_FLAG_VX2
    	from cpu_table.  Remove vx2, and novx2 from cpu_flags.
    
    opcodes/ChangeLog:
    
    2017-03-21  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-mkopc.c (main): Remove vx2 check.
    	* s390-opc.txt: Remove vx2 instruction flags.

commit 4a14e306468af630a27302d68b8d4c59733141b4
Author: Andi Kleen <ak@linux.intel.com>
Date:   Tue Mar 21 13:05:19 2017 +0000

    Add --inlines option to objdump to include scope backtrace of inlined functions when generating source line number information.
    
    	* objdump.c (unwind_inlines): Add.
    	(option_values): Add OPTION_INLINES.
    	(show_line): Unwind inlines if requested.
    	(main): Parse OPTION_INLINES.
    	(usage): Document --inlines.
    	* doc/binutils.texi: Document --inlines.
    	* NEWS: Likewise.

commit 645d3342ba2b920722991255513030bb903b794e
Author: Rinat Zelig <rinat@mellanox.com>
Date:   Tue Mar 21 11:37:33 2017 +0000

    arc/nps400: Add cp16/cp32 instructions to opcodes library
    
    Instructions for loading or storing 16/32B data from one address type to
    another.
    
    gas/ChangeLog
    
    	* testsuite/gas/arc/nps400-11.s: New file.
    	* testsuite/gas/arc/nps400-11.d: New file.
    
    include/ChangeLog
    
    	* opcode/arc.h (insn_class_t): Add DMA class.
    
    opcodes/ChangeLog
    
    	* arc-nps400-tbl.h: Add cp32/cp16 instructions format.
    	* arc-opc.c: Add F_NPS_NA, NPS_DMA_IMM_ENTRY, NPS_DMA_IMM_OFFSET.
    	(insert_nps_imm_offset): New function.
    	(extract_nps_imm_offset): New function.
    	(insert_nps_imm_entry): New function.
    	(extract_nps_imm_entry): New function.

commit 75d7d2986cf896fac8f0690db68ebc552e0b0339
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Mar 21 11:48:57 2017 +0000

    Update support for GNU BUILD notes so that version notes can contain extra information, and stack protection notes can contain numeric values.
    
    	* readelf.c (print_gnu_build_attribute_name): Allow stack
    	protection notes to contain numeric values.  Use a colon rather
    	than a space to separate a string name from its values.  Decode
    	the numeric value of a stack protection note.
    	* objcopy.c (merge_gnu_build_notes): Allow version notes to
    	contain extra text after the protocol version number.

commit 5badf10a18af78c57dd4ce8e6a6ead7f46e1a878
Author: Ivo Raisr <ivo.raisr@oracle.com>
Date:   Tue Mar 21 04:39:33 2017 -0700

    Decode properly flags of %ccr register on sparc64.
    
    While at it, decode also properly one-bit flags for %fsr (accrued and
    current exception flags were mixed up).
    
    ChangeLog entry:
    2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
    
        	PR tdep/20928
        	* gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
        	* gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
        	(sparc64_fsr_type): Fix %fsr decoding.
    
    ChangeLog entry for testsuite:
    2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
    
        	PR tdep/20928
        	* gdb.arch/sparc64-regs.exp: New file.
        	* gdb.arch/sparc64-regs.S: Likewise.

commit 21701718895d186285e6daf04cc7342c6c88fb03
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Mar 17 11:12:05 2017 +0100

    ld: check overflow only for allocated sections.
    
    	* ldlang.c (lang_check_section_addresses): Check only for
    	allocated sections.

commit cee59b3feac9a8f6300a5b788e3db4e15af2a894
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue Mar 21 08:19:59 2017 +0100

    Fix break on Python 2
    
    This changes the return type of "gdb.BtraceInstruction.data ()" from
    "memoryview" to "buffer" on Python 2.7 and below, similar to what
    "gdb.Inferior.read_memory ()" does.

commit 09220eae9df07c40d206a35e6caaecba92ab8f46
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 21 00:00:24 2017 +0000

    Automatic date update in version.in

commit 639a9038c9f4fc50b6a57c18fe84db4559367a96
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 20 18:23:47 2017 -0400

    spu: Use ptid from regcache instead of inferior_ptid
    
    The implementations of to_fetch_registers/to_store_registers in the spu
    code use some functions that rely on inferior_ptid.  It's simpler for
    now to set/restore inferior_ptid.
    
    gdb/ChangeLog:
    
    	* spu-linux-nat.c (spu_fetch_inferior_registers,
    	spu_store_inferior_registers): Use ptid from regcache, set and
    	restore inferior_ptid.
    	* spu-multiarch.c (spu_fetch_registers, spu_store_registers):
    	Likewise.

commit bcc0c096d5b0f77482cdb3154acd2515a0ca832f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 20 17:37:36 2017 -0400

    Use ptid from regcache in almost all remaining nat files
    
    This patch contains almost all of the remaining changes needed to make
    to_fetch_registers/to_store_registers/to_prepare_to_store independent of
    inferior_ptid.  It contains only some "trivial" changes, the more
    complicated ones are in separate patches.
    
    gdb/ChangeLog:
    
    	* i386-linux-nat.c (fetch_register, store_register,
    	i386_linux_fetch_inferior_registers,
    	i386_linux_store_inferior_registers): Use ptid from regcache.
    	* ia64-linux-nat.c (ia64_linux_fetch_register,
    	ia64_linux_store_register): Likewise.
    	* inf-ptrace.c (inf_ptrace_fetch_register,
    	inf_ptrace_store_register): Likewise.
    	* m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
    	m32r_linux_store_inferior_registers): Likewise.
    	* m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
    	m68kbsd_store_inferior_registers): Likewise.
    	* m68k-linux-nat.c (fetch_register, store_register,
    	m68k_linux_fetch_inferior_registers,
    	m68k_linux_store_inferior_registers): Likewise.
    	* m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
    	m88kbsd_store_inferior_registers): Likewise.
    	* mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
    	mips_fbsd_store_inferior_registers): Likewise.
    	* mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
    	mips64_linux_regsets_store_registers): Likewise.
    	* mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
    	mipsnbsd_store_inferior_registers): Likewise.
    	* mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
    	mips64obsd_store_inferior_registers): Likewise.
    	* nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
    	Likewise.
    	* ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
    	ppcfbsd_store_inferior_registers): Likewise.
    	* ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
    	ppc_linux_store_inferior_registers): Likewise.
    	* ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
    	ppcnbsd_store_inferior_registers): Likewise.
    	* ppc-obsd-nat.c (ppcobsd_fetch_registers,
    	ppcobsd_store_registers): Likewise.
    	* procfs.c (procfs_fetch_registers, procfs_store_registers):
    	Likewise.
    	* ravenscar-thread.c (ravenscar_fetch_registers,
    	ravenscar_store_registers, ravenscar_prepare_to_store):
    	Likewise.
    	* record-btrace.c (record_btrace_fetch_registers,
    	record_btrace_store_registers, record_btrace_prepare_to_store):
    	Likewise.
    	* remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
    	Lookup inferior using ptid from regcache, instead of
    	current_inferior.
    	* remote.c (remote_fetch_registers, remote_store_registers): Use
    	ptid from regcache.
    	* rs6000-nat.c (fetch_register, store_register): Likewise.
    	* s390-linux-nat.c (s390_linux_fetch_inferior_registers,
    	s390_linux_store_inferior_registers): Likewise.
    	* sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
    	shnbsd_store_inferior_registers): Likewise.
    	* sol-thread.c (sol_thread_fetch_registers,
    	sol_thread_store_registers): Likewise.
    	* sparc-nat.c (sparc_fetch_inferior_registers,
    	sparc_store_inferior_registers): Likewise.
    	* tilegx-linux-nat.c (fetch_inferior_registers,
    	store_inferior_registers): Likewise.
    	* vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
    	vaxbsd_store_inferior_registers): Likewise.
    	* xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
    	store_xtregs): Likewise.

commit c0f55cc689a57deb342b988b8f0ecb908f0a76e1
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:59 2017 -0700

    Add rvalue reference tests and docs
    
    This patch adds tests for the initial rvalue reference support patchset.  All
    of the new tests are practically mirrored regular references tests and, except
    for the demangler ones, are introduced in new files, which are set to be
    compiled with -std=gnu++11.  Tested are printing of rvalue reference types and
    values, rvalue reference parameters in function overloading, demangling of
    function names containing rvalue reference parameters, casts to rvalue
    reference types, application of the sizeof operator to rvalue reference types
    and values, and support for rvalue references within the gdb python module.
    
    gdb/ChnageLog
    
    	PR gdb/14441
    	* NEWS: Mention support for rvalue references in GDB and python.
    	* doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
    	supports both lvalue and rvalue references.
    
    gdb/testsuite/ChangeLog
    
    	PR gdb/14441
    	* gdb.cp/demangle.exp: Add rvalue reference tests.
    	* gdb.cp/rvalue-ref-casts.cc: New file.
    	* gdb.cp/rvalue-ref-casts.exp: New file.
    	* gdb.cp/rvalue-ref-overload.cc: New file.
    	* gdb.cp/rvalue-ref-overload.exp: New file.
    	* gdb.cp/rvalue-ref-params.cc: New file.
    	* gdb.cp/rvalue-ref-params.exp: New file.
    	* gdb.cp/rvalue-ref-sizeof.cc: New file.
    	* gdb.cp/rvalue-ref-sizeof.exp: New file.
    	* gdb.cp/rvalue-ref-types.cc: New file.
    	* gdb.cp/rvalue-ref-types.exp: New file.
    	* gdb.python/py-rvalue-ref-value-cc.cc: New file.
    	* gdb.python/py-rvalue-ref-value-cc.exp: New file.

commit 15c0a2a9305648095f5586a02b5a5017e1643e99
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:57 2017 -0700

    Add rvalue references to overloading resolution
    
    This patch introduces changes to rank_one_type() dealing with ranking an rvalue
    reference type when selecting a best viable function from a set of candidate
    functions. The 4 new added rules for rvalue references are:
    
    1) An rvalue argument cannot be bound to a non-const lvalue reference parameter
    and an lvalue argument cannot be bound to an rvalue reference parameter.
    [C++11 13.3.3.1.4p3]
    
    2) If a conversion to one type of reference is an identity conversion, and a
    conversion to the second type of reference is a non-identity conversion, choose
    the first type. [C++11 13.3.3.2p3]
    
    3) An rvalue should be first tried to bind to an rvalue reference, and then to
    an lvalue reference. [C++11 13.3.3.2p3]
    
    4) An lvalue reference to a function gets higher priority than an rvalue
    reference to a function. [C++11 13.3.3.2p3]
    
    This patch is not exactly correct.  See c++/15372 for tracking overload
    resolution bugs.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* gdbtypes.c (rank_one_type): Implement overloading
    	resolution rules regarding rvalue references.

commit aa0061181ab00081e9907447561e589d6edee9f2
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:54 2017 -0700

    Convert lvalue reference type check to general reference type check
    
    In almost all contexts (except for overload resolution rules and expression
    semantics), lvalue and rvalue references are equivalent. That means that in all
    but these cases we can replace a TYPE_CODE_REF check to a TYPE_IS_REFERENCE
    check and, for switch statements, add a case label for a rvalue reference type
    next to a case label for an lvalue reference type. This patch does exactly
    that.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* aarch64-tdep.c (aarch64_type_align)
    	(aarch64_extract_return_value, aarch64_store_return_value): Change
    	lvalue reference type checks to general reference type checks.
    	* amd64-tdep.c (amd64_classify): Likewise.
    	* amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
    	Likewise.
    	* arm-tdep.c (arm_type_align, arm_extract_return_value)
    	(arm_store_return_value): Likewise.
    	* ax-gdb.c (gen_fetch, gen_cast): Likewise.
    	* c-typeprint.c (c_print_type): Likewise.
    	* c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
    	(cplus_number_of_children, cplus_describe_child): Likewise.
    	* compile/compile-c-symbols.c (generate_vla_size): Likewise.
    	* completer.c (expression_completer): Likewise.
    	* cp-support.c (make_symbol_overload_list_adl_namespace):
    	Likewise.
    	* darwin-nat-info.c (info_mach_region_command): Likewise.
    	* dwarf2loc.c (entry_data_value_coerce_ref)
    	(value_of_dwarf_reg_entry): Likewise.
    	* eval.c (ptrmath_type_p, evaluate_subexp_standard)
    	(evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
    	Likewise.
    	* findvar.c (extract_typed_address, store_typed_address):
    	Likewise.
    	* gdbtypes.c (rank_one_type): Likewise.
    	* hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
    	* infcall.c (value_arg_coerce): Likewise.
    	* language.c (pointer_type): Likewise.
    	* m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
    	Likewise.
    	* m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
    	* mn10300-tdep.c (mn10300_type_align): Likewise.
    	* msp430-tdep.c (msp430_push_dummy_call): Likewise.
    	* ppc-sysv-tdep.c (do_ppc_sysv_return_value)
    	(ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
    	Likewise.
    	* printcmd.c (print_formatted, x_command): Likewise.
    	* python/py-type.c (typy_get_composite, typy_template_argument):
    	Likewise.
    	* python/py-value.c (valpy_referenced_value)
    	(valpy_get_dynamic_type, value_has_field): Likewise.
    	* s390-linux-tdep.c (s390_function_arg_integer): Likewise.
    	* sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
    	* sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
    	* spu-tdep.c (spu_scalar_value_p): Likewise.
    	* symtab.c (lookup_symbol_aux): Likewise.
    	* typeprint.c (whatis_exp, print_type_scalar): Likewise.
    	* valarith.c (binop_types_user_defined_p, unop_user_defined_p):
    	Likewise.
    	* valops.c (value_cast_pointers, value_cast)
    	(value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
    	(value_struct_elt, value_struct_elt_bitpos)
    	(value_find_oload_method_list, find_overload_match)
    	(value_rtti_indirect_type): Likewise.
    	* valprint.c (val_print_scalar_type_p, generic_val_print):
    	Likewise.
    	* value.c (value_actual_type, value_as_address, unpack_long)
    	(pack_long, pack_unsigned_long, coerce_ref_if_computed)
    	(coerce_ref): Likewise.
    	* varobj.c (varobj_get_value_type): Likewise.

commit 3fcf899da106890f3948093c2424f9dff67d6fe0
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:52 2017 -0700

    Support rvalue references in the gdb python module (includes doc/)
    
    This patch adds the ability to inspect rvalue reference types and values using
    the gdb python module. This is achieved by creating two wrappers for
    valpy_reference_value(), using the ReferenceExplorer class to handle the
    objects of rvalue reference types and placing necessary checks for a
    TYPE_CODE_RVALUE_REF type code next to the checks for a TYPE_CODE_REF type
    code.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
    	table of constants.
    	* python/lib/gdb/command/explore.py: Support exploring values
    	of rvalue reference types.
    	* python/lib/gdb/types.py: Implement get_basic_type() for
    	rvalue reference types.
    	* python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
    	constant.
    	* python/py-value.c (valpy_getitem): Add an rvalue reference
    	check.
    	(valpy_reference_value): Add new parameter "refcode".
    	(valpy_lvalue_reference_value, valpy_rvalue_reference_value):
    	New wrappers for valpy_reference_value().
    	* python/py-xmethods.c (gdbpy_get_xmethod_result_type)
    	(gdbpy_invoke_xmethod): Likewise.

commit 4297a3f0029974c62628d69b6f3f9ef25f01ea7d
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:50 2017 -0700

    Support DW_TAG_rvalue_reference type
    
    Make gdb DWARF reader understand the DW_TAG_rvalue_reference type tag. Handling
    of this tag is done in the existing read_tag_reference_type() function, to
    which we add a new parameter representing the kind of reference type
    (lvalue vs rvalue).
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* dwarf2read.c (process_die, read_type_die_1): Handle the
    	DW_TAG_rvalue_reference_type DIE.
    	(read_tag_reference_type): Add new parameter "refcode".

commit e1cb3213476485a01aa11ecedfa186e386cb4bdb
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:48 2017 -0700

    Implement printing of rvalue reference types and values
    
    This patch provides the ability to print out names of rvalue reference types
    and values of those types. This is done in full similarity to regular
    references, and as with them, we don't print out "const" suffix because all
    rvalue references are const.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
    	(c_type_print_modifier, c_type_print_varspec_suffix)
    	(c_type_print_base): Support printing rvalue reference types.
    	* c-valprint.c (c_val_print, c_value_print): Support printing
    	rvalue reference values.

commit e4347c89f3a14b480fc88581d1363835f7b99b68
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:46 2017 -0700

    Implement demangling for rvalue reference type names
    
    This patch fixes demangling of names containing rvalue reference typenames by
    handling DEMANGLE_COMPONENT_RVALUE_REFERENCE demangle component.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* cp-name-parser.y (ptr_operator): Handle the '&&' token in
    	typename.
    	* cp-support.c (replace_typedefs): Handle
    	DEMANGLE_COMPONENT_RVALUE_REFERENCE.
    	* python/py-type.c (typy_lookup_type): Likewise.

commit 53cc15f5fe1f5e2358994d4f60f1c2aa9115004d
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:43 2017 -0700

    Support rvalue reference type in parser
    
    This patch implements correct parsing of C++11 rvalue reference typenames.
    This is done in full similarity to the handling of regular references by adding
    a '&&' token handling in c-exp.y, defining an rvalue reference type piece, and
    implementing a follow type derivation in follow_types().
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* c-exp.y (ptr_operator): Handle the '&&' token in the typename.
    	* parse.c (insert_type): Change assert statement.
    	(follow_types): Handle rvalue reference types.
    	* parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
    	constant.

commit a65cfae5f8b268158c23a862e7a996d15bbcef0e
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:41 2017 -0700

    Add ability to return rvalue reference values from value_ref
    
    Parameterize value_ref() by the kind of reference type the value of which
    is requested. Change all callers to use the new API.
    
    gdb/ChangeLog
    
    	PR gdb/14441
    	* ada-lang.c (ada_evaluate_subexp): Adhere to the new
    	value_ref() interface.
    	* c-valprint.c (c_value_print): Likewise.
    	* infcall.c (value_arg_coerce): Likewise.
    	* python/py-value.c (valpy_reference_value): Likewise.
    	* valops.c (value_cast, value_reinterpret_cast)
    	(value_dynamic_cast, typecmp): Likewise.
    	(value_ref): Parameterize by kind of return value reference type.
    	* value.h (value_ref): Add new parameter "refcode".

commit 3b22433085e4cfee83f5c52f3baa8fb9bc67f8dd
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:39 2017 -0700

    Change {lookup,make}_reference_type API
    
    Parameterize lookup_reference_type() and make_reference_type() by the kind of
    reference type we want to look up. Create two wrapper functions
    lookup_{lvalue,rvalue}_reference_type() for lookup_reference_type() to simplify
    the API. Change all callers to use the new API.
    
    gdb/Changelog
    
    	PR gdb/14441
    	* dwarf2read.c (read_tag_reference_type): Use
    	lookup_lvalue_reference_type() instead of lookup_reference_type().
    	* eval.c (evaluate_subexp_standard): Likewise.
    	* f-exp.y: Likewise.
    	* gdbtypes.c (make_reference_type, lookup_reference_type):
    	Generalize with rvalue reference types.
    	(lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
    	convenience wrappers for lookup_reference_type().
    	* gdbtypes.h (make_reference_type, lookup_reference_type): Add a
    	reference kind parameter.
    	(lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
    	wrappers for lookup_reference_type().
    	* guile/scm-type.c (gdbscm_type_reference): Use
    	lookup_lvalue_reference_type() instead of lookup_reference_type().
    	* guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
    	* parse.c (follow_types): Likewise.
    	* python/py-type.c (typy_reference, typy_lookup_type): Likewise.
    	* python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
    	Likewise.
    	* python/py-xmethods.c (gdbpy_get_xmethod_result_type)
    	(gdbpy_invoke_xmethod): Likewise.
    	* stabsread.c: Provide extra argument to make_reference_type()
    	call.
    	* valops.c (value_ref, value_rtti_indirect_type): Use
    	lookup_lvalue_reference_type() instead of lookup_reference_type().

commit f9aeb8d499fa12610610dc19618230304c698f6c
Author: Artemiy Volkov <artemiyv@acm.org>
Date:   Mon Mar 20 13:47:30 2017 -0700

    Add definitions for rvalue reference types
    
    This patch introduces preliminal definitions regarding C++11 rvalue references
    to the gdb type system. In addition to an enum type_code entry, a field in
    struct type and an accessor macro for that which are created similarly to the
    lvalue references counterparts, we also introduce a TYPE_REFERENCE convenience
    macro used to check for both kinds of references simultaneously as they are
    equivalent in many contexts.
    
    gdb/Changelog
    
        PR gdb/14441
        * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
        (TYPE_IS_REFERENCE): New macro.
        (struct type): Add rvalue_reference_type field.
        (TYPE_RVALUE_REFERENCE_TYPE): New macro.

commit 51457a05780da82b5321a1574caed95ac0e6923e
Author: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Date:   Mon Mar 20 14:57:51 2017 -0400

    Add -file-list-shared-libraries MI command
    
    This change adds the MI equivalent for the "info sharedlibrary"
    command. The command was already partially documented but ignored as
    it was not implemented. The new MI command works similarly to the CLI
    command, taking an optional regular expression as an argument and
    outputting the library information.
    
    I included a test for the new command in mi-solib.exp.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (gdb/mi Symbol Query Commands): Document new MI
    	command file-list-shared-libraries
    	(GDB/MI Async Records): Update documentation of library-loaded with new
    	field.
    
    gdb/ChangeLog:
    
    	* NEWS: Add an entry about new '-file-list-shared-libraries' command.
    	* mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
    	New function definition.
    	* mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
    	* mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
    	New function declaration.
    	* mi/mi-interp.c (mi_output_solib_attribs): New Function.
    	* mi/mi-interp.h: New file.
    	* solib.c (info_sharedlibrary_command): Replace for loop with
    	ALL_SO_LIBS macro
    	* solib.h (update_solib_list): New function declaration.
    	(so_list_head): Move macro.
    	* solist.h (ALL_SO_LIBS): New macro.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.mi/mi-solib.exp (test_file_list_shared_libraries):
    	New procedure.
    
    Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>

commit 5b291c049658614196197e4ea4bb42bcc176b876
Author: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Date:   Mon Mar 20 14:57:45 2017 -0400

    Add a better diagnostic message in mi_gdb_test
    
    When using mi_gdb_test, if it fails because of the presence of
    unexpected output, the error message is only the message passed as
    the argument with no indication that there was an unexpected output.
    This change adds an additional text to the failure message to
    indicate that there was an unexpected output.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/mi-support.exp (mi_gdb_test): Add additional message
    	for unexpected output.
    
    Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>

commit e696b3ad342dde596dcdad4cff6b875c361ed6d0
Author: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Date:   Mon Mar 20 14:57:32 2017 -0400

    Remove unused parameter in solib_add and update_solib_list
    
    The target parameter in both solib_add and update_solib_list
    functions is not used anymore and as not been used for a while. This
    change removes the parameter to clean up the code a little bit.
    
    gdb/ChangeLog:
    
    	* infcmd.c (post_create_inferior): Remove unused argument in
    	call to solib_add.
    	* remote.c (remote_start_remote): Likewise.
    	* solib-frv.c (frv_fetch_objfile_link_map): Likewise.
    	* solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
    	(enable_break): Likewise.
    	* solib.c (update_solib_list): Remove unused target argument
    	and its documentation.
    	(solib_add): Remove unused target argument.  Remove unused
    	argument in call to update_solib_list.
    	(info_sharedlibrary_command): Remove unused argument in call
    	to update_solib_list.
    	(sharedlibrary_command): Remove unused argument in call to
    	solib_add.
    	(handle_solib_event): Likewise.
    	(reload_shared_libraries): Likewise.
    	* solib.h (solib_add): Remove unused target argument.
    
    Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>

commit 59a561480d547d041127630b1ba17a284eef8225
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Mon Mar 20 18:55:39 2017 +0100

    Fix spurious FAILs with examine-backward.exp
    
    The test case examine-backward.exp issues the command "x/-s" after the end
    of the first string in TestStrings, but without making sure that this
    string is preceded by a string terminator.  Thus GDB may spuriously print
    some random characters from before that string, and then the test fails.
    
    This patch assures that TestStrings is preceded by a string terminator.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/examine-backward.c (Barrier): New character array
    	constant, to ensure that TestStrings is preceded by a string
    	terminator.

commit 39e224f6f9ee3f6123d4c9ddb7c0955e0604c1b4
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Mar 20 15:32:34 2017 +0100

    readelf: Don't error on .debug files with NOBITS .dynamic section.
    
    The fix for PR binutils/17512 added a check for the dynamic segment being
    inside the actual ELF file. If not an error message would be produced:
    
    readelf: Error: the dynamic segment offset + size exceeds the size of the file
    
    Unfortunately for separate debuginfo files it is common for the dynamic
    segment not being inside the file because the .dynamic section is NOBITS.
    
    Since the check is done unconditionally in process_program_headers and
    process_program_headers is always called (to setup dynamic_addr in case
    it is needed). The error is produced on any operations done on any .debug
    file (even if no program headers or the dynamic segment is used).
    
    If there are section headers then a cross check is done to see if the
    .dynamic section is NOBITS in which case dynamic_addr is set to zero
    without a warning or error (which is then checked first before any
    operation on the dynamic segement is done).
    
    Move the check for the dynamic segment being inside the actual ELF file
    after the cross check with the section headers to suppress the error for
    .debug files.
    
    binutils/ChangeLog:
    
    	* readelf.c (process_program_headers): Move dynamic_addr check
    	after .dynamic section cross check.

commit e406e428dfe9d64e3be0b7a3c1c97c09edc5bdba
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 20 16:57:07 2017 +0000

    Update descriptions of the .2byte, .4byte and .8byte directives.
    
    	* doc/as.texinfo (2byte): Note that if no expressions are present
    	the directive does nothing.  Emphasize that the output is
    	unaligned, and that this can have an effect on the relocations
    	generated.
    	(4byte): Simplify description.  Refer back to the 2byte
    	description.
    	(8byte): Likewise.

commit dcb84eda0c5f25835251a311c4d6704e70cfa498
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Mon Mar 20 17:30:01 2017 +0100

    s390: Fix displaced-stepping certain relative branch insns
    
    On s390x targets GDB can not handle displaced stepping correctly for some
    relative branch instructions, such as cij (compare immediate and branch
    relative).  When setting a breakpoint on such an instruction and
    single-stepping over it, the branch is never taken.  This is because the
    check in s390_displaced_step_fixup for relative branch instructions is
    incomplete.
    
    Instead of completing the list of relative branch instructions to check
    against, this patch just treats relative branches and non-branching
    instructions in the same way and adjusts the PC with the negated
    displacement in both cases.
    
    gdb/ChangeLog:
    
    	* s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
    	(s390_displaced_step_fixup): Cover relative branches with the
    	default fixup handling.  This fixes lack of support for some
    	relative branch instructions.

commit 4ea0266c22eccf6e7719469a981267659e47ef3a
Author: Stafford Horne <shorne@gmail.com>
Date:   Mon Mar 20 15:33:51 2017 +0000

    Update the openrisc previous program counter (ppc) when running code in the cgen based simulator.
    
    	* or1kcommon.cpu: Add pc set semantics to also update ppc.

commit d5e0ba9cdb0d002b97bab722cce673ce86cf7b11
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Mon Mar 20 14:56:22 2017 +0000

    [arm] Document missing -mfpu entries.
    
    Nick pointed out that I hadn't documented the new -mfpu option
    neon-vfpv3 and mentioned that some others were missing.
    
    Having looked through the list only one (neon-fp16) really should be
    documented; the other two entries in the real table should not be
    documented as they are aliases kept for legacy compatibility reasons.
    This patch adds the missing entries and notes in the main table that
    the other two entries should not be documented.
    
    I've also fixed a small spelling error in the accompanying text.
    
    	* config/tc-arm.c (arm_fpus): Note entires that should not be
    	documented.
    	* doc/c-arm.texi (-mfpu): Add missing FPU entries for neon-vfpv3 and
    	neon-fp16.  Fix spelling error.

commit d3375ddde4011242ef576083459fc51d0ddc53c8
Author: Richard Earnshaw <Richard.Earnshaw@arm.com>
Date:   Mon Mar 20 10:03:15 2017 +0000

    [arm] Add neon-vfp3 as an alias for neon to -mfpu.
    
    GCC recently added neon-vfpv3 as an alias for neon in -mfpu.  This patch adds a similar alias in GAS.
    
    * config/tc-arm.c (arm_fpus): Add neon-vfpv3 as an alias for neon.

commit 5c62b69b91e13c6b9c126480680cff836c0b282d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 20 00:00:40 2017 +0000

    Automatic date update in version.in

commit aaed6f5be3a41a88cc13c744e88af78f5a42dd5b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 20 08:25:50 2017 +1030

    PR 21266, unstable qsort in bfd/elf64-ppc.c
    
    	PR 21266
    	* elf64-ppc.c (compare_symbols): Stabilize sort.

commit 84e8538ee3c8139a99e75e661fff500bb93c8cd5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 19 00:00:24 2017 +0000

    Automatic date update in version.in

commit bbdf9b697fc0652379794267b23f597e15c7db57
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 18 00:00:41 2017 +0000

    Automatic date update in version.in

commit 82e66161e649e5e801c40a52cba759292a76a59a
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Mar 17 08:37:15 2017 +1030

    DT_TEXTREL vs IFUNC
    
    If you should somehow link non-pic objects into a PIE or shared
    library, resulting in an object with DT_TEXTREL (text relocations)
    set, and your executable or shared library also contains GNU indirect
    functions, then you're in trouble.  To apply dynamic relocations
    ld.so will make the text segment writable.  On most systems this will
    make the text segment non-executable, which will then result in a
    segfault when ld.so tries to run ifunc resolvers when applying
    relocations against ifuncs.
    
    This patch teaches PowerPC ld to detect the situation, and warn.
    
    	* elf64-ppc.c (struct ppc_link_hash_table): Add
    	local_ifunc_resolver and maybe_local_ifunc_resolver.
    	(ppc_build_one_stub): Set flags on emitting dynamic
    	relocation to ifunc.
    	(ppc64_elf_relocate_section): Likewise.
    	(ppc64_elf_finish_dynamic_symbol): Likewise.
    	(ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
    	local dynamic relocs to ifuncs.
    	* elf32-ppc.c (struct ppc_elf_link_hash_table): Add
    	local_ifunc_resolver and maybe_local_ifunc_resolver.
    	(ppc_elf_relocate_section): Set flag on emitting dynamic
    	relocation to ifuncs.
    	(ppc_elf_finish_dynamic_symbol): Likewise.
    	(ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
    	dynamic relocs to ifuncs.

commit d9cb6cdcfa12368f2f639f8cd06d18b94bd98a39
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:57 2017 -0400

    i386-gnu-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
    	ptid from regcache.

commit 1afaf9f42fe201872d758214beceff85325a988a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:56 2017 -0400

    i386-darwin-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
    	i386_darwin_store_inferior_registers): Use ptid from regcache.

commit aac12e2497a42b47223680ab1b5924137de77c9a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:55 2017 -0400

    i386-bsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
    	i386bsd_store_inferior_registers): Use ptid from regcache.

commit bbe1eef1e585e19d5493882e55f2b7902df9827a
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:55 2017 -0400

    hppa-obsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* hppa-obsd-nat.c (hppaobsd_fetch_registers,
    	hppaobsd_store_registers): Use ptid from regcache.

commit 10799020a9336b6a88c1ace53c601960b840d580
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:54 2017 -0400

    hppa-nbsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* hppa-nbsd-nat.c (hppanbsd_fetch_registers,
    	hppanbsd_store_registers): Use ptid from regcache.

commit 00204cf7da01d99205aacc994e5c594ed12bba64
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:53 2017 -0400

    hppa-linux-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* hppa-linux-nat.c (fetch_register, store_register): Use ptid
    	from regcache.  Use get_ptrace_pid.

commit 11a3371447f15af26def26646ad2eb7a4386462d
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:52 2017 -0400

    corelow: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* corelow.c (get_core_register_section): Use ptid from regcache,
    	update doc.

commit 317cd4925a9d6ef6f8752a771cb56e85ddfb30f0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:51 2017 -0400

    bsd-uthread: Use ptid from regcache instead of inferior_ptid
    
    This is one of the rare to_fetch/store_registers implementations that will
    still rely (for now) on inferior_ptid (because of the memory read/write
    operations).  We therefore have to add a save/restore of inferior_ptid.  We'll
    be able to remove it when we make the memory operations accept the ptid as a
    parameter.
    
    gdb/ChangeLog:
    
    	* bsd-uthread.c (bsd_uthread_fetch_registers,
    	bsd_uthread_store_registers): Use ptid from regcache, set and
    	restore inferior_ptid.

commit 9ac8a7c281aa949cf588cccb9977ea51eaff8130
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:50 2017 -0400

    arm-nbsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
    	fetch_fp_regs, store_register, store_regs, store_fp_register,
    	store_fp_regs): Use ptid from regcache.

commit 4ac4bb6ad5ead16be5ca6996a3e325c26ddf71da
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Mar 17 13:55:49 2017 -0400

    arm-linux-nat.c: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
    	store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
    	store_vfp_regs): Use ptid from regcache.

commit 0dd6ae21da832f351a3722d2f8bac187fc3bdfef
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 17 17:36:51 2017 +0000

    Fix displaying the value associated a GNU BUILD note that uses an ascii name.
    
    	* readelf.c (print_gnu_build_attribute_name): Fix off by one error
    	printing the value for a build note with an ascii name.

commit 9bcbdca808b5f9fec6217d20bd4b48a56008c460
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Mar 17 16:08:12 2017 +0000

    PR remote/21188: Fix remote serial timeout
    
    As Gareth McMullin <gareth@blacksphere.co.nz> reports at
    <https://sourceware.org/ml/gdb-patches/2017-02/msg00560.html>, the
    timeout mechanism in ser-unix.c was broken by commit 048094acc
    ("target remote: Don't rely on immediate_quit (introduce quit
    handlers)").
    
    Instead of applying a local fix, and since we now finally always use
    interrupt_select [1], let's get rid of hardwire_readchar entirely, and
    use ser_base_readchar instead, which has similar timeout handling,
    except for the bug.
    
    Smoke tested with:
    
     $ socat -d -d pty,raw,echo=0 pty,raw,echo=0
     2017/03/14 14:08:13 socat[4994] N PTY is /dev/pts/14
     2017/03/14 14:08:13 socat[4994] N PTY is /dev/pts/15
     2017/03/14 14:08:13 socat[4994] N starting data transfer loop with FDs [3,3] and [5,5]
     $ gdbserver /dev/pts/14 PROG
     $ gdb PROG -ex "tar rem /dev/pts/15"
    
    and then a few continues/ctrl-c's, plus killing gdbserver and socat.
    
    [1] - See FIXME comments being removed.
    
    gdb/ChangeLog:
    2017-03-17  Pedro Alves  <palves@redhat.com>
    
    	PR remote/21188
    	* ser-base.c (ser_base_wait_for): Add comment.
    	(do_ser_base_readchar): Improve comment based on the ser-unix.c's
    	version.
    	* ser-unix.c (hardwire_raw): Remove reference to
    	scb->current_timeout.
    	(wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
    	(hardwire_ops): Install ser_base_readchar instead of
    	hardwire_readchar.
    	* serial.h (struct serial) <current_timeout, timeout_remaining>:
    	Remove fields.

commit 7503099f3e29739d34cb1224d54fba96404e6e61
Author: Jonah Graham <jonah@kichwacoders.com>
Date:   Fri Mar 17 14:57:44 2017 +0000

    Fix PR gdb/19637: bound_registers.py: Add support for Python 3
    
    Fix this the same way gdb/python/lib/gdb/printing.py handles it.
    
    gdb/Changelog:
    2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
    
    	PR gdb/19637
    	* python/lib/gdb/printer/bound_registers.py: Add support for
    	Python 3.

commit 4b94dd2de12dd0389615700b13b63260e162ccf0
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Mar 17 19:06:12 2017 +1030

    E6500 spr mnemonics
    
    	PR 21248
    	* ppc-opc.c (powerpc_opcodes): Enable mfivor32, mfivor33,
    	mtivor32, and mtivor33 for e6500.  Move mfibatl and mfibatu after
    	those spr mnemonics they alias.  Similarly for mtibatl, mtibatu.

commit 1d3fa25f5802fe2250f32f335ad57897a62e0fe2
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 14 22:01:34 2017 +1030

    ld sec64k test fix
    
    	* testsuite/ld-elf/sec64k.exp: Don't run on h8300 and ip2k.

commit b4fcfd3b4d173129207f804f5eee4557c788d66b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 17 00:00:34 2017 +0000

    Automatic date update in version.in

commit 7942e96e435d1cf4d4dbf58c47bb28d9f628c9e6
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Mar 16 19:50:24 2017 +0100

    Big-endian targets: Don't ignore offset into DW_OP_stack_value
    
    Recently I fixed a bug that caused a DW_OP_implicit_pointer with non-zero
    offset into a DW_OP_implicit_value to be handled incorrectly on big-endian
    targets.  GDB ignored the offset and copied the wrong bytes:
    
      https://sourceware.org/ml/gdb-patches/2017-01/msg00251.html
    
    But there is still a similar issue when a DW_OP_implicit_pointer points
    into a DW_OP_stack_value instead; and again, the offset is ignored.  There
    is an important difference, though: While implicit values are treated like
    blocks of data and anchored at the lowest-addressed byte, stack values
    traditionally contain integer numbers and are anchored at the *least
    significant* byte.  Also, stack values do not come in varying sizes, but
    are cut down appropriately when used.  Thus, on big-endian targets the
    scenario looks like this (higher addresses shown right):
    
      |<- - - - - Stack value - - - - - - ->|
                      |                     |
                      |<- original object ->|
                      |
                      | offset ->|####|
    			      ^^^^
                                  de-referenced
    			      implicit pointer
    
    (Note how the original object's size influences the position of the
    de-referenced implicit pointer within the stack value.  This is not the
    case for little-endian targets, where the original object starts at offset
    zero within the stack value.)
    
    This patch implements the logic indicated in the above diagram and adds an
    appropriate test case.  A new function dwarf2_fetch_die_type_sect_off is
    added; it is used for retrieving the original object's type, so its size
    can be determined.  That type is passed to dwarf2_evaluate_loc_desc_full
    via a new parameter.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (indirect_synthetic_pointer): Get data type of
    	pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
    	(dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
    	byte_offset to subobj_byte_offset.  Fix the handling of
    	DWARF_VALUE_STACK on big-endian targets when coming via an
    	implicit pointer.
    	(dwarf2_evaluate_loc_desc): Adjust call to
    	dwarf2_evaluate_loc_desc_full.
    	* dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
    	* dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/dwarf.exp: Add support for DW_OP_implicit_pointer.
    	* gdb.dwarf2/nonvar-access.exp: Add test for stack value location
    	and implicit pointer into such a location.

commit 6ebac3fbacebaebd9e2c9393da3b612342d953a9
Author: Doug Evans <dje@google.com>
Date:   Thu Mar 16 10:43:21 2017 -0700

    gdb.python/py-lazy-string (pointer): Really add new typedef.
    
    Somehow got dropped in earlier commit.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-lazy-string (pointer): Really add new typedef.

commit 2cc36e25db366d70a975702b61c7700ae934d4d0
Author: Doug Evans <dje@google.com>
Date:   Thu Mar 16 10:39:26 2017 -0700

    Remove collision markers from earlier commit

commit a8be5506b626a57f84771c5ddfaefabf2d61c017
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 16 16:44:55 2017 +0000

    Add support for a GNU BUILD note type to record the enum size.
    
    include	* elf/common.h (GNU_BUILD_ATTRIBUTE_SHORT_ENUM): New GNU BUILD
    	note type.
    
    binutils * readelf.c (print_gnu_build_attribute_name): Add support for
    	GNU_BUILD_ATTRIBUTE_SHORT_ENUM.

commit ba14f3792fe007bedd88b62e554c79258adc53d9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 16 16:35:18 2017 +0000

    Support CBNZ, CBZ, REV, REV16 and REVSH in arm process record
    
    This patch adds the support for these instructions in arm process
    record.
    
    gdb:
    
    2017-03-16  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
    	and REVSH instructions.

commit b121eeb9971ebfceffc38e6131fdc15ec4188599
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 16 16:35:18 2017 +0000

    Fix arm process record for some instructions
    
    I look at some fails in gdb.reverse/solib-precsave.exp in -mthumb,
    they are caused by some bugs on decoding these three instructions,
    uxtb, ldr and mrc.  This patch adds unit tests against these three
    instructions, and fix these bugs by re-organizing the code to match
    the table in ARM ARM.
    
    gdb:
    
    2017-03-16  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
    	(arm_record_test): Declare.
    	(_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
    	(thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
    	align with the manual.
    	(thumb_record_misc): Adjust the code order to align with the
    	manual.
    	(thumb2_record_decode_insn_handler): Fix instruction matching.
    	(instruction_reader_thumb): New class.
    	(arm_record_test): New function.

commit 728a79135f51a1c20719ebaf3c98446d9ee248db
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Mar 16 16:35:18 2017 +0000

    Add instruction_reader to arm process record
    
    This patch adds an abstract class abstract_memory_reader a
    and pass it to the code reading instructions in arm process record,
    rather than using target_read_memory to read from real target.  This
    paves the way for adding more unit tests to arm process record.
    
    gdb:
    
    2017-03-16  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (abstract_memory_reader): New class.
    	(instruction_reader): New class.
    	(extract_arm_insn): Add argument 'reader'.  Callers updated.
    	(decode_insn): Likewise.

commit a7c0469f992721b30665ba92f4f2f74d29032a84
Author: Doug Evans <dje@google.com>
Date:   Wed Mar 15 15:44:45 2017 -0700

    Copy lazy string handling fixes from Python.
    
    This patch keeps the Scheme side of lazy string handling in sync
    with the python size, bringing over fixes for
    PRs python/17728, python/18439, python/18779.
    
    gdb/ChangeLog:
    
    	* guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
    	member.  Change type of TYPE member to SCM.  All uses updated.
    	(lsscm_make_lazy_string_smob): Add assert.
    	(lsscm_make_lazy_string): Flag bad length values.
    	(lsscm_elt_type): New function.
    	(gdbscm_lazy_string_to_value): Rewrite to use
    	lsscm_safe_lazy_string_to_value.
    	(lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
    	* guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
    	values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
    	in incoming type.
    	* guile/guile-internal.h (tyscm_scm_to_type): Declare.
    	* guile/scm-type.c (tyscm_scm_to_type): New function.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.guile/scm-value.c (main) Delete locals sptr, sn.
    	* gdb.guile/scm-lazy-string.c: New file.
    	* gdb.guile/scm-value.exp: Move lazy string tests to ...
    	* gdb.guile/scm-lazy-string.exp: ... here, new file.  Add more tests
    	for pointer, array, typedef lazy strings.

commit 34b433203b5f56149c27a8dfea21a921392cb158
Author: Doug Evans <dje@google.com>
Date:   Wed Mar 15 15:35:13 2017 -0700

    Fix various python lazy string bugs.
    
    gdb/ChangeLog:
    
    	PR python/17728, python/18439, python/18779
    	* python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
    	member.  Change type of TYPE member to PyObject *.  All uses updated.
    	(stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
    	(gdbpy_create_lazy_string_object): Flag bad length values.
    	Handle TYPE_CODE_ARRAY with possibly different user-provided length.
    	Handle typedefs in incoming type.
    	(stpy_lazy_string_elt_type): New function.
    	(gdbpy_extract_lazy_string): Call it.
    	* python/py-value.c (valpy_lazy_string): Flag bad length values.
    	Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
    	typedefs in incoming type.
    
    gdb/testsuite/ChangeLog:
    
    	PR python/17728, python/18439, python/18779
    	* gdb.python/py-value.c (main) Delete locals sptr, sn.
    	* gdb.python/py-lazy-string.c (pointer): New typedef.
    	(main): New locals ptr, array, typedef_ptr.
    	* gdb.python/py-value.exp: Move lazy string tests to ...
    	* gdb.python/py-lazy-string.exp: ... here.  Add more tests for pointer,
    	array, typedef lazy strings.

commit a3a5feccd26be653efbdf1408874b98962baaa50
Author: Doug Evans <dje@google.com>
Date:   Sun Nov 6 16:10:00 2016 -0800

    New function tyscm_scm_to_type.
    
    gdb/ChangeLog:
    
    	* guile/guile-internal.h (tyscm_scm_to_type): Declare.
    	* guile/scm-type.c (tyscm_scm_to_type): New function.

commit f8d995870f957d5fd32fb21fb4afe76a754ddf31
Author: Doug Evans <dje@google.com>
Date:   Sun Nov 6 16:03:56 2016 -0800

    Lazy strings can be made from arrays too.
    
    gdb/doc/ChangeLog:
    
    	* guile.texi (Lazy Strings In Guile): Mention arrays.
    	* python.texi (Lazy Strings In Python): Ditto.

commit 28f1c60507ad4ca2252cebada30d2f63ec3b772f
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Mar 16 09:55:18 2017 +0000

    [Patch] Fix variable type glitch in inf-ptrace.c
    
    gdb/
    	* inf-ptrace.c (inf_ptrace_peek_poke): Change the type to "ULONGEST"
    	for "skip".

commit ec3b243d4308ee56c9e3c62470b10ed2a822eb51
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Mar 16 14:02:31 2017 +0000

    Fix expect for gdb.cp/m-static.exp
    
    The expectation in gdb.cp/m-static.exp for the ptype of
    single_constructor is to get in the result of destructor with the
    following prototype: ~single_constructor(int).
    
    Yet, m-static.cc declares the destructor as ~single_constructor(). This
    commit fixes the expectation.
    
    2017-03-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	gdb/testsuite/
    	* gdb.cp/m-static.exp: Fix expectation for prototype of
    	test5.single_constructor and single_constructor::single_constructor.

commit 2c52e2e8c9e8f733cc0772d1400b0f4d3eb7379c
Author: Rinat Zelig <rinat@mellanox.com>
Date:   Thu Mar 16 10:05:22 2017 +0000

    gas/arc: Limit special handling of t/nt flag to ARCv2
    
    In a later commit I'll be adding a new version of the ".nt" flag for an
    ARC700 extension (NPS400) which does not require this same special
    handling.
    
    In this commit I have restricted the special flag handling to only apply
    if we are assembling for ARCv2.  This is a restructuring commit, and
    there should be no user visible changes after this commit.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (assemble_insn): Only handle ".t" and ".nt"
    	specially for ARCv2.

commit e189bfe660d335f3b7c61446c9b5d3b0f0701606
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 16 00:00:45 2017 +0000

    Automatic date update in version.in

commit aab2c17756ee5bef0ea5783a460a0990450b3bd5
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 16:49:16 2017 -0700

    Mips: Fix TLS LDM GOT entry.
    
    gold/
    	* mips.cc (Mips_got_entry::hash()): Shift addend to reduce
    	possibility of collisions.
    	(Mips_got_entry::equals): Fix case for GOT_TLS_LDM
    	entries.

commit 4d78db49e6eee097365e31f9b5b47e5391243979
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 16:46:26 2017 -0700

    Mips: Omit empty objects for merging processor-specific data.
    
    gold/
    	* mips.cc (Mips_relobj::merge_processor_specific_data_): New data
    	member.
    	(Mips_relobj::merge_processor_specific_data): New method.
    	(Mips_relobj::do_read_symbols): Set merge_processor_specific_data_
    	to false, only if the input file is a binary or if object has no
    	contents except the section name string table and an empty symbol
    	table with the undefined symbol.
    	(Target_mips::do_finalize_sections): Refactor.  Skip empty object files
    	for merging processor-specific data.

commit 152c92b261fd9e4655688bef746ca32352f56bc4
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 16:41:48 2017 -0700

    Mips: Add support for resolving multiple consecutive relocations.
    
    gold/
    	* mips.cc (Target_mips::Relocate::calculated_value_): New data
    	member.
    	(Target_mips::Relocate::calculate_only_): Likewise.
    	(Target_mips::Relocate::relocate): Handle multiple consecutive
    	relocations with the same offset.

commit 1e1247c89ca2ce10dbf2c3ed61fba942f9c536ca
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:52:12 2017 -0700

    Remove redundant checks for relocatable link (MIPS).
    
    gold/
    	* mips.cc (Target_mips::Relocate::relocate): Remove redundant
    	checks for relocatable link.
    	(Mips_relocate_functions::reljalr): Likewise.

commit 1728969e93010862fe0ef7985cabe03a4494a63e
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:47:58 2017 -0700

    Add support for .MIPS.options section.
    
    gold/
            * mips.cc (class Mips_output_section_options): New class.
            (Target_mips::do_make_output_section): New method.

commit c3847462f86778e97222a72378a84182f92c644a
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:43:25 2017 -0700

    Improve relocation overflow errors on MIPS.
    
    gold/
            * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
            overflow error message.
            (Target_mips::relocate_special_relocatable): Improve relocation
            overflow error message.
            (Target_mips::Relocate::relocate): Likewise.

commit 453018bf4490421a995cd76b3d2a3f322359c6a5
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Mar 15 15:35:15 2017 -0700

    Correct the definition of _gp and _GLOBAL_OFFSET_TABLE_ symbols for MIPS.
    
    gold/
            * mips.cc (symbol_refs_local): Return false if a symbol
            is from a dynamic object.
            (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
            (Target_mips::set_gp): Refactor.  Make _gp STT_NOTYPE and
            STB_LOCAL.
            (Target_mips::do_finalize_sections): Set _gp after all the checks
            for creating .got are done.
            (Target_mips::Scan::global): Remove unused code.

commit b416fe873ef44b2a613c9266c6462a481926d986
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Tue Mar 7 18:15:02 2017 +0800

    RISC-V: Fix assembler for c.li, c.andi and c.addiw
    
     - They can accept 0 in imm field
    
     2017-03-14  Kito Cheng  <kito.cheng@gmail.com>
    
           * riscv-opc.c (riscv_opcodes> <c.li>: Use the 'o' immediate encoding.
           <c.andi>: Likewise.
           <c.addiw> Likewise.

commit 03b039a518fa0f89a9900a44a8b874cc91061305
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Tue Mar 7 19:56:40 2017 +0800

    RISC-V: Fix assembler for c.addi, rd can be x0
    
    opcodes/ChangeLog:
    
    2017-03-14  Kito Cheng  <kito.cheng@gmail.com>
    
    	* riscv-opc.c (riscv_opcodes) <c.addi>: Use match_opcode.

commit 9494d9636612cd9bd22e38625fbc89147beafea7
Author: Tristan Gingold <gingold@adacore.com>
Date:   Tue Mar 14 14:54:37 2017 +0100

    ld-checks: tweak overflow checks.
    
    	* testsuite/ld-checks/checks.exp (overflow_check): Disable for
    	non-elf targets.

commit 7cb7b948ce62831a999f88054a6b2d39afbe926e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 15 09:19:42 2017 +0000

    Fix building riscv targets with gcc v6.3.1
    
    	* config/tc-riscv.c (riscv_pre_output_hook): Fix compile time
    	warning about discarding a const qualifier.

commit cc7e96c25d59db0a5279da0a0ff36d61151f3021
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 15 00:00:36 2017 +0000

    Automatic date update in version.in

commit c98763221af696a9e0c6686da7d65881bfd6bdd0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Mar 14 12:56:49 2017 -0700

    Add DW_OP_GNU_variable_value
    
    Sync GCC dwarf.def change
    
    2017-03-14  Jakub Jelinek  <jakub@redhat.com>
    
    	PR debug/77589
    	* dwarf2.def (DW_OP_GNU_variable_value): New opcode.

commit 87c336f60eccc6506ff19369c29575f43fea02ea
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Mar 14 19:20:46 2017 +0100

    inf-ptrace: Do not stop memory transfers after a single word
    
    When inf_ptrace_xfer_partial performs a memory transfer via ptrace with
    PT_READ_I, PT_WRITE_I (aka PTRACE_PEEKTEXT, PTRACE_POKETEXT), etc., then
    it currently transfers at most one word.  This behavior yields degraded
    performance, particularly if the caller has significant preparation work
    for each invocation.  And indeed it has for writing, in
    memory_xfer_partial in target.c, where all of the remaining data to be
    transferred is copied to a temporary buffer each time, for breakpoint
    shadow handling.  Thus large writes have quadratic runtime and can take
    hours.
    
    Note: On GNU/Linux targets GDB usually does not use
    inf_ptrace_xfer_partial for large memory transfers, but attempts a single
    read/write from/to /proc/<pid>/mem instead.  However, the kernel may
    reject writes to /proc/<pid>/mem (such as kernels prior to 2.6.39), or
    /proc may not be mounted.  In both cases GDB falls back to the ptrace
    mechanism.
    
    This patch fixes the performance issue by attempting to fulfill the whole
    transfer request in inf_ptrace_xfer_partial, using a loop around the
    ptrace call.
    
    gdb/ChangeLog:
    
    	PR gdb/21220
    	* inf-ptrace.c (inf_ptrace_xfer_partial): In "case
    	TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
    	(inf_ptrace_peek_poke): ...here.  New function.  Now also loop
    	over ptrace peek/poke until end of buffer or error.

commit d47c3ff7d55122befac848fe64b7445789c78787
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Thu Mar 2 14:54:32 2017 +0800

    RISC-V: Define DWARF2_USE_FIXED_ADVANCE_PC.
    
    gas/ChangeLog
    
    2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
    
            * config/tc-riscv.h (HWARD2_USE_FIXED_ADVANCE_PC): New define.

commit 2aece2ba02457e83fd2a780a8ac596b6a90adf29
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Fri Feb 10 14:58:52 2017 +0800

    RISC-V: Fix DW_CFA_advance_loc relocation.
    
    gas/ChangeLog:
    
    2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
    
            * config/tc-riscv.c (md_apply_fix): Set fx_frag and
            fx_next->fx_frag for CFA_advance_loc relocations.

commit c1b465c94e26be629315bf28e3763dea9dea8336
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Thu Feb 2 15:27:18 2017 +0800

    RISC-V: Fix the offset of CFA relocation.
    
    gas/ChangeLog:
    
    2017-03-02  Kuan-Lin Chen  <rufus@andestech.com>
    
            * config/tc-riscv.c (md_apply_fix): Compute the correct offsets
            for CFA relocations.

commit 2c232b8361a044d689d12161b7a645d238586f5e
Author: Andrew Waterman <andrew@sifive.com>
Date:   Mon Mar 13 12:46:33 2017 -0700

    RISC-V: Fix [dis]assembly of srai/srli
    
    These were simple copy/paste errors from the compressed left shift
    pattern, which can't have a 0-register.

commit 9216a6f33592c350ad50696d5571c82e47b71a5e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Mar 14 09:09:54 2017 -0700

    Use addr_mask to check VMA and LMA
    
    Since BFD64 may be used on 32-bit address, we need to apply addr_mask
    to check VMA and LMA.
    
    	* ldlang.c (lang_check_section_addresses): Use addr_mask to
    	check VMA and LMA.

commit cf81cf6081d1a8c15c477f903d15d7b88f31b686
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Mar 14 10:25:39 2017 -0400

    Make length_of_subexp static
    
    It isn't used anywhere else than the file it's defined in.
    
    gdb/ChangeLog:
    
    	* parse.c (length_of_subexp): Make static.
    	* parser-defs.h (length_of_subexp): Remove.

commit c799a79d66d09c442d85467986c2e8873f09297c
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Mar 14 12:57:09 2017 +0000

    Try harder to find the correct symbol to associate with OPEN GNU BUILD notes.
    
    	* readelf.c (print_gnu_build_attribute_description): Move symbol
    	printing code to...
    	(print_symbol_for_build_attribute): New function.  ...here.
    	Add to find the best symbol to associate with an OPEN note.
    	Add code to cache the symbol table and string table, so that they
    	are not loaded every time a note is displayed.
    	* testsuite/binutils-all/note-2-32.s: Add a function symbol.
    	* testsuite/binutils-all/note-2-64.s: Likewise.
    	* testsuite/binutils-all/note-2-32.d: Update expected note output.
    	* testsuite/binutils-all/note-2-64.d: Likewise.

commit 0efcde634d45f4cda03fd18c43ff449103559d7a
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Mon Mar 6 21:24:38 2017 +0300

    Add test name argument to get_valueof, get_integer_valueof and get_sizeof
    
    An optional parameter TEST has been added to get_hexadecimal_valueof in commit:
    
      https://sourceware.org/ml/gdb-patches/2016-06/msg00469.html
    
    This patch adds a similar optional parameter to other related methods that
    retrieve expression values: get_valueof, get_integer_valueof and get_sizeof.
    Thus tests that evaluate same expression multiple times can provide custom
    test names, ensuring that test names will be unique.
    
    gdb/testsuite/ChangeLog:
    2017-03-14  Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* lib/gdb.exp (get_valueof, get_integer_valueof, get_sizeof):
    	  Add optional 'test' parameter.

commit a379284af268ed768674e7f452ca78dad2aaaf55
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Mar 14 11:14:49 2017 +0100

    linux-nat: Exploit /proc/<pid>/mem for writing
    
    So far linux_proc_xfer_partial refused to handle write requests.  This is
    still based on the assumption that the Linux kernel does not support
    writes to /proc/<pid>/mem.  That used to be true, but has changed with
    Linux 2.6.39 released in May 2011.
    
    This patch lifts this restriction and now exploits /proc/<pid>/mem for
    writing to inferior memory as well, if possible.
    
    gdb/ChangeLog:
    
    	* linux-nat.c (linux_proc_xfer_partial): Handle write operations
    	as well.

commit 8a6200ba863f207d93467312431d107f50f0e2ab
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 14 00:11:09 2017 +0000

    Restore test-cp-name-parser build
    
    Commit c8b23b3f89fbb0 ("Add constructor and destructor to
    demangle_parse_info") a while ago broke the "test-cp-name-parser"
    build:
    
     $ make test-cp-name-parser
     [...]
     src/gdb/cp-name-parser.y: In function â??int main(int, char**)â??:
     src/gdb/cp-name-parser.y:2190:9: error: cannot convert â??std::unique_ptr<demangle_parse_info>â?? to â??demangle_parse_info*â?? in assignment
       result = cp_demangled_name_to_comp (str2, &errmsg);
    	  ^
     src/gdb/cp-name-parser.y:2199:38: error: â??cp_demangled_name_parse_freeâ?? was not declared in this scope
       cp_demangled_name_parse_free (result);
    				       ^
     src/gdb/cp-name-parser.y:2211:14: error: cannot convert â??std::unique_ptr<demangle_parse_info>â?? to â??demangle_parse_info*â?? in assignment
    	result = cp_demangled_name_to_comp (argv[arg], &errmsg);
    	       ^
     src/gdb/cp-name-parser.y:2219:43: error: â??cp_demangled_name_parse_freeâ?? was not declared in this scope
    	cp_demangled_name_parse_free (result);
    					    ^
     Makefile:2107: recipe for target 'test-cp-name-parser.o' failed
     make: *** [test-cp-name-parser.o] Error 1
    
    This commit restores it.
    
    gdb/ChangeLog:
    2017-03-14  Pedro Alves  <palves@redhat.com>
    
    	* cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
    	(main): Use std::unique_ptr.  Remove calls to
    	cp_demangled_name_parse_free.

commit 9c7272f0833da2bfdf513d41bc41cdbc5f4fc5f7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 14 00:00:40 2017 +0000

    Automatic date update in version.in

commit f79ec2066662b2c32c9e62ee372c9c230d206b89
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:40 2017 -0400

    alpha-bsd-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
    	alphabsd_store_inferior_registers): Use regcache->ptid instead
    	of inferior_ptid.

commit edb5fb00a6865884f99be01a9e97f44243a9deb9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:40 2017 -0400

    aix-thread: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* aix-thread.c (aix_thread_fetch_registers,
    	aix_thread_store_registers): Use regcache->ptid instead of
    	inferior_ptid.

commit 551196862e4e9dfda510f59c53b0a3ff3153e4ed
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:39 2017 -0400

    aarc64-linux-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* aarch64-linux-nat.c (fetch_gregs_from_thread,
    	store_gregs_to_thread, fetch_fpregs_from_thread,
    	store_fpregs_to_thread): Use regcache->ptid instead of
    	inferior_ptid.

commit 6a06fbb7b73fe55d6b9057f8154652e1ae8f883c
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:39 2017 -0400

    amd64-linux-nat: Use ptid from regcache instead of inferior_ptid
    
    gdb/ChangeLog:
    
    	* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
    	amd64_linux_fetch_inferior_registers): Use regcache->ptid
    	instead of inferior_ptid.

commit c6386875ba57a806c896ba097afef525671de4a0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:38 2017 -0400

    Add asserts in target_fetch/store_registers
    
    We are currently assuming that regcache->ptid is equal to inferior_ptid
    when we call target_fetch/store_registers.  These asserts just validate
    that assumption.  Also, since the following patches will change target
    code to use regcache->ptid instead of inferior_ptid, asserting that they
    are the same should ensure that our changes don't have any unintended
    consequences.
    
    gdb/ChangeLog:
    
    	* target.c (target_fetch_registers, target_store_registers): Add
    	assert.

commit ddaaf0fb8605fced72e84410fc7ac834e529eb53
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:51:38 2017 -0400

    Introduce regcache_get_ptid
    
    This patch introduces the regcache_get_ptid function, which can be used
    to retrieve the ptid a regcache is connected to.  It is used in
    subsequent patches.
    
    gdb/ChangeLog:
    
    	* regcache.h (regcache_get_ptid): New function.
    	* regcache.c (regcache_get_ptid): New function.

commit 1a01e7c6b0eaed1bfe70d48692e1103c6e9ee2d9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:05 2017 -0400

    gdbserver: Use pattern rule for the remaining %-ipa.o objects
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%-ipa.o: %-ipa.c): New rule.
    	(ax-ipa.o: ax.c): Remove.
    	(linux-i386-ipa.o: linux-i386-ipa.c): Remove.
    	(linux-amd64-ipa.o: linux-amd64-ipa.c): Remove.
    	(linux-aarch64-ipa.o: linux-aarch64-ipa.c): Remove.
    	(linux-s390-ipa.o: linux-s390-ipa.c): Remove.
    	(linux-ppc-ipa.o: linux-ppc-ipa.c): Remove.

commit 36bc18a810a13f884d826842abbdd6d744ff6481
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:04 2017 -0400

    gdbserver: Use pattern rule for IPA objects from common/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%-ipa.o: ../common/%.c): New rule.
    	(print-utils-ipa.o: ../common/print-utils.c): Remove.
    	(rsp-low-ipa.o: ../common/rsp-low.c): Remove.
    	(errors-ipa.o: ../common/errors.c): Remove.
    	(format-ipa.o: ../common/format.c): Remove.
    	(common-utils-ipa.o: ../common/common-utils.c): Remove.

commit a8ebe3d5f17f12490012a1a3c69d17b6e9362805
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:04 2017 -0400

    gdbserver: Use pattern rule for IPA objects from gdbserver/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%-ipa.o: %.c): New rule.
    	(tracepoint-ipa.o: tracepoint.c): Remove.
    	(utils-ipa.o: utils.c): Remove.
    	(remote-utils-ipa.o: remote-utils.c): Remove.
    	(regcache-ipa.o: regcache.c): Remove.
    	(i386-linux-ipa.o: i386-linux.c): Remove.
    	(i386-mmx-linux-ipa.o: i386-mmx-linux.c): Remove.
    	(i386-avx-linux-ipa.o: i386-avx-linux.c): Remove.
    	(i386-mpx-linux-ipa.o: i386-mpx-linux.c): Remove.
    	(i386-avx-mpx-linux-ipa.o: i386-avx-mpx-linux.c): Remove.
    	(i386-avx-avx512-linux-ipa.o: i386-avx-avx512-linux.c): Remove.
    	(i386-avx-mpx-avx512-pku-linux-ipa.o: i386-avx-mpx-avx512-pku-linux.c): Remove.
    	(amd64-linux-ipa.o: amd64-linux.c): Remove.
    	(amd64-avx-linux-ipa.o: amd64-avx-linux.c): Remove.
    	(amd64-mpx-linux-ipa.o: amd64-mpx-linux.c): Remove.
    	(amd64-avx-mpx-linux-ipa.o: amd64-avx-mpx-linux.c): Remove.
    	(amd64-avx-avx512-linux-ipa.o: amd64-avx-avx512-linux.c): Remove.
    	(amd64-avx-mpx-avx512-pku-linux-ipa.o: amd64-avx-mpx-avx512-pku-linux.c): Remove.
    	(aarch64-ipa.o: aarch64.c): Remove.
    	(s390-linux32-ipa.o: s390-linux32.c): Remove.
    	(s390-linux32v1-ipa.o: s390-linux32v1.c): Remove.
    	(s390-linux32v2-ipa.o: s390-linux32v2.c): Remove.
    	(s390-linux64-ipa.o: s390-linux64.c): Remove.
    	(s390-linux64v1-ipa.o: s390-linux64v1.c): Remove.
    	(s390-linux64v2-ipa.o: s390-linux64v2.c): Remove.
    	(s390-te-linux64-ipa.o: s390-te-linux64.c): Remove.
    	(s390-vx-linux64-ipa.o: s390-vx-linux64.c): Remove.
    	(s390-tevx-linux64-ipa.o: s390-tevx-linux64.c): Remove.
    	(s390x-linux64-ipa.o: s390x-linux64.c): Remove.
    	(s390x-linux64v1-ipa.o: s390x-linux64v1.c): Remove.
    	(s390x-linux64v2-ipa.o: s390x-linux64v2.c): Remove.
    	(s390x-te-linux64-ipa.o: s390x-te-linux64.c): Remove.
    	(s390x-vx-linux64-ipa.o: s390x-vx-linux64.c): Remove.
    	(s390x-tevx-linux64-ipa.o: s390x-tevx-linux64.c): Remove.
    	(powerpc-32l-ipa.o: powerpc-32l.c): Remove.
    	(powerpc-altivec32l-ipa.o: powerpc-altivec32l.c): Remove.
    	(powerpc-cell32l-ipa.o: powerpc-cell32l.c): Remove.
    	(powerpc-vsx32l-ipa.o: powerpc-vsx32l.c): Remove.
    	(powerpc-isa205-32l-ipa.o: powerpc-isa205-32l.c): Remove.
    	(powerpc-isa205-altivec32l-ipa.o: powerpc-isa205-altivec32l.c): Remove.
    	(powerpc-isa205-vsx32l-ipa.o: powerpc-isa205-vsx32l.c): Remove.
    	(powerpc-e500l-ipa.o: powerpc-e500l.c): Remove.
    	(powerpc-64l-ipa.o: powerpc-64l.c): Remove.
    	(powerpc-altivec64l-ipa.o: powerpc-altivec64l.c): Remove.
    	(powerpc-cell64l-ipa.o: powerpc-cell64l.c): Remove.
    	(powerpc-vsx64l-ipa.o: powerpc-vsx64l.c): Remove.
    	(powerpc-isa205-64l-ipa.o: powerpc-isa205-64l.c): Remove.
    	(powerpc-isa205-altivec64l-ipa.o: powerpc-isa205-altivec64l.c): Remove.
    	(powerpc-isa205-vsx64l-ipa.o: powerpc-isa205-vsx64l.c): Remove.
    	(tdesc-ipa.o: tdesc.c): Remove.
    	(x32-linux-ipa.o: x32-linux.c): Remove.
    	(x32-avx-linux-ipa.o: x32-avx-linux.c): Remove.
    	(x32-avx512-linux-ipa.o: x32-avx512-linux.c): Remove.

commit 50cfacb78f3998e5ecc653090e4f1a11dfb3d8dd
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:03 2017 -0400

    gdbserver: Use pattern rule for objects from arch/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../arch/%.c): New rule.
    	(arm.o: ../arch/arm.c): Remove.
    	(arm-linux.o: ../arch/arm-linux.c): Remove.
    	(arm-get-next-pcs.o: ../arch/arm-get-next-pcs.c): Remove.
    	(aarch64-insn.o: ../arch/aarch64-insn.c): Remove.

commit c5a22423d09e3bf670fb0de0a98e6feb6176eb3f
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:03 2017 -0400

    gdbserver: Use pattern rule for objects from nat/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../nat/%.c): New rule.
    	(x86-dregs.o: ../nat/x86-dregs.c): Remove.
    	(amd64-linux-siginfo.o: ../nat/amd64-linux-siginfo.c): Remove.
    	(linux-btrace.o: ../nat/linux-btrace.c): Remove.
    	(linux-osdata.o: ../nat/linux-osdata.c): Remove.
    	(linux-procfs.o: ../nat/linux-procfs.c): Remove.
    	(linux-ptrace.o: ../nat/linux-ptrace.c): Remove.
    	(linux-waitpid.o: ../nat/linux-waitpid.c): Remove.
    	(mips-linux-watch.o: ../nat/mips-linux-watch.c): Remove.
    	(ppc-linux.o: ../nat/ppc-linux.c): Remove.
    	(linux-personality.o: ../nat/linux-personality.c): Remove.
    	(aarch64-linux-hw-point.o: ../nat/aarch64-linux-hw-point.c): Remove.
    	(aarch64-linux.o: ../nat/aarch64-linux.c): Remove.
    	(x86-linux.o: ../nat/x86-linux.c): Remove.
    	(x86-linux-dregs.o: ../nat/x86-linux-dregs.c): Remove.
    	(linux-namespaces.o: ../nat/linux-namespaces.c): Remove.

commit 6bda016bec556855c6d4e191f360f921faa40ded
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:02 2017 -0400

    gdbserver: Use pattern rule for objects from common/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../common/%.c): New rule.
    	(signals.o: ../common/signals.c): Remove.
    	(print-utils.o: ../common/print-utils.c): Remove.
    	(rsp-low.o: ../common/rsp-low.c): Remove.
    	(common-utils.o: ../common/common-utils.c): Remove.
    	(posix-strerror.o: ../common/posix-strerror.c): Remove.
    	(mingw-strerror.o: ../common/mingw-strerror.c): Remove.
    	(vec.o: ../common/vec.c): Remove.
    	(gdb_vecs.o: ../common/gdb_vecs.c): Remove.
    	(xml-utils.o: ../common/xml-utils.c): Remove.
    	(ptid.o: ../common/ptid.c): Remove.
    	(buffer.o: ../common/buffer.c): Remove.
    	(format.o: ../common/format.c): Remove.
    	(filestuff.o: ../common/filestuff.c): Remove.
    	(agent.o: ../common/agent.c): Remove.
    	(errors.o: ../common/errors.c): Remove.
    	(environ.o: ../common/environ.c): Remove.
    	(common-debug.o: ../common/common-debug.c): Remove.
    	(cleanups.o: ../common/cleanups.c): Remove.
    	(common-exceptions.o: ../common/common-exceptions.c): Remove.
    	(fileio.o: ../common/fileio.c): Remove.
    	(common-regcache.o: ../common/common-regcache.c): Remove.
    	(signals-state-save-restore.o: ../common/signals-state-save-restore.c): Remove.
    	(new-op.o: ../common/new-op.c): Remove.
    	(btrace-common.o: ../common/btrace-common.c): Remove.

commit 21122961ecea30b3be7c788e09179d297e3233f0
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:02 2017 -0400

    gdbserver: Use pattern rule for objects from target/
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (%.o: ../target/%.c): New rule.
    	(waitstatus.o: ../target/waitstatus.c): Remove.

commit c362e6217b556ce932250c340218f1ca16391070
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Mar 13 18:44:01 2017 -0400

    gdbserver: Use pattern rule for regformats source file generation
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in
    	(%.c: ../regformats/%.dat,
    	(%.c: ../regformats/arm/%.dat,
    	(%.c: ../regformats/i386/%.dat,
    	(%.c: ../regformats/rs6000/%.dat): New rules.
    	(aarch64.c): Remove.
    	(reg-arm.c): Remove.
    	(arm-with-iwmmxt.c): Remove.
    	(arm-with-vfpv2.c): Remove.
    	(arm-with-vfpv3.c): Remove.
    	(arm-with-neon.c): Remove.
    	(reg-bfin.c): Remove.
    	(reg-cris.c): Remove.
    	(reg-crisv32.c): Remove.
    	(i386.c): Remove.
    	(i386-linux.c): Remove.
    	(i386-avx.c): Remove.
    	(i386-avx-linux.c): Remove.
    	(i386-avx-avx512.c): Remove.
    	(i386-avx-avx512-linux.c): Remove.
    	(i386-mpx.c): Remove.
    	(i386-mpx-linux.c): Remove.
    	(i386-avx-mpx-avx512-pku.c): Remove.
    	(i386-avx-mpx-avx512-pku-linux.c): Remove.
    	(i386-avx-mpx.c): Remove.
    	(i386-avx-mpx-linux.c): Remove.
    	(i386-mmx.c): Remove.
    	(i386-mmx-linux.c): Remove.
    	(reg-ia64.c): Remove.
    	(reg-m32r.c): Remove.
    	(reg-m68k.c): Remove.
    	(reg-cf.c): Remove.
    	(mips-linux.c): Remove.
    	(mips-dsp-linux.c): Remove.
    	(mips64-linux.c): Remove.
    	(mips64-dsp-linux.c): Remove.
    	(nios2-linux.c): Remove.
    	(powerpc-32.c): Remove.
    	(powerpc-32l.c): Remove.
    	(powerpc-altivec32l.c): Remove.
    	(powerpc-cell32l.c): Remove.
    	(powerpc-vsx32l.c): Remove.
    	(powerpc-isa205-32l.c): Remove.
    	(powerpc-isa205-altivec32l.c): Remove.
    	(powerpc-isa205-vsx32l.c): Remove.
    	(powerpc-e500l.c): Remove.
    	(powerpc-64l.c): Remove.
    	(powerpc-altivec64l.c): Remove.
    	(powerpc-cell64l.c): Remove.
    	(powerpc-vsx64l.c): Remove.
    	(powerpc-isa205-64l.c): Remove.
    	(powerpc-isa205-altivec64l.c): Remove.
    	(powerpc-isa205-vsx64l.c): Remove.
    	(s390-linux32.c): Remove.
    	(s390-linux32v1.c): Remove.
    	(s390-linux32v2.c): Remove.
    	(s390-linux64.c): Remove.
    	(s390-linux64v1.c): Remove.
    	(s390-linux64v2.c): Remove.
    	(s390-te-linux64.c): Remove.
    	(s390-vx-linux64.c): Remove.
    	(s390-tevx-linux64.c): Remove.
    	(s390x-linux64.c): Remove.
    	(s390x-linux64v1.c): Remove.
    	(s390x-linux64v2.c): Remove.
    	(s390x-te-linux64.c): Remove.
    	(s390x-vx-linux64.c): Remove.
    	(s390x-tevx-linux64.c): Remove.
    	(tic6x-c64xp-linux.c): Remove.
    	(tic6x-c64x-linux.c): Remove.
    	(tic6x-c62x-linux.c): Remove.
    	(reg-sh.c): Remove.
    	(reg-sparc64.c): Remove.
    	(reg-spu.c): Remove.
    	(amd64.c): Remove.
    	(amd64-linux.c): Remove.
    	(amd64-avx.c): Remove.
    	(amd64-avx-linux.c): Remove.
    	(amd64-avx-avx512.c): Remove.
    	(amd64-avx-avx512-linux.c): Remove.
    	(amd64-mpx.c): Remove.
    	(amd64-mpx-linux.c): Remove.
    	(amd64-avx-mpx-avx512-pku.c): Remove.
    	(amd64-avx-mpx-avx512-pku-linux.c): Remove.
    	(amd64-avx-mpx.c): Remove.
    	(amd64-avx-mpx-linux.c): Remove.
    	(x32.c): Remove.
    	(x32-linux.c): Remove.
    	(x32-avx.c): Remove.
    	(x32-avx-linux.c): Remove.
    	(x32-avx-avx512.c): Remove.
    	(x32-avx-avx512-linux.c): Remove.
    	(reg-xtensa.c): Remove.
    	(reg-tilegx.c): Remove.
    	(reg-tilegx32.c): Remove.

commit 7978d7c385b072a344d969f71cdc68e1a1171ec2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Mar 13 18:02:08 2017 -0400

    testsuite: Disable backslash_in_multi_line_command_test for old DejaGnus
    
    I noticed that backslash_in_multi_line_command_test in
    gdb.base/commands.exp failed on our RHEL6 servers.  I traced it to the
    old version of DejaGnu (1.4.4).  I have found that instead of receiving
    the expected:
    
      "print \\\nargc\n"
    
    gdb received:
    
      "print  argc\n"
    
    thus breaking the test and its purpose.  Versionof DejaGnu < 1.5 mess
    up sending "\\\n", it somehow gets replaced with a space.  I found that
    the following commit in DejaGnu fixed the issue:
    
    http://git.savannah.gnu.org/cgit/dejagnu.git/commit/lib/remote.exp?id=3f39294f5cd6802858838d3bcc0ccce847ae17f2
    
    Even though the commit is almost 10 years old, the following release of
    DejaGnu was only in 2013, which is why we still have systems with the
    old code.
    
    If the DejaGnu version is < 1.5, we just skip the test.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/commands.exp (backslash_in_multi_line_command_test):
    	Skip for versions of DejaGnu < 1.5.

commit 896c0c1edee117ea333c66b1adac8c6f4def3f2b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Mar 13 18:02:07 2017 -0400

    testsuite: Introduce dejagnu_version
    
    The next patch will require checking the DejaGnu version.  There is
    already a test that does this,
    gdb.threads/attach-many-short-lived-threads.exp.  This patch introduces
    a new procedure, dejagnu_version, and makes that test use it.
    
    The version number is "right-padded" with zeroes, to make sure that we
    always return a triplet (major, minor, patch).
    
    The procedure does not consider the DejaGnu versions from git.  For
    example, if you used DejaGnu from its current master branch, the version
    would be "1.6.1-git", meaning that 1.6.1 will be the next release.  I
    figured we'll cross that bridge when (and if) we get there.
    
    gdb/testsuite/ChangeLog:
    
    	* lib/gdb.exp (dejagnu_version): New proc.
    	* gdb.threads/attach-many-short-lived-threads.exp (bad_dejagnu):
    	Use dejagnu_version.

commit b9da89d161e3903faa335f444af2bf05e40f926e
Author: mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Mon Mar 13 18:26:47 2017 +0000

    Merge libiberty: Initialize d_printing in all cplus_demangle_fill_* functions.
    
    While integrating the d_printing recursion guard change into gdb I
    noticed we forgot to initialize the demangle_component d_printing
    field in cplus_demangle_fill_{name,extended_operator,ctor,dtor}.
    As is done in cplus_demangle_fill_{component,builtin_type,operator}.
    It happened to work because in gcc all demangle_components were
    allocated through d_make_empty. But gdb has its own allocation
    mechanism (as might other users).
    
    libiberty/ChangeLog:
    
           * cp-demangle.c (cplus_demangle_fill_name): Initialize
           demangle_component d_printing.
           (cplus_demangle_fill_extended_operator): Likewise.
           (cplus_demangle_fill_ctor): Likewise.
           (cplus_demangle_fill_dtor): Likewise.
    
    gdb/ChangeLog:
    
           * cp-name-parser.y (make_empty): Initialize d_printing to zero.

commit c793cac124dd2eb34042f2e43abb099a26e34cb0
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 13 17:49:32 2017 +0000

    Sync libiberty sources with GCC.
    
    	PR demangler/70909
    	PR demangler/67264
    	* cp-demangle.c: Fix endless recursion. Pass
    	struct demangle_component as non const.
    	(d_make_empty): Initialize variable.
    	(d_print_comp_inner): Limit recursion.
    	(d_print_comp): Decrement variable.
    	* cp-demint.c (cplus_demangle_fill_component): Initialize
    	variable.
    	(cplus_demangle_fill_builtin_type): Likewise.
    	(cplus_demangle_fill_operator): Likewise.
    	* testsuite/demangle-expected: Add tests.

commit 5ef2d51bd6ae49b28282835156d1d6622beac4a6
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 13 20:56:25 2017 +1030

    objdump -dS: warn if source is more recent than object
    
    If the source file is more recent than the object file, line number
    information in the object may no longer match the source.  So print a
    warning message.
    
    	* objdump.c (update_source_path): Add abfd param.  Add struct
    	stat vars.  Pass to try_print_file_open.  Warn if source is more
    	recent than object.
    	(try_print_file_open, slurp_file): Add struct stat param to
    	return fstat.
    	(show_line): Call update_source_path with bfd.

commit f955cccff399ccc4e16b8e90f140f2e9a785a07b
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 13 09:58:04 2017 +0000

    Rename R_AARCH64_TLSDESC_LD64_LO12_NC to R_AARCH64_TLSDESC_LD64_LO12 and R_AARCH64_TLSDESC_ADD_LO12_NC to R_AARCH64_TLSDESC_ADD_LO12.
    
    	PR binutils/21202
    include	* elf/aarch64.h (R_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
    	R_AARCH64_TLSDESC_LD64_LO12.
    	(R_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
    	R_AARCH64_TLSDESC_ADD_LO12_NC.
    
    bfd	* reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
    	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
    	(BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
    	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    	* elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
    	names.
    	(IS_AARCH64_TLSDESC_RELOC): Likewise.
    	(elfNN_aarch64_howto_table): Likewise.
    	(aarch64_tls_transition_without_check): Likewise.
    	(aarch64_reloc_got_type): Likewise.
    	(elfNN_aarch64_final_link_relocate): Likewise.
    	(elfNN_aarch64_tls_relax): Likewise.
    	(elfNN_aarch64_relocate_section): Likewise.
    	(elfNN_aarch64_gc_sweep_hook): Likewise.
    	(elfNN_aarch64_check_relocs): Likewise.
    	* elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
    	(_bfd_aarch64_elf_resolve_relocation): Likewise.
    
    gas	* config/tc-aarch64.c (reloc_table): Rename
    	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC to
    	BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.  Rname
    	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC to
    	BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
    	(md_apply_fix): Likewise.
    	(aarch64_force_relocation): Likewise.
    	* testsuite/gas/aarch64/tls.d: Update regexp.
    
    ld	* testsuite/ld-aarch64/ifunc-5r-local.d: Update regexp.

commit d40e34db392f834793fb9af487121776b4cec6e7
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Mar 10 15:16:19 2017 +0100

    ld: add an error in case of address space overflow.
    
    ld/
    	* ldlang.c (lang_check_section_addresses): Check for address space
    	overflow.
    	* testsuite/ld-checks/checks.exp (overflow_check): New procedure
    	* testsuite/ld-checks/over.s: New test source.
    	* testsuite/ld-checks/over.d: New test.
    	* testsuite/ld-checks/over2.s: New test source.
    	* testsuite/ld-checks/over2.d: New test.

commit 4b5900d8b81522bd6ebe4d94d45dfb54d1982c62
Author: Alexey Neyman <stilor@att.net>
Date:   Sun Mar 12 20:49:46 2017 -0700

    PowerPC: incorrect library search order
    
    First, need to match against just the CPU name, not the whole triplet.
    Otherwise, the test picks up "*le-*" pattern from x86_64-apple-darwin
    triplet.
    
    Second, it should be testing for $target, not $host. Host may be
    little endian by default, and the sysroot directory layout shouldn't
    depend on whether it is built on LE or BE machine.
    
    	* emulparams/elf32ppccommon.sh (LIBPATH_SUFFIX): Set from target
    	cpu, not host.

commit b9d62f893fcc0b4c36aad0552810dcde304979d0
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 13 00:00:21 2017 +0000

    Automatic date update in version.in

commit d5bb792ca130aac17e080325e4005ef417ceabd5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 12 00:00:28 2017 +0000

    Automatic date update in version.in

commit 118aa6cf395aec093fe12d7fb2d05441791a93fa
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 23:37:02 2017 +1030

    Add sysroot for ld -rpath search
    
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Add
    	sysroot for -rpath search.

commit 316a1245fe31e327223ca66797b789eaf9544c2c
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 22:57:29 2017 +1030

    Rewrite add_sysroot
    
    Relative paths shouldn't have the sysroot prefix added.  The patch
    also makes some attempt at supporting DOS paths, and tidies code using
    the new add_sysroot.
    
    	* emultempl/elf32.em (gld${EMULATION_NAME}_add_sysroot): Rewrite.
    	Only prefix absolute paths with sysroot.  Handle DOS paths.
    	(gld${EMULATION_NAME}_check_ld_elf_hints): Constify variable.
    	(gld${EMULATION_NAME}_check_ld_so_conf): Likewise.
    	(gld${EMULATION_NAME}_after_open): Short-circuit NULL path
    	searches.  Rename variable.  Simplify get_runpath search.

commit 4aef764338ed40a7fa9573b0e6e2ade817acd688
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 20:56:51 2017 +1030

    Remove bogus ATTRIBUTE_UNUSED
    
    	* elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
    	parameter is in fact used.  Whitespace fixes.
    	* elf64-ppc.c: Likewise.

commit bb4287c562027eafe63ddac9fd4c7e1730335795
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 11:04:02 2017 +1030

    Don't use -rdynamic in ld test
    
    This gcc option isn't well supported, so use the actual linker option
    we want to test.
    
    	* testsuite/ld-elf/shared.exp: Use -Wl,-export-dynamic rather
    	than -rdynamic.

commit e299b3551edbe81be2062fcaef9319d681d0d15b
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 11 10:51:56 2017 +1030

    Don't run new orphan tests on i860 and i960
    
    These targets use the generic ELF support, so don't handle orphans
    well.  The patch also updates the orphan doco to reflect this fact,
    and deletes some ELF details that don't really add anything.
    
    	* ld.texinfo (Orphan Sections): Mention that not all targets
    	handle orphans well.  Delete ELF details.
    	* testsuite/ld-elf/orphan-9.d: Don't run for i860 and i960.
    	* testsuite/ld-elf/orphan-10.d: Likewise.

commit a08f8d99b87b0b0f681a27eba8e25e2fb0abd034
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 11 00:00:23 2017 +0000

    Automatic date update in version.in

commit 5f4d10850850cd95af5e95a16848c8c07a273d88
Author: Keith Seitz <keiths@redhat.com>
Date:   Fri Mar 10 10:32:09 2017 -0800

    c++/8218: Destructors w/arguments.
    
    For a long time now, c++/8218 has noted that GDB is printing argument types
    for destructors:
    
    (gdb) ptype A
    type = class A {
      public:
        ~A(int);
    }
    
    This happens because cp_type_print_method_args doesn't ignore artificial
    arguments.  [It ignores the first `this' pointer because it simply skips
    the first argument for any non-static function.]
    
    This patch fixes this:
    
    (gdb) ptype  A
    type = class A {
      public:
        ~A();
    }
    
    I've adjusted gdb.cp/templates.exp to account for this and added a new
    passing regexp.
    
    gdb/ChangeLog
    
    	PR c++/8218
    	* c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
    
    gdb/testsuite/ChangeLog
    
    	PR c++/8128
    	* gdb.cp/templates.exp (test_ptype_of_templates): Remove argument
    	type from destructor regexps.
    	Add a branch which actually passes the test.
    	Adjust "ptype t5i" test names.

commit 7b5d48229b7faa16f69e87fb269f17db0291d89f
Author: Chia-Hao Lo <fcamel@gmail.com>
Date:   Fri Mar 10 16:29:58 2017 +0000

    Make objdump's --wide command line option affect its output of DWARF debug information.
    
    	PR binutils/21235
    	* objdump.c (main): Set do_wide with --wide.

commit 8b1e5da10ab58d2aa5eb84bf27de511294f061ef
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 10 15:42:04 2017 +0000

    Document that the .2byte and .4byte directives warn about overlarge values.
    
    	* doc/as.texinfo (2byte): Tidy up wording.  Add note that
    	overlarge values will produce a warning message and be trunacted.
    	(4byte): Likewise.

commit 55e22ca83ae50d6fe422cd0542f2a1a5934b2dd2
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 10 10:50:34 2017 +0000

    Add basic recognition of new EM_ ELF machine numbers.
    
    include	* elf/common.h (EM_LANAI): New machine number.
    	(EM_BPF): Likewise.
    	(EM_WEBASSEMBLY): Likewise.
    	Move low value, deprecated, numbers to their numerical
    	equivalents.
    
    binutils * readelf.c (get_machine_name): Rearrange switch table in order of
    	increasing machine number.  Add missing entries.

commit f9f791a1b147c404a489485dba5eca49f8dbcbb9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 10 00:00:28 2017 +0000

    Automatic date update in version.in

commit 14ea2c1b230a62f312346fb16716b3dd4850815b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jan 17 19:13:29 2017 +0000

    ld: Track changes to default region LMA even for empty sections
    
    Given a linker script fragment like this:
    
       SECTIONS {
         . = 0x1000;
         .text   : AT(0x100) { *(.text)   }
         .data   : AT(0x200) { *(.data)   }
         .rodata : AT(0x300) { *(.rodata) }
       }
    
    and an input file containing sections, '.text', '.data.1', and
    '.rodata', then we'd expect the linker to place '.text' and '.rodata' in
    the obvious way, and the '.data.1' orphan section would be located after
    the '.data' section (assuming similar section properties).
    
    Further, I believe that the expectation would be that the LMA for the
    orphan '.data.1' section would start from 0x200 (as there is no '.data'
    content).
    
    However, right now, the LMA for '.data.1' would be 0x101, following on
    from the '.text' section, this is because the change in LMA for the
    '.data' section is not noticed by the linker, if there's no content in
    the '.data' section.
    
    What can be even more confusing to a user (though the cause is obvious
    once you understand what's going on) is that adding some content to
    '.data' will cause the orphan '.data.1' to switch to an LMA based off of
    0x200.
    
    This commit changes the behaviour so that an empty section that is in
    the default lma region, and sets its lma, will adjust the lma of the
    default region, this change will then be reflected in following sections
    within the default lma memory region.
    
    There's a new test to cover this issue that passes on a range of
    targets, however, some targets generate additional sections, or have
    stricter memory region size requirements that make it harder to come
    up with a generic pass pattern, that still tests the required
    features.  For now I've set the test to ignore these targets.
    
    ld/ChangeLog:
    
    	* ldlang.c (lang_size_sections_1): Shortcut loop only after
    	tracking changes to the default regions LMA.
    	* testsuite/ld-elf/orphan-9.ld: Extend header comment.
    	* testsuite/ld-elf/orphan-10.d: New file.
    	* testsuite/ld-elf/orphan-10.s: New file.
    	* NEWS: Mention change in behaviour.

commit 77f5e65ecfb669ea1d2fd74b74fbbf0d0c20daf8
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jan 17 19:12:54 2017 +0000

    ld: better handling of lma region for orphan sections
    
    When picking an lma_region for an orphan section we currently create a
    new lang_output_section_statement_type and then populate this with the
    orphan section.
    
    The problem is that the lang_output_section_statement_type has a prev
    pointer that links back to the previous output section.  For non-orphan
    output sections, that are created in linker script order, the prev
    pointer will point to the output section that appears previous in linker
    script order, as you'd probably expect.
    
    The problem is that orphan sections are placed after processing the
    linker script, and so, in the case of an output section created for an
    orphan input section, the prev pointer actually points to the last
    output section created.
    
    This causes some unexpected behaviour when the orphan section is not
    placed after the last non-orphan section that was created.
    
    For example, consider this linker script:
    
      MEMORY {
        TEXT   : ORIGIN = 0x200,  LENGTH = 0x10
        RODATA : ORIGIN = 0x400,  LENGTH = 0x10
      }
    
      SECTIONS {
        .text   :           {*(.text)    } AT>TEXT
        .data   : AT(0x300) { *(.data)   }
        .rodata :           { *(.rodata) } AT>RODATA
      }
    
    If we are processing an orphan section '.data.1' and decide to place
    this after '.data', then the output section created will have a prev
    pointer that references the '.rodata' output section.  The result of
    this is that '.data.1' will actually be assigned to the RODATA lma
    region, which is probably not the expected behaviour.
    
    The reason why '.data.1' is placed into the lma region of the '.rodata'
    section is that lma region propagation is done at the time we create the
    output section, based on the previous output section pointer, which is
    really just a last-output-section-created pointer at that point in time,
    though the prev point is fixed up later to reflect the true order of the
    output sections.
    
    The solution I propose in this commit is to move the propagation of lma
    regions into a separate pass of the linker, rather than performing this
    as part of the enter/exit of output sections during linker script
    parsing.
    
    During this later phase we have all of the output sections to hand, and
    the prev/next points have been fixed up by this point to reflect the
    actual placement ordering.
    
    There's a new test to cover this issue that passes on a range of
    targets, however, some targets generate additional sections, or have
    stricter memory region size requirements that make it harder to come
    up with a generic pass pattern, that still tests the required
    features.  For now I've set the test to ignore these targets.
    
    ld/ChangeLog:
    
    	* ldlang.c (lang_leave_output_section_statement): Move lma_region
    	logic to...
    	(lang_propagate_lma_regions): ...this new function.
    	(lang_process): Call new function.
    	* testsuite/ld-elf/orphan-9.d: New file.
    	* testsuite/ld-elf/orphan-9.ld: New file.
    	* testsuite/ld-elf/orphan-9.s: New file.
    	* NEWS: Mention change in behaviour.

commit a87ded7b88a85b40f2aec5e5b6c972dd7b74b3a9
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Jan 17 18:08:17 2017 +0000

    ld: Orphan section documentation
    
    Make more explicit mention of the fact that orphan sections can cause a
    new output section to be created.  Though this information is clearly
    implied in the manual it might not be clear enough.
    
    A user _might_ (incorrectly) think that orphan sections can only be
    inserted into an existing output section.
    
    ld/ChangeLog:
    
    	* ld.texinfo (Orphan Sections): Add more detail.

commit c65f0cb654b3ddb47d015a82627f9e2da0e45707
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 9 11:08:00 2017 -0800

    Update binutils-lto-mixed.patch against master

commit a09dda333e255a11f334e0caade32a62c8415d0b
Merge: b4897cb 86fa698
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 9 10:03:49 2017 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 86fa6981e7487e2c2df4337aa75ed2d93c32eaf2
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 9 09:58:46 2017 -0800

    X86: Add pseudo prefixes to control encoding
    
    Many x86 instructions have more than one encodings.  Assembler picks
    the default one, usually the shortest one.  Although the ".s", ".d8"
    and ".d32" suffixes can be used to swap register operands or specify
    displacement size, they aren't very flexible.  This patch adds pseudo
    prefixes, {xxx}, to control instruction encoding.  The available
    pseudo prefixes are {disp8}, {disp32}, {load}, {store}, {vex2}, {vex3}
    and {evex}.  Pseudo prefixes are preferred over the ".s", ".d8" and
    ".d32" suffixes, which are deprecated.
    
    gas/
    
    	* config/tc-i386.c (_i386_insn): Add dir_encoding and
    	vec_encoding.  Remove swap_operand and need_vrex.
    	(extra_symbol_chars): Add '}'.
    	(md_begin): Mark '}' with LEX_BEGIN_NAME.  Allow '}' in
    	mnemonic.
    	(build_vex_prefix): Don't use 2-byte VEX encoding with
    	{vex3}.  Check dir_encoding and load.
    	(parse_insn): Check pseudo prefixes.  Set dir_encoding.
    	(VEX_check_operands): Likewise.
    	(match_template): Check dir_encoding and load.
    	(parse_real_register): Set vec_encoding instead of need_vrex.
    	(parse_register): Likewise.
    	* doc/c-i386.texi: Document {disp8}, {disp32}, {load}, {store},
    	{vex2}, {vex3} and {evex}.  Remove ".s", ".d8" and ".d32"
    	* testsuite/gas/i386/i386.exp: Run pseudos and x86-64-pseudos.
    	* testsuite/gas/i386/pseudos.d: New file.
    	* testsuite/gas/i386/pseudos.s: Likewise.
    	* testsuite/gas/i386/x86-64-pseudos.d: Likewise.
    	* testsuite/gas/i386/x86-64-pseudos.s: Likewise.
    
    opcodes/
    
    	* i386-gen.c (opcode_modifiers): Replace S with Load.
    	* i386-opc.h (S): Removed.
    	(Load): New.
    	(i386_opcode_modifier): Replace s with load.
    	* i386-opc.tbl: Add {disp8}, {disp32}, {swap}, {vex2}, {vex3}
    	and {evex}.  Replace S with Load.
    	* i386-tbl.h: Regenerated.

commit f03265d9cda1f5f8df238efa9b7a20330e5711f1
Author: Sam Thursfield <sam.thursfield@codethink.co.uk>
Date:   Thu Mar 9 15:58:39 2017 +0000

    Fix compile time warnings about using possibly uninitialised variables in rs6000-core.c.
    
    	* rs6000-core.c (CORE_NEW): Simplify macro when
    	AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.

commit c1fe188b154a4e81372629316be3d3a7820efdac
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Mar 9 07:43:48 2017 -0800

    Use CpuCET on rdsspq
    
    	* i386-opc.tbl: Use CpuCET on rdsspq.
    	* i386-tbl.h: Regenerated.

commit 4b8b687e885287ed85dafffcebbb8d03d7ea2c38
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Wed Mar 8 20:49:03 2017 -0600

    Update -maltivec and -mvsx options to only enable their oldest instructions.
    
    Currently, the -maltivec and -mvsx GAS options enable *all* of the altivec
    and vsx instructions respecitively that have ever been added.  This is in
    constract to GCC's -maltivec and -mvsx options, which only enable the oldest
    (ie, first) set of altivec and vsx instructions.  This patch changes GAS to
    mimic GCC's behaviour with respect to -maltivec and -mvsx and it solves a
    problem with trying to assemble the lxvx instruction which is different
    between POWER8 and POWER9.
    
    opcodes/
    	* ppc-dis.c (ppc_opts) <altivec>: Do not use PPC_OPCODE_ALTIVEC2;
    	<vsx>: Do not use PPC_OPCODE_VSX3;
    
    gas/
    	* testsuite/gas/ppc/altivec2.d (as): Use the -mpower8 option.
    	(objdump): Use the -Mpower8 option.

commit c7341d5a6b334464d84672229d9912d99347db34
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 9 00:00:31 2017 +0000

    Automatic date update in version.in

commit 1de05205afe1ecd1f1fa2befc6843d0dc70adefc
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 22:05:36 2017 +0000

    Avoid unstable test message in gdb.base/step-over-exit.exp
    
    Currently diffing testrun results shows:
    
     -PASS: gdb.base/step-over-exit.exp: break *0x7ffff77e18c6 if main == 0
     +PASS: gdb.base/step-over-exit.exp: break *0x2aaaab0988c6 if main == 0
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/step-over-exit.exp: Add explicit test message.

commit 1437d0631b209500db8371c425e896deb66ec9f9
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Wed Mar 8 14:00:42 2017 -0600

    Add support for the new 'lnia' extended mnemonic.
    
    opcodes/
    	* ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.
    
    gas/
    	* testsuite/gas/ppc/power9.d <lnia> New test.
    	* testsuite/gas/ppc/power9.s: Likewise.

commit c65d6b55b3a592906c470c566f57ad8ceacc1605
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 18:54:34 2017 +0000

    Fix PR18360 - internal error when using "interrupt -a"
    
    If you do "interrupt -a" just while some thread is stepping over a
    breakpoint, gdb trips on an internal error.
    
    The test added by this patch manages to trigger this consistently by
    spawning a few threads that are constantly tripping on a conditional
    breakpoint whose condition always evaluates to false.  With current
    gdb, you get:
    
    ~~~
     interrupt -a
     .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=on: iter=0: interrupt -a (GDB internal error)
    [...]
     .../src/gdb/inline-frame.c:343: internal-error: void skip_inline_frames(ptid_t): Assertion `find_inline_frame_state (ptid) == NULL' failed.
     A problem internal to GDB has been detected,
     further debugging may prove unreliable.
     Quit this debugging session? (y or n) FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=0: wait for stops (GDB internal error)
    ~~~
    
    The assertion triggers because we're processing a stop for a thread
    that had already stopped before and thus had already its inline-frame
    state filled in.
    
    Calling handle_inferior_event_1 directly within a
    "thread_stop_requested" observer is something that I've wanted to get
    rid of before, for being fragile.  Nowadays, infrun is aware of
    threads with pending events, so we can use that instead, and let the
    normal fetch_inferior_event -> handle_inferior_event code path handle
    the forced stop.
    
    The change to finish_step_over is necessary because sometimes a thread
    that was told to PTRACE_SINGLESTEP reports back a SIGSTOP instead of a
    SIGTRAP (i.e., we tell it to single-step, and then interrupt it quick
    enough that on the kernel side the thread dequeues the SIGTOP before
    ever having had a chance of executing the instruction to be stepped).
    SIGSTOP gets translated to a GDB_SIGNAL_0.  And then finish_step_over
    would miss calling clear_step_over_info, and thus miss restarting the
    other threads (which in this case of threads with pending events,
    means setting their "resumed" flag, so their pending events can be
    consumed).
    
    And now that we always restart threads in finish_step_over, we no
    longer need to do that in handle_signal_stop.
    
    Tested on x86_64 Fedora 23, native and gdbserver.
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18360
    	* infrun.c (start_step_over, do_target_resume, resume)
    	(restart_threads): Assert we're not resuming a thread that is
    	meant to be stopped.
    	(infrun_thread_stop_requested_callback): Delete.
    	(infrun_thread_stop_requested): If the thread is internally
    	stopped, queue a pending stop event and clear the thread's
    	inline-frame state.
    	(handle_stop_requested): New function.
    	(handle_syscall_event, handle_inferior_event_1): Use
    	handle_stop_requested.
    	(handle_stop_requested): New function.
    	(handle_signal_stop): Set the thread's stop_signal here instead of
    	at caller.
    	(finish_step_over): Clear step over info unconditionally.
    	(handle_signal_stop): If the user had interrupted the event
    	thread, consider the stop a random signal.
    	(handle_signal_stop) <signal arrived while stepping over
    	breakpoint>: Don't restart threads here.
    	(stop_waiting): Don't clear step-over info here.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR gdb/18360
    	* gdb.threads/interrupt-while-step-over.c: New file.
    	* gdb.threads/interrupt-while-step-over.exp: New file.

commit 15c22686d0e33d87262bc9075296eeddd7d955f7
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 15:52:16 2017 +0000

    gdb: Fix ATTRIBUTE_NONNULL usage
    
    Should fix the build failure with Clang mentioned at
    	<https://sourceware.org/bugzilla/show_bug.cgi?id=21206#c2>:
    
     In file included from ../../binutils-gdb/gdb/dwarf2read.c:72:
     ../../binutils-gdb/gdb/common/gdb_unlinker.h:35:35: error: '__nonnull__' attribute is invalid for the implicit this argument
       unlinker (const char *filename) ATTRIBUTE_NONNULL (1)
    				   ^                  ~
     ../../binutils-gdb/gdb/../include/ansidecl.h:169:48: note: expanded from macro 'ATTRIBUTE_NONNULL'
     #  define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m)))
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR 21206
    	* common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
    	goes to argument 2, not 1.

commit 1fc87489b40b3100badf184a7c266387bae47def
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Mar 8 07:44:04 2017 -0800

    Properly dump NT_GNU_PROPERTY_TYPE_0
    
    Property type and datasz are always 4 bytes for both 32-bit and 64-bit
    objects.  Property values for GNU_PROPERTY_X86_ISA_1_USED and
    GNU_PROPERTY_X86_ISA_1_NEEDED are 4 bytes for both i386 and x86-64
    objects.  We should also check GNU_PROPERTY_LOPROC and
    GNU_PROPERTY_LOUSER.
    
    binutils/
    
    	PR binutils/21231
    	* readelf.c (decode_x86_isa): Change argument to unsigned int.
    	(print_gnu_property_note): Retrieve property type and datasz as
    	4-byte integer.  Consolidate property datasz check.  Check
    	GNU_PROPERTY_LOPROC and GNU_PROPERTY_LOUSER.
    	* testsuite/binutils-all/i386/pr21231a.d: New file.
    	* testsuite/binutils-all/i386/pr21231a.s: Likewise.
    	* testsuite/binutils-all/i386/pr21231b.d: Likewise.
    	* testsuite/binutils-all/i386/pr21231b.s: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231a.s: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
    	* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
    
    include/
    
    	PR binutils/21231
    	* elf/common.h (GNU_PROPERTY_LOPROC): New.
    	(GNU_PROPERTY_HIPROC): Likewise.
    	(GNU_PROPERTY_LOUSER): Likewise.
    	(GNU_PROPERTY_HIUSER): Likewise.

commit 2e86a2830cfef688a27e17353b84f59f8147ab23
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 14:05:41 2017 +0000

    gdb.arch/amd64-entry-value-param*.exp: Make sure test messages are unique
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.arch/amd64-entry-value-param-dwarf5.exp: Use with_test_prefix.
    	* gdb.arch/amd64-entry-value-param.exp: Use with_test_prefix.

commit 25dcbff6ef0088e080d92b3cbc346ae0b5071d9d
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 13:09:45 2017 +0000

    "gdb.arch/i386-pkru.exp: probe PKRU support" shouldn't FAIL if not supported
    
    Currently I get:
    
     (gdb) print have_pkru()
     $1 = 0
     (gdb) FAIL: gdb.arch/i386-pkru.exp: probe PKRU support
     UNSUPPORTED: gdb.arch/i386-pkru.exp: processor does not support protection key feature.
    
    Probing suceeded, so that should be a PASS -> UNSUPPORTED.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.arch/i386-pkru.exp (probe PKRU support): Handle detecting
    	PKRU as not supported as a PASS.

commit dc9366eb0592157e2125967690f0aed61b17bcf7
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 12:46:44 2017 +0000

    gdb: Fix a few unstable test names
    
    Avoid putting unstable path names in test messages, in order to avoid
    spurious testrun result diffs like:
    
     [....]
     -PASS: gdb.base/break-fun-addr.exp: /home/pedro/gdb/test-build1/gdb/testsuite/outputs/gdb.base/break-fun-addr/break-fun-addr1: break *main
     +PASS: gdb.base/break-fun-addr.exp: /home/pedro/gdb/test-build2/gdb/testsuite/outputs/gdb.base/break-fun-addr/break-fun-addr1: break *main
     [....]
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/break-fun-addr.exp: Use $testfile1/$testfile2 for test
    	prefix instead of $binfile1/$binfile2.
    	* gdb.btrace/gcore.exp: Use "core" instead of unstable path name
    	in test message.
    	* gdb.python/py-completion.exp: Use "load python file" as test
    	messages instead of unstable path names.

commit 6e5d74e74756fafe59e8198c4cc462cf7c57e12c
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 11:41:35 2017 +0000

    Fix PR 21218: GDB dumps core when escaping newline in multi-line command
    
    With commit 3b12939dfc2399 ("Replace the sync_execution global with a
    new enum prompt_state tristate"), GDB started aborting if you try
    splitting an input line with a continuation char (backslash) while in
    a multi-line command:
    
     (gdb) commands
     Type commands for breakpoint(s) 1, one per line.
     End with a line saying just "end".
     >print \
    
     (gdb) 1      # note "(gdb)" incorrectly printed here.
     >end
    
     readline: readline_callback_read_char() called with no handler!
     $
    
    That abort is actually a symptom of an old problem introduced when
    gdb_readline_wrapper was rewritten to use asynchronous readline, back
    in 2007.  Note how the "(gdb)" prompt is printed above in the "(gdb)
    1" line.  Clearly it shouldn't be there, but it already was before the
    commit mentioned above.  Fixing that also fixes the readline abort
    shown above.
    
    The problem starts when command_line_input passes a NULL prompt to
    gdb_readline_wrapper when it finds previous incomplete input due to a
    backslash, trying to fetch more input without printing another ">"
    secondary prompt.  That itself should not be a problem, because
    passing NULL to gdb_readline_wrapper has the same meaning as passing a
    pointer to empty string, since gdb_readline_wrapper exposes the same
    interface as 'readline(char *)'.  However, gdb_readline_wrapper passes
    the prompt argument directly to display_gdb_prompt, and for the
    latter, a NULL prompt argument has a different meaning - it requests
    printing the primary prompt.
    
    Before commit 782a7b8ef9c096 (which rewrote gdb_readline_wrapper to
    use asynchronous readline), GDB behaved like this:
    
     (gdb) commands
     [....]
     >print \
     1
     >end
     (gdb)
    
    The above is what this commit restores GDB back to.
    
    New test included.
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR cli/21218
    	* top.c (gdb_readline_wrapper): Avoid passing NULL to
    	display_gdb_prompt.
    	(command_line_input): Add comment.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	PR cli/21218
    	* gdb.base/commands.exp (backslash_in_multi_line_command_test):
    	New proc.
    	(top level): Call it.

commit 5cf70512f835032c413f2554af07814e1dc05cd6
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Mar 8 11:14:41 2017 +0000

    [gdb, doc] Add missing escape character '@'
    
    gdb/doc/
            * gdb.texinfo (Memory Protection Extensions): Add missing escape
    	character "@".

commit 9753a2f6d74dc92d2ad94993a5479ee0edbc6887
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 00:14:59 2017 +0000

    Fix PR tui/21216: TUI line breaks regression
    
    Commit d7e747318f4d04 ("Eliminate make_cleanup_ui_file_delete / make
    ui_file a class hierarchy") regressed the TUI's command window.
    Newlines miss doing a "carriage return", resulting in output like:
    
    ~~~~~~~~~~~~~~~~~~
    (gdb) helpList of classes of commands:
    
                                          aliases -- Aliases of other commands
                                                                              breakpoints -- Making program stop at certain points
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Before the commit mentioned above, the default ui_file->to_write
    implementation had a hack that would defer into the ui_file->to_fputs
    method.  The TUI's ui_file did not implement the to_write method, so
    all writes would end up going to the ncurses window via tui_file_fputs
    -> tui_puts.
    
    After the commit above, the hack is gone, but the TUI's ui_file still
    does not implement the ui_file::write method.  Since tui_file inherits
    from stdio_file, writing to a tui_file ends up doing fwrite on the
    FILE stream the TUI is "associated" with, via stdio_file::write,
    instead of writing to the ncurses window.
    
    The fix is to have tui_file override the "write" method.
    
    New test included.
    
    gdb/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR tui/21216
    	* tui/tui-file.c (tui_file::write): New.
    	* tui/tui-file.h (tui_file): Override "write".
    	* tui/tui-io.c (do_tui_putc, update_start_line): New functions,
    	factored out from ...
    	(tui_puts): ... here.
    	(tui_putc): Use them.
    	(tui_write): New function.
    	* tui/tui-io.h (tui_write): Declare.
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	PR tui/21216
    	* gdb.tui/tui-nl-filtered-output.exp: New file.

commit 1a4dd9ddae4ce51724b4e08c6304e7c64f8f916f
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 00:14:58 2017 +0000

    Move TUI completion tests to gdb.tui/completion.exp
    
    gdb/testsuite/ChangeLog:
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/completion.exp: Move TUI completion tests to ...
    	* gdb.tui/completion.exp: ... this new file.

commit 7cbbff33a502dcba0264a1935840345274b8aee2
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Mar 8 00:14:58 2017 +0000

    Move TUI testcases to new gdb/testsuite/gdb.tui/ directory
    
    Let's start putting TUI tests in their own dir.
    
    gdb/testsuite/
    2017-03-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-disasm-long-lines.c,
    	gdb.base/tui-disasm-long-lines.exp, gdb.base/tui-layout.c,
    	gdb.base/tui-layout.exp: Move to ...
    	* gdb.tui/: ... this new directory.

commit 50dbe6e1bc8589db8e900299ef03ce9ead4ef3d7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 8 00:00:42 2017 +0000

    Automatic date update in version.in

commit 1672e0d98d88d11b5c7d5793bd2cf29cbb56696f
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Thu Dec 22 09:20:00 2016 -0500

    Share gdb/environ.[ch] with gdbserver
    
    We will need access to the environment functions when we share
    fork_inferior between GDB and gdbserver, therefore we simply make the
    API on gdb/environ.[ch] available on common/.  No extra adjustments
    are needed to make it compile on gdbserver.
    
    gdb/ChangeLog:
    2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILES): Replace "environ.c" with
    	"common/environ.c".
    	(HFILES_NO_SRCDIR): Likewise, for "environ.h".
    	* environ.c: Include "common-defs.h" instead of "defs.h.  Moved
    	to...
    	* common/environ.c: ... here.
    	* environ.h: Moved to...
    	* common/environ.h: ... here.
    
    gdb/gdbserver/ChangeLog:
    2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	* Makefile.in (SFILES): Add "common/environ.c".
    	(OBJS): Add "common/environ.h".

commit f7bb4e3a0d3738e8cce3dcded6ef12c9949cb85f
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Tue Mar 7 09:49:10 2017 -0600

    GDB: Fix some null pointer dereferences due to disassembler-options patch.
    
    gdb/
    	* gdbarch.sh (pstring_ptr): New static function.
    	(gdbarch_disassembler_options): Use it.
    	(gdbarch_verify_disassembler_options): Print valid_disassembler_options,
    	not valid_disassembler_option->name.
    	* gdbarch.c: Regenerate.

commit e45ced6c5e06b0092ac9f5497aa580cfad0c953c
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Tue Mar 7 09:39:13 2017 -0600

    Remove use of the no longer needed -mminimal-toc option.
    
    	* config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.

commit 5f6fd321915fae0194e01322d22cad4e451e8d20
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 12:44:58 2017 +0000

    Fix "layout reg" crash
    
    Commit d7e747318f4d04 ("Eliminate make_cleanup_ui_file_delete / make
    ui_file a class hierarchy") introduced a problem when using "layout
    regs", that leads gdb to crash when issuing:
    
    ./gdb ./a.out -ex 'layout regs' -ex start
    
    From the backtrace, it's caused by this 'delete' on tui_restore_gdbout():
    
     (gdb) bt
     #0  0x00007ffff6b962b2 in free () from /lib64/libc.so.6
     #1  0x000000000059fa47 in tui_restore_gdbout (ui=0x22997b0) at ../../gdb/tui/tui-regs.c:714
     #2  0x0000000000619996 in do_my_cleanups (pmy_chain=pmy_chain@entry=0x1e08320 <cleanup_chain>, old_chain=old_chain@entry=0x235b4b0) at ../../gdb/common/cleanups.c:154
     #3  0x0000000000619b1d in do_cleanups (old_chain=old_chain@entry=0x235b4b0) at ../../gdb/common/cleanups.c:176
     #4  0x000000000059fb0d in tui_register_format (frame=frame@entry=0x22564e0, regnum=regnum@entry=0) at ../../gdb/tui/tui-regs.c:747
     #5  0x000000000059ffeb in tui_get_register (data=0x2434d18, changedp=0x0, regnum=0, frame=0x22564e0) at ../../gdb/tui/tui-regs.c:768
     #6  tui_show_register_group (refresh_values_only=<optimized out>, frame=0x22564e0, group=0x1e09250 <general_group>) at ../../gdb/tui/tui-regs.c:287
     #7  tui_show_registers (group=0x1e09250 <general_group>) at ../../gdb/tui/tui-regs.c:156
     #8  0x00000000005a07cf in tui_check_register_values (frame=frame@entry=0x22564e0) at ../../gdb/tui/tui-regs.c:496
     #9  0x00000000005a3e65 in tui_check_data_values (frame=frame@entry=0x22564e0) at ../../gdb/tui/tui-windata.c:232
     #10 0x000000000059cf65 in tui_refresh_frame_and_register_information (registers_too_p=1) at ../../gdb/tui/tui-hooks.c:156
     #11 0x00000000006d5c05 in generic_observer_notify (args=0x7fffffffdbe0, subject=<optimized out>) at ../../gdb/observer.c:167
     #12 observer_notify_normal_stop (bs=<optimized out>, print_frame=print_frame@entry=1) at ./observer.inc:61
     #13 0x00000000006a6409 in normal_stop () at ../../gdb/infrun.c:8364
     #14 0x00000000006af8f5 in fetch_inferior_event (client_data=<optimized out>) at ../../gdb/infrun.c:3990
     #15 0x000000000066f0fd in gdb_wait_for_event (block=block@entry=0) at ../../gdb/event-loop.c:859
     #16 0x000000000066f237 in gdb_do_one_event () at ../../gdb/event-loop.c:322
     #17 0x000000000066f386 in gdb_do_one_event () at ../../gdb/event-loop.c:353
     #18 0x00000000007411bc in wait_sync_command_done () at ../../gdb/top.c:570
     #19 0x0000000000741426 in maybe_wait_sync_command_done (was_sync=0) at ../../gdb/top.c:587
     #20 execute_command (p=<optimized out>, p@entry=0x7fffffffe43a "start", from_tty=from_tty@entry=1) at ../../gdb/top.c:676
     #21 0x00000000006c2048 in catch_command_errors (command=0x741200 <execute_command(char*, int)>, arg=0x7fffffffe43a "start", from_tty=1) at ../../gdb/main.c:376
     #22 0x00000000006c2b60 in captured_main_1 (context=0x7fffffffde70) at ../../gdb/main.c:1119
     #23 captured_main (data=0x7fffffffde70) at ../../gdb/main.c:1140
     #24 gdb_main (args=args@entry=0x7fffffffdf90) at ../../gdb/main.c:1158
     #25 0x0000000000408cf5 in main (argc=<optimized out>, argv=<optimized out>) at ../../gdb/gdb.c:32
     (gdb) f 1
     #1  0x000000000059fa47 in tui_restore_gdbout (ui=0x22997b0) at ../../gdb/tui/tui-regs.c:714
     714	  delete gdb_stdout;
    
    The problem is simply that the commit mentioned above made the ui_file
    that gdb_stdout is temporarily set to be a stack-allocated
    string_file, while before it used to be a heap-allocated ui_file.  The
    fix is simply to remove the now-incorrect delete.
    
    New test included, which exercises enabling all TUI layouts, with and
    without execution.  (This particular crash only triggers with
    execution.)
    
    gdb/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
    
    gdb/testsuite/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-layout.c: New file.
    	* gdb.base/tui-layout.exp: New file.

commit 44959fa81858df7d06fd83b0595b66709e344074
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 12:21:00 2017 +0000

    Rename gdb.base/tui-layout.exp -> gdb.base/tui-disasm-long-lines.exp
    
    To better reflect what the testcase is about, and to make room for a
    different testcase.
    
    gdb/testsuite/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-layout.c: Rename to ...
    	* gdb.base/tui-disasm-long-lines.c: ... this.
    	* gdb.base/tui-layout.exp: Rename to ...
    	* gdb.base/tui-disasm-long-lines.exp: ... this.

commit f8c4e718c26a0181821398e09d96113c0ff49c15
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 12:11:45 2017 +0000

    Add describing intro comment to gdb.base/tui-layout.exp
    
    gdb/testsuite/ChangeLog:
    2017-03-07  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/tui-layout.exp: Add intro comment and fix typo.

commit 6dbb839a78d343b0a7435ec7db46ee359b1f62ec
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Mar 7 13:51:33 2017 +0000

    Fix whitespace/typos in gdb/ChangeLog and gdb/testsuite/ChangeLog

commit 4a612d6f67d605f480ce7eec7fd9ca1cd1087b35
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date:   Tue Mar 7 13:53:41 2017 +0100

    amd64-mpx: initialize BND register before performing inferior calls.
    
    This patch initializes the BND registers before executing the inferior
    call.  BND registers can be in arbitrary values at the moment of the
    inferior call.  In case the function being called uses as part of the
    parameters BND register, e.g. when passing a pointer as parameter, the
    current value of the register will be used.  This can cause boundary
    violations that are not due to a real bug or even desired by the user.
    In this sense the best to be done is set the BND registers to allow
    access to the whole memory, i.e. initialized state, before pushing the
    inferior call.
    
    2017-03-07  Walfred Tedeschi <walfred.tedeschi@intel.com>
    
    gdb/ChangeLog:
    
    	* i387-tdep.h (i387_reset_bnd_regs): Add function definition.
    	* i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
    	* i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
    	* amd64-tdep (amd64_push_dummy_call): Call i387_reset_bnd_regs.
    
    gdb/testsuite/ChangeLog:
    
    	* i386-mpx-call.c: New file.
    	* i386-mpx-call.exp: New file.
    
    gdb/doc/ChangeLog:
    
    	* Memory Protection Extensions: Add information about inferior
    	calls.

commit ea86f5344298e24801c262d9b52afcc9cb692959
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 19:39:32 2017 +1030

    Correct @section placement for makeinfo 4.13
    
    	* doc/as.texinfo (2byte, 4byte, 8byte): Correct @section placement.

commit 2b841ec2066db4870beaa5298feb02f5e20faf7b
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 16:46:36 2017 +1030

    Document .Nbyte assembler directives
    
    	* doc/as.texinfo (2byte, 4byte, 8byte): Document.
    	* doc/c-arm.texi (2byte, 4byte, 8byte): Omit if ELF.

commit d933941d6c5ce5b2dcaaa869919b6f3de06b725d
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 12:20:00 2017 +1030

    Fix ld uninitialized read of script ASSERT data structure
    
    lang_assignment_statement serves both assignments and asserts.
    
    	* ldlang.c (open_input_bfds): Check that lang_assignment_statement
    	is not an assert before referencing defsym.

commit b1b07054c08eea65ba8d1a9f771796d686f337e5
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 7 11:04:19 2017 +1030

    PowerPC64 abort due to dynamic relocs on hidden undefweak
    
    ppc64_elf_relocate_section lacked a check which meant that it emitted
    dynamic relocs against a hidden undefweak symbol for which no dynamic
    relocs had been allocated.
    
    	PR 21224
    	PR 20519
    	* elf64-ppc.c (ppc64_elf_relocate_section): Add missing
    	dyn_relocs check.

commit bb98f85480da563f4f6438abdabb68a69bc746b8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Mar 7 00:00:39 2017 +0000

    Automatic date update in version.in

commit 603555e563725616246912711419637add54c961
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 6 15:26:37 2017 -0800

    Add support for Intel CET instructions
    
    Support Intel Control-flow Enforcement Technology (CET) instructions:
    
    https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf
    
    gas/
    
    	* config/tc-i386.c (cpu_arch): Add .cet.
    	* doc/c-i386.texi: Document cet.
    	* testsuite/gas/i386/cet-intel.d: New file.
    	* testsuite/gas/i386/cet.d: Likewise.
    	* testsuite/gas/i386/cet.s: Likewise.
    	* testsuite/gas/i386/x86-64-cet-intel.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet.d: Likewise.
    	* testsuite/gas/i386/x86-64-cet.s: Likewise.
    	* testsuite/gas/i386/i386.exp: Run Intel CET tests.
    
    opcodes/
    
    	* i386-dis.c (REG_0F1E_MOD_3): New enum.
    	(MOD_0F1E_PREFIX_1): Likewise.
    	(MOD_0F38F5_PREFIX_2): Likewise.
    	(MOD_0F38F6_PREFIX_0): Likewise.
    	(RM_0F1E_MOD_3_REG_7): Likewise.
    	(PREFIX_MOD_0_0F01_REG_5): Likewise.
    	(PREFIX_MOD_3_0F01_REG_5_RM_1): Likewise.
    	(PREFIX_MOD_3_0F01_REG_5_RM_2): Likewise.
    	(PREFIX_0F1E): Likewise.
    	(PREFIX_MOD_0_0FAE_REG_5): Likewise.
    	(PREFIX_0F38F5): Likewise.
    	(dis386_twobyte): Use PREFIX_0F1E.
    	(reg_table): Add REG_0F1E_MOD_3.
    	(prefix_table): Add PREFIX_MOD_0_0F01_REG_5,
    	PREFIX_MOD_3_0F01_REG_5_RM_1, PREFIX_MOD_3_0F01_REG_5_RM_2,
    	PREFIX_0F1E, PREFIX_MOD_0_0FAE_REG_5 and PREFIX_0F38F5.  Update
    	PREFIX_0FAE_REG_6 and PREFIX_0F38F6.
    	(three_byte_table): Use PREFIX_0F38F5.
    	(mod_table): Use PREFIX_MOD_0_0F01_REG_5, PREFIX_MOD_0_0FAE_REG_5.
    	Add MOD_0F1E_PREFIX_1, MOD_0F38F5_PREFIX_2, MOD_0F38F6_PREFIX_0.
    	(rm_table): Add MOD_0F38F5_PREFIX_2, MOD_0F38F6_PREFIX_0,
    	RM_0F1E_MOD_3_REG_7.  Use PREFIX_MOD_3_0F01_REG_5_RM_1 and
    	PREFIX_MOD_3_0F01_REG_5_RM_2.
    	* i386-gen.c (cpu_flag_init): Add CPU_CET_FLAGS.
    	(cpu_flags): Add CpuCET.
    	* i386-opc.h (CpuCET): New enum.
    	(CpuUnused): Commented out.
    	(i386_cpu_flags): Add cpucet.
    	* i386-opc.tbl: Add Intel CET instructions.
    	* i386-init.h: Regenerated.
    	* i386-tbl.h: Likewise.

commit 1cccfb31f5ba0dbc1cd3c679daf2f5b40252c6e0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Mar 6 15:00:52 2017 -0800

    Update x86-64-mpx-inval-2 test for COFF
    
    Assembler displays upper case hex numbers and we need to force a good
    alignment to avoid matching NOPs at the end.
    
    	* testsuite/gas/i386/x86-64-mpx-inval-2.s: Force a good alignment.
    	* testsuite/gas/i386/x86-64-mpx-inval-2.l: Expect [0-9A-F]+.

commit d274ecf4ddf76768af57e27f654b9ce6784b391c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Mar 6 16:06:42 2017 -0500

    Remove const in xtensa-linux-nat.c:fetch_gregs
    
    Fixes:
    
    /home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c: In function 'void fetch_gregs(regcache*, ptid_t, int)':
    /home/emaisin/src/binutils-gdb/gdb/xtensa-linux-nat.c:178:23: error: uninitialized const 'regs' [-fpermissive]
       const gdb_gregset_t regs;
                           ^
    
    gdb/ChangeLog:
    
    	* xtensa-linux-nat.c (fetch_gregs): Remove const.

commit 79a964dca572024447adf92e50959dc88aa4f27a
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Mar 6 17:21:04 2017 +0000

    Fix reading numeric values from GNU BUILD NOTEs.
    
    	* readelf.c (print_gnu_build_attribute_name): Read byte values
    	from the name string as unsigned bytes.
    	(process_notes_at): Use memcpy to copy an unterminated name
    	string.

commit 73f07bffaf8d423295a38dde51dfe6ec7b273280
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Mar 6 19:39:34 2017 +1030

    Don't decode powerpc insns with invalid fields
    
    Certain insns have restrictions on fields.  For example, the insn
    mentioned in the PR, lqarx, must specify an even general purpose
    register as its destination and that register cannot appear in
    either of the base or index reg fields.  This holds even when the RA0
    field is 0 (meaning a zero rather than r0).
    
    	PR 21124
    	* ppc-opc.c (extract_esync, extract_ls, extract_ral, extract_ram)
    	(extract_raq, extract_ras, extract_rbx): New functions.
    	(powerpc_operands): Use opposite corresponding insert function.
    	(Q_MASK): Define.
    	(powerpc_opcodes): Apply Q_MASK to all quad insns with even
    	register restriction.

commit ea0de82ec2d7f109ba179d8d55130805e680f02d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Mar 5 23:25:16 2017 +1030

    dw2gencfi.c DWARF2_FDE_RELOC_SIZE
    
    Add asserts that reloc size matches encoding size, and tidy.
    
    	* dw2gencfi.c (encoding_size): Return unsigned int.
    	(emit_expr_encoded): Assert size matches reloc bitsize.
    	(output_fde): Use unsigned for offset_size and addr_size.  Set
    	addr_size earlier and use in place of constant 4 and uses of
    	DWARF2_FDE_RELOC_SIZE.  Assert it matches reloc bitsize.

commit 9e1a8675d49a5bbb881f664f8b7a1081432c994d
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Mar 5 22:55:29 2017 +1030

    gas/dw2gencfi.c formatting
    
    	* dw2gencfi.c: Wrap overlong lines.  Add parens for emacs
    	auto reformat.  Formatting and whitespace fixes.

commit 1f5345a614203185f7fdacbf4b000d2676de26dd
Author: Sam Thursfield <sam.thursfield@codethink.co.uk>
Date:   Fri Mar 3 14:14:35 2017 +0000

    binutils: Fix warning on platforms that don't have asprintf
    
    	* configure.ac (AC_CHECK_DECLS): Add asprintf.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 62e755d208d7359e722a248df3e74278779272c8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Mar 6 00:00:34 2017 +0000

    Automatic date update in version.in

commit 49fced1206db40c71208c201165d65f92c69cebe
Author: Mark Wielaard <mark@klomp.org>
Date:   Sun Mar 5 23:37:54 2017 +0100

    gas: Emit name, comp_dir and producer strings in .debug_str.
    
    Putting the name, comp_dir and producer strings in the .debug_str section
    makes it possible to share them across CUs. This saves a small amount of
    space (about ~20K on a glibc libc.so.6 build with debuginfo). And makes
    it easier for tools like rpm debugedit to adjust the source paths when
    generating separate debuginfo files.
    
    gas/
           * dwarf2dbg.c (out_debug_abbrev): Use DW_FORM_strp instead of
           DW_FORM_string for DW_AT_name, DW_AT_comp_dir and DW_AT_producer.
           (out_debug_info): Accept symbols to name, comp_dir and producer
           in the .debug_str section and emit those offsets not full strings.
           (out_debug_str): New function that outputs the strings for name,
           comp_dir and producer in .debug_str and generates symbols to
           those strings.
           (out_debug_line): Create a .debug_str section if necessary and
           call out_debug_str before calling out_debug_info.
           * testsuite/gas/aarch64/dwarf.d: Add extra section symbol to
           expected output.

commit 2e0ce1c84d328bde4dca24b7cfc8b9c033ed271c
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Mar 5 14:49:54 2017 +1030

    Align eh_frame FDEs according to their encoding
    
    bfd/
    	* elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
    	* elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
    	(next_cie_fde_offset): New function.
    	(_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
    	(_bfd_elf_discard_section_eh_frame): Align zero terminator to
    	four bytes.  Align CIEs to four or eight bytes depending on
    	per_encoding_aligned8.  Align FDEs according to their encoding.
    	Pad last FDE to output section alignment.
    	(_bfd_elf_write_section_eh_frame): Adjust to suit.  Remove
    	assertion.
    	* elf64-ppc.c (glink_eh_frame_cie): Delete padding.
    	(ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
    	(ppc64_elf_finish_dynamic_sections): Adjust to suit.
    ld/
    	* testsuite/ld-elf/eh3.d: Adjust for eh_frame alignment change.
    	* testsuite/ld-elf/eh6.d: Likewise.
    	* testsuite/ld-alpha/tlsbin.dd: Likewise.
    	* testsuite/ld-alpha/tlsbin.td: Likewise.
    	* testsuite/ld-alpha/tlsbinr.dd: Likewise.
    	* testsuite/ld-alpha/tlspic.dd: Likewise.
    	* testsuite/ld-alpha/tlspic.rd: Likewise.
    	* testsuite/ld-alpha/tlspic.sd: Likewise.
    	* testsuite/ld-alpha/tlspic.td: Likewise.
    	* testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise.
    	* testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise.
    	* testsuite/ld-mips-elf/eh-frame3.d: Likewise.
    	* testsuite/ld-x86-64/pr20830a.d: Likewise.
    	* testsuite/ld-x86-64/pr21038a.d: Likewise.
    	* testsuite/ld-x86-64/pr21038b.d: Likewise.
    	* testsuite/ld-x86-64/pr21038c.d: Likewise.

commit 0792e0e1199e76dce19a0f9fbdb29c75b8be8a9b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Mar 5 00:00:22 2017 +0000

    Automatic date update in version.in

commit 921ea8830c62bf4a60af1783bdd443fd43286359
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Mar 4 00:00:25 2017 +0000

    Automatic date update in version.in

commit 8ecbe595e69a84a0e3053884832d63af37113680
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Fri Mar 3 13:10:45 2017 -0800

    Fix umulh and smulh bugs.  Fix bugs in last week's sumov.s testsuite.
    
    	sim/aarch64/
    	* simulator.c (mul64hi): Shift carry left by 32.
    	(smulh): Change signum to negate.  If negate, invert result, and add
    	carry bit if low part of multiply result is zero.
    
    	sim/testsuite/sim/aarch64/
    	* sumov.s: Correct compare test values.
    	* sumulh.s: New.

commit df97be551faa262732128493c8ac159ae4b7f6d3
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Mar 3 12:58:24 2017 -0500

    Use range-based for loop in remote_add_target_side_commands
    
    gdb/ChangeLog:
    
    	* remote.c (remote_add_target_side_commands): Use range-based
    	for loop.

commit 7d45f3df96ca108f6d7d0c5e4279e22b820145fa
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Mar 3 17:16:19 2017 +0000

    Fetch lazy value before calling val_print
    
    As reported in PR 21165,
    
    (gdb) info locals^M
    gv = /home/yao/SourceCode/gnu/gdb/git/gdb/value.c:372: internal-error: int value_bits_any_optimized_out(const value*, int, int): Assertion `!value->lazy' failed.^M
    A problem internal to GDB has been detected,^M
    further debugging may prove unreliable.^M
    Quit this debugging session? (y or n) FAIL: gdb.ada/info_locals_renaming.exp: info locals (GDB internal error)
    Resyncing due to internal error.
    
    This internal error is caused by e8b24d9 (Remove parameter valaddr from
    la_val_print).  Commit e8b24d9 removes some calls to
    value_contents_for_printing, but value_fetch_lazy is not called, so the
    internal error above is triggered.  This patch adds value_fetch_lazy
    call before val_print.
    
    gdb:
    
    2017-03-03  Yao Qi  <yao.qi@linaro.org>
    
    	PR gdb/21165
    	* ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
    	value is lazy.
    	* valprint.c (common_val_print): Likewise.

commit 611a3ca929d6529f4e7576b0e2ffb588839c1b21
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 3 11:35:03 2017 +0000

    Make the linker fail if asked to create more than 1^16 ordinal values for PE targets.
    
    	PR 12969
    	* pe-dll.c (generate_edata): Fail if the input file(s) require too
    	many ordinals.

commit d20928fac9ab65449db910bd99a0f48ad29fb22b
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Mar 3 10:22:16 2017 +0000

    Fix thinko in previous changelog entry.
    
    	PR ld/21212
    	* elf.c (rewrite_elf_program_header): Do not issue a warning for
    	empty segments which have a zero filesz, but a non-zero memsz.

commit b565cf21c80945d5e9baa6871653aae5add2d493
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Mar 3 00:00:23 2017 +0000

    Automatic date update in version.in

commit 05ed43104ef2c3f75779438111e2913dbd4555a6
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 2 17:10:20 2017 +0000

    Support merging build notes in sections without the SHF_GNU_BUILD_NOTE flag set.
    
    	* objcopy.c (is_merged_note_section): Support build note sections
    	without the SHF_GNU_BUILD_NOTE section flag set.

commit f98450c6eee6878ebf5b052d231758026d250427
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 2 14:47:29 2017 +0000

    Disable warning message about a program header with no associated sections when that header's file size is non-zero.
    
    	PR ld/21212
    	* elf.c (rewrite_elf_program_header): Do not issue a warning for
    	empty segments which have a non-zero filesz.

commit c871dadee1817d4b9f3ba6ee792730c9eccf88e0
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Mar 2 10:52:51 2017 +0000

    Fix snafu parsing GNU_BUILD_NOTEs on ARM and AArch64 architectures.
    
    	* readelf.c (print_gnu_build_attribute_description): Use global
    	symbols for OPEN attributes if at all possible.

commit b451e98a909e1a6afa71c4a4655adc4cfeea5249
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 2 10:58:19 2017 +0100

    New debug_displays_assert
    
    binutils/
    2017-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (debug_displays_assert): New static assertion.

commit d4620bee57be53f7a6b14c01b2ea22d22a61bef0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 2 10:06:00 2017 +0100

    Fix dwarf_section_display_enum regression by DWARF-5
    
    binutils/
    2017-03-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.h (enum dwarf_section_display_enum): Add loclists and rnglists.

commit 9875b36538d35f2292ddc3bb5e7c60e1582aa087
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Mar 2 01:24:15 2017 +0000

    GAS: Fix bogus "attempt to move .org backwards" relaxation errors
    
    Fix a commit 6afe8e98a664 ("internal error for backwards .org"),
    <https://www.sourceware.org/ml/binutils/2008-06/msg00212.html>,
    GAS regression that caused legitimate code to fail assembly with an
    "attempt to move .org backwards" error.
    
    For example with the `mips-linux' target we get:
    
    $ cat org.s
    	.set	mips16
    	la	$2, foo
    	.org	0x1000
    	.align	2
    foo:
    	.half	0
    $ as -o org.o org.s
    org.s: Assembler messages:
    org.s:3: Error: attempt to move .org backwards
    $
    
    where the location pointer is obviously not moved backwards with `.org'.
    
    The cause is positive `stretch' in relaxation due to a PC-relative ADDIU
    instruction (produced from the LA macro used) getting expanded from 2 to
    4 bytes as `foo' is noticed to be out of range for the short encoding.
    This in turn triggers logic in `relax_segment' which concludes in the
    processing of an `rs_org' frag produced that the location pointer is
    moved backwards while in fact only the amount to space forward to the
    location requested has shrunk, resulting in a negative growth of the
    frag.
    
    Correct the bad logic then and instead verify that the fixed part of an
    `rs_org' frag has not overrun the location requested, as per the comment
    already included with the error message:
    
    /* Growth may be negative, but variable part of frag
       cannot have fewer than 0 chars.  That is, we can't
       .org backwards.  */
    
    which accurately describes the regression scenario.  Move the comment
    ahead the conditional noted, for clarity.
    
    Add generic and MIPS test cases for the `.org' pseudo-op, including the
    test case discussed though not integrated with the offending commit in
    particular, adjusted to work across all targets.
    
    	gas/
    	* write.c (relax_segment) <rs_org>: Only bail out if the fixed
    	part of the frag has overrun the location requested.
    
    	* testsuite/gas/all/org-1.d: New test.
    	* testsuite/gas/all/org-2.d: New test.
    	* testsuite/gas/all/org-3.d: New test.
    	* testsuite/gas/all/org-4.d: New test.
    	* testsuite/gas/all/org-5.d: New test.
    	* testsuite/gas/all/org-6.d: New test.
    	* testsuite/gas/all/org-1.l: New stderr output.
    	* testsuite/gas/all/org-2.l: New stderr output.
    	* testsuite/gas/all/org-3.l: New stderr output.
    	* testsuite/gas/all/org-1.s: New test source.
    	* testsuite/gas/all/org-2.s: New test source.
    	* testsuite/gas/all/org-3.s: New test source.
    	* testsuite/gas/all/org-4.s: New test source.
    	* testsuite/gas/all/org-5.s: New test source.
    	* testsuite/gas/all/org-6.s: New test source.
    	* testsuite/gas/all/gas.exp: Run the new tests.
    
    	* testsuite/gas/mips/org-1.d: New test.
    	* testsuite/gas/mips/org-2.d: New test.
    	* testsuite/gas/mips/org-3.d: New test.
    	* testsuite/gas/mips/org-4.d: New test.
    	* testsuite/gas/mips/org-5.d: New test.
    	* testsuite/gas/mips/org-6.d: New test.
    	* testsuite/gas/mips/org-7.d: New test.
    	* testsuite/gas/mips/org-8.d: New test.
    	* testsuite/gas/mips/org-9.d: New test.
    	* testsuite/gas/mips/org-10.d: New test.
    	* testsuite/gas/mips/org-11.d: New test.
    	* testsuite/gas/mips/org-12.d: New test.
    	* testsuite/gas/mips/org-1.l: New stderr output.
    	* testsuite/gas/mips/org-4.l: New stderr output.
    	* testsuite/gas/mips/org-5.l: New stderr output.
    	* testsuite/gas/mips/org-6.l: New stderr output.
    	* testsuite/gas/mips/org-10.l: New stderr output.
    	* testsuite/gas/mips/org-1.s: New test source.
    	* testsuite/gas/mips/org-2.s: New test source.
    	* testsuite/gas/mips/org-3.s: New test source.
    	* testsuite/gas/mips/org-4.s: New test source.
    	* testsuite/gas/mips/org-5.s: New test source.
    	* testsuite/gas/mips/org-6.s: New test source.
    	* testsuite/gas/mips/org-7.s: New test source.
    	* testsuite/gas/mips/org-8.s: New test source.
    	* testsuite/gas/mips/org-9.s: New test source.
    	* testsuite/gas/mips/org-10.s: New test source.
    	* testsuite/gas/mips/org-11.s: New test source.
    	* testsuite/gas/mips/org-12.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 673cff9b8b3105f74ce97c202a0727f9e83e56e6
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Mar 2 10:24:14 2017 +1030

    PowerPC VLE typo fix
    
    	* elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.

commit 199add01b6704e1cd8a48945bd775fbe8524fa75
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Mar 2 10:23:42 2017 +1030

    Avoid gcc-7 warning killing ld testcases
    
    	* testsuite/ld-elf/shared.exp: Pass -ansi when compiling new.cc
    	and dl3.cc.

commit ecd78df2707734ccb2d0f6e5426321fa399befaa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Mar 2 00:00:42 2017 +0000

    Automatic date update in version.in

commit 134e805d3e18cf700a5046912b8dca9301fe6f2e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 1 15:09:29 2017 +0000

    Sync libiberty sources with GCC mainline.
    
    Brings in:
      2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
    
    	PR PR c++/70182
    	* cp-demangle.c (d_unqualified_name): Handle "on" for
    	operator names.
    	* testsuite/demangle-expected: Add tests.
    
     2017-01-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
    
    	PR c++/77489
    	* cp-demangle.c (d_discriminator): Handle discriminator >= 10.
    	* testsuite/demangle-expected: Add tests for discriminator.
    
     2016-12-13  Jakub Jelinek  <jakub@redhat.com>
    
    	PR c++/78761
    	* cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
    	* testsuite/demangle-expected: Add test for decltype(auto).

commit 01cca2f95e4a448cbfb7dc940cc38fe89300b15f
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Wed Mar 1 14:51:13 2017 +0000

    [AArch64] Document +rcpc weak release consistency extension
    
    gas/
    	* doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.

commit 9ef920e933bf2ea228c909cf81636e6d9577e51e
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Mar 1 11:09:46 2017 +0000

    Add support for displaying and merging GNU_BUILD_NOTEs.
    
    include	* elf/common.h (SHF_GNU_BUILD_NOTE): Define.
    	(NT_GNU_PROPERTY_TYPE_0): Define.
    	(NT_GNU_BUILD_ATTRIBUTE_OPEN): Define.
    	(NT_GNU_BUILD_ATTRIBUTE_FUN): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_NUMERIC): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_STRING): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_BOOL_TRUE): Define.
    	(GNU_BUILD_ATTRIBUTE_TYPE_BOOL_FALSE): Define.
    	(GNU_BUILD_ATTRIBUTE_VERSION): Define.
    	(GNU_BUILD_ATTRIBUTE_STACK_PROT): Define.
    	(GNU_BUILD_ATTRIBUTE_RELRO): Define.
    	(GNU_BUILD_ATTRIBUTE_STACK_SIZE): Define.
    	(GNU_BUILD_ATTRIBUTE_TOOL): Define.
    	(GNU_BUILD_ATTRIBUTE_ABI): Define.
    	(GNU_BUILD_ATTRIBUTE_PIC): Define.
    	(NOTE_GNU_PROPERTY_SECTION_NAME): Define.
    	(GNU_BUILD_ATTRS_SECTION_NAME): Define.
    	(GNU_PROPERTY_STACK_SIZE): Define.
    	(GNU_PROPERTY_NO_COPY_ON_PROTECTED): Define.
    	(GNU_PROPERTY_X86_ISA_1_USED): Define.
    	(GNU_PROPERTY_X86_ISA_1_NEEDED): Define.
    	(GNU_PROPERTY_X86_ISA_1_486): Define.
    	(GNU_PROPERTY_X86_ISA_1_586): Define.
    	(GNU_PROPERTY_X86_ISA_1_686): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE2): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE3): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSSE3): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE4_1): Define.
    	(GNU_PROPERTY_X86_ISA_1_SSE4_2): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX2): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512F): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512CD): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512ER): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512PF): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512VL): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512DQ): Define.
    	(GNU_PROPERTY_X86_ISA_1_AVX512BW): Define.
    
    binutils* readelf.c (get_note_type): Add support for GNU_BUILD_NOTEs.
    	(get_gnu_elf_note_type): Add support for GNU_PROPERTY_NOTEs.
    	(decode_x86_isa): New function.
    	(print_gnu_property_note): New function.
    	(print_gnu_note): Handle GNU_PROPERTY_NOTEs.
    	(print_gnu_build_attribute_description): New function.
    	(print_gnu_build_attribute_name): New function.
    	(process_note): Add support for GNU_BUILD_NOTEs.
    	* objcopy.c (--merge-notes): New command line option.
    	(copy_options): Add merge-notes.
    	(copy_usage): Likewise.
    	(is_merge_note_section): New function.
    	(merge_gnu_build_notes): New function.
    	(copy_object): Merge note sections if asked to do so.
    	(skip_section): Add skip_copy parameter.  Add support for skipping
    	merged note sections.
    	(copy_relocations_in_section): Update call to skip_section.
    	(copy_section): Likewise.
    	(copy_main): Add support for merge-notes option.
    	* doc/binutils.texi: Document the new option to objcopy.
    	* NEWS: Mention the new feature.
    	* testsuite/binutils-all/note-2-32.d: New test.  Checks note
    	merging on 32-bit targets.
    	* testsuite/binutils-all/note-2-32.s: New test source file.
    	* testsuite/binutils-all/note-2-64.d: New test.  Like note-2-32.d
    	but for 64-bit targets.
    	* testsuite/binutils-all/note-2-64.s: New test source file.
    	* testsuite/binutils-all/objcopy.exp: Run the new test.

commit a7e8b06b8901309632fad842ffd7d90a81447c80
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Mar 1 00:01:00 2017 +0000

    Automatic date update in version.in

commit 65b48a81404cb058c75c562f7dfdeb74f07eba72
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Tue Feb 28 12:32:07 2017 -0600

    GDB: Add support for the new set/show disassembler-options commands.
    
    This commit adds support to GDB so that it can modify the disassembler-options
    value that is passed to the disassembler, similar to objdump's -M option.
    Currently, the only supported targets are ARM, PowerPC and S/390, but
    adding support for a new target(s) is not difficult.
    
    include/
    	* dis-asm.h (disasm_options_t): New typedef.
    	(parse_arm_disassembler_option): Remove prototype.
    	(set_arm_regname_option): Likewise.
    	(get_arm_regnames): Likewise.
    	(get_arm_regname_num_options): Likewise.
    	(disassemble_init_s390): New prototype.
    	(disassembler_options_powerpc): Likewise.
    	(disassembler_options_arm): Likewise.
    	(disassembler_options_s390): Likewise.
    	(remove_whitespace_and_extra_commas): Likewise.
    	(disassembler_options_cmp): Likewise.
    	(next_disassembler_option): New inline function.
    	(FOR_EACH_DISASSEMBLER_OPTION): New macro.
    
    opcodes/
    	* disassemble.c Include "safe-ctype.h".
    	(disassemble_init_for_target): Handle s390 init.
    	(remove_whitespace_and_extra_commas): New function.
    	(disassembler_options_cmp): Likewise.
    	* arm-dis.c: Include "libiberty.h".
    	(NUM_ELEM): Delete.
    	(regnames): Use long disassembler style names.
    	Add force-thumb and no-force-thumb options.
    	(NUM_ARM_REGNAMES): Rename from this...
    	(NUM_ARM_OPTIONS): ...to this.  Use ARRAY_SIZE.
    	(get_arm_regname_num_options): Delete.
    	(set_arm_regname_option): Likewise.
    	(get_arm_regnames): Likewise.
    	(parse_disassembler_options): Likewise.
    	(parse_arm_disassembler_option): Rename from this...
    	(parse_arm_disassembler_options): ...to this.  Make static.
    	Use new FOR_EACH_DISASSEMBLER_OPTION macro to scan over options.
    	(print_insn): Use parse_arm_disassembler_options.
    	(disassembler_options_arm): New function.
    	(print_arm_disassembler_options): Handle updated regnames.
    	* ppc-dis.c: Include "libiberty.h".
    	(ppc_opts): Add "32" and "64" entries.
    	(ppc_parse_cpu): Use ARRAY_SIZE and disassembler_options_cmp.
    	(powerpc_init_dialect): Add break to switch statement.
    	Use new FOR_EACH_DISASSEMBLER_OPTION macro.
    	(disassembler_options_powerpc): New function.
    	(print_ppc_disassembler_options): Use ARRAY_SIZE.
    	Remove printing of "32" and "64".
    	* s390-dis.c: Include "libiberty.h".
    	(init_flag): Remove unneeded variable.
    	(struct s390_options_t): New structure type.
    	(options): New structure.
    	(init_disasm): Rename from this...
    	(disassemble_init_s390): ...to this.  Add initializations for
    	current_arch_mask and option_use_insn_len_bits_p.  Remove init_flag.
    	(print_insn_s390): Delete call to init_disasm.
    	(disassembler_options_s390): New function.
    	(print_s390_disassembler_options): Print using information from
    	struct 'options'.
    	* po/opcodes.pot: Regenerate.
    
    binutils/
    	* objdump.c (main): Use remove_whitespace_and_extra_commas.
    
    gdb/
    	* NEWS: Mention new set/show disassembler-options commands.
    	* doc/gdb.texinfo: Document new set/show disassembler-options commands.
    	* disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
    	(prospective_options): New static variable.
    	(gdb_disassembler::gdb_disassembler): Initialize
    	m_di.disassembler_options.
    	(gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
    	(get_disassembler_options): New function.
    	(set_disassembler_options): Likewise.
    	(set_disassembler_options_sfunc): Likewise.
    	(show_disassembler_options_sfunc): Likewise.
    	(disassembler_options_completer): Likewise.
    	(_initialize_disasm): Likewise.
    	* disasm.h (get_disassembler_options): New prototype.
    	(set_disassembler_options): Likewise.
    	* gdbarch.sh (gdbarch_disassembler_options): New variable.
    	(gdbarch_verify_disassembler_options): Likewise.
    	* gdbarch.c: Regenerate.
    	* gdbarch.h: Likewise.
    	* arm-tdep.c (num_disassembly_options): Delete.
    	(set_disassembly_style): Likewise.
    	(arm_disassembler_options): New static variable.
    	(set_disassembly_style_sfunc): Convert short style name into long
    	option name.  Call set_disassembler_options.
    	(show_disassembly_style_sfunc): New function.
    	(arm_gdbarch_init): Call set_gdbarch_disassembler_options and
    	set_gdbarch_verify_disassembler_options.
    	(_initialize_arm_tdep): Delete regnames variable and update callers.
    	(arm_disassembler_options): Initialize.
    	(disasm_options): New variable.
    	(num_disassembly_options): Rename from this...
    	(num_disassembly_styles): ...to this.  Compute by scanning through
    	disasm_options.
    	(valid_disassembly_styles): Initialize using disasm_options.
    	Remove calls to parse_arm_disassembler_option, get_arm_regnames and
    	set_arm_regname_option.
    	Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
    	* rs6000-tdep.c (powerpc_disassembler_options): New static variable.
    	(rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
    	set_gdbarch_verify_disassembler_options.
    	* s390-tdep.c (s390_disassembler_options): New static variable.
    	(s390_gdbarch_init):all set_gdbarch_disassembler_options and
    	set_gdbarch_verify_disassembler_options.
    
    gdb/testsuite/
    	* gdb.arch/powerpc-power.exp: Delete test.
    	* gdb.arch/powerpc-power.s: Likewise.
    	* gdb.disasm/disassembler-options.exp: New test.
    	* gdb.arch/powerpc-altivec.exp: Likewise.
    	* gdb.arch/powerpc-altivec.s: Likewise.
    	* gdb.arch/powerpc-altivec2.exp: Likewise.
    	* gdb.arch/powerpc-altivec2.s: Likewise.
    	* gdb.arch/powerpc-altivec3.exp: Likewise.
    	* gdb.arch/powerpc-altivec3.s: Likewise.
    	* gdb.arch/powerpc-power7.exp: Likewise.
    	* gdb.arch/powerpc-power7.s: Likewise.
    	* gdb.arch/powerpc-power8.exp: Likewise.
    	* gdb.arch/powerpc-power8.s: Likewise.
    	* gdb.arch/powerpc-power9.exp: Likewise.
    	* gdb.arch/powerpc-power9.s: Likewise.
    	* gdb.arch/powerpc-vsx.exp: Likewise.
    	* gdb.arch/powerpc-vsx.s: Likewise.
    	* gdb.arch/powerpc-vsx2.exp: Likewise.
    	* gdb.arch/powerpc-vsx2.s: Likewise.
    	* gdb.arch/powerpc-vsx3.exp: Likewise.
    	* gdb.arch/powerpc-vsx3.s: Likewise.
    	* gdb.arch/arm-disassembler-options.exp: Likewise.
    	* gdb.arch/powerpc-disassembler-options.exp: Likewise.
    	* gdb.arch/s390-disassembler-options.exp: Likewise.

commit 2979a883540d9ce6e41dd0509ea2a345de9cf050
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 28 16:54:16 2017 +0000

    Revert "Add symbol called __nm_<name> to exported symbols created by dlltool."
    
    This reverts commit 47612ae91c5f2de8960df1d96adf225d2455123f.

commit 3de43e7beb9839fa268a73be77de73a7b7cd97db
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 23:42:29 2017 +1030

    PowerPC addpcis fix again
    
    In the last patch I said "The patch also fixes overflow checking".
    In fact, there wasn't anything wrong with the previous code.  So,
    revert that change.  The new checks are OK too, so this is just a
    tidy.
    
    	* elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
    	(ppc64_elf_relocate_section): Likewise.

commit 15c7c1d8a535000e94ed36f4259d0ede32001408
Author: Jan Beulich <jbeulich@novell.com>
Date:   Tue Feb 28 10:53:35 2017 +0100

    x86: fix handling of 64-bit operand size VPCMPESTR{I,M}
    
    Just like REX.W affects operand size of the implicit rAX/rDX inputs to
    PCMPESTR{I,M}, VEX.W does for VPCMPESTR{I,M}. Allow Q or L suffixes on
    the instructions.
    
    Similarly the disassembler needs to be adjusted to no longer require
    VEX.W to be zero for the instructions to be valid, and to emit proper
    suffixes.
    
    Note, however, that this doesn't address the problem of there being no
    way to control (at least) {,E}VEX.W for 32- or 16-bit code. Nor does it
    address the problem of the many WIG instructions not getting properly
    disassembled when VEX.W=1.

commit 4ef97a1b459849ad190244c36b36d45bdd078030
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 10:38:51 2017 +1030

    Nios2 dynobj handling fixes
    
    A number of places in elf32-nios.c created dynamic sections but didn't
    set the hash table dynobj.  That meant we could have duplicate dynamic
    sections connected to a number of bfds, so size_dynamic_sections
    didn't properly discard or allocate contents.
    
    Also, the entire set of dynamic sections was created in check_relocs
    on seeing GOT relocs, when only .got related sections are needed,
    probably done to hide segfaults later in finish_dynamic_sections.
    
    The patch fixes these issues and makes the assembler emit errors when
    nios2 lacks the necessary pc-relative relocs for subtraction
    expressions, rather than silently generating bad code.
    eg. ld-elf/merge.  I've also tidied uses of elf32_nios2_hash_table and
    elf_hash_table.
    
    bfd/
    	PR 20995
    	* elf32-nios2.c (nios2_elf32_relocate_section): Use htab
    	rather than elf32_nios2_hash_table or elf_hash_table.
    	(create_got_section): Likewise.
    	(nios2_elf32_finish_dynamic_symbol): Likewise.
    	(nios2_elf32_adjust_dynamic_symbol): Likewise.
    	(nios2_elf32_size_dynamic_sections): Likewise.
    	(nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
    	vars.  Use htab equivalents directly instead.  Don't create
    	all dynamic sections on needing just the GOT.  Use a goto
    	rather than a fall-through with reloc test.  Ensure
    	htab->dynobj is set when making dynamic sreloc section.
    	(nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
    	equivalent directly instead.  Don't segfault on looking for
    	.dynamic when dynamic sections have not been created.  Don't
    	segfault on .got.plt being discarded.
    	(nios2_elf32_size_dynamic_sections): Delete plt and got vars.
    	Don't set "relocs" on .rela.plt.  Do handle .sbss.  Delete
    	fixme and another not so relevant comment.
    	(nios2_elf_add_symbol_hook): Delete dynobj var.  If not
    	already set, set hash table dynobj on creating .sbss.
    gas/
    	* config/tc-nios2.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
    ld/
    	* testsuite/ld-elf/merge.d: xfail for nios.

commit 7ba71655a425ac44721f97cc0ad7922ca15bce43
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 08:32:36 2017 +1030

    PowerPC addpcis fix
    
    This came up because I was looking at ld/tmpdir/addpcis.o and noticed
    the odd addends on REL16DX_HA.  They ought to both be -4.  The error
    crept in due REL16DX_HA howto being pc-relative (as indeed it should
    be), and code at gas/write.c:1001 after this comment
    	      /* Make it pc-relative.  If the back-end code has not
    		 selected a pc-relative reloc, cancel the adjustment
    		 we do later on all pc-relative relocs.  */
    *not* cancelling the pc-relative adjustment.  So I've made a dummy
    non-relative split reloc so that the generic code handles this, rather
    than attempting to add hacks later in md_apply_fix which would not be
    very robust.  Having the new internal reloc also makes it easy to
    support
    
     addpcis rx,sym@ha
    
    as an equivalent to
    
     addpcis rx,(sym-0f)@ha
    0:
    
    The patch also fixes overflow checking, which must test whether the
    addi will overflow too since @l relocs don't have any overflow check.
    
    Lastly, since I was poking at md_apply_fix, I arranged to have the
    generic gas/write.c code emit errors for subtraction expressions where
    we lack reloc support.
    
    include/
    	* elf/ppc64.h (R_PPC64_16DX_HA): New.  Expand fake reloc comment.
    	* elf/ppc.h (R_PPC_16DX_HA): Likewise.
    bfd/
    	* reloc.c (BFD_RELOC_PPC_16DX_HA): New.
    	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
    	(ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
    	(ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
    	(ppc64_elf_relocate_section): Likewise.
    	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
    	(ppc_elf_reloc_type_lookup): Translate new bfd reloc.
    	(ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
    	* libbfd.h: Regenerate.
    	* bfd-in2.h: Regenerate.
    gas/
    	* config/tc-ppc.c (md_assemble): Use BFD_RELOC_PPC_16DX_HA for addpcis.
    	(md_apply_fix): Remove fx_subsy check.  Move code converting to
    	pcrel reloc earlier and handle BFD_RELOC_PPC_16DX_HA.  Remove code
    	emiiting errors on seeing fx_pcrel set on unexpected relocs, as
    	that is done now by the generic code via..
    	* config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): ..this. Define.
    	(TC_VALIDATE_FIX_SUB): Define.
    ld/
    	* testsuite/ld-powerpc/addpcis.d: Define ext1 and ext2 at
    	limits of addpcis range.

commit afbf7e8e3aa24152ad58e430c8d37d82e5751f1c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 28 08:06:02 2017 +1030

    Don't make dynamic .data.rel.ro SEC_READONLY
    
    I'd made this dynamic section read-only so a flag test distinguished
    it from .dynbss, but like any other .data.rel.ro section it really
    should be marked read-write.  (It is read-only after relocation, not
    before.)  When using the standard linker scripts this usually doesn't
    matter since the output section is among other read-write sections and
    not page aligned.  However, it might matter in the extraordinary case
    of the dynamic section being the only .data.rel.ro section with the
    output section just happening to be page aligned and a multiple of a
    page in size.  In that case the output section would be read-only, and
    live it its own read-only PT_LOAD segment, which is incorrect.
    
    	* elflink.c (_bfd_elf_create_dynamic_sections): Don't make
    	dynamic .data.rel.ro read-only.
    	* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
    	rather than section flags when deciding where copy reloc goes.
    	* elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
    	* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
    	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
    	* elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
    	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
    	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
    	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
    	* elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
    	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
    	* elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
    	* elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
    	* elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
    	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
    	* elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
    	* elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
    	* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
    	* elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.

commit 0e39210161e7c547ab53afb86997303e24a42c0c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Feb 28 00:14:08 2017 +0000

    MIPS/BFD: Also handle `jalr $0, $25' with R_MIPS_JALR
    
    Interpret the `jalr $0, $25' instruction encoding with an R_MIPS_JALR
    relocation attached as an alias to `jr $25' and convert the jump to an
    equivalent branch where possible, consequently covering the MIPSr6
    architecture for the purpose of this optimization too.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_perform_relocation): Also handle the
    	`jalr $0, $25' instruction encoding.
    
    	gas/
    	* testsuite/gas/mips/jalr4.s: Add `jalr $0, $25' instructions.
    	* testsuite/gas/mips/jalr4.d: Adjust accordingly.  Remove MIPSr6
    	encoding patterns.
    	* testsuite/gas/mips/jalr4-n64.d: Likewise.
    	* testsuite/gas/mips/mipsr6@jalr4.d: New test.
    	* testsuite/gas/mips/mipsr6@jalr4-n32.d: New test.
    	* testsuite/gas/mips/mipsr6@jalr4-n64.d: New test.
    
    	ld/
    	* testsuite/ld-mips-elf/jalr4.dd: Adjust for `jalr $0, $25'
    	instructions.
    	* testsuite/ld-mips-elf/jalr4-r6.dd: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.

commit 279a558a4d0fad268738ec916628c9c12cfcaf5b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Feb 28 00:00:25 2017 +0000

    Automatic date update in version.in

commit 9dfd0db952fc07dccebbc244df2a20a6eda14b2c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 27 23:22:53 2017 +0100

    Fix compilation with GCC 4.4.7.
    
    binutils/
    2017-02-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	Fix compilation with GCC 4.4.7.
    	* dwarf.c (display_loclists_list, display_debug_rnglists_list):
    	Initialize begin and end.

commit d538e36decd5628c084dbd5a7de13719b8b92121
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Feb 27 14:09:34 2017 -0500

    Remove struct keyword from range-based for loop
    
    The previous patch introduced this error with recent-ish GCCs:
    
    ../../binutils-gdb/gdb/remote.c: In function â??int remote_add_target_side_condition(gdbarch*, bp_target_info*, char*, char*)â??:
    ../../binutils-gdb/gdb/remote.c:9668:8: error: types may not be defined in a for-range-declaration [-Werror]
       for (struct agent_expr *aexpr : bp_tgt->conditions)
            ^~~~~~
    
    Removing the struct keyword fixes the error.
    
    gdb/ChangeLog:
    
    	* remote.c (remote_add_target_side_condition): Remove "struct"
    	keyword from range-based for loop.

commit 8362122330c97c8c4a15da4e7ba8aa29f0c11157
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Feb 27 13:54:53 2017 -0500

    Use range-based for loop in remote_add_target_side_condition
    
    Using a range based for loop makes this code a bit more clean and
    readable.
    
    The comment above is clearly erroneous, so I've updated it.
    
    gdb/ChangeLog:
    
    	* remote.c (remote_add_target_side_condition): Use range-based
    	for loop.  Update comment.

commit 2123df0ebfc7ade46784ef412226490d59f8ce05
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Feb 27 17:27:17 2017 +0000

    Fix array out of bound access
    
    ASAN reports the following error,
    
    (gdb) PASS: gdb.fortran/vla-ptr-info.exp: continue to breakpoint: pvla-associated
    print &pvla^M
    =================================================================^M
    ^[[1m^[[31m==14331==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000000ea569f at pc 0x0000008eb546 bp 0x7ffde0c1dc70 sp 0x7ffde0c1dc60^M
    ^[[1m^[[0m^[[1m^[[34mREAD of size 1 at 0x000000ea569f thread T0^[[1m^[[0m^M
        #0 0x8eb545 in f_print_type(type*, char const*, ui_file*, int, int, type_print_options const*) ../../binutils-gdb/gdb/f-typeprint.c:89^M
        #1 0xb611e2 in type_print(type*, char const*, ui_file*, int) ../../binutils-gdb/gdb/typeprint.c:365^M
        #2 0x7b3471 in c_value_print(value*, ui_file*, value_print_options const*) ../../binutils-gdb/gdb/c-valprint.c:650^M
        #3 0xb99517 in value_print(value*, ui_file*, value_print_options const*) ../../binutils-gdb/gdb/valprint.c:1233^M
        #4 0xa42be8 in print_formatted ../../binutils-gdb/gdb/printcmd.c:321^M
        #5 0xa46ac9 in print_value(value*, format_data const*) ../../binutils-gdb/gdb/printcmd.c:1233^M
        #6 0xa46d82 in print_command_1 ../../binutils-gdb/gdb/printcmd.c:1261^M
        #7 0xa46e3e in print_command ../../binutils-gdb/gdb/printcmd.c:1267
    
    on this line of code
    
          demangled_args = varstring[strlen (varstring) - 1] == ')';
    
    because varstring is an empty string and strlen () is 0, so "strlen () - 1"
    is definitely out of the bound of "varstring",
    
    (gdb) bt 10
        at /home/yao/SourceCode/gnu/gdb/git/gdb/f-typeprint.c:56
        at /home/yao/SourceCode/gnu/gdb/git/gdb/typeprint.c:365
        at /home/yao/SourceCode/gnu/gdb/git/gdb/c-valprint.c:650
        at /home/yao/SourceCode/gnu/gdb/git/gdb/valprint.c:1236
    
    This patch adds a pre-check that varstring is empty or not.
    
    gdb:
    
    2017-02-27  Yao Qi  <yao.qi@linaro.org>
    
    	* f-typeprint.c (f_print_type): Check "varstring" is empty first.

commit fbf25dfdfdba2c057e7ccdae4e0d6a2139c66dd5
Author: Georg-Johann Lay <gjl@gcc.gnu.org>
Date:   Mon Feb 27 17:05:53 2017 +0000

    Place read-only data in the text section on AVR Tiny targets.
    
    	PR target/20849
            * scripttempl/avrtiny.sc (__RODATA_PM_OFFSET__): New define.
            (.rodata): New section.
            (.data): Remove .rodata*.

commit 47612ae91c5f2de8960df1d96adf225d2455123f
Author: Rudy Y <rudyy.id@gmail.com>
Date:   Mon Feb 27 15:02:52 2017 +0000

    Add symbol called __nm_<name> to exported symbols created by dlltool.
    
    	PR 20881
    	* dlltool.c (secdata): Align .idata$6 on 2 byte boundary.
    	(make_one_lib_file): Export a symbol called __nm_<symbol> for use
    	with auto-importing.

commit bd757ca7bf5886a4025ca02093fca1b8c5ce11a2
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 27 11:33:05 2017 +0000

    Fix segfault in microblaze linker when garbage collection removes a symbol scheduled for a slot in the PLT.
    
    	PR ld/21180
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
    	generating a seg-fault when encountering a symbol that has been
    	deleted by garbage collection.

commit 8e3681243c642d667164bd23ae9a376620da0780
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Mon Feb 27 09:58:35 2017 +0000

    Remove MAX_REGISTER_SIZE from remote.c
    
    gdb/
    	* regcache.c (regcache_raw_update): New function.
    	(regcache_raw_read): Move code to regcache_raw_update.
    	* regcache.h (regcache_raw_update): New declaration.
    	* remote.c (remote_prepare_to_store): Call regcache_raw_update.

commit a0aa382843fc5ccbeebf99d8d3c3075ca13e8125
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Feb 27 00:00:24 2017 +0000

    Automatic date update in version.in

commit a49dd8dd482da6a8131752f8312a06aa6599063c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Feb 26 16:54:51 2017 +0100

    DWARF-5: Initialization due to a false compiler warning
    
    gcc-6.3.1-1.fc25.x86_64
    
    dwarf2read.c: In function â??void create_debug_type_hash_table(dwo_file*, dwarf2_section_info*, htab*&, rcuh_kind)â??:
    dwarf2read.c:4776:32: error: â??header.comp_unit_head::type_offset_in_tu.cu_offset::cu_offâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized]
    dwarf2read.c:4816:21: error: â??header.comp_unit_head::signatureâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized]
    cc1plus: all warnings being treated as errors
    
    gdb/ChangeLog
    2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_debug_type_hash_table): Initialize
    	header.signature and header.type_offset_in_tu.

commit 152e1e1bc90030cec9ce8318ab982675b1e90a00
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Feb 25 20:06:36 2017 -0800

    Add missing smov support, and clean up existing umov support.
    
    	sim/aarch64/
    	* simulator.c (do_vec_SMOV_into_scalar): New.
    	(do_vec_UMOV_into_scalar): Renamed from do_vec_MOV_into_scalar.
    	Rewritten.
    	(do_vec_UMOV): Merged into do_vec_UMOV_into_scalar and deleted.
    	(do_vec_op1): Move do_vec_TRN call and do_vec_UZP call.  Add
    	do_vec_SMOV_into_scalar call.  Delete do_vec_MOV_into_scalar and
    	do_vec_UMOV calls.  Add do_vec_UMOV_into_scalar call.
    
    	sim/testsuite/sim/aarch64/
    	* sumov.s: New.

commit ac189e7bf8865d61b4f5e89a530476f9e4c5c70b
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Feb 25 20:04:09 2017 -0800

    Add missing cnt (popcount) instruction support.
    
    	sim/aarch64/
    	* simulator.c (popcount): New.
    	(do_vec_CNT): New.
    	(do_vec_op1): Add do_vec_CNT call.
    
    	sim/testsuite/sim/aarch64/
    	* cnt.s: New.

commit a8a0c9384831bc03b43e60b8d7896a403807335a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Feb 26 00:00:33 2017 +0000

    Automatic date update in version.in

commit dd803a2430a33ca5f306d717a7c242d2e907ae43
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Feb 25 00:02:27 2017 +1030

    Testsuite fixes for hppa64-hpux
    
    HPUX has a different .comm syntax, and anything in the first column
    is a label.
    
    gas/
    	* testsuite/gas/elf/strtab.s: Don't put directives on first
    	column or continuation with labels not in first column.
    ld/
    	* testsuite/ld-elf/elf.exp: Xfail pr20995 tests on hppa64-hpux.
    	Set up HPUX defsym.  Run pr14170 tests and build symbol3 objects,
    	defining HPUX where necessary.  Define HPUX for implib tests.
    	* testsuite/ld-elf/comm-data4.d: Run for hpux.
    	* testsuite/ld-elf/endsym.d: Likewise.
    	* testsuite/ld-elf/linkoncerdiff.d: Likewise.
    	* testsuite/ld-elf/comm-data4.s: Add alternate .comm when HPUX.
    	* testsuite/ld-elf/comm-data5.s: Likewise.
    	* testsuite/ld-elf/endsym.s: Likewise.
    	* testsuite/ld-elf/pr14170c.s: Likewise.
    	* testsuite/ld-elf/symbol3.s: Likewise.
    	* testsuite/ld-elf/implib.s: Likewise.  Don't start directives
    	in first column.
    	* testsuite/ld-elf/linkoncerdiff2.s: Don't use numeric labels.
    	* testsuite/ld-elf/warn3.d: Run for hpux.
    	* testsuite/ld-scripts/rgn-at10.d: Xfail for hpux.
    	* testsuite/ld-scripts/rgn-at11.d: Likewise.
    	* testsuite/ld-scripts/size-2.d: Remove xfail for hpux.

commit 3b83ea38cfbc408da9c4a85a8db9a836fa098e93
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 24 23:58:50 2017 +1030

    Fixes for new dw5 test
    
    On some targets, .string does not add a NUL string terminator.
    
    	* testsuite/binutils-all/dw5.S: Replace .string with .asciz.
    	Support hpux .comm variant.
    	* testsuite/binutils-all/readelf.exp: Define HPUX when assembling
    	dw5 test for hppa64-hpux.

commit 034fed0bbc3541d2a11a839faf4be521843ad954
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Feb 25 15:44:29 2017 +1030

    ARC naughtiness causing assertion fail at elf-strtab.c:302
    
    This patch fixes a number of issues in the ARC backend.
    
    - The ARC size_dynamic_sections was trashing dynamic section contents,
      in particular the .gnu.version_d contents.  Those versions
      definitions are therefore lost so they do not drain from the strtab,
      resulting in assertion failures.
    - The code attempting to set DT_TEXTREL was completely bogus.
    - The ARC finish_dynamic_sections would segfault on trying to set
      sh_entsize for .rela.plt if that section had been discarded.
    - arc_create_dynamic_sections wouldn't have ever created dynamics
      sections, which was just as well since the places it was called were
      way too late to create dynamic sections.  Its usefulness then
      devolved down to finding just one dynamic section.  All the others
      packaged into a struct were unused.
    - .interp wasn't set for PIEs.
    
    	* elf32-arc.c (struct dynamic_sections): Delete.
    	(enum dyn_section_types): Delete.
    	(dyn_section_names): Delete.
    	(arc_create_dynamic_sections): Delete.
    	(elf_arc_finish_dynamic_sections): Don't call the above.  Don't
    	segfault on discarded .rela.plt section.
    	(elf_arc_size_dynamic_sections): Formatting.  Don't call
    	arc_create_dynamic_sections.  Don't allocate memory for sections
    	handled by the generic linker.  Correct code finding relocs in
    	read-only sections.  Set SEC_EXCLUDE on zero size .got,
    	.got.plt, and .dynbss sections.  Do set .interp for pies.

commit 7cc14406548d299c1371ecdc2d43592c98567a0b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Feb 25 00:00:32 2017 +0000

    Automatic date update in version.in

commit 582e12bf7602bb62ecc234402eb54044e83065e2
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Fri Feb 24 18:29:00 2017 +0000

    [AArch64] Additional SVE instructions
    
    This patch supports some additions to the SVE architecture prior to
    its public release.
    
    include/
    	* opcode/aarch64.h (AARCH64_OPND_SVE_ADDR_RI_S4x16)
    	(AARCH64_OPND_SVE_IMM_ROT1, AARCH64_OPND_SVE_IMM_ROT2)
    	(AARCH64_OPND_SVE_Zm3_INDEX, AARCH64_OPND_SVE_Zm3_22_INDEX)
    	(AARCH64_OPND_SVE_Zm4_INDEX): New aarch64_opnds.
    
    opcodes/
    	* aarch64-tbl.h (OP_SVE_HMH, OP_SVE_VMU_HSD, OP_SVE_VMVU_HSD)
    	(OP_SVE_VMVV_HSD, OP_SVE_VMVVU_HSD, OP_SVE_VM_HSD, OP_SVE_VUVV_HSD)
    	(OP_SVE_VUV_HSD, OP_SVE_VU_HSD, OP_SVE_VVVU_H, OP_SVE_VVVU_S)
    	(OP_SVE_VVVU_HSD, OP_SVE_VVV_D, OP_SVE_VVV_D_H, OP_SVE_VVV_H)
    	(OP_SVE_VVV_HSD, OP_SVE_VVV_S, OP_SVE_VVV_S_B, OP_SVE_VVV_SD_BH)
    	(OP_SVE_VV_BHSDQ, OP_SVE_VV_HSD, OP_SVE_VZVV_HSD, OP_SVE_VZV_HSD)
    	(OP_SVE_V_HSD): New macros.
    	(OP_SVE_VMU_SD, OP_SVE_VMVU_SD, OP_SVE_VM_SD, OP_SVE_VUVV_SD)
    	(OP_SVE_VU_SD, OP_SVE_VVVU_SD, OP_SVE_VVV_SD, OP_SVE_VZVV_SD)
    	(OP_SVE_VZV_SD, OP_SVE_V_SD): Delete.
    	(aarch64_opcode_table): Add new SVE instructions.
    	(aarch64_opcode_table): Use imm_rotate{1,2} instead of imm_rotate
    	for rotation operands.  Add new SVE operands.
    	* aarch64-asm.h (ins_sve_addr_ri_s4): New inserter.
    	(ins_sve_quad_index): Likewise.
    	(ins_imm_rotate): Split into...
    	(ins_imm_rotate1, ins_imm_rotate2): ...these two inserters.
    	* aarch64-asm.c (aarch64_ins_imm_rotate): Split into...
    	(aarch64_ins_imm_rotate1, aarch64_ins_imm_rotate2): ...these two
    	functions.
    	(aarch64_ins_sve_addr_ri_s4): New function.
    	(aarch64_ins_sve_quad_index): Likewise.
    	(do_misc_encoding): Handle "MOV Zn.Q, Qm".
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis.h (ext_sve_addr_ri_s4): New extractor.
    	(ext_sve_quad_index): Likewise.
    	(ext_imm_rotate): Split into...
    	(ext_imm_rotate1, ext_imm_rotate2): ...these two extractors.
    	* aarch64-dis.c (aarch64_ext_imm_rotate): Split into...
    	(aarch64_ext_imm_rotate1, aarch64_ext_imm_rotate2): ...these two
    	functions.
    	(aarch64_ext_sve_addr_ri_s4): New function.
    	(aarch64_ext_sve_quad_index): Likewise.
    	(aarch64_ext_sve_index): Allow quad indices.
    	(do_misc_decoding): Likewise.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc.h (FLD_SVE_i3h, FLD_SVE_rot1, FLD_SVE_rot2): New
    	aarch64_field_kinds.
    	(OPD_F_OD_MASK): Widen by one bit.
    	(OPD_F_NO_ZR): Bump accordingly.
    	(get_operand_field_width): New function.
    	* aarch64-opc.c (fields): Add new SVE fields.
    	(operand_general_constraint_met_p): Handle new SVE operands.
    	(aarch64_print_operand): Likewise.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    	* doc/c-aarch64.texi: Document that sve implies fp16, simd and compnum.
    	* config/tc-aarch64.c (parse_vector_type_for_operand): Allow .q
    	to be used with SVE registers.
    	(parse_operands): Handle new SVE operands.
    	(aarch64_features): Make "sve" require F16 rather than FP.  Also
    	require COMPNUM.
    	* testsuite/gas/aarch64/sve.s: Add tests for new instructions.
    	Include compnum tests.
    	* testsuite/gas/aarch64/sve.d: Update accordingly.
    	* testsuite/gas/aarch64/sve-invalid.s: Add tests for new instructions.
    	* testsuite/gas/aarch64/sve-invalid.l: Update accordingly.  Also
    	update expected output for new FMOV and MOV alternatives.

commit f482d3044722558c3b16f54b33b0855bfbae36b1
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Fri Feb 24 18:27:26 2017 +0000

    [AArch64] Add a "compnum" feature
    
    This patch adds a named "compnum" feature for the ARMv8.3-A FCADD
    and FCMLA extensions.
    
    include/
    	* opcode/aarch64.h (AARCH64_FEATURE_COMPNUM): New macro.
    	(AARCH64_ARCH_V8_3): Include AARCH64_FEATURE_COMPNUM.
    
    opcodes/
    	* aarch64-tbl.h (aarch64_feature_simd_v8_3): Replace with...
    	(aarch64_feature_compnum): ...this.
    	(SIMD_V8_3): Replace with...
    	(COMPNUM): ...this.
    	(CNUM_INSN): New macro.
    	(aarch64_opcode_table): Use it for the complex number instructions.
    
    gas/
    	* doc/c-aarch64.texi: Add a "compnum" entry.
    	* config/tc-aarch64.c (aarch64_features): Likewise,
    	* testsuite/gas/aarch64/advsimd-compnum.s: New test.
    	* testsuite/gas/aarch64/advsimd-compnum.d: Likewise.

commit 6b4bf3bc355bea57be3c0f6f61008a23b9067a11
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 24 18:15:12 2017 +0000

    Fix snafu with booleans in readelf patch - lack of a program header is not a reason for a function to return false.
    
    	(process_program_headers): Fix snafu - if the program headers are
    	not available then this is not a cause to fail.
    	(process_corefile_note_segments): Likewise.

commit 34e4bae972e66c0bcbd382478bbcaffc9b45ac05
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 24 17:42:51 2017 +0000

    symtab.c: Small refactor
    
    add_symtab_completions does the exact same as the code that it is
    replacing.
    
    gdb/ChangeLog:
    2017-02-24  Pedro Alves  <palves@redhat.com>
    
    	* symtab.c (make_file_symbol_completion_list_1): Use
    	add_symtab_completions.

commit d0f744f970225f68460eb36a4975ae92a2e9495a
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Feb 21 21:56:57 2017 -0800

    bfd: RISC-V: relax to gp in more cases.
    
    bfd/ChangeLog:
    
    2017-02-24  Andrew Waterman  <andrew@sifive.com>
    
    	* elfnn-riscv.c (GP_NAME): New macro.
    	(riscv_global_pointer_value): Use it.
    	(_bfd_riscv_relax_lui): If symbol and global pointer are in same
    	output section, consider only that section's alignment.

commit 742d14b39b384e822fd2218cf1803aef68a95d99
Author: Andrew Waterman <andrew@sifive.com>
Date:   Wed Feb 22 21:23:05 2017 -0800

    Add new counter-enable CSRs
    
    include/ChangeLog:
    
    2017-02-22  Andrew Waterman  <andrew@sifive.com>
    
           * opcode/riscv-opc.h (CSR_SCOUNTEREN): New define.
           (CSR_MCOUNTEREN): Likewise.
           (scounteren): Declare register.
           (mcounteren): Likewise.

commit b0e4b369d519f9c604bddd6305e64dbb9f794256
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Feb 24 16:09:48 2017 +0000

    Remove use of MAX_REGISTER_SIZE
    
    gdb/
    	* stack.c (frame_info): Use frame_unwind_register_value to avoid buf.

commit 975c21ab6d2f6e94fcd4723bcaada4015ce7b0cf
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Fri Feb 24 16:09:43 2017 +0000

    Use I386_MAX_REGISTER_SIZE and M68K_MAX_REGISTER_SIZE
    
    gdb/
    	* i386-tdep.c (i386_pseudo_register_read_into_value): Use
    	I386_MAX_REGISTER_SIZE.
    	(i386_pseudo_register_write): Likewise.
    	(i386_process_record): Likewise.
    	* i387-tdep.c (i387_supply_xsave): Likewise.
    	* m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
    	(store_register): Likewise.

commit 32ec889602502348b704cfb16e65c83dc3eec095
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 24 14:48:19 2017 +0000

    Tidy up readelf's use of boolean values.
    
    	* readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
    	(do_reloc, do_sections, do_section_groups, do_section_details,
    	(do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
    	(do_version, do_histogram, do_debugging, do_arch, do_notes,
    	(do_archive_index, is_32bit_elf, decompress_dumps): Use
    	bfd_boolean type.
    	(parse_args): Treat the do_* variables as booleans.
    	(print_vma): Return an unsigned int.
    	(print_symbol): Change width parameter to signed int.
    	(is_ia64_vms): Change return type to bfd_boolean.
    	(guess_is_rela): Likewise.
    	(slurp_rela_relocs): Likewise.
    	(slurp_rel_relocs): Likewise.
    	(dump_relocations): Likewise.
    	(process_file_header): Likewise.
    	(get_program_headers): Likewise.
    	(process_program_headers): Likewise.
    	(process_section_headers): Likewise.
    	(process_section_groups): Likewise.
    	(dump_ia64_vms_dynamic_fixups): Likewise.
    	(dump_ia64_vms_dynamic_relocs): Likewise.
    	(process_ia64_vms_dynamic_relocs): Likewise.
    	(process_relocs): Likewise.
    	(dump_ia64_unwind): Likewise.
    	(ia64_process_unwind): Likewise.
    	(dump_hppa_unwind): Likewise.
    	(slurp_hppa_unwind_table): Likewise.
    	(hppa_process_unwind): Likewise.
    	(decode_arm_unwind_bytecode): Likewise.
    	(decode_tic6x_unwind_bytecode): Likewise.
    	(decode_arm_unwind): Likewise.
    	(dump_arm_unwind): Likewise.
    	(arm_process_unwind): Likewise.
    	(process_unwind): Likewise.
    	(get_32bit_dynamic_section): Likewise.
    	(get_64bit_dynamic_section): Likewise.
    	(process_dynamic_section): Likewise.
    	(process_version_sections): Likewise.
    	(process_symbol_table): Likewise.
    	(process_syminfo): Likewise.
    	(apply_relocations): Likewise.
    	(disassemble_section): Likewise.
    	(dump_section_as_strings): Likewise.
    	(dump_section_as_bytes): Likewise.
    	(load_specific_debug_section): Likewise.
    	(load_debug_section): Likewise.
    	(display_debug_section): Likewise.
    	(process_section_contents): Likewise.
    	(process_attributes): Likewise.
    	(process_nds32_specific): Likewise.
    	(process_gnu_liblist): Likewise.
    	(print_core_note): Likewise.
    	(print_gnu_note): Likewise.
    	(print_v850_note): Likewise.
    	(process_netbsd_elf_note): Likewise.
    	(print_stapsdt_note): Likewise.
    	(print_ia64_vms_note): Likewise.
    	(process_note): Likewise.
    	(process_notes_at): Likewise.
    	(process_corefile_note_segments): Likewise.
    	(process_v850_notes): Likewise.
    	(process_note_sections): Likewise.
    	(process_notes): Likewise.
    	(process_arch_specific): Likewise.
    	(get_file_header): Likewise.
    	(process_object): Likewise.
    	(process_archive): Likewise.
    	(process_file): Likewise.
    	(section_subset): Make static.
    	(get_mips_reg_size): Return a signed integer.
    	(process_object): Reverse the logic of the return value.
    	(process_archive): Likewise.
    	(process_file): Likewise.

commit 7bb1ad1738d3ff45452b136fdfc3fc19195ae55f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 23 18:18:51 2017 +0000

    readelf: Correct version flag formatting
    
    Remove a trailing space or a leading pipe character from version flags
    printed with `readelf --version-info'.
    
    For example with the `mips-linux' target we get:
    
    $ cat ver_def.s
    	.data
    	.globl	new_foo
    	.type	new_foo, %object
    new_foo:
    	.symver	new_foo, foo@@ver_foo
    $ cat ver_def.ver
    { global: *foo*; local: *; };
    $ as -o ver_def.o ver_def.s
    $ ld -e 0 --export-dynamic --version-script=ver_def.ver -o ver_def ver_def.o
    $ readelf -V ver_def
    
    Version symbols section '.gnu.version' contains 4 entries:
     Addr: 000000000000007e  Offset: 0x01007e  Link: 2 (.dynsym)
      000:   0 (*local*)       2 (ver_foo)       1 (*global*)      2 (ver_foo)
    
    Version definition section '.gnu.version_d' contains 2 entries:
      Addr: 0x0000000000000088  Offset: 0x010088  Link: 3 (.dynstr)
      000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: ver_def
      0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: ver_foo
    $
    
    which includes an unnecessary space after `BASE'; both call sites
    already provide suitable separation from output that follows.  Also if
    only unknown flags were present, then lone `| <unknown>' would be
    printed.
    
    	binutils/
    	* readelf.c (get_ver_flags): Tidy the formatting of the string
    	returned

commit 5235cd686141bb5adb57dbbf302a168e9693672b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 23 18:16:55 2017 +0000

    readelf: Make version section index sum unsigned
    
    Make `isum' unsigned like data it is calculated from.
    
    	binutils/
    	* readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
    	`isum' unsigned.
    	<SHT_GNU_verneed>: Likewise.

commit c9f02c3e29498fd9ecb1a9719c317c305fe509ae
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 23 18:16:11 2017 +0000

    readelf: Fix incorrect "Version definition past end of section" message
    
    Fix a commit 74e1a04b9787 ("More fixes for reading corrupt ELF files.")
    `readelf --version-info' regression that caused "Version definition past
    end of section" to be always printed at the end, even with good section
    data.
    
    For example with the `mips-linux' target we get:
    
    $ cat ver_def.s
    	.data
    	.globl	new_foo
    	.type	new_foo, %object
    new_foo:
    	.symver	new_foo, foo@@ver_foo
    $ cat ver_def.ver
    { global: *foo*; local: *; };
    $ as -o ver_def.o ver_def.s
    $ ld -e 0 --export-dynamic --version-script=ver_def.ver -o ver_def ver_def.o
    $ readelf -V ver_def
    
    Version symbols section '.gnu.version' contains 4 entries:
     Addr: 000000000000007e  Offset: 0x01007e  Link: 2 (.dynsym)
      000:   0 (*local*)       2 (ver_foo)       1 (*global*)      2 (ver_foo)
    
    Version definition section '.gnu.version_d' contains 2 entries:
      Addr: 0x0000000000000088  Offset: 0x010088  Link: 3 (.dynstr)
      000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: ver_def
      0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: ver_foo
      Version definition past end of section
    $
    
    The cause is the `if (idx + ent.vd_next <= idx)' condition introduced to
    ensure forward progress, which however always triggers for good version
    definition section data as the last entry will have its `vd_next' value
    set to 0.
    
    Adjust the condition then, to say `if (idx + ent.vd_next < idx)' instead
    and to ensure forward progress limit the number of entries processed to
    the size of the version definition section, removing the problematic
    message from output quoted above, while ensuring the original PR 17531
    test case is still handled gracefully.
    
    Add a suitable test case so that we have `readelf --version-info'
    coverage; due to the lack of infrastructure needed to run the linker in
    the `binutils' test suite and limited justification to implement it add
    a new `readelf.exp' script to the `ld' test suite instead, intended to
    gather any `readelf' test cases that require the linker to be run.  If
    ever we decide to have linker infrastructure added to the `binutils'
    test suite, then the script can be moved between the test suites.
    
    	binutils/
    	* readelf.c (process_version_sections) <SHT_GNU_verdef>: Limit
    	the number of entries processed by the section size.  Don't
    	break out of the loop if `ent.vd_next' is 0.
    
    	ld/
    	* testsuite/ld-elf/ver_def.d: New test.
    	* testsuite/ld-elf/ver_def.ld: New test linker script.
    	* testsuite/ld-elf/ver_def.ver: New test version script.
    	* testsuite/ld-elf/ver_def.s: New test source.
    	* testsuite/ld-elf/readelf.exp: New test script.

commit 7db2c58848ca683f3b09e687a9b012dbb49316af
Author: Jan Beulich <jbeulich@novell.com>
Date:   Fri Feb 24 10:04:26 2017 +0100

    x86: also correctly support TEST opcode aliases
    
    Opcodes F6/1 and F7/1 are aliases of F6/0 and F7/0 in all modes. This
    complements commit 8b89fe14b5 ("X86: Decode opcode 0x82 as opcode 0x80
    in 32-bit mode"), just that here 64-bit mode is also covered.

commit 1b3cee563cafa73340314bbf32e4218dead72718
Author: Sheldon Lobo <sheldon.lobo@oracle.com>
Date:   Fri Feb 24 00:23:50 2017 -0800

    gas: test cases for the architecture level aware SPARC ASI work.
    
    gas/ChangeLog:
    
    	Test cases for the architecture level aware SPARC ASI work.
    	* gas/testsuite/gas/sparc/sparc.exp: 2 new tests
    	* gas/testsuite/gas/sparc/asi-bump-warn.s: New test
    	* gas/testsuite/gas/sparc/asi-bump-warn.l: Likewise
    	* gas/testsuite/gas/sparc/asi-arch-error.s: Likewise
    	* gas/testsuite/gas/sparc/asi-arch-error.l: Likewise

commit e091dff9db792607a0a85bace8e426447ae99f12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Feb 24 00:00:33 2017 +0000

    Automatic date update in version.in

commit 5d58c7337972bb24caea7598d0ae4d461b0fc22b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 23 22:27:50 2017 +0000

    MIPS/BFD: Remove duplicate NewABI JALR relocation handling
    
    Remove separate original NewABI JALR relocation handling, introduced
    with commit d06471104a83 ("relax jalr $t9 [R_MIPS_JALR symbol] to bal
    symbol"), <https://sourceware.org/ml/binutils/2003-03/msg00394.html>,
    and only used by LD with the `--relax' option specified, and rely solely
    on `mips_elf_perform_relocation' code, which has been introduced with
    commit 1367d393bb74 ("On the RM9000 convert jal to bal if in range"),
    <https://www.sourceware.org/ml/binutils/2004-12/msg00088.html> and since
    made more complete, across all the three ABIs.
    
    Also remove the `--relax' option, now irrelevant, from the tests added
    with the former commit.
    
    	bfd/
    	* elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
    	* elfxx-mips.c (_bfd_mips_relax_section): Remove function.
    	* elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
    	* elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
    
    	ld/
    	* testsuite/ld-mips-elf/relax-jalr-n32.d: Remove `--relax'
    	option.
    	* testsuite/ld-mips-elf/relax-jalr-n32-shared.d: Likewise.
    	* testsuite/ld-mips-elf/relax-jalr-n64.d: Likewise.
    	* testsuite/ld-mips-elf/relax-jalr-n64-shared.d: Likewise.

commit c1556ecd7843912269aba283a0fd307729fa0c3a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 23 19:26:53 2017 +0000

    MIPS/BFD: Discard ineligible JALR relocations right away
    
    Discard R_MIPS_JALR and R_MICROMIPS_JALR relocations associated with
    jumps that cannot be converted to an equivalent branch right away in
    `mips_elf_calculate_relocation' rather than letting them through to
    `mips_elf_perform_relocation'.  This includes cross-mode jumps which
    need to flip the ISA bit or jumps to a misaligned location that cannot
    be encoded with a branch, in addition to preemptible symbol references
    already handled.
    
    Cross-mode jumps are actually already rejected as the conversion is made
    in `mips_elf_perform_relocation', so in this case this change only saves
    some processing.  Jumps to a misaligned location are however converted,
    with bits causing misalignment lost, making resulting code functionally
    different even if the lone effect is avoiding an address error exception
    with an instruction fetch at the jump destination requested.
    
    Add test cases suitable, also including GAS verification to confirm that
    the JALR relocations explicitly requested have indeed been output in the
    intermediate objects used.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
    	<R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
    	or misaligned.
    
    	gas/
    	* testsuite/gas/mips/jalr4.d: New test.
    	* testsuite/gas/mips/jalr4-n32.d: New test.
    	* testsuite/gas/mips/jalr4-n64.d: New test.
    	* testsuite/gas/mips/jalr4.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/jalr4.dd: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new test.

commit a567769b813b2538bebc97d689fc0739f172028e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 22:54:02 2017 +0100

    DWARF-5: testcase
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* testsuite/binutils-all/dw5.S: New file.
    	* testsuite/binutils-all/dw5.W: New file.
    	* testsuite/binutils-all/readelf.exp (readelf -wiaoRlL): New test.

commit 2f6cd5918e58572e118b59a26062724404fb4042
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 22:54:02 2017 +0100

    DWARF-5: DW_FORM_data16
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (read_and_display_attr_value): Support DW_FORM_data16.

commit 7a7e1061d483f68df1c1369fc49ffadb4ea6f840
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 22:54:01 2017 +0100

    DWARF-5: Macros
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (display_debug_macro): Support DWARF-5.  Rename
    	DW_MACRO_GNU_*.

commit bc0a77d2b1a29222dacab21a0572322e39fb0c70
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 22:54:01 2017 +0100

    DWARF-5: call sites
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (decode_location_expression): Support DW_OP_implicit_pointer,
    	DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_convert
    	and DW_OP_reinterpret.
    	(read_and_display_attr_value): Support DW_AT_call_value,
    	DW_AT_call_data_value, DW_AT_call_target and
    	DW_AT_call_target_clobbered.

commit 77145576fadc4dd2879adf5242b610ebbe30ec30
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 22:54:01 2017 +0100

    DWARF-5 basic functionality
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (fetch_indirect_line_string): New function.
    	(abbrev_attr): New field implicit_const.
    	(add_abbrev_attr): New parameter implicit_const.
    	(process_abbrev_section): Support DW_FORM_implicit_const.
    	(decode_location_expression): Support DW_OP_entry_value.
    	(read_and_display_attr_value): Add parameter implicit_const.  Support
    	DW_FORM_line_strp and DW_FORM_implicit_const.
    	(read_and_display_attr): Add parameter implicit_const.
    	(process_debug_info): Support line_str and DWARF-5.
    	(read_debug_line_header): Support DWARF-5.
    	(display_formatted_table): New function.
    	(display_debug_lines_raw): New parameter file.  Support DWARF-5.
    	(display_debug_lines_decoded): New parameter fileptr.  Support DWARF-5.
    	(display_debug_lines): Pass file parameter.
    	(display_debug_macro): Update read_and_display_attr_value caller.
    	(display_debug_abbrev): Support DW_FORM_implicit_const.
    	(display_loclists_list): New function.
    	(display_loc_list): Support .debug_loclists.
    	(display_debug_ranges_list): New function from display_debug_ranges.
    	(display_debug_rnglists_list): New function.
    	(display_debug_ranges): Support .debug_rnglists.
    	(debug_displays): Add .debug_line_str, .debug_loclists and
    	.debug_rnglists.
    	* dwarf.h: Include dwarf2.h
    	(DWARF2_Internal_LineInfo): Add li_offset_size.
    	(DWARF2_Internal_CompUnit): Add cu_unit_type.
    	(enum dwarf_section_display_enum): Add line_str.
    	* readelf.c (process_section_headers): Add rnglists and loclists.

commit ef0b5f1c694601782db9aa90cf0ed7f3f3513c53
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 22:54:00 2017 +0100

    DWARF attrs: add delimiter
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (display_block): Add parameter delimiter.
    	(decode_location_expression): Update display_block callers.
    	(read_and_display_attr_value): Add parameter delimiter.
    	(read_and_display_attr, display_debug_macro): Update
    	read_and_display_attr_value caller.

commit 17cd494709a60750234c7dbe4f1db2932f8a71c4
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Feb 23 14:36:58 2017 -0600

    PR21166: Validate rdrand/rdseed support separately in gdb.reverse/insn-reverse-x86.c
    
    As reported in PR21166, there are Intel processors out there that support
    rdrand but not rdseed. The fix is to verify both features separately and only
    run rdrand/rdseed tests if supported.
    
    gdb/testsuite/ChangeLog:
    2017-02-23  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.reverse/insn-reverse.x86.c (check_rdrand_support): Renamed to ...
    	(check_supported_features): ... this. Changed return type to void.
    	(supports_rdseed): New static global.
    	(rdseed): Check supports_rdseed.
    	(initialize): Call check_supported_features.

commit 359ca075e7fe20a5106d5c068193dad0c53af480
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Feb 23 21:37:31 2017 +0100

    dwarf.c: Use more dwarf_vma
    
    binutils/
    2017-02-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (display_loc_list): Use dwarf_vma for offset, base_address
    	and off.
    	(display_loc_list_dwo): Use dwarf_vma for offset.
    	(display_debug_loc): Use dwarf_vma for offset, base_address.
    	(struct range_entry, range_entry_compar): Use dwarf_vma for
    	ranges_offset.
    	(display_debug_ranges): Use dwarf_vma for ranges_offset, offset and
    	base_address.

commit 64025b4ec97fe8e932c367c6cb719e5fcf2448e8
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Mon Jan 2 16:40:29 2017 +0100

    S/390: Add support for new cpu architecture - arch12.
    
    This adds support of new instructions to the S/390 specific parts.
    
    The important feature of the new instruction set is the support of
    single and extended precision floating point vector operations.
    
    Note: arch12 is NOT the official name of the new CPU.  It just
    continues the series of archXX options supported as alternate names.
    The archXX terminology refers to the edition number of the Principle
    of Operations manual.  The official CPU name will be added later while
    keeping support of the arch12 for backwards compatibility.
    
    No testsuite regressions.
    
    Committed to mainline.
    
    Bye,
    
    -Andreas-
    
    opcodes/ChangeLog:
    
    2017-02-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* s390-mkopc.c (main): Accept arch12 as cpu string and vx2 as
    	facility.
    	* s390-opc.c: Add new operand description macros, new instruction
    	types, instruction masks, and new .insn instruction types.
    	* s390-opc.txt: Add new arch12 instructions.
    
    include/ChangeLog:
    
    2017-02-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* opcode/s390.h (enum s390_opcode_cpu_val): New value
    	S390_OPCODE_ARCH12.
    	(S390_INSTR_FLAG_VX2): New macro definition.
    
    gas/ChangeLog:
    
    2017-02-23  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (s390_parse_cpu): New entry for arch12.
    	* doc/as.texinfo: Document arch12 as cpu type.
    	* doc/c-s390.texi: Likewise.
    	* testsuite/gas/s390/s390.exp: Run arch12 specific tests.
    	* testsuite/gas/s390/zarch-arch12.d: New test.
    	* testsuite/gas/s390/zarch-arch12.s: New test.
    	* testsuite/gas/s390/zarch-z13.d: Rename some mnemonics in the
    	output patterns.

commit 14bc53a81471e0b550de1c24d4d5266f676aacc3
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Feb 22 14:43:35 2017 +0000

    Use gdb::function_view in iterate_over_symtabs & co
    
    I wanted to pass a lambda to iterate_over_symtabs (see following
    patch), so I converted it to function_view, and then the rest is
    cascaded from that.
    
    This gets rid of a bunch of single-use callback functions and
    corresponding manually managed callback capture types
    (add_partial_datum, search_symbols_data, etc.) in favor of letting the
    compiler generate them for us by using lambdas with a capture.  In a
    couple cases, it was more natural to convert the existing function
    callbacks to function objects (i.e., operator(), e.g.,
    decode_compound_collector).
    
    gdb/ChangeLog:
    2017-02-23  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c: Include "common/function-view.h".
    	(ada_iterate_over_symbols): Adjust to use function_view as
    	callback type.
    	(struct add_partial_datum, ada_complete_symbol_matcher): Delete.
    	(ada_make_symbol_completion_list): Use a lambda.
    	(ada_exc_search_name_matches): Delete.
    	(name_matches_regex): New.
    	(ada_add_global_exceptions): Use a lambda and name_matches_regex.
    	* compile/compile-c-support.c: Include "common/function-view.h".
    	(print_one_macro): Change prototype to accept a ui_file pointer.
    	(write_macro_definitions): Use a lambda.
    	* dwarf2read.c: Include "common/function-view.h".
    	(dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
    	(dw2_expand_symtabs_matching): Adjust to use function_view as
    	callback type.
    	* language.h: Include "common/function-view.h".
    	(struct language_defn) <la_iterate_over_symbols>: Adjust to use
    	function_view as callback type.
    	(LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
    	* linespec.c: Include "common/function-view.h".
    	(collect_info::add_symbol): New method.
    	(struct symbol_and_data_callback, iterate_inline_only, struct
    	symbol_matcher_data, iterate_name_matcher): Delete.
    	(iterate_over_all_matching_symtabs): Adjust to use function_view
    	as callback type and lambdas.
    	(iterate_over_file_blocks): Adjust to use function_view as
    	callback type.
    	(decode_compound_collector): Now a class with private fields.
    	(decode_compound_collector::release_symbols): New method.
    	(collect_one_symbol): Rename to...
    	(decode_compound_collector::operator()): ... this and adjust.
    	(lookup_prefix_sym): decode_compound_collector construction bits
    	move to decode_compound_collector ctor.  Pass the
    	decode_compound_collector object directly as callback.  Remove
    	cleanups and use decode_compound_collector::release_symbols
    	instead.
    	(symtab_collector): Now a class with private fields.
    	(symtab_collector::release_symtabs): New method.
    	(add_symtabs_to_list): Rename to...
    	(symtab_collector::operator()): ... this and adjust.
    	(collect_symtabs_from_filename): symtab_collector construction
    	bits move to symtab_collector ctor.  Pass the symtab_collector
    	object directly as callback.  Remove cleanups and use
    	symtab_collector::release_symtabs instead.
    	(collect_symbols): Delete.
    	(add_matching_symbols_to_info): Use lambdas.
    	* macrocmd.c (print_macro_callback): Delete.
    	(info_macro_command): Use a lambda.
    	(info_macros_command): Pass print_macro_definition as callable
    	directly.
    	(print_one_macro): Remove 'ignore' parameter.
    	(macro_list_command): Adjust.
    	* macrotab.c (macro_for_each_data::fn): Now a function_view.
    	(macro_for_each_data::user_data): Delete field.
    	(foreach_macro): Adjust to call the function_view.
    	(macro_for_each): Adjust to use function_view as callback type.
    	(foreach_macro_in_scope): Adjust to call the function_view.
    	(macro_for_each_in_scope): Adjust to use function_view as callback
    	type.
    	* macrotab.h: Include "common/function-view.h".
    	(macro_callback_fn): Declare a prototype instead of a pointer.
    	Remove "user_data" parameter.
    	(macro_for_each, macro_for_each_in_scope): Adjust to use
    	function_view as callback type.
    	* psymtab.c (partial_map_expand_apply)
    	(psym_map_symtabs_matching_filename, recursively_search_psymtabs):
    	Adjust to use function_view as callback type and to return bool.
    	(psym_expand_symtabs_matching): Adjust to use function_view as
    	callback types.
    	* symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
    	to use function_view as callback type and to return bool.
    	(debug_qf_expand_symtabs_matching): Adjust to use function_view as
    	callback types.
    	* symfile.c (expand_symtabs_matching): Adjust to use function_view
    	as callback types.
    	* symfile.h: Include "common/function-view.h".
    	(expand_symtabs_file_matcher_ftype)
    	(expand_symtabs_symbol_matcher_ftype)
    	(expand_symtabs_exp_notify_ftype): Remove "data" parameter and
    	return bool.
    	(quick_symbol_functions::map_symtabs_matching_filename)
    	(quick_symbol_functions::expand_symtabs_matching): Adjust to use
    	function_view as callback type and return bool.
    	(expand_symtabs_matching): Adjust to use function_view as callback
    	type.
    	(maintenance_expand_name_matcher)
    	(maintenance_expand_file_matcher): Delete.
    	(maintenance_expand_symtabs): Use lambdas.
    	* symtab.c (iterate_over_some_symtabs): Adjust to use
    	function_view as callback types and return bool.
    	(iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
    	of a cleanup.
    	(lookup_symtab_callback): Delete.
    	(lookup_symtab): Use a lambda.
    	(iterate_over_symbols): Adjust to use function_view as callback
    	type.
    	(struct search_symbols_data, search_symbols_file_matches)
    	(search_symbols_name_matches): Delete.
    	(search_symbols): Use a pair of lambdas.
    	(struct add_name_data, add_macro_name, symbol_completion_matcher)
    	(symtab_expansion_callback): Delete.
    	(default_make_symbol_completion_list_break_on_1): Use lambdas.
    	* symtab.h: Include "common/function-view.h".
    	(iterate_over_some_symtabs): Adjust to use function_view as
    	callback type and return bool.
    	(iterate_over_symtabs): Adjust to use function_view as callback
    	type.
    	(symbol_found_callback_ftype): Remove 'data' parameter and return
    	bool.
    	(iterate_over_symbols): Adjust to use function_view as callback
    	type.

commit 07e253aa3b7a530f22b84053e661842ccd9da2ea
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 23 16:14:08 2017 +0000

    Introduce gdb::function_view
    
    This commit adds a new function_view type.  This type holds a
    non-owning reference to a callable.  It is meant to be used as
    callback type of functions, instead of using the C-style pair of
    function pointer and 'void *data' arguments.  function_view allows
    passing references to stateful function objects / lambdas with
    captures as callbacks efficiently, while function pointer + 'void *'
    does not.
    
    See the intro in the new function-view.h header for more.
    
    Unit tests included, put into a new gdb/unittests/ subdir.
    
    gdb/ChangeLog:
    2017-02-23  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
    	(%.o) <unittests/%.c>: New pattern.
    	* configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
    	CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
    	* common/function-view.h: New file.
    	* unittests/function-view-selftests.c: New file.
    	* configure: Regenerate.

commit 1e9d41d49f7f0b9e7381e8bf8ce848f8a33b8fde
Author: Sheldon Lobo <sheldon.lobo@oracle.com>
Date:   Thu Feb 23 07:49:37 2017 -0800

    opcodes,gas: associate SPARC ASIs with an architecture level.
    
    With this change an architecture level bump due to assembly ASIs will show
    up as a warning/error depending on options passed to gas.
    
    Tested with sparc64-linux-gnu, and it does not introduce any regressions.
    
    gas/ChangeLog:
    
    	Add support for associating SPARC ASIs with an architecture level.
    	* config/tc-sparc.c (parse_sparc_asi): New encode SPARC ASIs.
    
    opcodes/ChangeLog:
    
    	Add support for associating SPARC ASIs with an architecture level.
    	* include/opcode/sparc.h (sparc_asi): New sparc_asi struct.
    	* opcodes/sparc-opc.c (asi_table): Updated asi_table and encoding/
    	decoding of SPARC ASIs.

commit 8eaf53202ea60191162d5f1069cd08ebd9f38f6c
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Feb 23 10:36:20 2017 -0500

    Fix usage of inferior_ptid in two thread_alive implementations
    
    While inspecting some target code, I noticed that in these two
    implementations of thread_alive, inferior_ptid is referenced directly
    instead of using the ptid passed as parameters.  I guess that it is
    wrong, although I can't really test it in both cases.
    
    gdb/ChangeLog:
    
    	* bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
    	inferior_ptid.
    	* go32-nat.c (go32_thread_alive): Likewise.

commit 60abdbedb2b36bcae7abee2747ec027f5f2c9b91
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Feb 23 13:45:21 2017 +0000

    Add support to readelf for displaying gnu attributes in architectures not known to support them.
    
    	* readelf.c (display_tag_value): Use an explicit signed type for
    	the tag parameter.
    	(display_gnu_attributes): Use an unsigned integer type for
    	attribute tags.
    	(display_power_gnu_attribute): Likewise.
    	(display_s390_gnu_attribute): Likewise.
    	(display_sparc_hwcaps): Likewise.
    	(display_sparc_hwcaps2): Likewise.
    	(display_sparc_gnu_attribute): Likewise.
    	(display_mips_gnu_attribute): Likewise.
    	(display_tic6x_attribute): Likewise.
    	(display_raw_attribute): Likewise.
    	(process_attributes): Likewise.
    	(process_arm_specific): Delete redundant function.
    	(process_power_specific): Likewise.
    	(process_s390_specific): Likewise.
    	(process_sparc_specific): Likewise.
    	(process_tic6x_specific): Likewise.
    	(process_msp430x_specific): Likewise.
    	(display_public_gnu_attributes): New function.  Displays known
    	information about an unknown gnu attribute.
    	(display_generic_attribute): New function.  Calls
    	display_tag_value for non-nul tags.
    	(process_arch_specific): Call process_attributes even for
    	architectures not known to specifically support gnu attributes.

commit 387687511347d5e978bb47d193fe67c25e0e10a6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Feb 23 11:57:46 2017 +0000

    Use xfree rather than delete for varobj_iter
    
    ASAN reports an error,
    
    -var-create container @ c^M
    =================================================================^M
    ^[[1m^[[31m==21639==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete) on 0x6030000805c0^M
    ^[[1m^[[0m    #0 0x7f2449b01b2a in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x99b2a)^M
        #1 0xbb601d in update_dynamic_varobj_children ../../binutils-gdb/gdb/varobj.c:794^M
        #2 0xbb6556 in varobj_get_num_children(varobj*) ../../binutils-gdb/gdb/varobj.c:854^M
        #3 0x580cb4 in print_varobj ../../binutils-gdb/gdb/mi/mi-cmd-var.c:61^M
        #4 0x58138b in mi_cmd_var_create(char*, char**, int) ../../binutils-gdb/gdb/mi/mi-cmd-var.c:145^M
        #5 0x5967ce in mi_cmd_execute ../../binutils-gdb/gdb/mi/mi-main.c:2301^M
        #6 0x594b05 in captured_mi_execute_command ../../binutils-gdb/gdb/mi/mi-main.c:2001
    ....
    ^M
    ^[[1m^[[32m0x6030000805c0 is located 0 bytes inside of 32-byte region [0x6030000805c0,0x6030000805e0)^M
    ^[[1m^[[0m^[[1m^[[35mallocated by thread T0 here:^[[1m^[[0m^M
        #0 0x7f2449b00602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)^M
        #1 0x7d1596 in xmalloc ../../binutils-gdb/gdb/common/common-utils.c:43^M
        #2 0x604176 in py_varobj_iter_new ../../binutils-gdb/gdb/python/py-varobj.c:159^M
        #3 0x6042da in py_varobj_get_iterator(varobj*, _object*) ../../binutils-gdb/gdb/python/py-varobj.c:198^M
        #4 0xbb5806 in varobj_get_iterator ../../binutils-gdb/gdb/varobj.c:720^M
        #5 0xbb5b9b in update_dynamic_varobj_children ../../binutils-gdb/gdb/varobj.c:758^M
    
    gdb:
    
    2017-02-23  Yao Qi  <yao.qi@linaro.org>
    
    	* varobj-iter.h (varobj_iter_delete): Call xfree instead of
    	delete.

commit 0a8beaba19a991bbfcf03756c4a150bf9512a164
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Feb 23 11:05:03 2017 +0000

    Use delete instead of xfree for varobj_item
    
    In commit 2f408ec (Use ui_file_as_string throughout more), we start to
    new varobj_item,
    
    > -  vitem = XNEW (struct varobj_item);
    > +  vitem = new varobj_item ();
    
    but we still use xfree.  This causes some ASAN errors,
    
    -var-update container^M
    =================================================================^M
    ^[[1m^[[31m==20660==ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new vs free) on 0x602000090c10^M
    ^[[1m^[[0m    #0 0x2baa77d03631 in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54631)^M
        #1 0x80e0c8 in xfree(void*) /home/yao/SourceCode/gnu/gdb/git/gdb/common/common-utils.c:100^M
        #2 0xc13670 in varobj_clear_saved_item /home/yao/SourceCode/gnu/gdb/git/gdb/varobj.c:727^M
        #3 0xc13957 in update_dynamic_varobj_children /home/yao/SourceCode/gnu/gdb/git/gdb/varobj.c:752^M
        #4 0xc1841c in varobj_update(varobj**, int) /home/yao/SourceCode/gnu/gdb/git/gdb/varobj.c:1699^M
        #5 0x5a2bf7 in varobj_update_one /home/yao/SourceCode/gnu/gdb/git/gdb/mi/mi-cmd-var.c:712^M
        #6 0x5a2a41 in mi_cmd_var_update(char*, char**, int) /home/yao/SourceCode/gnu/gdb/git/gdb/mi/mi-cmd-var.c:695^
    ........
    ^M
    ^[[1m^[[32m0x602000090c10 is located 0 bytes inside of 16-byte region [0x602000090c10,0x602000090c20)^M
    ^[[1m^[[0m^[[1m^[[35mallocated by thread T0 here:^[[1m^[[0m^M
        #0 0x2baa77d0415f in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x5515f)^M
        #1 0x63613e in py_varobj_iter_next /home/yao/SourceCode/gnu/gdb/git/gdb/python/py-varobj.c:112^M
        #2 0xc13b89 in update_dynamic_varobj_children /home/yao/SourceCode/gnu/gdb/git/gdb/varobj.c:776^M
        #3 0xc1841c in varobj_update(varobj**, int) /home/yao/SourceCode/gnu/gdb/git/gdb/varobj.c:1699^M
        #4 0x5a2bf7 in varobj_update_one /home/yao/SourceCode/gnu/gdb/git/gdb/mi/mi-cmd-var.c:712^M
        #5 0x5a2a41 in mi_cmd_var_update(char*, char**, int) /home/yao/SourceCode/gnu/gdb/git/gdb/mi/mi-cmd-var.c:695^M
    
    gdb:
    
    2017-02-23  Yao Qi  <yao.qi@linaro.org>
    
    	* varobj.c (varobj_clear_saved_item): Use delete instead of
    	xfree.
    	(update_dynamic_varobj_children): Likewise.

commit 946416fc5a466321581407a5b28989e194bd5acb
Author: Jan Beulich <jbeulich@novell.com>
Date:   Thu Feb 23 11:21:10 2017 +0100

    gas: slightly relax .startof.()/.sizeof.() testcase

commit 53c4d625d70138fb5b75f0e2ebae8ff363ed3d46
Author: Jan Beulich <jbeulich@novell.com>
Date:   Thu Feb 23 11:03:55 2017 +0100

    x86: drop stray VEX opcode 82 references
    
    No such ModR/M-less opcode has ever existed in public documentation
    afaict, so I can't see why it had been added in the first place.
    Furthermore opcode 77 is special only with implied prefix 0F.

commit 4c5b8d1e01195f5c11048d99d71f39ddb5449f12
Author: Jan Beulich <jbeulich@novell.com>
Date:   Thu Feb 23 11:00:44 2017 +0100

    x86: extend 64-bit invalid MPX insn forms testcase

commit 5499c7c71cc403a1deff90b79ab41d17efc5c4cc
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Feb 23 12:20:42 2017 +1030

    Correct VLE 16D and SDAREL relocations
    
    	PR 20744
    bfd/
    	* elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
    	16D relocations.
    	(ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
    	(ppc_elf_relocate_section): Correct calculation for VLE SDAREL
    	relocs.
    ld/
    	* testsuite/ld-powerpc/vle-reloc-2.s: Use r6 for last insn of
    	each group.
    	* testsuite/ld-powerpc/vle-reloc-2.d: Update for above change
    	and sdarel reloc fix.

commit d8260425e6a8ef78cf47324f6f68d7978ac701ba
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Feb 23 00:00:41 2017 +0000

    Automatic date update in version.in

commit 0502a2b49c5a5c1f6de203c08e4d45509cd6a9fa
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Feb 22 20:22:59 2017 +0100

    Display user op byte
    
    binutils/
    2017-02-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf.c (decode_location_expression): Display also OP.

commit 233f82cfb4c3f496712648c20994e0dbabe8aa79
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Feb 22 18:09:41 2017 +0000

    readelf: Restore a lost new line in version information
    
    Fix a commit 74e1a04b9787 ("More fixes for reading corrupt ELF files.")
    `readelf --version-info' output formatting regression where a dropped
    new line caused section header information from the `.gnu.version_d'
    version definition section to be printed on the same line as this
    section's first entry.
    
    For example with the `mips-linux' target we get:
    
    $ cat ver_def.s
    	.data
    	.globl	new_foo
    	.type	new_foo, %object
    new_foo:
    	.symver	new_foo, foo@@ver_foo
    $ cat ver_def.ver
    { global: *foo*; local: *; };
    $ as -o ver_def.o ver_def.s
    $ ld -e 0 --export-dynamic --version-script=ver_def.ver -o ver_def ver_def.o
    $ readelf -V ver_def
    
    Version symbols section '.gnu.version' contains 4 entries:
     Addr: 000000000000007e  Offset: 0x01007e  Link: 2 (.dynsym)
      000:   0 (*local*)       2 (ver_foo)       1 (*global*)      2 (ver_foo)
    
    Version definition section '.gnu.version_d' contains 2 entries:
      Addr: 0x0000000000000088  Offset: 0x010088  Link: 3 (.dynstr)  000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: ver_def
      0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: ver_foo
      Version definition past end of section
    $
    
    Add the new line then, to get:
    
    $ readelf -V ver_def
    
    Version symbols section '.gnu.version' contains 4 entries:
     Addr: 000000000000007e  Offset: 0x01007e  Link: 2 (.dynsym)
      000:   0 (*local*)       2 (ver_foo)       1 (*global*)      2 (ver_foo)
    
    Version definition section '.gnu.version_d' contains 2 entries:
      Addr: 0x0000000000000088  Offset: 0x010088  Link: 3 (.dynstr)
      000000: Rev: 1  Flags: BASE   Index: 1  Cnt: 1  Name: ver_def
      0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: ver_foo
      Version definition past end of section
    $
    
    instead.
    
    	binutils/
    	* readelf.c (process_version_sections) <SHT_GNU_verdef>: Print a
    	new line between the heading and the first version definition
    	entry.

commit 902e9fc76a0ec9f642cefa71ef88cca1c675ad54
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Feb 21 01:46:42 2017 +0000

    PR ld/20828: Move symbol version processing ahead of GC symbol sweep
    
    Complement commit b531344c34b0 ("PR ld/20828: Reorder the symbol sweep
    stage of section GC") and commit 81ff47b3a546 ("PR ld/20828: Fix linker
    script symbols wrongly forced local with section GC") and move symbol
    version processing ahead of the symbol sweep stage of section GC, all in
    `bfd_elf_size_dynamic_sections', so that version symbols created stay in
    the global scope and are not output as local symbols to the dynamic
    symbol table in the presence of corresponding symbol definitions pulled
    from a DSO involved in a link.
    
    Consolidate the whole of symbol version processing into a single block
    from all parts scattered across the function and rearranging the local
    variables used as necessary, however leaving the setting of dynamic
    entries associated with the DT_VERDEF, DT_VERDEFNUM, DT_VERNEED and
    DT_VERNEEDNUM tags and the SEC_EXCLUDE flag for unused `.gnu.version'
    section in the original places.
    
    With the rearrangement of code blocks `Elf_Internal_Verneed *t' would
    shadow the previous definition of `struct bfd_elf_version_tree *t', so
    rename the former variable to `vn'.
    
    	bfd/
    	PR ld/20828
    	* elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
    	processing ahead of the call to `elf_gc_sweep_symbol'.
    
    	ld/
    	PR ld/20828
    	* testsuite/ld-elf/pr20828-d.sd: New test.
    	* testsuite/ld-elf/pr20828-e.sd: New test.
    	* testsuite/ld-elf/pr20828-v.od: New test.
    	* testsuite/ld-elf/pr20828-v.ver: New test version script.
    	* testsuite/ld-elf/pr20828-v.ld: New test linker script.
    	* testsuite/ld-elf/pr20828.ld: Add `.gnu.version' and
    	`.gnu.version_d'.
    	* testsuite/ld-elf/shared.exp: Run the new tests.

commit 5ff6a06c215a5288787decfb933591afb5aa434d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Feb 17 20:30:55 2017 +0000

    GAS: Consistently fix labels at the `.end' pseudo-op
    
    Fix a functional regression with the `.end' pseudo-op, introduced with
    commit ecb4347adecd ("Last take: approval for MIPS_STABS_ELF killing"),
    <https://sourceware.org/ml/binutils/2002-06/msg00443.html>, and commit
    dcd410fe1544 ("GNU as 2.14 on IRIX 6: crashes with shared libs"),
    <https://sourceware.org/ml/binutils/2003-07/msg00415.html>, which caused
    symbol values for labels placed between the end of a function's contents
    and its terminating `.end' followed by one of the alignment pseudo-ops
    to be different depending on whether either `-mdebug', or `-mno-pdr', or
    neither of the command-line options is in effect, be it implied or
    specified.
    
    Given debug-label-end.s as follows and the `mips-linux' target we have:
    
    $ cat debug-label-end.s
    	.text
    
    	.globl	foo
    	.globl	bar
    	.align	4, 0
    	.ent	foo
    foo:
    	nop
    	.aent	bar
    bar:
    	.insn
    	.end	foo
    	.align	4, 0
    	.space	16
    
    	.globl	baz
    	.ent	baz
    baz:
    	nop
    	.end	baz
    	.align	4, 0
    	.space	16
    $ as -o debug-label-end.o debug-label-end.s
    $ readelf -s debug-label-end.o | grep bar
         9: 00000004     0 FUNC    GLOBAL DEFAULT    1 bar
    $ as -mdebug -o debug-label-end.o debug-label-end.s
    $ readelf -s debug-label-end.o | grep bar
         9: 00000010     0 FUNC    GLOBAL DEFAULT    1 bar
    $ as -mno-pdr -o debug-label-end.o debug-label-end.s
    $ readelf -s debug-label-end.o | grep bar
         8: 00000010     0 FUNC    GLOBAL DEFAULT    1 bar
    $
    
    The reason is the call to `md_flush_pending_output', which in the case
    of `mips*-*-*' targets expands to `mips_emit_delays', which in turn
    calls `mips_no_prev_insn', which calls `mips_clear_insn_labels', which
    clears the list of outstanding labels.  That list is in turn consulted
    in `mips_align', called in the interpretation of alignment directives,
    and the labels adjusted to the current location.
    
    A call to `md_flush_pending_output' is only made from `s_mips_end' and
    then only if `-mpdr' is in effect, which is the default for `*-*-linux*'
    and some other `mips*-*-*' targets.  A call to `md_flush_pending_output'
    is never made from `ecoff_directive_end', which is used in place of
    `s_mips_end' when `-mdebug' is in effect.  Consequently if `-mno-pdr' or
    `-mdebug' is in effect the list of outstanding labels makes it through
    to any alignment directive that follows and the labels are differently
    interpreted depending on the command-lines options used.  And we want
    code produced to be always the same.
    
    Call `md_flush_pending_output' unconditionally then in `s_mips_end' and
    add such a call from `ecoff_directive_end' as well, as long as the macro
    is defined.  While `ecoff_directive_end' is shared among targets, the
    only one other than `mips*-*-*' actually using it is `alpha*-*-*' and it
    does not define `md_flush_pending_output'.  So the semantics isn't going
    to change for it and neither it has to have its `s_alpha_end' updated
    or have code in `ecoff_directive_end' conditionalized.
    
    	gas/
    	* ecoff.c (ecoff_directive_end) [md_flush_pending_output]: Call
    	`md_flush_pending_output'.
    	* config/tc-mips.c (s_mips_end) [md_flush_pending_output]: Call
    	`md_flush_pending_output' unconditionally.
    	* testsuite/gas/mips/debug-label-end-1.d: New test.
    	* testsuite/gas/mips/debug-label-end-2.d: New test.
    	* testsuite/gas/mips/debug-label-end-3.d: New test.
    	* testsuite/gas/mips/debug-label-end.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 758d96d834ba725461abf4be36df9f13e0815054
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Feb 22 17:28:33 2017 +0000

    Align .gnu_debuglink sections on a 4-byte boundary.
    
    	PR binutils/21193
    	* opncls.c (bfd_create_gnu_debuglink_section): Give the newly
    	created section 4-byte alignment.

commit 25890fc2395cf91526d3d2ba29578ac750e1b006
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Wed Feb 22 14:17:33 2017 +0100

    Fix gas/all/err-sizeof.s for cris*-*-*

commit 5ffbd927b9187ef5d719b83b1df3182a5fc10958
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Feb 22 11:57:49 2017 +0000

    Skip ARM vcmp-noprefix-imm test on non-ELF targets

commit b0c53498a383cd5915786b0c321da48054e122ef
Author: Jan Beulich <jbeulich@novell.com>
Date:   Wed Feb 22 10:37:52 2017 +0100

    gas: require an operand to .startof.()/.sizeof.()

commit 11648de5a91658326748dea1e4965559e9bd7a0f
Author: Jan Beulich <jbeulich@novell.com>
Date:   Wed Feb 22 10:36:05 2017 +0100

    aarch64: actually copy first operand in convert_bfc_to_bfm()
    
    Commit 93562a343c ("[AArch64] PR target/20666, fix wrong encoding of
    new introduced BFC pseudo") changed the destination operand to 0,
    making the whole function invocation a no-op. We really want to copy
    operand 0 (a register) to operand 1 (an immediate before coming here),
    even if right now this likely is only a latent bug.

commit e025ae68802a7cf217254c13e314f01247f74404
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Feb 22 00:00:36 2017 +0000

    Automatic date update in version.in

commit 58fdfd2c4a0d2a68c3c3cbe3a83a0386526a2b72
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Feb 22 00:13:03 2017 +0100

    Fix a regression by: Code cleanup: Split dwarf2_ranges_read to a callback
    
    On some Fedora 23 systems an internal error has been printed.
    
    gdb/ChangeLog
    2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.

commit 6528b6eba85f044667876a2ad77d4612a9e5fc65
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Feb 22 08:10:58 2017 +1030

    PowerPC ld segfault on script discarding dynamic sections
    
    bfd/
    	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
    	on .got or .plt output section being discarded by script.
    	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise.  Move
    	vxworks splt temp.
    gold/
    	* powerpc.cc (Target_powerpc::make_iplt_section): Check that
    	output_section exists before attempting add_output_section_data.
    	(Target_powerpc::make_brlt_section): Likewise.

commit 1b90b1390679473dd84416e462afa1587769ceec
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Feb 21 11:48:49 2017 -0500

    Default initialize enum flags to 0
    
    ... so that we don't need to do it manually, and potentially forget.
    For example, this allows to do:
    
      my_flags flags;
    
      ...
    
      flags |= some_flag;
    
    gdb/ChangeLog:
    
    	* common/enum-flags.h (enum_flags::enum_flags): Initialize
    	m_enum_value to 0 in default constructor.

commit 2039d74e780db6659c87cd3c426d526615cfe703
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Tue Feb 21 11:14:56 2017 -0300

    [ppc64] Add POWER8/ISA 2.07 atomic sequences single-stepping support
    
    gdb/
    2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
    	(STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
    	(LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
    	STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
    	(IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
    	(ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
    	(ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
    	IS_STORE_CONDITIONAL_INSN.
    
    gdb/testsuite/
    2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* gdb.arch/ppc64-isa207-atomic-inst.exp: New testcase based on
    	gdb.arch/ppc64-atomic-inst.exp.  Add tests for lbarx/stbcx, lharx/sthcx
    	and lqarx/stqcx.
    	* gdb.arch/ppc64-isa207-atomic-inst.S: New file.
    	* gdb.arch/ppc64-isa207-atomic-inst.c: Likewise.

commit a51d7ecf3ddd64e0aec68e3c30913faba680b2cb
Author: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Date:   Tue Feb 21 10:59:29 2017 -0300

    Fix test names starting with uppercase in gdb.arch/ppc64-atomic-inst.exp
    
    gdb/testsuite/
    2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
    
    	* gdb.arch/ppc64-atomic-inst.exp: Fix test names starting with
    	uppercase.

commit 465197842a6ff829eea88b3b96b05c433a797aae
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 21 11:00:21 2017 +0000

    Fix compile time warning message in linker testsuite test.
    
    	* testsuite/ld-ifunc/pr18808b.c (bar): Fix compile time warning
    	about non-void function returning without a result.

commit 7814882a6534c100d8eba1a41588611a8b38c429
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Feb 21 09:14:37 2017 +0100

    Fix recent compiler warnings.
    
    gcc-4.8.5-11.el7.x86_64
    
    dwarf2read.c: In function â??pc_bounds_kind dwarf2_get_pc_bounds(die_info*, CORE_ADDR*, CORE_ADDR*, dwarf2_cu*, partial_symtab*)â??:
    dwarf2read.c:12134:7: error: â??range_endâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized]
    dwarf2read.c:12133:7: error: â??range_beginningâ?? may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    gdb/ChangeLog
    2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2_rnglists_process: Initialize range_beginning and range_end.

commit 24f1a75169e554d418be009d803a02e441584ea7
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 20 17:57:43 2017 +1030

    Alpha DT_RELA
    
    	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
    	DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.

commit 262062fffd192fe76a6c59741bbbb1c5ae0bae53
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Feb 21 00:00:31 2017 +0000

    Automatic date update in version.in

commit 0ae60b631e1648880d326c4a9986d5d522b6ae8a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:22 2017 +0100

    DWARF-5: NEWS
    
    a NEWS entry.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* NEWS (Changes since GDB 7.12): Add DWARF-5.

commit 0224619f6085908935f689b87e1ac4e460bb1e71
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:22 2017 +0100

    DWARF-5: DW_FORM_data16
    
    DWARF-5 has new form DW_FORM_data16.  The problem is that GDB cannot pass
    16-byte constant as a constant value as that would require GDB to use GCC
    extension __int128.
    
    Formerly such data was coded as DW_FORM_block* so GDB still decodes
    DW_FORM_data16 like DW_FORM_block*.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (skip_one_die, read_attribute_value)
    	(dwarf2_const_value_attr, dump_die_shallow)
    	(dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
    	(skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
    
    gdb/testsuite/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.dwarf2/formdata16.c: New file.
    	* gdb.dwarf2/formdata16.exp: New file.
    	* lib/dwarf.exp (Dwarf): Add DW_FORM_data16.

commit 0af92d6069f5c43f0090b78d4cb8fda7d9861b22
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:21 2017 +0100

    DWARF-5: Macros
    
    DWARF-5 renamed DW_MACRO_GNU_* to DW_MACRO_*.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
    	(dwarf_parse_macro_header): Accept DWARF version 5.
    	(dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.

commit 216f72a1ed20a8c9cdaea74e03be24601a1ed974
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:21 2017 +0100

    DWARF-5: call sites
    
    this patch updates all call sites related DWARF-5 renames.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
    	DW_AT_GNU_*.
    	* common/common-exceptions.h (enum errors): Likewise.
    	* dwarf2-frame.c (class dwarf_expr_executor): Likewise.
    	* dwarf2expr.c (dwarf_block_to_dwarf_reg)
    	(dwarf_expr_context::execute_stack_op): Likewise.
    	* dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
    	Likewise.
    	* dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
    	(dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
    	(show_entry_values_debug, call_site_to_target_addr)
    	(func_addr_to_tail_call_list, func_verify_no_selftailcall)
    	(dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
    	(entry_data_value_free_closure, value_of_dwarf_reg_entry)
    	(value_of_dwarf_block_entry, indirect_pieced_value)
    	(symbol_needs_eval_context::push_dwarf_reg_entry_value):
    	(disassemble_dwarf_expression): Likewise.
    	* dwarf2read.c (process_die, inherit_abstract_dies)
    	(read_call_site_scope): Likewise.
    	* gdbtypes.h (struct func_type, struct call_site_parameter)
    	(struct call_site): Likewise.
    	* stack.c (read_frame_arg): Likewise.
    	* std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
    
    gdb/doc/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.texinfo (Print Settings, Tail Call Frames): Rename DW_OP_GNU_*,
    	DW_TAG_GNU_* and DW_AT_GNU_*.
    
    gdb/testsuite/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.arch/amd64-entry-value-param-dwarf5.S: New file.
    	* gdb.arch/amd64-entry-value-param-dwarf5.c: New file.
    	* gdb.arch/amd64-entry-value-param-dwarf5.exp: New file.
    	* gdb.arch/amd64-entry-value.exp: Rename DW_OP_GNU_*, DW_TAG_GNU_* and
    	DW_AT_GNU_*.

commit 43988095a5a4c53e6d5b00a6335454919c4fac55
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:21 2017 +0100

    DWARF-5 basic functionality
    
    this is a kitchen-sink patch for everything that did not fit into its own
    patch.
    
    DWO is not yet implemented.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* defs.h (read_unsigned_leb128): New declaration.
    	* dwarf2loc.c (decode_debug_loclists_addresses): New function.
    	(decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
    	(dwarf2_find_location_expression): Call also
    	decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
    	* dwarf2loc.h (dwarf2_version): New declaration.
    	* dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
    	rnglists.
    	(dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
    	.debug_rnglists.
    	(struct dwop_section_names): Add loclists_dwo.
    	(dwop_section_names): Add .debug_loclists.dwo.
    	(struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
    	(struct dwarf2_per_cu_data): Add dwarf_version.
    	(struct dwo_sections): Add loclists.
    	(struct attr_abbrev): Add implicit_const.
    	(read_indirect_line_string): New declaration.
    	(read_unsigned_leb128): Delete declaration.
    	(rcuh_kind): New definition.
    	(read_and_check_comp_unit_head): Change parameter
    	is_debug_types_section to section_kind.
    	(dwarf2_locate_sections): Handle loclists, line_str and rnglists.
    	(read_comp_unit_head): Change parameter abfd to section, add parameter
    	section_kind.  Handle DWARF-5.
    	(error_check_comp_unit_head): Accept also DWARF version 5.
    	(read_and_check_comp_unit_head): Change parameter
    	is_debug_types_section to section_kind.
    	(read_and_check_type_unit_head): Delete function.
    	(read_abbrev_offset): Handle DWARF-5.
    	(create_debug_type_hash_table): Add parameter section_kind.  Process
    	only DW_UT_type.  Use signature and type_offset_in_tu from struct
    	comp_unit_head.
    	(create_debug_types_hash_table): Update create_debug_type_hash_table
    	caller.
    	(create_all_type_units): Call create_debug_type_hash_table.
    	(read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
    	read_and_check_type_unit_head caller to read_and_check_comp_unit_head
    	caller.
    	(skip_one_die): Handle DW_FORM_implicit_const.
    	(dwarf2_rnglists_process): New function.
    	(dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
    	(abbrev_table_read_table): Handle DW_FORM_implicit_const.
    	(read_attribute_value): Handle DW_FORM_implicit_const,
    	DW_FORM_line_strp.
    	(read_attribute): Handle DW_FORM_implicit_const.
    	(read_indirect_string_at_offset_from): New function from
    	read_indirect_string_at_offset.
    	(read_indirect_string_at_offset): Call
    	read_indirect_string_at_offset_from.
    	(read_indirect_line_string_at_offset): New function.
    	(read_indirect_string): New function comment.
    	(read_indirect_line_string): New function.
    	(read_unsigned_leb128): Make it global.
    	(dwarf2_string_attr): Handle DWARF-5.
    	(add_include_dir_stub, read_formatted_entries): New functions.
    	(dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
    	Handle DWARF-5.
    	(per_cu_header_read_in): Update read_comp_unit_head caller.
    	(dwarf2_version): New function.
    	* symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
    	rnglists.
    	* xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
    	fields.
    
    gdb/testsuite/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.dwarf2/dw2-error.exp (file $testfile): Update expected string.

commit 22d2f3ab926890490deed2888f6f013031fa6a6e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:20 2017 +0100

    Code cleanup: Refactor abbrev_table_read_table cycle
    
    I find it as an improvement on its own, it prevents more code duplication in
    a future patch.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (abbrev_table_read_table): Read the data only once.

commit 5f46c5a54825aabb3f30095c84ac30aff7400ac5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:20 2017 +0100

    Code cleanup: Split dwarf2_ranges_read to a callback
    
    DWARF-5 has .debug_rnglists which is somehow similar to .debug_ranges.
    
    This patch converts dwarf2_ranges_read to dwarf2_ranges_process which can work
    with both DWARF kinds of range lists through a callback.
    
    It also simplifies dwarf2_record_block_ranges which can benefit from it.
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (dwarf2_ranges_process): New function from
    	dwarf2_ranges_read.
    	(dwarf2_ranges_read, dwarf2_record_block_ranges): Use
    	dwarf2_ranges_process.

commit 78d4d2c538dd7975f0f130b2df842c4858c01fd3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Feb 20 20:53:19 2017 +0100

    Code cleanup: Split create_debug_types_hash_table
    
    DWARF-5 moved .debug_types into .debug_info and so the types reading code needs
    to be reused more (in a future patch).
    
    gdb/ChangeLog
    2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* dwarf2read.c (create_debug_type_hash_table): New function from
    	create_debug_types_hash_table.
    	(create_debug_types_hash_table): Call create_debug_type_hash_table.
    	(create_all_type_units, open_and_init_dwo_file): Update
    	create_debug_types_hash_table callers.

commit 43a444f9c5bfd44b4304eafd78338e21d54bea14
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 20 14:40:39 2017 +0000

    Fix another memory access error in readelf when parsing a corrupt binary.
    
    	PR binutils/21156
    	* dwarf.c (cu_tu_indexes_read): Move into...
    	(load_cu_tu_indexes): ... here.  Change the variable into
    	tri-state.  Change the function into boolean, returning
    	false if the indicies could not be loaded.
    	(find_cu_tu_set): Return NULL if the indicies could not be
    	loaded.

commit c48cfeddf730d181648182097dbb179dc82c5b58
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 20 13:24:28 2017 +1030

    PE ld -r script fixes
    
    	PR 15041
    	* scripttempl/pe.sc: Don't combine sections for ld -r.
    	* scripttempl/pep.sc: Likewise.

commit 1b076f2540e51055a7c6a4ee8fdfc604b54fb70a
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Mon Feb 20 08:01:04 2017 -0500

    Fix thinko on last commit
    
    On fork-child.c:trace_start_error, va_end should refer to 'ap', not
    'args.  This fixes it.
    
    Sorry about the breakage.
    
    gdb/ChangeLog:
    2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/16188
    	* fork-child.c (trace_start_error): Fix thinko.  va_end should
    	refer to 'ap', not 'args'.

commit 9c7e3b0e6b5234c39d1269fdf1a1413e2a734a79
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 20 12:52:22 2017 +0000

    Sync ZLIB with FSF GCC sources, bringing in version 1.2.11.
    
    - Fix deflate stored bug when pulling last block from window
    - Permit immediate deflateParams changes before any deflate input

commit 0db8980cc0ee05727c11f8b7c6674137a4d5de4e
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Tue Feb 14 18:27:23 2017 -0500

    PR gdb/16188: Verify PTRACE_TRACEME succeeded
    
    This patch fixes PR gdb/16188, which is about the fact that
    fork_inferior doesn't verify the return value of the "traceme_fun"
    callback.  On most targets, this callback is actually a wrapper to a
    ptrace call that does a PTRACE_TRACEME on the forked GDB process that
    will eventually become the inferior.
    
    Thanks to Pedro, this second version of the patch is simpler and more
    more logical.  Basically, two helper functions are added:
    trace_start_error and trace_start_error_with_name.  The former can be
    used when there is a customized error message to be printed to the
    user.  The latter works like perror_with_name, so you just need to
    pass the function that error'd.
    
    Both helper functions mentioned above do basically the same thing:
    print the error message to stderr and call _exit, properly terminating
    the forked inferior.
    
    Most of the patch takes care of guarding the necessary system calls
    against errors on the "traceme_fun" callbacks.  It is not right to
    call error on these situations, so I've replaced these calls with the
    proper helper function call.
    
    Regression-tested on BuildBot.
    
    Thanks,
    
    gdb/ChangeLog:
    2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	PR gdb/16188
    	* darwin-nat.c (darwin_ptrace_me): Check if calls to system
    	calls succeeded.
    	* fork-child.c (trace_start_error): New function.
    	(trace_start_error_with_name): Likewise.
    	* gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
    	* inf-ptrace.c (inf_ptrace_me): Likewise.
    	* inferior.h (trace_start_error): New prototype.
    	(trace_start_error_with_name): Likewise.

commit 246b91226bbc60bf3b2a4e1a65edc0c577e487c0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 20 21:28:59 2017 +1030

    fix PR number

commit 644877806ec0024d1df1dc29249b8e610202147b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 20 17:20:45 2017 +1030

    Alpha executables segfault when linked with -z,now
    
    	PR 21181
    	* elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
    	if DT_RELSZ/DT_RELASZ is zero.

commit 74dc9032e79b7950095ee5f94f5517209ef4747e
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 20 13:25:13 2017 +1030

    Move .stack before debug sections
    
    	PR 20199
    	* emulparams/elf32m32c.sh: Define STACK_ADDR and STACK_SENTINEL
    	rather than using OTHER_SECTIONS.
    	* emulparams/elf32mt.sh: Likewise.
    	* emulparams/elf32rx.sh: Likewise.
    	* emulparams/elf32rl78.sh: Likewise.  Use OTHER_SYMBOLS to
    	define __rl78_abs__.
    	* emulparams/shelf.sh: Define STACK_ADDR and STACK_SENTINEL
    	rather than using OTHER_SECTIONS.
    	* emulparams/shelf32.sh: Likewise.  Use OTHER_SECTIONS for .cranges.
    	* emulparams/shelf64.sh: Unset OTHER_SECTIONS.
    	* emulparams/shelf_nbsd.sh: Unset STACK_ADDR not OTHER_SECTIONS.
    	* emulparams/shelf_uclinux.sh: Likewise.
    	* emulparams/shlsymbian.sh: Unset STACK_ADDR.  Use OTHER_SYMBOLS
    	to define _stack, not OTHER_SECTIONS.
    	* scripttempl/elf.sc: Move STACK, TINY_DATA_SECTION, and
    	TINY_BSS_SECTION before debug sections.  Add STACK_SENTINEL.
    	* scripttempl/arclinux.sc: Likewise.
    	* scripttempl/elf64hppa.sc: Likewise.
    	* scripttempl/elfxtensa.sc: Likewise.
    	* scripttempl/nds32elf.sc: Likewise.
    	* scripttempl/armbpabi.sc: Move STACK before debug sections.
    	* scripttempl/elf_chaos.sc: Likewise.
    	* scripttempl/elfarc.sc: Delete STACK.
    	* scripttempl/epiphany_4x4.sc: Delete STACK.  Move TINY_DATA_SECTION,
    	TINY_BSS_SECTION, and .stack before debug sections.

commit ece5dcc1c00a48ecf63eae71983d04270cef4280
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 20 12:06:52 2017 +1030

    Downgrade powerpc register error to warning
    
    	PR 21118
    	* NEWS: Revise powerpc register check.
    	* config/tc-ppc.c (ppc_optimize_expr, md_assemble): Make "invalid
    	register expression" a warning.

commit 99de87c36ad0b224618c7ff2b9d13180af6c8776
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Feb 20 00:00:21 2017 +0000

    Automatic date update in version.in

commit 2e7e5e28909bcffe2267b417f9cff0441b576fba
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sun Feb 19 13:16:56 2017 -0800

    Fix for aarch64 sim sxtl/uxtl insns, plus another fix for addv.
    
    	sim/aarch64/
    	* simulator.c (do_vec_ADDV): Mov val declaration inside each case,
    	with type set to input type size.
    	(do_vec_xtl): Change bias from 3 to 4 for byte case.
    
    	sim/testsuite/sim/aarch64/
    	* bit.s: Change cmp immediates to account for addv bug fix.
    	* cmtst.s, ldn_single.s, stn_single.s: Likewise.
    	* xtl.s: New.

commit ceae703d41819c1f03e3250b6e6df64dc6e7d3ff
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Feb 19 00:00:31 2017 +0000

    Automatic date update in version.in

commit 99d89562ada61193aaca6ba93cdba610dafd372c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Feb 18 00:00:21 2017 +0000

    Automatic date update in version.in

commit 37f9ec62dbead711fe795cff2a95862ea8283c2f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 16 01:50:29 2017 +0000

    GAS: Add ECOFF `.aent' pseudo-op support
    
    Implement the ECOFF `.aent' pseudo-op for ECOFF-style `.mdebug' section
    support with ELF objects and, for consistency, also with ECOFF objects.
    This is so that the same MIPS source can be assembled without and with
    `.mdebug' section generation enabled.
    
    Taking the `gas/testsuite/gas/mips/aent.s' test case source as an
    example and the `mips-linux' target we have:
    
    $ as -o aent.o aent.s
    $ as -mdebug -o aent.o aent.s
    aent.s: Assembler messages:
    aent.s:10: Error: unknown pseudo-op: `.aent'
    $
    
    because for the !ECOFF_DEBUGGING case (which is the default) the
    pseudo-op is already handled by the MIPS backend with `s_mips_ent',
    however no handler is present for the opposite case.
    
    For the MIPS target this is a functional regression introduced with
    commit ecb4347adecd ("Last take: approval for MIPS_STABS_ELF killing"),
    <https://sourceware.org/ml/binutils/2002-06/msg00443.html>, where
    support for the `.mdebug' section was added along with its associated
    `-mdebug'/`-no-mdebug' command-line options, bringing an inconsistency
    between the assembly syntax supported for each of these options as far
    as the `.aent' pseudo-op is concerned.
    
    Assembly language documentation available describes the pseudo-op
    respectively as follows[1]:
    
    "
    .aent name, symno Sets an alternate entry point for the current
                      procedure.  Use this information when you want
                      to generate information for the debugger.  It must
                      appear inside an .ent/.end pair."
    
    and[2]:
    
    "
    .aent name [,symno]
         Sets an alternate entry point for the current procedure.  Use this
         information when you want to generate information for the debugger.
         This directive must appear between a pair of .ent and .end directives.
         (The optional symno is for compiler use only.  It refers to a dense
         number in a .T file (symbol table).)"
    
    Copy the approach from `s_mips_ent' then and add `.aent' support to the
    `.ent' pseudo-op handler shared between the ELF and ECOFF object file
    format backends, by setting BSF_FUNCTION for the symbol requested.
    
    References:
    
    [1] "MIPSpro Assembly Language Programmer's Guide", Silicon Graphics,
        Inc., Document Number 007-2418-004, Section 8.1 "Op-Codes", p. 96
        <http://techpubs.sgi.com/library/manuals/2000/007-2418-004/pdf/007-2418-004.pdf>
    
    [2] "Digital UNIX Assembly Language Programmer's Guide", Digital
        Equipment Corporation, Order Number: AA-PS31D-TE, March 1996,
        Chapter 5 "Assembler Directives", p. 5-2
        <http://h41361.www4.hpe.com/docs/base_doc/DOCUMENTATION/V40G_PDF/APS31DTE.PDF>
    
    	gas/
    	* ecoff.c (ecoff_directive_ent, add_procedure): Handle `.aent'.
    	* config/obj-ecoff.c (obj_pseudo_table): Add "aent" entry.
    	* config/obj-elf.c (ecoff_debug_pseudo_table): Likewise.
    	* testsuite/gas/mips/aent-2.d: New test.
    	* testsuite/gas/mips/aent-mdebug.d: New test.
    	* testsuite/gas/mips/aent-mdebug-2.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 67cecaba5f70e540ad2f4bde21c323c0bde0f2d9
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 17 16:31:09 2017 +0000

    Fix documentation of the linker's --pop-state command line option.
    
    	PR ld/20825
    	* ld.texinfo (Options): Add missing @item entry for --pop-state.

commit b814a36d3440de95f2ac6eaa4fc7935c322ea456
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 17 15:59:45 2017 +0000

    Fix illegal memory accesses in readelf when parsing a corrupt binary.
    
    	PR binutils/21156
    	* readelf.c (find_section_in_set): Test for invalid section
    	indicies.

commit 1b4b80bf3771dfb886687a61c541d12bfa1f1f51
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 17 15:31:54 2017 +0000

    Add support to readelf for displaying GNU section types.
    
    	* readelf.c (get_section_type_name): Add decoding of GNU section
    	types.

commit 6438d1be9e9b6802a465c70c76b9cec7e23270f3
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 17 11:39:20 2017 +0000

    Fix potential illegal memory access in ZLIB because of an erroneous declaration of the size of the input buffer.
    
    	* compress.c (bfd_get_full_section_contents): Remember to reduce
    	compressed size by the sizeof the compression header when
    	decompressing the contents.

commit 51547df62c155231530ca502c485659f3d2b66cb
Author: Michael Sturm <michael.sturm@intel.com>
Date:   Wed Feb 1 12:22:27 2017 +0100

    Add support for Intel PKRU register to GDB and GDBserver.
    
    This patch adds support for the registers added by the
    Memory Protection Keys for Userspace (PKU aka PKEYs) feature.
    Native and remote debugging are covered by this patch.
    
    The XSAVE area is extended with a new state containing
    the 32-bit wide PKRU register. The new register is added to
    amd64-avx-mpx_avx512-* tdesc, thus it is renamed accordingly. Also,
    respective xstate mask X86_XSTATE_AVX_MPX_AVX512_MASK is renamed to
    X86_XSTATE_AVX_MPX_AVX512_PKU_MASK to reflect the new feature set
    it supports.
    
    For more information, please refer to the
    Intel(R) 64 and IA-32 Architectures Software Developer's
    Manual - Septemper 2015
    http://www.intel.com/content/dam/www/public/us/en/documents/
    manuals/64-ia-32-architectures-software-developer-manual-325462.pdf
    
    gdb/Changelog:
    2015-12-08  Michael Sturm  <michael.sturm@intel.com>
    
         * NEWS: Mention addition of PKU feature.
         * amd64-linux-nat.c (amd64_linux_gregset32_reg_offset): Add PKRU register.
         * amd64-linux-tdep.c (features/i386/amd64-avx-mpx-avx512-linux.c): Rename
           to...
         (features/i386/amd64-avx-mpx-avx512-pku-linux.c): ...this.
         (amd64_linux_gregset_reg_offset): Add PKRU register.
         (amd64_linux_core_read_description): Rename
         X86_XSTATE_AVX_MPX_AVX512_MASK,
         rename tdesc_amd64_avx_mpx_avx512_pku_linux.
         (_initialize_amd64_linux_tdep): Rename
         initialize_tdesc_amd64_avx_mpx_avx512_linux.
         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM): Adjust regnum
         calculation.
         (tdesc_amd64_avx_mpx_avx512_linux): Rename to...
         (tdesc_amd64_avx_mpx_avx512_pku_linux): ...this.
         * amd64-tdep.c (features/i386/amd64-avx-mpx-avx512-pku.c): Rename to...
         (features/i386/amd64-avx-mpx-avx512-pku.c): ...this.
         (amd64_pkeys_names): New register name for raw register PKRU.
         (amd64_init_abi): Add code to initialize PKRU tdep variables if feature
         is present.
         (amd64_target_description): Rename X86_XSTATE_AVX_MPX_AVX512_MASK,
         rename tdesc_amd64_avx_mpx_avx512.
         (_initialize_amd64_tdep): Rename initialize_tdesc_amd64_avx_mpx_avx512.
         * amd64-tdep.h (enum amd64_regnum): Add PKRU register.
         (AMD64_NUM_REGS): Adjust regnum calculation.
         * i386-linux.nat.c (GETXSTATEREGS_SUPPLIES): Extend range of
         registers supplied via XSTATE by PKRU register.
         * common/x86-xstate.h (X86_XSTATE_PKRU): New macro.
         (X86_XSTATE_AVX_MPX_AVX512_MASK): Add PKRU and renamed mask.
         (X86_XSTATE_ALL_MASK): Rename X86_XSTATE_AVX_MPX_AVX512_MASK.
         (X86_XSTATE_PKRU_SIZE): New macro.
         (X86_XSTATE_MAX_SIZE): Adjust size.
         (HAS_PKRU(XCR0)): New macro.
         (X86_XSTATE_SIZE): Add checkfor PKRU.
         * features/Makefile (WHICH): Rename i386/i386-avx-mpx-avx512,
         i386/i386-avx-mpx-avx512-linux, i386/amd64-avx-mpx-avx512,
         i386/amd64-avx-mpx-avx512-linux.
         (i386/i386-avx-mpx-avx512-expedite): Rename expedite.
         (i386/i386-avx-mpx-avx512-linux-expedite): Likewise.
         (i386/amd64-avx-mpx-avx512-expedite): Likewise.
         (i386/amd64-avx-mpx-avx512-linux-expedite): Likewise.
         (XMLTOC): Rename i386/amd64-avx-mpx-avx512-linux.xml,
         i386/amd64-avx-mpx-avx512.xml, i386/i386-avx-mpx-avx512-linux.xml,
         i386/i386-avx-mpx-avx512.xml.
         ((outdir)/i386/i386-avx-mpx-avx512.dat): Rename rule, add
         i386/32bit-pkeys.xml.
         ((outdir)/i386/i386-avx-mpx-avx512-pku-linux.dat): Likewise.
         ((outdir)/i386/amd64-avx-mpx-avx512.dat): Rename rule, add
         i386/64bit-pkeys.xml.
         ((outdir)/i386/amd64-avx-mpx-avx512-linux.dat): Likewise.
         * features/i386/32bit-pkeys.xml: New file.
         * features/i386/64bit-pkeys.xml: Likewise.
         * features/i386/amd64-avx-mpx-avx512-linux-pku.c: Regenerate from
         renamed XML file.
         * features/i386/amd64-avx-mpx-avx512-linux.xml: Rename to
         amd64-avx-mpx-avx512-pku-linux.xml, add 64bit-pkeys.xml
         * features/i386/amd64-avx-mpx-avx512.c: Regenerate from
         renamed XML file.
         * features/i386/amd64-avx-mpx-avx512.xml: Rename to
         amd64-avx-mpx-avx512-pku.xml, add 64bit-pkeys.xml.
         * features/i386/i386-avx-mpx-avx512-linux.c: Regenerate from
         renamed XML file.
         * features/i386/i386-avx-mpx-avx512-linux.xml: Rename to
         i386-avx-mpx-avx512-pku-linux.xml, add 32bit-pkeys.xml.
         * features/i386/i386-avx-mpx-avx512.c: Regenerate from
         renamed XML file.
         * features/i386/i386-avx-mpx-avx512.xml: Rename to
         i386-avx-mpx-avx512-pku.xml, add 32bit-pkeys.xml.
         * i386-linux-nat.c (GETXSTATEREGS_SUPPLIES): Change to use
         I386_PKEYS_NUM_REGS.
         * i386-linux-tdep.c (features/i386/i386-avx-mpx-avx512-linux.c): Rename
         include.
         (i386_linux_gregset_reg_offset): Add PKRU register.
         (i386_linux_core_read_description): Rename xstate mask and returned
         tdesc for X86_XSTATE_AVX_MPX_AVX512_PKU_MASK.
         (_initialize_i386_linux_tdep): Rename
         initialize_tdesc_i386_avx_mpx_avx512_linux.
         * i386-linux-tdep.h (I386_LINUX_ORIG_EAX_REGNUM): Adjuste regnum
         calculation.
         (tdesc_i386_avx_mpx_avx512_linux): Rename prototype.
         (/* Format of XSAVE...): Add pkru register.
         * i386-tdep.c (i386-avx-mpx-avx512.c): Rename include.
         (i386_pkeys_names): New register name for raw register PKRU.
         (i386_pkru_regnum_p): Add function to look up register number of
         PKRU raw register.
         (i386_register_reggroup_p): Add code to exclude PKRU from general
         register group.
         (i386_validate_tdesc_p): Add code to handle PKRU feature, add PKRU
         registers if feature is present in xcr0.
         (i386_gdbarch_init): Adjust number of registers in architecture. Add code
         to initialize PKRU feature variables in tdep structure.
         (i386_target_description): Rename xstate mask and returned
         tdesc for X86_XSTATE_AVX_MPX_AVX512_PKU_MASK.
         (_initialize_i386_tdep): Rename initialize_tdesc_i386_avx_mpx_avx512.
         * i386-tdep.h (struct gdbarch_tdep): Add feature variables to tdep
         structure.
         (enum i386_regnum): Add PKRU register.
         (I386_PKEYS_NUM_REGS): New define for number of registers in PKRU feature.
         (i386_pkru_regnum_p): New prototype.
         * i387-tdep.c (xsave_pkeys_offset): New table for PKRU offsets in
         XSAVE buffer.
         (XSAVE_PKEYS_ADDR): New macro.
         (i387_supply_xsave): Add code to handle PKRU register.
         (i387_collect_xsave): Likewise.
         * i387-tdep.h (I387_NUM_PKEYS_REGS): New define for number of registers
         in PKRU feature.
         (I387_PKRU_REGNUM): New macro.
         (I387_PKEYSEND_REGNUM): Likewise.
         * regformats/i386/amd64_avx_mpx_avx512_pku_linux.dat: Regenerate from
         renamed XML file.
         * regformats/i386/amd64_avx_mpx_avx512_pku.dat: Likewise.
         * regformats/i386/i386/amd64-avx-mpx-avx512-pku.dat: Likewise.
         * regformats/i386/i386_avx_mpx_avx512_pku_linux.dat: Likewise.
    
    testsuite/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * gdb.arch/i386-pkru.c: New file.
         * gdb.arch/i386-pkru.exp: Likewise.
    
    gdbserver/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * Makefile.in (clean): Rename i386-avx-mpx-avx512.c,
         i386-avx-mpx-avx512-linux.c, amd64-avx-mpx-avx512.c,
         amd64-avx-mpx-avx512-linux.c.
         (i386-avx-mpx-avx512-linux-ipa.o:): Rename rule and source file.
         (amd64-avx-mpx-avx512-linux-ipa.o:): Likewise.
         (i386-avx-mpx-avx512.c :): Rename rule, source files and dat files.
         (i386-avx-mpx-avx512-linux.c :): Likewise.
         (amd64-avx-mpx-avx512.c :): Likewise.
         (amd64-avx-mpx-avx512-linux.c :): Likewise.
         * configure.srv (srv_i386_regobj): Rename i386-avx-mpx-avx512.o.
         (srv_i386_linux_regobj): Rename i386-avx-mpx-avx512-linux.o.
         (srv_amd64_regobj): Rename amd64-avx-mpx-avx512.o.
         (srv_amd64_linux_regobj): Rename amd64-avx-mpx-avx512-linux.o.
         (ipa_i386_linux_regobj): Rename i386-avx-mpx-avx512-linux-ipa.o.
         (ipa_amd64_linux_regobj): Rename amd64-avx-mpx-avx512-pku-linux-ipa.o.
         (srv_i386_32bit_xmlfiles): Add 32bit-pkeys.xml.
         (srv_i386_64bit_xmlfiles): Add 64bit-pkeys.xml.
         (srv_i386_xmlfiles): Rename i386/i386-avx-mpx-avx512.xml.
         (srv_amd64_xmlfiles): Rename i386/amd64-avx-mpx-avx512.xml.
         (srv_i386_linux_xmlfiles): Rename i386/i386-avx-mpx-avx512-linux.xml.
         (srv_amd64_linux_xmlfiles): Rename di386/amd64-avx-mpx-avx512-linux.xml.
         * i387-fp.c (num_pkeys_registers): New variable.
         (struct i387_xsave): Add space for pkru values.
         (i387_cache_to_fsave): Add code to handle PKRU register.
         (i387_xsave_to_cache): Likewise.
         * linux-amd64-ipa.c (get_ipa_tdesc): Rename
         tdesc_amd64_avx_mpx_avx512_linux.
         (initialize_low_tracepoint): Rename
         init_registers_amd64_avx_mpx_avx512_linux.
         * linux-i386-ipa.c (get_ipa_desc): Rename
         tdesc_i386_avx_mpx_avx512_linux.
         (initialize_low_tracepoint): Rename
         init_registers_i386_avx_mpx_avx512_linux.
         * linux-x86-low.c (x86_64_regmap[]): Add PKRU register.
         (x86_linux_read_description): Rename X86_XSTATE_AVX_MPX_AVX512_MASK,
         rename tdesc_amd64_avx_mpx_avx512_linux, rename
         tdesc_i386_avx_mpx_avx512_linux.
         (x86_get_ipa_tdesc_idx): Rename tdesc_amd64_avx_mpx_avx512_linux,
         rename tdesc_i386_avx_mpx_avx512_linux.
         (initialize_low_arch): Rename init_registers_amd64_avx_mpx_avx512_linux,
         rename init_registers_i386_avx_mpx_avx512_linux.
         * linux-x86-tdesc.h (init_registers_amd64_avx_mpx_avx512_linux): Renamed
         prototype.
         (tdesc_amd64_avx_mpx_avx512_linux): Likewise.
         (init_registers_i386_avx_mpx_avx512_linux): Likewise.
         (tdesc_i386_avx_mpx_avx512_linux): Likewise.
    
    doc/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * gdb.texinfo (i386 Features): Add description of PKRU register.
    
    Change-Id: If75ce5aba7dfd33fdbe3d8b47f04ef3f550c52be
    Signed-off-by: Michael Sturm <michael.sturm@intel.com>

commit a1fa17ee1556b0175afb081a7b8a13710246307a
Author: Michael Sturm <michael.sturm@intel.com>
Date:   Tue Mar 22 16:26:09 2016 +0100

    Add target description for avx-avx512.
    
    Add a dedicated target description for the feature combination
    avx-avx512 as implemented by certain IA CPU models.
    
    The corresponding X86_XSTATE_AVX_AVX512_MASK already exists, but shared
    the tdesc with X86_XSTATE_AVX_MPX_AVX512_MASK. This caused MPX registers
    displayed as undefined on CPUs that only implemented
    X86_XSTATE_AVX_AVX512_MASK, which is undesired. This patch solves this issue.
    
    This patch also corrects the wrong usage of x32-avx-mpx-avx512, which is
    replaced by x32-avx-avx512. The MPX feature is not implemented in x32 mode.
    
    gdb/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * amd64-linux-tdep.c (features/i386/amd64-avx-avx512-linux.c):
         New include.
         (features/i386/x32-avx-mpx-avx512-linux.c): Rename to...
         (features/i386/x32-avx-avx512-linux.c): ...this.
         (amd64_linux_core_read_description): Add dedicated cases for
         X86_XSTATE_AVX_AVX512_MASK and return appropriate tdesc.
         (_initialize_amd64_linux_tdep): Add calls to
         initialize_tdesc_amd64_avx_avx512_linux and
         initialize_tdesc_x32_avx_avx512_linux.
         * amd64-linux.tdep.h (tdesc_amd64_avx_avx512_linux): New prototype.
         (tdesc_x32_avx_mpx_avx512_linux): Rename to...
         (tdesc_x32_avx_avx512_linu): ...this.
         * amd64-tdep.c (features/i386/amd64-avx-avx512.c): New include.
         (features/i386/x32-avx-mpx-avx512.c): Rename to...
         (features/i386/x32-avx-avx512.c): ...this.
         (amd64_target_description): Add dedicated case for
         X86_XSTATE_AVX_AVX512_MASK and return appropriate tdesc.
         (_initialize_amd64_tdep): Add call to
         initialize_tdesc_amd64_avx_avx512.
         (initialize_tdesc_x32_avx_mpx_avx512): Rename to...
         (initialize_tdesc_x32_avx_avx512): ...this.
         * features/Makefile (WHICH): New tdescs i386/i386-avx-avx512,
         i386/i386-avx-avx512-linux, i386/amd64-avx-avx512,
         i386/amd64-avx-avx512-linux.
         (i386/x32-avx-mpx-avx512): Rename to...
         (i386/x32-avx-avx512): ...this.
         (i386/x32-avx-mpx-avx512-linux): Rename to...
         (i386/x32-avx-avx512-linux): ...this.
         (i386/i386-avx-avx512-expedite, i386/i386-avx-avx512-linux-expedite,
         i386/amd64-avx-avx512-expedite, i386/amd64-avx-avx512-linux-expedite):
         New expedites.
         (i386/x32-avx-mpx-avx512-expedite): Rename to...
         (i386/x32-avx-avx512-expedite): ...this.
         (i386/x32-avx-mpx-avx512-linux-expedite): Rename to...
         (i386/x32-avx-avx512-linux-expedite): ...this.
         (XMLTOC): New XML files i386/amd64-avx-avx512-linux.xml,
         i386/amd64-avx-avx512.xml, i386/i386-avx-avx512-linux.xml,
         i386/i386-avx-avx512.xml.
         (i386/x32-avx-mpx-avx512-linux.xml): Rename to...
         (i386/x32-avx-avx512-linux.xml): ...this.
         (i386/x32-avx-mpx-avx512.xml): Rename to...
         (i386/x32-avx-avx512.xml): ...this.
         ($(outdir)/i386/i386-avx-avx512.dat): New rule.
         ($(outdir)/i386/i386-avx-avx512-linux.dat): Likewise.
         ($(outdir)/i386/amd64-avx-avx512.dat): Likewise.
         ($(outdir)/i386/amd64-avx-avx512-linux.dat): Likewise.
         ($(outdir)/i386/x32-avx-mpx-avx512.dat):  Rename to...
         ($(outdir)/i386/x32-avx-avx512.dat): ...this.
         ($(outdir)/i386/x32-avx-mpx-avx512-linux.dat): Rename to...
         ($(outdir)/i386/x32-avx-avx512-linux.dat): ...this.
         * features/i386/amd64-avx-avx512-linux.c: New file.
         * features/i386/amd64-avx-avx512-linux.xml: Likewise.
         * features/i386/amd64-avx-avx512.c: Likewise.
         * features/i386/amd64-avx-avx512.xml: Likewise.
         * features/i386/i386-avx-avx512-linux.c: Likewise.
         * features/i386/i386-avx-avx512-linux.xml: Likewise.
         * features/i386/i386-avx-avx512.c: Likewise.
         * features/i386/i386-avx-avx512.xml: Likewise.
         * features/i386/x32-avx-mpx-avx512-linux.c: Deleted.
         * features/i386/x32-avx-avx512-linux.c: New file.
         * features/i386/x32-avx-mpx-avx512-linux.xml: Deleted.
         * features/i386/x32-avx-avx512-linux.xml: New file.
         * features/i386/x32-avx-mpx-avx512.c: Deleted.
         * features/i386/x32-avx-avx512.c: New file.
         * features/i386/x32-avx-mpx-avx512.xml: Deleted.
         * features/i386/x32-avx-avx512.xml: New file.
         * i386-linux-tdep.c (features/i386/i386-avx-avx512-linux.c): New include.
         (i386_linux_core_read_description): Add dedicated case for
         X86_XSTATE_AVX_AVX512_MASK and return appropriate tdesc.
         (_initialize_i386_linux_tdep): Add call to
         initialize_tdesc_i386_avx_avx512_linux.
         * i386-linux-tdep.h (tdesc_i386_avx_avx512_linux): New prototype.
         * i386-tdep.c (features/i386/i386-avx-avx512.c): New include.
         (i386_validate_tdesc_p): Correct XSTATE mask used for feature_avx512.
         (i386_target_description): Add dedicated case for
         X86_XSTATE_AVX_AVX512_MASK and return appropriate tdesc.
         (_initialize_i386_tdep): Add call to initialize_tdesc_i386_avx_avx512.
         * regformats/i386/amd64-avx-avx512-linux.dat: New file
         * regformats/i386/amd64-avx-avx512.dat: Likewise.
         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
         * regformats/i386/i386-avx-avx512.dat: Likewise.
         * regformats/i386/x32-avx-mpx-avx512-linux.dat: Deleted.
         * regformats/i386/x32-avx-avx512-linux.dat: New file.
         * regformats/i386/x32-avx-mpx-avx512.dat: Deleted.
         * regformats/i386/x32-avx-avx512.dat: New file.
         * x86-linux-nat.c (x86_linux_read_description): Add dedidated case for
         X86_XSTATE_AVX_AVX512_MASK and return appropriate description.
    
    gdbserver/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * Makefile.in  (clean): Add handling of new source files
         i386-avx-avx512.c, i386-avx-avx512-linux.c, amd64-avx-avx512.c,
         amd64-avx-avx512-linux.c.
         (x32-avx-mpx-avx512.c): Rename to...
         (x32-avx-avx512.c): ...this.
         (x32-avx-mpx-avx512-linux.c): Rename to...
         (x32-avx-avx512-linux.c): ...this.
         (i386-avx-avx512-linux-ipa.o): New rule.
         (amd64-avx-avx512-linux-ipa.o): Likewise.
         (i386-avx-avx512.c): Likewise.
         (i386-avx-avx512-linux.c): Likewise.
         (amd64-avx-avx512.c): Likewise.
         (amd64-avx-avx512-linux.c): Likewise.
         (x32-avx-avx512.c): Rename rule, source files, dat files from
         x32-avx-mpx-avx512.*) to this.
         (x32-avx-avx512-linux.c): Rename rule, source files, dat files from
         x32-avx-mpx-avx512-linux.*) to this.
         * configure.srv (srv_i386_regobj): Add i386-avx-avx512.o.
         (srv_i386_linux_regobj): Add i386-avx-avx512-linux.o.
         (srv_amd64_regobj): Add amd64-avx-avx512.o, rename
         x32-avx-mpx-avx512.o to x32-avx-avx512.o.
         (srv_amd64_linux_regobj): Add amd64-avx-avx512-linux.o, rename
         x32-avx-mpx-avx512-linux.o to x32-avx-avx512-linux.o.
         (ipa_i386_linux_regobj): Add i386-avx-avx512-linux-ipa.o.
         (ipa_amd64_linux_regobj): Add amd64-avx-avx512-linux-ipa.o.
         (srv_i386_xmlfiles): Add i386/i386-avx-avx512.xml.
         (srv_amd64_xmlfiles): Add i386/amd64-avx-avx512.xml, rename
         x32-avx-mpx-avx512.xml to x32-avx-avx512.xml.
         (srv_i386_linux_xmlfiles): Add i386/i386-avx-avx512-linux.xml.
         (srv_amd64_linux_xmlfiles): Add i386/amd64-avx-avx512-linux.xml,
         rename x32-avx-mpx-avx512-linux.xml to x32-avx-avx512-linux.xml.
         * linux-amd64-ipa.c (get_ipa_tdesc): Add dedicated case for
         X86_TDESC_AVX_AVX512 and return appropriate tdesc.
         (initialize_low_tracepoint): Add init_registers_amd64_avx_avx512_linux.
         * linux-i386-ipa.c (get_ipa_tdesc): Add dedicated case for
         X86_TDESC_AVX_AVX512 and return appropriate tdesc.
         (initialize_low_tracepoint): Add init_registers_i386_avx_avx512_linux.
         * linux-x86-low.c (x86_linux_read_description): Add dedicated cases for
         X86_XSTATE_AVX_AVX512_MASK and return appropriate tdesc.
         (x86_get_ipa_tdesc_idx): Rename tdesc_x32_avx_mpx_avx512_linux to
         tdesc_x32_avx_avx512_linux, add dedicated if-clause for
         tdesc_amd64_avx_avx512_linux and return appropriate mask.
         Add dedicated clause for tdesc_i386_avx_avx512_linux
         and return appropriate mask.
         (initialize_low_arch): Add init_registers_amd64_avx_avx512_linux,
         rename init_registers_x32_avx_mpx_avx512_linux, add
         init_registers_i386_avx_avx512_linux.
         * linux-x86-tdesc.h (enum x86_linux_tdesc): Add new value for
         X86_TDESC_AVX_AVX512.
         (init_registers_amd64_avx_avx512_linux): New prototype.
         (tdesc_amd64_avx_avx512_linux): Likewise.
         (init_registers_x32_avx_mpx_avx512_linux): Rename to...
         (init_registers_x32_avx_avx512_linux): ...this.
         (tdesc_x32_avx_mpx_avx512_linux): Rename to...
         (tdesc_x32_avx_avx512_linux): ...this.
         (init_registers_i386_avx_avx512_linux): New prototype.
         (tdesc_i386_avx_avx512_linux): Likewise.
    
    Change-Id: I01359fab56c961a39568df50af39714ec7b31706
    Signed-off-by: Michael Sturm <michael.sturm@intel.com>

commit 22049425ce40324139be82d9a6ec518c46b65815
Author: Michael Sturm <michael.sturm@intel.com>
Date:   Fri Jan 27 16:14:28 2017 +0100

    Rename target descriptions to reflect actual content of description.
    
    To better reflect the actual feature set covered by the IA target
    descriptions, the existing descriptions are renamed. Each feature of
    the extended state is added to the name of a description or xstate mask
    starting from AVX.
    For example, amd64-mpx-avx512-linux becomes amd64-avx-mpx-avx512-linux,
    while amd64-avx-linux remains unchanged.
    Likewise, the corresponding xstate masks are changed, e.g. from
    X86_XSTATE_MPX_AVX512_MASK to X86_XSTATE_AVX_MPX_AVX512_MASK.
    
    gdb/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * amd64-linux-tdep.c (features/i386/amd64-avx512-linux.c): Rename
         include to...
         (features/i386/amd64-avx-mpx-avx512-linux.c): ...this.
         (features/i386/x32-avx512-linux.c): Rename include to...
         (features/i386/x32-avx-mpx-avx512-linux.c): ...this.
         (amd64_linux_core_read_description): Rename X86_XSTATE_MPX_AVX512_MASK,
         X86_XSTATE_AVX512_MASK, desc_x32_avx512_linux, tdesc_amd64_avx512_linux.
         (_initialize_amd64_linux_tdep): Rename
         initialize_tdesc_amd64_avx512_linux, initialize_tdesc_x32_avx512_linux.
         * amd64-linux-tdep.h (tdesc_amd64_avx512_linux): Rename to...
         (tdesc_amd64_avx_mpx_avx512_linux): ...this.
         (tdesc_x32_avx512_linux): Rename to...
         (tdesc_x32_avx_mpx_avx512_linux): ...this.
         * amd64-tdep.c (features/i386/amd64-avx512.c): Rename include to...
         (features/i386/amd64-avx-mpx-avx512.c): ...this.
         (features/i386/x32-avx512.c): Rename include to...
         (features/i386/x32-avx-mpx-avx512.c): ...this.
         (amd64_target_description): Rename X86_XSTATE_MPX_AVX512_MASK,
         X86_XSTATE_AVX512_MASK, tdesc_amd64_avx512.
         (_initialize_amd64_tdep): Rename initialize_tdesc_amd64_avx512. Rename
         initialize_tdesc_x32_avx512.
         * common/x86-xstate.h (X86_XSTATE_AVX512_MASK): Rename to...
         (X86_XSTATE_AVX_AVX512_MASK): ...this.
         (86_XSTATE_MPX_AVX512_MASK): Rename to...
         (X86_XSTATE_AVX_MPX_AVX512_MASK): ...this.
         (X86_XSTATE_ALL_MASK): Rename X86_XSTATE_MPX_AVX512_MASK to
         X86_XSTATE_AVX_MPX_AVX512_MASK.
         * features/Makefile (WHICH): Rename i386/i386-avx512,
         i386/i386-avx512-linux, i386/amd64-avx512, i386/amd64-avx512-linux,
         i386/x32-avx512, i386/x32-avx512-linux.
         (i386/i386-avx512-expedite, i386/i386-avx512-linux-expedite,
         i386/amd64-avx512-expedite, i386/amd64-avx512-linux-expedite,
         i386/x32-avx512-expedite, i386/x32-avx512-linux-expedite): Rename
         expedites.
         (XMLTOC): Rename i386/amd64-avx512-linux.xml, i386/amd64-avx512.xml,
         i386/i386-avx512-linux.xml, i386/i386-avx512.xml,
         i386/x32-avx512-linux.xml, i386/x32-avx512.xml.
         ($(outdir)/i386/i386-avx512.dat): Rename dat file in rule.
         ($(outdir)/i386/i386-avx512-linux.dat): Likewise.
         ($(outdir)/i386/amd64-avx512.dat): Likewise.
         ($(outdir)/i386/amd64-avx512-linux.dat): Likewise.
         ($(outdir)/i386/x32-avx512.dat): Likewise.
         ($(outdir)/i386/x32-avx512-linux.dat): Likewise.
         * features/i386/amd64-avx512-linux.c: Regenerate from renamed XML file.
         * features/i386/amd64-avx512-linux.xml: Rename XML file.
         * features/i386/amd64-avx512.c: Regenerate from renamed XML file.
         * features/i386/amd64-avx512.xml: Rename XML file.
         * features/i386/i386-avx512-linux.c: Regenerate from renamed XML file.
         * features/i386/i386-avx512-linux.xml: Rename XML file.
         * features/i386/i386-avx512.c: Regenerate from renamed XML file.
         * features/i386/i386-avx512.xml: Rename XML file.
         * features/i386/x32-avx512-linux.c: Regenerate from renamed XML file.
         * features/i386/x32-avx512-linux.xml: Rename XML file.
         * features/i386/x32-avx512.c: Regenerate from renamed XML file.
         * features/i386/x32-avx512.xml: Rename XML file.
         * i386-linux-tdep.c (features/i386/i386-avx512-linux.c): Rename to...
         (features/i386/i386-avx-mpx-avx512-linux.c): ...this.
         (i386_linux_core_read_description): Rename X86_XSTATE_MPX_AVX512_MASK,
         X86_XSTATE_AVX512_MASK, tdesc_i386_avx512_linux.
         (_initialize_i386_linux_tdep): Rename initialize_tdesc_i386_avx512_linux.
         * i386-linux-tdep.h (tdesc_i386_avx512_linux): Rename to...
         (tdesc_i386_avx_mpx_avx512_linux): ...this.
         * i386-tdep.c (features/i386/i386-avx512.c): Rename to...
         (features/i386/i386-avx-mpx-avx512.c): ...this.
         (i386_register_reggroup_p): Rename X86_XSTATE_AVX512_MASK.
         (i386_validate_tdesc_p): Likewise.
         (i386_target_description): Rename X86_XSTATE_MPX_AVX512_MASK,
         tdesc_i386_avx512.
         (_initialize_i386_tdep): Rename initialize_tdesc_i386_avx512.
         * regformats/i386/amd64-avx512-linux.dat: Regenerate from renamed XML
         file.
         * regformats/i386/amd64-avx512.dat: Likewise.
         * regformats/i386/i386-avx512-linux.dat: Likewise.
         * regformats/i386/i386-avx512.dat: Likewise.
         * regformats/i386/x32-avx512-linux.dat: Likewise.
         * regformats/i386/x32-avx512.dat: Likewise.
         * x86-Linux-nat.c (x86_linux_read_description): Rename
         X86_XSTATE_MPX_AVX512_MASK, X86_XSTATE_AVX512_MASK,
         tdesc_x32_avx512_linux, tdesc_amd64_avx512_linux, tdesc_i386_avx512_linux.
    
    gdbserver/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * Makefile.in (clean): Rename i386-avx512.c, i386-avx512-linux.c,
         amd64-avx512.c, amd64-avx512-linux.c, x32-avx512.c, x32-avx512-linux.c.
         (i386-avx512-linux-ipa.o): Rename rule and source files.
         (amd64-avx512-linux-ipa.o): Likewise.
         (i386-avx512.c): Rename rule, source fils and dat files.
         (i386-avx512-linux.c): Likewise.
         (amd64-avx512.c): Likewise.
         (amd64-avx512-linux.c): Likewise.
         (x32-avx512.c): Likewise.
         (x32-avx512-linux.c): Likewise.
         * configfure.srv (srv_i386_regobj): Rename i386-avx512.o.
         (i386_linux_regobj): Rename i386-avx512-linux.o.
         (srv_amd64_regobj): Rename amd64-avx512.o, x32-avx512.o.
         (srv_amd64_linux_regobj): Rename amd64-avx512-linux.o,
         x32-avx512-linux.o.
         (ipa_i386_linux_regobj): Rename i386-avx512-linux-ipa.o.
         (ipa_amd64_linux_regobj): Rename amd64-avx512-linux-ipa.o.
         (srv_i386_xmlfiles): Rename i386/i386-avx512.xml.
         (srv_amd64_xmlfiles): Rename i386/amd64-avx512.xml, i386/x32-avx512.xml.
         (srv_i386_linux_xmlfiles): Rename i386/i386-avx512-linux.xml.
         (srv_amd64_linux_xmlfiles): Rename i386/amd64-avx512-linux.xml,
         i386/x32-avx512-linux.xml).
         * linux-amd64-ipa.c (get_ipa_tdesc): Rename X86_TDESC_AVX512 and returned
         tdesc for that case.
         (initialize_low_tracepoint): Rename init_registers_amd64_avx512_linux.
         * linux-i386-ipa.c (get_ipa_tdesc): Rename X86_TDESC_AVX512 and tdesc
         returned for that case.
         (initialize_low_tracepoint): Rename init_registers_i386_avx512_linux.
         * linux-x86-low.c (x86_linux_read_description): Rename
         X86_XSTATE_AVX512_MASK and tdesc returned for that case.
         (x86_get_ipa_tdesc_idx): Rename tdesc_amd64_avx512_linux,
         tdesc_x32_avx512_linux and mask returned for these descriptions.
         Rename tdesc_i386_avx512_linux and mask returned for that description.
         (initialize_low_arch): Rename init_registers_amd64_avx512_linux,
         init_registers_x32_avx512_linux, init_registers_i386_avx512_linux.
         * linux-x86-tdesc.h (enum x86_linux_tdesc): Rename X86_TDESC_AVX512.
         (init_registers_amd64_avx512_linux): Rename to...
         (init_registers_amd64_avx_mpx_avx512_linux): ...this.
         (tdesc_amd64_avx512_linux): Rename to...
         (tdesc_amd64_avx_mpx_avx512_linux): ...this.
         (init_registers_x32_avx512_linux): Rename to...
         (init_registers_x32_avx_mpx_avx512_linux): ...this.
         (tdesc_x32_avx512_linux): Rename to...
         (tdesc_x32_avx_mpx_avx512_linux): ...this.
         (init_registers_i386_avx512_linux): Rename to...
         (init_registers_i386_avx_mpx_avx512_linux): ...this.
         (tdesc_i386_avx512_linux): Rename to...
         (tdesc_i386_avx_mpx_avx512_linux): ...this.
    
    Change-Id: Idb83be3b3b72d5487542d4b568193df2777a3d9d
    Signed-off-by: Michael Sturm <michael.sturm@intel.com>

commit ff6527bb52e2938b53687a42d1bcda09300e9390
Author: Michael Sturm <michael.sturm@intel.com>
Date:   Wed Feb 3 17:55:20 2016 +0100

    Change xstate_bv handling to use 8 bytes of data.
    
    The size of the state-component bitmap as specified in
    Intel(R) 64 and IA-32 Architectures Software Developer's Manual,
    Chapter 13.4.2 is 8 bytes.
    So far, the data types used for xstate_bv_p (gdb_byte*),
    clear_bv (unsigned int) and tdep->xcr0 (uint64_t) were
    inconsistent. But, since the xstate components were still
    fitting into a single byte, the code still worked
    as expected.
    However, with the addition of the PKU feature (bit 9),
    using one byte for the bitmap will no longer be sufficient.
    
    This patch changes related code to use 64 bit data types
    consistently and changes read/write acces of the XSAVE
    header in the xsave buffer to use the endianess-aware
    functions extract_unsigned_integer and store_unsigned_integer.
    This is required to make sure that eventual differences
    in endianess between host and target are taken care off.
    
    gdb/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * i387-tdep.c (i387_supply_xsave): Change type
         of clear_bv to ULONGEST. Replace gdb_byte *xstate_bv_p
         with ULONGEST xstate_bv and use extract_unsigned_integer
         and store_unsigned_integer to read/write its value from
         the xsave buffer.
         (i387_collect_xsave): Replace gdb_byte *xstate_bv_p
         with ULONGEST initial_xstate_bv and use
         extract_unsigned_integer/store_unsigned_integer to
         read/write its value from the xsave buffer.
         Change type of clear_bv to ULONGEST.
    
    gdbserver/Changelog:
    2016-04-18  Michael Sturm  <michael.sturm@intel.com>
    
         * i387-fp.c (i387_cache_to_xsave): Change type of clear_bv to
         unsigned long long.
         (i387_fxsave_to_cache): Likewise.
    
    Change-Id: I0de254158960b4f7bcbc9fe2fb857034fa1f7ca5
    Signed-off-by: Michael Sturm <michael.sturm@intel.com>

commit 1f85ef5042f0e021fb56b1364dddd92177073bf4
Author: Michael Sturm <michael.sturm@intel.com>
Date:   Mon Dec 5 15:03:06 2016 +0100

    Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch.
    
    Pedro suggested a separate patch synching with GCCs cpuid.h
    instead of just adding new bits for PKU feature.
    
     gdb/Changelog:
         2016-11-14  Michael Sturm  <michael.sturm@intel.com>
    
              * nat/x86-gcc-cpuid.h: Replace with copy of cpuid.h
                from gcc-6 branch.
    
    Change-Id: I16f8f7f2d0aa7c2e815701d15ed831a6c6b33d21
    Signed-off-by: Michael Sturm <michael.sturm@intel.com>

commit 262a40a5406f0159353e04980bcaf8b26351afd2
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 17 17:58:17 2017 +1030

    Relax dwarf2 expected error match
    
    	* testsuite/ld-elf/dwarf2.err: Accept other errors between the
    	multiple definition errors.

commit 002a5d4e5881ea0fbcd7f9382b20b833ad6bf9d5
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 17 17:24:02 2017 +1030

    Relax dwarf3 expected error match
    
    	* testsuite/ld-elf/dwarf2.err: Add missing newline at end.
    	* testsuite/ld-elf/dwarf3.err: Likewise.  Allow match without filename.

commit 4bc26c69597fea658dc9ce020b27e8d2ecdbe1a3
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 17 01:26:12 2017 +0000

    bfd: Rename Chunk and S3Forced
    
    The direct references in objcopy kind of look like a hack to me, so
    I'm calling these symbols internal too.  Certainly they aren't named
    and documented as a public BFD symbol today anyway.
    
    So ... give these bfd-internal symbols with external linkage a _bfd_
    prefix to avoid collisions in the global symbol namespace.
    
    While at it, give them names that more closely match the corresponding
    option name that toggles them.
    
    Also while at it, fix a few related comment typos.
    
    gdb/ChangeLog:
    2017-02-17  Pedro Alves  <palves@redhat.com>
    
    	* srec.c (Chunk): Rename to ...
    	(_bfd_srec_len): ... this.
    	(S3Forced): Rename to ...
    	(_bfd_srec_forceS3): ... this.
    	* objcopy.c: Adjust all references.

commit 7ec22e0f1e08e96718ac27ea57a1dca0707a8b02
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 17 01:26:12 2017 +0000

    bfd: Rename bsd_write_armap and coff_write_armap
    
    Give these bfd-internal symbols with external linkage a _bfd_ prefix
    to avoid collisions in the global symbol namespace.
    
    bfd/ChangeLog:
    2017-02-17  Pedro Alves  <palves@redhat.com>
    
    	* archive.c (bsd_write_armap): Rename to ...
    	(_bfd_bsd_write_armap): ... this.
    	(coff_write_armap): Rename to ...
    	(_bfd_coff_write_armap): ... this.
    	* libbfd-in.h (bsd_write_armap): Rename to ...
    	(_bfd_bsd_write_armap): ... this.
    	(coff_write_armap): Rename to ...
    	(_bfd_coff_write_armap): ... this.
    	* aout-target.h, aout-tic30.c: Adjust all users.
    	* libbfd.h: Regenerate.

commit 8c8402ccf1e69a4b8971994deb19f9d88e665925
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 17 01:26:12 2017 +0000

    bfd: Rename warn_deprecated
    
    Give this bfd-internal symbol with external linkage a _bfd_ prefix to
    avoid collisions in the global symbol namespace.
    
    bfd/ChangeLog:
    2017-02-17  Pedro Alves  <palves@redhat.com>
    
    	* bfd-in.h (bfd_read, bfd_write): Adjust to rename.
    	(warn_deprecated): Rename to ...
    	(_bfd_warn_deprecated): ... this.
    	* libbfd.c (warn_deprecated): Rename to ...
    	(_bfd_warn_deprecated): ... this.
    	* bfd-in2.h: Regenerate.

commit c7c3d11bead272b718bade379e3441ff239bbd16
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 17 01:26:12 2017 +0000

    bfd: Rename real_{ftell, fseek, fopen}
    
    Give these bfd-internal symbols with external linkage a _bfd_ prefix
    to avoid collisions in the global symbol namespace.
    
    bfd/ChangeLog:
    2017-02-17  Pedro Alves  <palves@redhat.com>
    
    	* bfdio.c (real_ftell): Rename to ...
    	(_bfd_real_ftell): ... this.
    	(real_fseek): Rename to ...
    	(_bfd_real_fseek): ... this.
    	(real_fopen): Rename to ...
    	(_bfd_real_fopen): ... this.
    	* libbfd-in.h (real_ftell): Rename to ...
    	(_bfd_real_ftell): ... this.
    	(real_fseek): Rename to ...
    	(_bfd_real_fseek): ... this.
    	(real_fopen): Rename to ...
    	(_bfd_real_fopen): ... this.
    	* cache.c, dwarf2.c, opncls.c: Adjust all callers.
    	* libbfd.h: Regenerate.

commit 4265548c65907f095e887148f61af4813b106737
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 17 01:26:11 2017 +0000

    bfd: Rename read_{signed,unsigned}_leb128, safe_read_leb128
    
    Give these bfd-internal symbols with external linkage a _bfd_ prefix
    to avoid collisions in the global symbol namespace.
    
    bfd/ChangeLog:
    2017-02-17  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
    	* libbfd.c (read_unsigned_leb128): Rename to ...
    	(_bfd_read_unsigned_leb128): ... this.
    	(read_signed_leb128): Rename to ...
    	(_bfd_read_signed_leb128): ... this.
    	(safe_read_leb128): Rename to ...
    	(_bfd_safe_read_leb128): ... this.
    	* libbfd-in.h (read_unsigned_leb128): Rename to ...
    	(_bfd_read_unsigned_leb128): ... this.
    	(read_signed_leb128): Rename to ...
    	(_bfd_read_signed_leb128): ... this.
    	(safe_read_leb128): Rename to ...
    	(_bfd_safe_read_leb128): ... this.
    	* libbfd.h: Renegerate.

commit 2f0d09c823521a0ca734a818c1a71836302c169d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Feb 17 00:00:26 2017 +0000

    Automatic date update in version.in

commit b4897cbfbd800297c5537f3172f7b9231280bede
Merge: 7239c37 3239a42
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Feb 16 08:07:07 2017 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 3239a4231ff79bf8b67b8faaf414b1667486167c
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Mon Dec 19 15:27:59 2016 +0000

    bfd: Improve lookup of file / line information for errors
    
    When looking up file and line information (used from the linker to
    report error messages) if no symbol is passed in, then use the symbol
    list to look for a matching symbol.
    
    If a matching symbol is found then use this to look up the file / line
    information.
    
    This should improve errors when looking up file / line information for
    data sections.  Hopefully we should find a matching data symbol, which
    should, in turn (we hope) match a DW_TAG_variable in the DWARF, this
    should allow us to give accurate file / line errors for data symbols.
    
    As the hope is to find a matching DW_TAG_variable in the DWARF then we
    ignore section symbols, and prefer global symbols to locals.
    
    bfd/ChangeLog:
    
    	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
    	before trying to fine matching file and line information.
    
    ld/ChangeLog:
    
    	* testsuite/ld-elf/shared.exp: Update expected results.
    	* testsuite/ld-elf/dwarf2.err: Likewise

commit 90ed9b8bc136c80116273d1aae5a31fbd415af27
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Dec 15 15:22:49 2016 +0000

    bfd/dwarf: Improve use of previously loaded dwarf information
    
    When parsing DWARF data in order to report file/line type error messages
    we perform section placement to make section addresses unique within
    relocatable object files.
    
    Currently, if we reuse previously loaded (and cached) dwarf data then we
    neglect to perform section placement, the result is that the section
    addresses will not be unique, and we might, incorrectly associate an
    address with the wrong debug information, and so report an incorrect
    file and line number.
    
    Further we neglect to check that that bfd for which we are looking up
    debug information is actually the bfd for which the previous debug
    information was loaded, it is possible that we will reuse previously
    loaded debug information for a different bfd.
    
    And finally, due to following of gnu_debuglink links in one bfd to
    another, the process of checking that the cached debug information is
    valid requires us to track the original bfd in the cached debug
    information.  The original debug information here is either the bfd that
    we're interested in, not the bfd we finally load the debug information
    from.
    
    bfd/ChangeLog:
    
    	* dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
    	(_bfd_dwarf2_slurp_debug_info): If stashed debug information does
    	not match current bfd, then reload debug information.  Record bfd
    	we're loading debug info for in the stash.  If we have debug
    	informatin in the cache then perform section placement before
    	returning.
    
    ld/ChangeLog:
    
    	* testsuite/ld-elf/dwarf.exp (build_tests): Add new tests.
    	* testsuite/ld-elf/dwarf2.err: New file.
    	* testsuite/ld-elf/dwarf2a.c: New file.
    	* testsuite/ld-elf/dwarf2b.c: New file.
    	* testsuite/ld-elf/dwarf3.c: New file.
    	* testsuite/ld-elf/dwarf3.err: New file.

commit 2bd7f877afeadd6da4c6b1dfc4d0489e9c0efb55
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Feb 7 22:31:46 2017 +0000

    ld: Add additional checking for warnings/errors in testsuite
    
    This commit adds new actions to the run_cc_link_tests mechanism in the
    linker testsuite.
    
    Previously this procedure could take a parameter containing a regular
    expression that would be matched against warnings from the linker.
    
    After this commit the warnings parameter is removed, instead, the
    actions list can contain the actions 'warning', 'error',
    'warning_output', or 'error_output'.  The action names are chosen to
    match the actions already present in the run_dump_test procedure.
    
    These new actions allow for the current warning checking, but also allow
    for checking of errors using a regular expression.  More interestingly,
    the *_output actions allow for the warning/error patterns to be placed
    in a separate file.
    
    The small number of tests that make use of the warning parameter have
    been updated to the new mechanism.  Later commits will make use of the
    new features added in this commit.
    
    ld/ChangeLog:
    
    	* testsuite/lib/ld-lib.exp (run_cc_link_tests): Add warning,
    	error, warning_output, and error_output actions.  Remove separate
    	warnings parameter.
    	* testsuite/ld-elf/shared.exp (build_tests): Updated to use
    	'warning' action.
    	* testsuite/ld-plugin/lto.exp (lto_link_tests): Likewise.

commit 37d7d56caea508e836bc0d4f0fef0cb520f3ba22
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Feb 16 22:19:10 2017 +1030

    ld testsuite function pointer comparisons vs. hppa
    
    ld/testsuite/ld-elf/check-ptr-eq.c fails for hppa, since function
    pointers may point at plabels.  It isn't valid to cast two function
    pointers to void* and then compare the void pointers.
    
    	* testsuite/ld-elf/check-ptr-eq.c (check_ptr_eq): Change params
    	from void pointers to function pointers.
    	* testsuite/ld-elf/pr18718.c: Update to suit.
    	* testsuite/ld-elf/pr18720a.c: Update to suit.

commit a8c75b765e57aaebb99d4e32e0f228835cff2737
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 14 10:45:51 2017 +1030

    hppa -z relro again
    
    I misunderstood the hppa alias problem.  File offsets of segments need
    to be such that no page is mapped twice with different permissions.
    (Which still seems to me like something the kernel could fix, but
    anyhow, this is not so difficult to achieve in ld.)
    
    	PR 21000
    bfd/
    	* elf-bfd.h (struct elf_backend_data): Add no_page_alias.
    	* elfxx-target.h (elf_backend_no_page_alias): Define.
    	(elfNN_bed): Init new field.
    	* elf.c (assign_file_positions_for_load_sections): If no_page_alias
    	ensure PT_LOAD segment starts on a new page.
    	* elf32-hppa.c (elf_backend_no_page_alias): Define.
    ld/
    	* testsuite/ld-elf/loadaddr1.d: Adjust for hppa file offsets.
    	* testsuite/ld-elf/loadaddr2.d: Likewise.
    	* testsuite/ld-elf/loadaddr3a.d: Likewise.
    	* testsuite/ld-scripts/rgn-at5.d: Likewise.

commit 247d6c4c14769b7576d810a381a68e35388ee874
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Feb 16 12:23:12 2017 +1030

    PR21132, hppa-linux pie support doesn't work
    
    This fixes a long-standing hppa bug seen when generating PIEs, and I
    think possible to trigger with forced local symbols in shared
    libraries.  Not allocating enough space for PLT relocs results in ld
    writing outside of the buffer.
    
    	PR 21132
    	* elf32-hppa.c (allocate_plt_static): Allocate space for relocs
    	if pic.

commit a48cda7f860584f98825ee6715b0da2adf65bb1a
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Feb 16 15:13:56 2017 +1030

    Fix more powerpc testsuite source errors
    
    	* testsuite/ld-powerpc/vxworks1-lib.s: Correct addi to addic.
    	* testsuite/ld-powerpc/vxworks1-lib.dd: Adjust to suit.

commit 905712060597d0c7a13ffccbca40330c7ad3e3a8
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Feb 16 09:40:03 2017 +0000

    [Patch] Add BFD_LINKER_CREATED to BFD_FLAGS_SAVED
    
    bfd/
    	* bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
    	* bfd-in2.h: Regenerated.
    
    Bug exposed by https://sourceware.org/ml/binutils/2017-02/msg00128.html

commit 99e8a4f9f8832da0f37c6f35b11629b01897800d
Author: Sergio Durigan Junior <sergiodj@redhat.com>
Date:   Wed Feb 15 15:08:19 2017 -0500

    PR gdb/21164: maint print {symbols,msymbols,psymbols} without args crash
    
    This is a fix for PR gdb/21164.  The problem started to happen after:
    
     commit 34c41c681f4a0a0dfe0405c7d2aecf458520557a
     Author:     Doug Evans <xdje42@gmail.com>
     AuthorDate: Mon Dec 19 08:33:46 2016 -0800
    
        New syntax for mt print symbols,msymbols,psymbols.
    
    This change introduced new syntax for the mentioned commands, and
    improved the parsing of arguments by using 'gdb_buildargv'.  However,
    it is necessary to check if the argv being built is not NULL, which
    can happen if the user doesn't provide any arguments to these
    commands.
    
    gdb/ChangeLog:
    2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21164
    	* psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
    	NULL before using it.
    	* symmisc.c (maintenance_print_symbols): Likewise.
    	(maintenance_print_msymbols): Likewise.
    
    gdb/testsuite/ChangeLog:
    
    gdb/ChangeLog:
    2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
    
    	PR gdb/21164
    	* gdb.base/maint.exp: Add testcases for when the commands do
    	not have arguments.

commit eb721b5a6b458efe68cb56c75945f0f6e79b1cf6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Feb 16 00:00:30 2017 +0000

    Automatic date update in version.in

commit 2a5684011edabf5804abb9e11253a9747587b284
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Feb 15 11:39:30 2017 -0800

    i386: Allow "lea foo@GOT, %reg" in PIC
    
    "lea foo@GOT, %reg" is OK in PIC since it only loads the GOT offset
    into register, which can be used later with a GOT base register to
    get the value in the GOT entry.
    
    bfd/
    
    	PR ld/21168
    	* elf32-i386.c (elf_i386_relocate_section): Allow
    	"lea foo@GOT, %reg" in PIC.
    
    ld/
    
    	PR ld/21168
    	* testsuite/ld-i386/i386.exp: Run pr21168.
    	* testsuite/ld-i386/pr21168a.c: New file.
    	* testsuite/ld-i386/pr21168b.S: Likewise.

commit a5def14f1ca70e14d9433cb229c9369fa3051598
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Feb 15 10:55:51 2017 -0800

    Add a test for R_386_GOT32/R_386_GOT32X IFUNC reloc error
    
    bfd/
    
    	PR ld/20244
    	* elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
    	symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
    	error against local IFUNC symbol without a base register for
    	PIC.
    
    ld/
    
    	PR ld/20244
    	* testsuite/ld-i386/i386.exp: Run pr20244-4a, pr20244-4b and
    	pr20244-4c.
    	* testsuite/ld-i386/pr20244-4.s: New file.
    	* testsuite/ld-i386/pr20244-4a.d: Likewise.
    	* testsuite/ld-i386/pr20244-4b.d: Likewise.
    	* testsuite/ld-i386/pr20244-4c.d: Likewise.

commit f98d33be3af3a8d788aaef37e8fef167b59c81b2
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Feb 14 15:37:04 2017 -0800

    Add SFENCE.VMA instruction
    
    include/ChangeLog:
    
    2017-02-14  Andrew Waterman  <andrew@sifive.com>
    
            * opcode/riscv-opc.h (MATCH_SFENCE_VMA): New define.
            (MASK_SFENCE_VMA): Likewise.
            (sfence_vma): Declare instruction.
    
    opcodes/ChangeLog:
    
    2017-02-14  Andrew Waterman  <andrew@sifive.com>
    
            * riscv-opc.c (riscv_opcodes): Add sfence.vma instruction and
            pseudoinstructions.

commit 773fb663445646ebe45298e255d263f9520b2e2e
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Feb 15 16:54:21 2017 +0000

    [AArch64] Add SVE system registers
    
    This patch adds the SVE-specific system registers.
    
    opcodes/
    	* aarch64-opc.c (aarch64_sys_regs): Add SVE registers.
    	(aarch64_sys_reg_supported_p): Handle them.
    
    gas/
    	* testsuite/gas/aarch64/sve-sysreg.s,
    	testsuite/gas/aarch64/sve-sysreg.d,
    	testsuite/gas/aarch64/sve-sysreg-invalid.d,
    	testsuite/gas/aarch64/sve-sysreg-invalid.l: New tests.

commit 7a2114e7a4ee1fbb5a0611733c72a2a7acc733c7
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Wed Feb 15 16:51:17 2017 +0000

    [AArch64] Fix +sve documentation
    
    The documentation entry for the SVE feature incorrectly said that
    it was enabled by default for ARMv8-A or later.  This patch fixes
    that and also mentions that +sve implies +simd.  (It also implies
    +fp, but that follows by transitivity.)
    
    gas/
    	* doc/c-aarch64.texi: Fix sve entry.

commit ebf0b03c706b28c990f5f3c6713dacd23f58341e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Feb 7 02:08:23 2017 +0000

    LD: vfinfo: Make clever formatters consistent WRT function name reporting
    
    Remove an inconsistency in linker error message processing causing that
    it depends on the ability to infer the name of the originating source
    file whether or not the name of the offending function is repeated by
    clever formatters for each issue reported within the function.
    
    Taking the `ld/testsuite/ld-powerpc/tocopt7.s' test case source as an
    example and the `powerpc-linux' target we have:
    
    $ as -gdwarf2 -o tocopt.o -a64 tocopt.s
    $ ld -o tocopt -melf64ppc tocopt.o
    tocopt.o: In function `_start':
    tocopt.s:35:(.text+0x14): toc optimization is not supported for 0x3fa00000 instruction.
    tocopt.s:49:(.text+0x34): toc optimization is not supported for 0x3fa00000 instruction.
    $
    
    vs:
    
    $ as -o tocopt.o -a64 tocopt.s
    $ ld -o tocopt -melf64ppc tocopt.o
    tocopt.o: In function `_start':
    (.text+0x14): toc optimization is not supported for 0x3fa00000 instruction.
    tocopt.o: In function `_start':
    (.text+0x34): toc optimization is not supported for 0x3fa00000 instruction.
    $
    
    Similarly with the `mips-linux' target and this source:
    
    $ cat jal-global-multi-overflow.s
    	.text
    	.set	noreorder
    	.space	0x2000
    
    	.align	4
    	.globl	foo
    	.ent	foo
    foo:
    	jal	bar
    	 nor	$0, $0
    	jal	bar
    	 nor	$0, $0
    	.end	foo
    
    	.space	0x1ff0
    
    	.align	4
    	.globl	bar
    	.ent	bar
    bar:
    	jal	foo
    	 nor	$0, $0
    	jal	foo
    	 nor	$0, $0
    	.end	bar
    $ as -o jal-global-multi-overflow.o jal-global-multi-overflow.s
    $ ld -Ttext 0x1fffd000 -e foo -o jal-global-multi-overflow jal-global-multi-overflow.o
    jal-global-multi-overflow.o: In function `foo':
    (.text+0x2000): relocation truncated to fit: R_MIPS_26 against `bar'
    jal-global-multi-overflow.o: In function `foo':
    (.text+0x2008): relocation truncated to fit: R_MIPS_26 against `bar'
    jal-global-multi-overflow.o: In function `bar':
    (.text+0x4000): relocation truncated to fit: R_MIPS_26 against `foo'
    jal-global-multi-overflow.o: In function `bar':
    (.text+0x4008): relocation truncated to fit: R_MIPS_26 against `foo'
    $
    
    Not only this is inconsistent, but it causes output clutter as well with
    redundant information.
    
    The cause for this is a check in `vfinfo' the intent of which is to
    print the function heading whenever (among others) the name of the
    source file has changed, which however does not take into account a
    situation where the name couldn't have been established both now and
    previously.
    
    Adjust the check then for this situation, yielding:
    
    $ as -o tocopt.o -a64 tocopt.s
    $ ld -o tocopt -melf64ppc tocopt.o
    tocopt.o: In function `_start':
    (.text+0x14): toc optimization is not supported for 0x3fa00000 instruction.
    (.text+0x34): toc optimization is not supported for 0x3fa00000 instruction.
    $
    
    and:
    
    $ as -o jal-global-multi-overflow.o jal-global-multi-overflow.s
    $ ld -Ttext 0x1fffd000 -e foo -o jal-global-multi-overflow jal-global-multi-overflow.o
    jal-global-multi-overflow.o: In function `foo':
    (.text+0x2000): relocation truncated to fit: R_MIPS_26 against `bar'
    (.text+0x2008): relocation truncated to fit: R_MIPS_26 against `bar'
    jal-global-multi-overflow.o: In function `bar':
    (.text+0x4000): relocation truncated to fit: R_MIPS_26 against `foo'
    (.text+0x4008): relocation truncated to fit: R_MIPS_26 against `foo'
    $
    
    respectively instead.  Adjust the test suite accordingly.
    
    	ld/
    	* ldmisc.c (vfinfo): Don't print the function name again either
    	if no source file name has been found both now and previously.
    	* testsuite/ld-cris/tls-err-20x.d: Adjust accordingly.
    	* testsuite/ld-mips-elf/mode-change-error-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-mips16.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-micromips.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-r6-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-2.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-r6-2.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-3.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-jump.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-jump-mips16.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-jump-micromips.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-lwpc-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-ldpc-1.d: Likewise.
    	* testsuite/ld-powerpc/tocopt.out: Likewise.
    	* testsuite/ld-powerpc/tocopt7.out: Likewise.

commit 174d0a74a2e631d7303fe00b517bcee75003a4a6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Feb 7 02:07:21 2017 +0000

    PowerPC/BFD: Convert `%P: %H:' to `%H:' in error messages
    
    Remove an inconsistency in BFD linker error messages across the PowerPC
    backends, where in the presence of line information the `%P: %H:' format
    sequence makes the first error message produced for any given function
    different from subsequent ones.
    
    Taking the `ld/testsuite/ld-powerpc/tocopt7.s' test case source as an
    example and the `powerpc-linux' target we have:
    
    $ as -gdwarf2 -o tocopt.o -a64 tocopt.s
    $ ld -o tocopt -melf64ppc tocopt.o
    ld: tocopt.o: In function `_start':
    tocopt.s:35:(.text+0x14): toc optimization is not supported for 0x3fa00000 instruction.
    ld: tocopt.s:49:(.text+0x34): toc optimization is not supported for 0x3fa00000 instruction.
    $
    
    where the first error message does not have the source file name
    prefixed with the linker program executable's name, i.e. `ld:', whereas
    the second error message does, as would any subsequent.
    
    This is because with a multiple-line error message such as `%H' produces
    `%P' only prints the program executable's name on the first line and not
    any later ones.  Also the PowerPC backend is the only part of BFD which
    uses `%P' along with one of the clever `%C', `%D', `%G', `%H' format
    specifiers.  And last but not least this breaks a GNU Coding Standard's
    requirement that error messages from compilers should look like this:
    
    source-file-name:lineno: message
    
    also quoted in `vfinfo' code handling these specifiers.
    
    Convert `%P: %H:' to `%H:' in error messages across the PowerPC backends
    then, yielding:
    
    $ as -gdwarf2 -o tocopt.o -a64 tocopt.s
    $ ld -o tocopt -melf64ppc tocopt.o
    tocopt.o: In function `_start':
    tocopt.s:35:(.text+0x14): toc optimization is not supported for 0x3fa00000 instruction.
    tocopt.s:49:(.text+0x34): toc optimization is not supported for 0x3fa00000 instruction.
    $
    
    instead, making it consistent and matching the GNU Coding Standard's
    requirement.
    
    	bfd/
    	* elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
    	`%P: %H:' with `info->callbacks->einfo'.
    	(ppc_elf_relocate_section): Likewise.
    	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
    	(ppc64_elf_edit_toc): Likewise.
    	(ppc64_elf_relocate_section): Likewise.

commit befe814dd9ac6489c84ecd5c839b3b48aca95280
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Feb 7 02:06:20 2017 +0000

    LD: vfinfo: Remove static NULL initializers
    
    Remove static NULL initializers, moving the respective variables from
    data to BSS and saving some storage space.
    
    	ld/
    	* ldmisc.c (vfinfo) <'H'>: Remove static NULL initializers.

commit b58a8c0c83d58c8f4be67dc1d7a1d9a5e1edba82
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Wed Feb 15 11:24:27 2017 +0000

    Fix illegal upper case gdb cmd in chained-calls.exp
    
    3d7b173c29900879c9a5958dd6029fd36666e57c made upper case commands now
    illegal. However gdb.cp/chained-calls.exp still contains one test using
    P to print an expression. This patch fixes the testcase to use p
    instead.
    
    2017-02-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	gdb/
    	* gdb.cp/chained-calls.exp: Use p instead of P.

commit cc07cda69e26ef28895086e1f214ddd1d3cb939d
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Feb 15 11:57:51 2017 +0100

    [ARC] Fix assembler relaxation.
    
    Fix assembler relaxation step for add, ld, mov, mpy and sub
    instructions. Add tests to it.
    
    gas/
    2017-02-15  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* config/tc-arc.c (md_convert_frag): Remove @pcl relocation
    	information from input expression.
    	(assemble_insn): Make sure pcrel is correctly set.
    	(arc_pcrel_adjust): Compensate for PCL rounding.
    	* testsuite/gas/arc/relax-add01.d: New file.
    	* testsuite/gas/arc/relax-add01.s: Likewise.
    	* testsuite/gas/arc/relax-add02.d: Likewise.
    	* testsuite/gas/arc/relax-add02.s: Likewise.
    	* testsuite/gas/arc/relax-add03.d: Likewise.
    	* testsuite/gas/arc/relax-add03.s: Likewise.
    	* testsuite/gas/arc/relax-add04.d: Likewise.
    	* testsuite/gas/arc/relax-add04.s: Likewise.
    	* testsuite/gas/arc/relax-ld01.d: Likewise.
    	* testsuite/gas/arc/relax-ld01.s: Likewise.
    	* testsuite/gas/arc/relax-ld02.d: Likewise.
    	* testsuite/gas/arc/relax-ld02.s: Likewise.
    	* testsuite/gas/arc/relax-mov01.d: Likewise.
    	* testsuite/gas/arc/relax-mov01.s: Likewise.
    	* testsuite/gas/arc/relax-mov02.d: Likewise.
    	* testsuite/gas/arc/relax-mov02.s: Likewise.
    	* testsuite/gas/arc/relax-mpy01.d: Likewise.
    	* testsuite/gas/arc/relax-mpy01.s: Likewise.
    	* testsuite/gas/arc/relax-sub01.d: Likewise.
    	* testsuite/gas/arc/relax-sub01.s: Likewise.
    	* testsuite/gas/arc/relax-sub02.d: Likewise.
    	* testsuite/gas/arc/relax-sub02.s: Likewise.
    	* testsuite/gas/arc/relax-sub03.d: Likewise.
    	* testsuite/gas/arc/relax-sub03.s: Likewise.
    	* testsuite/gas/arc/relax-sub04.d: Likewise.
    	* testsuite/gas/arc/relax-sub04.s: Likewise.
    
    opcodes/
    2017-02-15  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-opc.c (UIMM6_20R): Define.
    	(SIMM12_20): Use above.
    	(SIMM12_20R): Define.
    	(SIMM3_5_S): Use above.
    	(UIMM7_A32_11R_S): Define.
    	(UIMM7_9_S): Use above.
    	(UIMM3_13R_S): Define.
    	(SIMM11_A32_7_S): Use above.
    	(SIMM9_8R): Define.
    	(UIMM10_A32_8_S): Use above.
    	(UIMM8_8R_S): Define.
    	(W6): Use above.
    	(arc_relax_opcodes): Use all above defines.

commit 7c723eecec713e1de9a95017aac29a40f3b9853a
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Feb 15 09:42:38 2017 +0000

    Move Eric Christopher to Past Maintainers list.
    
    	* MAINTAINERS: (MIPS, MN10300): Move Eric Christopher to Past
    	Maintainers section.

commit defe6f56b7c6ff106829ad3271ab9f1d501f4708
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Wed Feb 15 09:13:56 2017 +0000

    Use Windows style directory separators when running sysroot tests under MinGW and Cygwin.
    
    	* testsuite/ld-scripts/sysroot-prefix.exp
    	(get_base_dir_for_scripts): New function.
    	(run_sysroot_prefix_test): Use get_base_dir_for_scripts.

commit f9029569740a8ef2a66b3578fa6c89c0ab62be52
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Feb 15 00:55:04 2017 -0800

    Don't give an internal error for unsupported relocations.
    
    gold/
    	* mips.cc (Target_mips::Scan::get_reference_flags): Remove
    	gold_unreachable from default case.

commit e242ece1e890b66d226b38b489a7edd79b3656d5
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Wed Feb 15 00:47:36 2017 -0800

    Add support for R_MIPS_HIGHER/HIGHEST, R_MICROMIPS_HIGHER/HIGHEST relocations.
    
    2017-02-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
    
            PR gold/21111
            * mips.cc (Mips_relocate_functions::relhigher): New method.
            (Mips_relocate_functions::relhighest): Likewise.
            (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and
            R_MIPS_HIGHEST.
            (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER,
            R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST.
            (Target_mips::Scan::global): Likewise.
            (Target_mips::Scan::get_reference_flags): Likewise.
            (Target_mips::Relocate::relocate): Call static methods for resolving
            HIGHER and HIGHEST relocations.

commit 66a5a74065ac79b90618b02f4c550904b50a59f5
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Wed Feb 15 08:52:53 2017 +0000

    Distinguish some of the registers different on ARC700 and HS38 cpus
    
    opcodes	* arc-regs.h: Distinguish some of the registers different on
    	ARC700 and HS38 cpus.
    
    gas	* testsuite/gas/arc/st.d: Update for 0xe having a name now

commit 4aebb6312eb5dcd12f2f8420028547584b708907
Author: Rahul Chaudhry <rahulchaudhry@google.com>
Date:   Wed Feb 15 00:37:10 2017 -0800

    Improved support for --icf=safe when used with -pie.
    
    gold/
    	* x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
    	Return true even when building pie binaries.
    	(Target_x86_64::possible_function_pointer_reloc): Check opcode
    	for R_X86_64_PC32 relocations.
    	(Target_x86_64::local_reloc_may_be_function_pointer): Pass
    	extra arguments to local_reloc_may_be_function_pointer.
    	(Target_x86_64::global_reloc_may_be_function_pointer): Likewise.
    	* gc.h (gc_process_relocs): Add check for STT_FUNC.
    	* testsuite/Makefile.am (icf_safe_pie_test): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/icf_safe_pie_test.sh: New shell script.

commit 4e746bb68947abd2f64ced0dcf5a00021571e45d
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Wed Feb 15 08:08:17 2017 +0100

    Add missing ChangeLog entries.
    
    This adds the missing ChangeLog entries for the "Python bindings" patch series.

commit 186907941a65e5654883175c04f4e4f0bf662456
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Feb 15 00:00:23 2017 +0000

    Automatic date update in version.in

commit 742e3a7781c7f29136ccc36673ef2c887ba2860d
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Tue Feb 14 15:23:12 2017 -0800

    Add self to aarch64 maintainers.  Fix mla instruction.
    
    	sim/
    	* MAINTAINTERS (aarch64): Add myself.
    
    	sim/aarch64/
    	* simulator.c (do_vec_MLA): Rewrite switch body.
    
    	sim/testsuite/sim/aarch64/
    	* mla.s: New.

commit bf25e9a0f1315829defcb6ef36d8fef9d370e822
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Tue Feb 14 14:35:57 2017 -0800

    Fix bit/bif instructions.
    
    	sim/aarch64/
    	* simulator.c (do_vec_bit): Change loop limits from 16 and 8 to 4 and
    	2.  Move test_false if inside loop.  Fix logic for computing result
    	stored to vd.
    
    	sim/testsuite/sim/aarch64
    	* bit.s: New.

commit e8f42b5e36b2083e36855007442aff110291b6aa
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Tue Feb 14 14:31:03 2017 -0800

    Add ldn/stn single support, fix ldnr support.
    
    	sim/aarch64/
    	* simulator.c: (LDn_STn_SINGLE_LANE_AND_SIZE): New.
    	(do_vec_LDn_single, do_vec_STn_single): New.
    	(do_vec_LDnR): Add and set new nregs var.  Replace switch on nregs with
    	loop over nregs using new var n.  Add n times size to address in loop.
    	Add n to vd in loop.
    	(do_vec_load_store): Add comment for instruction bit 24.  New var
    	single to hold instruction bit 24.  Add new code to use single.  Move
    	ldnr support inside single if statements.  Fix ldnr register counts
    	inside post if statement.  Change HALT_NYI calls to HALT_UNALLOC.
    
    	sim/testsuite/sim/aarch64/
    	* ldn_single.s: New.
    	* ldnr.s: New.
    	* stn_single.s: New.

commit 3f77c7691fc5ff92eef90f39bb972f25c7422fb0
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Apr 29 09:44:24 2015 -0600

    PR python/13598 - add before_prompt event
    
    This adds an event that is emitted just before GDB presents a prompt
    to the user.  This provides Python code a way to react to whatever
    changes might have been made by the previous command.  For example, in
    my GUI I use this to track changes to the selected frame and reflect
    them in the UI.
    
    Built and regtested on x86-64 Fedora 23.
    
    gdb/ChangeLog
    2017-02-14  Tom Tromey  <tom@tromey.com>
    
    	PR python/13598:
    	* python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
    	event.
    	* python/py-evts.c (gdbpy_initialize_py_events): Add
    	before_prompt registry.
    	* python/py-events.h (events_object) <before_prompt>: New field.
    
    gdb/doc/ChangeLog
    2017-02-14  Tom Tromey  <tom@tromey.com>
    
    	PR python/13598:
    	* python.texi (Events In Python): Document events.before_prompt.
    
    gdb/testsuite/ChangeLog
    2017-02-14  Tom Tromey  <tom@tromey.com>
    
    	PR python/13598:
    	* gdb.python/py-events.exp: Add before_prompt event tests.

commit 075beec08ae857d918890c30d290863abb3f7f57
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Feb 14 18:17:19 2017 +0100

    Big-endian targets: Fix implptrpiece.exp
    
    The test case implptrpiece.exp accesses the second byte of the short
    integer number 1 and expects it to be zero.  This is valid for
    little-endian targets, but fails on big-endian targets.
    
    This is fixed by distinguishing the expected value by endianness.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/implptrpiece.exp: Fix check for big-endian targets.

commit bc303e5d6c2dd33086478f80fd1d3096d4e1bc01
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 14 15:10:34 2017 +0000

    Fix invalid memory access displayiing contents of sections.
    
    	PR binutils/21159
    	* readelf.c (dump_section_as_strings): Reset the start address if
    	no decompression is perfromed.
    	(dump_section_as_bytes): Likewise.

commit 92134dc19b4bf6407a88a306b771c9c6c88658d6
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 14 14:17:09 2017 +0000

    Fix an illegal memory access parsing corrupt STABD debug information.
    
    	PR binutils/21158
    	* rddbg.c (read_symbol_stabs_debugging_info): Check for a null or
    	empty symbol name.

commit a2dea0b20bc66a4c287c3c50002b8c3b3e9d953a
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 14 14:07:29 2017 +0000

    Fix handling of corrupt STABS enum type strings.
    
    	PR binutils/21157
    	* stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
    	pairs.
    	(parse_number): Exit early if passed an empty string.

commit b32e566ba6ee02687c6def22ade0899076adf7dd
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Feb 14 13:24:09 2017 +0000

    Fix illegal memory access problems with readelf processing corrupt RL78 binaries.
    
    	PR binutils/21155
    	* readelf.c (IN_RANGE): New macro.  Tests for an address + offset
    	being within a given range.
    	(target_specific_reloc_handling): Use macro to test for underflow
    	as well as overflow of reloc offset.

commit 7e0de605cbacbbbb2531bb70506c0843aea13111
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 14 20:38:21 2017 +1030

    PowerPC register expression checks
    
    This stops powerpc gas blithely accepting such nonsense as
    "addi %f4,%cr3,%r31".
    
    	PR 21118
    gas/
    	* NEWS: Mention powerpc register checks.
    	* config/tc-ppc.c (struct pd_reg): Make value a short.  Add flags.
    	(pre_defined_registers): Delete fpscr and pmr entries.  Set
    	register type in flags.
    	(cr_names): Set type in flags.
    	(reg_name_search): Return pointer to struct pd_reg rather than value.
    	(register_name): Adjust to suit.  Set X_md from flags.
    	(ppc_parse_name): Likewise.
    	(ppc_optimize_expr): New function.
    	(md_assemble): Verify expresion reg flags match operand.
    	* config/tc-ppc.h (md_optimize_expr): Define.
    	(ppc_optimize_expr): Declare.
    include/
    	* opcode/ppc.h (PPC_OPERAND_*): Reassign values, regs first.
    	(PPC_OPERAND_SPR, PPC_OPERAND_GQR): Define.
    opcodes/
    	* ppc-opc.c (powerpc_operands): Flag SPR, SPRG and TBR entries
    	with PPC_OPERAND_SPR.  Flag PSQ and PSQM with PPC_OPERAND_GQR.

commit 606a935e3a9066ab11308b8c934c9bdec7f128d3
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 14 20:30:27 2017 +1030

    Fix powerpc testsuite source errors
    
    PR 21118 work exposed these errors in the testsuite.
    
    	* testsuite/gas/ppc/cell.s: Correct invalid registers.
    	* testsuite/gas/ppc/vle-simple-1.s: Likewise.
    	* testsuite/gas/ppc/vle-simple-2.s: Likewise.

commit e278ae05839ccffa234e0bfb4286b9f9a9dfbd28
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Feb 14 15:59:13 2017 +1030

    Update ppc64_elf_gc_mark_dynamic_ref
    
    	* elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
    	--gc-keep-exported, and test versioned field of sym rather than
    	looking for @ in name.

commit 0a0faf9fc652903d6467fc2bc8609891be730bdb
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    Add documentation for new record Python bindings.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog:
    
    	* NEWS: Add record Python bindings entry.
    
    gdb/doc/ChangeLog:
    
    	* python.texi (Recordings In Python): New section.
    
    Change-Id: Ibacb5930085bff36b0003fde30db9a8178cb280b

commit 714aa61c16ec17d75931ae2566acef61981b93ca
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    python: Add tests for record Python bindings
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/testsuite/ChangeLog:
    
            * gdb.python/py-record-btrace.c, gdb.python/py-record-btrace.exp,
    	gdb.python/py-record-full.c, gdb.python/py-record-full.exp: New file.
    
    Change-Id: Icd919b4e1d5642f5cbc097a6aede1416eba402e5

commit 75c0bdf484b7a949a53b04edd95edca5f4662184
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    python: Implement btrace Python bindings for record history.
    
    This patch implements the gdb.Record Python object methods and fields for
    record target btrace.  Also, implement a stub for record target full.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog:
    
    	* Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
    	py-record-full.o.
    	(SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
    	* python/py-record-btrace.c, python/py-record-btrace.h,
    	python/py-record-full.c, python/py-record-full.h: New file.
    	* python/py-record.c: Add include for py-record-btrace.h and
    	py-record-full.h.
    	(recpy_method, recpy_format, recpy_goto, recpy_replay_position,
    	recpy_instruction_history, recpy_function_call_history, recpy_begin,
    	recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
    	* python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
    	New definition.
    	(gdbpy_initialize_btrace): New export.
    	* python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
    
    Change-Id: I8bd893672ffc7e619cc1386767897249e125973a

commit 4726b2d82c89fe6f8e769d1ae9f9e5e528f91156
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    python: Create Python bindings for record history.
    
    This patch adds three new functions to the gdb module in Python:
    	- start_recording
    	- stop_recording
    	- current_recording
    start_recording and current_recording return an object of the new type
    gdb.Record, which can be used to access the recorded data.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog
    
    	* Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
    	(SUBDIR_PYTHON_SRCS): Add python/py-record.c.
    	* python/py-record.c: New file.
    	* python/python-internal.h (gdbpy_start_recording,
    	gdbpy_current_recording, gdpy_stop_recording,
    	gdbpy_initialize_record): New export.
    	* python/python.c (_initialize_python): Add gdbpy_initialize_record.
    	(python_GdbMethods): Add gdbpy_start_recording,
    	gdbpy_current_recording and gdbpy_stop_recording.
    
    Change-Id: I772aa9aa068621443f10a330b11dc7dc9a63face

commit b158a20f26f1d226088122e8c4fa5a23bb893a48
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Tue Dec 13 11:24:56 2016 +0100

    Add method to query current recording method to target_ops.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog
    
    	* record-btrace.c (record_btrace_record_method): New function.
    	(init_record_btrace_ops): Initialize to_record_method.
    	* record-full.c (record_full_record_method): New function.
    	(init_record_full_ops, init_record_full_core_ops): Add
    	record_full_record_method.
    	* record.h (enum record_method): New enum.
    	* target-debug.h (target_debug_print_enum_record_method: New define.
    	* target-delegates.c: Regenerate.
    	* target.c (target_record_method): New function.
    	* target.h: Include record.h.
    	(struct target_ops) <to_record_method>: New field.
    	(target_record_method): New export.
    
    Change-Id: I05daa70e4e08a19901e848c731bb7d60cd87cc5a

commit 45b196c59065cd2c5b750b78a0329d42f6e924b1
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    Add record_start and record_stop functions.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog
    
    	* record.h (record_start, record_stop): New export.
    	* record.c (record_start, record_stop): New function.
    
    Change-Id: If235d4bde8ec61dab6dbd23e087430e66d2e91a7

commit fdd2bd920bd67e6a1e877baf52b9c138c00da13f
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    btrace: Use binary search to find instruction.
    
    Currently, btrace_find_insn_by_number will iterate over all function call
    segments to find the one that contains the needed instruction.  This linear
    search is too slow for the upcoming Python bindings that will use this
    function to access instructions.  This patch introduces a vector in struct
    btrace_thread_info that holds pointers to all recorded function segments and
    allows to use binary search.
    
    The proper solution is to turn the underlying tree into a vector of objects
    and use indices for access.  This requires more work.  A patch set is
    currently being worked on and will be published later.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog:
    	* btrace.c (btrace_fetch): Copy function call segments pointer
    	into a vector.
    	(btrace_clear): Clear the vector.
    	(btrace_find_insn_by_number): Use binary search to find the correct
    	function call segment.
    	* btrace.h (brace_fun_p): New typedef.
    	(struct btrace_thread_info) <functions>: New field.
    
    Change-Id: I8a7f67e80bfe4ff62c4192f74a2153a70bf2a035

commit 508352a9bf3f84f2d731397bb0d9382c84f27f25
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    btrace: Export btrace_decode_error function.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog:
    
    	* record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
    	* btrace.c (btrace_decode_error): ... here.  New function.
    	* btrace.h (btrace_decode_error): New export.
    
    Change-Id: I2b4b43a55dbfd9f526a540d2ad52a6708f31feba

commit 69090ceead6fa841669eea0c81b3e8e9695def5f
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Nov 21 16:39:57 2016 +0100

    btrace: Count gaps as one instruction explicitly.
    
    This gives all instructions, including gaps, a unique number.  Add a function
    to retrieve the error code if a btrace instruction iterator points to an
    invalid instruction.
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog:
    
    	* btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
    	(ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
    	btrace_find_insn_by_number): Remove special case for gaps.
    	* btrace.h (btrace_insn_get_error): New export.
    	(btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
    	* record-btrace.c (btrace_insn_history): Print number for gaps.
    	(record_btrace_info, record_btrace_goto): Handle gaps.
    
    Change-Id: I8eb0e48a95f4278522fea74ea13526bfe6898ecc

commit 4c2c7ac69d7318d61a5c0e4f5ddcee1c1597f4e0
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Jan 30 09:16:27 2017 +0100

    btrace: preserve call stack on function switch
    
    On 64-bit FC25, the _dl_runtime_resolve function uses a conditional branch to
    'call' a particular variant optimized for that system:
    
        (gdb) disas _dl_runtime_resolve_avx_opt
        Dump of assembler code for function _dl_runtime_resolve_avx_opt:
           0x00007ffff7deeb60 <+0>: push   %rax
           0x00007ffff7deeb61 <+1>: push   %rcx
           0x00007ffff7deeb62 <+2>: push   %rdx
           0x00007ffff7deeb63 <+3>: mov    $0x1,%ecx
           0x00007ffff7deeb68 <+8>: xgetbv
           0x00007ffff7deeb6b <+11>: mov    %eax,%r11d
           0x00007ffff7deeb6e <+14>: pop    %rdx
           0x00007ffff7deeb6f <+15>: pop    %rcx
           0x00007ffff7deeb70 <+16>: pop    %rax
           0x00007ffff7deeb71 <+17>: and    $0x4,%r11d
           0x00007ffff7deeb75 <+21>: bnd je 0x7ffff7def4a0 <_dl_runtime_resolve_sse_vex>
        End of assembler dump.
    
    When computing the function-level trace, btrace treats this as a switch from
    _dl_runtime_resolve_avx_opt to _dl_runtime_resolve_sse_vex.  We know that we
    switched functions but we can't really say in which caller/callee relationship
    those two functions are.
    
    In addition to preserving the indentaion level, also preserve the caller
    information.  This is a heuristic since we don't really know.  But at least in
    this case, this seems to be the right thing to do.
    
    This fixes a fail in gdb.btrace/rn-dl-bind.exp on 64-bit FC25.
    
    gdb/
    	* btrace.c (ftrace_new_switch): Preserve up link and flags.

commit 61697d017e114d7667fbb340fb73f8184d48ee5a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Feb 14 00:00:30 2017 +0000

    Automatic date update in version.in

commit 10ddfe62f8979cfe380b07c4f827e72681cc612a
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Wed Feb 8 11:26:07 2017 -0800

    Don't use "_gp" on RISC-V, use "_global_pointer$" instead
    
    "_gp" could conflict with ABI-complient code.  While it's probably OK
    because MIPS uses this name, we figured it'd be good to clean this up
    before a release with RISC-V in it.
    
    ld/ChangeLog:
    
    2017-02-13  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * emulparams/elf32lriscv-defs.sh (SDATA_START_SYMBOLS): Change
            _gp to __global_pointer$.
    
    bfd/ChangeLog:
    
    2017-02-13  Palmer Dabbelt  <palmer@dabbelt.com>
    
            * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
            __global_pointer$.

commit d11135f55294d75099ad03f81bacbe8ae93a6b28
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 17:51:27 2017 +0000

    Fix invalid memory access in the BFD library's DWARF parser.
    
    	PR binutils/21151
    	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
    	unit length field.

commit 3c6452ae8df5a4707c77aacc514a3a95bf3f24b7
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon Feb 13 17:46:59 2017 +0000

    [ARM] Allow immediate without prefix in unified syntax for VCMP
    
    2017-02-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    	gas/
    	* config/tc-arm.c (parse_ifimm_zero): Make prefix optional in unified
    	syntax.
    	* testsuite/gas/arm/vcmp-noprefix-imm.d: New file.
    	* testsuite/gas/arm/vcmp-noprefix-imm.s: New file.

commit c12214021dedefcc2320827bcc1751f2d94ca2c6
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 17:23:10 2017 +0000

    Fix illegal memory access bug in nm when run on a corrupt binary.
    
    	PR binutils/21150
    	* nm.c (file_symbol): Add test of string length before testing
    	string characters.

commit 1835f746a7c7fff70a2cc03a051b14fdc6b3f73f
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 15:19:48 2017 +0000

    Extend previous patch to cover uncompress_section_contents returning FALSE to other callers.
    
    	PR binutils/21135
    	(dump_section_as_bytes, load_specific_debug_section): Likewise.

commit f055032e4e922f1e1a5e11026c7c2669fa2a7d19
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 15:04:37 2017 +0000

    Fix invalid read of section contents whilst processing a corrupt binary.
    
    	PR binutils/21135
    	* readelf.c (dump_section_as_bytes): Handle the case where
    	uncompress_section_contents returns false.

commit ebdf1ebfa551fd4624c3cd05401aa3c01ea2ebbe
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 14:52:48 2017 +0000

    Fix invalid memory access attempting to read the compression header of a too-small compressed section.
    
    	PR binutils/21149
    	* readelf.c (get_compression_header): Add size parameter.  Check
    	size against sizeof compression header before attempting to
    	extract the header.
    	(process_section_headers): Pass size to get_compression_header.
    	(dump_section_as_strings): Likewise.
    	(dump_section_as_bytes): Likewise.
    	(load_specific_debug_section): Likewise.

commit 4aeb00ad3cc6a29b32f0a4e42c2f64d55e25b76d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 14:35:24 2017 +0000

    Fix check for buffer overflow when processing version information.
    
    	PR binutils/21148
    	* readelf.c (process_version_sections): Include size of auxillary
    	version information when checking for buffer overflow.

commit 0ee3043f58aae078a1ecc54b7be2810cae39a718
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 14:17:07 2017 +0000

    Fix access violation when reporting sections that could not be dumped.
    
    	PR binutils/21147
    	* readelf.c (process_section_contents): Fix off by one error
    	reporting un-dumped sections.

commit f84ce13b6708801ca1d6289b7c4003e2f5a6d7f9
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 14:03:22 2017 +0000

    Fix read-after-free error in readelf when processing multiple, relocated sections in an MSP430 binary.
    
    	PR binutils/21139
    	* readelf.c (target_specific_reloc_handling): Add num_syms
    	parameter.  Check for symbol table overflow before accessing
    	symbol value.  If reloc pointer is NULL, discard all saved state.
    	(apply_relocations): Pass num_syms to target_specific_reloc_handling.
    	Call target_specific_reloc_handling with a NULL reloc pointer
    	after processing all of the relocs.

commit 5cf30ebf64d3c6da961094c615a94d2f1682a478
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Feb 13 07:29:30 2017 -0600

    Improve load command's help text
    
    This fairly obvious patch adds usage text to the load command's help text.
    
    Originally it did not have usage and mentioned things like FILE and OFFSET
    without explaining how those should be passed in the command.
    
    gdb/ChangeLog:
    
    2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
    
    	* symfile (_initialize_symfile): Add usage text to the load command's
    	help text.
    
    gdb/doc/ChangeLog:
    
    2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.texinfo (Target Commands): Document the optional offset
    	argument for the load command.

commit bf5f525c8908b03f4892433baa707310b0b9959d
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Feb 13 07:16:34 2017 -0600

    Fix gdb.linespec/explicit.exp
    
    This patch addresses timeout failures i noticed while testing aarch64-elf.
    
    FAIL: gdb.linespec/explicit.exp: complete unique function name (timeout)
    FAIL: gdb.linespec/explicit.exp: complete non-unique function name (timeout)
    FAIL: gdb.linespec/explicit.exp: complete non-existant function name (timeout)
    FAIL: gdb.linespec/explicit.exp: complete unique file name (timeout)
    FAIL: gdb.linespec/explicit.exp: complete non-unique file name (timeout)
    
    The timeouts were caused by an attempt to match a bell character (x07) that
    doesn't show up on my particular test setup.
    
    The bell character is output whenever one tries to complete a pattern and there
    are multiple possible matches. When there is only one possible match, GDB will
    complete the input pattern without outputting the bell character.
    
    The reason for the discrepancy in this test's behavior is due to the use of
    "main" for a unique name test.
    
    On glibc-based systems, GDB may notice the "main_arena" symbol, which is
    a data global part of glibc's malloc implementation. Therefore a bell character
    will be output because we have a couple possible completion matches.
    
    GDB should not be outputting such a data symbol as a possible match, but this
    problem may/will be addressed in a future change and is besides the point of
    this particular change.
    
    On systems that are not based on glibc, GDB will not see any other possible
    matches for completing "main", so there will be no bell characters.
    
    The use of main is a bit fragile though, so the patch adds a new local function
    with a name that has a greater chance of being unique and adjusts the test to
    iuse it.
    
    I've also added the regular expression switch (-re) to all the
    gdb_test_multiple calls that were missing it. Hopefully this will reduce the
    chances of someone wasting time trying to match a regular expression (a much
    more common use case) when, in reality, the pattern is supposed to be matched
    literally.
    
    gdb/testsuite/ChangeLog
    
    2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.linespec/explicit.c (my_unique_function_name): New function.
    	(main): Call my_unique_function_name.
    	* gdb.linespec/explicit.exp: Use my_unique_function_name to test
    	completion of patterns with a single match.
    	Add missing -re switches to gdb_test_multiple calls.

commit 13a66184d0cb485907bfcad15aac0622fd86d25f
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Feb 13 07:12:17 2017 -0600

    Make gdb.arch/i386-biarch-core.exp more robust
    
    This test attempts to load a x86 core file no matter what target
    architectures the tested GDB supports. If GDB doesn't know how to handle
    a i386 target, it is very likely the core file will not be recognized.
    
    In this case we should still attempt to load a core file to make sure GDB
    doesn't crash or throws an internal error.  But we should not proceed to
    try to read memory unconditionally.
    
    This patch makes the test check for proper i386 arch support in GDB and bails
    out if i386 is not supported and the core file format is not recognized.
    
    This addresses the spurious aarch64-elf failures i'm seeing for this test.
    
    gdb/testsuite/ChangeLog:
    
    2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.arch/i386-biarch-core.exp: Check for i386 arch support and
    	return if core file is not recognized.

commit 03f7786e2f440b9892b1c34a58fb26222ce1b493
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Feb 13 13:08:32 2017 +0000

    Fix readelf writing to illegal addresses whilst processing corrupt input files containing symbol-difference relocations.
    
    	PR binutils/21137
    	* readelf.c (target_specific_reloc_handling): Add end parameter.
    	Check for buffer overflow before writing relocated values.
    	(apply_relocations): Pass end to target_specific_reloc_handling.

commit 13a590ca65f744c8fa55d6e0748cb12f443493f0
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Feb 13 00:12:35 2017 -0500

    sim: use ARRAY_SIZE instead of ad-hoc sizeof calculations

commit b1499fc214c2877ba76d7dffd4c41e33f3ec37f6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Feb 13 00:00:29 2017 +0000

    Automatic date update in version.in

commit 61351dd701023dcae180c1735c85740c8af3a85d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Feb 12 00:00:23 2017 +0000

    Automatic date update in version.in

commit 54064fdb792313355c92d9880680fad825d71ebd
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Feb 11 17:17:59 2017 +1030

    Fix use after free in cgen instruction lookup
    
    	* cgen-opc.c (cgen_lookup_insn): Delete buf and base_insn temps.
    	Use insn_bytes_value and insn_int_value directly instead.  Don't
    	free allocated memory until function exit.

commit 09ec4d3122e69d1ff040e59394879b4d8d154605
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Feb 11 00:00:30 2017 +0000

    Automatic date update in version.in

commit 26a06916b684ceda25c2edb43141e1101bf337c6
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Feb 10 16:29:50 2017 -0500

    Do not send queries on secondary UIs
    
    This is a follow-up to
    
      https://sourceware.org/ml/gdb-patches/2017-02/msg00261.html
    
    This patch restricts queries to the main UI, which allows to avoid two
    different problems.
    
    The first one is that GDB is issuing queries on secondary MI channels
    for which a TTY is allocated.  The second one is that GDB is not able to
    handle queries on two (CLI) UIs simultaneously.  Restricting queries to
    the main UI allows to bypass these two problems.
    
    More details on how/why these two problems happen:
    
    1. Queries on secondary MI UI
    
      The current criterion to decide if we should query the user is whether
      the input stream is a TTY.  The original way to start GDB in MI mode
      from a front-end was to create a subprocess with pipes to its
      stdin/stdout.  In this case, the input was considered non-interactive
      and queries were auto-answered.  Now that front-ends can create the MI
      channel as a separate UI connected to a dedicated TTY, GDB now
      considers this input stream as interactive and sends queries to it.
      By restricting queries to the main UI, we make sure we never query on
      the secondary MI UI.
    
    2. Simultaneous queries
    
      As Pedro stated it, when you have two queries on two different CLI UIs
      at the same time, you end up with the following pseudo stack:
    
      #0 gdb_readline_wrapper
      #1 defaulted_query                 // for UI #2
      #2 handle_command
      #3 execute_command ("handle SIGTRAP" ....
      #4 stdin_event_handler             // input on UI #2
      #5 gdb_do_one_event
      #7 gdb_readline_wrapper
      #8 defaulted_query                 // for UI #1
      #9 handle_command
      #10 execute_command ("handle SIGINT" ....
      #11 stdin_event_handler            // input on UI #1
      #12 gdb_do_one_event
      #13 gdb_readline_wrapper
    
      trying to answer the query on UI #1 will therefore answer for UI #2.
    
      By restricting the queries to the main UI, we ensure that there will
      never be more than one pending query, since you can't have two queries
      on a UI at the same time.
    
    I added a snippet to gdb.base/new-ui.exp to verify that we get a query
    on the main UI, but that we don't on the secondary one (or, more
    precisely, that it gets auto-answered).
    
    gdb/ChangeLog:
    
    	* utils.c (defaulted_query): Don't query on secondary UIs.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/new-ui.exp (do_test): Test queries behavior on main
    	and extra UIs.

commit b761ca9e3d6e9c0f1762e0994dfdf2b989e3fc21
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Feb 10 16:29:45 2017 -0500

    new-ui.exp: Use proc_with_prefix
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/new-ui.exp (do_test, do_test_invalid_args): Use
    	proc_with_prefix.

commit 0b145e37a29cd96e567293dc69c0fd4f8af243b9
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Feb 10 13:09:23 2017 -0700

    Remove unused variable in rust-lang.c
    
    I found another unused "cleanup" local variable, this time in
    rust-lang.c.  This patch removes it.  Committing as obvious.
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (rust_get_disr_info): Remove unused variable.

commit b964bee0f058b8e63c9206a8862b2fc1253f1bbd
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 9 13:39:32 2017 -0700

    Fix Python test to use lowercase command
    
    While testing this series I saw some errors from the Python test
    suite.  There were a couple of tests using "P" as a command; this
    changes them to "p".
    
    gdb/testsuite/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* gdb.python/py-xmethods.exp: Use "p" command, not "P".

commit 2d8365c48f797c7b947623eed8b1285d98323b68
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 9 13:32:48 2017 -0700

    Remove unnecessary local variables
    
    I found an unused local variables in a couple of places in the Python
    code; this removes them.
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-value.c (valpy_richcompare_throw): Remove unnecessary
    	"cleanup" local.
    	* python/py-type.c (typy_legacy_template_argument): Remove
    	unnecessary "cleanup" local.

commit 2bb8f231957e2beecfb689a896252b8d9fb67e23
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jan 12 08:59:26 2017 -0700

    Remove some gotos from Python
    
    This patch slightly refactors a couple of spots in the Python code to
    avoid some gotos.
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (do_start_initialization): New function, from
    	_initialize_python.
    	(_initialize_python): Call do_start_initialization.
    	* python/py-linetable.c (ltpy_iternext): Use explicit returns, not
    	goto.

commit 1bdfaf42ac152bb30e2b3ae3ab67b241835bba44
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jan 12 07:46:07 2017 -0700

    Change one more spot to use gdbpy_ref
    
    This patch changes one more spot in the Python layer to use gdbpy_ref.
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-prettyprint.c (pretty_print_one_value): Use
    	gdbpy_ref.

commit 88b6faea9953505e9e8a7a77995c7db5dfb6ac19
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Jan 11 16:28:43 2017 -0700

    Use gdbpy_ref to simplify some logic
    
    This uses the new gdbpy_ref template to simplify logic in various
    parts of the Python layer; for example removing repeated error code or
    removing gotos.
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
    	* python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
    	gdbpy_ref.
    	* python/py-type.c (field_new): Use gdbpy_ref.
    	* python/py-symtab.c (symtab_and_line_to_sal_object): Use
    	gdbpy_ref.
    	* python/py-progspace.c (pspy_new): Use gdbpy_ref.
    	(py_free_pspace): Likewise.
    	(pspace_to_pspace_object): Likewise.
    	* python/py-objfile.c (objfpy_new): Use gdbpy_ref.
    	(py_free_objfile): Likewise.
    	(objfile_to_objfile_object): Likewise.
    	* python/py-inferior.c (delete_thread_object): Use
    	gdbpy_ref.
    	(infpy_read_memory): Likewise.
    	(py_free_inferior): Likewise.
    	* python/py-evtregistry.c (create_eventregistry_object): Use
    	gdbpy_ref.
    	* python/py-event.c (create_event_object): Use gdbpy_ref.

commit 7780f18678aeb553778633aeb50f41694f55bf27
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 9 13:16:36 2017 -0700

    Turn gdbpy_ref into a template
    
    This turns gdbpy_ref into a template class, so that it can be used to
    wrap subclasses of PyObject.  The default argument remains PyObject;
    and this necessitated renaming uses of "gdbpy_ref" to "gdbpy_ref<>".
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-ref.h (gdbpy_ref_policy): Now a template.
    	(gdbpy_ref): Now a template; allow subclasses of PyObject to be
    	used.
    	* python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
    	python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
    	python/py-exitedevent.c, python/py-finishbreakpoint.c,
    	python/py-framefilter.c, python/py-function.c,
    	python/py-inferior.c, python/py-infevents.c,
    	python/py-linetable.c, python/py-newobjfileevent.c,
    	python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
    	python/py-signalevent.c, python/py-stopevent.c,
    	python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
    	python/py-unwind.c, python/py-utils.c, python/py-value.c,
    	python/py-varobj.c, python/py-xmethods.c, python/python.c,
    	varobj.c: Change gdbpy_ref to gdbpy_ref<>.

commit d4b0bb186e204f77ed70bc719d16c6ca302094fd
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jan 10 23:34:22 2017 -0700

    Remove some ui_out-related cleanups from Python
    
    This patch introduces a bit of infrastructure -- namely, a minimal
    std::optional analogue called gdb::optional, and an RAII template
    class that works like make_cleanup_ui_out_tuple_begin_end or
    make_cleanup_ui_out_list_begin_end -- and then uses these in the
    Python code.  This removes a number of cleanups and generally
    simplifies this code.
    
    std::optional is only available in C++17.  Normally I would have had
    this code check __cplusplus, but my gcc apparently isn't new enough to
    find <optional>, even with -std=c++1z; so, because I could not test
    it, the patch does not do this.
    
    gdb/ChangeLog
    2017-02-10  Tom Tromey  <tom@tromey.com>
    
    	* ui-out.h (ui_out_emit_type): New class.
    	(ui_out_emit_tuple, ui_out_emit_list): New typedefs.
    	* python/py-framefilter.c (py_print_single_arg): Use gdb::optional
    	and ui_out_emit_tuple.
    	(enumerate_locals): Likewise.
    	(py_mi_print_variables, py_print_locals, py_print_args): Use
    	ui_out_emit_list.
    	(py_print_frame): Use gdb::optional, ui_out_emit_tuple,
    	ui_out_emit_list.
    	* common/gdb_optional.h: New file.

commit f67f945cf2f6361d4c4997c487b174e396d23cd9
Author: Martin Galvan <martingalvan@sourceware.org>
Date:   Fri Feb 10 13:46:56 2017 -0300

    gdb/MAINTAINERS: Update my e-mail address
    
    gdb/ChangeLog:
    
    2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
    
            * MAINTAINERS (Write After Approval): Update my e-mail address.

commit 18da0c51da58527152e019924cc5105cd89765d6
Author: Martin Galvan <omgalvan.86@gmail.com>
Date:   Fri Feb 10 13:37:31 2017 -0300

    PR gdb/21122: Fix documentation mistakes for breakpoint commands
    
    Currently, the breakpoint documentation refers to some commands taking breakpoint
    "ranges" as arguments. We discussed this with Pedro and concluded that it would
    be more accurate to speak in terms of breakpoint "lists", whose elements can optionally
    be ranges. I also fixed a couple of minor mistakes in the docs.
    
    gdb/ChangeLog:
    
    	* breakpoint.c (_initialize_breakpoint): Update the help description
    	of the 'commands' command to indicate that it takes a list argument.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Breakpoints): Reword documentation to speak in terms of
    	space-separated breakpoint lists.  Also add a missing @table command
    	and @cindex for breakpoint lists.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/help.exp: Update match pattern for testing 'help commands'.

commit 7239c37f7f2a9f87b15caa9945c8dd8f62277854
Merge: 057ff62 dce75bf
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Feb 10 07:46:01 2017 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit dce75bf9848c88583377c608e9734a2f8616d12b
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Fri Feb 10 14:18:23 2017 +1000

    POWER9 add scv/rfscv instruction support
    
    opcodes/
    	* ppc-opc.c (powerpc_opcodes) <scv, rfscv>: New mnemonics.
    
    gas/
    	* testsuite/gas/ppc/power9.d <scv, rfscv>: New tests.

commit 53f7e8ea7fad1fcff1b58f4cbd74e192e0bcbc1d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Feb 10 00:00:16 2017 +0000

    Automatic date update in version.in

commit 62c14536e4df4c84d3ab72e5516c0189c32eb62f
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Feb 9 16:24:40 2017 -0500

    Remove return in function returning void
    
    gdb/ChangeLog:
    
    	* interps.c (current_interp_set_logging): Remove "return".

commit ff6fa24786eb2c03c1af95e2559fa3fd0b2f3893
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu Feb 9 15:35:33 2017 +0000

    Fix NULL pointer dereference
    
    This commit fixes a segmentation fault on tab completion when
    certain debuginfo is installed:
    
      https://bugzilla.redhat.com/show_bug.cgi?id=1398387
    
    gdb/ChangeLog:
    
    	* symtab.c (add_symtab_completions): Prevent NULL pointer
    	dereference.

commit 9d5c5dd77bf91cbeb0ddfd1346bddaee549f9fb3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Feb 9 00:00:27 2017 +0000

    Automatic date update in version.in

commit d7488716eef3747cc99b0e2b50743a48f59389ee
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Jan 26 10:33:23 2017 +0000

    ld/arc: Change default linker emulation for nps400
    
    If we are configuring for an arc/linux target, and --with-cpu=nps400 is
    used at configure time then change the default linker emulation to the
    nps specific version.  All of the alternative linker emulations are
    still available using the -mNAME option for ld.
    
    ld/ChangeLog:
    
    	* configure.tgt (arc*-*-linux*): Change the default linker
    	emulation based on --with-cpu selection.
    	* NEWS: Mention new configuration option.

commit a474bd8eeea16b2b6aa7089dedb142d86c22a4d7
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Feb 8 18:08:18 2017 +0000

    Eliminate interp::quiet_p
    
    This commit removes interp::quiet_p / interp_quiet_p /
    interp_set_quiet, because AFAICS, it doesn't really do anything.
    
    interp_quiet is only ever checked inside interp_set nowadays:
    
      if (!first_time && !interp_quiet_p (interp))
        {
          xsnprintf (buffer, sizeof (buffer),
    		 "Switching to interpreter \"%.24s\".\n", interp->name);
          current_uiout->text (buffer);
        }
    
    I did a bit of archaelogy, and found that back in 4a8f6654 (2003), it
    was also called in another place, to decide whether to print the CLI
    prompt.
    
    AFAICS, that condition is always false today, making that if/then
    block always dead code.  If we remove that code, then there are no
    interp_quiet_p uses left in the tree, so we can remove it all.
    
    There are two paths that lead to interp_set calls:
    
    #1 - When installing the top level interpreter.  In this case,
    FIRST_TIME is true.
    
    #2 - In interpreter_exec_cmd.  In this case, the interpreter is always
    set quiet before interp_set is called.
    
    Grepping a gdb.log of an x86_64 GNU/Linux run for "Switching to
    interpreter" (before this patch) doesn't find any hits.
    
    I suspect the intention of this message was to support something like
    a "set interpreter ..." command that would change the interpreter
    permanently.  But there's no such command.
    
    Tested on x86_64 Fedora 23.
    
    gdb/ChangeLog:
    2017-02-08  Pedro Alves  <palves@redhat.com>
    
    	* interps.c (interp::interp): Remove reference to quiet_p.
    	(interp_set): Make static.  Remove dead "Switching to" output
    	code.
    	(interp_quiet_p, interp_set_quiet): Delete.
    	(interpreter_exec_cmd): Don't set the interpreter quiet.
    	* interps.h (interp_quiet_p): Make static.
    	(class interp) <quiet_p>: Remove field

commit 604c4576fdcfc4e7c28f569b3748a1b6b4e0dbd4
Author: Jerome Guitton <guitton@adacore.com>
Date:   Tue Jan 10 15:15:53 2017 +0100

    Command abbreviation in define
    
    When defining a new macro, "command" is not recognized as an alias for
    "commands":
    
     (gdb) define breakmain
     Type commands for definition of "breakmain".
     End with a line saying just "end".
     >break main
     >command
     >echo "IN MAIN\n"
     >end
     (gdb)
    
    There is a special case for while-stepping, where 'ws' and 'stepping' are
    recognized explicitely. Instead of adding more special cases, this change
    uses cli-decode.
    
    gdb/ChangeLog:
    	* cli/cli-decode.c (find_command_name_length): Make it extern.
    	* cli/cli-decode.h (find_command_name_length): Declare.
    	* cli/cli-script.c (command_name_equals, line_first_arg):
    	New functions.
    	(process_next_line): Use cli-decode to parse command names.
    	(build_command_line): Make args a constant pointer.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/define.exp: Add test for command abbreviations
    	in define.

commit 3d7b173c29900879c9a5958dd6029fd36666e57c
Author: Jerome Guitton <guitton@adacore.com>
Date:   Fri Jan 27 17:06:32 2017 +0100

    Command names: make them case sensitive
    
    Case-insensitive search for command names is an obscure undocumented
    feature, which seems to be unused, is not tested and not quite
    consistent. Remove it.
    
    gdb/ChangeLog:
    
    	* cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
    	Remove case-insensitive search.

commit cc16242794b13a5f942badcfffb03be5d81f14f7
Author: Andrew Waterman <andrew@sifive.com>
Date:   Mon Jan 23 12:58:30 2017 -0800

    Fix segfault when .plt section does not exist
    
    bfd/ChangeLog
    
    2017-02-07  Andrew Waterman  <andrew@sifive.com>
    
    	* elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
    	entry size if PLT header is written.

commit b2680bc51cf0f30c0222972170c42c8dce1ba444
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Feb 8 00:00:23 2017 +0000

    Automatic date update in version.in

commit 1291063deab60b735429411b29eea9d7fd68d50e
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Feb 7 13:21:54 2017 -0800

    gdb: fix ARI warning in sparc-tdep.c
    
    gdb/ChangeLog:
    
    2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
    	at the end of the line.

commit 3d044c0c78c11968b4fe3c5c019523e3177b1710
Author: Sheldon Lobo <sheldon.lobo@oracle.com>
Date:   Tue Feb 7 06:05:59 2017 -0800

    bfd: Fix objdump --dynamic-reloc for SPARC 64-bit to show symbol names.
    
    Fixes ld/testsuite/ld-elf/shared.exp "Build libpr16496b.so".
    
    The root cause is in bfd/elf64-sparc.c, elf64_sparc_slurp_one_reloc_table(),
    bfd_get_symcount() was used for dynamic mode as well. The fix is to use
    bfd_get_dynamic_symcount().
    
    This has been tested with sparc64-linux-gnu, and it does not introduce any
    regressions.
    
    bfd/ChangeLog:
    
    2017-02-06  Sheldon Lobo  <sheldon.lobo@oracle.com>
    
    	Fix sparc64 dynamic relocation processing to use the dynamic
            symbol count.
    	* elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
    	to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
    	should be used.

commit 8a78ba5cf798d878b6551ae6986a648d19570a91
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Feb 7 00:00:25 2017 +0000

    Automatic date update in version.in

commit 65f90e82590c34d4211ca3c984ef8caaf1808819
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Feb 2 17:15:26 2017 +0000

    [ld, testsuite] Don't print to stdout for "readelf -w" to avoid buffer overflow
    
    ld/
    	* testsuite/ld-elf/compress.exp: Don't print to stdout for all
    	"readelf -w".

commit 6ec7c1ae19e9e1bf2edad5125941a2fd5fdfde0b
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Mon Feb 6 11:26:13 2017 +0100

    [ARC] Provide an interface to decode ARC instructions.
    
    gas/
    2017-02-06  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* config/tc-arc.c (parse_opcode_flags): Ignore implicit flags.
    
    include/
    2017-02-06  Claudiu Zissulescu  <claziss@synopsys.com>
    	    Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* opcode/arc.h (insn_class_t): Add ENTER, LEAVE, POP, PUSH, BBIT0,
    	BBIT1, BI, BIH, BRCC, EI, JLI, and SUB instruction classes.
    	(flag_class_t): Add F_CLASS_WB, F_CLASS_ZZ, and F_CLASS_IMPLICIT
    	flag classes.
    
    opcode/
    2017-02-06  Claudiu Zissulescu  <claziss@synopsys.com>
    	    Anton Kolesov  <anton.kolesov@synopsys.com>
    
    	* arc-dis.c (arc_disassemble_info): New structure.
    	(init_arc_disasm_info): New function.
    	(find_format_from_table): Ignore implicit flags.
    	(find_format): Update dissassembler private data.
    	(print_flags): Likewise.
    	(print_insn_arc): Likewise.
    	(arc_opcode_to_insn_type): Consider the new added instruction
    	classes.
    	(arcAnalyzeInstr): Remove.
    	(arc_insn_decode): New function.
    	* arc-dis.h (arc_ldst_writeback_mode): New enum.
    	(arc_ldst_data_size): Likewise.
    	(arc_condition_code): Likewise.
    	(arc_operand_kind): Likewise.
    	(arc_insn_kind): New struct.
    	(arc_instruction): Likewise.
    	(arc_insn_decode): Declare function.
    	(ARC_Debugger_OperandType): Deleted.
    	(Flow): Likewise.
    	(NullifyMode): Likewise.
    	(allOperandsSize): Likewise.
    	(arcDisState): Likewise.
    	(arcAnalyzeInstr): Likewise.
    	* arc-dis.c (arc_opcode_to_insn_type): Handle newly introduced
    	insn_class_t enums.
    	* arc-opc.c (F_SIZED): New define.
    	(C_CC_EQ, C_CC_GE, C_CC_GT, C_CC_HI, C_CC_HS): Likewise.
    	(C_CC_LE, C_CC_LO, C_CC_LS, C_CC_LT, C_CC_NE): Likewise.
    	(C_CC_NE, C_AA_AB, C_AA_AW, C_ZZ_D, C_ZZ_H, C_ZZ_B): Likewise.
    	(arc_flag_classes): Add F_CLASS_COND/F_CLASS_IMPLICIT flags.
    	* opcodes/arc-tbl.h: Update instructions to include new
    	F_CLASS_IMPLICIT flags.
    	(bbit0, lp): Change class.
    	(bbit1, bi, bih, br*, ei_s, jli_s): Likewsie

commit 20b477a75c00de06a92b9577fd74416699d2c37f
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Feb 6 03:12:00 2017 -0600

    [BZ 21005] Add support for Intel 64 rdrand and rdseed record/replay
    
    This patch addresses BZ 21005, which is gdb failing to recognize an rdrand
    instruction.
    
    It enables support for both rdrand and rdseed and handles extended register
    addressing (R8~R15) for 16-bit, 32-bit and 64-bit.
    
    gdb/ChangeLog
    2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
    
    	* NEWS: Mention support for record/replay of Intel 64 rdrand and
    	rdseed instructions.
    	i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
    
    gdb/testsuite/ChangeLog:
    2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.reverse/insn-reverse.c: Include insn-reverse-x86.c.
    	* gdb.reverse/insn-reverse-x86.c: New file.

commit 3f7b46f2daa6c396564d786bda9c81e66d4b9278
Author: Ivo Raisr <ivo.raisr@oracle.com>
Date:   Sun Feb 5 23:44:03 2017 -0800

    gdb: provide and use sparc{32,64} target description XML files.
    
    gdb/ChangeLog:
    
    2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
    
    	PR tdep/20936
    	Provide and use sparc32 and sparc64 target description XML files.
    	* features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
    	features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
    	* features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
    	features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
    	* features/sparc/sparc32-solaris.xml: New file.
    	* features/sparc/sparc64-solaris.xml: New file.
    	* features/sparc/sparc32-solaris.c: Generated.
    	* features/sparc/sparc64-solaris.c: Generated.
    	* sparc-tdep.h: Account for differences in target descriptions.
    	* sparc-tdep.c (sparc32_register_name): Use target provided registers.
    	(sparc32_register_type): Use target provided registers.
    	(validate_tdesc_registers): New function.
    	(sparc32_gdbarch_init): Use tdesc_has_registers.
    	Set pseudoregister functions.
    	* sparc64-tdep.c (sparc64_register_name): Use target provided registers.
    	(sparc64_register_type): Use target provided registers.
    	(sparc64_init_abi): Set pseudoregister functions.
    
    gdb/doc/ChangeLog:
    
    2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
    
    	PR tdep/20936
    	* gdb.texinfo: (Standard Target Features): Document SPARC features.
    	(Sparc Features): New node.
    
    gdb/testsuite/ChangeLog:
    
    2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
    
    	PR tdep/20936
    	* gdb.xml/tdesc-regs.exp: Provide sparc core registers for the tests.

commit de32a80f8f48896d4d07babd8c998789dd07c73d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Feb 6 00:00:21 2017 +0000

    Automatic date update in version.in

commit 5d3debca762a4e23cb868a9e1411fb50f12db8c3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Feb 5 00:00:20 2017 +0000

    Automatic date update in version.in

commit f0fd41c1926984fd1a524ff551286cba694539a0
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Feb 3 22:11:46 2017 -0700

    Fix ptype of single-member Rust enums
    
    While looking into PR rust/21097, I found that ptype of a
    single-element enum in Rust did not always format the result properly.
    In particular, it would leave out the members of a tuple struct.
    Further testing showed that it also did the wrong thing for ordinary
    struct members as well.
    
    This patch fixes these problems.  I'm marking it as being associated
    with the PR, since that is where the discovery was made; but this
    doesn't actually fix that PR (which I think ultimately is due to a
    Rust compiler bug).
    
    Built and regtested on x86-64 Fedora 25, using the system Rust
    compiler.  I'm checking this in.
    
    2017-02-03  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21097:
    	* rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
    	with a single member.
    
    2017-02-03  Tom Tromey  <tom@tromey.com>
    
    	PR rust/21097:
    	* gdb.rust/simple.exp: Add new tests.

commit e25dae2ce112305078ae7593da30ababfff53612
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Feb 4 00:00:20 2017 +0000

    Automatic date update in version.in

commit d6f9b0fbc7998909712cbc1b194f1cbd4ae8b6fa
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Feb 3 16:30:04 2017 +0000

    C++-fy struct interp/cli_interp/tui_interp/mi_interp
    
    - The interp->data field disappears, since we can put data in the
      interpreter directly now.  The "init" method remains in place, but
      it now returns void.
    
    - A few places check if the interpreter method is NULL before calling
      it, and also check whether the method returns true/false.  For some
      of those methods, all current implementations always return true.
      In those cases, this commit makes the C++-fied method return void
      instead and cleans up the callers.
    
    Tested on x86_64 Fedora 23.
    
    gdb/ChangeLog:
    2017-02-03  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-interp.c (cli_interp_base::cli_interp_base)
    	(cli_interp_base::~cli_interp_base): New.
    	(cli_interp): New struct.
    	(as_cli_interp): Cast the interp itself to cli_interp.
    	(cli_interpreter_pre_command_loop): Rename to ...
    	(cli_interp_base::pre_command_loop): ... this.  Remove 'self'
    	parameter.
    	(cli_interpreter_init): Rename to ...
    	(cli_interp::init): ... this.  Remove 'self' parameter.  Use
    	boolean.  Make extern.
    	(cli_interpreter_resume): Rename to ...
    	(cli_interp::resume): ... this.  Remove 'data' parameter.  Make
    	extern.
    	(cli_interpreter_suspend): Rename to ...
    	(cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
    	extern.
    	(cli_interpreter_exec): Rename to ...
    	(cli_interp::exec): ... this.  Remove 'data' parameter.  Make
    	extern.
    	(cli_interpreter_supports_command_editing): Rename to ...
    	(cli_interp_base::supports_command_editing): ... this.  Remove
    	'interp' parameter.  Make extern.
    	(cli_ui_out): Rename to ...
    	(cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
    	Make extern.
    	(cli_set_logging): Rename to ...
    	(cli_interp_base::set_logging): ... this.  Remove 'interp'
    	parameter.  Make extern.
    	(cli_interp_procs): Delete.
    	(cli_interp_factory): Adjust to use "new".
    	* cli/cli-interp.h: Include "interps.h".
    	(struct cli_interp_base): New struct.
    	* interps.c (struct interp): Delete.  Fields moved to interps.h.
    	(interp_new): Delete.
    	(interp::interp, interp::~interp): New.
    	(interp_set): Use bool, and return void.  Assume the interpreter
    	has suspend, init and resume methods, and that the all return
    	void.
    	(set_top_level_interpreter): interp_set returns void.
    	(interp_ui_out): Adapt.
    	(current_interp_set_logging): Adapt.
    	(interp_data): Delete.
    	(interp_pre_command_loop, interp_supports_command_editing): Adapt.
    	(interp_exec): Adapt.
    	(top_level_interpreter_data): Delete.
    	* interps.h (interp_init_ftype, interp_resume_ftype)
    	(interp_suspend_ftype, interp_exec_ftype)
    	(interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
    	(class interp): New.
    	(interp_new): Delete.
    	(interp_set): Now returns void.  Use bool.
    	(interp_data, top_level_interpreter_data): Delete.
    	* mi/mi-common.h: Include interps.h.
    	(class mi_interp): Inherit from interp.  Define a ctor.  Declare
    	init, resume, suspect, exec, interp_ui_out, set_logging and
    	pre_command_loop methods.
    	* mi/mi-interp.c (as_mi_interp): Cast the interp itself.
    	(mi_interpreter_init): Rename to ...
    	(mi_interp::init): ... this.  Remove the 'interp' parameter, use
    	bool, return void and make extern.  Adjust.
    	(mi_interpreter_resume): ... Rename to ...
    	(mi_interp::resume): ... this.  Remove the 'data' parameter,
    	return void and make extern.  Adjust.
    	(mi_interpreter_suspend): ... Rename to ...
    	(mi_interp::suspend): ... this.  Remove the 'data' parameter,
    	return void and make extern.  Adjust.
    	(mi_interpreter_exec): ... Rename to ...
    	(mi_interp::exec): ... this.  Remove the 'data' parameter and make
    	extern.  Adjust.
    	(mi_interpreter_pre_command_loop): ... Rename to ...
    	(mi_interp::pre_command_loop): ... this.  Remove the 'self'
    	parameter and make extern.
    	(mi_on_normal_stop_1): Adjust.
    	(mi_ui_out): Rename to ...
    	(mi_interp::interp_ui_out): ... this.  Remove the 'interp'
    	parameter and make extern.  Adjust.
    	(mi_set_logging): Rename to ...
    	(mi_interp::set_logging): ... this.  Remove the 'interp'
    	parameter and make extern.  Adjust.
    	(mi_interp_procs): Delete.
    	(mi_interp_factory): Adjust to use 'new'.
    	* mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
    	(mi_print_exception, mi_execute_command, mi_load_progress):
    	Adjust.
    	* tui/tui-interp.c (tui_interp): New class.
    	(as_tui_interp): Return a tui_interp pointer.
    	(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): Adjust
    	to use interp::interp_ui_out.
    	(tui_init): Rename to ...
    	(tui_interp::init): ... this.  Remove the 'self' parameter, use
    	bool, return void and make extern.  Adjust.
    	(tui_resume): Rename to ...
    	(tui_interp::resume): ... this.  Remove the 'data' parameter,
    	return void and make extern.  Adjust.
    	(tui_suspend): Rename to ...
    	(tui_interp::suspend): ... this.  Remove the 'data' parameter,
    	return void and make extern.  Adjust.
    	(tui_ui_out): Rename to ...
    	(tui_interp::interp_ui_out): ... this.  Remove the 'self'
    	parameter, and make extern.  Adjust.
    	(tui_exec): Rename to ...
    	(tui_interp::exec): ... this.  Remove the 'data' parameter and
    	make extern.
    	(tui_interp_procs): Delete.
    	(tui_interp_factory): Use "new".

commit e666304ec603bb3249f80bac97200f2b4520ab0f
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Feb 3 19:18:37 2017 +1030

    [GOLD] PowerPC64 TOC indirect to TOC relative segfault
    
    	* powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
    	when no .toc section exists.

commit 1b7e3d2fb7036ce6f9d74e32dc052518f5cd45b6
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Feb 3 09:04:21 2017 +0000

    Fix compile time warning messages when compiling binutils with gcc 7.0.1.
    
    	PR 21096
    bfd	* coffcode.h (coff_write_object_contents): Enlarge size of
    	s_name_buf in order to avoid compile time warning about possible
    	integer truncation.
    	* elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
    	32-bits of insn value before printing into buffer.
    
    opcodes	* aarch64-opc.c (print_register_list): Ensure that the register
    	list index will fir into the tb buffer.
    	(print_register_offset_address): Likewise.
    	* tic6x-dis.c (print_insn_tic6x): Increase size of func_unit_buf.

commit 65c40c956fcd9443a5390d6cc36f84bd1bf77df4
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 2 21:21:19 2017 -0700

    Use bool in Rust code
    
    This changes various functions in the Rust code to use a bool rather
    than an int when a boolean is intended.
    
    2017-02-02  Tom Tromey  <tom@tromey.com>
    
    	* rust-exp.y (ends_raw_string, space_then_number)
    	(rust_identifier_start_p): Return bool.
    	* rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
    	(rust_tuple_struct_type_p, rust_tuple_variant_type_p)
    	(rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
    	(rust_chartype_p): Return bool.
    	(val_print_struct, rust_print_struct_def, rust_print_type):
    	Update.
    	* rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
    	Return bool.

commit b50f188dfa065c9edfe82c874e2f8c179eb6d697
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 2 21:01:11 2017 -0700

    Reindent rust-lang.c
    
    I noticed a few spots in rust-lang.c had incorrect indentation.  This
    patch fixes this.
    
    2017-02-02  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c: Reindent.

commit 03c85b11b07452f2d7341b405a7fe70c74226505
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Feb 2 20:58:12 2017 -0700

    Use std::string in Rust code
    
    This changes a couple of spots in the Rust support to use std::string.
    In one spot this removes some manual memory management; in the other
    spot this allows the removal of a call to xstrdup.
    
    2017-02-02  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.h (rust_crate_for_block): Update.
    	* rust-lang.c (rust_crate_for_block): Return std::string.
    	(rust_get_disr_info): Use std:;string, not
    	gdb::unique_xmalloc_ptr.
    	* rust-exp.y (crate_name): Update.

commit 73dceb99fa57b79e83a6ed80aaad49d0e3e7da66
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Feb 3 00:00:23 2017 +0000

    Automatic date update in version.in

commit 9b6da501bff22325867d8afe42fa01d4704e72f8
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 23:36:29 2017 +0000

    Fix "maintenance selftest" printing stray instructions
    
    The "maintenance selftest" command is printing odd bits of stray
    instructions like:
    
    ~~~
    brkwarning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
    of GDB.  Attempting to continue with the default HS settings.
    
    
    brkmov  r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov   r0, #0mov       r0, #0mov       r0, #0mov       r0, #0breakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakM3.L = 0xffff;/* ( -1) M3=0x0xffff(65535) */break 8break 8warning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
    of GDB.  Attempting to continue with the default cris:common_v10_v32 settings.
    ~~~
    
    etc.  Those appear because here:
    
      class gdb_disassembler_test : public gdb_disassembler
      {
      public:
    
        const bool verbose = false;
    
        explicit gdb_disassembler_test (struct gdbarch *gdbarch,
    				    const gdb_byte *insn,
    				    size_t len)
          : gdb_disassembler (gdbarch,
    			  (verbose ? gdb_stdout : &null_stream),
    			  gdb_disassembler_test::read_memory),
    
    
    specifically in this line:
    
    			  (verbose ? gdb_stdout : &null_stream),
    
    "verbose" has not been initialized yet, because the order of
    initialization is base classes first, then members.  I.e. "verbose" is
    only initialized after the base constructor is called.  Since the
    gdb_disassembler_test object is created on the stack, "verbose" has
    garbage at that point.  If the gargage is non-zero, then we end up
    with the gdb_disassembler_test's stream incorrectly pointing to
    gdb_stdout.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* disasm-selftests.c (print_one_insn_test): Move the "verbose"
    	field out of gdb_disassembler_test and make it static.

commit b1ace6bdc2063f3dcf46172db98bb3474b6e1121
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 23:27:57 2017 +0000

    Fix "maintenance selftest" printing stray instructions
    
    The "maintenance selftest" command is printing odd bits of stray
    instructions like:
    
    ~~~
    brkwarning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
    of GDB.  Attempting to continue with the default HS settings.
    
    
    brkmov  r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov       r0, #0mov   r0, #0mov       r0, #0mov       r0, #0mov       r0, #0breakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakbreakM3.L = 0xffff;/* ( -1) M3=0x0xffff(65535) */break 8break 8warning: A handler for the OS ABI "GNU/Linux" is not built into this configuration
    of GDB.  Attempting to continue with the default cris:common_v10_v32 settings.
    ~~~
    
    etc.  Those appear because here:
    
      class gdb_disassembler_test : public gdb_disassembler
      {
      public:
    
        const bool verbose = false;
    
        explicit gdb_disassembler_test (struct gdbarch *gdbarch,
    				    const gdb_byte *insn,
    				    size_t len)
          : gdb_disassembler (gdbarch,
    			  (verbose ? gdb_stdout : &null_stream),
    			  gdb_disassembler_test::read_memory),
    
    
    specifically in this line:
    
    			  (verbose ? gdb_stdout : &null_stream),
    
    "verbose" has not been initialized yet, because the order of
    initialization is base classes first, then members.  I.e. "verbose" is
    only initialized after the base constructor is called.  Since the
    gdb_disassembler_test object is created on the stack, "verbose" has
    garbage at that point.  If the gargage is non-zero, then we end up
    with the gdb_disassembler_test's stream incorrectly pointing to
    gdb_stdout.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* disasm-selftests.c (print_one_insn_test): Move the "verbose"
    	field out of gdb_disassembler_test and make it static.

commit ec4cb20ba971232450f3420d3c7c0c8bbecc1ace
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 23:08:12 2017 +0000

    struct mi_interp: Remove unused fields
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
    	mi1_interp and mi_interp fields.

commit e17b0c351f0b22fb42edf34e5a6e486d72e9ee05
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 22:05:46 2017 +0000

    MIPS/BFD: Respect the ELF gABI dynamic symbol table sort requirement
    
    Ensure all local symbols precede external symbols in the dynamic symbol
    table.
    
    No local symbols are expected to make it to the dynamic symbol table
    except for section symbols already taken care of, so this is really a
    safeguard only against a potential BFD bug otherwise not so harmful,
    which may become a grave one due to a symbol table sorting requirement
    violation (see PR ld/20828 for an example).  This means however that no
    test suite coverage is possible for this change as code introduced here
    is not normally expected to trigger.
    
    Logically split then the part of the dynamic symbol table which is not
    global offset table mapped, into a local area at the beginning and an
    external area following.  By the time `mips_elf_sort_hash_table' is
    called we have the number of local dynamic symbol table entries (section
    and non-section) already counted in `local_dynsymcount', so use it to
    offset the external area from the beginning.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_hash_sort_data): Add
    	`max_local_dynindx'.
    	(mips_elf_sort_hash_table): Handle it.
    	(mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
    	symbols bump up `max_local_dynindx' rather than
    	`max_non_got_dynindx'.

commit 55f8b9d243dbd879ffa585f7e0c7d8b6b819302d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 21:43:26 2017 +0000

    MIPS/BFD: Use `bfd_size_type' for dynamic symbol table indices
    
    Use the `bfd_size_type' data type for dynamic symbol table indices in
    the MIPS backend, in line with generic code and removing the need to use
    a cast.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_hash_sort_data): Convert the
    	`min_got_dynindx', `max_unref_got_dynindx' and
    	`max_non_got_dynindx' members to the `bfd_size_type' data type.
    	(mips_elf_sort_hash_table): Adjust accordingly.

commit 0f8c4b60ef3953a2373992e468106ae833049fff
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 21:30:27 2017 +0000

    MIPS/BFD: Streamline hash table references in `mips_elf_sort_hash_table'
    
    Make all hash table references throughout `mips_elf_sort_hash_table' use
    `htab', simplifying code and improving readability.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
    	to access the hash table.

commit 17a80fa80adbe79df39ba1fc70e611dff92df197
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 20:53:16 2017 +0000

    MIPS/BFD: Fix assertion in `mips_elf_sort_hash_table'
    
    Move the assertion on non-NULL `htab' in `mips_elf_sort_hash_table' to
    the beginning, before the pointer is dereferenced (`mips_elf_hash_table
    (info)' and `elf_hash_table (info)' both point to the same memory
    location, differently typed).
    
    	bfd/
    	* elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
    	non-NULL `htab' to the beginning.

commit fa93e3d3471aab48ae273437c3159ebb0205a592
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 20:44:41 2017 +0000

    CRIS/LD/testsuite: tls-err-20x.d: Fix a typo, s/n/\n/
    
    	ld/
    	* testsuite/ld-cris/tls-err-20x.d: Fix a typo, s/n/\n/.

commit 2e9af2d0de9534765e7394d10b2d307c4259de31
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 19:09:57 2017 +0000

    LD/testsuite: ld-lib.exp: Fix a typo, s/regexp/regex/
    
    Match `$check_ld(source)' against "regex" rather than "regexp" in
    reporting, correcting test framework diagnostics, e.g.:
    
    tmpdir/undefined.o: In function `foo':
    (.text+0x0): undefined reference to `bar'
    failed with: <tmpdir/undefined.o: In function `foo':
    (.text+0x0): undefined reference to `bar'>, no expected output
    tmpdir/undefined.o: In function `foo':
    (.text+0x0): undefined reference to `bar'
    PASS: MIPS undefined reference
    
    (current) vs:
    
    tmpdir/undefined.o: In function `foo':
    (.text+0x0): undefined reference to `bar'
    failed with: <tmpdir/undefined.o: In function `foo':
    (.text+0x0): undefined reference to `bar'>, expected: <\A[^\n]*\.o: In function `foo':\n\(\.text\+0x0\): undefined reference to `bar'\Z>
    tmpdir/undefined.o: In function `foo':
    (.text+0x0): undefined reference to `bar'
    PASS: MIPS undefined reference
    
    (corrected).  No functional change.
    
    	ld/
    	* ld/testsuite/lib/ld-lib.exp (run_dump_test): Fix a typo,
    	s/regexp/regex/.

commit 8f56d4fd28b887cc709524b1993c9da4c64b0696
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 16:44:09 2017 +0000

    BFD: Wrap overlong error handler call line in `elf_gc_sweep'
    
    	bfd/
    	* elflink.c (elf_gc_sweep): Wrap overlong line.

commit 7320133163c796d187350013ddf65fcb5752da9e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Feb 2 16:23:21 2017 +0000

    MIPS/GAS/doc: Include MIPS options in the man page
    
    Include the detailed MIPS option description in the man page along with
    other target descriptions and complementing the terse list earlier on.
    
    	gas/
    	* doc/as.texinfo (Overview): Select MIPS options for man page
    	inclusion.

commit 616268b639780e0819b51053c794037bcde3de16
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 22:00:43 2017 +0000

    Move "tee" building down to interpreter::set_logging_proc
    
    This patch gets rid of this hack in mi_set_logging:
    
          /* The tee created already is based on gdb_stdout, which for MI
    	 is a console and so we end up in an infinite loop of console
    	 writing to ui_file writing to console etc.  So discard the
    	 existing tee (it hasn't been used yet, and MI won't ever use
    	 it), and create one based on raw_stdout instead.  */
    
    By pushing down responsibility for the tee creation to the
    interpreter.  I.e., pushing the CLI bits out of handle_redirections
    down to the CLI interpreter's set_logging_proc method.
    
    This fixes a few leaks that I spotted, and then confirmed with
    "valgrind --leak-check=full":
    
    [...]
      ==21429== 56 (32 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 30,243 of 34,980
      ==21429==    at 0x4C29216: operator new(unsigned long) (vg_replace_malloc.c:334)
      ==21429==    by 0x62D9A9: mi_set_logging(interp*, int, ui_file*, ui_file*) (mi-interp.c:1395)
      ==21429==    by 0x810B8A: current_interp_set_logging(int, ui_file*, ui_file*) (interps.c:360)
      ==21429==    by 0x61C537: handle_redirections(int) (cli-logging.c:162)
      ==21429==    by 0x61C6EC: set_logging_on(char*, int) (cli-logging.c:190)
      ==21429==    by 0x6163BE: do_cfunc(cmd_list_element*, char*, int) (cli-decode.c:105)
      ==21429==    by 0x6193C1: cmd_func(cmd_list_element*, char*, int) (cli-decode.c:1913)
      ==21429==    by 0x8DB790: execute_command(char*, int) (top.c:674)
      ==21429==    by 0x632AE6: mi_execute_cli_command(char const*, int, char const*) (mi-main.c:2343)
      ==21429==    by 0x6329BA: mi_cmd_execute(mi_parse*) (mi-main.c:2306)
      ==21429==    by 0x631E19: captured_mi_execute_command(ui_out*, mi_parse*) (mi-main.c:1998)
      ==21429==    by 0x632389: mi_execute_command(char const*, int) (mi-main.c:2163)
      ==21429==
    [...]
      ==26635== 24 bytes in 1 blocks are definitely lost in loss record 20,740 of 34,995
      ==26635==    at 0x4C29216: operator new(unsigned long) (vg_replace_malloc.c:334)
      ==26635==    by 0x61C355: handle_redirections(int) (cli-logging.c:131)
      ==26635==    by 0x61C6EC: set_logging_on(char*, int) (cli-logging.c:190)
      ==26635==    by 0x6163BE: do_cfunc(cmd_list_element*, char*, int) (cli-decode.c:105)
      ==26635==    by 0x6193C1: cmd_func(cmd_list_element*, char*, int) (cli-decode.c:1913)
      ==26635==    by 0x8DB7BC: execute_command(char*, int) (top.c:674)
      ==26635==    by 0x7B9132: command_handler(char*) (event-top.c:590)
      ==26635==    by 0x7B94F7: command_line_handler(char*) (event-top.c:780)
      ==26635==    by 0x7B8ABB: gdb_rl_callback_handler(char*) (event-top.c:213)
      ==26635==    by 0x933CE9: rl_callback_read_char (callback.c:220)
      ==26635==    by 0x7B89ED: gdb_rl_callback_read_char_wrapper_noexcept() (event-top.c:175)
      ==26635==    by 0x7B8A49: gdb_rl_callback_read_char_wrapper(void*) (event-top.c:192)
    
    One is fixed by transfering ownership of the log file to the tee.  In
    pseudo-patch, since the code was moved at the same time:
    
     -     out = new tee_file (curr_output, false, logfile.get (), false);
     +     out = new tee_file (curr_output, false, logfile.get (), true);
    
    The other is this bit in mi_set_logging:
    
        else
          {
     +      delete mi->raw_stdout;
    
    I tried to split the leak fixes to a smaller preparatory patch, but
    that was difficult exactly because of the tee hack in
    handle_redirections -> mi_set_logging.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-interp.c (struct saved_output_files, saved_output):
    	Moved from cli/cli-logging.c.
    	(cli_set_logging): New function.
    	(cli_interp_procs): Install cli_set_logging.
    	* cli/cli-interp.h (make_logging_output, cli_set_logging):
    	Declare.
    	* cli/cli-logging.c (struct saved_output_files, saved_output):
    	Moved to cli/cli-interp.c.
    	(pop_output_files): Don't save outputs here.
    	(make_logging_output): New function.
    	(handle_redirections): Don't build tee nor save previous outputs
    	here.
    	* interps.c (current_interp_set_logging): Change prototype.
    	Assume there's always a set_logging_proc method installed.
    	* interps.h (interp_set_logging_ftype): Change prototype.
    	(current_interp_set_logging): Change prototype and adjust comment.
    	* mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
    	use make_logging_output.
    	* tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.

commit 5be5dbf0ce3d2eb20003fea3691eaa6bfa5710d2
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 19:07:08 2017 +0000

    Fix "-gdb-set logging redirect on" crash
    
    This commit fixes a "-gdb-set logging redirect on" crash by not
    handling "logging redirect on" on the fly.
    
    Previous discussion here:
     https://sourceware.org/ml/gdb-patches/2017-01/msg00467.html
    
    Code for handling "logging redirect on" on the fly was added here:
     https://sourceware.org/ml/gdb-patches/2010-08/msg00202.html
    
    Meanwhile, MI gained support for logging, but flipping redirect "on"
    on the fly was not considered.  The result is that this sequence of
    commands crashes GDB:
    
     -gdb-set logging on
     -gdb-set logging redirect on
    
     Program received signal SIGSEGV, Segmentation fault.
     0x00000000008dd7bc in gdb_flush (file=0x2a097f0) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/ui-file.c:95
     194       file->to_flush (file);
     (top-gdb) bt
     #0  0x00000000008dd7bc in gdb_flush(ui_file*) (file=0x2a097f0) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/ui-file.c:95
     #1  0x00000000007b5f34 in gdb_wait_for_event(int) (block=0) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/event-loop.c:752
     #2  0x00000000007b52b6 in gdb_do_one_event() () at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/event-loop.c:322
     #3  0x00000000007b5362 in start_event_loop() () at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/event-loop.c:371
     #4  0x000000000082704a in captured_command_loop(void*) (data=0x0) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/main.c:325
     #5  0x00000000007b8d7c in catch_errors(int (*)(void*), void*, char*, return_mask) (func=0x827008 <captured_command_loop(void*)>, func_args=0x0, errstring=0x11dee51 "", mask=RETURN_MASK_ALL) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/exceptions.c:236
     #6  0x000000000082839b in captured_main(void*) (data=0x7fffffffd820) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/main.c:1148
     During symbol reading, cannot get low and high bounds for subprogram DIE at 24065.
     #7  0x00000000008283c4 in gdb_main(captured_main_args*) (args=0x7fffffffd820) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/main.c:1158
     #8  0x0000000000412d4d in main(int, char**) (argc=4, argv=0x7fffffffd928) at /home/pedro/gdb/mygit/cxx-convertion/src/gdb/gdb.c:32
    
    The handling of redirect on the fly is not really a use case we need
    to handle, IMO.  Its inconsistent (other "set logging foo" commands
    aren't handled on the fly), and complicates the code significantly.
    Instead of complicating it further for MI, go back to the original
    idea of warning, only:
    
      https://sourceware.org/ml/gdb-patches/2010-08/msg00083.html
    
    New test included.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-logging.c (maybe_warn_already_logging): New factored out
    	from ...
    	(set_logging_overwrite): ... here.
    	(logging_no_redirect_file): Delete.
    	(set_logging_redirect): Don't handle redirection on the fly.
    	Instead warn that "logging off" / "logging on" is necessary.
    	(pop_output_files): Delete references to logging_no_redirect_file.
    	(show_logging_command): Always speak in terms of what will happen
    	once logging is reenabled.
    
    gdb/testsuite/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.mi/mi-logging.exp: Add "redirect while already logging"
    	tests.

commit c99cc448c805b6bd481603155078881a503cd64a
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 11:28:40 2017 +0000

    Tweak pretty_print_disassembler's intro comment
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.

commit 8b172ce7c9435095d14e0bd98cd431bb9584e95e
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 11:11:47 2017 +0000

    Reuse buffers across gdb_pretty_print_insn calls
    
    gdb_pretty_print_insn allocates and destroys a couple local buffers
    each time it is called, which can be many times when disassembling a
    region of memory.  Avoid that overhead by adding a new class that
    holds the buffers and making gdb_pretty_print_insn a method of that
    class, so that the buffers can be reused across calls.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* disasm.c (gdb_pretty_print_insn): Rename to ...
    	(gdb_pretty_print_disassembler::pretty_print_insn): ... this.
    	Remove gdbarch parameter.  Adapt to clear the object's buffers
    	instead of allocating new buffers, and to print using the object's
    	gdb_disassembler instead of calling gdb_print_insn.
    	(dump_insns): Use gdb_pretty_print_disassembler.
    	* disasm.h (gdb_pretty_print_insn): Delete declaration.
    	(gdb_pretty_print_disassembler): New class.
    	* record-btrace.c (btrace_insn_history): Use
    	gdb_pretty_print_disassembler.

commit d7e747318f4d04af033f16325f9b6d74f67079ec
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 11:11:47 2017 +0000

    Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy
    
    This patch starts from the desire to eliminate
    make_cleanup_ui_file_delete, but then goes beyond.  It makes ui_file &
    friends a real C++ class hierarchy, and switches temporary
    ui_file-like objects to stack-based allocation.
    
    - mem_fileopen -> string_file
    
    mem_fileopen is replaced with a new string_file class that is treated
    as a value class created on the stack.  This alone eliminates most
    make_cleanup_ui_file_delete calls, and, simplifies code a whole lot
    (diffstat shows around 1k loc dropped.)
    
    string_file's internal buffer is a std::string, thus the "string" in
    the name.  This simplifies the implementation much, compared to
    mem_fileopen, which managed growing its internal buffer manually.
    
    - ui_file_as_string, ui_file_strdup, ui_file_obsavestring all gone
    
    The new string_file class has a string() method that provides direct
    writable access to the internal std::string buffer.  This replaced
    ui_file_as_string, which forced a copy of the same data the stream had
    inside.  With direct access via a writable reference, we can instead
    move the string out of the string_stream, avoiding deep string
    copying.
    
    Related, ui_file_xstrdup calls are replaced with xstrdup'ping the
    stream's string, and ui_file_obsavestring is replaced by
    obstack_copy0.
    
    With all those out of the way, getting rid of the weird ui_file_put
    mechanism was possible.
    
    - New ui_file::printf, ui_file::puts, etc. methods
    
    These simplify / clarify client code.  I considered splitting
    client-code changes, like these, e.g.:
    
      -  stb = mem_fileopen ();
      -  fprintf_unfiltered (stb, "%s%s%s",
      -		      _("The valid values are:\n"),
      -		      regdesc,
      -		      _("The default is \"std\"."));
      +  string_file stb;
      +  stb.printf ("%s%s%s",
      +	      _("The valid values are:\n"),
      +	      regdesc,
      +	      _("The default is \"std\"."));
    
    In two steps, with the first step leaving fprintf_unfiltered (etc.)
    calls in place, and only afterwards do a pass to change all those to
    call stb.printf etc..  I didn't do that split, because (when I tried),
    it turned out to be pointless make-work: the first pass would have to
    touch the fprintf_unfiltered line anyway, to replace "stb" with
    "&stb".
    
    - gdb_fopen replaced with stack-based objects
    
    This avoids the need for cleanups or unique_ptr's.  I.e., this:
    
          struct ui_file *file = gdb_fopen (filename, "w");
          if (filename == NULL)
     	perror_with_name (filename);
          cleanups = make_cleanup_ui_file_delete (file);
          // use file.
          do_cleanups (cleanups);
    
    is replaced with this:
    
          stdio_file file;
          if (!file.open (filename, "w"))
     	perror_with_name (filename);
          // use file.
    
    - odd contorsions in null_file_write / null_file_fputs around when to
      call to_fputs / to_write eliminated.
    
    - Global null_stream object
    
    A few places that were allocating a ui_file in order to print to
    "nowhere" are adjusted to instead refer to a new 'null_stream' global
    stream.
    
    - TUI's tui_sfileopen eliminated.  TUI's ui_file much simplified
    
    The TUI's ui_file was serving a dual purpose.  It supported being used
    as string buffer, and supported being backed by a stdio FILE.  The
    string buffer part is gone, replaced by using of string_file.  The
    'FILE *' support is now much simplified, by making the TUI's ui_file
    inherit from stdio_file.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (type_as_string): Use string_file.
    	* ada-valprint.c (ada_print_floating): Use string_file.
    	* ada-varobj.c (ada_varobj_scalar_image)
    	(ada_varobj_get_value_image): Use string_file.
    	* aix-thread.c (aix_thread_extra_thread_info): Use string_file.
    	* arm-tdep.c (_initialize_arm_tdep): Use string_printf.
    	* breakpoint.c (update_inserted_breakpoint_locations)
    	(insert_breakpoint_locations, reattach_breakpoints)
    	(print_breakpoint_location, print_one_detail_ranged_breakpoint)
    	(print_it_watchpoint): Use string_file.
    	(save_breakpoints): Use stdio_file.
    	* c-exp.y (oper): Use string_file.
    	* cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
    	tee_file.
    	(pop_output_files): Use delete.
    	(handle_redirections): Use stdio_file and tee_file.
    	* cli/cli-setshow.c (do_show_command): Use string_file.
    	* compile/compile-c-support.c (c_compute_program): Use
    	string_file.
    	* compile/compile-c-symbols.c (generate_vla_size): Take a
    	'string_file &' instead of a 'ui_file *'.
    	(generate_c_for_for_one_variable): Take a 'string_file &' instead
    	of a 'ui_file *'.  Use string_file.
    	(generate_c_for_variable_locations): Take a 'string_file &'
    	instead of a 'ui_file *'.
    	* compile/compile-internal.h (generate_c_for_for_one_variable):
    	Take a 'string_file &' instead of a 'ui_file *'.
    	* compile/compile-loc2c.c (push, pushf, unary, binary)
    	(print_label, pushf_register_address, pushf_register)
    	(do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
    	'ui_file *'.  Adjust.
    	* compile/compile.c (compile_to_object): Use string_file.
    	* compile/compile.h (compile_dwarf_expr_to_c)
    	(compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
    	'ui_file *'.
    	* cp-support.c (inspect_type): Use string_file and obstack_copy0.
    	(replace_typedefs_qualified_name): Use string_file and
    	obstack_copy0.
    	* disasm.c (gdb_pretty_print_insn): Use string_file.
    	(gdb_disassembly): Adjust reference the null_stream global.
    	(do_ui_file_delete): Delete.
    	(gdb_insn_length): Use null_stream.
    	* dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
    	* dwarf2loc.c (dwarf2_compile_property_to_c)
    	(locexpr_generate_c_location, loclist_generate_c_location): Take a
    	'string_file &' instead of a 'ui_file *'.
    	* dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
    	* dwarf2read.c (do_ui_file_peek_last): Delete.
    	(dwarf2_compute_name): Use string_file.
    	* event-top.c (gdb_setup_readline): Use stdio_file.
    	* gdbarch.sh (verify_gdbarch): Use string_file.
    	* gdbtypes.c (safe_parse_type): Use null_stream.
    	* guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
    	string_file.
    	* guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
    	'string_file *' instead of a 'ui_file *'.
    	(gdbscm_arch_disassemble): Use string_file.
    	* guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
    	* guile/scm-ports.c (class ioscm_file_port): Now a class that
    	inherits from ui_file.
    	(ioscm_file_port_delete, ioscm_file_port_rewind)
    	(ioscm_file_port_put): Delete.
    	(ioscm_file_port_write): Rename to ...
    	(ioscm_file_port::write): ... this.  Remove file_port_magic
    	checks.
    	(ioscm_file_port_new): Delete.
    	(ioscm_with_output_to_port_worker): Use ioscm_file_port and
    	ui_file_up.
    	* guile/scm-type.c (tyscm_type_name): Use string_file.
    	* guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
    	Use string_file.
    	* infcmd.c (print_return_value_1): Use string_file.
    	* infrun.c (print_target_wait_results): Use string_file.
    	* language.c (add_language): Use string_file.
    	* location.c (explicit_to_string_internal): Use string_file.
    	* main.c (captured_main_1): Use null_file.
    	* maint.c (maintenance_print_architecture): Use stdio_file.
    	* mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
    	* mi/mi-common.h (struct mi_interp) <out, err, log, targ,
    	event_channel>: Change type to mi_console_file pointer.
    	* mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
    	(mi_console_file_delete): Delete.
    	(struct mi_console_file): Delete.
    	(mi_console_file_magic): Delete.
    	(mi_console_file_new): Delete.
    	(mi_console_file::mi_console_file): New.
    	(mi_console_file_delete): Delete.
    	(mi_console_file_fputs): Delete.
    	(mi_console_file::write): New.
    	(mi_console_raw_packet): Delete.
    	(mi_console_file::flush): New.
    	(mi_console_file_flush): Delete.
    	(mi_console_set_raw): Rename to ...
    	(mi_console_file::set_raw): ... this.
    	* mi/mi-console.h (class mi_console_file): New class.
    	(mi_console_file_new, mi_console_set_raw): Delete.
    	* mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
    	(mi_set_logging): Use delete and tee_file.  Adjust.
    	* mi/mi-main.c (output_register): Use string_file.
    	(mi_cmd_data_evaluate_expression): Use string_file.
    	(mi_cmd_data_read_memory): Use string_file.
    	(mi_cmd_execute, print_variable_or_computed): Use string_file.
    	* mi/mi-out.c (mi_ui_out::main_stream): New.
    	(mi_ui_out::rewind): Use main_stream and
    	string_file.
    	(mi_ui_out::put): Use main_stream and string_file.
    	(mi_ui_out::mi_ui_out): Remove 'stream' parameter.
    	Allocate a 'string_file' instead.
    	(mi_out_new): Don't allocate a mem_fileopen stream here.
    	* mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
    	(mi_ui_out::main_stream): Declare method.
    	* printcmd.c (eval_command): Use string_file.
    	* psymtab.c (maintenance_print_psymbols): Use stdio_file.
    	* python/py-arch.c (archpy_disassemble): Use string_file.
    	* python/py-breakpoint.c (bppy_get_commands): Use string_file.
    	* python/py-frame.c (frapy_str): Use string_file.
    	* python/py-framefilter.c (py_print_type, py_print_single_arg):
    	Use string_file.
    	* python/py-type.c (typy_str): Use string_file.
    	* python/py-unwind.c (unwind_infopy_str): Use string_file.
    	* python/py-value.c (valpy_str): Use string_file.
    	* record-btrace.c (btrace_insn_history): Use string_file.
    	* regcache.c (regcache_print): Use stdio_file.
    	* reggroups.c (maintenance_print_reggroups): Use stdio_file.
    	* remote.c (escape_buffer): Use string_file.
    	* rust-lang.c (rust_get_disr_info): Use string_file.
    	* serial.c (serial_open_ops_1): Use stdio_file.
    	(do_serial_close): Use delete.
    	* stack.c (print_frame_arg): Use string_file.
    	(print_frame_args): Remove local mem_fileopen stream, not used.
    	(print_frame): Use string_file.
    	* symmisc.c (maintenance_print_symbols): Use stdio_file.
    	* symtab.h (struct symbol_computed_ops) <generate_c_location>:
    	Take a 'string_file *' instead of a 'ui_file *'.
    	* top.c (new_ui): Use stdio_file and stderr_file.
    	(free_ui): Use delete.
    	(execute_command_to_string): Use string_file.
    	(quit_confirm): Use string_file.
    	* tracepoint.c (collection_list::append_exp): Use string_file.
    	* tui/tui-disasm.c (tui_disassemble): Use string_file.
    	* tui/tui-file.c: Don't include "ui-file.h".
    	(enum streamtype, struct tui_stream): Delete.
    	(tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
    	(tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
    	(tui_file::tui_file): New method.
    	(tui_file_fputs): Delete.
    	(tui_file_get_strbuf): Delete.
    	(tui_file::puts): New method.
    	(tui_file_adjust_strbuf): Delete.
    	(tui_file_flush): Delete.
    	(tui_file::flush): New method.
    	* tui/tui-file.h: Tweak intro comment.
    	Include ui-file.h.
    	(tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
    	(tui_file_adjust_strbuf): Delete declarations.
    	(class tui_file): New class.
    	* tui/tui-io.c (tui_initialize_io): Use tui_file.
    	* tui/tui-regs.c (tui_restore_gdbout): Use delete.
    	(tui_register_format): Use string_stream.
    	* tui/tui-stack.c (tui_make_status_line): Use string_file.
    	(tui_get_function_from_frame): Use string_file.
    	* typeprint.c (type_to_string): Use string_file.
    	* ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
    	(null_stream): New global.
    	(ui_file_delete): Delete.
    	(ui_file::ui_file): New.
    	(null_file_isatty): Delete.
    	(ui_file::~ui_file): New.
    	(null_file_rewind): Delete.
    	(ui_file::printf): New.
    	(null_file_put): Delete.
    	(null_file_flush): Delete.
    	(ui_file::putstr): New.
    	(null_file_write): Delete.
    	(ui_file::putstrn): New.
    	(null_file_read): Delete.
    	(ui_file::putc): New.
    	(null_file_fputs): Delete.
    	(null_file_write_async_safe): Delete.
    	(ui_file::vprintf): New.
    	(null_file_delete): Delete.
    	(null_file::write): New.
    	(null_file_fseek): Delete.
    	(null_file::puts): New.
    	(ui_file_data): Delete.
    	(null_file::write_async_safe): New.
    	(gdb_flush, ui_file_isatty): Adjust.
    	(ui_file_put, ui_file_rewind): Delete.
    	(ui_file_write): Adjust.
    	(ui_file_write_for_put): Delete.
    	(ui_file_write_async_safe, ui_file_read): Adjust.
    	(ui_file_fseek): Delete.
    	(fputs_unfiltered): Adjust.
    	(set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
    	(set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
    	(set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
    	(set_ui_file_data): Delete.
    	(string_file::~string_file, string_file::write)
    	(struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
    	(do_ui_file_as_string, ui_file_as_string): Delete.
    	(do_ui_file_obsavestring, ui_file_obsavestring): Delete.
    	(struct mem_file): Delete.
    	(mem_file_new): Delete.
    	(stdio_file::stdio_file): New.
    	(mem_file_delete): Delete.
    	(stdio_file::stdio_file): New.
    	(mem_fileopen): Delete.
    	(stdio_file::~stdio_file): New.
    	(mem_file_rewind): Delete.
    	(stdio_file::set_stream): New.
    	(mem_file_put): Delete.
    	(stdio_file::open): New.
    	(mem_file_write): Delete.
    	(stdio_file_magic, struct stdio_file): Delete.
    	(stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
    	(stdio_file::flush): New.
    	(stdio_file_read): Rename to ...
    	(stdio_file::read): ... this.  Adjust.
    	(stdio_file_write): Rename to ...
    	(stdio_file::write): ... this.  Adjust.
    	(stdio_file_write_async_safe): Rename to ...
    	(stdio_file::write_async_safe) ... this.  Adjust.
    	(stdio_file_fputs): Rename to ...
    	(stdio_file::puts) ... this.  Adjust.
    	(stdio_file_isatty): Delete.
    	(stdio_file_fseek): Delete.
    	(stdio_file::isatty): New.
    	(stderr_file_write): Rename to ...
    	(stderr_file::write) ... this.  Adjust.
    	(stderr_file_fputs): Rename to ...
    	(stderr_file::puts) ... this.  Adjust.
    	(stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
    	(stderr_file::stderr_file): New.
    	(tee_file_magic): Delete.
    	(struct tee_file): Delete.
    	(tee_file::tee_file): New.
    	(tee_file_new): Delete.
    	(tee_file::~tee_file): New.
    	(tee_file_delete): Delete.
    	(tee_file_flush): Rename to ...
    	(tee_file::flush): ... this.  Adjust.
    	(tee_file_write): Rename to ...
    	(tee_file::write): ... this.  Adjust.
    	(tee_file::write_async_safe): New.
    	(tee_file_fputs): Rename to ...
    	(tee_file::puts): ... this.  Adjust.
    	(tee_file_isatty): Rename to ...
    	(tee_file::isatty): ... this.  Adjust.
    	* ui-file.h (struct obstack, struct ui_file): Don't
    	forward-declare.
    	(ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
    	(ui_file_write_ftype)
    	(set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
    	(ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
    	(ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
    	(set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
    	(ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
    	(ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
    	(set_ui_file_fseek): Delete.
    	(ui_file_data, ui_file_delete, ui_file_rewind)
    	(struct ui_file): New.
    	(ui_file_up): New.
    	(class null_file): New.
    	(null_stream): Declare.
    	(ui_file_write_for_put, ui_file_put): Delete.
    	(ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
    	Delete.
    	(ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
    	(gdb_fopen, tee_file_new): Delete.
    	(struct string_file): New.
    	(struct stdio_file): New.
    	(stdio_file_up): New.
    	(struct stderr_file): New.
    	(class tee_file): New.
    	* ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
    	of a 'ui_file *'.  Adjust.
    	* ui-out.h (class ui_out) <field_stream>: Likewise.
    	* utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
    	(null_stream): Delete.
    	(error_stream): Take a 'string_file &' instead of a 'ui_file *'.
    	Adjust.
    	* utils.h (struct ui_file): Delete forward declaration..
    	(make_cleanup_ui_file_delete, null_stream): Delete declarations.
    	(error_stream): Take a 'string_file &' instead of a
    	'ui_file *'.
    	* varobj.c (varobj_value_get_print_value): Use string_file.
    	* xtensa-tdep.c (xtensa_verify_config): Use string_file.
    	* gdbarch.c: Regenerate.

commit 187808b04f61df1c38fda0921e2d9eeb53e332ee
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Feb 2 11:11:47 2017 +0000

    Add back gdb_pretty_print_insn
    
    ui_file_rewind is a ui_file method that only really works with mem
    buffer files, and is a nop on other ui_file types.  It'd be desirable
    to eliminate it from the base ui_file interface, and move it to the
    "mem_fileopen" subclass of ui_file instead.  A following patch does
    just that.
    
    Unfortunately, there are a couple references to ui_file_rewind inside
    gdb_disassembler::pretty_print_insn that were made harder to eliminate
    with the recent addition of the gdb_disassembler wrapper.
    
    Before the gdb_disassembler wrapper was added, in commit
    e47ad6c0bd7aa3 ("Refactor disassembly code"), gdb_pretty_print_insn
    used to be passed a ui_file pointer as argument, and it was simple to
    adjust that pointer be a "mem_fileopen" ui_file pointer instead, since
    there's only one gdb_pretty_print_insn caller.
    
    That commit made gdb_pretty_print_insn be a method of
    gdb_disassembler, and removed the method's ui_file parameter at the
    same time, replaced by referencing the gdb_disassembler's stream
    instead.  The trouble is that a gdb_disassembler can be instantiated
    with a pointer any kind of ui_file.  Casting the gdb_disassembler's
    stream to a mem_fileopen ui_file inside
    gdb_disassembler::pretty_print_insn in order to call the reset method
    would be gross hack.
    
    The fix here is to:
    
     - make gdb_disassembler::pretty_print_insn a be free function again
       instead of a method of gdb_disassembler.  I.e., bring back
       gdb_pretty_print_insn.
    
     - but, don't add back the ui_file * parameter.  Instead, move the
       mem_fileopen allocation inside.  That is a better interface, given
       that the ui_file is only ever used as temporary scratch buffer as
       an implementation detail of gdb_pretty_print_insn.  The function's
       real "where to send output" parameter is the ui_out pointer.  (A
       following patch will add back buffer reuse across invocations
       differently).
    
     - don't add back a disassemble_info pointer either.  That used to be
       necessary for this bit:
    
    	  err = m_di.read_memory_func (pc, &data, 1, &m_di);
    	  if (err != 0)
    	    m_di.memory_error_func (err, pc, &m_di);
    
       ... but AFAIK, it's not really necessary.  We can replace those
       three lines with a call to read_code.  This seems to fix a
       regression even, because before commit d8b49cf0c891d0 ("Don't throw
       exception in dis_asm_memory_error"), that memory_error_func call
       would throw an error/exception, but now it only records the error
       in the gdb_disassembler's m_err_memaddr field.  (read_code throws
       on error.)
    
    With all these, gdb_pretty_print_insn is completely layered on top of
    gdb_disassembler only using the latter's public API.
    
    gdb/ChangeLog:
    2017-02-02  Pedro Alves  <palves@redhat.com>
    
    	* disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
    	(gdb_pretty_print_insn): ... this.  Now a free function.  Add back
    	a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
    	Adjust to call gdb_print_insn instead of
    	gdb_disassembler::print_insn.
    	(dump_insns, do_mixed_source_and_assembly_deprecated)
    	(do_mixed_source_and_assembly, do_assembly_only): Add back a
    	'gdbarch' parameter.  Remove gdb_disassembler parameter.
    	(gdb_disassembly): Don't allocate a gdb_disassembler here.
    	* disasm.h (gdb_disassembler::pretty_print_insn): Delete
    	declaration.
    	(gdb_pretty_print_insn): Re-add declaration.
    	* record-btrace.c (btrace_insn_history): Don't allocate a
    	gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.

commit fd121c5c45bd2652a78c62812737874e36259e2a
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Feb 1 16:44:40 2017 +0000

    [ld, testsuite] Restrict dl1*main and dl6*main tests on platforms which have libdl support
    
    ld/
    	* testsuite/lib/ld-lib.exp (check_libdl_available): New function.
    	* testsuite/ld-elf/shared.exp (run_tests): Split tests which require
    	dlopen support into "dlopen_run_tests".  These tests include dl1*main
    	and dl6*main.
    	(dlopen_run_tests): New and only run it when check_libdl_available
    	returns true.  XFAIL on *-*-netbsdelf*.

commit 7a8eb317c5bce0f1ff290a9343777db74adec663
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Feb 1 22:54:35 2017 -0500

    Remove unused file_string parameter in gdb_disassembly
    
    The file_string parameter was added in 8f0eea0 (sorry, no title back
    then) and has never actually been used.
    
    gdb/ChangeLog:
    
    	* disasm.h (gdb_disassembly): Remove file_string parameter.
    	* disasm.c (gdb_disassembly): Likewise.
    	* cli/cli-cmds.c (print_disassembly): Adapt.
    	* mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
    	* stack.c (do_gdb_disassembly): Likewise.

commit 981d5de71da556bc3b43adbec2d12b1736628b5d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Feb 2 00:00:33 2017 +0000

    Automatic date update in version.in

commit c0c237fcdd133e84e67657cc6b7e4678f106bdcb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Feb 1 22:09:33 2017 +0000

    MIPS/LD/testsuite: Correct relocation addends in VxWorks tests
    
    Fix commit 171191bac50e ("Add support for STT_IFUNC"),
    <https://sourceware.org/ml/binutils/2008-12/msg00052.html>, commit
    e04d7088afe0 ("PR ld/14088: Always display addend as signed hex
    number"), <https://sourceware.org/ml/binutils/2012-05/msg00123.html> and
    commit 343dbc36ffae ("Print addend as signed in objdump"),
    <https://sourceware.org/ml/binutils/2012-05/msg00163.html> regressions:
    
    FAIL: VxWorks executable test 1 (dynamic)
    FAIL: ld-mips-elf/vxworks-forced-local-1
    
    seen with `mips-vxworks' and `mipsel-vxworks' targets and adjust dump
    patterns according to changes made to the presentation of relocation
    addends in `readelf -r' and `objdump -r' output.
    
    	ld/
    	* testsuite/ld-mips-elf/vxworks-forced-local-1.d: Correct the
    	presentation of relocation addends.
    	* testsuite/ld-mips-elf/vxworks1-lib.rd: Likewise.
    	* testsuite/ld-mips-elf/vxworks1.dd: Likewise.
    	* testsuite/ld-mips-elf/vxworks1.rd: Likewise.

commit 5139cfdb5515407900d0c3934c13712a5819456c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Feb 1 22:08:02 2017 +0000

    MIPS/LD/testsuite: Fix a `tls-multi-got-1-1.s' build failure
    
    Correct a commit ec9ab52c3217 ("gas: consistently emit diagnostics for
    non-zero data emission to .bss/.struct"),
    <https://sourceware.org/ml/binutils/2015-12/msg00073.html> regression:
    
    .../ld/testsuite/ld-mips-elf/tls-multi-got-1-1.s: Assembler messages:
    .../ld/testsuite/ld-mips-elf/tls-multi-got-1-1.s:39: Error: attempt to store non-zero value in section `.tbss'
    ERROR: -EB -march=mips1 -32 -KPIC .../ld/testsuite/ld-mips-elf/tls-multi-got-1-1.s: assembly failed
    UNRESOLVED: Shared library with multiple GOTs and TLS
    
    in MIPS target testing and move `tlsvar_ld' to `.tdata' section, in line
    with the remaining local dynamic definitions introduced with the set of
    tests added with commit f4e584bd00f1 ("TLS support for MIPS"),
    <https://sourceware.org/ml/binutils/2005-02/msg00607.html>.
    
    	ld/
    	* testsuite/ld-mips-elf/tls-multi-got-1-1.s: Place `tlsvar_ld'
    	in `.tdata' section.
    	* testsuite/ld-mips-elf/tls-multi-got-1.got: Adjust accordingly.
    	* testsuite/ld-mips-elf/tls-multi-got-1.r: Likewise.

commit 7346ef59bb33e28161d78ab478c3476b3dab2e8e
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Feb 1 16:59:00 2017 +0100

    Big-endian targets: Don't ignore offset into DW_OP_implicit_value
    
    When a variable's location is expressed as DW_OP_implicit_value, but the
    given value is longer than needed, which bytes should be used?  GDB's
    current logic was introduced with a patch from 2011 and uses the "least
    significant" bytes:
    
      https://sourceware.org/ml/gdb-patches/2011-08/msg00123.html
    
    Now consider a sub-value from such a location at a given offset, accessed
    through DW_OP_implicit_pointer.  Which bytes should be used for that?  The
    patch above *always* uses the last bytes on big-endian targets, ignoring
    the offset.
    
    E.g., given the code snippet
    
      const char foo[] = "Hello, world!";
      const char *a = &foo[0];
      const char *b = &foo[7];
    
    assume that `foo' is described as DW_OP_implicit_value and `a' and `b'
    each as DW_OP_implicit_pointer into that value.  Then with current GDB
    `*a' and `*b' yield the same result -- the string's zero terminator.
    
    This patch basically reverts the portion of the patch above that deals
    with DW_OP_implicit_value.  This fixes the offset handling and also goes
    back to dropping the last instead of the first bytes on big-endian targets
    if the implicit value is longer than needed.  The latter aspect of the
    change probably doesn't matter for actual programs, but simplifies the
    logic.
    
    The patch also cleans up the original code a bit and adds appropriate test
    cases.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/dw2-op-stack-value.exp: Adjust expected result of
    	taking a 2-byte value out of a 4-byte DWARF implicit value on
    	big-endian targets.
    	* gdb.dwarf2/nonvar-access.exp: Add more comments to existing
    	logic.  Add test cases for DW_OP_implicit.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
    	DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
    	targets.  And if the implicit value is longer than needed, extract
    	the first bytes instead of the "least significant" ones.

commit 787f00256b3eabe34b8599fca4df0243df80d5ca
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 31 17:13:46 2017 +0100

    testsuite: diagnose a running GDB in gdb_skip_xml_tests
    
    If GDB is running when gdb_skip_xml_tests is called with
    --target_board=native-extended-gdbserer.exp, it fails with:
    
        (gdb) FAIL: ....exp: set tdesc filename .../trivial.xml (got interactive prompt)
        monitor exit
    
    Diagnose this in gdb_skip_xml_tests to generate a more meaningful error message:
    
        ERROR: tcl error sourcing ....exp.
        ERROR: GDB must not be running in gdb_skip_xml_tests.
            while executing
        [...]
    
    testsuite/
    	* lib/gdb.exp (gdb_skip_xml_tests): Error if GDB is running.

commit 68777c298919d6dbdb9537c92a64ed9440ef6f3c
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Thu Jan 26 15:07:44 2017 +0100

    btrace, testsuite: fix extended-remote fail
    
    Parts of gdb.btrace/enable.exp are only valid for native debug.  The check for
    skip_gdbserver_tests is done while GDB is running, though, which causes it to
    fail with --target_board=native-extended-gdbserver.  Exit GDB before that check.
    
    testsuite/
    	* gdb.btrace/enable.exp: Call gdb_exit before skip_gdbserver_tests.

commit 0a1c7e2881226bb9734d7c31c9415c636f35921d
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Thu Jan 26 09:27:45 2017 +0100

    btrace, testsuite: fix extended-remote non-stop test
    
    With --target_board=native-extended-gdbserver non-stop tests are failing with
    
        UNTESTED: gdb.btrace/non-stop.exp: failed to run to main
    
    Fix that by adding '-ex "set non-stop on"' to GDBFLAGS before restarting.
    
    testsuite/
    	* gdb.btrace/non-stop.exp: Add '-ex "set non-stop on"' to GDBFLAGS.

commit b5ac99b0828d4e1dfa33540b428c0fc6c32eda67
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Fri Dec 9 13:16:22 2016 +0100

    btrace: add unsupported/untested messages when skipping tests
    
    We may silently skip gdb.btrace tests if
    
      - the target does not support record-btrace
      - the target does not support TSX
      - the target does not support gdbserver
      - we fail to compile the test
      - we fail to run to main
    
    Add unsupported/untested messages for each of those.
    
    testsuite/
    	* gdb.btrace/buffer-size.exp: Add unsupported/untested message if
    	the test is skipped.
    	* gdb.btrace/data.exp: Likewise.
    	* gdb.btrace/delta.exp: Likewise.
    	* gdb.btrace/dlopen.exp: Likewise.
    	* gdb.btrace/enable-running.exp: Likewise.
    	* gdb.btrace/enable.exp: Likewise.
    	* gdb.btrace/exception.exp: Likewise.
    	* gdb.btrace/function_call_history.exp: Likewise.
    	* gdb.btrace/gcore.exp: Likewise.
    	* gdb.btrace/instruction_history.exp: Likewise.
    	* gdb.btrace/multi-thread-step.exp: Likewise.
    	* gdb.btrace/nohist.exp: Likewise.
    	* gdb.btrace/non-stop.exp: Likewise.
    	* gdb.btrace/reconnect.exp: Likewise.
    	* gdb.btrace/record_goto-step.exp: Likewise.
    	* gdb.btrace/record_goto.exp: Likewise.
    	* gdb.btrace/rn-dl-bind.exp: Likewise.
    	* gdb.btrace/segv.exp: Likewise.
    	* gdb.btrace/step.exp: Likewise.
    	* gdb.btrace/stepi.exp: Likewise.
    	* gdb.btrace/tailcall-only.exp: Likewise.
    	* gdb.btrace/tailcall.exp: Likewise.
    	* gdb.btrace/tsx.exp: Likewise.
    	* gdb.btrace/unknown_functions.exp: Likewise.
    	* gdb.btrace/vdso.exp: Likewise.

commit cd4007e43421a2f974f51574b6e2b52b9b1a7a50
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Wed Nov 30 11:05:38 2016 +0100

    btrace: allow recording to be started (and stopped) for running threads
    
    When recording is started for a running thread, GDB was able to start tracing
    but then failed to read registers to insert the initial entry for the current
    PC.  We don't really need that initial entry if we don't know where exactly we
    started recording.  Skip that step to allow recording to be started while
    threads are running.
    
    If we do run into errors, we need to undo the tracing enable to not leak this
    thread.  The operation did not complete so our caller won't clean up this
    thread.
    
    For the BTRACE_FORMAT_PT btrace format, we don't need that initial entry since
    it will be recorded in the trace.  We can omit the call to btrace_add_pc.
    
    gdb/
    	* btrace.c (btrace_enable): Do not call btrace_add_pc for
    	BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
    	(btrace_fetch): Assert can_access_registers_ptid.
    	* record-btrace.c (require_btrace_thread, record_btrace_info): Call
    	validate_registers_access.
    
    testsuite/
    	* gdb.btrace/enable-running.c: New.
    	* gdb.btrace/enable-running.exp: New.

commit cf77c34ea71c27c3cb6dd31c9448249276e8a8a6
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Fri Jan 20 09:05:03 2017 +0100

    thread: add can_access_registers_ptid
    
    Add a function can_access_registers_ptid that behaves like
    validate_registers_access but returns a boolean value instead of throwing an
    exception.
    
    gdb/
    	* gdbthread.h (can_access_registers_ptid): New.
    	* thread.c (can_access_registers_ptid): New.

commit ce7903706d30e5fa335dd96eaaab3ae914ff8e64
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Jan 31 12:20:48 2017 +0000

    [ld, testsuite] Append $board_cflags in one more place in ld-unique/unique.exp
    
    ld/
    	* testsuite/ld-unique/unique.exp (Could not link a dynamic executable):
    	Append $board_cflags to link commands.

commit 067869b677a9f167e13a7bdb5f5a4d408df9006a
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Wed Feb 1 11:38:39 2017 +0530

    Fix failing print-memory-usage-1 on Windows
    
    ld/
    
    2017-01-31  Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
    
    	* testsuite/ld-scripts/print-memory-usage-1.l: Relax
    	check for digit in second decimal place.

commit ed35cc4a1cb76fd9ac53ad19efb97ee2caffbae9
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Jan 31 16:32:59 2017 -0800

    Don't allow mov-to-lea optimization for __ehdr_start.
    
    gold/
    	PR gold/21090
    	* x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
    	for predefined symbol.
    	(Target_x86_64::Relocate::relocate): Fix formatting.

commit 15a00b13aedc6300732d0b3b6b9daefa361ced6f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jan 31 17:59:44 2017 +0000

    PR ld/20828: LD/testsuite: Correct indentation
    
    	ld/
    	PR ld/20828
    	* testsuite/ld-elf/shared.exp: Correct PR ld/20828 test
    	indentation.

commit be85ce7dcbe99a8e7cd847a0c5b449a0b18a8ce7
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Feb 1 00:07:50 2017 +0000

    [ob/pushed] Use gdb_insn_length instead of creating dummy stream
    
    gdb/ChangeLog:
    2017-02-01  Pedro Alves  <palves@redhat.com>
    
    	* i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.

commit a8128fa6a75e2d3da7d446bec9b8fa36573296cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Feb 1 00:00:22 2017 +0000

    Automatic date update in version.in

commit 29b0b2512ff436c46a77db39317ff50c4bc93601
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 31 17:56:36 2017 +0000

    gdb/mi/mi-interp.c: Fix typos
    
    gdb/ChangeLog:
    2017-01-31  Pedro Alves  <palves@redhat.com>
    
    	* mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
    	Fix typos.

commit 289b5b2421ca79324b7374492ea652aceb869a1d
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 31 17:56:36 2017 +0000

    gdb/stack.c: Remove unused mem_fileopen
    
    gdb/ChangeLog:
    2017-01-31  Pedro Alves  <palves@redhat.com>
    
    	* stack.c (print_frame_args): Remove local mem_fileopen stream,
    	not used.

commit b47413b47e103677fedb7cd1301c62fee01ac4ba
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 31 17:56:36 2017 +0000

    gdb/varobj.c: Fix leak
    
    Whoops, this function returns a std::string.
    
    gdb/ChangeLog:
    2017-01-31  Pedro Alves  <palves@redhat.com>
    
    	* varobj.c (varobj_value_get_print_value): Remove xstrdup call.

commit 60adb36c08942fd4a2f8bf598864254c043668a1
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 31 17:56:35 2017 +0000

    gdb: make_scoped_restore and types convertible to T
    
    A following patch will want to do
    
       string_file str_file;
    
       scoped_restore save_stdout
        = make_scoped_restore (&gdb_stdout, &str_file);
    
    where gdb_stdout is a ui_file *, and string_file is a type that
    inherits from ui_file, but that doesn't compile today:
    
      src/gdb/top.c: In function â??std::__cxx11::string execute_command_to_string(char*, int)â??:
      src/gdb/top.c:710:50: error: no matching function for call to â??make_scoped_restore(ui_file**, string_file*)â??
           = make_scoped_restore (&gdb_stdout, &str_file);
    						    ^
      [...]
      In file included from src/gdb/utils.h:25:0,
    		   from src/gdb/defs.h:732,
    		   from src/gdb/top.c:20:
      src/gdb/common/scoped_restore.h:94:24: note: candidate: template<class T> scoped_restore_tmpl<T> make_scoped_restore(T*, T)
       scoped_restore_tmpl<T> make_scoped_restore (T *var, T value)
    			  ^
      src/gdb/common/scoped_restore.h:94:24: note:   template argument deduction/substitution failed:
      src/gdb/top.c:710:50: note:   deduced conflicting types for parameter â??Tâ?? (â??ui_file*â?? and â??string_file*â??)
           = make_scoped_restore (&gdb_stdout, &str_file);
    						    ^
    
    This commit makes code such as the above possible.
    
    gdb/ChangeLog:
    2017-01-31  Pedro Alves  <palves@redhat.com>
    
    	* common/scoped_restore.h
    	(scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
    	change the value's parameter type to T2.
    	(make_scoped_restore): Likewise.

commit 1273da0414a2f2a31288749a17fe44cbef615ab5
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 31 12:07:04 2017 +0000

    Fix buffer overflows in ld when printing translated strings.
    
    ld	* ldmain.c (add_archive_element): Eliminate string buffer.
    	* ldlang.c (lang_print_asneeded): Likewise.

commit 07fbc63d1e282aa2e8b37cbdc343e0f0171e4ea9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jan 31 00:00:20 2017 +0000

    Automatic date update in version.in

commit 8b10b0b3e100c25322a083248c7a18bf5a1f3527
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 30 17:11:22 2017 +0000

    MIPS: Add options to control branch ISA checks
    
    Complement commit 9d862524f6ae ("MIPS: Verify the ISA mode and alignment
    of branch and jump targets") and add GAS and LD options to control the
    checks for invalid branches between ISA modes introduced there, to help
    with some handwritten code lacking `.insn' annotation for labels used as
    branch targets and code produced by older versions of GCC which suffers
    from the issue with branches to code that has been optimized away,
    addressed with GCC commit 242424 ("MIPS/GCC: Mark trailing labels with
    `.insn'"), <https://gcc.gnu.org/ml/gcc-patches/2016-11/msg01061.html>.
    
    	bfd/
    	* elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
    	(_bfd_mips_elf_linker_flags): ... this.  Add another parameter.
    	* elfxx-mips.c (mips_elf_link_hash_table): Add
    	`ignore_branch_isa' member.
    	(mips_elf_perform_relocation): Do not treat an ISA mode mismatch
    	in branch relocation calculation as an error if
    	`ignore_branch_isa' has been set.
    	(_bfd_mips_elf_insn32): Rename to...
    	(_bfd_mips_elf_linker_flags): ... this.  Rename the `on'
    	parameter to `insn32' and add an `ignore_branch_isa' parameter.
    	Handle the new parameter.
    
    	gas/
    	* config/tc-mips.c (mips_ignore_branch_isa): New variable.
    	(options): Add OPTION_IGNORE_BRANCH_ISA and
    	OPTION_NO_IGNORE_BRANCH_ISA enum values.
    	(md_longopts): Add "mignore-branch-isa" and
    	"mno-ignore-branch-isa" options.
    	(md_parse_option): Handle OPTION_IGNORE_BRANCH_ISA and
    	OPTION_NO_IGNORE_BRANCH_ISA.
    	(fix_bad_cross_mode_branch_p): Return FALSE if
    	`mips_ignore_branch_isa' has been set.
    	(md_show_usage): Add `-mignore-branch-isa' and
    	`-mno-ignore-branch-isa'.
    
    	* doc/as.texinfo (Target MIPS options): Add
    	`-mignore-branch-isa' and `-mno-ignore-branch-isa' options.
    	(-mignore-branch-isa, -mno-ignore-branch-isa): New options.
    	* doc/c-mips.texi (MIPS Options): Add `-mignore-branch-isa' and
    	`-mno-ignore-branch-isa' options.
    
    	* testsuite/gas/mips/branch-local-ignore-2.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-3.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n32-2.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n32-3.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n64-2.d: New test.
    	* testsuite/gas/mips/branch-local-ignore-n64-3.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* emultempl/mipself.em (ignore_branch_isa): New variable.
    	(mips_create_output_section_statements): Rename
    	`_bfd_mips_elf_insn32' called to `_bfd_mips_elf_linker_flags',
    	add `ignore_branch_isa' argument.
    	(PARSE_AND_LIST_PROLOGUE): Add OPTION_IGNORE_BRANCH_ISA and
    	OPTION_NO_IGNORE_BRANCH_ISA enum values.
    	(PARSE_AND_LIST_LONGOPTS): Add "ignore-branch-isa" and
    	"no-ignore-branch-isa" options.
    	(PARSE_AND_LIST_OPTIONS): Add `--ignore-branch-isa' and
    	`--no-ignore-branch-isa'.
    	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_IGNORE_BRANCH_ISA and
    	OPTION_NO_IGNORE_BRANCH_ISA.
    
    	* ld.texinfo (Options specific to MIPS targets): Add
    	`--ignore-branch-isa' and `--no-ignore-branch-isa' options.
    	(ld and the MIPS family): Likewise.
    
    	* testsuite/ld-mips-elf/bal-jalx-pic-ignore.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-ignore-n32.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-ignore-n64.d: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-2.d: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-mips16: New
    	test.
    	* testsuite/ld-mips-elf/unaligned-branch-ignore-micromips: New
    	test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 7795a8f8bdde2fa5c0e0639b92280314b32ec78d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 30 17:10:31 2017 +0000

    MIPS/GAS/testsuite: Convert branch local list tests to dump tests
    
    	gas/
    	* testsuite/gas/mips/branch-local-2.d: New test.
    	* testsuite/gas/mips/branch-local-3.d: New test.
    	* testsuite/gas/mips/branch-local-n32-2.d: New test.
    	* testsuite/gas/mips/branch-local-n32-3.d: New test.
    	* testsuite/gas/mips/branch-local-n64-2.d: New test.
    	* testsuite/gas/mips/branch-local-n64-3.d: New test.
    	* testsuite/gas/mips/mips.exp: Fold corresponding list tests
    	into the new tests.

commit 17e9c56297339ab6b0da4fdc189e090425ae6db9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jan 30 00:00:21 2017 +0000

    Automatic date update in version.in

commit ce6366f9aba4fe6534a2f514e46611acab62bab9
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Sun Jan 29 16:15:16 2017 +0100

    Fix another typo in the last ChangeLog entry.
    
    Gah!  Though this time I blame autocompletion.

commit 8dcdd12d21bc281870077f0c81b8cd1b88afd865
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Sun Jan 29 14:18:13 2017 +0100

    Fix typo in ChangeLog

commit c1d4523838b6ec9bcd827bdebab25ac8444dba70
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Sun Jan 29 14:13:38 2017 +0100

    PR binutils/19935
    
    	Fix long-standing buglet and fallout from now-default initfini-array.
    	* emulparams/criself.sh (USER_LABEL_PREFIX): Define.
    	(OTHER_READONLY_SECTIONS, ENTRY): Delete now-redunant defines.

commit bf382b306a8db84b450aa1dc96ab686fb189a31c
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Sun Jan 29 13:53:58 2017 +0100

    Fix long-standing buglet and fallout from now-default initfini-array.
    
    	* emulparams/criself.sh (USER_LABEL_PREFIX): Define.
    	(OTHER_READONLY_SECTIONS, ENTRY): Delete now-redunant defines.

commit 520306539a9a4eddb23677359c74b36192eb2209
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jan 29 00:00:21 2017 +0000

    Automatic date update in version.in

commit 6a849af808c1a9c5838b3d91af701c8d2a1bc480
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jan 28 00:00:27 2017 +0000

    Automatic date update in version.in

commit 4471a46f6f4b552b97bb546a85bf04c48faf64b4
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Jan 27 23:06:28 2017 +0000

    [ld, testsuite] XFAIL "pr20995-2", "Build pr20995-2.so" on arm*-*-eabi*
    
    ld/
    	* testsuite/ld-elf/elf.exp ("pr20995-2", "Build pr20995-2.so"): XFAIL on
    	arm*-*-eabi*.
    
    Some technical discussions about the reason of this XFAIL are available at
    
      https://sourceware.org/ml/binutils/2017-01/msg00441.html

commit 2735833d5fb220983d09770087b573fed5bf93cd
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date:   Fri Jan 27 15:19:14 2017 +0100

    amd64-linux: expose system register FS_BASE and GS_BASE for Linux.
    
    This patch allows examination of the registers FS_BASE and GS_BASE
    for Linux Systems running on 64bit. Tests for simple read and write
    of the new registers is also added with this patch.
    
    2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
    	    Richard Henderson  <rth@redhat.com>
    
    gdb/ChangeLog:
    
    	* amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
    	(amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
    	GS_BASE for older kernels.
    	(amd64_linux_store_inferior_registers): Add case to store FS_BASE
    	GS_BASE for older kernels.
    	* amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
    	and GS_BASE to the offset table.
    	(amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
    	system register group.
    	* amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
    	for older kernels.
    	* amd64-tdep.c (amd64_init_abi): Add segment registers for the
    	amd64 ABI.
    	* amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
    	AMD64_GSBASE_REGNUM.
    	(AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
    	* features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
    	(amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
    	(x32-avx-linux.dat, x32-avx512-linux.dat): Add
    	i386/64bit-segments.xml in those rules.
    	* features/i386/64bit-segments.xml: New file.
    	* features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
    	* features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
    	* features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
    	* features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
    	* features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
    	* features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
    	* features/i386/amd64-linux.xml: Add 64bit-segments.xml.
    	* features/i386/amd64-avx-linux.c: Regenerated.
    	* features/i386/amd64-avx-mpx-linux.c: Regenerated.
    	* features/i386/amd64-avx-mpx.c: Regenerated.
    	* features/i386/amd64-avx512-linux.c: Regenerated.
    	* features/i386/amd64-linux.c: Regenerated.
    	* features/i386/amd64-mpx-linux.c: Regenerated.
    	* features/i386/i386-avx-mpx-linux.c: Regenerated.
    	* features/i386/i386-avx-mpx.c: Regenerated.
    	* features/i386/x32-avx-linux.c: Regenerated.
    	* features/i386/x32-avx512-linux.c: Regenerated.
    	* regformats/i386/amd64-avx-linux.dat: Regenerated.
    	* regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
    	* regformats/i386/amd64-avx512-linux.dat: Regenerated.
    	* regformats/i386/amd64-linux.dat: Regenerated.
    	* regformats/i386/amd64-mpx-linux.dat: Regenerated.
    	* regformats/i386/x32-avx-linux.dat: Regenerated.
    	* regformats/i386/x32-avx512-linux.dat: Regenerated.
    	* regformats/i386/x32-linux.dat: Regenerated.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (i386 Features): Add system segment registers
    	as feature.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-x86-low.c (x86_64_regmap): Add fs_base and gs_base
    	to the register table.
    	(x86_fill_gregset): Add support for old kernels for the
    	fs_base and gs_base system registers.
    	(x86_store_gregset): Likewise.
    	* configure.srv (srv_i386_64bit_xmlfiles): Add 64bit-segments.xml.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.arch/amd64-gs_base.c: New file.
    	* gdb.arch/amd64-gs_base.exp: New file.
    
    Change-Id: I2e0eeb93058a2320d4d3b045082643cfe4aff963
    Signed-off-by: Walfred Tedeschi <walfred.tedeschi@intel.com>

commit 8884e97e78f337bccb50df7682333db4e7ee1542
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date:   Fri Jan 27 15:19:13 2017 +0100

    amd64: simplify addition of new general registers.
    
    The purpose of this patch is only simplify the addition of new registers.
    ORIG_RAX is kept as last register and any addition is done right before it.
    
    2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
    
    	* amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
    	Set to AMD64_NUM_REGS.

commit 7005d26ac72abbf12e02947ab87dbb3804f326a8
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date:   Fri Jan 27 15:19:12 2017 +0100

    amd64: remove additional comparison for validity of a register number.
    
    Second part of the && is already guaranteed in the "regnum < num_regs"
    due to comparison above.
    
    2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
    
    	* amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
    	that checks validity of a register number.

commit 239b6d10954b18ce089e9c3a667e7f2df3655476
Author: Walfred Tedeschi <walfred.tedeschi@intel.com>
Date:   Fri Jan 27 15:19:12 2017 +0100

    gdbserver-amd64: add HAVE_STRUCT_USER_REGS_STRUCT_(GS|FS)_BASE for gdbserver.
    
    The macros mentioned in the title were set only for GDB. In gdbserver they
    were not set until now.  To align the code in GDB and gdbserver these macros
    are also added into gdbserver, enabling read and write of gs_base and fs_base
    registers from the system in new and old kernels.
    
    2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
    
    gdb/gdbserver/ChangeLog:
    
        	* configure.ac: Check if the fs_base and gs_base members of
        	`struct user_regs_struct' exist.
        	* config.in: Regenerated.
        	* configure: Likewise.

commit 387dd77738619d7e898f063bbeb1b8b6faf6cad5
Author: Dilyan Palauzov <dilyan.palauzov@aegee.org>
Date:   Fri Jan 27 13:20:24 2017 +0000

    Update description of the -plugin option used by the linker, ar and nm.
    
    	PR 20343
    ld	* ld.texinfo (Options): Extend documentation of the --plugin
    	option.  Include a description of where the plugins should be
    	located.
    
    binutils* doc/binutils.texi (ar): Extend documentation of the --plugin
    	option.  Include a description of where the plugins should be
    	located.
    	(nm): Likewise.

commit 8ec5cf65a8213988a9f861e6a94d12311e9b04c3
Author: Alexis Deruell <alexis.deruelle@gmail.com>
Date:   Fri Jan 27 12:00:55 2017 +0000

    Fix disassembling of TIC6X parallel instructions where the previous fetch packet ended with a 32-bit insn.
    
    	PR 21056
    opcodes	* tic6x-dis.c (print_insn_tic6x): Correct displaying of parallel
    	instructions when the previous fetch packet ends with a 32-bit
    	instruction.
    
    gas	* testsuite/gas/tic6x/insns16-parallel.s: New test case.
    	* testsuite/gas/tic6x/insns16-parallel.d: New test driver.

commit 0348d4be1676171b00c3609bea1e01c18af4ea98
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 27 11:27:50 2017 +0000

    Add Serbian translation for the LD directory.
    
    ld	* po/sr.po: New Serbian translation.
    	* configure.ac (ALL_LINGUAS): Add sr.
    	* configure: Regenerate.

commit 4bd2e1b2aee122b46e335d932f7833f9c86610d0
Author: Kees Cook <keescook@chromium.org>
Date:   Fri Jan 27 11:14:47 2017 +0000

    Fix PTRACE_GETREGSET failure for compat inferiors on arm64
    
    When running a 32-bit ARM inferior with a 32-bit ARM GDB on a 64-bit
    AArch64 host, only VFP registers (NT_ARM_VFP) are available. The FPA
    registers (NT_PRFPREG) are not available so GDB must not request them, as
    this will fail with -EINVAL.  This is most noticeably exposed when running
    "generate-core-file":
    
    (gdb) generate-core-file myprog.core
    Unable to fetch the floating point registers.: Invalid argument.
    
    ptrace(PTRACE_GETREGSET, 27642, NT_FPREGSET, 0xffcc67f0) = -1 EINVAL (Invalid argument)
    
    gdb/ChangeLog:
    
    2017-01-27  Kees Cook  <keescook@google.com>
    
    	* gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
    	fetch_fpregs if target has fpa registers.
    	(arm_linux_store_inferior_registers): Call store_fpregs if target
    	has fpa registers.

commit 22d9a0dee3a69973858000b326cf8eaa14ce7180
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Fri Jan 27 09:12:14 2017 +0100

    Fix unused-but-set warning in elf32-cris.c:elf_cris_finish_dynamic_symbol
    
    	* elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
    	local variable dynobj.

commit 1fbd05e16ebde966e44c1108dc77871f3fba329a
Author: Hans-Peter Nilsson <hp@bitrange.com>
Date:   Fri Jan 27 01:50:06 2017 +0100

    Fix PR ld/20995 for cris-linux
    
    	PR ld/20995
    	* elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
    	(elf_cris_adjust_dynamic_symbol): Place variables copied into the
    	executable from read-only sections into sdynrelro.
    	(elf_cris_finish_dynamic_symbol): Select sreldynrelro for
    	dynamic relocs in sdynrelro.
    	(elf_backend_want_dynrelro): Define.

commit b51e1e94d66af7f63cd9052a16881087da111ef1
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Jan 26 18:06:40 2017 -0600

    Add missing gdb/testsuite/ChangeLog entry.

commit 03bc0a24dc1e1a29b972103c207153f91d0313a9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jan 27 00:00:20 2017 +0000

    Automatic date update in version.in

commit 72ca04104418e4926790872a203f404af9453024
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Jan 26 16:12:12 2017 -0500

    Change method of loading .py files in Python tests
    
    With my debug build of Python (--with-pydebug), many tests fails because
    of the same issue.  Python scripts are loaded by the tests using this
    pattern:
    
      (gdb) python exec (open ('file.py').read ())
    
    This causes Python to output this warning:
    
      __main__:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='file.py' mode='r' encoding='ANSI_X3.4-1968'>
    
    and the test to fail because of that extra output.  Instead of using the
    open + read + exec trick which leaks the file and causes the warning,
    why not just source the files?
    
      (gdb) source file.py
    
    This patch changes this, and standardizes the test names of the tests I
    touched to "load python file" (some of them were empty, others were
    overly complicated).
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-bad-printers.exp: Load python file using "source".
    	* gdb.python/py-events.exp: Likewise.
    	* gdb.python/py-evsignal.exp: Likewise.
    	* gdb.python/py-evthreads.exp: Likewise.
    	* gdb.python/py-frame-args.exp: Likewise.
    	* gdb.python/py-framefilter-invalidarg.exp: Likewise.
    	* gdb.python/py-framefilter-mi.exp: Likewise.
    	* gdb.python/py-framefilter.exp: Likewise.
    	* gdb.python/py-mi.exp: Likewise.
    	* gdb.python/py-pp-maint.exp: Likewise.
    	* gdb.python/py-pp-registration.exp: Likewise.
    	* gdb.python/py-prettyprint.exp: Likewise.
    	(run_lang_tests): Likewise.
    	* gdb.python/py-typeprint.exp: Likewise.

commit e3ceef3544fb2178cef284b5fb8b267bf0ab4397
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Jan 26 14:05:37 2017 -0600

    2017-01-26  Luis Machado  <lgustavo@codesourcery.com>
    
    	* lib/memory.exp: Remove spurious empty newlines.

commit e309aa6524f8becadf6f1b75060a74be4c221899
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Jan 26 13:51:09 2017 -0600

    Harden tests that deal with memory regions
    
    Exercising aarch64-elf with a custom debug stub i noticed a few failures in
    both gdb.base/breakpoint-in-ro-region.exp and gdb.base/memattr.exp:
    
    FAIL: gdb.base/breakpoint-in-ro-region.exp: create read-only mem region covering main
    FAIL: gdb.base/breakpoint-in-ro-region.exp: writing to read-only memory fails
    FAIL: gdb.base/breakpoint-in-ro-region.exp: inserting software breakpoint in read-only memory fails
    
    FAIL: gdb.base/memattr.exp: create mem region 1
    FAIL: gdb.base/memattr.exp: create mem region 2
    FAIL: gdb.base/memattr.exp: create mem region 3
    FAIL: gdb.base/memattr.exp: create mem region 4
    FAIL: gdb.base/memattr.exp: create mem region 5
    FAIL: gdb.base/memattr.exp: info mem (1)
    FAIL: gdb.base/memattr.exp: mem1 cannot be read
    FAIL: gdb.base/memattr.exp: mem2 cannot be written
    FAIL: gdb.base/memattr.exp: mem2 can be read
    FAIL: gdb.base/memattr.exp: disable mem 1
    FAIL: gdb.base/memattr.exp: mem 1 was disabled
    FAIL: gdb.base/memattr.exp: enable mem 1
    FAIL: gdb.base/memattr.exp: mem 1 was enabled
    FAIL: gdb.base/memattr.exp: disable mem 2 4
    FAIL: gdb.base/memattr.exp: mem 2 and 4 were disabled
    FAIL: gdb.base/memattr.exp: enable mem 2-4
    FAIL: gdb.base/memattr.exp: mem 2-4 were enabled
    FAIL: gdb.base/memattr.exp: mem 1 to 5 were disabled
    FAIL: gdb.base/memattr.exp: mem 1 to 5 were enabled
    FAIL: gdb.base/memattr.exp: delete mem 1
    FAIL: gdb.base/memattr.exp: mem 1 was deleted
    FAIL: gdb.base/memattr.exp: delete mem 2 4
    FAIL: gdb.base/memattr.exp: mem 2 and 4 were deleted
    FAIL: gdb.base/memattr.exp: mem 2-4 were deleted
    
    These failures don't show up with gdbserver or native gdb on Linux because
    they don't export any memory maps, therefore the vector of memory regions is
    empty.
    
    Outside of that scenario, we can't guarantee the absence of memory regions
    reported by the target upon a connection. In our particular target, we
    provide a memory map and the memory regions vector ceases to be empty.
    
    With a non-empty memory regions vector, manipulating memory regions will cause
    gdb to be more verbose and output text. For example:
    
    memattr.c:require_user_regions
    
      /* Otherwise, let the user know how to get back.  */
      if (from_tty)
        warning (_("Switching to manual control of memory regions; use "
    	       "\"mem auto\" to fetch regions from the target again."));
    
    memattr.c:create_mem_region
    
          if ((lo >= n->lo && (lo < n->hi || n->hi == 0))
    	  || (hi > n->lo && (hi <= n->hi || n->hi == 0))
    	  || (lo <= n->lo && ((hi >= n->hi && n->hi != 0) || hi == 0)))
    	{
    	  printf_unfiltered (_("overlapping memory region\n"));
    	  return;
    	}
    
    In my particular case i got both of the above messages.
    
    In order to fix this, i've moved the delete_memory proc from
    gdb.base/memattr.exp to a new file lib/memory.exp and made lib/gdb.exp
    load that file.
    
    For both gdb.base/breakpoint-in-ro-region.exp and gdb.base/memattr.exp the
    patch clears all existing memory regions after running to main. That way we
    are guaranteed to have a clean state for memory regions so the tests can
    exercise whatever they want and have an expected output pattern.
    
    Regression checked on x86-64/Ubuntu 16.04.
    
    gdb/testsuite/ChangeLog:
    
    2017-01-26  Luis Machado  <lgustavo@codesourcery.com>
    
    	* lib/memory.exp: New file.
    	* lib/gdb.exp: Load memory.exp.
    	* gdb.base/memattr.exp (delete_memory): Move proc to
    	lib/memory.exp and rename to delete_memory_regions.
    	Replace delete_memory with delete_memory_regions.
    	Cleanup memory regions before tests.
    	* gdb.base/breakpoint-in-ro-region.exp: Cleanup memory regions
    	before tests.

commit 7cf1de6cf421f52b145b88055cc89fc666343fba
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Jan 26 19:33:54 2017 +0100

    Big-endian hosts: Fix "set architecture cris"
    
    The all-architectures-1.exp test case currently yields 66 FAILs on s390x,
    because the "set architecture" command fails each time when attempting to
    switch to "cris", "crisv32", or "cris:common_v10_v32".  Actually, the
    command would succeed if the endianness had been set to "little" before.
    Instead, the test case sets the endianness to "auto", which results in
    "big" on s390x.
    
    So on x86_64:
    
      (gdb) set endian auto
      The target endianness is set automatically (currently little endian)
      (gdb) set architecture cris
      warning: A handler for the OS ABI "AIX" is not built into this configuration
      of GDB.  Attempting to continue with the default cris settings.
    
      The target architecture is assumed to be cris
    
    But on s390x:
    
      (gdb) set endian auto
      The target endianness is set automatically (currently big endian)
      (gdb) set architecture cris
      Architecture `cris' not recognized.
    
    See also the test results for s390x and ppc64be:
    
      https://sourceware.org/ml/gdb-testers/2016-q4/msg05150.html
      https://sourceware.org/ml/gdb-testers/2016-q4/msg05713.html
    
    Indeed, cris_gdbarch_init in cris-tdep.c returns a failure unless the
    user-specified endianness is "little".  Other architectures usually ignore
    the user-specified endianness and return a valid gdbarch anyhow, even if
    they can not really cope with the given endianness.
    
    This patch removes the check in cris-tdep.c and forces little-endian byte
    order instead.
    
    gdb/ChangeLog:
    
    	* cris-tdep.c (cris_gdbarch_init): Remove check for
    	info.byte_order and force it to BFD_ENDIAN_LITTLE.

commit 515aff23b43756082fbe357eb9685b401c7aacac
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Jan 26 11:04:08 2017 -0600

    Missing ChangeLog and files for commit 8b00c176168dc7b0d78d0dc1f7d42f915375dc4a
    
    This adds the missing testsuite files and Changelog entry.

commit 8b00c176168dc7b0d78d0dc1f7d42f915375dc4a
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Jan 26 10:34:42 2017 -0600

    Refactor gdb.reverse/insn-reverse.c
    
    Changes in v2:
    
    - Renamed arch-specific files to insn-reverse-<arch>.c.
    - Adjusted according to reviews.
    
    This patch prepares things for an upcoming testcase for record/replay support
    on x86. As is, gdb.reverse/insn-reverse.c is divided into sections guarded by
    a few #if blocks, and right now it only handles arm/aarch64.
    
    If we move forward with requiring more tests for record/replay on different
    architectures, i think this has the potential to become cluttered with a lot
    of differing arch-specific code in the same file.
    
    I've broken up the main file into other files with arch-specific bits
    (insn-reverse-<arch>.c). The main file will hold the generic pieces that will
    take care of calling the tests.
    
    The arch-specific c files are then included at the top of the generic c file.
    
    I've also added a generic initialize function since we need to run pre-test
    checks on x86 to make sure the rdrand/rdseed instructions are supported,
    otherwise we will run into a SIGILL.
    
    The arch-specific files will implement their own initialize function with
    whatever makes sense. Right now the aarch64 and arm files have an empty
    initialization function.
    
    Does this look reasonable?
    
    gdb/testsuite/ChangeLog:
    
    2017-01-26  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.reverse/insn-reverse.c: Move arm and aarch64 code to their own
    	files.
    	(initialize): New function conditionally defined.
    	(testcases): Move within conditional block.
    	(main): Call initialize.
    	* gdb.reverse/insn-reverse-aarch64.c: New file, based on aarch64 bits
    	of gdb.reverse/insn-reverse.c.
    	* gdb.reverse/insn-reverse-arm.c: New file, based on arm bits of
    	gdb.reverse/insn-reverse.c.

commit 874a1c8c32036f790fa527acfab3f6f18740f089
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Thu Jan 26 10:47:27 2017 -0500

    Fix crash when loading a core with unexpected register section size
    
    When loading a core without an executable like so:
     $ gdb --core core
    for example often the gdbarch won't contain the
    iterate_over_regset_sections method. For example on ARM.
    
    This will generate a call to get_core_register_section with a NULL regset
    like at corelow.c:628
    
    get_core_register_section (regcache, NULL, ".reg", 0, 0, "general-purpose", 1);
    
    However a check for REGSET_VARIABLE_SIZE in get_core_register_section
    assumes that regset is != NULL thus leading to a crash with this backtrace:
    
    (gdb) bt
    #0  0x000000000065907b in get_core_register_section
        (regcache=regcache@entry=0x2c26260, regset=regset@entry=0x0,
        name=name@entry=0xdbf7b2 ".reg", min_size=min_size@entry=0,
        which=which@entry=0, human_name=human_name@entry=0xdbac28
        "general-purpose", required=1)
        at ../../gdb/corelow.c:542
    #1  0x0000000000659b70 in get_core_registers (ops=<optimized out>,
        regcache=0x2c26260, regno=<optimized out>) at ../../gdb/corelow.c:628
    #2  0x000000000076e5fb in target_fetch_registers
        (regcache=regcache@entry=0x2c26260, regno=regno@entry=15)
        at ../../gdb/target.c:3590
    
    Note that commit: f962539ad23759 ("Warn if core file register
    section is larger than expected") introduced this issue.
    Thus releases > 7.8.2 are affected.
    
    Also, this would have been caught by gdb.base/corefile.exp but the
    problem is that this triggers only if the core dump is missing some data
    so that it's not recognized as a linux core dump, or it's not a linux core
    dump and the core file register section is larger than expected.
    
    So if you just create a core and read it on linux with ARM the osabi is
    detected properly and iterate_over_regset_sections is present and so the
    problem is not triggered.
    
    Thus creating a linux test for this with a crafted core that meets the
    problem requirements is non-trivial.
    
    This patch fixes this crash by adding a check for regset existence before
    running the condition.
    
    gdb/ChangeLog:
    
    	* corelow.c (get_core_register_section): Check for regset
    	existence before checking for REGSET_VARIABLE_SIZE.

commit d8b49cf0c891d09dd58de05ad5cfe396b612cf3b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:20 2017 +0000

    Don't throw exception in dis_asm_memory_error
    
    Hi,
    GDB calls some APIs from opcodes to do disassembly and provide some
    call backs.  This model makes troubles on C++ exception unwinding,
    because GDB is a C++ program, and opcodes is still compiled as C.
    As we can see, frame #10 and #12 are C++, while #frame 11 is C,
    
     #10 0x0000000000544228 in memory_error (err=TARGET_XFER_E_IO, memaddr=<optimized out>) at ../../binutils-gdb/gdb/corefile.c:237
     #11 0x00000000006b0a54 in print_insn_aarch64 (pc=0, info=0xffffffffeeb0) at ../../binutils-gdb/opcodes/aarch64-dis.c:3185
     #12 0x0000000000553590 in gdb_pretty_print_insn (gdbarch=gdbarch@entry=0xbbceb0, uiout=uiout@entry=0xbc73d0, di=di@entry=0xffffffffeeb0,
        insn=0xffffffffed40, insn@entry=0xffffffffed90, flags=flags@entry=0,
    
    C++ exception unwinder can't go across frame #11 unless it has
    unwind table.  However, C program on many architectures doesn't
    have it in default.  As a result, GDB aborts, which is described
    in PR 20939.
    
    This is not the first time we see this kind of problem.  We've
    had a commit 89525768cd086a0798a504c81fdf7ebcd4c904e1
    "Propagate GDB/C++ exceptions across readline using sj/lj-based TRY/CATCH".
    We can fix the disassembly bug in a similar way, this is the option one.
    
    Since opcodes is built with gdb, we fix this problem in a different
    way as we did for the same issue with readline.  Instead of throwing
    exception in dis_asm_memory_error, we record the failed memory
    address, and throw exception when GDB returns from opcodes disassemblers.
    
    gdb:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	PR gdb/20939
    	* disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
    	call memory_error, save memaddr instead.
    	(gdb_disassembler::print_insn): If gdbarch_print_insn returns
    	negative, cal memory_error.
    	* disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
    
    gdb/testsuite:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/all-architectures.exp.in (do_arch_tests): Test
    	disassemble on address 0.

commit 658ca58c4d41c7512dcabcbc4a5ea2109045c363
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:19 2017 +0000

    Disassembly unit test: memory error
    
    This patch adds a unit test about memory error occurs on reading
    memory, and check MEMORY_ERROR exception is always thrown.
    
    gdb:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    
    	* disasm-selftests.c (memory_error_test): New function.
    	(_initialize_disasm_selftests): Register memory_error_test.

commit 79843d45f7633f33dca8b0a9999a1b0795b6b459
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:19 2017 +0000

    Disassembly unit test: disassemble one instruction
    
    This patch adds one unit test, which disassemble one instruction for
    every gdbarch if available.  The test needs one valid instruction of
    each gdbarch, and most of them are got from breakpoint instruction.
    For the rest gdbarch whose breakpoint instruction isn't a valid
    instruction, I copy one instruction from the gas/testsuite/gas/
    directory.
    
    I get the valid instruction of most gdbarch except ia64, mep, mips,
    tic6x, and xtensa.  People familiar with these arch should be easy
    to extend the test.
    
    In order to achieve "do the unit test for every gdbarch", I add
    selftest-arch.[c,h], so that we can register a function pointer,
    which has one argument gdbarch.  selftest.c will iterate over all
    gdbarches to call the registered function pointer.
    
    gdb:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (SFILES): Add disasm-selftests.c and
    	selftest-arch.c.
    	(COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
    	* disasm-selftests.c: New file.
    	* selftest-arch.c: New file.
    	* selftest-arch.h: New file.

commit 8cafda321ca8588a9e42d78d8713b031696405bc
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:19 2017 +0000

    Call print_insn_mep in mep_gdb_print_insn
    
    opcodes/mep-dis.c:mep_print_insn has already had the code to
    handle the case when info->section is NULL,
    
      /* Picking the right ISA bitmask for the current context is tricky.  */
      if (info->section)
        {
        }
      else /* sid or gdb */
        {
        }
    
    so that we can still cal print_insn_mep even section can't be found.
    On the other hand, user can disassemble an arbitrary address which
    doesn't map to any section at all.
    
    gdb:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    
    	* mep-tdep.c (mep_gdb_print_insn): Set info->arch
    	to bfd_arch_mep.  Don't return 0 if section is not
    	found.  Call print_insn_mep.

commit e47ad6c0bd7aa388b1bd488f6ef522c20c0b94ed
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:19 2017 +0000

    Refactor disassembly code
    
    This patch addes class gdb_disassembler, and refactor
    code to use it.  The gdb_disassembler object is saved
    in disassember_info.application_data.  However,
    disassember_info.application_data is already used by
    gdb for arm, mips spu, and scm-disasm.  In arm and mips,
    .application_data is gdbarch, but we can still get gdbarch
    from gdb_disassember.
    
    The use of application_data in spu is a little bit
    complicated.  It creates its own disassemble_info, and
    save spu_dis_asm_data in .application_data.  This will
    overwrite the pointer to gdb_disassembler, so we need
    to find another place to save spu_dis_asm_data.  I
    extend disassemble_info, and put "id" there.
    
    gdb:
    
    2017-01-26  Pedro Alves  <palves@redhat.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c: Include "disasm.h".
    	(gdb_print_insn_arm): Update code to get gdbarch.
    	* disasm.c (dis_asm_read_memory): Change it to
    	gdb_disassembler::dis_asm_read_memory.
    	(dis_asm_memory_error): Likewise.
    	(dis_asm_print_address): Likewise.
    	(gdb_pretty_print_insn): Change it to
    	gdb_disassembler::pretty_print_insn.
    	(dump_insns): Add one argument gdb_disassemlber.  All
    	callers updated.
    	(do_mixed_source_and_assembly_deprecated): Likewise.
    	(do_mixed_source_and_assembly): Likewise.
    	(do_assembly_only): Likewise.
    	(gdb_disassembler::gdb_disassembler): New.
    	(gdb_disassembler::print_insn): New.
    	* disasm.h (class gdb_disassembler): New.
    	(gdb_pretty_print_insn): Remove declaration.
    	(gdb_disassemble_info): Likewise.
    	* guile/scm-disasm.c (class gdbscm_disassembler): New.
    	(gdbscm_disasm_read_memory_worker): Update.
    	(gdbscm_disasm_read_memory): Update.
    	(gdbscm_disasm_memory_error): Remove.
    	(gdbscm_disasm_print_address): Remove.
    	(gdbscm_disassembler::gdbscm_disassembler): New.
    	(gdbscm_print_insn_from_port): Update.
    	* mips-tdep.c: Include disasm.h.
    	(gdb_print_insn_mips): Update code to get gdbarch.
    	* record-btrace.c (btrace_insn_history): Update.
    	* spu-tdep.c: Include disasm.h.
    	(struct spu_dis_asm_data): Remove.
    	(struct spu_dis_asm_info): New.
    	(spu_dis_asm_print_address): Use spu_dis_asm_info to get
    	SPU id.
    	(gdb_print_insn_spu): Cast disassemble_info to
    	spu_dis_asm_info.

commit 80d758749a7a679288e6e72b2e849b814413b719
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:19 2017 +0000

    New function null_stream
    
    This patch adds a new function null_stream, which returns a null
    stream.  The null stream can be used in multiple places.  It is
    used in gdb_insn_length, and the following patches will use it too.
    
    gdb:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    
    	* disasm.c (do_ui_file_delete): Delete.
    	(gdb_insn_length): Move code creating stream to ...
    	* utils.c (null_stream): ... here.  New function.
    	* utils.h (null_stream): Declare.

commit 8e87a59348adb7e4c31c8f4faf86df8b17ffb54a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jan 26 00:00:31 2017 +0000

    Automatic date update in version.in

commit f13a9a0cf7d13b9ea51b0df4b9fa469652f92338
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jan 25 16:24:44 2017 +0000

    Use dwarf assembler in gdb.dwarf2/implptr-64bit.exp
    
    This patch adds a DW_OP_implicit_value in dwarf assembler, and uses
    dwarf assembler in implptr-64bit.exp.  Using dwarf assembler in
    implptr-64bit.exp exposes some limitations in dwarf assembler,
    
     - some variables are not evaluated in the caller's context, so we
       can not pass variable to assembler, like this
    
           Dwarf::assemble $asm_file {
    
    	cu {
    	    version $dwarf_version
    	    addr_size $addr_size
    	    is_64 $is_64
    	} {
    	}
    
    	and
    
    	{DW_AT_type :$struct_label "DW_FORM_ref$ref_addr_size"}
    
       this limitation is fixed by adding "uplevel" and "subst".
    
     - dwarf assembler doesn't emit DW_FORM_ref_addr for label referencing.
       this limitation is fixed by adding a new character "%",
    
    	{ type %$int_label }
    
       this means we want to emit DW_FORM_ref_addr for label referencing.
    
     - we can't set the form of label referencing offset in dwarf assembler.
       Nowadays, dwarf assembler guesses the form of labels, which is
       DW_FORM_ref4.  However, in implptr-64bit.exp, both DW_FORM_ref4
       and DW_FORM_ref8 is used (see REF_ADDR in implptr-64bit.S).  This
       patch adds the flexibility of setting the form of label reference.
       Both of them below are valid,
    
    	{DW_AT_type :$struct_label}
    	{DW_AT_type :$struct_label DW_FORM_ref8}
    
       the former form is the default DW_FORM_ref4.
    
    I compared the .debug_info of objects without and with this patch
    applied.  There is no changes except abbrev numbers.
    
    gdb/testsuite:
    
    2017-01-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.dwarf2/implptr-64bit.exp: Use dwarf assembler.
    	* gdb.dwarf2/implptr-64bit.S: Remove.
    	* lib/dwarf.exp (Dwarf): Handle character "%".  Evaluate some
    	variables in caller's context.  Add DW_OP_implicit_value.

commit 5ac95241162bf4729ecaf3c880cdaa846a3aded4
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jan 25 16:24:44 2017 +0000

    Handle DW_OP_GNU_implicit_pointer in dwarf assembler
    
    DW_OP_GNU_implicit_pointer refers to a DIE with an offset of different
    sizes in different dwarf versions.  In v2, the size is the pointer size,
    while in v3 and above, it is the ref_addr size.  This patch fixes
    dwarf assembler to emit the correct size of offset.  We've already fixed
    this size issue in gdb,
    https://sourceware.org/ml/gdb-patches/2011-09/msg00451.html
    
    gdb/testsuite:
    
    2017-01-25  Yao Qi  <yao.qi@linaro.org>
    
    	* lib/dwarf.exp (Dwarf::_location): Handle
    	DW_OP_GNU_implicit_pointer with proper size.

commit a1aa5e81de977805b16f2b1b9a12027a7f61c20c
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Wed Jan 25 12:19:27 2017 +0000

    Clarify that include/opcode/ files are part of GNU opcodes
    
    include/ChangeLog:
    2017-01-25  Dimitar Dimitrov  <dimitar@dinux.eu>
    
            * opcode/hppa.h: Clarify that file is part of GNU opcodes.
            * opcode/i860.h: Ditto.
            * opcode/nios2.h: Ditto.
            * opcode/nios2r1.h: Ditto.
            * opcode/nios2r2.h: Ditto.
            * opcode/pru.h: Ditto.
    
    opcodes/ChangeLog:
    2017-01-25  Dimitar Dimitrov  <dimitar@dinux.eu>
    
            * pru-opc.c: Remove vague reference to a future GDB port.

commit 82f252717eef101fb3d105aa2d5b5e3944df6123
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Jan 25 12:24:02 2017 +0000

    Fix include/ChangeLog entry format
    
    Add missing <> around name.

commit 4a7324e1bcb525a0a89b08aabf598009c59bdcec
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Jan 25 17:56:46 2017 +1030

    Remove all RTEMS a.out targets
    
    	* config.bfd (*-*-rtemsaout*): Mark as removed.

commit c75b4ebd4f91f6884f046fa61f43e4cd88733290
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Jan 25 17:55:57 2017 +1030

    Move RTEMS target configuration to ELF sections
    
    bfd/
    	* config.bfd (powerpcle-*-rtems*): Do not mark as removed.
    	(arm-*-rtems*): Move to (arm*-*-eabi*).
    	(i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
    	(m68-*-rtems*): Move to (m68*-*-elf*).
    ld/
    	* configure.tgt (arm-*-rtems*): Move to (arm*-*-eabi*).
    	(bfin-*-rtems*): Move to (bfin*-*-elf*).
    	(i[3-7]86-*-rtems*): Move to (i[3-7]86*-*-elf*).
    	(m68*-*-rtems*): Move to (m68*-*-elf*).
    	(mips*-*-rtems*): Move to (mips*-*-elf*).
    	(or1k*-*-rtems*): Move to (or1k*-*-elf*).
    	(powerpc*-*-rtems*): Move to (powerpc*-*-elf*).
    	(sparc*-*-rtems*): Move to (sparc*-*-elf*).
    	(sparc64*-*-rtems*): Move to (sparc64*-*-elf*).

commit de514cf3db76d0298b94121c35aafcd927fa483d
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Jan 25 17:54:47 2017 +1030

    gas: Default to ELF for RTEMS targets
    
    	* configure.tgt (aarch64*-*-rtems*): Remove.
    	(bfin-*-rtems*): Likewise.
    	(h8300-*-rtems*): Likewise.
    	(i386-*-rtems*): Likewise.
    	(m32c-*-rtems*): Likewise.
    	(m32r-*-rtems*): Likewise.
    	(m68k-*-rtems*): Likewise.
    	(mips-*-rtems*): Likewise.
    	(nios2-*-rtems*): Likewise.
    	(ppc-*-rtems*): Likewise.
    	(sh-*-rtems*): Likewise.
    	(sparc64-*-rtems*): Likewise.
    	(sparc-*-rtems*): Likewise.
    	(*-*-rtems*) Use ELF format.

commit 3e97ba8a528154c6c9698bb87d0a1d3ea21b3ff3
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Jan 25 17:53:44 2017 +1030

    gas: Use ARM EABI for RTEMS
    
    	* configure.tgt (arm-*-rtems*): Move to (arm-*-eabi*).

commit 850d84f6a414660406d359ffcef6b7b763d3ac16
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Wed Jan 25 17:52:27 2017 +1030

    Remove all RTEMS COFF targets
    
    bfd/
    	* config.bfd (*-*-rtemscoff*): Mark as removed.
    gas/
    	* configure.tgt (sh-*-rtemscoff*): Remove.
    ld/
    	* configure.tgt (h8300-*-rtemscoff*): Remove.
    	(i960-*-rtems*): Likewise.
    	(m68*-*-rtemscoff*): Likewise.
    	(sh-*-rtemscoff*): Likewise.

commit 3fe6a8e6476556cd6a16f4c3915a7a918803de42
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jan 25 00:00:22 2017 +0000

    Automatic date update in version.in

commit 373832b6db219ee80cb0263c8b3788954f4e3a8b
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jan 24 15:29:14 2017 -0500

    Fix typo in ExitedEvent doc
    
    The field "inferior" of the ExitedEvent object is not displayed
    properly.
    
    gdb/doc/ChangeLog:
    
    	* python.texi (Events In Python): Fix typo.

commit 666c6aff6beaea9a5724ccc8079559a2c67a5113
Author: Sebastian Huber <sebastian.huber@embedded-brains.de>
Date:   Thu Jan 19 09:10:51 2017 +0100

    RISC-V gas: Remove em=linux from configure.tgt
    
    The use of te-linux.h is unnecessary since the TE_LINUX define is unused
    and LOCAL_LABELS_FB is defined to 1 in tc-riscv.h as well.
    
    gas/
    	* configure.tgt (riscv*-*-*): Remove em=linux.

commit b531344c34b05fcd55ce65776ff50b9a752d60c1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 23 11:38:20 2017 +0000

    PR ld/20828: Reorder the symbol sweep stage of section GC
    
    Complement commit 81ff47b3a546 ("PR ld/20828: Fix linker script symbols
    wrongly forced local with section GC") and move the symbol sweep stage
    of section GC from `elf_gc_sweep' to `bfd_elf_size_dynamic_sections',
    avoiding the need to clear the `forced_local' marker, problematic for
    targets that have special processing in their `elf_backend_hide_symbol'
    handler.  Set `mark' instead in `bfd_elf_record_link_assignment' and,
    matching changes from commit 3bd43ebcb602 ("ld --gc-sections fail with
    __tls_get_addr_opt"), also in PowerPC `__tls_get_addr_opt' handling
    code, removing a:
    
    FAIL: PR ld/20828 dynamic symbols with section GC (version script)
    
    test suite failure with the `score-elf' target.
    
    The rationale is it is enough if symbols are swept at the beginning of
    `bfd_elf_size_dynamic_sections' as it is only in this function that the
    size of the GOT, the dynamic symbol table and other dynamic sections is
    determined, which will depend on the number of symbols making it to the
    dynamic symbol table.  It is also appropriate to do the sweep at this
    point as it is already after any changes have been made to symbols with
    `bfd_elf_record_link_assignment', and not possible any earlier as calls
    to that function are only made just beforehand -- barring audit entry
    processing -- via `gld${EMULATION_NAME}_find_statement_assignment'
    invoked from `gld${EMULATION_NAME}_before_allocation' which is the ELF
    handler for `ldemul_before_allocation'.
    
    	bfd/
    	PR ld/20828
    	* elflink.c (bfd_elf_record_link_assignment): Revert last
    	change and don't ever clear `forced_local'.  Set `mark'
    	unconditionally.
    	(elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
    	file.
    	(elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
    	(bfd_elf_size_dynamic_sections): ... here.
    	* elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
    	and set `mark' instead in `__tls_get_addr_opt' processing.
    	* elf64-ppc.c (ppc64_elf_tls_setup): Likewise.

commit 1a792e1c00e07a1e644145a9f71446cf2e75e9ab
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 23 11:37:19 2017 +0000

    Solaris2/LD: Fix anonymous version script acceptance bug
    
    Correct a bug in Solaris 2 linker emulation code triggered by a test
    introduced with commit 81ff47b3a546 ("PR ld/20828: Fix linker script
    symbols wrongly forced local with section GC") and only create implicit
    version nodes if versioning is actually introduced with a version script
    (or VERSION command) rather than only global vs local symbol visibility
    selected, fixing an:
    
    ld: anonymous version tag cannot be combined with other version tags
    
    linker error produced whenever a version script (or VERSION command) is
    used that does not assign symbol versions, such as:
    
    { global: foo; bar; local: *; };
    
    and consequently removing a:
    
    FAIL: PR ld/20828 dynamic symbols with section GC (version script)
    
    test suite failure with the `x86_64-solaris2' target.
    
    	ld/
    	* emultempl/solaris2.em (elf_solaris2_before_allocation): Do not
    	add implicit version nodes if an anonymous version tag is being
    	used.

commit fae1616f5f1357ae8b8e98241657088248178ced
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Tue Jan 24 10:37:13 2017 +0000

    [PATCH] Add NT_ARM_SVE
    
    	* elf/common.h (NT_ARM_SVE): Define.

commit 077c11e8679ea7fb4fae977327786fea8353132f
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Jan 24 09:33:00 2017 +0000

    [ld, testsuite] Always assemble those intermeidate .o files used later
    
    ld/
    	* testsuite/ld-plugin/lto.exp (lto_link_elf_tests): Move "Compile 7",
    	"Compile 8a", "Compile 8b"...
    	(lto_compile_elf_tests): ...to here.  Always run these tests.
    	(lto_run_elf_tests): Move "LTO 7"...
    	(lto_run_elf_shared_tests): ...to here.  Restrict these tests on
    	environment where share library is supported.

commit f0158f44168c29338e0b4424c69589f79bf58b19
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 24 08:43:01 2017 +1030

    PowerPC dynamic relocations
    
    This patch fixes a number of issues with powerpc dynamic relocations.
    
    1) Both ppc and ppc64 were emitting more dynamic symbols and
    relocations than necessary, due to not supporting static linker
    resolution of tls_index entries for __tls_get_addr_opt.  This meant
    that any @got@tlsgd or @got@tlsld reloc needed to make their symbols
    dynamic and generate dptmod and dtprel relocs for the dynamic linker.
    That would have been passable, but what happened was that practically
    all @got relocations resulted in their symbols being made dynamic and
    dynamic relocations emitted against the GOT entries.  (Mostly visible
    on ppc32 executables since ppc64 gcc really only uses @got style
    relocs for TLS.)
    
    2) The PowerOpen syntax was not supported with __tls_get_addr_opt.
    DTPMOD/DTPREL relocs on tls_index TOC entries did not use the trick of
    forcing dynamic symbols and relocations so those entries always
    resulted in the full __tls_get_addr processing.  gcc doesn't use the
    PowerOpen syntax for TLS, and normally such code would be optimized to
    TLS IE or LE so the impact of missing this support was minimal.
    
    3) In an executable, relocations against GNU indirect functions always
    used the value of their PLT stub.   While this is correct, it is
    better in some cases to use a dynamic relocation.  An extra dynamic
    relocation can mean that calls via function pointers need not bounce
    through the PLT stub at runtime.
    
    The patch also tidies the PLT handling code in ppc32
    allocate_dynrelocs.  Allocating PLT entries after other dynamic relocs
    allows the PLT loop to omit special handling for undefined weak
    symbols, and that in turn allows the loop to be simplified.
    
    bfd/
    	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
    	where dynamic relocs are preferable.  Allow ifunc too.
    	(ensure_undefweak_dynamic): New function.
    	(allocate_dynrelocs): Use it here.  Move plt handling last and
    	don't make symbols dynamic, simplifying loop.  Only make undef
    	weak symbols with GOT entries dynamic.  Correct condition
    	for GOT relocs.  Handle dynamic relocs on ifuncs.  Correct
    	comments.  Remove goto.
    	(ppc_elf_relocate_section): Correct test for using dynamic
    	symbol on GOT relocs.  Rearrange test for emitting GOT relocs
    	to suit.  Set up explicit tls_index entries and implicit GOT
    	tls_index entries resolvable at link time for
    	__tls_get_addr_opt.  Simplify test to clear mem for prelink.
    	* elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
    	(ensure_undefweak_dynamic): New function.
    	(allocate_dynrelocs): Use it here.  Only make undef weak symbols
    	with GOT entries dynamic.  Remove unnecessary test of
    	WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
    	(ppc64_elf_relocate_section): Correct test for using dynamic
    	symbol on GOT relocs.  Rearrange test for emitting GOT relocs
    	to suit.  Set up explicit tls_index entries and implicit GOT
    	tls_index entries resolvable at link time for __tls_get_addr_opt.
    	Simplify expression to clear mem for prelink.
    ld/
    	* testsuite/ld-powerpc/tlsexe.r: Update for fewer dynamic relocs
    	and symbols.
    	* testsuite/ld-powerpc/tlsexe.d: Likewise.
    	* testsuite/ld-powerpc/tlsexe.g: Likewise.

commit 741bcbe94d7811caa1efa500dacd047c428cce61
Author: Rahul Chaudhry <rahulchaudhry@google.com>
Date:   Mon Jan 23 17:34:14 2017 -0800

    Add -e to test scripts where necessary.
    
    gold/
            * testsuite/icf_safe_so_test.sh: Use "set -e".
            * testsuite/icf_safe_test.sh: Likewise.
            * testsuite/icf_test.sh: Likewise.

commit fbf32f638c7e2a80542cb90626a22a6b5bb3e580
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Mon Jan 23 17:26:53 2017 -0800

    Add support for cmtst.
    
    	sim/aarch64/
    	* simulator.c (do_vec_compare): Add case 0x23 for CMTST.
    
    	sim/testsuite/sim/aarch64/
    	* cmtst.s: New.

commit 04bc2a285435a82c45e3417906374307eafacd90
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Mon Jan 23 17:18:00 2017 -0800

    Make the sh_info field of .rel.plt point to .plt (MIPS).
    
    gold/
    	* mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
    	type.
    	(Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
    	point to .plt.

commit c1f59f8ff9462ce45a3287ea06382a97e561fed3
Author: Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
Date:   Mon Jan 23 17:12:10 2017 -0800

    Fix MIPS GOT when global symbols are forced to local visibility.
    
    gold/
    	PR gold/21054
    	* mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
    	to the dynamic symbol table if it is forced to local visibility.
    	(Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
    	dynamic symbol table if it is forced to local visibility.

commit c780b47c74872da62b5b5dfcbfe8c3db1631f981
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jan 24 00:00:18 2017 +0000

    Automatic date update in version.in

commit 60685cd0b99c575a32c3d004b4af568dd0309bcb
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Jan 23 15:31:40 2017 -0500

    Minor simplification of (Python) find_thread_object
    
    Since the reference to the Inferior Python object is managed by
    gdbpy_ref (RAII), we can return directly from the loop.  It's just a
    leftover from the cleanups era.
    
    gdb/ChangeLog:
    
    	* python/py-inferior.c (find_thread_object): Return directly
    	from the loop.  Remove "found" variable.

commit 2d0ca824112f269a883cd04d344614ccab3baaf4
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Mon Jan 23 17:07:13 2017 +0000

    Fix AArch64 relocation handling in ILP32 mode.
    
    bfd	* elfnn-aarch64.c: Fix relaxations for ILP32 mode.
    
    ld	* testsuite/ld-aarch64/aarch64-elf.exp: Run new tests.
    	* testsuite/ld-aarch64/tls-desc-ie-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-all-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-gd-le-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-gdesc-le-2-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-gdesc-le-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-ie-le-2-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-ie-le-3-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-relax-ie-le-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-tiny-desc-ie-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-tiny-desc-le-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-tiny-gd-ie-ilp32.d: New test.
    	* testsuite/ld-aarch64/tls-tiny-gd-le-ilp32.d: New test.

commit c49f9d0fdaea8c2e5f78e20bec113fe3cf1b79f0
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 16:28:46 2017 +0000

    Fix typo in MAINTAINERS file

commit 71d01c691ed49d72f8d0893a354be5260fd052a2
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 16:20:57 2017 +0000

    Remove Mei Ligang as SCORE maintainer

commit cf581a9b94fb480491198be8fbe7da13c86d858e
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 16:16:55 2017 +0000

    Add Bernd Schmidt to Past Maintainers list

commit 93df7317eebbd081e8025545233ca3220bbd23d3
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 15:57:59 2017 +0000

    Restore ability to build zlib in a srcdir == builddir configuration.
    
    	* configure.ac: Restore old behaviour of only enabling multilibs
    	when a target subdirectory is defined.  This allows building with
    	srcdir == builddir.
    	* configure: Regenerate.

commit 33eaf5de31b248f84ae108cf0cf4e1664db9ee51
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 15:23:07 2017 +0000

    Fix spelling mistakes and typos in the GAS sources.
    
    	PR gas/21072
    	* asintl.h: Fix spelling mistakes and typos.
    	* atof-generic.c: Likewise.
    	* bit_fix.h: Likewise.
    	* config/atof-ieee.c: Likewise.
    	* config/bfin-defs.h: Likewise.
    	* config/bfin-parse.y: Likewise.
    	* config/obj-coff-seh.h: Likewise.
    	* config/obj-coff.c: Likewise.
    	* config/obj-evax.c: Likewise.
    	* config/obj-macho.c: Likewise.
    	* config/rx-parse.y: Likewise.
    	* config/tc-aarch64.c: Likewise.
    	* config/tc-alpha.c: Likewise.
    	* config/tc-arc.c: Likewise.
    	* config/tc-arm.c: Likewise.
    	* config/tc-avr.c: Likewise.
    	* config/tc-bfin.c: Likewise.
    	* config/tc-cr16.c: Likewise.
    	* config/tc-cris.c: Likewise.
    	* config/tc-crx.c: Likewise.
    	* config/tc-d10v.c: Likewise.
    	* config/tc-d30v.c: Likewise.
    	* config/tc-dlx.c: Likewise.
    	* config/tc-epiphany.c: Likewise.
    	* config/tc-frv.c: Likewise.
    	* config/tc-hppa.c: Likewise.
    	* config/tc-i370.c: Likewise.
    	* config/tc-i386-intel.c: Likewise.
    	* config/tc-i386.c: Likewise.
    	* config/tc-i960.c: Likewise.
    	* config/tc-ia64.c: Likewise.
    	* config/tc-m32r.c: Likewise.
    	* config/tc-m68hc11.c: Likewise.
    	* config/tc-m68k.c: Likewise.
    	* config/tc-mcore.c: Likewise.
    	* config/tc-mep.c: Likewise.
    	* config/tc-mep.h: Likewise.
    	* config/tc-metag.c: Likewise.
    	* config/tc-microblaze.c: Likewise.
    	* config/tc-mips.c: Likewise.
    	* config/tc-mmix.c: Likewise.
    	* config/tc-mn10200.c: Likewise.
    	* config/tc-mn10300.c: Likewise.
    	* config/tc-msp430.c: Likewise.
    	* config/tc-msp430.h: Likewise.
    	* config/tc-nds32.c: Likewise.
    	* config/tc-nds32.h: Likewise.
    	* config/tc-nios2.c: Likewise.
    	* config/tc-nios2.h: Likewise.
    	* config/tc-ns32k.c: Likewise.
    	* config/tc-pdp11.c: Likewise.
    	* config/tc-ppc.c: Likewise.
    	* config/tc-pru.c: Likewise.
    	* config/tc-rx.c: Likewise.
    	* config/tc-s390.c: Likewise.
    	* config/tc-score.c: Likewise.
    	* config/tc-score7.c: Likewise.
    	* config/tc-sh.c: Likewise.
    	* config/tc-sh64.c: Likewise.
    	* config/tc-sparc.c: Likewise.
    	* config/tc-tic4x.c: Likewise.
    	* config/tc-tic54x.c: Likewise.
    	* config/tc-v850.c: Likewise.
    	* config/tc-vax.c: Likewise.
    	* config/tc-visium.c: Likewise.
    	* config/tc-xgate.c: Likewise.
    	* config/tc-xtensa.c: Likewise.
    	* config/tc-z80.c: Likewise.
    	* config/tc-z8k.c: Likewise.
    	* config/te-vms.c: Likewise.
    	* config/xtensa-relax.c: Likewise.
    	* doc/as.texinfo: Likewise.
    	* doc/c-arm.texi: Likewise.
    	* doc/c-hppa.texi: Likewise.
    	* doc/c-i370.texi: Likewise.
    	* doc/c-i386.texi: Likewise.
    	* doc/c-m32r.texi: Likewise.
    	* doc/c-m68k.texi: Likewise.
    	* doc/c-mmix.texi: Likewise.
    	* doc/c-msp430.texi: Likewise.
    	* doc/c-nds32.texi: Likewise.
    	* doc/c-ns32k.texi: Likewise.
    	* doc/c-riscv.texi: Likewise.
    	* doc/c-rx.texi: Likewise.
    	* doc/c-s390.texi: Likewise.
    	* doc/c-tic6x.texi: Likewise.
    	* doc/c-tilegx.texi: Likewise.
    	* doc/c-tilepro.texi: Likewise.
    	* doc/c-v850.texi: Likewise.
    	* doc/c-xgate.texi: Likewise.
    	* doc/c-xtensa.texi: Likewise.
    	* dwarf2dbg.c: Likewise.
    	* ecoff.c: Likewise.
    	* itbl-ops.c: Likewise.
    	* listing.c: Likewise.
    	* macro.c: Likewise.
    	* po/gas.pot: Likewise.
    	* read.c: Likewise.
    	* struc-symbol.h: Likewise.
    	* symbols.h: Likewise.
    	* testsuite/gas/arc/relocs-errors.err: Likewise.
    	* write.c: Likewise.

commit 715e99a4980aeeb6511eded2e9d5ffe1b063f21e
Author: Bernd Schmidt <bernds_cb1@t-online.de>
Date:   Mon Jan 23 15:00:23 2017 +0100

           * MAINTAINERS (BFIN): Remove myself as Blackfin maintainer.

commit 8069955ee0dbcf6813218a968828afb838c676d9
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 13:32:12 2017 +0000

    Updated Irish translation for ld and Swedish translation for gas.

commit 05a1325405543281f5529720bdcae4bc9f2d1b83
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 23 11:55:48 2017 +0000

    Sync top-level make and configure files with FSF GCC mainline versions.
    
    	* configure.ac: Update year in copyright notice.
    	Sync from FSF GCC mainline, bringing in the following patches.
    	* Makefile.def: Likewise.
    	* Makefile.tpl: Likewise.
    	* configure: Regenerate.
    	* Makefile.in: Regenerate.
    
    	2016-12-21  Jakub Jelinek  <jakub@redhat.com>
    
    	* configure.ac: Don't bootstrap libmpx unless --with-build-config
    	includes bootstrap-mpx.
    
    	2016-12-01  Matthias Klose  <doko@ubuntu.com>
    
    	* configure.ac: Don't use pkg-config to check for bdw-gc.
    
    	2016-11-30  Matthias Klose  <doko@ubuntu.com>
    
    	* Makefile.def: Remove reference to boehm-gc target module.
      	* configure.ac: Include pkg.m4, check for --with-target-bdw-gc
    	options and for the bdw-gc pkg-config module.
    
    	2016-11-15  Matthias Klose  <doko@ubuntu.com>
    
    	* config-ml.in: Remove references to GCJ.
    	* configure.ac: Likewise.
    
    	2016-09-30  Jakub Jelinek  <jakub@redhat.com>
    
    	* configure.ac: Add target-libffi to target_libraries.
    	Readd libgcj target disablings, modified to only target-libffi.
    	Readd target addition of go to unsupported languages.
    
    	2016-09-30  Andrew Haley  <aph@redhat.com>
    
    	* Makefile.def: Remove libjava.
    	* Makefile.tpl: Likewise.
    	* configure.ac: Likewise.
    
    	2016-09-26  Anton Kolesov  <Anton.Kolesov@synopsys.com>
    
    	* configure.ac: Disable "sim" directory for arc*-*-*.
    
    	2016-09-12  Maciej W. Rozycki  <macro@imgtec.com>
    
    	* configure.ac: Check for the minimum in-tree MPFR version
    	handled.

commit 1e5f45bb15d287ed763b7b638254424149040f7a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 23 11:21:19 2017 +0000

    PR ld/20828: Work around RISC-V failures
    
    Complement commit 81ff47b3a546 ("PR ld/20828: Fix linker script symbols
    wrongly forced local with section GC") and add `.plt' to the list of
    output sections created, fixing:
    
    FAIL: PR ld/20828 dynamic symbols with section GC (auxiliary shared library)
    FAIL: PR ld/20828 dynamic symbols with section GC (plain)
    FAIL: PR ld/20828 dynamic symbols with section GC (version script)
    
    failures with `riscv32-elf', `riscv32-linux', `riscv64-elf' and
    `riscv64-linux' targets caused by LD crashing in the absence of such a
    section.
    
    	ld/
    	PR ld/20828
    	* testsuite/ld-elf/pr20828.ld: Add `.plt'.

commit fda46c417ff8324960ca305141df5fc6c2f580af
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 23 11:19:46 2017 +0000

    PR ld/20828: Remove leading `_' from symbols used in tests
    
    Complement commit 81ff47b3a546 ("PR ld/20828: Fix linker script symbols
    wrongly forced local with section GC") and remove the leading underscore
    from `_fdata' and `_edata' symbols used in tests, fixing a:
    
    FAIL: PR ld/20828 dynamic symbols with section GC (version script)
    
    failure with targets such as: `bfin-elf', `bfin-uclinux', `metag-elf',
    `metag-linux' `mn10300-elf', `sh-elf', `sh64-elf', and possibly other
    ones, that have `_' set (with `elf_symbol_leading_char') as the leading
    character for symbols.  As from commit 93252b1cf41a ("bfd/ld: handle ABI
    prefixes in version scripts") these targets strip the leading underscore
    before applying version script rules, because the (default) syntax for
    symbol names is that of the C language rather than their low-level
    symbol table encoding.
    
    	ld/
    	PR ld/20828
    	* testsuite/ld-elf/pr20828.ld: Rename `_fdata' and `_edata' to
    	`fdata' and `edata' respectively.
    	* testsuite/ld-elf/pr20828.ver: Adjust accordingly.
    	* testsuite/ld-elf/pr20828-a.sd: Likewise.
    	* testsuite/ld-elf/pr20828-b.sd: Likewise.
    	* testsuite/ld-elf/pr20828-c.sd: Likewise.

commit adcbdc63e5ccf663dacc8493cec63a95b653285e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 23 11:18:33 2017 +0000

    PR ld/20828: Relax symbol ordering in tests
    
    Complement commit 81ff47b3a546 ("PR ld/20828: Fix linker script symbols
    wrongly forced local with section GC") and make tests check for the
    presence of global `_fdata' and `_edata' symbols separately, removing
    any dependency on symbol table ordering for tests to succeed and
    removing:
    
    FAIL: PR ld/20828 dynamic symbols with section GC (auxiliary shared library)
    FAIL: PR ld/20828 dynamic symbols with section GC (plain)
    
    failures with the `x86_64-solaris2' target, which has additional
    intervening entries:
    
    Symbol table '.dynsym' contains 6 entries:
       Num:    Value          Size Type    Bind   Vis      Ndx Name
         0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
         1: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT    1 _fdata
         2: 0000000000000000     0 OBJECT  GLOBAL DEFAULT    1 _DYNAMIC
         3: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS _PROCEDURE_LINKAGE_TABLE_
         4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT    1 _edata
         5: 00000000000001b8     0 OBJECT  GLOBAL DEFAULT    4 _GLOBAL_OFFSET_TABLE_
    
    Rename dump pattern files accordingly for consistency.
    
    	ld/
    	PR ld/20828
    	* testsuite/ld-elf/pr20828-1.sd: Remove test.
    	* testsuite/ld-elf/pr20828-a.sd: New test.
    	* testsuite/ld-elf/pr20828-2a.sd: Rename test to...
    	* testsuite/ld-elf/pr20828-b.sd: ... this.
    	* testsuite/ld-elf/pr20828-2b.sd: Rename test to...
    	* testsuite/ld-elf/pr20828-c.sd: ... this.
    	* testsuite/ld-elf/shared.exp: Adjust accordingly.

commit 9966f7eece39ced8a09c190616b5b328bf97bfe5
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Mon Jan 23 09:59:10 2017 +0000

    [ld, testsuite] Honor cflags when GCC used as linker driver
    
    ld/
    	* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Append
    	board_cflags as gcc is used as linker driver.
    	* testsuite/ld-unique/unique.exp: Likewise

commit dcd310a08c9ab601b9dc883e706371f1232cdfef
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jan 23 00:00:25 2017 +0000

    Automatic date update in version.in

commit 54f1917fb153898b9c2d2c0dd29c1719347bae52
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jan 22 00:00:22 2017 +0000

    Automatic date update in version.in

commit eb1cdb627c94164063e675d33361adcf509e8327
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sat Jan 21 17:59:40 2017 +0400

    Document the GDB 7.12.1 release in gdb/ChangeLog
    
    gdb/ChangeLog:
    
    	GDB 7.12.1 released.

commit b1ce65684d5f92f281d678581f0569cb16fa58e3
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Jan 20 21:02:05 2017 -0500

    Fix Py_DECREF being executed without holding the GIL
    
    When the gdbpy_ref objects get destroyed, they call Py_DECREF to
    decrement the reference counter of the python object they hold a
    reference to.  Any time we call into the Python API, we should be
    holding the GIL.  The gdbpy_enter object does that for us in an
    RAII-fashion.
    
    However, if gdbpy_enter is declared after a gdbpy_ref object in a
    function, gdbpy_enter's destructor will be called (and the GIL will be
    released) before gdbpy_ref's destructor is called.  Therefore, we will
    end up calling Py_DECREF without holding the GIL.
    
    This became obvious with Python 3.6, where memory management functions
    have asserts to make sure that the GIL is held.  This was exposed by
    tests py-as-string.exp, py-function.exp and py-xmethods.  For example:
    
      (gdb) p $_as_string(enum_valid)
      Fatal Python error: Python memory allocator called without holding the GIL
    
      Current thread 0x00007f7f7b21c780 (most recent call first):
      [1]    18678 abort (core dumped)  ./gdb -nx testsuite/outputs/gdb.python/py-as-string/py-as-string
    
      #0  0x00007ffff618bc37 in raise () from /lib/x86_64-linux-gnu/libc.so.6
      #1  0x00007ffff618f028 in abort () from /lib/x86_64-linux-gnu/libc.so.6
      #2  0x00007ffff6b104d6 in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1457
      #3  0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
      #4  0x00007ffff6a3804e in _PyMem_DebugFree (ctx=0x7ffff6e65290 <_PyMem_Debug+48>, ptr=0x24f8830) at Objects/obmalloc.c:1994
      #5  0x00007ffff6a38e1d in PyMem_Free (ptr=<optimized out>) at Objects/obmalloc.c:442
      #6  0x00007ffff6b866c6 in _PyFaulthandler_Fini () at ./Modules/faulthandler.c:1369
      #7  0x00007ffff6b104bd in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1431
      #8  0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
      #9  0x00007ffff6a3804e in _PyMem_DebugFree (ctx=0x7ffff6e652c0 <_PyMem_Debug+96>, ptr=0x7ffff46b6040) at Objects/obmalloc.c:1994
      #10 0x00007ffff6a38f55 in PyObject_Free (ptr=<optimized out>) at Objects/obmalloc.c:503
      #11 0x00007ffff6a5f27e in unicode_dealloc (unicode=unicode@entry=0x7ffff46b6040) at Objects/unicodeobject.c:1794
      #12 0x00007ffff6a352a9 in _Py_Dealloc (op=0x7ffff46b6040) at Objects/object.c:1786
      #13 0x000000000063f28b in gdb_Py_DECREF (op=0x7ffff46b6040) at /home/emaisin/src/binutils-gdb/gdb/python/python-internal.h:192
      #14 0x000000000063fa33 in gdbpy_ref_policy::decref (ptr=0x7ffff46b6040) at /home/emaisin/src/binutils-gdb/gdb/python/py-ref.h:35
      #15 0x000000000063fa77 in gdb::ref_ptr<_object, gdbpy_ref_policy>::~ref_ptr (this=0x7fffffffcdf0, __in_chrg=<optimized out>) at /home/emaisin/src/binutils-gdb/gdb/common/gdb_ref_ptr.h:91
      #16 0x000000000064d8b8 in fnpy_call (gdbarch=0x2b50010, language=0x115d2c0 <c_language_defn>, cookie=0x7ffff46b7468, argc=1, argv=0x7fffffffcf48)
        at /home/emaisin/src/binutils-gdb/gdb/python/py-function.c:145
    
    The fix is to place the gdbpy_enter first in the function.  I also
    cleaned up the comments a bit and removed the unnecessary initialization
    of the value variable.
    
    gdb/ChangeLog:
    
    	* python/py-function.c (fnpy_call): Reorder declarations to have
    	the gdbpy_enter object declared first.
    	* python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.

commit fec93fb13d2cc088ba3e1aa944f3c2c02616edf1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Jan 20 20:47:41 2017 -0500

    Add missing PR reference in ChangeLog

commit 6f8b04077b0c3dc697b1c2bb042c69413d9813b8
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Jan 20 20:39:08 2017 -0500

    Fix python-interactive with Python 3.6
    
    New in v2:
    
     - Define PyMem_RawMalloc as PyMem_Malloc for Python < 3.4 and use
       PyMem_RawMalloc in the code.
    
    Since Python 3.4, the callback installed in PyOS_ReadlineFunctionPointer
    should return a value allocated with PyMem_RawMalloc instead of
    PyMem_Malloc.  The reason is that PyMem_Malloc must be called with the
    Python Global Interpreter Lock (GIL) held, which is not the case in the
    context where this function is called.  PyMem_RawMalloc was introduced
    for cases like this.
    
    In Python 3.6, it looks like they added an assert to verify that
    PyMem_Malloc was not called without the GIL.  The consequence is that
    typing anything in the python-interactive mode of gdb crashes the
    process.  The same behavior was observed with the official package on
    Arch Linux as well as with a manual Python build on Ubuntu 14.04.
    
    This is what is shown with a debug build of Python 3.6 (the error with a
    non-debug build is far less clear):
    
      (gdb) pi
      >>> print(1)
      Fatal Python error: Python memory allocator called without holding the GIL
    
      Current thread 0x00007f1459af8780 (most recent call first):
      [1]    21326 abort      ./gdb
    
    and the backtrace:
    
      #0  0x00007ffff618bc37 in raise () from /lib/x86_64-linux-gnu/libc.so.6
      #1  0x00007ffff618f028 in abort () from /lib/x86_64-linux-gnu/libc.so.6
      #2  0x00007ffff6b104d6 in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1457
      #3  0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
      #4  0x00007ffff6a3804e in _PyMem_DebugFree (ctx=0x7ffff6e65290 <_PyMem_Debug+48>, ptr=0x24f8830) at Objects/obmalloc.c:1994
      #5  0x00007ffff6a38e1d in PyMem_Free (ptr=<optimized out>) at Objects/obmalloc.c:442
      #6  0x00007ffff6b866c6 in _PyFaulthandler_Fini () at ./Modules/faulthandler.c:1369
      #7  0x00007ffff6b104bd in Py_FatalError (msg=msg@entry=0x7ffff6ba15b8 "Python memory allocator called without holding the GIL") at Python/pylifecycle.c:1431
      #8  0x00007ffff6a37a68 in _PyMem_DebugCheckGIL () at Objects/obmalloc.c:1972
      #9  0x00007ffff6a37aa3 in _PyMem_DebugMalloc (ctx=0x7ffff6e65290 <_PyMem_Debug+48>, nbytes=5) at Objects/obmalloc.c:1980
      #10 0x00007ffff6a38d91 in PyMem_Malloc (size=<optimized out>) at Objects/obmalloc.c:418
      #11 0x000000000064dbe2 in gdbpy_readline_wrapper (sys_stdin=0x7ffff6514640 <_IO_2_1_stdin_>, sys_stdout=0x7ffff6514400 <_IO_2_1_stdout_>, prompt=0x7ffff4d4f7d0 ">>> ")
        at /home/emaisin/src/binutils-gdb/gdb/python/py-gdb-readline.c:75
    
    The documentation is very clear about it [1] and it was also mentioned
    in the "What's New In Python 3.4" page [2].
    
    [1] https://docs.python.org/3/c-api/veryhigh.html#c.PyOS_ReadlineFunctionPointer
    [2] https://docs.python.org/3/whatsnew/3.4.html#changes-in-the-c-api
    
    gdb/ChangeLog:
    
    	* python/python-internal.h (PyMem_RawMalloc): Define for
    	Python < 3.4.
    	* python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
    	PyMem_RawMalloc instead of PyMem_Malloc.

commit 6dd1c25a5a34a7e3d270f1817aee7e4003c88ade
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jan 21 00:00:21 2017 +0000

    Automatic date update in version.in

commit 23e829301bd42b3964f457d50e462195d4343590
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Jan 20 13:58:40 2017 -0600

    Fix uppercase test names in gdb.python/py-xmethods.exp
    
    Some leftover uppercase test names in py-xmethods.exp.  The patch also
    replaces two "continue" calls with untested calls to make things a bit more
    clear.
    
    gdb/testsuite/ChangeLog:
    
    2017-01-20  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.python/py-xmethods.exp: Fix test names starting with lowercase
    	and add untested calls.

commit d334ae250a3ec888f0603cf8e909d0f425aeb30f
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Jan 20 13:15:36 2017 -0600

    Make gdb.python/python.exp more robust
    
    I noticed gdb.python/python.exp failing on aarch64-elf like so:
    
    FAIL: gdb.python/python.exp: Test decode_line func1 line number
    
    This particular test expects the line number for func1 to be 19, hardcoded.
    
    In my aarch64-elf tests gdb thinks func1 is at line 20, making the test fail.
    
    The following patch addresses this by reading the line number information from
    GDB and comparing it against the python decoded symtab information.
    
    gdb/testsuite/ChangeLog:
    
    2017-01-20  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.python/python.exp: Check line number against what GDB thinks
    	the line number is for func1.

commit 78cbbba8e0bc8b0288f5ce4360b4689ab893aa13
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Jan 20 08:13:03 2017 -0600

    Add command to erase all flash memory regions
    
    Changes in v4:
    
    - Replaced phex call with hex_string.
    
    Changes in v3:
    
    - Addressed comments by Pedro.
    - Output of memory region size now in hex format.
    - Misc formatting fixups.
    - Addressed Simon's comments on formatting.
    - Adjusted command text in the manual entry.
    - Fixed up ChangeLog.
    - Renamed flash_erase_all_command to flash_erase_command.
    
    Changes in v2:
    
    - Added NEWS entry.
    - Fixed long lines.
    - Address printing with paddress.
    
    Years ago we contributed flash programming patches upstream.  The following
    patch is a leftover one that complements that functionality by adding a new
    command to erase all reported flash memory blocks.
    
    The command is most useful when we're dealing with flash-enabled targets
    (mostly bare-metal) and we need to reset the board for some reason.
    
    The wiping out of flash memory regions should help the target come up with a
    known clean state from which the user can load a new image and resume
    debugging. It is convenient enough to do this from the debugger, and there is
    also an MI command to expose this functionality to the IDE's.
    
    gdb/doc/ChangeLog:
    
    2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
    	    Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.texinfo (-target-flash-erase): New MI command description.
    	(flash-erase): New CLI command description.
    
    gdb/ChangeLog:
    
    2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
    	    Luis Machado  <lgustavo@codesourcery.com>
    
    	* NEWS (New commands): Mention flash-erase.
    	(New MI commands): Mention target-flash-erase.
    	* mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
    	command.
    	* mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
    	* mi/mi-main.c (mi_cmd_target_flash_erase): New function.
    	* target.c (flash_erase_command): New function.
    	(initialize_targets): Add new flash-erase command.
    	* target.h (flash_erase_command): New declaration.

commit 7f784814df7067396e9c00b5cdc0eff9cd5c68de
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Fri Jan 20 13:30:32 2017 +0000

    [AArch64] Optimize .gnu.hash table size for executable
    
    bfd/
    	* elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
    	(elf_backend_hash_symbol): Define.
    
    ld/
    	* testsuite/ld-aarch64/aarch64-elf.exp (aarch64elflinktests): New tests.
    	* testsuite/ld-aarch64/func-in-so.s: New test source file.
    	* testsuite/ld-aarch64/func-sym-hash-opt.s: Likewise.
    	* testsuite/ld-aarch64/func-sym-hash-opt.d: New expected test result.

commit add3afb219e755e13f4ec1c91aa59223df31a965
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 20 12:25:07 2017 +0000

    Updated Irish translation for the opcodes library.
    
    	* po/ga.po: Updated Irish translation.

commit 9d46ce346fe3028d3d57332f286f3895c0724876
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 20 10:32:25 2017 +0000

    Fix potential array overrun in x86 assembler.
    
    	* config/tc-i386.c (parse_operands): Check for operand overflow
    	before setting the unspecified bit.

commit a24df3057179f81a2624bf3bd3d78113cb2fcc8e
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 20 10:21:17 2017 +0000

    Fix problem in aarch64 gold sources uncovered by Coverty - using sizeof on a pointer instead of an array.
    
    	* aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
            from a pointer to an array.

commit de1ab01e8ebf04a3503d8450e6b924c7bb160853
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 20 10:17:42 2017 +0000

    Sync zlib sources with GCC, upgrading to 1.2.10.
    
    Changes in 1.2.10 (2 Jan 2017)
    - Avoid warnings on snprintf() return value
    - Fix bug in deflate_stored() for zero-length input
    - Fix bug in gzwrite.c that produced corrupt gzip files
    - Remove files to be installed before copying them in Makefile.in
    - Add warnings when compiling with assembler code
    
    Changes in 1.2.9 (31 Dec 2016)
    - Fix contrib/minizip to permit unzipping with desktop API [Zouzou]
    - Improve contrib/blast to return unused bytes
    - Assure that gzoffset() is correct when appending
    - Improve compress() and uncompress() to support large lengths
    - Fix bug in test/example.c where error code not saved
    - Remedy Coverity warning [Randers-Pehrson]
    - Improve speed of gzprintf() in transparent mode
    - Fix inflateInit2() bug when windowBits is 16 or 32
    - Change DEBUG macro to ZLIB_DEBUG
    - Avoid uninitialized access by gzclose_w()
    - Allow building zlib outside of the source directory
    - Fix bug that accepted invalid zlib header when windowBits is zero
    - Fix gzseek() problem on MinGW due to buggy _lseeki64 there
    - Loop on write() calls in gzwrite.c in case of non-blocking I/O
    - Add --warn (-w) option to ./configure for more compiler warnings
    - Reject a window size of 256 bytes if not using the zlib wrapper
    - Fix bug when level 0 used with Z_HUFFMAN or Z_RLE
    - Add --debug (-d) option to ./configure to define ZLIB_DEBUG
    - Fix bugs in creating a very large gzip header
    - Add uncompress2() function, which returns the input size used
    - Assure that deflateParams() will not switch functions mid-block
    - Dramatically speed up deflation for level 0 (storing)
    - Add gzfread(), duplicating the interface of fread()
    - Add gzfwrite(), duplicating the interface of fwrite()
    - Add deflateGetDictionary() function
    - Use snprintf() for later versions of Microsoft C
    - Fix *Init macros to use z_ prefix when requested
    - Replace as400 with os400 for OS/400 support [Monnerat]
    - Add crc32_z() and adler32_z() functions with size_t lengths
    - Update Visual Studio project files [AraHaan]

commit 1737c64030af533c520dd1ed1ec2787302cdf830
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Dec 28 13:22:44 2016 +0000

    objdump: Better objdump section headers in wide mode
    
    When displaying the section headers table using objdump (-h), the column
    containing the section header name is currently fixed at 13 characters.
    A section name that is longer than 13 characters will overflow the
    column causing the table to become miss-aligned.
    
    In this commit I change the behaviour so that _in wide mode_ (-w -h) the
    section name column is dynamically resized to fit the longest section
    name we plan to display.  In wide mode the column still retains a
    minimum width of 13 characters.
    
    In non-wide more the behaviour is completely unchanged.
    
    While I was changing the dump_headers function I have unified the two
    printf lines that handled the different address widths into a single
    printf, the address width is now passed into printf using the '*' field
    width format character.
    
    binutils/ChangeLog:
    
    	* objdump.c (dump_section_header): Extract max section name length
    	from data parameter, use this when formatting output.
    	(find_longest_section_name): New function.
    	(dump_headers): Calculate longest section name when in wide mode,
    	reformat to unify printing of header line.
    
    ld/ChangeLog:
    
    	* testsuite/ld-elf/eh-frame-hdr.d: Update expected results.

commit 2132fe850322e10313d94d505f7ea268f9524ba0
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Tue Jan 17 13:08:02 2017 +0100

    fix gdbserver build in nat/linux-ptrace.c on arm-android
    
    The following change replaced an include of gregset.h by
    an include of <sys/procfs.h>:
    
        commit 39b22471578843019026c50fcdbe0483a6045970
        Date:   Thu Aug 11 12:01:22 2016 +0100
        Subject: Fix fallout from gdb/20413's fix
                 (x32: linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER)
    
    Unfortunately, this broke gdbserver on Android, because that file
    does not exist on this platform.  This patch fixes the issue by
    conditionalizing its include with HAVE_SYS_PROCFS_H (which we check
    both in gdb/configure and gdbserver/configure).
    
    gdb/ChangeLog:
    
            * nat/linux-ptrace.c: Only include <sys/procfs.h> if
            HAVE_SYS_PROCFS_H is defined.
    
    Tested by rebuilding gdbserver on arm-android and GNU/Linux.

commit 8b5a555d0948f0f1f38742c51ac8e53f8e79ba29
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jan 20 00:00:39 2017 +0000

    Automatic date update in version.in

commit 530d10ca18259a9893230afb2fa561e0871f833a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jan 19 00:00:31 2017 +0000

    Automatic date update in version.in

commit 6984613a53528c818482c3a531e17a86bac6e7dc
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jan 18 18:07:58 2017 +0000

    PR ld/20995: MIPS: Set GAS flags correctly for tests
    
    Complement commit 9acc85a62eb7 ("Use dynrelro for symbols in relro
    sections too").
    
    	ld/
    	PR ld/20995
    	* testsuite/ld-elf/elf.exp: Set GAS flags correctly for the
    	`mips*-*-*' target and `pr20995' and `pr20995-2' tests.

commit 057ff622de93d4259e01673619744a4f78c5c41f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 18 11:27:01 2017 -0800

    Remove binutils-pr21040.patch
    
    It has been checked into master branch.

commit 28165ccecad02a12a0e2f7a48949498ccb6a2260
Merge: 88c7c98 81ff47b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 18 11:26:12 2017 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 81ff47b3a54633819fac4d973e34f1ff0c65606e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Jan 16 22:10:57 2017 +0000

    PR ld/20828: Fix linker script symbols wrongly forced local with section GC
    
    Fix a generic ELF linker regression introduced with a chain of changes
    made to unused input section garbage collection:
    
    - commit 1a766c6843ce ("Also hide symbols without PLT nor GOT
      references."),
      <https://sourceware.org/ml/binutils/2011-09/msg00076.html>,
    
    - commit 1d5316ab67e1 ("PR ld/13177: garbage collector retains zombie
      references to external libraries"),
      <https://sourceware.org/ml/binutils/2011-10/msg00161.html>,
    
    - commit 6673f753c019 ("Fix PR 12772, garbage collection of dynamic
      syms"), <https://sourceware.org/ml/binutils/2011-12/msg00077.html>,
    
    causing the garbage collection of unused symbols present in a DSO
    involved in a link to make identically named symbols ordinarily defined
    (i.e. not hidden or PROVIDEd) by a linker script local, even though the
    latter symbols are supposed to be global as if no DSO defined them as
    well.
    
    This is because linker script assignments are processed very late as
    `lang_process' proceeds, down in the call to `ldemul_before_allocation',
    which is made after the call to `lang_gc_sections' to do input section
    garbage collecting.  Consequently if unused, then any such DSO-defined
    symbol has already been garbage-collected and internally marked local.
    It would ordinarily be removed from dynamic symbol table output, however
    a linker script assignment correctly replaces its original definition
    with the new one and enters it into the dynamic symbol table produced as
    it is supposed to be exported.  The original local marking is however
    retained making the symbol local in the dynamic symbol table and
    therefore not available externally.  This also causes a sorting problem
    with the MIPS target, which does not expect non-section local dynamic
    symbols to be output and produces an invalid binary.
    
    Fix the problem then, by removing the `forced_local' marking for the
    offending case and add suitable test cases.  First to verify that unused
    symbols ordinarily defined with linker script assignments remain
    exported in the context of input section garbage collection whether or
    not a DSO defining identically named symbols is present in the link.
    Second that a linker version script still correctly retains or removes
    such symbols as requested.
    
    	bfd/
    	PR ld/20828
    	* elflink.c (bfd_elf_record_link_assignment): Clear any
    	`forced_local' marking for DSO symbols that are not being
    	provided.
    
    	ld/
    	PR ld/20828
    	* testsuite/ld-elf/pr20828-1.sd: New test.
    	* testsuite/ld-elf/pr20828-2a.sd: New test.
    	* testsuite/ld-elf/pr20828-2b.sd: New test.
    	* testsuite/ld-elf/pr20828.ld: New test linker script.
    	* testsuite/ld-elf/pr20828.ver: New test version script.
    	* testsuite/ld-elf/pr20828.s: New test source.
    	* testsuite/ld-elf/shared.exp: Run the new test.

commit 9e009953a54bfbf79d83f37797f846c923aeea43
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jan 18 18:18:21 2017 +0000

    PR gas/20649: MIPS: Fix GOT16/LO16 reloc pairing with comdat sections
    
    Correct a regression from commit 8614eeee67f9 ("Traditional MIPS
    patches"), <https://sourceware.org/ml/binutils/2000-07/msg00018.html>,
    which caused symbols in linkonce or what is these days known as comdat
    sections to be treated as external for the purpose of PIC relocation
    generation even if their binding remains STB_LOCAL.  This in turn
    disabled GOT16/LO16 relocation pairing with references to such symbols,
    as no complementing LO16 relocation is expected for external GOT16
    references in the o32 ABI, which ultimately leads to link errors, e.g.:
    
    ld: comdat-reloc.o: Can't find matching LO16 reloc against `foo' for R_MIPS_GOT16 at 0x24 in section `.text.bar[bar]'
    
    as with the LD test case included with this change.
    
    Revert the special case for symbols in comdat sections then, making code
    actually match `adjust_reloc_syms' as indicated in its explanatory
    comment, and adjust calling code accordingly.  Also bring back the
    corresponding description of what now is `s_is_linkonce', lost with
    commit 5f0fe04bc550 ("Improved MIPS16/MIPS32 code intermixing for
    gas."), <https://www.sourceware.org/ml/binutils/2006-07/msg00039.html>.
    
    	gas/
    	PR gas/20649
    	* config/tc-mips.c (pic_need_relax): Don't check for linkonce
    	symbols, remove the `segtype' parameter.
    	(mips_frob_file, md_estimate_size_before_relax): Adjust
    	accordingly.
    	(s_is_linkonce): Add an explanatory comment.
    	* testsuite/gas/mips/comdat-reloc.d: New test.
    	* testsuite/gas/mips/comdat-reloc.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.
    
    	ld/
    	PR gas/20649
    	* testsuite/ld-mips-elf/mips-elf.exp: Add PIC comdat GOT16/LO16
    	relocation pairing link test.

commit c13a63b04677906020ee72a28d5869d979e36a6f
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Wed Jan 18 17:08:34 2017 +0000

    [ARM] Fix the decoding of indexed element VCMLA instruction
    
    Bit 24 of the indexed element vcmla decode mask was incorrectly
    left unset.  This could cause incorrect disassembly of some
    currently undefined instructions as vcmla.
    
    Rotatation immediates were not printed correctly in the disassembly
    (could print 170 and 280 instead of 180 and 270).
    
    opcodes/
    	* arm-dis.c (coprocessor_opcodes): Fix vcmla mask and disassembly.
    
    gas/
    	* testsuite/gas/arm/armv8_3-a-simd.s: Add vcmla tests.
    	* testsuite/gas/arm/armv8_3-a-simd.d: Update.

commit d1dff2266d29c4739aee6f68c8c587d44b03a717
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jan 18 15:15:50 2017 +0000

    Allocate data in cached_reg_t
    
    2017-01-18  Alan Hayward  <alan.hayward@arm.com>
    
    	* remote.c (struct cached_reg): Change data into a pointer.
    	* (stop_reply_dtr): Free data pointers before deleting vector.
    	(process_stop_reply): Likewise.
    	(remote_parse_stop_reply): Allocate space for data

commit 9890e4338dcabf4512b4856b09511f25c81d10f1
Author: Alan Hayward <alan.hayward@arm.com>
Date:   Wed Jan 18 11:23:02 2017 +0000

    Use register_size () instead of MAX_REGISTER_SIZE
    
    2017-01-18  Alan Hayward  <alan.hayward@arm.com>
    
    	* amd64-tdep.c (amd64_pseudo_register_read_value): remove
    	MAX_REGISTER_SIZE.
    	(amd64_pseudo_register_read_value): Likewise.
    	* remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
    	(store_register_using_P): Likewise.
    	* regcache.c (regcache_xfer_part): Likewise.

commit 2cedb9ebf8254a23d1fbd4f76a85e5f08dc3aaf5
Author: Bernhard Rosenkranzer <bero@lindev.ch>
Date:   Wed Jan 18 13:38:27 2017 +0000

    Add support for processing lex source files with flex v 2.6.3
    
    	PR 21059
    binutils* arlex.l: Support processing with flex 2.6.3.
    	* deflex.l: Likewise.
    
    gas	* config/bfin-lex.l: Support processing with flex 2.6.3.
    	* itbl-lex.l: Likewise.

commit 1ec4b9f28bab4400c882a0f3e966eb12b73cee1a
Author: Nathan Sidwell <nathan@acm.org>
Date:   Wed Jan 18 08:23:10 2017 -0500

    Catch gas exit-via-signal
    
    	gas/
    	* as.h (gas_assert): Use abort.
    	(as_assert): Remove.
    	(signal_init): Declare.
    	* as.c (main): Call signal_init.
    	* messages.c: #include <signal.h>
    	(as_assert): Delete.
    	(as_abort): Allow NULL FILE.
    	(signal_crash): New.
    	(signal_init): Register fatal signal handlers.
    	* configure.ac: Check for strsignal.
    	* config.in: Rebuilt.
    	* configure: Rebuilt.

commit 319b82e47dd12d6554e17a2ceedd3139b88ba55f
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Wed Jan 18 12:23:19 2017 +0000

    Skip linker tests for unique symbols in shared libraries if the target does not support building shared libraries.
    
    ld	* testsuite/ld-unique/unique.exp: Filter shared lib cases in
    	uniqeue.exp, as not all targets have such support.

commit 6bb21700abb61cdb62a3d9fdf417971d528d5a37
Author: Dmitry Timoshkov <dmitry@baikal.ru>
Date:   Wed Jan 18 11:40:06 2017 +0000

    Stop the (optional) dialong control data from being aligned when parsing/writing windows resource files.
    
    binutils* resbin.c: Optional dialog control data immediately follow
    	the control description without alignment.
    	* testsuite/binutils-all/windres/controldata.rc: New test.
    	source.
    	* testsuite/binutils-all/windres/controldata.rsd: New test.

commit 01fabda4d46b34b2b02fb5a447943ab281c8ac8c
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jan 18 11:35:29 2017 +0000

    Updated Swedish translation for GAS.

commit 05b3d79d265aa9de2a81ac2d0f5e6f5821161f34
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Tue Jan 17 16:01:40 2017 -0800

    Fixes for addv and xtn2 instructions.
    
    	sim/aarch64/
    	* simulator.c (do_vec_ADDV): Call aarch64_set_vec_u64 instead of
    	aarch64_set_reg_u64.  In case 2, call HALT_UNALLOC if not full.  In
    	case 3, call HALT_UNALLOC unconditionally.
    	(do_vec_XTN): Delete shifts.  In case 2, change index from i + 4 to
    	i + 2.  Delete if on bias, change index to i + bias * X.
    
    	sim/testsuite/sim/aarch64/
    	* addv.s: New.
    	* xtn.s: New.

commit 11741d50eff1424bb1f628ede3dfe42a74343b52
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jan 18 00:00:27 2017 +0000

    Automatic date update in version.in

commit 640d6bfddb82560687d8796aa7f0675c93bb062f
Author: Kuan-Lin Chen <rufus@andestech.com>
Date:   Tue Jan 17 09:46:28 2017 +0800

    RISC-V/bfd: Hook elf_backend_object_p to set the mach type.

commit f964e51d907b008bfdddd0824a56e420737212a3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jan 17 00:00:21 2017 +0000

    Automatic date update in version.in

commit 7a36499abc7d110e83cb60f4895d0fcfbab43bf4
Author: Ivo Raisr <ivo.raisr@oracle.com>
Date:   Mon Jan 16 08:45:48 2017 -0800

    gdb: sparc: split real and pseudo registers.
    
    gdb/ChangeLog:
    
    2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
    
    	Split real and pseudo registers.
    	* sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
    	(sparc32_pseudo_regnum): New enum.
    	* sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
    	* sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
    	(SPARC32_CP0_REGISTERS): New macro.
    	(sparc32_pseudo_register_name): New function.
    	(sparc32_register_name): Use sparc32_pseudo_register_name.
    	(sparc32_pseudo_register_type): New function.
    	(sparc32_register_type): Use sparc32_pseudo_register_type.
    	(sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
    	pseudo register numbers.
    	* sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
    	(SPARC64_CP0_REGISTERS): New macro.
    	(sparc64_pseudo_register_name): New function.
    	(sparc64_register_name): Use sparc64_pseudo_register_name.
    	(sparc64_pseudo_register_type): New function.
    	(sparc64_register_type): Use sparc64_pseudo_register_type.
    	(sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
    	pseudo register numbers.
    	(sparc64_store_floating_fields, sparc64_extract_floating_fields,
    	sparc64_store_arguments): Handle pseudo register numbers.

commit 6aa1df2d44358bc3f098af76b0825dacc0a68bb6
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 16 10:59:23 2017 +0000

    Updated Swedish translations for GAS and LD subdirectories.
    
    gas	* po/sv.po: Updated Swedish translation.
    ld	* po/sv.po: Updated Swedish translation.

commit 17a3046bfd9c1ebb65d5ee029a05024c4089192e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jan 16 00:00:21 2017 +0000

    Automatic date update in version.in

commit e707b49e73ffd45b7a1f16c570e51927037dfef5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jan 15 00:00:21 2017 +0000

    Automatic date update in version.in

commit 545e07dffdaf1b79497a866772caf0dd6e0a243f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jan 14 00:00:23 2017 +0000

    Automatic date update in version.in

commit 857e829e3a0b681c3cd807a307f53f466a332204
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jan 13 07:46:14 2017 -0800

    Gold: Fix build with GCC 4.2
    
    	PR gold/21040
    	* powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
    	Cast 0x80008000 to uint64_t.

commit 6f8976bfd6d7848268849b88e95917217ee31d3e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 13 15:45:33 2017 +0000

    Don't print too much if remote_debug is on
    
    If we turn "remote debug" on and GDB does some vFile operations,
    a lot of things will be printed in the screen, which makes
    "remote debug" useless.
    
    This patch changes the code that we only print 512 chars in max in
    debugging messages, like this,
    
    Sending packet: $qXfer:features:read:target.xml:0,fff#7d...Packet received: l<?xml version="1.0"?>\n<!-- Copyright (C) 2010-2016 Free Software Foundation, Inc.\n\n     Copying and distribution of this file, with or without modification,\n     are permitted in any medium without royalty provided the copyright\n     notice and this notice are preserved.  -->\n\n<!-- AMD64 with AVX - Includes Linux-only special "register".  -->\n\n<!DOCTYPE target SYSTEM "gdb-target.dtd">\n<target>\n  <architecture>i386:x86-64</architecture>\n  <osabi>GNU/Linux</osabi>\n  <xi:include href="64bit-core.xml"/>\n  <xi:[14 bytes omitted]
    
    Sending packet: $qXfer:auxv:read::0,1000#6b...Packet received: l!\000\000\000\000\000\000\000\000d\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000@\000@\000\000\000\000\000\004\000\000\000\000\000\000\0008\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\177\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000\000\000\000\000\000\000\004@\000\000\000\000\000\013\000\000\000\000\000\000\003\000\000\000\000\000\000\f\000\000\000\000\000\000\003\000\000\000\000\000\000\r\000\000\000\000\000\000\003\000\000\000\000\000\000\016\000\000\000\000\000\000\003\000\000\000\000\000\000\027\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\000\000\000\000\000\000\177\000\000\037\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\00\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000[582 bytes omitted]
    
    gdb:
    
    2017-01-13  Yao Qi  <yao.qi@linaro.org>
    
    	* remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
    	(putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
    	output.
    	(getpkt_or_notif_sane_1): Likewise.

commit e4241ace685d9886c14f1362e1e1783129774b7c
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 13 14:40:11 2017 +0000

    'make check-headers' for c++ header
    
    If I run 'make check-headers', I get these errors,
    ....
    In file included from ../../binutils-gdb/gdb/common/common-defs.h:78:0,
                     from ../../binutils-gdb/gdb/defs.h:28,
                     from <command-line>:0:
    ../../binutils-gdb/gdb/common/common-utils.h:23:18: fatal error: string: No such file or directory
     #include <string>
                      ^
    
    because we still parse headers as c file with a c compiler, which is no
    longer true after we moved to C++.  This patch changes it to use C++
    compiler and parse headers as c++ headers.
    
    gdb:
    
    2017-01-13  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
    	of CC.  Pass "-x c++-header" instead of "-x c".

commit 9608051a0eba6303adcadff7d09b70a36067fba3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 13 12:27:39 2017 +0000

    Return -1 on memory error in print_insn_m68k
    
    m68k-dis.c:print_insn_m68k doesn't return -1 on memory error, but GDB
    expects it returning -1 on memory error.
    
    opcodes:
    
    2017-01-13  Yao Qi  <yao.qi@linaro.org>
    
    	* m68k-dis.c (match_insn_m68k): Extend comments.  Return -1
    	if FETCH_DATA returns 0.
    	(m68k_scan_mask): Likewise.
    	(print_insn_m68k): Update code to handle -1 return value.

commit f622ea96de49d77646f52501ef00d03132fcb2df
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 13 12:21:22 2017 +0000

    Remove magic numbers in m68k-dis.c:print_insn_arg
    
    When I inspect the return values of disassmblers, I happen to see
    various -1/-2/-3 magic numbers are used in m68k-dis.c.  This patch
    is to replace them with enum.
    
    -1 and -2 is "clearly documented" in print_ins_arg's comments, but
    -3 isn't.  In fact, -3 is returned when FETCH_DATA returns false,
    which means memory error (because fetch_data return 0 on memory
    error).  So I name enum PRINT_INSN_ARG_MEMORY_ERROR for -3.
    
    This patch is a refactor patch, doesn't affect any functionality.
    
    opcodes:
    
    2017-01-13  Yao Qi  <yao.qi@linaro.org>
    
    	* m68k-dis.c (enum print_insn_arg_error): New.
    	(NEXTBYTE): Replace -3 with
    	PRINT_INSN_ARG_MEMORY_ERROR.
    	(NEXTULONG): Likewise.
    	(NEXTSINGLE): Likewise.
    	(NEXTDOUBLE): Likewise.
    	(NEXTDOUBLE): Likewise.
    	(NEXTPACKED): Likewise.
    	(FETCH_ARG): Likewise.
    	(FETCH_DATA): Update comments.
    	(print_insn_arg): Update comments. Replace magic numbers with
    	enum.
    	(match_insn_m68k): Likewise.

commit 404c84343097091e21090727948d1461bf316118
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jan 13 00:00:22 2017 +0000

    Automatic date update in version.in

commit 88c7c986271b02a572db96054f13622e3c854fe0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jan 12 12:48:02 2017 -0800

    Update binutils-pr21040.patch against master

commit 8f5933ed9ec9044e8266c1378bbb15ca602caf64
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jan 12 12:47:04 2017 -0800

    Remove binutils-pr21039.patch
    
    master branch has been fixed.

commit b8aae867402d5d1b8e296b253c3d0799d5e0f3c7
Merge: 92a933c 8361ed4
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jan 12 12:46:32 2017 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit aca5eec611b4e30c745b9c9e7283d57255505471
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Jan 12 11:51:18 2017 -0800

    Fix incorrect byte counts.
    
    gold/
    	* object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.

commit 8361ed4d6b7049264153434e8dc15e6dc2200ebf
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jan 12 10:30:56 2017 -0800

    x86-64: Also generate unwind info for .plt.bnd
    
    Also generate unwind info for the .plt.bnd section.  Sine it is the same
    as unwind info for the .plt.got section, we use unwind info for the
    .plt.got section to cover the the .plt.bnd section.
    
    bfd/
    
    	PR ld/21038
    	* elf64-x86-64.c (elf_x86_64_link_hash_table): Add
    	plt_bnd_eh_frame.
    	(elf_x86_64_check_relocs): Create .eh_frame section for the
    	.plt.bnd section.
    	(elf_x86_64_size_dynamic_sections): Allocate and initialize
    	.eh_frame section for the .plt.bnd section.
    	(elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
    	for the .plt.bnd section.
    
    ld/
    
    	PR ld/21038
    	* testsuite/ld-x86-64/pr21038b.d: Updated.
    	* testsuite/ld-x86-64/pr21038c.d: New file.
    	* testsuite/ld-x86-64/pr21038c.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run pr21038c.

commit 2425a30e406a0523020b7e70abb864a06a45bb97
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 12 16:56:54 2017 +0000

    Add support for locating separate debug info files via the build-id method.
    
    	PR binutils/20876
    bfd	* opncls.c (find_separate_debug_file): Add include_dirs
    	parameter.  Only include the directory part of the bfd's filename
    	in search paths if include_dirs is true.  Add a couple of extra
    	locations for looking for debug files.
    	( bfd_follow_gnu_debuglink): Update invocation of
    	find_separate_debug_file.
    	(bfd_follow_gnu_debugaltlink): Likewise.
    	(get_build_id): New function: Finds the build-id of the given bfd.
    	(get_build_id_name): New function: Computes the name of the
    	separate debug info file for a bfd, based upon its build-id.
    	(check_build_id_file): New function: Checks to see if a separate
    	debug info file exists at the given location, and that its
    	build-id matches that of the original bfd.
    	(bfd_follow_build_id_debuglink): New function: Finds a separate
    	debug info file for a given bfd by using the build-id method.
    	* dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
    	method of locating a separate debug info file before using the
    	debuglink method.
    	* bfd-in2.h: Regenerate.
    
    binutils * NEWS: Mention the new feature.
    	* testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
    	New proc to test the location of separate debug info files using
    	the build-id method.

commit 620214f742f7816e2844e1bb7f78a7a684431927
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Thu Jan 12 08:42:17 2017 -0800

    Enable Intel AVX512_VPOPCNTDQ instructions
    
    gas/
    
    2017-01-12  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
    
    	* config/tc-i386.c (cpu_arch): Add .avx512_vpopcntdq.
    	(cpu_noarch): Add noavx512_vpopcntdq.
    	* doc/c-i386.texi: Document avx512_vpopcntdq, noavx512_vpopcntdq.
    	* testsuite/gas/i386/i386.exp: Run AVX512_VPOPCNTDQ tests.
    	* testsuite/gas/i386/avx512_vpopcntdqd-intel.d: New file.
    	* testsuite/gas/i386/avx512_vpopcntdqd.d: Ditto.
    	* testsuite/gas/i386/avx512_vpopcntdqd.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_vpopcntdqd-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_vpopcntdqd.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_vpopcntdqd.s: Ditto.
    
    opcodes/
    
    2017-01-12  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
    
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3855, EVEX_W_0F3855_P_2.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_VPOPCNTDQ_FLAGS,
    	CPU_ANY_AVX512_VPOPCNTDQ_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_VPOPCNTDQ.
    	* i386-opc.h (enum): (AVX512_VPOPCNTDQ): New.
    	(i386_cpu_flags): Add cpuavx512_vpopcntdq.
    	* i386-opc.tbl: Add Intel AVX512_VPOPCNTDQ instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 3015c06465584a437261c65a397fbd8f1a71aae7
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Jan 12 11:15:01 2017 -0500

    Update comment in remote_can_async_p
    
    I find this comment counter intuitive, and it probably predates the
    always-target-async change.  AFAIK, remote will always be async, unless
    the user explicitly prevents it with "maint set target-async off".
    
    gdb/ChangeLog:
    
    	* remote.c (remote_can_async_p): Update comment.

commit fde1b17d37fd5557a22948d500bb5f4b6ef5d089
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Jan 12 11:04:53 2017 -0500

    Update comment in linux_nat_can_async_p
    
    I think this comment is outdated.  Nowadays, linux-nat is always async,
    unless the user has explictly turned it off with
    "maint set target-async off".
    
    gdb/ChangeLog:
    
    	* linux-nat.c (linux_nat_can_async_p): Update comment.

commit ca1ca08b0893eb6ec530db0cc7e12537417244fa
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Jan 12 10:39:35 2017 -0500

    Remove dead serial_interface_lookup calls
    
    By inspecting the serial_add_interface calls, I found that the serial
    interface names that we have today are:
    
     - hardwire
     - terminal
     - pipe
     - tcp
     - event
    
     The calls to serial_interface_lookup with any other names are most
     likely leftovers which can be removed since these serial interfaces
     don't exist anymore.  The commits that removed the "pc" and "parallel"
     interfaces are respectively:
    
      cb2a4ac5dae478fcd9d6e772530c3aba0576fc7a
    
    and
    
      e386d4d2fb55042f77d0557a0849ed2464aee7b3
    
    gdb/ChangeLog:
    
    	* serial.c (serial_open): Forget about "pc" and "lpt" serial interface.

commit 1181551ef0a9a7f611a3d1130d2b284280882870
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 12 14:56:13 2017 +0000

    Prevent internal assembler errors if a stabs creation function builds an badly formatted input string.
    
    	* read.c (temp_ilp): New function.  Installs a temporary input
    	line pointer.
    	(restore_ilp): New function.  Restores the original input line
    	pointer.
    	* read.h (temp_ilp): Prototype.
    	(restore_ilp): Prototype.
    	* stabs.c (dot_func_p): Use bfd_boolean type.
    	(generate_asm_file): Use temp_ilp and restore_ilp.
    	(stabs_generate_asm_lineno): Likewise.
    	(stabs_generate_asm_endfunc): Likewise.

commit d95014a2ef6e9aee927c13960fa37e509d46eb32
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 12 09:40:41 2017 +0000

    Return -1 on memory error in print_insn_msp430
    
    Disassemblers in opcodes return -1 on memory error, but msp430 doesn't
    follow this convention.  If I change GDB not to throw exception in
    disassemble_info.memory_error_func and rely on the return value of
    disassembler, I'll get the following output.
    
    (gdb) disassemble 0x0,+8
    Dump of assembler code from 0x0 to 0x8:
       0x00000000:  .word   0xffff; ????
       0x00000002:  .word   0xffff; ????
       0x00000004:  .word   0xffff; ????
       0x00000006:  .word   0xffff; ????
    End of assembler dump.
    
    This patch teaches print_insn_msp430 and its callees to return -1
    on memory error.
    
    opcodes:
    
    2017-01-12  Yao Qi  <yao.qi@linaro.org>
    
    	* msp430-dis.c (msp430_singleoperand): Return -1 if
    	msp430dis_opcode_signed returns false.
    	(msp430_doubleoperand): Likewise.
    	(msp430_branchinstr): Return -1 if
    	msp430dis_opcode_unsigned returns false.
    	(msp430x_calla_instr): Likewise.
    	(print_insn_msp430): Likewise.

commit eed0b5b26320bfcdb858a6b889dffe4f037f814d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jan 12 00:00:25 2017 +0000

    Automatic date update in version.in

commit 6624f3a142811450fab7eed1f406c4a030c3c9be
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Jan 11 13:42:24 2017 -0800

    Fix more compile errors with GCC 4.2.
    
    gold/
    	PR gold/21040
    	* x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
    	Remove unnecessary 'typename' keyword.
    	(Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
    	(Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
    	(Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
    	(Output_data_plt_x86_64_bnd::do_write): Likewise.

commit 92a933c80584d8be429764535814c3d1a3ae2b3a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 11 12:04:23 2017 -0800

    Fix PRs gold/21039,21040

commit 976e204b369fd01f9d35d87ea2cd07707c3a40cf
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Jan 11 11:47:27 2017 -0800

    Fix compile errors with GCC 4.2.
    
    gold/
    	PR gold/21040
    	* x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
    	Remove unnecessary 'typename' keyword.
    	(Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
    	(Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
    	(Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
    	* testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
    	declarations.

commit 1fa5f68bf38fc29f173990614db70fed1b66c0e0
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Jan 11 11:26:26 2017 -0800

    Fix test cases to work for i386.
    
    gold/
    	PR gold/21039
    	* testsuite/script_test_13.sh: Adjust patterns to work for i386.
    	* testsuite/script_test_15a.sh: Likewise.
    	* testsuite/script_test_15b.sh: Likewise.
    	* testsuite/script_test_15c.sh: Likewise.

commit b5033c50fa4b15e6e69b5f88e6149b213deca730
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 11 10:08:43 2017 -0800

    Update binutils-lto-mixed.patch against master

commit cd4c8fbd590d564375e37c6aa40f3b0e82853a40
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 11 10:01:43 2017 -0800

    Remove binutils-sharable.patch
    
    It will be replaced by GNU_MBIND segment proposal.

commit 7a8f607bd38697f8b2703c2a08ee99485106b209
Merge: 25f327e 9e65917
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 11 09:58:12 2017 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 9e65917652e994b0864b344bfa47014155d93100
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jan 11 09:16:44 2017 -0800

    x86-64: Correct unwind info for the BND PLT
    
    Since the BND PLT has
    
     230:	68 00 00 00 00       	pushq  $0x0
     235:	f2 e9 e5 ff ff ff    	bnd jmpq 220 <.plt>
     23b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
    
    instead of
    
     230:	ff 25 e2 0d 20 00    	jmpq   *0x200de2(%rip)        # 201018
    <func>
     236:	68 00 00 00 00       	pushq  $0x0
     23b:	e9 e0 ff ff ff       	jmpq   220 <.plt>
    
    its unwind info should be
    
    DW_CFA_def_cfa_expression (DW_OP_breg7 (rsp): 8; DW_OP_breg16 (rip): 0;
    DW_OP_lit15; DW_OP_and; DW_OP_lit5; DW_OP_ge; DW_OP_lit3; DW_OP_shl;
    DW_OP_plus)
    
    bfd/
    
    	PR ld/21038
    	* elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
    	(elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
    	elf_x86_64_eh_frame_plt_got.
    	(elf_x86_64_size_dynamic_sections): Get unwind info from
    	elf_x86_64_bnd_arch_bed for the BND PLT.
    
    ld/
    
    	PR ld/21038
    	* testsuite/ld-x86-64/pr21038a.d: New file.
    	* testsuite/ld-x86-64/pr21038a.s: Likewise.
    	* testsuite/ld-x86-64/pr21038b.d: Likewise.
    	* testsuite/ld-x86-64/pr21038b.s: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run pr21038a and pr21038b.

commit 4ad2da7317c11fbf09e8feb9948b446d30ba9ec2
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Wed Jan 11 11:15:26 2017 -0500

    Fix typo in lookup_cmd_1 comment
    
    gdb/ChangeLog:
    
    	* cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.

commit f2e2d2f54b462db40efac449f4d7724ae4728fe5
Author: Jeremy Soller <jackpot51@gmail.com>
Date:   Wed Jan 11 15:05:53 2017 +0000

    Add support for x86/64 redox target.
    
    bfd	* config.bfd: Add entries for i686-redox and x86_64-redox.
    
    gas	* configure.tgt: Add entry for i386-redox.
    
    ld	* configure.tgt: Add entries for x86-redox and x86_64-redox.

commit c8b23b3f89fbb0ed28d6b78f775b0038d8604798
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 28 21:39:47 2016 -0700

    Add constructor and destructor to demangle_parse_info
    
    This adds a constructor and destructor to demangle_parse_info, and
    then changes all the users to use them.  This removes
    make_cleanup_cp_demangled_name_parse_free and its single use.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-type.c (typy_legacy_template_argument): Update.
    	* cp-support.h (struct demangle_parse_info) (demangle_parse_info,
    	~demangle_parse_info): Declare new members.
    	(cp_demangled_name_to_comp): Return unique_ptr.
    	(cp_demangled_name_parse_free)
    	(make_cleanup_cp_demangled_name_parse_free)
    	(cp_new_demangle_parse_info): Remove.
    	* cp-support.c (do_demangled_name_parse_free_cleanup)
    	(make_cleanup_cp_demangled_name_parse_free): Remove.
    	(inspect_type, cp_canonicalize_string_full)
    	(cp_canonicalize_string): Update.
    	(mangled_name_to_comp): Change return type.
    	(cp_class_name_from_physname, method_name_from_physname)
    	(cp_func_name, cp_remove_params): Update.
    	* cp-name-parser.y (demangle_parse_info): New constructor, from
    	cp_new_demangle_parse_info.
    	(~demangle_parse_info): New destructor, from
    	cp_demangled_name_parse_free.
    	(cp_merge_demangle_parse_infos): Update.
    	(cp_demangled_name_to_comp): Change return type.

commit 1ac32117f7224620f44ac966b5ca53df6e4fc5bd
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 28 21:11:53 2016 -0700

    Remove cleanups from execute_gdb_command
    
    This replaces a cleanup in execute_gdb_command with an instance of
    std::string.
    
    Testing showed that this originally missed a cleanup that was returned
    by prevent_dont_repeat.  This version of the patch changes
    prevent_dont_repeat to return a scoped_restore rather than a cleanup.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* top.c (prevent_dont_repeat): Change return type.
    	* python/python.c (execute_gdb_command): Use std::string.
    	Update.
    	* guile/guile.c (gdbscm_execute_gdb_command): Update.
    	* command.h (prevent_dont_repeat): Change return type.
    	* breakpoint.c (bpstat_do_actions_1): Update.

commit 0cf082277804ba3747be70a4013019f68b92bb84
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 21 21:04:59 2016 -0700

    Use scoped_value_mark in dwarf2_evaluate_loc_desc_full
    
    This changes dwarf2_evaluate_loc_desc_full to use scoped_value_mark.
    
    Note that this function previously called do_cleanup using the same
    cleanup multiple times.  I had thought this was buggy, but re-reading
    make_my_cleanup2 indicates that it is not.  Nevertheless it is
    surprising, and at least one of the calls (the one that is completely
    removed in this patch) seems to have been done under the assumption
    that it would still have some effect.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* value.h (scoped_value_mark::~scoped_value_mark): Call
    	free_to_mark.
    	(scoped_value_mark::free_to_mark): New method.
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
    	scoped_value_mark.

commit eb115069323087e15210c09e3b581be0f6fb5852
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 21 18:02:11 2016 -0700

    Add scoped_value_mark
    
    This adds a scoped_value_mark class, that records the value mark in
    the constructor and then calls value_free_to_mark in the destructor.
    It then updates various spots in gdb to use this class, rather than a
    cleanup.
    
    It would be better overall to replace "struct value *" with a
    shared_ptr, maybe eliminating the need for this class (watchpoints
    would perhaps need some new mechanism as well).  However, that's
    difficult to do.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-value.c (valpy_dereference, valpy_referenced_value)
    	(valpy_reference_value, valpy_const_value, valpy_get_address)
    	(valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
    	(valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
    	(valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
    	* dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
    	scoped_value_mark.
    	* dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
    	* value.h (scoped_value_mark): New class.

commit 906768f970826102252e8cfd30ee72da71de29f7
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 21 16:50:20 2016 -0700

    Remove make_cleanup_discard_psymtabs
    
    This removes make_cleanup_discard_psymtabs in favor of a new class.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
    	* psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
    	* psymtab.c (discard_psymtabs_upto): Remove.
    	(make_cleanup_discard_psymtabs): Remove.
    	(struct psymtab_state): Remove.

commit bef155c3e8a995fcdb1c2ba5aba012eb653d9f30
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 21 16:26:20 2016 -0700

    Introduce and use gdb::unlinker
    
    This introduces a new class, gdb::unlinker, that unlinks a file in the
    destructor.  The user of this class has the option to preserve the
    file instead, by calling the "keep" method.
    
    This patch then changes the spots in gdb that use unlink in a cleanup
    to use this class instead.  In one spot I went ahead and removed all
    the cleanups from the function.
    
    This fixes one latent bug -- do_bfd_delete_cleanup could refer to
    freed memory, by decref'ing the BFD before using its filename.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* record-full.c (record_full_save_cleanups): Remove.
    	(record_full_save): Use gdb::unlinker.
    	* gcore.c (do_bfd_delete_cleanup): Remove.
    	(gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
    	cleanups.
    	* dwarf2read.c (unlink_if_set): Remove.
    	(write_psymtabs_to_index): Use gdb::unlinker.
    	* common/gdb_unlinker.h: New file.

commit 192b62ce0b4bb5c61188f570e127a26d2c32f716
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 21 11:12:23 2016 -0700

    Use class to manage BFD reference counts
    
    This introduces a new specialization of gdb::ref_ptr that can be used
    to manage BFD reference counts.  Then it changes most places in gdb to
    use this new class, rather than explicit reference-counting or
    cleanups.  This patch removes make_cleanup_bfd_unref.
    
    If you look you will see a couple of spots using "release" where a use
    of gdb_bfd_ref_ptr would be cleaner.  These will be fixed in the next
    patch.
    
    I think this patch fixes some latent bugs.  For example, it seems to
    me that previously objfpy_add_separate_debug_file leaked a BFD.
    
    I'm not 100% certain that the macho_symfile_read_all_oso change is
    correct.  The existing code here is hard for me to follow.  One goal
    of this sort of automated reference counting, though, is to make it
    more difficult to make logic errors; so hopefully the code is clear
    now.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* windows-tdep.c (windows_xfer_shared_library): Update.
    	* windows-nat.c (windows_make_so): Update.
    	* utils.h (make_cleanup_bfd_unref): Remove.
    	* utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
    	* symfile.h (symfile_bfd_open)
    	(find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
    	* symfile.c (read_symbols, symbol_file_add)
    	(separate_debug_file_exists): Update.
    	(symfile_bfd_open): Return gdb_bfd_ref_ptr.
    	(generic_load, reread_symbols): Update.
    	* symfile-mem.c (symbol_file_add_from_memory): Update.
    	* spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
    	(spu_symbol_file_add_from_memory): Update.
    	* solist.h (struct target_so_ops) <bfd_open>: Return
    	gdb_bfd_ref_ptr.
    	(solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
    	* solib.c (solib_bfd_fopen, solib_bfd_open): Return
    	gdb_bfd_ref_ptr.
    	(solib_map_sections, reload_shared_libraries_1): Update.
    	* solib-svr4.c (enable_break): Update.
    	* solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
    	* solib-frv.c (enable_break2): Update.
    	* solib-dsbt.c (enable_break): Update.
    	* solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
    	gdb_bfd_ref_ptr.
    	(darwin_solib_get_all_image_info_addr_at_init): Update.
    	(darwin_bfd_open): Return gdb_bfd_ref_ptr.
    	* solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
    	* record-full.c (record_full_save): Update.
    	* python/py-objfile.c (objfpy_add_separate_debug_file): Update.
    	* procfs.c (insert_dbx_link_bpt_in_file): Update.
    	* minidebug.c (find_separate_debug_file_in_section): Return
    	gdb_bfd_ref_ptr.
    	* machoread.c (macho_add_oso_symfile): Change abfd to
    	gdb_bfd_ref_ptr.
    	(macho_symfile_read_all_oso): Update.
    	(macho_check_dsym): Return gdb_bfd_ref_ptr.
    	(macho_symfile_read): Update.
    	* jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
    	(jit_bfd_try_read_symtab): Update.
    	* gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
    	(gdb_bfd_openw, gdb_bfd_openr_iovec)
    	(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
    	gdb_bfd_ref_ptr.
    	(gdb_bfd_ref_policy): New struct.
    	(gdb_bfd_ref_ptr): New typedef.
    	* gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
    	(gdb_bfd_openw, gdb_bfd_openr_iovec)
    	(gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
    	gdb_bfd_ref_ptr.
    	* gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
    	* gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
    	(gcore_command): Update.
    	* exec.c (exec_file_attach): Update.
    	* elfread.c (elf_symfile_read): Update.
    	* dwarf2read.c (dwarf2_get_dwz_file): Update.
    	(try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
    	(open_and_init_dwo_file): Update.
    	(open_dwp_file): Return gdb_bfd_ref_ptr.
    	(open_and_init_dwp_file): Update.
    	* corelow.c (core_open): Update.
    	* compile/compile-object-load.c (compile_object_load): Update.
    	* common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
    	* coffread.c (coff_symfile_read): Update.
    	* cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
    	gdb_bfd_ref_ptr.  Rename.
    	(dump_bfd_file, restore_command): Update.
    	* build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
    	* build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
    	(find_separate_debug_file_by_buildid): Update.

commit 50315b21779d71c172eb98a786a9b8281622e407
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 17:48:31 2016 -0700

    Add gdb_ref_ptr.h
    
    This adds a new gdb_ref_ptr.h, that implements a reference-counting
    smart pointer class, where the user of the class supplies a
    reference-counting policy object.
    
    This class will be used in the next patch, which changes most explicit
    BFD reference counts to use this new type.  Meanwhile, this patch
    changes gdbpy_ref to be a specialization of this new class.
    
    This change required adding new nullptr_t overloads some operators in
    gdb_ref_ptr.h.  I suspect this was needed because some Python header
    redefines NULL, but I'm not certain.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* common/gdb_ref_ptr.h: New file.
    	* python/py-ref.h (struct gdbpy_ref_policy): New.
    	(gdbpy_ref): Now a typedef.

commit fc4007c969ec4208fb7c7cee2f50211a9aa0f40f
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 13:20:32 2016 -0700

    Remove make_cleanup_htab_delete
    
    This removes make_cleanup_htab_delete in favor of destructors,
    building on an earlier patch that added the htab_up typedef.
    
    Testing revealed that more cleanup-removal work was needed in
    dwarf2loc.c, so this version of the patch changes code there to use
    unordered_set and vector, removing some more cleanups.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* utils.h (make_cleanup_htab_delete): Don't declare.
    	* utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
    	Remove.
    	* linespec.c (decode_compound_collector): Add constructor,
    	destructor.
    	(lookup_prefix_sym): Remove cleanup.
    	(symtab_collector): Add constructor, destructor.
    	(collect_symtabs_from_filename): Remove cleanup.
    	* disasm.c (do_mixed_source_and_assembly): Use htab_up.
    	* compile/compile-c-symbols.c (generate_c_for_variable_locations):
    	Use htab_up.
    	* gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
    	* dwarf2read.c (dw2_expand_symtabs_matching)
    	(dw2_map_symbol_filenames, dwarf_decode_macros)
    	(write_psymtabs_to_index): Use htab_up.
    	* dwarf2loc.c (func_verify_no_selftailcall)
    	(call_site_find_chain_1, func_verify_no_selftailcall)
    	(chain_candidate, call_site_find_chain_1): Use std::unordered_set,
    	std::vector, gdb::unique_xmalloc_ptr.
    	(call_sitep): Remove typedef.
    	(dwarf2_locexpr_baton_eval): Remove unused variable.

commit 8dbcee674ea4a8daa55f880ad7ade96efca96951
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 11:16:41 2016 -0700

    Remove make_cleanup_py_decref and make_cleanup_py_xdecref
    
    make_cleanup_py_decref and make_cleanup_py_xdecref are now unused, so
    this patch removes themm.  Future Python changes should use gdbpy_ref
    instead.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python-internal.h (make_cleanup_py_decref)
    	(make_cleanup_py_xdecref): Don't declare.
    	* python/py-utils.c (py_decref, make_cleanup_py_decref)
    	(py_xdecref, make_cleanup_py_xdecref): Remove.

commit 13df46cc0f340253e8a7bd984d1e4f38f29eec2d
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 11:04:40 2016 -0700

    Use gdbpy_ref rather than make_cleanup_py_decref
    
    This changes some spots in py-framefilter.c to use gdbpy_ref rather
    than make_cleanup_py_decref or make_cleanup_py_xdecref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
    	(py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.

commit 06fc9bf7d92d0bc857f3e8c109686f36aea5509c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:57:28 2016 -0700

    Use gdbpy_ref in enumerate_args
    
    This changes enumerate_args to use gdbpy_ref, and gets rid of many
    gotos.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (enumerate_args): Use gdbpy_ref.

commit 830a493402da4a055bf2d34ab300a83305391095
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:52:25 2016 -0700

    Use gdbpy_ref in py-utils.c
    
    This changes more places in py-utils.c to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-utils.c (unicode_to_encoded_string)
    	(python_string_to_target_string)
    	(python_string_to_target_python_string)
    	(python_string_to_host_string, gdbpy_obj_to_string)
    	(get_addr_from_python): Use gdbpy_ref.

commit 4586d54305ed275bb909f3373a7372c02d7e579e
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:48:51 2016 -0700

    Use gdbpy_ref in pyuw_object_attribute_to_pointer
    
    This changes pyuw_object_attribute_to_pointer to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
    	gdbpy_ref.

commit 59876f8f9f32081b2831aed83a03a815e8d85a97
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:46:23 2016 -0700

    Use gdbpy_ref in python.c
    
    This changes more places in python.c to use gdbpy_ref.
    
    Additionally, previously gdbpy_apply_type_printers would return
    EXT_LANG_RC_ERROR if a type printer returned None.  However, that
    doesn't seem correct to me; this patch changes it to return
    EXT_LANG_RC_NOP in this case.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (eval_python_command, gdbpy_decode_line)
    	(gdbpy_run_events, gdbpy_start_type_printers)
    	(gdbpy_apply_type_printers): Use gdbpy_ref.

commit 97d83487d5fbffd04d68a049f97009e1df2562a3
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:34:34 2016 -0700

    Use gdbpy_ref in py-param.c
    
    This changes py-param.c to use gdbpy_ref in a couple more spots.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-param.c (get_doc_string, compute_enum_values): Use
    	gdbpy_ref.

commit 9205649a38c609a42ba52680a316fceaa08c1543
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:31:17 2016 -0700

    Use gdbpy_ref in py-inferior.c
    
    This changes py-inferior.c to use gdbpy_ref in more places.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-inferior.c (find_thread_object, build_inferior_list):
    	Use gdbpy_ref.

commit 74c49d454b81c84fcffbc090466e241bdefd2f3a
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:27:59 2016 -0700

    Use gdbpy_ref in py_print_frame
    
    This changes py_print_frame to use gdbpy_ref in more places.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (py_print_frame): Use gdbpy_ref.

commit 16361ffbd145c877952f3c124c247460a6005d26
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:25:29 2016 -0700

    Use gdbpy_ref in bpfinishpy_out_of_scope
    
    This changes bpfinishpy_out_of_scope to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
    	gdbpy_ref.

commit 905f2ccab1b7070c7953e9f12de638e2dc147a9a
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:23:08 2016 -0700

    Use gdbpy_ref in py-cmd.c
    
    This changes py-cmd.c to use gdbpy_ref in more places.  This also
    fixes a latent memory leak in cmdpy_completer_helper, which
    unnecessarily increfs the result of PyObject_CallMethodObjArgs.  This
    is not needed because that function returns a new reference.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
    	extra incref.
    	(cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
    	Use gdbpy_ref.

commit 64081434cce13f38288d82d3d31b6199e9deff4a
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:13:31 2016 -0700

    Use gdbpy_ref in gdbpy_breakpoint_cond_says_stop
    
    This changes gdbpy_breakpoint_cond_says_stop to use gdbpy_ref rather
    than explicit reference management.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
    	gdbpy_ref.

commit 59e9e83119a528f17afea89ee22195a95322c6d6
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 20 10:10:58 2016 -0700

    Use gdbpy_ref in archpy_disassemble
    
    This changes archpy_disassemble to use gdbpy_ref.  It also fixes a
    latent bug where archpy_disassemble was decref'ing the results of a
    all to PyArg_ParseTupleAndKeywords.  This is incorrect because
    PyArg_ParseTupleAndKeywords returns borrowed references.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
    	decref results of PyArg_ParseTupleAndKeywords.

commit 9de10f6d53dffbec12cec9843662d5764526983d
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 12:08:17 2016 -0700

    Change python_run_simple_file to use gdbpy_ref
    
    This changes python_run_simple_file to use gdbpy_ref and
    unique_xmalloc_ptr.  Thi fixes a latent bug in this function, where
    the error path previously ran the cleanups and then referred to one of
    the objects just freed.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (python_run_simple_file): Use
    	unique_xmalloc_ptr, gdbpy_ref.

commit 2bd5759dcb71adfb26b1c7cf20b3b032af29b845
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 12:07:16 2016 -0700

    Use gdbpy_ref in py-prettyprint.c
    
    This changes some spots in py-prettyprint.c to use gdbpy_ref.  It also
    changes push_dummy_python_frame to be a class, rather than having it
    create a cleanup.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-prettyprint.c (print_stack_unless_memory_error)
    	(print_string_repr, print_children): Use gdbpy_ref.
    	(dummy_python_frame): New class.
    	(dummy_python_frame::dummy_python_frame): Rename from
    	push_dummy_python_frame.
    	(py_restore_tstate): Remove.

commit 3b4e0e01f8b19269d720948ee2350cb753f8ede4
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:57:45 2016 -0700

    Use gdbpy_ref in py_print_frame
    
    This changes py_print_frame to use gdbpy_ref in a few spots.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (py_print_frame): Use gdbpy_ref.

commit 17a22718b113a220de121ef4211fc3990d9b1745
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:53:50 2016 -0700

    Remove ensure_python_env
    
    All of gdb has been converted away from ensure_python_env and
    varobj_ensure_python_env now; so remove them.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (ensure_python_env, restore_python_env):
    	Remove.
    	* python/python-internal.h (ensure_python_env): Don't declare.
    	* varobj.h (varobj_ensure_python_env): Don't declare.
    	* varobj.c (varobj_ensure_python_env): Remove.

commit 68cdc55720bbe34d9d844ef2a0c4d75fcab4bc99
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:51:59 2016 -0700

    Use gdbpy_enter_varobj in varobj_value_get_print_value
    
    This changes the last function in varobj.c to use gdbpy_enter_varobj.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* varobj.c (varobj_value_get_print_value): Use
    	gdbpy_enter_varobj.

commit 1eba63835ea23cbae6059c076db985a47e39ce24
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:48:48 2016 -0700

    Change type of encoding argument to gdbpy_extract_lazy_string
    
    This changes gdbpy_extract_lazy_string's "encoding" argument to be a
    unique_xmalloc_ptr.  I chose this rather than std::string because it
    can sometimes be NULL.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-prettyprint.c (print_string_repr, print_children):
    	Update.
    	* python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
    	of "encoding".
    	* varobj.c (varobj_value_get_print_value): Update.
    	* python/python-internal.h (gdbpy_extract_lazy_string): Update.

commit bde7b3e3a0d5e1f0b66730d692b21c98a8686f75
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:37:52 2016 -0700

    Use gdbpy_enter_varobj in more of varobj.c
    
    This converts most of the remaining functions in varobj.c to use
    gdbpy_enter_varobj.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* varobj.c (varobj_get_display_hint)
    	(dynamic_varobj_has_child_method, install_new_value_visualizer)
    	(varobj_set_visualizer, free_variable): Use
    	gdbpy_enter_varobj.

commit a7785f8c797183eb363e95c201343df67d8536c6
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:32:05 2016 -0700

    Use gdbpy_enter in python.c
    
    This changes the last functions in python.c to use gdbpy_enter.  I
    split gdbpy_finish_initialization into two functions in order to avoid
    some "goto"s.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
    	(do_finish_initialization): New function.  Use gdbpy_ref.
    	(gdbpy_finish_initialization): Use gdbpy_enter.  Call
    	do_finish_initialization.

commit 2865bfce3875fa16046b0a987d98ab19fc8bbb9a
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:23:36 2016 -0700

    Use gdbpy_enter in py-param.c
    
    This converts the remaining functions in py-param.c to use
    gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-param.c (get_set_value, get_show_value): Use
    	gdbpy_enter, gdbpy_ref.

commit 0e9dcc758786feaaaf5026c6e59af42b30a35d36
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:15:46 2016 -0700

    Use gdbpy_enter in fnpy_call
    
    This changes fnpy_call to use gdbpy_enter and gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.

commit 12a5cedd4f2c5b1f4e303efda6f8ac3e06eec944
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 12 11:12:41 2016 -0700

    Use gdbpy_enter in cmdpy_function
    
    This changes cmdpy_function to use gdbpy_enter and gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.

commit 788f258604773ccbe9ccba71f9b1725930324275
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 20:14:32 2016 -0700

    Use gdbpy_enter_varobj in py-varobj.c
    
    This converts the remaining functions in py-varobj.c to use
    gdbpy_enter_varobj.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
    	Use gdbpy_enter_varobj.

commit 6cd67beaae58c9e870b79feea3cf74ffdf7a9b33
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 16:18:24 2016 -0700

    Introduce gdbpy_enter_varobj and use it
    
    This introduces gdbpy_enter_varobj, a subclass of gdbpy_enter; then
    changes one function in py-varobj.c to use it.  gdbpy_enter_varobj
    takes a varobj as an argument, similar to varobj_ensure_python_env.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* varobj.c (gdbpy_enter_varobj): New constructor.
    	* python/python-internal.h (gdbpy_enter_varobj): New class.
    	* python/py-varobj.c (py_varobj_get_iterator): Use
    	gdbpy_enter_varobj.

commit 14b122bf1ce59f5f1b82f6e2a347f4ad89801f45
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 15:47:39 2016 -0700

    Use gdbpy_enter in py-xmethod.c
    
    This changes the remaining functions in py-xmethod.c to use
    gdbpy_enter; using gdbpy_ref and unique_xmalloc_ptr as
    appropriate.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
    	gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
    	(gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
    	(gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
    	unique_xmalloc_ptr.
    	(gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.

commit bf1ca3b9476185fb6e301d85e646f5d2af95e257
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 15:35:24 2016 -0700

    Use gdbpy_ref in invoke_match_method
    
    Change invoke_match_method to use gdbpy_ref.
    I neglected to convert this function in my earlier series.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-xmethods.c (invoke_match_method): Use
    	gdbpy_ref.

commit 572a5524c1eb50d8064a44108fd0ef22a0e63bf8
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 15:34:55 2016 -0700

    Use gdbpy_enter in gdbpy_get_matching_xmethod_workers
    
    Change gdbpy_get_matching_xmethod_workers to use gdbpy_enter and
    gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
    	gdbpy_enter, gdbpy_ref.

commit 396a78b6271c45410fc22c4bc7f8cff75da3d153
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 15:15:01 2016 -0700

    Use gdbpy_enter in python_interactive_command
    
    This changes python_interactive_command to use gdbpy_enter.
    Previously this function was leaving a dangling cleanup -- this is
    sort of ok in a command function, but IMO it's still better to clean
    up.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (python_interactive_command): Use gdbpy_enter.

commit a88b13c7e36e8eb0a3bf772d508380682536c0da
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 15:13:49 2016 -0700

    Use gdbpy_enter in gdbpy_before_prompt_hook
    
    Change gdbpy_before_prompt_hook to use gdbpy_enter and gdbpy_ref.
    This also rearranges the function a tiny bit to make it more clear.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
    	gdbpy_ref.

commit e9f0c3639f33dc76fcab1b9299209c29ef2ee26e
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 11:38:22 2016 -0700

    Use gdbpy_enter in py-prettyprint.c
    
    Change py-prettyprint.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
    	gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.

commit 6349f452e01ddb7a1e64b8a63c93a9c9abc95725
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 11:11:55 2016 -0700

    Introduce htab_up and use gdbpy_enter in py-framefilter.c
    
    This introduces a new "htab_up" typedef, which is a std::unique_ptr
    that can call htab_delete.  Then it changes some code in
    py-framefilter.c to use both gdbpy_enter and the new htab_up.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* utils.h (htab_deleter): New struct.
    	(htab_up): New typedef.
    	* python/py-framefilter.c (gdbpy_apply_frame_filter): Use
    	gdbpy_enter, gdbpy_ref, htab_up.

commit c0171de646ddd85bac9d4bb1ebdf601f7ba7eeab
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 20:41:50 2016 -0700

    Use gdbpy_enter in py-unwind.c
    
    Change py-unwind.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-unwind.c (pending_frame_invalidate): Remove.
    	(pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.

commit f18e226ff84f7fba9ce7197ed7a2969eba231b4d
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:13:40 2016 -0700

    Use gdbpy_enter in py-xmethods.c
    
    Change the simple parts of py-xmethods.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
    	(gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.

commit c57af3f12b91ca49adc2e06056f794cb09514897
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:12:17 2016 -0700

    Use gdbpy_enter in py-type.c
    
    Change py-type.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-type.c (save_objfile_types): Use gdbpy_enter.

commit 60e600ec691255536ae53e365d0410ecf79bdea2
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:11:37 2016 -0700

    Use gdbpy_enter in python.c
    
    Change the simple parts of python.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (gdbpy_eval_from_control_command)
    	(gdbpy_source_script, gdbpy_run_events)
    	(gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
    	(gdbpy_free_type_printers, gdbpy_finish_initialization): Use
    	gdbpy_enter.

commit bf7da5b06ffbbaa40c8a2900727a791265f897ea
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:08:36 2016 -0700

    Use gdbpy_enter in py-progspace.c
    
    Change py-progspace.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-progspace.c (py_free_pspace): Use gdbpy_enter.

commit 2d38bcedc2f91692857d257e106dafc9269d8f1a
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:07:53 2016 -0700

    Use gdbpy_enter in py-objfile.c
    
    Change py-objfile.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-objfile.c (py_free_objfile): Use gdbpy_enter.

commit 07bc7329128028e6d3e2733c6d2ebd874367bcee
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:06:26 2016 -0700

    Use gdbpy_enter in py-inferior.c
    
    Change py-inferior.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-inferior.c (python_on_normal_stop, python_on_resume)
    	(python_on_inferior_call_pre, python_on_inferior_call_post)
    	(python_on_memory_change, python_on_register_change)
    	(python_inferior_exit, python_new_objfile, add_thread_object)
    	(delete_thread_object, py_free_inferior): Use gdbpy_enter.

commit 6e7c365ee0ea2551f9f840b71081fdf759088b5e
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:03:10 2016 -0700

    Use gdbpy_enter in py-finishbreakpoint.c
    
    Change py-finishbreakpoint.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
    	(bpfinishpy_handle_exit): Use gdbpy_enter.

commit 6ba0cd406511d3edbe643f5e599d79538febedc5
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 16:02:16 2016 -0700

    Use gdbpy_enter in py-cmd.c
    
    Change py-cmd.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-cmd.c (cmdpy_destroyer)
    	(cmdpy_completer_handle_brkchars, cmdpy_completer): Use
    	gdbpy_enter.

commit de2dc875c2ddb731741f3c326545ff91fd587dd5
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 15:59:41 2016 -0700

    Use gdbpy_enter in py-breakpoint.c
    
    Change py-breakpoint.c to use gdbpy_enter.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
    	gdbpy_enter.
    	(gdbpy_breakpoint_has_cond): Likewise.

commit 4ecee2c47da3e91c0571683acb5cfb8400402663
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Nov 7 15:56:57 2016 -0700

    Introduce gdbpy_enter
    
    This introduces gdbpy_enter, a class that can be used to acquire and
    release the Python GIL, and also set other Python-related globals used
    by gdb.  ensure_python_env is rewritten in terms of this new class.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (gdbpy_enter): New constructor.
    	(~gdbpy_enter): New destructor.
    	(restore_python_env, ensure_python_env): Rewrite.
    	* python/python-internal.h (gdbpy_enter): New class.

commit 37fce74fb42f45ec340962170a4b297beede733a
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:51:20 2016 -0700

    Use gdbpy_ref in gdbpy_lookup_symbol
    
    This changes gdbpy_lookup_symbol to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.

commit 53a0cca3bd0f6ae80b2d6fc34b2873046965c7f0
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:50:36 2016 -0700

    Use gdbpy_ref in py-value.c
    
    This changes a few functions in py-value.c to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-value.c (value_has_field, get_field_flag)
    	(get_field_type, valpy_getitem, convert_value_from_python): Use
    	gdbpy_ref.

commit ff3724f5123b9d9c52a07f7c1a5d85852e666c48
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:49:34 2016 -0700

    Use gdbpy_ref in python.c
    
    This changes a couple of functions in python.c to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
    	gdbpy_ref.

commit 0700aea50c7a77d7908868373d0f9644b0ece29c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:37:01 2016 -0700

    Use gdbpy_ref in py-prettyprint.c
    
    This changes several functions in py-prettyprint.c to use
    gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-prettyprint.c (search_pp_list)
    	(find_pretty_printer_from_objfiles)
    	(find_pretty_printer_from_progspace)
    	(find_pretty_printer_from_gdb, find_pretty_printer)
    	(gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
    	gdbpy_ref.

commit 1bb44c9f567c75355c1b4417d88cda959e82a3a3
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:29:12 2016 -0700

    Use gdbpy_ref in call_doc_function
    
    This changes call_doc_function to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-param.c (call_doc_function): Use gdbpy_ref.

commit 87ce03fdc5a94f48fe62580410a099c0a0f68ee0
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:25:34 2016 -0700

    Use gdbpy_ref in py-linetable.c
    
    This changes some code in py-linetable.c to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-linetable.c (build_line_table_tuple_from_pcs)
    	(ltpy_get_all_source_lines): Use gdbpy_ref.

commit ee0a3fb85b33b172f704796612c4487ea368d675
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:25:31 2016 -0700

    Use gdbpy_ref in py-framefilter.c
    
    This changes some code in py-framefilter.c to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (extract_sym, extract_value)
    	(get_py_iter_from_func, bootstrap_python_frame_filters): Use
    	gdbpy_ref.

commit bf2a52fa2ac2c4486653993a765fd922b3cd64a6
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:25:22 2016 -0700

    Use gdbpy_ref in gdbpy_breakpoints
    
    This changes gdbpy_breakpoints to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.

commit f59fe7f8e3e55472e6fcfb06677ff4925dad1f64
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:23:31 2016 -0700

    Use gdbpy_ref in gdbpy_inferiors
    
    This changes gdbpy_inferiors to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.

commit 80bd970a4b1388fc4373b3e087006e6c93d71f60
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:21:14 2016 -0700

    Use gdbpy_ref in py-function.c
    
    This changes some code in py-function.c to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-function.c (convert_values_to_python, fnpy_init): Use
    	gdbpy_ref.

commit d1b3de2e43380a0c51772a40315cd2268573d985
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 21:10:18 2016 -0700

    Use gdbpy_ref in gdbpy_string_to_argv
    
    This chanes gdbpy_string_to_argv to use gdbpy_ref.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.

commit 3bb4338431288002c2225ff660e1500818684c16
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 20:59:51 2016 -0700

    Use gdbpy_ref in py-type.c
    
    This changes py-type.c to use gdbpy_ref.
    This results in simpler logic and the removal of "goto"s.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-type.c (convert_field, make_fielditem, typy_fields)
    	(typy_range): Use gdbpy_ref.

commit abf5651e47c0396df58a37951bc03a349169c5f2
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 6 20:42:32 2016 -0700

    Change event code to use gdbpy_ref
    
    This changes the event code in the Python layer to use
    gdbpy_ref, simplifying the logic in many places.
    
    It also changes evpy_emit_event not to steal a reference to its
    argument.  This is simpler to do now that gdbpy_ref is in use;
    it's also a reasonable cleanup in its own right.  While doing this I
    realized that evpy_emit_event should not be calling gdbpy_print_stack
    (all the outermost callers do this if needed), so I removed this as
    well.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-threadevent.c (create_thread_event_object): Use
    	gdbpy_ref.
    	* python/py-stopevent.c (create_stop_event_object): Simplify.
    	(emit_stop_event): Use gdbpy_ref.
    	* python/py-signalevent.c (create_signal_event_object): Use
    	gdbpy_ref.
    	* python/py-newobjfileevent.c (create_new_objfile_event_object)
    	(emit_new_objfile_event, create_clear_objfiles_event_object)
    	(emit_clear_objfiles_event): Use gdbpy_ref.
    	* python/py-infevents.c (create_inferior_call_event_object)
    	(create_register_changed_event_object)
    	(create_memory_changed_event_object, emit_inferior_call_event)
    	(emit_memory_changed_event, emit_register_changed_event): Use
    	gdbpy_ref.
    	* python/py-exitedevent.c (create_exited_event_object)
    	(emit_exited_event): Use gdbpy_ref.
    	* python/py-event.h (evpy_emit_event): Remove
    	CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
    	* python/py-event.c (evpy_emit_event): Use gdbpy_ref.
    	* python/py-continueevent.c (emit_continue_event): Use
    	gdbpy_ref.
    	* python/py-breakpoint.c (gdbpy_breakpoint_created)
    	(gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
    	gdbpy_ref.
    	* python/py-bpevent.c (create_breakpoint_event_object): Use
    	gdbpy_ref.

commit a68ff33e0dcb4733584265088030d12a31e740e4
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Nov 5 13:43:23 2016 -0600

    Introduce py-ref.h
    
    This patch introduces class gdbpy_ref, which is a sort of smart
    pointer that owns a single Python reference to a PyObject.  This class
    acts a bit like unique_ptr, but also a bit like shared_ptr (in that
    copies do what you might expect); I considered going solely with
    unique_ptr but it seemed quite strange to have a unique_ptr that
    actually manages a shared resource.
    
    Subsequent patches use this new class to simplify logic in the Python
    layer.
    
    2017-01-10  Tom Tromey  <tom@tromey.com>
    
    	* python/py-ref.h: New file.

commit 0b67023188fef926357f0fd27e600195ab35727e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jan 11 00:00:35 2017 +0000

    Automatic date update in version.in

commit 52b232b366355b1d0a9d2721e55a6b2b96789b00
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jan 10 14:18:11 2017 -0800

    i386/x32: Align .eh_frame section to 4 bytes
    
    .eh_frame section covering PLT sections should be aligned to 4 bytes
    for i386 and x32.
    
    bfd/
    
    	* elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
    	to 4 bytes.
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
    	.eh_frame section to 4 bytes for x32.
    	(elf_x86_64_check_relocs): Likewise.
    
    ld/
    
    	* testsuite/ld-x86-64/pr20830b.d: Updated.

commit 59a1e29d9e1fc7ed31e66d51899ada46e5dd9a56
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jan 10 13:57:39 2017 -0800

    X32: Place .plt.got section after .plt section
    
    This patch places .plt.got section after .plt section for x32.
    
    	* emulparams/elf32_x86_64.sh (TINY_READONLY_SECTION): New.
    	* testsuite/ld-x86-64/pr20830.d: Renamed to ...
    	* testsuite/ld-x86-64/pr20830a.d: This.  Updated.
    	* testsuite/ld-x86-64/pr20830b.d: New file.
    	* testsuite/ld-x86-64/x86-64.exp: Rename pr20830 to pr20830a.
    	Run pr20830b.

commit fff53daefb7838b5718422c87946330e4a8288ce
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jan 10 13:31:59 2017 -0800

    i386/x86-64: Add unwind info for .plt.got section
    
    When there are both PLT and GOT references to the same function symbol,
    linker combines GOTPLT and GOT slots into a single GOT slot and create
    an entry in .plt.got section for PLT access via the GOT slot.  This
    patch adds unwind info for .plt.got section.
    
    bfd/
    
    	PR ld/20830
    	* elf32-i386.c (elf_i386_eh_frame_plt_got): New.
    	(PLT_GOT_FDE_LENGTH): Likewise.
    	(elf_i386_plt_layout): Add eh_frame_plt_got and
    	eh_frame_plt_got_size.
    	(elf_i386_plt): Updated.
    	(elf_i386_link_hash_table): Add plt_got_eh_frame.
    	(elf_i386_check_relocs): Create .eh_frame section for .plt.got.
    	(elf_i386_size_dynamic_sections): Allocate and initialize
    	.eh_frame section for .plt.got.
    	(elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
    	.plt.got.
    	(elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
    	eh_frame_plt_got_size.
    	* elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
    	(PLT_GOT_FDE_LENGTH): Likewise.
    	(elf_x86_64_backend_data): Add eh_frame_plt_got and
    	eh_frame_plt_got_size.
    	(elf_x86_64_arch_bed): Updated.
    	(elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
    	eh_frame_plt_got_size.
    	(elf_x86_64_nacl_arch_bed): Likewise.
    	(elf_x86_64_link_hash_table): Add plt_got_eh_frame.
    	(elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
    	(elf_x86_64_size_dynamic_sections): Allocate and initialize
    	.eh_frame section for .plt.got.
    	(elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
    	for .plt.got.
    
    ld/
    
    	PR ld/20830
    	* testsuite/ld-i386/i386.exp: Run pr20830.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-i386/pr20830.d: New file.
    	* testsuite/ld-i386/pr20830.s: Likewise.
    	* testsuite/ld-x86-64/pr20830.d: Likewise.
    	* testsuite/ld-x86-64/pr20830.s: Likewise.

commit 5edad15d7c1e6a2409102b3426b444d6ea98bdfc
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 11 07:41:53 2017 +1030

    [GOLD] PowerPC64 TOC indirect to TOC relative code editing
    
    Doesn't yet trim off the unused TOC entries.
    
    	* powerpc.cc (class Powerpc_copy_relocs): New.
    	(Powerpc_copy_relocs::emit): New function.
    	(Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
    	(Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
    	(Powerpc_relobj::do_relocate_sections): New function.
    	(Powerpc_relobj::make_toc_relative): Likewise.
    	(Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
    	and .toc too.
    	(ok_lo_toc_insn): Move earlier, and handle more insns.
    	(Target_powerpc::Scan::local): If optimizing toc accesses, set
    	no_toc_opt for entries we can't edit.  Check insn validity.
    	Emit "toc optimization is not supported" warning, downgraded
    	from error.
    	(Target_powerpc::Scan::global): Likewise.
    	(Target_powerpc::Relocate::relocate): Edit TOC indirect code
    	to TOC relative.  Don't emit "toc optimization is not supported"
    	error here.

commit f129e49f4d07f4d36319ac757fdcf3a8ce7d605b
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jan 10 11:30:25 2017 -0800

    Don't use elf_i386_eh_frame_plt directly
    
    Use eh_frame_plt_size and eh_frame_plt from elf_i386_plt_layout for
    .eh_frame covering the .plt section.
    
    	* elf32-i386.c (elf_i386_size_dynamic_sections): Set
    	plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.

commit e92372274e77fc0ce87f35a833de8a60d733580a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jan 10 10:54:39 2017 -0800

    i386: Pass -Wl,-R,tmpdir/-Wl --as-needed to $CC
    
    Since linker tests were changed to use $CC, instead of $LD, we need
    to pass -Wl,-R,tmpdir and -Wl,--as-needed to $CC.
    
    	* testsuite/ld-i386/i386.exp: Pass -Wl,-R,tmpdir to GCC driver.
    	* testsuite/ld-i386/tls.exp: Likewise.

commit 7becfd03bad526c02216eeb5ec2bebae694b1af1
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jan 10 11:30:47 2017 -0500

    Change return type of ui_out redirect to void
    
    All implementations of redirect/do_redirect in the ui_out subsystem
    always return 0 (success).  We can therefore clean it up and make them
    return void.
    
    gdb/ChangeLog:
    
    	* cli-out.c (cli_ui_out::do_redirect): Change return type to
    	void.
    	* cli-out.h (cli_ui_out::do_redirect): Likewise.
    	* mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
    	* mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
    	* ui-out.c (ui_out::redirect): Likewise.
    	* ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
    	* cli/cli-logging.c (set_logging_redirect): Update call site of
    	ui_out::redirect.
    	(handle_redirections): Likewise.
    	* scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
    	* top.c (execute_command_to_string): Likewise.
    	* utils.c (do_ui_out_redirect_pop): Likewise.

commit 98461510d3a8cefa6603980294bfc647cddcab97
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Jan 10 07:46:30 2017 -0800

    Refactor Sized_relobj_file::do_relocate_sections.
    
    gold/
    	* aarch64.cc (AArch64_relobj::do_relocate_sections): Call
    	Sized_relobj_file::relocate_section_range().
    	* arm.cc (Arm_relobj::do_relocate_sections): Likewise.
    	* object.h (Sized_relobj_file::relocate_section_range): New method.
    	* reloc.cc (Sized_relobj_file::do_relocate_sections): Move
    	implementation...
    	(Sized_relobj_file::relocate_section_range): ...to new method.

commit df2946549f60624503663cc6c28cd5a6ef0ab434
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Jan 10 10:16:26 2017 -0500

    Update help of the "frame" command
    
    The help message of the "frame" command states that nothing is printed
    if the command is executed from the command file or user-defined
    command.  My testing leads me to think that this is not true (at least
    today).
    
      (gdb) bt
      #0  bar (n=17) at test.c:9
      #1  0x00000000004006e0 in foo (v=17) at test.c:13
      #2  0x00000000004006f0 in main () at test.c:21
      (gdb) frame
      #0  bar (n=17) at test.c:9
      9	    baz(n);
      (gdb) define foo
      Type commands for definition of "foo".
      End with a line saying just "end".
      >frame 1
      >end
      (gdb) foo
      #1  0x00000000004006e0 in foo (v=17) at test.c:13
      13	    bar(v);
    
    This patch simply removes that bit from the help message.  I didn't find
    anything corresponding to this in the documentation that needs to be
    fixed.
    
    The behavior change corresponding to this documentation change was done
    in commit b00771232fab861fb31e42dfd5f6643ba1b43cc9.
    
    gdb/ChangeLog:
    
    	* stack.c (_initialize_stack): Update "frame" command help message.

commit 1a94eb29d0dd72e6c34bb2d32927c510d16e4c00
Author: Tristan Gingold <gingold@adacore.com>
Date:   Tue Jan 10 14:43:01 2017 +0100

    Fix sleb128-8 regressions.
    
    gas/
    	* testsuite/gas/all/sleb128-8.d: Adjust test.
    	* testsuite/gas/all/gas.exp (test_cond): Likewise.

commit b972a0d61a8b6e1dc3f9baf93ef3e57c7bfb9715
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 10 11:45:12 2017 +0000

    Fix compile time warning about pointer comparison.
    
    	PR 21034
    	* stabs.c (parse_stab_members): Fix thinko checking for g++
    	version 1 stabs information.

commit 07e8e62387eb914b29cbf79f468db89fa4e57b3f
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 10 11:28:36 2017 +0000

    Updated Swedish translations for GAS and LD

commit 07ccf83cf5424d019ab091a7bac0fee26564e420
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Thu Dec 8 16:58:23 2016 +0000

    [ARC] Add new linker emulation for nps
    
    The arc700 nps variant uses some specific named sections to
    facilitate its CMEM based instructions, which operate on memory
    regions fixed at specific addresses.
    
    This commit adds the arclinux_nps emulation, which is based on the
    arclinux emulation. The new emulation uses the OTHER_SECTIONS
    variable in the emulation parameters script to provide symbols
    mapping to various locations in the CMEM space on nps.
    
    The accompanying test ensures that all symbols are provided at the
    correct address in the linker script.
    
    ld/ChangeLog:
    
      * Makefile.am: Add earclinux_nps.c target and add to
      ALL_EMULATION_SOURCES.
      * Makefile.in: Likewise, regenerated.
      * configure.tgt: Add arclinux_nps as an extra emulation for
      arc*-*-elf* and arc*-*-linux*.
      * emulparams/arc-nps.sh: New file.
      * emulparams/arclinux_nps.sh: New file.
      * testsuite/ld-arc/arclinux-nps.d,
      * testsuite/ld-arc/arclinux-nps.s: New test.

commit 74def31dcd248441a49755721da81ca73d99c4fb
Author: Tristan Gingold <gingold@adacore.com>
Date:   Mon Jan 9 15:50:32 2017 +0100

    This patch ensure same output for sleb128 with large number.
    
    gas/
    	* read.c (emit_leb128_expr): Extended unsigned big number for
    	sleb128.
    	* testsuite/gas/all/gas.exp (test_cond): Add sleb128-8 test.
    	* testsuite/gas/all/sleb128.d: New test.
    	* testsuite/gas/all/sleb128.s: New test source.

commit f7fd19e2b83c06cf1590d2ac8d0e9fc1ea4739c2
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 10 10:28:20 2017 +1030

    [GOLD] Fix tests for powerpc64
    
    PowerPC64 defines .TOC. rather than _GLOBAL_OFFSET_TABLE_, and
    what's more, doesn't define it at all unless referenced.  For ELFv1
    ABI the symbol isn't normally referenced, so modify the test to accept
    .TOC. as a variant of _GLOBAL_OFFSET_TABLE_ and 0 or 1 occurrences.
    
    copy_test_relro as written doesn't need copy relocs on PowerPC64.
    PowerPC64 is always PIC.  So, modify copy_test_relro to test that the
    existing vars are in fact read-only directly by deliberately causing a
    sigsegv, and add another couple of vars that do cause copy relocs even
    when PIC.
    
    	* testsuite/ver_test_8.sh: Accept .TOC. in lieu of
    	_GLOBAL_OFFSET_TABLE_.  Allow zero count.
    	* testsuite/copy_test_relro_1.cc (c, q): New vars.
    	* testsuite/copy_test_relro.cc: Rewrite to test read-only
    	status of variables directly.  Reference new vars in
    	read-only data.

commit f159cdb61155d699f5aff2a9fbad8b787a7fe10c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 10 10:24:09 2017 +1030

    [GOLD] Add --secure-plt option for ppc32
    
    Added just to accept, and ignore.  gcc since 2015-10-21, when
    configured with --enable-secureplt passes this option to the linker.
    As powerpc gold cannot link --bss-plt code successfully, gold needs to
    accept the option or the gcc specs file needs to be changed.
    
    The patch also make gold detect --bss-plt code and error out rather
    than producing a binary that crashes.
    
    	* options.h: Add --secure-plt option.
    	* powerpc.cc (Target_powerpc::Scan::local): Detect and error
    	on -fPIC -mbss-plt code.
    	(Target_powerpc::Scan::global): Likewise.

commit eaa38cfd42fe323fb7868e676ced7419bc5eec12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jan 10 00:00:22 2017 +0000

    Automatic date update in version.in

commit a4fb5981b7ec3d4006e93141afb1d0da566bb97b
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Mon Jan 9 15:44:57 2017 -0800

    Fix problems with the implementation of the uzp1 and uzp2 instructions.
    
    	sim/aarch64/
    	* simulator.c (do_vec_UZP): Rewrite.
    	sim/testsuite/sim/aarch64/
    	* uzp.s: New.

commit 694b382c67a4fc656f30acbc74776c5e9cb53622
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Mon Jan 9 12:39:07 2017 -0500

    Fix inferior memory reading in GDBServer for arm/aarch32
    
    Before this patch, some functions would read the inferior memory with
    (*the_target)->read_memory, which returns the raw memory, rather than the
    shadowed memory.
    
    This is wrong since these functions do not expect to read a breakpoint
    instruction and can lead to invalid behavior.
    
    Use of raw memory in get_next_pcs_read_memory_unsigned_integer for example
    could lead to get_next_pc returning an invalid pc.
    
    Here's how this would happen:
    
    In non-stop:
    
    the user issues:
    
    thread 1
    step&
    thread 2
    step&
    thread 3
    step&
    
    In a similar way as non-stop-fair-events.exp (threads are looping).
    
    GDBServer:
    
     linux_resume is called
     GDBServer has pending events,
     threads are not resumed and single-step breakpoint for thread 1 not installed.
    
     linux_wait_1 is called with a pending event on thread 2 at pc A
     GDBServer handles the event and calls proceed_all_lwps
     This calls proceed_one_lwp and installs single-step breakpoints on all
     the threads that need one.
    
     Now since thread 1 needs to install a single-step breakpoint and is at pc B
     (different than thread 2), a step-over is not initiated and get_next_pc
     is called to figure out the next instruction from pc B.
    
     However it may just be that thread 3 as a single step breakpoint at pc
     B. And thus get_next_pc fails.
    
    This situation is tested with non-stop-fair-events.exp.
    
    In other words, single-step breakpoints are installed in proceed_one_lwp
    for each thread.  GDBserver proceeds two threads for resume_step, as
    requested by GDB, and the thread proceeded later may see the single-step
    breakpoints installed for the thread proceeded just now.
    
    Tested on gdbserver-native/-m{thumb,arm} no regressions.
    
    gdb/gdbserver/ChangeLog:
    
    	* linux-aarch32-low.c (arm_breakpoint_kind_from_pc): Use
    	target_read_memory.
    	* linux-arm-low.c (get_next_pcs_read_memory_unsigned_integer): Likewise.
    	(get_next_pcs_syscall_next_pc): Likewise.

commit a5ec5e3fe1b8fe1395c79ff29052edad91266a76
Author: Andrew Waterman <andrew@sifive.com>
Date:   Wed Dec 21 18:05:28 2016 -0800

    RISC-V/GAS: Support more relocs against constant addresses
    
    Previously, some pseudoinstructions like "call" only accepted
    symbolic addresses and rejected constant addresses with an
    esoteric internal error.  This patch enables them by deferring
    application of constant relocations to md_apply_fix, rather than
    eagerly applying them during instruction assembly.
    
    gas/ChangeLog
    
    2017-01-09  Andrew Waterman <andrew@sifive.com>
    
    	* config/tc-riscv.c (append_insn): Don't eagerly apply relocations
    	against constants.
    	(md_apply_fix): Mark relocations against constants as "done."

commit e294484ee7e8dea53d091443a0f24c7939ac15ed
Author: Andrew Waterman <andrew@sifive.com>
Date:   Wed Dec 21 12:47:13 2016 -0800

    RISC-V/GAS: Improve handling of invalid relocs
    
    TLS relocs against constants previously segfaulted, and illegal
    symbol subtractions were silently ignored.
    
    The previous behavior was to segfault.
    
    gas/ChangeLog
    
    2017-01-09  Andrew Waterman <andrew@sifive.com>
    
    	* config/tc-riscv.c (md_apply_fix): Report TLS relocations against
    	constants.  Report disallowed symbol subtractions.

commit 6ec11ab97ab47ec4a22118e5b1c77df567796002
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Thu Dec 29 17:29:53 2016 -0800

    Remove some custom sections from RISC-V's default linker scripts
    
    This was added so compressed loads could have smaller offsets for
    accessing the data section, but the result was that writable sections
    ended up in INITIAL_READONLY_SECTIONS.  This is a bad idea.  The fix is
    to just remove this micro-optimization.
    
    Thanks to Alan Morda for finding the problem!
    
    ld/ChangeLog
    
    2017-01-09  Palmer Dabbelt <palmer@dabbelt.com>
                Kito Cheng <kito.cheng@gmail.com>
    
            * emulparams/elf32lriscv-defs.sh (INITIAL_READONLY_SECTIONS):
            Removed.
            (SDATA_START_SYMBOLS): Likewise.

commit cd6581da62c32a391f9a4c2c5d248a11aa6fa8f7
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 9 16:49:48 2017 +0000

    Speed up objdump when displaying disassembly mixed with line number and source code information.
    
    bfd	* dwarf2.c (lookup_address_in_function_table): Return early if
    	there are no functions in the given comp unit, or if the high
    	address of the last function in the comp unit is less than the
    	desired address.
    
    binutils * objdump.c (display_file): Add new parameter 'last_file'.  If
    	last_file is true, do not call bfd_close at the end of the
    	function.
    	(main): Set the value of the last_file parameter when calling
    	display_file.

commit 20b52c88ea31f8a0af60d6172ab0da5f2ad616ee
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 9 10:11:50 2017 +0000

    Add Swedish translation for GAS.
    
    	* po/sv.po: New Swedish translation.
    	* configure.ac (ALL_LINGUAS): Add sv.
    	* configure: Regenerate.

commit 98f02962fefbacf1b805e93fb7bddeb58ec6ff70
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Jan 9 09:27:46 2017 +0000

    Improve objdump's behaviour when it encounters a corrupt binary with an excessively large symbol table.
    
    	PR binutils/21013
    	* coffgen.c (_bfd_coff_get_external_symbols): Generate an error
    	message if there are too many symbols to load.

commit 011561117eeaff00862eb5f465c3470f29e8a9a9
Author: Andrew Waterman <andrew@sifive.com>
Date:   Mon Jan 9 09:22:33 2017 +0000

    RISC-V/GAS: Correct branch relaxation for weak symbols.
    
    	* config/tc-riscv.c (relaxed_branch_length): Use the long
    	sequence when the target is a weak symbol.

commit 3254d32c4b47f17a7d609f25394fbfb2313f09ff
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 9 10:46:23 2017 +1030

    [GOLD] Set sh_info of .rela.plt for powerpc
    
    	* powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
    	".rela.plt" at ".plt".

commit 4d74727a4a41e811950dcd0bed7bc6747a068886
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 9 12:08:00 2017 +1030

    .rela.dyn comment fix and add missing ChangeLog entry
    
    ChangeLog entry missed from commit dd90581873.
    
    	* readelf.c (process_section_headers): Correct .rel.dyn/.rela.dyn
    	comment.

commit a631dd7b79e7dd670995d2c9b58577b1d1a29795
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jan 9 00:00:20 2017 +0000

    Automatic date update in version.in

commit f5e6296e2194add209b546ad49039753a10242f5
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date:   Sun Jan 8 11:17:54 2017 +0100

    [D] Fix crash when debug expression enabled.
    
    While casting works as expected with expression debugging turned off,
    this seems to be an indication that the D language parser function is
    doing something wrong in the building of the expression.
    
    Without changing the grammar, using UNOP_CAST_TYPE is the right thing to
    do here, as the TypeExp handler has already wrapped the type around a
    pair of OP_TYPE opcodes.
    
    gdb/ChangeLog:
    
    	* d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dlang/debug-expr.exp: New file.

commit 2efa21564b81bd6d8a7ee23c2868a4bd6749b11c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jan 8 00:00:24 2017 +0000

    Automatic date update in version.in

commit 431e5de3f224e94fb0d061edb3a56d8e3c3f4403
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Thu Jan 5 19:53:14 2017 +0100

    S/390: Issue error for overflowing relocs.
    
    Building PIE executable from non-PIC code results in broken binaries.
    With this patch the problem is detected at link-time.
    
    bfd/ChangeLog:
    
    2017-01-07  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* elf64-s390.c (elf_s390_relocate_section): Issue error for
    	non-PLT relocs of shared libary symbol in exectuable.

commit 0e123f69da7567042903c8e6e2ad0b03b0a66e55
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jan 6 15:47:33 2017 +1030

    [GOLD] powerpc.cc tidies
    
    Plus some paranoia in symval_for_branch.  We shouldn't get there with
    dynamic symbols, but if we ever did the static_cast to Powerpc_relobj
    would be wrong.
    
    	* powerpc.cc: Use shorter equivalent elfcpp typedef for
    	Reltype and reloc_size throughout.
    	(Target_powerpc::symval_for_branch): Exclude dynamic symbols.
    	(Target_powerpc::Scan::local): Use local var r_sym.
    	(Target_powerpc::Scan::global: Likewise.
    	(Target_powerpc::Relocate::relocate): Delete shadowing r_sym.

commit a6eb589ffec8e6a3ae83ad6e5f36af31e958ffec
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jan 7 00:00:21 2017 +0000

    Automatic date update in version.in

commit 0e2d6fa6a38ae2b80a56d786a41d905c9541906f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include gdb_proc_service.h in x86-linux-nat.h
    
    $ make check-headers CHECK_HEADERS="x86-linux-nat.h"
    ...
    ../../binutils-gdb/gdb/x86-linux-nat.h:29:8: error: 'ps_err_e' does not name a type
     extern ps_err_e x86_linux_get_thread_area (pid_t pid, void *addr,
            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* x86-linux-nat.h: Include gdb_proc_service.h.

commit 44d6d3f93341387bd2c95ea4c941bf99127e7389
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include serial.h in ser-base.h.
    
    $ make check-headers CHECK_HEADERS="ser-base.h"
    ...
    ../../binutils-gdb/gdb/ser-base.h:33:8: error: 'serial_ttystate' does not name a type
     extern serial_ttystate ser_base_get_tty_state (struct serial *scb);
            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* ser-base.h: Include serial.h.

commit 656731fe0f5bae5bb788b0688cc36900128fcc2f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include ppc-tdep.h in ppc-linux-tdep.h
    
    $ make check-headers CHECK_HEADERS="ppc-linux-tdep.h"
    ...
    ../../binutils-gdb/gdb/ppc-linux-tdep.h:34:24: error: 'PPC_NUM_REGS' was not declared in this scope
       PPC_ORIG_R3_REGNUM = PPC_NUM_REGS,
                            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* ppc-linux-tdep.h: Include ppc-tdep.h.

commit 1ca8f924a46c620c7a7ddbd156c3a623a5a6d1fb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include signal.h in nat/amd64-linux-siginfo.h
    
    $ make check-headers CHECK_HEADERS="nat/amd64-linux-siginfo.h"
    ....
    ../../binutils-gdb/gdb/nat/amd64-linux-siginfo.h:52:39: error: 'siginfo_t' was not declared in this scope
     int amd64_linux_siginfo_fixup_common (siginfo_t *native, gdb_byte *inf,
                                           ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* nat/amd64-linux-siginfo.h: Include signal.h.

commit bc3008c48f17aa67d39e539737a999737cd697a7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:01 2017 +0000

    Include break-common.h in nat/aarch64-linux-hw-point.h
    
    $ make check-headers CHECK_HEADERS="nat/aarch64-linux-hw-point.h"
    ...
    ../../binutils-gdb/gdb/nat/aarch64-linux-hw-point.h:169:37: error: use of enum 'target_hw_bp_type' without previous declaration
     int aarch64_handle_breakpoint (enum target_hw_bp_type type, CORE_ADDR addr,
                                         ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* nat/aarch64-linux-hw-point.h: Include break-common.h.

commit 66c80d03078b71470c66b8f00cab82d89daeea08
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:33:00 2017 +0000

    Include mi-cmds.h in mi-parse.h
    
    $ make check-headers CHECK_HEADERS="mi/mi-parse.h"
    ...
    ../../binutils-gdb/gdb/mi/mi-parse.h:77:6: error: use of enum 'print_values' without previous declaration
     enum print_values mi_parse_print_values (const char *name);
          ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* mi/mi-parse.h: Include mi-cmds.h.

commit 051d2ddae5a2289d1f253b563e57a8e8496a06bb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:26:45 2017 +0000

    Include target.h in inf-loop.h
    
    $ make check-headers CHECK_HEADERS="target.h inf-loop.h"
    ...
    ../../binutils-gdb/gdb/inf-loop.h:23:42: error: use of enum 'inferior_event_type' without previous declaration
     extern void inferior_event_handler (enum inferior_event_type event_type,
                                              ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* inf-loop.c: Don't include "target.h".
    	* inf-loop.h: Include it here.

commit 8018d34f1e5d94ffe1f12ac2455429c6f713c518
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:26:45 2017 +0000

    Include doublest.h and expression.h in dfp.h
    
    $ make check-headers CHECK_HEADERS="dfp.h"
    ...
    ../../binutils-gdb/gdb/dfp.h:39:8: error: 'DOUBLEST' does not name a type
     extern DOUBLEST decimal_to_doublest (const gdb_byte *from, int len,
            ^
    ../../binutils-gdb/gdb/dfp.h:41:33: error: use of enum 'exp_opcode' without previous declaration
     extern void decimal_binop (enum exp_opcode,
                                     ^
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* dfp.h: Include "dboulest.h" and "expression.h".

commit c0b8369c8aa4e05bf8f1b2ce4a79133cf1192a16
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:26:45 2017 +0000

    Include ax.h in ax-gdb.h
    
    $ make check-headers CHECK_HEADERS="ax-gdb.h"
    ...
    
    ../../binutils-gdb/gdb/ax-gdb.h:104:8: error: 'agent_expr_up' does not name a type
     extern agent_expr_up gen_trace_for_expr (CORE_ADDR, struct expression *,
            ^
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* ax-gdb.h: Include "ax.h"

commit ad5cba2adbdb8ec216d44515468bde8d96892c3d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jan 6 14:03:02 2017 +0000

    Update gdb_ptrace.h in HFILES_NO_SRCDIR
    
    Commit e379037 (Move gdb_ptrace.h to nat/), so we should update
    file name in HFILES_NO_SRCDIR too.  Otherwise, 'make tags' complains,
    
    $ make tags
    make: *** No rule to make target `gdb_ptrace.h', needed by `TAGS'.  Stop.
    
    gdb:
    
    2017-01-06  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
    	with nat/gdb_ptrace.h.

commit fd13a84bb0f4e5eccd495d5538ef4aca7f341528
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 6 12:24:54 2017 +0000

    Retire Paul Brook as an ARM maintainer.
    
    	* MAINTAINERS: Move Paul Brook to the Past Maintainers section.

commit ac10a93e27993cf25cd2116227b12735d6481797
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jan 6 00:00:25 2017 +0000

    Automatic date update in version.in

commit 1c33cd7f00c7b2d195cdb004559332c397663bae
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 5 14:44:20 2017 +0000

    Fix ARI warning
    
    This patch splits the expression before the && operator instead of
    after it.
    
    gdb:
    
    2017-01-05  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
    	new line.
    	(mips64_fbsd_sigframe_init): Likewise.

commit 0ae60c3ef45d41b34d40ed5c7b4fdfea289530de
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 5 09:11:47 2017 +0000

    Prevent an abort in the FRV disassembler if the target bfd name is unknown.
    
    	PR 20946
    	* frv-desc.c (lookup_mach_via_bfd_name): Return NULL if the name
    	could not be matched.
    	(frv_cgen_cpu_open): Allow for lookup_mach_via_bfd_name returning
    	NULL.

commit c0386d4d54d2cc33d6efc0b998fe6396bf92be15
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Wed Jan 4 16:05:27 2017 -0800

    Five fixes, for fcsel, fcvtz, fminnm, mls, and non-widening mul.
    
    	sim/aarch64/
    	* cpustate.c: Include math.h.
    	(aarch64_set_FP_float): Use signbit to check for signed zero.
    	(aarch64_set_FP_double): Likewise.
    	* simulator.c (do_vec_MOV_immediate, case 0x8): Add missing break.
    	(do_vec_mul): In all DO_VEC_WIDENING_MUL calls, make second and fourth
    	args same size as third arg.
    	(fmaxnm): Use isnan instead of fpclassify.
    	(fminnm, dmaxnm, dminnm): Likewise.
    	(do_vec_MLS): Reverse order of subtraction operands.
    	(dexSimpleFPCondSelect): Call aarch64_get_FP_double or
    	aarch64_get_FP_float to get source register contents.
    	(UINT_MIN, ULONG_MIN, FLOAT_UINT_MAX, FLOAT_UINT_MIN,
    	DOUBLE_UINT_MAX, DOUBLE_UINT_MIN, FLOAT_ULONG_MAX, FLOAT_ULONG_MIN,
    	DOUBLE_ULONG_MAX, DOUBLE_ULONG_MIN): New.
    	(do_fcvtzu): Use ULONG instead of LONG, and UINT instead of INT in
    	raise_exception calls.
    
    	sim/testsuite/sim/aarch64/
    	* fcsel.s: New.
    	* fcvtz.s: New.
    	* fminnm.s: New.
    	* mls.s: New.
    	* mul.s: New.

commit 6ed0191f6582a3b008277f0d2dc18d6764313ac5
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jan 5 00:00:35 2017 +0000

    Automatic date update in version.in

commit c988ac1de5bc0efec2022fc6ce7d13b24e540099
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Wed Jan 4 12:15:22 2017 -0800

    Use correct OSABI constant for FreeBSD/mips binaries.
    
    gdb/ChangeLog:
    
    	* mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
    	GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.

commit b268007c68ec2d4ebd7e1fa239f0444ff59620e2
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Wed Jan 4 09:41:58 2017 -0800

    Add native target for FreeBSD/mips.
    
    This supports the o32 and n64 ABIs.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
    	* NEWS: Mention new FreeBSD/mips native configuration.
    	* config/mips/fbsd.mh: New file.
    	* configure.host: Add mips*-*-freebsd*.
    	* mips-fbsd-nat.c: New file.

commit 387360daf92ec2e4e02ace51f44400c167bb5c79
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Wed Jan 4 09:41:58 2017 -0800

    Add FreeBSD/mips architecture.
    
    This has been tested for the n64 and o32 ABIs.  Signal frame unwinders for
    both ABIs are provided.  FreeBSD/mips requires custom linkmap offsets since
    it contains an additional l_off member in 'struct link_map' that other
    FreeBSD platforms do not have.  Support for collecting and supplying
    general purpose and floating point register sets are provided.  Common
    routines for working with native format register sets are exported for
    use by the native target.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
    	(ALLDEPFILES): Add mips-fbsd-tdep.c.
    	* NEWS: Mention new FreeBSD/mips target.
    	* configure.tgt: Add mips*-*-freebsd*.
    	* mips-fbsd-tdep.c: New file.
    	* mips-fbsd-tdep.h: New file.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Contributors): Add SRI International and University
    	of Cambridge for FreeBSD/mips.

commit b055631694967585d0c898ac493e1faa3d5e8ee6
Author: Dilan Palauzov <dilyan.palauzov@aegee.org>
Date:   Wed Jan 4 16:05:22 2017 +0000

    Use noyywrap option in lex files.
    
    ld	PR 20958
    	* ldlex.l (option): Add noyywrap
    	(yywrap): Delete.
    	* ldlex.h (yywrap): Delete prototype.
    
    binutils
    	PR 20958
    	* syslex.l (option): Add noyywrap
    	(yywrap): Delete.

commit 8cf50cb070642d73acc537010d71c912f921861c
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Wed Jan 4 14:27:52 2017 +0000

    [DWARF] Sync GCC dwarf.def change on AArch64
    
    include/
    	* dwarf2.def: Sync with mainline gcc sources.

commit 7c2a23b23e9ca7015acadbbc7a12c665791c8337
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 4 23:49:58 2017 +1030

    update-copyright.py for binutils
    
    This is a modified form of gcc's contrib/update-copyright.py.
    
    	* update-copyright.py: New file.
    	* add-log.el: Update copyright year range.
    	* texi2pod.pl: Likewise.

commit e495212d229d58eb4d70c94d7f828a04c386c3b2
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 4 23:47:07 2017 +1030

    Sync libiberty from gcc
    
    Picks up copyright year update and other recent fixes.

commit 0913ae5ad7ad465e36784ed7fcc8676f3e0e23b7
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Dec 18 17:06:40 2016 +1030

    picflag.m4 high bit set in comment
    
    	* picflag.m4: Import from gcc.

commit d74d4880e23263bac3690bcb641af56bd13036e6
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Wed Jan 4 12:27:10 2017 +0000

    [AArch64] Add separate feature flag for weaker release consistent load insns
    
    The weaker release consistency support of ARMv8.3-A is allowed as an optional
    extension for ARMv8.2-A, so separate command line option and feature flag is
    added: -march=armv8.2-a+rcpc turns LDAPR, LDAPRB, LDAPRH instructions on.
    
    opcodes/
    	* aarch64-tbl.h (RCPC, RCPC_INSN): Define.
    	(aarch64_opcode_table): Use RCPC_INSN.
    
    include/
    	* opcode/aarch64.h (AARCH64_FEATURE_RCPC): Define.
    	(AARCH64_ARCH_V8_3): Update.
    
    gas/
    	* config/tc-aarch64.c (aarch64_features): Add rcpc.
    	* doc/c-aarch64.texi (AArch64 Extensions): Document rcpc.
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Rename to ...
    	* testsuite/gas/aarch64/ldst-rcpc.d: This.
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Rename to ...
    	* testsuite/gas/aarch64/ldst-rcpc.s: This.
    	* testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: New test.

commit 10ab38d930db6159b93082dfe5e41761bdc0d70b
Author: Norm Jacobs <norm.jacobs@oracle.com>
Date:   Wed Jan 4 11:49:00 2017 +0000

    When configuring GAS treat as sparcv9 target the same way as a sparc64 target.
    
    	PR gas/20992
    	* configure.tgt: Treat sparcv9 as sparc64.

commit 2aaaf250e80afb4a5c66fb0b7801e24cc5c4e680
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Jan 4 09:32:46 2017 +0000

    Fix an internal error on writing pieced value
    
    In ee40d8d (Move computed value's frame id to piece_closure), I only
    updated read_pieced_value to use frame_id from piece_closure, but
    forgot to update write_pieced_value, so it causes the following
    internal error on arm-linux,
    
    set variable l = 4^M
    gdb/git/gdb/value.c:1579: internal-error: frame_id* deprecated_value_next_frame_id_hack(value*): Assertion `value->lval == lval_register' failed.^M
    A problem internal to GDB has been detected,^M
    further debugging may prove unreliable.^M
    Quit this debugging session? (y or n) FAIL: gdb.base/store.exp: var longest l; setting l to 4 (GDB internal error)
    
    This patch fixes the internal error.
    
    gdb:
    
    2017-01-04  Yao Qi  <yao.qi@linaro.org>
    
    	* dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
    	use c->frame_id when the piece location is DWARF_VALUE_REGISTER.

commit c27e4edb52011c9f4bbdb141fb360c708a879f87
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jan 4 00:00:20 2017 +0000

    Automatic date update in version.in

commit 47523653a331d0a04470701338a6ed269cc758f4
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 4 09:25:54 2017 +1030

    Check for shared lib support before running ld tests with -shared
    
    Another fix now that we run these tests non-native.
    
    	* testsuite/ld-elf/audit.exp: Check for shared lib support.
    	* testsuite/ld-elf/compress.exp: Likewise.
    	* testsuite/ld-elf/dwarf.exp: Likewise.
    	* testsuite/ld-elf/shared.exp: Likewise.
    	* testsuite/ld-elf/wrap.exp: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Likewise.
    	* testsuite/ld-plugin/lto.exp: Check $CXX exists.

commit ae4fda663812129df67e3a70691787060242c0f9
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Tue Jan 3 16:15:15 2017 +0000

    bfd: alpha: Fix crash caused by double free with --no-keep-memory
    
    Without this, ld has been seen to crash in libc when freeing tsec_free:
    
    *** Error in `/usr/bin/ld': double free or corruption (!prev): 0x0000000120ceb6a0 ***
    
    _bfd_elf_link_read_relocs will always return the cached value if
    present, even if keep_memory is false, therefore setting tsec_free to
    NULL only when keep_memory is true is not sufficient.
    
    	* elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
    	if relocs are cached.

commit cc917fd93d2a836adfd61b91df021cf835e88fd1
Author: Kito Cheng <kito.cheng@gmail.com>
Date:   Tue Jan 3 17:42:01 2017 +0000

    Add support for the Q extension to the RISCV ISA.
    
    gas    * config/tc-riscv.c (riscv_set_arch): Whitelist the "q" ISA
            extension.
            (riscv_after_parse_args): Set FLOAT_ABI_QUAD when the Q ISA is
            enabled and no other ABI is specified.
    
    include * opcode/riscv-opc.h: Add support for the "q" ISA extension.
    
    opcodes * riscv-opc.c (riscv-opcodes): Add support for the "q" ISA
            extension.
            * riscv-opcodes/all-opcodes: Likewise.

commit de1010f40884537cf0905ad134162cd2db71dc2a
Author: Rich Felker <bugdal@aerifal.cx>
Date:   Tue Jan 3 16:18:41 2017 +0000

    Fix generation of GOT table when only GOT-relative relocs are used.
    
    	PR ld/21017
    	* elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
    	for R_MICROBLAZE_GOTOFF_64.

commit b52d3cfcfb472263eca181da37dfc0377978acba
Author: Dilyan Palauzov <dilyan.palauzov@aegee.org>
Date:   Tue Jan 3 16:02:36 2017 +0000

    Add fall through comment.
    
    	* riscv-dis.c (print_insn_args): Add fall through comment.

commit f90c58d59339ae3e0593cd6e464775973b7c259c
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 3 15:51:11 2017 +0000

    Add new Serbian translation for the opcodes library.
    
    	* po/sr.po: New Serbian translation.
    	* configure.ac (ALL_LINGUAS): Add sr.
    	* configure: Regenerate.

commit 09fe2662a708aa4da665bcaf942b5529e6809220
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 3 15:26:27 2017 +0000

    Fix compile time warning about using a possibly uninitialised variable.

commit fb9b4b7e534c4df7e8e0cb60c180e61f27617f0a
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jan 3 15:17:48 2017 +0000

    Sync dwarf headers with master versions in gcc repository.
    
    	* dwarf2.def: Sync with mainline gcc sources
    	* dwarf2.h: Likewise.
    
    	2016-12-21  Jakub Jelinek  <jakub@redhat.com>
    
    	* dwarf2.def (DW_FORM_ref_sup): Renamed to ...
    	(DW_FORM_ref_sup4): ... this.  New form.
    	(DW_FORM_ref_sup8): New form.
    
    	2016-10-17  Jakub Jelinek  <jakub@redhat.com>
    
    	* dwarf2.h (enum dwarf_calling_convention): Add new DWARF5
    	calling convention codes.
    	(enum dwarf_line_number_content_type): New.
    	(enum dwarf_location_list_entry_type): Add DWARF5 DW_LLE_*
    	codes.
    	(enum dwarf_source_language): Add new DWARF5 DW_LANG_* codes.
    	(enum dwarf_macro_record_type): Add DWARF5 DW_MACRO_* codes.
    	(enum dwarf_name_index_attribute): New.
    	(enum dwarf_range_list_entry): New.
    	(enum dwarf_unit_type): New.
    	* dwarf2.def: Add new DWARF5 DW_TAG_*, DW_FORM_*, DW_AT_*,
    	DW_OP_* and DW_ATE_* entries.
    
    	2016-08-15  Jakub Jelinek  <jakub@redhat.com>
    
    	* dwarf2.def (DW_AT_string_length_bit_size,
    	DW_AT_string_length_byte_size): New attributes.
    
    	2016-08-12  Alexandre Oliva <aoliva@redhat.com>
    
    	PR debug/63240
    	* dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New.
    	* dwarf2.h (enum dwarf_defaulted_attribute): New.

commit a44d0bd787e4fdf2424583508f407bafa139ed8a
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 3 23:00:30 2017 +1030

    Check ld_compile return status
    
    	* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Do not
    	allow test to continue after compilation errors.
    	(run_cc_link_tests): Likewise.

commit ddb2c6fdfc79e83af07ebdc93bdd17fe1eede8e7
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Mon Jan 2 18:20:21 2017 +0200

    Fix PRU GAS for 32-bit hosts
    
    The PRU GAS port I originally submitted does not build on 32bit hosts.
    This patch fixes it by aligning md_number_to_chars's definition with
    the global declaration in tc.h.
    
    Here is the original bug report I got:
      https://github.com/rcn-ee/repos/pull/23#issuecomment-269915175
    
    	* config/tc-pru.c (md_number_to_chars): Fix parameter to be
    	valueT, as declared in tc.h.
    	(md_apply_fix): Fix to work on 32-bit hosts.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 27c3ce29f8920270ca2ed9b533ead5c8ebff215e
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Mon Jan 2 18:20:20 2017 +0200

    Fix PRU LD for --enable-targets=all config option
    
    I noticed that PRU LD is broken when BFD is configured
    with --enable-targets=all.  This patch fixes it, and takes the
    opportunity to clean the epruelf.c dependencies.
    
    	* Makefile.am (ALL_EMULATION_SOURCES): Add epruelf.c.
    	(epruelf.c): Remove unneeded dependencies.
    	* Makefile.in: Regenerate
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 8cfc7cf8c273677b5c83290cd1b143f18eeeb9c4
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 3 12:27:19 2017 +1030

    Add -rpath-link to various tests
    
    Needed for cross-builds without --sysroot, where USE_LIBPATH isn't
    set.  See elf32.em after_open.  Perhap ld ought to look at -rpath in
    this case?
    
    	* testsuite/ld-elf/shared.exp: Add -rpath-link and -no-as-needed
    	to various tests.
    	* testsuite/ld-elfweak/elfweak.exp: Likewise.
    	* testsuite/ld-elfvers/vers.exp (vers19): Fix -rpath-link option.

commit 4ce6ca2c78c12931c31f46b9390e00a012eaa466
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jan 3 09:38:53 2017 +1030

    Don't run C tests in ld testsuite unless we have a C compiler
    
    Removing the [isnative] check requires that we test for a C compiler.
    
    	* testsuite/ld-elf/elf.exp: Check that $CC exists before C tests.
    	* testsuite/ld-pie/pie.exp: Likewise.
    	* testsuite/ld-plugin/lto.exp: Likewise.

commit 052d038860998099a4cfdc9fe6825307be7453be
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jan 3 00:00:19 2017 +0000

    Automatic date update in version.in

commit f47b0d4a49facbfa5c2f0971474593df0a854547
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 23:57:58 2017 +1030

    Regen opcodes cgen files
    
    	* epiphany-desc.h: Regenerate.
    	* epiphany-opc.h: Regenerate.
    	* fr30-desc.h: Regenerate.
    	* fr30-opc.h: Regenerate.
    	* frv-desc.h: Regenerate.
    	* frv-opc.h: Regenerate.
    	* ip2k-desc.h: Regenerate.
    	* ip2k-opc.h: Regenerate.
    	* iq2000-desc.h: Regenerate.
    	* iq2000-opc.h: Regenerate.
    	* lm32-desc.h: Regenerate.
    	* lm32-opc.h: Regenerate.
    	* m32c-desc.h: Regenerate.
    	* m32c-opc.h: Regenerate.
    	* m32r-desc.h: Regenerate.
    	* m32r-opc.h: Regenerate.
    	* mep-desc.h: Regenerate.
    	* mep-opc.h: Regenerate.
    	* mt-desc.h: Regenerate.
    	* mt-opc.h: Regenerate.
    	* or1k-desc.h: Regenerate.
    	* or1k-opc.h: Regenerate.
    	* xc16x-desc.h: Regenerate.
    	* xc16x-opc.h: Regenerate.
    	* xstormy16-desc.h: Regenerate.
    	* xstormy16-opc.h: Regenerate.

commit d98164028637041c5de99af0d057bde3f168a8a8
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:45:37 2017 +1030

    Run more ld tests when not native
    
    Many of the ld tests are not run for cross builds, in some cases
    because the test needs to run a newly linked executable, and in others
    simply because it was easier to write the test for native only.  Even
    when a test needs to run, it's good to compile and link to exercise
    the linker.  So that's what this patch does.  I've also rid us of
    the old ld_link procedure with all the HOSTING_CRT0 etc. setup.  It's
    much simpler to just link with $CC.
    
    This does mean that a cross build with cross-compiler installed but
    no cross C-library will give lots of failures.  If that turns out to
    be too annoying, I guess we can write a tcl procedure to detect it and
    not run all the extra tests.
    
    	* Makefile.am (bootstrap): Delete rule.
    	(ld-partial, ld1, ld1-full, ld2, ld3): Likewise.
    	(HOSTING_CRT0, HOSTING_SCRT0): Don't define.
    	(HOSTING_LIBS, HOSTING_SLIBS, HOSTING_EMU): Likewise.
    	* configure.ac (HOSTING_CRT0, HOSTING_SCRT0): Don't define.
    	(HOSTING_LIBS, HOSTING_SLIBS): Likewise.
    	* configure.host (HOSTING_CRT0, HOSTING_LIBS): Don't define.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* testsuite/config/default.exp (get_link_files): Delete.
    	(HOSTING_CRT0, HOSTING_SCRT0, HOSTING_LIBS, HOSTING_SLIBS): Don't
    	define.
    	(ld_simple_link): Delete.
    	* testsuite/lib/ld-lib.exp (default_ld_link): Delete
    	(default_ld_simple_link): Rename to default_ld_link.
    	(ld_simple_link_defsyms): Rename to ld_link_defsyms.
    	(run_ld_link_tests): Use ld_link, not ld_simple_link.
    	(run_cc_link_tests): Likewise.
    	(run_ld_link_exec_tests): Use $CC or $CXX to link, not $ld.
    	Don't run exe when not native, and return unsupported.
    	* testsuite/ld-bootstrap/bootstrap.exp: Create gccld1 etc. dirs.
    	Link ld1 etc. using $CC.
    	* testsuite/ld-cdtest/cdtest.exp: Link cdtest using $CC.
    	* testsuite/ld-checks/checks.exp: Use ld_link, not ld_simple_link.
    	* testsuite/ld-cygwin/exe-export.exp: Likewise.
    	* testsuite/ld-elf/binutils.exp: Likewise.
    	* testsuite/ld-elf/eh-group.exp: Likewise.
    	* testsuite/ld-elf/exclude.exp: Likewise.
    	* testsuite/ld-elf/frame.exp: Likewise.
    	* testsuite/ld-elf/sec-to-seg.exp: Likewise.
    	* testsuite/ld-elf/tls_common.exp: Likewise.
    	* testsuite/ld-elfcomm/elfcomm.exp: Likewise.
    	* testsuite/ld-fastcall/fastcall.exp: Likewise.
    	* testsuite/ld-gc/gc.exp: Likewise.
    	* testsuite/ld-ifunc/binutils.exp: Likewise.
    	* testsuite/ld-mep/mep.exp: Likewise.
    	* testsuite/ld-mips-elf/mips-elf-flags.exp: Likewise.
    	* testsuite/ld-mn10300/mn10300.exp: Likewise.
    	* testsuite/ld-nios2/nios2.exp: Likewise.
    	* testsuite/ld-pe/pe-compile.exp: Likewise.
    	* testsuite/ld-pe/pe-run.exp: Likewise.
    	* testsuite/ld-pe/pe-run2.exp: Likewise.
    	* testsuite/ld-plugin/plugin.exp: Likewise.
    	* testsuite/ld-scripts/align.exp: Likewise.
    	* testsuite/ld-scripts/alignof.exp: Likewise.
    	* testsuite/ld-scripts/assert.exp: Likewise.
    	* testsuite/ld-scripts/defined.exp: Likewise.
    	* testsuite/ld-scripts/extern.exp: Likewise.
    	* testsuite/ld-scripts/log2.exp: Likewise.
    	* testsuite/ld-scripts/map-address.exp: Likewise.
    	* testsuite/ld-scripts/phdrs.exp: Likewise.
    	* testsuite/ld-scripts/phdrs2.exp: Likewise.
    	* testsuite/ld-scripts/script.exp: Likewise.
    	* testsuite/ld-scripts/section-flags.exp: Likewise.
    	* testsuite/ld-scripts/sizeof.exp: Likewise.
    	* testsuite/ld-scripts/sysroot-prefix.exp: Likewise.
    	* testsuite/ld-scripts/weak.exp: Likewise.
    	* testsuite/ld-selective/selective.exp: Likewise.
    	* testsuite/ld-sh/sh.exp: Likewise.
    	* testsuite/ld-sh/sh64/relax.exp: Likewise.
    	* testsuite/ld-sh/sh64/relfail.exp: Likewise.
    	* testsuite/ld-srec/srec.exp: Likewise.
    	* testsuite/ld-tic6x/tic6x.exp: Likewise.
    	* testsuite/ld-undefined/weak-undef.exp: Likewise.
    	* testsuite/ld-versados/versados.exp: Likewise.
    	* testsuite/ld-x86-64/dwarfreloc.exp: Likewise.
    	* testsuite/ld-xtensa/coalesce.exp: Likewise.
    	* testsuite/ld-xtensa/diff_overflow.exp: Likewise.
    	* testsuite/ld-xtensa/lcall.exp: Likewise.
    	* testsuite/ld-elf/audit.exp: Run non-native too.
    	* testsuite/ld-elf/compress.exp: Likewise.  Replace ld options with
    	gcc -Wl, options.
    	* testsuite/ld-elf/dwarf.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.  Add -Wl,--no-as-needed to some tests.
    	* testsuite/ld-elf/elf.exp: Run non-native too.  Formatting.
    	* testsuite/ld-elf/indirect.exp: Run non-native too.  Add
    	-Wl,--no-as-needed to most tests.
    	* testsuite/ld-elf/shared.exp: Run non-native too.  Use braces
    	to simplify quoting.  Set run_tests using [list] rather than
    	brace assignment to expand $extralibs.  Add -Wl,--no-as-needed
    	to many test.  Prefix ld options with -Wl,.
    	(mix_pic_and_non_pic): Don't run exe if not native.
    	* testsuite/ld-elf/wrap.exp: Run non-native too.  Add
    	-Wl,--no-as-needed and prefix ld options with -Wl,.
    	* testsuite/ld-elfvers/vers.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.
    	* testsuite/ld-elfvsb/elfvsb.exp: Likewise.
    	(visibility_test): Don't run exe if not native.
    	* testsuite/ld-elfweak/elfweak.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.
    	(build_exec): Don't run exe if not native.
    	* testsuite/ld-ifunc/ifunc.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.  Link using $CC.  Add -Wl,--no-as-needed
    	to some tests and prefix ld options with -Wl,.  Expect GNU
    	for hppa-linux even when no ifuncs.  Delete cleanup.
    	* testsuite/ld-pie/pie.exp: Run non-native too.
    	* testsuite/ld-plugin/lto.exp: Likewise.
    	* testsuite/ld-shared/shared.exp: Likewise.  Use ld_link,
    	not ld_simple_link.
    	(shared_test): Don't run exe if not native.
    	* testsuite/ld-size/size.exp: Run non-native too.  Add
    	-Wl,--no-as-needed to some tests.  Prefix ld options with -Wl,.
    	* testsuite/ld-unique/unique.exp: Run non-native too.  Use ld_link,
    	not ld_simple_link.  Link using $CC.  Add -Wl,--no-as-needed
    	to some tests and prefix ld options with -Wl,.  Expect GNU
    	for hppa-linux even when no unique syms.  Delete cleanup.
    	* testsuite/ld-x86-64/tls.exp: Add -Wl,--no-as-needed to some
    	tests and prefix ld options with -Wl,.
    	* testsuite/ld-x86-64/x86-64.exp: Use ld_link, not ld_simple_link.
    	Add -Wl,--no-as-needed to some tests.  Prefix ld options with -Wl,.

commit 64859e1487e0ce1e5c430238dd731123371e7a15
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:43:15 2017 +1030

    Support -z relro on metag
    
    	* emulparams/elf32metag.sh (COMMONPAGESIZE): Define.

commit f5657270bd9353db74ba802ebed62b7133f7c2a0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:33:47 2017 +1030

    Support -z relro on hppa
    
    	PR ld/21000
    	* emulparams/hppalinux.sh (DATA_ADDR, SHLIB_DATA_ADDR): Don't define.
    	(DATA_SEGMENT_ALIGN, DATA_SEGMENT_END, DATA_SEGMENT_RELRO_END): Define.
    	* scripttempl/elf.sc: Don't define the above if DATA_SEGMENT_ALIGN
    	is already defined.

commit 595e0a47f57b414843261303b8aa5036fd1fa1e3
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:31:27 2017 +1030

    Don't make symbols dynamic other than undef weak
    
    Fixes: tmpdir/pr14525: symbol lookup error: tmpdir/pr14525: undefined
    symbol: __executable_start
    FAIL: PIE PR ld/14525
    
    	* elf32-hppa.c (ensure_undef_weak_dynamic): New function.
    	(allocate_plt_static, allocate_dynrelocs): Use it.

commit 7bd9df3bcdb1f736b696566b6142cb94d6b9b0d9
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:28:29 2017 +1030

    Set SHF_INFO_LINK for .PARISC.unwind
    
    This flag should be set for any section header using sh_info to
    point to another section.
    
    Fixes a readelf warning about an unexpected value in info field,
    resulting in FAIL: Build warn libbar.so
    
    	* elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
    	.PARISC.unwind section.

commit 5b86074c4a84e32ca55a6c72c5fca45d97dc9374
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 22:06:28 2017 +1030

    PR20989, sparc GOT sequence optimisation
    
    	PR ld/20989
    	* elfxx-sparc.c (gdop_relative_offset_ok): New function.
    	(_bfd_sparc_elf_relocate_section): Use it to validate GOT
    	indirect to GOT pointer relative code edit.

commit 2571583aed598dd3f9651b53434e5f177a0e3cf7
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 14:06:43 2017 +1030

    Update year range in copyright notice of all files.

commit 5c1ad6b5bb2602a0c590f2e49316ccc9fb30e1a9
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jan 2 13:55:05 2017 +1030

    ChangeLog rotation

commit cb868fd926f3b7201eb97c5b3bab0ce6c2450304
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jan 2 00:00:21 2017 +0000

    Automatic date update in version.in

commit 61baf725eca99af2569262d10aca03dcde2698f6
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sun Jan 1 10:50:51 2017 +0400

    update copyright year range in GDB files
    
    This applies the second part of GDB's End of Year Procedure, which
    updates the copyright year range in all of GDB's files.
    
    gdb/ChangeLog:
    
            Update copyright year range in all GDB files.

commit c113e7ff6176890ef6d73a23f0918aca98b8619f
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sun Jan 1 10:39:54 2017 +0400

    Rotate GDB main ChangeLog for 2017
    
    This patch rotates the GDB main ChangeLog file as per our "Start
    of New Year Procedure".
    
    2017-01-01  Joel Brobecker  <brobecker@adacore.com>
    
            * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.

commit 66abb8241494cae2bce9ca4bcd8e095e3bcfba06
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jan 1 00:00:22 2017 +0000

    Automatic date update in version.in

commit ae4c0df4b6a76db172cc4d4c3f34fdd8064c80ed
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 31 21:02:35 2016 +1030

    Fix riscv breakage
    
    	* disassemble.c (disassembler): Add break accidentally removed
    	by PRU patch.

commit b7aba156196caf59117741eae5e93b578d0b59f4
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 31 18:25:35 2016 +1030

    Create sdynrelro for elfn32 mips too
    
    	* elfn32-mips.c (elf_backend_want_dynrelro): Define.

commit 0220170b4d87ce940d40ac98387ff2d7fbed3ab2
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:49 2016 +0200

    PRU LD Port
    
    	* NEWS: Mention new PRU target.
    	* Makefile.am: Add PRU target.
    	* configure.tgt: Ditto.
    	* emulparams/pruelf.sh: New file.
    	* emultempl/pruelf.em: New file.
    	* scripttempl/pru.sc: New file.
    	* Makefile.in: Regenerate.
    	* testsuite/ld-pru/emit-relocs-1.d: New PRU testcase file.
    	* testsuite/ld-pru/emit-relocs-1.ld: Ditto.
    	* testsuite/ld-pru/emit-relocs-1a.s: Ditto.
    	* testsuite/ld-pru/emit-relocs-1b.s
    	* testsuite/ld-pru/ldi32.d: Ditto.
    	* testsuite/ld-pru/ldi32.s: Ditto.
    	* testsuite/ld-pru/ldi32_symbol.s: Ditto.
    	* testsuite/ld-pru/norelax_ldi32-data.d: Ditto.
    	* testsuite/ld-pru/norelax_ldi32-dis.d: Ditto.
    	* testsuite/ld-pru/pcrel_s10.d: Ditto.
    	* testsuite/ld-pru/pcrel_s10.s: Ditto.
    	* testsuite/ld-pru/pcrel_s10_label.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal2.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal2.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal3.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8-illegal3.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8.d: Ditto.
    	* testsuite/ld-pru/pcrel_u8.s: Ditto.
    	* testsuite/ld-pru/pcrel_u8_label.s: Ditto.
    	* testsuite/ld-pru/pmem.d: Ditto.
    	* testsuite/ld-pru/pmem.s: Ditto.
    	* testsuite/ld-pru/pmem_symbol.s: Ditto.
    	* testsuite/ld-pru/pru.exp: Ditto.
    	* testsuite/ld-pru/relax_ldi32-data.d: Ditto.
    	* testsuite/ld-pru/relax_ldi32-dis.d: Ditto.
    	* testsuite/ld-pru/relax_ldi32.s: Ditto.
    	* testsuite/ld-pru/relax_ldi32_symbol.s: Ditto.
    	* testsuite/ld-pru/reloc.d: Ditto.
    	* testsuite/ld-pru/reloc.s: Ditto.
    	* testsuite/ld-pru/reloc_symbol.s: Ditto.
    	* testsuite/ld-pru/u16.d: Ditto.
    	* testsuite/ld-pru/u16.s: Ditto.
    	* testsuite/ld-pru/u16_symbol.s: Ditto.
    
    PRU does not export __end symbol because it is ambiguous for it.
    Users are expected to use instead the section markers __text_end,
    __data_end, __bss_end or __noinit_end.
    
    	* testsuite/lib/ld-lib.exp (check_shared_lib_support): No shared
    	libraries are supported for PRU.
    	(check_gc_sections_available): Mark PRU as not supported.
    	* testsuite/ld-elf/eh-frame-hdr.d: Disable for PRU.
    	* testsuite/ld-elf/endsym.d: Likewise.
    	* testsuite/ld-elf/group8a.d: Likewise.
    	* testsuite/ld-elf/group8b.d: Likewise.
    	* testsuite/ld-elf/group9a.d: Likewise.
    	* testsuite/ld-elf/group9b.d: Likewise.
    	* testsuite/ld-elf/merge.d: Likewise.
    	* testsuite/ld-elf/pr12851.d: Likewise.
    	* testsuite/ld-elf/pr14926.d: Likewise.
    	* testsuite/ld-elf/sec-to-seg.exp: Likewise.
    	* testsuite/ld-elf/sec64k.exp: Mark sec64k case as too big for PRU.
    	* testsuite/ld-srec/srec.exp (run_srec_test): Add setup for PRU.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 93f11b16ec1f5775c7f6c32b4a39d6dd0fb0c92a
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Tue Dec 27 22:43:38 2016 +0200

    PRU GAS Port
    
    	* NEWS: Mention new PRU target.
    	* Makefile.am: Add PRU target.
    	* config/obj-elf.c: Ditto.
    	* configure.tgt: Ditto.
    	* config/tc-pru.c: New file.
    	* config/tc-pru.h: New file.
    	* doc/Makefile.am: Add documentation for PRU GAS port.
    	* doc/all.texi, Ditto.
    	* doc/as.texinfo: Ditto.
    	* doc/c-pru.texi: Document PRU GAS options.
    	* Makefile.in: Regenerate.
    	* doc/Makefile.in: Regenerate.
    	* po/POTFILES.in: Regenerate.
    	* testsuite/gas/pru/alu.d: New file for PRU GAS testsuite.
    	* testsuite/gas/pru/alu.s: Ditto.
    	* testsuite/gas/pru/branch.d: Ditto.
    	* testsuite/gas/pru/branch.s: Ditto.
    	* testsuite/gas/pru/illegal.l: Ditto.
    	* testsuite/gas/pru/illegal.s: Ditto.
    	* testsuite/gas/pru/ldi.d: Ditto.
    	* testsuite/gas/pru/ldi.s: Ditto.
    	* testsuite/gas/pru/ldst.d: Ditto.
    	* testsuite/gas/pru/ldst.s: Ditto.
    	* testsuite/gas/pru/loop.d: Ditto.
    	* testsuite/gas/pru/loop.s: Ditto.
    	* testsuite/gas/pru/misc.d: Ditto.
    	* testsuite/gas/pru/misc.s: Ditto.
    	* testsuite/gas/pru/pru.exp: Ditto.
    	* testsuite/gas/pru/pseudo.d: Ditto.
    	* testsuite/gas/pru/pseudo.s: Ditto.
    	* testsuite/gas/pru/warn_reglabel.l: Ditto.
    	* testsuite/gas/pru/warn_reglabel.s: Ditto.
    	* testsuite/gas/pru/xfr.d: Ditto.
    	* testsuite/gas/pru/xfr.s: Ditto.
    	* testsuite/gas/lns/lns.exp: Mark lns-common-1-alt variant for PRU.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 2b100bb5cf206f9254453a00e4b48e32d3584625
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:47 2016 +0200

    PRU Binutils port
    
    	* readelf.c (guess_is_rela): Add EM_TI_PRU.
    	(dump_relocations): Invoke elf_pru_reloc_type.
    	(get_machine_name): Handle EM_TI_PRU.
    	(is_32bit_abs_reloc): Handle R_PRU_BFD_RELOC_32.
    	(is_16bit_abs_reloc): Handle R_PRU_BFD_RELOC_16.
    	(is_none_reloc): Handle PRU_NONE and PRU_DIFF variants.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 111468496477e97c9414d2d54f97bfdaa380f794
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:50 2016 +0200

    PRU Opcode Port
    
    opcodes/
    	* Makefile.am: Add PRU source files.
    	* configure.ac: Add PRU target.
    	* disassemble.c (disassembler): Register PRU arch.
    	* pru-dis.c: New file.
    	* pru-opc.c: New file.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 889294f6ffb380eb37b1f1f3bd22807fa9204c14
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:46 2016 +0200

    PRU BFD support
    
    include/
    	* elf/common.h: Add PRU ELF.
    	* elf/pru.h: New file.
    	* opcode/pru.h: New file.
    	* dis-asm.h (print_insn_pru): Declare.
    bfd/
    	* archures.c: Add bfd_arch_pru.
    	* Makefile.am: Add PRU target.
    	* config.bfd: Ditto.
    	* configure.ac: Ditto.
    	* elf-bfd.h (enum elf_target_id): Add PRU_ELF_DATA.
    	* targets.c: Add pru_elf32_vec.
    	* reloc.c: Add PRU relocations.
    	* cpu-pru.c: New file.
    	* elf32-pru.c: New file.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* po/SRC-POTFILES.in: Regenerate.
    	* bfd-in2.h: Regenerate
    	* libbfd.h: Regenerate.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 4244d58a4080d057bb9b17554734192821493cb6
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:51 2016 +0200

    Add PRU ELF ID to elfcpp
    
    	* elfcpp.h (enum EM): Add EM_TI_PRU.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 517c4166988047036a57f4bb36e00458b51ade62
Author: Dimitar Dimitrov <dimitar@dinux.eu>
Date:   Fri Dec 30 12:39:59 2016 +0200

    ld testsuite: Sanitize output from ld
    
    Leading dashes from an LD error message confuse send_log, because the
    string is taken to be an option.
    
    This patch fixes the following DejaGnu error:
    
      --defsym:1: undefined symbol `foo2' referenced in expression
      failed with: <--defsym:1: undefined symbol `foo2' referenced in expression>, no expected output
      ERROR: tcl error sourcing .../ld/testsuite/ld-gc/gc.exp.
      ERROR: usage: send [args] string
          while executing
      "send_log "$comp_output\n""
          (procedure "run_dump_test" line 376)
    
    	* testsuite/lib/ld-lib.exp (run_dump_test): Pass -- to send_log.
    
    Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>

commit 3f66c01be30edcfaedd11d475078f78e464ca4a0
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Dec 30 16:27:54 2016 +1030

    Import config.sub
    
    	* config.sub: Import from upstream.

commit d6deafd0bb04f728d403bee2e07d17ec9ac1353e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 31 00:00:21 2016 +0000

    Automatic date update in version.in

commit fa62ef05fc91c19932ded7ccfd1fd0811c7f7e6f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 30 00:00:20 2016 +0000

    Automatic date update in version.in

commit 0a7e10188e3c08403fb00b728644d7a95092c732
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Dec 29 15:47:40 2016 +0000

    Return 'int' rather than 'unsigned short' in avrdis_opcode
    
    avrdis_opcode return type is unsigned short, but -1 at the end of
    this function is returned.  Additionally, print_insn_avr doesn't
    handle when -1 (in case of memory error) is returned from
    avrdis_opcode.
    
    This patch changes avrdis_opcode returning int indicating the error,
    and adds a new argument for instruction we got on success.  The
    opcode is 16-bit, so I change local variables type to uint16_t,
    and include "bfd_stdint.h" as a result.  On memory error,
    print_insn_avr returns -1, which is a common convention among most
    of print_insn_$ARCH functions.
    
    opcodes:
    
    2016-12-29  Yao Qi  <yao.qi@linaro.org>
    
    	* avr-dis.c: Include "bfd_stdint.h"
    	(avrdis_opcode): Change return type to int, add argument
    	insn.  Set *INSN on success.
    	(print_insn_avr): Check return value of avrdis_opcode, and
    	return -1 on error.

commit e81830c5c61a8665c098189d069cc68b0df113d3
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 29 22:49:41 2016 +1030

    link_hash_copy_indirect and symbol flags
    
    A while ago HJ fixed PR ld/18720 with commit 6e33951ed, which, among
    other things, modified _bfd_elf_link_hash_copy_indirect to not copy
    ref_dynamic, ref_regular, ref_regular_nonweak, non_got_ref, needs_plt
    and pointer_equality_needed when setting up an indirect non-versioned
    symbol pointing to a non-default versioned symbol.  I didn't notice at
    the time, but the pr18720 testcase fails on hppa-linux with
    "internal error, aborting at binutils-gdb-2.28/bfd/elf32-hppa.c:3933
    in elf32_hppa_relocate_section".
    
    Now hppa-linux creates entries in the plt even for local functions, if
    they are referenced using plabel (function pointer) relocations.   So
    needs_plt is set for foo when processing pr18720a.o.  When the aliases
    in pr28720b.o are processed, we get an indirection from foo to
    foo@FOO, but don't copy needs_plt.  Since foo@FOO is the "real" symbol
    that is used after that point, no plt entry is made for foo and we
    bomb when relocating the plabel.
    
    As shown by the hppa-linux scenario, needs_plt should be copied even
    for non-default versioned symbols.  I believe all of the others ought
    to be copied too, with the exception of ref_dynamic.  Not copying
    ref_dynamic is right because if a shared lib references "foo" it
    should not be satisfied by any non-default version "foo@FOO".
    
    	* elflink.c (_bfd_elf_link_hash_copy_indirect): Only omit
    	copying one flag, ref_dynamic, when versioned_hidden.
    	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
    	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Use same
    	logic for copying weakdef flags.  Copy plabel flag and merge
    	tls_type.
    	* elf32-i386.c (elf_i386_copy_indirect_symbol): Use same logic
    	for copying weakdef flags.
    	* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
    	* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
    	* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
    	* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
    	* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Likewise.
    	Simplify.

commit ffdc5f48ee608b4750df5e34c10598f0f2c158d3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 29 00:00:21 2016 +0000

    Automatic date update in version.in

commit 913e12d44dc7fc09f965e4b660f437e7e0303c64
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Wed Dec 28 18:28:22 2016 +0100

    Fix comment typo
    
    	* copy-relocs.h: Fix comment typo.

commit 265d97f743a4ba78bcffd7ae8d0ea02668a58df3
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 28 08:29:43 2016 -0800

    Add explicit instantiations for build_compressed_section_map().
    
    gold/
    	PR gold/20996
    	* object.cc (build_compressed_section_map): Add explicit instantiations.

commit 6142c999f2a9700d568eb25462a5d622d220b4cb
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 28 08:22:59 2016 -0800

    Fix last ChangeLog entry.
    
    	* copy-relocs.cc (Copy_relocs::make_copy_reloc): Use .data.rel.ro for
    	read-only data when linking with -z relro.

commit 0fa6f7cee7dedb600799234b1e2d52c5b0da8f96
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 28 21:59:34 2016 +1030

    Check bfd support for bfd_mips_elf_get_abiflags in mips make rule
    
    The previous scheme with a dependency in opcodes on libbfd.la
    broke "make distclean".
    
    	* configure.ac: Revert 2016-12-23.
    	* Makefile.am: Likewise.
    	(MIPS_DEFS): Define.
    	(mips-dis.lo): Add rule.
    	* Makefile.in: Regenerate.
    	* aclocal.m4: Regenerate.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 9acc85a62eb76c270724bba15c889d2d05567b6a
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 28 17:04:15 2016 +1030

    Use dynrelro for symbols in relro sections too
    
    	PR ld/20995
    bfd/
    	* elflink.c (elf_link_add_object_symbols): Mark relro sections
    	in dynamic objects SEC_READONLY.
    ld/
    	* testsuite/ld-elf/pr20995c.s: New test file.
    	* testsuite/ld-elf/pr20995-2so.r: Likewise.
    	* testsuite/ld-elf/elf.exp: Run it.

commit b733bcb7f58c42e0e0d94a3f266a4193030e5f3a
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 27 20:50:47 2016 -0800

    Place copy relocations in .dynbss when target is read-only.
    
    gold/
    	PR ld/20995
    	* copy-relocs.cc (Copy_relocs::make_copy_reloc): Use .dynbss for
    	read-only data when linking with -z relro.
    	* copy-relocs.h (Copy_relocs::dynrelro_): New data member.
    	* testsuite/Makefile.am (copy_test_relro): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/copy_test_relro.cc: New source file.
    	* testsuite/copy_test_relro_1.cc: New source file.

commit 7ff34266fd831f828286e556f9cd681c42c0412c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 28 00:00:20 2016 +0000

    Automatic date update in version.in

commit 28985b6ba2fa968058429b767dc727d254c6ad13
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 27 00:00:23 2016 +0000

    Automatic date update in version.in

commit 5474d94f03aedba2f832006dc7d680cc15792a7b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Dec 26 00:30:45 2016 +1030

    dynrelro section for read-only dynamic symbols copied into executable
    
    Variables defined in shared libraries are copied into an executable's
    .bss section when code in the executable is non-PIC and thus would
    require dynamic text relocations to access the variable directly in
    the shared library.  Recent x86 toolchains also copy variables into
    the executable to gain a small speed improvement.
    
    The problem is that if the variable was originally read-only, the copy
    in .bss is writable, potentially opening a security hole.  This patch
    cures that problem by putting the copy in a section that becomes
    read-only after ld.so relocation, provided -z relro is in force.
    
    The patch also fixes a microblaze linker segfault on attempting to
    use dynamic bss variables.
    
    bfd/
    	PR ld/20995
    	* elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and
    	sreldynrelro.
    	(struct elf_backend_data): Add want_dynrelro.
    	* elfxx-target.h (elf_backend_want_dynrelro): Define.
    	(elfNN_bed): Update initializer.
    	* elflink.c (_bfd_elf_create_dynamic_sections): Create
    	sdynrelro and sreldynrelro sections.
    	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables
    	copied into the executable from read-only sections into sdynrelro.
    	(elf32_arm_size_dynamic_sections): Handle sdynrelro.
    	(elf32_arm_finish_dynamic_symbol): Select sreldynrelro for
    	dynamic relocs in sdynrelro.
    	(elf_backend_want_dynrelro): Define.
    	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol)
    	(elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-i386.c (elf_i386_adjust_dynamic_symbol)
    	(elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-metag.c (elf_metag_adjust_dynamic_symbol)
    	(elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol)
    	(microblaze_elf_size_dynamic_sections)
    	(microblaze_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-nios2.c (nios2_elf32_finish_dynamic_symbol)
    	(nios2_elf32_adjust_dynamic_symbol)
    	(nios2_elf32_size_dynamic_sections)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-or1k.c (or1k_elf_finish_dynamic_symbol)
    	(or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol)
    	(ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-s390.c (elf_s390_adjust_dynamic_symbol)
    	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol)
    	(elf32_tic6x_size_dynamic_sections)
    	(elf32_tic6x_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol)
    	(tilepro_elf_size_dynamic_sections)
    	(tilepro_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol)
    	(ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf64-s390.c (elf_s390_adjust_dynamic_symbol)
    	(elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol)
    	(elf_x86_64_size_dynamic_sections)
    	(elf_x86_64_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol)
    	(elfNN_aarch64_size_dynamic_sections)
    	(elfNN_aarch64_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol)
    	(riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol)
    	(elf_backend_want_dynrelro): As above.
    	* elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol)
    	(_bfd_mips_elf_size_dynamic_sections)
    	(_bfd_mips_vxworks_finish_dynamic_symbol): As above.
    	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol)
    	(_bfd_sparc_elf_size_dynamic_sections)
    	(_bfd_sparc_elf_finish_dynamic_symbol): As above.
    	* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol)
    	(tilegx_elf_size_dynamic_sections)
    	(tilegx_elf_finish_dynamic_symbol): As above.
    	* elf32-mips.c (elf_backend_want_dynrelro): Define.
    	* elf64-mips.c (elf_backend_want_dynrelro): Define.
    	* elf32-sparc.c (elf_backend_want_dynrelro): Define.
    	* elf64-sparc.c (elf_backend_want_dynrelro): Define.
    	* elf32-tilegx.c (elf_backend_want_dynrelro): Define.
    	* elf64-tilegx.c (elf_backend_want_dynrelro): Define.
    	* elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy.
    	(microblaze_elf_size_dynamic_sections): Handle sdynbss.
    	* elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use
    	of linker shortcuts to dynamic sections rather than comparing
    	names.  Correctly set "got" flag.
    ld/
    	PR ld/20995
    	* testsuite/ld-arm/farcall-mixed-app-v5.d: Update to suit changed
    	stub hash table traversal caused by section id increment.  Accept
    	the previous output too.
    	* testsuite/ld-arm/farcall-mixed-app.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise.
    	* testsuite/ld-arm/farcall-mixed-lib.d: Likewise.
    	* testsuite/ld-elf/pr20995a.s, * testsuite/ld-elf/pr20995b.s,
    	* testsuite/ld-elf/pr20995.r: New test.
    	* testsuite/ld-elf/elf.exp: Run it.

commit 9d19e4fdb7c684329c8b1b72796a0071708dabc7
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Dec 26 00:21:06 2016 +1030

    Put .dynbss and .rel.bss shortcuts in main elf hash table
    
    Also, create .rel{,a}.bss for PIEs on all targets, not just x86.
    
    	* elf-bfd.h (struct elf_link_hash_table): Add sdynbss and srelbss.
    	* elflink.c (_bfd_elf_create_dynamic_sections): Set them.  Create
    	.rel.bss/.rela.bss for executables, both PIE and non-PIE.
    	* elf32-arc.c (struct elf_arc_link_hash_table): Delete srelbss.
    	Use ELF hash table var throughout.
    	* elf32-arm.c (struct elf32_arm_link_hash_table): Delete sdynbss
    	and srelbss.  Use ELF hash table vars throughout.
    	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Likewise.
    	* elf32-i386.c (struct elf_i386_link_hash_table): Likewise.
    	* elf32-metag.c (struct elf_metag_link_hash_table): Likewise.
    	* elf32-microblaze.c (struct elf32_mb_link_hash_table): Likewise.
    	* elf32-nios2.c (struct elf32_nios2_link_hash_table): Likewise.
    	* elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
    	* elf32-ppc.c (struct ppc_elf_link_hash_table): Likewise.
    	* elf32-s390.c (struct elf_s390_link_hash_table): Likewise.
    	* elf32-tic6x.c (struct elf32_tic6x_link_hash_table): Likewise.
    	* elf32-tilepro.c (struct tilepro_elf_link_hash_table): Likewise.
    	* elf64-ppc.c (struct ppc_link_hash_table): Likewise.
    	* elf64-s390.c (struct elf_s390_link_hash_table): Likewise.
    	* elf64-x86-64.c (struct elf_x86_64_link_hash_table): Likewise.
    	* elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Likewise.
    	* elfnn-riscv.c (struct riscv_elf_link_hash_table): Likewise.
    	* elfxx-mips.c (struct mips_elf_link_hash_table): Likewise.
    	* elfxx-sparc.h (struct _bfd_sparc_elf_link_hash_table): Likewise.
    	* elfxx-sparc.c: Likewise.
    	* elfxx-tilegx.c (struct tilegx_elf_link_hash_table): Likewise.
    
    	* elf32-arc.c (arc_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf32-microblaze.c (microblaze_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf32-or1k.c (or1k_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf32-s390.c (elf_s390_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf64-ppc.c (ppc64_elf_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    	* elf64-s390.c (elf_s390_create_dynamic_sections): Delete.
    	(elf_backend_create_dynamic_sections): Use base ELF version.
    
    	* elf32-tilepro.c (tilepro_elf_create_dynamic_sections): Remove
    	extraneous tests.
    	* elfnn-aarch64.c (elfNN_aarch64_create_dynamic_sections): Likewise.
    	* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Likewise.
    	* elfxx-tilegx.c (tilegx_elf_create_dynamic_sections): Likewise.
    
    	* elf32-i386.c (elf_i386_create_dynamic_sections): Don't create
    	".rel.bss" for executables.
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Don't create
    	".rela.bss" for executables.
    	* elf32-nios2.c (nios2_elf32_create_dynamic_sections): Don't
    	ignore return status from _bfd_elf_create_dynamic_sections.

commit 09a1b0e9437f4e6c868b47322a84193a5ae3a391
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Dec 26 09:40:58 2016 +1030

    Correct .dynbss in script
    
    The only target that renames .bss is tic6x, turning .bss into .far,
    and .sbss into .bss.  .dynbss is not renamed to .dynfar by BFD.
    
    	* scripttempl/elf.sc: Don't use $BSS_NAME in .dynbss.

commit 3bdb50600c3d20e355637b48fc317e8ad70ba93d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 26 00:00:32 2016 +0000

    Automatic date update in version.in

commit 4e008fde3ab059a011ec487686b7f3e5324c0a44
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 25 00:00:21 2016 +0000

    Automatic date update in version.in

commit 65ac99a581582031008a48b70fcf6952dee26af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 24 00:00:18 2016 +0000

    Automatic date update in version.in

commit 4d4f40e041ce7c8c7c8e50f957e0440b64ab7e95
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 20:03:36 2016 +0000

    MIPS/BFD: Remove EI_ABIVERSION 5 allocation for PT_GNU_STACK support
    
    Revert commit 17733f5be961 ("Increment the ABIVERSION to 5 for MIPS
    objects with non-executable stacks.") and remove EI_ABIVERSION 5
    allocation for PT_GNU_STACK support, which has not made it to glibc
    and will be reassigned.
    
    	bfd/
    	* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Revert
    	2016-02-23 change and remove EI_ABIVERSION 5 support.

commit 5284e471d53ccb7c7a1d140bd83098607ccf4b8a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 19:40:51 2016 +0000

    MIPS16: Add ASMACRO instruction support
    
    Add ASMACRO instruction support as per the MIPS16e ASE architecture
    specifications [1][2], completing MIPS16e instruction set support.
    
    [1] "MIPS32 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00076, Revision 2.63, July
        16, 2013, Section 4.1 "MIPS16e Instruction Descriptions", p. 65
    
    [2] "MIPS64 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00077, Revision 2.60, June
        25, 2008, Section 1.1 "MIPS16e Instruction Descriptions", p. 66
    
    	include/
    	* opcode/mips.h: Document `0', `1', `2', `3', `4' and `s'
    	operand codes.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand): Add `0', `1', `2', `3',
    	`4' and `s' operand codes.
    	(mips16_opcodes): Add "asmacro" entry.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-insn.d: Update for
    	ASMACRO support.
    
    	gas/
    	* testsuite/gas/mips/mips16-asmacro.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-asmacro.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-asmacro.d: New test.
    	* testsuite/gas/mips/mips16-asmacro.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit bdd152861ce75c36828904cf3d10f8ce14da6cf5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 19:40:09 2016 +0000

    MIPS16: Simplify extended operand handling
    
    Simplify extended operand handling and only specially process immediates
    which require bit shuffling, using the generic operand insertion and
    extraction handlers for the '<' (5-bit shift amount) operand code in
    particular.  Require the least significant bit of all extended operand
    forms to be (artificially) set to 0 for their special processing to
    trigger.
    
    	gas/
    	* config/tc-mips.c (mips16_immed): Limit `mips16_immed_extend'
    	use to operands whose LSB position is zero.
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Simplify processing of
    	extended operands.
    	* mips16-opc.c (decode_mips16_operand): Switch the extended
    	form of the `<' operand type to LSB position 22.

commit 1da43accb4f8e2a19dc033b617982e3c2dc83a08
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 18:06:55 2016 +0000

    MIPS16/GAS: Clean up invalid unextended operand handling
    
    Bail out right away when an unextended instruction encoding is required
    either with the use of a `.t' suffix or by means of `.set noautoextend',
    however an operand supplied requires the extended instruction form to be
    used.
    
    This is to avoid messing up with the internal state of the assembler,
    even though no actual failures are known to happen as a result.  Add
    test cases for the situation concerned.
    
    	gas/
    	* config/tc-mips.c (match_mips16_insn): Don't update
    	`forced_insn_length' or the instruction opcode if an operand
    	requires an extended instruction form, but an unextended one
    	has been requested.
    	* testsuite/gas/mips/mips16-relax-unextended-1.d: New test.
    	* testsuite/gas/mips/mips16-relax-unextended-2.d: New test.
    	* testsuite/gas/mips/mips16-relax-unextended-1.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-relax-unextended-2.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-relax-unextended-1.s: New test
    	source.
    	* testsuite/gas/mips/mips16-relax-unextended-2.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit d8722d7641d234dcd3d1f2254fbc5d9cf234e4e6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 17:05:01 2016 +0000

    MIPS16: Reassign `0' and `4' operand codes
    
    Replace `0' and `4' operand codes with `.' and `F' respectively to free
    up the `0'-`4' consecutive range.  No functional change.
    
    	gas/
    	* config/tc-mips.c (mips16_macro_build): Replace `0' and `4'
    	operand codes with `.' and `F' respectively.
    	(mips16_macro): Likewise.
    
    	include/
    	* opcode/mips.h: Replace `0' and `4' operand codes with `.' and
    	`F' respectively.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand): Replace `0' and `4'
    	operand codes with `.' and `F' respectively.
    	(mips16_opcodes): Likewise.

commit 0674ee5dada21c8deec690ca66d5b2870f13ea49
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 16:49:42 2016 +0000

    MIPS16: Handle non-extensible instructions correctly
    
    Identify non-extensible instructions in the MIPS16 opcode table and
    disallow their use with the `.e' instruction size suffix in assembly and
    do not interpret any EXTEND prefix present as a part of the instruction
    in disassembly.
    
    According to all versions of the MIPS16 ASE specifications the following
    instructions encodings are not extensible [1][2][3][4][5][6]: I8/MOV32R,
    I8/MOVR32, all RRR minor opcodes, all RR minor opcodes except from DSRA
    and DSRL, and EXTEND itself, and as from revision 2.50 of the MIPS16e
    ASE specifications it has been further clarified what was previously
    implied, that non-extesiable instructions when preceded with an EXTEND
    prefix must cause a Reserved Instruction exception [3][5].
    
    Therefore in the presence of an EXTEND prefix none of these instructions
    are supposed to be handled as extended instructions and supporting these
    forms in disassembly causes confusion, and in the case of the RRR major
    opcode it also clashes with the ASMACRO encoding.
    
    References:
    
    [1] "Product Description, MIPS16 Application-Specific Extension",
        Version 1.3, MIPS Technologies, Inc., 970130, Table 3. "MIPS16
        Instruction Set Summary", p. 5
    
    [2] same, Table 5 "RR Minor Opcodes (RR-type instructions)", p.10
    
    [3] "MIPS32 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00076, Revision 2.63, July
        16, 2013, Section 3.9 "MIPS16e Instruction Summaries", pp. 37-39
    
    [4] same, Section 3.15 "Instruction Bit Encoding", pp. 46-49
    
    [5] "MIPS64 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00077, Revision 2.60, June
        25, 2008, Section 1.9 "MIPS16e Instruction Summaries", pp. 38-41
    
    [6] same, Section 1.15 "Instruction Bit Encoding", pp. 48-51
    
    	include/
    	* opcode/mips.h (INSN2_SHORT_ONLY): New macro.
    
    	gas/
    	* config/tc-mips.c (is_size_valid_16): Disallow a `.e' suffix
    	instruction size override for INSN2_SHORT_ONLY opcode table
    	entries.
    	* testsuite/gas/mips/mips16-extend-swap.d: Adjust output.
    	* testsuite/gas/mips/mips16-macro-e.l: Adjust error messages.
    	* testsuite/gas/mips/mips16-32@mips16-macro-e.l: Adjust error
    	messages.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-e.l: Adjust error
    	messages.
    	* testsuite/gas/mips/mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-e.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-t.d: New test.
    	* testsuite/gas/mips/mips16-insn-e.l: New stderr output.
    	* testsuite/gas/mips/mips16-insn-t.l: New stderr output.
    	* testsuite/gas/mips/mips16-32@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-64@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-32@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-64@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-insn-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-insn-e.s: New test source.
    	* testsuite/gas/mips/mips16-insn-t.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips-dis.c (print_insn_mips16): Disallow EXTEND prefix
    	matching for INSN2_SHORT_ONLY opcode table entries.
    	* mips16-opc.c (SH): New macro.
    	(mips16_opcodes): Set SH in `pinfo2' for non-extensible
    	instruction entries: "nop", "addu", "and", "break", "cmp",
    	"daddu", "ddiv", "ddivu", "div", "divu", "dmult", "dmultu",
    	"drem", "dremu", "dsllv", "dsll", "dsrav", "dsra", "dsrlv",
    	"dsrl", "dsubu", "exit", "entry", "jalr", "jal", "jr", "j",
    	"jalrc", "jrc", "mfhi", "mflo", "move", "mult", "multu", "neg",
    	"not", "or", "rem", "remu", "sllv", "sll", "slt", "sltu",
    	"srav", "sra", "srlv", "srl", "subu", "xor", "sdbbp", "seb",
    	"seh", "sew", "zeb", "zeh", "zew" and "extend".
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-insn.d: New test.
    	* testsuite/binutils-all/mips/mips16-extend-insn.s: New test
    	source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.

commit b2805ed55456cea2694d31fc8627cca17120267b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:42:56 2016 +0000

    MIPS16: Remove "extended" BREAK/SDBBP handling
    
    Remove special casing for the `6' operand code used for the embedded
    trap code of the BREAK and the SDBBP instructions to support supposedly
    extended forms of these instructions.
    
    According to all versions of the MIPS16 ASE specifications these
    instructions are not extensible [1][2][3][4][5][7][8][10][11], and as
    from revision 2.50 of the MIPS16e ASE specifications it has been further
    clarified what was previously implied, that non-extesiable instructions
    when preceded with an EXTEND prefix must cause a Reserved Instruction
    exception [5][6][9][10].
    
    Therefore supposedly extended BREAK and SDBBP instructions do not serve
    their purpose anymore as they do not cause a Bp and a Debug exception
    respectively and supporting these forms in disassembly only causes
    confusion.
    
    References:
    
    [1] "Product Description, MIPS16 Application-Specific Extension",
        Version 1.3, MIPS Technologies, Inc., 970130, Table 3. "MIPS16
        Instruction Set Summary", p. 5
    
    [2] same, Table 5 "RR Minor Opcodes (RR-type instructions)", p.10
    
    [3] same, Table 18. "Extendable MIPS16 Instructions", p. 24
    
    [4] "MIPS32 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS32 Architecture", MIPS
        Technologies, Inc., Document Number: MD00076, Revision 2.63, July
        16, 2013, Table 3.8 "MIPS16e Special Instructions", p. 38
    
    [5] same, Section 3.11 "MIPS16e Extensible Instructions, p. 41
    
    [6] same, Table 3.15 "MIPS16e Extensible Instructions", p. 41
    
    [7] same, Table 3.24 "MIPS16e RR Encoding of the Funct Field", p. 49
    
    [8] "MIPS64 Architecture for Programmers, Volume IV-a: The MIPS16e
        Application-Specific Extension to the MIPS64 Architecture", MIPS
        Technologies, Inc., Document Number: MD00077, Revision 2.60, June
        25, 2008, Table 1.8 "MIPS16e Special Instructions", p. 39
    
    [9] same, Section 1.11 "MIPS16e Extensible Instructions", p. 42
    
    [10] same, Table 1.15 "MIPS16e Extensible Instructions", pp. 42-43
    
    [11] same, Table 1.24 "MIPS16e RR Encoding of the Funct Field", p. 50
    
    	gas/
    	* config/tc-mips.c (match_mips16_insn): Remove the `6' operand
    	code special case and its associated comment.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'6'>: Remove extended
    	encoding support.

commit 3fb49709438e204177373646585a76116caf23fb
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:38:35 2016 +0000

    MIPS16/GAS: Fix forced size suffixes with argumentless instructions
    
    Correct the handling of `.e' and `.t' instruction size suffixes with
    instruction mnemonics which are not followed by any text on the same
    line, such as arguments or white space, e.g.:
    
    $ cat test.s
    	.set	mips16
    foo:
    	entry.t		# comment
    	entry.t
    	exit.t		# comment
    	exit.t
    	nop.t		# comment
    	nop.t
    $ as -32 -o test.o test.s
    test.s: Assembler messages:
    test.s:4: Error: unrecognized opcode `entry.t'
    test.s:6: Error: unrecognized opcode `exit.t'
    test.s:8: Error: unrecognized opcode `nop.t'
    $
    
    	gas/
    	* config/tc-mips.c (mips16_ip): Handle `.e' and `.t' instruction
    	suffixes followed by a null character rather than a space too.
    	* testsuite/gas/mips/mips16-insn-length-noargs.d: New test.
    	* testsuite/gas/mips/mips16-insn-length-noargs.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 645c455650ed35460afdacb078c7c58308607fbe
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:37:40 2016 +0000

    MIPS16/GAS: Disallow EXTEND delay-slot scheduling
    
    Do not allow any explicitly coded EXTEND instruction to be automatically
    scheduled into a jump delay slot, as an EXTEND prefix is coupled with
    the next regular MIPS16 instruction and therefore swapping it with a
    jump would change program's semantics; EXTEND is not architecturally
    allowed to be present in a jump delay slot anyway.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set NODS in `pinfo' for
    	"extend".
    
    	gas/
    	* testsuite/gas/mips/mips16-extend-swap.d: New test.
    	* testsuite/gas/mips/mips16-extend-swap.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 9e76c212e6311abaee4d02473473f7d6dcad972f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 23 12:11:12 2016 +0000

    opcodes: Use autoconf to check for `bfd_mips_elf_get_abiflags' in BFD
    
    Fix a regression introduced with commit 5e7fc731f80e ("MIPS/opcodes:
    Also set disassembler's ASE flags from ELF structures"), further updated
    with commit 4df995c77118 ("MIPS/opcodes: Also set disassembler's ASE
    flags from ELF structures"), and use autoconf to check for the presence
    of `bfd_mips_elf_get_abiflags' in BFD.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options): Use
    	HAVE_BFD_MIPS_ELF_GET_ABIFLAGS rather than BFD64 to guard the
    	call to `bfd_mips_elf_get_abiflags'.
    	* configure.ac: Check for `bfd_mips_elf_get_abiflags' in BFD.
    	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add `libbfd.la'.
    	* aclocal.m4: Regenerate.
    	* configure: Regenerate.
    	* config.in: Regenerate.
    	* Makefile.in: Regenerate.

commit 5b362f04b2a56d446b024027963be52d61f939cb
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 23 10:52:18 2016 -0600

    Fix more cases of improper test names
    
    I noticed more occurrences of improper test names. The rather mechanical,
    tedious and large patch below addresses, hopefully, most of the leftover cases.
    
    As usual, another pair of eyes is welcome to check if missed something or did
    an invalid substitution.
    
    This patch also fixes the prepare_for_testing calls to pass proper test names.
    
    gdb/testsuite/ChangeLog:
    
    2016-12-23  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names for the following files:
    
    	* gdb.ada/exec_changed.exp
    	* gdb.ada/info_types.exp
    	* gdb.arch/aarch64-atomic-inst.exp
    	* gdb.arch/aarch64-fp.exp
    	* gdb.arch/altivec-abi.exp
    	* gdb.arch/altivec-regs.exp
    	* gdb.arch/amd64-byte.exp
    	* gdb.arch/amd64-disp-step.exp
    	* gdb.arch/amd64-dword.exp
    	* gdb.arch/amd64-entry-value-inline.exp
    	* gdb.arch/amd64-entry-value-param.exp
    	* gdb.arch/amd64-entry-value-paramref.exp
    	* gdb.arch/amd64-entry-value.exp
    	* gdb.arch/amd64-i386-address.exp
    	* gdb.arch/amd64-invalid-stack-middle.exp
    	* gdb.arch/amd64-invalid-stack-top.exp
    	* gdb.arch/amd64-optimout-repeat.exp
    	* gdb.arch/amd64-prologue-skip.exp
    	* gdb.arch/amd64-prologue-xmm.exp
    	* gdb.arch/amd64-stap-special-operands.exp
    	* gdb.arch/amd64-stap-wrong-subexp.exp
    	* gdb.arch/amd64-tailcall-cxx.exp
    	* gdb.arch/amd64-tailcall-noret.exp
    	* gdb.arch/amd64-tailcall-ret.exp
    	* gdb.arch/amd64-tailcall-self.exp
    	* gdb.arch/amd64-word.exp
    	* gdb.arch/arm-bl-branch-dest.exp
    	* gdb.arch/arm-disp-step.exp
    	* gdb.arch/arm-neon.exp
    	* gdb.arch/arm-single-step-kernel-helper.exp
    	* gdb.arch/avr-flash-qualifier.exp
    	* gdb.arch/disp-step-insn-reloc.exp
    	* gdb.arch/e500-abi.exp
    	* gdb.arch/e500-regs.exp
    	* gdb.arch/ftrace-insn-reloc.exp
    	* gdb.arch/i386-avx512.exp
    	* gdb.arch/i386-bp_permanent.exp
    	* gdb.arch/i386-byte.exp
    	* gdb.arch/i386-cfi-notcurrent.exp
    	* gdb.arch/i386-disp-step.exp
    	* gdb.arch/i386-dr3-watch.exp
    	* gdb.arch/i386-float.exp
    	* gdb.arch/i386-gnu-cfi.exp
    	* gdb.arch/i386-mpx-map.exp
    	* gdb.arch/i386-mpx-sigsegv.exp
    	* gdb.arch/i386-mpx-simple_segv.exp
    	* gdb.arch/i386-mpx.exp
    	* gdb.arch/i386-permbkpt.exp
    	* gdb.arch/i386-prologue.exp
    	* gdb.arch/i386-signal.exp
    	* gdb.arch/i386-size-overlap.exp
    	* gdb.arch/i386-unwind.exp
    	* gdb.arch/i386-word.exp
    	* gdb.arch/mips-fcr.exp
    	* gdb.arch/powerpc-d128-regs.exp
    	* gdb.arch/powerpc-stackless.exp
    	* gdb.arch/ppc64-atomic-inst.exp
    	* gdb.arch/s390-stackless.exp
    	* gdb.arch/s390-tdbregs.exp
    	* gdb.arch/s390-vregs.exp
    	* gdb.arch/sparc-sysstep.exp
    	* gdb.arch/thumb-bx-pc.exp
    	* gdb.arch/thumb-singlestep.exp
    	* gdb.arch/thumb2-it.exp
    	* gdb.arch/vsx-regs.exp
    	* gdb.asm/asm-source.exp
    	* gdb.base/a2-run.exp
    	* gdb.base/advance.exp
    	* gdb.base/all-bin.exp
    	* gdb.base/anon.exp
    	* gdb.base/args.exp
    	* gdb.base/arithmet.exp
    	* gdb.base/async-shell.exp
    	* gdb.base/async.exp
    	* gdb.base/attach-pie-noexec.exp
    	* gdb.base/attach-twice.exp
    	* gdb.base/auto-load.exp
    	* gdb.base/bang.exp
    	* gdb.base/bitfields.exp
    	* gdb.base/break-always.exp
    	* gdb.base/break-caller-line.exp
    	* gdb.base/break-entry.exp
    	* gdb.base/break-inline.exp
    	* gdb.base/break-on-linker-gcd-function.exp
    	* gdb.base/break-probes.exp
    	* gdb.base/break.exp
    	* gdb.base/breakpoint-shadow.exp
    	* gdb.base/call-ar-st.exp
    	* gdb.base/call-sc.exp
    	* gdb.base/call-signal-resume.exp
    	* gdb.base/call-strs.exp
    	* gdb.base/callfuncs.exp
    	* gdb.base/catch-fork-static.exp
    	* gdb.base/catch-gdb-caused-signals.exp
    	* gdb.base/catch-load.exp
    	* gdb.base/catch-signal-fork.exp
    	* gdb.base/catch-signal.exp
    	* gdb.base/catch-syscall.exp
    	* gdb.base/charset.exp
    	* gdb.base/checkpoint.exp
    	* gdb.base/chng-syms.exp
    	* gdb.base/code-expr.exp
    	* gdb.base/code_elim.exp
    	* gdb.base/commands.exp
    	* gdb.base/completion.exp
    	* gdb.base/complex.exp
    	* gdb.base/cond-expr.exp
    	* gdb.base/condbreak.exp
    	* gdb.base/consecutive.exp
    	* gdb.base/continue-all-already-running.exp
    	* gdb.base/coredump-filter.exp
    	* gdb.base/corefile.exp
    	* gdb.base/dbx.exp
    	* gdb.base/debug-expr.exp
    	* gdb.base/define.exp
    	* gdb.base/del.exp
    	* gdb.base/disabled-location.exp
    	* gdb.base/disasm-end-cu.exp
    	* gdb.base/disasm-optim.exp
    	* gdb.base/display.exp
    	* gdb.base/duplicate-bp.exp
    	* gdb.base/ena-dis-br.exp
    	* gdb.base/ending-run.exp
    	* gdb.base/enumval.exp
    	* gdb.base/environ.exp
    	* gdb.base/eu-strip-infcall.exp
    	* gdb.base/eval-avoid-side-effects.exp
    	* gdb.base/eval-skip.exp
    	* gdb.base/exitsignal.exp
    	* gdb.base/expand-psymtabs.exp
    	* gdb.base/filesym.exp
    	* gdb.base/find-unmapped.exp
    	* gdb.base/finish.exp
    	* gdb.base/float.exp
    	* gdb.base/foll-exec-mode.exp
    	* gdb.base/foll-exec.exp
    	* gdb.base/foll-fork.exp
    	* gdb.base/fortran-sym-case.exp
    	* gdb.base/freebpcmd.exp
    	* gdb.base/func-ptr.exp
    	* gdb.base/func-ptrs.exp
    	* gdb.base/funcargs.exp
    	* gdb.base/gcore-buffer-overflow.exp
    	* gdb.base/gcore-relro-pie.exp
    	* gdb.base/gcore-relro.exp
    	* gdb.base/gcore.exp
    	* gdb.base/gdb1090.exp
    	* gdb.base/gdb11530.exp
    	* gdb.base/gdb11531.exp
    	* gdb.base/gdb1821.exp
    	* gdb.base/gdbindex-stabs.exp
    	* gdb.base/gdbvars.exp
    	* gdb.base/hbreak.exp
    	* gdb.base/hbreak2.exp
    	* gdb.base/included.exp
    	* gdb.base/infcall-input.exp
    	* gdb.base/inferior-died.exp
    	* gdb.base/infnan.exp
    	* gdb.base/info-macros.exp
    	* gdb.base/info-os.exp
    	* gdb.base/info-proc.exp
    	* gdb.base/info-shared.exp
    	* gdb.base/info-target.exp
    	* gdb.base/infoline.exp
    	* gdb.base/interp.exp
    	* gdb.base/interrupt.exp
    	* gdb.base/jit-reader.exp
    	* gdb.base/jit-simple.exp
    	* gdb.base/kill-after-signal.exp
    	* gdb.base/kill-detach-inferiors-cmd.exp
    	* gdb.base/label.exp
    	* gdb.base/langs.exp
    	* gdb.base/ldbl_e308.exp
    	* gdb.base/line-symtabs.exp
    	* gdb.base/linespecs.exp
    	* gdb.base/list.exp
    	* gdb.base/long_long.exp
    	* gdb.base/longest-types.exp
    	* gdb.base/maint.exp
    	* gdb.base/max-value-size.exp
    	* gdb.base/memattr.exp
    	* gdb.base/mips_pro.exp
    	* gdb.base/morestack.exp
    	* gdb.base/moribund-step.exp
    	* gdb.base/multi-forks.exp
    	* gdb.base/nested-addr.exp
    	* gdb.base/nextoverexit.exp
    	* gdb.base/noreturn-finish.exp
    	* gdb.base/noreturn-return.exp
    	* gdb.base/nostdlib.exp
    	* gdb.base/offsets.exp
    	* gdb.base/opaque.exp
    	* gdb.base/pc-fp.exp
    	* gdb.base/permissions.exp
    	* gdb.base/print-symbol-loading.exp
    	* gdb.base/prologue-include.exp
    	* gdb.base/psymtab.exp
    	* gdb.base/ptype.exp
    	* gdb.base/random-signal.exp
    	* gdb.base/randomize.exp
    	* gdb.base/range-stepping.exp
    	* gdb.base/readline-ask.exp
    	* gdb.base/recpar.exp
    	* gdb.base/recurse.exp
    	* gdb.base/relational.exp
    	* gdb.base/restore.exp
    	* gdb.base/return-nodebug.exp
    	* gdb.base/return.exp
    	* gdb.base/run-after-attach.exp
    	* gdb.base/save-bp.exp
    	* gdb.base/scope.exp
    	* gdb.base/sect-cmd.exp
    	* gdb.base/set-lang-auto.exp
    	* gdb.base/set-noassign.exp
    	* gdb.base/setvar.exp
    	* gdb.base/sigall.exp
    	* gdb.base/sigbpt.exp
    	* gdb.base/siginfo-addr.exp
    	* gdb.base/siginfo-infcall.exp
    	* gdb.base/siginfo-obj.exp
    	* gdb.base/siginfo.exp
    	* gdb.base/signals-state-child.exp
    	* gdb.base/signest.exp
    	* gdb.base/sigstep.exp
    	* gdb.base/sizeof.exp
    	* gdb.base/skip.exp
    	* gdb.base/solib-corrupted.exp
    	* gdb.base/solib-nodir.exp
    	* gdb.base/solib-search.exp
    	* gdb.base/stack-checking.exp
    	* gdb.base/stale-infcall.exp
    	* gdb.base/stap-probe.exp
    	* gdb.base/start.exp
    	* gdb.base/step-break.exp
    	* gdb.base/step-bt.exp
    	* gdb.base/step-line.exp
    	* gdb.base/step-over-exit.exp
    	* gdb.base/step-over-syscall.exp
    	* gdb.base/step-resume-infcall.exp
    	* gdb.base/step-test.exp
    	* gdb.base/store.exp
    	* gdb.base/structs3.exp
    	* gdb.base/sym-file.exp
    	* gdb.base/symbol-without-target_section.exp
    	* gdb.base/term.exp
    	* gdb.base/testenv.exp
    	* gdb.base/ui-redirect.exp
    	* gdb.base/until.exp
    	* gdb.base/unwindonsignal.exp
    	* gdb.base/value-double-free.exp
    	* gdb.base/vla-datatypes.exp
    	* gdb.base/vla-ptr.exp
    	* gdb.base/vla-sideeffect.exp
    	* gdb.base/volatile.exp
    	* gdb.base/watch-cond-infcall.exp
    	* gdb.base/watch-cond.exp
    	* gdb.base/watch-non-mem.exp
    	* gdb.base/watch-read.exp
    	* gdb.base/watch-vfork.exp
    	* gdb.base/watchpoint-cond-gone.exp
    	* gdb.base/watchpoint-delete.exp
    	* gdb.base/watchpoint-hw-hit-once.exp
    	* gdb.base/watchpoint-hw.exp
    	* gdb.base/watchpoint-stops-at-right-insn.exp
    	* gdb.base/watchpoints.exp
    	* gdb.base/wchar.exp
    	* gdb.base/whatis-exp.exp
    	* gdb.btrace/buffer-size.exp
    	* gdb.btrace/data.exp
    	* gdb.btrace/delta.exp
    	* gdb.btrace/dlopen.exp
    	* gdb.btrace/enable.exp
    	* gdb.btrace/exception.exp
    	* gdb.btrace/function_call_history.exp
    	* gdb.btrace/gcore.exp
    	* gdb.btrace/instruction_history.exp
    	* gdb.btrace/nohist.exp
    	* gdb.btrace/reconnect.exp
    	* gdb.btrace/record_goto-step.exp
    	* gdb.btrace/record_goto.exp
    	* gdb.btrace/rn-dl-bind.exp
    	* gdb.btrace/segv.exp
    	* gdb.btrace/step.exp
    	* gdb.btrace/stepi.exp
    	* gdb.btrace/tailcall-only.exp
    	* gdb.btrace/tailcall.exp
    	* gdb.btrace/tsx.exp
    	* gdb.btrace/unknown_functions.exp
    	* gdb.btrace/vdso.exp
    	* gdb.compile/compile-ifunc.exp
    	* gdb.compile/compile-ops.exp
    	* gdb.compile/compile-print.exp
    	* gdb.compile/compile-setjmp.exp
    	* gdb.cp/abstract-origin.exp
    	* gdb.cp/ambiguous.exp
    	* gdb.cp/annota2.exp
    	* gdb.cp/annota3.exp
    	* gdb.cp/anon-ns.exp
    	* gdb.cp/anon-struct.exp
    	* gdb.cp/anon-union.exp
    	* gdb.cp/arg-reference.exp
    	* gdb.cp/baseenum.exp
    	* gdb.cp/bool.exp
    	* gdb.cp/breakpoint.exp
    	* gdb.cp/bs15503.exp
    	* gdb.cp/call-c.exp
    	* gdb.cp/casts.exp
    	* gdb.cp/chained-calls.exp
    	* gdb.cp/class2.exp
    	* gdb.cp/classes.exp
    	* gdb.cp/cmpd-minsyms.exp
    	* gdb.cp/converts.exp
    	* gdb.cp/cp-relocate.exp
    	* gdb.cp/cpcompletion.exp
    	* gdb.cp/cpexprs.exp
    	* gdb.cp/cplabel.exp
    	* gdb.cp/cplusfuncs.exp
    	* gdb.cp/cpsizeof.exp
    	* gdb.cp/ctti.exp
    	* gdb.cp/derivation.exp
    	* gdb.cp/destrprint.exp
    	* gdb.cp/dispcxx.exp
    	* gdb.cp/enum-class.exp
    	* gdb.cp/exception.exp
    	* gdb.cp/exceptprint.exp
    	* gdb.cp/expand-psymtabs-cxx.exp
    	* gdb.cp/expand-sals.exp
    	* gdb.cp/extern-c.exp
    	* gdb.cp/filename.exp
    	* gdb.cp/formatted-ref.exp
    	* gdb.cp/fpointer.exp
    	* gdb.cp/gdb1355.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.cp/hang.exp
    	* gdb.cp/impl-this.exp
    	* gdb.cp/infcall-dlopen.exp
    	* gdb.cp/inherit.exp
    	* gdb.cp/iostream.exp
    	* gdb.cp/koenig.exp
    	* gdb.cp/local.exp
    	* gdb.cp/m-data.exp
    	* gdb.cp/m-static.exp
    	* gdb.cp/mb-ctor.exp
    	* gdb.cp/mb-inline.exp
    	* gdb.cp/mb-templates.exp
    	* gdb.cp/member-name.exp
    	* gdb.cp/member-ptr.exp
    	* gdb.cp/meth-typedefs.exp
    	* gdb.cp/method.exp
    	* gdb.cp/method2.exp
    	* gdb.cp/minsym-fallback.exp
    	* gdb.cp/misc.exp
    	* gdb.cp/namelessclass.exp
    	* gdb.cp/namespace-enum.exp
    	* gdb.cp/namespace-nested-import.exp
    	* gdb.cp/namespace.exp
    	* gdb.cp/nextoverthrow.exp
    	* gdb.cp/no-dmgl-verbose.exp
    	* gdb.cp/non-trivial-retval.exp
    	* gdb.cp/noparam.exp
    	* gdb.cp/nsdecl.exp
    	* gdb.cp/nsimport.exp
    	* gdb.cp/nsnested.exp
    	* gdb.cp/nsnoimports.exp
    	* gdb.cp/nsrecurs.exp
    	* gdb.cp/nsstress.exp
    	* gdb.cp/nsusing.exp
    	* gdb.cp/operator.exp
    	* gdb.cp/oranking.exp
    	* gdb.cp/overload-const.exp
    	* gdb.cp/overload.exp
    	* gdb.cp/ovldbreak.exp
    	* gdb.cp/ovsrch.exp
    	* gdb.cp/paren-type.exp
    	* gdb.cp/parse-lang.exp
    	* gdb.cp/pass-by-ref.exp
    	* gdb.cp/pr-1023.exp
    	* gdb.cp/pr-1210.exp
    	* gdb.cp/pr-574.exp
    	* gdb.cp/pr10687.exp
    	* gdb.cp/pr12028.exp
    	* gdb.cp/pr17132.exp
    	* gdb.cp/pr17494.exp
    	* gdb.cp/pr9067.exp
    	* gdb.cp/pr9167.exp
    	* gdb.cp/pr9631.exp
    	* gdb.cp/printmethod.exp
    	* gdb.cp/psmang.exp
    	* gdb.cp/psymtab-parameter.exp
    	* gdb.cp/ptype-cv-cp.exp
    	* gdb.cp/ptype-flags.exp
    	* gdb.cp/re-set-overloaded.exp
    	* gdb.cp/ref-types.exp
    	* gdb.cp/rtti.exp
    	* gdb.cp/scope-err.exp
    	* gdb.cp/shadow.exp
    	* gdb.cp/smartp.exp
    	* gdb.cp/static-method.exp
    	* gdb.cp/static-print-quit.exp
    	* gdb.cp/temargs.exp
    	* gdb.cp/templates.exp
    	* gdb.cp/try_catch.exp
    	* gdb.cp/typedef-operator.exp
    	* gdb.cp/typeid.exp
    	* gdb.cp/userdef.exp
    	* gdb.cp/using-crash.exp
    	* gdb.cp/var-tag.exp
    	* gdb.cp/virtbase.exp
    	* gdb.cp/virtfunc.exp
    	* gdb.cp/virtfunc2.exp
    	* gdb.cp/vla-cxx.exp
    	* gdb.disasm/t01_mov.exp
    	* gdb.disasm/t02_mova.exp
    	* gdb.disasm/t03_add.exp
    	* gdb.disasm/t04_sub.exp
    	* gdb.disasm/t05_cmp.exp
    	* gdb.disasm/t06_ari2.exp
    	* gdb.disasm/t07_ari3.exp
    	* gdb.disasm/t08_or.exp
    	* gdb.disasm/t09_xor.exp
    	* gdb.disasm/t10_and.exp
    	* gdb.disasm/t11_logs.exp
    	* gdb.disasm/t12_bit.exp
    	* gdb.disasm/t13_otr.exp
    	* gdb.dlang/circular.exp
    	* gdb.dwarf2/arr-stride.exp
    	* gdb.dwarf2/arr-subrange.exp
    	* gdb.dwarf2/atomic-type.exp
    	* gdb.dwarf2/bad-regnum.exp
    	* gdb.dwarf2/bitfield-parent-optimized-out.exp
    	* gdb.dwarf2/callframecfa.exp
    	* gdb.dwarf2/clztest.exp
    	* gdb.dwarf2/corrupt.exp
    	* gdb.dwarf2/data-loc.exp
    	* gdb.dwarf2/dup-psym.exp
    	* gdb.dwarf2/dw2-anon-mptr.exp
    	* gdb.dwarf2/dw2-anonymous-func.exp
    	* gdb.dwarf2/dw2-bad-mips-linkage-name.exp
    	* gdb.dwarf2/dw2-bad-unresolved.exp
    	* gdb.dwarf2/dw2-basic.exp
    	* gdb.dwarf2/dw2-canonicalize-type.exp
    	* gdb.dwarf2/dw2-case-insensitive.exp
    	* gdb.dwarf2/dw2-common-block.exp
    	* gdb.dwarf2/dw2-compdir-oldgcc.exp
    	* gdb.dwarf2/dw2-compressed.exp
    	* gdb.dwarf2/dw2-const.exp
    	* gdb.dwarf2/dw2-cp-infcall-ref-static.exp
    	* gdb.dwarf2/dw2-cu-size.exp
    	* gdb.dwarf2/dw2-dup-frame.exp
    	* gdb.dwarf2/dw2-entry-value.exp
    	* gdb.dwarf2/dw2-icycle.exp
    	* gdb.dwarf2/dw2-ifort-parameter.exp
    	* gdb.dwarf2/dw2-inline-break.exp
    	* gdb.dwarf2/dw2-inline-param.exp
    	* gdb.dwarf2/dw2-intercu.exp
    	* gdb.dwarf2/dw2-intermix.exp
    	* gdb.dwarf2/dw2-lexical-block-bare.exp
    	* gdb.dwarf2/dw2-linkage-name-trust.exp
    	* gdb.dwarf2/dw2-minsym-in-cu.exp
    	* gdb.dwarf2/dw2-noloc.exp
    	* gdb.dwarf2/dw2-op-call.exp
    	* gdb.dwarf2/dw2-op-out-param.exp
    	* gdb.dwarf2/dw2-opt-structptr.exp
    	* gdb.dwarf2/dw2-param-error.exp
    	* gdb.dwarf2/dw2-producer.exp
    	* gdb.dwarf2/dw2-ranges-base.exp
    	* gdb.dwarf2/dw2-ref-missing-frame.exp
    	* gdb.dwarf2/dw2-reg-undefined.exp
    	* gdb.dwarf2/dw2-regno-invalid.exp
    	* gdb.dwarf2/dw2-restore.exp
    	* gdb.dwarf2/dw2-restrict.exp
    	* gdb.dwarf2/dw2-single-line-discriminators.exp
    	* gdb.dwarf2/dw2-strp.exp
    	* gdb.dwarf2/dw2-undefined-ret-addr.exp
    	* gdb.dwarf2/dw2-unresolved.exp
    	* gdb.dwarf2/dw2-var-zero-addr.exp
    	* gdb.dwarf2/dw4-sig-types.exp
    	* gdb.dwarf2/dwz.exp
    	* gdb.dwarf2/dynarr-ptr.exp
    	* gdb.dwarf2/enum-type.exp
    	* gdb.dwarf2/gdb-index.exp
    	* gdb.dwarf2/implptr-64bit.exp
    	* gdb.dwarf2/implptr-optimized-out.exp
    	* gdb.dwarf2/implptr.exp
    	* gdb.dwarf2/implref-array.exp
    	* gdb.dwarf2/implref-const.exp
    	* gdb.dwarf2/implref-global.exp
    	* gdb.dwarf2/implref-struct.exp
    	* gdb.dwarf2/mac-fileno.exp
    	* gdb.dwarf2/main-subprogram.exp
    	* gdb.dwarf2/member-ptr-forwardref.exp
    	* gdb.dwarf2/method-ptr.exp
    	* gdb.dwarf2/missing-sig-type.exp
    	* gdb.dwarf2/nonvar-access.exp
    	* gdb.dwarf2/opaque-type-lookup.exp
    	* gdb.dwarf2/pieces-optimized-out.exp
    	* gdb.dwarf2/pieces.exp
    	* gdb.dwarf2/pr10770.exp
    	* gdb.dwarf2/pr13961.exp
    	* gdb.dwarf2/staticvirtual.exp
    	* gdb.dwarf2/subrange.exp
    	* gdb.dwarf2/symtab-producer.exp
    	* gdb.dwarf2/trace-crash.exp
    	* gdb.dwarf2/typeddwarf.exp
    	* gdb.dwarf2/valop.exp
    	* gdb.dwarf2/watch-notconst.exp
    	* gdb.fortran/array-element.exp
    	* gdb.fortran/charset.exp
    	* gdb.fortran/common-block.exp
    	* gdb.fortran/complex.exp
    	* gdb.fortran/derived-type-function.exp
    	* gdb.fortran/derived-type.exp
    	* gdb.fortran/logical.exp
    	* gdb.fortran/module.exp
    	* gdb.fortran/multi-dim.exp
    	* gdb.fortran/nested-funcs.exp
    	* gdb.fortran/print-formatted.exp
    	* gdb.fortran/subarray.exp
    	* gdb.fortran/vla-alloc-assoc.exp
    	* gdb.fortran/vla-datatypes.exp
    	* gdb.fortran/vla-history.exp
    	* gdb.fortran/vla-ptr-info.exp
    	* gdb.fortran/vla-ptype-sub.exp
    	* gdb.fortran/vla-ptype.exp
    	* gdb.fortran/vla-sizeof.exp
    	* gdb.fortran/vla-type.exp
    	* gdb.fortran/vla-value-sub-arbitrary.exp
    	* gdb.fortran/vla-value-sub-finish.exp
    	* gdb.fortran/vla-value-sub.exp
    	* gdb.fortran/vla-value.exp
    	* gdb.fortran/whatis_type.exp
    	* gdb.go/chan.exp
    	* gdb.go/handcall.exp
    	* gdb.go/hello.exp
    	* gdb.go/integers.exp
    	* gdb.go/methods.exp
    	* gdb.go/package.exp
    	* gdb.go/strings.exp
    	* gdb.go/types.exp
    	* gdb.go/unsafe.exp
    	* gdb.guile/scm-arch.exp
    	* gdb.guile/scm-block.exp
    	* gdb.guile/scm-breakpoint.exp
    	* gdb.guile/scm-cmd.exp
    	* gdb.guile/scm-disasm.exp
    	* gdb.guile/scm-equal.exp
    	* gdb.guile/scm-frame-args.exp
    	* gdb.guile/scm-frame-inline.exp
    	* gdb.guile/scm-frame.exp
    	* gdb.guile/scm-iterator.exp
    	* gdb.guile/scm-math.exp
    	* gdb.guile/scm-objfile.exp
    	* gdb.guile/scm-ports.exp
    	* gdb.guile/scm-symbol.exp
    	* gdb.guile/scm-symtab.exp
    	* gdb.guile/scm-value-cc.exp
    	* gdb.guile/types-module.exp
    	* gdb.linespec/break-ask.exp
    	* gdb.linespec/cpexplicit.exp
    	* gdb.linespec/explicit.exp
    	* gdb.linespec/keywords.exp
    	* gdb.linespec/linespec.exp
    	* gdb.linespec/ls-dollar.exp
    	* gdb.linespec/ls-errs.exp
    	* gdb.linespec/skip-two.exp
    	* gdb.linespec/thread.exp
    	* gdb.mi/mi-async.exp
    	* gdb.mi/mi-basics.exp
    	* gdb.mi/mi-break.exp
    	* gdb.mi/mi-catch-load.exp
    	* gdb.mi/mi-cli.exp
    	* gdb.mi/mi-cmd-param-changed.exp
    	* gdb.mi/mi-console.exp
    	* gdb.mi/mi-detach.exp
    	* gdb.mi/mi-disassemble.exp
    	* gdb.mi/mi-eval.exp
    	* gdb.mi/mi-file-transfer.exp
    	* gdb.mi/mi-file.exp
    	* gdb.mi/mi-fill-memory.exp
    	* gdb.mi/mi-inheritance-syntax-error.exp
    	* gdb.mi/mi-linespec-err-cp.exp
    	* gdb.mi/mi-logging.exp
    	* gdb.mi/mi-memory-changed.exp
    	* gdb.mi/mi-read-memory.exp
    	* gdb.mi/mi-record-changed.exp
    	* gdb.mi/mi-reg-undefined.exp
    	* gdb.mi/mi-regs.exp
    	* gdb.mi/mi-return.exp
    	* gdb.mi/mi-reverse.exp
    	* gdb.mi/mi-simplerun.exp
    	* gdb.mi/mi-solib.exp
    	* gdb.mi/mi-stack.exp
    	* gdb.mi/mi-stepi.exp
    	* gdb.mi/mi-syn-frame.exp
    	* gdb.mi/mi-until.exp
    	* gdb.mi/mi-var-block.exp
    	* gdb.mi/mi-var-child.exp
    	* gdb.mi/mi-var-cmd.exp
    	* gdb.mi/mi-var-cp.exp
    	* gdb.mi/mi-var-display.exp
    	* gdb.mi/mi-var-invalidate.exp
    	* gdb.mi/mi-var-list-children-invalid-grandchild.exp
    	* gdb.mi/mi-vla-fortran.exp
    	* gdb.mi/mi-watch.exp
    	* gdb.mi/mi2-var-child.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.modula2/unbounded-array.exp
    	* gdb.multi/dummy-frame-restore.exp
    	* gdb.multi/multi-arch-exec.exp
    	* gdb.multi/multi-arch.exp
    	* gdb.multi/tids.exp
    	* gdb.multi/watchpoint-multi.exp
    	* gdb.opencl/callfuncs.exp
    	* gdb.opencl/convs_casts.exp
    	* gdb.opencl/datatypes.exp
    	* gdb.opencl/operators.exp
    	* gdb.opencl/vec_comps.exp
    	* gdb.opt/clobbered-registers-O2.exp
    	* gdb.opt/inline-break.exp
    	* gdb.opt/inline-bt.exp
    	* gdb.opt/inline-cmds.exp
    	* gdb.opt/inline-locals.exp
    	* gdb.pascal/case-insensitive-symbols.exp
    	* gdb.pascal/floats.exp
    	* gdb.pascal/gdb11492.exp
    	* gdb.python/lib-types.exp
    	* gdb.python/py-arch.exp
    	* gdb.python/py-as-string.exp
    	* gdb.python/py-bad-printers.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-breakpoint-create-fail.exp
    	* gdb.python/py-breakpoint.exp
    	* gdb.python/py-caller-is.exp
    	* gdb.python/py-cmd.exp
    	* gdb.python/py-explore-cc.exp
    	* gdb.python/py-explore.exp
    	* gdb.python/py-finish-breakpoint.exp
    	* gdb.python/py-finish-breakpoint2.exp
    	* gdb.python/py-frame-args.exp
    	* gdb.python/py-frame-inline.exp
    	* gdb.python/py-frame.exp
    	* gdb.python/py-framefilter-mi.exp
    	* gdb.python/py-infthread.exp
    	* gdb.python/py-lazy-string.exp
    	* gdb.python/py-linetable.exp
    	* gdb.python/py-mi-events.exp
    	* gdb.python/py-mi-objfile.exp
    	* gdb.python/py-mi.exp
    	* gdb.python/py-objfile.exp
    	* gdb.python/py-pp-integral.exp
    	* gdb.python/py-pp-maint.exp
    	* gdb.python/py-pp-re-notag.exp
    	* gdb.python/py-pp-registration.exp
    	* gdb.python/py-recurse-unwind.exp
    	* gdb.python/py-strfns.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-sync-interp.exp
    	* gdb.python/py-typeprint.exp
    	* gdb.python/py-unwind-maint.exp
    	* gdb.python/py-unwind.exp
    	* gdb.python/py-value-cc.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.reverse/amd64-tailcall-reverse.exp
    	* gdb.reverse/break-precsave.exp
    	* gdb.reverse/break-reverse.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/consecutive-reverse.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/finish-reverse-bkpt.exp
    	* gdb.reverse/finish-reverse.exp
    	* gdb.reverse/fstatat-reverse.exp
    	* gdb.reverse/getresuid-reverse.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/i386-reverse.exp
    	* gdb.reverse/i386-sse-reverse.exp
    	* gdb.reverse/i387-env-reverse.exp
    	* gdb.reverse/i387-stack-reverse.exp
    	* gdb.reverse/insn-reverse.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/machinestate.exp
    	* gdb.reverse/next-reverse-bkpt-over-sr.exp
    	* gdb.reverse/pipe-reverse.exp
    	* gdb.reverse/readv-reverse.exp
    	* gdb.reverse/recvmsg-reverse.exp
    	* gdb.reverse/rerun-prec.exp
    	* gdb.reverse/s390-mvcle.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/step-reverse.exp
    	* gdb.reverse/time-reverse.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/until-reverse.exp
    	* gdb.reverse/waitpid-reverse.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.reverse/watch-reverse.exp
    	* gdb.rust/generics.exp
    	* gdb.rust/methods.exp
    	* gdb.rust/modules.exp
    	* gdb.rust/simple.exp
    	* gdb.server/connect-with-no-symbol-file.exp
    	* gdb.server/ext-attach.exp
    	* gdb.server/ext-restart.exp
    	* gdb.server/ext-wrapper.exp
    	* gdb.server/file-transfer.exp
    	* gdb.server/server-exec-info.exp
    	* gdb.server/server-kill.exp
    	* gdb.server/server-mon.exp
    	* gdb.server/wrapper.exp
    	* gdb.stabs/exclfwd.exp
    	* gdb.stabs/gdb11479.exp
    	* gdb.threads/clone-new-thread-event.exp
    	* gdb.threads/corethreads.exp
    	* gdb.threads/current-lwp-dead.exp
    	* gdb.threads/dlopen-libpthread.exp
    	* gdb.threads/gcore-thread.exp
    	* gdb.threads/sigstep-threads.exp
    	* gdb.threads/watchpoint-fork.exp
    	* gdb.trace/actions-changed.exp
    	* gdb.trace/backtrace.exp
    	* gdb.trace/change-loc.exp
    	* gdb.trace/circ.exp
    	* gdb.trace/collection.exp
    	* gdb.trace/disconnected-tracing.exp
    	* gdb.trace/ftrace.exp
    	* gdb.trace/mi-trace-frame-collected.exp
    	* gdb.trace/mi-trace-unavailable.exp
    	* gdb.trace/mi-traceframe-changed.exp
    	* gdb.trace/mi-tsv-changed.exp
    	* gdb.trace/no-attach-trace.exp
    	* gdb.trace/passc-dyn.exp
    	* gdb.trace/qtro.exp
    	* gdb.trace/range-stepping.exp
    	* gdb.trace/read-memory.exp
    	* gdb.trace/save-trace.exp
    	* gdb.trace/signal.exp
    	* gdb.trace/status-stop.exp
    	* gdb.trace/tfile.exp
    	* gdb.trace/trace-break.exp
    	* gdb.trace/trace-buffer-size.exp
    	* gdb.trace/trace-condition.exp
    	* gdb.trace/tracefile-pseudo-reg.exp
    	* gdb.trace/tstatus.exp
    	* gdb.trace/unavailable.exp
    	* gdb.trace/while-dyn.exp
    	* gdb.trace/while-stepping.exp

commit 7dc53023ec5d000b3b8d287720ed8d04d91e02ec
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 23 10:46:38 2016 -0600

    Fix incorrect reference to source files
    
    gdb/gdbserver/ChangeLog:
    
    2016-12-23  Luis Machado  <lgustavo@codesourcery.com>
    
    	* win32-i386-low.c: Fix incorrect reference to a couple source files.
    	* nto-x86-low.c: Likewise.

commit d81c735641cf6245c837a0203e9efaf21e63c27e
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Fri Dec 23 08:00:13 2016 -0800

    Bump gold version number to 1.14.
    
    	* NEWS: Add new features in 1.14.
    	* version.cc (version_string): Bump to 1.14.

commit 6eda96bcf3a53843feb5d6d4441f0d9da7bc8a75
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Dec 23 23:43:54 2016 +1030

    Call target specific add_symbols function
    
    This allows targets that have target specific code to add object
    symbols to make use of the generic archive handling.
    
    	* linker.c (generic_link_check_archive_element): Call target
    	bfd_link_add_symbols to add element symbols.

commit b9fc2576a13367070c741c7ea1d364a483eed0e4
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Dec 23 23:28:38 2016 +1030

    Remove "collect" forms of generic linker add symbols functions
    
    Nothing calls them and they were in the way of a bug fix.
    
    	* linker.c (generic_link_add_symbols): Delete.  Merge into..
    	(_bfd_generic_link_add_symbols): ..here.
    	(generic_link_check_archive_element_no_collect): Delete.
    	(generic_link_check_archive_element_collect): Likewise.
    	(generic_link_add_object_symbols): Remove "collect" param.  Update
    	callers.
    	(generic_link_add_symbol_list): Likewise.
    	(generic_link_check_archive_element): Likewise.  Call
    	bfd_link_add_symbols rather than generic_link_add_object_symbols.
    	* libbfd-in.h (_bfd_generic_link_add_symbols_collect): Delete.
    	* libbfd.h: Regenerate.

commit 865422fafaf387745b2979d47b6f448d28e0edb8
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 13:12:07 2016 +1030

    hppa-linux-gnu-ranlib: libcpp.a: File format not recognized
    
    This stops an --enable-targets selection affecting the main target in
    regards to forcing 64-bit archives.  It also means mips64 and s390x
    will revert to binutils-2.25 and binutils-2.26 behaviour of not
    forcing 64-bit archives at least in the common case when plugins were
    enabled.
    
    	PR binutils/20464
    	PR binutils/14625
    	* configure.ac: Revert 2016-05-25 configure change setting
    	want_64_bit_archive for mips64 and s390x.  Revise USE_64_BIT_ARCHIVE
    	description.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 6096dda15babc5307b1a0e9624d4e0028fd429e1
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date:   Fri Dec 23 12:29:42 2016 +0100

    Updated email address.
    
    2016-12-23  Bernhard Heckel  <bernhard.heckel@intel.com>
    
    gdb/Changelog:
    	* MAINTAINERS (Write After Approval): Updated email address.
    
    Change-Id: I46b81392c2bd4b04e8e2aea2bb4bef2d0b509d24

commit 4eabf3446367832693a1baf145f6ff02baae197b
Author: Joe Seymour <joe.s@somniumtech.com>
Date:   Tue Dec 20 14:50:49 2016 +0000

    [msp430] Sync tc-msp430.c with devices.csv
    
    This patch syncs the generated data structure in tc-msp430.c with the
    latest version of devices.csv released by TI.
    
    My understanding is that the devices being removed were "invalid spins",
    so can't be being used by anyone, and never will be. Current web
    searches related to these devices return no relevant results.
    
    Built and tested (no regressions) as follows:
      Configured with: --target=msp430-elf --disable-gdb
      Test variations:
        msp430-sim/-mcpu=msp430
        msp430-sim/-mcpu=msp430x
        msp430-sim/-mcpu=msp430x/-mlarge/-mdata-region=either/-mcode-region=either
        msp430-sim/-mhwmult=none
        msp430-sim/-mhwmult=f5series
    
    gas/
    	* config/tc-msp430.c (msp430_mcu_data): Sync with data from TI's
    	devices.csv file as of September 2016.

commit 99b5dbf2e78a63ba4be067bfabb3bec1a6406f1c
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:50:53 2016 +0100

    Bump version to 2.28.51
    
    bfd/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* version.m4: Bump version to 2.28.51
    	* configure: Regenerate.
    
    binutils/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    gas/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    gprof/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    ld/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.
    
    opcodes/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* configure: Regenerate.

commit 9703a4ef4d020991873bb4464f4800fe0547263c
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:43:13 2016 +0100

    Add marker in NEWS files
    
    binutils/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* NEWS: Add marker for 2.28.
    
    gas/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* NEWS: Add marker for 2.28.
    
    ld/
    2016-12-23  Tristan Gingold  <gingold@adacore.com>
    
    	* NEWS: Add marker for 2.28.

commit e0e7a9d436cb3c97ae89c9b0d2750a006746b233
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Dec 23 09:32:28 2016 +0100

    Regenerate pot files.

commit 7a0c0a1475bf41913c7f25a9e363df26c8f772a1
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Fri Dec 16 19:17:38 2016 -0800

    Add -z bndplt support (for Intel MPX).
    
    gold/
    	PR gold/17643
    	* options.h (-z bndplt): New option.
    	* x86_64.cc (Output_data_plt_x86_64::regular_count): New method.
    	(Output_data_plt_x86_64::address_for_global): Move implementation into
    	virtual method.
    	(Output_data_plt_x86_64::address_for_local): Likewise.
    	(Output_data_plt_x86_64::got): New method.
    	(Output_data_plt_x86_64::got_plt): New method.
    	(Output_data_plt_x86_64::got_irelative): New method.
    	(Output_data_plt_x86_64::do_address_for_global): New virtual method.
    	(Output_data_plt_x86_64::do_address_for_local): New virtual method.
    	(class Output_data_plt_x86_64_bnd): New class.
    	(Target_x86_64::do_make_data_plt): Move out of line and specialize
    	for each size (both overloads).
    	(Output_data_plt_x86_64::set_final_data_size): Cosmetic changes.
    	* testsuite/Makefile.am (bnd_plt_1): New test case.
    	(bnd_ifunc_1): New test case.
    	(bnd_ifunc_2): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/bnd_ifunc_1.s: New source file.
    	* testsuite/bnd_ifunc_1.sh: New shell script.
    	* testsuite/bnd_ifunc_2.s: New source file.
    	* testsuite/bnd_ifunc_2.sh: New shell script.
    	* testsuite/bnd_plt_1.s: New source file.
    	* testsuite/bnd_plt_1.sh: New shell script.

commit c4d5a76223f74930add9014f2a77339eb80b737c
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 22 14:06:24 2016 -0800

    Fix placement of forced local symbols in the dynamic symbol table.
    
    Gold was not placing forced-local symbols (e.g., hidden visibility)
    at the front of the dynamic symbol table, or including them in the
    count of local symbols recorded in the .dynsym section's sh_info field.
    
    gold/
    	* layout.cc (Layout::finalize): Track count of forced-local symbols
    	in .dynsym.
    	(Layout::create_symtab_sections): Add local_dynamic_count parameter;
    	use that instead of sh_info value.
    	(Layout::create_dynamic_symtab): Add pforced_local_dynamic_count
    	parameter; pass it to Symtab::set_dynsym_indexes().  Include forced
    	locals in sh_info value.  Pass index of first real global to
    	Dynobj::create_gnu_hash_table() and Dynobj::create_elf_hash_table().
    	* layout.h (Layout::create_symtab_sections): Add local_dynamic_count
    	parameter.
    	(Layout::create_dynamic_symtab): Add pforced_local_dynamic_count
    	parameter.
    	* symtab.cc (Symbol_table::set_dynsym_indexes): Add pforced_local_count
    	parameter.  Process forced-local symbols first and return the count.
    	(Symbol_table::finalize): Update comments.
    	* symtab.h (Symbol_table::set_dynsym_indexes): Add pforced_local_count
    	parameter.
    	(Symbol_table::first_dynamic_global_index_): Update comment.
    	(Symbol_table::dynamic_count_): Update comment.
    	* testsuite/Makefile.am (ifuncmod1.sh): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/ifuncmod1.sh: New shell script.

commit 40d7d93ff412f4c34cde3daa04890d5cd2e0d9c9
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 21 17:32:39 2016 -0800

    Fix problem where version script causes predefined hidden symbol to be defined twice.
    
    When creating a predefined hidden symbol like _GLOBAL_OFFSET_TABLE_, gold
    was incorrectly letting a version script add a version to the symbol,
    resulting in two copies of the symbol, both STB_LOCAL, but one of which
    was grouped in the globals part of the symbol table.
    
    gold/
    	* symtab.cc (Symbol_table::define_special_symbol): Add is_forced_local
    	parameter; if set, do not check version script.
    	(Symbol_table::do_define_in_output_data): Pass is_forced_local for
    	STB_LOCAL predefined symbols.
    	(Symbol_table::do_define_in_output_segment): Likewise.
    	(Symbol_table::do_define_in_output_segment): Likewise.
    	(Symbol_table::do_define_as_constant): Likewise.
    	* symtab.h (Symbol_table::define_special_symbol): Add is_forced_local
    	parameter. Adjust all callers.
    	* testsuite/Makefile.am (ver_test_8.sh): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* ver_test_8.sh: New test script.

commit ce0db13751aed2782c417bc4cf715313f9273e94
Author: Doug Evans <xdje42@gmail.com>
Date:   Thu Dec 22 15:50:10 2016 -0800

    infrun.c (set_step_over_info): Add comment.
    
    gdb/ChangeLog:
    
    	* infrun.c (set_step_over_info): Add comment.

commit 34c41c681f4a0a0dfe0405c7d2aecf458520557a
Author: Doug Evans <xdje42@gmail.com>
Date:   Mon Dec 19 08:33:46 2016 -0800

    New syntax for mt print symbols,msymbols,psymbols.
    
    gdb/ChangeLog:
    
    	* NEWS: Document new syntax for "mt print symbols", "mt print psymbols"
    	and "mt print msymbols" commands.
    	* psymtab.c (DEV_TTY): Delete.
    	(dump_psymtab_addrmap): Don't dump if psymtabs_addrmap is NULL.
    	(maintenance_print_psymbols): Rewrite for new syntax:
    	mt print psymbols [-objfile objfile] [-pc address] [outfile]
    	mt print psymbols [-objfile objfile] [-source source] [outfile]
    	(_initialize_psymtab): Update help text.
    	* symmisc.c (maintenance_print_symbols): Rewrite for new syntax:
    	mt print symbols [-pc address] [outfile]
    	mt print symbols [-objfile objfile] [-source source] [outfile]
    	(maintenance_print_msymbols): Rewrite for new syntax:
    	mt print msymbols [-objfile objfile] [outfile]
    	Only print symbols for the current progspace.
    	(_initialize_symmisc): Update help text.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (Symbols): Update docs for symbol printing maintenance
    	commands.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/maint.exp: Update tests for maint print symbols, psymbols
    	and msymbols.

commit 112e8700a6fd2fed65ca70132c9cbed4132e8bd4
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Dec 22 16:17:31 2016 -0500

    Class-ify ui_out
    
    This patch finalizes the C++ conversion of the ui-out subsystem, by
    turning the ui_out and ui_out_impl structures into a single class
    hierarchy.  ui_out functions are turned into virtual methods of that new
    class, so as a result there are a lot of call sites to update.
    
    In the previous version of the patchset, there were separate ui_out and
    ui_out_impl classes, but it wasn't really useful and added boilerplate.
    In this version there is simply an ui_out base class that is
    extended for CLI, TUI and MI.
    
    It's a bit hard to maintain a ChangeLog for such a big patch, I did my
    best but I'm sure there are some missing or outdated info in there...
    
    gdb/ChangeLog:
    
        * ui-out.h (ui_out_begin, ui_out_end, ui_out_table_header,
        ui_out_table_body,  ui_out_field_int, ui_out_field_fmt_int,
        ui_out_field_core_addr, ui_out_field_string, ui_out_field_stream,
        ui_out_field_fmt, ui_out_field_skip, ui_out_spaces, ui_out_text,
        ui_out_message, ui_out_wrap_hint, ui_out_flush, ui_out_test_flags,
        ui_out_query_field, ui_out_is_mi_like_p, ui_out_redirect):
        Remove, replace with a method in class ui_out.
        (table_begin_ftype): Remove, replace with pure virtual method in
        class ui_out.
        (table_body_ftype): Likewise.
        (table_end_ftype): Likewise.
        (table_header_ftype): Likewise.
        (ui_out_begin_ftype): Likewise.
        (ui_out_end_ftype): Likewise.
        (field_int_ftype): Likewise.
        (field_skip_ftype): Likewise.
        (field_string_ftype): Likewise.
        (field_fmt_ftype): Likewise.
        (spaces_ftype): Likewise.
        (text_ftype): Likewise.
        (message_ftype): Likewise.
        (wrap_hint_ftype): Likewise.
        (flush_ftype): Likewise.
        (redirect_ftype): Likewise.
        (data_destroy_ftype): Likewise.
        (struct ui_out_impl): Remove, replace with class ui_out.
        (ui_out_new): Remove.
        (class ui_out): New class.
        * ui-out.c (struct ui_out): Remove, replaced with class ui_out.
        (current_level): Remove, replace with ui_out method.
        (push_level): Likewise.
        (pop_level): Likewise.
        (uo_table_begin, uo_table_body, uo_table_end, uo_table_header,
        uo_begin, uo_end, uo_field_int, uo_field_skip, uo_field_fmt,
        uo_spaces, uo_text, uo_message, uo_wrap_hint, uo_flush,
        uo_redirect, uo_field_string): Remove.
        (ui_out_table_begin): Replace with ...
        (ui_out::table_begin): ... this.
        (ui_out_table_body): Replace with ...
        (ui_out::table_body): ... this.
        (ui_out_table_end): Replace with ...
        (ui_out::table_end): ... this.
        (ui_out_table_header): Replace with ...
        (ui_out::table_header): ... this.
        (ui_out_begin): Replace with ...
        (ui_out::begin): ... this.
        (ui_out_end): Replace with ...
        (ui_out::end): ... this.
        (ui_out_field_int): Replace with ...
        (ui_out::field_int): ... this.
        (ui_out_field_fmt_int): Replace with ...
        (ui_out::field_fmt_int): ... this.
        (ui_out_field_core_addr): Replace with ...
        (ui_out::field_core_addr): ... this.
        (ui_out_field_stream): Replace with ...
        (ui_out::field_stream): ... this.
        (ui_out_field_skip): Replace with ...
        (ui_out::field_skip): ... this.
        (ui_out_field_string): Replace with ...
        (ui_out::field_string): ... this.
        (ui_out_field_fmt): Replace with ...
        (ui_out::field_fmt): ... this.
        (ui_out_spaces): Replace with ...
        (ui_out::spaces): ... this.
        (ui_out_text): Replace with ...
        (ui_out::text): ... this.
        (ui_out_message): Replace with ...
        (ui_out::message): ... this.
        (ui_out_wrap_hint): Replace with ...
        (ui_out::wrap_hint): ... this.
        (ui_out_flush): Replace with ...
        (ui_out::flush): ... this.
        (ui_out_redirect): Replace with ...
        (ui_out::redirect): ... this.
        (ui_out_test_flags): Replace with ...
        (ui_out::test_flags): ... this.
        (ui_out_is_mi_like_p): Replace with ...
        (ui_out::is_mi_like_p): ... this.
        (verify_field): Replace with ...
        (ui_out::verify_field): ... this.
        (ui_out_query_field): Replace with ...
        (ui_out::query_table_field): ... this.
        (ui_out_data): Remove.
        (ui_out_new): Remove, replace with ...
        (ui_out::ui_out): ... this constructor.
        (do_cleanup_table_end, make_cleanup_ui_out_tuple_begin_end,
        do_cleanup_end, make_cleanup_ui_out_tuple_begin_end,
        make_cleanup_ui_out_list_begin_end): Update fallouts of struct
        ui_out -> class ui_out change.
        * cli-out.c (cli_out_data): Remove.
        (cli_uiout_dtor): Remove.
        (cli_table_begin): Replace with ...
        (cli_ui_out::do_table_begin): ... this new method.
        (cli_table_body): Replace with ...
        (cli_ui_out::do_table_body): ... this new method.
        (cli_table_end): Replace with ...
        (cli_ui_out::do_table_end): ... this new method.
        (cli_table_header): Replace with ...
        (cli_ui_out::do_table_header): ... this new method.
        (cli_begin): Replace with ...
        (cli_ui_out::do_begin): ... this new method.
        (cli_end): Replace with ...
        (cli_ui_out::do_end): ... this new method.
        (cli_field_int): Replace with ...
        (cli_ui_out::do_field_int): ... this new method.
        (cli_field_skip): Replace with ...
        (cli_ui_out::do_field_skip): ... this new method.
        (cli_field_string): Replace with ...
        (cli_ui_out::do_field_string): ... this new method.
        (cli_field_fmt): Replace with ...
        (cli_ui_out::do_field_fmt): ... this new method.
        (cli_spaces): Replace with ...
        (cli_ui_out::do_spaces): ... this new method.
        (cli_text): Replace with ...
        (cli_ui_out::do_text): ... this new method.
        (cli_message): Replace with ...
        (cli_ui_out::do_message): ... this new method.
        (cli_wrap_hint): Replace with ...
        (cli_ui_out::do_wrap_hint): ... this new method.
        (cli_flush): Replace with ...
        (cli_ui_out::do_flush): ... this new method.
        (cli_redirect): Replace with ...
        (cli_ui_out::do_redirect): ... this new method.
        (out_field_fmt): Replace with ...
        (cli_ui_out::out_field_fmt): ... this new method.
        (field_separator): Replace with ...
        (cli_ui_out::field_separator): ... this new method.
        (cli_out_set_stream): Replace with ...
        (cli_ui_out::set_stream): ... this new method.
        (cli_ui_out_impl): Remove.
        (cli_out_data_ctor): Remove.
        (cli_ui_out_impl::cli_ui_out_impl): New constructor.
        (cli_ui_out_impl::~cli_ui_out_impl): New destructor.
        (cli_out_new): Change return type to cli_ui_out *, instantiate a
        cli_ui_out.
        * cli-out.h (cli_ui_out_data): Remove, replace with class
        cli_ui_out.
        (class cli_ui_out): New class.
        (cli_ui_out_impl): Remove.
        (cli_out_data_ctor): Remove.
        (cli_out_new): Change return type to cli_ui_out*.
        (cli_out_set_stream): Remove.
        * cli/cli-interp.c (struct cli_interp) <cli_uiout>: Change type
        to cli_ui_out*.
        (cli_interpreter_resume): Adapt.
        (cli_interpreter_exec): Adapt.
        * mi/mi-out.c (mi_ui_out_data, mi_out_data): Remove.
        (mi_ui_out_impl): Remove.
        (mi_table_begin): Replace with ...
        (mi_ui_out::do_table_begin): ... this.
        (mi_table_body): Replace with ...
        (mi_ui_out::do_table_body): ... this.
        (mi_table_end): Replace with ...
        (mi_ui_out::do_table_end): ... this.
        (mi_table_header): Replace with ...
        (mi_ui_out::do_table_header): ... this.
        (mi_begin): Replace with ...
        (mi_ui_out::do_begin): ... this.
        (mi_end): Replace with ...
        (mi_ui_out::do_end): ... this.
        (mi_field_int): Replace with ...
        (mi_ui_out::do_field_int): ... this.
        (mi_field_skip): Replace with ...
        (mi_ui_out::do_field_skip): ... this.
        (mi_field_string): Replace with ...
        (mi_ui_out::do_field_string): ... this.
        (mi_field_fmt): Replace with ...
        (mi_ui_out::do_field_fmt): ... this.
        (mi_spaces): Replace with ...
        (mi_ui_out::do_spaces): ... this.
        (mi_text): Replace with ...
        (mi_ui_out::do_text): ... this.
        (mi_message): Replace with ...
        (mi_ui_out::do_message): ... this.
        (mi_wrap_hint): Replace with ...
        (mi_ui_out::do_wrap_hint): ... this.
        (mi_flush): Replace with ...
        (mi_ui_out::do_flush): ... this.
        (mi_redirect): Replace with ...
        (mi_ui_out::do_redirect):
        (field_separator): Replace with ...
        (mi_ui_out::field_separator):
        (mi_open): Replace with ...
        (mi_ui_out::open): ... this.
        (mi_close): Replace with ...
        (mi_ui_out::close): ... this.
        (mi_out_rewind): Replace with ...
        (mi_ui_out::rewind): ... this.
        (mi_out_put): Replace with ...
        (mi_ui_out::put): ... this.
        (mi_version): Replace with ...
        (mi_ui_out::version): ... this.
        (mi_out_data_ctor): Replace with ...
        (mi_ui_out::mi_ui_out): ... this.
        (mi_out_data_dtor): Replace with ...
        (mi_ui_out::~mi_ui_out): ... this.
        (mi_out_new): Change return type to mi_ui_out*, instantiate
        an mi_ui_out object.
        (as_mi_ui_out): New function.
        (mi_version): Update fallouts of struct ui_out to class ui_out
        transition.
        (mi_out_put): Likewise.
        (mi_out_rewind): Likewise.
        * mi/mi-out.h (mi_out_new): Change return type to mi_ui_out*.
        * tui/tui-out.c (tui_ui_out_data, tui_out_data, tui_ui_out_impl):
        Remove.
        (tui_field_int): Replace with ...
        (tui_ui_out::do_field_int): ... this.
        (tui_field_string): Replace with ...
        (tui_ui_out::do_field_string): ... this.
        (tui_field_fmt): Replace with ...
        (tui_ui_out::do_field_fmt): ... this.
        (tui_text): Replace with ...
        (tui_ui_out::do_text): ... this.
        (tui_out_new): Change return type to tui_ui_out*, instantiate
        tui_ui_out object.
        (tui_ui_out::tui_ui_out): New.
        * tui/tui-out.h: New file.
        * tui/tui.h (tui_out_new): Move declaration to tui/tui-out.h.
        * tui/tui-io.c: Include tui/tui-out.h.
        (tui_old_uiout): Change type to cli_ui_out*.
        (tui_setup_io): Use dynamic_cast.
        * tui/tui-io.h (tui_old_uiout): Change type to cli_ui_out*.
        * tui/tui-interp.c (tui_resume): Adapt.
        * ada-lang.c (print_it_exception): Update fallouts of struct
        ui_out to class ui_out transition.
        (print_one_exception): Likewise.
        (print_mention_exception): Likewise.
        * ada-tasks.c (print_ada_task_info): Likewise.
        (info_task): Likewise.
        (task_command): Likewise.
        * auto-load.c (print_script): Likewise.
        (auto_load_info_scripts): Likewise.
        (info_auto_load_cmd): Likewise.
        * break-catch-sig.c (signal_catchpoint_print_one): Likewise.
        * break-catch-syscall.c (print_it_catch_syscall): Likewise.
        (print_one_catch_syscall): Likewise.
        * break-catch-throw.c (print_it_exception_catchpoint): Likewise.
        (print_one_exception_catchpoint): Likewise.
        (print_one_detail_exception_catchpoint): Likewise.
        (print_mention_exception_catchpoint): Likewise.
        * breakpoint.c (maybe_print_thread_hit_breakpoint): Likewise.
        (print_solib_event): Likewise.
        (watchpoint_check): Likewise.
        (wrap_indent_at_field): Likewise.
        (print_breakpoint_location): Likewise.
        (output_thread_groups): Likewise.
        (print_one_breakpoint_location): Likewise.
        (breakpoint_1): Likewise.
        (default_collect_info): Likewise.
        (watchpoints_info): Likewise.
        (print_it_catch_fork): Likewise.
        (print_one_catch_fork): Likewise.
        (print_it_catch_vfork): Likewise.
        (print_one_catch_vfork): Likewise.
        (print_it_catch_solib): Likewise.
        (print_one_catch_solib): Likewise.
        (print_it_catch_exec): Likewise.
        (print_one_catch_exec): Likewise.
        (mention): Likewise.
        (print_it_ranged_breakpoint): Likewise.
        (print_one_ranged_breakpoint): Likewise.
        (print_one_detail_ranged_breakpoint): Likewise.
        (print_mention_ranged_breakpoint): Likewise.
        (print_it_watchpoint): Likewise.
        (print_mention_watchpoint): Likewise.
        (print_it_masked_watchpoint): Likewise.
        (print_one_detail_masked_watchpoint): Likewise.
        (print_mention_masked_watchpoint): Likewise.
        (bkpt_print_it): Likewise.
        (tracepoint_print_one_detail): Likewise.
        (tracepoint_print_mention): Likewise.
        (update_static_tracepoint): Likewise.
        (tracepoints_info): Likewise.
        (save_breakpoints): Likewise.
        * cli/cli-cmds.c (complete_command): Likewise.
        * cli/cli-logging.c (set_logging_redirect): Likewise.
        (pop_output_files): Likewise.
        (handle_redirections): Likewise.
        * cli/cli-script.c (print_command_lines): Likewise.
        * cli/cli-setshow.c (do_show_command): Likewise.
        (cmd_show_list): Likewise.
        * cp-abi.c (list_cp_abis): Likewise.
        (show_cp_abi_cmd): Likewise.
        * darwin-nat-info.c (darwin_debug_regions_recurse): Likewise.
        * disasm.c (gdb_pretty_print_insn): Likewise.
        (do_mixed_source_and_assembly_deprecated): Likewise.
        (do_mixed_source_and_assembly): Likewise.
        * gdb_bfd.c (print_one_bfd): Likewise.
        (maintenance_info_bfds): Likewise.
        * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
        * guile/scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
        * i386-linux-tdep.c (i386_linux_handle_segmentation_fault): Likewise.
        * i386-tdep.c (i386_mpx_print_bounds): Likewise.
        * infcmd.c (run_command_1): Likewise.
        (print_return_value_1): Likewise.
        * inferior.c (print_selected_inferior): Likewise.
        (print_inferior): Likewise.
        * infrun.c (print_end_stepping_range_reason): Likewise.
        (print_signal_exited_reason): Likewise.
        (print_exited_reason): Likewise.
        (print_signal_received_reason): Likewise.
        (print_no_history_reason): Likewise.
        * interps.c (interp_set): Likewise.
        * linespec.c (decode_line_full): Likewise.
        * linux-thread-db.c (info_auto_load_libthread_db): Likewise.
        * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
        (mi_cmd_env_path): Likewise.
        (mi_cmd_env_dir): Likewise.
        (mi_cmd_inferior_tty_show): Likewise.
        * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Likewise.
        (print_partial_file_name): Likewise.
        (mi_cmd_file_list_exec_source_files): Likewise.
        * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Likewise.
        (mi_cmd_info_gdb_mi_command): Likewise.
        * mi/mi-cmd-stack.c (mi_cmd_stack_info_depth): Likewise.
        (mi_cmd_stack_list_args): Likewise.
        (list_arg_or_local): Likewise.
        * mi/mi-cmd-var.c (print_varobj): Likewise.
        (mi_cmd_var_create): Likewise.
        (mi_cmd_var_delete): Likewise.
        (mi_cmd_var_set_format): Likewise.
        (mi_cmd_var_show_format): Likewise.
        (mi_cmd_var_info_num_children): Likewise.
        (mi_cmd_var_list_children): Likewise.
        (mi_cmd_var_info_type): Likewise.
        (mi_cmd_var_info_path_expression): Likewise.
        (mi_cmd_var_info_expression): Likewise.
        (mi_cmd_var_show_attributes): Likewise.
        (mi_cmd_var_evaluate_expression): Likewise.
        (mi_cmd_var_assign): Likewise.
        (varobj_update_one): Likewise.
        * mi/mi-interp.c (as_mi_interp): Likewise.
        (mi_on_normal_stop_1): Likewise.
        (mi_tsv_modified): Likewise.
        (mi_breakpoint_created): Likewise.
        (mi_breakpoint_modified): Likewise.
        (mi_solib_loaded): Likewise.
        (mi_solib_unloaded): Likewise.
        (mi_command_param_changed): Likewise.
        (mi_memory_changed): Likewise.
        (mi_user_selected_context_changed): Likewise.
        * mi/mi-main.c (print_one_inferior): Likewise.
        (output_cores): Likewise.
        (list_available_thread_groups): Likewise.
        (mi_cmd_data_list_register_names): Likewise.
        (mi_cmd_data_list_changed_registers): Likewise.
        (output_register): Likewise.
        (mi_cmd_data_evaluate_expression): Likewise.
        (mi_cmd_data_read_memory): Likewise.
        (mi_cmd_data_read_memory_bytes): Likewise.
        (mi_cmd_list_features): Likewise.
        (mi_cmd_list_target_features): Likewise.
        (mi_cmd_add_inferior): Likewise.
        (mi_execute_command): Likewise.
        (mi_load_progress): Likewise.
        (print_variable_or_computed): Likewise.
        (mi_cmd_trace_frame_collected): Likewise.
        * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Likewise.
        * osdata.c (info_osdata_command): Likewise.
        * probe.c (gen_ui_out_table_header_info): Likewise.
        (print_ui_out_not_applicables): Likewise.
        (print_ui_out_info): Likewise.
        (info_probes_for_ops): Likewise.
        (enable_probes_command): Likewise.
        (disable_probes_command): Likewise.
        * progspace.c (print_program_space): Likewise.
        * python/py-breakpoint.c (bppy_get_commands): Likewise.
        * python/py-framefilter.c (py_print_type): Likewise.
        (py_print_value): Likewise.
        (py_print_single_arg): Likewise.
        (enumerate_args): Likewise.
        (enumerate_locals): Likewise.
        (py_print_args): Likewise.
        (py_print_frame): Likewise.
        * record-btrace.c (btrace_ui_out_decode_error): Likewise.
        (btrace_call_history_insn_range): Likewise.
        (btrace_call_history_src_line): Likewise.
        (btrace_call_history): Likewise.
        * remote.c (show_remote_cmd): Likewise.
        * skip.c (skip_info): Likewise.
        * solib.c (info_sharedlibrary_command): Likewise.
        * source.c (print_source_lines_base): Likewise.
        * spu-tdep.c (info_spu_event_command): Likewise.
        (info_spu_signal_command): Likewise.
        (info_spu_mailbox_list): Likewise.
        (info_spu_dma_cmdlist): Likewise.
        (info_spu_dma_command): Likewise.
        (info_spu_proxydma_command): Likewise.
        * stack.c (print_stack_frame): Likewise.
        (print_frame_arg): Likewise.
        (read_frame_arg): Likewise.
        (print_frame_args): Likewise.
        (print_frame_info): Likewise.
        (print_frame): Likewise.
        * symfile.c (load_progress): Likewise.
        (generic_load): Likewise.
        (print_transfer_performance): Likewise.
        * thread.c (do_captured_list_thread_ids): Likewise.
        (print_thread_info_1): Likewise.
        (restore_selected_frame): Likewise.
        (do_captured_thread_select): Likewise.
        (print_selected_thread_frame): Likewise.
        * top.c (execute_command_to_string): Likewise.
        * tracepoint.c (tvariables_info_1): Likewise.
        (trace_status_mi): Likewise.
        (tfind_1): Likewise.
        (print_one_static_tracepoint_marker): Likewise.
        (info_static_tracepoint_markers_command): Likewise.
        * utils.c (do_ui_out_redirect_pop): Likewise.
        (fputs_maybe_filtered): Likewise.

commit ab55d1a098571a559bf75031e1c3e7c914afadd7
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 12:07:31 2016 +1030

    Don't call "error" in sysroot-prefix.exp
    
    We don't want to report a test failure as a tcl error.
    
    	* testsuite/ld-scripts/sysroot-prefix.exp (sysroot_prefix_test_setup):
    	Call perror rather than error on "as" or "ar" failures.

commit eb3908448bfe295e49bc7bd8a88b90deaa1ba95f
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Wed Dec 21 16:21:23 2016 -0800

    Make linker-created symbols relocatable where appropriate.
    
    Linker-created symbols like __ehdr_start, __etext, __edata, and end
    should be relocatable, not absolute.
    
    gold/
    	* output.cc (Output_segment::first_section): Return NULL if there are
    	no sections in the segment.
    	* output.h (Output_segment::first_section_load_address): Assert that
    	first section is not NULL.
    	* symtab.cc (Symbol_table::sized_write_globals): Attach linker-created
    	segment-relative symbols to first section of the segment.

commit 514b85276b5521256e1688005e94f1d69fc10c27
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 22 00:00:35 2016 +0000

    Automatic date update in version.in

commit 87903eafb083abbf330c22fbf941fcbad700c098
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Wed Dec 21 12:33:12 2016 -0800

    Fix bugs with float compare and Inf operands.
    
    	sim/aarch64/
    	* simulator.c (set_flags_for_float_compare): Add code to handle Inf.
    	Add comment to document NaN issue.
    	(set_flags_for_double_compare): Likewise.
    
    	sim/testsuite/sim/aarch64/
    	* fcmp.s: New.

commit f0d19df99dfe1c63842206d15ae41dfd33d25bf0
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 00:40:54 2016 +1030

    Don't make_bfd_vms_lib archive functions NULL
    
    Contrary to the comment, they can in fact be called.
    
    	* libbfd-in.h (_bfd_vms_lib_slurp_armap): Use _bfd_noarchive function.
    	(_bfd_vms_lib_slurp_extended_name_table: Likewise.
    	(_bfd_vms_lib_construct_extended_name_table: Likewise.
    	(_bfd_vms_lib_truncate_arname: Likewise.
    	(_bfd_vms_lib_write_armap: Likewise.
    	(_bfd_vms_lib_read_ar_hdr: Likewise.
    	(_bfd_vms_lib_write_ar_hdr: Likewise.
    	* libbfd.h: Regenerate.

commit b2c6190bfc280f834c8aaefe8074c3a2ea6d61ad
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 22 00:39:02 2016 +1030

    ChangeLog formatting fixes

commit e5b737de4a22c3099345f2613c106623d7f8d7e7
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Dec 20 14:25:39 2016 -0800

    Support aligning text section from odd addresses
    
    Previously, the alignment directives were not correctly supported
    in the text section when current alignment was only 1 byte (i.e.,
    when the address was odd).  Since there are no 1-byte instructions
    in RISC-V, this patch resolves the bug by writing a zero byte to
    obtain 2-byte alignment, at which point a 2-byte NOP can be used
    to obtain 4-byte alignment.
    
    Resolves https://github.com/riscv/riscv-gnu-toolchain/issues/205
    
    	* config/tc-riscv.c (riscv_make_nops): Emit 2-byte NOPs.
    	(riscv_frag_align_code): Correct frag_align_code arg.

commit ad5bc88245bd8416fd16a2384eb00ec501bcc5e4
Author: Tim Newsome <tim@sifive.com>
Date:   Tue Dec 20 14:25:37 2016 -0800

    Fix a const-safety issue on GCC-4.9 and above
    
    	* config/tc-riscv.c (riscv_pre_output_hook): Remove const from
    	loc4_frag.

commit 58a6d3c9d8d4d4be8f1dfc1a49fed264dceddaba
Author: Andrew Waterman <andrew@sifive.com>
Date:   Tue Dec 20 14:25:33 2016 -0800

    Avoid creating symbol table entries for registers
    
    Instructions like "jal t0, foo" were erroneously creating symbol table
    entries for t0 as well as foo, which causes linking problems.  Fix by
    reordering instruction alternatives so that t0 is first attempted to
    be parsed as a register, rather than as a symbol.
    
    	* riscv-opc.c (riscv_opcodes): Reorder jal and call entries.

commit 9ef7906f20e81faa4498761002e6376f4d35c865
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Wed Dec 21 21:23:34 2016 +1030

    Do not add padding if an output section is marked as ignored
    
    	* ldlang.c (size_input_section): Avoid calling insert_pad
    	if output_section_statement->ignored is set.

commit 3145b997151d2815065b5c880c1b0d63905d7630
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Fri Dec 9 21:47:58 2016 +0530

    bfd: aarch64: fix word and arrdess size declaration in ilp32 mode
    
    ILP32 has 32-bit word and address, but currently they declared as 64-bit in
    bfd_aarch64_arch_ilp32, which breaks further logic of bfd. This patch fixes it.
    
    Glibc testsuite build with patched binutils shows that next tests stop to fail:
    iconvdata/mtrace-tst-loading
    iconvdata/tst-loading
    iconvdata/tst-tables
    localedata/mtrace-tst-leaks
    localedata/tst-leaks
    posix/tst-getaddrinfo4
    posix/tst-getaddrinfo5
    posix/tst-regex2

commit 4e25adb3956f880efc28bfebabe79be7338b413f
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 21 19:13:52 2016 +1030

    Remove high bit set characters
    
    gas/
    	* doc/c-lm32.texi: Fix chars with high bit set.
    	* testsuite/gas/bfin/vector2.s: Likewise.
    gold/
    	* arm.cc: Fix comment chars with high bit set.
    include/
    	* coff/pe.h: Fix comment chars with high bit set.
    	* opcode/xgate.h: Likewise.
    ld/
    	* testsuite/ld-scripts/sysroot-prefix.exp: Fix chars with high bit set.

commit 9962fe293d16e1e1e4d05154e751fc7576226954
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 21 19:07:55 2016 +1030

    Document character escape sequences
    
    	PR gas/10946
    	* doc/as.texinfo (Chars): Document escape sequences.

commit 7e66a1a05d3fc6cd72e3960608f86962efcaeb9d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 21 00:00:25 2016 +0000

    Automatic date update in version.in

commit 992f1ddc3be1f5195f18beaa801ac50f284b10c5
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Dec 20 17:07:19 2016 +0000

    gdb: Constify solib_find
    
    gdb/ChangeLog:
    2016-12-20  Pedro Alves  <palves@redhat.com>
    
    	* nto-tdep.c (nto_find_and_open_solib): Constify 'solib'
    	parameter.
    	* nto-tdep.h (nto_find_and_open_solib): Constify 'solib'
    	parameter.
    	* solib.c (solib_find_1, exec_file_find, solib_find): Constify
    	in_pathname' parameter.
    	* solist.h (struct target_so_ops) <find_and_open_solib>: Constify
    	'soname' parameter.
    	(exec_file_find, solib_find): Constify 'in_pathname' parameter.

commit 2693a26216c329bd7ec2aae7743409f572de4fa5
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Dec 20 15:46:44 2016 +0000

    Fix longjmp across readline w/ --enable-sjlj-exceptions toolchains
    
    Nowadays, GDB propagates C++ exceptions across readline using
    setjmp/longjmp 89525768cd08 ("Propagate GDB/C++ exceptions across
    readline using sj/lj-based TRY/CATCH") because DWARF-based unwinding
    can't cross C functions compiled without -fexceptions (see details
    from the commit above).
    
    Unfortunately, toolchains that use SjLj-based C++ exceptions got
    broken with that fix, because _Unwind_SjLj_Unregister, which is put at
    the exit of a function, is not executed due to the longjmp added by
    that commit.
    
     (gdb) [New Thread 2936.0xb80]
     kill
    
     Thread 1 received signal SIGSEGV, Segmentation fault.
     0x03ff662b in ?? ()
     top?bt 15
     #0  0x03ff662b in ?? ()
     #1  0x00526b92 in stdin_event_handler (error=0, client_data=0x172ed8)
        at ../../binutils-gdb/gdb/event-top.c:555
     #2  0x00525a94 in handle_file_event (ready_mask=<optimized out>,
        file_ptr=0x3ff5cb8) at ../../binutils-gdb/gdb/event-loop.c:733
     #3  gdb_wait_for_event (block=block@entry=1)
        at ../../binutils-gdb/gdb/event-loop.c:884
     #4  0x00525bfb in gdb_do_one_event ()
        at ../../binutils-gdb/gdb/event-loop.c:347
     #5  0x00525ce5 in start_event_loop ()
        at ../../binutils-gdb/gdb/event-loop.c:371
     #6  0x0051fada in captured_command_loop (data=0x0)
        at ../../binutils-gdb/gdb/main.c:324
     #7  0x0051cf5d in catch_errors (
        func=func@entry=0x51fab0 <captured_command_loop(void*)>,
        func_args=func_args@entry=0x0,
        errstring=errstring@entry=0x7922bf <VEC_interp_factory_p_quick_push(VEC_inte rp_factory_p*, interp_factory*, char const*, unsigned int)::__PRETTY_FUNCTION__+351> "", mask=mask@entry=RETURN_MASK_ALL)
        at ../../binutils-gdb/gdb/exceptions.c:236
     #8  0x00520f0c in captured_main (data=0x328feb4)
        at ../../binutils-gdb/gdb/main.c:1149
     #9  gdb_main (args=args@entry=0x328feb4) at ../../binutils-gdb/gdb/main.c:1159
     #10 0x0071e400 in main (argc=1, argv=0x171220)
        at ../../binutils-gdb/gdb/gdb.c:32
    
    Fix this by making the functions involved in setjmp/longjmp as
    noexcept, so that the compiler knows it doesn't need to emit the
    _Unwind_SjLj_Register / _Unwind_SjLj_Unregister calls for C++
    exceptions.
    
    Tested on x86_64 Fedora 23 with:
     - GCC 5.3.1 w/ DWARF-based exceptions.
     - GCC 7 built with --enable-sjlj-exceptions.
    
    gdb/ChangeLog:
    2016-12-20  Pedro Alves  <palves@redhat.com>
    	    Yao Qi  <yao.qi@linaro.org>
    
    	PR gdb/20977
    	* event-top.c (gdb_rl_callback_read_char_wrapper_noexcept): New
    	noexcept function, factored out from ...
    	(gdb_rl_callback_read_char_wrapper): ... this.
    	(gdb_rl_callback_handler): Mark noexcept.

commit ff71884063d048e8f8c03de27d2bac343df4f77a
Author: Antoine Tremblay <antoine.tremblay@ericsson.com>
Date:   Tue Dec 20 08:42:10 2016 -0500

    Set emacs default mode for the GDB directory to C++
    
    Since GDB has switched to C++ but the file names are still .c emacs does
    not load the proper mode when opening files in the gdb directory.
    
    This patch fixes that by enabling c++ mode.
    
    This patch also fixes indentation tweaks as discussed in this thread:
    https://sourceware.org/ml/gdb-patches/2016-12/msg00074.html
    
    Indent with gdb-code-style.el included and the .dir-locals.el is as such:
    
    namespace TestNameSpace {
    
    class test
    {
    public:
      test test() {}
    
      int m_a;
    };
    
    struct teststruct
    {
      int a;
    }
    }
    
    gdb/ChangeLog:
    
    	* .dir-locals.el: Set c++ mode for the directory and set indent
    	properly.
    	* gdb-code-style.el: Set c-set-offset 'innamespace as a safe value
    	to be used in .dir-locals.el.

commit 11dd08e9a0a2b7115aac32d9599f1bdb0ad12ea6
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 11:38:53 2016 +0000

    MIPS16/opcodes: Respect ISA and ASE in disassembly
    
    Limit MIPS16 instruction disassembly according to the ISA level and ASE
    set selected, as with the regular MIPS and microMIPS instruction sets.
    Retain the property of `objdump -m mips:16' disassembling all MIPS16
    instructions however, regardless of any ISA level recorded in the binary
    examined.
    
    To validate the disassembler use the GAS test suite for its convenience
    of running tests across multiple ISAs, even though placing the tests in
    the binutils test suite would be more appropriate.  Adjust the single
    binutils test which depends on 64-bit instruction disassembly to have
    the ISA level required actually recorded in the binary examined.
    
    	opcodes/
    	* mips-dis.c (mips_arch_choices): Use ISA_MIPS64 rather than
    	ISA_MIPS3 as the `isa' selection in the `bfd_mach_mips16' entry.
    	(print_insn_mips16): Check opcode entries for validity against
    	the ISA level and ASE set selected.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-undecoded.s: Use `.module'
    	rather than `.set' to set the ISA level.
    
    	gas/
    	* testsuite/gas/mips/mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-sub.d: New test.
    	* testsuite/gas/mips/mips16e-sub.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16e-sub.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16e-sub.d: New test.
    	* testsuite/gas/mips/mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16e-64-sub.d: New test.
    	* testsuite/gas/mips/mips16-sub.s: New test source.
    	* testsuite/gas/mips/mips16e-sub.s: New test source.
    	* testsuite/gas/mips/mips16e-64-sub.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 853faf5cc34cfac362f33939543ce569c8ba6341
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 11:34:47 2016 +0000

    MIPS/GAS/testsuite: Add RESTORE instruction to `mips16e' test
    
    Add a RESTORE instruction smoke test to the `mips16e' GAS test.
    
    	gas/
    	* testsuite/gas/mips/mips16e.s: Add a RESTORE instruction.
    	* testsuite/gas/mips/mips16e.d: Adjust accordingly.

commit c60aaac10f9a185541b7f51a3353b95a6c764a4b
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 11:33:49 2016 +0000

    MIPS/GAS/testsuite: Extend MIPS16 testing over multiple ISAs
    
    Run the `mips16', `mips16-64', `mips16e-64', `mips16-macro',
    `mips16-macro-e' and `mips16-macro-t' GAS tests over multiple MIPS16
    ISAs.
    
    	gas/
    	* testsuite/gas/mips/mips16.d: Adjust test for multiple MIPS16
    	ISA testing.
    	* testsuite/gas/mips/mips16-64.d: Adjust test for multiple
    	MIPS16 ISA testing.
    	* testsuite/gas/mips/mips16e-64.d: Adjust test for multiple
    	MIPS16 ISA testing.
    	* testsuite/gas/mips/mips16-macro.d: Adjust test for multiple
    	MIPS16 ISA testing.
    	* testsuite/gas/mips/mips16e-64.s: Ensure MIPS16 ISA annotation.
    	* testsuite/gas/mips/mips16e-64.l: Rename to...
    	* testsuite/gas/mips/mips16e-32@mips16e-64.l: ... this.
    	* testsuite/gas/mips/mips16-64@mips16.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-64.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16e-64.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16-64@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-macro.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16-32@mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16e-32@mips16e-64.l: New stderr output.
    	* testsuite/gas/mips/mips16-32@mips16-macro.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-macro.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-32@mips16-macro-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-e.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16-32@mips16-macro-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips16e-32@mips16-macro-t.l: New stderr
    	output.
    	* testsuite/gas/mips/mips.exp: Run `mips16', `mips16-64',
    	`mips16-macro', `mips16-macro-t', `mips16-macro-e' and
    	`mips16e-64' testing across multiple MIPS16 ISAs.  Fold
    	`mips16-macro' and `mips16e-64' list test invocations into
    	corresponding dump tests.

commit 6b4382006bd5e766581d3357bbc0cff58345d04d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 02:23:51 2016 +0000

    MIPS/GAS/testsuite: Implement individual MIPS16 ISA testing
    
    Implement individual MIPS16 ISA GAS testing for the 32-bit and 64-bit
    variants of the base MIPS16 and the MIPS16e ISA each.
    
    	gas/
    	* testsuite/gas/mips/mips.exp (run_dump_test_arch): Add
    	`mips16e' and `mips16' prefixes.
    	(run_list_test_arch): Likewise.
    	Rename `mips16' architecture to `mips16-32'.  Add `mips16-64',
    	`mips16e-32' and `mips16e-64' architectures.  Update `rol64',
    	`mips16e', `elf${el}-rel2' and `elf-rel4' test invocations
    	accordingly.
    	* testsuite/gas/mips/mips16e@branch-swap-3.d: New test.
    	* testsuite/gas/mips/mips16e@branch-swap-4.d: New test.
    	* testsuite/gas/mips/mips16e@loc-swap-dis.d: New test.
    	* testsuite/gas/mips/mips16e@loc-swap.d: New test.

commit 23c212516e3a91c74548ceccb597bdeaeb111e26
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 02:10:40 2016 +0000

    MIPS/GAS/testsuite: Fix trailing padding in `loc-swap.s'
    
    Pad alignment with zeros rather than NOP instructions, for sensible
    multi-ISA MIPS16 testing.
    
    	gas/
    	* testsuite/gas/mips/loc-swap.s: Use zeros rather than NOPs for
    	trailing alignment padding.
    	* testsuite/gas/mips/loc-swap.d: Adjust accordingly.
    	* testsuite/gas/mips/micromips@loc-swap.d: Likewise.
    	* testsuite/gas/mips/mips16@loc-swap-dis.d: Likewise.

commit 7fd5392005624f8b0522d881aa94bbb470d68cd7
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 02:03:40 2016 +0000

    MIPS16: Switch to 32-bit opcode table interpretation
    
    Switch to 32-bit MIPS16 opcode table entry interpretation, similar to
    how the microMIPS opcode table is handled, for both the `match' and
    `mask' fields, removing special casing for JAL and JALX instructions and
    their `a' and `i' operand codes throughout, while retaining automatic
    processing of extendable opcodes in assembly and disassembly.
    
    In assembly disallow size enforcement suffixes as appropriate: `.t' for
    both 32-bit instructions and macros and `.e' for macros only, making
    macro handling consistent with the microMIPS instruction set.
    
    In disassembly fully decode EXTEND prefixes prepended to unsupported
    instruction encodings (according to the ISA selection) rather than
    dumping them as hexadecimal data along with the following instruction,
    removing all special casing for the EXTEND prefix and making its
    handling rely on its opcode table entry, except where it is considered a
    part of an extendable instruction.
    
    	include/
    	* opcode/mips.h (mips_opcode_32bit_p): New inline function.
    
    	gas/
    	* config/tc-mips.c (micromips_insn_length): Use
    	`mips_opcode_32bit_p'.
    	(is_size_valid): Adjust description.
    	(is_size_valid_16): New function.
    	(validate_mips_insn): Use `mips_opcode_32bit_p' in MIPS16
    	operand decoding.
    	(validate_mips16_insn): Remove `a' and `i' operand code special
    	casing, use `mips_opcode_32bit_p' to determine instruction
    	width.
    	(append_insn): Adjust forced MIPS16 instruction size
    	determination.
    	(match_mips16_insn): Likewise.  Don't shift the instruction's
    	opcode with the `a' and `i' operand codes.  Use
    	`mips_opcode_32bit_p' in operand decoding.
    	(match_mips16_insns): Check for forced instruction size's
    	validity.
    	(mips16_ip): Don't force instruction size in the `noautoextend'
    	mode.
    	* testsuite/gas/mips/mips16-jal-e.d: New test.
    	* testsuite/gas/mips/mips16-jal-t.d: New test.
    	* testsuite/gas/mips/mips16-macro-e.d: New test.
    	* testsuite/gas/mips/mips16-macro-t.d: New test.
    	* testsuite/gas/mips/mips16-jal-t.l: New stderr output.
    	* testsuite/gas/mips/mips16-macro-e.l: New stderr output.
    	* testsuite/gas/mips/mips16-macro-t.l: New stderr output.
    	* testsuite/gas/mips/mips16-jal-e.s: New test source.
    	* testsuite/gas/mips/mips16-jal-t.s: New test source.
    	* testsuite/gas/mips/mips16-macro-e.s: New test source.
    	* testsuite/gas/mips/mips16-macro-t.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Always handle `extend' and
    	`insn' together, with `extend' as the high-order 16 bits.
    	(match_kind): New enum.
    	(print_insn_mips16): Rework for 32-bit instruction matching.
    	Do not dump EXTEND prefixes here.
    	* mips16-opc.c (mips16_opcodes): Move "extend" entry to the end.
    	Recode `match' and `mask' fields as 32-bit in absolute "jal" and
    	"jalx" entries.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-noinsn.d: Adjust
    	test for separate EXTEND prefix disassembly.

commit 4ebce1a0a5911e71aa2d00932ffb2126ff1f3633
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 01:53:03 2016 +0000

    MIPS16/opcodes: Correct 64-bit macros' ISA membership
    
    Limit the DDIV, DDIVU, DREM, DREMU and DSUBU macros to the MIPS III
    rather than MIPS I ISA.  These macros expand to machine code sequences
    including 64-bit instructions which require a 64-bit ISA.  Entries for
    those instructions are already correctly marked, however the marking is
    ignored if entries are used in the process of macro expansion rather
    than directly, making it possible to indirectly produce 64-bit machine
    code even when output requested has been limited to a 32-bit ISA.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set membership to I3 rather
    	than I1 for the "ddiv", "ddivu", "drem", "dremu" and "dsubu"
    	INSN_MACRO entries.
    
    	gas/
    	* testsuite/gas/mips/mips16-macro.l: New list test.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit c97dda72b905d5ba9b82004bf4e57dd4cf343147
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 01:50:24 2016 +0000

    MIPS16/opcodes: Correct I64/SDRASP opcode's ISA membership
    
    Limit the `SD ra, offset(sp)' instruction (I64/SDRASP major/minor
    opcode) to the MIPS III rather than MIPS I ISA.  This is a 64-bit
    instruction requiring a 64-bit ISA.  This bug has been there since
    forever.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set membership to I3 rather
    	than I1 for the SP-relative "sd"/$ra entry (SDRASP minor
    	opcode).
    
    	gas/
    	* testsuite/gas/mips/mips16-sdrasp.d: New test.
    	* testsuite/gas/mips/mips16-sdrasp.l: New stderr output.
    	* testsuite/gas/mips/mips16-sdrasp.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 95f6ac8822ecbad5530c4488ac54fd46b4c658a2
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Dec 20 01:49:02 2016 +0000

    MIPS/GAS/testsuite: Correct NewABI test selection
    
    Make sure all tests that require NewABI support are only run with
    `has_newabi' targets, removing numerous `mips-sgi-irix5' failures.
    
    	gas/
    	* testsuite/gas/mips/mips.exp: Limit remaining tests that
    	require NewABI support to `has_newabi' targets.

commit 78d9f182f5cf4bc0d892af59030b85351b0ceab5
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 20 01:03:55 2016 -0800

    Update testsuite Makefile with missing dependencies.
    
    2016-12-20  Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	* testsuite/Makefile.am: Add missing dependencies on gcctestdir/ld
    	or ../ld-new.
    	* testsuite/Makefile.in: Regenerate.

commit 092e01962dfbe7db9f5e57ca365b8ca56b4aa96a
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 19 19:19:46 2016 -0800

    Fix read-beyond-end-of-buffer error in script parsing.
    
    2016-12-19  Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	PR gold/20949
    	* script.cc (Lex::get_token): Don't look ahead past NUL characters.

commit 3e67a37820a2838cdbd50f3f697ddc929443ceaa
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:54 2016 -0800

    Correct assembler mnemonic for RISC-V aqrl AMOs
    
    sc is a misnomer, because they aren't inherently sc.
    
    	* riscv-opc.c (riscv_opcodes): Rename the "*.sc" instructions to
    	"*.aqrl".

commit 04386d9ed5f068b74757bfac01670576e4e59b8a
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:53 2016 -0800

    Fix disassembly of RISC-V CSR instructions under -Mno-aliases
    
    This fixes https://github.com/riscv/riscv-binutils-gdb/issues/36.
    
    	* riscv-opc.c (riscv_opcodes): Mark the rd* and csr* aliases as
    	INSN_ALIAS.

commit 755c5297bdbca564e97040ce7f036ed02dc7fa4a
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:52 2016 -0800

    Add canonical JALR for RISC-V
    
        jalr rd,offset(rs1)
    
    rather than
    
        jalr rd,rs1,offset
    
    This matches the format of other instructions.
    
    	* riscv-opc.c (riscv_opcodes): Change jr and jalr to "o(s)"
    	format.

commit d115ab8eee9bb3e13aae86698a4fd91e0ed284e9
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:51 2016 -0800

    Don't define RISC-V .p2align
    
    	* config/tc-riscv.c (riscv_pseudo_table): Remove "align",
    	"p2align", and "balign".
    	(s_align): Remove.
    	(riscv_handle_align): New function.
    	(riscv_frag_align_code): Likewise.
    	(riscv_make_nops): Likewise.
    	* config/tc-riscv.h (MAX_MEM_FOR_RS_ALIGN_CODE): Change to 7.
    	(HANDLE_ALIGN): Define.
    	(md_do_align): Define.
    	(riscv_handle_align): Declare.
    	(riscv_frag_align_code): Likewise.

commit 2922d21da14b4711872371abacb16e8ab7c70894
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:50 2016 -0800

    Re-work RISC-V gas flags: now we just support -mabi and -march
    
    We've decided to standardize on two flags for RISC-V: "-march" sets the
    target architecture (which determines which instructions can be
    generated), and "-mabi" sets the target ABI.  We needed to rework this
    because the old flag set didn't support soft-float or single-float ABIs,
    and didn't support an x32-style ABI on RISC-V.
    
    Additionally, we've changed the behavior of the -march flag: it's now a
    lot stricter and only parses things we can actually understand.
    Additionally, it's now lowercase-only: the rationale is that while the
    RISC-V ISA manual specifies that ISA strings are case-insensitive, in
    Linux-land things are usually case-sensitive.  Since this flag can be
    used to determine library paths, we didn't want to bake some
    case-insensitivity in there that would case trouble later.
    
    This patch implements these two new flags and removes the old flags that
    could conflict with these.  There wasn't a RISC-V release before, so we
    want to just support a clean flag set.
    
    include/
    	* elf/riscv.h (EF_RISCV_SOFT_FLOAT): Don't define.
    	(EF_RISCV_FLOAT_ABI, EF_RISCV_FLOAT_ABI_SOFT): Define.
    	(EF_RISCV_FLOAT_ABI_SINGLE, EF_RISCV_FLOAT_ABI_DOUBLE): Define.
    	(EF_RISCV_FLOAT_ABI_QUAD): Define.
    bfd/
    	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Use
    	EF_RISCV_FLOAT_ABI_SOFT instead of EF_RISCV_SOFT_FLOAT.
    binutils/
    	* readelf.c (get_machine_flags): Use
    	EF_RISCV_FLOAT_ABI_{SOFT,SINGLE,DOBULE,QUAD) instead of
    	EF_RISCV_{SOFT,HARD}_FLOAT.
    gas/
    	* config/tc-riscv.h (xlen): Delete.
    	* config/tc-riscv.c (xlen): Make static.
    	(abi_xlen): New variable.
    	(options): Replace OPTION_{M32,M64,MSOFT_FLOAT,MHARD_FLOAT,MRVC}
    	with OPTION_MABI.
    	(md_longopts): Likewise.
    	(md_parse_option): Likewise.
    	(riscv_elf_final_processing): Likewise.
    	* doc/as.texinfo (Target RISC-V options): Likewise.
    	* doc/c-riscv.texi (OPTIONS): Likewise.
    	* config/tc-riscv.c (float_mode): Removed.
    	(float_abi): New type, specifies the floating-point ABI.
    	(riscv_set_abi): New function.
    	(riscv_add_subset): Only allow lower-case ISA names and require
    	them to start with "rv".
    	(riscv_after_parse_args): Likewise.
    opcodes/
    	* riscv-dis.c (riscv_disassemble_insn): Default to the ELF's
    	XLEN when none is provided.

commit 1d61f7949f77796ee407466f3ca7f42dcde9251b
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:49 2016 -0800

    Fix an integer overflow in RISC-V relocation handling
    
    	* elfnn-riscv.c (bfd_riscv_get_max_alignment): Return bfd_vma
    	instead of unsigned int.

commit 45f764234a71431b581340957a3c8338e0593fdb
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:48 2016 -0800

    Rework RISC-V relocations
    
    Before this commit we didn't cleanly support CFI directives because the
    internal offsets used to get relaxed which broke them.  This patch
    significantly reworks how we handle linker relaxations:
    
     * DWARF is now properly supported
    
     * There is a ".option norelax" to disable relaxations, for when users
       write assembly that can't be relaxed (if it's to be later patched up,
       for example).
    
     * There is an additional _RELAX relocation that specifies when previous
       relocations can be relaxed.
    
    We're in the process of documenting the RISC-V ELF ABI, which will
    include documentation of our relocations
    
      https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
    
    but we expect that this relocation set will remain ABI compatible in the
    future (ie, it's safe to release).
    
    Thanks to Kuan-Lin Chen for figuring out how to correctly relax the
    debug info!
    
    include/
    	* elf/riscv.h: Add R_RISCV_TPREL_I through R_RISCV_SET32.
    bfd/
    	* reloc.c (BFD_RELOC_RISCV_TPREL_I): New relocation.
    	(BFD_RELOC_RISCV_TPREL_S): Likewise.
    	(BFD_RELOC_RISCV_RELAX): Likewise.
    	(BFD_RELOC_RISCV_CFA): Likewise.
    	(BFD_RELOC_RISCV_SUB6): Likewise.
    	(BFD_RELOC_RISCV_SET8): Likewise.
    	(BFD_RELOC_RISCV_SET8): Likewise.
    	(BFD_RELOC_RISCV_SET16): Likewise.
    	(BFD_RELOC_RISCV_SET32): Likewise.
    	* elfnn-riscv.c (perform_relocation): Handle the new
    	relocations.
    	(_bfd_riscv_relax_tls_le): Likewise.
    	(_bfd_riscv_relax_align): Likewise.
    	(_bfd_riscv_relax_section): Likewise.
    	(howto_table): Likewise.
    	(riscv_reloc_map): Likewise.
    	(relax_func_t): New type.
    	(_bfd_riscv_relax_call): Add reserve_size argument, which
    	controls the maximal offset pessimism.  Correct type of max_alignment.
    	(_bfd_riscv_relax_lui): Likewise.
    	(_bfd_riscv_relax_tls_le): Likewise.
    	(_bfd_riscv_relax_align): Likewise.
    	(_bfd_riscv_relax_section): Compute the required reserve size
    	when relocating and use it to when calling relax_func.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Likewise.
    gas/
    	* config/tc-riscv.c (riscv_set_options): Add relax.
    	(riscv_opts): Likewise.
    	(s_riscv_option): Add relax and norelax.
    	(riscv_apply_const_reloc): New function.
    	(append_insn): Move constant relocation handling to
    	riscv_apply_const_reloc.
    	(md_pcrel_from): Likewise.
    	(parse_relocation): Skip BFD_RELOC_UNUSED.
    	(md_pcrel_from): Handle BFD_RELOC_RISCV_SUB6,
    	BFD_RELOC_RISCV_RELAX, BFD_RELOC_RISCV_CFA.
    	(md_apply_fix): Likewise.
    	(riscv_pre_output_hook): New function.
    	* config/tc-riscv.h (md_pre_output_hook): Define.
    	(riscv_pre_output_hook): Declare.
    	(DWARF_CIE_DATA_ALIGNMENT): Always -4.

commit 1d65abb5e2cb1624b358dda27a53a070bec685cc
Author: Andrew Waterman <andrew@sifive.com>
Date:   Sun Dec 18 22:53:47 2016 -0800

    Formatting changes for RISC-V
    
    This is a mixed bag of format changes:
    
     * Replacing constants with macros (0xffffffff with MINUS_ONE, for
       example).  There's one technically functional change in here (some
       MINUS_ONEs are changed to 0), but it only changes the behavior of an
       otherwise-unused field.
     * Using 0 instead of 0x0 in the relocation table.
     * There were some missing spaces before parens, the spaces have been
       added.
     * A handful of comments are now more descriptive.
     * A bunch of whitespace-only changes, mostly alignment and brace
       newlines.
    
    bfd/
    	* elfnn-riscv.c: Formatting and comment fixes throughout.
    	* elfxx-riscv.c: Likewise.
    	(howto_table): Change the src_mask field from MINUS_ONE to 0 for
    	R_RISCV_TLS_DTPMOD32, R_RISCV_TLS_DTPMOD64, R_RISCV_TLS_DTPREL32,
    	R_RISCV_TLS_DTPREL64, R_RISCV_TLS_TPREL32, R_RISCV_TLS_TPREL64.
    opcodes/
    	* riscv-opc.c: Formatting fixes.
    gas/
    	* config/tc-riscv.c: Formatting and comment fixes throughout.

commit 96b0927de3ebdb302d8d571c43da3db5ec23847e
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Sun Dec 18 22:53:46 2016 -0800

    Improve RISC-V LD error message
    
    I recently ran into this error message and found it's not helpful: it
    just tells me some temporary file can't be linked.  This slightly
    improved one at least tells me it's because of an elf32/elf64 conflict.
    
    	* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Improve
    	error message when linking elf32 and elf64.

commit dd1d944e2321de26f75a21f42750dd38ed964714
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 20 11:48:21 2016 +1030

    Add opcodes RISC-V dependencies
    
    	* Makefile.am (TARGET_LIBOPCODES_CFILES): Add riscv files.
    	* Makefile.in: Regenerate.
    	* po/POTFILES.in: Regenerate.

commit 412ffd830b94a860e81e8515140ba5ebc5aa82be
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 19 16:37:48 2016 -0800

    Fix problem where linker does not place .note sections according to script.
    
    gold/
    	PR gold/14676
    	PR gold/20983
    	* layout.h (Layout::choose_output_section): Add match_input_spec
    	parameter. Adjust all callers.
    	* layout.cc (Layout::choose_output_section): Likewise.  Pass
    	match_input_spec to Script_sections::output_section_name().
    	(Layout::create_note): Pass true for match_input_spec.
    	* script-sections.h (Script_sections::output_section_name): Add
    	match_input_spec parameter.
    	* script-sections.cc (Sections_element::output_section_name): Likewise.
    	(Output_section_definition::output_section_name): Likewise.
    	(Script_sections::output_section_name): Likewise.

commit ec5882fbd19a80299e7ae738fca016ef27830ad4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 20 00:00:32 2016 +0000

    Automatic date update in version.in

commit ee7ef219cbfbcf9217b50c4d30e719e2a6182a71
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Mon Dec 19 15:23:59 2016 -0800

    Fix an internal error in the constructor of Target_arm.
    
    gold/
    	* arm.cc (Target_arm::Target_arm): Move initialization code ...
    	(Target_arm::do_select_as_default_target): ... to here.
    	* testsuite/Makefile.am (arm_target_lazy_init): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/arm_target_lazy_init.s: New source file.
    	* testsuite/arm_target_lazy_init.t: New linker script.

commit 89ede9f53b74f84febcd1c2a6db8b03f390b62ec
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 19 10:37:23 2016 -0800

    Fix forced allocation of common (-d) during -r links.
    
    If the .bss section has other data in it besides common allocations,
    gold was subtracting the wrong section start address from the symbol
    value.
    
    gold/
    	PR gold/20976
    	* symtab.cc (Symbol_table::sized_write_globals): Use address of
    	output section, not input section.
    	* testsuite/Makefile.am (pr20976): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/pr20976.c: New source file.

commit 16e69324ec7fbe4ea12f2a0a069ad207ac8e3f97
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 19 15:00:32 2016 +0000

    Clean up gdb.gdb/selftest.exp
    
    I recently see the test fails like this,
    
    (gdb) PASS: gdb.gdb/selftest.exp: step over argv initialization
    list^M
    487       std::vector<struct cmdarg> cmdarg_vec;^M
    (gdb) FAIL: gdb.gdb/selftest.exp: unknown source line (after step over argv initialization)
    
    step^M
    std::vector<cmdarg, std::allocator<cmdarg> >::vector (this=0x7fffffffdc10) at ../../binutils-gdb/gdb/main.c:487^M
    487       std::vector<struct cmdarg> cmdarg_vec;^M
    (gdb) FAIL: gdb.gdb/selftest.exp: step into xmalloc call
    
    These fails are caused by using std::vector in commit
    f60ee22ea1d62f7004511ec65a3ad76890032d88.  selttest.exp should match
    the source code of GDB.  It is a maintenance pain, so this patch
    removes do_steps_and_nexts.
    
    gdb/testsuite:
    
    2016-12-19  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.gdb/selftest.exp (do_steps_and_nexts): Remove.
    	(test_with_self): Don't call do_steps_and_nexts, and remove
    	code about stepping into xmalloc.

commit b25e998d0be7d7ec2a14bfdca03370155355d215
Author: Christian Groessler <chris@groessler.org>
Date:   Mon Dec 19 13:56:22 2016 +0100

    bfd/elf32-arm.c: Rename 'popcount' to 'elf32_arm_popcount'
    
    bfd/elf32_arm.c contains a function 'popcount' which conflicts
    with a function of the same name in NetBSD's libc.
    This change also changes popcount's 'sum' variable to signed
    since the function returns a signed integer.
    
    bfd/
    * elf32-arm.c (elf32_arm_popcount): Rename from 'popcount'.  Make
    'sum' local variable signed.

commit 91068ec6ae02e85c5ca4fbe3c6e214bd87bb872f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Dec 19 11:35:14 2016 +0000

    MIPS/opcodes: Only examine ELF file structures if SYMTAB_AVAILABLE
    
    Correct commit 640c0ccdc980 ("some objdump -M options, better reg
    dumps"), <https://sourceware.org/ml/binutils/2002-12/msg00706.html>, and
    only execute code setting up disassembler options based on ELF file
    structures if SYMTAB_AVAILABLE is set.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options) [SYMTAB_AVAILABLE]:
    	Only examine ELF file structures here.

commit 4df995c77118d07c12fb260dbba0ca2b281324f1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Dec 19 11:32:05 2016 +0000

    MIPS/opcodes: Only call `bfd_mips_elf_get_abiflags' if BFD64
    
    Complement commit 5e7fc731f80e ("MIPS/opcodes: Also set disassembler's
    ASE flags from ELF structures") and fix an `--enable-targets=all' GDB
    build regression on 32-bit hosts where the MIPS target is a secondary:
    
    ../opcodes/libopcodes.a(mips-dis.o): In function `set_default_mips_dis_options':
    mips-dis.c:(.text+0x906): undefined reference to `bfd_mips_elf_get_abiflags'
    collect2: error: ld returned 1 exit status
    make[2]: *** [gdb] Error 1
    
    by avoiding making a call to the `bfd_mips_elf_get_abiflags' function,
    which is not available, because there is no MIPS/ELF BFD included in
    32-bit BFD builds.  This call is only made from a conditional code block
    guarded by a check against `bfd_target_elf_flavour', which is dead in
    such a configuration, however cannot be optimized away by the compiler.
    Also some other MIPS BFDs may be available, such as a.out, ECOFF or PE,
    so the disassembler has to remain functional.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options) [BFD64]: Only call
    	`bfd_mips_elf_get_abiflags' here.

commit 602a81860a9a64c6a4bf1e338698118b35518b93
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 19 00:00:21 2016 +0000

    Automatic date update in version.in

commit 53eab0d3fa9e47acccf6073172663112a1471dad
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 18 00:00:24 2016 +0000

    Automatic date update in version.in

commit ddb9ad345c9b4a8cfe2c9a71190ecf408454e745
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 17 00:00:25 2016 +0000

    Automatic date update in version.in

commit 97f00e367c8222cda51bc7c0e9d3073a487a5976
Author: Bernhard Heckel <bernhard.heckel@intel.com>
Date:   Thu Dec 15 14:04:11 2016 +0100

    Darwin: Fix gdb compilation.
    
    Due to changes introduced by
    commit 4d01a485d29732b19743e8b138897f3509e071b0
    ('struct expression *' -> gdb::unique_xmalloc_ptr<expression>)
    compilation is broken on Darwin.
    
    ../gdb/darwin-nat-info.c:733:8: error: assigning to 'struct expression *'
    from incompatible type
    'expression_up' (aka 'std::__1::unique_ptr<expression, gdb::xfree_deleter<expression> >')
    expr = parse_expression (exp);
    
    Beside compilation, memory leak was solved as 'make_clean_up' was not called in previous
    version.
    
    2016-12-16  Bernhard Heckel  <bernhard.heckel@intel.com>
    
    gdb/Changelog:
    	* darwin-nat-info.c (info_mach_region_command): Use expression_up.

commit db7b55faa1a11e632ddf57505c9bb64bc783471a
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 16 10:59:36 2016 +0000

    Fix compile time warning building arm-dis.c

commit 221855059a11ab76aa909a5df4104354f9384139
Author: fincs <fincs.alt1@gmail.com>
Date:   Fri Dec 16 13:42:02 2016 +1030

    Implement and document --gc-keep-exported
    
    include/
    	* bfdlink.h (struct bfd_link_info): Add gc_keep_exported.
    bfd/
    	* elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling
    	for info->gc_keep_exported.
    	(bfd_elf_gc_sections): Likewise.
    ld/
    	* ld.texinfo: Document --gc-keep-exported.
    	* ldlex.h (enum option_values): Add OPTION_GC_KEEP_EXPORTED.
    	* lexsup.c (parse_args): Add handling for --gc-keep-exported.

commit 4c4067e410581fe5c6190407b4fd410e7b71f9e4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 16 00:00:26 2016 +0000

    Automatic date update in version.in

commit a961cdd5f139d3c3e09170db52bd8df7dafae13f
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 15 21:29:44 2016 +1030

    Linking non-ELF file broken by PR20908 fix
    
    	PR ld/20968
    	PR ld/20908
    	* elflink.c (bfd_elf_final_link): Revert 2016-12-02 change.  Move
    	reloc counting code later after ELF flavour test.

commit 02aa377fbdd17b763b1e32ad72ccfd1c617ce463
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 15 00:00:24 2016 +0000

    Automatic date update in version.in

commit cadf97cf20cf76af35e41075dff81197fbec0e51
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 22:17:05 2016 +0000

    MAINTAINERS: Add myself as a MIPS maintainer
    
    	* MAINTAINERS (Maintainers for particular sims): Add myself as
    	a MIPS maintainer.

commit 5e7fc731f80e0d08385a05ad47dda332a49d9341
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:49:56 2016 +0000

    MIPS/opcodes: Also set disassembler's ASE flags from ELF structures
    
    Respect any ASE flags recorded in ELF file structures for the purpose of
    selecting instructions to be disassembled, preventing code from being
    hex-dumped even though having been clearly indicated as valid at the
    assembly time.  Use date from the MIPS ABI flags structure if present,
    and otherwise there may be an MDMX ASE flag set in the ELF file header.
    For backwards compatibility only set extra flags and do not clear any,
    preserving all previously set by the architecture selected to be
    disassembled for.
    
    	include/
    	* elf/mips.h (Elf_Internal_ABIFlags_v0): Also declare struct
    	typedef as `elf_internal_abiflags_v0'.
    
    	bfd/
    	* bfd-in.h (elf_internal_abiflags_v0): New struct declaration.
    	(bfd_mips_elf_get_abiflags): New prototype.
    	* elfxx-mips.c (bfd_mips_elf_get_abiflags): New function.
    	* bfd-in2.h: Regenerate.
    
    	opcodes/
    	* mips-dis.c (mips_convert_abiflags_ases): New function.
    	(set_default_mips_dis_options): Also infer ASE flags from ELF
    	file structures.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips-ase-1.d: New test.
    	* testsuite/binutils-all/mips/mips-ase-2.d: New test.
    	* testsuite/binutils-all/mips/mips-ase-3.d: New test.
    	* testsuite/binutils-all/mips/mips-ase-1.s: New test source.
    	* testsuite/binutils-all/mips/mips-ase-2.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new tests.

commit 8184783a4069e04deb2e43b4ad0d66d80f1ad2df
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:27:00 2016 +0000

    MIPS/opcodes: Reorder ELF file header flag handling in disassembler
    
    Move ELF file header flag interpretation code, used to set disassembler
    options, beyond architecture setup.  No functional change as the effects
    of both code sections are disjoint from each other, but this provides
    for a further expansion of ELF file header flag interpretation.
    
    	opcodes/
    	* mips-dis.c (set_default_mips_dis_options): Reorder ELF file
    	header flag interpretation code.

commit eefc3365838ed15c02bd7da39fbc31c00d07b398
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:20:01 2016 +0000

    MIPS16/GAS: Fix assertion failures with relocations on 16-bit instructions
    
    Complement commit c9775dde3277 ("MIPS16: Add R_MIPS16_PC16_S1 branch
    relocation support)" and report an assembly error when a relocation is
    required for an instruction, currently a branch only, that has been
    forced to use its unextended encoding, either with the use of an
    explicit `.t' mnemonic suffix, or by means of `.set noautoextend' being
    active, fixing an assertion failure currently caused instead.
    
    	gas/
    	* config/tc-mips.c (md_convert_frag): Report an error instead of
    	asserting on `ext'.
    	* testsuite/gas/mips/mips16-branch-unextended-1.d: New test.
    	* testsuite/gas/mips/mips16-branch-unextended-2.d: New test.
    	* testsuite/gas/mips/mips16-branch-unextended-1.s: New test
    	source.
    	* testsuite/gas/mips/mips16-branch-unextended-2.s: New test.
    	* testsuite/gas/mips/mips16-branch-unextended.l: New stderr
    	output.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 353abf7c10561aab3e8e7ffce6e270c3743376f0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:18:16 2016 +0000

    MIPS16: Fix SP-relative SD instruction annotation
    
    Fix the annotation of SP-relative SD instructions incorrectly marked as
    reading from the PC rather than SP, which in turn prevented their 16-bit
    forms from being scheduled into jump delay slots.  This bug has been
    there since forever.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Set RD_SP rather than RD_PC in
    	`pinfo2' with SP-relative "sd" entries.
    
    	gas/
    	* testsuite/gas/mips/mips16-sprel-swap.d: New test.
    	* testsuite/gas/mips/mips16-sprel-swap.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 63e014fccdd91a89873554f6b33d7128d7112813
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 14 21:14:33 2016 +0000

    MIPS16/opcodes: Fix and clarify MIPS16e commentary
    
    Correct the note about JALRC/JRC being compact jumps rather than
    branches, and add a reference from where the remaining MIPS16e additions
    live and the jumps used to be too, complementing commit ceb94aa50d68
    ("Update insn_mo when converting to a MIPS16e compact jump"),
    <https://sourceware.org/ml/binutils/2011-06/msg00369.html>.
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Update comments on MIPS16e
    	compact jumps.

commit c1fc2d7ee590f3bc87ee79c36e7216b0b6bb054b
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Sat Dec 3 18:50:43 2016 +0530

    ld: aarch64: fix TLS relaxation where TCB_SIZE is used
    
    TCB_SIZE is 2*sizeof(void *), which is 0x10 for lp64, and 0x8 for
    ilp32. During relaxation, ld goes to do a replace:
    bl   __tls_get_addr => add R0, R0, TCB_SIZE
    
    But actual implementation is:
    bfd_putl32 (0x91004000, contents + rel->r_offset + 4);
    
    Which is equivalent of add x0, x0, 0x10. This is wrong for ilp32.
    
    The possible fix for it is:
    bfd_putl32 (0x91000000 | (TCB_SIZE<<10), contents + rel->r_offset + 4);
    
    But ilp32 also needs w-registers, so it's simpler to put proper
    instruction in #if/#else condition.
    
    There are 2 such relaxations in elfNN_aarch64_tls_relax(), and so 2 new
    tests added for ilp32 mode to test it.
    
    Yury
    
    	* bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where
    	TCB_SIZE is used.
    	* ld/testsuite/ld-aarch64/aarch64-elf.exp: Add tests for the case.
    	* ld/testsuite/ld-aarch64/tls-relax-ld-le-small-ilp32.d: New file.
    	* ld/testsuite/ld-aarch64/tls-relax-ld-le-tiny-ilp32.d: New file.
    
    Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>

commit 7acd51d6971f12b832cd7281f669a7ae7feddf45
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Wed Dec 14 11:57:42 2016 +0530

    Revert "bfd: aarch64: fix word and arrdess size declaration in ilp32 mode"
    
    This reverts commit a02c3512655cc2c8ad68e4b656959b7d284acc7d.

commit 98fa61facff8fb041205950d642f5403372bfd96
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Wed Dec 14 11:56:54 2016 +0530

    Revert "ld: aarch64: fix TLS relaxation where TCB_SIZE is used"
    
    This reverts commit 6650f7bd18f8161b9f666d3e65a6346e23a9d85f.

commit a02c3512655cc2c8ad68e4b656959b7d284acc7d
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Fri Dec 9 21:17:01 2016 +0530

    bfd: aarch64: fix word and arrdess size declaration in ilp32 mode

commit 6650f7bd18f8161b9f666d3e65a6346e23a9d85f
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Sat Dec 3 18:50:43 2016 +0530

    ld: aarch64: fix TLS relaxation where TCB_SIZE is used
    
    TCB_SIZE is 2*sizeof(void *), which is 0x10 for lp64, and 0x8 for
    ilp32. During relaxation, ld goes to do a replace:
    bl   __tls_get_addr => add R0, R0, TCB_SIZE
    
    But actual implementation is:
    bfd_putl32 (0x91004000, contents + rel->r_offset + 4);
    
    Which is equivalent of add x0, x0, 0x10. This is wrong for ilp32.
    
    The possible fix for it is:
    bfd_putl32 (0x91000000 | (TCB_SIZE<<10), contents + rel->r_offset + 4);
    
    But ilp32 also needs w-registers, so it's simpler to put proper
    instruction in #if/#else condition.
    
    THere are 2 such relaxations in elfNN_aarch64_tls_relax(), and so 2 new
    tests added for ilp32 mode to test it.
    
    Yury

commit fc8e0108db6c60f2ecefb4004cddb94e8824fd42
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 14 00:00:23 2016 +0000

    Automatic date update in version.in

commit 591be3e4a841ac56bb3ee094447b708d58a6d4b8
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 13 13:01:13 2016 -0800

    Add --orphan-handling option.
    
    gold/
    	PR gold/20749
    	* options.h (--orphan-handling): New option.
    	(General_options::Orphan_handling): New enum.
    	(General_options::orphan_handling_enum): New method.
    	(General_options::set_orphan_handling_enum): New method.
    	(General_options::orphan_handling_enum_): New data member.
    	* options.cc (General_options::General_options): Initialize new member.
    	(General_options::finalize): Convert --orphan-handling argument to enum.
    	* script-sections.cc (Script_sections::output_section_name): Check it.

commit 03fb64f837bd8466ba6e7b7cb8880f5c6c87daab
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Dec 13 11:49:22 2016 -0800

    Do not use linker script to place static relocation sections.
    
    gold/
    	PR gold/20522
    	* layout.cc (Layout::choose_output_section): Add is_reloc parameter.
    	Adjust all callers.  Do not use linker script for is_reloc sections.
    	(Layout::layout_reloc): Pass is_reloc == true.
    	* layout.h (Layout::choose_output_section): Add is_reloc parameter.

commit a6a51754740513db76fdee3aa153cdd51e87a24a
Author: Renlin Li <renlin.li@arm.com>
Date:   Tue Dec 13 12:37:18 2016 +0000

    [Binutils][AARCH64]Remove Cn register for coprocessor CRn, CRm field
    
    The internal CN register representation for coprocessor fields used in aarch64
    sys, sysl instructions are removed in this patch.
    
    After the change, those fields are represented as immediate. Related checks are
    added as well.
    
    opcodes/
    
    	* aarch64-opc.c (aarch64_opnd_qualifiers): New CR value range
    	qualifier.
    	(operand_general_constraint_met_p): Remove case for CP_REG.
    	(aarch64_print_operand): Print CRn, CRm operand using imm field.
    	* aarch64-tbl.h (QL_SYS): Use CR qualifier.
    	(QL_SYSL): Likewise.
    	(aarch64_opcode_table): Change CRn, CRm operand class and type.
    	* aarch64-opc-2.c : Regenerate.
    	* aarch64-asm-2.c : Likewise.
    	* aarch64-dis-2.c : Likewise.
    
    include/
    
    	* opcode/aarch64.h (aarch64_operand_class): Remove
    	AARCH64_OPND_CLASS_CP_REG.
    	(enum aarch64_opnd): Change AARCH64_OPND_Cn to AARCH64_OPND_CRn,
    	AARCH64_OPND_Cm to AARCH64_OPND_CRm.
    	(aarch64_opnd_qualifier): Define AARCH64_OPND_QLF_CR qualifier.
    
    gas/
    
    	* config/tc-aarch64.c (AARCH64_REG_TYPES): Remove CN register.
    	(get_reg_expected_msg): Remove CN register case.
    	(parse_operands): rewrite parser for CRn, CRm operand.
    	(reg_names): Remove CN register.
    	* testsuite/gas/aarch64/diagnostic.s: Add a new test case.
    	* testsuite/gas/aarch64/diagnostic.l: Adjust error message.

commit aa785360cfa271505394080c8e367017782ca57a
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 13 17:05:20 2016 +0000

    PE linker script improvements.
    
    	PR ld/19254
    	* scripttempl/pe.sc (.fini): KEEP this section.
    	(.gcc_except_table): Likewise.
    	(.pdata): Also accept .pdata*.

commit 963201cf5d29c4dc718b5fb3507e085b302ff896
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Tue Dec 13 08:35:31 2016 -0800

    Fix aarch64 sim bug with adds64, and add testcases for last 3 bug fixes.
    
    	sim/aarch64
    	* simulator.c (NEG, POS): Move before set_flags_for_add64.
    	(set_flags_for_add64): Replace with a modified copy of
    	set_flags_for_sub64.
    
    	sim/testsuite/sim/aarch64
    	* testutils.inc (pass): Move .Lpass to start.
    	(fail): Move .Lfail to start.  Return 1 instead of 0.
    	(start): Moved .Lpass and .Lfail to here.
    	* adds.s: New.
    	* fstur.s: New.
    	* tbnz.s: New.

commit 9282b95ab7bfe1cdf471e9dd609ae0ea7bbed925
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Dec 13 12:52:59 2016 +0000

    [AArch64] Recognize R_AARCH64_P32_ABS32 as 32-bit relocation in readelf
    
    binutils/
    	* readelf.c (is_32bit_abs_reloc): Recognize R_AARCH64_P32_ABS32.

commit 971f1d27d2ee2732f9ab2fa75923007b40e2bbec
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Dec 13 12:50:17 2016 +0000

    [AArch64] Make LD testcases support ILP32 mode
    
    ld/
    	* testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_lp64_emul): New
    	function.
    	(run_dump_test_lp64): New function which pass LP64 mode options to both
    	assembler and linker when building test binary.
    	(aarch64elftests): Remove eh-frame-merge test.
    	(eh-frame-merge-lp64): Restrict eh-frame-merge test to LP64 only.
    	(run_dump_test): Migrate to run_dump_test_lp64 if the test source was
    	written for LP64 only.
    	* testsuite/ld-aarch64/erratum843419.d: Support ILP32 mode.
    	* testsuite/ld-aarch64/farcall-b-defsym.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-b.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-defsym.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
    	* testsuite/ld-aarch64/farcall-bl.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-15.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-16.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5a-local.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5a.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5b-local.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5b.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-5r-local.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-6a.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-6b.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7a.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-7b.d: Likewise.
    	* testsuite/ld-aarch64/ifunc-8.d: Likewise.
    	* testsuite/ld-aarch64/limit-b.d: Likewise.
    	* testsuite/ld-aarch64/limit-bl.d: Likewise.

commit 1bec0c8632397f3c5cdcf27bbb53318f6a6af7e0
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Tue Dec 13 12:46:35 2016 +0000

    [AArch64] Make GAS testcases support ILP32 mode
    
    gas/
    	* gas/testsuite/gas/aarch64/addsub.d: Support ILP32 mode.
    	* gas/testsuite/gas/aarch64/advsimd-across.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsimd-armv8_3.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsimd-fp16.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsimd-misc.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsisd-copy.d: Likewise.
    	* gas/testsuite/gas/aarch64/advsisd-misc.d: Likewise.
    	* gas/testsuite/gas/aarch64/alias.d: Likewise.
    	* gas/testsuite/gas/aarch64/armv8-ras-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/b_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/beq_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/bitfield-dump: Likewise.
    	* gas/testsuite/gas/aarch64/bitfield-no-aliases.d: Likewise.
    	* gas/testsuite/gas/aarch64/codealign.d: Likewise.
    	* gas/testsuite/gas/aarch64/codealign_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/crc32-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/crc32.d: Likewise.
    	* gas/testsuite/gas/aarch64/crypto-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/crypto.d: Likewise.
    	* gas/testsuite/gas/aarch64/dwarf.d: Likewise.
    	* gas/testsuite/gas/aarch64/float-fp16.d: Likewise.
    	* gas/testsuite/gas/aarch64/floatdp2.d: Likewise.
    	* gas/testsuite/gas/aarch64/fp-armv8_3.d: Likewise.
    	* gas/testsuite/gas/aarch64/fp-const0-parse.d: Likewise.
    	* gas/testsuite/gas/aarch64/fp_cvt_int.d: Likewise.
    	* gas/testsuite/gas/aarch64/fpmov.d: Likewise.
    	* gas/testsuite/gas/aarch64/inst-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldr_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-exclusive.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-pair.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-reg-offset.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-uns-imm.d: Likewise.
    	* gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.d: Likewise.
    	* gas/testsuite/gas/aarch64/lor-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/lor.d: Likewise.
    	* gas/testsuite/gas/aarch64/lse-atomic.d: Likewise.
    	* gas/testsuite/gas/aarch64/mapmisc.d: Likewise.
    	* gas/testsuite/gas/aarch64/mov-no-aliases.d: Likewise.
    	* gas/testsuite/gas/aarch64/mov.d: Likewise.
    	* gas/testsuite/gas/aarch64/movi.d: Likewise.
    	* gas/testsuite/gas/aarch64/movw_label.d: Likewise.
    	* gas/testsuite/gas/aarch64/msr.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-fp-cvt-int.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-frint.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-ins.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-not.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-vfp-reglist-post.d: Likewise.
    	* gas/testsuite/gas/aarch64/neon-vfp-reglist.d: Likewise.
    	* gas/testsuite/gas/aarch64/no-aliases.d: Likewise.
    	* gas/testsuite/gas/aarch64/optional.d: Likewise.
    	* gas/testsuite/gas/aarch64/pac.d: Likewise.
    	* gas/testsuite/gas/aarch64/pan-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/pan.d: Likewise.
    	* gas/testsuite/gas/aarch64/rdma-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/rdma.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g0.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsldm-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/shifted.d: Likewise.
    	* gas/testsuite/gas/aarch64/sve.d: Likewise.
    	* gas/testsuite/gas/aarch64/symbol.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg-1.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg-2.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg-3.d: Likewise.
    	* gas/testsuite/gas/aarch64/sysreg.d: Likewise.
    	* gas/testsuite/gas/aarch64/system-2.d: Likewise.
    	* gas/testsuite/gas/aarch64/system-3.d: Likewise.
    	* gas/testsuite/gas/aarch64/system.d: Likewise.
    	* gas/testsuite/gas/aarch64/tbz_1.d: Likewise.
    	* gas/testsuite/gas/aarch64/tlbi_op.d: Likewise.
    	* gas/testsuite/gas/aarch64/tls.d: Likewise.
    	* gas/testsuite/gas/aarch64/uao-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/uao.d: Likewise.
    	* gas/testsuite/gas/aarch64/virthostext-directive.d: Likewise.
    	* gas/testsuite/gas/aarch64/virthostext.d: Likewise.
    	* gas/testsuite/gas/aarch64/adr_1.d: Restrict test under -mabi=lp64.
    	* gas/testsuite/gas/aarch64/int-insns.d: Likewise.
    	* gas/testsuite/gas/aarch64/programmer-friendly.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-data.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_g2.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gotoff_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gotoff_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gottprel_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-gottprel_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-insn.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsgd_g0_nc.d: Likewise.
    	* gas/testsuite/gas/aarch64/reloc-tlsgd_g1.d: Likewise.
    	* gas/testsuite/gas/aarch64/tail_padding.d: Likewise.
    	* gas/testsuite/gas/aarch64/tls-desc.d: Likewise.

commit 1336427510a5ffe7ed8f0c402cc9d315cc679952
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 13 11:19:23 2016 +0000

    Add a 'Past Maintainers' section to the MAINTAINERS file.  Retire Mark Mitchell's name to this section.
    
    	* MAINTAINERS (Past Maintainers): New section.  Move Mark
    	Mitchell's name here.

commit bfbf34de2f27672282d4fa4c0916cc41890dcc6c
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 12 18:51:29 2016 -0800

    When using linker scripts, place linker-generated sections by the output section name.
    
    2016-12-12  Igor Kudrin  <ikudrin@accesssoftek.com>
    	    Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	PR gold/14676
    	* script-sections.cc (Output_section_definition::output_section_name):
    	For linker-generated sections, compare with output section name.
    	* testsuite/Makefile.am (script_test_13): New test.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/script_test_13.c: New source file.
    	* testsuite/script_test_13.sh: New script.
    	* testsuite/script_test_13.t: New linker script.

commit d81222d3863037a90e0402cf438f7e45600feea2
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 12 17:52:09 2016 -0800

    Fix edge cases in orphan section placement.
    
    There were still some cases I found where orphan section placement
    was screwy -- where the script has no output section description for
    either .data or .bss, a .bss orphan section ends up getting placed
    before the .data section. In addition, if there is an output section
    description for a data section not named .data (e.g., .rela.dyn),
    the orphan .bss gets placed before it. This patch cleans that up,
    by tracking the last allocated section even as we're adding orphans.
    
    I've also improved segment layout in the absence of a PHDRS clause.
    A zero-length NOBITS section will no longer force a new segment
    when followed by a PROGBITS section.
    
    2016-12-12  Cary Coutant  <ccoutant@gmail.com>
    
    gold/
    	* script-sections.cc (Orphan_section_placement::update_last_alloc):
    	New method.
    	(Orphan_section_placement::find_place): Place orphan .data section
    	after either RODATA or TEXT.
    	(Script_sections::place_orphan): Call update_last_alloc for allocated
    	sections.
    	(Script_sections::create_segments): Improve handling of BSS.

commit 75c6202b1d13b892581e8dd56b8e0664815390c1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 13 00:00:25 2016 +0000

    Automatic date update in version.in

commit 22b05d33b4c870d65972ff8aefdd297ddc66d139
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:30:06 2016 +1030

    Don't add PHDR for objcopy/strip or ld script specifying PHDRS
    
    HPPA64 needs to add a DT_PHDR header for shared libs.  That's fine
    when linking but shouldn't happen for strip/objcopy.  Also PHDR must
    come first so there's no need to look at all program headers.
    
    bfd/
    	* elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR
    	for objcopy/strip or when a ld script specifies PHDRS.
    ld/
    	* testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64.
    	* testsuite/ld-elf/note-1.d: Likewise.
    	* testsuite/ld-elf/note-2.d: Likewise.

commit 6392030005291f7c783da2247b63ae31dc8352e0
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:29:47 2016 +1030

    Don't fudge p_vaddr when PHDR in segment
    
    RX does horrible fudges to PT_LOAD p_vaddr, that affect the testsuite
    and mean the target won't support dynamic objects.  The latter
    probably doesn't matter too much since RX is an embedded target, but
    it's easy to stop some of the fudges in order to reduce special cases
    for RX in the testsuite.  The changes make sense in isolation too.
    
    bfd/
    	* elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust
    	segments that include the ELF file header or program headers.
    ld/
    	* testsuite/ld-elf/flags1.d: Run for RX.
    	* testsuite/ld-scripts/phdrs.exp: Likewise.
    	* testsuite/ld-scripts/pr14962.d: Likewise.
    	* testsuite/ld-scripts/pr14962-2.d: Likewise.

commit ea0ffd5be2dfd6ee696fc15294d7b2bf29f267a7
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:29:26 2016 +1030

    [GOLD] Allow for larger alignment in script_test_15
    
    PowerPC64 aligns .got to a 256 byte boundary.  This tends to bump the
    data segment file size.
    
    	PR gold/16711
    	* testsuite/script_test_15a.sh: Allows larger p_filesz.
    	* testsuite/script_test_15b.sh: Likewise.
    	* testsuite/script_test_15c.sh: Likewise.

commit d32a48b9f2d8a374b7ce3f2c47cc9a1c3b184838
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 13 09:21:56 2016 +1030

    [GOLD] Adjust testcase for PowerPC64
    
    Since the linker created .TOC. symbol is placed at roughly .got+32k,
    .toc input sections must be placed in or after .got if .toc entries
    are accessed using 16-bit signed offset relocs.  crt1.o contains such
    a relocation.
    
    	PR gold/20717
    	* testsuite/pr20717.t: Add .got output section containing .toc.

commit 88acc2e16743fc1e6384758c9a68cd6d2a8bbd46
Author: Nathan Sidwell <nathan@acm.org>
Date:   Mon Dec 12 12:52:37 2016 -0500

    Port c++/78252 from GCC
    
    	PR c++/78252
    	* cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
    	(d_print_init): Initialize it.
    	(d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
    	is_lambda_arg for auto.
    	<DEMANGLE_COMPONENT_REFERENCE,
    	DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
    	is_lambda_arg.
    	<DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
    	printing.
    	* testsuite/demangle-expected: Add lambda auto mangling cases.

commit d36cab83a963f5bb3773e0218cc02f63b0851d0b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 12 09:09:43 2016 +0000

    Remove assert on exec_bfd in cris_delayed_get_disassembler
    
    cris_delayed_get_disassembler has an assert that exec_bfd can't be
    NULL, but this assert can be triggered like this,
    
    (gdb) set architecture cris
    The target architecture is assumed to be cris
    (gdb) disassemble 0x0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:
    ../../binutils-gdb/gdb/cris-tdep.c:3798: internal-error: int cris_delayed_get_disassembler(bfd_vma, disassemble_info*): Assertion `exec_bfd != NULL' failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    
    however, cris_get_disassembler does have code to handle the case that
    bfd is NULL,
    
      /* If there's no bfd in sight, we return what is valid as input in all
         contexts if fed back to the assembler: disassembly *with* register
         prefix.  Unfortunately this will be totally wrong for v32.  */
      if (abfd == NULL)
        return print_insn_cris_with_register_prefix;
    
    This patch is to remove this assert.
    
    gdb:
    
    2016-12-12  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20955
    	* cris-tdep.c (cris_delayed_get_disassembler): Remove the
    	assert.

commit 029e9d52de3ac7fe984dc079ebd24506fd1eace7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 12 09:03:34 2016 +0000

    Handle memory error in print_insn_rx
    
    Nowadays, memory error in rx disassembly is not handled, so if I
    start a fresh GDB, and disassemble,
    
    (gdb) set architecture rx
    The target architecture is assumed to be rx
    (gdb) disassemble 0x0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	brk
       0x00000001:	brk
       0x00000002:	brk
       0x00000003:	brk
    
    the output is wrong.  This patch adds code to call dis->memory_error_func
    on memory error, and longjmp to print_insn_rx.  With this patch applied,
    
    (gdb) set architecture rx
    The target architecture is assumed to be rx
    (gdb) disassemble 0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	Cannot access memory at address 0x0
    
    opcodes:
    
    2016-12-12  Yao Qi  <yao.qi@linaro.org>
    
    	* rx-dis.c: Include <setjmp.h>
    	(struct private): New.
    	(rx_get_byte): Check return value of read_memory_func, and
    	call memory_error_func and OPCODES_SIGLONGJMP on error.
    	(print_insn_rx): Call OPCODES_SIGSETJMP.

commit 3a0b8f7ddb874283879baaf8af6d11094f4c4999
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Dec 12 09:03:34 2016 +0000

    Handle memory error in print_insn_rl78_common
    
    Nowadays, memory error in rl78 disassembly is not handled, so if I
    start a fresh GDB, and disassemble,
    
    (gdb) set architecture rl78
    The target architecture is assumed to be rl78
    (gdb) disassemble 0x0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	nop
       0x00000001:	nop
       0x00000002:	nop
       0x00000003:	nop
    
    the output is wrong.  This patch adds code to call dis->memory_error_func
    on memory error, and longjmp to print_insn_rl78_common.  With this
    patch applied,
    
    (gdb) set architecture rl78
    The target architecture is assumed to be rl78
    (gdb) disassemble 0,+4
    Dump of assembler code from 0x0 to 0x4:
       0x00000000:	Cannot access memory at address 0x0
    
    opcodes:
    
    2016-12-12  Yao Qi  <yao.qi@linaro.org>
    
    	* rl78-dis.c: Include <setjmp.h>.
    	(struct private): New.
    	(rl78_get_byte): Check return value of read_memory_func, and
    	call memory_error_func and OPCODES_SIGLONGJMP on error.
    	(print_insn_rl78_common): Call OPCODES_SIGJMP.

commit cc90de49738ad220bd1d3d001b492679fc488fe1
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Sun Dec 11 20:31:09 2016 -0800

    Fix earlier ChangeLog entry to give Igor credit, add testcases.
    
    2016-12-01  Cary Coutant  <ccoutant@gmail.com>
    	    Igor Kudrin  <ikudrin@accesssoftek.com>
    
    	PR gold/20717
    	* script-sections.cc (Script_sections): Set *keep to false when
    	no match.
    
    2016-12-11  Igor Kudrin  <ikudrin@accesssoftek.com>
    
    	PR gold/20717
    	* testsuite/Makefile.am (pr20717): New test.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/pr20717.c: New test source file.
    	* testsuite/pr20717.sh: New test script.
    	* testsuite/pr20717.t: New test linker script.

commit 5d9f66cb84b9f228c1082d3a1037355edceddded
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Sun Dec 11 17:31:25 2016 -0800

    Fix problems with bss handling in linker scripts.
    
    PR 16711 noted that gold allocates file space for BSS sections when using
    a linker script. I've fixed that by rewriting set_section_addresses and
    set_section_list_addresses to track the file offset separate from the
    current virtual address, so that BSS sections do not move the file offset.
    Now, if a series of BSS sections come at the end of a segment, we do not
    allocate file space; but if a script forces them into the middle of a
    segment, we will still allocate file space (matching Gnu ld behavior).
    I've also added a warning when that happens.
    
    That exposed another problem where orphan .bss sections were sometimes
    placed in the middle of a segment. For example, if the script mentions
    the .got section, but both .data and .bss are orphans, gold would put
    both .data and .bss in front of .got. I've fixed that by ensuring that
    orphan BSS sections are always placed after all other allocated sections.
    
    It also exposed a problem where the SUBALIGN property is not handled
    properly. The ld manual clearly states that it should override input section
    alignment, whether greater or less than the given alignment, but gold would
    only increase an input section's alignment. Gold would also place the output
    section based on its original alignment before the SUBALIGN property took
    effect, leading to a misaligned output section (where the input section
    was properly aligned in memory, but was not aligned relative to the start
    of the section), in violation of the ELF/gABI spec. I've fixed that by
    making sure that the SUBALIGN property overrides the internal alignment of
    the input sections as well as the external alignment of the output section.
    This affected the behavior of script_test_2, which was written to expect
    a misaligned section.
    
    The net effect is, I think, improved compatibility with the BFD linker.
    There are still cases where orphan placement differs, but the differences
    should be rarer and less important. ALIGN and SUBALIGN behavior is closer,
    but still not an exact match -- I still found cases where ld would create
    a misaligned output section, and where gold will properly align it.
    
    gold/
    	PR gold/16711
    	* output.cc (Output_section::set_final_data_size): Calculate data size
    	based on relative offset rather than file offset.
    	(Output_segment::set_section_addresses): Track file offset separately
    	from address offset.
    	(Output_segment::set_section_list_addresses): Add pfoff parameter.
    	Track file offset separately.  Don't move file offset for BSS
    	sections.
    	* output.h (Output_segment::set_section_list_addresses): Add pfoff
    	parameter.
    	* script-sections.cc (Orphan_section_placement): Add PLACE_LAST_ALLOC.
    	(Orphan_section_placement::Orphan_section_placement): Initialize it.
    	(Orphan_section_placement::output_section_init): Track last allocated
    	section.
    	(Orphan_section_placement::find_place): Place BSS after last allocated
    	section.
    	(Output_section_element_input::set_section_addresses): Always override
    	input section alignment when SUBALIGN is specified.
    	(Output_section_definition::set_section_addresses): Override alignment
    	of output section when SUBALIGN is specified.
    
    	* testsuite/Makefile.am (script_test_15a, script_test_15b)
    	(script_test_15c): New test cases.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/script_test_2.cc: Adjust expected layout.
    	* testsuite/script_test_15.c: New source file.
    	* testsuite/script_test_15a.sh: New shell script.
    	* testsuite/script_test_15a.t: New linker script.
    	* testsuite/script_test_15b.sh: New shell script.
    	* testsuite/script_test_15b.t: New linker script.
    	* testsuite/script_test_15c.sh: New shell script.
    	* testsuite/script_test_15c.t: New linker script.

commit e83563a9ed0dd6ccc415c4b0cce373fc3264b7a5
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Sun Dec 11 16:40:11 2016 -0800

    Regenerate Makefile.in to get rid of annoying diffs caused by non-deterministic automake.
    
    	* Makefile.in: Regenerate.

commit 98fdf25a43abdad5784e762466fdd7bd59b0899e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 12 00:00:21 2016 +0000

    Automatic date update in version.in

commit ec6f610ffcc411237e9f8955dd2227cefd255af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 11 00:00:23 2016 +0000

    Automatic date update in version.in

commit 4783ebbcfa35032ac2742f403258a14b647d9ba6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 10 00:00:21 2016 +0000

    Automatic date update in version.in

commit 64c111834081a117f902cffc15dadbc535f1c65e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 9 23:11:40 2016 +0000

    MIPS16: Remove unused `>' operand code
    
    This code has never been used throughout the repository history, and
    likely not before either, as due to the assymetry of MIPS16 instruction
    set encoding there are no 32-bit shift operations having their immediate
    shift count placed in the position of the usual `rx' instruction field.
    
    	gas/
    	* config/tc-mips.c (mips16_macro_build) <'>'>: Remove case.
    
    	include/
    	* opcode/mips.h: Remove references to `>' operand code.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'>'>: Remove cases.

commit f17ecb4baca990b57cc57e8337c4e03ecee02742
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 9 22:50:07 2016 +0000

    MIPS16/opcodes: Use hexadecimal interpretation for the `e' operand code
    
    Make the `e' operand code used with raw EXTEND instructions use the
    hexadecimal rather than decimal format, for consistency with what is
    actually produced by code in `print_insn_mips16' dedicated to EXTEND
    disassembly.  Due to that special handling the operand code is only
    interpreted for assembly however, which accepts either format either
    way, so there is no functional change here.
    
    	opcodes/
    	* mips16-opc.c (decode_mips16_operand) <'e'>: Use HINT rather
    	than UINT.
    
    	gas/
    	* testsuite/gas/mips/mips16-extend.d: New test.
    	* testsuite/gas/mips/mips16-extend.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new test.

commit 55af478400524cba7994e353fd9a98ef1543df2f
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Dec 9 22:27:00 2016 +0000

    MIPS16/opcodes: Reformat raw EXTEND and undecoded output
    
    Use a tab rather than a space to separate `extend' and its uninterpreted
    argument output, like with regular instructions.  Separate hexadecimal
    halves of undecoded extended instructions output with a space instead of
    presenting them concatenated.
    
    	opcodes/
    	* mips-dis.c (print_insn_mips16): Use a tab rather than a space
    	to separate `extend' and its uninterpreted argument output.
    	Separate hexadecimal halves of undecoded extended instructions
    	output.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-extend-noinsn.d: New test.
    	* testsuite/binutils-all/mips/mips16-extend-noinsn.s: New test
    	source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new test.

commit 1736a7bd96e8927c3f889a35f9153df4fd19d833
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 9 16:08:49 2016 +0000

    gdb: Remove support for obsolete OSABIs and a.out
    
    gdb/ChangeLog:
    2016-12-09  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o.
    	* alpha-fbsd-tdep.c (_initialize_alphafbsd_tdep): Adjust.
    	* alpha-nbsd-tdep.c: Move comment to _initialize_alphanbsd_tdep.
    	(alphanbsd_core_osabi_sniffer): Delete.
    	(_initialize_alphanbsd_tdep): No longer handle a.out.
    	* alpha-obsd-tdep.c (_initialize_alphaobsd_tdep): Adjust.
    	* amd64-fbsd-tdep.c (_initialize_amd64fbsd_tdep): Adjust.
    	* amd64-nbsd-tdep.c (_initialize_amd64nbsd_tdep): Adjust.
    	* amd64-obsd-tdep.c (amd64obsd_supply_regset)
    	(amd64obsd_combined_regset)
    	(amd64obsd_iterate_over_regset_sections, amd64obsd_core_init_abi):
    	Delete.
    	(_initialize_amd64obsd_tdep): Don't handle a.out.
    	* arm-nbsd-nat.c (struct md_core, fetch_core_registers)
    	(arm_netbsd_core_fns): Delete.
    	(_initialize_arm_netbsd_nat): Don't register arm_netbsd_core_fns.
    	* arm-nbsd-tdep.c (arm_netbsd_aout_init_abi)
    	(arm_netbsd_aout_osabi_sniffer): Delete.
    	(_initialize_arm_netbsd_tdep): Don't handle a.out.
    	* arm-obsd-tdep.c (armobsd_core_osabi_sniffer): Delete.
    	(_initialize_armobsd_tdep): Don't handle a.out.
    	* arm-tdep.c (arm_gdbarch_init): Remove bfd_target_aout_flavour
    	case.
    	* breakpoint.c (disable_breakpoints_in_unloaded_shlib): Remove
    	SunOS a.out handling.
    	* configure.tgt (vax-*-netbsd* | vax-*-knetbsd*-gnu): Remove
    	vax-obsd-tdep.o from gdb_target_objs.
    	(vax-*-openbsd*): Likewise.
    	(*-*-freebsd*): Adjust default gdb_osabi.
    	(*-*-openbsd*): Likewise.
    	* dbxread.c (block_address_function_relative): Delete.
    	(dbx_symfile_read): Remove reference to
    	block_address_function_relative.
    	(dbx_symfile_read): Don't call read_dbx_dynamic_symtab.
    	(read_dbx_dynamic_symtab): Delete.
    	(process_one_symbol): Remove references to
    	block_address_function_relative.
    	* defs.h (GDB_OSABI_FREEBSD_AOUT, GDB_OSABI_NETBSD_AOUT): Remove.
    	(GDB_OSABI_FREEBSD_ELF): Rename to ...
    	(GDB_OSABI_FREEBSD): ... this.
    	(GDB_OSABI_NETBSD_ELF): Rename to ...
    	(GDB_OSABI_NETBSD): ... this.
    	(GDB_OSABI_OPENBSD_ELF): Rename to ...
    	(GDB_OSABI_OPENBSD): ... this.
    	(GDB_OSABI_HPUX_ELF, GDB_OSABI_HPUX_SOM): Remove.
    	* fbsd-tdep.c: Adjust comment.
    	* hppa-nbsd-tdep.c (_initialize_hppanbsd_tdep): Adjust.
    	* hppa-obsd-tdep.c (GDB_OSABI_NETBSD_CORE): Delete.
    	(hppaobsd_core_osabi_sniffer): Delete.
    	(_initialize_hppabsd_tdep): Don't handle a.out.
    	* hppa-tdep.c (hppa_stub_frame_unwind_cache): Don't handle
    	GDB_OSABI_HPUX_SOM.
    	(hppa_gdbarch_init): Likewise.
    	* i386-bsd-tdep.c (i386bsd_aout_osabi_sniffer)
    	(i386bsd_core_osabi_sniffer, _initialize_i386bsd_tdep): Delete.
    	* i386-fbsd-tdep.c (i386fbsdaout_init_abi): Delete.  Merge bits
    	with ...
    	(i386fbsd_init_abi): ... this.
    	(_initialize_i386fbsd_tdep): Don't handle a.out.
    	* i386-nbsd-tdep.c (_initialize_i386nbsd_tdep): Adjust.
    	* i386-obsd-tdep.c (i386obsd_aout_supply_regset)
    	(i386obsd_aout_gregset)
    	(i386obsd_aout_iterate_over_regset_sections): Delete.
    	(i386obsd_init_abi): Merge with i386obsd_elf_init_abi.
    	(i386obsd_aout_init_abi): Delete.
    	(_initialize_i386obsd_tdep): Don't handle a.out.
    	* m68k-bsd-tdep.c (m68kobsd_sigtramp_cache_init)
    	(m68kobsd_sigtramp): Delete.
    	(m68kbsd_init_abi): Merge with ...
    	(m68kbsd_elf_init_abi): ... this, and delete it.
    	(m68kbsd_aout_init_abi): Delete.
    	(m68kbsd_aout_osabi_sniffer, m68kbsd_core_osabi_sniffer): Delete.
    	(_initialize_m68kbsd_tdep): Don't handle a.out.
    	* mips-nbsd-tdep.c (_initialize_mipsnbsd_tdep): Adjust.
    	* mips64-obsd-tdep.c (_initialize_mips64obsd_tdep): Adjust.
    	* osabi.c (gdb_osabi_names): Remove "a.out" entries.  Drop "ELF"
    	suffixes.  Remove "HP-UX" entries.
    	(generic_elf_osabi_sniff_abi_tag_sections): Adjust.
    	(generic_elf_osabi_sniffer): No longer handle GDB_OSABI_HPUX_ELF.
    	Adjust.
    	(_initialize_ppcfbsd_tdep): Adjust.
    	* ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Adjust.
    	* ppc-obsd-tdep.c (GDB_OSABI_NETBSD_CORE)
    	(ppcobsd_core_osabi_sniffer): Delete.
    	(_initialize_ppcobsd_tdep): Don't handle a.out.
    	* rs6000-tdep.c (rs6000_gdbarch_init): Adjust.
    	* sh-nbsd-tdep.c (GDB_OSABI_NETBSD_CORE)
    	(shnbsd_core_osabi_sniffer): Delete.
    	(_initialize_shnbsd_tdep): Don't handle a.out.
    	* solib.c (clear_solib): Don't handle SunOS/a.out.
    	* sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Make extern.
    	(sparc32nbsd_aout_init_abi): Delete.
    	(sparc32nbsd_elf_init_abi): Merged into sparc32nbsd_init_abi.
    	(sparcnbsd_aout_osabi_sniffer): Delete.
    	(GDB_OSABI_NETBSD_CORE, sparcnbsd_core_osabi_sniffer): Delete.
    	(_initialize_sparcnbsd_tdep): No longer handle a.out.
    	* sparc-obsd-tdep.c (sparc32obsd_init_abi)
    	(_initialize_sparc32obsd_tdep): Adjust.
    	* sparc-tdep.h (sparc32nbsd_elf_init_abi): Rename to ...
    	(sparc32nbsd_init_abi): ... this.
    	* sparc64-fbsd-tdep.c (_initialize_sparc64fbsd_tdep): Adjust.
    	* sparc64-nbsd-tdep.c (_initialize_sparc64nbsd_tdep): Adjust.
    	* sparc64-obsd-tdep.c (_initialize_sparc64obsd_tdep): Adjust.
    	* stabsread.c: Update comment.
    	* symmisc.c (print_objfile_statistics): Don't mention "a.out" in
    	output.
    	* vax-nbsd-tdep.c (_initialize_vaxnbsd_tdep): Adjust.
    	* vax-obsd-tdep.c: Delete file.

commit f94f411b8308674eb4f790a9fcad0ffa30b568e5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 15:44:48 2016 +0000

    Add ChangeLog entries
    
    ChangeLog entries are missed in my two previous commits.

commit a28aa6edd4ba848c110cd73fd4e29c2bbdb2cb72
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 15:27:43 2016 +0000

    Create tdep->rx_psw_type and tdep->rx_fpsw_type lazily
    
    I build GDB with all targets enabled, and "set architecture rx",
    GDB crashes,
    
    (gdb) set architecture rx
    
    Program received signal SIGSEGV, Segmentation fault.
    append_flags_type_flag (type=0x20cc360, bitpos=bitpos@entry=0, name=name@entry=0xd27529 "C") at ../../binutils-gdb/gdb/gdbtypes.c:4926
    4926				   name);
    (gdb) bt 10
     #0  append_flags_type_flag (type=0x20cc360, bitpos=bitpos@entry=0, name=name@entry=0xd27529 "C") at ../../binutils-gdb/gdb/gdbtypes.c:4926
     #1  0x00000000004ce725 in rx_gdbarch_init (info=..., arches=<optimized out>) at ../../binutils-gdb/gdb/rx-tdep.c:1051
     #2  0x00000000006b05a4 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5269
     #3  0x000000000060eee4 in gdbarch_update_p (info=...) at ../../binutils-gdb/gdb/arch-utils.c:557
     #4  0x000000000060f8a8 in set_architecture (ignore_args=<optimized out>, from_tty=1, c=<optimized out>) at ../../binutils-gdb/gdb/arch-utils.c:531
     #5  0x0000000000593d0b in do_set_command (arg=<optimized out>, arg@entry=0x20bee81 "rx ", from_tty=from_tty@entry=1, c=c@entry=0x20b1540)
        at ../../binutils-gdb/gdb/cli/cli-setshow.c:455
     #6  0x00000000007665c3 in execute_command (p=<optimized out>, p@entry=0x20bee70 "set architecture rx ", from_tty=1) at ../../binutils-gdb/gdb/top.c:666
     #7  0x00000000006935f4 in command_handler (command=0x20bee70 "set architecture rx ") at ../../binutils-gdb/gdb/event-top.c:577
     #8  0x00000000006938d8 in command_line_handler (rl=<optimized out>) at ../../binutils-gdb/gdb/event-top.c:767
     #9  0x0000000000692c2c in gdb_rl_callback_handler (rl=0x20be7f0 "") at ../../binutils-gdb/gdb/event-top.c:200
    
    The cause is that we want to access some builtin types in gdbarch init, but
    it is not initialized yet.  I fix it by creating the type when it is to be
    used.  We've already done this in sparc, sparc64 and m68k.
    
    gdb:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20954
    	* rx-tdep.c (rx_psw_type): New function.
    	(rx_fpsw_type): New function.
    	(rx_register_type): Call rx_psw_type and rx_fpsw_type.
    	(rx_gdbarch_init): Move code to rx_psw_type and
    	rx_fpsw_type.
    
    gdb/testsuite:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/all-architectures.exp.in: Remove kfail for "rx".

commit 1a31b34a18d61dee55042f2ab23c8fa9203fe6ef
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 15:27:43 2016 +0000

    Create tdep->rl78_psw_type lazily
    
    I build GDB for all targets enabled.  When I "set architecture rl78",
    GDB crashes,
    
    (gdb) set architecture rl78
    
    Program received signal SIGSEGV, Segmentation fault.
    append_flags_type_flag (type=0x20cc0e0, bitpos=bitpos@entry=0, name=name@entry=0x11dba3f "CY") at ../../binutils-gdb/gdb/gdbtypes.c:4926
    4926				   name);
    (gdb) bt 10
     #0  append_flags_type_flag (type=0x20cc0e0, bitpos=bitpos@entry=0, name=name@entry=0x11dba3f "CY") at ../../binutils-gdb/gdb/gdbtypes.c:4926
     #1  0x00000000004aaca8 in rl78_gdbarch_init (info=..., arches=<optimized out>) at ../../binutils-gdb/gdb/rl78-tdep.c:1410
     #2  0x00000000006b05a4 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5269
     #3  0x000000000060eee4 in gdbarch_update_p (info=...) at ../../binutils-gdb/gdb/arch-utils.c:557
     #4  0x000000000060f8a8 in set_architecture (ignore_args=<optimized out>, from_tty=1, c=<optimized out>) at ../../binutils-gdb/gdb/arch-utils.c:531
     #5  0x0000000000593d0b in do_set_command (arg=<optimized out>, arg@entry=0x20be851 "rl78", from_tty=from_tty@entry=1, c=c@entry=0x20b1540)
        at ../../binutils-gdb/gdb/cli/cli-setshow.c:455
     #6  0x00000000007665c3 in execute_command (p=<optimized out>, p@entry=0x20be840 "set architecture rl78", from_tty=1) at ../../binutils-gdb/gdb/top.c:666
     #7  0x00000000006935f4 in command_handler (command=0x20be840 "set architecture rl78") at ../../binutils-gdb/gdb/event-top.c:577
     #8  0x00000000006938d8 in command_line_handler (rl=<optimized out>) at ../../binutils-gdb/gdb/event-top.c:767
     #9  0x0000000000692c2c in gdb_rl_callback_handler (rl=0x20be890 "") at ../../binutils-gdb/gdb/event-top.c:200
    
    The cause is that we want to access some builtin types in gdbarch init, but
    it is not initialized yet.  I fix it by creating the type when it is to be
    used.  We've already done this in sparc, sparc64 and m68k.
    
    gdb:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	PR tdep/20953
    	* rl78-tdep.c (rl78_psw_type): New function.
    	(rl78_register_type): Call rl78_psw_type.
    	(rl78_gdbarch_init): Move code to rl78_psw_type.
    
    gdb/testsuite:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.base/all-architectures.exp.in: Remove kfail for rl78.

commit f1b5deee16144a75aa605bf37ed38d461587d399
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 9 14:59:09 2016 +0000

    Add test that exercises all bfd architecture, osabi, endian, etc. combinations
    
    This adds a test that exposes several problems fixed by earlier
    patches:
    
    #1 - Buffer overrun when host/target formats match, but sizes don't.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00125.html
    
    #2 - Missing handling for FR-V FR300.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00117.html
    
    #3 - BFD architectures with spaces in their names (v850).
         https://sourceware.org/ml/binutils/2016-03/msg00108.html
    
    #4 - The OS ABI names with spaces issue.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00116.html
    
    #5 - Bogus HP/PA long double format.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00122.html
    
    #6 - Cris big endian internal error.
         https://sourceware.org/ml/gdb-patches/2016-03/msg00126.html
    
    #7 - Several PowerPC bfd archs/machines not handled by gdb.
         https://sourceware.org/bugzilla/show_bug.cgi?id=19797
    
    And hopefully helps catch others in the future.
    
    This started out as a test that simply did,
    
     gdb -ex "print 1.0L"
    
    to exercise #1 above.
    
    Then to cover both 32-bit target / 64-bit host and the converse, I
    thought of having the testcase print the floats twice, once with the
    architecture set to "i386" and then to "i386:x86-64".  This way it
    wouldn't matter whether gdb was built as 32-bit or a 64-bit program.
    
    Then I thought that other archs might have similar host/target
    floatformat conversion issues as well.  Instead of hardcoding some
    architectures in the test file, I thought we could just iterate over
    all bfd architectures and OS ABIs supported by the gdb build being
    tested.  This is what then exposed all the other problems listed
    above...
    
    With an --enable-targets=all, this exercises over 14 thousand
    combinations.  If left in a single test file, it all consistenly runs
    in under a minute on my machine (An Intel i7-4810MQ @ 2.8 MHZ running
    Fedora 23).  Split in 8 chunks, as in this commit, it runs in around
    25 seconds, with make -j8.
    
    To avoid flooding the gdb.sum file, it avoids calling "pass" on each
    tested combination/iteration.  I'm explicitly not implementing that by
    passing an empty message to gdb_test / gdb_test_multiple, because I
    still want a FAIL to be logged in gdb.sum.  So instead this puts the
    internal passes in the gdb.log file, only, prefixed "IPASS:", for
    internal pass.  TBC, if some iteration fails, it'll still show up as
    FAIL in gdb.sum.  If this is an approach that takes on, I can see us
    extending the common bits to support it for all testcases.
    
    gdb/testsuite/ChangeLog:
    2016-12-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/all-architectures-0.exp: New file.
    	* gdb.base/all-architectures-1.exp: New file.
    	* gdb.base/all-architectures-2.exp: New file.
    	* gdb.base/all-architectures-3.exp: New file.
    	* gdb.base/all-architectures-4.exp: New file.
    	* gdb.base/all-architectures-5.exp: New file.
    	* gdb.base/all-architectures-6.exp: New file.
    	* gdb.base/all-architectures-7.exp: New file.
    	* gdb.base/all-architectures.exp.in: New file.

commit fc2f703edb656c69b0026a006c6063cdb255e06a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Use code cache in aarch64 prologue analyzer
    
    This patch change aarch prologue analyzer using code cache, in order
    to improve the performance of remote debugging.
    
    gdb.perf/skip-prologue.exp (measured by wall-time) is improved when
    the program is compiled without debug information.
    
    			Original	Patched		Original	Patched
    			without dbg	without dbg	with dbg	with dbg
    
    /			11.1635239124	9.99472999573	9.65339517593	9.66648793221
    -fstack-protector-all	11.2560930252	9.338118	9.63896489143	9.59474396706
    
    gdb:
    
    2016-12-9  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (instruction_reader::read): Call
    	read_code_unsigned_integer instead of
    	read_memory_unsigned_integer.

commit 198cd59d289209ad63cdd6da45e02a1c12b423a7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Use code cache in arm prologue analyzer
    
    This patch change arm prologue analyzer using code cache, in order
    to improve the performance of remote debugging.
    
    gdb.perf/skip-prologue.exp (measured by wall-time) is improved a lot,
    
    			Original	Patched		Original	Patched
    			without dbg	without dbg	with dbg	with dbg
    
    -marm			14.166741848	9.32852292061  	11.4908499718  	9.16302204132
    -marm   		14.6705040932  	9.34849786758  	18.2788009644  	9.14823913574
    \-fstack-protector-all
    -mthumb			34.4391930103	10.6062178612 	13.7886838913	10.3094120026
    -mthumb
    \-fstack-protector-all	34.9310460091	10.6413481236	25.3875930309	10.6294929981
    
    gdb:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (skip_prologue_function): Call
    	read_code_unsigned_integer instead of
    	read_memory_unsigned_integer.
    	(thumb_analyze_prologue): Likewise.
    	(arm_analyze_load_stack_chk_guard): Likewise.
    	(arm_skip_stack_protector): Likewise.
    	(arm_analyze_prologue):Likewise.
    	(extend_buffer_earlier): Call target_read_code instead
    	of target_read_memory.
    	(arm_adjust_breakpoint_address): Likewise.

commit 364ca42e71dfdce3f34e97ef028f7e3d5b5d880e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Compile gdb.perf/skip-prologue.c with and without debug info
    
    gdb.perf/skip-prologue.exp is intended to measure the performance of
    skipping prologue with prologue analysis by setting breakpoints.
    However, if program is compiled with debug info, GDB is smart to
    skip prologue by line table from debug info, so prologue analysis
    is not exercised at all.
    
    This patch adds a parameter COMPILE to specify compiling with
    debug information, otherwise, it is compiled without debug
    information.
    
    gdb/testsuite:
    
    2016-12-09  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.perf/skip-prologue.exp: Add parameter COMPILE.

commit c752a4cccb99ba73f51eff74b394dcdcd26d4c59
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Wed May 25 18:54:40 2016 +0200

    Hurd: Adjust to changes to "push pruning old threads down to the target"
    
    For "info threads", we currently run into:
    
        $ gdb/gdb -q -nw -nx --batch -ex start -ex info\ threads bfd/doc/chew
        Temporary breakpoint 1 at 0x80486e0: file ../../../W._C._Handy/bfd/doc/chew.c, line 1535.
        [New Thread 10656.5]
    
        Thread 4 hit Temporary breakpoint 1, main (ac=1, av=0x102cd84) at ../../../W._C._Handy/bfd/doc/chew.c:1535
        1535    {
          Id   Target Id         Frame
          1    bogus thread id 1 Can't fetch registers from thread bogus thread id 1: No such thread
    
    Before commit e8032dde10b743253125d7defb5f5503b21c1d26,
    gdb/thread.c:update_thread_list used to call prune_threads, after that change
    it doesn't anymore, and we don't implement the to_update_thread_list target
    method where the prune_threads call got moved.  For now, apply a fix, related
    to commit c82f56d9d760a9b4034eeaac44f2f0fa5779ff69 "Hurd: Adjust to
    startup-with-shell changes", which restores the previous behavior:
    
          Id   Target Id         Frame
        * 4    Thread 10688.4    main (ac=1, av=0x102cd84) at ../../../W._C._Handy/bfd/doc/chew.c:1535
          5    Thread 10688.5    0x0106096c in ?? () from /lib/i386-gnu/libc.so.0.3
    
    Not perfect, but at least better.
    
    	gdb/
    	* gnu-nat.c (gnu_create_inferior): After startup_inferior, call
    	prune_threads.

commit 53488a6e194af11c2528e5e284facb8a6171b695
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Thu Dec 8 18:42:03 2016 +0100

    Avoid PATH_MAX usage
    
    On GNU/Hurd, there is no "#define PATH_MAX", so this failed to build.
    
    	gdb/
    	* inferior.c (print_selected_inferior): Avoid PATH_MAX usage.

commit cfccf141f0db8de28ba21a8920939c30e123d73e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 9 00:00:25 2016 +0000

    Automatic date update in version.in

commit 39f66f3ae25ebd3a065218ce880280fd5b4b861c
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 23:29:37 2016 +0000

    MIPS16/opcodes: Fix off-by-one indentation in `print_mips16_insn_arg'
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Remove extraneous
    	indentation space across.

commit 860b03a8f357d1565bd9d79ae25121059b2d28ae
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 23:29:01 2016 +0000

    MIPS16/opcodes: Fix PC-relative operation delay-slot adjustment
    
    Complement commit dd8b7c222e0e ("MIPS: mips16e jalrc/jrc opcodes"),
    <https://sourceware.org/ml/binutils/2005-07/msg00349.html>, and stop the
    disassembler making a delay-slot adjustment for PC-relative operations
    following either MIPS16e compact jumps, or undefined RR/J(AL)R(C)
    encodings that have the `l' (link) and `ra' (source register is `ra')
    bits set both at a time.  Adjust code description for accuracy.  Add a
    suitable test case.
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Avoid delay-slot
    	adjustment for PC-relative operations following MIPS16e compact
    	jumps or undefined RR/J(AL)R(C) encodings.
    
    	binutils/
    	* testsuite/binutils-all/mips/mips16-pcrel.d: New test.
    	* testsuite/binutils-all/mips/mips16-pcrel.s: New test source.
    	* testsuite/binutils-all/mips/mips.exp: Run the new test.

commit 731f7c4ea30cc409c45412eec15e3d66afe051f5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 22:55:42 2016 +0000

    ARC/GAS: Correct a `spaces' global shadowing error
    
    Fix a commit a9752fdf8398 ("[ARC] Sync cpu names with the ones accepted
    by GCC.") build regression:
    
    cc1: warnings being treated as errors
    .../gas/config/tc-arc.c: In function 'arc_show_cpu_list':
    .../gas/config/tc-arc.c:3452: error: declaration of 'spaces' shadows a global declaration
    .../gas/../include/libiberty.h:248: error: shadowed declaration is here
    make[4]: *** [tc-arc.o] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	gas/
    	* config/tc-arc.c (arc_show_cpu_list): Rename `spaces' local
    	variable to `space_buf'.

commit bf355b690f07315bf2704e349c4f1c9ca611f031
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 22:53:39 2016 +0000

    ARM/GAS: Correct an `index' global shadowing error
    
    Fix a commit 008a97eff0ca ("[GAS][ARM]Generate unpredictable warning for
    pc used in data processing instructions with register-shifted register
    operand.") build regression:
    
    cc1: warnings being treated as errors
    .../gas/config/tc-arm.c: In function 'encode_arm_shift':
    .../gas/config/tc-arm.c:7439: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    make[4]: *** [tc-arm.o] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	gas/
    	* config/tc-arm.c (encode_arm_shift): Rename `index' local
    	variable to `op_index'.

commit 329d01f70ea6367a9593c9b31e268c06dd729ec9
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Thu Dec 8 22:51:44 2016 +0000

    AArch64/opcodes: Correct another `index' global shadowing error
    
    Fix a commit c2c4ff8d52a2 ("[AArch64] Add ARMv8.3 FCMLA and FCADD
    instructions") build regression:
    
    cc1: warnings being treated as errors
    .../opcodes/aarch64-dis.c: In function 'aarch64_ext_sve_addr_rr_lsl':
    .../opcodes/aarch64-dis.c:1324: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    make[4]: *** [aarch64-asm.lo] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	opcodes/
    	* aarch64-asm.c (aarch64_ins_reglane): Rename `index' local
    	variable to `reglane_index'.

commit 3a2488dd21a895df3ffb49048f5de1a83ce2ddd4
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 8 07:25:09 2016 -0600

    Fix crash when disassembling invalid range on powerpc vle
    
    I got a report of a gdb crash for vle and further investigation showed an
    attempt to disassemble an invalid memory range.  I tracked the crash down
    to the code in get_powerpc_dialect, where we fail to make sure we have a
    valid section pointer before dereferencing it.
    
    There is no such problem for rs6000-based disassembling.
    
    opcodes/ChangeLog:
    
    2016-12-08  Luis Machado  <lgustavo@codesourcery.com>
    
    	* ppc-dis.c (get_powerpc_dialect): Check NULL info->section.

commit 1d262527cf7ef3cdd2c015dc3540b47996e94d37
Author: Etienne Buira <etienne.buira@gmail.com>
Date:   Thu Dec 8 12:52:21 2016 +0000

    Always use a hex prefix when displaying the alignment of program headers.
    
    	* readelf.c (process_program_headers): Always use hex prefix when
    	displaying the segment alignment.

commit 980d0cdd2fc40c30f3ddef644659d7d0dc00ed40
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 16:08:29 2016 +1030

    [GOLD] Don't assert in powerpc stub_table
    
    A branch in a non-exec section that needs a stub can lead to this
    assertion.
    
    	* powerpc.cc (Powerpc_relobj::stub_table): Return NULL rather
    	then asserting.

commit 69a2af1016e03239f7af4e55268bd27fc500f800
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 10:49:28 2016 +1030

    [GOLD] fix typo in --stub-group-multi help
    
    	* options.h (--stub-group-multi): Fix typo.

commit da17fe9de923fcee29e6f809693eb7e590966575
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 09:50:17 2016 +1030

    sync binutils config/ with gcc
    
    config/
    	* acx.m4: Import from gcc.
    	* bootstrap-asan.mk: Likewise.
    	* multi.m4: Likewise.
    /
    	* configure: Regnerate.
    gas/
    	* configure: Regnerate.
    ld/
    	* configure: Regnerate.
    libiberty/
    	* configure: Regnerate.
    zlib/
    	* configure: Regnerate.

commit 8e2a4f11d477986aa360a3b588d35a194efe58f8
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Dec 8 09:51:00 2016 +1030

    PR20932, Internal error during record link assignment
    
    	PR ld/20932
    	* elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.

commit c3187fa5cc72734e6fc766a85d657018c0516bad
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Thu Dec 8 09:45:59 2016 +0100

    Hurd: In the CLI, use parse_thread_id instead of global_thread_id_to_ptid
    
    Follow-up to commit 14f6890677849172a4b13779acd9089c9baa3a81.
    global_thread_id_to_ptid expects global thread numbers, which are nowadays only
    used in MI, never presented to the user in the CLI.  Since this is a CLI
    command, it should accept the inferior-qualified format instead.
    
    	gdb/
    	* gnu-nat.c (set_sig_thread_cmd): Use parse_thread_id instead of
    	global_thread_id_to_ptid.

commit 21389b7f3451a482e14fef9bd32257c4c87f4317
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Mon Dec 5 11:59:03 2016 +0100

    Hurd, C++: Mach/Hurd headers and MIG stubs are not yet fit for C++
    
    ..., so handle these in "C" mode still:
    
    	gdb/
    	* config/i386/i386gnu.mh (%_S.o %_U.o): Add "-x c" to
    	"COMPILE.post".
    	* gnu-nat.c: #include Mach/Hurd headers before all others.  Wrap
    	Mach/Hurd headers and MIG stubs' prototypes in 'extern "C"'.
    	* i386-gnu-nat.c: Likewise.

commit 0947023d1d4b5d8803a1065d622f707010b2bcdc
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 11:02:17 2016 +0100

    Hurd, C++: kern_return_t vs. error_t
    
    GNU/Hurd uses its own "typedef enum __error_t_codes error_t;"
    ([glibc]/sysdeps/mach/hurd/bits/errno.h), contrary to the default
    "typedef int error_t;" ([glibc]/stdlib/errno.h).
    
    The Mach/Hurd RPCs return kern_return_t values, for which, upon assigning them
    to an error_t variable, GCC in C++ mode tells us "error: invalid conversion
    from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}'".  Instead of
    casting all these RPC return values to "error_t", just use "kern_return_t"
    variables:
    
    	gdb/
    	* gnu-nat.c (proc_get_exception_port, proc_set_exception_port)
    	(INF_RESUME_MSGPORT_RPC, proc_get_state, _proc_get_exc_port)
    	(proc_steal_exc_port, proc_restore_exc_port, make_proc)
    	(inf_startup, inf_set_pid, inf_validate_procinfo)
    	(inf_validate_task_sc, inf_set_traced, inf_validate_procs)
    	(inf_signal, inf_continue, gnu_wait, S_exception_raise_request)
    	(do_mach_notify_dead_name, S_proc_wait_reply)
    	(S_msg_sig_post_untraced_reply, S_msg_sig_post_reply)
    	(port_msgs_queued, gnu_read_inferior, gnu_write_inferior)
    	(gnu_find_memory_regions, steal_exc_port, thread_takeover_sc_cmd)
    	(flush_inferior_icache): Instead of "error_t" use "kern_return_t".
    	* i386-gnu-nat.c (fetch_fpregs, store_fpregs, i386_gnu_dr_get)
    	(i386_gnu_dr_set): Likewise.

commit 785102a7d34f2d48f9a1616bf931fea6de2385fb
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 15:16:13 2016 +0100

    Hurd, C++: Avoid "const char *" to "char *" casts
    
    ... by a bit of code refactoring:
    
    	gdb/
    	* gnu-nat.c (set_task_pause_cmd, set_signals_cmd)
    	(set_exceptions_cmd): Add variants taking an "int arg" instead of
    	a "char *".  Make the "char *" variants use the former.
    	(set_noninvasive_cmd): Also use the "int arg" variants.

commit a9617a426d001a748168fbc399fcc77e6d8d3cac
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 14:56:01 2016 +0100

    Hurd, C++: Avoid GNU C nested functions
    
    ..., which C++ doesn't allow, so...
    
    	gdb/
    	* gnu-nat.c (gnu_create_inferior): Move nested "trace_me"
    	function...
    	(gnu_ptrace_me): ... here.

commit e9e431d19426a6dd6b8923850398b847af0a1532
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Fri Nov 25 11:01:39 2016 +0100

    Hurd, C++: Explicitly cast "void *"
    
    C++ doesn't do implicit type conversions from "void *", so we have to...
    
    	gdb/
    	* i386-gnu-nat.c (i386_gnu_dr_set_control_one)
    	(i386_gnu_dr_set_addr_one): Explicitly cast "void *".

commit e2f9914792465953ca945333d0cbedf0b2d7b3d6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 8 00:00:27 2016 +0000

    Automatic date update in version.in

commit 14f6890677849172a4b13779acd9089c9baa3a81
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Tue May 24 19:36:57 2016 +0200

    Hurd: Adjust to "Per-inferior/Inferior-qualified thread IDs" changes
    
        [...]/gdb/gnu-nat.c: In function 'set_sig_thread_cmd':
        [...]/gdb/gnu-nat.c:2973:7: warning: implicit declaration of function 'thread_id_to_pid' [-Wimplicit-function-declaration]
               ptid_t ptid = thread_id_to_pid (atoi (args));
               ^
        [...]/gdb/gnu-nat.c:2973:7: error: invalid initializer
    
    That's commit 5d5658a1d3c3eb2a09c03f2f0662a1c01963c869, which renamed
    `thread_id_to_pid` to `global_thread_id_to_ptid`.
    
    	gdb/
    	* gnu-nat.c (set_sig_thread_cmd): Call global_thread_id_to_ptid
    	instead of thread_id_to_pid.

commit 4b0781150f69b6ff251dac447c77e4d4f6598da8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 03:12:50 2016 +0000

    MIPS/include: opcode/mips.h: Correct INSN_CHIP_MASK
    
    Complement commit e407c74b5b60 ("Support for MIPS R5900 (Sony Playstation
    2)"), <https://sourceware.org/ml/binutils/2012-12/msg00240.html>, and
    commit 2c62985659da ("MIPS: Add Octeon 3 support") and update the chip
    mask accordingly.
    
    	include/
    	* opcode/mips.h (INSN_CHIP_MASK): Update according to bit use.

commit 5f5c6e032e8d5303e9903c0538f84f76bb4d8733
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:55:27 2016 +0000

    MIPS/opcodes: Correct an `interaction' comment typo
    
    	opcodes/
    	* mips-dis.c (print_mips16_insn_arg): Fix comment typo.

commit 343fa6906329eb5ec070cf2c05884e49a1cb9d46
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:53:03 2016 +0000

    MIPS16/opcodes: Update opcode table comment
    
    	opcodes/
    	* mips16-opc.c (mips16_opcodes): Update comment naming structure
    	members.

commit 6725647ca2a0adc9206059814725102b53ea6478
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:35:33 2016 +0000

    MIPS/opcodes: Reformat `-M' disassembler option's help text
    
    Align output produced consistently and fix other formatting issues.
    
    	opcodes/
    	* mips-dis.c (print_mips_disassembler_options): Reformat output.

commit b8760d2cb51517789110c7b2dbd8f61dce08291d
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:27:57 2016 +0000

    MIPS/include: opcode/mips.h: Add a comment for ASE_DSPR3
    
    Complement commit 8f4f9071ad5f ("Add MIPS32 DSPr3 support.").
    
    	include/
    	* opcode/mips.h (ASE_DSPR3): Add a comment.

commit be0fcbee1d47558af13288c6aece922dd4be6df5
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Dec 7 02:24:18 2016 +0000

    MIPS/GAS: Use local `isa' consistently in `is_opcode_valid'
    
    Replace a global `mips_opts.isa' reference in `is_opcode_valid' and use
    a local copy just made in `isa'.  No functional change.
    
    	gas/
    	* config/tc-mips.c (is_opcode_valid): Use local `isa'
    	consistently.

commit c2596ca5d7f6ab6d38882bf0f0fc44fe352afcb1
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Dec 7 10:19:42 2016 +0000

    Fix internal error in the linker by replacing a call to abort with an error message.
    
    	PR ld/20932
    	* elflink.c (bfd_elf_record_link_assignment): Replace call to
    	abort with an error message and error return value.

commit 1c3a5fbe155614a0f87079b953df0d7618e0ab50
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 7 14:15:59 2016 +1030

    [GOLD] PowerPC --stub-group-multi
    
    Adds a new option, defaulting to off, that allows a group of stubs to
    serve multiple output sections.  Prior to this patch powerpc gold
    allowed this unconditionally, which is a little unsafe with clever
    code that discards/reuses sections at runtime.
    
    	* options.h (--stub-group-multi): New PowerPC option.
    	* powerpc.cc (Stub_control): Add multi_os_ var and param
    	to constructor.  Sort start_ var later.  Comment State.
    	(Stub_control::can_add_to_stub_group): Heed multi_os_.
    	(Target_powerpc::group_sections): Update.

commit a5018ae555cdf491005907c03f997558ba15fc47
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 7 14:12:26 2016 +1030

    [GOLD] powerpc64le-linux fails to link large Linux kernel
    
    Gold attaches stubs to an existing section in contrast to ld.bfd which
    inserts a new section for stubs.  If we want stubs before branches,
    then the stubs must be added to the previous section.  Adding to the
    previous section is a disaster if there is a large gap between the
    previous section and the group.
    
    	PR gold/20878
    	* powerpc.cc (Stub_control): Replace stubs_always_before_branch_
    	with stubs_always_after_branch_, group_end_addr_ with
    	group_start_addr_.
    	(Stub_control::can_add_to_stub_group): Rewrite to suit scanning
    	sections by increasing address.
    	(Target_powerpc::group_sections): Scan that way.  Delete corner
    	case.
    	* options.h (--stub-group-size): Update help string.

commit dc60b26d983494a3cdec0d4f167ed98fde1a832a
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Dec 7 14:11:57 2016 +1030

    [GOLD] PowerPC stub debug
    
    Some more debug output, and a little hardening.
    
    	* powerpc.cc (Stub_table_owner): Provide constructor.
    	(Powerpc_relobj::set_stub_table): Resize fill with -1.
    	(Target_powerpc::Branch_info::make_stub): Provide target debug
    	output on returning false.

commit 86a6934561f0048624f3ff83f5d3c2565514f0aa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Dec 7 00:00:19 2016 +0000

    Automatic date update in version.in

commit 5590c2bae0fb41e90bc9698e55d8ec1fe22a9173
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Tue Dec 6 16:19:33 2016 -0500

    Remove unnecessary inferior lookup in inferior_command
    
    In the case where we switch to a non-running inferior, we do a
    "find_inferior_id (num)", although we did the same call right before.
    
    gdb/ChangeLog:
    
    	* inferior.c (inferior_command): Remove duplicate
    	find_inferior_id call.

commit 4f3ca05b487e9755018b4c9a053a2e6c35d8a7df
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 16:53:57 2016 +0000

    Fix seg-fault in strip when copying a corrupt binary.
    
    	PR binutils/20931
    	* elf.c (copy_special_section_fields): Check for an invalid
    	sh_link field before attempting to follow it.

commit 8b929e420a810afe23d5ba57a98109c74d1d5816
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 16:26:42 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR binutils/20930
    	* objcopy.c (mark_symbols_used_in_relocations): Check for a null
    	symbol pointer pointer before attempting to mark the symbol as
    	kept.

commit 92744f058094edd0b29bf9762f4ac26e4c6743c2
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 15:58:15 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR binutils/20929
    	* aoutx.h (squirt_out_relocs): Check for relocs without an
    	associated symbol.

commit 5eecd8621b955fb99860fc1b0d87074071f42f72
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 15:34:33 2016 +0000

    fix typo

commit 005304aae36522a90bbe169faea36db559d0f3d6
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 15:31:14 2016 +0000

    Stop the assembler from running out of memory when asked to generate a huge number of spaces.
    
    	PR gas/20901
    	* read.c (s_space): Place an upper limit on the number of spaces
    	generated.

commit 7c2ba67e6ab10879968c938aefd4d0d0b4ce79bc
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Dec 6 14:25:51 2016 +0000

    Assert on lval_register
    
    This patch adds asserts where the value's lval must be lval_register.
    This triggers an error in frame_register_unwind because VALUE_REGNUM
    is used but value's lval is not lval_register.
    
    This also reveals a design issue in frame_register_unwind, that is
    arguments addrp and realnump are mutually exclusive, we either use
    addrp (for lval_memory), or use realnump (for lval_register).  This
    can be done in a separate patch.
    
    gdb:
    
    2016-12-06  Yao Qi  <yao.qi@linaro.org>
    
    	* frame.c (frame_register_unwind): Set *realnump if *lvalp is
    	lval_register.
    	* value.c (deprecated_value_next_frame_id_hack): Assert
    	value->lval is lval_register.
    	(deprecated_value_regnum_hack): Likewise.

commit 5e359a63b7a39e0ff0f750ca8fc97d27b14c0ef7
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Dec 6 14:13:57 2016 +0000

    Fix mmix assembler test to account for changes in the error messages produced by the assembler.
    
    	PR gas/20896
    	* testsuite/gas/mmix/err-byte1.s: Adjust expected warning messages
    	to account for patch to next_char_of_string.

commit 39eeab253474493bc9477dbb2bd9c8041f05764b
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 6 16:06:14 2016 +1030

    PowerPC64 toc optimisation for power9
    
    Recognize power9 and a few other insns from older machines.  Fixes
    linker complaints like "toc optimization is not supported for
    0xf4090002 instruction".  0xf4090002 is stxsd v0,0(r9)
    
    bfd/
    	* elf64-ppc.c (ok_lo_toc_insn): Add r_type param.  Recognize
    	lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp.
    	Don't match lmd and stmd.
    ld/
    	* testsuite/ld-powerpc/tocopt7.s,
    	* testsuite/ld-powerpc/tocopt7.out,
    	* testsuite/ld-powerpc/tocopt7.d: New test.
    	* testsuite/ld-powerpc/tocopt8.s,
    	* testsuite/ld-powerpc/tocopt8.d: New test.
    	* testsuite/ld-powerpc/powerpc.exp: Run them.

commit fc72affa6875e81fc9d495a216a8bcb34045ffcd
Author: DJ Delorie <dj@redhat.com>
Date:   Tue Dec 6 01:40:44 2016 -0500

    argv.c (expandargv): Check for directories passed as @-files.
    
    gcc pr 78584

commit e99f7af2bfbdb08c9cc454d6e5c82e70d34b957e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Dec 6 00:00:23 2016 +0000

    Automatic date update in version.in

commit efe4db3f06b77934bd81f393194e0fdcfeecf811
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Dec 6 07:53:51 2016 +1030

    Fix gold/testsuite/file_in_many_sections_test.sh file mode
    
    chmod a+x

commit 82d93790a85300d8452450b6d43efb6b15b53788
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Dec 5 10:41:09 2016 -0800

    Fix problem where absolute local symbols are omitted when output has many sections.
    
    2016-12-05  Cary Coutant  <ccoutant@gmail.com>
                Tristan Gingold  <gingold@adacore.com>
    
    gold/
    	* object.cc (Sized_relobj_file::do_count_local_symbols): Check
    	is_ordinary before using shndx.
    	* testsuite/Makefile.am (file_in_many_sections_test.sh): New test case.
    	* testsuite/Makefile.in: Regenerate.
    	* testsuite/file_in_many_sections.c: New source file.
    	* testsuite/file_in_many_sections_test.sh: New script.

commit f49547a604b4dd2c75e3636d4a422d52edc4fa6c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 17:36:45 2016 +0000

    Fix fault in assembler when passed a bogus input file.
    
    	PR gas/20902
    	* read.c (next_char_of_string): Do end advance past the end of the
    	buffer.

commit 14c1428b29fff12d8119ce6f4703be0de08197af
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 16:54:59 2016 +0000

    Fix ICE in assembler when passed a bogus input file.
    
    	PR gas/20904
    	* as.h (SKIP_ALL_WHITESPACE): New macro.
    	* expr.c (operand): Use it.

commit fa6631b4eecfcca00c13b9594e6336dffd40982f
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 16:34:45 2016 +0000

    Fix seg-fault in the binutils utilities when reading a corrupt input file.
    
    	PR binutils/20905
    	* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
    	the end of the string buffer.

commit 406bd128dba2a59d0736839fc87a59bce319076c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 16:00:43 2016 +0000

    Fix seg-fault in linker when passed a bogus input script.
    
    	PR ld/20906
    	* ldlex.l: Check for bogus strings in linker scripts.

commit 9b5481c63ab5e1e66e8f23681741039754eabcce
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Mon Dec 5 16:57:53 2016 +0100

    binutils: add myself to MAINTAINERS
    
    2016-12-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* MAINTAINERS: Add myself as maintainer for the SPARC targets.

commit 52c4f3bdd5957a31b671a9791f462be5e8eadd85
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 14:59:02 2016 +0000

    Fix abort when running tools on a bogus binary.
    
    	PR binutils/20907
    	* peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.

commit e2996cc315d6ea242e1a954dc20246485ccc8512
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 14:32:30 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR binutils/20921
    	* aoutx.h (squirt_out_relocs): Check for and report any relocs
    	that could not be recognised.

commit c28eeff2eabbba2246799470f3713716fa629680
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:24:17 2016 +0000

    [ARM] Add ARMv8.3 VCMLA and VCADD instructions
    
    Add support for VCMLA and VCADD advanced SIMD complex number instructions.
    
    The command line option is -march=armv8.3-a+fp16+simd for enabling all
    instructions.
    
    In arm-dis.c the formatting syntax was abused a bit to select between
    0 vs 90 or 180 vs 270 or 90 vs 270 based on a bit value instead of
    duplicating entries in the opcode table.
    
    gas/
    	* config/tc-arm.c (do_vcmla, do_vcadd): Define.
    	(neon_scalar_for_vcmla): Define.
    	(enum operand_parse_code): Add OP_IROT1 and OP_IROT2.
    	(NEON_ENC_TAB): Add DDSI and QQSI variants.
    	(insns): Add vcmla and vcadd.
    	* testsuite/gas/arm/armv8_3-a-simd.d: New.
    	* testsuite/gas/arm/armv8_3-a-simd.s: New.
    	* testsuite/gas/arm/armv8_3-a-simd-bad.d: New.
    	* testsuite/gas/arm/armv8_3-a-simd-bad.l: New.
    	* testsuite/gas/arm/armv8_3-a-simd-bad.s: New.
    
    opcodes/
    	* arm-dis.c (coprocessor_opcodes): Add vcmla and vcadd.
    	(print_insn_coprocessor): Add 'V' format for neon D or Q regs.

commit 0691188992efa4afab80bfdf966479bc331ce0a4
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Mon Dec 5 15:09:48 2016 +0100

    [ARC] Don't check extAuxRegister second argument for sign.
    
    gas/
    2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/textauxregister-1.d: New file.
    	* testsuite/gas/arc/textauxregister-1.s: Likewise.
    	* testsuite/gas/arc/textcondcode-err.s: Likewise.
    	* testsuite/gas/arc/textcoreregister-err.s: Likewise.
    	* config/tc-arc.c (tokenize_extregister): Return bfd_boolean,
    	don't check second argument of extension auxiliary register for
    	signess.
    	(arc_extcorereg): Consider the return of tokenize_extregister
    	function call.

commit 49e8a725825c77aacc7458b9d7771cb2fa2f64c7
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:13:27 2016 +0000

    [ARM] Add ARMv8.3 VJCVT instruction
    
    Add support for VJCVT javascript conversion instruction.
    
    gas/
    	* config/tc-arm.c (arm_ext_v8_3, do_vjcvt): Define.
    	(insns): Add vjcvt.
    	* testsuite/gas/aarch64/armv8_3-a-fp.s: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp.d: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp-bad.s: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp-bad.d: New.
    	* testsuite/gas/aarch64/armv8_3-a-fp-bad.l: New.
    
    opcodes/
    	* arm-dis.c (coprocessor_opcodes): Add vjcvt.

commit a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Mon Dec 5 14:07:25 2016 +0000

    [ARM] Add ARMv8.3 command line option and feature flag
    
    ARMv8.3 is an architectural extension of ARMv8.  Add the
    feature macro and -march=armv8.3-a gas command line option
    for the ARM target.
    
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    gas/
    	* config/tc-arm.c (arm_archs): Add "armv8.3-a".
    	* doc/c-arm.texi (-march): Add "armv8.3-a".
    
    include/
    	* opcode/arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New.
    	(ARM_ARCH_V8_3A): New.

commit 597e138ca0cf96889a1965d06d28552c1d1174d2
Author: Alyssa Milburn <amilburn@zall.org>
Date:   Sun Dec 4 22:59:18 2016 -0800

    bfd,ld: Continue after partially-successful relaxed call relocations in sparc.
    
    bfd/ChangeLog:
    
    2016-12-05  Alyssa Milburn <amilburn@zall.org>
    
      	* elfxx-sparc.c: Do not stop processing relocations after
        	partially relaxing a call with WDISP30.
    
    ld/ChangeLog:
    
    2016-12-05  Alyssa Milburn <amilburn@zall.org>
    
    	* testsuite/ld-sparc/wdispcall.s: New file.
        	* testsuite/ld-sparc/wdispcall.dd: Likewise.
        	* testsuite/ld-sparc/sparc.exp: Run new test.

commit a55c9876bb111fd301b4762cf501de0040b8f9db
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 13:35:50 2016 +0000

    Fix seg-fault attempting to strip a corrupt binary.
    
    	PR binutils/20922
    	* elf.c (find_link): Check for null headers before attempting to
    	match them.

commit 88add6d8e794073758b5398c52bbb76ab40a2923
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 13:11:01 2016 +0000

    Fix seg-fault running strip on a corrupt binary.
    
    	PR ld/20923
    	* objcopy.c (mark_symbols_used_in_relocations): Check for a null
    	symbol pointer before attempting to mark the symbol as kept.

commit daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 12:25:34 2016 +0000

    Fix seg-fault in linker parsing a corrupt input file.
    
    	PR ld/20924
    	(aout_link_add_symbols): Fix off by one error checking for
    	overflow of string offset.

commit 39d4daf68e696bbf2db417abe677b2e68f3aace9
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 12:14:22 2016 +0000

    Fix assertion failure in linker triggered by corrupt input file.
    
    	PR ld/20925
    	* aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
    	FALSE.

commit e9a1e93ecab4e67aacb9cd6a5a953c8c0bc23027
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Dec 5 11:25:26 2016 +0000

    fix typo

commit df9236f89620c3897b2257854b9a4eedc89217ba
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 5 00:00:22 2016 +0000

    Automatic date update in version.in

commit 668650d58d61d9d170f3e5b5c1657ed1c3e2b34b
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Sat Dec 3 17:29:44 2016 -0800

    Fix bugs with tbnz/tbz instructions.
    
    sim/aarch64
    	* simulator.c (tbnz, tbz): Cast 1 to uint64_t before shifting.
    	(dexTestBranchImmediate): Shift high bit of pos by 5 not 4.

commit 4132f1c0dfe6bb8984c0dd521388ba6b7b32a4af
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Dec 4 00:00:23 2016 +0000

    Automatic date update in version.in

commit 8c5b4e5228ec94923fbdfb0008926b0b2a3f51c2
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 21:00:01 2016 +1030

    PowerPC64 dot-symbol compatibility bugfixes
    
    Lots of fixes for the compatibility code that handles linking of
    -mcall-aixdesc code (or that generated by 12 year old gcc) with
    current ELFv1 ABI code.
    
    1) A reference to a dot-symbol in an object file wasn't satisfied by a
       function descriptor in later object files.
    2) The as-needed code had bit-rotted;  Shared libs now need a strong
       reference to be counted as needed.
    3) --gc-sections involving dot-symbols was broken, needing
       func_desc_adjust to be run early and lots of other fixes.
    
    bfd/
    	* elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined".
    	(struct ppc_link_hash_table): Delete "twiddled_syms".  Add
    	"need_func_desc_adj".
    	(lookup_fdh): Link direct fdh sym via oh field and set flags.
    	(make_fdh): Make strong and weak undefined function descriptor
    	symbols.
    	(ppc64_elf_merge_symbol): New function.
    	(elf_backend_merge_symbol): Define.
    	(ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake
    	function descriptors.
    	(add_symbol_adjust): Don't twiddle symbols to undefweak.
    	Propagate more ref flags to function descriptor symbol.  Make
    	some function descriptor symbols dynamic.
    	(ppc64_elf_before_check_relocs): Only run add_symbol_adjust for
    	ELFv1.  Set need_func_desc_adj.  Don't fix undefs list.
    	(ppc64_elf_check_relocs): Set non_ir_ref for descriptors.
    	Don't call lookup_fdh here.
    	(ppc64_elf_gc_sections): New function.
    	(bfd_elf64_bfd_gc_sections): Define.
    	(ppc64_elf_gc_mark_hook): Mark descriptor.
    	(func_desc_adjust): Don't make fake function descriptor syms strong
    	here.  Exit earlier on non-dotsyms.  Take note of elf.dynamic
    	flag when deciding whether a dynamic function descriptor might
    	be needed.  Transfer elf.dynamic and set elf.needs_plt.  Move
    	plt regardless of visibility.  Make descriptor dynamic if
    	entry sym is dynamic, not for other cases.
    	(ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if
    	already done.
    	(ppc64_elf_edit_opd): Use oh field rather than lookup_fdh.
    	(ppc64_elf_size_stubs): Likewise.
    	(ppc_build_one_stub): Don't clear was_undefined.  Only set sym
    	undefweak if stub symbol is defined.
    	(undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete.
    	* elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare.
    ld/
    	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't call
    	ppc64_elf_restore_symbols.
    	* testsuite/ld-powerpc/dotsym1.d: New.
    	* testsuite/ld-powerpc/dotsym2.d: New.
    	* testsuite/ld-powerpc/dotsym3.d: New.
    	* testsuite/ld-powerpc/dotsym4.d: New.
    	* testsuite/ld-powerpc/dotsymref.s: New.
    	* testsuite/ld-powerpc/nodotsym.s: New.
    	* testsuite/ld-powerpc/powerpc.exp: Run new tests.

commit 4e95fbcd79b84308417fc25ce12cacdb2a61c0d0
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:59:43 2016 +1030

    PowerPC64 dot-sym testsuite fixes
    
    This illustrates quite well why dot-symbols had to go.  PowerPC64 gcc
    for Linux stopped producing them 12 years ago, but the Linux kernel
    still persists in using them so it's necessary to keep and
    regression test ld support.
    
    	* testsuite/ld-elf/indirect1b.c: Give dot-symbol a version too.
    	* testsuite/ld-elf/indirect2.c: Likewise.
    	* testsuite/ld-elf/indirect3b.c: Likewise.
    	* testsuite/ld-elf/indirect4b.c: Likewise.
    	* testsuite/ld-elf/pr18718.c: Likewise.
    	* testsuite/ld-elf/pr18720b.c: Likewise.
    	* testsuite/ld-elf/pr19553c.c: Likewise.
    	* testsuite/ld-elfvers/vers.h (FUNC_SYMVER): Define.
    	* testsuite/ld-elfvers/vers1.c: Use FUNC_SYMVER for functions.
    	* testsuite/ld-elfvers/vers4.c: Likewise.
    	* testsuite/ld-elfvers/vers5.c: Likewise.
    	* testsuite/ld-elfvers/vers6.c: Likewise.
    	* testsuite/ld-elfvers/vers7a.c: Likewise.
    	* testsuite/ld-elfvers/vers9.c: Likewise.
    	* testsuite/ld-elfvers/vers15.c: Likewise.
    	* testsuite/ld-elfvers/vers18.c: Likewise.
    	* testsuite/ld-elfvers/vers22a.c: Likewise.
    	* testsuite/ld-elfvers/vers23a.c: Likewise.
    	* testsuite/ld-elfvers/vers27d1.c: Likewise.
    	* testsuite/ld-elfvers/vers21.c: Likewise.
    	(_old_bar): Use attribute weak rather than asm weak.
    	* testsuite/ld-ifunc/pr16467b.c: Give dot-symbol a version.
    	* testsuite/ld-plugin/pr12760b.c: Define warning on .bar rather than
    	bar for ppc64 -mcall-aixdesc.
    	* testsuite/ld-plugin/pr16746a.c: Similarly for foobar.
    	* testsuite/ld-plugin/pr16746b.c: Likewise.
    	* testsuite/ld-elf/shared.exp: Allow dot-symbol in warnings and errors.
    	* testsuite/ld-plugin/lto.exp: Likewise.
    	* testsuite/ld-plugin/plugin-6.d: Likewise.
    	* testsuite/ld-plugin/plugin-7.d: Likewise.
    	* testsuite/ld-plugin/plugin-8.d: Likewise.
    	* testsuite/ld-plugin/plugin-13.d: Likewise.
    	* testsuite/ld-plugin/plugin-14.d: Likewise.
    	* testsuite/ld-plugin/plugin-15.d: Likewise.
    	* testsuite/ld-plugin/plugin-16.d: Likewise.
    	* testsuite/ld-plugin/plugin-20.d: Likewise.
    	* testsuite/ld-plugin/plugin-21.d: Likewise.
    	* testsuite/ld-plugin/plugin-22.d: Likewise.
    	* testsuite/ld-plugin/plugin-23.d: Likewise.
    	* testsuite/ld-plugin/plugin.exp: Define .main and .puts for ppc64
    	-mcall-aixdesc.
    	* testsuite/ld-elfvers/vers.exp (test_ar): Trim dot-symbols.
    	(objdump_dynsymstuff): Likewise.
    	(objdump_symstuff): Likewise.  Pack flags to keep column count
    	consistent.
    	* testsuite/ld-elfweak/elfweak.exp (objdump_dynsymstuff,
    	objdump_symstuff): As for vers.exp.
    	* testsuite/ld-elfvers/vers6.sym: Allow dot-symbols.
    	* testsuite/ld-elfvers/vers1.sym: Allow missing F flag for
    	-mcall-aixdesc .opd syms and adjust for flag packing.
    	* testsuite/ld-elfvers/vers4.sym: Likewise.
    	* testsuite/ld-elfvers/vers4a.sym: Likewise.
    	* testsuite/ld-elfvers/vers7a.sym: Likewise.
    	* testsuite/ld-elfvers/vers9.sym: Likewise.
    	* testsuite/ld-elfvers/vers15.sym: Likewise.
    	* testsuite/ld-elfvers/vers18.sym: Likewise.
    	* testsuite/ld-elfvers/vers21.sym: Likewise.
    	* testsuite/ld-elfvers/vers22a.sym: Likewise.
    	* testsuite/ld-elfvers/vers23a.sym: Likewise.
    	* testsuite/ld-elfvers/vers27d.sym: Likewise.
    	* testsuite/ld-elfweak/strong.sym: Likewise.
    	* testsuite/ld-elfweak/strongcomm.sym: Likewise.
    	* testsuite/ld-elfweak/strongdata.sym: Likewise.

commit ca16c5b392b1c78019fea1710c4f4433161626c5
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:59:19 2016 +1030

    ld-elfvers don't fail on non-empty results
    
    	* testsuite/ld-elfvers/vers.exp (objdump_dynsymstuff): Don't abort
    	on non-empty results with empty expected.

commit f522190fa7f04a8d9a1dfc51d0cf69973c08afb5
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:58:55 2016 +1030

    Correct cdtest g++ version test
    
    Fixes declaration conflict with built-in strncpy.
    
    	* testsuite/ld-cdtest/cdtest-foo.cc: Test for __GNUG__ >= 2.

commit b8ac28419be22fe0cc72f6eaaba1ab029610fc71
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:58:15 2016 +1030

    Tidy ppc64_elf_hide_symbol
    
    	* elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
    	elf_link_hash_table rather than ppc_link_hash_table.

commit 35dc6e06960790cd60b890c14e45f82f110b898f
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:57:50 2016 +1030

    PowerPC64 add_symbol_adjust
    
    	* elf64-ppc.c (add_symbol_adjust): Delete dead code.

commit 8400d40d954ec3b4a3fe9200645a1b6e90ba46f4
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:57:27 2016 +1030

    Indirect and warning symbols
    
    It's possible but unlikely that an indirect symbol points at a warning
    symbol.
    
    	* elf64-ppc.c (add_symbol_adjust): Correct order of tests for
    	warning and indirect symbols.

commit 474436e67c72d2426e79e600d725812514db0dbe
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:55:25 2016 +1030

    ppc64_elf_copy_indirect_symbol versioned_hidden fix
    
    As per _bfd_elf_link_hash_copy_indirect.
    
    	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
    	flags when direct symbol is versioned_hidden.

commit 4193bc588b4e66da0ed502eaef6e7ce85272fb42
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Dec 3 20:54:57 2016 +1030

    try_copy_symbol_type node_class check
    
    	* ldexp.c (try_copy_symbol_type): Remove unnecessary check.

commit 10c56208ee8ce4d51de64277207b84a5d1be8c95
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Dec 3 00:00:22 2016 +0000

    Automatic date update in version.in

commit bef721e278d9ba3178e679eda38ac86ef2dc0d5d
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Dec 2 17:12:37 2016 -0500

    Introduce enum_flag type for ui_out flags
    
    This patch changes the ui_out flags to be an enum flag.
    
    gdb/ChangeLog:
    
    	* ui-out.h: Include "common/enum-flags.h".
    	(enum ui_flags): Rename to ...
    	(enum ui_out_flag): ... this.
    	(ui_out_flags): Define enum flag type.
    	(ui_out_test_flags): Change type of parameter to ui_out_flags.
    	(ui_out_new): Likewise.
    	* ui-out.c (ui_out_test_flags): Likewise.
    	(ui_out_new): Likewise.
    	* cli-out.c (cli_out_new): Update variable type.
    	* mi/mi-out.c (mi_out_new): Likewise.
    	* tui/tui-out.c (tui_out_new): Likewise.

commit 107c2d628b924de1854d6d254d60e97e1887ce4a
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 2 13:36:15 2016 -0600

    Remove unneeded pattern matching in gdb.base/maint.exp
    
    This gets rid of more useless pattern matching cases in gdb.base/maint.exp.
    
    gdb/testsuite/ChangeLog:
    
    2016-12-02  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/maint.exp: Use gdb_test instead of gdb_test_multiple when
    	possible.
    	Remove useless pattern-matching code.

commit df3ee9ca894f7e831713c332aa7820a6463c2435
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 2 19:17:14 2016 +0000

    Support an "unlimited" number of user-defined arguments
    
    New in v2:
    
      - A few adjustments / simplifications were possible now that we
        require C++11:
    
        . Use std::unique_ptr to make the user_args_stack std::vector own
          its elements:
    
           static std::vector<std::unique_ptr<user_args>> user_args_stack;
    
        . use vector::emplace_back to construct elements directly in the
          corresponding vectors.
    
        . use std::to_string instead of adding a gdb::to_string
          replacement.
    
      - Now includes a test.
    
    Docs/NEWS are unchanged from v1 and have already been approved.
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    I recently wrote a user-defined command that could benefit from
    supporting an unlimited number of arguments:
    
     http://palves.net/list-active-signal-handlers-with-gdb/
    
    E.g., 'info signal-dispositions 1 2 3 4 5 6 7 8 9 10 11'
    
    However, we currently only support up to 10 arguments passed to
    user-defined commands ($arg0..$arg9).
    
    I can't find a good reason for that, other than "old code with hard
    coded limits".  This patch removes that limit and modernizes the code
    along the way:
    
      - Makes the user_args struct a real C++ class that uses std::vector
        for storage.
    
      - Removes the "next" pointer from within user_args and uses a
        std::vector to maintain a stack instead.
    
      - Adds a new RAII-based scoped_user_args_level class to help
        push/pop user args in the stack instead of using a cleanup.
    
    gdb/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Mention that user commands now accept an unlimited number
    	of arguments.
    	* cli/cli-script.c: Include <vector>.
    	(struct string_view): New type.
    	(MAXUSERARGS): Delete.
    	(struct user_args): Now a C++ class.
    	(user_args_stack): New.
    	(struct scoped_user_args_level): New type.
    	(execute_user_command): Use scoped_user_args_level.
    	(arg_cleanup): Delete.
    	(setup_user_args): Deleted, and refactored as ...
    	(user_args::user_args): ... this new constructor.  Limit of number
    	of arguments removed.
    	(insert_user_defined_cmd_args): Defer to user_args_stack.
    	(user_args::insert_args): New, bits based on old
    	insert_user_defined_cmd_args with limit of number of arguments
    	eliminated.
    
    gdb/doc/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (User-defined Commands): Limit on number of
    	arguments passed to user-defined commands removed; update.
    
    gdb/testsuite/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (user_defined_command_manyargs_test): New
    	procedure.
    	(top level): Call it.

commit ec835369f121c11d6e9484ed8c6c11097ad545c5
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 2 19:17:13 2016 +0000

    Test user-defined gdb commands and arguments stack
    
    We're missing a test that makes sure that arguments to user-defined
    commands are handled correctly when a user-defined command calls
    another user-defined command / recurses.
    
    The following patch changes that code, so add such a test first so we
    can be confident won't be breaking this use case.
    
    gdb/testsuite/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (user_defined_command_args_stack_test):
    	New procedure.
    	(top level): Call it.

commit 01770bbde902e075e524b518ac6c1087a4cc1cfb
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Dec 2 19:17:13 2016 +0000

    Fix PR 20559 - "eval" command and $arg0...$arg9/$argc substitution
    
    It'd be handy to be able to iterate over command arguments in
    user-defined commands, in order to support optional arguments
    ($arg0..$argN).
    
    I thought I could make it work with "eval", but alas, it doesn't work
    currently.  E.g., with:
    
     define test
       set $i = 0
       while $i < $argc
         eval "print $arg%d", $i
         set $i = $i + 1
       end
     end
    
    we get:
    
     (gdb) test 1
     $1 = void
     (gdb) test 1 2 3
     $2 = void
     $3 = void
     $4 = void
     (gdb)
    
    The problem is that "eval" doesn't do user-defined command arguments
    substitution after expanding its own argument.  This patch fixes that,
    which makes the example above work:
    
     (gdb) test 1
     $1 = 1
     (gdb) test 1 2 3
     $2 = 1
     $3 = 2
     $4 = 3
     (gdb)
    
    New test included, similar the above, but also exercises expanding
    $argc.
    
    I think this is likely to simplify many scripts out there, so I'm
    adding an example to the manual and mentioning it in NEWS as well.
    
    gdb/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	PR cli/20559
    	* NEWS: Mention "eval" expands user-defined command arguments.
    	* cli/cli-script.c (execute_control_command): Adjust to rename.
    	(insert_args): Rename to ...
    	(insert_user_defined_cmd_args): ... this, and make extern.
    	* cli/cli-script.h (insert_user_defined_cmd_args): New
    	declaration.
    	* printcmd.c: Include "cli/cli-script.h".
    	(eval_command): Call insert_user_defined_cmd_args.
    
    gdb/doc/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	PR cli/20559
    	* gdb.texinfo (Define): Add example of using "eval" to process a
    	variable number of arguments.
    	(Output) <eval>: Add anchor.
    
    gdb/testsuite/ChangeLog:
    2016-12-02  Pedro Alves  <palves@redhat.com>
    
    	PR cli/20559
    	* gdb.base/commands.exp (user_defined_command_args_eval): New
    	procedure.
    	(top level): Call it.

commit 7ed7e438bf8a21983eeaeec0617868f8bab06197
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 17:53:42 2016 +0000

    Fix typo in changelog entry

commit d7f399a8de4c55eb841db6493597a587fac002de
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 17:46:26 2016 +0000

    Fix seg-fault in linker when passed a corrupt binary input file.
    
    	PR lf/20908
    	* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
    	when following indirect links.

commit 008459ea88ad4fdcb7da37dad7f68888ef6ecc47
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Dec 2 11:37:57 2016 -0600

    Revert change to gdb.cp/ovldbreak.exp
    
    This reverts the timeout handling (removed by
    018572b88885ae67d22612937fa1e4fd98d5f5ad) for gdb.cp/ovldbreak.exp until we
    decide what to do about this particular function.
    
    gdb/testsuite/ChangeLog:
    
    2016-12-02  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/ovldbreak.exp (take_gdb_out_of_choice_menu): Restore
    	timeout handling.

commit 531336e3a0b79ed60cfc36ad2d6579b6a71175da
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 16:41:14 2016 +0000

    Fix seg-fault in the linker when examining a corrupt binary.
    
    	PR ld/20909
    	* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
    	for an illegal string offset.

commit 0c1b455e294c6debb4efedc7f1346f3c43249f15
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Nov 13 20:56:34 2016 -0700

    PR symtab/16264 - support DW_AT_main_subprogram
    
    This patch adds support for DW_AT_main_subprogram.
    This is PR symtab/16264.
    
    DW_AT_main_subprogram is used to mark a program's entry point.  GCC
    can emit this, and I hope to change the Rust compiler to emit it as
    well.
    
    GDB already supports an older, pre-DWARF 4 convention adopted by
    FORTRAN compilers, namely to emit DW_AT_calling_convention for the
    "main" function.  However, I think this support in GDB had a small
    bug, in that it seems to rely on the DW_AT_name being read before
    DW_AT_calling_convention.  This patch fixes this as well.
    
    Built and regtested on x86-64 Fedora 24 and the buildbot.  New test
    case included.
    
    2016-12-02  Tom Tromey  <tom@tromey.com>
    
    	PR symtab/16264:
    	* dwarf2read.c (struct partial_die_info) <main_subprogram>: New
    	member.
    	(add_partial_symbol): Call set_objfile_main_name.
    	(read_partial_die): Handle DW_AT_main_subprogram.
    	<DW_AT_calling_convention>: don't call set_objfile_main_name, but
    	set main_subprogram flag.
    
    2016-12-02  Tom Tromey  <tom@tromey.com>
    
    	* gdb.dwarf2/main-subprogram.c: New file.
    	* gdb.dwarf2/main-subprogram.exp: New file.

commit f5ac6ab387ef0974f6348ac7febc691fbb6c0eb4
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 15:43:53 2016 +0000

    Fix seg-fault in the linker when attempting to print out a malicious linker script.
    
    	PR ld/20910
    	* ldmain.c (main): Prevent evaluation of %<char> sequences when
    	printing out a linker script.

commit a9752fdf83985f62a0c343311a9cb42ad13f9876
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Fri Dec 2 16:08:10 2016 +0100

    [ARC] Sync cpu names with the ones accepted by GCC.
    
    gas/
    2016-12-02  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/cpu-em-err.s: New file.
    	* testsuite/gas/arc/cpu-em4-err.s: Likewise.
    	* testsuite/gas/arc/cpu-fpuda-err.s: Likewise.
    	* testsuite/gas/arc/cpu-hs-err.s: Likewise.
    	* testsuite/gas/arc/cpu-quarkse-err.s: Likewise.
    	* testsuite/gas/arc/noargs_a7.s: Add .cpu.
    	* config/tc-arc.c (ARC_CPU_TYPE_A6xx): Define.
    	(ARC_CPU_TYPE_A7xx): Likewise.
    	(ARC_CPU_TYPE_AV2EM): Likewise.
    	(ARC_CPU_TYPE_AV2HS): Likewise.
    	(cpu_types): Update list of known CPU names.
    	(arc_show_cpu_list): New function.
    	(md_show_usage): Print accepted CPU names.
    	(cl_features): New variable.
    	(arc_select_cpu): Use cl_features.
    	(arc_option): Allow various .cpu names.
    	(md_parse_option): Set cl_features.
    	* doc/c-arc.texi: Update -mcpu and .cpu documentation.

commit e5a873b7071d74320d4e0cbbc2f358dcf2322557
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Dec 2 10:16:51 2016 -0500

    Rename some trace functions
    
    This patch renames a few trace-related functions, so that they adhere to
    the de facto standard of naming command entry point functions
    <command>_command.  I like the ease of looking up a command entry point
    if they all follow that rule.
    
    An enum label "tstop_command" conflicts with a new function name, so I
    renamed this one trace_stop_command.
    
    In v2:
    
    - Rename functions of the trace_find family, as well as
      trace_dump_command.
    
    gdb/ChangeLog:
    
    	* tracefile-tfile.c (tfile_write_status): Adjust to renames.
    	* tracefile.c (trace_save_command): Rename to...
    	(tsave_command): ...this.
    	(_initialize_tracefile): Adjust to renames.
    	* tracepoint.c (trace_actions_command): Rename to...
    	(actions_command): ...this.
    	(trace_start_command): Rename to...
    	(tstart_command): ...this, and adjust to renames..
    	(trace_stop_command): Rename to...
    	(tstop_command): ...this.
    	(trace_status_command): Rename to...
    	(tstatus_command): ...this, and adjust to renames.
    	(trace_find_command): Rename to...
    	(tfind_command): ...this.
    	(trace_find_pc_command): Rename to...
    	(tfind_pc_command): ...this.
    	(trace_find_tracepoint_command): Rename to...
    	(tfind_tracepoint_command): ...this.
    	(trace_find_line_command): Rename to...
    	(tfind_line_command): ...this.
    	(trace_find_range_command): Rename to...
    	(tfind_range_command): ...this.
    	(trace_find_outside_command): Rename to...
    	(tfind_outside_command): ...this.
    	(trace_dump_command): Rename to...
    	(tdump_command): ...this.
    	(tfind_1): Adjust to renames.
    	(trace_find_end_command): Rename to...
    	(tfind_end_command): ...this, and adjust to renames..
    	(trace_status_mi): Adjust to renames.
    	(parse_trace_status): Adjust to renames.
    	(_initialize_tracepoint): Adjust to renames.
    	* tracepoint.h (enum trace_stop_reason) <tstop_command>: Rename
    	to...
    	<trace_stop_command>: ...this.

commit fe6fae079099c0eeb3186086d6b150800c0e8770
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 15:03:05 2016 +0000

    Fix seg-fault in linker when applying relocs to a corrupt binary.
    
    	PR ld/20911
    	* ldctor.c (ldctor_build_sets): Produce alternative error message
    	if the reloc was being applied to a special section.

commit 233c8c27eb81b0a3ab5182dcb59c7306ba9bd3f3
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Dec 2 09:55:09 2016 -0500

    Remove mi_out_data::suppress_output
    
    The suppress_output field of the mi_ui_out_data structure is never actually
    set to 1/true.  We can therefore remove it, and remove all the
    
      if (suppress_output)
    
    checks.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_ui_out_data) <suppress_output>: Remove.
    	(mi_table_body): Remove suppress_output check.
    	(mi_table_end): Likewise.
    	(mi_table_header): Likewise.
    	(mi_begin): Likewise.
    	(mi_end): Likewise.
    	(mi_field_int): Likewise.
    	(mi_field_string): Likewise.
    	(mi_field_fmt): Likewise.
    	(mi_out_data_ctor): Likewise.

commit 68c638d6e655a937a48770a5df765e6ebbc5b890
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Dec 2 14:40:46 2016 +0000

    Fix seg-fault linking corrupt binary.
    
    	PR ld/20912
    	* emultempl/elf32.em (_place_orphan): Test for ELF format of the
    	orphan before looking for the SHF_EXCLUDE flag.

commit 08698b7b46c9c932530dcbcd7e851d27a7d2c503
Author: Gary Benson <gbenson@redhat.com>
Date:   Tue Nov 29 11:14:02 2016 +0000

    Always pass a valid section header offset to elf_parse_notes
    
    _bfd_elf_make_section_from_shdr calls elf_parse_notes with an offset
    of -1.  This argument is used to calculate Elf_Internal_Note.descpos,
    which ends up set to a positive but meaningless value.  This commit
    updates _bfd_elf_make_section_from_shdr to pass the correct offset to
    elf_parse_notes, making Elf_Internal_Note.descpos correct in all cases.
    
    bfd/ChangeLog:
    
    	* elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
    	elf_parse_notes.

commit d5451cd45325d12b2cc3d10ffe67f09b0e26b967
Author: Josh Conner <joshconner@google.com>
Date:   Fri Dec 2 10:44:29 2016 +0000

    Add support for Fushia OS.
    
            * configure.ac: Add fuchsia to targets that use ELF.
            * configure: Regenerated.
    
    bfd     * configure.tgt: Add support for fuchsia (OS).
    
    gas     * configure.tgt: Add support for fuchsia (OS).
    
    ld      * Makefile.am: Add dependency information for earmelf_fuchsia.c.
            * Makefile.in: Regenerate.
            * configure.tgt: Add support for aarch64-*-fuchsia, arm*-*-fuchsia*, and
            x86_64-*-fuchsia* targets.
            * emulparams/armelf_fuchsia.sh: New file.
            * emulparams/armelfb_fuchsia.sh: New file.

commit 432ec0814b01a93b88eddf13092ea6abef34652d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 2 09:37:30 2016 +0000

    [AArch64] Recognize STR instruction in prologue
    
    This patch teaches GDB AArch64 backend to recognize STR instructions
    in prologue, like 'str x19, [sp, #-48]!' or 'str w0, [sp, #44]'.
    The unit test is added too.
    
    gdb:
    
    2016-12-02  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* aarch64-tdep.c (aarch64_analyze_prologue): Recognize STR
    	instruction.
    	(aarch64_analyze_prologue_test): More tests.

commit 4d9a9006139d1ceea787cdda871dff8943e493f0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 2 09:37:30 2016 +0000

    Add unit test to aarch64 prologue analyzer
    
    We don't have an effective way to test prologue analyzer which is
    highly dependent on instruction patterns in prologue generated by
    compiler.  GDB prologue analyzer may not handle the new sequences
    generated by new compiler, or may still handle some sequences that
    generated by very old compilers which are no longer used.  The
    former is a functionality issue, while the latter is a maintenance
    issue.
    
    The input and output of prologue analyzer is quite clear, so it
    fits for unit test.  The input is series of instructions, and the
    output are 1) where prologue end, 2) where registers are saved.
    In aarch64, they are represented in 'struct aarch64_prologue_cache'.
    
    This patch refactors aarch64_analyze_prologue so it can read
    instructions from either real target or test harness.  In unit
    test aarch64_analyze_prologue_test, aarch64_analyze_prologue gets
    instructions we prepared in the test, as the input of prologue
    analyzer.  Then, we checked various fields in
    'struct aarch64_prologue_cache'.
    
    gdb:
    
    2016-12-02  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves  <palves@redhat.com>
    
    	* aarch64-tdep.c: Include "selftest.h".
    	(abstract_instruction_reader): New class.
    	(instruction_reader): New class.
    	(aarch64_analyze_prologue): Add new parameter reader.  Call
    	reader.read instead of read_memory_unsigned_integer.
    	[GDB_SELF_TEST] (instruction_reader_test): New class.
    	(aarch64_analyze_prologue_test): New function.
    	(_initialize_aarch64_tdep) [GDB_SELF_TEST]: Register
    	selftests::aarch64_analyze_prologue_test.
    	* trad-frame.c (trad_frame_cache_zalloc):
    	(trad_frame_alloc_saved_regs): Add a new function.
    	* trad-frame.h (trad_frame_alloc_saved_regs): Declare.

commit 018572b88885ae67d22612937fa1e4fd98d5f5ad
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 22:07:02 2016 -0600

    Don't handle timeout inside gdb_test_multiple
    
    This fixes a few cases where the testcase is explicitly handling timeouts
    inside gdb_test_multiple when it is not necessary.
    
    It also converts two gdb_test_multiple calls to gdb_test_no_output calls
    (also removing the timeout handling).
    
    gdb/testsuite/ChangeLog:
    
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/maint.exp: Remove timeout handling for gdb_test_multiple.
    	* gdb.cp/gdb2495.exp: Likewise and convert gdb_test_multiple into
    	gdb_test_no_output for a couple of cases.
    	* gdb.cp/ovldbreak.exp: Remove timeout handling for gdb_test_multiple.

commit 397b8d2a9fb6651924c311f41b90cabeb3fc3ae9
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 19:54:05 2016 -0800

    Fix problem where orphan section is treated as a KEEP section.
    
    gold/
    	PR gold/20717
    	* script-sections.cc (Script_sections): Set *keep to false when
    	no match.

commit be2884c1ea9b96fdb04c6d244d9e7aa1b654a47a
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 19:00:30 2016 -0800

    Fix problem causing internal error when -z max-page-size is used.
    
    If the default starting address is less than the new ABI page size,
    we end up misaligning the file header, causing an internal error.
    
    gold/
    	PR gold/20834
    	* target.h (Target::default_text_segment_address): Bump default
    	start address up to ABI page size.

commit 376c3ecd17d0636bcf4e527c2e2ca2f94822fe64
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 16:32:38 2016 -0800

    Implement --push-state/--pop-state.
    
    gold/
    	PR gold/18989
    	* options.cc (General_options::object_format_to_string): New function.
    	(General_options::copy_from_posdep_options): New function.
    	(General_options::parse_push_state): New function.
    	(General_options::parse_pop_state): New function.
    	* options.h (--push-state, --pop-state): New options.
    	(General_options::object_format_to_string): New method.
    	(General_options::set_incremental_disposition): New method.
    	(General_options::copy_from_posdep_options): New method.
    	(General_options::options_stack_): New data member.

commit 6a67d49e559b432ead2859e9bb327852adb53112
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Dec 2 00:00:35 2016 +0000

    Automatic date update in version.in

commit 36d18bc526b055be896d8dc319cb3ade42238534
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:20:02 2016 -0500

    Class-ify ui_out_table
    
    This patch makes a class out of the ui_out_table structure, the
    structure responsible for managing the generation of an UI table.
    
    To simplify the ui_out_table object, I changed it so that it can only be
    used for generating a single object.  Instead of clearing the header
    list when starting a new table, we an ui_out_table when starting a
    table and delete it when we're done.  Therefore, the checks:
    
      if (uiout->table->flag)
      if (!uiout->table->flag)
    
    are respectively replaced with
    
      if (uiout->table != nullptr)
      if (uiout->table == nullptr)
    
    Note: I removed the check at the beginning of ui_out_begin, because
    there is an equivalent check at the beginning of verify_field.
    
    New in v2:
    
      - use "enum class" for ui_out_table::state and update references.
    
    gdb/ChangeLog:
    
    	* ui-out.c (enum ui_out_table_state): Move to class
    	ui_out_table as ui_out_table::state.
    	(struct ui_out_table): Change to ...
    	(class ui_out_table): ... this.
    	<flag>: Remove.
    	<entry_level>: Rename to ...
    	<m_entry_level>: ... this.
    	<columns>: Rename to ...
    	<m_nr_cols>: ... this.
    	<id>: Rename to ...
    	<m_id>: ... this.
    	<headers>: Rename to ...
    	<m_headers>: ... this.
    	<headers_iterator>: Rename to ...
    	<m_headers_iterator>: ... this.
    	<start_body, append_header, start_row, get_next_header,
    	query_field, current_state, entry_level>: New methods.
    	(struct ui_out) <table>: Change type to unique_ptr to
    	ui_out_table.
    	(append_header_to_list, get_next_header, clear_header_list,
    	clear_table): Remove.
    	(ui_out_table_begin): Instantiate ui_out_table object.  Update
    	table check.
    	(ui_out_table_body): Update table check, replace code with call
    	to ui_out_table::start_body.
    	(ui_out_table_end): Update table check, replace manual cleanup
    	with assignment of uiout->table unique_ptr to nullptr.
    	(ui_out_table_header): Update table check, replace call to
    	append_header_to_list with call to append_header method.
    	(ui_out_begin): Remove one table state check, update another.
    	Replace code with call to start_row method.
    	(verify_field): Update table checks.
    	(ui_out_query_field): Update table check, replace code with call
    	to query_field method.
    	(ui_out_new): Remove table initialization code.

commit 77a179e77b38161e461f5e37512f0b3fc3582181
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:10:45 2016 -0500

    ui_out_table: Replace boolean flag with enum
    
    This patch is just a little cleanup, it replaces the body_flag field of
    ui_out_table with an enum.  It expresses more explicitly the
    intent of the field (check that state == TABLE_STATE_HEADERS conveys
    more what we want to do than checking for !body_flag).
    
    New in v2:
    
      - Remove unnecessary ui_out_table_state::.
    
    gdb/ChangeLog:
    
    	* ui-out.c (enum ui_out_table_state): New enum.
    	(struct ui_out_table) <body_flag>: Remove field.
    	<state>: New field.
    	(ui_out_table_begin): Replace usages of body_flag with state.
    	(ui_out_table_body): Likewise.
    	(ui_out_table_end): Likewise.
    	(ui_out_table_header): Likewise.
    	(ui_out_begin): Likewise.
    	(verify_field): Likewise.
    	(ui_out_new): Likewise.

commit 33b2fac610fff1255a24763277a4bf77f1b59ef1
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:05:17 2016 -0500

    Simplify ui-out level code
    
    Now that we use a vector to store the levels, we don't have to keep a
    separate level field in ui_out to keep track of the current level.  We
    can efficiently derive it from the vector size.  That causes a little
    change in the meaning of the level, as in they are now 1-based instead
    of 0-based (the initial level has the "id" 1 now), but it shouldn't
    change anything in the behavior.
    
    Additionally, push_level and pop_level don't really need to return the
    new level, making them return void simplifies the code a bit.
    
    Finally, the ui_out_begin/ui_out_end callbacks in the ui_out_impl
    interface don't need to be passed the level, it's never actually used.
    
    New in v2:
    
     - Remove or update stale comments.
    
    gdb/ChangeLog:
    
    	* ui-out.h (ui_out_begin_ftype): Remove level parameter.
    	(ui_out_end_ftype): Likewise.
    	* ui-out.c (struct ui_out) <level>: Replace field with a method
    	that dynamically computes the result.
    	(current_level): Get vector's back item instead of using
    	uiout->level.
    	(push_level): Make return type void.
    	(pop_level): Make return type void and update access to
    	ui_out::level.
    	(uo_begin): Remove level parameter.
    	(uo_end): Likewise.
    	(ui_out_table_begin): Update access to uiout::level.
    	(ui_out_begin): Don't read return value from push_level, call
    	uiout->level() instead, update call to uo_begin.
    	(ui_out_end): Don't read return value from pop_level, update
    	call to uo_end.
    	(verify_field): Update access to uiout->level.
    	(ui_out_new): Don't initialize ui_out::level, call push_level
    	to push the initial level instead of doing it by hand.
    	* cli-out.c (cli_begin): Remove level parameter.
    	(cli_end): Likewise.
    	* mi/mi-out.c (mi_begin): Likewise.
    	(mi_end): Likewise.

commit 909c0aa5824080c287b390f82726cf5bfb7011e3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:04:43 2016 -0500

    Class-ify ui_out_level
    
    This patch changes struct ui_out_level to be a real C++ class.  No
    behavioral changes.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_level): Replace with ...
    	(class ui_out_level): ... this.
    	(current_level): Update.
    	(push_level): Update.
    	(pop_level): Update.
    	(verify_field): Update.
    	(ui_out_new): Update.

commit 37e20dd6599203c4e261fc3a2e86711c90cbbed9
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 16:02:00 2016 -0500

    Class-ify ui_out_hdr
    
    This patch makes ui_out_hdr (the object that represents an ui-out table
    header) a proper C++ class.  No behavior changes, it's all about
    encapsulation.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_hdr): Replace with ...
    	(class ui_out_hdr): ... this.
    	(append_header_to_list): Update.
    	(get_next_header): Update.
    	(ui_out_query_field): Update.

commit c5209615263fd0444da28cdfb6661ad287909a70
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 15:59:01 2016 -0500

    Use std::string for ui_out_hdr's text fields
    
    This patch makes ui_out_hdr use std::string for its text fields.  It
    makes freeing automatic when the object is deleted.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_table_header): Change char * args to
    	std::string.
    	* cli-out.c (cli_table_header): Likewise.
    	* ui-out.h (table_header_ftype): Likewise.
    	(ui_out_table_header): Constify colhdr argument.
    	(ui_out_query_field): Constify col_name argument.
    	* ui-out.c (ui_out_hdr) <col_name, colhdr>: Change type to
    	std::string.
    	(uo_table_header): Change char * args to std::string.
    	(ui_out_table_header): Likewise.
    	(get_next_header): Constify colhdr argument and adapt.
    	(clear_header_list): Don't free col_name/colhdr fields.
    	(append_header_to_list): Change char * args to std::string and
    	adapt.
    	(verify_field): Constify variable.
    	(ui_out_query_field): Constify col_name argument and adapt.
    	* breakpoint.c (wrap_indent_at_field): Constify variable.

commit 78afa7f8599e46eb94a93510b383dfb35e549f7e
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Dec 1 15:58:40 2016 -0500

    Replace hand-made linked list of ui_out_hdr by vector and iterator
    
    Instead of keeping pointers to first, last and current ui_out_hdr in
    ui_out_table, we can use an std::vector and an iterator.  Direct random
    access of to vector helps make get_next_header a bit nicer by avoiding
    iterating on all the headers.  append_header_to_list is also a bit
    simpler.
    
    Also, using unique_ptr inside the vector allows expressing the ownership
    of the ui_out_hdr objects by the ui_out_table object, and it simplifies
    the destruction.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_hdr) <next>: Remove.
    	(struct ui_out_table) <header_first, header_last, header_next>: Remove.
    	<headers, headers_iterator>: New fields.
    	(ui_out_table_body): Update for the new data structure.
    	(ui_out_begin): Likewise.
    	(clear_header_list): Likewise.
    	(append_header_to_list): Likewise.
    	(get_next_header): Likewise.
    	(ui_out_query_field): Likewise.
    	(ui_out_new): Likewise.

commit 0f1254327820d7b3f67f873aa40e76679f067288
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Thu Dec 1 12:50:21 2016 -0800

    Fix internal error when relaxing branches to STT_SECTION symbols.
    
    gold/
    	PR gold/20807
    	* aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Handle
    	section symbols correctly.
    	* arm.cc (Target_arm): Likewise.
    	* powerpc.cc (Target_powerpc): Likewise.

commit 84c93cd5f1ff869eb8c04314738eaa2cddb3c29e
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:47:50 2016 -0600

    Fixup testcases outputting own name as a test name and standardize failed compilation messages
    
    Changes in v3:
    
    - Adjusted some testcases where the message "failed to compile" was not unique.
    
    Changes in v2:
    
    - Addressed comments from reviewers.
    - Fixed spurious whitespaces.
    - Changed compilation failure messages that included source/binary paths to
      ones that are short and deterministic.
    
    ---
    
    Another bit of cleanup to the testsuite. We have a number of tests that are
    not honoring the rule of not outputting their own name as a test name.
    
    I fixed up all the offenders i could find with the following regular
    expression:
    
    "(xfail|kfail|kpass|fail|pass|unsupported|untested) ([A-Za-z0-9]+|\\\$(.)*testfile(.)*)\.exp$"
    
    gdb/testsuite/ChangeLog:
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names and standardize compilation error messages throughout
    	the following files:
    
    	* gdb.ada/start.exp
    	* gdb.arch/alpha-step.exp
    	* gdb.arch/e500-prologue.exp
    	* gdb.arch/ftrace-insn-reloc.exp
    	* gdb.arch/gdb1291.exp
    	* gdb.arch/gdb1431.exp
    	* gdb.arch/gdb1558.exp
    	* gdb.arch/i386-dr3-watch.exp
    	* gdb.arch/i386-sse-stack-align.exp
    	* gdb.arch/ia64-breakpoint-shadow.exp
    	* gdb.arch/pa-nullify.exp
    	* gdb.arch/powerpc-aix-prologue.exp
    	* gdb.arch/thumb-bx-pc.exp
    	* gdb.base/annota1.exp
    	* gdb.base/annota3.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/assign.exp
    	* gdb.base/attach.exp
    	* gdb.base/auxv.exp
    	* gdb.base/bang.exp
    	* gdb.base/bfp-test.exp
    	* gdb.base/bigcore.exp
    	* gdb.base/bitfields2.exp
    	* gdb.base/break-fun-addr.exp
    	* gdb.base/break-probes.exp
    	* gdb.base/call-rt-st.exp
    	* gdb.base/callexit.exp
    	* gdb.base/catch-fork-kill.exp
    	* gdb.base/charset.exp
    	* gdb.base/checkpoint.exp
    	* gdb.base/comprdebug.exp
    	* gdb.base/constvars.exp
    	* gdb.base/coredump-filter.exp
    	* gdb.base/cursal.exp
    	* gdb.base/cvexpr.exp
    	* gdb.base/detach.exp
    	* gdb.base/display.exp
    	* gdb.base/dmsym.exp
    	* gdb.base/dprintf-pending.exp
    	* gdb.base/dso2dso.exp
    	* gdb.base/dtrace-probe.exp
    	* gdb.base/dump.exp
    	* gdb.base/enum_cond.exp
    	* gdb.base/exe-lock.exp
    	* gdb.base/exec-invalid-sysroot.exp
    	* gdb.base/execl-update-breakpoints.exp
    	* gdb.base/exprs.exp
    	* gdb.base/fileio.exp
    	* gdb.base/find.exp
    	* gdb.base/finish.exp
    	* gdb.base/fixsection.exp
    	* gdb.base/foll-vfork.exp
    	* gdb.base/frame-args.exp
    	* gdb.base/gcore.exp
    	* gdb.base/gdb1250.exp
    	* gdb.base/global-var-nested-by-dso.exp
    	* gdb.base/gnu-ifunc.exp
    	* gdb.base/hashline1.exp
    	* gdb.base/hashline2.exp
    	* gdb.base/hashline3.exp
    	* gdb.base/hbreak-in-shr-unsupported.exp
    	* gdb.base/huge.exp
    	* gdb.base/infcall-input.exp
    	* gdb.base/info-fun.exp
    	* gdb.base/info-shared.exp
    	* gdb.base/jit-simple.exp
    	* gdb.base/jit-so.exp
    	* gdb.base/jit.exp
    	* gdb.base/jump.exp
    	* gdb.base/label.exp
    	* gdb.base/lineinc.exp
    	* gdb.base/logical.exp
    	* gdb.base/longjmp.exp
    	* gdb.base/macscp.exp
    	* gdb.base/miscexprs.exp
    	* gdb.base/new-ui-echo.exp
    	* gdb.base/new-ui-pending-input.exp
    	* gdb.base/new-ui.exp
    	* gdb.base/nodebug.exp
    	* gdb.base/nofield.exp
    	* gdb.base/offsets.exp
    	* gdb.base/overlays.exp
    	* gdb.base/pending.exp
    	* gdb.base/pointers.exp
    	* gdb.base/pr11022.exp
    	* gdb.base/printcmds.exp
    	* gdb.base/prologue.exp
    	* gdb.base/ptr-typedef.exp
    	* gdb.base/realname-expand.exp
    	* gdb.base/relativedebug.exp
    	* gdb.base/relocate.exp
    	* gdb.base/remote.exp
    	* gdb.base/reread.exp
    	* gdb.base/return2.exp
    	* gdb.base/savedregs.exp
    	* gdb.base/sep.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/sepsymtab.exp
    	* gdb.base/set-inferior-tty.exp
    	* gdb.base/setshow.exp
    	* gdb.base/shlib-call.exp
    	* gdb.base/sigaltstack.exp
    	* gdb.base/siginfo-addr.exp
    	* gdb.base/signals.exp
    	* gdb.base/signull.exp
    	* gdb.base/sigrepeat.exp
    	* gdb.base/so-impl-ld.exp
    	* gdb.base/solib-display.exp
    	* gdb.base/solib-overlap.exp
    	* gdb.base/solib-search.exp
    	* gdb.base/solib-symbol.exp
    	* gdb.base/structs.exp
    	* gdb.base/structs2.exp
    	* gdb.base/symtab-search-order.exp
    	* gdb.base/twice.exp
    	* gdb.base/unload.exp
    	* gdb.base/varargs.exp
    	* gdb.base/watchpoint-solib.exp
    	* gdb.base/watchpoint.exp
    	* gdb.base/whatis.exp
    	* gdb.base/wrong_frame_bt_full.exp
    	* gdb.btrace/dlopen.exp
    	* gdb.cell/ea-standalone.exp
    	* gdb.cell/ea-test.exp
    	* gdb.cp/dispcxx.exp
    	* gdb.cp/gdb2384.exp
    	* gdb.cp/method2.exp
    	* gdb.cp/nextoverthrow.exp
    	* gdb.cp/pr10728.exp
    	* gdb.disasm/am33.exp
    	* gdb.disasm/h8300s.exp
    	* gdb.disasm/mn10300.exp
    	* gdb.disasm/sh3.exp
    	* gdb.dwarf2/dw2-dir-file-name.exp
    	* gdb.fortran/complex.exp
    	* gdb.fortran/library-module.exp
    	* gdb.guile/scm-pretty-print.exp
    	* gdb.guile/scm-symbol.exp
    	* gdb.guile/scm-type.exp
    	* gdb.guile/scm-value.exp
    	* gdb.linespec/linespec.exp
    	* gdb.mi/gdb701.exp
    	* gdb.mi/gdb792.exp
    	* gdb.mi/mi-breakpoint-changed.exp
    	* gdb.mi/mi-dprintf-pending.exp
    	* gdb.mi/mi-dprintf.exp
    	* gdb.mi/mi-exit-code.exp
    	* gdb.mi/mi-pending.exp
    	* gdb.mi/mi-solib.exp
    	* gdb.mi/new-ui-mi-sync.exp
    	* gdb.mi/pr11022.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.opt/solib-intra-step.exp
    	* gdb.python/py-events.exp
    	* gdb.python/py-finish-breakpoint.exp
    	* gdb.python/py-mi.exp
    	* gdb.python/py-prettyprint.exp
    	* gdb.python/py-shared.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-template.exp
    	* gdb.python/py-type.exp
    	* gdb.python/py-value.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/solib-reverse.exp
    	* gdb.server/solib-list.exp
    	* gdb.stabs/weird.exp
    	* gdb.threads/reconnect-signal.exp
    	* gdb.threads/stepi-random-signal.exp
    	* gdb.trace/actions.exp
    	* gdb.trace/ax.exp
    	* gdb.trace/backtrace.exp
    	* gdb.trace/change-loc.exp
    	* gdb.trace/deltrace.exp
    	* gdb.trace/ftrace-lock.exp
    	* gdb.trace/ftrace.exp
    	* gdb.trace/infotrace.exp
    	* gdb.trace/mi-tracepoint-changed.exp
    	* gdb.trace/packetlen.exp
    	* gdb.trace/passcount.exp
    	* gdb.trace/pending.exp
    	* gdb.trace/range-stepping.exp
    	* gdb.trace/report.exp
    	* gdb.trace/stap-trace.exp
    	* gdb.trace/tfind.exp
    	* gdb.trace/trace-break.exp
    	* gdb.trace/trace-condition.exp
    	* gdb.trace/trace-enable-disable.exp
    	* gdb.trace/trace-mt.exp
    	* gdb.trace/tracecmd.exp
    	* gdb.trace/tspeed.exp
    	* gdb.trace/tsv.exp
    	* lib/perftest.exp

commit fb9feb35913d4cf26baf01e1638b18af301f5387
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:46:28 2016 -0600

    Fix test names starting with uppercase using multi-line gdb_test_multiple
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_multiple in a multi-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.cp/gdb2495.exp: Replace gdb_test_multiple
    	with gdb_test_no_output.
    	Use command as test name.

commit cd2ddb6cde55a20d191e1002dbe1977df695cda9
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:45:32 2016 -0600

    Fix test names starting with uppercase using multi-line gdb_test_no_output
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_no_output in a multi-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.ada/assign_1.exp
    	* gdb.ada/boolean_expr.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/del.exp
    	* gdb.base/gcore-buffer-overflow.exp
    	* gdb.base/testenv.exp
    	* gdb.compile/compile.exp
    	* gdb.python/py-framefilter-invalidarg.exp
    	* gdb.python/py-framefilter.exp

commit bb95117e107fe58ecd35683bf0e8da3b414378ff
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:44:38 2016 -0600

    Fix test names starting with uppercase using multi-line gdb_test/mi_gdb_test
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test/mi_gdb_test in a multi-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.ada/array_return.exp
    	* gdb.ada/expr_delims.exp
    	* gdb.ada/mi_dyn_arr.exp
    	* gdb.ada/mi_interface.exp
    	* gdb.ada/mi_var_array.exp
    	* gdb.ada/watch_arg.exp
    	* gdb.arch/alpha-step.exp
    	* gdb.arch/altivec-regs.exp
    	* gdb.arch/e500-regs.exp
    	* gdb.arch/powerpc-d128-regs.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/break.exp
    	* gdb.base/checkpoint.exp
    	* gdb.base/debug-expr.exp
    	* gdb.base/dmsym.exp
    	* gdb.base/radix.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/testenv.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.base/watchpoint-cond-gone.exp
    	* gdb.cell/break.exp
    	* gdb.cell/ea-cache.exp
    	* gdb.compile/compile.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.gdb/selftest.exp
    	* gdb.gdb/xfullpath.exp
    	* gdb.go/hello.exp
    	* gdb.go/integers.exp
    	* gdb.objc/basicclass.exp
    	* gdb.pascal/hello.exp
    	* gdb.pascal/integers.exp
    	* gdb.python/py-breakpoint.exp
    	* gdb.python/py-cmd.exp
    	* gdb.python/py-linetable.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.python/python.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/sigall-precsave.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.threads/leader-exit.exp
    	* gdb.threads/pthreads.exp
    	* gdb.threads/wp-replication.exp
    	* gdb.trace/actions.exp
    	* gdb.trace/mi-tsv-changed.exp
    	* gdb.trace/tsv.exp

commit de97fdd4a05cd7ad0b05444f1721f26c1ad9322f
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:43:42 2016 -0600

    Fix test names starting with uppercase using gdb_test_multiple
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_multiple in a single-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.arch/i386-bp_permanent.exp
    	* gdb.arch/i386-gnu-cfi.exp
    	* gdb.base/disasm-end-cu.exp
    	* gdb.base/macscp.exp
    	* gdb.base/pending.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.cp/exception.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.cp/local.exp
    	* gdb.python/py-evsignal.exp
    	* gdb.python/python.exp
    	* gdb.trace/tracecmd.exp

commit 9f058c10cef5987ee1f1cb28c9a8cf5ef1ec4d11
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:42:48 2016 -0600

    Fix test names starting with uppercase using gdb_test_no_output
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test_no_output in a single-line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.base/charset.exp
    	* gdb.base/eval.exp
    	* gdb.base/multi-forks.exp
    	* gdb.guile/scm-progspace.exp
    	* gdb.opencl/datatypes.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-function.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.reverse/break-precsave.exp
    	* gdb.reverse/break-reverse.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/consecutive-reverse.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/finish-reverse-bkpt.exp
    	* gdb.reverse/finish-reverse.exp
    	* gdb.reverse/fstatat-reverse.exp
    	* gdb.reverse/getresuid-reverse.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/i386-reverse.exp
    	* gdb.reverse/i386-sse-reverse.exp
    	* gdb.reverse/i387-stack-reverse.exp
    	* gdb.reverse/insn-reverse.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/machinestate.exp
    	* gdb.reverse/next-reverse-bkpt-over-sr.exp
    	* gdb.reverse/pipe-reverse.exp
    	* gdb.reverse/readv-reverse.exp
    	* gdb.reverse/recvmsg-reverse.exp
    	* gdb.reverse/rerun-prec.exp
    	* gdb.reverse/s390-mvcle.exp
    	* gdb.reverse/sigall-precsave.exp
    	* gdb.reverse/sigall-reverse.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/solib-reverse.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/step-reverse.exp
    	* gdb.reverse/time-reverse.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/until-reverse.exp
    	* gdb.reverse/waitpid-reverse.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.reverse/watch-reverse.exp

commit cdc7edd7b17dddd3558bd04d9b2fb5a73dc75f1c
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:41:23 2016 -0600

    Fix test names starting with uppercase using gdb_test on a single line.
    
    Changes in v3:
      Fixed incorrect substitutions.
    
    This fixes offender testcases that have test names starting with uppercase
    when using gdb_test in a single line construct.
    
    gdb/testsuite/ChangeLog
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout the files.
    
    	* gdb.arch/i386-mpx-simple_segv.exp
    	* gdb.arch/i386-mpx.exp
    	* gdb.arch/i386-permbkpt.exp
    	* gdb.arch/pa-nullify.exp
    	* gdb.arch/powerpc-d128-regs.exp
    	* gdb.arch/vsx-regs.exp
    	* gdb.base/bfp-test.exp
    	* gdb.base/break.exp
    	* gdb.base/breakpoint-shadow.exp
    	* gdb.base/callfuncs.exp
    	* gdb.base/charset.exp
    	* gdb.base/commands.exp
    	* gdb.base/completion.exp
    	* gdb.base/dfp-test.exp
    	* gdb.base/echo.exp
    	* gdb.base/ending-run.exp
    	* gdb.base/eval.exp
    	* gdb.base/expand-psymtabs.exp
    	* gdb.base/float128.exp
    	* gdb.base/floatn.exp
    	* gdb.base/foll-exec-mode.exp
    	* gdb.base/gdb1056.exp
    	* gdb.base/gdb11531.exp
    	* gdb.base/kill-after-signal.exp
    	* gdb.base/multi-forks.exp
    	* gdb.base/overlays.exp
    	* gdb.base/pending.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/testenv.exp
    	* gdb.base/valgrind-db-attach.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.base/watchpoint-cond-gone.exp
    	* gdb.base/watchpoint.exp
    	* gdb.base/watchpoints.exp
    	* gdb.cp/arg-reference.exp
    	* gdb.cp/baseenum.exp
    	* gdb.cp/operator.exp
    	* gdb.cp/shadow.exp
    	* gdb.dwarf2/dw2-op-out-param.exp
    	* gdb.dwarf2/dw2-reg-undefined.exp
    	* gdb.go/chan.exp
    	* gdb.go/hello.exp
    	* gdb.go/integers.exp
    	* gdb.go/methods.exp
    	* gdb.go/package.exp
    	* gdb.guile/scm-parameter.exp
    	* gdb.guile/scm-progspace.exp
    	* gdb.guile/scm-value.exp
    	* gdb.mi/mi-pending.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.multi/multi-attach.exp
    	* gdb.multi/tids.exp
    	* gdb.opt/clobbered-registers-O2.exp
    	* gdb.pascal/floats.exp
    	* gdb.pascal/integers.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-events.exp
    	* gdb.python/py-parameter.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-type.exp
    	* gdb.python/py-value.exp
    	* gdb.python/py-xmethods.exp
    	* gdb.python/python.exp
    	* gdb.reverse/break-precsave.exp
    	* gdb.reverse/consecutive-precsave.exp
    	* gdb.reverse/finish-precsave.exp
    	* gdb.reverse/i386-precsave.exp
    	* gdb.reverse/machinestate-precsave.exp
    	* gdb.reverse/sigall-precsave.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/step-precsave.exp
    	* gdb.reverse/until-precsave.exp
    	* gdb.reverse/watch-precsave.exp
    	* gdb.server/ext-attach.exp
    	* gdb.server/ext-restart.exp
    	* gdb.server/ext-run.exp
    	* gdb.server/ext-wrapper.exp
    	* gdb.stabs/gdb11479.exp
    	* gdb.stabs/weird.exp
    	* gdb.threads/attach-many-short-lived-threads.exp
    	* gdb.threads/kill.exp
    	* gdb.threads/watchpoint-fork.exp

commit bc6c7af4a2f23c48a38139fc7e0ed2ac7b12bb69
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 14:40:05 2016 -0600

    Fix test names starting with uppercase output by basic functions
    
    The following patch is based on the previous patch i sent and handles cases of
    test names that start with an uppercase letter. Test names should start with
    lowercase unless it starts with the name of a technology, architecture, ISA
    etc.
    
    This first patch addresses cases of test names output explicitly via xfail,
    kfail, kpass, fail, pass, unsupported, untested and also names set with the
    pattern "set test" and "set testname".
    
    gdb/testsuite/ChangeLog:
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	Fix test names starting with uppercase throughout all the files below.
    
    	* gdb.ada/array_return.exp
    	* gdb.ada/catch_ex.exp
    	* gdb.ada/info_exc.exp
    	* gdb.ada/mi_catch_ex.exp
    	* gdb.ada/mi_dyn_arr.exp
    	* gdb.ada/mi_ex_cond.exp
    	* gdb.ada/mi_exc_info.exp
    	* gdb.ada/mi_interface.exp
    	* gdb.ada/mi_task_arg.exp
    	* gdb.ada/mi_task_info.exp
    	* gdb.ada/mi_var_array.exp
    	* gdb.arch/alpha-step.exp
    	* gdb.arch/amd64-disp-step.exp
    	* gdb.arch/arm-disp-step.exp
    	* gdb.arch/disp-step-insn-reloc.exp
    	* gdb.arch/e500-prologue.exp
    	* gdb.arch/ftrace-insn-reloc.exp
    	* gdb.arch/gdb1558.exp
    	* gdb.arch/i386-bp_permanent.exp
    	* gdb.arch/i386-disp-step.exp
    	* gdb.arch/i386-float.exp
    	* gdb.arch/i386-gnu-cfi.exp
    	* gdb.arch/ia64-breakpoint-shadow.exp
    	* gdb.arch/mips16-thunks.exp
    	* gdb.arch/pa-nullify.exp
    	* gdb.arch/powerpc-aix-prologue.exp
    	* gdb.arch/powerpc-power.exp
    	* gdb.arch/ppc-dfp.exp
    	* gdb.arch/s390-tdbregs.exp
    	* gdb.arch/spu-info.exp
    	* gdb.arch/spu-ls.exp
    	* gdb.arch/thumb-bx-pc.exp
    	* gdb.base/advance.exp
    	* gdb.base/annota-input-while-running.exp
    	* gdb.base/arrayidx.exp
    	* gdb.base/asmlabel.exp
    	* gdb.base/async.exp
    	* gdb.base/attach-wait-input.exp
    	* gdb.base/auto-connect-native-target.exp
    	* gdb.base/batch-preserve-term-settings.exp
    	* gdb.base/bfp-test.exp
    	* gdb.base/bigcore.exp
    	* gdb.base/bp-permanent.exp
    	* gdb.base/break-always.exp
    	* gdb.base/break-fun-addr.exp
    	* gdb.base/break-idempotent.exp
    	* gdb.base/break-main-file-remove-fail.exp
    	* gdb.base/break-probes.exp
    	* gdb.base/break-unload-file.exp
    	* gdb.base/break.exp
    	* gdb.base/call-ar-st.exp
    	* gdb.base/call-rt-st.exp
    	* gdb.base/call-sc.exp
    	* gdb.base/call-signal-resume.exp
    	* gdb.base/call-strs.exp
    	* gdb.base/callexit.exp
    	* gdb.base/callfuncs.exp
    	* gdb.base/catch-gdb-caused-signals.exp
    	* gdb.base/catch-signal-siginfo-cond.exp
    	* gdb.base/catch-syscall.exp
    	* gdb.base/compare-sections.exp
    	* gdb.base/cond-eval-mode.exp
    	* gdb.base/condbreak-call-false.exp
    	* gdb.base/consecutive-step-over.exp
    	* gdb.base/cursal.exp
    	* gdb.base/disabled-location.exp
    	* gdb.base/disasm-end-cu.exp
    	* gdb.base/display.exp
    	* gdb.base/double-prompt-target-event-error.exp
    	* gdb.base/dprintf-bp-same-addr.exp
    	* gdb.base/dprintf-detach.exp
    	* gdb.base/dprintf-next.exp
    	* gdb.base/dprintf-non-stop.exp
    	* gdb.base/dprintf-pending.exp
    	* gdb.base/dso2dso.exp
    	* gdb.base/ending-run.exp
    	* gdb.base/enum_cond.exp
    	* gdb.base/examine-backward.exp
    	* gdb.base/exe-lock.exp
    	* gdb.base/exec-invalid-sysroot.exp
    	* gdb.base/execl-update-breakpoints.exp
    	* gdb.base/execution-termios.exp
    	* gdb.base/fileio.exp
    	* gdb.base/fixsection.exp
    	* gdb.base/foll-exec-mode.exp
    	* gdb.base/foll-exec.exp
    	* gdb.base/fork-running-state.exp
    	* gdb.base/frame-args.exp
    	* gdb.base/fullpath-expand.exp
    	* gdb.base/func-ptr.exp
    	* gdb.base/gcore-relro-pie.exp
    	* gdb.base/gdb1090.exp
    	* gdb.base/gdb1555.exp
    	* gdb.base/global-var-nested-by-dso.exp
    	* gdb.base/gnu-ifunc.exp
    	* gdb.base/hbreak-in-shr-unsupported.exp
    	* gdb.base/hbreak-unmapped.exp
    	* gdb.base/hook-stop.exp
    	* gdb.base/infcall-input.exp
    	* gdb.base/info-fun.exp
    	* gdb.base/info-shared.exp
    	* gdb.base/interrupt-noterm.exp
    	* gdb.base/jit-so.exp
    	* gdb.base/jit.exp
    	* gdb.base/line-symtabs.exp
    	* gdb.base/list.exp
    	* gdb.base/longjmp.exp
    	* gdb.base/macscp.exp
    	* gdb.base/max-value-size.exp
    	* gdb.base/nodebug.exp
    	* gdb.base/nofield.exp
    	* gdb.base/overlays.exp
    	* gdb.base/paginate-after-ctrl-c-running.exp
    	* gdb.base/paginate-bg-execution.exp
    	* gdb.base/paginate-inferior-exit.exp
    	* gdb.base/pending.exp
    	* gdb.base/pr11022.exp
    	* gdb.base/printcmds.exp
    	* gdb.base/ptr-typedef.exp
    	* gdb.base/ptype.exp
    	* gdb.base/randomize.exp
    	* gdb.base/range-stepping.exp
    	* gdb.base/realname-expand.exp
    	* gdb.base/relativedebug.exp
    	* gdb.base/remote.exp
    	* gdb.base/savedregs.exp
    	* gdb.base/sepdebug.exp
    	* gdb.base/set-noassign.exp
    	* gdb.base/shlib-call.exp
    	* gdb.base/shreloc.exp
    	* gdb.base/sigaltstack.exp
    	* gdb.base/sigbpt.exp
    	* gdb.base/siginfo-addr.exp
    	* gdb.base/siginfo-obj.exp
    	* gdb.base/siginfo-thread.exp
    	* gdb.base/signest.exp
    	* gdb.base/signull.exp
    	* gdb.base/sigrepeat.exp
    	* gdb.base/skip.exp
    	* gdb.base/so-impl-ld.exp
    	* gdb.base/solib-corrupted.exp
    	* gdb.base/solib-disc.exp
    	* gdb.base/solib-display.exp
    	* gdb.base/solib-overlap.exp
    	* gdb.base/solib-search.exp
    	* gdb.base/solib-symbol.exp
    	* gdb.base/source-execution.exp
    	* gdb.base/sss-bp-on-user-bp-2.exp
    	* gdb.base/sss-bp-on-user-bp.exp
    	* gdb.base/stack-checking.exp
    	* gdb.base/stale-infcall.exp
    	* gdb.base/step-break.exp
    	* gdb.base/step-line.exp
    	* gdb.base/step-over-exit.exp
    	* gdb.base/step-test.exp
    	* gdb.base/structs.exp
    	* gdb.base/sym-file.exp
    	* gdb.base/symtab-search-order.exp
    	* gdb.base/term.exp
    	* gdb.base/type-opaque.exp
    	* gdb.base/unload.exp
    	* gdb.base/until-nodebug.exp
    	* gdb.base/until.exp
    	* gdb.base/unwindonsignal.exp
    	* gdb.base/watch-cond.exp
    	* gdb.base/watch-non-mem.exp
    	* gdb.base/watch_thread_num.exp
    	* gdb.base/watchpoint-reuse-slot.exp
    	* gdb.base/watchpoint-solib.exp
    	* gdb.base/watchpoint.exp
    	* gdb.btrace/dlopen.exp
    	* gdb.cell/arch.exp
    	* gdb.cell/break.exp
    	* gdb.cell/bt.exp
    	* gdb.cell/core.exp
    	* gdb.cell/data.exp
    	* gdb.cell/dwarfaddr.exp
    	* gdb.cell/ea-cache.exp
    	* gdb.cell/ea-standalone.exp
    	* gdb.cell/ea-test.exp
    	* gdb.cell/f-regs.exp
    	* gdb.cell/fork.exp
    	* gdb.cell/gcore.exp
    	* gdb.cell/mem-access.exp
    	* gdb.cell/ptype.exp
    	* gdb.cell/registers.exp
    	* gdb.cell/sizeof.exp
    	* gdb.cell/solib-symbol.exp
    	* gdb.cell/solib.exp
    	* gdb.compile/compile-tls.exp
    	* gdb.cp/exception.exp
    	* gdb.cp/gdb2495.exp
    	* gdb.cp/local.exp
    	* gdb.cp/mb-inline.exp
    	* gdb.cp/mb-templates.exp
    	* gdb.cp/pr10687.exp
    	* gdb.cp/pr9167.exp
    	* gdb.cp/scope-err.exp
    	* gdb.cp/templates.exp
    	* gdb.cp/virtfunc.exp
    	* gdb.dwarf2/dw2-dir-file-name.exp
    	* gdb.dwarf2/dw2-single-line-discriminators.exp
    	* gdb.fortran/complex.exp
    	* gdb.fortran/library-module.exp
    	* gdb.guile/guile.exp
    	* gdb.guile/scm-cmd.exp
    	* gdb.guile/scm-frame-inline.exp
    	* gdb.guile/scm-objfile.exp
    	* gdb.guile/scm-pretty-print.exp
    	* gdb.guile/scm-symbol.exp
    	* gdb.guile/scm-type.exp
    	* gdb.guile/scm-value.exp
    	* gdb.linespec/keywords.exp
    	* gdb.linespec/ls-errs.exp
    	* gdb.linespec/macro-relative.exp
    	* gdb.linespec/thread.exp
    	* gdb.mi/mi-breakpoint-changed.exp
    	* gdb.mi/mi-dprintf-pending.exp
    	* gdb.mi/mi-fullname-deleted.exp
    	* gdb.mi/mi-logging.exp
    	* gdb.mi/mi-pending.exp
    	* gdb.mi/mi-solib.exp
    	* gdb.mi/new-ui-mi-sync.exp
    	* gdb.mi/user-selected-context-sync.exp
    	* gdb.multi/dummy-frame-restore.exp
    	* gdb.multi/multi-arch-exec.exp
    	* gdb.multi/remove-inferiors.exp
    	* gdb.multi/watchpoint-multi-exit.exp
    	* gdb.opt/solib-intra-step.exp
    	* gdb.perf/backtrace.exp
    	* gdb.perf/single-step.exp
    	* gdb.perf/skip-command.exp
    	* gdb.perf/skip-prologue.exp
    	* gdb.perf/solib.exp
    	* gdb.python/lib-types.exp
    	* gdb.python/py-as-string.exp
    	* gdb.python/py-bad-printers.exp
    	* gdb.python/py-block.exp
    	* gdb.python/py-breakpoint.exp
    	* gdb.python/py-cmd.exp
    	* gdb.python/py-events.exp
    	* gdb.python/py-evthreads.exp
    	* gdb.python/py-finish-breakpoint.exp
    	* gdb.python/py-finish-breakpoint2.exp
    	* gdb.python/py-frame-inline.exp
    	* gdb.python/py-frame.exp
    	* gdb.python/py-inferior.exp
    	* gdb.python/py-infthread.exp
    	* gdb.python/py-mi.exp
    	* gdb.python/py-objfile.exp
    	* gdb.python/py-pp-maint.exp
    	* gdb.python/py-pp-registration.exp
    	* gdb.python/py-prettyprint.exp
    	* gdb.python/py-recurse-unwind.exp
    	* gdb.python/py-shared.exp
    	* gdb.python/py-symbol.exp
    	* gdb.python/py-symtab.exp
    	* gdb.python/py-template.exp
    	* gdb.python/py-type.exp
    	* gdb.python/py-unwind-maint.exp
    	* gdb.python/py-unwind.exp
    	* gdb.python/py-value.exp
    	* gdb.python/python.exp
    	* gdb.reverse/finish-reverse-bkpt.exp
    	* gdb.reverse/insn-reverse.exp
    	* gdb.reverse/next-reverse-bkpt-over-sr.exp
    	* gdb.reverse/solib-precsave.exp
    	* gdb.reverse/solib-reverse.exp
    	* gdb.stabs/gdb11479.exp
    	* gdb.stabs/weird.exp
    	* gdb.threads/fork-child-threads.exp
    	* gdb.threads/fork-plus-threads.exp
    	* gdb.threads/fork-thread-pending.exp
    	* gdb.threads/forking-threads-plus-breakpoint.exp
    	* gdb.threads/hand-call-in-threads.exp
    	* gdb.threads/interrupted-hand-call.exp
    	* gdb.threads/linux-dp.exp
    	* gdb.threads/local-watch-wrong-thread.exp
    	* gdb.threads/next-while-other-thread-longjmps.exp
    	* gdb.threads/non-ldr-exit.exp
    	* gdb.threads/pending-step.exp
    	* gdb.threads/print-threads.exp
    	* gdb.threads/process-dies-while-detaching.exp
    	* gdb.threads/process-dies-while-handling-bp.exp
    	* gdb.threads/pthreads.exp
    	* gdb.threads/queue-signal.exp
    	* gdb.threads/reconnect-signal.exp
    	* gdb.threads/signal-command-handle-nopass.exp
    	* gdb.threads/signal-command-multiple-signals-pending.exp
    	* gdb.threads/signal-delivered-right-thread.exp
    	* gdb.threads/signal-sigtrap.exp
    	* gdb.threads/sigthread.exp
    	* gdb.threads/staticthreads.exp
    	* gdb.threads/stepi-random-signal.exp
    	* gdb.threads/thread-unwindonsignal.exp
    	* gdb.threads/thread_check.exp
    	* gdb.threads/thread_events.exp
    	* gdb.threads/tid-reuse.exp
    	* gdb.threads/tls-nodebug.exp
    	* gdb.threads/tls-shared.exp
    	* gdb.threads/tls-so_extern.exp
    	* gdb.threads/tls.exp
    	* gdb.threads/wp-replication.exp
    	* gdb.trace/actions-changed.exp
    	* gdb.trace/actions.exp
    	* gdb.trace/backtrace.exp
    	* gdb.trace/change-loc.exp
    	* gdb.trace/collection.exp
    	* gdb.trace/deltrace.exp
    	* gdb.trace/disconnected-tracing.exp
    	* gdb.trace/entry-values.exp
    	* gdb.trace/ftrace-lock.exp
    	* gdb.trace/ftrace.exp
    	* gdb.trace/infotrace.exp
    	* gdb.trace/mi-trace-frame-collected.exp
    	* gdb.trace/mi-trace-unavailable.exp
    	* gdb.trace/mi-traceframe-changed.exp
    	* gdb.trace/mi-tracepoint-changed.exp
    	* gdb.trace/mi-tsv-changed.exp
    	* gdb.trace/no-attach-trace.exp
    	* gdb.trace/packetlen.exp
    	* gdb.trace/passc-dyn.exp
    	* gdb.trace/passcount.exp
    	* gdb.trace/pending.exp
    	* gdb.trace/pr16508.exp
    	* gdb.trace/qtro.exp
    	* gdb.trace/range-stepping.exp
    	* gdb.trace/read-memory.exp
    	* gdb.trace/report.exp
    	* gdb.trace/save-trace.exp
    	* gdb.trace/signal.exp
    	* gdb.trace/stap-trace.exp
    	* gdb.trace/status-stop.exp
    	* gdb.trace/strace.exp
    	* gdb.trace/tfile.exp
    	* gdb.trace/tfind.exp
    	* gdb.trace/trace-break.exp
    	* gdb.trace/trace-condition.exp
    	* gdb.trace/trace-enable-disable.exp
    	* gdb.trace/trace-mt.exp
    	* gdb.trace/tracecmd.exp
    	* gdb.trace/tracefile-pseudo-reg.exp
    	* gdb.trace/tspeed.exp
    	* gdb.trace/tstatus.exp
    	* gdb.trace/tsv.exp
    	* gdb.trace/unavailable.exp
    	* gdb.trace/while-dyn.exp
    	* gdb.trace/while-stepping.exp
    	* lib/gdb-guile.exp
    	* lib/gdb.exp
    	* lib/mi-support.exp
    	* lib/pascal.exp
    	* lib/perftest.exp
    	* lib/prelink-support.exp
    	* lib/selftest-support.exp

commit 88256e713c707aeb850688071150d32f9cca5a91
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Thu Dec 1 09:07:55 2016 -0800

    Fix typo in ChangeLog entry.

commit 88ddd4a1ef8818984f87f574b424ccdc7db19660
Author: Jim Wilson <jim.wilson@linaro.org>
Date:   Thu Dec 1 09:06:07 2016 -0800

    Fix bug with FP stur instructions.
    
    sim/aarch64
    	* simulator.c (fsturs): Switch use of rn and st variables.
    	(fsturd, fsturq): Likewise

commit 69ace2200106348a1b00d509a6a234337c104c17
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 15:20:19 2016 +0000

    Fix seg fault attempting to unget an EOF character.
    
    	PR gas/20898
    	* app.c (do_scrub_chars): Do not attempt to unget EOF.

commit 4cbd84083ea89e870526ed0c80d462084887ba6e
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 15:02:45 2016 +0000

    Fix seg-fault printing assembler statistics when the output file was not created.
    
    	PR gas/20897
    	* subsegs.c (subsegs_print_statistics): Do nothing if no output
    	file was created.

commit 4ee1d7e401a8c1aedfdc86aac7faa8267eab1e5c
Author: Rudy Y <rudyy.id@gmail.com>
Date:   Thu Dec 1 14:43:36 2016 +0000

    Fix generation of IDATA[6] for PE files.
    
    	PR ld/20880
    	* pe-dll.c (make_one): Use the hint if the ordinal is -1.

commit cec4b2e3fee8ae2c41089fc7454da56f676f653c
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Dec 1 08:42:11 2016 -0600

    Fix calculation of synthetic symbol sizes (ppc64)
    
    The attached patch fixes a problem where nm displays bogus information for
    synthetic symbol sizes when --size-sort is used.
    
    This happens because the synthetic symbols (dot symbols for ppc64) are
    generated based on their non-dot symbols. The generation process doesn't copy
    over the ELF-specific bits of the regular non-dot symbols.
    
    When --size-sort is used, the code attempts to access the symbol size from
    the ELF-specific bits and ends up reading gargabe, causing the size to be
    displayed incorrectly.
    
    With the patch, i can see dot and non-dot symbols having the same size with
    --size-sort.
    
    This doesn't fix the fact that we don't display size information for synthetic
    symbols without --size-sort, which i may address in the future.
    
    binutils/ChangeLog:
    
    2016-12-01  Luis Machado  <lgustavo@codesourcery.com>
    
    	* nm.c (sort_symbols_by_size): Don't read symbol size if symbol
    	is synthetic.

commit 5cd1d8bcc24e948e86a636161e6d72f6316545a7
Author: Yury Norov <ynorov@caviumnetworks.com>
Date:   Thu Dec 1 12:31:51 2016 +0000

    Fix accesses to the GOT for AARCH64 operating in 32-bit mode.
    
    	PR ld/20868
    bfd	* elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
    	to the GOT when operating in 32-bit mode.
    
    ld	* testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d: New test.
    	* testsuite/ld-aarch64/relocs-ilp32.ld: Linker script for the new
    	test.
    	* testsuite/ld-aarch64/aarch64-elf.exp: Run the new test.

commit 40a0bfddf07620f5321927b3231502debb3b73bc
Author: Ma Jiang <ma.jiang@zte.com.cn>
Date:   Thu Dec 1 12:21:30 2016 +0000

    Fix handling of MIPS16 HI16 relocs.
    
    	PR ld/16720
    	* elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
    	test for HI16 relocs.

commit e82ab856bb4689330c29fb9f1c57a8555b26380e
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:49:39 2016 +0000

    Fix a seg-fault disassembling a corrupt binary.
    
    	PR binutils/20892
    	* aoutx.h (find_nearest_line): Handle the case where the function
    	name is empty.

commit 6d6ad65b43efa17a825702297331fcb290445a18
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:38:40 2016 +0000

    Fix ICE in assembler when passed a corrupt input file.
    
    	PR gas/20895
    	* symbols.c (resolve_symbol_value): Gracefully handle erroneous
    	symbolic expressions.

commit a37a2806e3289294ed214aed3c8a45db46026b39
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:26:32 2016 +0000

    Fix abort in x86 disassembler.
    
    	PR binutils/20893
    	* i386-dis.c (OP_VEX): Replace call to abort with a append of bad
    	opcode designator.

commit 50455f1ab2935f7321215dfa681745c9b1cb5b19
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Dec 1 10:15:07 2016 +0000

    Fix seg-fault running addr2line on a corrupt binary.
    
    	PR binutils/20891
    	* aoutx.h (find_nearest_line): Handle the case where the main file
    	name and the directory name are both empty.

commit 95a23284a3db0ec85bb0b11c70e6b5acf00563f6
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:46:49 2016 -0500

    Use std::string in ui_out_table
    
    Use std::string for the id field of the ui_out_table object.
    
    I found that all users of ui_out_table_begin passed a non-NULL value to
    the tblid parameter, so we don't have to worry about the NULL case.  I
    changed the tblid parameter to be a std::string while at it.
    
    gdb/ChangeLog:
    
    	* ui-out.c (struct ui_out_table) <id>: Change type to
    	std::string.
    	(ui_out_table_begin): Change tblid parameter type to
    	std::string, adapt code.
    	update following type change.
    	(clear_table): Update.
    	(ui_out_new): Update.

commit b9b118c3bb29052ee76c6bf32b99962cda5113ba
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:46:08 2016 -0500

    Use std::vector for cli_ui_out_data::streams
    
    Use a standard vector instead of the home-made version.  I used a vector
    of plain pointers, because the cli_ui_out_data object doesn't own the
    streams objects (i.e. they shouldn't be deleted when the vector is
    deleted).
    
    gdb/ChangeLog:
    
    	* cli-out.h (cli_ui_out_data) <streams>: Change type to
    	std::vector.
    	* cli-out.c: Remove vec.h include.
    	(cli_uiout_dtor): Update.
    	(cli_field_fmt): Update.
    	(cli_spaces): Update.
    	(cli_text): Update.
    	(cli_message): Update.
    	(cli_flush): Update.
    	(cli_redirect): Update.
    	(out_field_fmt): Update.
    	(field_separator): Update.
    	(cli_out_data_ctor): Update.
    	(cli_out_new): Update.
    	(cli_out_set_stream): Update.

commit 4a9d4ea535a6c9b8c2e7cdf91377abe284d0b277
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:43:17 2016 -0500

    Use std::vector for mi_ui_out_data::streams
    
    Use a standard vector instead of the home-made version.  I used a vector
    of plain pointers, because the mi_ui_out_data object doesn't own the
    streams objects (i.e. they shouldn't be deleted when the vector is
    deleted).
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c: Remove vec.h include.
    	(mi_ui_out_data) <streams>: Change type to std::vector.
    	(mi_field_string): Update.
    	(mi_field_fmt): Update.
    	(mi_flush): Update.
    	(mi_redirect): Update.
    	(field_separator): Update.
    	(mi_open): Update.
    	(mi_close): Update.
    	(mi_out_buffered): Update.
    	(mi_out_rewind): Update.
    	(mi_out_put): Update.
    	(mi_out_data_ctor): Update.
    	(mi_out_data_dtor): Don't free streams.

commit 56df3084847984aeddd8c24ca997242ec8c5a369
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:42:47 2016 -0500

    Use std::vector for ui_out::levels
    
    Convert the levels field of struct ui_out to be a vector of unique_ptr
    to ui_out_level.  This way, the ownership of the ui_out_level objects by
    the ui_out instance is clear.
    
    gdb/ChangeLog:
    
    	* ui-out.c (ui_out_level_p): Remove typedef.
    	(DEF_VEC_P (ui_out_level_p)): Remove definition.
    	(struct ui_out) <levels>: Change type to vector of unique_ptr of
    	ui_out_level.
    	(current_level): Update.
    	(push_level): Update.
    	(pop_level): Update, don't manually delete the ui_out_level
    	instance.
    	(ui_out_new): Update.

commit 5486f16481dffa1c1a0d1fd9e38b97e3678078ed
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 21:41:46 2016 -0500

    Use new/delete instead of malloc/free-based functions
    
    The following patches introduce C++ vectors and strings as fields of the
    various ui_out structures.  We therefore need to use new/delete so that
    their contructor/destructor is called.  I find it simpler to change all
    the allocations in a separate preliminary patch, rather than in each
    individual patch.
    
    gdb/ChangeLog:
    
    	* cli-out.c (cli_uiout_dtor): Use delete instead of xfree.
    	(cli_out_new): Use new instead of XNEW.
    	* mi/mi-out.c (mi_out_data_dtor): Use delete instead of xfree.
    	(mi_out_new): Use new instead of XNEW.
    	* tui/tui-out.c (tui_out_new): Likewise.
    	* ui-out.c (push_level): Likewise.
    	(pop_level): Use delete instead of xfree.
    	(clear_header_list): Use delete instead of xfree.
    	(append_header_to_list): Use new instead of XNEW.
    	(ui_out_new): Likewise.

commit 5084b13657023904cb60737abdf4cefb539a5fc4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Dec 1 00:00:20 2016 +0000

    Automatic date update in version.in

commit ad02e4fe877f3a874145dd045626501245e65624
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 30 16:23:59 2016 -0500

    Makefiles: Disable suffix rules and implicit rules
    
    Since we don't use suffix rules nor implicit rules in gdb, we can
    disable them.  The advantage is a slightly faster make [1].
    
    Here are some numbers about the speedup.  I ran this on my trusty old
    Intel Q6600, so the time numbers are probably higher than what you'd get
    on any recent hardware.  I ran "make" in the gdb/ directory of an
    already built repository (configured with --enable-targets=all).  I
    recorded the time of execution (average of 5).  I then ran "make -d" and
    recorded the number of printed lines, which gives a rough idea of the
    number of operations done.
    
    I compared the following configurations, to see the impact of both the
    empty .SUFFIXES target and the empty pattern rules, as well as running
    "make -r", which can be considered the "ideal" case.
    
     A - baseline
     B - baseline + .SUFFIXES
     C - baseline + pattern rules
     D - baseline + .SUFFIXES + pattern rules
     E - baseline + make -r
    
     config | time (s) | "make -d"
     -----------------------------
        A   |   5.74   |  2396643
        B   |   1.19   |   298469
        C   |   2.81   |  1266573
        D   |   1.13   |   245489
        E   |   1.01   |   163914
    
    We can see that the empty .SUFFIXES target has a bigger impact than the
    empty pattern rules, but still it doesn't hurt to disable the implicit
    pattern rules as well.
    
    There are still some mentions of implicit rules I can't get rid of in
    the "make -d" output.  For example, it's trying to build .c files from
    .w files:
    
      Looking for an implicit rule for '/home/simark/src/binutils-gdb/gdb/infrun.c'.
      Trying pattern rule with stem 'infrun'.
      Trying implicit prerequisite '/home/simark/src/binutils-gdb/gdb/infrun.w'.
    
    and trying to build Makefile.in from a bunch of extensions:
    
      Looking for an implicit rule for 'Makefile.in'.
      Trying pattern rule with stem 'Makefile.in'.
      Trying implicit prerequisite 'Makefile.in.o'.
      Trying pattern rule with stem 'Makefile.in'.
      Trying implicit prerequisite 'Makefile.in.c'.
      Trying pattern rule with stem 'Makefile.in'.
      Trying implicit prerequisite 'Makefile.in.cc'.
      ... many more ...
    
    If somebody knows how to disable them, we can do it, but at this point
    the returns are minimal, so it is not that important.
    
    I verified that both in-tree and out-of-tree builds work.
    
    [1] Switching from explicit rules to pattern rules for files in
        subdirectories actually made it slower, so this is kind of a way to
        redeem myself.  But it the end it's faster than it was previously,
        so it was all worth it. :)
    
    gdb/ChangeLog:
    
    	* disable-implicit-rules.mk: New file.
    	* Makefile.in: Include disable-implicit-rules.mk.
    	* data-directory/Makefile.in: Likewise.
    	* gnulib/Makefile.in: Likewise.
    
    gdb/doc/ChangeLog:
    
    	* Makefile.in: Likewise.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in: Include disable-implicit-rules.mk.
    
    gdb/testsuite/ChangeLog:
    
    	* Makefile.in: Include disable-implicit-rules.mk.

commit 25f327ec6df55e0fa7c45a2df12297eea346a815
Merge: be6222a 7913a64
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 30 09:40:08 2016 -0800

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 7913a64cab3930fe524f0e38f85cfca11bd52dcb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Wed Nov 30 11:55:56 2016 +0000

    [ARM] Read memory as unsigned integer
    
    When GDB read inferior memory as an address or an instruction,
    it should be unsigned.
    
    gdb:
    
    2016-11-30  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (arm_scan_prologue): Read memory as unsigned integer.
    	(arm_exidx_unwind_sniffer): Likewise.

commit e9a38e0f5287ce7b4629f5f923191e38dd7355c0
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Nov 28 16:14:56 2016 +1030

    Revert accidental elf.c change
    
    	* elf.c (get_program_header_size): Revert accidental change.

commit 502d895cd1ca5d4abf4ef55984cbf5239aeaef0c
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Nov 30 11:06:42 2016 +0000

    Stop readelf from complaining about out of order PT_LOAD segments.
    
    	PR ld/20815
    	* readelf.c (process_program_headers): Do not warn about out of
    	order PT_LOAD segments.

commit ea3d7d1cab4221ab729327bb4d957352c79d05f0
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 30 15:33:07 2016 +1030

    PR20886, looping in ppc64_elf_size_stubs
    
    The PR20886 binary is large enough that there are two stub sections
    servicing .text (which is 88M).  It so happens that between one
    iteration of sizing and the next that one stub section grows while
    the other shrinks.  Since one section is always growing, the loop
    never terminates.
    
    This patch changes the algorithm to not update previous size on
    shrinking, once we go past a certain number of iterations.
    
    	PR ld/20886
    	* elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
    	on any pass past STUB_SHRINK_ITER.

commit f0e9390be5bbfa3ee777d81dacfccd713ebddb68
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 30 00:00:20 2016 +0000

    Automatic date update in version.in

commit abe7c33b45288b407e6d001aad713183d4bab5c6
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Tue Nov 15 15:11:47 2016 +0100

    [ARC] Add checking for LP_COUNT reg usage, improve error reporting.
    
    gas/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* config/tc-arc.c (find_opcode_match): New function argument
    	errmsg.
    	(assemble_tokens): Collect and report the eventual error message
    	found during opcode matching process.
    	* testsuite/gas/arc/lpcount-err.s: New file.
    	* testsuite/gas/arc/add_s-err.s: Update error message.
    
    opcode/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-opc.c (insert_ra_chk): New function.
    	(insert_rb_chk): Likewise.
    	(insert_rad): Update text error message.
    	(insert_rcd): Likewise.
    	(insert_rhv2): Likewise.
    	(insert_r0): Likewise.
    	(insert_r1): Likewise.
    	(insert_r2): Likewise.
    	(insert_r3): Likewise.
    	(insert_sp): Likewise.
    	(insert_gp): Likewise.
    	(insert_pcl): Likewise.
    	(insert_blink): Likewise.
    	(insert_ilink1): Likewise.
    	(insert_ilink2): Likewise.
    	(insert_ras): Likewise.
    	(insert_rbs): Likewise.
    	(insert_rcs): Likewise.
    	(insert_simm3s): Likewise.
    	(insert_rrange): Likewise.
    	(insert_fpel): Likewise.
    	(insert_blinkel): Likewise.
    	(insert_pcel): Likewise.
    	(insert_nps_3bit_dst): Likewise.
    	(insert_nps_3bit_dst_short): Likewise.
    	(insert_nps_3bit_src2_short): Likewise.
    	(insert_nps_bitop_size_2b): Likewise.
    	(MAKE_SRC_POS_INSERT_EXTRACT_FUNCS): Likewise.
    	(RA_CHK): Define.
    	(RB): Adjust.
    	(RB_CHK): Define.
    	(RC): Adjust.
    	* arc-dis.c (print_insn_arc): Add LOAD and STORE class.
    	* arc-tbl.h (div, divu): All instructions are DIVREM class.
    	Change first insn argument to check for LP_COUNT usage.
    	(rem): Likewise.
    	(ld, ldd): All instructions are LOAD class.  Change first insn
    	argument to check for LP_COUNT usage.
    	(st, std): All instructions are STORE class.
    	(mac, mpy, dmac, mul, dmpy): All instructions are MPY class.
    	Change first insn argument to check for LP_COUNT usage.
    	(mov): All instructions are MOVE class.  Change first insn
    	argument to check for LP_COUNT usage.
    
    include/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* opcode/arc.h (insn_class_t): Add DIVREM, LOAD, MOVE, MPY, STORE
    	instruction classes.

commit ee881e5d3312ea5396bddc37e8673b77bf549b4b
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Thu Oct 6 12:05:27 2016 +0200

    [ARC] Fix disassembler option.
    
    This patch fixes:
    - fpus and fpud are swaped.
    - quarkse_em doesn't include FPX extensions.
    - auto guessed opcode mechanism may ignore the option passed via -M<feature> option.
    
    opcodes/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-dis.c (is_compatible_p): Remove function.
    	(skip_this_opcode): Don't add any decoding class to decode list.
    	Remove warning.
    	(find_format_from_table): Go through all opcodes, and warn if we
    	use a guessed mnemonic.
    
    binutils/
    2016-11-29  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/binutils-all/arc/objdump.exp (Warning test): Update
    	test.

commit 0a0640e3ba9a668c4c317520c48246e1cc8d75ca
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Mon Nov 28 21:34:54 2016 -0500

    Fix debug output in record_full_open_1
    
    The printed function name should be record_full_open_1, not
    record_full_open.
    
    gdb/ChangeLog:
    
    	* record-full.c (record_full_open_1): Fix debug output.

commit aec6cd371d194f93cb7651c219b75eed05bdda98
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 29 00:00:22 2016 +0000

    Automatic date update in version.in

commit 268ebe95201d2ebdcf68cad9dc67ff6d1e25be9e
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Nov 18 14:15:12 2016 +0000

    arc/ld: Remove duplicate TEMPLATE_NAME from emulparam file
    
    Remove duplicate definition of TEMPLATE_NAME, only the last of these
    will have any effect, so this should result in no visible changes to the
    user.
    
    ld/ChangeLog:
    
    	* emulparams/arclinux_prof.sh: Remove duplicate TEMPLATE_NAME.

commit 157686a88644b111658c661fc225881e75f3b0db
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 28 17:51:57 2016 +0000

    Update linker tests after partial reversion of PR 20815 patch.
    
    	PR 20815
    	* testsuite/ld-elf/loadaddr1.d: Update.
    	* testsuite/ld-powerpc/vle-multiseg-5.d: Update.
    	* testsuite/ld-scripts/phdrs3a.d: Update.

commit cd58485720b47d80fed0b281d15a9198f43eaf0c
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 28 17:45:22 2016 +0000

    Partially revert patch for PR 20815 - do not sort the PT_LOAD segments.  Non-ordered segments are needed by the Linux kernel.
    
    	PR ld/20815
    	* elf.c (phdr_sorter): Delete.
    	(assign_file_positions_except_relocs): Do not sort program
    	headers.

commit abfcb414b9900ef996b1665323a950610dbdca43
Author: Amit Pawar <Amit.Pawar@amd.com>
Date:   Mon Nov 28 09:21:05 2016 -0800

    X86: Ignore REX_B bit for 32-bit XOP instructions
    
    While decoding 32-bit XOP instructions, 64 bit registers names are printed.
    This patch fixes this by ignoring REX_B bit in 32-bit mode.
    
    opcodes/
    
    	PR binutils/20637
    	* i386-dis.c (get_valid_dis386): Ignore REX_B for 32-bit XOP
    	instructions.
    
    gas/
    
    	PR binutils/20637
    	* testsuite/gas/i386/xop32reg.d: New file.
    	* testsuite/gas/i386/xop32reg.s: New file.
    	* testsuite/gas/i386/i386.exp: Run new test.

commit 1a0884415891b197972f8acf59131c3c9376807f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 28 17:09:26 2016 +0000

    Restrict checking value.lval on using address
    
    With the previous change, value.location.address is only valid for
    lval_memory.  This patch restrict some checking on value.lval on
    using address.  Since we have a check on VALUE_VAL in
    set_value_address, we need to set VALUE_VAL properly before
    set_value_address too.
    
    gdb:
    
    2016-11-25  Yao Qi  <yao.qi@linaro.org>
    
    	* ada-lang.c (ensure_lval): Call set_value_address after setting
    	VALUE_LVAL.
    	* elfread.c (elf_gnu_ifunc_resolve_addr): Set VALUE_LVAL to
    	lval_memory.
    	(elf_gnu_ifunc_resolver_return_stop): Likewise.
    	* value.c (value_fn_field): Likewise.
    	(value_from_contents_and_address_unresolved): Likewise.
    	(value_from_contents_and_address): Likewise.
    	(value_address): Check value->lval isn't
    	lval_memory.
    	(value_raw_address): Likewise.
    	(set_value_address): Assert value->lval is lval_memory.

commit 7dc54575d91a2b41f6c3e838eec44a7017a24436
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 28 17:09:26 2016 +0000

    Adjust Value.location for lval_register
    
    value.regnum and value.next_frame_id are only used for lval_register,
    so this patch moves them to union value.location.  As a result, when
    we copy value, only copy location, don't need to copy regnum and
    next_frame_id.
    
    This patch also changes regnum's type to int as there is no space
    constraint, so update deprecated_value_regnum_hack return type too.
    
    gdb:
    
    2016-11-28  Yao Qi  <yao.qi@linaro.org>
    
    	* valops.c (value_slice): Don't set frame id of slice.
    	* value.c (struct value) <regnum, next_frame_id>: Move them to...
    	(struct value) <location>: ... here.  Update comments.
    	(allocate_value_lazy): Don't set frame id and regnum.
    	(deprecated_value_next_frame_id_hack): Adjust.
    	(deprecated_value_regnum_hack): Adjust.
    	(value_copy): Don't copy frame id and regnu.
    	(value_primitive_field): Likewise.
    	(value_from_component): Likewise.
    	(deprecated_value_regnum_hack): Return int *.
    	* value.h (deprecated_value_regnum_hack): Update declaration.

commit ee40d8d45213caf0cfb63e603f0fd5a58532e751
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 28 17:09:26 2016 +0000

    Move computed value's frame id to piece_closure
    
    Nowadays, we set computed value's frame id, which is a misuse to me.
    The computed value itself doesn't care about frame id, but function
    value_computed_funcs (val)->read (or read_pieced_value) cares about
    which frame the register is relative to, so 'struct piece_closure' is
    a better place to fit frame id.
    
    This patch adds a frame id in 'struct piece_closure', and use it
    instead of using computed value's frame id.
    
    gdb:
    
    2016-11-28  Yao Qi  <yao.qi@linaro.org>
    
    	* dwarf2loc.c (struct piece_closure) <frame_id>: New field.
    	(allocate_piece_closure): Add new parameter 'frame' and set
    	closure's frame_id field accordingly.
    	(read_pieced_value): Get frame from closure instead of value.
    	(dwarf2_evaluate_loc_desc_full): Remove code getting frame id.
    	Don't set value's frame id.

commit 4deb8f714d555a2f530e37c3e7af32bc42fdda58
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 28 08:03:46 2016 -0800

    Properly hide hidden versioned symbol in executable
    
    A hidden versioned symbol in executable should be forced local if it is
    locally defined, not referenced by shared library and not exported.  We
    must do it before _bfd_elf_link_renumber_dynsyms.
    
    bfd/
    
    	* elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
    	symbol in executable.
    	(elf_link_output_extsym): Don't change bind from global to
    	local when linking executable.
    
    ld/
    
    	* testsuite/ld-elf/indirect.exp: Add a test for PR 18720.
    	* testsuite/ld-elf/pr18720.rd: New file.

commit 9e27646a6dedd071bdc8a7ba75eca1faaf500366
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 28 00:00:22 2016 +0000

    Automatic date update in version.in

commit ae9a1986c8b1e38342a6fe674f7ad1758d8b06f5
Author: Alan Modra <amodra@gmail.com>
Date:   Sun Nov 27 20:07:08 2016 +1030

    Fix powerpc vle test for sorting of program headers
    
    1a9ccd70f changed the order of headers.
    
    	PR 20815
    	* testsuite/ld-powerpc/vle-multiseg-5.d: Update.

commit cb55e96bf79ead88469bb859f9c858f62df2e562
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:54 2016 +0100

    Fix spelling in comments in .y files (ld)
    
    	* deffilep.y: Fix spelling in comments.

commit a582903f51b536bf0de128ef288bafd39caade0a
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:53 2016 +0100

    Fix spelling in comments in .y files (binutils)
    
    	* arparse.y: Fix spelling in comments.

commit b81c93c854e4674c8ff85ac745613cf7b616dad1
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:52 2016 +0100

    Fix spelling in comments in .sc files (ld)
    
    	* scripttempl/ia64vms.sc: Fix spelling in comments.
    	* scripttempl/ip2k.sc: Fix spelling in comments.
    	* scripttempl/v850.sc: Fix spelling in comments.
    	* scripttempl/v850_rh850.sc: Fix spelling in comments.

commit 8f02b5ad62823c1c02bf9b60d71d027805b4e17a
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:51 2016 +0100

    Fix spelling in comments in .l files (gas)
    
    	* config/bfin-lex.l: Fix spelling in comments.

commit 839b0b3f8dff2d7a43f110b8f07b05c8a1004111
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:50 2016 +0100

    Fix spelling in comments in .em files (ld)
    
    	* emultempl/avrelf.em: Fix spelling in comments.
    	* emultempl/elf32.em: Fix spelling in comments.
    	* emultempl/pe.em: Fix spelling in comments.
    	* emultempl/pep.em: Fix spelling in comments.
    	* emultempl/spuelf.em: Fix spelling in comments.

commit 6223ef94973400bbe2d98885b2a4e36cdb47c800
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:49 2016 +0100

    Fix spelling in comments in .def files (gold)
    
    	* aarch64-reloc.def: Fix spelling in comments.

commit d14a6a9e17f28437a231e17734bfdaf557de0a13
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:48 2016 +0100

    Fix spelling in comments in Expect scripts (ld)
    
    	* testsuite/ld-sh/arch/arch.exp: Fix spelling in comments.
    	* testsuite/ld-sh/rd-sh.exp: Fix spelling in comments.
    	* testsuite/ld-sh/sh64/rd-sh64.exp: Fix spelling in comments.
    	* testsuite/ld-undefined/undefined.exp: Fix spelling in comments.

commit c29ae970e781780026c45ec7ffeed68ac87524d6
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:47 2016 +0100

    Fix spelling in comments in Expect scripts (gas)
    
    	* testsuite/gas/all/gas.exp: Fix spelling in comments.
    	* testsuite/gas/cris/cris.exp: Fix spelling in comments.
    	* testsuite/gas/hppa/basic/basic.exp: Fix spelling in comments.
    	* testsuite/gas/hppa/parse/parse.exp: Fix spelling in comments.
    	* testsuite/gas/hppa/reloc/reloc.exp: Fix spelling in comments.
    	* testsuite/gas/sh/arch/arch.exp: Fix spelling in comments.
    	* testsuite/gas/tic4x/tic4x.exp: Fix spelling in comments.

commit 15a086bed79aff51c9ace7d3b5f389e8cd38399b
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:46 2016 +0100

    Fix spelling in comments in Assembler files (ld)
    
    	* testsuite/ld-arm/stm32l4xx-fix-all.s: Fix spelling in comments.
    	* testsuite/ld-arm/thumb2-b-interwork.s: Fix spelling in comments.
    	* testsuite/ld-arm/thumb2-bl.s: Fix spelling in comments.
    	* testsuite/ld-s390/tlspic1.s: Fix spelling in comments.
    	* testsuite/ld-s390/tlspic1_64.s: Fix spelling in comments.
    	* testsuite/ld-scripts/section-match-1.d: Fix spelling in comments.

commit a40d0312ad50263a4437c01311a3bf1f268576a6
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:45 2016 +0100

    Fix spelling in comments in Assembler files (gas)
    
    	* testsuite/gas/arm/local_function.d: Fix spelling in comments.
    	* testsuite/gas/arm/req.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1_t2.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1xD.s: Fix spelling in comments.
    	* testsuite/gas/arm/vfp1xD_t2.s: Fix spelling in comments.
    	* testsuite/gas/mcore/allinsn.s: Fix spelling in comments.
    	* testsuite/gas/mips/24k-triple-stores-5.s: Fix spelling in comments.
    	* testsuite/gas/mips/delay.d: Fix spelling in comments.
    	* testsuite/gas/mips/nodelay.d: Fix spelling in comments.
    	* testsuite/gas/mips/r5900-full.s: Fix spelling in comments.
    	* testsuite/gas/mips/r5900.s: Fix spelling in comments.

commit 370dfff4c4b46fc194cf1ab2b0762c2a9deae7ba
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:44 2016 +0100

    Fix spelling in comments in C source files (ld)
    
    	* deffile.h: Fix spelling in comments.
    	* ld.h: Fix spelling in comments.
    	* ldlang.c: Fix spelling in comments.
    	* ldmisc.c: Fix spelling in comments.
    	* pe-dll.c: Fix spelling in comments.

commit 576a6e4d1d1ac2c5b7e44830d3328ae8723fcb06
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:43 2016 +0100

    Fix spelling in comments in C source files (gprof)
    
    	* basic_blocks.c: Fix spelling in comments.
    	* cg_arcs.c: Fix spelling in comments.
    	* cg_print.c: Fix spelling in comments.
    	* corefile.c: Fix spelling in comments.

commit 5c3024d2c1d4c4f141d8364d487604f70678792a
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:42 2016 +0100

    Fix spelling in comments in C source files (gold)
    
    	* aarch64.cc: Fix spelling in comments.
    	* arm.cc: Fix spelling in comments.
    	* icf.cc: Fix spelling in comments.
    	* layout.cc: Fix spelling in comments.
    	* layout.h: Fix spelling in comments.
    	* mips.cc: Fix spelling in comments.
    	* output.h: Fix spelling in comments.
    	* plugin.h: Fix spelling in comments.
    	* script-sections.h: Fix spelling in comments.
    	* script.h: Fix spelling in comments.
    	* stringpool.h: Fix spelling in comments.
    	* tilegx.cc: Fix spelling in comments.

commit 2b0f37619f797bf640b2d45acb615817dd202954
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:41 2016 +0100

    Fix spelling in comments in C source files (gas)
    
    	* as.h: Fix spelling in comments.
    	* config/obj-ecoff.c: Fix spelling in comments.
    	* config/obj-macho.c: Fix spelling in comments.
    	* config/tc-aarch64.c: Fix spelling in comments.
    	* config/tc-arc.c: Fix spelling in comments.
    	* config/tc-arm.c: Fix spelling in comments.
    	* config/tc-avr.c: Fix spelling in comments.
    	* config/tc-cr16.c: Fix spelling in comments.
    	* config/tc-epiphany.c: Fix spelling in comments.
    	* config/tc-frv.c: Fix spelling in comments.
    	* config/tc-hppa.c: Fix spelling in comments.
    	* config/tc-hppa.h: Fix spelling in comments.
    	* config/tc-i370.c: Fix spelling in comments.
    	* config/tc-m68hc11.c: Fix spelling in comments.
    	* config/tc-m68k.c: Fix spelling in comments.
    	* config/tc-mcore.c: Fix spelling in comments.
    	* config/tc-mep.c: Fix spelling in comments.
    	* config/tc-metag.c: Fix spelling in comments.
    	* config/tc-mips.c: Fix spelling in comments.
    	* config/tc-mn10200.c: Fix spelling in comments.
    	* config/tc-mn10300.c: Fix spelling in comments.
    	* config/tc-nds32.c: Fix spelling in comments.
    	* config/tc-nios2.c: Fix spelling in comments.
    	* config/tc-ns32k.c: Fix spelling in comments.
    	* config/tc-pdp11.c: Fix spelling in comments.
    	* config/tc-ppc.c: Fix spelling in comments.
    	* config/tc-riscv.c: Fix spelling in comments.
    	* config/tc-rx.c: Fix spelling in comments.
    	* config/tc-score.c: Fix spelling in comments.
    	* config/tc-score7.c: Fix spelling in comments.
    	* config/tc-sparc.c: Fix spelling in comments.
    	* config/tc-tic54x.c: Fix spelling in comments.
    	* config/tc-vax.c: Fix spelling in comments.
    	* config/tc-xgate.h: Fix spelling in comments.
    	* config/tc-xtensa.c: Fix spelling in comments.
    	* config/tc-z80.c: Fix spelling in comments.
    	* dwarf2dbg.c: Fix spelling in comments.
    	* input-file.h: Fix spelling in comments.
    	* itbl-ops.c: Fix spelling in comments.
    	* read.c: Fix spelling in comments.
    	* stabs.c: Fix spelling in comments.
    	* symbols.c: Fix spelling in comments.
    	* write.c: Fix spelling in comments.
    	* testsuite/gas/all/itbl-test.c: Fix spelling in comments.
    	* testsuite/gas/tic4x/opclasses.h: Fix spelling in comments.

commit 222c2bf0a293fab3d08c22359d64433faea7bb89
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Fri Nov 25 21:01:40 2016 +0100

    Fix spelling in comments in C source files (binutils)
    
    	* dwarf.c: Fix spelling in comments.
    	* dwarf.h: Fix spelling in comments.
    	* objcopy.c: Fix spelling in comments.
    	* od-macho.c: Fix spelling in comments.
    	* rclex.c: Fix spelling in comments.
    	* readelf.c: Fix spelling in comments.
    	* stabs.c: Fix spelling in comments.

commit 7fb048a2ee38bbc85ba0e96e2932cb0cb1f7381e
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:06:07 2016 -0500

    Remove verbosity from ui_out_message and friends
    
    That concept is never actually used, so it's just a burden.  Removing it
    facilitates the refactoring in upcoming patches.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_message): Remove verbosity argument.
    	* ada-tasks.c (print_ada_task_info, info_task, task_command):
    	Update call.
    	* auto-load.c (auto_load_info_scripts): Likewise.
    	* breakpoint.c (breakpoint_1, watchpoints_info, tracepoints_info):
    	Likewise.
    	* cli-out.c (cli_message): Remove verbosity argument.
    	* inferior.c (print_inferior): Update call.
    	* linux-thread-db.c (info_auto_load_libthread_db): Likewise.
    	* probe.c (info_probes_for_ops): Likewise.
    	* skip.c (skip_info): Likewise.
    	* solib.c (info_sharedlibrary_command): Likewise.
    	* symfile.c (load_progress): Likewise.
    	* thread.c (print_thread_info_1): Likewise.
    	* ui-out.c (uo_message, ui_out_message): Remove verbosity argument.
    	(ui_out_get_verblvl): Remove.
    	* ui-out.h (ui_out_message): Remove verbosity argument.
    	(ui_out_get_verblvl): Remove.
    	(message_ftype): Remove verbosity argument.

commit d2c0eef48a1bb331ca08f8f26ff82c5d4086ba0c
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:05:42 2016 -0500

    Constify wrap_here/wrap_hint code path
    
    Constify the data path between ui_out_wrap_hint and the wrap_indent
    global, because we can.  It's clearer that the argument passed to
    wrap_hint is not intended to be modified by the ui_out implementation.
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (mi_wrap_hint): Constify argument.
    	* cli-out.c (cli_wrap_hint): Likewise.
    	* ui-out.c (ui_out_wrap_hint, uo_wrap_hint): Likewise.
    	* ui-out.h (ui_out_wrap_hint, wrap_hint_ftype): Likewise.
    	* utils.c (wrap_here): Likewise.
    	(wrap_indent): Constify.
    	* utils.h (wrap_here): Constify argument.

commit 82bbe65a43015a753bec8c64869679a699331a5b
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:05:25 2016 -0500

    Fix return value of uo_redirect
    
    The wrapper uo_redirect seems like it should return the return value
    from of implementation function, since callers rely on it, but it
    doesn't.
    
    gdb/ChangeLog:
    
    	* ui-out.c (uo_redirect): Return the return value from the
    	implementation function.

commit e4975d6a9cd8aaf3fb14135b36850964def131d7
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:05:06 2016 -0500

    Remove ui_out_destroy
    
    It's not actually used, and removing it simplifies the upcoming patches
    a bit.  After the whole series, destroying an ui_out object will be
    simply "delete uiout", which will call the default destructor.
    
    gdb/ChangeLog:
    
    	* ui-out.c (ui_out_destroy, uo_data_destroy): Remove.
    	* ui-out.h (ui_out_destroy): Remove.

commit 0abe66b59fda0689c32fe9d96b3690b4d49a3027
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:04:49 2016 -0500

    Rename ui_out_data to mi_ui_out_data
    
    Just a little cleanup, so the name is more consistent with the naming of
    the equivalent structures of cli and tui.  It goes away in subsequent
    patches anyway, but it might help follow the changes in those patches...
    
    gdb/ChangeLog:
    
    	* mi/mi-out.c (ui_out_data): Rename to ...
    	(mi_ui_out_data): ... this.

commit 7f904c28f5cd2dc91a118ae6169d6993aaf71f63
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Sat Nov 26 22:02:56 2016 -0500

    Remove unused functions and declarations
    
    gdb/ChangeLog:
    
    	* ui-out.c (_initialize_ui_out): Remove.
    	(ui_out_set_flags): Remove.
    	(ui_out_clear_flags): Remove.
    	* ui-out.h (ui_out_begin_cleanup_end): Remove.
    	(ui_out_begin_cleanup_end): Remove.
    	(ui_out_set_flags): Remove.
    	(ui_out_clear_flags): Remove.
    	* mi/mi-out.c (_initialize_mi_out): Remove.
    	(mi_out_buffered): Remove.
    	* mi/mi-out.h (mi_out_buffered): Remove.

commit 058467371921957ac532ffe0905ffa477f47018e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 27 00:00:30 2016 +0000

    Automatic date update in version.in

commit 59b21252a88aa6ba488cfb19686d9cbad2577e76
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 24 10:23:07 2016 -0500

    Remove stale comments
    
    The default ui_out is gone since commit
    23ff98d2fed4a1eaeb815e18cd4169e5aa7aaa60.
    
    gdb/ChangeLog:
    
    	* ui-out.h (struct ui_out_impl): Remove comment.
    	* ui-out.c (struct ui_out): Remove comment.

commit cf6451802f5d3f161d992ea39fac139273926773
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 26 00:00:09 2016 +0000

    Automatic date update in version.in

commit 8227ffad95fcd835dd5fcb3e4915159e4552b397
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Nov 25 10:29:50 2016 -0800

    Remove check requiring void argument to functions with no parameters.
    
    C++ treats an empty parameter list as no parameters unlike C.
    
    gdb/ChangeLog:
    
    	* contrib/ari/gdb_ari.sh (no parameter function): Remove check.

commit 50cc587fe49621a87283f06655fe922d45095076
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Nov 25 09:58:02 2016 -0500

    Fix typo in Makefile
    
    Fix a typo I made in my previous Makefile cleanup series.
    
    Thanks to Patrick Monnerat for reporting.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Fix typo.

commit 8ce9efb079b6e7b3ab2e795db9477656375d7204
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Nov 25 09:41:58 2016 -0500

    Fix typos in comment
    
    gdb/ChangeLog:
    
    	* record-full.c (record_full_resume): Fix typos in comment.

commit 17e5269b995b0560dc74af78ba134cf1fcd9d56a
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Nov 25 09:07:35 2016 -0500

    Fix typo in comment
    
    gdb/ChangeLog:
    
    	* infcmd.c (interrupt_command): Fix typo in comment.

commit 65d1cff97c066e4399a175ef7294a5343c0b94d1
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Fri Nov 25 03:40:15 2016 -0800

    gas: fix CBCOND diagnostics for invalid immediate operands.
    
    This patch fixes two problems in the SPARC assembler:
    
    - The diagnostic message
    
      Error: Illegal operands: Immediate value in cbcond is out of range.
    
      is incorrectly issued for non-CBCOND instructions that feature a
      simm5 immediate field, such as MPMUL, MONTMUL, etc.
    
    - When an invalid immediate operand is used in a CBCOND
      instruction, two redundant error messages are issued to the
      user, the second due to a stale fixup (this happens since
      commit 85024cd8bcb93f4112470ecdbd6c10fc2aea724f).
    
    Some diagnostic tests for the CBCOND instructions are also
    included in the patch.
    
    Tested in both sparc64-linux-gnu and sparcv9-linux-gnu targets.
    
    gas/ChangeLog:
    
    2016-11-25  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* config/tc-sparc.c (sparc_ip): Avoid emitting a cbcond error
    	messages for non-cbcond instructions.
    	* testsuite/gas/sparc/cbcond-diag.s: New file.
    	* testsuite/gas/sparc/cbcond-diag.l: Likewise.
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run cbcond-diag tests.

commit ec8f76882145c71bef81a9cadf0bf51ff9fa5b35
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Fri Nov 25 09:47:31 2016 +0000

    Prevent problems with section alignment by not shrinking the .rsrc section.
    
    	PR ld/20193
    	* peXXigen.c (rsrc_process_section): Do not shrink the merged
    	.rsrc section.

commit 0e722c919075fbf8a2d8a05b91443432daedf332
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 25 00:00:09 2016 +0000

    Automatic date update in version.in

commit 036e657b48144d7449ddfcfcf9214bcd7bcf268b
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Nov 24 12:01:24 2016 -0800

    Do not use std::move when assigning an anonymous object to a unique_ptr.
    
    Using std::move forces an extra copy of the object.  These changes fix
    -Wpessimizing-move warnings from clang.
    
    gdb/ChangeLog:
    
    	* ada-lang.c (create_excep_cond_exprs): Do not use 'std::move'.
    	* ax-gdb.c (agent_eval_command_one): Likewise.
    	(agent_eval_command_one): Likewise.
    	* breakpoint.c (parse_cond_to_aexpr): Likewise.
    	(parse_cmd_to_aexpr): Likewise.
    	* dtrace-probe.c (dtrace_process_dof_probe): Likewise.
    	* parse.c (parse_expression_for_completion): Likewise.

commit bbe910e6e1140cb484a74911f3cea854cf9e7e2a
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Thu Nov 24 12:01:24 2016 -0800

    Add noexcept to custom non-throwing new operators.
    
    Both libc++ and libstdc++ declare non-throwing new operators as
    noexcept and overloads must also be noexcept.  This fixes a
    -Wmissing-exception-spec warning with clang.
    
    gdb/ChangeLog:
    
    	* common/new-op.c (operator new): Mark 'noexcept'.
    	(operator new[]): Likewise.

commit 793c128d03113816db85e8d1fa0bcd4982e246ee
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:04 2016 +0100

    Optimize byte-aligned copies in copy_bitwise()
    
    The function copy_bitwise used for copying DWARF pieces can potentially
    be invoked for large chunks of data.  For instance, consider a large
    struct one of whose members is currently located in a register.  In this
    case copy_bitwise would still copy the data bitwise in a loop, which is
    much slower than necessary.
    
    This change uses memcpy for the large part instead, if possible.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (copy_bitwise): Use memcpy for the middle part, if
    	it is byte-aligned.

commit ad06383f106ccfa299a6c7ac9720178d2d3d583f
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:04 2016 +0100

    Add unit test for copy_bitwise
    
    This adds a unit test for the copy_bitwise function in dwarf2loc.c.
    With the old (broken) version of copy_bitwise this test would generate
    the following failure message:
    
    (gdb) maintenance selftest
    Self test failed: copy_bitwise 11000000 != 10000000 (7+2 -> 0)
    
    gdb/ChangeLog:
    2016-11-24  Andreas Arnez  <arnez@linux.vnet.ibm.com>
    	    Pedro Alves  <palves@redhat.com>
    
    	* dwarf2loc.c (bits_to_str, check_copy_bitwise)
    	(copy_bitwise_tests): New functions.
    	(_initialize_dwarf2loc): Register the new function
    	copy_bitwise_tests as a unit test.
    	* selftest.c (run_self_tests): Improve the failure message's
    	wording and formatting.

commit 22347e554cd7ba2a0bf36dc81ebfcbe2e2fd74af
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:03 2016 +0100

    Fix copy_bitwise()
    
    When the user writes or reads a variable whose location is described
    with DWARF pieces (DW_OP_piece or DW_OP_bit_piece), GDB's helper
    function copy_bitwise is invoked for each piece.  The implementation of
    this function has a bug that may result in a corrupted copy, depending
    on alignment and bit size.  (Full-byte copies are not affected.)
    
    This rewrites copy_bitwise, replacing its algorithm by a fixed version,
    and adding an appropriate test case.  Without the fix the new test case
    fails, e.g.:
    
      print def_t
      $2 = {a = 0, b = 4177919}
      (gdb) FAIL: gdb.dwarf2/nonvar-access.exp: print def_t
    
    Written in binary, the wrong result above looks like this:
    
      01111111011111111111111
    
    Which means that two zero bits have sneaked into the copy of the
    original all-one bit pattern.  The test uses this simple all-one value
    in order to avoid another GDB bug that causes the DWARF piece of a
    DW_OP_stack_value to be taken from the wrong end on big-endian
    architectures.
    
    gdb/ChangeLog:
    
    	* dwarf2loc.c (extract_bits_primitive): Remove.
    	(extract_bits): Remove.
    	(copy_bitwise): Rewrite.  Fixes a possible corruption that may
    	occur for non-byte-aligned copies.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/nonvar-access.exp: Add a test for accessing
    	non-byte-aligned bit fields.

commit da5b30da2d1167591aa8d71b543f97bfdc2ec2a2
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Thu Nov 24 17:48:03 2016 +0100

    Fix PR12616 - gdb does not implement DW_AT_data_bit_offset
    
    The DW_AT_data_bit_offset attribute was introduced by DWARF V4 and
    allows specifying the offset of a data member within its containing
    entity.  But although the new attribute was intended to replace
    DW_AT_bit_offset for this purpose, GDB ignores it, and thus GCC still
    emits DW_AT_bit_offset instead.  See also
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71669.
    
    This change fixes GDB's lack of support for DW_AT_data_bit_offset and
    adds an appropriate test case.
    
    gdb/ChangeLog:
    
    	PR gdb/12616
    	* dwarf2read.c (dwarf2_add_field): Handle the DWARF V4 attribute
    	DW_AT_data_bit_offset.
    
    gdb/testsuite/ChangeLog:
    
    	PR gdb/12616
    	* gdb.dwarf2/nonvar-access.exp: New testcase.  Check that GDB
    	respects the DW_AT_data_bit_offset attribute.

commit 1dcb9720d62cd053a72c31881b7724ce9f74332c
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Nov 24 14:01:53 2016 +0000

    [ARM] Bind defined symbol locally in PIE
    
    bfd/
    	PR target/20737
    	* elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
    	locally in PIE.
    
    ld/
    	* testsuite/ld-arm/pie-bind-locally-a.s: New test source.
    	* testsuite/ld-arm/pie-bind-locally-b.s: Likewise.
    	* testsuite/ld-arm/pie-bind-locally.d: New testcase.
    	* testsuite/ld-arm/arm-elf.exp: Run new testcase.

commit 51750acd087cc20ae3f72393fa897d9e3059c65d
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Nov 24 10:00:20 2016 +0000

    Fix snafu parsing $ORIGIN.
    
    	PR ld/20858
    	* emultempl/elf32.em (_search_needed): Allow for path separator
    	and terminating NUL byte when allocating space for new $ORIGIN
    	path.

commit 0b14696aedc2b56291bc98d62fe232c8dceb1385
Author: Kuan-Lin Chen <kuanlinchentw@gmail.com>
Date:   Thu Nov 24 10:22:15 2016 +0800

    RISC-V/bfd: Fix bitsize of R_RISCV_ADD8.
    
    bfd/ChangeLog:
    	* bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.

commit 8bc2611fd97a94e3927ba22fab79624dd6647368
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 24 00:00:32 2016 +0000

    Automatic date update in version.in

commit dcb07cfa156a8e9f768c7f2b5d32f27b6dfe939f
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 23 15:36:26 2016 +0000

    gdb: Use C++11 std::chrono
    
    This patch fixes a few problems with GDB's time handling.
    
    #1 - It avoids problems with gnulib's C++ namespace support
    
    On MinGW, the struct timeval that should be passed to gnulib's
    gettimeofday replacement is incompatible with libiberty's
    timeval_sub/timeval_add.  That's because gnulib also replaces "struct
    timeval" with its own definition, while libiberty expects the
    system's.
    
    E.g., in code like this:
    
      gettimeofday (&prompt_ended, NULL);
      timeval_sub (&prompt_delta, &prompt_ended, &prompt_started);
      timeval_add (&prompt_for_continue_wait_time,
                   &prompt_for_continue_wait_time, &prompt_delta);
    
    That's currently handled in gdb by not using gnulib's gettimeofday at
    all (see common/gdb_sys_time.h), but that #undef hack won't work with
    if/when we enable gnulib's C++ namespace support, because that mode
    adds compile time warnings for uses of ::gettimeofday, which are hard
    errors with -Werror.
    
    #2 - But there's an elephant in the room: gettimeofday is not monotonic...
    
    We're using it to:
    
      a) check how long functions take, for performance analysis
      b) compute when in the future to fire events in the event-loop
      c) print debug timestamps
    
    But that's exactly what gettimeofday is NOT meant for.  Straight from
    the man page:
    
    ~~~
           The time returned by gettimeofday() is affected by
           discontinuous jumps in the system time (e.g., if the system
           administrator manually changes the system time).  If you need a
           monotonically increasing clock, see clock_gettime(2).
    ~~~
    
    std::chrono (part of the C++11 standard library) has a monotonic clock
    exactly for such purposes (std::chrono::steady_clock).  This commit
    switches to use that instead of gettimeofday, fixing all the issues
    mentioned above.
    
    gdb/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (SFILES): Add common/run-time-clock.c.
    	(HFILES_NO_SRCDIR): Add common/run-time-clock.h.
    	(COMMON_OBS): Add run-time-clock.o.
    	* common/run-time-clock.c, common/run-time-clock.h: New files.
    	* defs.h (struct timeval, print_transfer_performance): Delete
    	declarations.
    	* event-loop.c (struct gdb_timer) <when>: Now a
    	std::chrono::steady_clock::time_point.
    	(create_timer): use std::chrono::steady_clock instead of
    	gettimeofday.  Use new instead of malloc.
    	(delete_timer): Use delete instead of xfree.
    	(duration_cast_timeval): New.
    	(update_wait_timeout): Use std::chrono::steady_clock instead of
    	gettimeofday.
    	* maint.c: Include <chrono> instead of "gdb_sys_time.h", <time.h>
    	and "timeval-utils.h".
    	(scoped_command_stats::~scoped_command_stats)
    	(scoped_command_stats::scoped_command_stats): Use
    	std::chrono::steady_clock instead of gettimeofday.  Use
    	user_cpu_time_clock instead of get_run_time.
    	* maint.h: Include "run-time-clock.h" and <chrono>.
    	(scoped_command_stats): <m_start_cpu_time>: Now a
    	user_cpu_time_clock::time_point.
    	<m_start_wall_time>: Now a std::chrono::steady_clock::time_point.
    	* mi/mi-main.c: Include "run-time-clock.h" and <chrono> instead of
    	"gdb_sys_time.h" and <sys/resource.h>.
    	(rusage): Delete.
    	(mi_execute_command): Use new instead of XNEW.
    	(mi_load_progress): Use std::chrono::steady_clock instead of
    	gettimeofday.
    	(timestamp): Rewrite in terms of std::chrono::steady_clock,
    	user_cpu_time_clock and system_cpu_time_clock.
    	(timeval_diff): Delete.
    	(print_diff): Adjust to use std::chrono::steady_clock,
    	user_cpu_time_clock and system_cpu_time_clock.
    	* mi/mi-parse.h: Include "run-time-clock.h" and <chrono> instead
    	of "gdb_sys_time.h".
    	(struct mi_timestamp): Change fields types to
    	std::chrono::steady_clock::time_point, user_cpu_time_clock::time
    	and system_cpu_time_clock::time_point, instead of struct timeval.
    	* symfile.c: Include <chrono> instead of <time.h> and
    	"gdb_sys_time.h".
    	(struct time_range): New.
    	(generic_load): Use std::chrono::steady_clock instead of
    	gettimeofday.
    	(print_transfer_performance): Replace timeval parameters with a
    	std::chrono::steady_clock::duration parameter.  Adjust.
    	* utils.c: Include <chrono> instead of "timeval-utils.h",
    	"gdb_sys_time.h", and <time.h>.
    	(prompt_for_continue_wait_time): Now a
    	std::chrono::steady_clock::duration.
    	(defaulted_query, prompt_for_continue): Use
    	std::chrono::steady_clock instead of
    	gettimeofday/timeval_sub/timeval_add.
    	(reset_prompt_for_continue_wait_time): Use
    	std::chrono::steady_clock::duration instead of struct timeval.
    	(get_prompt_for_continue_wait_time): Return a
    	std::chrono::steady_clock::duration instead of struct timeval.
    	(vfprintf_unfiltered): Use std::chrono::steady_clock instead of
    	gettimeofday.  Use std::string.  Use '.' instead of ':'.
    	* utils.h: Include <chrono>.
    	(get_prompt_for_continue_wait_time): Return a
    	std::chrono::steady_clock::duration instead of struct timeval.
    
    gdb/gdbserver/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* debug.c: Include <chrono> instead of "gdb_sys_time.h".
    	(debug_vprintf): Use std::chrono::steady_clock instead of
    	gettimeofday.  Use '.' instead of ':'.
    	* tracepoint.c: Include <chrono> instead of "gdb_sys_time.h".
    	(get_timestamp): Use std::chrono::steady_clock instead of
    	gettimeofday.

commit 7836e407c65761b003bfbcb7ce89947736330a15
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Nov 23 14:57:51 2016 +0000

    Adjust linker test for arm-vxworks in wake of patch for PR 20815.

commit 8629c02c0db6ff3f7444397567a57dd36a3eed41
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Nov 22 16:14:25 2016 -0500

    Minor formatting fixups in Makefiles
    
    Mostly some whitespace changes to make things a bit more consistent.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Fix whitespace formatting.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in: Fix whitespace formatting.

commit 03b62bbbce3dc5f15131d9e78f77d035cd1cffb3
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Nov 22 16:14:24 2016 -0500

    Normalize names of some source files
    
    Most tdep/nat files are named:
    
      <cpu>-<os>-tdep.c
      <cpu>-<os>-nat.c
    
    A few files do not respect this scheme.  This patch renames them so that
    they are consistent with the rest of the files.  It builds fine with
    --enable-targets=all, but that doesn't test the nat files.  I can only
    hope that my grep skill is good enough.
    
    gdb/ChangeLog:
    
    	* Makefile.in (ALL_64_TARGET_OBS, ALL_TARGET_OBS,
    	HFILES_NO_SRCDIR, ALLDEPFILES): Rename files.
    	* alphabsd-nat.c: Rename to ...
    	* alpha-bsd-nat.c: ... this, adjust include.
    	* alphabsd-tdep.c: Rename to ...
    	* alpha-bsd-tdep.c: ... this, adjust include.
    	* alphabsd-tdep.h: Rename to ...
    	* alpha-bsd-tdep.h: ... this, adjust include barrier and comment.
    	* alphafbsd-tdep.c: Rename to ...
    	* alpha-fbsd-tdep.c: ... this.
    	* alphanbsd-tdep.c: Rename to ...
    	* alpha-nbsd-tdep.c: ... this, adjust include.
    	* alphaobsd-tdep.c: Rename to ...
    	* alpha-obsd-tdep.c: ... this, adjust include.
    	* amd64bsd-nat.c: Rename to ...
    	* amd64-bsd-nat.c: ... this, adjust include.
    	* amd64fbsd-nat.c: Rename to ...
    	* amd64-fbsd-nat.c: ... this, adjust include.
    	* amd64fbsd-tdep.c: Rename to ...
    	* amd64-fbsd-tdep.c: ... this, adjust include.
    	* amd64nbsd-nat.c: Rename to ...
    	* amd64-nbsd-nat.c: ... this.
    	* amd64nbsd-tdep.c: Rename to ...
    	* amd64-nbsd-tdep.c: ... this.
    	* amd64obsd-nat.c: Rename to ...
    	* amd64-obsd-nat.c: ... this.
    	* amd64obsd-tdep.c: Rename to ...
    	* amd64-obsd-tdep.c: ... this.
    	* amd64-tdep.h: Update comments.
    	* armbsd-tdep.c: Rename to ...
    	* arm-bsd-tdep.c: ... this.
    	* armnbsd-nat.c: Rename to ...
    	* arm-nbsd-nat.c: ... this.
    	* armnbsd-tdep.c: Rename to ...
    	* arm-nbsd-tdep.c: ... this.
    	* armobsd-tdep.c: Rename to ...
    	* arm-obsd-tdep.c: ... this.
    	* arm-tdep.h: Update comments.
    	* hppabsd-tdep.c: Rename to ...
    	* hppa-bsd-tdep.c: ... this, adjust include.
    	* hppabsd-tdep.h: Rename to ...
    	* hppa-bsd-tdep.h: ... this, adjust include barrier and comment.
    	* hppanbsd-nat.c: Rename to ...
    	* hppa-nbsd-nat.c: ... this.
    	* hppanbsd-tdep.c: Rename to ...
    	* hppa-nbsd-tdep.c: ... this, adjust include.
    	* hppaobsd-nat.c: Rename to ...
    	* hppa-obsd-nat.c: ... this.
    	* hppaobsd-tdep.c: Rename to ...
    	* hppa-obsd-tdep.c: ... this, adjust include.
    	* i386bsd-nat.c: Rename to ...
    	* i386-bsd-nat.c: ... this, adjust include.
    	* i386bsd-nat.h: Rename to ...
    	* i386-bsd-nat.h: ... this, adjust include barrier and comment.
    	* i386bsd-tdep.c: Rename to ...
    	* i386-bsd-tdep.c: ... this.
    	* i386fbsd-nat.c: Rename to ...
    	* i386-fbsd-nat.c: ... this, adjust include.
    	* i386fbsd-tdep.c: Rename to ...
    	* i386-fbsd-tdep.c: ... this, adjust include.
    	* i386fbsd-tdep.h: Rename to ...
    	* i386-fbsd-tdep.h: ... this, adjust include barrier and comment.
    	* i386gnu-nat.c: Rename to ...
    	* i386-gnu-nat.c: ... this.
    	* i386gnu-tdep.c: Rename to ...
    	* i386-gnu-tdep.c: ... this.
    	* i386nbsd-nat.c: Rename to ...
    	* i386-nbsd-nat.c: ... this, adjust include.
    	* i386nbsd-tdep.c: Rename to ...
    	* i386-nbsd-tdep.c: ... this.
    	* i386obsd-nat.c: Rename to ...
    	* i386-obsd-nat.c: ... this, adjust include.
    	* i386obsd-tdep.c: Rename to ...
    	* i386-obsd-tdep.c: ... this.
    	* i386v4-nat.c: Rename to ...
    	* i386-v4-nat.c: ... this.
    	* i386-tdep.h: Update comments.
    	* m68k-tdep.h: Update comments.
    	* m68kbsd-nat.c: Rename to ...
    	* m68k-bsd-nat.c: ... this.
    	* m68kbsd-tdep.c: Rename to ...
    	* m68k-bsd-tdep.c: ... this.
    	* m68klinux-nat.c: Rename to ...
    	* m68k-linux-nat.c: ... this.
    	* m68klinux-tdep.c: Rename to ...
    	* m68k-linux-tdep.c: ... this.
    	* m88kbsd-nat.c: Rename to ...
    	* m88k-bsd-nat.c: ... this.
    	* mipsnbsd-nat.c: Rename to ...
    	* mips-nbsd-nat.c: ... this, adjust include.
    	* mipsnbsd-tdep.c: Rename to ...
    	* mips-nbsd-tdep.c: ... this, adjust include.
    	* mipsnbsd-tdep.h: Rename to ...
    	* mips-nbsd-tdep.h: ... this, adjust include barrier and comment.
    	* mips64obsd-nat.c: Rename to ...
    	* mips64-obsd-nat.c: ... this.
    	* mips64obsd-tdep.c: Rename to ...
    	* mips64-obsd-tdep.c: ... this.
    	* ppcfbsd-nat.c: Rename to ...
    	* ppc-fbsd-nat.c: ... this, adjust include.
    	* ppcfbsd-tdep.c: Rename to ...
    	* ppc-fbsd-tdep.c: ... this, adjust include.
    	* ppcfbsd-tdep.h: Rename to ...
    	* ppc-fbsd-tdep.h: ... this, adjust include barrier and comment.
    	* ppcnbsd-nat.c: Rename to ...
    	* ppc-nbsd-nat.c: ... this, adjust include.
    	* ppcnbsd-tdep.c: Rename to ...
    	* ppc-nbsd-tdep.c: ... this, adjust include.
    	* ppcnbsd-tdep.h: Rename to ...
    	* ppc-nbsd-tdep.h: ... this, adjust include barrier and comment.
    	* ppcobsd-nat.c: Rename to ...
    	* ppc-obsd-nat.c: ... this, adjust include.
    	* ppcobsd-tdep.c: Rename to ...
    	* ppc-obsd-tdep.c: ... this, adjust include.
    	* ppcobsd-tdep.h: Rename to ...
    	* ppc-obsd-tdep.h: ... this, adjust include barrier and comment.
    	* shnbsd-nat.c: Rename to ...
    	* sh-nbsd-nat.c: ... this.
    	* shnbsd-tdep.c: Rename to ...
    	* sh-nbsd-tdep.c: ... this.
    	* sparcnbsd-nat.c: Rename to ...
    	* sparc-nbsd-nat.c: ... this.
    	* sparcnbsd-tdep.c: Rename to ...
    	* sparc-nbsd-tdep.c: ... this.
    	* sparcobsd-tdep.c: Rename to ...
    	* sparc-obsd-tdep.c: ... this.
    	* sparc64fbsd-nat.c: Rename to ...
    	* sparc64-fbsd-nat.c: ... this.
    	* sparc64fbsd-tdep.c: Rename to ...
    	* sparc64-fbsd-tdep.c: ... this.
    	* sparc64nbsd-nat.c: Rename to ...
    	* sparc64-nbsd-nat.c: ... this.
    	* sparc64nbsd-tdep.c: Rename to ...
    	* sparc64-nbsd-tdep.c: ... this.
    	* sparc64obsd-nat.c: Rename to ...
    	* sparc64-obsd-nat.c: ... this.
    	* sparc64obsd-tdep.c: Rename to ...
    	* sparc64-obsd-tdep.c: ... this.
    	* sparc64-tdep.h: Update comments.
    	* vaxbsd-nat.c: Rename to ...
    	* vax-bsd-nat.c: ... this.
    	* vaxnbsd-tdep.c: Rename to ...
    	* vax-nbsd-tdep.c: ... this.
    	* vaxobsd-tdep.c: Rename to ...
    	* vax-obsd-tdep.c: ... this.
    	* x86bsd-nat.h: Rename to ...
    	* x86-bsd-nat.h: ... this, adjust include barrier and comment.
    	* x86bsd-nat.c: Rename to ...
    	* x86-bsd-nat.c: ... this, adjust include.
    	* configure.tgt: Update renamed files.
    	* config/alpha/fbsd.mh: Update renamed files.
    	* config/alpha/nbsd.mh: Update renamed files.
    	* config/arm/nbsdelf.mh: Update renamed files.
    	* config/djgpp/fnchange.lst: Update renamed files.
    	* config/i386/fbsd.mh: Update renamed files.
    	* config/i386/fbsd64.mh: Update renamed files.
    	* config/i386/i386gnu.mh: Update renamed files.
    	* config/i386/i386sol2.mh: Update renamed files.
    	* config/i386/nbsd64.mh: Update renamed files.
    	* config/i386/nbsdelf.mh: Update renamed files.
    	* config/i386/obsd.mh: Update renamed files.
    	* config/i386/obsd64.mh: Update renamed files.
    	* config/i386/sol2-64.mh: Update renamed files.
    	* config/m68k/linux.mh: Update renamed files.
    	* config/m68k/nbsdelf.mh: Update renamed files.
    	* config/m68k/obsd.mh: Update renamed files.
    	* config/m88k/obsd.mh: Update renamed files.
    	* config/mips/nbsd.mh: Update renamed files.
    	* config/mips/obsd64.mh: Update renamed files.
    	* config/pa/nbsd.mh: Update renamed files.
    	* config/pa/obsd.mh: Update renamed files.
    	* config/powerpc/fbsd.mh: Update renamed files.
    	* config/powerpc/nbsd.mh: Update renamed files.
    	* config/powerpc/obsd.mh: Update renamed files.
    	* config/sh/nbsd.mh: Update renamed files.
    	* config/sparc/fbsd.mh: Update renamed files.
    	* config/sparc/nbsd64.mh: Update renamed files.
    	* config/sparc/nbsdelf.mh: Update renamed files.
    	* config/sparc/obsd64.mh: Update renamed files.
    	* config/vax/nbsdelf.mh: Update renamed files.
    	* config/vax/obsd.mh: Update renamed files.

commit b593ecca856860a8b38deb808493bba4beef3aee
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Tue Nov 22 16:14:22 2016 -0500

    Makefiles: Flatten and sort file lists
    
    I find the big file lists in the Makefiles a bit ugly and not very
    practical.  Since there are multiple filenames on each line (as much as
    fits in 80 columns), it's not easy to add, remove or change a name in
    the middle.  As a result, we have a mix of long and short lines in no
    particular order (ALL_TARGET_OBS is a good example).
    
    I therefore suggest flattening the lists (one name per line) and keeping
    them in alphabetical order.  The diffs will be much clearer and merge
    conflicts will be easier to resolve.
    
    A nice (IMO) side-effect I observed is that the files are compiled
    alphabetically by make, so it gives a rough idea of the progress of the
    build.
    
    I added a comment in gdb/Makefile.in to mention to keep the file lists
    ordered, and gave the general guidelines on what order to respect.  I
    added a comment in other Makefiles which refers to gdb/Makefile.in, to
    avoid duplication.
    
    Running the patch through the buildbot found that gdb.base/default.exp
    started to fail.  The languages in the error message shown when typing
    "set language" have changed order.  We could probably improve gdb so
    that it prints them in a stable order, regardless of the order of the
    object list passed to the linked, but just fixing the test is easier for
    now.
    
    New in v2:
    
     - Change ordering style, directories go at the end.
     - Cleanup gdbserver's and data-directory's Makefile as well.
     - Add comments at top of Makefiles about the ordering.
     - Remove wrong trailing backslahes.
     - Fix test gdb.base/default.exp.
    
    gdb/ChangeLog:
    
    	* Makefile.in: Add comment about file lists ordering.
    	(SUBDIR_CLI_OBS, SUBDIR_CLI_SRCS, SUBDIR_MI_OBS, SUBDIR_MI_SRCS,
    	SUBDIR_TUI_OBS, SUBDIR_TUI_SRCS, SUBDIR_GCC_COMPILE_OBS,
    	SUBDIR_GCC_COMPILE_SRCS, SUBDIR_GUILE_OBS, SUBDIR_GUILE_SRCS,
    	SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_GDBTK_OBS,
    	SUBDIR_GDBTK_SRCS, XMLFILES, REMOTE_OBS, ALL_64_TARGET_OBS,
    	ALL_TARGET_OBS, SFILES, HFILES_NO_SRCDIR, HFILES_WITH_SRCDIR,
    	COMMON_OBS, YYFILES, YYOBJ, generated_files, ALLDEPFILES):
    	Flatten list and order alphabetically.
    	* data-directory/Makefile.in: Add comment about file lists
    	ordering.
    	(GEN_SYSCALLS_FILES, PYTHON_FILE_LIST): Flatten list and order
    	alphabetically.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (SFILES, OBS): Flatten list and order
    	alphabetically.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/default.exp: Fix output of "set language".

commit 1a9ccd70f9a75dc6b48d340059f28ef3550c107b
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Nov 23 11:10:39 2016 +0000

    Fix the linker so that it will not silently generate ELF binaries with invalid program headers.  Fix readelf to report such invalid binaries.
    
    	PR ld/20815
    bfd	* elf.c (elf_modify_segment_map): Allow empty LOAD segments if
    	they contain the program headers.
    	(_bfd_elf_map_sections_to_segments): If the linker created the
    	PHDR segment then always attempt to include it in a LOAD segment.
    	(assign_file_positions_for_non_load_sections): Allow LOAD segments
    	to overlap PHDR segments.
    	(phdr_sorter): New function.  Sorts program headers.
    	(assign_file_positions_except_relocs): Sort the program headers
    	before writing them out.  Issue an error if the PHDR segment is
    	not covered by a LOAD segment, unless the backend allows it.
    	* elf-bfd.h (struct elf_backend_data): Add
    	elf_backend_allow_non_load_phdr.
    	* elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
    	default definition that returns FALSE.
    	(elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
    	field.
    	* elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
    	Returns TRUE.
    	(elf_backend_allow_non_load_phdr): Define.
    	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
    	place the interpreter string into the .interp section if the
    	nointerp flag is set in the link info structure.
    	* elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
    	* elf32-score7.c (score_elf_final_link_relocate): Allow for the
    	_gp symbol not being part of the output.
    
    binutils* readelf.c (process_program_headers): Check PT_LOAD and PT_PHDR
    	segments for validity.
    
    ld	* ld.texinfo: Note that PT_TLS can be used as a segment type.
    	* testsuite/ld-discard/discard.ld: Add space for program headers.
    	* testsuite/ld-elf/flags1.ld: Likewise.
    	* testsuite/ld-elf/maxpage3.t: Likewise.
    	* testsuite/ld-elf/noload-1.t: Likewise.
    	* testsuite/ld-elf/orphan.ld: Likewise.
    	* testsuite/ld-elf/overlay.t: Likewise.
    	* testsuite/ld-elf/pr14052.t: Likewise.
    	* testsuite/ld-elf/pr19539.t: Likewise.
    	* testsuite/ld-elf/provide-hidden-1.ld: Likewise.
    	* testsuite/ld-elf/provide-hidden-s.ld: Likewise.
    	* testsuite/ld-elf/weak-dyn-1.ld: Likewise.
    	* testsuite/ld-i386/pr19539.t: Likewise.
    	* testsuite/ld-scripts/defined.t: Likewise.
    	* testsuite/ld-scripts/defined6.t: Likewise.
    	* testsuite/ld-scripts/dynamic-sections.t: Likewise.
    	* testsuite/ld-scripts/empty-aligned.t: Likewise.
    	* testsuite/ld-scripts/provide-2.t: Likewise.
    	* testsuite/ld-scripts/provide-4.t: Likewise.
    	* testsuite/ld-vax-elf/plt-local.ld: Likewise.
    	* testsuite/ld-x86-64/pr19539.t: Likewise.
    	* testsuite/ld-elf/ehdr_start-missing.d: Do not initialise the
    	dynamic linker.
    	* testsuite/ld-elf/ehdr_start-weak.d: Likewise.
    	* testsuite/ld-elf/elf.exp (pr14170, pr17068): Likewise.
    	* testsuite/ld-elf/loadaddr1.d: Update expected readelf output.
    	* testsuite/ld-elf/noload-2.d: Likewise.
    	* testsuite/ld-powerpc/vxworks2.sd: Likewise.
    	* testsuite/ld-scripts/phdrs3a.d: Likewise.
    	* testsuite/ld-scripts/size-2.d: Likewise.
    	* testsuite/ld-elf/group.ld: Add program headers.
    	* testsuite/ld-elf/overlay.d: Skip for SPU.
    	* testsuite/ld-elf/flags1.d: Skip for RX.
    	* testsuite/ld-elf/pr19162.d: Skip for HPPA64.
    	* testsuite/ld-elf/pr19539.d: Skip for ALPHA.
    	* testsuite/ld-scripts/empty-orphan.t: Update program headers.
    	* testsuite/ld-scripts/size-2.t: Likewise.

commit 128e85e3ab36b8e30f6612fb50de3cbb4ede6824
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Nov 23 03:04:17 2016 -0800

    gas: run the hwcaps-bump tests with 64-bit sparc objects only.
    
    gas/ChangeLog:
    
    2016-11-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/sparc.exp (gas_64_check): Make sure the
    	hwcaps-bump test is run with 64-bit objects.

commit 073808edb771952247c6fe634b863986b7627150
Author: Kuan-Lin Chen <kuanlinchentw@gmail.com>
Date:   Wed Nov 23 13:18:59 2016 +0800

    RISCV/GAS Add missing break in md_apply_fix.
    
    gdb/ChangeLog:
    	* config/tc-riscv.c: Add missing break.

commit 64f52338e924cce3a205527136e145da660a4686
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 23 15:07:17 2016 +1030

    elf_backend_dtrel_excludes_plt
    
    Now that all targets creating .rel.plt/.rela.plt use the ELF hash
    table shortcut srelplt, the generic ELF code can set up DT_RELSZ/
    DT_RELASZ and DT_REL/DT_RELA for targets that don't want PLT relocs
    included in those tags.
    
    	* elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
    	* elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
    	(elfNN_bed): Init new field.
    	* elflink.c (bfd_elf_final_link): Add and use htab variable.  Handle
    	dtrel_excludes_plt.
    	* elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
    	subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
    	and DT_RELA code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
    	and DT_REL code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
    	and DT_RELA code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
    	DT_RELASZ and DT_RELA code.  Use ELF htab shortcuts for other
    	dynamic sections.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
    	* elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
    	* elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
    	and DT_RELA code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
    	code.
    	(elf_backend_dtrel_excludes_plt): Define.
    	* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
    	DT_RELASZ code.
    	* elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.

commit ce558b89b15a18fd67fdc02a4d410a6d92d2ba63
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 23 15:06:34 2016 +1030

    Delete duplicate target short-cuts to dynamic sections
    
    We'd like to have the elf_link_hash_table srelplt field rather than
    some private target field used to save short-cuts to a PLT relocation
    section.  This save a little space but mainly is so that the generic
    ELF code can access the field.  Ditto for other dynamic sections.
    
    	* elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
    	to dynamic sections.
    	(mn10300_elf_final_link_relocate): Likewise.
    	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
    	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
    	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
    	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
    	* elf32-bfin.c (bfin_check_relocs): Likewise.
    	(bfin_relocate_section): Likewise.
    	(bfin_gc_sweep_hook): Likewise.
    	(struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
    	and spltrel.
    	(bfinfdpic_got_section, bfinfdpic_gotrel_section,
    	bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
    	shortcut sections.
    	(_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
    	Delete dead code.
    	(bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
    	(bfin_size_dynamic_sections): Likewise.
    	* elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
    	(cr16_elf_check_relocs): Likewise.
    	(cr16_elf_final_link_relocate): Likewise.
    	(_bfd_cr16_elf_create_dynamic_sections): Likewise.
    	(_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
    	(_bfd_cr16_elf_size_dynamic_sections): Likewise.
    	(_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
    	(_bfd_cr16_elf_finish_dynamic_sections): Likewise.
    	* elf32-cris.c (cris_elf_relocate_section): Likewise.
    	(elf_cris_finish_dynamic_symbol): Likewise.
    	(elf_cris_finish_dynamic_sections): Likewise.
    	(cris_elf_gc_sweep_hook): Likewise.
    	(elf_cris_adjust_gotplt_to_got): Likewise.
    	(elf_cris_adjust_dynamic_symbol): Likewise.
    	(cris_elf_check_relocs): Likewise.  Delete dead code.
    	(elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(elf_cris_discard_excess_program_dynamics): Likewise.
    	* elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
    	sgotrel, splt and spltrel.
    	(frvfdpic_got_section, frvfdpic_gotrel_section,
    	frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
    	shortcut sections.
    	(_frv_create_got_section): Likewise.
    	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
    	srelgot, splt and srelplt.
    	(hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
    	(elf32_hppa_create_dynamic_sections): Likewise.
    	(elf32_hppa_check_relocs): Likewise.
    	(allocate_plt_static): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(elf32_hppa_size_dynamic_sections): Likewise.
    	(elf32_hppa_relocate_section): Likewise.
    	(elf32_hppa_finish_dynamic_symbol): Likewise.
    	(elf32_hppa_finish_dynamic_sections): Likewise.
    	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
    	* elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
    	shortcut sections.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
    	(lm32_elf_check_relocs): Likewise.
    	(lm32_elf_finish_dynamic_sections): Likewise.
    	(lm32_elf_finish_dynamic_symbol): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(lm32_elf_size_dynamic_sections): Likewise.
    	(lm32_elf_create_dynamic_sections): Likewise.
    	* elf32-m32c.c (m32c_elf_relocate_section): Likewise.
    	(m32c_elf_check_relocs): Likewise.
    	(m32c_elf_finish_dynamic_sections): Likewise.
    	(m32c_elf_always_size_sections): Likewise.
    	* elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(allocate_dynrelocs): Likewise.
    	(m32r_elf_size_dynamic_sections): Likewise.
    	(m32r_elf_relocate_section): Likewise.
    	(m32r_elf_finish_dynamic_symbol): Likewise.
    	(m32r_elf_finish_dynamic_sections): Likewise.
    	(m32r_elf_check_relocs): Likewise.
    	* elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
    	(elf_m68k_check_relocs): Likewise.
    	(elf_m68k_adjust_dynamic_symbol): Likewise.
    	(elf_m68k_size_dynamic_sections): Likewise.
    	(elf_m68k_relocate_section): Likewise.
    	(elf_m68k_finish_dynamic_symbol): Likewise.
    	(elf_m68k_finish_dynamic_sections): Likewise.
    	* elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(elf_metag_relocate_section): Use elf htab shortcuts to dynamic
    	sections.
    	(elf_metag_create_dynamic_sections): Likewise.  Allocate got header
    	here in .got.
    	(elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
    	(allocate_dynrelocs): Likewise.
    	(elf_metag_size_dynamic_sections): Likewise.
    	(elf_metag_finish_dynamic_symbol): Likewise.
    	(elf_metag_finish_dynamic_sections): Likewise.
    	(elf_metag_size_stubs): Likewise.
    	(elf_backend_got_header_size): Don't define.
    	(elf_backend_want_got_plt): Define.
    	* elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelpl.
    	(microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
    	sections.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
    	(microblaze_elf_create_dynamic_sections): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(microblaze_elf_size_dynamic_sections): Likewise.
    	(microblaze_elf_finish_dynamic_symbol): Likewise.
    	(microblaze_elf_finish_dynamic_sections): Likewise.
    	* elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
    	already zero fields.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(allocate_dynrelocs): Likewise.
    	(nds32_elf_size_dynamic_sections): Likewise.
    	(nds32_elf_relocate_section): Likewise.
    	(nds32_elf_finish_dynamic_symbol): Likewise.
    	(nds32_elf_finish_dynamic_sections): Likewise.
    	(nds32_elf_check_relocs): Likewise.
    	(calculate_plt_memory_address): Likewise.
    	(calculate_got_memory_address): Likewise.
    	* elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	* elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
    	(or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
    	(create_got_section): Delete.  Use _bfd_elf_create_got_section instead.
    	(or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
    	(or1k_elf_finish_dynamic_sections): Likewise.
    	(or1k_elf_finish_dynamic_symbol): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(or1k_elf_size_dynamic_sections): Likewise.
    	(or1k_elf_create_dynamic_sections): Likewise.
    	* elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
    	plt, relplt, iplt, reliplt and sgotplt.
    	(ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
    	(ppc_elf_create_glink): Likewise.
    	(ppc_elf_create_dynamic_sections): Likewise.
    	(ppc_elf_check_relocs): Likewise.
    	(ppc_elf_select_plt_layout): Likewise.
    	(ppc_elf_tls_setup): Likewise.
    	(allocate_got): Likewise.
    	(allocate_dynrelocs): Likewise.
    	(ppc_elf_size_dynamic_sections): Likewise.
    	(ppc_elf_relax_section): Likewise.
    	(ppc_elf_relocate_section): Likewise.
    	(ppc_elf_finish_dynamic_symbol): Likewise.
    	(ppc_elf_reloc_type_class): Likewise.
    	(ppc_elf_finish_dynamic_sections): Likewise.
    	* elf32-rl78.c (rl78_elf_relocate_section): Likewise.
    	(rl78_elf_check_relocs): Likewise.
    	(rl78_elf_finish_dynamic_sections): Likewise.
    	(rl78_elf_always_size_sections): Likewise.
    	* elf32-s390.c 	(create_got_section): Delete.
    	(elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
    	(elf_s390_check_relocs): Likewise.
    	* elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
    	(s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
    	* elf32-score7.c (score_elf_create_got_section): As above.
    	(s7_bfd_score_elf_finish_dynamic_sections): As above.
    	* elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(create_got_section): Don't set them.
    	(sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
    	sections.
    	(allocate_dynrelocs): Likewise.
    	(sh_elf_size_dynamic_sections): Likewise.
    	(sh_elf_add_rofixup): Likewise.
    	(sh_elf_relocate_section): Likewise.
    	(sh_elf_check_relocs): Likewise.
    	(sh_elf_finish_dynamic_symbol): Likewise.
    	(sh_elf_finish_dynamic_sections): Likewise.
    	* elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
    	* elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
    	* elf32-vax.c (elf_vax_check_relocs): Likewise.
    	(elf_vax_adjust_dynamic_symbol): Likewise.
    	(elf_vax_always_size_sections): Likewise.
    	(elf_vax_instantiate_got_entries): Likewise.
    	(elf_vax_relocate_section): Likewise.
    	(elf_vax_finish_dynamic_symbol): Likewise.
    	(elf_vax_finish_dynamic_sections): Likewise.
    	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
    	(xstormy16_elf_always_size_sections): Likewise.
    	(xstormy16_elf_relocate_section): Likewise.
    	(xstormy16_elf_finish_dynamic_sections): Likewise.
    	* elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
    	sgotplt, srelgot, splt and srelplt.
    	(elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
    	dynamic sections.
    	(elf_xtensa_allocate_dynrelocs): Likewise.
    	(elf_xtensa_allocate_local_got_size): Likewise.
    	(elf_xtensa_size_dynamic_sections): Likewise.
    	(elf_xtensa_relocate_section): Likewise.
    	(elf_xtensa_finish_dynamic_sections): Likewise.
    	(shrink_dynamic_reloc_sections): Likewise.
    	(elf_xtensa_get_plt_section): Likewise.
    	(elf_xtensa_get_gotplt_section): Likewise.
    	(xtensa_callback_required_dependence): Likewise.
    	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
    	shortcuts to dynamic sections.
    	(elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
    	dynamic sections.
    	(elf64_alpha_size_plt_section): Likewise.
    	(elf64_alpha_size_rela_got_1): Likewise.
    	(elf64_alpha_size_rela_got_section): Likewise.
    	(elf64_alpha_relocate_section): Likewise.
    	(elf64_alpha_finish_dynamic_symbol): Likewise.
    	(elf64_alpha_finish_dynamic_sections): Likewise.
    	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
    	* elf64-s390.c (create_got_section): Delete.
    	(elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
    	(elf_s390_check_relocs): Likewise.
    	* elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
    	dynamic sections.
    	(sh_elf64_check_relocs): Likewise.
    	(sh64_elf64_adjust_dynamic_symbol): Likewise.
    	(sh64_elf64_size_dynamic_sections): Likewise.
    	(sh64_elf64_finish_dynamic_symbol): Likewise.
    	(sh64_elf64_finish_dynamic_sections): Likewise.
    	* elflink.c (_bfd_elf_create_got_section): Likewise.
    	* elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
    	* elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
    	(elfNN_ia64_finish_dynamic_sections): Likewise.
    	* elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
    	* elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
    	sgotplt, splt and sgot.
    	(mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
    	sections.
    	(mips_elf_gotplt_index): Likewise.
    	(mips_elf_primary_global_got_index): Likewise.
    	(mips_elf_global_got_index): Likewise.
    	(mips_elf_got_offset_from_index): Likewise.
    	(mips_elf_create_local_got_entry): Likewise.
    	(mips_elf_create_got_section): Likewise.
    	(mips_elf_calculate_relocation): Likewise.
    	(_bfd_mips_elf_create_dynamic_sections): Likewise.
    	(_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
    	(mips_elf_lay_out_got): Likewise.
    	(mips_elf_set_plt_sym_value): Likewise.
    	(_bfd_mips_elf_size_dynamic_sections): Likewise.
    	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
    	(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
    	(mips_finish_exec_plt): Likewise.
    	(mips_vxworks_finish_exec_plt): Likewise.
    	(mips_vxworks_finish_shared_plt): Likewise.
    	(_bfd_mips_elf_finish_dynamic_sections): Likewise.
    	* elfxx-sparc.c (sparc_finish_dyn): Likewise.
    	* elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.

commit 3ae0486cdce5d2ed4c922c598a3258fcbd9c8f29
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Nov 23 15:04:24 2016 +1030

    Regen POTFILES.in
    
    bfd/
    	* po/BLD-POTFILES.in: Regenerate.
    	* po/SRC-POTFILES.in: Regenerate.
    gas/
    	* po/POTFILES.in: Regenerate.

commit 9986ba08876f86f7d36d230afc11b60a34287da8
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 23:15:34 2016 +0000

    gdbserver: Use warning for warnings
    
    gdb/gdbserver/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* event-loop.c (handle_file_event): Use warning.
    	* linux-low.c (linux_resume_one_lwp_throw): Use warning.
    	* mem-break.c (add_breakpoint_condition, add_breakpoint_commands):
    	Use warning.

commit 4eefa7bcf286b879f61b9e1ec1c97230f5345104
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Nov 18 00:07:10 2016 +0000

    gdbserver: Use debug_printf for debug output
    
    gdb/gdbserver/ChangeLog:
    2016-11-23  Pedro Alves  <palves@redhat.com>
    
    	* linux-low.c (check_zombie_leaders): Use debug_printf for debug
    	output.
    	* notif.c (handle_notif_ack, notif_event_enque): Likewise.
    	* remote-utils.c (putpkt_binary_1, readchar, getpkt): Use
    	debug_printf and debug_flush for debug output.
    	* server.c (handle_general_set): Likewise.
    	* thread-db.c (try_thread_db_load): Use debug_printf for debug
    	output.

commit 400b2f29938dab7d9c4f46c9d1b0dc23dab0518b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 23 00:00:36 2016 +0000

    Automatic date update in version.in

commit 358a971863e93cbafa9e864b4db4d5448b960304
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Nov 22 15:44:56 2016 -0800

    Print the default for all binary options; clean up --help output.
    
    gold/
    	PR gold/20346
    	* options.cc (One_option::print): Print "(default)" when appropriate.
    	* options.h: Clean up and re-sort options.
    	(One_option::is_default): New data member.
    	(One_option::One_option): Add is_default parameter; adjust all calls.
    	(DEFINE_var): Add is_default__ parameter; adjust all calls.
    	(DEFINE_bool): Set is_default based on default_value__.
    	(DEFINE_bool_ignore): New macro.
    	(--no-eh-frame-hdr): New option.
    	(--enable-new-dtags): Remove mention of DT_FLAGS.

commit ca3cbe5cd7715d1559d55f8e71be1dd7340f13b1
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Tue Nov 22 16:05:00 2016 +0000

    Fix spelling mistakes in comments in shell scripts
    
    gdb/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * contrib/expect-read1.sh: Fix spelling in comments.
            * gdb_buildall.sh: Fix spelling in comments.
            * gdb_mbuild.sh: Fix spelling in comments.

commit 96fe45624e51f1bb747e36cf8bdaab216f31c5ec
Author: Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
Date:   Tue Nov 22 15:43:03 2016 +0000

    Fix spelling mistakes in comments in configure scripts
    
    All changes are limited to comments, and no run-time behavior is
    affected.
    
    bfd/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * warning.m4: Fix spelling in comments.
            * configure.ac: Fix spelling in comments.
            * configure: Regenerate.
    
    binutils/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    gdb/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure.ac: Fix spelling in comments.
            * configure: Regenerate.
    
    gas/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    gold/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    gprof/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    ld/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.
    
    opcodes/ChangeLog:
    2016-11-22  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
    
            * configure: Regenerate.

commit f5ea389ac78ccd7c426a93f43e6117dad9ce0878
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:06 2016 +0000

    Change gdbarch software_single_step frame_info to regcache
    
    This patch changes gdbarch method software_single_step's parameter from
    "struct frame_info *" to "struct regcache *, IOW, software_single_step
    starts to use current regcache rather than current frame for software
    single.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* gdbarch.sh (software_single_step): Change parameter from frame_info
    	to regcache.
    	* gdbarch.c, gdbarch.h: Regenerated.
    	* aarch64-tdep.c (aarch64_software_single_step): Change parameter
    	from frame_info to regcache.  Don't call get_current_regcache.
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Likewise.
    	(alpha_software_single_step): Likewise.
    	* alpha-tdep.h (alpha_software_single_step): Update declaration.
    	* arm-linux-tdep.c (arm_linux_software_single_step): Likewise.
    	* arm-tdep.c (arm_software_single_step): Likewise.
    	* arm-tdep.h (arm_software_single_step): Likewise.
    	* breakpoint.c (insert_single_step_breakpoint): Pass regcache to
    	gdbarch_software_single_step.
    	* cris-tdep.c (cris_software_single_step): Change parameter from
    	frame_info to regcache.  Don't call get_current_regcache.
    	* mips-tdep.c (mips_software_single_step): Likewise.
    	* mips-tdep.h (mips_software_single_step): Update declaration.
    	* moxie-tdep.c (moxie_software_single_step): Likewise.
    	* nios2-tdep.c (nios2_software_single_step): Likewise.
    	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Update declaration.
    	* rs6000-aix-tdep.c (rs6000_software_single_step): Likewise.
    	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Likewise.
    	* s390-linux-tdep.c (s390_software_single_step): Likewise.
    	* sparc-tdep.c (sparc_software_single_step): Likewise.
    	* spu-tdep.c (spu_software_single_step): Likewise.
    	* tic6x-tdep.c (tic6x_software_single_step): Likewise.

commit b2260160f8cde8de118914ddeaf797bea42e65ce
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: spu
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* spu-tdep.c (spu_software_single_step): Call get_regcache_arch
    	instead of get_frame_arch.  Call regcache_read_pc instead of
    	get_frame_pc.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.

commit fb090cfa157e35fac1c10c062fd005e38b894ea4
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: tic6x
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* tic6x-tdep.c (tic6x_condition_true): Replace frame with
    	regcache.  Call regcache_raw_get_signed instead of
    	get_frame_register_signed.
    	(tic6x_get_next_pc): Likewise.  Caller updated.

commit 41e26ad32d17ee35f79f629654811f5e8656cab8
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: rs6000
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* rs6000-aix-tdep.c (branch_dest): Replace parameter frame with
    	regcache.  Call get_regcache_arch instead of get_frame_arch.
    	Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.
    	(rs6000_software_single_step): Likewise.
    	* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit ad76968956f30bed6d120e0dfd247034e0855fea
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: s390
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* s390-linux-tdep.c (s390_software_single_step): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit cd76b525eda02c30c4412698a2ff309b975d417a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: sparc
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* sparc-tdep.c (sparc_analyze_control_transfer): Replace parameter
    	frame with regcache.  Call get_current_frame.
    	(sparc_software_single_step): Call get_regcache_arch instead of
    	get_frame_arch.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.

commit 3889f4909e0db5f5ca8ca043ef9825f0ad971fd6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: nios2
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* nios2-tdep.c (nios2_get_next_pc): Replace parameter frame
    	with regcache.  Call regcache_raw_get_signed instead of
    	get_frame_register_unsigned.
    	(nios2_software_single_step): Call get_regcache_arch
    	instead of get_frame_arch.

commit a8f341826d63a5c216c41e10bf1e4e6c3db3ce65
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: moxie
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* moxie-tdep.c (moxie_software_single_step): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit 7113a196bac7f1134bcdd79ad3e6badcb5d77f95
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:05 2016 +0000

    gdbarch software_single_step frame_info to regcache: mips
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-tdep.c (mips32_bc1_pc): Replace parameter frame with
    	regcache.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.
    	(mips32_next_pc): Likewise.
    	(micromips_bc1_pc): Likewise.
    	(micromips_next_pc): Likewise.
    	(extended_mips16_next_pc): Likewise.
    	(mips16_next_pc): Likewise.
    	(mips_next_pc): Likewise.
    	(mips_software_single_step): Call get_regcache_arch instead
    	of get_frame_arch.

commit 5b6e2eee087cf206d5c2bf1f9523217aaf5938aa
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    gdbarch software_single_step frame_info to regcache: cris
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* cris-tdep.c (find_step_target): Replace parameter frame
    	with regcache.  Call get_regcache_arch instead of
    	get_frame_arch.  Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.
    	(cris_software_single_step): Call get_regcache_arch instead
    	of get_frame_arch.

commit 7ab2d0874025af6ee858b32c576f2461c0a1df3d
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    gdbarch software_single_step frame_info to regcache: alpha
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.
    	(alpha_next_pc): Replace parameter frame with regcache.
    	Call regcache_raw_get_unsigned instead of
    	get_frame_register_unsigned.

commit 0187a92f57b516f7171e70bec46701cfdaa6c6bd
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    gdbarch software_single_step frame_info to regcache: aarch64
    
    Use regcache in software_single_step.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_software_single_step): Call
    	get_regcache_arch instead of get_frame_arch.  Call
    	regcache_read_pc instead of get_frame_pc.

commit 9fd15b2e80452f03edb3fb36c2b4c36d05f4ef4e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 14:05:04 2016 +0000

    New regcache_raw_get_signed
    
    This patch adds a new regcache api regcache_raw_get_signed.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* regcache.c (regcache_raw_get_signed): New function.
    	* regcache.h (regcache_raw_get_signed): Declare.

commit 6884417a0ff3555b192d4aceeacc5e7232cad207
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Tue Nov 22 04:40:37 2016 -0800

    gas,opcodes: fix hardware capabilities bumping in the sparc assembler.
    
    When the assembler finds an instruction which is part of a higher
    opcode architecture it bumps the current opcode architecture.  For
    example:
    
       $ echo "mwait" | as -bump
       {standard input}: Assembler messages:
       {standard input}:1: Warning: architecture bumped from "v6" to "v9m" on "mwait"
    
    However, when two instructions pertaining to the same opcode
    architecture but associated to different SPARC hardware capabilities
    are found in the input stream, and no GAS architecture is specified in
    the command line, the assembler bangs:
    
       $ echo "mwait; wr %g0,%g1,%mcdper" | as -bump
       {standard input}: Assembler messages:
       {standard input}:1: Warning: architecture bumped from "v6" to "v9m" on "mwait"
       {standard input}:1: Error: Hardware capability "sparc5" not enabled for "wr".
    
    ... and it should'nt, as WRMCDPER pertains to the same architecture
    level than MWAIT.
    
    This patch fixes this by extending the definition of sparc opcode
    architectures to contain a set of hardware capabilities and making the
    assembler to take these capabilities into account when updating the
    set of allowed hwcaps when an architecture bump is triggered by some
    instruction.
    
    This way, hwcaps associated to architecture levels are maintained in
    opcodes, while the assembler keeps the flexibiity of defining GAS
    architectures including additional hwcaps (like -Asparcfmaf or the
    v8plus* variants).
    
    A test covering this failure case is included.
    
    gas/ChangeLog:
    
    2016-11-22  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
           	* config/tc-sparc.c: Move HWS_* and HWS2_* definitions to
           	opcodes/sparc-opc.c.
           	(sparc_arch): Clarify the new role of the hwcap_allowed and
           	hwcap2_allowed fields.
           	(sparc_arch_table): Remove HWS_* and HWS2_* instances from
           	hwcap_allowed and hwcap2_allowed respectively.
           	(md_parse_option): Include the opcode arch hwcaps when processing
           	-A.
           	(sparc_ip): Use the current opcode arch hwcaps to update
           	hwcap_allowed, as well of the hwcaps of the instruction triggering
           	the bump.
           	* testsuite/gas/sparc/hwcaps-bump.s: New file.
           	* testsuite/gas/sparc/hwcaps-bump.l: Likewise.
           	* testsuite/gas/sparc/sparc.exp (gas_64_check): Run tests in
           	hwcaps-bump.
    
    include/ChangeLog:
    
    2016-11-22  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
           	* opcode/sparc.h (sparc_opcode_arch): New fields hwcaps and
           	hwcaps2.
    
    opcodes/ChangeLog:
    
    2016-11-22  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
           	* sparc-opc.c (HWS_V8): Definition moved from
           	gas/config/tc-sparc.c.
           	(HWS_V9): Likewise.
           	(HWS_VA): Likewise.
           	(HWS_VB): Likewise.
           	(HWS_VC): Likewise.
           	(HWS_VD): Likewise.
           	(HWS_VE): Likewise.
           	(HWS_VV): Likewise.
           	(HWS_VM): Likewise.
           	(HWS2_VM): Likewise.
           	(sparc_opcode_archs): Initialize hwcaps and hwcaps2 fields of
           	existing entries.

commit c4b943d7aed5edbfc31aa1e9dc9e7bcf108d76a0
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Nov 9 15:30:35 2016 +0100

    [ARC] Fix printing 'b' mnemonics.
    
    gas/
    2016-11-22  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/b.d: Update test result.
    
    opcode/
    2016-11-22  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* arc-tbl.h: Reorder conditional flags with delay flags for 'b'
    	instructions.

commit 08dc996fedde9143cda25720961684087b133640
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Nov 22 18:45:29 2016 +1030

    PR20744, Incorrect PowerPC VLE relocs
    
    VLE 16A and 16D relocs were functionally swapped.
    
    	PR 20744
    include/
    	* opcode/ppc.h: Define VLE insns using 16A and 16D relocs.
    bfd/
    	* elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
    	* elf32-ppc.c: Include opcode/ppc.h.
    	(ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
    	R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
    	R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
    	R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
    	R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
    	(ppc_elf_link_hash_table_create): Update default_params init.
    	(ppc_elf_vle_split16): Correct shift and mask.  Add params.
    	Report or fix insn/reloc mismatches.
    	(ppc_elf_relocate_section): Pass input_section, offset and fixup
    	to ppc_elf_vle_split16.
    binutils/
    	* NEWS: Mention PowerPC VLE relocation error.
    gas/
    	* config/tc-ppc.c: Delete VLE insn defines.
    	(md_assemble): Swap use_a_reloc and use_d_reloc.
    	* testsuite/gas/ppc/vle-reloc.d: Update.
    ld/
    	* emultempl/ppc32elf.em (params): Update initializer.  Handle
    	--vle-reloc-fixup command line arg.

commit 95f0d0d2338f8eba18d2b3c8cbe15b1d584b885c
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Nov 22 16:27:12 2016 +1030

    Use input_bfd in relocate_section
    
    It makes just a little more sense to use input_bfd when retrieving
    insns for relocation, since the relocations match the endianness of
    the input bfd.
    
    	* elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
    	input_bfd.  Replace occurrences of output_bfd as bfd_get_32 and
    	bfd_put_32 param with input_bfd.
    	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.  Also
    	ppc_elf_vle_split16 param.
    	(ppc_elf_vle_split16): Rename output_bfd param to input_bfd.

commit c5acd8159633cfde315b01431099e1ce5b23dcf7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 22 08:53:34 2016 +0000

    Use VALUE_NEXT_FRAME_ID in value_from_component
    
    We renamed VALUE_FRAME_ID to VALUE_NEXT_FRAME_ID recently,
    https://sourceware.org/ml/gdb-patches/2016-11/msg00018.html
    and we should use VALUE_NEXT_FRAME_ID in value_from_component
    too.
    
    gdb:
    
    2016-11-22  Yao Qi  <yao.qi@linaro.org>
    
    	* value.c (value_from_component): Use VALUE_NEXT_FRAME_ID
    	instead of VALUE_FROM_ID.

commit 3063babf7c559f04203ad7fdfcd8fc12a302ee7a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 22 00:00:15 2016 +0000

    Automatic date update in version.in

commit c13b08dbbcf752480a7621aa1f89bc5440c74c25
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Mon Nov 21 14:05:40 2016 -0800

    Fix bug where -u option with empty archive results in internal error.
    
    gold/
    	PR gold/20693
    	* gold.cc (queue_middle_tasks): Force valid target earlier.

commit d0de53e251ce60057d91536a4c71740b047be040
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Nov 21 16:05:57 2016 -0500

    Add missing POSTCOMPILE step to mi/ file generation rules
    
    A little oversight from my part, it caused the Makefile not to track
    the dependencies from mi/*.c files.
    
    gdb/ChangeLog:
    
    	* Makefile.in (%o: $(srcdir)/mi/%.c): Add missing POSTCOMPILE
    	step.

commit b32e1756d9932eebcca5f276290841a859ef2d6d
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Mon Nov 21 09:59:37 2016 -0800

    Add --build-id=uuid support for MinGW32.
    
    2016-11-21  Igor Kudrin  <ikudrin@accesssoftek.com>
    
    gold/
    	* layout.cc: Include windows.h and rpcdce.h (for MinGW32).
    	(Layout::create_build_id): Generate uuid using UuidCreate().

commit b6ddcd85e3c0ae1f12af60efd6d1b97ac4bfa771
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Nov 21 15:59:42 2016 +0000

    BFD/DWARF2: Correct an `index' global shadowing error
    
    Fix a commit 089e3718bd8d ("Greatly improve the speed if looking up
    DWARF line number information.") build regression:
    
    cc1: warnings being treated as errors
    .../bfd/dwarf2.c: In function 'build_line_info_table':
    .../bfd/dwarf2.c:1614: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:304: warning: shadowed declaration is here
    .../bfd/dwarf2.c: In function 'build_lookup_funcinfo_table':
    .../bfd/dwarf2.c:2262: warning: declaration of 'index' shadows a global declaration
    /usr/include/string.h:304: warning: shadowed declaration is here
    make[4]: *** [dwarf2.lo] Error 1
    
    in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command
    line options used when compiling the binutils.").
    
    	bfd/
    	* dwarf2.c (build_line_info_table): Rename `index' local
    	variable to `line_index'.
    	(build_lookup_funcinfo_table): Rename `index' local variable to
    	`func_index'.

commit 3fff9862d5229def9318912c2de64a03dab74532
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Nov 21 14:15:06 2016 +0000

    Create subobject value in pretty printer
    
    Nowadays, we create a value of subobject in pretty printer with 'address'
    being used,
    
      value = value_from_contents_and_address (type, valaddr + embedded_offset,
    					   address + embedded_offset);
    
      set_value_component_location (value, val);
      /* set_value_component_location resets the address, so we may
         need to set it again.  */
      if (VALUE_LVAL (value) != lval_internalvar
          && VALUE_LVAL (value) != lval_internalvar_component
          && VALUE_LVAL (value) != lval_computed)
        set_value_address (value, address + embedded_offset);
    
    value_from_contents_and_address creates a value from memory, but the
    value we are pretty-printing may not from memory at all.
    
    Instead of using value_from_contents_and_address, we create a value
    of subobject with the same location as object's but different offset.
    We avoid using address in this way.  As a result, parameter 'address'
    in apply_val_pretty_printer is no longer needed, we can remove it in
    next step.
    
    We've already had the location of the 'whole' value, so it is safe
    to assume we can create a value of 'component' or 'suboject' value
    at the same location but with different offset.
    
    gdb:
    
    2016-11-21  Yao Qi  <yao.qi@linaro.org>
    
    	* guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
    	Don't call value_from_contents_and_address and
    	set_value_address.  Call value_from_component.
    	* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer):
    	Likewise.
    	* value.c (value_from_component): New function.
    	* value.h (value_from_component): Likewise.
    	* valarith.c (value_subscripted_rvalue): Call
    	value_from_component.

commit 5689c9424b33aac68c4762ce0bda09ca7e3affe0
Author: Renlin Li <renlin.li@arm.com>
Date:   Mon Nov 21 12:06:04 2016 +0000

    [GAS][ARM][PR20827]Fix gas error for two register form instruction (pre-UAL syntax).
    
    gas/
    
    2016-11-21  Renlin Li  <renlin.li@arm.com>
    
    	PR gas/20827
    	* config/tc-arm.c (encode_arm_shift): Don't assert for operands not
    	presented.
    	* testsuite/gas/arm/add-shift-two.d: New.
    	* testsuite/gas/arm/add-shift-two.s: New.

commit 2d7f2507d4d26430da7e32e8fc75f045f634fced
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Nov 21 20:18:41 2016 +1030

    Use ACX_PROG_CMP_IGNORE_INITIAL in gas
    
    	* configure.ac: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
    	* Makefile.am (comparison): Rewrite using do_compare.
    	* configure: Regenerate.
    	* Makefile.in: Regenerate.
    	* doc/Makefile.in: Regenerate.

commit 081f6b931dbc4a1f27ac003e2f75a389444ce9e9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 21 00:00:33 2016 +0000

    Automatic date update in version.in

commit b5fbed8982b47d1ea5a0435c156e488e24e9d67c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 20 00:00:28 2016 +0000

    Automatic date update in version.in

commit cc188e5fd6d4f8d3061ed6c58c432a150f7966e9
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sat Nov 19 10:40:17 2016 -0800

    ARI: Add detection of printf_vma and sprintf_vma
    
    We shouldn't be using these, since their output goes straight to
    stdout, which doesn't allow redirection. So this patch updates
    the ARI to detect any such use.
    
    gdb/ChangeLog:
    
            * contrib/ari/gdb_ari.sh: Add detection of printf_vma and
            sprintf_vma.

commit 0fc9967d0b28a1e037233d49cec479d3ab1e9e59
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Sat Nov 19 04:39:09 2016 -0800

    Revert "bfd: allow negative offsets to _GLOBAL_OFFSET_TABLE_ in elf64 SPARC"
    
    This reverts commit b19753ce31da347605dfa903c6fd2158e2444f0d.
    
    As it turns out, GCC (and the assembler) needs additional work in
    order to support negative GOT offsets in 64-bit sparc.  This is
    breaking TLS Local Dynamic in position-independent code.

commit ef787763b9495913d5be90bcdedcecb553cbf308
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Nov 18 21:16:52 2016 -0500

    Makefile: fix typo
    
    Thanks to Patrick Monnerat for reporting this typo.
    
    gdb/ChangeLog:
    
    	* Makefile.in (%.o: $(srcdir)/gdbtk/generic/%.c): Fix typo.

commit 3d6d882e29fb2b8f2451405c37fd6fd9b92fcdaa
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 19 00:00:32 2016 +0000

    Automatic date update in version.in

commit 8504e0974cf4b67680a11208b16caa2d3c77b838
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Fri Nov 18 16:59:00 2016 +0100

    gdb/doc: Add missing comma after xref
    
    Get rid of a warning for missing punctuation after xref.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texinfo (GDB/MI Async Records): Add missing comma after
    	xref.

commit bb050a6932c4b0ea86202fe62bed2d94999f77ad
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Thu Nov 17 13:26:54 2016 +0100

    [ARC] Fix and extend features of .cpu directive.
    
    gas/
    2016-11-18  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* testsuite/gas/arc/cl-warn.s: New file.
    	* testsuite/gas/arc/cpu-pseudop-1.d: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-1.s: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-2.d: Likewise.
    	* testsuite/gas/arc/cpu-pseudop-2.s: Likewise.
    	* testsuite/gas/arc/cpu-warn2.s: Likewise.
    	* config/tc-arc.c (selected_cpu): Initialize.
    	(feature_type): New struct.
    	(feature_list): New variable.
    	(arc_check_feature): New function.
    	(arc_select_cpu): Check for .cpu duplicates. Don't overwrite the
    	current cpu features. Check if a feature is available for a given
    	cpu.
    	(md_parse_option): Test if features are available for a given cpu.

commit cc133f9f118ef4afd93da0ecba48151488c41c74
Author: James Clarke <jrtc27@jrtc27.com>
Date:   Fri Nov 18 12:51:40 2016 +0100

    bfd: fix negative GOT offsets for non-local references on sparc64
    
    bfd/ChangeLog:
    
    2016-11-18  James Clarke  <jrtc27@jrtc27.com>
    
    	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
    	R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
    	R_SPARC_GOT* for non-local references. Instead, treat them like
    	R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
    	immediate with the calculated relocation.

commit a85db0a6188b89ef49a1bd0f0ed435adc133b3ae
Author: Mark Wielaard <mark@klomp.org>
Date:   Thu Nov 17 01:28:09 2016 +0100

    cxxfilt: Recognize rust_demangling.

commit 535aade664ac4170fe82e52c9addd686156220a1
Author: David Tolnay <dtolnay@gmail.com>
Date:   Wed Nov 16 23:09:27 2016 +0000

    libiberty: Add Rust symbol demangling.
    
    Adds Rust symbol demangler. Rust mangles symbols using GNU_V3 style,
    adding a hash and various special character subtitutions. This adds
    a new rust style to cplus_demangle and adds 3 helper functions
    rust_demangle, rust_demangle_sym and rust_is_mangled.
    
    rust-demangle.c was written by David. Mark did the code formatting to
    GNU style and integration into the gcc/libiberty build system and
    testsuite.
    
    include/ChangeLog:
    
    2016-11-03  David Tolnay <dtolnay@gmail.com>
               Mark Wielaard  <mark@klomp.org>
    
           * demangle.h (DMGL_RUST): New macro.
           (DMGL_STYLE_MASK): Add DMGL_RUST.
           (demangling_styles): Add dlang_rust.
           (RUST_DEMANGLING_STYLE_STRING): New macro.
           (RUST_DEMANGLING): New macro.
           (rust_demangle): New prototype.
           (rust_is_mangled): Likewise.
           (rust_demangle_sym): Likewise.
    
    libiberty/ChangeLog:
    
    2016-11-03  David Tolnay <dtolnay@gmail.com>
               Mark Wielaard  <mark@klomp.org>
    
           * Makefile.in (CFILES): Add rust-demangle.c.
           (REQUIRED_OFILES): Add rust-demangle.o.
           * cplus-dem.c (libiberty_demanglers): Add rust_demangling case.
           (cplus_demangle): Handle RUST_DEMANGLING.
           (rust_demangle): New function.
           * rust-demangle.c: New file.
           * testsuite/Makefile.in (really-check): Add check-rust-demangle.
           (check-rust-demangle): New rule.
           * testsuite/rust-demangle-expected: New file.

commit ddc5804ebd4b2be29ad4e3e259f5c6e907f34f26
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue Nov 15 19:31:59 2016 +0000

    libiberty: demangler crash with missing :? or fold expression component.
    
    When constructing an :? or fold expression that requires a third
    expression only the first and second were explicitly checked to
    not be NULL. Since the third expression is also required in these
    constructs it needs to be explicitly checked and rejected when missing.
    Otherwise the demangler will crash once it tries to d_print the
    NULL component. Added two examples to demangle-expected of strings
    that would crash before this fix.
    
    Found by American Fuzzy Lop (afl) fuzzer.

commit 1706852c3c6c1d39f949c933d37647d02509b9cb
Author: Mark Wielaard <mark@klomp.org>
Date:   Tue Nov 15 19:31:50 2016 +0000

    libiberty: Fix some demangler crashes caused by reading past end of input.
    
    In various situations the cplus_demangle () function could read past the
    end of input causing crashes. Add checks in various places to not advance
    the demangle string location and fail early when end of string is reached.
    Add various examples of input strings to the testsuite that would crash
    test-demangle before the fixes.
    
    Found by using the American Fuzzy Lop (afl) fuzzer.
    
    libiberty/ChangeLog:
    
           * cplus-dem.c (demangle_signature): After 'H', template function,
           no success and don't advance position if end of string reached.
           (demangle_template): After 'z', template name, return zero on
           premature end of string.
           (gnu_special): Guard strchr against searching for zero characters.
           (do_type): If member, only advance mangled string when 'F' found.
           * testsuite/demangle-expected: Add examples of strings that could
           crash the demangler by reading past end of input.

commit 59d2699cfd30f9defc454be17415c0a518ece32b
Author: Mark Wielaard <mark@klomp.org>
Date:   Mon Nov 14 19:46:26 2016 +0000

    libiberty: Add -Wshadow=local to warning flags (if supported).
    
    libiberty/ChangeLog:
    
           * configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
           * configure: Regenerated.

commit a4ddf8dc72f0ac10c3459a91949eb1bdb07ed10d
Author: Jason Merrill <jason@redhat.com>
Date:   Mon Nov 7 23:09:29 2016 +0000

    Implement P0012R1, Make exception specifications part of the type system.
    
    libiberty/
    	* cp-demangle.c (is_fnqual_component_type): New.
    	(d_encoding, d_print_comp_inner, d_print_mod_list): Use it.
    	(FNQUAL_COMPONENT_CASE): New.
    	(d_make_comp, has_return_type, d_print_comp_inner)
    	(d_print_function_type): Use it.
    	(next_is_type_qual): New.
    	(d_cv_qualifiers, d_print_mod): Handle noexcept and throw-spec.
    include/
    	* demangle.h (enum demangle_component_type): Add
    	DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.

commit 4d17eaece8b31e642acaf4d77fe961ad8e3aaf50
Author: Mark Wielaard <mjw@redhat.com>
Date:   Fri Nov 4 23:55:01 2016 +0000

    libiberty: Fix -Wimplicit-fallthrough warnings.
    
    Adjust some comments, add some explicit fall through comments or explicit
    returns where necessary to not get implicit-fallthrough warnings.
    
    All fall throughs were deliberate. In one case I added an explicit return
    false for clarity instead of falling through a default case (that also
    would return false).
    
    libiberty/ChangeLog:
    
           * cplus-dem.c (demangle_signature): Move fall through comment.
           (demangle_fund_type): Add fall through comment between 'G' and 'I'.
           * hashtab.c (iterative_hash): Add fall through comments.
           * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
           (byte_re_match_2_internal): Add Fall through comment after jump_n.
           Change "Note fall through" to "Fall through".
           (common_op_match_null_string_p): Return false after set_number_at
           instead of fall through.

commit ef0f5d7cc3b2082c94beffa7c9c1a8acd8eaa427
Author: Jason Merrill <jason@redhat.com>
Date:   Wed Nov 2 01:50:29 2016 +0000

    Implement P0136R1, Rewording inheriting constructors.
    
    libiberty/
    	* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.

commit aba19b625f34fb3d61263fe8044cf0c6d8804570
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Nov 1 23:13:10 2016 +0000

    libiberty: Fix memory leak in ada_demangle when symbol cannot be demangled.
    
    When a symbol cannot be demangled in ada_demangle a new demangled VEC
    will be allocated without deleting the demangled VEC already in use.
    
    Running testsuite/test-demangle under valgrind will show the leak for
    this entry in testsuite/demangle-expected:
    
        # Elaborated flag (not demangled)
        --format=gnat
        x_E
        <x_E>
    
     11 bytes in 1 blocks are definitely lost in loss record 1 of 1
        at 0x4C27BE3: malloc (vg_replace_malloc.c:299)
        by 0x413FE7: xmalloc (xmalloc.c:148)
        by 0x4025EC: ada_demangle (cplus-dem.c:930)
        by 0x402C59: cplus_demangle (cplus-dem.c:892)
        by 0x400FEC: main (test-demangle.c:317)
    
    libiberty/ChangeLog:
    
    	* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
    	XDELETEVEC demangled when unknown.

commit 9d2cdc86574bda0f1013be8cdc166d86b6d032bc
Author: Marcel Böhme <boehme.marcel@gmail.com>
Date:   Thu Aug 4 16:53:18 2016 +0000

    PR c++/71696 testcase.
    
    Add libiberty/testsuite/demangle-expected testcase for:
    
    	PR c++/71696
    	* cplus-dem.c: Prevent infinite recursion when there is a cycle
    	in the referencing of remembered mangled types.
    	(work_stuff): New stack to keep track of the remembered mangled
    	types that are currently being processed.
    	(push_processed_type): New method to push currently processed
    	remembered type onto the stack.
    	(pop_processed_type): New method to pop currently processed
    	remembered type from the stack.
    	(work_stuff_copy_to_from): Copy values of new variables.
    	(delete_non_B_K_work_stuff): Free stack memory.
    	(demangle_args): Push/Pop currently processed remembered type.
    	(do_type): Do not demangle a cyclic reference and push/pop
    	referenced remembered type.

commit c2c4ff8d52a2cd3263a547b0384692498714aa1b
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 10:02:16 2016 +0000

    [AArch64] Add ARMv8.3 FCMLA and FCADD instructions
    
    Add support for FCMLA and FCADD complex arithmetic SIMD instructions.
    FCMLA has an indexed element variant where the index range has to be
    treated specially because a complex number takes two elements and the
    indexed vector size depends on the other operands.
    
    These complex number SIMD instructions are part of ARMv8.3
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    include/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_IMM_ROT1,
    	AARCH64_OPND_IMM_ROT2, AARCH64_OPND_IMM_ROT3.
    	(enum aarch64_op): Add OP_FCMLA_ELEM.
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (QL_V3SAMEHSD_ROT, QL_ELEMENT_ROT): Define.
    	(aarch64_feature_simd_v8_3, SIMD_V8_3): Define.
    	(aarch64_opcode_table): Add fcmla and fcadd.
    	(AARCH64_OPERANDS): Add IMM_ROT{1,2,3}.
    	* aarch64-asm.h (aarch64_ins_imm_rotate): Declare.
    	* aarch64-asm.c (aarch64_ins_imm_rotate): Define.
    	* aarch64-dis.h (aarch64_ext_imm_rotate): Declare.
    	* aarch64-dis.c (aarch64_ext_imm_rotate): Define.
    	* aarch64-opc.h (enum aarch64_field_kind): Add FLD_rotate{1,2,3}.
    	* aarch64-opc.c (fields): Add FLD_rotate{1,2,3}.
    	(operand_general_constraint_met_p): Rotate and index range check.
    	(aarch64_print_operand): Handle rotate operand.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Likewise.
    	* aarch64-opc-2.c: Likewise.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (parse_operands): Handle AARCH64_OPND_IMM_ROT*.
    	* testsuite/gas/aarch64/advsimd-armv8_3.d: New.
    	* testsuite/gas/aarch64/advsimd-armv8_3.s: New.
    	* testsuite/gas/aarch64/illegal-fcmla.s: New.
    	* testsuite/gas/aarch64/illegal-fcmla.l: New.
    	* testsuite/gas/aarch64/illegal-fcmla.d: New.

commit 28617675c264213180a599bb4327bf162029636a
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 09:58:38 2016 +0000

    [AArch64] Add ARMv8.3 weaker release consistency load instructions
    
    Add support for ARMv8.3 LDAPRB, LDAPRH and LDAPR weak release
    consistency load instructions. (They are equivalent to LDARB,
    LDARH and LDAR instructions other than the weaker memory ordering
    requirement.)
    
    For more details about weak release consistency see
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add ldaprb, ldaprh, ldapr.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.s: Add ldaprb, ldaprh, ldapr tests.
    	* testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-ldapr.s: Likewise.
    	* testsuite/gas/aarch64/illegal-ldapr.d: Likewise.
    	* testsuite/gas/aarch64/illegal-ldapr.l: Likewise.

commit ccfc90a39b78b7bc4173cd9ead49d2aa59695378
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 09:53:45 2016 +0000

    [AArch64] Add ARMv8.3 javascript floating-point conversion instruction
    
    Add support for ARMv8.3 FJCVTZS floating-point conversion
    instruction.
    
    For details about javascript floating-point conversion see
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add fjcvtzs.
    	(QL_FP2INT_W_D, aarch64_feature_fp_v8_3, FP_V8_3): Define.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/fp-armv8_3.s: Add fjcvtzs test.
    	* testsuite/gas/aarch64/fp-armv8_3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-fjcvtzs.s: Likewise.
    	* testsuite/gas/aarch64/illegal-fjcvtzs.d: Likewise.
    	* testsuite/gas/aarch64/illegal-fjcvtzs.l: Likewise.
    	* testsuite/gas/aarch64/illegal-nofp-armv8_3.s: Likewise.
    	* testsuite/gas/aarch64/illegal-nofp-armv8_3.d: Likewise.
    	* testsuite/gas/aarch64/illegal-nofp-armv8_3.l: Likewise.

commit 3f06e55061d0d8f72dfd11f6c432c23f45d9b597
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 18 09:49:06 2016 +0000

    [AArch64] Add ARMv8.3 combined pointer authentication load instructions
    
    Add support for ARMv8.3 LDRAA and LDRAB combined pointer authentication and
    load instructions.
    
    These instructions authenticate the base register and load 8 byte from it plus
    a scaled 10-bit offset with optional writeback to update the base register.
    
    A new instruction class (ldst_imm10) and operand type (AARCH64_OPND_ADDR_SIMM10)
    were introduced to handle the special addressing form.
    
    include/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_ADDR_SIMM10.
    	(enum aarch64_insn_class): Add ldst_imm10.
    
    opcodes/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (QL_X1NIL): New.
    	(arch64_opcode_table): Add ldraa, ldrab.
    	(AARCH64_OPERANDS): Add "ADDR_SIMM10".
    	* aarch64-asm.h (aarch64_ins_addr_simm10): Declare.
    	* aarch64-asm.c (aarch64_ins_addr_simm10): Define.
    	* aarch64-dis.h (aarch64_ext_addr_simm10): Declare.
    	* aarch64-dis.c (aarch64_ext_addr_simm10): Define.
    	* aarch64-opc.h (enum aarch64_field_kind): Add FLD_S_simm10.
    	* aarch64-opc.c (fields): Add data for FLD_S_simm10.
    	(operand_general_constraint_met_p): Handle AARCH64_OPND_ADDR_SIMM10.
    	(aarch64_print_operand): Likewise.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (parse_operands): Handle AARCH64_OPND_ADDR_SIMM10.
    	(fix_insn): Likewise.
    	(warn_unpredictable_ldst): Handle ldst_imm10.
    	* testsuite/gas/aarch64/pac.s: Add ldraa and ldrab tests.
    	* testsuite/gas/aarch64/pac.d: Likewise.
    	* testsuite/gas/aarch64/illegal-ldraa.s: New.
    	* testsuite/gas/aarch64/illegal-ldraa.l: New.
    	* testsuite/gas/aarch64/illegal-ldraa.d: New.

commit 6ec49e7c0aeb6d98e379319b565aee2c89388615
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 18 09:27:41 2016 +0000

    Help diagnose problems with the metag target when mixing static and shared binaries.
    
    	PR ld/20675
    	* elf32-metag.c (elf_metag_relocate_section): Replace abort with
    	an informative error message.

commit cd42d70b4d7e92dcc6c533e012ab8af122de7b9e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 18 00:00:20 2016 +0000

    Automatic date update in version.in

commit 470dd0a647c95a2e88c5b0f8df538826b08959a8
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 12:02:32 2016 -0500

    Makefile: Replace explicit subdir rules with pattern rules
    
    When adding a .c file in subdirectory (e.g. mi/), the current practice
    is to add an explicit rule, such as:
    
      mi-cmd-break.o: $(srcdir)/mi/mi-cmd-break.c
              $(COMPILE) $(srcdir)/mi/mi-cmd-break.c
              $(POSTCOMPILE)
    
    I find it a bit verbose and cumbersome.  Since we now require GNU make,
    we can change those rules with pattern rules, one for each subdirectory.
    For example, the following rule works for all files under mi:
    
      %.o: $(srcdir)/mi/%.c
              $(COMPILE) $<
              $(POSTCOMPILE)
    
    Those pattern rules assume that the source and target files have the
    same stem (foo.c and foo.o).  In one case, common-agent.o is generated
    from common/agent.c, to avoid a conflict with the agent.o in gdb/.  In
    this case, I kept the explicit rule, which takes precedence over the
    pattern rule.  We could also rename common/agent.c to
    common/common-agent.c to get rid of the special case and still avoid the
    clash, as it is done with common/common-regcache.c, for example.
    
    This strategy was the least intrusive I found, as it only requires
    changing the rules, not the target names.
    
    I also considered two other solutions, which I did not like because I
    would have had to change target names a bit everywhere.
    
      - Replicate the source directory structure in the build directory,
        which would generate common/agent.o from common/agent.c.  However,
        something was not right with the dependency tracking (the .deps
        directory).  It's probably not hard to fix, but I did not
        investigate further.
      - Name the object files after the directory they are in, so that
        common/agent.c would generate common_agent.c.
    
    GDBserver can benefit from the same treatment, but I'll do it in another
    patch.
    
    Built-tested with --enable-targets=all.
    
    New in v2:
    
      - Regroup pattern rules for .c -> .o compilation in a single place.
      - Add comment about common-agent.o.
    
    gdb/ChangeLog:
    
    	(PYTHON_CFLAGS): Move up.
    	(%.o: $(srcdir)/arch/%.c): New rule.
    	(%.o: $(srcdir)/cli/%.c): New rule.
    	(%.o: $(srcdir)/common/%.c): New rule.
    	(%.o: $(srcdir)/compile/%.c): New rule.
    	(%.o: $(srcdir)/gdbtk/generic/%.c): New rule.
    	(%.o: $(srcdir)/guile/%.c): New rule.
    	(%.o: $(srcdir)/mi/%.c): New rule.
    	(%.o: $(srcdir)/nat/%.c): New rule.
    	(%.o: $(srcdir)/python/%.c): New rule.
    	(%.o: $(srcdir)/target/%.c): New rule.
    	(%.o: $(srcdir)/tui/%.c): New rule.
    	(cli-cmds.o): Remove.
    	(cli-decode.o): Likewise.
    	(cli-dump.o): Likewise.
    	(cli-interp.o): Likewise.
    	(cli-logging.o): Likewise.
    	(cli-script.o): Likewise.
    	(cli-setshow.o): Likewise.
    	(cli-utils.o): Likewise.
    	(compile.o): Likewise.
    	(compile-c-types.o): Likewise.
    	(compile-c-symbols.o): Likewise.
    	(compile-object-load.o): Likewise.
    	(compile-object-run.o): Likewise.
    	(compile-loc2c.o): Likewise.
    	(compile-c-support.o): Likewise.
    	(gdbtk.o): Likewise.
    	(gdbtk-bp.o): Likewise.
    	(gdbtk-cmds.o): Likewise.
    	(gdbtk-hooks.o): Likewise.
    	(gdbtk-interp.o): Likewise.
    	(gdbtk-main.o): Likewise.
    	(gdbtk-register.o): Likewise.
    	(gdbtk-stack.o): Likewise.
    	(gdbtk-varobj.o): Likewise.
    	(gdbtk-wrapper.o): Likewise.
    	(mi-cmd-break.o): Likewise.
    	(mi-cmd-catch.o): Likewise.
    	(mi-cmd-disas.o): Likewise.
    	(mi-cmd-env.o): Likewise.
    	(mi-cmd-file.o): Likewise.
    	(mi-cmd-info.o): Likewise.
    	(mi-cmds.o): Likewise.
    	(mi-cmd-stack.o): Likewise.
    	(mi-cmd-target.o): Likewise.
    	(mi-cmd-var.o): Likewise.
    	(mi-console.o): Likewise.
    	(mi-getopt.o): Likewise.
    	(mi-interp.o): Likewise.
    	(mi-main.o): Likewise.
    	(mi-out.o): Likewise.
    	(mi-parse.o): Likewise.
    	(mi-symbol-cmds.o): Likewise.
    	(mi-common.o): Likewise.
    	(signals.o): Likewise.
    	(common-utils.o): Likewise.
    	(gdb_vecs.o): Likewise.
    	(xml-utils.o): Likewise.
    	(ptid.o): Likewise.
    	(buffer.o): Likewise.
    	(filestuff.o): Likewise.
    	(format.o): Likewise.
    	(vec.o): Likewise.
    	(print-utils.o): Likewise.
    	(rsp-low.o): Likewise.
    	(errors.o): Likewise.
    	(common-debug.o): Likewise.
    	(cleanups.o): Likewise.
    	(common-exceptions.o
    	(posix-strerror.o): Likewise.
    	(mingw-strerror.o): Likewise.
    	(btrace-common.o): Likewise.
    	(fileio.o): Likewise.
    	(common-regcache.o): Likewise.
    	(signals-state-save-restore.o): Likewise.
    	(new-op.o): Likewise.
    	(waitstatus.o): Likewise.
    	(arm.o): Likewise.
    	(arm-linux.o): Likewise.
    	(arm-get-next-pcs.o): Likewise.
    	(x86-dregs.o): Likewise.
    	(linux-btrace.o): Likewise.
    	(linux-osdata.o): Likewise.
    	(linux-procfs.o): Likewise.
    	(linux-ptrace.o): Likewise.
    	(linux-waitpid.o): Likewise.
    	(mips-linux-watch.o): Likewise.
    	(ppc-linux.o): Likewise.
    	(linux-personality.o): Likewise.
    	(x86-linux.o): Likewise.
    	(x86-linux-dregs.o): Likewise.
    	(amd64-linux-siginfo.o): Likewise.
    	(linux-namespaces.o): Likewise.
    	(aarch64-linux-hw-point.o): Likewise.
    	(aarch64-linux.o): Likewise.
    	(aarch64-insn.o): Likewise.
    	(tui.o): Likewise.
    	(tui-command.o): Likewise.
    	(tui-data.o): Likewise.
    	(tui-disasm.o): Likewise.
    	(tui-file.o): Likewise.
    	(tui-hooks.o): Likewise.
    	(tui-interp.o): Likewise.
    	(tui-io.o): Likewise.
    	(tui-layout.o): Likewise.
    	(tui-out.o): Likewise.
    	(tui-regs.o): Likewise.
    	(tui-source.o): Likewise.
    	(tui-stack.o): Likewise.
    	(tui-win.o): Likewise.
    	(tui-windata.o): Likewise.
    	(tui-wingeneral.o): Likewise.
    	(tui-winsource.o): Likewise.
    	(guile.o): Likewise.
    	(scm-arch.o): Likewise.
    	(scm-auto-load.o): Likewise.
    	(scm-block.o): Likewise.
    	(scm-breakpoint.o): Likewise.
    	(scm-cmd.o): Likewise.
    	(scm-disasm.o): Likewise.
    	(scm-exception.o): Likewise.
    	(scm-frame.o): Likewise.
    	(scm-gsmob.o): Likewise.
    	(scm-iterator.o): Likewise.
    	(scm-lazy-string.o): Likewise.
    	(scm-math.o): Likewise.
    	(scm-objfile.o): Likewise.
    	(scm-param.o): Likewise.
    	(scm-ports.o): Likewise.
    	(scm-pretty-print.o): Likewise.
    	(scm-progspace.o): Likewise.
    	(scm-safe-call.o): Likewise.
    	(scm-string.o): Likewise.
    	(scm-symbol.o): Likewise.
    	(scm-symtab.o): Likewise.
    	(scm-type.o): Likewise.
    	(scm-utils.o): Likewise.
    	(scm-value.o): Likewise.
    	(python.o): Likewise.
    	(py-arch.o): Likewise.
    	(py-auto-load.o): Likewise.
    	(py-block.o): Likewise.
    	(py-bpevent.o): Likewise.
    	(py-breakpoint.o): Likewise.
    	(py-cmd.o): Likewise.
    	(py-continueevent.o): Likewise.
    	(py-xmethods.o): Likewise.
    	(py-event.o): Likewise.
    	(py-evtregistry.o): Likewise.
    	(py-evts.o): Likewise.
    	(py-exitedevent.o): Likewise.
    	(py-finishbreakpoint.o): Likewise.
    	(py-frame.o): Likewise.
    	(py-framefilter.o): Likewise.
    	(py-function.o): Likewise.
    	(py-gdb-readline.o): Likewise.
    	(py-inferior.o): Likewise.
    	(py-infevents.o): Likewise.
    	(py-infthread.o): Likewise.
    	(py-lazy-string.o): Likewise.
    	(py-linetable.o): Likewise.
    	(py-newobjfileevent.o): Likewise.
    	(py-objfile.o): Likewise.
    	(py-param.o): Likewise.
    	(py-prettyprint.o): Likewise.
    	(py-progspace.o): Likewise.
    	(py-signalevent.o): Likewise.
    	(py-stopevent.o): Likewise.
    	(py-symbol.o): Likewise.
    	(py-symtab.o): Likewise.
    	(py-threadevent.o): Likewise.
    	(py-type.o): Likewise.
    	(py-unwind.o): Likewise.
    	(py-utils.o): Likewise.
    	(py-value.o): Likewise.
    	(py-varobj.o): Likewise.

commit 5443506ee45cb94769db7e76dd2021a96f2f0680
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 12:02:13 2016 -0500

    Makefile: Replace old suffix rules with pattern rules
    
    As mentioned here [1], suffix rules are obsolete and have been
    superseeded with pattern rules.  People (myself included, before writing
    this patch) are more likely to know what pattern rules are than suffix
    rules.
    
    AFAIK, .SUFFIXES targets are only used for those rules, and can be
    removed as well.
    
    New in v2:
    
      - Replace rule in gdbserver/Makefile.in as well.
    
    [1] https://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html
    
    gdb/ChangeLog:
    
    	* Makefile.in (.c.o): Replace rule with ...
    	(%.o: %.c): ... this one.
    	(.po.gmo): Replace rule with ...
    	(%.gmo: %.po): ... this one.
    	(.po.pox): Replace rule with ...
    	(%.pox: %.po): ... this one.
    	(.y.c): Replace rule with ...
    	(%.c: %.y): ... this one.
    	(.l.c): Replace rule with ...
    	(%.c: %.l): ... this one.
    	(.SUFFIXES): Remove all instances.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in (.c.o): Replace rule with ...
    	(%.o: %.c): ... this one.

commit 3b165252e882c05c8217f888194877224295592d
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 12:00:10 2016 -0500

    Remove code that checks for GNU/non-GNU make
    
    Since GNU make is now required to build GDB, we can remove everything
    that checks whether the current make implemention is the GNU one or
    not.  I simply removed the @GMAKE_TRUE@ prefixes and removed the whole
    lines that were prefixed with @GMAKE_FALSE@.
    
    I removed the code in the configure scripts that set those variables.
    
    I also removed the following bits from the configure scripts:
    
      AC_CHECK_PROGS(MAKE, make): GNU make already defines a MAKE variable
        internally to be used when invoking Makefiles recursively.  I don't see
        this variable being used anywhere else (in scripts for example), so I
        think it's safe for removal.
    
      AC_PROG_MAKE_SET: This macro defines a SET_MAKE output variable, which
        is meant to be used in Makefiles to define the MAKE variable when
        using an implementation of make that doesn't already define it.
        Since we are now requiring GNU make, we don't need it anymore.
        Plus, I don't see SET_MAKE being used anywhere, so I don't think it
        was actually doing anything...
    
    gdb/ChangeLog:
    
    	* Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
    	prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
    	make.
    	* configure.ac: Remove checks for the make program.
    	* configure: Re-generate.
    
    gdb/gdbserver/ChangeLog:
    
    	* Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
    	prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
    	make.
    	* configure.ac: Remove checks for the make program.
    	* configure: Re-generate.
    
    gdb/testsuite/ChangeLog:
    
    	* Makefile.in: Remove @GMAKE_TRUE@ prefixes and removes lines
    	prefixed with @GMAKE_FALSE@.  Update comment related to non-GNU
    	make.
    	* configure.ac: Remove checks for the make program.
    	* configure: Re-generate.

commit f2ff9acd32b4667ee16a03ca8d10fd8b99e22f46
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Thu Nov 17 11:59:18 2016 -0500

    Document new hard requirement on GNU make
    
    As discussed in [1], it would be benificial for the GDB project to start
    requiring GNU make to build its software.  It would allow using useful
    GNU-specific constructs, such as pattern rules.  It would also allow
    removing the alternative code paths in the Makefiles (guarded by
    GMAKE_TRUE/GMAKE_FALSE), simplifying the Makefile code.
    
    [1] https://sourceware.org/ml/gdb-patches/2016-11/msg00331.html
    
    gdb/ChangeLog:
    
    	* NEWS: Mention requirement of GNU make.

commit 66be918f5f9f78d74c70aa332756286ff9d0ccf2
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 14:53:02 2016 +0000

    gdb/c-exp.y: fprintf -> parser_fprintf
    
    Switching GDB to make use of gnulib's C++ namespace support mode
    revealed these direct uses of fprintf in the C parser, where
    parser_fprintf should be used to handle rewiring stderr to gdb_stderr:
    
     ..../src/gdb/c-exp.y: In function â??void c_print_token(FILE*, int, YYSTYPE)â??:
     ..../src/gdb/c-exp.y:3220:45: error: call to â??fprintfâ?? declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	  pulongest (value.typed_val_int.val));
    					      ^
     ..../src/gdb/c-exp.y:3231:62: error: call to â??fprintfâ?? declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
       fprintf (file, "tsval<type=%d, %s>", value.tsval.type, copy);
    							       ^
     ..../src/gdb/c-exp.y:3237:57: error: call to â??fprintfâ?? declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	fprintf (file, "sval<%s>", copy_name (value.sval));
    							  ^
     ..../src/gdb/c-exp.y:3243:39: error: call to â??fprintfâ?? declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	  copy_name (value.tsym.stoken));
    					^
     ..../src/gdb/c-exp.y:3254:39: error: call to â??fprintfâ?? declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	  value.ssym.is_a_field_of_this);
    					^
     ..../src/gdb/c-exp.y:3258:70: error: call to â??fprintfâ?? declared with attribute warning: The symbol ::fprintf refers to the system function. Use gnulib::fprintf instead. [-Werror]
    	fprintf (file, "bval<%s>", host_address_to_string (value.bval));
                                                                          ^
    
    gdb/ChangeLog:
    2016-11-17  Pedro Alves  <palves@redhat.com>
    
    	* c-exp.y (c_print_token): Use parser_fprintf instead of fprintf.

commit 7c2683c40f745397e80b6df4edf8265ecb6fd194
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 14:43:02 2016 +0000

    gdb/ctf.c: Get rid of mkdir redefinition
    
    Making GDB use gnulib's C++ namespace support shows this build error
    on mingw:
    
     ../../src/gdb/ctf.c: In function 'void ctf_start(trace_file_writer*, const char*)':
     ../../src/gdb/ctf.c:309:46: error: no match for call to '(const gnulib::_gl_mkdir_wrapper) (const char*&)'
      #define mkdir(pathname, mode) mkdir (pathname)
    					       ^
     ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir'
        if (gnulib::mkdir (dirname, hmode) && errno != EEXIST)
    		^
     ../../src/gdb/ctf.c:309:46: note: candidate: gnulib::_gl_mkdir_wrapper::type {aka int (*)(const char*, short unsigned int)} <conversion>
      #define mkdir(pathname, mode) mkdir (pathname)
    					       ^
     ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir'
        if (gnulib::mkdir (dirname, hmode) && errno != EEXIST)
    		^
     ../../src/gdb/ctf.c:309:46: note:   candidate expects 3 arguments, 2 provided
      #define mkdir(pathname, mode) mkdir (pathname)
    					       ^
     ../../src/gdb/ctf.c:327:15: note: in expansion of macro 'mkdir'
        if (gnulib::mkdir (dirname, hmode) && errno != EEXIST)
    		^
    
    The problem is the '#define mkdir ...'
    
    Fortunately, we can just remove it, since gnulib's sys/stat.h
    replacement already takes care of the Windows mkdir prototype quirk:
    
    ~~~
     /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
        Additionally, it declares _mkdir (and depending on compile flags, an
        alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
        which are included above.  */
     # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
    
     #  if !GNULIB_defined_rpl_mkdir
     static int
     rpl_mkdir (char const *name, mode_t mode)
     {
       return _mkdir (name);
     }
    ~~~
    
    That's sys_stat.in.h, part of the sys_stat module, which we explictly
    pull in nowadays.  It wasn't being pulled when this macro was added:
    
      https://sourceware.org/ml/gdb-patches/2013-03/msg00736.html
    
    That patch was partially reverted meanwhile here:
    
      https://sourceware.org/ml/gdb-patches/2013-12/msg00023.html
    
    But the mkdir macro had been left behind unnoticed.
    
    gdb/ChangeLog:
    2016-11-17  Pedro Alves  <palves@redhat.com>
    
    	* ctf.c [USE_WIN32API] (mkdir): Delete.

commit 200069c74f42ffcc726b9995a46971a86286a256
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 16 11:38:49 2016 +0000

    gdb/ada-lang.c: one malloc -> unique_ptr<[]>
    
    Switching gdb to use gnulib's C++ namespace mode reveals we're calling
    malloc instead of xmalloc here:
    
     ..../src/gdb/ada-lang.c: In function â??value* ada_value_primitive_packed_val(value*, const gdb_byte*, long int, int, int, type*)â??:
     ..../src/gdb/ada-lang.c:2592:50: error: call to â??mallocâ?? declared with attribute warning: The symbol ::malloc refers to the system function. Use gnulib::malloc instead. [-Werror]
    	staging = (gdb_byte *) malloc (staging_len);
    						   ^
    
    We're unconditionaly using the result afterwards -- so it's not a case
    of gracefully handling huge allocations.
    
    Since we want to get rid of all cleanups, fix this by switching to
    new[] and unique_ptr<[]> instead, while at it.
    
    Regtested on Fedora 23.
    
    gdb/ChangeLog:
    2016-11-16  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_value_primitive_packed_val): Use unique_ptr and
    	new gdb_byte[] instead of malloc and cleanups.

commit 19f1935d91bfabbe4176ffdaca95bc789b593153
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Nov 17 00:23:17 2016 +0000

    gdb/tracepoint.c: Don't use printf_vma
    
    I noticed that bfd's printf_vma prints to stdout directly:
    
      bfd-in2.h:202:#define printf_vma(x) fprintf_vma(stdout,x)
    
    This is a bad idea in gdb, where we should use
    gdb_stdout/gdb_stderr/gdb_stdlog, etc., to support redirection.
    
    Eliminate uses of sprintf_vma too while at it.
    
    Tested on Fedora 23, w/ gdbserver.
    
    gdb/ChangeLog:
    2016-11-17  Pedro Alves  <palves@redhat.com>
    
    	* tracepoint.c (collection_list::add_memrange): Add gdbarch
    	parameter.  Use paddress instead of printf_vma.  Adjust recursive
    	calls.
    	(collection_list::stringify): Use paddress and phex_nz instead of
    	sprintf_vma.  Adjust add_memrange call.
    	* tracepoint.h (collection_list::add_memrange): Add gdbarch
    	parameter.

commit fa98319231a95aca0313878443143d3f92aca5e1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 17 00:00:19 2016 +0000

    Automatic date update in version.in

commit 256ae5dbc73d1348850f86ee77a0dc3b04bc7cc0
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Mon Oct 31 12:47:42 2016 -0700

    Stash frame id of current frame before stashing frame id for previous frame
    
    This patch ensures that the frame id for the current frame is stashed
    before that of the previous frame (to the current frame).
    
    First, it should be noted that the frame id for the current frame is
    not stashed by get_current_frame().  The current frame's frame id is
    lazily computed and stashed via calls to get_frame_id().  However,
    it's possible for get_prev_frame() to be called without first stashing
    the current frame.
    
    The frame stash is used not only to speed up frame lookups, but
    also to detect cycles.  When attempting to compute the frame id
    for a "previous" frame (in get_prev_frame_if_no_cycle), a cycle
    is detected if the computed frame id is already in the stash.
    
    If it should happen that a previous frame id is stashed which should
    represent a cycle for the current frame, then an assertion failure
    will trigger should get_frame_id() be later called to determine
    the frame id for the current frame.
    
    As of late 2016, with the "Tweak meaning of VALUE_FRAME_ID" patch in
    place, this actually occurs when running the
    gdb.dwarf2/dw2-dup-frame.exp test.  While attempting to generate a
    backtrace, the python frame filter code is invoked, leading to
    frame_info_to_frame_object() (in python/py-frame.c) being called.
    That function will potentially call get_prev_frame() before
    get_frame_id() is called.  The call to get_prev_frame() can eventually
    end up in get_prev_frame_if_no_cycle() which, in turn, calls
    compute_frame_id(), after which the frame id is stashed for the
    previous frame.
    
    If the frame id for the current frame is stashed, the cycle detection
    code (which relies on the frame stash) in get_prev_frame_if_no_cycle()
    will be triggered for a cycle starting with the current frame.  If the
    current frame's id is not stashed, the cycle detecting code can't
    operate as designed.  Instead, when get_frame_id() is called on the
    current frame at some later point, the current frame's id will found
    to be already in the stash, triggering an assertion failure.
    
    Below is an in depth examination of the failure which lead to this change.
    I've shortened pathnames for brevity and readability.
    
    Here's the portion of the log file showing the failure/internal error:
    
    (gdb) break stop_frame
    Breakpoint 1 at 0x40059a: file dw2-dup-frame.c, line 22.
    (gdb) run
    Starting program: testsuite/outputs/gdb.dwarf2/dw2-dup-frame/dw2-dup-frame
    
    Breakpoint 1, stop_frame () at dw2-dup-frame.c:22
    22	}
    (gdb) bt
    gdb/frame.c:544: internal-error: frame_id get_frame_id(frame_info*): Assertion `stashed' failed.
    A problem internal to GDB has been detected,
    further debugging may prove unreliable.
    Quit this debugging session? (y or n)
    FAIL: gdb.dwarf2/dw2-dup-frame.exp: backtrace from stop_frame (GDB internal error)
    
    Here's a partial backtrace from the internal error, showing the frames
    which I think are relevant, plus several extra to provide context:
    
        #0  internal_error (
    	file=0x932b98 "gdb/frame.c", line=544,
    	fmt=0x932b20 "%s: Assertion `%s' failed.")
    	at gdb/common/errors.c:54
        #1  0x000000000072207e in get_frame_id (fi=0xe5a760)
    	at gdb/frame.c:544
        #2  0x00000000004eb50d in frame_info_to_frame_object (frame=0xe5a760)
    	at gdb/python/py-frame.c:390
        #3  0x00000000004ef5be in bootstrap_python_frame_filters (frame=0xe5a760,
    	frame_low=0, frame_high=-1)
    	at gdb/python/py-framefilter.c:1453
        #4  0x00000000004ef7a9 in gdbpy_apply_frame_filter (
    	extlang=0x8857e0 <extension_language_python>, frame=0xe5a760, flags=7,
    	args_type=CLI_SCALAR_VALUES, out=0xf6def0, frame_low=0, frame_high=-1)
    	at gdb/python/py-framefilter.c:1548
        #5  0x00000000005f2c5a in apply_ext_lang_frame_filter (frame=0xe5a760,
    	flags=7, args_type=CLI_SCALAR_VALUES, out=0xf6def0, frame_low=0,
    	frame_high=-1)
    	at gdb/extension.c:572
        #6  0x00000000005ea896 in backtrace_command_1 (count_exp=0x0, show_locals=0,
    	no_filters=0, from_tty=1)
    	at gdb/stack.c:1834
    
    Examination of the code in frame_info_to_frame_object(), which is in
    python/py-frame.c, is key to understanding this problem:
    
          if (get_prev_frame (frame) == NULL
    	  && get_frame_unwind_stop_reason (frame) != UNWIND_NO_REASON
    	  && get_next_frame (frame) != NULL)
    	{
    	  frame_obj->frame_id = get_frame_id (get_next_frame (frame));
    	  frame_obj->frame_id_is_next = 1;
    	}
          else
    	{
    	  frame_obj->frame_id = get_frame_id (frame);
    	  frame_obj->frame_id_is_next = 0;
    	}
    
    I will first note that the frame id for frame has not been computed yet.  (This
    was verified by placing a breakpoint on compute_frame_id().)
    
    The call to get_prev_frame() causes the the frame id to (eventually) be
    computed for the previous frame.  Here's a backtrace showing how we
    get there:
    
        #0  compute_frame_id (fi=0x10e2810)
    	at gdb/frame.c:496
        #1  0x0000000000724a67 in get_prev_frame_if_no_cycle (this_frame=0xe5a760)
    	at gdb/frame.c:1871
        #2  0x0000000000725136 in get_prev_frame_always_1 (this_frame=0xe5a760)
    	at gdb/frame.c:2045
        #3  0x000000000072516b in get_prev_frame_always (this_frame=0xe5a760)
    	at gdb/frame.c:2061
        #4  0x000000000072570f in get_prev_frame (this_frame=0xe5a760)
    	at gdb/frame.c:2303
        #5  0x00000000004eb471 in frame_info_to_frame_object (frame=0xe5a760)
    	at gdb/python/py-frame.c:381
    
    For this particular case, we end up in the else clause of the code above
    which calls get_frame_id (frame).  It's at this point that the frame id
    for frame is computed.  Again, here's a backtrace:
    
        #0  compute_frame_id (fi=0xe5a760)
    	at gdb/frame.c:496
        #1  0x000000000072203d in get_frame_id (fi=0xe5a760)
    	at gdb/frame.c:539
        #2  0x00000000004eb50d in frame_info_to_frame_object (frame=0xe5a760)
    	at gdb/python/py-frame.c:390
    
    The test in question, dw2-dup-frame.exp, deliberately creates a broken
    (cyclic) stack.  So, in this instance, the frame id for the prev
    `frame' will be the same as that for `frame'.  But that particular
    frame id ended up in the stash during the previous frame operation.
    When, just a few lines later, we compute the frame id for `frame', the
    id in question is already in the stash, thus triggering the assertion
    failure.
    
    I considered two other solutions to solving this problem:
    
    We could prevent get_prev_frame() from being called before
    get_frame_id() in frame_info_to_frame_object().  (See above for the
    snippet of code where this happens.) A call to get_frame_id (frame)
    could be placed ahead of that code snippet above.  I have tested this
    approach and, while it does work, I can't be certain that
    get_prev_frame() isn't called ahead of stashing the current frame
    somewhere else in GDB, but in a less obvious way.
    
    Another approach is to stash the current frame's id by calling
    get_frame_id() in get_current_frame().  This approach is conceptually
    simpler, but when importing a python unwinder, has the unwelcome side
    effect of causing the unwinder to be called during import.
    
    A cleaner looking fix would be to place this code after code
    corresponding to the "Don't compute the frame id of the current frame
    yet..." comment in get_prev_frame_if_no_cycle().  Sadly, this does not
    work though; by the time we get to this point, the frame state for the
    prev frame has been modified just enough to cause an internal error to
    occur when attempting to compute the (current) frame id for inline
    frames.  (The unexpected failure count increases by roughly 130
    failures.)  Therefore, I decided to place it as early as possible
    in get_prev_frame().
    
    gdb/ChangeLog:
    
    	* frame.c (get_prev_frame): Stash frame id for current frame
    	prior to computing frame id for previous frame.

commit 33cc7d368f420326606695daafd6292e2779c6af
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Tue Sep 27 22:45:19 2016 -0700

    Make gdb.PendingFrame.read_register handle "user" registers.
    
    The C function, pending_framepy_read_register(), which implements
    the python interface gdb.PendingFrame.read_register does not handle
    the so called "user" registers like "pc".  An assertion error is
    triggered due to the user registers having numbers larger than or
    equal to gdbarch_num_regs(gdbarch).
    
    With the VALUE_FRAME_ID tweak in place, the call to
    get_frame_register_value() can simply be replaced by a call to
    value_of_register(), which handles both real registers as well as the
    user registers.
    
    gdb/ChangeLog:
    
    	* python/py-unwind.c (pending_framepy_read_register): Use
    	value_of_register() instead of get_frame_register_value().

commit 41b56feb5063aee4fefb4a991eb796d1e8a7475e
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Tue Sep 27 21:18:44 2016 -0700

    Change meaning of VALUE_FRAME_ID; rename to VALUE_NEXT_FRAME_ID
    
    The VALUE_FRAME_ID macro provides access to a member in struct value
    that's used to hold the frame id that's used when determining a
    register's value or when assigning to a register.  The underlying
    member has a long and obscure name.  I won't refer to it here, but
    will simply refer to VALUE_FRAME_ID as if it's the struct value member
    instead of being a convenient macro.
    
    At the moment, without this patch in place, VALUE_FRAME_ID is set in
    value_of_register_lazy() and several other locations to hold the frame
    id of the frame passed to those functions.
    
    VALUE_FRAME_ID is used in the lval_register case of
    value_fetch_lazy().  To fetch the register's value, it calls
    get_frame_register_value() which, in turn, calls
    frame_unwind_register_value() with frame->next.
    
    A python based unwinder may wish to determine the value of a register
    or evaluate an expression containing a register.  When it does this,
    value_fetch_lazy() will be called under some circumstances.  It will
    attempt to determine the frame id associated with the frame passed to
    it.  In so doing, it will end up back in the frame sniffer of the very
    same python unwinder that's attempting to learn the value of a
    register as part of the sniffing operation.  This recursion is not
    desirable.
    
    As noted above, when value_fetch_lazy() wants to fetch a register's
    value, it does so (indirectly) by unwinding from frame->next.
    
    With this in mind, a solution suggests itself:  Change VALUE_FRAME_ID
    to hold the frame id associated with the next frame.  Then, when it
    comes time to obtain the value associated with the register, we can
    simply unwind from the frame corresponding to the frame id stored in
    VALUE_FRAME_ID.  This neatly avoids the python unwinder recursion
    problem by changing when the "next" operation occurs.  Instead of the
    "next" operation occuring when the register value is fetched, it
    occurs earlier on when assigning a frame id to VALUE_FRAME_ID.
    (Thanks to Pedro for this suggestion.)
    
    This patch implements this idea.
    
    It builds on the patch "Distinguish sentinel frame from null frame".
    Without that work in place, it's necessary to check for null_id at
    several places and then obtain the sentinel frame.
    
    It also renames most occurences of VALUE_FRAME_ID to
    VALUE_NEXT_FRAME_ID to reflect the new meaning of this field.
    
    There are several uses of VALUE_FRAME_ID which were not changed.  In
    each case, the original meaning of VALUE_FRAME_ID is required to get
    correct results.  In all but one of these uses, either
    put_frame_register_bytes() or get_frame_register_bytes() is being
    called with the frame value obtained from VALUE_FRAME_ID.  Both of
    these functions perform some unwinding by performing a "->next"
    operation on the frame passed to it.  If we were to use the new
    VALUE_NEXT_FRAME_ID macro, this would effectively do two "->next"
    operations, which is not what we want.
    
    The VALUE_FRAME_ID macro has been redefined in terms of
    VALUE_NEXT_FRAME_ID.  It simply fetches the previous frame's id,
    providing this id as the value of the macro.
    
    gdb/ChangeLog:
    
    	* value.h (VALUE_FRAME_ID): Rename to VALUE_NEXT_FRAME_ID. Update
    	comment.  Create new VALUE_FRAME_ID which is defined in terms of
    	VALUE_NEXT_FRAME_ID.
    	(deprecated_value_frame_id_hack): Rename to
    	deprecated_value_next_frame_id_hack.
    	* dwarf2loc.c, findvar.c, frame-unwind.c, sentinel-frame.c,
    	valarith.c, valops.c, value.c: Adjust nearly all occurences of
    	VALUE_FRAME_ID to VALUE_NEXT_FRAME_ID.	Add comments for those
    	which did not change.
    	* value.c (struct value): Rename frame_id field to next_frame_id.
    	Update comment.
    	(deprecated_value_frame_id_hack): Rename to
    	deprecated_value_next_frame_id_hack.
    	(value_fetch_lazy): Call frame_unwind_register_value()
    	instead of get_frame_register_value().
    	* frame.c (get_prev_frame_id_by_id): New function.
    	* frame.h (get_prev_frame_id_by_id): Declare.
    	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Make
    	VALUE_NEXT_FRAME_ID refer to the next frame.
    	* findvar.c (value_of_register_lazy): Likewise.
    	(default_value_from_register): Likewise.
    	(value_from_register): Likewise.
    	* frame_unwind.c (frame_unwind_got_optimized): Likewise.
    	* sentinel-frame.c (sentinel_frame_prev_register): Likewise.
    	* value.h (VALUE_FRAME_ID): Update comment describing this macro.

commit df433d316277ff5293832d3cd6cbc30b5c38dec0
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Tue Sep 27 20:33:38 2016 -0700

    Distinguish sentinel frame from null frame.
    
    This patch replaces the `current_frame' static global in frame.c with
    `sentinel_frame'.  It also makes the sentinel frame id unique and
    different from the null frame.
    
    By itself, there is not much point to this patch, but it makes
    the code cleaner for the VALUE_FRAME_ID changes in another patch.
    Since we now allow "navigation" to the sentinel frame, it removes
    the necessity of adding special cases to other parts of GDB.
    
    Note that a new function, get_next_frame_sentinel_okay, is introduced
    in this patch.  It will be used by the VALUE_FRAME_ID changes that
    I've made.
    
    Thanks to Pedro Alves for this suggestion.
    
    gdb/ChangeLog:
    
        	* frame.h (enum frame_id_stack_status): Add FID_STACK_SENTINEL.
        	(struct frame_id): Increase number of bits required for storing
        	stack status to 3 from 2.
        	(sentinel_frame_id): New declaration.
        	(get_next_frame_sentinel_okay): Declare.
        	(frame_find_by_id_sentinel_okay): Declare.
        	* frame.c (current_frame): Rename this static global to...
        	(sentinel_frame): ...this static global, which has also been
        	moved an earlier location in the file.
        	(fprint_frame_id): Add case for sentinel frame id.
        	(get_frame_id): Return early for sentinel frame.
        	(sentinel_frame_id): Define.
        	(frame_find_by_id): Add case for sentinel_frame_id.
        	(create_sentinel_frame): Use sentinel_frame_id for this_id.value
        	instead of null_frame_id.
        	(get_current_frame): Add local declaration for `current_frame'.
        	Remove local declaration for `sentinel_frame.'
        	(get_next_frame_sentinel_okay): New function.
        	(reinit_frame_cache): Use `sentinel_frame' in place of
        	`current_frame'.

commit 1a2f3d7ff1d79b1290704e48c71e905b987393a6
Author: Kevin Buettner <kevinb@redhat.com>
Date:   Mon Sep 26 15:00:37 2016 -0700

    Extend test gdb.python/py-recurse-unwind.exp
    
    This patch modifies the unwinder (sniffer) defined in
    py-recurse-unwind.py so that, depending upon the value of one of its
    class variables, it will take different paths through the code,
    testing different functionality.
    
    The original test attempted to obtain the value of an undefined
    symbol.
    
    This somewhat expanded test checks to see if 'pc' can be read via
    gdb.PendingFrame.read_register() and also via gdb.parse_and_eval().
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-recurse-unwind.c (main): Add loop.
    	* gdb.python/py-recurse-unwind.py (TestUnwinder): Add calls
    	to read_register() and gdb.parse_and_eval().  Make each code
    	call a separate case that can be individually tested.
    	* gdb.python/py-recurse-unwind.exp (cont_and_backtrace): New
    	proc. Call cont_and_backtrace for each of the code paths that
    	we want to test in the unwinder.

commit 4cb771f214ed6a2102e37bce255c6be5d0642f3a
Author: Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Date:   Wed Nov 16 16:11:46 2016 +0530

    Fix PR20789 - relaxation with negative valued diff relocs
    
    Fix issues with diff relocs that have a negative value
    i.e. sym2 - sym1 where sym2 is lesser than sym1.
    
    The assembler generates a diff reloc with symbol as start of section
    and addend as sym2 offset, and encodes assembly time difference at
    the reloc offset.
    
    The existing relaxation logic adjusts addends if the relaxed insn lies
    between symbol and addend. That doesn't work for diff relocs where
    sym2 is less than sym1 *and* the relaxed insn happens to be between
    sym2 and sym1.
    
    Fix the problems by
    
    1. Using signed handling of the difference value (bfd_signed_vma instead
    of bfd_vma, bfd_{get,set}_signed_xxx instead of bfd_{get,set}_xxx).
    
    2. Not assuming sym2 is bigger than sym1. It instead computes the actual
    addresses and sets the lower and higher addresses as start and end
    addresses respectively and then sees if insn is between start and end.
    
    3. Creating a new function elf32_avr_adjust_reloc_if_spans_insn to
    centralize reloc adjustment, and ensuring diff relocs get adjusted
    correctly even if their sym + addend doesn't overlap a relaxed insn.
    
    It also removes a redundant variable did_pad. It is never set if
    did_shrink is TRUE, and the code does a early return if did_shrink is
    FALSE.
    
    bfd/ChangeLog
    
    2016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
           PR ld/20789
           * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
           manipulation of diff value, and don't assume sym2 is less than sym1.
           (elf32_avr_adjust_reloc_if_spans_insn): New function.
           (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
           and remove redundant did_pad.
    
    ld/ChangeLog
    
    2016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
    
           PR ld/20789
           * ld/testsuite/ld-avr/pr20789.d: New test.
           * ld/testsuite/ld-avr/pr20789.s: New test.

commit ff7ba33e8aae2ee8ec607d3f1f4b96f7cb1a92b9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 16 00:00:20 2016 +0000

    Automatic date update in version.in

commit 4c62b19fd2e6b81ce7cbb7d01e84c09352ccf224
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 15 19:29:14 2016 +0000

    gdb: update gnulib to pull in C++ namespace support fixes
    
    I've been experimenting with making use of gnulib's C++ namespace support:
    
     https://www.gnu.org/software/gnulib/manual/html_node/A-C_002b_002b-namespace-for-gnulib.html
    
    That stumbled on a few gnulib issues, which I've fixed upstream:
    
     [PATCH] Fix gnulib C++ namespace support and std::frexp
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00039.html
    
     [PATCH] Fix real-floating argument functions in C++ mode
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00049.html
    
     [PATCH] Avoid having GNULIB_NAMESPACE::func always inject references to rpl_func
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00040.html
    
     [PATCH] C++: "#define timeval rpl_timeval" -> typedef in GNULIB_NAMESPACE
     https://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00058.html
    
    This merge pulls those in.
    
    gdb/ChangeLog:
    2016-11-15  Pedro Alves  <palves@redhat.com>
    
    	* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
    	38237baf99386101934cd93278023aa4ae523ec0.
    	* gnulib/configure, gnulib/config.in: Regenerate.
    	* gnulib/import/Makefile.am: Regenerate.
    	* gnulib/import/Makefile.in: Regenerate.
    	* gnulib/import/canonicalize-lgpl.c: Update.
    	* gnulib/import/extra/snippet/c++defs.h: Update.
    	* gnulib/import/m4/stdint.m4: Update.
    	* gnulib/import/m4/stdlib_h.m4: Update.
    	* gnulib/import/math.in.h: Update.
    	* gnulib/import/stdlib.in.h: Update.
    	* gnulib/import/sys_time.in.h: Update.

commit 5cc8c7310338224d65aa14c4256d4d7539e0dd45
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 15 19:54:21 2016 +0000

    Delete gdb::unique_ptr/gdb::move
    
    Now that we require C++11 and all uses of gdb::unique_ptr and
    gdb::move are gone, let's remove their definitions...
    
    With my lazy hat on, I repurposed the header for "generally useful
    unique_ptr specializations", and left gdb::unique_xmalloc_ptr in
    there.  Not sure whether we it'd be better move it out of the gdb
    namespace or leave it be.  I left it because it's less work and avoids
    disrupting yet-unmerged patches that use it.
    
    gdb/ChangeLog:
    2016-11-15  Pedro Alves  <palves@redhat.com>
    
    	* common/common-defs.h: Update comment.
    	* common/gdb_unique_ptr.h: Update header comment and copyright
    	year.
    	(gdb::unique_ptr, gdb::move): Delete.

commit b22e99fdaf2efe58161c382bbd55f4572ba49eef
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 15 19:54:21 2016 +0000

    gdb::{unique_ptr,move} -> std::{unique_ptr,move}
    
    Now that we require C++11, use std::unique_ptr and std::move directly.
    
    gdb/ChangeLog:
    2016-11-15  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (create_excep_cond_exprs): Use std::move instead of
    	gdb::move.
    	* break-catch-throw.c (handle_gnu_v3_exceptions): Use
    	std::unique_ptr instead of gdb::unique_ptr.
    	* breakpoint.c (watch_command_1): Use std::move instead of
    	gdb::move.
    	* cli/cli-dump.c (dump_memory_to_file, restore_binary_file): Use
    	std::unique_ptr instead of gdb::unique_ptr.
    	* dtrace-probe.c (dtrace_process_dof_probe): Use std::move instead
    	of gdb::move.
    	* elfread.c (elf_read_minimal_symbols): Use std::unique_ptr
    	instead of gdb::unique_ptr.
    	* mi/mi-main.c (mi_cmd_data_read_memory): Use std::unique_ptr
    	instead of gdb::unique_ptr.
    	* parse.c (parse_expression_for_completion): Use std::move instead
    	of gdb::move.
    	* printcmd.c (display_command): std::move instead of gdb::move.

commit b7f38fdae7c75e1d13abd455b3931950db28d22b
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Tue Nov 15 20:52:03 2016 +0100

    bitfield-parent-optimized-out: Fix struct definition
    
    The "struct S" type in bitfield-parent-optimized-out.exp is declared to
    have a size of 4 bytes but to hold two 4-byte members: an int-based
    bitfield and a 4-byte int.  Also, both members have the same
    data_member_location 2, causing them to overlap and to reach 2 bytes
    beyond the structure's boundary.
    
    This is fixed by increasing the structure size to 8 and setting the
    first and second member's data_member_location to 0 and 4, respectively.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.dwarf2/bitfield-parent-optimized-out.exp: Fix DWARF code for
    	the definition of struct S.

commit 93ca393659ef6714724749950301757f47e5e9fd
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Nov 15 15:41:27 2016 +0000

    Fix SPARC relocations generated for the .eh_frame section.
    
    	PR gas/20803
    	* config/tc-sparc.c (cons_fix_new_sparc): Use unaligned relocs in
    	the .eh_frame section.

commit 32ce946fd83f08a4f1486de02d3f83870b36b28e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 15 00:00:20 2016 +0000

    Automatic date update in version.in

commit 9d734efa1034d266249751978f95a686ec9d19c6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 14 10:13:03 2016 -0800

    Also check GOT PLT for R_X86_64_PLTOFF64
    
    Since "-z now" replaces PLT with GOT PLT, we should also check GOT PLT
    for R_X86_64_PLTOFF64 relocation.
    
    bfd/
    
    	PR ld/20800
    	* elf64-x86-64.c (elf_x86_64_relocate_section): Also check
    	plt_got.offset for R_X86_64_PLTOFF64.
    
    ld/
    
    	PR ld/20800
    	* testsuite/ld-x86-64/pr20800a.S: New file.
    	* testsuite/ld-x86-64/pr20800b.S: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Run PR ld/20800 test.

commit 35fd2ddeb1d90f1750401cfb6d01fe055656b88d
Author: Rudy <jacky.chouchou@yandex.ru>
Date:   Mon Nov 14 16:30:45 2016 +0000

    Generate correct hint value for IDATA6.
    
    	PR binutils/20814
    	* dlltool.c (struct export): Remove hint field.
    	(make_one_lib_file): Store the ordinal value for IDATA6 not the
    	hint.
    	(gen_lib_file): Delete reference to hint field.
    	(mangle_defs): Delete computation of hint field.

commit db58b3735f45345c06cb9a14d0f83f5b26c1ebf3
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Fri Oct 14 09:08:01 2016 +0200

    btrace: read entire aux buffer
    
    The data_head of a perf event data buffer grows indefinitely.  Users are
    expected to compute data_head % data_size to find the location inside the perf
    event data buffer.
    
    The aux_head of a perf event aux buffer wraps around and always stays within the
    perf event aux buffer.
    
    Well, at least that's the behaviour for BTS and PT - where BTS uses the data
    buffer and PT the aux buffer.
    
    GDB does not read beyond data_head or aux_head.  This is OK for BTS but wrong
    for PT.  It causes only a portion of the trace to be considered by GDB.  In the
    extreme case, the buffer may appear (almost) empty.
    
    Thanks to Tim Wiederhake  <tim.wiederhake@intel.com> for reporting the anomaly.
    
    Change it to read the entire aux buffer for PT.  The buffer is initially zero so
    any extra zeroes we read before aux_head wraps around the first time will be
    ignored when searching for the first PSB packet in order to synchronize onto the
    trace stream.
    
    gdb/
    	* nat/linux-btrace.c (perf_event_read): Allow data_head < size.
    	* nat/linux-btrace.c (perf_event_read_all): Do not adjust size.
    
    Change-Id: If4f8049a2080a5f16f336309450b32a3eb1e3ec9

commit 80bb3407f6891aff5dbed5b2fd5c3dae8f227319
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 14 08:59:23 2016 +0000

      lexsup.c (parse_args): Add break at end of default case.

commit 63f2433dbccc7ddf8812fefd6eed0e6dd2f88955
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 14 08:44:17 2016 +0000

    Fix typo "Faal through" should be "Fall through".

commit 29df15201399610c3887382f004af337e3fe5601
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 14 00:00:19 2016 +0000

    Automatic date update in version.in

commit b612f4193c6119fb06933b0dabcc84a2b952d57e
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Nov 13 08:11:44 2016 -0500

    add missing ChangeLog entry

commit 3f47df7fb3fb46566bb68dd638a61cef87dd14e9
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Nov 13 07:37:02 2016 -0500

    Assemble 'bad' moxie instruction

commit 75d6c74e79ded209b1f0959b1780ab5b8885b9c2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 13 00:00:20 2016 +0000

    Automatic date update in version.in

commit 8001f1183f32d674fa3e9af1cca16856afdffc3e
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 20:32:50 2016 -0700

    Remove some cleanups from the rust code
    
    This removes some cleanups from the rust code, in favor of C++ objects
    with destructors.
    
    2016-11-12  Tom Tromey  <tom@tromey.com>
    
    	* rust-exp.y (super_name): Use std::vector.
    	(lex_number): Use std::string.
    	(convert_params_to_types): Return std::vector.
    	(convert_ast_to_type, convert_name): Update.
    	* rust-lang.c (rust_get_disr_info): Use unique_xmalloc_ptr.

commit d93f4d96bb0fb307db9e2dade38ddb3c6bc469ca
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Nov 8 20:22:29 2016 -0700

    Use std::string in rust_get_disr_info
    
    This changes rust_get_disr_info to use std::string in one more spot,
    avoiding a memory leak.
    
    2016-11-12  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (rust_get_disr_info): Use std::string in one more
    	spot.

commit 6cb2202baaf482a8c7d54e5ec93af2f057e7ce28
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sat Nov 12 01:02:23 2016 -0500

    sim: mips: add PR info to ChangeLog

commit 8a19d84c2ba3ff1273ae1583681a0c428cf4425e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 12 00:00:19 2016 +0000

    Automatic date update in version.in

commit 7d15592e06e4abccc97cb8c5670f564327f747e9
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Nov 11 16:50:42 2016 +0000

    Don't handle unavailable/optimized-out in spu_software_single_step
    
    When we do software single step, frame is always the innermost one,
    so it is impossible to get unavailable/optimized-out errors.
    
    gdb:
    
    2016-11-11  Yao Qi  <yao.qi@linaro.org>
    
    	* spu-tdep.c (spu_software_single_step): Don't call
    	get_frame_register_bytes, call get_frame_register_unsigned
    	instead.

commit 1f8db343049c3e06483a278e14b7e140ec55c8b3
Author: Catherine Moore <clm@codesourcery.com>
Date:   Fri Nov 11 07:42:37 2016 -0800

    	Identify verilog dump tests as such.
    
    	A couple of the verilog dump tests were marked as ihex tests.  This
    	patch identifies the tests as verilog format dump tests.

commit 86b80085c889cd388fa677a5ae9053fd4be3776c
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 11 15:13:07 2016 +0000

    Accept L and LL suffixes to integer constants.
    
    	PR gas/20732
    	* expr.c (integer_constant): If tc_allow_L_suffix is defined and
    	non-zero then accept a L or LL suffix.
    	* testsuite/gas/sparc/pr20732.d: New test source file.
    	* testsuite/gas/sparc/pr20732.d: New test output file.
    	* testsuite/gas/sparc/sparc.exp: Run new test.

commit 2f7d995359c7f280431f015726485ca421b0a65a
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 11 14:13:02 2016 +0000

    Extend information displayed about objdump's output of dynamic symbols.

commit df2c87b5803750d21f03b7d36f8d1abace3e1e14
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 11 11:49:45 2016 +0000

    Add the ability for nm to display symbol version information.
    
    	PR binutils/20751
    	* nm.c (with_symbol_versions): New local variable.
    	(long_options): Add --with-symbol-versions.
    	(usage): Mention --with-symbol-versions.
    	(print_symbol): If with_symbol_versions is set then display the
    	version information associated with the symbol.
    	* NEWS: Mention the new feature.
    	* doc/binutils.texi (nm): Document the new option.
    	(objdump): Describe how symbol version information is displayed
    	for dynamic symbol dumps.
    	(readelf): Describe how symbol version information is displayed.
    	* testsuite/binutils-all/nm.exp: Add a test of the new feature.

commit 74f5402d08b857d60499b27851c204954ce6c42c
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:43:15 2016 +0000

    [AArch64] Add ARMv8.3 combined pointer authentication branch instructions
    
    Add support for ARMv8.3 pointer authentication instructions
    that are encoded as unconditional branch instructions.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add braa, brab, blraa, blrab, braaz,
    	brabz, blraaz, blrabz, retaa, retab, eretaa, eretab.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/pac.s: Add ARMv8.3 branch instruction tests.
    	* testsuite/gas/aarch64/pac.d: Likewise.

commit c84364ece4faa7b3eb0f60f4dc301282e9693e1e
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:39:46 2016 +0000

    [AArch64] Add ARMv8.3 PACGA instruction
    
    Add support for the ARMv8.3 PACGA instruction.
    
    include/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rm_SP.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add pacga.
    	(AARCH64_OPERANDS): Add Rm_SP.
    	* aarch64-opc.c (aarch64_print_operand): Handle AARCH64_OPND_Rm_SP.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (process_omitted_operand): Handle AARCH64_OPND_Rm_SP.
    	(parse_operands): Likewise.
    	* testsuite/gas/aarch64/pac.s: Add pacga.
    	* testsuite/gas/aarch64/pac.d: Add pacga.

commit a2cfc830e715142a0dd28496feaedf569b116b0e
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:36:32 2016 +0000

    [AArch64] Add ARMv8.3 single source PAC instructions
    
    Add support for ARMv8.3 pointer authentication instructions
    that are encoded as single source data processing instructions.
    
    opcodes/
    2016-11-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (arch64_opcode_table): Add pacia, pacib, pacda, pacdb, autia,
    	autib, autda, autdb, paciza, pacizb, pacdza, pacdzb, autiza, autizb, autdza,
    	autdzb, xpaci, xpacd.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    	* aarch64-opc-2.c: Regenerate.
    
    gas/testsuite/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/pac.s: New.
    	* testsuite/gas/aarch64/pac.d: New.

commit b0bfa7b5b884f78b798ab8d34d2a50bc63f558df
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:33:30 2016 +0000

    [AArch64] Add ARMv8.3 pointer authentication key registers
    
    Add support for system registers introduced in ARMv8.3
    for pointer authentication.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-opc.c (aarch64_sys_regs): Add apiakeylo_el1, apiakeyhi_el1,
    	apibkeylo_el1, apibkeyhi_el1, apdakeylo_el1, apdakeyhi_el1,
    	apdbkeylo_el1, apdbkeyhi_el1, apgakeylo_el1 and apgakeyhi_el1.
    	(aarch64_sys_reg_supported_p): Add feature test for new registers.
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/sysreg-3.s: New.
    	* testsuite/gas/aarch64/sysreg-3.d: New.
    	* testsuite/gas/aarch64/illegal-sysreg-3.l: New.
    	* testsuite/gas/aarch64/illegal-sysreg-3.d: New.

commit 8787d804e1cbbd1946239d6c5e560c87d38bac06
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:29:07 2016 +0000

    [AArch64] Add ARMv8.3 instructions which are in the NOP space
    
    This patch adds support for a subset of the ARMv8.3 pointer authentication
    instructions: XPACLRI, PACIA1716, PACIB1716, AUTIA1716, AUTIA1716, PACIAZ,
    PACIASP, PACIBZ, PACISP, AUTIAZ, AUTIASP, AUTIBZ, AUTIBSP.
    
    These are aliases to HINT #0x7, HINT #0x8, HINT #0xa, HINT #0xc, HINT #0xe,
    HINT #0x18, HINT #0x19, ..., HINT #0x1f respectively.
    
    For more details about pointer authentication in ARMv8.3 see
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-tbl.h (aarch64_feature_v8_3, ARMV8_3, V8_3_INSN): New.
    	(arch64_opcode_table): Add xpaclri, pacia1716, pacib1716, autia1716,
    	autib1716, paciaz, paciasp, pacibz, pacibsp, autiaz, autiasp, autibz,
    	autibsp.
    	* aarch64-asm-2.c: Regenerate.
    	* aarch64-dis-2.c: Regenerate.
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* testsuite/gas/aarch64/system-3.s: New.
    	* testsuite/gas/aarch64/system-3.d: New.
    	* testsuite/gas/aarch64/system.d: Update expected output.

commit 3d731f6949e2b0099cfbe0cf608d60a52a66d354
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:22:56 2016 +0000

    [AArch64] Increase max_num_aliases in aarch64-gen
    
    Some ARMv8.3 pointer authentication instructions are encoded as HINT aliases,
    so to allow more instruction aliases in the generator, max_num_aliases is
    increased from 16 to 32.
    
    opcodes/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* aarch64-gen.c (find_alias_opcode): Increase max_num_aliases to 32.

commit 1924ff7567abf9e1341ae135fb5097bc5f7b76f4
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:20:30 2016 +0000

    [AArch64] Add ARMv8.3 command line option and feature flag
    
    ARMv8.3 can be selected with -march=armv8.3-a command line option.
    An overview of the ARMv8.3 architecture extension is at
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (aarch64_archs): Add "armv8.3-a".
    	* doc/c-aarch64.texi (-march): Likewise.
    
    include/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (AARCH64_FEATURE_V8_3): Define.
    	(AARCH64_ARCH_V8_3): Define.
    	(AARCH64_ARCH_V8_1, AARCH64_ARCH_V8_2): Simplify.

commit fa09f4ea584e1bc33036e9ef82142db92b31da7c
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:14:31 2016 +0000

    [AArch64] Fix feature dependencies for +simd and +crypto
    
    According to the gas manual, +simd implies +fp and +crypto implies +simd.
    Make sure +nofp turns +simd, +crypto and +fp16 off.
    
    gas/
    2016-11-07  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (aarch64_features): Fix "simd" and "crypto".
    	* testsuite/gas/aarch64/illegal-crypto-nofp.d: New.
    	* testsuite/gas/aarch64/illegal-crypto-nofp.l: New.
    	* testsuite/gas/aarch64/illegal-fp16-nofp.d: New.
    	* testsuite/gas/aarch64/illegal-fp16-nofp.l: New.
    	* testsuite/gas/aarch64/illegal-fp16-nofp.s: New.

commit 7103ad7639b7ed80bec170404185a8e39079446b
Author: Luke Allardyce <lukeallardyce@gmail.com>
Date:   Fri Nov 11 10:08:05 2016 +0000

    Accept hidden COFF symbols, but treat them as if they were debugging symbols.
    
    	PR ld/20722
    	* coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
    	but treat them as debugging symbols.

commit 668e167446b2777869f413841ec05aed59473d9f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Nov 11 08:38:31 2016 +0000

    Remove apply_val_pretty_printer parameter valaddr
    
    This patch removes the parameter valaddr of
    extension_language_ops::apply_val_pretty_printer and remove const from
    "struct value *val".  valaddr can be got in each extension language's
    implementation of apply_val_pretty_printer.
    
    gdb:
    
    2016-11-11  Yao Qi  <yao.qi@linaro.org>
    
    	* cp-valprint.c (cp_print_value): Remove local base_valaddr.
    	* extension-priv.h (struct extension_language_ops)
    	<apply_val_pretty_printer>: Remove the second parameter.
    	Remove const from "struct value *".  Callers updated.
    	* extension.c (apply_ext_lang_val_pretty_printer): Update
    	comments.  Remove parameter valaddr.  Remove const from
    	"struct value *".
    	* extension.h (apply_ext_lang_val_pretty_printer): Update
    	declaration.
    	* guile/guile-internal.h (gdbscm_apply_val_pretty_printer):
    	Update declaration.
    	* guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
    	Remove parameter valaddr.  Remove const from "struct value *".
    	* python/py-prettyprint.c (gdbpy_apply_val_pretty_printer):
    	Likewise.
    	* python/python-internal.h (gdbpy_apply_val_pretty_printer):
    	Update declaration.

commit 65408fa680538f997cdd4b6fb9d74f043a060801
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Nov 11 08:38:31 2016 +0000

    Remove parameter valaddr from c print functions
    
    This patch removes parameter valaddr from some c print functions.
    
    gdb:
    
    2016-11-11  Yao Qi  <yao.qi@linaro.org>
    
    	* c-lang.h (cp_print_value_fields): Update declaration.
    	* cp-valprint.c (cp_print_value): Update declaration.
    	(cp_print_value_fields): Remove parameter valaddr.  Callers
    	updated.
    	(cp_print_value): Likewise.

commit 91588b3af8e026ba11c7368476cc1f3fa8c2e2b1
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Nov 11 01:29:21 2016 -0500

    sim: mips: fix dv-tx3904cpu build error
    
    When building for mipstx39-rtems4.12 targets, some funcs use SD and CPU
    implicitly.  Restore the defines for these to the local sd and cpu vars.
    
    This was broken by the clean up in commit d47f5b30d8481272e9480118bdcb.
    
    Reported-by: Joel Sherrill <joel.sherrill@oarcorp.com>

commit e04659e8607bfed6995fd2ced9aaab55e2143302
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Fri Nov 11 01:28:36 2016 -0500

    sim: mips: fix builds for r3900 cpus due to missing check_u64

commit a6bbedbad370ad895a6c559a60efe27a5a7838e6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 11 00:00:08 2016 +0000

    Automatic date update in version.in

commit a18590c38657a982f8d544f2f54f39ba9abe9fca
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Nov 10 12:26:53 2016 +0000

    Provide a more helpful error message when the BFD library is unable to load an extremely large section.
    
    	PR target/20737
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
    	symbol locally in PIE.

commit ac33b731d214d79738ca04d27f7464d4482f6a01
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Nov 10 09:25:17 2016 +0000

    [AArch64] Bind defined symbol locally in PIE
    
    bfd/
    	PR target/20737
    	* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
    	symbol locally in PIE.
    
    ld/
    	* testsuite/ld-aarch64/pie-bind-locally-a.s: New test source.
    	* testsuite/ld-aarch64/pie-bind-locally-b.s: Likewise.
    	* testsuite/ld-aarch64/pie-bind-locally.d: New testcase.
    	* testsuite/ld-aarch64/aarch64-elf.exp: Run new testcase.

commit 9b9720149dfee4a9a961c29d0382fc5bdf9c975b
Author: Tom Tromey <tom@tromey.com>
Date:   Sat Oct 15 09:20:02 2016 -0600

    Use unique_xmalloc_ptr in Python code
    
    This changes some utility functions in the Python code to return
    unique_xmalloc_ptr, and then fixes up the callers.
    
    I chose unique_xmalloc_ptr rather than std::string because at a few
    call points the xmalloc'd string is released and ownership transferred
    elsewhere.
    
    This patch found a few existing memory leaks.  For example,
    py-unwind.c called gdbpy_obj_to_string but never freed the result.
    
    Built and regression tested on the buildbot.
    
    2016-11-09  Tom Tromey  <tom@tromey.com>
    
    	* varobj.h (varobj_get_display_hint): Change return type.
    	* varobj.c (varobj_get_display_hint): Return unique_xmalloc_ptr.
    	(varobj_value_get_print_value): Update.
    	* python/python.c (gdbpy_before_prompt_hook, gdbpy_print_stack)
    	(gdbpy_apply_type_printers): Update.
    	* python/python-internal.h (unicode_to_target_string)
    	(python_string_to_target_string, python_string_to_host_string)
    	(gdbpy_obj_to_string, gdbpy_exception_to_string)
    	(gdbpy_get_display_hint): Change return types.
    	* python/py-varobj.c (py_varobj_iter_next): Update.
    	* python/py-value.c (valpy_getitem, convert_value_from_python):
    	Update.
    	* python/py-utils.c (unicode_to_encoded_string)
    	(unicode_to_target_string, python_string_to_target_string)
    	(python_string_to_host_string, gdbpy_obj_to_string)
    	(gdbpy_exception_to_string): Return unique_xmalloc_ptr.
    	* python/py-unwind.c (pyuw_parse_register_id): Update.
    	* python/py-type.c (typy_getitem): Update.
    	* python/py-prettyprint.c (gdbpy_get_display_hint)
    	(print_stack_unless_memory_error, print_children)
    	(gdbpy_apply_val_pretty_printer): Update.
    	* python/py-param.c (set_parameter_value): Update.
    	(get_doc_string, call_doc_function): Return unique_xmalloc_ptr.
    	(get_set_value, get_show_value, compute_enum_values, parmpy_init):
    	Update.
    	* python/py-infthread.c (thpy_set_name): Update.
    	* python/py-function.c (fnpy_call, fnpy_init): Update.
    	* python/py-framefilter.c (extract_sym): Change "name" to
    	unique_xmalloc_ptr.
    	(enumerate_args, enumerate_locals): Update.
    	(py_print_frame): Use unique_xmalloc_ptr.
    	* python/py-frame.c (frapy_read_var): Update.  Remove cleanup.
    	* python/py-cmd.c (cmdpy_function, cmdpy_completer, cmdpy_init):
    	Update.
    	* python/py-breakpoint.c (bppy_set_condition): Use
    	unique_xmalloc_ptr.
    	(bppy_init): Likewise.  Remove cleanup.
    	(local_setattro): Update.
    	* mi/mi-cmd-var.c (print_varobj, mi_cmd_var_list_children)
    	(varobj_update_one): Update.

commit 4e9d2153228d95c972907a8b13237218d380c5d3
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 10 00:00:17 2016 +0000

    Automatic date update in version.in

commit 60227d64dd9228be1a07fc7122894fc2875b1a70
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 14:00:18 2016 -0800

    X86: Remove the .s suffix from EVEX vpextrw
    
    The .s suffix indicates that the instruction is encoded by swapping
    2 register operands.  Since vpextrw takes an XMM register and an
    integer register, the .s suffix should be ignored for EVEX vpextrw.
    
    gas/
    
    	PR binutils/20799
    	* testsuite/gas/i386/opcode.s: Add a test for EVEX vpextrw.
    	* testsuite/gas/i386/opcode-intel.d: Updated.
    	* testsuite/gas/i386/opcode-suffix.d: Likewise.
    	* testsuite/gas/i386/opcode.d: Likewise.
    	* testsuite/gas/i386/x86-64-avx512bw-opts.s: Remove vpextrw
    	tests.
    	* testsuite/gas/i386/x86-64-avx512bw-opts-intel.d: Updated.
    	* testsuite/gas/i386/x86-64-avx512bw-opts.d: Likewise.
    
    opcodes/
    
    	PR binutils/20799
    	* i386-dis-evex.h (evex_table): Replace EdqwS with Edqw.
    	* i386-dis.c (EdqwS): Removed.
    	(dqw_swap_mode): Likewise.
    	(intel_operand_size): Don't check dqw_swap_mode.
    	(OP_E_register): Likewise.
    	(OP_E_memory): Likewise.
    	(OP_G): Likewise.
    	(OP_EX): Likewise.
    	* i386-opc.tbl: Remove "S" from EVEX vpextrw.
    	* i386-tbl.h: Regerated.

commit 1032d6ebdcd53b8c09c76a1c3b932065d84b0b20
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 13:44:42 2016 -0800

    Update opcodes/ChangeLog

commit 7766fd10024dc0587838fbc4608f3f8e30e17a26
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 12:11:50 2016 -0800

    X86: Update opcode-suffix.d
    
    	PR binutils/20754
    	* testsuite/gas/i386/opcode-suffix.d: Updated.

commit fad0c9fb7dd362bdb5a3e4f89fb7f6e6789f5beb
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 18:48:25 2016 +0000

    Further cleanup/modernization of gdb.base/commands.exp
    
     - Use multi_line for matching multi-line GDB output.
    
     - Add a multi_line_input variant of multi_line to build GDB input and
       use it throughout.
    
       (The two changes above make the tests much more readable, IMO.)
    
     - Add a new valnum_re global to get rid of the multiple "\\\$\[0-9\]*".
    
     - Remove gdb_stop_suppressing_tests uses.
    
     - tighten a few regexps.
    
     - Replace send_gdb/gdb_expect with gdb_test_multiple and simplify,
       making pass/fail messages the same.
    
    gdb/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (runto_or_return): New procedure.
    	(gdbvar_simple_if_test, gdbvar_simple_while_test)
    	(gdbvar_complex_if_while_test, progvar_simple_if_test)
    	(progvar_simple_while_test, progvar_complex_if_while_test)
    	(if_while_breakpoint_command_test)
    	(infrun_breakpoint_command_test, breakpoint_command_test)
    	(user_defined_command_test, watchpoint_command_test)
    	(test_command_prompt_position, redefine_hook_test)
    	(stray_arg0_test, error_clears_commands_left, redefine_hook_test)
    	(redefine_backtrace_test): Use runto_or_return, $valnum_re,
    	multi_line_input and multi_line.  Remove gdb_expect and
    	gdb_stop_suppressing_tests uses.
    	* lib/gdb.exp (valnum_re): New global.
    	* lib/gdb.exp (valnum_re): New global.
    	(multi_line_input): New procedure.

commit 7efeed176a291c15c74e80aee5d7f906e28081cf
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Nov 9 10:20:13 2016 -0800

    X86: Merge AVX512F vmovq
    
    AVX512F vmovq doesn't support masking.  We can't swap register operand
    in AVX512F vmovq with Reg64 since Reg64 != RegXMM.  This patch merges
    AVX512F vmovq.
    
    	* i386-opc.tbl: Merge AVX512F vmovq.

commit 8354c62cd144964fce17e11ce035c0c2c0635cbf
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Wed Nov 9 10:55:14 2016 -0500

    Make gdb.mi/user-selected-context-sync.exp use proc_with_prefix
    
    Pedro's patch provides a cleaner way to prefix tests with the proc name,
    so let's use that.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.mi/user-selected-context-sync.exp (with_test_prefix_procname):
    	Remove.
    	(test_setup): Define with proc_with_prefix.
    	(test_cli_inferior): Likewise.
    	(test_cli_thread): Likewise.
    	(test_cli_frame): Likewise.
    	(test_cli_select_frame): Likewise.
    	(test_cli_up_down): Likewise.
    	(test_mi_thread_select): Likewise.
    	(test_mi_stack_select_frame): Likewise.
    	(test_cli_in_mi_inferior): Likewise.
    	(test_cli_in_mi_thread): Likewise.
    	(test_cli_in_mi_frame): Likewise.
    	(top level): Do not use with_test_prefix_procname.

commit 64f367a201565d5c7d1e03da072db51123ac2174
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 15:45:49 2016 +0000

    gdb/testsuite: Introduce "proc_with_prefix"
    
    While adding new tests to gdb.base/commands.exp, I noticed that the
    file includes a bunch of individual testcases split into their own
    procedures, and that none have ever been adjusted to use
    with_test_prefix.  Instead, each gdb_test/gdb_test_multiple/etc
    invocation takes care of including the procedure name in the test
    message, in order to make sure test messages are unique.
    
    Simon convinced me that using the procedure name as prefix is not that
    bad of an idea:
      https://sourceware.org/ml/gdb-patches/2016-10/msg00020.html
    
    This commit adds an IMO simpler alternative to
    with_test_prefix_procname added by that patch -- a new
    "proc_with_prefix" convenience proc that is meant to be used in place
    of "proc", and then uses it in commands.exp.  Procedures defined with
    this automatically run their bodies under with_test_prefix $proc_name.
    
    Here's a sample of the resulting gdb.sum diff:
    
     [...]
     -PASS: gdb.base/commands.exp: break factorial #3
     -PASS: gdb.base/commands.exp: set value to 5 in test_command_prompt_position
     -PASS: gdb.base/commands.exp: if test in test_command_prompt_position
     -PASS: gdb.base/commands.exp: > OK in test_command_prompt_position
     +PASS: gdb.base/commands.exp: test_command_prompt_position: break factorial
     +PASS: gdb.base/commands.exp: test_command_prompt_position: set value to 5
     +PASS: gdb.base/commands.exp: test_command_prompt_position: if test
     +PASS: gdb.base/commands.exp: test_command_prompt_position: > OK
     [...]
    
    gdb/testsuite/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/commands.exp (gdbvar_simple_if_test)
    	(gdbvar_simple_while_test, gdbvar_complex_if_while_test)
    	(progvar_simple_if_test, progvar_simple_while_test)
    	(progvar_complex_if_while_test, if_while_breakpoint_command_test)
    	(infrun_breakpoint_command_test, breakpoint_command_test)
    	(user_defined_command_test, watchpoint_command_test)
    	(test_command_prompt_position, deprecated_command_test)
    	(bp_deleted_in_command, temporary_breakpoint_commands)
    	(stray_arg0_test, source_file_with_indented_comment)
    	(recursive_source_test, if_commands_test)
    	(error_clears_commands_left, redefine_hook_test)
    	(redefine_backtrace_test): Use proc_with_prefix.
    	* lib/gdb.exp (proc_with_prefix): New proc.

commit 2806dc7eec04db49fca03e04827e3dff7f6704e0
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 15:09:31 2016 +0000

    Fix formattting of gdb/ChangeLog and gdb/testsuite/ChangeLog enties
    
    Leading tab/spaces.  Missing periods.  Duplicate date.

commit 6c73cd95f96d37dbf6092a87c8ba0f35277223a5
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 12:49:43 2016 +0000

    agent_expr_up: gdb::unique_ptr -> std::unique_ptr
    
    Now that we require C++11, use std::unique_ptr directly.  This allows
    simplifying collection_list a bit by placing unique pointers in the
    vector directly, making the vector own its elements.
    
    gdb/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* ax-gdb.c (agent_eval_command_one): Use std::move instead of
    	gdb::move.
    	* ax.h (agent_expr_up): Use std::unique_ptr instead of
    	gdb::unique_ptr.
    	* breakpoint.c (parse_cond_to_aexpr): Use std::move instead of
    	gdb::move.
    	* tracepoint.c (collection_list::collect_symbol): Likewise.
    	(collection_list::~collection_list): Delete.
    	(encode_actions_1): Use std::move instead of gdb::move.
    	(collection_list::add_aexpr): Use std::move instead of
    	unique_ptr::release.
    	* tracepoint.h (collection_list) <~collection_list>: Delete
    	declaration.
    	<m_aexprs>: Now a vector of agent_ptr_up.

commit 7a63494a0df60cf71b9cf03c4eb8f24719d03e66
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Nov 9 14:53:58 2016 +0000

    gdb: Use vector::emplace_back
    
    Now that we require C++11, we can use vector::emplace_back to
    construct elements in place instead of constructing and then copying.
    
    gdb/ChangeLog:
    2016-11-09  Pedro Alves  <palves@redhat.com>
    
    	* main.c (struct cmdarg): Add constructor.
    	(captured_main_1): Use vector::emplace_back.
    	* tracepoint.c (collection_list::add_memrange): Likewise.

commit 8c84bffb45ac63b98fffc5c1a492c2eb7e4f27e2
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:13 2016 +0100

    tui-winsource: Remove failed-allocation logic
    
    This removes dead code in tui_alloc_source_buffer for handling a NULL
    return value from xmalloc.
    
    gdb/ChangeLog:
    
    	* tui/tui-winsource.c (tui_alloc_source_buffer): Remove
    	failed-xmalloc handling.

commit 7bc2c8b83ea82b4315c67e7658af815aed062e73
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:13 2016 +0100

    tui-winsource: Allocate for actual lines only
    
    The logic for allocating a TUI source window's content buffer allocates
    two more lines than needed, because it does not reduce the window height
    by the highlight box's overhead.  However, it does reduce the line width
    accordingly.  This patch makes the height and width calculation
    consistent and improves the comment.
    
    gdb/ChangeLog:
    
    	* tui/tui-winsource.c (tui_alloc_source_buffer): Subtract
    	highlight box's overhead when calculating the content height.

commit f5396833d35a257902409493a63f777dcd771868
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:13 2016 +0100

    tui-disasm: Fix line buffer size calculation
    
    The code that fills the TUI disassembly window content first calculates
    the maximum full length of a displayed disassembly line.  This
    calculation typically yields the wrong result.  The result is too large,
    so the bug does not cause any run-time failures, but unnecessary
    confusion for the reader.  This patch fixes the calculation.
    
    gdb/ChangeLog:
    
    	* tui/tui-disasm.c (tui_set_disassem_content): Fix calculation of
    	the longest disassembly line's length.

commit 0bb65f1e7c9eed7338ef2e4a2f5b42d010409c39
Author: Andreas Arnez <arnez@linux.vnet.ibm.com>
Date:   Wed Nov 9 13:02:12 2016 +0100

    tui-disasm: Fix window content buffer overrun
    
    A user reported a GDB crash with TUI when trying to debug a function
    with a long demangled C++ method name.  It turned out that the logic for
    displaying the TUI disassembly window has a bug that can cause a buffer
    overrun, possibly overwriting GDB-internal data structures.  In
    particular, the logic performs an unguarded strcpy.
    
    Another (harmless) bug in tui_alloc_source_buffer causes the buffer to
    be two lines longer than needed.  This may have made the crash appear
    less frequently.
    
    gdb/ChangeLog:
    
    	* tui/tui-disasm.c (tui_set_disassem_content): Fix line buffer
    	overrun due to unchecked strcpy.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/tui-layout.c: New file.
    	* gdb.base/tui-layout.exp: Use tui-layout.c, to ensure that the
    	disassembly window contains very long lines.

commit 82b19a4d2f9c9e8d56fdffdd702f7db4af486386
Author: Tristan Gingold <gingold@adacore.com>
Date:   Wed Nov 9 10:25:00 2016 +0100

    darwin-nat.c: handle Darwin 16 (aka Sierra).
    
    Support message from new task and dead name notification on task of an
    existing process.
    With Sierra, exec(2) terminate the current task and creates a new one.
    'set startup-with-shell off' must still be used on Darwin 16.
    
    2016-11-09  Tristan Gingold  <gingold@adacore.com>
    
    	* darwin-nat.c (find_inferior_task_it): Fix indentation.
    	(find_inferior_notify_it): Remove.
    	(find_inferior_pid_it): New function.
    	(darwin_find_inferior_by_notify): Remove.
    	(darwin_find_inferior_by_pid): New function.
    	(darwin_find_new_inferior): New function.
    	(darwin_check_message_ndr): New function from
    	darwin_decode_exception_message.
    	(darwin_decode_exception_message): Call darwin_check_message_ndr.
    	Handle SIGTRAP addressed to an unknown task (when a task spawned).
    	(darwin_decode_notify_message): New function.
    	(darwin_decode_message): Handle unknown task.
    	(darwin_deallocate_threads): New function from darwin_mourn_inferior.
    	(darwin_mourn_inferior): Use darwin_deallocate_threads and
    	darwin_deallocate_exception_ports.
    	(darwin_deallocate_exception_ports): New function from
    	darwin_mourn_inferior.
    	(darwin_setup_exceptions): New function from darwin_attach_pid.
    	(darwin_setup_request_notification): Likewise.
    	(darwin_attach_pid): Call darwin_setup_request_notification and
    	darwin_setup_request_notification.

commit 4c1d4908aa9e61a35a2555e5529997d7f996a516
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 9 00:00:27 2016 +0000

    Automatic date update in version.in

commit 1f334aeb2268db153f01143e9b0ac01448ecaa56
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Nov 8 11:03:06 2016 -0800

    X86: Remove the THREE_BYTE_0F7A entry
    
    Remove the THREE_BYTE_0F7A entry which is leftover from SSE5.
    
    	PR binutils/20701
    	* i386-dis.c (THREE_BYTE_0F7A): Removed.
    	(dis386_twobyte): Don't use THREE_BYTE_0F7A.
    	(three_byte_table): Remove THREE_BYTE_0F7A.

commit 7353f2470c2eda19c31c9fa44c315c7c69dea7c4
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Oct 31 11:23:34 2016 -0600

    Fix py-value.exp failure on Python 3
    
    I happened to notice that one test in py-value.exp did not work
    properly with Python 3.  This patch fixes the problem.
    
    2016-11-08  Tom Tromey  <tom@tromey.com>
    
    	* gdb.python/py-value.exp (test_value_creation): Make "long" test
    	depend on Python 2.

commit 30a7bb833cbd848b1814f18b91dfdafba4e86839
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Oct 31 11:10:35 2016 -0600

    Fix some error-handling bugs in python frame filters
    
    While writing a Python frame filter, I found a few bugs in the current
    frame filter code.  In particular:
    
    * One spot converts a Python long to a CORE_ADDR using PyLong_AsLong.
      However, this can fail on overflow.  I changed this to use
      get_addr_from_python.
    
    * Another spot is doing the same but with PyLong_AsUnsignedLongLong; I
      changed this as well just for consistency.
    
    * Converting line numbers can print "-1" if conversion from long
      fails.  This isn't fatal but just a bit ugly.
    
    I've included a test case for the first issue.  The line number one
    didn't seem important enough to bother with.
    
    2016-11-08  Tom Tromey  <tom@tromey.com>
    
    	* python/py-framefilter.c (py_print_frame): Use
    	get_addr_from_python.  Check for errors when getting line number.
    
    2016-11-08  Tom Tromey  <tom@tromey.com>
    
    	* gdb.python/py-framefilter.py (ElidingFrameDecorator.address):
    	New method.

commit e8b24d9ff5b9419fc079f5fe975fac6f499f8bfb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 16:02:42 2016 +0000

    Remove parameter valaddr from la_val_print
    
    Nowadays, we pass both val and return value of
    value_contents_for_printing (val) to la_val_print.  The latter is
    unnecessary.  This patch removes the second parameter of la_val_print,
    and get valaddr in each language's implementation by calling
    value_contents_for_printing.  Since value_contents_for_printing calls
    value_fetch_lazy, I also make VAL non-const.
    
    Note that
     - I don't clean up the valaddr usages in each language's routines,
     - I don't remove valaddr from apply_ext_lang_val_pretty_printer, and
       extension language ops apply_val_pretty_printer.
    
    They can be done in followup patches.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* ada-lang.h (ada_val_print): Remove second parameter.  Remove
    	const from "struct value *".
    	* ada-valprint.c (print_field_values): Remove const from
    	"struct value *".
    	(val_print_packed_array_elements): Likewise.
    	(print_variant_part): Likewise.
    	(ada_val_print_string): Likewise.
    	(ada_val_print_gnat_array): Likewise.
    	(ada_val_print_ptr): Likewise.
    	(ada_val_print_num): Likewise.
    	(ada_val_print_enum): Likewise.
    	(ada_val_print_flt): Likewise.
    	(ada_val_print_union): Likewise.
    	(ada_val_print_struct_union): Likewise.
    	(ada_val_print_ref): Likewise.
    	(ada_val_print_1): Remove second parameter.  Remove const from
    	"struct value *".
    	(ada_val_print): Likewise.
    	* c-lang.h (c_val_print): Likewise.
    	* c-valprint.c (c_val_print_array): Remove const from
    	"struct value *".
    	(c_val_print_ptr): Likewise.
    	(c_val_print_struct): Likewise.
    	(c_val_print_union): Likewise.
    	(c_val_print_int): Likewise.
    	(c_val_print_memberptr): Likewise.
    	(c_val_print): Remove second parameter.  Remove const from
    	"struct value *".  All callers updated.
    	* cp-valprint.c (cp_print_value): Remove const from
    	"struct value *".
    	(cp_print_value_fields): Likewise.
    	(c_val_print_value): Likewise.
    	* d-lang.h (d_val_print): Remove second parameter.  Remove const
    	from "struct value *".
    	* d-valprint.c (dynamic_array_type): Likewise.
    	(d_val_print): Likewise.
    	* f-lang.h (f_val_print): Likewise.
    	* f-valprint.c (f_val_print): Likewise.
    	* go-lang.h (go_val_print): Likewise.
    	* go-valprint.c (print_go_string): Likewise.
    	(go_val_print): Likewise.
    	* language.c (unk_lang_val_print): Likewise.
    	* language.h (struct language_defn) <la_val_print>: Likewise.
    	Update comments.
    	(LA_VAL_PRINT): Remove.
    	* m2-lang.h (m2_val_print): Remove const from
    	"struct value *".
    	* m2-valprint.c (m2_print_array_contents): Likewise.
    	(m2_val_print): Likewise.
    	* p-lang.h (pascal_val_print): Remove second parameter.  Remove
    	const from "struct value *".
    	(pascal_object_print_value_fields): Likewise.
    	* p-valprint.c (pascal_val_print): Likewise.
    	(pascal_object_print_value_fields): Likewise.
    	(pascal_object_print_value): Likewise.
    	* rust-lang.c (rust_get_disr_info): Likewise.
    	(val_print_struct): Likewise.
    	(rust_val_print): Likewise.
    	* valprint.c (generic_val_print_array): Likewise.
    	(generic_val_print_ptr): Likewise.
    	(generic_val_print_memberptr): Likewise.
    	(generic_val_print_ref): Likewise.
    	(generic_val_print_enum): Likewise.
    	(generic_val_print_flags): Likewise.
    	(generic_val_print_func): Likewise.
    	(generic_val_print_bool): Likewise.
    	(generic_val_print_int): Likewise.
    	(generic_val_print_char): Likewise.
    	(generic_val_print_float): Likewise.
    	(generic_val_print_decfloat): Likewise.
    	(generic_val_print_complex): Likewise.
    	(generic_val_print): Likewise.
    	(val_print): Likewise.
    	(common_val_print): Likewise.
    	(val_print_type_code_flags): Likewise.
    	(val_print_scalar_formatted): Likewise.
    	(val_print_array_elements): Likewise.
    	* valprint.h (val_print_array_elements): Update declaration.
    	(val_print_scalar_formatted): Likewise.
    	(generic_val_print): Likewise.
    	* value.h (val_print): Likewise.

commit cc977dc7d53ef4546592a4f02a2e06a621beae6f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 15:58:47 2016 +0000

    Use get_frame_register_value instead of deprecated_frame_register_read
    
    This patch calls get_frame_register_value instead of
    deprecated_frame_register_read, so that we can pass
    value_contents_for_printing to val_print.  Both
    get_frame_register_value and deprecated_frame_register_read call
    frame_unwind_register_value indirectly, so no functionality is changed
    by this patch.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* mt-tdep.c (mt_registers_info): Call
    	get_frame_register_value instead of
    	deprecated_frame_register_read.
    	* sh64-tdep.c (sh64_do_register): Likewise.

commit 3cde5c42d1c1ddcf8bbde5c47233c644370c959c
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    Eliminate agent_expr_p; VEC -> std::vector in struct bp_target_info
    
    After the previous patch, we end up with these two types with quite
    similar, and potentially confusing names:
    
      typedef gdb::unique_ptr<agent_expr> agent_expr_up;
    
      /* Pointer to an agent_expr structure.  */
      typedef struct agent_expr *agent_expr_p;
    
    The latter is only necessary to put agent_expr pointers in VECs.  So
    just eliminate it and use std::vector instead.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ax.h (agent_expr_p): Delete.
    	(DEF_VEC_P (agent_expr_p)): Delete.
    	* breakpoint.c (build_target_condition_list)
    	(build_target_command_list): Adjust to use of std::vector.
    	(bp_location_dtor): Remove now unnecessary VEC_free calls.
    	* breakpoint.h: Include <vector>.
    	(struct bp_target_info) <conditions, tcommands>: Now
    	std::vector's.
    	* remote.c (remote_add_target_side_condition): bp_tgt->conditions
    	is now a std::vector; adjust.
    	(remote_add_target_side_commands, remote_insert_breakpoint):
    	bp_tgt->tcommands is now a std::vector; adjust.

commit 833177a4a5c1a2a6cabe70bfe35ecf241b68d169
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    'struct agent_expr *' -> unique_ptr<agent_expr>
    
    This patch makes the gen_* functions return a unique_ptr instead of
    raw pointer:
    
      typedef gdb::unique_ptr<agent_expr> agent_expr_up;
    
    and then adjusts the codebase throughout to stop using
    make_cleanup_free_agent_expr.
    
    The cond_bytecode and cmd_bytecode fields of struct bp_location are
    owning pointers, so they're changed to be unique_ptr's instead of raw
    pointers.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ax-gdb.c (is_nontrivial_conversion): Use agent_expr_up.
    	(gen_trace_for_var, gen_trace_for_expr, gen_eval_for_expr)
    	(gen_trace_for_return_address, gen_printf): Use and return an
    	agent_expr_up.  Don't use make_cleanup_free_agent_expr.
    	(agent_eval_command_one, maint_agent_printf_command): Use
    	agent_expr_up.  Don't use make_cleanup_free_agent_expr.
    	* ax-gdb.h (gen_trace_for_expr, gen_trace_for_var)
    	(gen_trace_for_return_address, gen_eval_for_expr, gen_printf): Use
    	agent_expr_up.
    	* ax-general.c (new_agent_expr): Rename to ...
    	(agent_expr::agent_expr): ... this, and now a constructor.
    	(free_agent_expr): Rename to ...
    	(agent_expr::~agent_exp): ... this, and now a destructor.
    	(do_free_agent_expr_cleanup, make_cleanup_free_agent_expr):
    	Delete.
    	* ax.h (struct agent_expr): Add ctor/dtor.
    	(agent_expr_up): New typedef.
    	(new_agent_expr, free_agent_expr, make_cleanup_free_agent_expr):
    	Delete declarations.
    	* breakpoint.c (parse_cond_to_aexpr): Use and return an
    	agent_expr_up.  Don't use make_cleanup_free_agent_expr.
    	(build_target_condition_list): Adjust to use agent_expr_up.
    	(parse_cmd_to_aexpr): Use and return an agent_expr_up.  Don't use
    	make_cleanup_free_agent_expr.
    	(build_target_command_list): Adjust to use agent_expr_up.
    	(force_breakpoint_reinsertion): Adjust to use agent_expr_up.
    	(bp_location_dtor): Remove unnecessary free_agent_expr and xfree
    	calls.
    	* breakpoint.h (struct bp_target_info) <cond_bytecode,
    	cmd_bytecode>: Now agent_expr_up's.
    	* remote.c (remote_download_tracepoint): Adjust to use
    	agent_expr_up and remove use of make_cleanup_free_agent_expr.
    	* tracepoint.c (validate_actionline, collect_symbol): Adjust to
    	use agent_expr_up and remove uses of make_cleanup_free_agent_expr.
    	(collection_list::~collection_list): Call delete instead of
    	free_agent_expr.
    	(encode_actions_1): Adjust to use agent_expr_up and remove uses of
    	make_cleanup_free_agent_expr.
    	(add_aexpr): Change parameter type to agent_expr_up; Return a raw
    	agent_expr pointer.

commit 2f408ecb929bd56613e94cf1e84ace4692c78257
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    Use ui_file_as_string throughout more
    
    This replaces most of the remaining ui_file_xstrdup calls with
    ui_file_as_string calls.  Whenever a call was replaced, that led to a
    cascade of other necessary adjustments throughout, to make the code
    use std::string instead of raw pointers.  And then whenever I added a
    std::string as member of a struct, I needed to adjust
    allocation/destruction of said struct to use new/delete instead of
    xmalloc/xfree.
    
    The stopping point was once gdb built again.  These doesn't seem to be
    a way to reasonably split this out further.
    
    Maybe-not-obvious changes:
    
     - demangle_for_lookup returns a cleanup today.  To get rid of that,
       and avoid unnecessary string dupping/copying, this introduces a
       demangle_result_storage type that the caller instantiates and
       passes to demangle_for_lookup.
    
     - Many methods returned a "char *" to indicate that the caller owns
       the memory and must free it.  Those are switched to return a
       std::string instead.  Methods that return a "view" into some
       internal string return a "const char *" instead.  I.e., we only
       copy/allocate when necessary.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_name_for_lookup, type_as_string): Use and return
    	std::string.
    	(type_as_string_and_cleanup): Delete.
    	(ada_lookup_struct_elt_type): Use type_as_string.
    	* ada-lang.h (ada_name_for_lookup): Now returns std::string.
    	* ada-varobj.c (ada_varobj_scalar_image): Return a std::string.
    	(ada_varobj_describe_child): Make 'child_name' and
    	'child_path_expr' parameters std::string pointers.
    	(ada_varobj_describe_struct_child, ada_varobj_describe_ptr_child):
    	Likewise, and use string_printf.
    	(ada_varobj_describe_simple_array_child)
    	(ada_varobj_describe_child): Likewise.
    	(ada_varobj_get_name_of_child, ada_varobj_get_path_expr_of_child)
    	(ada_varobj_get_value_image)
    	(ada_varobj_get_value_of_array_variable)
    	(ada_varobj_get_value_of_variable, ada_name_of_variable)
    	(ada_name_of_child, ada_path_expr_of_child)
    	(ada_value_of_variable): Now returns std::string.  Use
    	string_printf.
    	(ada_value_of_child): Adjust.
    	* break-catch-throw.c (check_status_exception_catchpoint): Adjust
    	to use std::string.
    	* breakpoint.c (watch_command_1): Adjust to use std::string.
    	* c-lang.c (c_get_string): Adjust to use std::string.
    	* c-typeprint.c (print_name_maybe_canonical): Use std::string.
    	* c-varobj.c (varobj_is_anonymous_child): Use ==/!= std::string
    	operators.
    	(c_name_of_variable): Now returns a std::string.
    	(c_describe_child): The 'cname' and 'cfull_expression' output
    	parameters are now std::string pointers.  Adjust.
    	(c_name_of_child, c_path_expr_of_child, c_value_of_variable)
    	(cplus_number_of_children): Adjust to use std::string and
    	string_printf.
    	(cplus_name_of_variable): Now returns a std::string.
    	(cplus_describe_child): The 'cname' and 'cfull_expression' output
    	parameters are now std::string pointers.  Adjust.
    	(cplus_name_of_child, cplus_path_expr_of_child)
    	(cplus_value_of_variable): Now returns a std::string.
    	* cp-abi.c (cplus_typename_from_type_info): Return std::string.
    	* cp-abi.h (cplus_typename_from_type_info): Return std::string.
    	(struct cp_abi_ops) <get_typename_from_type_info>: Return
    	std::string.
    	* cp-support.c (inspect_type): Use std::string.
    	(cp_canonicalize_string_full, cp_canonicalize_string_no_typedefs)
    	(cp_canonicalize_string): Return std::string and adjust.
    	* cp-support.h (cp_canonicalize_string)
    	(cp_canonicalize_string_no_typedefs, cp_canonicalize_string_full):
    	Return std::string.
    	* dbxread.c (read_dbx_symtab): Use std::string.
    	* dwarf2read.c (dwarf2_canonicalize_name): Adjust to use std::string.
    	* gdbcmd.h (lookup_struct_elt_type): Adjust to use std::string.
    	* gnu-v3-abi.c (gnuv3_get_typeid): Use std::string.
    	(gnuv3_get_typename_from_type_info): Return a std::string and
    	adjust.
    	(gnuv3_get_type_from_type_info): Adjust to use std::string.
    	* guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
    	std::string.
    	* infcmd.c (print_return_value_1): Adjust to use std::string.
    	* linespec.c (find_linespec_symbols): Adjust to
    	demangle_for_lookup API change.  Use std::string.
    	* mi/mi-cmd-var.c (print_varobj, mi_cmd_var_set_format)
    	(mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
    	(mi_cmd_var_info_expression, mi_cmd_var_evaluate_expression)
    	(mi_cmd_var_assign, varobj_update_one): Adjust to use std::string.
    	* minsyms.c (lookup_minimal_symbol): Use std::string.
    	* python/py-varobj.c (py_varobj_iter_next): Use new instead of
    	XNEW.  vitem->name is a std::string now, adjust.
    	* rust-exp.y (convert_ast_to_type, convert_name): Adjust to use
    	std::string.
    	* stabsread.c (define_symbol): Adjust to use std::string.
    	* symtab.c (demangle_for_lookup): Now returns 'const char *'.  Add
    	a demangle_result_storage parameter.  Use it for storage.
    	(lookup_symbol_in_language)
    	(lookup_symbol_in_objfile_from_linkage_name): Adjust to new
    	demangle_for_lookup API.
    	* symtab.h (struct demangle_result_storage): New type.
    	(demangle_for_lookup): Now returns 'const char *'.  Add a
    	demangle_result_storage parameter.
    	* typeprint.c (type_to_string): Return std::string and use
    	ui_file_as_string.
    	* value.h (type_to_string): Change return type to std::string.
    	* varobj-iter.h (struct varobj_item) <name>: Now a std::string.
    	(varobj_iter_delete): Use delete instead of xfree.
    	* varobj.c (create_child): Return std::string instead of char * in
    	output parameter.
    	(name_of_variable, name_of_child, my_value_of_variable): Return
    	std::string instead of char *.
    	(varobj_create, varobj_get_handle): Constify 'objname' parameter.
    	Adjust to std::string fields.
    	(varobj_get_objname): Return a const char * instead of a char *.
    	(varobj_get_expression): Return a std::string.
    	(varobj_list_children): Adjust to use std::string.
    	(varobj_get_type): Return a std::string.
    	(varobj_get_path_expr): Return a const char * instead of a char *.
    	Adjust to std::string fields.
    	(varobj_get_formatted_value, varobj_get_value): Return a
    	std::string.
    	(varobj_set_value): Change type of 'expression' parameter to
    	std::string.  Use std::string.
    	(install_new_value): Use std::string.
    	(delete_variable_1): Adjust to use std::string.
    	(create_child): Change the 'name' parameter to a std::string
    	reference.  Swap it into the new item's name.
    	(create_child_with_value): Swap item's name into the new child's
    	name.  Use string_printf.
    	(new_variable): Use new instead of XNEW.
    	(free_variable): Don't xfree fields that are now std::string.
    	(name_of_variable, name_of_child): Now returns std::string.
    	(value_of_root): Adjust to use std::string.
    	(my_value_of_variable, varobj_value_get_print_value): Return
    	and use std::string.
    	(varobj_value_get_print_value): Adjust to use ui_file_as_string
    	and std::string.
    	* varobj.h (struct varobj) <name, path_expr, obj_name,
    	print_value>: Now std::string's.
    	<name_of_variable, name_of_child, path_expr_of_child,
    	value_of_variable>: Return std::string.
    	(varobj_create, varobj_get_handle): Constify 'objname' parameter.
    	(varobj_get_objname): Return a const char * instead of a char *.
    	(varobj_get_expression, varobj_get_type): Return a std::string.
    	(varobj_get_path_expr): Return a const char * instead of a char *.
    	(varobj_get_formatted_value, varobj_get_value): Return a
    	std::string.
    	(varobj_set_value): Constify 'expression' parameter.
    	(varobj_value_get_print_value): Return a std::string.

commit d2af8993a7cac29eaa5a4efd47c9117bbd175068
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:47 2016 +0000

    Use ui_file_as_string in gdb/language.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* language.c (add_language): Use ui_file_as_string and adjust to
    	use std::string.

commit 5698084a7303c45fdc94fb44c47355413b271562
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/rust-lang.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    	    Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (struct disr_info) <name>: Now a std::string.
    	(rust_get_disr_info): Use ui_file_as_string and adjust to use
    	std::string.
    	(rust_val_print): Adjust to use std::string.

commit af1fe7b3b87de27d84a82d4f44b937c2800205ff
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/infrun.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* infrun.c (print_target_wait_results): Use ui_file_as_string and
    	std::string.

commit 3b4de39c9d9ff014ae90e2bafbf7ce1f42c2198e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/ada-lang.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (type_as_string): Use ui_file_as_string and return
    	std::string.
    	(type_as_string_and_cleanup): Delete.
    	(ada_lookup_struct_elt_type): Use type_as_string.

commit 6f0302493af0ace93943041c3374069c15c363f7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdbarch.sh/gdbarch.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* gdbarch.sh (verify_gdbarch): Use ui_file_as_string and
    	std::string.
    	* gdbarch.c: Regenerate.

commit 66bbce5bda870c49a68f2b77a29fb96eca72632f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/c-exp.y
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* c-exp.y (OPERATOR NEW): Adjust to use ui_file_as_string and
    	std::string.

commit aaee65aea29ac8f7317e866d5dbef9f96cfdb253
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:46 2016 +0000

    Use ui_file_as_string in gdb/compile/
    
    Using ui_file_as_string would imply changing a few prototypes to pass
    around source and object file names as std::string.  Instead of that,
    wrap those two in a new class.  This ends up eliminating a small
    wrinkle: get_new_file_names and compile_object_load have swapped
    parameters.  The former takes "source, objfile", while the latter
    takes "objfile, source".
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* c-lang.h (c_compute_program): Now returns std::string.
    	* compile/compile-internal.h (class compile_file_names): New
    	class.
    	* compile/compile-object-load.c (compile_object_load): Replace
    	object_file and source_file parameters with a compile_file_names
    	parameter.  Adjust.
    	* compile-object-load.h: Include "compile-internal.h".
    	(compile_object_load): Replace object_file and source_file
    	parameters with a compile_file_names parameter.
    	* compile/compile-c-support.c (c_compute_program): Now returns a
    	std::string.  Use ui_file_as_string.
    	* compile/compile.c (get_new_file_names): Remove parameters and
    	return a compile_file_names instead.
    	(compile_to_object): Now returns a compile_file_names.  Use
    	ui_file_as_string.
    	(eval_compile_command): Use compile_file_names.
    	* language.h (struct language_defn) <la_compute_program>: Now
    	returns std::string.

commit 3d8b0d9483f6eabc2c1739ac3dd64c30061a6a72
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/cli/cli-setshow.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-setshow.c (do_show_command): Adjust to use
    	ui_file_as_string and std::string.

commit b3ced9bad2d8d5eb9ebabc5f8f7c6ab871f63748
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/remote.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* remote.c (escape_buffer): Use ui_file_as_string and return
    	std::string.
    	(putpkt_binary, read_frame): Adjust to use std::string.

commit c92aed165e8af79f51c5165f98f12389bb59a121
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/python/
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* python/py-arch.c (archpy_disassemble): Use ui_file_as_string and
    	std::string.
    	* python/py-breakpoint.c (bppy_get_commands): Use
    	ui_file_as_string and std::string.
    	* python/py-frame.c (frapy_str): Likewise.
    	* python/py-type.c (typy_str): Likewise.
    	* python/py-unwind.c (unwind_infopy_str): Likewise.
    	* python/py-value.c (valpy_str): Likewise.

commit 02030646c2a799614d31e52008403d8be067ac5d
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/printcmd.c
    
    Yet another cleanup eliminated.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* printcmd.c (eval_command): Use ui_file_as_string and
    	std::string.

commit 7b01d34b2a62fb8cda96fe40c755f99e63b8ba4f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in gdb/top.c
    
    Yet another cleanup is eliminated.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* top.c (quit_confirm): Use ui_file_as_string and std::string.

commit db1ec11fff1a46f7046bcbd971a42632d2ea795c
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:45 2016 +0000

    Use ui_file_as_string in execute_command_to_string
    
    ... and then return std::string and adjust all callers.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* gdbcmd.h (execute_command_to_string): Now returns std::string.
    	(lookup_struct_elt_type): Adjust to use std::string.
    	* top.c (execute_command_to_string): Use ui_file_as_string and
    	return std::string.
    	* guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
    	std::string.
    	* python/python.c (execute_gdb_command): Adjust to use
    	std::string.

commit 3ab692db7f4d96022a132379614031a852de6f35
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/guile/
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
    	ui_file_as_string and adjust to use std::string.
    	* guile/scm-disasm.c (gdbscm_arch_disassemble): Likewise.
    	* guile/scm-frame.c (frscm_print_frame_smob): Likewise.
    	* guile/scm-type.c (tyscm_type_name): Use ui_file_as_string and
    	adjust to use std::string.  Throw exception directly instead of
    	returning it in EXCP output parameter.
    	(tyscm_print_type_smob, gdbscm_type_print_name): Adjust to
    	tyscm_type_name interface change.
    	* guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
    	Use ui_file_as_string and std::string.

commit 09b0e4b047b44063cf4c8c00527886743619c24e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/arm-tdep.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* arm-tdep.c (_initialize_arm_tdep): Use ui_file_as_string and
    	std::string.

commit d16c5475b560adbad2d9bc78ec3718658f4090e3
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/utils.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* utils.c (error_stream): Use ui_file_as_string and std::string.

commit 56dbf31760f721893a44d3da26adfccf548995c7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/ui-out.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ui-out.c (ui_out_field_stream): Use ui_file_as_string.

commit 77e1c7426aad05b20f48762234c02139e9c02f8e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/ada-valprint.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-valprint.c (ada_print_floating): Use ui_file_as_string and
    	std::string.

commit a0f86e735886f3d373507fa9cfc0cf2a2f32eabc
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in gdb/xtensa-tdep.c
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* xtensa-tdep.c (xtensa_verify_config): Use ui_file_as_string and
    	std::string.

commit 322a851675234b3c16be6dd5035b07f5e3410ec7
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:44 2016 +0000

    Use ui_file_as_string in dwarf2_compute_name
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2read.c (dwarf2_compute_name): Use ui_file_as_string and
    	std::string.

commit 1f45808ead357e8a81dec16b9802a6c369e08426
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    Clean up tracepoint.h/c:collection_list
    
    Noticed we could do this while working on the expression_up change.
    
    The main goal here was getting rid of the
    encode_actions_and_make_cleanup / do_clear_collection_list cleanups.
    
    While at it, uncrustify the code:
    
     - Make collection_list a C++ class, with data members private (and
       thus renamed m_...).
    
     - Make related functions be member methods.
    
     - Use std::vector instead of an open coding a vector implementation.
    
     - Use std::sort instead of qsort.
    
     - Rename the "list" member of collection_list, which is an incredibly
       obfuscating name.
    
     - Rename a couple other things here and there for clarify.
    
     - Use "bool" more.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* mi/mi-main.c (print_variable_or_computed): Constify 'expression'
    	parameter.
    	(mi_cmd_trace_frame_collected): Call encode_actions instead of
    	encode_actions_and_make_cleanup.  Adjust to use std::vector.
    	* tracepoint.c (memrange_cmp): Delete.
    	(memrange_comp): New.
    	(memrange_sortmerge): Take a memrange vector as parameter instead
    	of a collection_list.  Use std::sort instead of qsort.
    	(add_register): Now a method of collection_list.  Adjust to m_
    	prefix of data fields.
    	(add_memrange): Now a method of collection_list.  Adjust to m_
    	prefix of data fields.  Adjust to use std::vector.
    	(collect_symbol): Now a method of collection_list.  Adjust to m_
    	prefix of data fields.
    	(do_collect_symbol): Adjust.  Call add_wholly_collected instead of
    	accessing the vector directly.
    	(collection_list::add_wholly_collected): New.
    	(add_local_symbols): Now a method of collection_list.
    	(add_static_trace_data): Now a method of collection_list.  Adjust
    	to use bool.
    	(clear_collection_list, do_clear_collection_list): Delete.
    	(init_collection_list): Delete.
    	(collection_list::collection_list): New.
    	(collection_list::~collection_list): New.
    	(stringify_collection_list): Rename to ...
    	(collection_list::stringify): ... this and adjust to being a
    	method of collection_list.  Adjust to use of std::vector.
    	(append_exp): Now a method of collection_list.  Use
    	ui_file_as_string.  Adjust to std::vector.
    	(collection_list::finish): New.
    	(encode_actions_1): Adjust.
    	(encode_actions_and_make_cleanup): Rename to ...
    	(encode_actions)... this.  No longer returns a cleanup.  No longer
    	call init_collection_list nor install do_clear_collection_list
    	cleanups.  Call collection_list::finish instead of
    	memrange_sortmerge directly.
    	(encode_actions_rsp): Adjust to call encode_actions instead of
    	encode_actions_and_make_cleanup.  Adjust to method renames.
    	(add_aexpr): Now a method of collection_list.
    	* tracepoint.h: Include <vector> and <string>.
    	(struct memrange): Add constructors.
    	(struct collection_list): Now a class.
    	(class collection_list) <collection_list, ~collection_list,
    	add_wholly_collected, append_exp, add_aexpr, add_register,
    	add_memrange, collect_symbol, add_local_symbols,
    	add_static_trace_data, finish, stringify, wholly_collected, and
    	computed>: New methods.
    	<regs_mask>: Rename to ...
    	<m_regs_mask>: ... this.
    	<listsize, next_memrange, list>: Delete fields.
    	<m_memranges>: New field.
    	<aexpr_listsize, next_aexpr_elt, aexpr_list>: Delete fields.
    	<m_aexprs>: New field.
    	<strace_data>: Rename to ...
    	<m_strace_data>: ... this.  Now a bool.
    	<wholly_collected>: Rename to ...
    	<m_wholly_collected>: ... this.  Now a std::vector<std::string>.
    	<computed>: Rename to ...
    	<m_computed>: ... this.  Now a std::vector<std::string>.
    	(encode_actions_and_make_cleanup): Delete declaration.
    	(encode_actions): New declaration.

commit 8de00631b8bd1c328f1916b1fd95bd0d9ff2017e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    Introduce ui_file_as_string
    
    ui_file_as_string is a variant of ui_file_xstrdup that returns a
    std::string instead of a xmalloc'ed char *.  The idea is using the new
    function to eliminate "make_cleanup (xfree, ...)"  cleanups
    throughout.
    
    Following patches will make use of this.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ui-file.c (do_ui_file_as_string, ui_file_as_string): New
    	functions.
    	* ui-file.h: Include <string>.
    	(ui_file_as_string): New declaration.

commit 4d01a485d29732b19743e8b138897f3509e071b0
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    'struct expression *' -> gdb::unique_xmalloc_ptr<expression>
    
    This patch makes parse_expression and friends return a unique_ptr
    instead of raw pointer [1]:
    
      typedef gdb::unique_malloc_ptr<expression> expression_up;
    
    and then adjusts the codebase throughout to stop using cleanups to
    manage lifetime of expression pointers.
    
    Whenever I found a structure owning an expression pointer, I made it
    store a unique_ptr instead of a raw pointer, which then requires using
    new/delete of the holding structure, instead of XNEW/xfree.
    
    [1] - I'd like to set the rule that types named with an "_up" suffix
          are unique_ptr typedefs.
    
    Note I used gdb::unique_xmalloc_ptr instead of gdb::unique_ptr, simply
    because we still use xmalloc instead of new to allocate expression
    objects.  Once that's changed, all we need to do is change the
    expression_up typedef and the smart pointer will then call delete
    instead of xfree.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* ada-lang.c (ada_read_renaming_var_value): Use expression_up.
    	(struct ada_catchpoint_location) <excep_cond_expr>: Now an
    	expression_up.
    	(ada_catchpoint_location_dtor): Reset excep_cond_expr instead of
    	using xfree.
    	(create_excep_cond_exprs): Use expression_up and gdb::move.
    	(allocate_location_exception): Use new instead of XNEW.
    	(should_stop_exception): Likewise.  Adjust to use expression_up.
    	(create_ada_exception_catchpoint): Use new instead of XNEW.
    	* ax-gdb.c (agent_eval_command_one): Use expression_up instead of
    	cleanups.
    	(maint_agent_printf_command): Use expression_up.
    	* break-catch-sig.c (create_signal_catchpoint): Use new instead of
    	XNEW.
    	* break-catch-syscall.c (create_syscall_event_catchpoint):
    	Likewise.
    	* break-catch-throw.c (handle_gnu_v3_exceptions): Use new instead
    	of XCNEW.  Use gdb::unique_ptr instead of cleanups.
    	* breakpoint.c (set_breakpoint_condition, update_watchpoint)
    	(parse_cmd_to_aexpr, watchpoint_check)
    	(bpstat_check_breakpoint_conditions, watchpoint_locations_match):
    	Adjust to use expression_up.
    	(init_bp_location): Adjust.
    	(free_bp_location): Use delete instead of xfree.
    	(set_raw_breakpoint_without_location, set_raw_breakpoint)
    	(add_solib_catchpoint, create_fork_vfork_event_catchpoint)
    	(new_single_step_breakpoint, create_breakpoint_sal): Use new
    	instead of XNEW.
    	(find_condition_and_thread): Adjust to use expression_up.
    	(create_breakpoint): Use new instead of XNEW.
    	(dtor_watchpoint): Don't xfree expression pointers, they're
    	unique_ptr's now.
    	(insert_watchpoint, remove_watchpoint): Adjust.
    	(watch_command_1): Use expression_up.  Use new instead of XCNEW.
    	(catch_exec_command_1): Use new instead of XNEW.
    	(bp_location_dtor): Don't xfree expression pointers, they're
    	unique_ptr's now.
    	(base_breakpoint_allocate_location)
    	(strace_marker_create_breakpoints_sal): Use new instead of XNEW.
    	(delete_breakpoint): Use delete instead of xfree.
    	* breakpoint.h (struct bp_location) <cond>: Now an
    	unique_ptr<expression> instead of a raw pointer.
    	(struct watchpoint) <exp, cond_exp>: Likewise.
    	* cli/cli-script.c (execute_control_command): Use expression_up
    	instead of cleanups.
    	* dtrace-probe.c (dtrace_process_dof_probe): Use expression_up.
    	* eval.c (parse_and_eval_address, parse_and_eval_long)
    	(parse_and_eval, parse_to_comma_and_eval, parse_and_eval_type):
    	Use expression_up instead of cleanups.
    	* expression.h (expression_up): New typedef.
    	(parse_expression, parse_expression_with_language, parse_exp_1):
    	Change return type to expression_up.
    	* mi/mi-main.c (mi_cmd_data_evaluate_expression)
    	(print_variable_or_computed): Use expression_up.
    	* objc-lang.c (print_object_command): Use expression_up instead of
    	cleanups.
    	* parse.c (parse_exp_1, parse_exp_in_context)
    	(parse_exp_in_context_1, parse_expression)
    	(parse_expression_with_language): Return an expression_up instead
    	of a raw pointer.
    	(parse_expression_for_completion): Use expression_up.
    	* printcmd.c (struct display) <exp>: Now an expression_up instead
    	of a raw pointer.
    	(print_command_1, output_command_const, set_command, x_command):
    	Use expression_up instead of cleanups.
    	(display_command): Likewise.  Use new instead of XNEW.
    	(free_display): Use delete instead of xfree.
    	(do_one_display): Adjust to use expression_up.
    	* remote.c (remote_download_tracepoint): Likewise.
    	* stack.c (return_command): Likewise.
    	* tracepoint.c (validate_actionline, encode_actions_1): Use
    	expression_up instead of cleanups.
    	* typeprint.c (whatis_exp, maintenance_print_type): Likewise.
    	* value.c (init_if_undefined_command): Likewise.
    	* varobj.c (struct varobj_root) <exp>: Now an expression_up
    	instead of a raw pointer.
    	(varobj_create): Adjust.
    	(varobj_set_value): Use an expression_up instead of cleanups.
    	(new_root_variable): Use new instead of XNEW.
    	(free_variable): Use delete instead of xfree.
    	(value_of_root_1): Use std::swap.

commit b064640146bb6908a0ccca27ca8ee2b06b668137
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    cli-script.c: Simplify using std::string, eliminate cleanups
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-script.c (execute_control_command): Use std::string
    	instead of cleanups.
    	(locate_arg): Constify return type.
    	(insert_args): Constify paremeter.  Simplify using std::string.
    	Return a std::string.

commit 896b6bda6904765f36692d76a37b99c0412ca9ae
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:43 2016 +0000

    breakpoint.c:commands_command_1 constification and cleanup
    
    This is constification needed for next patch.  Adjust
    commands_command_1 to use std::string too because the "arg" parameter
    is currently overwritten and then passed to make_cleanup.  The
    constification alone would trigger a compile error in the make_cleanup
    call otherwise (passing const char * to void * parameter).  Using
    std::string gets rid of the cleanup in the first place, resulting in
    simpler code.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* breakpoint.c (struct commands_info) <arg>: Constify.
    	(commands_command_1): Constify 'arg' parameter.  Use std::string
    	and string_printf.
    	(commands_from_control_command): Constify 'arg' parameter.
    	(map_breakpoint_numbers): Constify 'args' parameter.
    	* breakpoint.h (commands_from_control_command): Constify 'arg'
    	parameter.

commit 4f8ad951f662864884d4b11315c940c5239a4a89
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:42 2016 +0000

    cli/cli-script.c: Remove some dead NULL checks
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-script.c (execute_control_command): Assume insert_args
    	never returns NULL.
    	(insert_args): Assume xmalloc never returns NULL.

commit d4081a383e28db26c65298f7405554d4312b1342
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 15:26:42 2016 +0000

    Introduce string_printf
    
    This introduces the string_printf function.  Like asprintf, but
    returns a std::string.
    
    gdb/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (COMMON_OBS): Add utils-selftests.o.
    	* common/common-utils.c (string_printf): New function.
    	* common/common-utils.h: Include <string>.
    	(string_printf): Declare.
    	* utils-selftests.c: New file.

commit cb64e50d42a49bce61050c79c5ab0846905b6a82
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Nov 8 15:03:46 2016 +0000

    Fix heap-buffer-overflow error detected by address sanitization on a fuzzed binary.
    
    	PR binutils/20794
    	* readelf.c (process_section_headers): Fix off-by-one error when
    	checking for invalid sh_link and sh_info fields.

commit 93f9a11fbdb8f09428b17180d51a09a1bda39a52
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 14:28:32 2016 +0000

    gdbarch software_single_step returns VEC (CORE_ADDR) *
    
    This patch changes gdbarch method software_single_step to return a
    vector of addresses on which GDB should insert breakpoints, and don't
    insert breakpoints.  Instead, the caller of
    gdbarch_software_single_step inserts breakpoints if the returned
    vector is not NULL.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (aarch64_software_single_step): Return
    	VEC (CORE_ADDR) *.  Return NULL instead of 0.  Don't call
    	insert_single_step_breakpoint.
    	* alpha-tdep.c (alpha_deal_with_atomic_sequence): Likewise.
    	(alpha_software_single_step): Likewise.
    	* alpha-tdep.h (alpha_software_single_step): Update declaration.
    	* arm-linux-tdep.c (arm_linux_software_single_step): Return
    	VEC (CORE_ADDR) *.  Return NULL instead of 0.
    	* arm-tdep.c (arm_software_single_step): Return NULL instead of	0.
    	* arm-tdep.h (arm_software_single_step): Update declaration.
    	* breakpoint.c (insert_single_step_breakpoints): New function.
    	* breakpoint.h (insert_single_step_breakpoints): Declare.
    	* cris-tdep.c (cris_software_single_step): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	* gdbarch.sh (software_single_step): Change it to return
    	VEC (CORE_ADDR) *.
    	* gdbarch.c, gdbarch.h: Regenerated.
    	* infrun.c (maybe_software_singlestep): Adjust.
    	* mips-tdep.c (mips_deal_with_atomic_sequence): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	(micromips_deal_with_atomic_sequence): Likewise.
    	(deal_with_atomic_sequence): Likewise.
    	(mips_software_single_step): Likewise.
    	* mips-tdep.h (mips_software_single_step): Update declaration.
    	* moxie-tdep.c (moxie_software_single_step): Likewise.
    	* nios2-tdep.c (nios2_software_single_step): Likewise.
    	* ppc-tdep.h (ppc_deal_with_atomic_sequence): Update
    	declaration.
    	* record-full.c (record_full_resume): Adjust.
    	(record_full_wait_1): Likewise.
    	* rs6000-aix-tdep.c (rs6000_software_single_step): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	* rs6000-tdep.c	(ppc_deal_with_atomic_sequence): Return
    	VEC (CORE_ADDR) *.  Don't call insert_single_step_breakpoint.
    	* s390-linux-tdep.c (s390_software_single_step): Likewise.
    	* sparc-tdep.c (sparc_software_single_step): Likewise.
    	* spu-tdep.c (spu_software_single_step): Likewise.
    	* tic6x-tdep.c (tic6x_software_single_step): Likewise.

commit 0bc5d801ec836cd4b7d1ab7d05658e7a1d05df22
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 12:58:33 2016 +0000

    Clear addr bit in next_pcs vector
    
    This patch is to split the loop of calling gdbarch_addr_bits_remove
    and insert_single_step_breakpoint into two loops.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-linux-tdep.c (arm_linux_software_single_step): Write
    	adjusted address back to vector.  Call insert_single_step_breakpoint
    	in a new loop.
    	* arm-tdep.c (arm_software_single_step): Likewise.

commit 771da62d67a9f27c1e706610efe51b13c3f9fd60
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 12:47:16 2016 +0000

    Remove arm_insert_single_step_breakpoint
    
    This patch is to remove arm_insert_single_step_breakpoint.
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-linux-tdep.c (arm_linux_software_single_step): Don't
    	call arm_insert_single_step_breakpoint, call
    	insert_single_step_breakpoint instead.
    	* arm-tdep.c (arm_insert_single_step_breakpoint): Remove.
    	(arm_software_single_step): Don't call
    	arm_insert_single_step_breakpoint, call
    	insert_single_step_breakpoint instead.
    	* arm-tdep.h (arm_insert_single_step_breakpoint): Remove
    	declaration.

commit 53c3572a9f5b03a92292cb6d24bf69b52c95500e
Author: Cordian A. Daniluk <th3c0r1uk@gmail.com>
Date:   Sat Oct 29 20:39:57 2016 +0200

    Fix PR breakpoints/20739: Badly formatted adress string in error message
    
    Remove duplicate `0x'-prefix for the hex address printed.  `paddress'
    already prepends this, so no need to do it manually.
    
    gdb/ChangeLog:
    2016-11-08  Cordian A. Daniluk  <th3c0r1uk@gmail.com>
    
    	PR breakpoints/20739
    	* breakpoint.c (check_fast_tracepoint_sals): Don't print duplicate
    	0x prefix.

commit 3b0d929dd61fcd55b4ef320a2033c731443b394f
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Nov 8 12:32:05 2016 +0000

    Fix bfd/dwarf2.c build breakage
    
    Fix build breakage introduced by commit 089e3718bd8d ("Greatly improve
    the speed if looking up DWARF line number information."):
    
     -  bfd_boolean is_linkage;
     -  const char *name;
     -  struct arange arange;
     +  int                  line;
     +  int                  tag;
     +  bfd                  boolean is_linkage;
    
    bfd/ChangeLog:
    2016-11-08  Pedro Alves  <palves@redhat.com>
    
    	* dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
    	not "bfd boolean".

commit 089e3718bd8de11fc4d6bbc8d32701033d467960
Author: Igor Tsimbalist <tigor.tools@gmail.com>
Date:   Tue Nov 8 12:01:58 2016 +0000

    Greatly improve the speed if looking up DWARF line number information.
    
    	* dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
    	'number_of_functions' to keep lookup table and number of entries in
    	the table.
    	(line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
    	to keep lookup table and number of entries in the table.
    	(lookup_funcinfo): New structure for lookup table for function
    	references.
    	(build_line_info_table): New function to create and build the lookup
    	table for line information.
    	(lookup_address_in_line_info_table): Use the lookup table instead of
    	traverse a linked list.
    	(compare_lookup_funcinfos): New compare fuction used in sorting of
    	lookup table for function references.
    	(build_lookup_funcinfo_table): New function to create, build and
    	sort the lookup table for functions references.
    	(lookup_address_in_function_table): Use the table instead of
    	traverse a linked list.
    	(_bfd_dwarf2_cleanup_debug_info): Free memory from function references
    	lookup table.

commit 20955dbf718992e83b7c971344931934b62a784f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Nov 8 11:32:53 2016 +0000

    Fix indentation
    
    gdb:
    
    2016-11-08  Yao Qi  <yao.qi@linaro.org>
    
    	* rust-lang.c (val_print_struct): Fix indentation.

commit 9dc193c3be85aafa60ceff57d3b0430af607b4ce
Author: Lionel Flandrin <lionel@svkt.org>
Date:   Tue Nov 8 10:27:36 2016 +0000

    Check for truncated registers in process_g_packet
    
    While investigating an unrelated issue in remote.c I noticed that the
    bound checking for 'g' packets was bogus:
    
    The previous code would only check that the first byte of the register
    was within bounds before passing the buffer to regcache_raw_supply.
    If it turned out that the register in the 'g' packet was incomplete
    then regcache_raw_supply would proceed to memcpy out-of-bounds.
    
    Since the buffer is allocated with alloca it's relatively unlikely to
    crash (you just end up dumping gdb's stack into the cache) but it's
    still a bit messy.
    
    I changed this logic to check for truncated registers and raise an
    error if one is encountered.  Hopefully it should make debugging
    remote stubs a bit easier.
    
    gdb/ChangeLog:
    2016-11-08  Lionel Flandrin  <lionel@svkt.org>
    
    	* remote.c (process_g_packet): Detect truncated registers in 'g'
    	packets and raise an error.

commit ec7b600bf1410f6bda239666fac258a605dc3f43
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 8 00:00:34 2016 +0000

    Automatic date update in version.in

commit 48c97fa1ba7d6628352fc2433abd91a41f6c8171
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Nov 7 14:58:38 2016 -0800

    X86: Properly handle bad FPU opcode
    
    Since Bad_Opcode and FGRPd9_2 were the same in i386-dis.c, all
    Bad_Opcode entries in float_reg were displaced as FGRPd9_2.  This
    patch adds an entry for Bad_Opcode in fgrps to avoid treating it
    as FGRPd9_2.
    
    gas/
    
    	PR binutils/20775
    	* testsuite/gas/i386/i386.exp: Run fpu-bad.
    	* testsuite/gas/i386/fpu-bad.d: New file.
    	* testsuite/gas/i386/fpu-bad.s: Likewise.
    
    opcodes/
    
    	PR binutils/20775
    	* i386-dis.c (FGRPd9_2): Replace 0 with 1.
    	(FGRPd9_4): Replace 1 with 2.
    	(FGRPd9_5): Replace 2 with 3.
    	(FGRPd9_6): Replace 3 with 4.
    	(FGRPd9_7): Replace 4 with 5.
    	(FGRPda_5): Replace 5 with 6.
    	(FGRPdb_4): Replace 6 with 7.
    	(FGRPde_3): Replace 7 with 8.
    	(FGRPdf_4): Replace 8 with 9.
    	(fgrps): Add an entry for Bad_Opcode.

commit 5996220cfa24ef6fddb782617720cd56913b1bb7
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:31:24 2016 -0800

    Fix ext lang calls to value_struct_elt.
    
    gdb/ChangeLog:
    
    	* guile/scm-value.c (gdbscm_value_field): Fix call to value_struct_elt.
    	* python/py-value.c (valpy_getitem): Ditto.

commit ad9eb1fdda263cd91ee8fb36292fb29d546b0076
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:27:22 2016 -0800

    i386-tdep.c (i386_gdbarch_init): Add comments.
    
    gdb/ChangeLog:
    
    	* i386-tdep.c (i386_gdbarch_init): Add comments.

commit bc71081e53e3c0a52a28d5874e65a54194e2205f
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:23:10 2016 -0800

    python/py-unwind.c (unwind_infopy_str): Fix use of VEC_iterate.
    
    gdb/ChangeLog:
    
    	* python/py-unwind.c (unwind_infopy_str): Fix use of VEC_iterate.

commit a57160325ef479bd7181a4319126b1177c4a5cbb
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:15:48 2016 -0800

    configure.tgt (x86_64-*-elf*): Remove i386bsd-tdep.o.
    
    gdb/ChangeLog:
    
    	* configure.tgt (x86_64-*-elf*): Remove i386bsd-tdep.o.

commit 5ada5c6fca335963b0b9fb9e91c999fcdaab2f89
Author: Doug Evans <dje@google.com>
Date:   Mon Nov 7 13:08:55 2016 -0800

    Sync config.sub,config.guess with upstream.

commit 7a34932bce1342c970a03128bbccc5a81ae3da6b
Author: Loïc Yhuel <loic.yhuel@softathome.com>
Date:   Mon Nov 7 08:00:21 2016 -0800

    Add missing '$' in configure.ac.
    
    2016-11-04  Loïc Yhuel <loic.yhuel@softathome.com>
    
    gold/
            * configure.ac: add missing '$'.
            * configure: Regenerate.

commit e680a6b69b4bd173a180419e973a9bf18a000151
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 7 15:05:34 2016 +0000

    Fix infinite loop when processing rpath tokens.
    
    	PR ld/20784
    	* emultempl/elf32.em (search_needed): Fix infinite loop when
    	unable to process a token.  Add support for curly braced enclosed
    	tokens.
    	* ld.texinfo (--rpath-link): Document supprot for $ORIGIN and
    	$LIB.

commit 9af89fbaecca21b2ca34c142584165066807fb10
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Nov 7 12:28:16 2016 +0000

    Note that the linker's --compress-debug-sections option overrides the compression status of any input debug sections.
    
    	* ld.texinfo (--compress-debug-sections): Expand documentation of
    	this option.

commit b93bfa1980fa4d1229874067dd36acd9ac5685cd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Nov 7 00:00:23 2016 +0000

    Automatic date update in version.in

commit 62e34765c9b25094e6a7b460c3a1632efe51e03e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Nov 6 00:00:24 2016 +0000

    Automatic date update in version.in

commit 9cee1c1eb3d7a39279f7a0dae94bb38ab1106d1b
Author: Nathan Sidwell <nathan@acm.org>
Date:   Thu Nov 3 20:42:23 2016 -0700

    Fix gas crash with unreasonably long lines
    
    	gas/
    	* input-scrub.c (partial_size): Make size_t.
    	(buffer_length): Likewise.  Adjust meaning.
    	(struct input_save): Adjust partial_size type.
    	(input_scrub_reinit): New.
    	(input_scrub_push, input_scrub_begin): Use it.
    	(input_scrub_next_buffer): Fix buffer extension logic. Only scan
    	newly read buffer for newline.

commit 26c4b26f0cc51f04cdaba3c9e6ff09032bd10d8b
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date:   Fri Nov 4 23:47:32 2016 -0400

    Fix a few typos
    
    gdb/ChangeLog:
    
    	* maint.c (scoped_command_stats::scoped_command_stats): Fix typo.
    	* ppcnbsd-tdep.c (_initialize_ppcnbsd_tdep): Likewise.
    	* ppcobsd-tdep.c (_initialize_ppcobsd_tdep): Likewise.
    	* ui-out.c (ui_out_new): Likewise.
    	* utils.c (init_page_info): Likewise.
    	(reset_prompt_for_continue_wait_time): Likewise.
    	* windows-nat.c (windows_init_thread_list): Likewise.
    	* xtensa-tdep.c (call0_analyze_prologue): Likewise.

commit 7989954c57444ef2a5963bb2bb0fae4652b846a6
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Nov 5 00:00:20 2016 +0000

    Automatic date update in version.in

commit b437d035ddf4e4c0c566c577ee059790ed28ad9b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 27 12:06:01 2016 +0100

    arc/nps400: Validate address type operands correctly
    
    When we match against an address type operand within an instruction it
    is important that we match exactly the right address type operand early
    on, during the opcode selection phase.  If we wait until the operand
    insertion phase to check that we have the correct address operand, then
    it is too late to select an alternative opcode.  This becomes important
    only when we have multiple opcodes with the same mnemonic, and operand
    lists that differ only in the type of the address operands.
    
    This commit fixes this issue, and adds some example instructions that
    require this issue to be fixed (the instructions are identical except
    for the address type operand).
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (find_opcode_match): Use insert function to
    	validate matching address type operands.
    	* testsuite/gas/arc/nps400-10.d: New file.
    	* testsuite/gas/arc/nps400-10.s: New file.
    
    opcodes/ChangeLog:
    
    	* arc-opc.c (arc_flag_operands): Add F_DI14.
    	(arc_flag_classes): Add C_DI14.
    	* arc-nps400-tbl.h: Add new exc instructions.

commit 848ac659685fba46ce8816400db705f60c8040f7
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Aug 11 16:04:59 2016 +0100

    objcopy: Close some memory leaks in error paths
    
    Closes some memory leaks within objcopy for error paths.
    
    binutils/ChangeLog:
    
    	* objcopy.c (copy_section): Add extra calls to free for error
    	paths.

commit c42608e136ef1eb52f65002d5e7efe6d62b7f285
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Aug 21 21:47:14 2016 -0600

    set default-directory in dwarf-browse
    
    I've been using dwarf-mode.el again recently and I found it mildly
    annoying that the mode doesn't set default-directory.  Setting it
    means that operations in the dwarf-browsing buffer default to the
    directory holding the object file being investigated.
    
    This bumps the version number as well so that updating it via the
    package manager works properly.
    
    2016-11-04  Tom Tromey  <tom@tromey.com>
    
    	* dwarf-mode.el (dwarf-browse): Set default-directory.  Bump
    	version number.

commit feb4bea70a297eb6316d1b0685bbbb8095b7fb29
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Fri Nov 4 19:48:35 2016 +0100

    S/390: Fix 16 bit pc relative relocs.
    
    Since the bpp instruction has been added the 16 bit wide pc relative
    relocs might occur at offset 2 as well at offset 4 in an instruction.
    With this patch the different adjustment is passed from
    md_gather_operand to md_apply_fix via fx_pcrel_adjust field in the fix
    data structure.
    
    No regressions on s390x.
    
    gas/ChangeLog:
    
    2016-11-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
    
    	* config/tc-s390.c (md_gather_operands): Set fx_pcrel_adjust.
    	(md_apply_fix): Use/Set fx_pcrel_adjust.
    	* testsuite/gas/s390/zarch-zEC12.d: Add bpp reloc test pattern.
    	* testsuite/gas/s390/zarch-zEC12.s: Add bpp reloc test.

commit d46a21655318492db1e6113972fb02ab49eae75f
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Nov 4 16:32:08 2016 +0000

    Commit missing ChangeLog entry for Cortex-M33 support
    
    2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    include/
    	* opcode/arm.h (ARM_AEXT_V8M_MAIN_DSP): Define.
    	(ARM_AEXT2_V8M_MAIN_DSP): Likewise.
    	(ARM_ARCH_V8M_MAIN_DSP): Likewise.

commit b19ea8d28b1c06c2973738c1cda076f895ac3ad0
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Nov 4 16:24:59 2016 +0000

    Add support for ARM Cortex-M33 processor
    
    2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (cortex-m33): Declare new processor.
    	* doc/c-arm.texi (-mcpu ARM command line option): Document new
    	Cortex-M33 processor.
    	* NEWS: Mention ARM Cortex-M33 support.

commit ce1b0a458aed5fea182c8eb4a8cf1161d1c0a20f
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Nov 4 16:24:08 2016 +0000

    Add support for ARM Cortex-M23 processor
    
    2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    gas/
    	* config/tc-arm.c (cortex-m23): Declare new processor.
    	* doc/c-arm.texi (-mcpu ARM command line option): Document new
    	Cortex-M23 processor.
    	* NEWS: Mention ARM Cortex-M23 support.

commit 13be4805fe268e9ac61e6a6b22d19b8e6e7738bb
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Fri Nov 4 16:08:31 2016 +0000

    Add maintainers for RISC-V target.
    
    	* MAINTAINERS: Add myself and Andrew Waterman as maintainers for
    	the RISC-V target.

commit 4f7eddc4d1a03c982a4f0361879bc5347b921b10
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date:   Fri Nov 4 14:18:06 2016 +0000

    Update RISC-V documentation and make sure that it is included in the gas info file.
    
    	* Makefile.am (CPU_DOCS): Add c-riscv.texi.
    	* Makefile.in: Regenerate.
    	* doc/all.texi: Set RISCV.
    	* doc/as.texinfo: Add RISCV options.
    	Add RISC-V-Dependent node.
    	Include c-riscv.texi.
    	* doc/c-riscv.texi: Rename RISC-V Options to RISC-V-Opts.

commit 88ba72a2dfae2e71e3b0798ac74c6853749fd502
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 4 13:57:40 2016 +0000

    Remove support for $PLATFORM in rpath search paths.
    
    	* emultempl/elf32.em (search_needed): Remove use of getauxval and
    	inclusion of <sys/auxv.h>.  Replace support for $PLATFORM with a
    	warning message.
    	* configure.ac (AC_CHECK_FUNCS): Remove getauxval.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 1b7a12f2d68f2f334fbe78cc2db76982ba6d4ef1
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 4 13:50:01 2016 +0000

    Fix building binutils for all 32-bit targets by moving riscv32 target into 64-bit builds only.
    
    	* targets.c (bfd_target_vector): Only add riscv_elf32_vec target
    	when supporting 64-bit BFD targets.

commit 8f1732fc2a11dc2dbece0800d4ed6f011590d3ad
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 14:21:05 2016 +0100

    ld: Allow EXCLUDE_FILE to be used outside of the section list
    
    Currently the EXCLUDE_FILE linker script construct can only be used
    within the input section list, and applied only to the section pattern
    immediately following the EXCLUDE_FILE.  For example:
    
        *.o (EXCLUDE_FILE (a.o) .text .rodata)
    
    In this case all sections matching '.text' are included from all files
    matching '*.o' but not from the file 'a.o'.  All sections matching
    '.rodata' are also included from all files matching '*.o' (incluing from
    'a.o').
    
    If the user wants to restrict the inclusion of section '.rodata' so that
    this too is not taken from the file 'a.o' then the above example must be
    extended like this:
    
        *.o (EXCLUDE_FILE (a.o) .text EXCLUDE_FILE (a.o) .rodata)
    
    However, due to the internal grammar of the linker script language the
    snippet 'EXCLUDE_FILE (a.o) .text' is parsed by a pattern called
    'wildcard_spec'.  The same 'wildcard_spec' pattern is also used to parse
    the input file name snippet '*.o' in the above examples.  As a result of
    this pattern reuse within the linker script grammar then the following
    is also a valid linker script construct:
    
        EXCLUDE_FILE (a.o) *.o (.text .rodata)
    
    However, though the linker accepts this without complaint the
    EXCLUDE_FILE part is silently ignored and has no effect.
    
    This commit takes this last example and makes it a useful, valid,
    construct.  The last example now means to include sections '.text' and
    '.rodata' from all files matching '*.o' except for the file 'a.o'.
    
    If the list of input sections is long, and the user knows that the file
    exclusion applies across the list then the second form might be a
    clearer alternative to replicating the EXCLUDE_FILE construct.
    
    I've added a set of tests for EXCLUDE_FILE to the linker, including
    tests for the new functionality.
    
    ld/ChangeLog:
    
    	* ldlang.h (struct lang_wild_statement_struct): Add
    	exclude_name_list field.
    	* ldlang.c (walk_wild_file_in_exclude_list): New function.
    	(walk_wild_consider_section): Use new
    	walk_wild_file_in_exclude_list function.
    	(walk_wild_file): Add call to walk_wild_file_in_exclude_list.
    	(print_wild_statement): Print new exclude_name_list field.
    	(lang_add_wild): Initialise new exclude_name_list field.
    	* testsuite/ld-scripts/exclude-file-1.d: New file.
    	* testsuite/ld-scripts/exclude-file-1.map: New file.
    	* testsuite/ld-scripts/exclude-file-1.t: New file.
    	* testsuite/ld-scripts/exclude-file-2.d: New file.
    	* testsuite/ld-scripts/exclude-file-2.map: New file.
    	* testsuite/ld-scripts/exclude-file-2.t: New file.
    	* testsuite/ld-scripts/exclude-file-3.d: New file.
    	* testsuite/ld-scripts/exclude-file-3.map: New file.
    	* testsuite/ld-scripts/exclude-file-3.t: New file.
    	* testsuite/ld-scripts/exclude-file-4.d: New file.
    	* testsuite/ld-scripts/exclude-file-4.map: New file.
    	* testsuite/ld-scripts/exclude-file-4.t: New file.
    	* testsuite/ld-scripts/exclude-file-a.s: New file.
    	* testsuite/ld-scripts/exclude-file-b.s: New file.
    	* testsuite/ld-scripts/exclude-file.exp: New file.
    	* ld.texinfo (Input Section Basics): Update description of
    	EXCLUDE_FILE to cover the new features.
    	* NEWS: Mention new EXCLUDE_FILE usage.

commit 88bd15396002102beedf49c87adee7b16c2bb409
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 15:25:55 2016 +0100

    ld: Create test object files based on source file name
    
    When creating object files during testing, base the name of the object
    file on the name of the source file, rather than using dump0.o,
    dump1.o, etc.  There's a few places where we have multiple source
    files with the same name but in different directories, in these cases,
    even after this change, we still add a numerical suffix to make the
    object file names unique.  So if we have 'foo/src.s' and 'bar/src.s',
    we will create object files 'src.o' and 'src1.o'.
    
    Update the few tests that hard code the object file name into the
    expected test results.
    
    ld/ChangeLog:
    
    	* testsuite/lib/ld-lib.exp (run_dump_test): Use object file names
    	based on the original source file name.
    	* testsuite/ld-discard/extern.d: Update object file names.
    	* testsuite/ld-discard/start.d: Likewise.
    	* testsuite/ld-discard/static.d: Likewise.
    	* testsuite/ld-elf/orphan-8.map: Likewise.

commit b709ef7ca12d963678c6f73b10a20bea60cfb0df
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Sun Oct 30 08:11:30 2016 +0000

    ld/xc16x: This target does not support -shared
    
    Add the xc16x-elf target to the list of targets that do not support
    the -shared option.  Being missing from this list was causing the
    linker to add '-z norelro' to the link line of many tests, which in
    turn caused these tests to fail.
    
    ld/ChangeLog:
    
    	* testsuite/lib/ld-lib.exp (check_shared_lib_support): Add
    	xc16x-*-elf to the list of targets that don't support -shared.

commit 6b211b9cc3c61f514423869af51a17e4c2bc7531
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Tue Sep 20 11:18:12 2016 +0100

    ld: Rename pattern within yacc grammar file
    
    Rename file_NAME_list to section_NAME_list in the linker's grammar
    file.  This rename reflects how the pattern is now being used, and makes
    the grammar easier to understand.
    
    There should be no functional change after this commit.
    
    ld/ChangeLog:
    
    	* ldgram.y: Rename file_NAME_list to section_NAME_list
    	throughout.

commit aed6eddb24be670fa619b844c651095bb65396d1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Nov 4 00:00:13 2016 +0000

    Automatic date update in version.in

commit cdf5a07c75b47481da1e99ee91ee860c2a6bb5f6
Author: Manish Goregaokar <manish@mozilla.com>
Date:   Sat Oct 29 05:55:58 2016 -0700

    Add support for the sizeof function in Rust
    
    2016-10-29  Manish Goregaokar  <manish@mozilla.com>
    
    gdb/ChangeLog:
        * rust-exp.y: Parse `sizeof(exp)` as `UNOP_SIZEOF`
    
    gdb/testsuite/ChangeLog:
        * gdb.rust/simple.exp: Add tests for `sizeof(expr)`

commit b96645f1a1e6084ed6a20ddf615bdc4d2487a9c9
Author: Manish Goregaokar <manish@mozilla.com>
Date:   Fri Oct 28 18:00:43 2016 -0700

    Add support for untagged unions in Rust
    
    2016-10-28  Manish Goregaokar  <manish@mozilla.com>
    
    gdb/ChangeLog:
        * rust-lang.c (rust_union_is_untagged): Add function to
        check if a union is an untagged unioni
        (rust_val_print): Handle printing of untagged union values
        (rust_print_type): Handle printing of untagged union types
        (rust_evaluate_subexp): Handle evaluating field
        access on untagged unions

commit 51a789c3bf3d9b04d3d81493fda7f2514ae43add
Author: Manish Goregaokar <manish@mozilla.com>
Date:   Thu Oct 27 16:46:34 2016 -0700

    Fix handling of discriminantless univariant enums in Rust; fix bug with encoded enums
    
    2016-10-27  Manish Goregaokar  <manish@mozilla.com>
    
    gdb/ChangeLog:
        * rust-lang.c (rust_get_disr_info): Treat univariant enums
        without discriminants as encoded enums with a real field
        * rust-lang.c (rust_evaluate_subexp): Handle field access
        on encoded struct-like enums
    
    gdb/testsuite/ChangeLog:
        * simple.rs: Add test for univariant enums without discriminants
        and for encoded struct-like enums
        * simple.exp: Add test expectations

commit 98d0e90ccafe18d0b6392fa891e4b3d77299ae95
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Oct 26 17:53:21 2016 +0100

    [ARC] Fix ldbit test on 32-bit systems
    
    The long immediate operand chosen for one of the ldbit tests is
    equivalent to a small negative value that would fit inside an s9
    operand, leading to the assembler to choose an unexpected (but
    legitimate) encoding of the instruction on 32-bit systems, and
    therefore causing the test to fail. This commit fixes the test by
    changing the offending limm value so that it can no longer be
    interpreted as an s9 operand.
    
    gas/ChangeLog:
    
        * testsuite/gas/arc/nps400-6.s: Change ldbit tests so that
        limm operands are out of the range of an s9, in order to fix
        the test.
        * testsuite/gas/arc/nps400-6.d: Updated to match new expected
        output.

commit 5a736821eff3aa4a8da237778526f9f700759c7a
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Tue Oct 18 20:10:25 2016 +0100

    arc: Implement NPS-400 dcmac instruction
    
    gas/ChangeLog:
    
           * testsuite/gas/arc/nps-400-9.d: Added.
           * testsuite/gas/arc/nps-400-9.s: Added.
    
    include/ChangeLog:
    
           * opcode/arc.h: Add PROTOCOL_DECODE to insn_class_t.
    
    opcodes/ChangeLog:
    
           * arc-dis.c (arc_insn_length): Return length 8 for instructions with
           major opcode 0xa.
           * arc-nps-400-tbl.h: Add dcmac instruction.
           * arc-opc.c (arc_operands): Added operands for dcmac instruction.
           (insert_nps_rbdouble_64): Added.
           (extract_nps_rbdouble_64): Added.
           (insert_nps_proto_size): Added.
           (extract_nps_proto_size): Added.

commit bdfe53e3cfebb392b1a0ef50fdd02faafec6dc63
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Wed Jul 6 19:39:55 2016 +0100

    arc: Change max instruction length to 64-bits
    
    The current handling for arc instructions longer than 32-bits is all
    handled as a special case in both the assembler and disassembler.
    
    The problem with this approach is that it leads to code duplication,
    selecting a long instruction is exactly the same process as selecting a
    short instruction, except over more bits, in both cases we select based
    on bit comparison, and initial operand insertion and extraction.
    
    This commit unifies both the long and short instruction worlds,
    converting the core opcodes library from being largely 32-bit focused,
    to being largely 64-bit focused.
    
    The changes are, on the whole, not too much.  There's obviously a lot of
    type changes but otherwise the bulk of the code just works.  Most of the
    actual functional changes are to code that previously handled the longer
    48 or 64 bit instructions.  The insert/extract handlers for these have
    now been brought into line with the short instruction insert/extract
    handlers.
    
    All of the special case handling code that was previously added has now
    been removed again.  Overall, this commit reduces the amount of code in
    the arc assembler and disassembler.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (struct arc_insn): Change type of insn field.
    	(md_number_to_chars_midend): Support 6- and 8-byte values.
    	(emit_insn0): Update debug output.
    	(find_opcode_match): Likewise.
    	(build_fake_opcode_hash_entry): Delete.
    	(find_special_case_long_opcode): Delete.
    	(find_special_case): Remove long format special case handling.
    	(insert_operand): Change instruction type and update debug print
    	format.
    	(assemble_insn): Change instruction type, update debug print
    	formats, and remove unneeded assert.
    
    include/ChangeLog:
    
    	* opcode/arc.h (struct arc_opcode): Change type of opcode and mask
    	fields.
    	(struct arc_long_opcode): Delete.
    	(struct arc_operand): Change types for insert and extract
    	handlers.
    
    opcodes/ChangeLog:
    
    	* arc-dis.c (struct arc_operand_iterator): Remove all fields
    	relating to long instruction processing, add new limm field.
    	(OPCODE): Rename to...
    	(OPCODE_32BIT_INSN): ...this.
    	(OPCODE_AC): Delete.
    	(skip_this_opcode): Handle different instruction lengths, update
    	macro name.
    	(special_flag_p): Update parameter type.
    	(find_format_from_table): Update for more instruction lengths.
    	(find_format_long_instructions): Delete.
    	(find_format): Update for more instruction lengths.
    	(arc_insn_length): Likewise.
    	(extract_operand_value): Update for more instruction lengths.
    	(operand_iterator_next): Remove code relating to long
    	instructions.
    	(arc_opcode_to_insn_type): New function.
    	(print_insn_arc):Update for more instructions lengths.
    	* arc-ext.c (extInstruction_t): Change argument type.
    	* arc-ext.h (extInstruction_t): Change argument type.
    	* arc-fxi.h: Change type unsigned to unsigned long long
    	extensively throughout.
    	* arc-nps400-tbl.h: Add long instructions taken from
    	arc_long_opcodes table in arc-opc.c.
    	* arc-opc.c: Update parameter types on insert/extract handlers.
    	(arc_long_opcodes): Delete.
    	(arc_num_long_opcodes): Delete.
    	(arc_opcode_len): Update for more instruction lengths.

commit 90f61cceac73fe40dcd21b3590c247bfa624ac00
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Thu Oct 13 09:34:16 2016 +0100

    arc: Swap highbyte and lowbyte in print_insn_arc
    
    highbyte and lowbyte actually refer to the low byte and the high
    byte respectively, but are used consistently in this swapped
    order. This commit swaps them round so that highbyte refers to the
    high byte and lowbyte refers to the low byte.
    
    There should be no functional change after this commit.
    
    opcodes/ChangeLog:
    
       * arc-dis.c (print_insn_arc): Swap highbyte and lowbyte.

commit 2e27220211249bfeb38b10e630b33fbd170fce6c
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Jul 6 19:01:53 2016 +0100

    opcodes/arc: Make some macros 64-bit safe
    
    In preparation to moving to a world where arc instructions can be 2, 4,
    6, or 8 bytes long, make some macros 64-bit safe.
    
    There should be no functional change after this commit.
    
    include/ChangeLog:
    
    	* opcode/arc.h: Make macros 64-bit safe.

commit 06fe285fd293e999481ec8f5c619658aa5e3b48b
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Thu Sep 29 19:25:25 2016 +0100

    arc: Replace ARC_SHORT macro with arc_opcode_len function
    
    In preparation for moving to a world where arc instructions can be 2, 4,
    6, or 8 bytes in length, replace the ARC_SHORT macro (which is either
    true of false) with an arc_opcode_len function that returns a length in
    bytes.
    
    There should be no functional change after this commit.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (assemble_insn): Replace use of ARC_SHORT with
    	arc_opcode_len.
    
    include/ChangeLog:
    
    	* opcode/arc.h (arc_opcode_len): Declare.
    	(ARC_SHORT): Delete.
    
    opcodes/ChangeLog:
    
    	* arc-dis.c (find_format_from_table): Replace use of ARC_SHORT
    	with arc_opcode_len.
    	(find_format_long_instructions): Likewise.
    	* arc-opc.c (arc_opcode_len): New function.

commit 91fdca6f26cf33573364b5bd313ed4bed6a547cc
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Jul 6 15:04:37 2016 +0100

    gas/arc: Replace short_insn flag with insn length field
    
    When assembling an instruction replace the short_insn boolean flag with
    an integer field for holding the instruction length.  This is in
    preparation for moving to a world where instructions can be 2, 4, 6, or
    8 bytes in length.
    
    gas/ChangeLog:
    
    	* config/tc-arc.c (struct arc_insn): Replace short_insn flag with
    	len field.
    	(apply_fixups): Update to use len field.
    	(emit_insn0): Simplify code, making use of len field.
    	(md_convert_frag): Update to use len field.
    	(assemble_insn): Update to use len field.

commit ecf64ec654afe916099f0fe482c2dae417913905
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Thu Sep 29 17:51:16 2016 +0100

    arc/opcodes/nps400: Fix some instruction masks
    
    A few masks were incorrect, there were opcode bits that lives outside of
    the instruction mask, the effected instructions are decode1, zncv, and
    efabgt.
    
    Previously these instructions would assemble and disassemble correctly,
    and a correctly encoded binary should behave no differently.  The only
    difference would be seen in a few incorrectly encoded binaries,
    previously these would have decoded to the above instructions, while now
    they will not.
    
    opcodes/ChangeLog:
    
    	* arc-nps400-tbl.h: Fix some instruction masks.

commit 2fe9c2a0c9fe3ca2f0fa94ea7219a8a4a299ac6a
Author: Siddhesh Poyarekar <siddhesh.poyarekar@linaro.org>
Date:   Thu Oct 20 00:29:34 2016 +0530

    New option falkor for Qualcomm server part
    
    This adds an option for the Qualcomm falkor core, the corresponding
    gcc patch is here:
    
    https://gcc.gnu.org/ml/gcc-patches/2016-11/msg00262.html
    
    This was tested with aarch64 and armhf builds and make check and also
    by building and running SPEC2006.
    
            * config/tc-aarch64.c (aarch64_cpus): Add falkor.
            * config/tc-arm.c (arm_cpus): Likewise.
            * doc/c-aarch64.texi: Likewise.
            * doc/c-arm.texi: Likewise.

commit d039fef395c1b5fd781acaf1c611f96f654f5f91
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Nov 3 09:55:01 2016 -0700

    X86: Reuse opcode 0x80 decoder for opcode 0x82
    
    Since opcode 0x82 is an alias of opcode 0x80, we can reuse opcode 0x80
    decoder.
    
    	* i386-dis.c (REG_82): Removed.
    	(X86_64_82_REG_0): Likewise.
    	(X86_64_82_REG_1): Likewise.
    	(X86_64_82_REG_2): Likewise.
    	(X86_64_82_REG_3): Likewise.
    	(X86_64_82_REG_4): Likewise.
    	(X86_64_82_REG_5): Likewise.
    	(X86_64_82_REG_6): Likewise.
    	(X86_64_82_REG_7): Likewise.
    	(X86_64_82): New.
    	(dis386): Use X86_64_82 instead of REG_82.
    	(reg_table): Remove REG_82.
    	(x86_64_table): Add X86_64_82.  Remove X86_64_82_REG_0,
    	X86_64_82_REG_1, X86_64_82_REG_2, X86_64_82_REG_3,
    	X86_64_82_REG_4, X86_64_82_REG_5, X86_64_82_REG_6 and
    	X86_64_82_REG_7.

commit 8b89fe14b522cd6e5d160ff17defa8ecec243b11
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Nov 3 09:13:01 2016 -0700

    X86: Decode opcode 0x82 as opcode 0x80 in 32-bit mode
    
    Update x86 disassembler to treat opcode 0x82 as an aliase of opcode 0x80
    in 32-bit mode.
    
    gas/
    
    	PR binutils/20754
    	* testsuite/gas/i386/opcode.s: Add tests for opcode 0x82.
    	* testsuite/gas/i386/opcode-intel.d: Updated.
    	* testsuite/gas/i386/opcode.d: Likewise.
    
    opcodes/
    
    	PR binutils/20754
    	* i386-dis.c (REG_82): New.
    	(X86_64_82_REG_0): Likewise.
    	(X86_64_82_REG_1): Likewise.
    	(X86_64_82_REG_2): Likewise.
    	(X86_64_82_REG_3): Likewise.
    	(X86_64_82_REG_4): Likewise.
    	(X86_64_82_REG_5): Likewise.
    	(X86_64_82_REG_6): Likewise.
    	(X86_64_82_REG_7): Likewise.
    	(dis386): Use REG_82.
    	(reg_table): Add REG_82.
    	(x86_64_table): Add X86_64_82_REG_0, X86_64_82_REG_1,
    	X86_64_82_REG_2, X86_64_82_REG_3, X86_64_82_REG_4,
    	X86_64_82_REG_5, X86_64_82_REG_6 and X86_64_82_REG_7.

commit 722bcb33bf0383487c1af0e7d401e30301e94e2b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 16:09:42 2016 +0000

    Replace YY_NULL with YY_NULLPTR in LANG-exp.c
    
    As we require c++11, GDB fails to build if bison is not new enough.
    I see the following error on the system (fedora 19) that bison is
    2.6.4,
    
    g++ -std=gnu++11 .... \
    	-c -o ada-exp.o -MT ada-exp.o -MMD -MP -MF .deps/ada-exp.Tpo 'if test -f ada-exp.c; then echo ada-exp.c; else echo ../../binutils-gdb/gdb/ada-exp.c; fi`
    In file included from ../../binutils-gdb/gdb/ada-exp.y:731:0:
    ada-lex.c:113:0: error: "YY_NULL" redefined [-Werror]
     #define YY_NULL 0
     ^
    ada-exp.c:158:0: note: this is the location of the previous definition
     #   define YY_NULL nullptr
     ^
    cc1plus: all warnings being treated as errors
    make: *** [ada-exp.o] Error 1
    
    Both ada-exp.c and ada-lex.c has macro YY_NULL, like this,
    
     $ cat 1.c
     # ifndef YY_NULL
     #  if defined __cplusplus && 201103L <= __cplusplus
     #   define YY_NULL nullptr
     #  else
     #   define YY_NULL 0
     #  endif
     # endif
    
     #define YY_NULL 0
    
    as we can see, YY_NULL is defined differently (nullptr vs 0)
    
    $ g++ -std=c++11 -Wall 1.c -c
    1.c:9:0: warning: "YY_NULL" redefined
     #define YY_NULL 0
     ^
    1.c:3:0: note: this is the location of the previous definition
     #   define YY_NULL nullptr
     ^
    $ g++ -Wall 1.c -c
    
    bison renames YY_NULL to YY_NULLPTR in 2013 Nov,
    https://lists.gnu.org/archive/html/bison-patches/2013-11/msg00002.html
    and bison released later than 2013 Nov have this patch.  Bison 3.0.2,
    released on 2013 Dec, is OK.
    
    The fix is to replace YY_NULL with YY_NULLPTR via sed.  With old bison,
    YY_NULL becomes YY_NULLPTR; with new bison, YY_NULLPTR becomes
    YY_NULLPTRPTR,
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* Makefile.in (.y.c): Replace YY_NULL with YY_NULLPTR.

commit 034b77cf7875c4ea5aaf3d06dfea2e422abc47db
Author: Tristan Gingold <gingold@adacore.com>
Date:   Tue Sep 27 15:06:51 2016 +0200

    Deprecate old platforms
    
    bfd/
    	* config.bfd: Deprecate many old triplets.

commit 7148c36989ee64f15ac9618543309cd7311b6015
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Nov 3 08:38:13 2016 -0700

    X86: Rename REG_82 to REG_83
    
    The REG_82 entry in x86 disassembler is for opcode 0x83, not opcode
    0x82.
    
    	* i386-dis.c (REG_82): Renamed to ...
    	(REG_83): This.
    	(dis386): Updated.
    	(reg_table): Likewise.

commit 04180708eff91ddd3a9572bd4b517ccce5850db0
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Remove GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION
    
    Both of them are used in conversion.  We can remove them since the
    conversion is done.
    
    There are many architectures only have one breakpoint instruction,
    so their gdbarch methods breakpoint_kind_from_pc and
    sw_breakpoint_from_kind look very similar.  Instead of macro, we
    use template "template <size_t, const gdb_byte *> struct bp_manipulation"
    for these architectures.  In order to use template, I also change
    breakpoint instruction of type "static const gdb_byte[]" to
    "constexpr gdb_byte[]", and rename them to ARCH_break_insn.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    	    Pedro Alves <palves@redhat.com>
    
    	* aarch64-tdep.c (aarch64_default_breakpoint): Change it to
    	constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(aarch64_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* alpha-tdep.c (break_insn): Rename to alpha_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(alpha_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* arc-tdep.c (arc_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Remove.
    	(struct bp_manipulation): New.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): Remove.
    	(struct bp_manipulation_endian): New.
    	(BP_MANIPULATION): New.
    	(BP_MANIPULATION_ENDIAN): New.
    	* arm-tdep.c (arm_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* avr-tdep.c (avr_break_insn): Change it constexpr.
    	(avr_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* bfin-tdep.c (bfin_gdbarch_init): Likewise.
    	* cris-tdep.c (cris_gdbarch_init): Likewise.
    	* frv-tdep.c (breakpoint): Rename it to frv_break_insn, and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(frv_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* ft32-tdep.c (breakpoint): Rename it to ft32_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(ft32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* h8300-tdep.c (breakpoint): Rename it to h8300_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(h8300_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* hppa-tdep.c (breakpoint): Rename it to h8300_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(hppa_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* i386-tdep.c (break_insn): Rename it to i386_break_insn.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(i386_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* iq2000-tdep.c (iq2000_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* lm32-tdep.c (breakpoint): Rename it to lm32_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(lm32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m32c-tdep.c (break_insn): Rename it to m32c_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m32c_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m32r-tdep.c (m32r_gdbarch_init): Likewise.
    	* m68hc11-tdep.c (breakpoint): Rename it to m68hc11_break_insn and
    	change its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m68hc11_gdbarch_init): Don't use SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m68k-tdep.c (break_insn): Rename it to m68k_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m68k_gdbarch_init):  Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* m88k-tdep.c (break_insn): Rename it to m88k_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(m88k_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* mep-tdep.c (breakpoint): Rename it to mep_break_insn and change
    	its type to constexpr.  Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(mep_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* microblaze-tdep.c (break_insn): Rename it to
    	microblaze_break_insn and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(microblaze_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* mips-tdep.c (mips_gdbarch_init): Likewise.
    	* mn10300-tdep.c (breakpoint): Rename it to mn10300_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(mn10300_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* moxie-tdep.c (breakpoint): Rename it to moxie_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(moxie_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* msp430-tdep.c (breakpoint): Rename it to msp430_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(msp430_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* mt-tdep.c (mt_gdbarch_init): Likewise.
    	* nds32-tdep.c (break_insn): Rename it to nds32_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(nds32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* nios2-tdep.c (nios2_gdbarch_init): Likewise.
    	* rl78-tdep.c (breakpoint): Rename it to rl78_break_ins
    	and change its type to rl78_break_insn.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(rl78_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* rs6000-tdep.c (big_breakpoint): Change its type to
    	constexpr.
    	(little_breakpoint): Likewise.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN.
    	(rs6000_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* rx-tdep.c (breakpoint): Rename it to rx_break_insn and
    	change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(rx_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* s390-linux-tdep.c (breakpoint): Rename it to s390_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION
    	(s390_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* score-tdep.c (score_gdbarch_init): Likewise.
    	* sh-tdep.c (sh_gdbarch_init): Likewise.
    	* sh64-tdep.c (sh64_gdbarch_init): Likewise.
    	* sparc-tdep.c (break_insn): Rename it to sparc_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(sparc32_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* spu-tdep.c (breakpoint): Rename it to spu_break_insn and change
    	its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(spu_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* tic6x-tdep.c (tic6x_gdbarch_init): Likewise.
    	* tilegx-tdep.c (breakpoint): Rename it to tilegx_break_insn
    	and change its type to constexpr.  Don't use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(tilegx_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* v850-tdep.c (v850_gdbarch_init): Likewise.
    	* vax-tdep.c (break_insn): Rename it to vax_break_insn and
    	change its type to constexpr.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(vax_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* xstormy16-tdep.c (breakpoint): Rename it to
    	xstormy16_break_insn and change its type to constexpr.
    	Don't use GDBARCH_BREAKPOINT_MANIPULATION.
    	(xstormy16_gdbarch_init): Don't use
    	SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* xtensa-tdep.c (xtensa_gdbarch_init): Likewise.

commit a97c97e8d7c818886f0f7beb3fd5dee0042b4a07
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Remove arm_override_mode
    
    GDB can determine the kind of single step breakpoint by gdbarch
    breakpoint_kind_from_current_state, so global variable
    arm_override_mode is no longer needed.  This patch removes it.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arm-tdep.c (arm_override_mode): Remove.
    	(arm_pc_is_thumb): Update.
    	(arm_insert_single_step_breakpoint): Update.

commit 833b7ab5008b769dca6db6d5ee1d21d33e730132
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Determine the kind of single step breakpoint
    
    This patch adds a new gdbarch method breakpoint_kind_from_current_state
    for single step breakpoint, and uses it in breakpoint_kind.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.c (default_breakpoint_kind_from_current_state):
    	New function.
    	* arch-utils.h (default_breakpoint_kind_from_current_state):
    	Declare.
    	* arm-tdep.c (arm_breakpoint_kind_from_current_state): New
    	function.
    	(arm_gdbarch_init): Call
    	set_gdbarch_breakpoint_kind_from_current_state.
    	* breakpoint.c (breakpoint_kind): Call
    	gdbarch_breakpoint_kind_from_current_state for single step
    	breakpoint.  Update comments.
    	* gdbarch.sh (breakpoint_kind_from_current_state): New.
    	* gdbarch.c, gdbarch.h: Regenerate.

commit 22f13eb869197fc45a0da2a8a96b03d39809862e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Add default_breakpoint_from_pc
    
    This patch adds the default implementation of gdbarch breakpoint_from_pc,
    which is,
    
    const gdb_byte *
    default_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr,
                               int *lenptr)
    {
      int kind = gdbarch_breakpoint_kind_from_pc (gdbarch, pcptr);
    
      return gdbarch_sw_breakpoint_from_kind (gdbarch, kind, lenptr);
    }
    
    so gdbarch can only defines sw_breakpoint_from_kind and
    breakpoint_kind_from_pc.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.c (default_breakpoint_from_pc): New function.
    	* arch-utils.h (GDBARCH_BREAKPOINT_FROM_PC): Remove.
    	(GDBARCH_BREAKPOINT_MANIPULATION): Don't use
    	GDBARCH_BREAKPOINT_FROM_PC.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): Don't call
    	set_gdbarch_breakpoint_from_pc.
    	(default_breakpoint_from_pc): Remove declaration.
    	* gdbarch.sh (breakpoint_from_pc): Add its default implementation.
    	* gdbarch.c, gdbarch.h: Regenerate.
    	* arm-tdep.c: Don't use GDBARCH_BREAKPOINT_FROM_PC.
    	* arc-tdep.c, bfin-tdep.c, cris-tdep.c, iq2000-tdep.c: Likewise.
    	* m32r-tdep.c, mips-tdep.c, mt-tdep.c: Likewise.
    	* nios2-tdep.c, score-tdep.c, sh-tdep.c: Likewise.
    	* sh64-tdep.c, tic6x-tdep.c, v850-tdep.c, xtensa-tdep.c: Likewise.

commit c0f4a997c26760d2584946196ee5c411d1a632a6
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:14 2016 +0000

    Remove gdbarch_remote_breakpoint_from_pc
    
    This patch removes gdbarch method remote_breakpoint_from_pc, as it
    is no longer used.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.c (default_remote_breakpoint_from_pc): Remove.
    	* arch-utils.h (default_remote_breakpoint_from_pc): Remove.
    	* arm-tdep.c (arm_remote_breakpoint_from_pc): Remove.
    	(arm_gdbarch_init): Don't call
    	set_gdbarch_remote_breakpoint_from_pc.
    	* gdbarch.sh (remote_breakpoint_from_pc): Remove.
    	* gdbarch.c, gdbarch.h: Regenerate.
    	* mips-tdep.c (mips_remote_breakpoint_from_pc): Remove.
    	(mips_gdbarch_init): Don't call
    	set_gdbarch_remote_breakpoint_from_pc.

commit 579c6ad9830058ccebf9c592d692c25fac6285c7
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    Rename placed_size to kind
    
    This patch renames placed_size to kind.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* breakpoint.h (struct bp_target_info) <placed_size>: Remove.
    	<kind>: New field.
    	Update all users.

commit cd6c3b4ffc4ea6f56f12581419e2eed885441beb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    New gdbarch methods breakpoint_kind_from_pc and sw_breakpoint_from_kind
    
    This patch adds two gdbarch methods breakpoint_kind_from_pc and
    sw_breakpoint_from_kind, and uses target_info.placed_size as "kind"
    of the breakpoint.  This patch updates the usages of
    target_info.placed_size.
    
    The "kind" of a breakpoint is determined by gdbarch rather than
    target, so we have gdbarch method breakpoint_kind_from_pc, and we
    should set target_info.placed_size out of each implementation of
    target to_insert_breakpoint.  In this way, each target doesn't have
    to set target_info.placed_size any more.
    
    This patch also sets target_info.placed_address before
    target_insert_breakpoint too, so that target to_insert_breakpoint
    can use it, see record_full_insert_breakpoint.
    
    Before we call target_insert_breakpoint, we set
    target_info.placed_address and target_info.placed_size like this,
    
          CORE_ADDR addr = bl->target_info.reqstd_address;
    
          bl->target_info.placed_size = gdbarch_breakpoint_kind_from_pc (bl->gdbarch, &addr);
          bl->target_info.placed_address = addr;
    
          return target_insert_breakpoint (bl->gdbarch, &bl->target_info);
    
    target_insert_breakpoint may fail, but it doesn't matter to the "kind"
    and "placed_address" of a breakpoint.  They should be determined by
    gdbarch.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): Define
    	breakpoint_kind_from_pc and sw_breakpoint_from_kind.
    	(GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): Likewise.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): Call
    	set_gdbarch_breakpoint_kind_from_pc and
    	set_gdbarch_sw_breakpoint_from_kind.
    	* arm-tdep.c: Add comments.
    	* bfin-tdep.c: Likewise.
    	* breakpoint.c (breakpoint_kind): New function.
    	(insert_bp_location): Set target_info.placed_size and
    	target_info.placed_address.
    	(bkpt_insert_location): Likewise.
    	* cris-tdep.c: Add comments.
    	* gdbarch.sh (breakpoint_kind_from_pc): New.
    	(sw_breakpoint_from_kind): New.
    	* gdbarch.c, gdbarch.h: Regenerated.
    	* ia64-tdep.c (ia64_memory_insert_breakpoint): Don't set
    	bp_tgt->placed_size.
    	(ia64_memory_remove_breakpoint): Don't assert
    	bp_tgt->placed_size.
    	(ia64_breakpoint_kind_from_pc): New function.
    	(ia64_gdbarch_init): Install ia64_breakpoint_kind_from_pc.
    	* m32r-tdep.c (m32r_memory_insert_breakpoint): Don't set
    	bp_tgt->placed_size.
    	* mem-break.c (default_memory_insert_breakpoint): Don't set
    	bp_tgt->placed_size.  Call gdbarch_sw_breakpoint_from_kind.
    	(default_memory_remove_breakpoint): Call
    	gdbarch_sw_breakpoint_from_kind.
    	(memory_validate_breakpoint): Don't check bp_tgt->placed_size.
    	* mips-tdep.c: Add comments.
    	* mt-tdep.c: Likewise.
    	* nios2-tdep.c: Likewise.
    	* record-full.c (record_full_insert_breakpoint): Don't call
    	gdbarch_breakpoint_from_pc.  Don't set bp_tgt->placed_address
    	and bp_tgt->placed_size.
    	* remote.c (remote_insert_breakpoint): Don't call
    	gdbarch_remote_breakpoint_from_pc.  Use bp_tgt->placed_size.
    	Don't set bp_tgt->placed_address and bp_tgt->placed_size.
    	(remote_insert_hw_breakpoint): Likewise.
    	* score-tdep.c: Likewise.
    	* sh-tdep.c: Likewise.
    	* tic6x-tdep.c: Likewise.
    	* v850-tdep.c: Likewise.
    	* xtensa-tdep.c: Likewise.

commit d19280adb5b2d1470dc39756ccac8a8fa2af8321
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    Split breakpoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind
    
    We convert each ARCH_breakpoint_from_pc to ARCH_breakpoint_kind_from_pc
    and ARCH_sw_breakpoint_from_kind.  Note that gdbarch doesn't have methods
    breakpoint_kind_from_pc and sw_breakpoint_from_kind so far.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.h (GDBARCH_BREAKPOINT_FROM_PC): New macro.
    	(GDBARCH_BREAKPOINT_MANIPULATION_ENDIAN): New macro.
    	* arm-tdep.c (arm_breakpoint_from_pc): Remove.
    	(arm_breakpoint_kind_from_pc): New function.
    	(arm_sw_breakpoint_from_kind): New function.
    	(arm_breakpoint_from_pc): Call arm_breakpoint_kind_from_pc
    	and arm_sw_breakpoint_from_kind.
    	Use GDBARCH_BREAKPOINT_FROM_PC.
    	(arm_remote_breakpoint_from_pc): Call
    	arm_breakpoint_kind_from_pc.
    	(arm_gdbarch_init): Replace set_gdbarch_breakpoint_from_pc
    	with SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* arc-tdep.c: Likewise.
    	* bfin-tdep.c: Likewise.
    	* cris-tdep.c: Likewise.
    	* iq2000-tdep.c: Likewise.
    	* m32r-tdep.c: Likewise.
    	* mips-tdep.c: Likewise.
    	* mt-tdep.c: Likewise.
    	* nios2-tdep.c: Likewise.
    	* rs6000-tdep.c: Likewise.
    	* score-tdep.c: Likewise.
    	* sh-tdep.c: Likewise.
    	* sh64-tdep.c: Likewise.
    	* tic6x-tdep.c: Likewise.
    	* v850-tdep.c: Likewise.
    	* xtensa-tdep.c: Likewise.

commit 44f1c4d7b0160a51ecf7fe1af42416f1d2a71356
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    Add enum for mips breakpoint kinds
    
    This patch adds an enum mips_breakpoint_kind to avoid using magic
    numbers as much as possible.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* mips-tdep.c (mips_breakpoint_kind): New enum.
    	(mips_breakpoint_from_pc): Use it.
    	(mips_remote_breakpoint_from_pc): Likewise.

commit 598cc9dc84aeaa66e4a77efa9dc8ff03d5532620
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION
    
    Many archs have only one kind of breakpoint, so their breakpoint_from_pc
    implementations are quite similar.  This patch uses macro
    GDBARCH_BREAKPOINT_MANIPULATION and SET_GDBARCH_BREAKPOINT_MANIPULATION
    for breakpoint_from_pc, so that we can easily switch from
    breakpoint_from_pc to breakpoint_kind_from_pc and sw_breakpoint_from_kind
    later.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* arch-utils.h (GDBARCH_BREAKPOINT_MANIPULATION): New macro.
    	(SET_GDBARCH_BREAKPOINT_MANIPULATION): New macro.
    	aarch64-tdep.c (aarch64_breakpoint_from_pc): Remove.  Use
    	GDBARCH_BREAKPOINT_MANIPULATION.
    	(aarch64_gdbarch_init): Replace set_gdbarch_breakpoint_from_pc
    	with SET_GDBARCH_BREAKPOINT_MANIPULATION.
    	* alpha-tdep.c: Likewise.
    	* avr-tdep.c: Likewise.
    	* frv-tdep.c: Likewise.
    	* ft32-tdep.c: Likewise.
    	* h8300-tdep.c: Likewise.
    	* hppa-tdep.c: Likewise.
    	* i386-tdep.c: Likewise.
    	* lm32-tdep.c: Likewise.
    	* m32c-tdep.c: Likewise.
    	* m68hc11-tdep.c: Likewise.
    	* m68k-tdep.c: Likewise.
    	* m88k-tdep.c: Likewise.
    	* mep-tdep.c: Likewise.
    	* microblaze-tdep.c: Likewise.
    	* mn10300-tdep.c: Likewise.
    	* moxie-tdep.c: Likewise.
    	* msp430-tdep.c: Likewise.
    	* rl78-tdep.c: Likewise.
    	* rx-tdep.c: Likewise.
    	* s390-linux-tdep.c: Likewise.
    	* sparc-tdep.c: Likewise.
    	* spu-tdep.c: Likewise.
    	* tilegx-tdep.c: Likewise.
    	* vax-tdep.c: Likewise.
    	* xstormy16-tdep.c: Likewise.

commit 8b55a7e4e5b30877e924e4b0ed0437d16ccdcedf
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Nov 3 14:35:13 2016 +0000

    gdbarch_breakpoint_from_pc doesn't return NULL
    
    gdbarch_breakpoint_from_pc doesn't return NULL except for
    ia64_breakpoint_from_pc, and we checked its return value in three
    places. In microblaze_linux_memory_remove_breakpoint and
    ppc_linux_memory_remove_breakpoint, gdbarch_breakpoint_from_pc never
    returns NULL, so we can remove the NULL checking.  In
    default_memory_insert_breakpoint, gdbarch_breakpoint_from_pc can't
    returns NULL too because ia64 defines its own memory_insert_breakpoint.
    
    gdb:
    
    2016-11-03  Yao Qi  <yao.qi@linaro.org>
    
    	* mem-break.c (default_memory_insert_breakpoint): Don't check
    	'bp' against NULL.
    	* microblaze-linux-tdep.c (microblaze_linux_memory_remove_breakpoint):
    	Likewise.
    	* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise.

commit bada43421274615d0d5f629a61a60b7daa71bc15
Author: Jiong Wang <jiong.wang@arm.com>
Date:   Thu Nov 3 12:00:53 2016 +0000

    [ARM] Allow MOV/MOV.W to accept all possible immediates
    
    gas/
    	* config/tc-arm.c (SBIT_SHIFT): New.
    	(T2_SBIT_SHIFT): Likewise.
    	(t32_insn_ok): Return TRUE for MOV in ARMv8-M Baseline.
    	(md_apply_fix): Try UINT16 encoding when ARM/Thumb modified immediate
    	encoding failed.
    	* testsuite/gas/arm/archv6t2-bad.s: New error case.
    	* testsuite/gas/arm/archv6t2-bad.l: New error match.
    	* testsuite/gas/arm/archv6t2.s: New testcase.
    	* testsuite/gas/arm/archv6t2.d: New expected result.
    	* testsuite/gas/arm/archv8m.s: New testcase.
    	* testsuite/gas/arm/archv8m-base.d: New expected result.
    	* testsuite/gas/arm/archv8m-main.d: Likewise.
    	* testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.

commit 225b362d1036121a611f3dd17fdb6780070ba51f
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Nov 3 11:31:53 2016 +0000

    Updated Danish translation for the BFD library.

commit c8c064b0dc4ef58b47151e1dfb207262a24ff2d1
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Nov 3 00:00:21 2016 +0000

    Automatic date update in version.in

commit 7d5697f9e27f79e1decc1215f33088cee9f7d863
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Oct 30 20:45:08 2016 -0600

    Fix dwarf_expr_context method regressions
    
    This fixes some regressions found in the patch to convert
    dwarf_expr_context to use methods.  Specifically:
    
    * get_base_type could erroneously throw; this was rewritten to move
      the size checks into the only spot needing them.
    * Previously the "symbol needs frame" implementation reused th
      "cfa" function for the get_frame_pc slot; this reimplements
      it under the correct name.
    * Not enough members were saved and restored in one implementation
      of push_dwarf_reg_entry_value; this patch fixes this oversight
      and also takes the opportunity to remove an extraneous structure
      definition.
    
    2016-11-02  Tom Tromey  <tom@tromey.com>
    
    	* dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type): Rename
    	from impl_get_base_type.  Rewrite.
    	(struct dwarf_expr_baton): Remove.
    	(dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value): Save and
    	restore more fields.
    	(symbol_needs_eval_context::get_frame_pc): New method.
    	* dwarf2expr.h (dwarf_expr_context::get_base_type): Now public,
    	virtual.
    	(dwarf_expr_context::impl_get_base_type): Remove.
    	* dwarf2expr.c (dwarf_expr_context::get_base_type): Remove.

commit 47acf0bd9faef8634d242e19ec3b7f784d10ba76
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Wed Nov 2 12:31:25 2016 -0700

    Enable Intel AVX512_4VNNIW instructions
    
    gas/
    
    	* config/tc-i386.c: (cpu_arch) Add .avx512_4vnniw.
    	(cpu_noarch): Add noavx512_4vnniw.
    	* doc/c-i386.texi: Document avx512_4vnniw, noavx512_4vnniw.
    	* testsuite/gas/i386/i386.exp: Run AVX512_4VNNIW tests.
    	* testsuite/gas/i386/avx512_4vnniwd_vl-intel.d: New test.
    	* testsuite/gas/i386/avx512_4vnniwd_vl.d: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd_vl.s: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd-intel.d: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd.d: Ditto.
    	* testsuite/gas/i386/avx512_4vnniwd.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd_vl.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4vnniwd.s: Ditto.
    
    opcodes/
    
    	* i386-dis.c (enum): Add PREFIX_EVEX_0F3852, PREFIX_EVEX_0F3853.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_4VNNIW_FLAGS,
    	CPU_ANY_AVX512_4VNNIW_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_4VNNIW.
    	* i386-opc.h (enum): (AVX512_4VNNIW): New.
    	(i386_cpu_flags): Add cpuavx512_4vnniw.
    	* i386-opc.tbl: Add Intel AVX512_4VNNIW instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 920d2ddccb72a366140ed28283165b274f7a9045
Author: Igor Tsimbalist <igor.v.tsimbalist@intel.com>
Date:   Wed Nov 2 12:24:39 2016 -0700

    Enable Intel AVX512_4FMAPS instructions
    
    gas/
    
    	* config/tc-i386.c (cpu_arch): Add .avx512_4fmaps.
    	(cpu_noarch): Add noavx512_4fmaps.
    	(process_operands): Handle implicit quad group.
    	* doc/c-i386.texi: Document avx512_4fmaps, noavx512_4fmaps.
    	* testsuite/gas/i386/i386.exp: Add AVX512_4FMAPS tests.
    	* testsuite/gas/i386/avx512_4fmaps_vl-intel.d: New test.
    	* testsuite/gas/i386/avx512_4fmaps_vl.d: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps_vl.s: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps-intel.d: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps.d: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps.s: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps-warn.l: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps-warn.s: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps_vl-warn.l: Ditto.
    	* testsuite/gas/i386/avx512_4fmaps_vl-warn.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps-intel.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps.d: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps-warn.l: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps-warn.s: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.l: Ditto.
    	* testsuite/gas/i386/x86-64-avx512_4fmaps_vl-warn.s: Ditto.
    
    opcodes/
    
    	* i386-dis.c. (enum): Add PREFIX_EVEX_0F389A,
    	PREFIX_EVEX_0F389B, PREFIX_EVEX_0F38AA, PREFIX_EVEX_0F38AB.
    	* i386-dis-evex.h (evex_table): Updated.
    	* i386-gen.c (cpu_flag_init): Add CPU_AVX512_4FMAPS_FLAGS,
    	CPU_ANY_AVX512_4FMAPS_FLAGS. Update CPU_ANY_AVX512F_FLAGS.
    	(cpu_flags): Add CpuAVX512_4FMAPS.
    	(opcode_modifiers): Add ImplicitQuadGroup modifier.
    	* i386-opc.h (AVX512_4FMAP): New.
    	(i386_cpu_flags): Add cpuavx512_4fmaps.
    	(ImplicitQuadGroup): New.
    	(i386_opcode_modifier): Add implicitquadgroup.
    	* i386-opc.tbl: Add Intel AVX512_4FMAPS instructions.
    	* i386-init.h: Regenerate.
    	* i386-tbl.h: Ditto.

commit 95dc74aa02352505785bb70ba60b706e70c74584
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Nov 2 00:00:20 2016 +0000

    Automatic date update in version.in

commit af955fe696088e69b436947b4a6f134567d31793
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 16:14:35 2016 +0000

    BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_lookup'
    
    Break out of the outer switch statement once the inner switch for the
    BFD_RELOC_CTOR relocation has been processed, preventing double BFD_FAIL
    calls from being made, once from the inner switch and then again from
    the default case of the outer switch.
    
    Noticed with a `-Wimplicit-fallthrough' build error reported by a recent
    GCC version:
    
    In file included from .../bfd/reloc.c:52:0:
    .../bfd/reloc.c: In function 'bfd_default_reloc_type_lookup':
    .../bfd/libbfd.h:779:8: error: this statement may fall through [-Werror=implicit-fallthrough=]
       do { bfd_assert(__FILE__,__LINE__); } while (0)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    .../bfd/reloc.c:7780:4: note: in expansion of macro 'BFD_FAIL'
        BFD_FAIL ();
        ^~~~~~~~
    .../bfd/reloc.c:7782:5: note: here
         default:
         ^~~~~~~
    cc1: all warnings being treated as errors
    make[4]: *** [reloc.lo] Error 1
    
    	bfd/
    	* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
    	not fall through to the default case.

commit be6222a47497b46a9d683e3c862894e70a5037c6
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Nov 1 10:24:18 2016 -0700

    Update binutils-lto-mixed.patch against master

commit e23eba971dd409b999dd83d8df0f842680c1c642
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Nov 1 16:45:57 2016 +0000

    Add support for RISC-V architecture.
    
    bfd	* Makefile.am: Add entries for riscv32-elf and riscv64-elf.
    	* config.bdf: Likewise.
    	* configure.ac: Likewise.
    	* Makefile.in: Regenerate.
    	* configure: Regenerate.
    	* archures.c: Add bfd_riscv_arch.
    	* reloc.c: Add riscv relocs.
    	* targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
    	* bfd-in2.h: Regenerate.
    	* libbfd.h: Regenerate.
    	* elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
    	* elfnn-riscv.c: New file.
    	* elfxx-riscv.c: New file.
    	* elfxx-riscv.h: New file.
    
    binutils* readelf.c (guess_is_rela): Add EM_RISCV.
    	(get_machine_name): Likewise.
    	(dump_relocations): Add support for riscv relocations.
    	(get_machine_flags): Add support for riscv flags.
    	(is_32bit_abs_reloc): Add R_RISCV_32.
    	(is_64bit_abs_reloc): Add R_RISCV_64.
    	(is_none_reloc): Add R_RISCV_NONE.
    	* testsuite/binutils-all/objdump.exp (cpus_expected): Add riscv.
    	Expect the debug_ranges test to fail.
    
    gas	* Makefile.am: Add riscv files.
    	* Makefile.in: Regenerate.
    	* NEWS: Mention the support for this architecture.
    	* configure.in: Define a default architecture.
    	* configure: Regenerate.
    	* configure.tgt: Add entries for riscv.
    	* doc/as.texinfo: Likewise.
    	* testsuite/gas/all/gas.exp: Expect the redef tests to fail.
    	* testsuite/gas/elf/elf.exp: Expect the groupauto tests to fail.
    	* config/tc-riscv.c: New file.
    	* config/tc-riscv.h: New file.
    	* doc/c-riscv.texi: New file.
    	* testsuite/gas/riscv: New directory.
    	* testsuite/gas/riscv/riscv.exp: New file.
    	* testsuite/gas/riscv/t_insns.d: New file.
    	* testsuite/gas/riscv/t_insns.s: New file.
    
    ld	* Makefile.am: Add riscv files.
    	* Makefile.in: Regenerate.
    	* NEWS: Mention the support for this target.
    	* configure.tgt: Add riscv entries.
    	* emulparams/elf32lriscv-defs.sh: New file.
    	* emulparams/elf32lriscv.sh: New file.
    	* emulparams/elf64lriscv-defs.sh: New file.
    	* emulparams/elf64lriscv.sh: New file.
    	* emultempl/riscvelf.em: New file.
    
    opcodes	* configure.ac: Add entry for bfd_riscv_arch.
    	* configure: Regenerate.
    	* disassemble.c (disassembler): Add support for riscv.
    	(disassembler_usage): Likewise.
    	* riscv-dis.c: New file.
    	* riscv-opc.c: New file.
    
    include	* dis-asm.h: Add prototypes for print_insn_riscv and
    	print_riscv_disassembler_options.
    	* elf/riscv.h: New file.
    	* opcode/riscv-opc.h: New file.
    	* opcode/riscv.h: New file.

commit c6b8910f2f24e096c7e0ca429c0fdad92213014c
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Nov 1 08:41:18 2016 -0700

    Update binutils-sharable.patch against master

commit 82c91f3282d2081706bb4bd28980587c158c8ce0
Merge: 834c5e3 4e56efa
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Nov 1 08:28:28 2016 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 4e56efac8b4d5e251e8edc13febec93992bd6eb4
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Nov 1 00:00:19 2016 +0000

    Automatic date update in version.in

commit c50730217d606814cda69a2bb6975730c0f1ee63
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 16:24:04 2016 +0000

    Remove IRIX 5 <sys/proc.h> _KMEMUSER workaround
    
    Complement commit 3831839c089c ("Delete IRIX support") and remove the
    IRIX 5 <sys/proc.h> _KMEMUSER workaround from the `configure' script, as
    IRIX is no longer a supported host configuration.
    
    	gdb/
    	* configure.ac <mips-sgi-irix5*>: Remove <sys/proc.h> _KMEMUSER
    	workaround.
    	* configure: Regenerate.
    	* config.in: Regenerate.

commit 7e3d947dd6ae45d71aa175b96fbd42a51e93b3f8
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 02:08:06 2016 +0000

    MIPS: Remove remains of legacy remote target support
    
    Complement commit f7c382926d78 ("Remove support for "target m32rsdi" and
    "target mips/pmon/ddb/rockhopper/lsi"") and remove dead MIPS target code
    which used to support these legacy remote targets.
    
    	gdb/
    	* mips-tdep.c (mips_r3041_reg_names): Remove.
    	(mips_breakpoint_from_pc): Remove IDT and PMON breakpoint
    	encodings.

commit de4bfa865e5ea54f2ab5b7af53e4abe825da699e
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Mon Oct 31 02:07:26 2016 +0000

    MIPS: Remove remains of IRIX OS ABI support
    
    Complement commit 3831839c089c ("Delete IRIX support") and remove dead
    MIPS target IRIX OS ABI support code.
    
    	gdb/
    	* defs.h (gdb_osabi): Remove GDB_OSABI_IRIX enum value.
    	* osabi.c (gdb_osabi_names): Remove "Irix" entry.
    	* mips-tdep.c (mips_irix_reg_names): Remove.
    	(mips_register_type): Remove GDB_OSABI_IRIX code.
    	(mips_pseudo_register_type): Likewise.
    	(mips_breakpoint_from_pc): Likewise.
    	(mips_gdbarch_init): Likewise.

commit fb47deda560b754008c35b5ec13fe02ef0593019
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Mon Oct 31 09:44:18 2016 +0000

    Initialize input statement created in add_archive_member
    
    2016-10-31  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    ld/
    	* ldmain.c (add_archive_element): Initialize input->header.type.
    	* plugin.c (plugin_maybe_claim): Assert the statement is an input
    	statement.

commit c646b02fdcae5f37bd88f33a0c4683ef13ad5c82
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Oct 31 12:46:38 2016 +1030

    Revert part "Set dynamic tag VMA and size from dynamic section when possible"
    
    	PR 20748
    	* elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
    	2016-05-13 change.

commit 1964088538cbf9483a1c9f411ad9d9054ea7be90
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Oct 31 00:00:22 2016 +0000

    Automatic date update in version.in

commit 690035b1471a58db62ec27d739f124f0f58f6af2
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Oct 30 00:00:23 2016 +0000

    Automatic date update in version.in

commit e6485aafde098bf182b46cb187d8fd049f309e29
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Oct 29 16:30:34 2016 +0100

    gdb/NEWS: Clarify C++ requirement
    
    gdb/ChangeLog:
    2016-10-29  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Clarify C++ requirement.

commit d29469235333ac99df5476499a59998ce49b39fa
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Oct 29 16:14:36 2016 +0100

    gdb/NEWS: Mention C++11 requirement
    
    gdb/ChangeLog:
    2016-10-29  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Adjust to mention C++11 requirement.

commit 8ba42bc5da8015fd0bd9e7f021af9cb0ef252005
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Sat Oct 29 18:10:23 2016 +0300

    Support command-line redirection in native MS-Windows debugging
    
    gdb/ChangeLog
    2016-10-29  Eli Zaretskii  <eliz@gnu.org>
    
    	* NEWS: Mention support for redirection on MS-Windows.
    
    	* windows-nat.c (redir_open, redir_set_redirection)
    	(redirect_inferior_handles) [!__CYGWIN__]: New functions.
    	(windows_create_inferior) [!__CYGWIN__]: Use
    	'redirect_inferior_handles' to redirect standard handles of the
    	debuggee if the command line requests that.

commit 39402e6c64121bdae146e82f6c48f0c0e0d9d26b
Author: Pedro Alves <palves@redhat.com>
Date:   Sat Oct 29 16:07:31 2016 +0100

    gdb/doc: Remove mention of vCont's default actions
    
    Discussion with qemu folks suggests that the vCont description could
    be even simpler and clearer.  Given we now say:
    
     For each inferior thread, the leftmost action with a matching
     thread-id is applied.
    
    There's really no need to even talk about "default" actions, which
    raises doubts about whether "default" is special in some way (it's
    not).
    
    See <https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg06944.html>.
    
    gdb/doc/ChangeLog:
    2016-10-29  Pedro Alves  <palves@redhat.com>
    
    	* gdb.texinfo (Packets) <vCont>: Remove mention of default
    	actions.

commit 6bcbbf52b2fe930f1ab1588611c84f052b6385cf
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Oct 29 00:00:19 2016 +0000

    Automatic date update in version.in

commit 0bcda68539948828795564b35a497dc69c27f768
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Oct 13 00:27:45 2016 +0100

    gdb: Require C++11
    
    Use AX_CXX_COMPILE_STDCXX to detect if the compiler supports C++11,
    and if -std=xxx switches are necessary to enable C++11.
    
    We need to tweak AX_CXX_COMPILE_STDCXX a bit though.  Pristine
    upstream AX_CXX_COMPILE_STDCXX appends -std=gnu++11 to CXX directly.
    That doesn't work for us, because the top level Makefile passes CXX
    down to subdirs, and that overrides whatever gdb/Makefile may set CXX
    to.  The result would be that a make invocation from the build/gdb/
    directory would use "g++ -std=gnu++11" as expected, while a make
    invocation at the top level would not.
    
    So instead of having AX_CXX_COMPILE_STDCXX set CXX directly, tweak it
    to AC_SUBST a separate variable -- CXX_DIALECT -- and use '$(CXX)
    (CXX_DIALECT)' to compile/link.
    
    Confirmed that this enables C++11 starting with gcc 4.8, the first gcc
    release with full C++11 support.
    
    Also confirmed that configure errors out gracefully with older GCC
    releases:
    
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features by default... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=gnu++11... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=gnu++0x... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=c++11... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -std=c++0x... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with +std=c++11... no
      checking whether /opt/gcc-4.7/bin/g++ supports C++11 features with -h std=c++11... no
      configure: error: *** A compiler with support for C++11 language features is required.
      Makefile:9451: recipe for target 'configure-gdb' failed
      make[1]: *** [configure-gdb] Error 1
      make[1]: Leaving directory '/home/pedro/brno/pedro/gdb/mygit/cxx-convertion/build-gcc-4.7'
    
    If we need to revert back to making C++11 optional, all that's
    necessary is to change the "mandatory" to "optional" in configure.ac
    and regenerate configure (both gdb and gdbserver).
    
    gdb/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (CXX_DIALECT): Get from configure.
    	(COMPILE.pre, CC_LD): Append $(CXX_DIALECT).
    	(FLAGS_TO_PASS): Pass CXX_DIALECT.
    	* acinclude.m4: Include ax_cxx_compile_stdcxx.m4.
    	* ax_cxx_compile_stdcxx.m4: Add FSF copyright header.  Set and
    	AC_SUBST CXX_DIALECT instead of changing CXX/CXXCPP.
    	* configure.ac: Call AX_CXX_COMPILE_STDCXX.
    	* config.in: Regenerate.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* Makefile.in (CXX_DIALECT): Get from configure.
    	(COMPILE.pre, CC_LD): Append $(CXX_DIALECT).
    	* acinclude.m4: Include ../ax_cxx_compile_stdcxx.m4.
    	* configure.ac: Call AX_CXX_COMPILE_STDCXX.
    	* config.in: Regenerate.
    	* configure: Regenerate.

commit 87106a7b0a3c403832f15aa316d5d6d2434e323f
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 28 16:00:38 2016 +0100

    gdb: Import AX_CXX_COMPILE_STDCXX from the GNU Autoconf Archive
    
    This macro throws C++11 code at the compiler in order to check whether
    it supports C++11.  final/override, rvalue references, static_assert,
    decltype, auto, constexpr, etc., and adds -std=gnu++11 to CXX if
    necessary.
    
    Nothing uses the macro yet.  Simply adding it as separate preliminary
    step because we'll need local changes.
    
    gdb/ChangeLog
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* ax_cxx_compile_stdcxx.m4: New file.

commit f610ab6d3cbab5d8b8ef3f3a93dd81a800ec5725
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 28 12:03:18 2016 +0100

    gdb/testsuite: Avoid a buffer overrun in `gdb.base/maint.exp'
    
    Fixes:
    
     PASS: gdb.base/maint.exp: maint w/o args
     ERROR: internal buffer is full.
     UNRESOLVED: gdb.base/maint.exp: maint info line-table w/o a file name
    
    The problem is just many symtabs and long line tables, enough to
    overflow the expect buffer.  Fix this by matching input incrementally.
    
    gdb/testsuite/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/maint.exp <maint info line-table w/o a file name>: Use
    	gdb_test_multiple, tighten regexps and match symtabs and line
    	tables incrementally.

commit b129b0cacd4c8e982605b7c8d99e96c74155882a
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Fri Oct 28 08:45:27 2016 -0500

    Make gdb.base/foll-exec.exp test pattern more general
    
    Testing a powerpc toolchain running gdbserver on the other end i noticed a
    failure in gdb.base/foll-exec.exp.  Turns out gdb is outputting a slightly
    different pattern due to the presence of debug information.
    
    --
    foll-exec is about to execlp(execd-prog)...^M
    Continuing.^M
    process 21222 is executing new program: gdb.d/outputs/gdb.base/foll-exec/execd-prog^M
    ^M
    Catchpoint 2 (exec'd gdb.d/outputs/gdb.base/foll-exec/execd-prog), _start () at ../sysdeps/powerpc/powerpc32/dl-start.S:32^M
    --
    
    Notice the presence of source file information.
    
    Now, on my local machine, i get this:
    
    --
    foll-exec is about to execlp(execd-prog)...^M
    Continuing.^M
    process 9285 is executing new program: gdb/testsuite/outputs/gdb.base/foll-exec/execd-prog^M
    ^M
    Catchpoint 2 (exec'd gdb/testsuite/outputs/gdb.base/foll-exec/execd-prog), 0x00007ffff7dd7cc0 in ?? () from /lib64/ld-linux-x86-64.so.2^M
    --
    
    So the output differs slightly and the testcase is actually expecting only
    the second form with the "in" anchor.
    
    This patch removes the "in" pattern and lets the test match both kinds of
    output.
    
    gdb/testsuite/ChangeLog:
    
    2016-10-28  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/foll-exec.exp (do_exec_tests): Make test pattern more
    	general.

commit 44d83468ec8e5fccf904d66b752ac36e07d66c56
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Oct 28 01:09:06 2016 +0100

    Fix gdb.base/maint.exp regressions
    
    This commit fixes these regressions:
    
     FAIL: gdb.base/maint.exp: mt set per on for expand-symtabs
     FAIL: gdb.base/maint.exp: maint set per-command on
    
    caused by commit 1e3b796d58ac ("Change command stats reporting to use
    class").
    
    gdb.log shows that the command stats are now printing garbage:
    
     (gdb) mt set per on
     Command execution time: -6.-419590 (cpu), 1467139648.-7706296840 (wall)
     Space used: 9809920 (-33276528 for this command)
     (gdb) FAIL: gdb.base/maint.exp: mt set per on for expand-symtabs
    
    while there should have been no output at all.
    
    The stats printing is done from within the scoped_command_stats's
    destructor, depending on whether some flags in the object are set.
    The problem is simply that scoped_command_stats's ctor misses clearing
    those flags on some paths.
    
    Since scoped_command_stats objects are allocated on the stack, whether
    you'll see the regression simply depends on whatever happens to
    already be on the stack space the object occupies.
    
    gdb/ChangeLog:
    2016-10-28  Pedro Alves  <palves@redhat.com>
    
    	* maint.c (scoped_command_stats::scoped_command_stats): Clear
    	m_space_enabled, m_time_enabled and m_symtab_enabled.

commit d87fdac3591d57c1a667b9d2dfeb05e3198b0b53
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Thu Jan 21 15:02:27 2016 +0100

    btrace: bridge gaps
    
    Most of the time, the trace should be in one piece.  This case is handled fine
    by GDB.  In some cases, however, there may be gaps in the trace.  They result
    from trace decode errors or from overflows.
    
    A gap in the trace means we lost an unknown amount of trace.  Gaps can be very
    small, such as a few instructions in the same function, or they can be rather
    big.  We may, for example, lose a few function calls or returns.  The trace may
    continue in a different function and we likely don't know how we got there.
    
    Even though we can't say how the program executed across a gap, higher levels
    may not be impacted too much by it.  Let's assume we have functions a-e and a
    trace that looks roughly like this:
    
      a
       \
        b                    b
         \                  /
          c   <gap>        c
                          /
                     d   d
                      \ /
                       e
    
    Even though we can't say for sure, it is likely that b and c are the same
    function instance before and after the gap.  This patch is trying to connect
    the c and b function segments across the gap.
    
    This will add a to the back trace of b on the right hand side.  The changes are
    reflected in GDB's internal representation of the trace and will improve:
    
      - the output of "record function-call-history /c"
      - the output of "backtrace" in replay mode
      - source stepping in replay mode
        will be improved indirectly via the improved back trace
    
    I don't have an automated test for this patch; decode errors will be fixed and
    overflows occur sporadically and are quite rare.  I tested it by hacking GDB to
    provoke a decode error and on the expected gap in the gdb.btrace/dlopen.exp
    test.
    
    The issue is that we can't predict where we will be able to re-sync in case of
    errors.  For the expected decode error in gdb.btrace/dlopen.exp, for example, we
    may be able to re-sync somewhere in dlclose, in test, in main, or not at all.
    
    Here's one example run of gdb.btrace/dlopen.exp with and without this patch.
    
        (gdb) info record
        Active record target: record-btrace
        Recording format: Intel Processor Trace.
        Buffer size: 16kB.
        warning: Non-contiguous trace at instruction 66608 (offset = 0xa83, pc = 0xb7fdcc31).
        warning: Non-contiguous trace at instruction 66652 (offset = 0xa9b, pc = 0xb7fdcc31).
        warning: Non-contiguous trace at instruction 66770 (offset = 0xacb, pc = 0xb7fdcc31).
        warning: Non-contiguous trace at instruction 66966 (offset = 0xb60, pc = 0xb7ff5ee4).
        warning: Non-contiguous trace at instruction 66994 (offset = 0xb74, pc = 0xb7ff5f24).
        warning: Non-contiguous trace at instruction 67334 (offset = 0xbac, pc = 0xb7ff5e6d).
        warning: Non-contiguous trace at instruction 69022 (offset = 0xc04, pc = 0xb7ff60b3).
        warning: Non-contiguous trace at instruction 69116 (offset = 0xc1c, pc = 0xb7ff60b3).
        warning: Non-contiguous trace at instruction 69504 (offset = 0xc74, pc = 0xb7ff605d).
        warning: Non-contiguous trace at instruction 83648 (offset = 0xecc, pc = 0xb7ff6134).
        warning: Decode error (-13) at instruction 83876 (offset = 0xf48, pc = 0xb7fd6380): no memory mapped at this address.
        warning: Non-contiguous trace at instruction 83876 (offset = 0x11b7, pc = 0xb7ff1c70).
        Recorded 83948 instructions in 912 functions (12 gaps) for thread 1 (process 12996).
        (gdb) record instruction-history 83876, +2
        83876   => 0xb7fec46f <call_init.part.0+95>:    call   *%eax
        [decode error (-13): no memory mapped at this address]
        [disabled]
        83877      0xb7ff1c70 <_dl_close_worker.part.0+1584>:   nop
    
    Without the patch, the trace is disconnected and the backtrace is short:
    
        (gdb) record goto 83876
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        #1  0xb7fec5d0 in _dl_init () from /lib/ld-linux.so.2
        #2  0xb7ff0fe3 in dl_open_worker () from /lib/ld-linux.so.2
        Backtrace stopped: not enough registers or memory available to unwind further
        (gdb) record goto 83877
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        #1  0xb7ff287a in _dl_close () from /lib/ld-linux.so.2
        #2  0xb7fc3d5d in dlclose_doit () from /lib/libdl.so.2
        #3  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #4  0xb7fc43dd in _dlerror_run () from /lib/libdl.so.2
        #5  0xb7fc3d98 in dlclose () from /lib/libdl.so.2
        #6  0x0804860a in test ()
        #7  0x08048628 in main ()
    
    With the patch, GDB is able to connect the trace pieces and we get a full
    backtrace.
    
        (gdb) record goto 83876
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7fec46f in call_init.part () from /lib/ld-linux.so.2
        #1  0xb7fec5d0 in _dl_init () from /lib/ld-linux.so.2
        #2  0xb7ff0fe3 in dl_open_worker () from /lib/ld-linux.so.2
        #3  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #4  0xb7ff02e2 in _dl_open () from /lib/ld-linux.so.2
        #5  0xb7fc3c65 in dlopen_doit () from /lib/libdl.so.2
        #6  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #7  0xb7fc43dd in _dlerror_run () from /lib/libdl.so.2
        #8  0xb7fc3d0e in dlopen@@GLIBC_2.1 () from /lib/libdl.so.2
        #9  0xb7ff28ee in _dl_runtime_resolve () from /lib/ld-linux.so.2
        #10 0x0804841c in ?? ()
        #11 0x08048470 in dlopen@plt ()
        #12 0x080485a3 in test ()
        #13 0x08048628 in main ()
        (gdb) record goto 83877
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        (gdb) backtrace
        #0  0xb7ff1c70 in _dl_close_worker.part.0 () from /lib/ld-linux.so.2
        #1  0xb7ff287a in _dl_close () from /lib/ld-linux.so.2
        #2  0xb7fc3d5d in dlclose_doit () from /lib/libdl.so.2
        #3  0xb7fec354 in _dl_catch_error () from /lib/ld-linux.so.2
        #4  0xb7fc43dd in _dlerror_run () from /lib/libdl.so.2
        #5  0xb7fc3d98 in dlclose () from /lib/libdl.so.2
        #6  0x0804860a in test ()
        #7  0x08048628 in main ()
    
    It worked nicely in this case but it may, of course, also lead to weird
    connections; it is a heuristic, after all.
    
    It works best when the gap is small and the trace pieces are long.
    
    gdb/
    	* btrace.c (bfun_s): New typedef.
    	(ftrace_update_caller): Print caller in debug dump.
    	(ftrace_get_caller, ftrace_match_backtrace, ftrace_fixup_level)
    	(ftrace_compute_global_level_offset, ftrace_connect_bfun)
    	(ftrace_connect_backtrace, ftrace_bridge_gap, btrace_bridge_gaps): New.
    	(btrace_compute_ftrace_bts): Pass vector of gaps.  Collect gaps.
    	(btrace_compute_ftrace_pt): Likewise.
    	(btrace_compute_ftrace): Split into this, ...
    	(btrace_compute_ftrace_1): ... this, and ...
    	(btrace_finalize_ftrace): ... this.  Call btrace_bridge_gaps.

commit 259ba1e8acfd5ade4b6fa81e68a5e694e438fa28
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 19 14:54:19 2016 +0100

    btrace: preserve function level for unexpected returns
    
    When encountering a return for which we have not seen a corresponding call, GDB
    starts a new back trace from level -1, i.e. from the level of the first function
    in the trace.
    
    In the presence of trace gaps, this may cause some rather big jump.
    
        (gdb) record function-call-history /c 192, +8
        192	                                          sbrk
        193	                                            brk
        194	                                              __x86.get_pc_thunk.bx
        195	                                            brk
        196	                                              __kernel_vsyscall
        197	[disabled]
        198	                                              __kernel_vsyscall
        199	        brk
        200	      sbrk
    
    This doesn't help to make things more clear.  Let's remain on the same level
    instead.
    
        (gdb) record function-call-history /c 192, +8
        192	      sbrk
        193	        brk
        194	          __x86.get_pc_thunk.bx
        195	        brk
        196	          __kernel_vsyscall
        197	[disabled]
        198	          __kernel_vsyscall
        199	        brk
        200	      sbrk
    
    In this case it will look like we were able to connect the trace parts across
    the disabled gap.  We were not.  More work is required to achieve this.
    
    In the general case, the function-call history for the two trace parts won't
    match.  They may be off by a few levels or they may be entirely different.  All
    this patch does is to preserve the indentation level of the record
    function-call-history command.
    
    The disabled gap is caused by a sysenter not returning to the next instruction.
    
        (gdb) record function-call-history /i 196, +1
        196     __kernel_vsyscall       inst 66515,66519
        (gdb) record instruction-history 66515
        66515      0xb7fdcbf8 <__kernel_vsyscall+0>:    push   %ecx
        66516      0xb7fdcbf9 <__kernel_vsyscall+1>:    push   %edx
        66517      0xb7fdcbfa <__kernel_vsyscall+2>:    push   %ebp
        66518      0xb7fdcbfb <__kernel_vsyscall+3>:    mov    %esp,%ebp
        66519      0xb7fdcbfd <__kernel_vsyscall+5>:    sysenter
        [disabled]
        66520      0xb7fdcc08 <__kernel_vsyscall+16>:   pop    %ebp
        66521      0xb7fdcc09 <__kernel_vsyscall+17>:   pop    %edx
        66522      0xb7fdcc0a <__kernel_vsyscall+18>:   pop    %ecx
        66523      0xb7fdcc0b <__kernel_vsyscall+19>:   ret
        66524      0xb7e8e09e <brk+30>: xchg   %ecx,%ebx
        (gdb) disassemble 0xb7fdcbf8, 0xb7fdcc0c
        Dump of assembler code from 0xb7fdcbf8 to 0xb7fdcc0c:
           0xb7fdcbf8 <__kernel_vsyscall+0>:    push   %ecx
           0xb7fdcbf9 <__kernel_vsyscall+1>:    push   %edx
           0xb7fdcbfa <__kernel_vsyscall+2>:    push   %ebp
           0xb7fdcbfb <__kernel_vsyscall+3>:    mov    %esp,%ebp
           0xb7fdcbfd <__kernel_vsyscall+5>:    sysenter
           0xb7fdcbff <__kernel_vsyscall+7>:    nop
           0xb7fdcc00 <__kernel_vsyscall+8>:    nop
           0xb7fdcc01 <__kernel_vsyscall+9>:    nop
           0xb7fdcc02 <__kernel_vsyscall+10>:   nop
           0xb7fdcc03 <__kernel_vsyscall+11>:   nop
           0xb7fdcc04 <__kernel_vsyscall+12>:   nop
           0xb7fdcc05 <__kernel_vsyscall+13>:   nop
           0xb7fdcc06 <__kernel_vsyscall+14>:   int    $0x80
           0xb7fdcc08 <__kernel_vsyscall+16>:   pop    %ebp
           0xb7fdcc09 <__kernel_vsyscall+17>:   pop    %edx
           0xb7fdcc0a <__kernel_vsyscall+18>:   pop    %ecx
           0xb7fdcc0b <__kernel_vsyscall+19>:   ret
        End of assembler dump.
    
    I've seen this on 32-bit Fedora 23.  I have not investigated what causes this
    and whether we can avoid the gap in the first place.  Let's first try to make
    GDB handle such gaps more gracefully.
    
    gdb/
    	* btrace.c (ftrace_new_return): Start from the previous function's level
    	if we can't find a matching call for a return.

commit 2dfdb47abd418aac05380482093a87e763ab0a05
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 12 16:05:15 2016 +0100

    btrace: update tail call heuristic
    
    An unconditional jump to the start of a function typically indicates a tail
    call.
    
    If we can't determine the start of the function at the destination address, we
    used to treat it as a tail call, as well.  This results in lots of tail calls
    for code for which we don't have symbol information.
    
    Restrict the heuristic to only consider jumps as tail calls that switch
    functions in the case where we can't determine the start of a function.  This
    effectively disables tail call detection for code without symbol information.
    
    gdb/
    	* btrace.c (ftrace_update_function): Update tail call heuristic.

commit b61ce85cc54bf4acc86714cacd10d6f9f7e89d1b
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Mon Jan 18 16:59:21 2016 +0100

    btrace: allow leading trace gaps
    
    GDB ignores trace gaps from decode errors or overflows at the beginning of the
    trace.  There isn't really a gap in the trace; the trace just starts a bit
    later than expected.
    
    In cases where there is no trace at all or where the trace is smaller than
    expected, this may hide the reason for the missing trace.
    
    Allow leading trace gaps.  They will be shown as decode warnings and by the
    record function-call-history command.
    
        (gdb) info record
        Active record target: record-btrace
        Recording format: Intel Processor Trace.
        Buffer size: 16kB.
        warning: Decode error (-6) at instruction 0 (offset = 0x58, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 0 (offset = 0xb0, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 0 (offset = 0x168, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 54205 (offset = 0xe08, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 54205 (offset = 0xe60, pc = 0x0): unexpected packet context.
        warning: Decode error (-6) at instruction 54205 (offset = 0xed8, pc = 0x0): unexpected packet context.
        Recorded 91582 instructions in 1111 functions (6 gaps) for thread 1 (process 15710).
        (gdb) record function-call-history /c 1
        1       [decode error (-6): unexpected packet context]
        2       [decode error (-6): unexpected packet context]
        3       [decode error (-6): unexpected packet context]
        4           _dl_addr
        5             ??
        6           _dl_addr
        7         ??
        8           ??
        9         ??
        10      ??
    
    Leading trace gaps will not be shown by the record instruction-history command
    without further changes.
    
    gdb/
    	* btrace.c (btrace_compute_ftrace_bts, ftrace_add_pt): Allow leading gaps.
    	* record-btrace.c (record_btrace_single_step_forward)
    	(record_btrace_single_step_backward): Jump back to last instruction if
    	step ends at a gap.
    	(record_btrace_goto_begin): Skip gaps.

commit 63ab433e29b2715f429551cdbec72dab0d752c20
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Tue Jan 12 10:44:37 2016 +0100

    btrace: fix gap indication
    
    Trace gaps due to overflows or non-contiguous trace are ignored in the 'info
    record' command.  Fix that.
    
    Also add a warning when decoding the trace and print the instruction number
    preceding the trace gap in that warning message.  It looks like this:
    
        (gdb) info record
        Active record target: record-btrace
        Recording format: Intel Processor Trace.
        Buffer size: 16kB.
        warning: Decode error (-13) at instruction 101044 (offset = 0x29f0, pc = 0x7ffff728a642): no memory mapped at this address.
        Recorded 101044 instructions in 2093 functions (1 gaps) for thread 1 (process 5360).
        (gdb) record instruction-history 101044
        101044     0x00007ffff728a640:  pop    %r13
        [decode error (-13): no memory mapped at this address]
    
    Remove the dead code that was supposed to print a gaps warning at the end of
    trace decode.  This isn't really needed since we now print a warning for each
    gap.
    
    gdb/
    	* btrace.c (ftrace_add_pt): Fix gap indication.  Add warning for non-
    	contiguous trace and overflow.  Rephrase trace decode warning and print
    	instruction number.  Remove dead gaps warning.
    	(btrace_compute_ftrace_bts): Rephrase warnings and print instruction
    	number.

commit 2fc9bcf136a72ecc56a333cb658a8eaac8c9fec7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Oct 28 00:00:18 2016 +0000

    Automatic date update in version.in

commit 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 834c5e35e804db1714407bad664225f28ddcd9f1
Merge: 35a42cd 3c4f322
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 29 09:11:56 2016 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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 35a42cde70758cb9945118ffee7f330a7499a66c
Merge: d55ed11 74437ea
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Aug 29 08:15:47 2016 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

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

commit 8e8fe55a608b9202f167bcd8a6721941de2b7e65
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Aug 7 00:00:11 2016 +0000

    Automatic date update in version.in

commit d6d4df4a93acc8663f4e81fbf0a83a33d2cf41f8
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Aug 6 00:00:20 2016 +0000

    Automatic date update in version.in

commit c632e428c2fd707b83a2c61e0b25b473e3d7d18e
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Fri Aug 5 16:26:18 2016 -0400

    Remove unused cli_command_loop declaration
    
    This declaration is not used anymore.
    
    gdb/ChangeLog:
    
    	* event-top.h (cli_command_loop): Remove.

commit ed1b027aa06ade22834e7d876dfccc4ec94e848a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Aug 5 13:15:16 2016 -0700

    Add missing ChangLog enrtry

commit 3906a8fc773a405b511faed030e4630ecbd4b8a9
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 5 19:54:11 2016 +0100

    Fix PR remote/20398: File-IO write always outputs "Quit"
    
    Commit bb7c96deb1a1 ("gdb/remote-fileio.c: Eliminate custom SIGINT
    signal handler") regressed the File-IO support.
    
    Failed output:
    
      (gdb) target remote :8888
      Remote debugging using :8888
      0x00008098 in _start ()
      (gdb) c
      Continuing.
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      Quit
      [Inferior 1 (Remote target) exited normally]
    
    Expected output:
    
      (gdb) target remote :8888
      Remote debugging using :8888
      0x00008098 in _start ()
      (gdb) c
      Continuing.
      i: 0
      i: 1
      i: 2
      i: 3
      i: 4
      i: 5
      i: 6
      i: 7
      i: 8
      i: 9
      [Inferior 1 (Remote target) exited normally]
    
    The problem that the new File-IO quit handler forgets to check the
    quit flag before calling throwing a quit.
    
    gdb/ChangeLog:
    2016-08-05  Pedro Alves  <palves@redhat.com>
    
    	PR remote/20398
    	* remote-fileio.c (remote_fileio_quit_handler): Check the quit
    	flag before calling quit.

commit 69ffd7f270c8a3f1b577848d2536b93ed01287de
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 5 17:09:31 2016 +0100

    gdb/NEWS: Mention that C++ is now the default
    
    gdb/ChangeLog:
    2016-08-05  Pedro Alves  <palves@redhat.com>
    
    	* NEWS: Mention that GDB and GDBserver build with a C++ compiler
    	by default.

commit 1baf514936892a01d8ea49c2c1ccfd7ecd3b7dcd
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Aug 5 16:54:29 2016 +0100

    gdb/configure --help: suggest --disable-build-with-cxx instead of --enable...
    
    We build by default with a C++ compiler, but "configure --help" still
    says "--enable-build-with-cxx", which hints that it is by default
    disabled.  Update the --help text.
    
    gdb/ChangeLog:
    2016-08-05  Pedro Alves  <palves@redhat.com>
    
    	* build-with-cxx.m4: Change help string to be in terms of
    	--disable-build-with-cxx.
    	* configure: Regenerate.
    
    gdb/gdbserver/ChangeLog:
    2016-08-05  Pedro Alves  <palves@redhat.com>
    
    	* configure: Regenerate.

commit b126985ec3f922f86a9fa164cc0f443b1aa9e0bb
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 5 11:26:13 2016 +0100

    Ensure ARM VPUSH and VPOP instructions do not affect more than 16 registers.
    
    	PR gas/20429
    	* config/tc-arm.c (do_vfp_nsyn_push): Check that no more than 16
    	registers are pushed.
    	(do_vfp_nsyn_pop): Check that no more than 16 registers are
    	popped.
    	* testsuite/gas/arm/pr20429.s: New test.
    	* testsuite/gas/arm/pr20429.d: New test driver.
    	* testsuite/gas/arm/pr20429.1: Expected error output.

commit 7ea12e5c3ad54da440c08f32da09534e63e515ca
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Aug 5 10:37:57 2016 +0100

    Fix the generation of alignment frags in code sections for AArch64.
    
    	PR gas/20364
    	* config/tc-aarch64.c (s_ltorg): Change the mapping state after
    	aligning the frag.
    	(aarch64_init): Treat rs_align frags in code sections as
    	containing code, not data.
    	* testsuite/gas/aarch64/pr20364.s: New test.
    	* testsuite/gas/aarch64/pr20364.d: New test driver.

commit cca8e7e482abd37f1e199d7663d26fe8146fb84f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Aug 5 00:00:22 2016 +0000

    Automatic date update in version.in

commit 54ddd295b505efe4b07cc1e939d4e150032603d8
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Aug 4 15:54:57 2016 +0100

    2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
    	* bfd-in2.h: Regenerate.
    	* elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
    	cmse_implib field.
    	(bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
    	cmse_implib field in struct elf32_arm_link_hash_table.
    	(elf32_arm_filter_cmse_symbols): New function.
    	(elf32_arm_filter_implib_symbols): Likewise.
    	(elf_backend_filter_implib_symbols): Define to
    	elf32_arm_filter_implib_symbols.
    
    ld/
    	* emultempl/armelf.em (cmse_implib): Declare and define this new
    	static variable.
    	(arm_elf_create_output_section_statements): Add new cmse_implib
    	parameter.
    	(OPTION_CMSE_IMPLIB): Define macro.
    	(PARSE_AND_LIST_LONGOPTS): Add entry for new --cmse-implib switch.
    	(PARSE_AND_LIST_OPTIONS): Likewise.
    	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_CMSE_IMPLIB case.
    	* ld.texinfo (--cmse-implib): Document new option.
    	* testsuite/ld-arm/arm-elf.exp
    	(Secure gateway import library generation): New test.
    	(Secure gateway import library generation: errors): Likewise.
    	* testsuite/ld-arm/cmse-implib.s: New file.
    	* testsuite/ld-arm/cmse-implib-errors.out: Likewise.
    	* testsuite/ld-arm/cmse-implib.rd: Likewise.

commit 4ba2ef8fbe74716708e5ce0bcba4f3b1cc8ac99a
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Thu Aug 4 15:36:52 2016 +0100

    2016-08-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* elf32-arm.c (CMSE_PREFIX): Define macro.
    	(elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
    	(cmse_branch_thumb_only): Declare stub.
    	(struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
    	(elf32_arm_get_plt_info): Add globals parameter.  Use it to return
    	FALSE if there is no PLT.
    	(arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
    	(elf32_arm_final_link_relocate): Likewise.
    	(elf32_arm_gc_sweep_hook): Likewise.
    	(elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
    	secure entry functions.
    	(arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
    	(arm_dedicated_stub_output_section_required): Change to a switch case
    	and add a case for arm_stub_cmse_branch_thumb_only.
    	(arm_dedicated_stub_output_section_required_alignment): Likewise.
    	(arm_stub_dedicated_output_section_name): Likewise.
    	(arm_stub_dedicated_input_section_ptr): Likewise and remove
    	ATTRIBUTE_UNUSED for htab parameter.
    	(arm_stub_required_alignment): Likewise.
    	(arm_stub_sym_claimed): Likewise.
    	(arm_dedicated_stub_section_padding): Likewise.
    	(cmse_scan): New function.
    	(elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
    	Set stub_changed to TRUE if such veneers were created.
    	(elf32_arm_swap_symbol_in): Add detection code for CMSE special
    	symbols.
    
    include/
    	* arm.h (ARM_GET_SYM_CMSE_SPCL): Define macro.
    	(ARM_SET_SYM_CMSE_SPCL): Likewise.
    
    ld/
    	* ld.texinfo (Placement of SG veneers): New concept entry.
    	* testsuite/ld-arm/arm-elf.exp
    	(Secure gateway veneers: no .gnu.sgstubs section): New test.
    	(Secure gateway veneers: wrong entry functions): Likewise.
    	(Secure gateway veneers (ARMv8-M Baseline)): Likewise.
    	(Secure gateway veneers (ARMv8-M Mainline)): Likewise.
    	* testsuite/ld-arm/cmse-veneers.s: New file.
    	* testsuite/ld-arm/cmse-veneers.d: Likewise.
    	* testsuite/ld-arm/cmse-veneers.rd: Likewise.
    	* testsuite/ld-arm/cmse-veneers.sd: Likewise.
    	* testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out: Likewise.
    	* testsuite/ld-arm/cmse-veneers-wrong-entryfct.out: Likewise.

commit 024425668d120663a73913352df701c8f0aea316
Author: Stefan Trleman <stefan.teleman@oracle.com>
Date:   Thu Aug 4 14:57:23 2016 +0100

    Fix generation of relocs for 32-bit Sparc Solaris targets.
    
    	PR gas/20427
    	* config/tc-sparc.c (cons_fix_new_sparc): Prevent the generation
    	of 64-bit relocation types when assembling for a 32-bit Solaris
    	target.

commit 6f67973b4280cfd045e632a3340becd16e43b4b1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Aug 4 11:37:57 2016 +0100

    Determine target description for native aarch64
    
    I find the following test fail when I test native aarch64 gdb with
    arm program,
    
    (gdb) PASS: gdb.base/attach-pie-noexec.exp: attach
    set architecture arm^M
    warning: Selected architecture arm is not compatible with reported target architecture aarch64^M
    Architecture `arm' not recognized.^M
    The target architecture is set automatically (currently aarch64)^M
    (gdb) FAIL: gdb.base/attach-pie-noexec.exp: set architecture arm
    
    GDB thinks the target is aarch64, but it isn't.  Nowadays, we are
    using some entries AT_PHENT and AT_HWCAP in auxv to determine whether
    the process is a 32-bit arm one or 64-bit aarch64 one, and get the
    right gdbarch.  However, in the process of parsing auxv (in
    inf_ptrace_auxv_parse), the size of int and data pointer of
    target_gdbarch is used.  If debug program exists (in most of cases),
    target_gdbarch is already set according to the debug program, which
    is arm in my case.  Then, GDB can parse auxv successfully.  However,
    in gdb.base/attach-pie-noexec.exp, the debug program is removed,
    target_gdbarch is aarch64 when GDB parse auxv, so GDB can't parse
    it successfully.
    
    Instead of using auxv, we check the return value of ptrace NT_ARM_VFP.
    If the program is an arm process, NT_ARM_VFP is OK, otherwise, error
    is returned.
    
    Additionally, we only return tdesc_arm_with_neon for arm process,
    because neon is mandatory on ARMv8.
    
    gdb:
    
    2016-08-04  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-linux-nat.c (tdesc_arm_with_vfpv3): Remove the
    	declaration.
    	(aarch64_linux_read_description): Remove code on getting
    	auxv and select target description on it.  Select target
    	description by the result of NT_ARM_VFP ptrace request.

commit fcd4a73d7dc3505662b4d58489f4c1b8b003b8f3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Aug 4 10:44:18 2016 +0100

    Quiet ptrace error ESRCH in regsets_fetch_inferior_registers
    
    When I run process-dies-while-detaching.exp with GDBserver, I see many
    warnings printed by GDBserver,
    
    ptrace(regsets_fetch_inferior_registers) PID=26183: No such process
    ptrace(regsets_fetch_inferior_registers) PID=26183: No such process
    ptrace(regsets_fetch_inferior_registers) PID=26184: No such process
    ptrace(regsets_fetch_inferior_registers) PID=26184: No such process
    
    regsets_fetch_inferior_registers is called when GDBserver resumes each
    lwp.
    
     #2  0x0000000000428260 in regsets_fetch_inferior_registers (regsets_info=0x4690d0 <aarch64_regsets_info>, regcache=0x31832020)
        at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:5412
     #3  0x00000000004070e8 in get_thread_regcache (thread=0x31832940, fetch=fetch@entry=1) at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/regcache.c:58
     #4  0x0000000000429c40 in linux_resume_one_lwp_throw (info=<optimized out>, signal=0, step=0, lwp=0x31832830)
        at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4463
     #5  linux_resume_one_lwp (lwp=0x31832830, step=<optimized out>, signal=<optimized out>, info=<optimized out>)
        at /home/yao/SourceCode/gnu/gdb/git/gdb/gdbserver/linux-low.c:4573
    
    The is the case that threads are disappeared when GDB/GDBserver resumes
    them.  We check errno for ESRCH, and don't print error messages, like
    what we are doing in regsets_store_inferior_registers.
    
    gdb/gdbserver:
    
    2016-08-04  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (regsets_fetch_inferior_registers): Check
    	errno is ESRCH or not.

commit dabcfa6ef3e6251b1721b59e5ee4e65d74399011
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Aug 4 00:00:19 2016 +0000

    Automatic date update in version.in

commit 282a0691a725d1f6653840728449adb297c8c856
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 12 20:45:29 2016 -0600

    PR python/18565 - make Frame.function work for inline frames
    
    PR python/18565 notes that calling frame filters don't work properly for
    inlined functions.  This happens because Frame.function on an inline
    frame will yield the wrong result.  This patch changes this code to use
    find_frame_funname instead, which handles inline frames properly.
    
    Built and regtested on x86-64 Fedora 24.
    
    2016-08-03  Tom Tromey  <tom@tromey.com>
    
    	PR python/18565:
    	* python/py-frame.c (frapy_function): Use find_frame_funname.
    
    2016-08-03  Tom Tromey  <tom@tromey.com>
    
    	PR python/18565:
    	* gdb.python/py-frame-inline.exp: Add Frame.function test.

commit d10153cfc6cb319a75ceb3e3d34ac30efa17e518
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Aug 3 08:27:56 2016 -0600

    Avoid potential memory leak in find_frame_funname
    
    The PR 18565 thread pointed out that, if cp_remove_params can throw
    (we aren't quite sure), then find_frame_funname could leak some
    memory.  This patch avoids any potential issue by rearranging some
    code in find_frame_funname.
    
    Built and regtested on x86-64 Fedora 24.
    
    2016-08-03  Tom Tromey  <tom@tromey.com>
    
    	* stack.c (find_frame_funname): Avoid any possible leak in case
    	cp_remove_params can throw.

commit 8d2a0a14e53945eb260c08752654bd03a240ecf7
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Aug 2 16:52:59 2016 -0600

    Update NEWS to mention Python breakpoint events
    
    An earlier patch added three new breakpoint-related events to the
    Python API.  However, at that time, I forgot to update NEWS.  This
    patch supplies the missing entry.
    
    2016-08-03  Tom Tromey  <tom@tromey.com>
    
    	* NEWS: Mention new Python breakpoint events.

commit f72b08723773bf6e5f4dc86777501c744642da15
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Aug 3 00:00:18 2016 +0000

    Automatic date update in version.in

commit 33541b2e56a653b9260fb1dc2cd7dd73b0c49169
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Aug 2 16:58:37 2016 -0600

    Add myself as Rust maintainer
    
    A while ago, Pedro announced that I would be the Rust maintainer for
    gdb.  However, I neglected to update the MAINTAINERS file until now.
    
    2016-08-02  Tom Tromey  <tom@tromey.com>
    
    	* MAINTAINERS (Core): Add self as Rust maintainer.

commit 979659d08478172311764b468bfce4960b38760b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Aug 2 16:04:09 2016 +0100

    [GDBserver] Remove td_ta_event_addr td_ta_set_event and td_ta_event_getmsg
    
    As a result of this commit,
    
      9b4c5f878ff39e04127a1ad95f6b3832afe6d278
      (Remove support for thread events without PTRACE_EVENT_CLONE in GDBServer.)
    
    the last usage of td_ta_event_addr td_ta_set_event and
    td_ta_event_getmsg were removed.  They are no longer used.  This patch
    is to remove them.
    
    gdb/gdbserver:
    
    2016-08-02  Yao Qi  <yao.qi@linaro.org>
    
    	* thread-db.c (struct thread_db) <td_ta_event_getmsg_p>: Remove.
    	<td_ta_set_event_p, td_ta_event_addr_p>: Remove.
    	(thread_db_load_search): Update.
    	(try_thread_db_load_1): Don't look for td_ta_event_addr,
    	td_ta_set_event and td_ta_event_getmsg.

commit 89d77b8a520602832516ce6628ea930b4f0ccff4
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Aug 2 23:28:47 2016 +0930

    PowerPC64 ld segfault with code in non-executable sections
    
    	PR ld/20428
    	* elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.

commit fa3fcee7b8c73070306ec358e730d1dfcac246bf
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 2 13:26:28 2016 +0100

    Synchronize libiberty sources with FSF GCC mainline version.
    
    include	* libiberty.h (MAX_ALLOCA_SIZE): New macro.
    
    libiberty * make-relative-prefix.c (make_relative_prefix_1): Fall back to
    	malloc if alloca argument is greater than MAX_ALLOCA_SIZE.
    
    	* cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
    	(d_expression_1): Handle them.
    	(d_maybe_print_fold_expression): New.
    	(d_print_comp_inner): Use it.
    	(d_index_template_argument): Handle negative index.
    
    	* cp-demangle.c (cplus_demangle_operators): Add sP and sZ.
    	(d_print_comp_inner): Handle them.
    	(d_template_args_1): Split out from d_template_args.
    	(d_args_length): New.
    
    	PR c++/70926
    	* cplus-dem.c: Handle large values and overflow when demangling
    	length variables.
    	(demangle_template_value_parm): Read only until end of mangled string.
    	(do_hpacc_template_literal): Likewise.
    	(do_type): Handle overflow when demangling array indices.
    
    	* cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length
    	  VLAs.
    
    	PR c++/70498
    	* cp-demangle.c (d_expression_1): Formatting fix.
    
    	* cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
    	constant.
    	(demangle_template_value_parm): Handle tk_rvalue_reference
    	type kind.
    	(do_type): Support 'O' type id (rvalue references).
    
    	* testsuite/demangle-expected: Add tests.
    
    	PR c++/70498
    	* cp-demangle.c: Parse numbers as integer instead of long to avoid
    	overflow after sanity checks. Include <limits.h> if available.
    	(INT_MAX): Define if necessary.
    	(d_make_template_param): Takes integer argument instead of long.
    	(d_make_function_param): Likewise.
    	(d_append_num): Likewise.
    	(d_identifier): Likewise.
    	(d_number): Parse as and return integer.
    	(d_compact_number): Handle overflow.
    	(d_source_name): Change variable type to integer for parsed number.
    	(d_java_resource): Likewise.
    	(d_special_name): Likewise.
    	(d_discriminator): Likewise.
    	(d_unnamed_type): Likewise.
    	* testsuite/demangle-expected: Add regression test cases.
    
    	* configure: Remove SH5 support.
    
    	PR c++/69687
    	* cplus-dem.c: Include <limits.h> if available.
    	(INT_MAX): Define if necessary.
    	(remember_type, remember_Ktype, register_Btype, string_need):
    	Abort if we detect cases where we the size of the allocation would
    	overflow.
    
    	PR c++/70492
    	* cplus-dem.c (gnu_special): Handle case where consume_count returns
    	-1.
    
    	PR c++/67394
    	PR c++/70481
    	* cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing
    	btypevec/ktypevec.
    	* testsuite/demangle-expected: Add coverage tests.

commit a94d834c9d0108f0bb50ddc311554d1bed320f54
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 2 11:56:55 2016 +0100

    Fix SH GOT allocation in the presence of linker garbage collection.
    
    	PR ld/17739
    ld	* emulparams/shelf.sh (CHECK_RELOCS_AFTER_OPEN_INPUT): Define with
    	valye 'yes'.
    	* emulparams/shelf32.sh: Likewise.
    	* emulparams/shelf32.sh: Likewise.
    	* emulparams/shelf_nto.sh: Likewise.
    	* emulparams/shelf_nto.sh: Likewise.
    	* emulparams/shelf_vxworks.sh: Likewise.
    	* emulparams/shelf_vxworks.sh: Likewise.
    	* emulparams/shlelf32_linux.sh: Likewise.
    	* emulparams/shlelf32_linux.sh: Likewise.
    	* emulparams/shlelf_linux.sh: Likewise.
    	* emulparams/shlelf_linux.sh: Likewise.
    	* emulparams/shlelf_nto.sh: Likewise.
    	* emulparams/shlelf_nto.sh: Likewise.
    
    bfd	* elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
    	(elf_backend_sweep_hook): Delete.

commit 2d5bddc1eb5d2c04ed142c7ba6fc13e2e3a28079
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Aug 2 11:06:28 2016 +0100

    Avoid compile time warning when building on 32-bit host.
    
    	PR binutils/17512
    	* resbin.c (bin_to_res_version): Cast variables to correct type
    	for printing in error message.

commit 80b476c2bf85be6676cc6b55dab232730e124147
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Aug 2 00:00:20 2016 +0000

    Automatic date update in version.in

commit dfdaec14b0db059497b47b515d753b6383772b6b
Author: Andrew Jenner <andrew@codesourcery.com>
Date:   Mon Aug 1 09:42:31 2016 -0700

            Fix some PowerPC VLE BFD issues and add some PowerPC VLE instructions.
    
            bfd/
            * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
            (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
            (ppc_elf_vle_split16): Clear field before inserting.
    
            opcodes/
            * ppc-opc.c (vle_opcodes): Alias 'e_cmpwi' to 'e_cmpi' and
            'e_cmplwi' to 'e_cmpli' instead.
            (OPVUPRT, OPVUPRT_MASK): Define.
            (powerpc_opcodes): Add E200Z4 insns.
            (vle_opcodes): Add context save/restore insns.
    
            include/
            * opcode/ppc.h (PPC_OPCODE_E200Z4): New define.

commit 751b375e01e7e85aeccdd965578cb2040836593d
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Aug 1 08:28:26 2016 -0700

    Update NEWS post GDB 7.12 branch creation.
    
    gdb/ChangeLog:
    
    	* NEWS: Create a new section for the next release branch.
    	Rename the section of the current branch, now that it has
    	been cut.

commit b2bd7787d3e5f87f66761f555d89b8ce5d631a62
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Aug 1 08:23:20 2016 -0700

    Bump version to 7.12.50.DATE-git.
    
    Now that the GDB 7.12 branch has been created, we can
    bump the version number.
    
    gdb/ChangeLog:
    
    	GDB 7.12 branch created (41bfcd638a4e0e48b96ce4de2845372dea481322):
    	* version.in: Bump version to 7.12.50.DATE-git.

commit 41bfcd638a4e0e48b96ce4de2845372dea481322
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 28 14:37:02 2016 +0100

    Swap "single-process" and "multi-process" in process-dies-while-detaching.exp
    
    "single-process" and "multi-process" are used in the test message of
    process-dies-while-detaching.exp, but they are misplaced due to
    
        set mode [expr {$multi_process ? "single-process" : "multi-process"}]
    
    This patch is to swap them.
    
    gdb/testsuite:
    
    2016-08-01  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.threads/process-dies-while-detaching.exp (do_test): Set
    	variable mode to "multi-process" if $multi_process is 1, otherwise
    	set it to "single-process".

commit 781bf64d2414f70c51938e15ebce5c88e7172e55
Author: Nick Clifton <nickc@redhat.com>
Date:   Mon Aug 1 09:59:04 2016 +0100

    Update Swedish translation in bfd directory.

commit e3465b24a22bd1f783313e680aa76bac83c8aaf5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Mon Aug 1 09:18:02 2016 +0100

    Tweak gdb.cp tests for aarch32
    
    There are some gdb.cp/ tests fails if the program is compiled for arm
    32-bit but GDB/GDBserver is aarch64 64-bit program, because target triplet
    doesn't match "arm*-*-*".  Instead, we can use is_aarch32_target.
    
    gdb/testsuite:
    
    2016-08-01  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.cp/anon-struct.exp: Check is_aarch32_target.
    	* gdb.cp/cpexprs.exp: Likewise.
    	* gdb.cp/m-static.exp: Likewise.

commit 5e3d6ca4de0d34b32179db62a27efbd2ae420cf9
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Aug 1 00:00:20 2016 +0000

    Automatic date update in version.in

commit a161b769b0a80b1d183f2b927bf7ae41b0c66d18
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 31 00:00:20 2016 +0000

    Automatic date update in version.in

commit 3e684cf25ae7cd8a1d118647c5b02f43d094298e
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 30 00:00:19 2016 +0000

    Automatic date update in version.in

commit c88960d081f0b37ec03c66a13115e2a68e40d1ad
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Jul 27 06:59:16 2016 -0700

    gas: avoid spurious failures in non-ELF targets in the SPARC testsuite.
    
    Many of the existing sparc tests fail in non-ELF targets (coff and
    a.out) due to spurious differences in the expected results:
    
    - Unlike ELF, a.out text sections are aligned to 2**3 and padded
      accordingly.  The padding instruction is a `nop' (01 00 00 00).
    
    - Likewise, coff text sections are also aligned to 2**3 and padded
      accordingly.  However, the padding instruction in these targets is an
      `illtrap 0' (00 00 00 00).
    
    - Unlike ELF, a.out and coff binaries don't contain hardware
      capabilities bits that could be used by BFD to determine the opcodes
      architecture corresponding to the instructions encoded in the
      objects (v9, v9a, v9b, v9c, etc).  Consequently, in both a.out and
      coff tests we would need to pass proper `-m sparc:vXXX' options when
      invoking objdump before comparing results.
    
    In order to fix these issues, the most obvious solution would be to have
    three variants of .d files per impacted test.  For example, for save.d
    we would have: save-elf.d, save-aout.d and save-coff.d.  Using the
    `#source' directive, a single save.s file would provide the input for
    all of them.  However, this approach has the following problems:
    
    - The #target and #notarget .d directives are very limited: they use
      globs instead of regular expressions, and thus it is not possible (or
      too messy) to use them to discriminate between elf, coff and a.out
      sparc targets.
    
    - It adds little or no value to have variants of all these tests for all
      the target types, and it would be a burden to maintain them.  Actually
      the features tested in the spuriously failing tests (relatively modern
      sparc instructions, registers and asis) are not really found in
      running coff or a.out sparc systems.
    
    This patch changes sparc.exp so it will run these tests only in
    ELF-targets, using the more standard `is_elf_format' from
    binutils-common.exp instead of the ad-hoc (and less convenient, as it
    must be called before _every_ single elf-only test) sparc_elf_setup.
    
    Incidentally, the patch also fixes the #name entry for save-args.d.
    
    Tested in sparc*-*-linux-gnu, sparc-aout and sparc-coff targets.
    
    gas/ChangeLog:
    
    2016-07-27  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/sparc.exp: Use is_elf_format to discriminate
    	ELF targets.
    	Run natural, natural-32, pr4587, ticc-imm-reg, v8-movwr-imm,
    	pause, save-args, cbcond, cfr, crypto edge, flush, hpcvis3, ima,
    	ld_st_fsr, ldtw_sttw, ldd_std, ldx_stx, ldx_efsr, mwait, mcdper,
    	sparc5vis4, xcrypto, v9branch1 and imm-plus-rreg only in ELF
    	targets.
    	(sparc_elf_setup): Delete.
    	* testsuite/gas/sparc/save-args.d: Fix a copy-paste typo in the
    	test's #name entry.

commit 76539d80f708c535133c4a2a1eef61da305a3e80
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 29 00:00:19 2016 +0000

    Automatic date update in version.in

commit 4931146e91c3c8208f1e0b8462b8f33e70da506a
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 28 15:37:16 2016 +0100

    Fix decoding of Windows resources.
    
    	PR binutils/17512
    	* rescoff.c (read_coff_res_dir): Fix detection of buffer overrun.
    	* resbin.c (bin_to_res_version): Allow for the padded length of a
    	version block to be longer than the recorded length.  Skip padding
    	bytes.

commit ff20cab8a222c43de501a340016e11cae6a272a7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 28 00:00:30 2016 +0000

    Automatic date update in version.in

commit 7bd374a44d1db21b54a9a52ecde1d064cdaa8cd1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jul 27 17:27:55 2016 +0100

    MIPS/GAS: Implement microMIPS branch/jump compaction
    
    Convert microMIPS branches and jumps whose delay slot would be filled by
    a generated NOP instruction to the corresponding compact form where one
    exists, in a manner similar to MIPS16 JR->JRC and JALR->JALRC swap.
    
    Do so even where the transformation switches from a 16-bit to a 32-bit
    branch encoding for no benefit in code size reduction, as this is still
    advantageous.  This is because a branch/NOP pair takes 2 pipeline slots
    or a 2-cycle completion latency except in superscalar implementations.
    Whereas a compact branch may or may not stall on its target fetch, so it
    will at most have a 2-cycle completion latency and may have only 1 even
    in scalar implementations, and in superscalar implementations it is
    expected to have no worse latency as a branch/NOP pair has.  Also it
    won't stall and therefore take the extra latency cycle in the not-taken
    case.
    
    Technically this is the same as MIPS16 compaction: for the qualifying
    instruction encodings the APPEND_ADD_COMPACT machine code generation
    method is selected where APPEND_ADD_WITH_NOP otherwise would and tells
    the code generator in `append_insn' to convert the regular form of an
    instruction to its corresponding compact form.  For this the opcode is
    tweaked as necessary and the microMIPS opcode table is scanned for the
    matching updated instruction.  A non-$0 `rt' operand to BEQ and BNE
    instructions is moved to the `rs' operand field of BEQZC and BNEZC
    encodings as required.
    
    Unlike with MIPS16 compaction however we need to handle out-of-distance
    branch relaxation as well.  We do this by deferring the generation of
    any delay-slot NOP required to relaxation made in `md_convert_frag', by
    converting the APPEND_ADD_WITH_NOP machine code generation to APPEND_ADD
    where a relaxed instruction is recorded.  Relaxation then, depending on
    actual code produced, chooses between either using a compact branch or
    jump encoding and emitting the NOP outstanding if no compact encoding is
    possible.
    
    For code simplicity's sake the relaxation pass is retained even if the
    principle of preferring a compact encoding to a 16-bit branch/NOP pair
    means, in the absence of out-of-range branch relaxation, that a single
    compact branch machine code instruction will eventually be produced from
    a given assembly source instruction.
    
    	gas/
    	* config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `nods' flag.
    	(RELAX_MICROMIPS_RELAX32, RELAX_MICROMIPS_TOOFAR16)
    	(RELAX_MICROMIPS_MARK_TOOFAR16, RELAX_MICROMIPS_CLEAR_TOOFAR16)
    	(RELAX_MICROMIPS_TOOFAR32, RELAX_MICROMIPS_MARK_TOOFAR32)
    	(RELAX_MICROMIPS_CLEAR_TOOFAR32): Shift bits.
    	(get_append_method): Also return APPEND_ADD_COMPACT for
    	microMIPS instructions.
    	(find_altered_mips16_opcode): Exclude macros from matching.
    	Factor code out...
    	(find_altered_opcode): ... to this new function.
    	(find_altered_micromips_opcode): New function.
    	(frag_branch_delay_slot_size): Likewise.
    	(append_insn): Handle microMIPS branch/jump compaction.
    	(macro_start): Likewise.
    	(relaxed_micromips_32bit_branch_length): Likewise.
    	(md_convert_frag): Likewise.
    	* testsuite/gas/mips/micromips.s: Add conditional explicit NOPs
    	for delay slot filling.
    	* testsuite/gas/mips/micromips-b16.s: Add explicit NOPs for
    	delay slot filling.
    	* testsuite/gas/mips/micromips-size-1.s: Likewise.
    	* testsuite/gas/mips/micromips.l: Adjust line numbers.
    	* testsuite/gas/mips/micromips-warn.l: Likewise.
    	* testsuite/gas/mips/micromips-size-1.l: Likewise.
    	* testsuite/gas/mips/micromips.d: Adjust padding.
    	* testsuite/gas/mips/micromips-trap.d: Likewise.
    	* testsuite/gas/mips/micromips-insn32.d: Likewise.
    	* testsuite/gas/mips/micromips-noinsn32.d: Likewise.
    	* testsuite/gas/mips/micromips@beq.d: Update patterns for
    	branch/jump compaction.
    	* testsuite/gas/mips/micromips@bge.d: Likewise.
    	* testsuite/gas/mips/micromips@bgeu.d: Likewise.
    	* testsuite/gas/mips/micromips@blt.d: Likewise.
    	* testsuite/gas/mips/micromips@bltu.d: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-4.d: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-4-64.d: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-5.d: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-5pic.d: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-5-64.d: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-5pic-64.d: Likewise.
    	* testsuite/gas/mips/micromips@jal-svr4pic-local.d: Likewise.
    	* testsuite/gas/mips/micromips@jal-svr4pic-local-n32.d:
    	Likewise.
    	* testsuite/gas/mips/micromips@jal-svr4pic-local-n64.d:
    	Likewise.
    	* testsuite/gas/mips/micromips@loc-swap.d: Likewise.
    	* testsuite/gas/mips/micromips@loc-swap-dis.d: Likewise.
    	* testsuite/gas/mips/micromips@relax.d: Likewise.
    	* testsuite/gas/mips/micromips@relax-at.d: Likewise.
    	* testsuite/gas/mips/micromips@relax-swap3.d: Likewise.
    	* testsuite/gas/mips/branch-extern-2.d: Likewise.
    	* testsuite/gas/mips/branch-extern-4.d: Likewise.
    	* testsuite/gas/mips/branch-section-2.d: Likewise.
    	* testsuite/gas/mips/branch-section-4.d: Likewise.
    	* testsuite/gas/mips/branch-weak-2.d: Likewise.
    	* testsuite/gas/mips/branch-weak-5.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-n32.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-n64.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-addend.d:
    	Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-addend-n32.d:
    	Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-addend-n64.d:
    	Likewise.
    	* testsuite/gas/mips/micromips-compact.d: New test.
    	* testsuite/gas/mips/mips.exp: Run the new test.
    
    	ld/
    	* testsuite/ld-mips-elf/micromips-branch-absolute.d: Update
    	patterns for branch compaction.
    	* testsuite/ld-mips-elf/micromips-branch-absolute-addend.d:
    	Likewise.
    
    	opcodes/
    	* micromips-opc.c (micromips_opcodes): Reorder "bc" next to "b",
    	"beqzc" next to "beq", "bnezc" next to "bne" and "jrc" next to
    	"j".

commit db18dbabad8e7b63e98d47813ef20acac7072350
Author: Graham Markall <graham.markall@embecosm.com>
Date:   Wed Jul 27 15:57:18 2016 +0100

    Begin implementing ARC NPS-400 Accelerator instructions
    
    opcodes * arc-nps400-tbl.h: Change block comments to GNU format.
            * arc-dis.c: Add new globals addrtypenames,
            addrtypenames_max, and addtypeunknown.
            (get_addrtype): New function.
            (print_insn_arc): Print colons and address types when
            required.
            * arc-opc.c: Add MAKE_INSERT_NPS_ADDRTYPE macro and use to
            define insert and extract functions for all address types.
            (arc_operands): Add operands for colon and all address
            types.
            * arc-nps-400-tbl.h: Add NPS-400 BMU instructions to opcode table.
            * arc-opc.c: Add NPS_BD_TYPE and NPS_BMU_NUM operands,
            insert_nps_bd_num_buff and extract_nps_bd_num_buff functions.
            * arc-nps-400-tbl.h: Add NPS-400 PMU instructions to opcode table.
            * arc-opc.c: Add NPS_PMU_NXT_DST and NPS_PMU_NUM_JOB operands,
            insert_nps_pmu_num_job and extract_nps_pmu_num_job functions.
    
    include * opcode/arc.h: Add ARC_OPERAND_ADDRTYPE,
            ARC_OPERAND_COLON. Add the arc_nps_address_type enum and
            ARC_NUM_ADDRTYPES.
            * opcode/arc.h: Add BMU to insn_class_t enum.
            * opcode/arc.h: Add PMU to insn_class_t enum.
    
    gas     * config/tc-arc.c: Add new global arc_addrtype_hash.
            Define O_colon and O_addrtype.
            (debug_exp): Add O_colon and O_addrtype.
            (tokenize_arguments): Handle colon and address type
            tokens.
            (declare_addrtype): New function.
            (md_begin): Initialise arc_addrtype_hash.
            (arc_parse_name): Add lookup of address types.
    	(assemble_insn): Handle colons and address types by
            ignoring them.
            * testsuite/gas/arc/nps400-8.s: New file.
            * testsuite/gas/arc/nps400-8.d: New file.
            * testsuite/gas/arc/nps400-8.s: Add PMU instruction tests.
            * testsuite/gas/arc/nps400-8.d: Add expected PMU
            instruction output.

commit 61d2d2b5492d892d804861225b45396fdaa0b404
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jul 27 12:01:09 2016 +0100

    Restrict linker garbage collection personality test to cfi enabled targets.
    
    	* testsuite/ld-gc/personality.d: Use "target cfi" to restrict the
    	test to targets which support cfi.

commit 147d994bcdd36a177e49e7b6ac8d9c1f7b4cdcf5
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jul 27 10:49:32 2016 +0100

    Fix seg-fault when running garbage collection on coff binaries.
    
    	PR ld/20401
    	* coffgen.c (fini_reloc_cookie_rels): Check for the extistence
    	of the coff_section_data before using it.

commit 7fca8e8ff70e53aeb5459cbe1438d168d5624958
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Wed Jul 27 19:01:34 2016 +0930

    Fix warning in ldbuildid.c mingw32 code
    
    	* ldbuildid.c (generate_build_id): Warning fix.

commit 23fcf59aebe1323d7a8584c00699d688d1273828
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 27 16:25:29 2016 +0930

    Fix aarch64_relocs.sh file mode

commit b6e11d01e075b79cdc70261a83bd3b840fb80c5d
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 27 00:00:21 2016 +0000

    Automatic date update in version.in

commit 293acfae4e3c9aad417e262edc9847c79bbbbb11
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 27 09:00:03 2016 +0930

    Wean gdb and sim off private libbfd.h header
    
    The major reason this header was needed, bfd_default_set_arch_mach,
    has now moved to bfd.h.
    
    gdb/
    	* amd64-darwin-tdep.c: Don't include libbfd.h.
    	* i386-darwin-tdep.c: Likewise.
    	* rs6000-nat.c: Likewise.
    	* rs6000-tdep.c: Likewise.
    sim/aarch64/
    	* memory.c: Don't include libbfd.h.
    sim/rl78/
    	* load.c: Don't include libbfd.h.
    	(rl78_load): Don't use private iovec seek or read.
    sim/rx/
    	* load.c: Don't include libbfd.h.
    	(rx_load): Don't use private iovec seek or read.

commit 6598661d14c90cabac1daa5e683d1e17883b2e41
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 26 22:21:27 2016 +0100

    Fix PR server/20414 - x32 gdbserver always crashes inferior
    
    Debugging an x32 process with an x32 gdbserver always results in:
    
     (gdb) c
     Continuing.
    
     Program received signal SIGSEGV, Segmentation fault.
     0xf7de9600 in _dl_debug_state () from target:/libx32/ld-linux-x32.so.2
     (gdb)
    
    Looking at the remote debug logs reveals the problem, here:
    
      Packet received: T05swbreak:;06:a0d4ffff00000000;07:b8d3ffff00000000;10:0096def701000000;thread:p7d7a.7d7a;core:1;
                                                                              ^^^^^^^^^^^^^^^^
    
    The underlined value is the expedited value of RIP (in little endian).
    But notice that 01 in 0x01f7de9600, while gdb says the program stopped
    at 0xf7de9600.  0x01ffffffff is over 32 bits, which indicates that
    something wen't wrong somewhere in gdbserver.
    
    The problem turns out to be in gdbserver's x86_get_pc / x86_set_pc
    routines, where "unsigned long" is used assuming that it can fit a
    64-bit value, while unsigned long is actually 32-bit on x32.  The
    result is that collect_register_by_name / supply_register_by_name end
    up reading/writing random bytes off the stack.
    
    Fix this by using explicit uint64_t instead of unsigned long.
    For consistency, use uint32_t instead of unsigned int in the 32-bit
    paths.
    
    gdb/gdbserver/ChangeLog:
    2016-07-26  Pedro Alves  <palves@redhat.com>
    
    	PR server/20414
    	* linux-x86-low.c (x86_get_pc, x86_set_pc): Use uint64_t instead
    	of unsigned long for 64-bit registers and use uint32_t instead of
    	unsigned int for 32-bit registers.

commit 0b31a4bcec2efec9bc8ca40deb61123c52690a2e
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 3 14:11:08 2016 -0600

    PR python/20190 - compute TLS symbol without a frame
    
    PR python/20190 arose from an exception I noticed when trying to use
    the Python unwinder for Spider Monkey in Firefox.
    
    The problem is that the unwinder wants to examine the value of a
    thread-local variable.  However, sympy_value rejects this because
    symbol_read_needs_frame returns true for a TLS variable.
    
    This problem arose once before, though in a different context:
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=11803
    
    At the time Pedro and Daniel pointed out a simpler way to fix that bug
    (see links in 20190 if you are interested); but for this new bug I
    couldn't think of a similar fix and ended up implementing Daniel's
    other suggestion:
    
    https://sourceware.org/ml/gdb-patches/2010-07/msg00393.html
    
    That is, this patch makes it possible to detect whether a symbol needs
    a specific frame, or whether it just needs the inferior to have
    registers.
    
    Built and regtested on x86-64 Fedora 24.
    
    2016-07-26  Tom Tromey  <tom@tromey.com>
    
    	* symtab.c (register_symbol_computed_impl): Update.
    	PR python/20190:
    	* value.h (symbol_read_needs): Declare.
    	(symbol_read_needs_frame): Add comment.
    	* symtab.h (struct symbol_computed_ops) <read_variable>: Update
    	comment.
    	<get_symbol_read_needs>: Rename.  Change return type.
    	* findvar.c (symbol_read_needs): New function.
    	(symbol_read_needs_frame): Rewrite.
    	(default_read_var_value): Use symbol_read_needs.
    	* dwarf2loc.c (struct symbol_needs_baton): Rename.
    	<needs>: Renamed from needs_frame.  Changed type.
    	(needs_frame_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): Rename.
    	(needs_dwarf_reg_entry_value): Update.
    	(symbol_needs_ctx_funcs, dwarf2_loc_desc_get_symbol_read_needs):
    	Rename and update.
    	(locexpr_get_symbol_read_needs, loclist_symbol_needs): Likewise.
    	(dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Update.
    	* defs.h (enum symbol_needs_kind): New.
    
    2016-07-26  Tom Tromey  <tom@tromey.com>
    
    	PR python/20190:
    	* gdb.threads/tls.exp (check_thread_local): Add python symbol
    	test.

commit 8484fb75874eb9ef35710ac6579433f062ddba18
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 26 17:50:55 2016 +0100

    MIPS/GAS: Respect the `insn32' mode in branch relaxation
    
    Complement:
    
    commit 833794fc12d98139fc33f6b0b85feb03471007b7
    Author: Maciej W. Rozycki <macro@linux-mips.org>
    Date:   Tue Jun 25 18:02:34 2013 +0000
    
    <https://sourceware.org/ml/binutils/2013-06/msg00104.html>, ("microMIPS
    insn32 mode support"), and fix an issue with microMIPS branch relaxation
    producing 16-bit instructions in the `insn32' mode.  Use equivalent
    32-bit instruction sequences.
    
    	gas/
    	* config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `insn32' flag.
    	(RELAX_MICROMIPS_INSN32): New macro.
    	(RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT)
    	(RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_RELAX32)
    	(RELAX_MICROMIPS_TOOFAR16, RELAX_MICROMIPS_MARK_TOOFAR16)
    	(RELAX_MICROMIPS_CLEAR_TOOFAR16, RELAX_MICROMIPS_TOOFAR32)
    	(RELAX_MICROMIPS_MARK_TOOFAR32, RELAX_MICROMIPS_CLEAR_TOOFAR32):
    	Shift bits.
    	(append_insn): Record `mips_opts.insn32' with relaxed microMIPS
    	branches.
    	(relaxed_micromips_32bit_branch_length): Handle the `insn32'
    	mode.
    	(md_convert_frag): Likewise.
    	* testsuite/gas/mips/micromips-branch-relax.s: Add `insn32'
    	conditionals.
    	* testsuite/gas/mips/micromips-branch-relax.l: Update line
    	numbers accordingly.
    	* testsuite/gas/mips/micromips-branch-relax-pic.l: Likewise.
    	* testsuite/gas/mips/micromips-branch-relax-insn32.d: New test.
    	* testsuite/gas/mips/micromips-branch-relax-insn32-pic.d: New
    	test.
    	* testsuite/gas/mips/micromips-branch-relax-insn32.l: New
    	stderr output.
    	* testsuite/gas/mips/micromips-branch-relax-insn32-pic.l: New
    	stderr output.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit 54806ffa85643c3a1ee721d5c3f5586d32f86ee1
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 26 17:45:00 2016 +0100

    MIPS/BFD: Handle branches in PLT compression selection
    
    Complement:
    
    commit 1bbce132647e6d72aaa065cce5c1d5dd6585c2b2
    Author: Maciej W. Rozycki <macro@linux-mips.org>
    Date:   Mon Jun 24 23:55:46 2013 +0000
    
    <https://sourceware.org/ml/binutils/2013-06/msg00077.html>, ("MIPS:
    Compressed PLT/stubs support"), and also choose between regular and
    compressed PLT entries as appropriate for any branches referring.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
    	in PLT compression selection.
    	(_bfd_mips_elf_check_relocs): Likewise.
    
    	ld/
    	* testsuite/ld-mips-elf/compressed-plt-1.s: Add branch support.
    	* testsuite/ld-mips-elf/compressed-plt-1a.s: Likewise.
    	* testsuite/ld-mips-elf/compressed-plt-1b.s: Likewise.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-branch.od: New
    	test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-branch.rd: New
    	test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.od:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.rd:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.od:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.rd:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.od:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.rd:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.od:
    	New test.
    	* testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.rd:
    	New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 40c31709c6a51926fcb409611caa52b2da6515c0
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 26 19:35:40 2016 +0100

    Fix PR gdb/20413 - x32: linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER
    
    An x32 gdb always issues this warning:
    
     (gdb) start
     Temporary breakpoint 1 at 0x4043e9: file foo.c, line 25.
     Starting program: a.out
     warning: linux_ptrace_test_ret_to_nx: Cannot PTRACE_PEEKUSER: Input/output error
    
     Temporary breakpoint 1, main (argc=1, argv=0xffffd544) at foo.c:25
     25      {
     (gdb)
    
    As described in Linux commit 55283e253771 (x32: Add ptrace for x32):
    
        [...] PTRACE_PEEKUSR and PTRACE_POKEUSR are only allowed to access
        segment and debug registers. [...]
    
    The fix is to use PTRACE_GETREGS instead.
    
    gdb/ChangeLog:
    2016-07-26  Pedro Alves  <palves@redhat.com>
    
    	* nat/linux-ptrace.c: Include "gregset.h".
    	(linux_ptrace_test_ret_to_nx): Use PTRACE_GETREGS instead of
    	PTRACE_PEEKUSER.

commit 9cf12d57c58a82cfe3e6fee26d1ea55dfe49f9c4
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 26 19:35:40 2016 +0100

    Fix PR gdb/20287 - x32 and "gdb_static_assert (sizeof (nat_siginfo_t) == sizeof (siginfo_t))"
    
    Building an x32 gdb trips on a static assertion:
    
      In file included from .../src/gdb/common/common-defs.h:71:0,
    		   from .../src/gdb/nat/amd64-linux-siginfo.c:21:
      .../src/gdb/common/gdb_assert.h:26:66: error: size of array â??never_defined_just_used_for_checkingâ?? is negative
         extern int never_defined_just_used_for_checking[(expr) ? 1 : -1]
    								    ^
      .../src/gdb/nat/amd64-linux-siginfo.c:113:1: note: in expansion of macro â??gdb_static_assertâ??
       gdb_static_assert (sizeof (nat_siginfo_t) == sizeof (siginfo_t));
       ^
    
    The problem is that the way nat_siginfo_t is defined, it can only
    match the host's siginfo_t object when gdb is built as a 64-bit
    program.
    
    Several bits of nat_siginfo_t are off:
    
    - nat_siginfo_t's _pad field's definition is:
    
       int _pad[((128 / sizeof (int)) - 4)];
    
      while /usr/include/bits/siginfo.h has:
    
       # define __SI_MAX_SIZE     128
       # if __WORDSIZE == 64
       #  define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 4)
       # else
       #  define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 3)
       # endif
    
      and __WORDSIZE == 32 for x32.  This is what causes the size of
      nat_siginfo_t to be wrong and the assertion to fail.
    
    - the nat_clock_t type is incorrect for 64-bit.  We have this:
    
       /* For native 64-bit, clock_t in _sigchld is 64bit aligned at 4 bytes.  */
       typedef long __attribute__ ((__aligned__ (4))) nat_clock_t;
    
      however, /usr/include/bits/siginfo.h has:
    
       # if defined __x86_64__ && __WORDSIZE == 32
       /* si_utime and si_stime must be 4 byte aligned for x32 to match the
          kernel.  We align siginfo_t to 8 bytes so that si_utime and si_stime
          are actually aligned to 8 bytes since their offsets are multiple of
          8 bytes.  */
       typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
       #  define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
       # else
       typedef __clock_t __sigchld_clock_t;
       #  define __SI_ALIGNMENT
       # endif
    
      So we're currently forcing 4-byte alignment on clock_t, when it
      should only be so for x32, not 64-bit.
    
    The fix:
    
     - Leaves nat_siginfo_t strictly for the 64-bit ABI.
    
     - Adds a new typedef for the siginfo type that ptrace uses
       (ptrace_siginfo_t).  An x32 gdb always gets/sets an x32 siginfo_t
       type with PTRACE_GETSIGINFO/PTRACE_SETSIGINFO.
    
     - Uses this new ptrace_siginfo_t type instead of nat_siginfo_t as the
       intermediate conversion type.
    
    gdb/ChangeLog:
    2016-07-26  Pedro Alves  <palves@redhat.com>
    
    	* amd64-linux-nat.c (amd64_linux_siginfo_fixup): Rename 'native'
    	parameter to 'ptrace'.
    	* nat/amd64-linux-siginfo.c (GDB_SI_SIZE): New define.
    	(nat_uptr_t): New an unsigned long.
    	(nat_clock_t): Remove attribute __aligned__.
    	(struct nat_timeval): Delete.
    	(nat_siginfo_t): Remove attribute __aligned__.
    	(ptrace_siginfo_t): Define.
    	(compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
    	(compat_x32_siginfo_from_siginfo)
    	(siginfo_from_compat_x32_siginfo): Make 'from' parameter const.
    	Convert through a ptrace_siginfo_t instead of a nat_siginfo_t.
    	Remove casts.
    	(amd64_linux_siginfo_fixup_common): Rename 'native' parameter to
    	'ptrace'.  Remove static assertions.
    	(top level): New static assertions.
    
    gdb/gdbserver/ChangeLog:
    2016-07-26  Pedro Alves  <palves@redhat.com>
    
    	* linux-x86-low.c (x86_siginfo_fixup): Rename 'native' parameter
    	to 'ptrace'.

commit d0d4152fa5c87532bf05007def680b5a536e1827
Author: Igor Kudrin <ikudrin@accesssoftek.com>
Date:   Tue Jul 26 17:01:06 2016 +0100

    Add support for creating uuid based build-id's in a MinGW32 environment.
    
    ld	* ldbuildid.c: Changes for MinGW32:
    	Include windows.h and rpcdce.h.
    	(validate_build_id_style): Allow "uuid" style.
    	(generate_build_id): Fill in id_bits using UuidCreate().

commit 8769bc4bab847cefc2bb5682a0a0dad579528ac8
Author: Han Shen <shenhan@google.com>
Date:   Tue Jul 26 08:49:12 2016 -0700

    [Gold, aarch64] Implement some AArch64 relocs.
    
    This CL implemented the following relocs for AArch64 target.
      - R_AARCH64_MOVW_UABS_G*
      - R_AARCH64_MOVW_SABS_G* relocations
    
    gold/ChangeLog
    
    2016-07-26 Igor Kudrin  <ikudrin@accesssoftek.com>
    
        * aarch64-reloc-property.cc (Rvalue_bit_select_impl): New class.
        (rvalue_bit_select): Use Rvalue_bit_select_impl.
        * aarch64-reloc.def (MOVW_UABS_G0, MOVW_UABS_G0_NC,
        MOVW_UABS_G1,
        MOVW_UABS_G1_NC, MOVW_UABS_G2, MOVW_UABS_G2_NC, MOVW_UABS_G3,
        MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2): New relocations.
        * aarch64.cc (Target_aarch64::Scan::local): Add cases for new
        MOVW_UABS_* and MOVW_SABS_* relocations.
        (Target_aarch64::Scan::global): Likewise.
        (Target_aarch64::Relocate::relocate): Add cases and handlings
        for new MOVW_UABS_* and MOVW_SABS_* relocations.
        * testsuite/Makefile.am (aarch64_relocs): New test.
        * testsuite/Makefile.in: Regenerate.
        * testsuite/aarch64_globals.s: New test source file.
        * testsuite/aarch64_relocs.s: Likewise.
        * testsuite/aarch64_relocs.sh: New test script.

commit e0461dbb653dbb3c46ea7a15054fd2c98f879f31
Author: Markus Metzger <markus.t.metzger@intel.com>
Date:   Fri Jul 22 13:41:45 2016 +0200

    btrace, testsuite: fix assembly source file selection
    
    Some btrace tests use assembly source files.  They use the target triplet to
    distinguish between x86_64 and ia32 ISA.  This does not work for -m32 tests
    without setting the target triplet to i686-?-?.
    
    Instead use is_amd64_regs_target to distinguish between x86_64 and ia32 ISA.
    
    See also https://sourceware.org/ml/gdb-patches/2016-07/msg00256.html.
    
    testsuite/
    	* gdb.btrace/record_goto.exp: Use is_amd64_regs_target for selecting
    	assembly source files.
    	* gdb.btrace/stepi.exp: Use is_amd64_regs_target for selecting
    	assembly source files.
    	* gdb.btrace/tailcall.exp: Use is_amd64_regs_target for selecting
    	assembly source files.
    	* gdb.btrace/tailcall-only.exp: Use is_amd64_regs_target for selecting
    	assembly source files.

commit 698f8cbbbb6a47c29967188d9fdf8486920af8b7
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 26 00:00:22 2016 +0000

    Automatic date update in version.in

commit 8194e927cc66e8cceb9890240ad75363b3ca6d53
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Jul 25 11:01:54 2016 -0400

    Handle correctly passing a bad interpreter name to new-ui
    
    When a bad interpreter name is passed to new-ui, such as:
    
      (gdb)  new-ui bloop /dev/pts/10
    
    A partially created UI is left in the UI list, with interp set to NULL.
    Trying to do anything that will print on this UI (such as "start") will
    cause a segmentation fault.
    
    Changes in v2:
    
      - Use with_test_prefix to namespace test procedures
      - Give an explicit stable test name
      - Add a "bad terminal path" test
      - Remove useless runto_main
      - Add missing intro comments
    
    I did not factor out the pty spawn, as there is some magic involved I
    don't quite understand.  But it wouldn't bring that much anyway.
    
    gdb/ChangeLog:
    
    	* top.h (make_delete_ui_cleanup): New declaration.
    	* top.c (delete_ui_cleanup): New function.
    	(make_delete_ui_cleanup): New function.
    	(new_ui_command): Create restore_ui cleanup earlier, create a
    	delete_ui cleanup and discard it on success.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.base/new-ui.exp (do_test_invalid_args): New
    	procedure.

commit 0e1a6a5169023ee0c19de2c9160b469e43634b21
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jul 25 12:42:18 2016 +0100

    linux-procfs: Handle lowercase "t (tracing stop)" state
    
    Since Linux 2.6.33, /proc/PID/status shows "t (tracing stop)", with
    lowercase 't'.  Because GDB is only expecting "T (tracing stop)", GDB
    can incorrectly suppress errors in check_ptrace_stopped_lwp_gone:
    
     1578          if (!check_ptrace_stopped_lwp_gone (lp))
     1579            throw_exception (ex);
    
    Ref: https://sourceware.org/ml/gdb-patches/2016-06/msg00072.html
    
    2016-07-25  Pedro Alves  <palves@redhat.com>
    	    Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* nat/linux-procfs.c (parse_proc_status_state): Handle lowercase
    	't'.

commit d617208bb06bd461b52ce041d89f7127e3044762
Author: Pedro Alves <palves@redhat.com>
Date:   Mon Jul 25 12:42:17 2016 +0100

    linux-procfs: Introduce enum proc_state
    
    Parse the process's /proc/PID/status state into an enum instead of the
    current scheme of passing state strings around.
    
    gdb/ChangeLog:
    2016-07-25  Pedro Alves  <palves@redhat.com>
    
    	* nat/linux-procfs.c (enum proc_state): New enum.
    	(parse_proc_status_state): New function.
    	(linux_proc_pid_get_state): Replace output string buffer parameter
    	with an output proc_state parameter.  Use parse_proc_status_state.
    	(linux_proc_pid_is_gone): Adjust to use proc_state values.
    	(linux_proc_pid_has_state): Change type of 'state' parameter; now
    	an enum proc_state.  Adjust to linux_proc_pid_get_state interface
    	change.
    	(linux_proc_pid_is_stopped)
    	(linux_proc_pid_is_trace_stopped_nowarn)
    	(linux_proc_pid_is_zombie_maybe_warn): Adjust to
    	linux_proc_pid_get_state interface change.

commit 3a1518e4f3c467cfee2786b0af3388529f14d23b
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Jul 25 11:12:01 2016 +0200

    Add myself as a write-after-approval GDB maintainer.

commit c0272db5854a799a9f3bb3803c3d03d1a62b9ac2
Author: Tim Wiederhake <tim.wiederhake@intel.com>
Date:   Mon Jul 25 10:57:06 2016 +0200

    btrace: Resume recording after disconnect.
    
    This patch allows gdbserver to continue recording after disconnect.  On
    reconnect, the recorded data is accessible to gdb as if no disconnect happened.
    
    A possible application for this feature is remotely examine bugs that occur
    at irregular intervals, where maintaining a gdb connection is inconvenient.
    
    This also fixes the issue mentioned here:
    https://sourceware.org/ml/gdb-patches/2015-11/msg00424.html
    
    Signed-off-by: Tim Wiederhake <tim.wiederhake@intel.com>
    
    gdb/ChangeLog:
    	* NEWS: Resume btrace on reconnect.
    	* record-btrace.c: Added record-btrace.h include.
    	(record_btrace_open): Split into this and ...
    	(record_btrace_push_target): ... this.
    	(record_btrace_disconnect): New function.
    	(init_record_btrace_ops): Use record_btrace_disconnect.
    	* record-btrace.h: New file.
    	* remote.c: Added record-btrace.h include.
    	(remote_start_remote): Check recording status.
    	(remote_btrace_maybe_reopen): New function.
    
    gdb/doc/ChangeLog:
    	* gdb.texinfo: Resume btrace on reconnect.
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.btrace/reconnect.c: New file.
    	* gdb.btrace/reconnect.exp: New file.
    
    Change-Id: I95e8b0ab8a89e58591aba0e63818cee82fd211bc

commit 95804507f2645c1cce29f2e1a33031accaa6aa24
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jul 25 15:19:20 2016 +0930

    Revise targets able to run ELF 64k section test
    
    	* testsuite/ld-elf/sec64k.exp: Run test for arc, msp430, or1k
    	and m32r.  Correct comment.  Relax ld -r match to account for
    	msp increased number of default sections.

commit a173d7f80df1bb1edeb627bbfbe613e27cdc584c
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 25 00:00:19 2016 +0000

    Automatic date update in version.in

commit 074e493dbdfcbd36819593f5797370585edf0118
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 24 00:00:22 2016 +0000

    Automatic date update in version.in

commit e34879080d8935792ef3942efa5f25b4c3169b5a
Author: Gabriel Krisman Bertazi <gabriel@krisman.be>
Date:   Sat Jul 23 18:38:24 2016 -0300

    Implement catch syscall group
    
    Implement support to add catchpoints for a group of related syscalls
    using the syntax:
    
    (gdb) catch syscall group:<group>
    or
    (gdb) catch syscall g:<group>
    
    Several groups are predefined in the xml files for all architectures
    supported by GDB over Linux.  They are based on the groups defined by
    strace.
    
    gdb/
    
    	* xml-syscall.c (get_syscalls_by_group): New.
    	(get_syscall_group_names): New.
    	(struct syscall_group_desc): New structure to store group data.
    	(struct syscalls_info): Include field to store the group list.
    	(sysinfo_free_syscall_group_desc): New.
    	(free_syscalls_info): Free group list.
    	(syscall_group_create_syscall_group_desc): New.
    	(syscall_group_add_syscall): New.
    	(syscall_create_syscall_desc): Add syscall to its groups.
    	(syscall_start_syscall): Load group attribute.
    	(syscall_group_get_group_by_name): New.
    	(xml_list_syscalls_by_group): New.
    	(xml_list_of_groups): New.
    	* xml-syscall.h (get_syscalls_by_group): Export function
    	to retrieve a list of syscalls filtered by the group name.
    	(get_syscall_group_names): Export function to retrieve the list
    	of syscall groups.
    	* break-catch-syscall.c (catch_syscall_split_args): Verify if
    	argument is a syscall group and expand it to a list of syscalls
    	when creating catchpoints.
    	(catch_syscall_completer): Add word completion for system call
    	groups.
    	* configure.ac: Include dependency for xsltproc when building
    	in maintainer-mode.
    	* break-catch-syscall.c (_initialize_breakpoint): Update catch
    	syscall command documentation.
    	* NEWS: Include section about catching groups of syscalls.
    	* configure: Regenerate.
    	* data-directory/Makefile.in: Generate syscall xml when building
    	in maintainer mode.
    	* syscalls/gdb-syscalls.dtd: Include group attribute to the
    	syscall element.
    	* syscalls/apply-defaults.xsl: New.
    	* syscalls/linux-defaults.xml.in: New.
    	* syscalls/aarch64-linux.xml: Rename to aarch64-linux.xml.in.
    	* syscalls/amd64-linux.xml: Rename to amd64-linux.xml.in.
    	* syscalls/arm-linux.xml: Rename to arm-linux.xml.in.
    	* syscalls/bfin-linux.xml: Rename to bfin-linux.xml.in.
    	* syscalls/i386-linux.xml: Rename to i386-linux.xml.in.
    	* syscalls/mips-n32-linux.xml: Rename to mips-n32-linux.xml.in.
    	* syscalls/mips-n64-linux.xml: Rename to mips-n64-linux.xml.in.
    	* syscalls/mips-o32-linux.xml: Rename to mips-o32-linux.xml.in.
    	* syscalls/ppc-linux.xml: Rename to ppc-linux.xml.in.
    	* syscalls/ppc64-linux.xml: Rename to ppc64-linux.xml.in.
    	* syscalls/s390-linux.xml: Rename to s390-linux.xml.in.
    	* syscalls/s390x-linux.xml: Rename to s390x-linux.xml.in.
    	* syscalls/sparc-linux.xml: Rename to sparc-linux.xml.in.
    	* syscalls/sparc64-linux.xml: Rename to sparc64-linux.xml.in.
    	* syscalls/aarch64-linux.xml: Regenerate.
    	* syscalls/amd64-linux.xml: Regenerate.
    	* syscalls/arm-linux.xml: Regenerate.
    	* syscalls/i386-linux.xml: Regenerate.
    	* syscalls/mips-n32-linux.xml: Regenerate.
    	* syscalls/mips-n64-linux.xml: Regenerate.
    	* syscalls/mips-o32-linux.xml: Regenerate.
    	* syscalls/ppc-linux.xml: Regenerate.
    	* syscalls/ppc64-linux.xml: Regenerate.
    	* syscalls/s390-linux.xml: Regenerate.
    	* syscalls/s390x-linux.xml: Regenerate.
    	* syscalls/sparc-linux.xml: Regenerate.
    	* syscalls/sparc64-linux.xml: Regenerate.
    
    gdb/testsuite/
    
    	* gdb.base/catch-syscall.exp (do_syscall_tests): Add call
    	to test_catch_syscall_group.
    	(test_catch_syscall_group): New.
    
    gdb/doc/
    
    	* gdb.texinfo (Set Catchpoints): Add 'group' argument to catch
    	syscall.

commit 49ecef2a7da2ee9df4ae675f99b70518fbf1bb23
Author: Andrew Pinski <apinski@cavium.com>
Date:   Sat Jul 23 09:56:44 2016 -0700

    Fix ARMv8.1/v8.2 for hw watchpoint and breakpoint
    
    The problem here is ARMv8.1 (and ARMv8.2) define a
    different debug version than ARMv8 (7 and 8 respectively).
    This fixes hw watchpoints and breakpoints by checking
    for those debug versions too.
    
    Committed as obvious after a test on aarch64-linux-gnu
    (on a ThunderX machine which has ARMv8.1 support enabled).
    
    ChangeLog:
    	* nat/aarch64-linux-hw-point.c
    	(aarch64_linux_get_debug_reg_capacity): Handle
    	ARMv8.1 and ARMv8.2 debug versions.
    	* nat/aarch64-linux-hw-point.h
    	(AARCH64_DEBUG_ARCH_V8_1): New define.
    	(AARCH64_DEBUG_ARCH_V8_2): New define.
    
    Signed-off-by: Andrew Pinski <apinski@cavium.com>

commit 463888ab6be549e8dcc9eac36dc07c1c237e2968
Author: РÑ?Ñ?лан Ð?жбÑ?лаÑ?ов <lrn1986@gmail.com>
Date:   Sat Jul 23 11:38:03 2016 +0300

    Support JIT debugging on MS-Windows
    
    gdb/ChangeLog:
    2016-06-30  РÑ?Ñ?лан Ð?жбÑ?лаÑ?ов  <lrn1986@gmail.com>
    
    	PR gdb/14529
    	* windows-nat.c (signal_event_command): New command 'signal-event'
    	for W32 JIT debug support.
    	* NEWS: Add an entry about the new 'signal-event' command.
    
    gdb/doc/ChangeLog:
    2016-06-30  РÑ?Ñ?лан Ð?жбÑ?лаÑ?ов  <lrn1986@gmail.com>
    
    	* gdb.texinfo (Cygwin Native): Document the new 'signal-event'
    	command.

commit cac709756b00c57a375f40e032d2eb4f5dbd3804
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 23 00:00:20 2016 +0000

    Automatic date update in version.in

commit e98c9e7ce1c9fd2a5ad99ae2de637b4c16d999b3
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Jun 26 11:06:44 2016 -0600

    PR rust/20162 - fix gdb regressions caused by rust 1.10
    
    PR rust/20162 started life as a reminder to test gdb with versions of
    rust after 1.8; but now concerns some gdb regressions seen with rust
    1.10 ("beta") and 1.11 ("nightly").
    
    The failures turn out to be a discrepancy between how rustc emits
    DWARF and how gdb interprets it.  In particular, rustc will emit DWARF
    like:
    
     <2><bc>: Abbrev Number: 9 (DW_TAG_structure_type)
        <bd>   DW_AT_name        : (indirect string, offset: 0x46a): HasMethods
        <c1>   DW_AT_byte_size   : 4
    ...
     <3><cc>: Abbrev Number: 11 (DW_TAG_subprogram)
    ...
        <df>   DW_AT_name        : (indirect string, offset: 0x514f): new
    
    gdb wants to see a separate top-level DW_TAG_subprogram that refers to
    this one via DW_AT_specification; but rustc doesn't emit one.  By my
    reading of DWARF 4 5.5.7, this is ok, and gdb is incorrect here.
    
    Fixing this involved a new case in scan_partial_symbols, and then a
    further change in process_structure_scope to account for the fact
    that, in Rust, such functions are not methods and should not be
    attached to the structure type.
    
    Next, it turns out that rust is emitting bad values for
    DW_AT_linkage_name, e.g.:
    
        <db>   DW_AT_linkage_name: (indirect string, offset: 0x422): _ZN7methods8{{impl}}3newE
    
    The the "{{impl}}" stuff is apparently some side effect of a change to
    the compiler's internal representation.  Oops!
    
    This also had a simple fix -- disregard these mangled names.
    
    With these changes, there are no regressions in the gdb Rust tests
    with either 1.10 or 1.11.  1.9, the stable release, is still pretty
    broken, but I think there's nothing much to do about that.
    
    These changes are a bit hackish, but no worse, I think, than other
    kinds of quirk handling already done in the DWARF parser.  I have
    reported all the rustc bugs upstream.  I plan to remove these hacks
    from gdb some suitable time after they have been fixed in released
    versions of Rust.
    
    2016-07-22  Tom Tromey  <tom@tromey.com>
    
    	PR rust/20162:
    	* dwarf2read.c (scan_partial_symbols) <DW_TAG_structure_type>:
    	Call scan_partial_symbols for children when reading a Rust CU.
    	(dwarf2_physname): Ignore invalid DW_AT_linkage_name generated by
    	rustc.
    	(process_structure_scope) <DW_TAG_subprogram>: Call
    	read_func_scope for Rust.

commit eed2386e45968fa4fee8d093895f4789044fb077
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Jul 22 16:31:41 2016 +0100

    Get "num" as unsigned in ctf
    
    I see the following fail due to the warning,
    
    -trace-frame-collected^M
    [warning] Extracting signed value from an unsigned int (num)^M
    ....
    FAIL: gdb.trace/mi-trace-frame-collected.exp: ctf: -trace-frame-collected
    
    In ctf metadata, "num" in "tsv" is defined as unint32_t,
    
      ctf_save_write_metadata (&writer->tcs,
    			   "event {\n\tname = \"tsv\";\n\tid = %u;\n"
    			   "\tfields := struct { \n"
    			   "\t\tuint64_t val;\n"
    			   "\t\tuint32_t num;\n"
    			   "\t};\n"
    			   "};\n", CTF_EVENT_ID_TSV);
    
    so we should read it as unsigned.  The patch below fixes the fail by
    changing to bt_ctf_get_uint64.
    
    gdb:
    
    2016-07-22  Yao Qi  <yao.qi@linaro.org>
    
    	* ctf.c (ctf_traceframe_info): Call bt_ctf_get_uint64 rather than
    	bt_ctf_get_int64.

commit c02d11a585398734a2178d65a17411cd3050b9d2
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Fri Jul 22 15:10:31 2016 +0100

    Fix segfault in ARC linker when generating got entries for local symbols.
    
    bfd	* arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the case
    	where there's no elf_link_hash_entry while processing GOT_NORMAL got
    	entries.
    
    ld	* testsuite/ld-arc/got-01.d: New file.
    	* testsuite/ld-arc/got-01.s: New file.

commit 70ad8739d8ec7a79ef28305c0975df503535b88a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 22 00:00:22 2016 +0000

    Automatic date update in version.in

commit d55ed111bfd18183e360d9fcd1269c70a876ab39
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 21 15:45:18 2016 -0700

    Update binutils-lto-mixed.patch against master

commit bd6bc75f7ae3cd3940704e89ce7ac50b69e2a896
Merge: 7d4756a fecd57f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 21 15:36:27 2016 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master
    
    Update BFD_VERSION to 2.27.51.0.1.  Regenerate:
    
    bfd/configure
    binutils/configure
    gas/configure
    gprof/configure
    ld/configure
    opcodes/configure

commit fecd57f9f1f58f043861d5929a650f35a88a6caa
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 21 15:22:13 2016 -0700

    Set BFD_VERSION to 2.27.51
    
    bfd/
    
    	* version.m4 (BFD_VERSION): Set to 2.27.51.
    	* configure: Regenerated.
    
    binutils/
    
    	* configure: Regenerated.
    
    gas/
    
    	* configure: Regenerated.
    
    gprof/
    
    	* configure: Regenerated.
    
    ld/
    
    	* configure: Regenerated.
    
    opcodes/
    
    	* configure: Regenerated.

commit 89b829a8b3fc79f37f0506b11ad5d1ababcb7588
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 21 15:17:37 2016 -0700

    Move ChangeLog entry for PR ld/20376

commit 7d4756a6f76b79fa707f1e485d72dd4b0bf22f49
Merge: 6f03b8b 12df5c0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jul 21 15:09:45 2016 -0700

    Merge remote-tracking branch 'origin/master' into users/hjl/linux/master

commit 12df5c002dcbfc5ac54983e1e7040a182f71a753
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jul 11 15:02:10 2016 -0600

    Allow empty struct expressions in Rust
    
    I learned recently that empty struct expressions, like "X{}", have been
    promoted from experimental to stable in Rust.  This patch changes the
    Rust expression parser to allow this case.
    
    New test case included.
    Built and regtested on x86-64 Fedora 23, using Rust 1.11 beta.
    
    2016-07-21  Tom Tromey  <tom@tromey.com>
    
    	* rust-lang.c (rust_tuple_struct_type_p): Return false for empty
    	structs.
    	* rust-exp.y (struct_expr_list): Allow empty elements.
    
    2016-07-21  Tom Tromey  <tom@tromey.com>
    
    	* gdb.rust/simple.rs (main): Use empty struct expression.
    	* gdb.rust/simple.exp: Add tests for empty struct expression.

commit 305450edd3f96bfeebff78300e1e93487563d90a
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 6 12:56:42 2016 -0600

    Add -Wunused-but-set-* to build
    
    This adds -Wunused-but-set-variable and -Wunused-but-set-parameter to
    configure.
    
    2016-07-21  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.
    	* warning.m4 (AM_GDB_WARNINGS) <build_warnings>: Add
    	-Wunused-but-set-parameter, -Wunused-but-set-variable.
    
    2016-07-21  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.

commit f515a1d643b599ebb8a23d3d95e9f0dfc8261a11
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jul 21 13:02:34 2016 +0100

    Fix djgpp gdb build
    
     - A few missing casts required by C++, resulting in:
    
       ../../src/gdb/ser-go32.c:795:21: error: invalid conversion from 'const void*' to 'const char*' [-fpermissive]
    
       etc.
    
     - dos_noop has an incompatible prototype with struct serial_ops's
       setparity, resulting in:
    
        ../../src/gdb/ser-go32.c:874:1: error: invalid conversion from 'int (*)(serial*)' to 'int (*)(serial*, int)' [-fpermissive]
    
       (I thought of calling the ser-base.c default methods, but djgpp
       doesn't include ser-base.c in the build.)
    
    gdb/ChangeLog:
    2016-07-21  Pedro Alves  <palves@redhat.com>
    
    	* go32-nat.c (go32_create_inferior): Add cast.
    	* ser-go32.c (dos_noop): Delete.
    	(dos_flush_output, dos_setparity, dos_drain_output): New
    	functions.
    	(dos_write): Add cast.
    	(dos_ops): Use dos_flush_output, dos_setparity and
    	dos_drain_output.
    	* top.c (do_chdir_cleanup): Add cast.

commit c25b7ccef4d6d96ed4af1d27c79d78767dba7161
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jul 21 12:23:48 2016 +0100

    Remove unused variable in windows-nat.c
    
    Leave the call for side effects.
    
    gdb/ChangeLog:
    2016-07-21  Pedro Alves  <palves@redhat.com>
    
    	* windows-nat.c (handle_exception): Remove "th".

commit e3821cca157e93677ef098bf36526ccf24f497ac
Author: Pedro Alves <palves@redhat.com>
Date:   Thu Jul 21 15:29:58 2016 +0100

    Remove unused variable in gdb/varobj.c when built without Python support
    
    gdb/ChangeLog:
    2016-07-21  Pedro Alves  <palves@redhat.com>
    
    	* varobj.c (varobj_value_get_print_value): Move "gdbarch" to block
    	scope that uses it.

commit 2583da7cd64e680e43cf92c8022eadee84357b3b
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 14:34:07 2016 +0100

    Fix cast to 'gdb_breakpoint *'
    
    c-mode buildbot catches a build problem,
    
    gcc -g -O2    -I. -I../../../binutils-gdb/gdb/gdbserver -I../../../binutils-gdb/gdb/gdbserver/../common -I../../../binutils-gdb/gdb/gdbserver/../regformats -I../../../binutils-gdb/gdb/gdbserver/.. -I../../../binutils-gdb/gdb/gdbserver/../../include -I../../../binutils-gdb/gdb/gdbserver/../gnulib/import -Ibuild-gnulib-gdbserver/import  -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wpointer-sign -Wmissing-prototypes -Wdeclaration-after-statement -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -Wno-missing-prototypes -Werror -DGDBSERVER -c -o hostio.o -MT hostio.o -MMD -MP -MF .deps/hostio.Tpo ../../../binutils-gdb/gdb/gdbserver/hostio.c
    ../../../binutils-gdb/gdb/gdbserver/mem-break.c: In function find_gdb_breakpoint:
    ../../../binutils-gdb/gdb/gdbserver/mem-break.c:996:15: error: gdb_breakpoint undeclared (first use in this function)
           return (gdb_breakpoint *) bp;
    
    we should use 'struct gdb_breakpoint' rather than 'gdb_breakpoint'.
    Patch below fixes this.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* mem-break.c (find_gdb_breakpoint): Cast bp to
    	'struct gdb_breakpoint *' rather than 'gdb_breakpoint *'.

commit 21536b367ce73eed103e1389b5f45010f0c96bbb
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Support vCont s and S actions with software single step
    
    GDBserver with software single step should be able to claim supporting
    vCont s and S actions, so that GDB knows the remote target can do
    single step.  It doesn't matter to GDB that the single step in the
    remote target is done via hardware or software.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* server.c (handle_v_requests): Support s and S actions
    	if target_supports_software_single_step return true.

commit 8901d1936e4e691f0b3b976f5626ac5a8f27aa7f
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Use reinsert_breakpoint for vCont;s
    
    This patch is to teach GDBserver using software single step to handle
    vCont;s.  Simply speaking, if the thread's resume request is resume_step,
    install reinsert breakpoint at the next pcs when GDBserver is about to
    resume threads.  These reinsert breakpoints of a thread are removed,
    when GDBserver gets an event from that thread and reports it back to
    GDB.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (resume_stopped_resumed_lwps): If resume request
    	is resume_step, call maybe_hw_step.
    	(linux_wait_1): Stop all threads, remove reinsert breakpoints,
    	and unstop them.
    	(linux_resume_one_lwp_throw): Don't assert the thread has reinsert
    	breakpoints or not.
    	(proceed_one_lwp): If resume request is resume_step, install
    	reinsert breakpoints and call maybe_hw_step.

commit 0e9a339ec8ffab80fdbe97adaf888fe03b73fe22
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Enqueue signal even when resuming threads
    
    Nowadays, we only enqueue signal when we leave thread pending in
    linux_resume_one_thread.  If lwp->resume->sig isn't zero (GDB wants
    to resume with signal), we pass lwp->resume->sig to
    linux_resume_one_lwp.
    
    In order to reduce the difference between resuming thread with signal
    and proceeding thread with signal, when we resume thread, we can
    enqueue signal too, and proceed thread.  The signal will be consumed in
    linux_resume_one_lwp_throw from lwp->pending_signals.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (proceed_one_lwp): Declare.
    	(linux_resume_one_thread): Remove local variable 'step'.
    	Lift code enqueue signal.  Call proceed_one_lwp instead of
    	linux_resume_one_lwp.

commit 4281b351bfa3b646ab531cf73c56e49366fef108
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Use enqueue_pending_signal in linux_resume_one_thread
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-low.c (linux_resume_one_thread): Call
    	enqueue_pending_signal.

commit 984a2c042e82f2306183d9d165c5cb99e4341503
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Switch current_thread to lwp's thread in install_software_single_step_breakpoints
    
    install_software_single_step_breakpoints has parameter lwp, but still
    need to switch to current_thread.  In order to simplify its caller,
    we do the current_thread save/restore inside install_software_single_step_breakpoints.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* gdbthread.h (make_cleanup_restore_current_thread): Declare.
    	* inferiors.c (do_restore_current_thread_cleanup): New function.
    	(make_cleanup_restore_current_thread): Likewise.
    	* linux-low.c (install_software_single_step_breakpoints): Call
    	make_cleanup_restore_current_thread.  Switch current_thread to
    	thread.

commit bec903c96bc5119e357b4ad2cab99bbee7de628e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Make reinsert_breakpoint thread specific
    
    This patch makes reinsert_breakpoint thread specific, which means we
    insert and remove reinsert_breakpoint breakpoints for a specific
    thread.  This motivation of this change is that I'll use
    reinsert_breakpoint for vCont;s on software single step target, so that
    GDBserver may insert one reinsert_breakpoint for one thread doing
    step-over, and insert one reinsert_breakpoint for another thread doing
    vCont;s.  After the operation of one thread is finished, GDBserver must
    remove reinsert_breakpoint for that thread only.
    
    On the other hand, reinsert_breakpoint is used for step-over nowadays.
    GDBserver inserts reinsert_breakpoint, and wait only from the thread
    doing step-over.  After the step-over is done, GDBserver removes the
    reinsert_breakpoint.  If there is still any threads need step-over, do
    the same again until all threads are finished step-over.  In other words,
    reinsert_breakpoint is globally thread specific, but in an implicit way.
    It is natural to make it explicitly thread specific.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* mem-break.c (struct reinsert_breakpoint) <ptid>: New field.
    	(set_reinsert_breakpoint): New parameter ptid.  Callers updated.
    	(clone_one_breakpoint): Likewise.
    	(delete_reinsert_breakpoints): Change parameter to thread.
    	Callers updated.
    	(has_reinsert_breakpoints): Likewise.
    	(uninsert_reinsert_breakpoints): Likewise.
    	(reinsert_reinsert_breakpoints): Likewise.
    	* mem-break.h (set_reinsert_breakpoint): Update declaration.
    	(delete_reinsert_breakpoints): Likewise.
    	(reinsert_reinsert_breakpoints): Likewise.
    	(uninsert_reinsert_breakpoints): Likewise.
    	(has_reinsert_breakpoints): Likewise.

commit 63c40ec727109e2bb2956ab95968350df00c1aa1
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:18 2016 +0100

    Refactor clone_all_breakpoints
    
    This patch is to change the interface of clone_all_breakpoints, from
    lists of breakpoints and raw_breakpoints to child thread and parent
    thread.  I choose child thread to pass because we need the ptid of
    the child thread in the following patch.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* inferiors.c (get_thread_process): Make parameter const.
    	* inferiors.h (get_thread_process): Update declaration.
    	* mem-break.c (clone_all_breakpoints): Remove all parameters.
    	Add new parameters child_thread and parent_thread.  Callers
    	updated.
    	* mem-break.h (clone_all_breakpoints): Update declaration.

commit 9aa76cd0a7b2cfdcc9da31e7763a695fac89f569
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:17 2016 +0100

    Create sub classes of 'struct breakpoint'
    
    Nowadays, there are three types of breakpoint in GDBserver,
    
     - gdb breakpoints,
     - reinsert breakpoints, used for software single step,
     - other breakpoints, used for tracepoint,
    
    but we only have one 'struct breakpoint' for all of them.  Some fields
    are only useful to one type of breakpoint.  For example, cond_list
    and command_list are only used by gdb breakpoints, while handler is
    only used by other breakpoints.
    
    This patch changes 'struct breakpoint' to a base class, which has fields
    needed by all breakpoint types, also add three sub-classes to
    'struct breakpoint' to these three types of breakpoints.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* mem-break.c (struct breakpoint) <cond_list>: Remove.
    	<command_list, handler>: Remove.
    	(struct gdb_breakpoint): New.
    	(struct other_breakpoint): New.
    	(struct reinsert_breakpoint): New.
    	(is_gdb_breakpoint): New function.
    	(any_persistent_commands): Update command_list if
    	is_gdb_breakpoint returns true.
    	(set_breakpoint): Create breakpoints according to their types.
    	(find_gdb_breakpoint): Return 'struct gdb_breakpoint *'.
    	(set_gdb_breakpoint_1): Likewise.
    	(set_gdb_breakpoint): Likewise.
    	(clear_breakpoint_conditions): Change parameter type to
    	'struct gdb_breakpoint *'.
    	(clear_breakpoint_commands): Likewise.
    	(clear_breakpoint_conditions_and_commands): Likewise.
    	(add_condition_to_breakpoint): Likewise.
    	(add_breakpoint_condition): Likewise.
    	(add_commands_to_breakpoint): Likewise.
    	(check_breakpoints): Check other_breakpoint.
    	(clone_one_breakpoint): Clone breakpopint according to its type.
    	* mem-break.h (struct gdb_breakpoint): Declare.
    	(set_gdb_breakpoint): Update declaration.
    	(clear_breakpoint_conditions_and_commands): Likewise.
    	(add_breakpoint_condition): Likewise.
    	(add_breakpoint_commands): Likewise.
    	* server.c (process_point_options): Change parameter type to
    	'struct gdb_breakpoint *'.

commit 811f8301f8054eb964e92af63930c4495207e7d5
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 12:12:17 2016 +0100

    Pass breakpoint type in set_breakpoint_at
    
    Nowadays, set_breakpoint_at creates breakpoint of type
    other_breakpoint, but we also use set_breakpoint_at
    in set_reinsert_breakpoint to create breakpoint, so that
    we have to overwrite the breakpoint type like this,
    
      bp = set_breakpoint_at (stop_at, NULL);
      bp->type = reinsert_breakpoint;
    
    which looks not very good.  This patch changes set_breakpoint_at
    to receive breakpoint type.  Since set_breakpoint_at is
    used in many places, I rename it to set_breakpoint_type_at, and wrap
    it with set_breakpoint_at, and pass other_breakpoint.  In this way,
    we can call set_breakpoint_type_at with reinsert_breakpoint in
    set_reinsert_breakpoint too, and code looks cleaner.
    
    gdb/gdbserver:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* mem-break.c (set_breakpoint_at): Rename it to ...
    	(set_breakpoint_type_at): ... it.
    	(set_breakpoint_at): Call set_breakpoint_type_at.
    	(set_reinsert_breakpoint): Call set_breakpoint_type_at.
    	* mem-break.h (set_breakpoint_at): Update comments.

commit bae62ee2087bb54fd06746c99de9b734cc58a721
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 09:22:29 2016 +0100

    Skip gdb.server/ tests if lack of XML support
    
    I recently see some gdb.server/*.exp fails in my native gdb testing,
    in which libexpat isn't available, so GDB isn't able to parse xml file.
    It causes gdb.server/ tests fails because GDB can't get registers
    correctly from GDBserver.
    
    (gdb) PASS: gdb.server/connect-without-multi-process.exp: multiprocess=off: break main
    target remote localhost:2352^M
    Remote debugging using localhost:2352^M
    warning: Can not parse XML target description; XML support was disabled at compile time^M
    Reading /lib/ld-linux-armhf.so.3 from remote target...^M
    warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.^M
    Reading /lib/ld-linux-armhf.so.3 from remote target...^M
    Reading symbols from target:/lib/ld-linux-armhf.so.3...Reading /lib/ld-2.17.so.debug from remote target...^M
    Reading /lib/.debug/ld-2.17.so.debug from remote target...^M
    (no debugging symbols found)...done.^M
    Remote 'g' packet reply is too long: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efffbe00000000808d0f4d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000^
    0x4d0f8d80 in _start () from target:/lib/ld-linux-armhf.so.3^M
    
    Without XML support in GDB, it can't parse xml sent by GDBserver, and has
    to fall back to the oldest arch.  However, GDBserver doesn't know this
    (IMO, this is a defect in RSP), and still choose the right target
    description to create regcache and 'g' packet.  If the port only has
    one target description or coincidentally two sides choose the same
    target description, there is no such issue.  Otherwise, GDB is broken
    on read registers.
    
    This patch is to skip gdbserver tests if XML is not support and the
    target has multiple target descriptions.
    
    gdb/testsuite:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* lib/gdbserver-support.exp (skip_gdbserver_tests): Return 1
    	if gdb_skip_xml_test is true on some targets.

commit 0c66ea4c5e46372c7411f67b0ba21d7de5215958
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 21 09:23:16 2016 +0100

    Fix typo fsqrt -> sqrtf.

commit 7982a1dd2560ff2910c17ceff376980412b91d30
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 21 09:20:10 2016 +0100

    oops - forgot to include binutils.texi in the previous delta.

commit 0f118bc7a620f3e3ceff6f2fadca7b8d287a553b
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 21 09:17:54 2016 +0100

    Use fsqrt() to calculate float (rather than double) square root.
    
    	* simulator.c (fsqrts): Use fsqrt rather than sqrt.

commit b1b53fb3ef077bf4412da53f0057b9c0e9ed4f3e
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jul 21 09:15:21 2016 +0100

    Fix fail in gdb.server/solib-list.exp
    
    If I run single test solib-list.exp, it is OK.  If I run two, as below,
    there are fails,
    
    $ make check RUNTESTFLAGS="server-run.exp solib-list.exp"
    FAIL: gdb.server/solib-list.exp: non-stop 0: continue (the program exited)
    FAIL: gdb.server/solib-list.exp: non-stop 0: p libvar
    FAIL: gdb.server/solib-list.exp: non-stop 1: continue (the program exited)
    FAIL: gdb.server/solib-list.exp: non-stop 1: p libvar
    
    in gdb.log,
    
    /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.server/server-run/server-run /lib64/ld-linux-x86-64.so.2 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/solib-list/solib-list
    
    server-run is spawned, which is wrong.  If I only run solib-list.exp, ld-linux
    is spawned, which is right.
    
    /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/../../gdb/gdbserver/gdbserver --once :2346 /lib64/ld-linux-x86-64.so.2 /scratch/yao/gdb/build-git/x86_64/gdb/testsuite/outputs/gdb.server/solib-list/solib-list
    
    in test, we spawn gdbserver this way,
    
        # Note we pass ${interp_system}, the program gdbserver spawns, as
        # argument here, instead of using gdb_load, because we don't want
        # to download the interpreter to the target (it's already there)
        # or to the test output directory.
        set res [gdbserver_spawn "${interp_system} ${remote_binfile}"]
    
    in gdbserver_spawn -> gdbserver_download_current_prog, if
    last_loaded_file is set (when you run multiple tests), it is
    returned.
    
    This patch is to unset last_loaded_file in solib-list.exp.
    
    gdb/testsuite:
    
    2016-07-21  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.server/solib-list.exp: Unset last_loaded_file.

commit 982c6f2665bad6c8fec6ee75ffb3c5af60a285a6
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Jul 21 09:36:37 2016 +0930

    Use variable args in run_ld_link_exec_tests
    
    If the last parameter of a tcl function is "args" then it can take
    zero or more arguments.  Make use of this language feature in
    run_ld_link_exec_tests.
    
    	* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Replace
    	"targets_to_xfail" parameter with "args".
    	* testsuite/ld-elf/compress.exp: Remove empty list of xfails on
    	all calls to run_ld_link_exec_tests.
    	* testsuite/ld-elf/dwarf.exp: Likewise.
    	* testsuite/ld-elf/indirect.exp: Likewise.
    	* testsuite/ld-elf/wrap.exp: Likewise.
    	* testsuite/ld-i386/i386.exp: Likewise.
    	* testsuite/ld-i386/no-plt.exp: Likewise.
    	* testsuite/ld-i386/tls.exp: Likewise.
    	* testsuite/ld-ifunc/ifunc.exp: Likewise.
    	* testsuite/ld-pie/pie.exp: Likewise.
    	* testsuite/ld-plugin/lto.exp: Likewise.
    	* testsuite/ld-size/size.exp: Likewise.
    	* testsuite/ld-x86-64/mpx.exp: Likewise.
    	* testsuite/ld-x86-64/no-plt.exp: Likewise.
    	* testsuite/ld-x86-64/tls.exp: Likewise.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-elf/elf.exp: Likewise.  Reorder args when providing
    	xfails and simplify lists.
    	* testsuite/ld-elf/shared.exp: Likewise.

commit 5df1bc570fcc5ef5257b7a044acdaeb6b95b9822
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 20 15:06:49 2016 +0930

    Fix implib test failures
    
    bfd/
    	* elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
    	(swap_out_syms): Return an error when not finding ELF output
    	section rather than asserting.
    	* elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
    ld/
    	* testsuite/lib/ld-lib.exp (run_ld_link_tests): Add optional
    	parameter to pass list of xfails.
    	* testsuite/ld-elf/elf.exp: Add xfails for implib tests.  Tidy
    	implib test formatting.  Don't set .data start address.
    	* testsuite/ld-elf/implib.s: Remove first .bss directive and
    	replace second one with equivalent .section directive.
    	* testsuite/ld-elf/empty-implib.out: Add expected final error.
    	* testsuite/ld-elf/implib.rd: Update.

commit c092a4d9154f09e6c67648efb723878d7a74f44f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 21 00:00:21 2016 +0000

    Automatic date update in version.in

commit dbaed3853474e7bd824a25bc454a8f2fdd71d2b3
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Sat Jul 16 10:14:08 2016 -0700

    Use a real vfork done event on FreeBSD when available.
    
    FreeBSD 12 recently added a new ptrace event to indicate when the vfork
    parent resumes after the child process stops sharing the address space.
    Use this event to report a proper TARGET_WAITKIND_VFORK_DONE rather than
    faking a vfork done event after a delay.
    
    gdb/ChangeLog:
    
    	* fbsd-nat.c (fbsd_enable_proc_events): Enable "PTRACE_VFORK"
    	events.
    	(fbsd_pending_vfork_done): Only define if "PTRACE_VFORK" is not
    	defined.
    	(fbsd_add_vfork_done): Likewise.
    	(fbsd_is_vfork_done_pending): Likewise.
    	(fbsd_next_vfork_done): Likewise.
    	(fbsd_resume): Only ignore pending vfork done events if
    	"PTRACE_VFORK" is not defined.
    	(fbsd_wait): Only look for pending vfork done events if
    	"PTRACE_VFORK" is not defined.
    	[PTRACE_VFORK]: Handle "PL_FLAG_VFORKED" and "PL_FLAG_VFORK_DONE"
    	events.
    	(fbsd_follow_fork): Only fake a vfork done event if "PTRACE_VFORK"
    	is not defined.

commit 5fa14c6b9789bad6f91dd21889f7b1a0eb75c6d0
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Jul 15 17:01:21 2016 -0700

    Enable ptrace events on new child processes.
    
    New child processes on FreeBSD do not inherit optional ptrace events
    such as fork and LWP events from the parent process.  Instead,
    explicitly enable events on new children when reporting a fork
    event.
    
    gdb/ChangeLog:
    
    	* fbsd-nat.c (fbsd_wait): Use "fbsd_enable_proc_events" on
    	new child processes.

commit da95a26cc381c0f092f515ffe108075985c16d7f
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Fri Jul 15 14:03:10 2016 -0700

    Consolidate code to enable optional FreeBSD native target event reporting.
    
    Add a new function to enable optional event reporting for FreeBSD native
    targets.  Specifically, use this to enable fork and LWP events.
    The bodies of fbsd_enable_follow_fork and fbsd_enable_lwp_events have been
    subsumed into the new function.  In addition, use the PT_GET_EVENT_MASK
    and PT_EVENT_SET_MASK requests added in FreeBSD 12 when present to enable
    these events.
    
    gdb/ChangeLog:
    
    	* fbsd-nat.c (fbsd_enable_lwp_events): Remove function.
    	(fbsd_enable_proc_events): New function.
    	(fbsd_enable_follow_fork): Remove function.
    	(fbsd_post_startup_inferior): Use "fbsd_enable_proc_events".
    	(fbsd_post_attach): Likewise.

commit 37fd5ef3ecc58caacd6abb4ace3d8b559e3db53d
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Wed Jul 20 17:08:07 2016 +0100

    Add support to the ARC disassembler for selecting instruction classes.
    
    gas	* testsuite/gas/arc/dsp.d: New file.
    	* testsuite/gas/arc/dsp.s: Likewise.
    	* testsuite/gas/arc/fpu.d: Likewise.
    	* testsuite/gas/arc/fpu.s: Likewise.
    	* testsuite/gas/arc/ext2op.d: Add specific disassembler option.
    	* testsuite/gas/arc/ext3op.d: Likewise.
    	* testsuite/gas/arc/tdpfp.d: Likewise.
    	* testsuite/gas/arc/tfpuda.d: Likewise.
    
    opcodes	* arc-dis.c (skipclass): New structure.
    	(decodelist): New variable.
    	(is_compatible_p): New function.
    	(new_element): Likewise.
    	(skip_class_p): Likewise.
    	(find_format_from_table): Use skip_class_p function.
    	(find_format): Decode first the extension instructions.
    	(print_insn_arc): Select either ARCEM or ARCHS based on elf
    	e_flags.
    	(parse_option): New function.
    	(parse_disassembler_options): Likewise.
    	(print_arc_disassembler_options): Likewise.
    	(print_insn_arc): Use parse_disassembler_options function.  Proper
    	select ARCv2 cpu variant.
    	* disassemble.c (disassembler_usage): Add ARC disassembler
    	options.
    
    binutils* doc/binutils.texi (objdump): Add ARC disassembler options.
    	* testsuite/binutils-all/arc/dsp.s: New file.
    	* testsuite/binutils-all/arc/objdump.exp: Likewise.
    
    include	* dis-asm.h: Declare print_arc_disassembler_options.

commit 0064d22386b99c047bbff3bcc73b6bfce9c29b4c
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Jul 4 19:19:48 2016 -0700

    Handle version 1a of FreeBSD's NT_PRSINFO.
    
    Version 1a adds a pr_pid member containing the process ID of the
    terminating process.  The presence of pr_pid is inferred from the
    note's size.
    
    bfd/ChangeLog:
    
    	* elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
    	and handle pr_pid if present.

commit 9ab8247228844bb6608d6b2c99b6d8732bab08c1
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jul 20 07:50:42 2016 -0700

    Check p_paddr for program header space
    
    Issue an error if p_paddr becomes invalid when allocating space for
    program headers.
    
    	PR ld/20376
    	* elf.c (assign_file_positions_for_load_sections): Also check
    	p_paddr for program header space.

commit 027d97f8b0193a8113ee60bafc686d45d0af59ee
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jul 20 16:26:44 2016 +0200

    testsuite: Fix gdb.gdb/selftest.exp for C++-O2-g-built GDB
    
    tested on Fedora 24 x86_64 after:
            ./configure; make
    That is: CFLAGS='-g -O2' CXXFLAGS='-g -O2'
    
    FAIL: gdb.gdb/selftest.exp: unknown source line
    FAIL: gdb.gdb/selftest.exp: step into xmalloc call
    
    gdb/testsuite/ChangeLog
    2016-07-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.gdb/selftest.exp (do_steps_and_nexts): Add "next over TRY" and
    	"step into captured_main (args)".

commit 7674d381b47f9f2411c0ca1da0c152940dc0d7bd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jul 20 16:20:48 2016 +0200

    testsuite: Fix gdb.btrace/tailcall-only.exp errors on x86_64-m32
    
    $ runtest 'CC_FOR_TARGET=gcc -m32' gdb.btrace/tailcall-only.exp
    Running ./gdb.btrace/tailcall-only.exp ...
    gdb compile failed, tailcall-only.c: Assembler messages:
    tailcall-only.c:142: Error: cannot represent relocation type BFD_RELOC_64
    [...]
    tailcall-only.c:425: Error: cannot represent relocation type BFD_RELOC_64
    
    It works for the other x86 arch combinations:
    
    On Mon, 11 Apr 2016 08:44:23 +0200, Metzger, Markus T wrote:
    I'm setting the target triplet to "i686-unknown-linux" in my m32 configuration.
    Like this:
    
    set target_triplet "i686-unknown-linux"
    set_board_info cflags "-m32"
    set_board_info cppflags "-m32"
    
    On Wed, 20 Jul 2016 16:02:20 +0200, Pedro Alves wrote:
    There's no reason you should _not_ set it.
    
    But, multilib-style testing with --target_board=unix\{-m64,-m32\} etc.
    should work _too_, IMO.
    
    gdb/testsuite/ChangeLog
    2016-07-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.btrace/tailcall-only.exp: Use is_lp64_target check.

commit 72b5d09937fa2dac8ca7c801b9ddefe1b0176b6f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jul 20 16:17:04 2016 +0200

    testsuite patch: Skip py-unwind.exp on x86_64 -m32
    
    (gdb) source /home/jkratoch/redhat/gdb-clean/gdb/testsuite/outputs/gdb.python/py-unwind/py-unwind.py^M
    Python script imported^M
    Python Exception <type 'exceptions.ValueError'> Bad register: ^M
    (gdb) FAIL: gdb.python/py-unwind.exp: import python scripts
    
    class TestUnwinder(Unwinder):
        AMD64_RBP = 6
        AMD64_RSP = 7
        AMD64_RIP = 16
    
    On Tue, 19 Jul 2016 12:06:09 +0200, Yao Qi wrote:
    py-unwind.exp does nothing on arch specific thing, so py-unwind.exp shouldn't
    be aware of the arch difference, but py-unwind.py should.
    
    On Tue, 19 Jul 2016 20:04:33 +0200, Pedro Alves wrote:
    How about we handle this in the .exp file for now and leave something
    more complicated for when the test is first ported to some other
    arch.  WDYT?
    
    gdb/testsuite/ChangeLog
    2016-07-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.python/py-unwind.exp: Test also ![is_lp64_target].

commit 5caa2b07ebd1b4ab07c6f3ace0810d8e107a30d0
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jul 20 12:11:52 2016 +0100

    MIPS/GAS: Remove erroneous ELF relocation references
    
    Remove R_MIPS_PC26_S2 and R_MIPS_PC21_S2 relocation references that went
    into `mips_force_relocation' with commit 9d862524f6ae ("MIPS: Verify the
    ISA mode and alignment of branch and jump targets") by mistake.  Their
    BFD_RELOC_MIPS_26_PCREL_S2 and BFD_RELOC_MIPS_21_PCREL_S2 equivalents
    are already handled there.
    
    	gas/
    	* config/tc-mips.c (mips_force_relocation): Remove
    	R_MIPS_PC26_S2 and R_MIPS_PC21_S2.

commit f2629855d950f42c6d6ed7132cf94dd70e308985
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jul 20 09:41:10 2016 +0100

    Update documentation to reflect that the symbol localization options of objcopy do not affect unique symbols.
    
    	* doc/binutils.texi (objcopy): Note that the localize symbol
    	options do not affect unique symbols.

commit bedbe19cc09fbb6e921872334bfcd371ac5b769d
Author: Yan-Ting Lin <currygt52@gmail.com>
Date:   Wed Jul 20 09:06:39 2016 +0100

    Enable the configuration of GDB for the NDS32 target.
    
        * configure.ac (nds32*-*-*): Remove entry to enable gdb.
        * configure: Regenerated.

commit b751e639fcc69ba6e1d8ccc0fef2be1522802a33
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 20 09:44:46 2016 +0930

    Early expression evaluation
    
    Folding a constant expression early can lead to loss of tokens, eg.
    ABSOLUTE, that are significant in ld's horrible context sensitive
    expression evaluation.  Also, MAXPAGESIZE and other "constants" may
    not have taken values specified on the command line, leading to the
    wrong value being cached.
    
    	* ldexp.c (exp_unop, exp_binop, exp_trinop, exp_nameop): Don't
    	fold expression.
    	* testsuite/ld-elf/maxpage3b.d: Expect correct maxpagesize.

commit 3ce512885ba76da53fae84cd1a555bc721fdd25e
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 20 10:33:14 2016 +0930

    Mark some more powerpc relocs as not handled by generic linker
    
    	* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
    	ppc64_elf_unhandled_reloc for special_function.
    	* elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.

commit 0806868fa0e7c4aa58859c1d6ec273a38787ab12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 20 00:00:23 2016 +0000

    Automatic date update in version.in

commit 3af09e8db3084f5e03b7f09768a2ab6415418e63
Author: Roland McGrath <mcgrathr@chromium.org>
Date:   Tue Jul 19 10:19:06 2016 -0700

    Support -pie for aarch64*-elf targets.
    
    ld/
    	* emulparams/aarch64elf.sh (GENERATE_PIE_SCRIPT): Set to yes.
    	* emulparams/aarch64elf32.sh: Likewise.

commit 1f960ced9a3e4aa0823dcc234d9de49aebaee055
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jul 19 17:51:05 2016 +0100

    Build gdb.opt/inline-*.exp tests at -O0, rely on __attribute__((always_inline))
    
    A test recently added to gdb.opt/inline-cmds.exp fails for
    arm-none-eabi targets because -O2 leads to instructions to be
    reordered widely.
    
    I guess it might have made sense years ago to enable optimization in
    these tests, but I fail to see the need for that nowadays.
    
    Using -O0 while relying on __attribute__((always_inline)), which is
    already used in the tests [1] [2], avoids this sort of trouble, while
    still exercising the inlining-related use cases that are the focus of
    these tests.
    
    I think that nowadays we can safely assume that all compilers we care
    about support __attribute__((always_inline)) or similar.
    
    [1] - Except one spot that missed it.
    
    [2] - Note that the .exp files make sure the frames that should have
          been inlined are indeed inlined, with "info frame".
    
    gdb/testsuite/ChangeLog:
    2016-07-19  Pedro Alves  <palves@redhat.com>
    
    	* gdb.opt/inline-break.exp: Remove optimize=-O2.
    	* gdb.opt/inline-bt.exp: Likewise.
    	* gdb.opt/inline-cmds.exp: Remove optimize=-O2 and add
    	additional_flags=-Winline.
    	* gdb.opt/inline-locals.exp: Likewise.
    	* gdb.opt/inline-markers.c (ATTR): Define.
    	(inlined_fn): Use it.

commit a6ebf6169a1bd14724b9ac49990089542396f576
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 19 16:19:19 2016 +0100

    MIPS: Convert cross-mode BAL to JALX
    
    Convert cross-mode regular MIPS and microMIPS BAL instructions to JALX,
    similarly to how JAL instructions are converted.
    
    	bfd/
    	* elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
    	BAL to JALX.
    	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
    	corresponding error message.
    
    	gas/
    	* config/tc-mips.c (mips_force_relocation, mips_fix_adjustable):
    	Adjust comments for BAL to JALX linker conversion.
    	(fix_bad_cross_mode_branch_p): Accept cross-mode BAL.
    	* testsuite/gas/mips/unaligned-branch-1.l: Update error messages
    	expected.
    	* testsuite/gas/mips/unaligned-branch-micromips-1.l: Likewise.
    	* testsuite/gas/mips/branch-local-4.d: New test.
    	* testsuite/gas/mips/branch-local-n32-4.d: New test.
    	* testsuite/gas/mips/branch-local-n64-4.d: New test.
    	* testsuite/gas/mips/branch-addend.d: New test.
    	* testsuite/gas/mips/branch-addend-n32.d: New test.
    	* testsuite/gas/mips/branch-addend-n64.d: New test.
    	* testsuite/gas/mips/branch-local-4.s: New test source.
    	* testsuite/gas/mips/branch-addend.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/unaligned-branch-2.d: Update error
    	messages expected.
    	* testsuite/ld-mips-elf/unaligned-branch-r6-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-mips16.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-branch-micromips.d: Likewise.
    	* testsuite/ld-mips-elf/bal-jalx-addend.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-local.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-addend-n32.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-local-n32.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-n32.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-addend-n64.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-local-n64.d: New test.
    	* testsuite/ld-mips-elf/bal-jalx-pic-n64.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jalx-2.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jalx-3.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-2.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-3.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jalx-2.s: New test source.
    	* testsuite/ld-mips-elf/unaligned-jalx-3.s: New test source.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-2.s: New test
    	source.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-3.s: New test
    	source.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 9d862524f6ae9703fe8e264dd4785756d358570a
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 19 13:59:28 2016 +0100

    MIPS: Verify the ISA mode and alignment of branch and jump targets
    
    Verify that the ISA mode of branch targets is the same as the referring
    relocation, so that an attempt to produce a branch between instructions
    encoded in different ISA modes each causes an error rather than silently
    producing non-functional code.  Make sure that no symbol or addend bits
    are silently truncated: terminate with an error if the relocation value
    calculated cannot be encoded in the relocatable field of a branch; for
    REL targets also applying to any intermediate addend.
    
    Also make jump target's alignment verification consistent with that for
    branches.
    
    This change will require an update to some obscure handcoded assembly
    sources which make branches to labels placed at data objects, however
    for microMIPS code only.  These labels will have to be updated with the
    `.insn' directive for containing code to assemble and link successfully.
    Such code is broken as any such labels have always been required by the
    microMIPS architecture specification[1][2] to be annotated this way for
    correct interpretation, and with our old code missing `.insn' directives
    caused labels to present different semantics depending on whether they
    were referred with branch (ISA bit ignored) or other relocations (ISA
    bit respected).
    
    Enforcing these checks however will ensure errors in building software,
    like mixed regular MIPS and microMIPS code links with branches between,
    will be diagnosed at the build time rather than causing odd run-time
    errors such as intermittent crashes.  It will also let cross-mode BAL
    instructions be converted to JALX instructions, with a separate change.
    
    References:
    
    [1] "MIPS Architecture for Programmers, Volume II-B: The microMIPS32
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00582,
        Revision 5.04, January 15, 2014, Section 7.1 "Assembly-Level
        Compatibility", p. 533
    
    [2] "MIPS Architecture for Programmers, Volume II-B: The microMIPS64
        Instruction Set", MIPS Technologies, Inc., Document Number: MD00594,
        Revision 5.04, January 15, 2014, Section 8.1 "Assembly-Level
        Compatibility", p. 623
    
    	bfd/
    	* elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
    	R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
    	(branch_reloc_p): New function.
    	(mips_elf_calculate_relocation): Handle ISA mode determination
    	for relocations against section symbols, against absolute
    	symbols and absolute relocations.  Also set `*cross_mode_jump_p'
    	for branches.
    	<R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
    	checks for weak undefined symbols.  Also check target alignment
    	within the same ISA mode.
    	<R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
    	in the alignment check.
    	<R_MICROMIPS_PC7_S1>: Add an alignment check.
    	<R_MICROMIPS_PC10_S1>: Likewise.
    	<R_MICROMIPS_PC16_S1>: Likewise.
    	(mips_elf_perform_relocation): Report a failure for unsupported
    	same-mode JALX instructions and cross-mode branches.
    	(_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
    	error messages for jumps to misaligned addresses.
    
    	gas/
    	* config/tc-mips.c (mips_force_relocation): Also retain branch
    	relocations against MIPS16 and microMIPS symbols.
    	(fix_bad_cross_mode_jump_p): New function.
    	(fix_bad_same_mode_jalx_p): Likewise.
    	(fix_bad_misaligned_jump_p): Likewise.
    	(fix_bad_cross_mode_branch_p): Likewise.
    	(fix_bad_misaligned_branch_p): Likewise.
    	(fix_validate_branch): Likewise.
    	(md_apply_fix) <BFD_RELOC_MIPS_JMP, BFD_RELOC_MIPS16_JMP>
    	<BFD_RELOC_MICROMIPS_JMP>: Separate from BFD_RELOC_MIPS_SHIFT5,
    	etc.  Verify the ISA mode and alignment of the jump target.
    	<BFD_RELOC_MIPS_21_PCREL_S2>: Replace the inline alignment check
    	with a call to `fix_validate_branch'.
    	<BFD_RELOC_MIPS_26_PCREL_S2>: Likewise.
    	<BFD_RELOC_16_PCREL_S2>: Likewise.
    	<BFD_RELOC_MICROMIPS_7_PCREL_S1, BFD_RELOC_MICROMIPS_10_PCREL_S1>
    	<BFD_RELOC_MICROMIPS_16_PCREL_S1>: Retain the original addend.
    	Verify the ISA mode and alignment of the branch target.
    	(md_convert_frag): Verify the ISA mode and alignment of resolved
    	MIPS16 branch targets.
    	* testsuite/gas/mips/branch-misc-1.s: Annotate non-instruction
    	branch targets with `.insn'.
    	* testsuite/gas/mips/branch-misc-5.s: Likewise.
    	* testsuite/gas/mips/micromips@branch-misc-5-64.d: Update
    	accordingly.
    	* testsuite/gas/mips/micromips@branch-misc-5pic-64.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-relax.s: Annotate
    	non-instruction branch target with `.insn'.
    	* testsuite/gas/mips/micromips.s: Replace microMIPS JALX targets
    	with external symbols.
    	* testsuite/gas/mips/micromips-insn32.d: Update accordingly.
    	* testsuite/gas/mips/micromips-noinsn32.d: Likewise.
    	* testsuite/gas/mips/micromips-trap.d: Likewise.
    	* testsuite/gas/mips/micromips.d: Likewise.
    	* testsuite/gas/mips/mips16.s: Annotate non-instruction branch
    	targets with `.insn'.
    	* testsuite/gas/mips/mips16.d: Update accordingly.
    	* testsuite/gas/mips/mips16-64.d: Likewise.
    	* testsuite/gas/mips/mips16-dwarf2.s: Annotate non-instruction
    	branch target with `.insn'.
    	* testsuite/gas/mips/relax-swap3.s: Likewise.
    	* testsuite/gas/mips/branch-local-2.l: New list test.
    	* testsuite/gas/mips/branch-local-3.l: New list test.
    	* testsuite/gas/mips/branch-local-n32-2.l: New list test.
    	* testsuite/gas/mips/branch-local-n32-3.l: New list test.
    	* testsuite/gas/mips/branch-local-n64-2.l: New list test.
    	* testsuite/gas/mips/branch-local-n64-3.l: New list test.
    	* testsuite/gas/mips/unaligned-jump-1.l: New list test.
    	* testsuite/gas/mips/unaligned-jump-2.l: New list test.
    	* testsuite/gas/mips/unaligned-jump-3.d: New test.
    	* testsuite/gas/mips/unaligned-jump-mips16-1.l: New list test.
    	* testsuite/gas/mips/unaligned-jump-mips16-2.l: New list test.
    	* testsuite/gas/mips/unaligned-jump-mips16-3.d: New test.
    	* testsuite/gas/mips/unaligned-jump-micromips-1.l: New list
    	test.
    	* testsuite/gas/mips/unaligned-jump-micromips-2.l: New list
    	test.
    	* testsuite/gas/mips/unaligned-jump-micromips-3.d: New test.
    	* testsuite/gas/mips/unaligned-branch-1.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-2.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-3.d: New test.
    	* testsuite/gas/mips/unaligned-branch-r6-1.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-r6-2.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-r6-3.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-r6-4.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-r6-5.d: New test.
    	* testsuite/gas/mips/unaligned-branch-r6-6.d: New test.
    	* testsuite/gas/mips/unaligned-branch-mips16-1.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-mips16-2.l: New list test.
    	* testsuite/gas/mips/unaligned-branch-mips16-3.d: New test.
    	* testsuite/gas/mips/unaligned-branch-micromips-1.l: New list
    	test.
    	* testsuite/gas/mips/unaligned-branch-micromips-2.l: New list
    	test.
    	* testsuite/gas/mips/unaligned-branch-micromips-3.d: New test.
    	* testsuite/gas/mips/branch-local-2.s: New test source.
    	* testsuite/gas/mips/branch-local-3.s: New test source.
    	* testsuite/gas/mips/branch-local-n32-2.s: New test source.
    	* testsuite/gas/mips/branch-local-n32-3.s: New test source.
    	* testsuite/gas/mips/branch-local-n64-2.s: New test source.
    	* testsuite/gas/mips/branch-local-n64-3.s: New test source.
    	* testsuite/gas/mips/unaligned-jump-1.s: New test source.
    	* testsuite/gas/mips/unaligned-jump-2.s: New test source.
    	* testsuite/gas/mips/unaligned-jump-mips16-1.s: New test source.
    	* testsuite/gas/mips/unaligned-jump-mips16-2.s: New test source.
    	* testsuite/gas/mips/unaligned-jump-micromips-1.s: New test
    	source.
    	* testsuite/gas/mips/unaligned-jump-micromips-2.s: New test
    	source.
    	* testsuite/gas/mips/unaligned-branch-1.s: New test source.
    	* testsuite/gas/mips/unaligned-branch-2.s: New test source.
    	* testsuite/gas/mips/unaligned-branch-r6-1.s: New test source.
    	* testsuite/gas/mips/unaligned-branch-r6-2.s: New test source.
    	* testsuite/gas/mips/unaligned-branch-r6-3.s: New test source.
    	* testsuite/gas/mips/unaligned-branch-r6-4.s: New test source.
    	* testsuite/gas/mips/unaligned-branch-mips16-1.s: New test
    	source.
    	* testsuite/gas/mips/unaligned-branch-mips16-2.s: New test
    	source.
    	* testsuite/gas/mips/unaligned-branch-micromips-1.s: New test
    	source.
    	* testsuite/gas/mips/unaligned-branch-micromips-2.s: New test
    	source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/unaligned-jalx-1.d: Update error message
    	expected.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d:
    	Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d: Likewise.
    	* testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d: Likewise.
    	* testsuite/ld-mips-elf/undefweak-overflow.s: Add jumps,
    	microMIPS BAL and MIPS16 instructions.
    	* testsuite/ld-mips-elf/undefweak-overflow.d: Update
    	accordingly.
    	* testsuite/ld-mips-elf/unaligned-branch-2.d: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-r6-1.d: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-r6-2.d: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-mips16.d: New test.
    	* testsuite/ld-mips-elf/unaligned-branch-micromips.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jump-mips16.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jump-micromips.d: New test.
    	* testsuite/ld-mips-elf/unaligned-jump.d: New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.

commit 065251a0d7a5b0b079ed1f86247573a07d7d98c8
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date:   Sat May 21 04:39:05 2016 -0400

    make the type of nds32_pseudo_opcode::pseudo_val  unsigned
    
    It can be initialized with values greater than 0x80000000, which don't fit in a
    signed int.  Further it appears to be used as a set of bit flags where unsigned
    int is more typical.
    
    gas/ChangeLog:
    
    2016-07-19  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
    
    	* config/tc-nds32.c (struct nds32_pseudo_opcode): Make pseudo_val
    	unsigned int.
    	(do_pseudo_b): Adjust.
    	(do_pseudo_bal): Likewise.
    	(do_pseudo_bge): Likewise.
    	(do_pseudo_bges): Likewise.
    	(do_pseudo_bgt): Likewise.
    	(do_pseudo_bgts): Likewise.
    	(do_pseudo_ble): Likewise.
    	(do_pseudo_bles): Likewise.
    	(do_pseudo_blt): Likewise.
    	(do_pseudo_blts): Likewise.
    	(do_pseudo_br): Likewise.
    	(do_pseudo_bral): Likewise.
    	(do_pseudo_la): Likewise.
    	(do_pseudo_li): Likewise.
    	(do_pseudo_ls_bhw): Likewise.
    	(do_pseudo_ls_bhwp): Likewise.
    	(do_pseudo_ls_bhwpc): Likewise.
    	(do_pseudo_ls_bhwi): Likewise.
    	(do_pseudo_move): Likewise.
    	(do_pseudo_neg): Likewise.
    	(do_pseudo_not): Likewise.
    	(do_pseudo_pushpopm): Likewise.
    	(do_pseudo_pushpop): Likewise.
    	(do_pseudo_v3push): Likewise.
    	(do_pseudo_v3pop): Likewise.
    	(do_pseudo_pushpop_stack): Likewise.
    	(do_pseudo_push_bhwd): Likewise.
    	(do_pseudo_pop_bhwd): Likewise.
    	(do_pseudo_pusha): Likewise.
    	(do_pseudo_pushi): Likewise.

commit 9bceab41933f59fba4ac2278656d808f1b1d1efe
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date:   Mon Jun 27 07:38:33 2016 -0400

    sparc: make a field type bfd_reloc_code_real_type
    
    gas/ChangeLog:
    
    2016-07-19  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
    
    	* config/tc-sparc.c (struct pop_entry): Make the type of reloc
    	bfd_reloc_code_real_type.

commit cf80913ab894d527fe274384a8fa247278d85d03
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date:   Mon Jun 27 07:38:14 2016 -0400

    sparc: remove a sentinal
    
    gas/ChangeLog:
    
    2016-07-19  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
    
    	* config/tc-sparc.c (pop_table): Remove sentinel.
    	(NUM_PERC_ENTRIES): Use ARRAY_SIZE on pop_table.
    	(md_begin): Adjust.

commit 35fec4ff7e9162cd4bb7dcb267dc7dde92f3e304
Author: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
Date:   Mon Jul 18 04:07:26 2016 -0400

    tc-z8k.c: make some argument types bfd_reloc_code_real_type
    
    gas/ChangeLog:
    
    2016-07-19  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
    
    	* config/tc-z8k.c (newfix): Make type of type argument
    	bfd_reloc_code_real_type.
    	(apply_fix): Likewise.

commit f25827c194fe9894f2c65f7e1101854022be4328
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jul 19 10:42:08 2016 +0100

    Use do_self_tests in selftest.exp
    
    This patch uses do_self_tests to simplify selftest.exp.  It doesn't
    change the tests except the order,
    
    -PASS: gdb.gdb/selftest.exp: Disassemble main
     PASS: gdb.gdb/selftest.exp: breakpoint in captured_main
    +PASS: gdb.gdb/selftest.exp: run until breakpoint at captured_main
    +PASS: gdb.gdb/selftest.exp: Disassemble main
     PASS: gdb.gdb/selftest.exp: set interrupt character in test_with_self
     PASS: gdb.gdb/selftest.exp: set listsize to 1
    -PASS: gdb.gdb/selftest.exp: run until breakpoint at captured_main
    
    gdb/testsuite:
    
    2016-07-19  Yao Qi  <yao.qi@linaro.org>
    
    	* gdb.gdb/selftest.exp: Remove checks on is_remote and isnative.
    	(test_with_self): Remove some code.  Remove argument executable.
    	(top-level): Use do_self_tests.

commit ace667e59aede65c400381f1cff704b61e8ccb0b
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Mon Jul 18 21:00:00 2016 +0100

    ld: Restore file offset after a plugin fails to claim a file
    
    When using the plugin interface to claim an input file the claim method
    from (possible) many plugins can be called on an input file.  If these
    claim methods read content from the input file then the file offset
    stored in the underlying file descriptor will change.
    
    As we share a file descriptor between the plugin interface (created with
    dup in ld/plugin.c:plugin_object_p) and the input bfd object, then any
    changes to the file offset in the file descriptor will effect the bfd
    object.  Also, as the changes to the file offset did not originate from
    calls through the bfd interface, but instead came from the plugin
    directly, then the bfd will not be aware that the file offset has
    changed.  This is a problem as the bfd library caches the file offset.
    If the plugin decides not to claim an input file then, currently, we
    leave the bfd in a state where the actual file offset is out of sync
    with the cached file offset.
    
    This problem came to light after a recent commit
    7d0b9ebc1e0079271a7c7737b53bc026525eab64 (Don't include libbfd.h outside
    of bfd, part 6) however, I don't believe that commit actual introduces
    the bug, it just exposed the existing issue.
    
    This commit solves the problem by backing up and restoring the file
    offset for the file descriptor of the input file.  The restore is only
    done if the plugin does not claim the input file, as it is in this case
    that the bfd library might be used again to try and identify the
    unclaimed file.
    
    ld/ChangeLog:
    
    	* plugin.c (plugin_call_claim_file): Restore the file offset after
    	an unsuccessful attempt to claim a file.
    	* testplug.c (bytes_to_read_before_claim): New global.
    	(record_read_length): New function, sets new global
    	bytes_to_read_before_claim.
    	(parse_option): Handle 'read:<NUMBER>' option.
    	(onclaim_file): Read file content before checking for claim.
    	* testsuite/ld-plugin/plugin-30.d: New file.
    	* testsuite/ld-plugin/plugin.exp: Add new test.

commit 59f48f5a45d2300da401f1fccab31ba436217469
Author: Denis Chertykov <chertykov@gmail.com>
Date:   Tue Jul 19 09:47:23 2016 +0300

    	Update PC when simulate break instruction.
    
    	PR target/ 19401
    	* avr/interp.c (step_once): Pass break instruction address to
    	sim_engine_halt function which writes that to PC. Remove code that
    	follows that function call as it is unreachable.

commit a4717ffb7bbc1415275c6c51029729c8b5de9c12
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 19 00:00:21 2016 +0000

    Automatic date update in version.in

commit faf13905145f58faf5623f5aad281668ce54c79a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Jul 18 00:00:20 2016 +0000

    Automatic date update in version.in

commit 68cd8f10986037f69a7be494751b115e1324332b
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sun Jul 17 00:00:40 2016 +0000

    Automatic date update in version.in

commit 7d0b9ebc1e0079271a7c7737b53bc026525eab64
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 16 13:32:16 2016 +0930

    Don't include libbfd.h outside of bfd, part 6
    
    Some messing with plugin code in order to not need arelt_size in
    ld code.  File descriptor handling in ld/plugin.c is tidied too,
    simply duping the open fd rather than opening the file again.
    
    bfd/
    	* elflink.c: Include plugin-api.h.
    	* plugin.c (bfd_plugin_open_input): New function, extracted from..
    	(try_claim): ..here.
    	* plugin.h: Don't include bfd.h.
    	(bfd_plugin_open_input): Declare.
    binutils/
    	* ar.c: Include plugin-api.h.
    	* nm.c: Likewise.
    ld/
    	* plugin.c: Don't include libbfd.h.  Include plugin-api.h
    	before bfd/plugin.h.
    	(plugin_object_p): Use bfd_plugin_open_input.

commit aac502f7d7899d96477fbd83f0038235af641def
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 16 13:30:41 2016 +0930

    Don't include libbfd.h outside of bfd, part 5
    
    A rewrite of the code in bucomm.c supporting objdump -i, to use
    bfd_iterate_over_targets rather than accessing bfd_target_vector
    directly.  Calculates widest arch string rather than using an
    out of date constant.  Stashes info from the first display of valid
    target/arch combinations for use in second tabular display.
    
    binutils/
    	* bucomm.c: Don't include libbfd.h.
    	(endian_string, display_target_list): Delete forward declaration.
    	(display_info_table, display_target_tables): Likewise.
    	(LONGEST_ARCH): Delete.
    	(struct display_target): New.
    	(do_display_target): New function.
    	(display_target_list, display_info): Rewrite functions.
    	(display_info_table): Delete.
    	(do_info_size, do_info_header, do_info_row): New functions.

commit 4212b42d795628dcc36bcffc7cf16175f7698305
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 16 13:29:35 2016 +0930

    Don't include libbfd.h outside of bfd, part 4
    
    Not much to see here, just renaming a function.
    
    bfd/
    	* targets.c (bfd_seach_for_target): Rename to..
    	(bfd_iterate_over_targets): ..this.  Rewrite doc.
    	* bfd-in2.h: Regenerate.
    ld/
    	* ldlang.c (open_output): Replace bfd_search_for_target with
    	bfd_iterate_over_targets.  Localize vars.

commit 16412c3bc4b00ecbf87251bfd2c92584615412bb
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 16 13:28:30 2016 +0930

    Don't include libbfd.h outside of bfd, part 3
    
    Fix od-macho.c to use a leb128 function from binutils/dwarf.c rather
    than one from bfd/libbfd.c.
    
    binutils/
    	* elfcomm.h (HOST_WIDEST_INT): Move to..
    	* sysdep.h: ..here.
    	* od-macho.c: Don't include libbfd.h.  Do include dwarf.h
    	(dump_dyld_info_rebase): Use read_leb128 rather than
    	read_unsigned_leb128.
    	(dump_dyld_info_bind, dump_dyld_info_export_1): Likewise.
    	(dump_segment_split_info): Likewise.
    	(dump_dyld_info): Rename vars to avoid shadowing dwarf.h enums.
    	(dump_load_command): Likewise.

commit 00dad9a491b3bb0069b5a1471b8f32052e071965
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 16 13:27:30 2016 +0930

    Don't include libbfd.h outside of bfd, part 2
    
    Make bfd_default_set_arch_mach available to a bunch of gas backend
    files.
    
    bfd/
    	* archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
    	* libbfd.h: Regenerate.
    	* bfd-in2.h: Regenerate.
    gas/
    	* config/tc-epiphany.c: Don't include libbfd.h.
    	* config/tc-frv.c: Likewise.
    	* config/tc-ip2k.c: Likewise.
    	* config/tc-iq2000.c: Likewise.
    	* config/tc-m32c.c: Likewise.
    	* config/tc-mep.c: Likewise.
    	* config/tc-mt.c: Likewise.
    	* config/tc-nios2.c: Likewise.

commit 76e7a75123dc36dbc4ddce8a23d2acb171c2bce2
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Jul 16 13:25:11 2016 +0930

    Don't include libbfd.h outside of bfd, part 1
    
    Make BFD_ALIGN available to objcopy.  Fix assertions.  Don't use
    bfd_log2 in ppc32elf.em or bfd_malloc in xtensaelf.em and bucomm.c.
    
    bfd/
    	* libbfd-in.h (BFD_ALIGN): Move to..
    	* bfd-in.h: ..here.
    	* elf32-ppc.h (struct ppc_elf_params): Add pagesize.
    	* elf32-ppc.c (default_params): Adjust init.
    	(ppc_elf_link_params): Set pagesize_p2.
    	* libbfd.h: Regenerate.
    	* bfd-in2.h: Regenerate.
    binutils/
    	* ar.c: Don't include libbfd.h.
    	* objcopy.c: Likewise.
    	* bucomm.c (bfd_get_archive_filename): Use xmalloc rather than
    	bfd_malloc.
    gas/
    	* config/bfin-parse.y: Don't include libbfd.h.
    	* config/tc-bfin.c: Likewise.
    	* config/tc-rl78.c: Likewise.
    	* config/tc-rx.c: Likewise.
    	* config/tc-metag.c: Likewise.
    	(create_dspreg_htabs, create_scond_htab): Use gas_assert not BFD_ASSERT.
    	* Makefile.am: Update dependencies.
    	* Makefile.in: Regenerate.
    ld/
    	* ldlang.c: Don't include libbfd.h.
    	* emultempl/nds32elf.em: Likewise.
    	* emultempl/ppc64elf.em: Likewise.
    	* emultempl/ppc32elf.em: Likewise.
    	(pagesize): Delete.
    	(params): Update init.
    	(ppc_after_open_output): Use params.pagesize.  Don't call bfd_log2.
    	(PARSE_AND_LIST_ARGS_CASES): Use params.pagesize.
    	* emultempl/sh64elf.em: Don't include libbfd.h.
    	(after_allocation): Use ASSERT, not BFD_ASSERT.
    	* emultempl/xtensaelf.em: Don't include libbfd.h.
    	(replace_insn_sec_with_prop_sec): Use xmalloc, not bfd_malloc.
    	* Makefile.am: Update dependencies.
    	* Makefile.in: Regenerate.

commit 235fa74903061daff9980668423860ecc760665a
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Sat Jul 16 00:00:20 2016 +0000

    Automatic date update in version.in

commit 37539ebee2ea9fc0daceaae1074a79de88d563fb
Author: Don Breazeal <donb@codesourcery.com>
Date:   Fri Jul 15 11:19:19 2016 -0700

    GDB testsuite: Escape paths used in regular expressions
    
    This patch fixes problems with a few GDB testsuites when executing in a
    path that contains special characters (e.g. "++").  When such paths are
    used as a regular expression, the regular expression parser will choke
    and cause the tests to fail.  This patch uses string_to_regexp to
    escape strings that will be used as regular expressions, in order to
    sanitize path names used in expect scripts.
    
    2016-07-15  Zachary Welch  <zwelch@codesourcery.com>
    	    Don Breazeal <donb@codesourcery.com>
    
    	gdb/testsuite/ChangeLog:
    	* gdb.base/maint.exp: Escape paths used in regular expressions.
    	* gdb.stabs/weird.exp: Likewise.

commit 76359541825cf36ecd14ab6b5974ee56e1c59eff
Author: Thomas Preud'homme <thomas.preudhomme@arm.com>
Date:   Fri Jul 15 17:49:08 2016 +0100

    Add support for creating ELF import libraries
    
    2016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    
    bfd/
    	* elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
    	(_bfd_elf_filter_global_symbols): Declare.
    	* elf.c (_bfd_elf_filter_global_symbols): New function.
    	* elflink.c (elf_filter_global_symbols): Likewise.
    	(elf_output_implib): Likewise.
    	(bfd_elf_final_link): Call above function, failing if it does.
    	* elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
    	default it to NULL.
    	(elf_backend_copy_indirect_symbol): Fix spacing.
    	(elf_backend_hide_symbol): Likewise.
    	(elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
    
    include/
    	* bfdlink.h (struct bfd_link_info): Declare new ldscript_def and
    	out_implib_bfd fields.
    
    2016-07-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
    	    Nick Clifton  <nickc@redhat.com>
    
    ld/
    	* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Open import
    	library file for writing and initialize implib_bfd field of link_info
    	structure.
    	* emultempl/pe.em (pe_implib_filename): Remove variable declaration.
    	(OPTION_IMPLIB_FILENAME): Remove macro definition.
    	(gld${EMULATION_NAME}_add_options): Remove --out-implib option.
    	(gld_${EMULATION_NAME}_list_options): Likewise.
    	(gld${EMULATION_NAME}_handle_option): Likewise.
    	(gld_${EMULATION_NAME}_finish): Use command_line.out_implib_filename
    	instead of pe_implib_filename.
    	* emultempl/pep.em (pep_implib_filename): Remove variable declaration.
    	(OPTION_IMPLIB_FILENAME): Remove enumerator.
    	(gld${EMULATION_NAME}_add_options): Remove --out-implib option.
    	(gld_${EMULATION_NAME}_list_options): Likewise.
    	(gld${EMULATION_NAME}_handle_option): Likewise.
    	(gld_${EMULATION_NAME}_finish): Use command_line.out_implib_filename
    	instead of pep_implib_filename.
    	* ld.h (args_type): Declare new out_implib_filename field.
    	* ld.texinfo (--out-implib): Move documentation to arch-independent
    	part and rephrase to apply to ELF targets.
    	* ldexp.c (exp_fold_tree_1): Set ldscript_def field to 1 for symbols
    	defined in linker scripts.
    	* ldlex.h (enum option_values): Declare new OPTION_OUT_IMPLIB
    	enumerator.
    	* lexsup.c (ld_options): Add entry for new --out-implib switch.
    	(parse_args): Handle OPTION_OUT_IMPLIB case.
    	* testsuite/ld-elf/elf.exp (Generate empty import library): New test.
    	(Generate import library): Likewise.
    	* testsuite/ld-elf/implib.s: Likewise.
    	* testsuite/ld-elf/implib.rd: New file.
    	* testsuite/ld-elf/empty-implib.out: Likewise

commit bc7b765ab71f967eb2a9c3da111d7529eec46fbe
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Sun Jul 3 11:56:21 2016 -0700

    Pass SIGLIBRT directly to child processes.
    
    FreeBSD's librt uses SIGLIBRT as an internal signal to implement
    SIGEV_THREAD sigevent notifications.  Similar to SIGLWP or SIGCANCEL
    this signal should be passed through to child processes by default.
    
    include/ChangeLog:
    
    	* signals.def: Add GDB_SIGNAL_LIBRT.
    
    gdb/ChangeLog:
    
    	* common/signals.c (gdb_signal_from_host): Handle SIGLIBRT.
    	(do_gdb_signal_to_host): Likewise.
    	* infrun.c (_initialize_infrun): Pass GDB_SIGNAL_LIBRT through to
    	programs.
    	* proc-events.c (signal_table): Add entry for SIGLIBRT.

commit f7e8b360fe6dd93aae7cb4af554dc66364da4fe0
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jul 15 12:00:03 2016 +0100

    Tidy up debugging in the ARC port of the BFD library.
    
    bfd	* elf32-arc.c (PR_DEBUG): Delete.
    	Fix printing of debug information.  Fix formatting of debug
    	statements.
    	(debug_arc_reloc): Handle symbols that are not from an input file.
    	(arc_do_relocation): Remove excessive exclamation points.
    	(elf_arc_relocate_section): Print an informative message if the
    	relocation fails, even if debugging is not enabled.
    	* arc-got.h: Fix formatting.  Fix printing of debug information.
    	(new_got_entry_to_list): Use xmalloc.
    	* config.bfd: use the big-endian arc vector as the default vector
    	for big-endian arc targets.
    
    ld	* testsuite/ld-arc/arc.exp: Always run the sda-relocs test in
    	little endian mode.

commit 003c15c9fdfc1ef7038ed3306ae166e60663e7ca
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 15 16:33:53 2016 +0930

    Use address sized relocs in remove-relocs-01.s
    
    Fixes failures on alpha, ia64, mcore, metag, moxie, and pj due to lack
    of 16-bit relocs.
    
    	* testsuite/binutils-all/remove-relocs-01.s: Use .dc.a, not .word.

commit 06ab6faf83ce47ca64198819eee02e4e56dc5a74
Author: Alan Modra <amodra@gmail.com>
Date:   Fri Jul 15 17:02:00 2016 +0930

    COFF buffer overflow in mark_relocs
    
    	* cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
    	from marking sym_indices.

commit 50c1cbe1895eaa6cdc7163851799f6f5d8f9336f
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Fri Jul 15 00:00:23 2016 +0000

    Automatic date update in version.in

commit b416ba9b5079a54585d4d508f0a514b98f701221
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 12 01:31:29 2016 +0100

    MIPS/GAS: Don't convert PC-relative REL relocs against absolute symbols
    
    Don't convert PC-relative REL relocations against absolute symbols to
    section-relative references and retain the original symbol reference
    instead.  Offsets into the absolute section may overflow the limited
    range of their in-place addend field, causing an assembly error, e.g.:
    
    $ cat test.s
    	.text
    	.globl	foo
    	.ent	foo
    foo:
    	b	bar
    	.end	foo
    
    	.set	bar, 0x12345678
    $ as -EB -32 -o test.o test.s
    test.s: Assembler messages:
    test.s:3: Error: relocation overflow
    $
    
    With the original reference retained the source can now be assembled and
    linked successfully:
    
    $ as -EB -32 -o test.o test.s
    $ objdump -dr test.o
    
    test.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    00000000 <foo>:
       0:	1000ffff 	b	0 <foo>
    			0: R_MIPS_PC16	bar
       4:	00000000 	nop
    	...
    $ ld -melf32btsmip -Ttext 0x12340000 -e foo -o test test.o
    $ objdump -dr test
    
    test:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    12340000 <foo>:
    12340000:	1000159d 	b	12345678 <bar>
    12340004:	00000000 	nop
    	...
    $
    
    For simplicity always retain the original symbol reference, even if it
    would indeed fit.
    
    Making TC_FORCE_RELOCATION_ABS separate from TC_FORCE_RELOCATION causes
    R_MICROMIPS_PC7_S1, R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC16_S1 branch
    relocations against absolute symbols to be converted on RELA targets to
    section-relative references.  This is an intended effect of this change.
    Absolute symbols carry no ISA annotation in their `st_other' field and
    their value is not going to change with linker relaxation, so it is safe
    to discard the original reference and keep the calculated final symbol
    value only in the relocation's addend.
    
    Similarly R6 R_MIPS_PCHI16 and R_MIPS_PCLO16 relocations referring
    absolute symbols can be safely converted even on REL targets, as there
    the in-place addend of these relocations covers the entire 32-bit
    address space so it can hold the calculated final symbol value, and
    likewise the value referred won't be affected by any linker relaxation.
    
    Add a set of suitable test cases and enable REL linker tests which now
    work and were previously used as dump patterns for RELA tests only.
    
    	gas/
    	* config/tc-mips.h (TC_FORCE_RELOCATION_ABS): New macro.
    	(mips_force_relocation_abs): New prototype.
    	* config/tc-mips.c (mips_force_relocation_abs): New function.
    	* testsuite/gas/mips/branch-absolute.d: Adjust dump patterns.
    	* testsuite/gas/mips/mips16-branch-absolute.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-n32.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-n64.d: Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-addend-n32.d:
    	Likewise.
    	* testsuite/gas/mips/micromips-branch-absolute-addend-n64.d:
    	Likewise.
    	* testsuite/gas/mips/branch-absolute-addend.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend.d: New test.
    	* testsuite/gas/mips/micromips-branch-absolute-addend.d: New
    	test.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/mips-elf.exp: Run
    	`branch-absolute-addend', `mips16-branch-absolute',
    	`mips16-branch-absolute-addend' and
    	`micromips-branch-absolute-addend'.

commit 96e9ba5fbba2e1e8fcafd8576d0a98738a0fbc49
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 12 01:30:48 2016 +0100

    MIPS/GAS: Keep the ISA bit in the addend of branch relocations
    
    Correct a problem with the ISA bit being stripped from the addend of
    compressed branch relocations, affecting RELA targets.  It has been
    there since microMIPS support has been added, with:
    
    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") and R_MICROMIPS_PC7_S1, R_MICROMIPS_PC10_S1 and
    R_MICROMIPS_PC16_S1 relocations originally affected, and the
    R_MIPS16_PC16_S1 relocation recently added with commit c9775dde3277
    ("MIPS16: Add R_MIPS16_PC16_S1 branch relocation support") actually
    triggering a linker error, due to its heightened processing strictness
    level:
    
    $ cat test.s
    	.text
    	.set	mips16
    foo:
    	b	bar
    
    	.set	bar, 0x1235
    	.align	4, 0
    $ as -EB -n32 -o test.o test.s
    $ objdump -dr test.o
    
    test.o:     file format elf32-ntradbigmips
    
    Disassembly of section .text:
    
    00000000 <foo>:
       0:	f000 1000 	b	4 <foo+0x4>
    			0: R_MIPS16_PC16_S1	*ABS*+0x1230
    	...
    $ ld -melf32btsmipn32 -Ttext 0 -e 0 -o test test.o
    test.o: In function `foo':
    (.text+0x0): Branch to a non-instruction-aligned address
    $
    
    This is because the ISA bit of the branch target does not match the ISA
    bit of the referring branch, hardwired to 1 of course.
    
    Retain the ISA bit then, so that the linker knows this is really MIPS16
    code referred:
    
    $ objdump -dr fixed.o
    
    fixed.o:     file format elf32-ntradbigmips
    
    Disassembly of section .text:
    
    00000000 <foo>:
       0:	f000 1000 	b	4 <foo+0x4>
    			0: R_MIPS16_PC16_S1	*ABS*+0x1231
    	...
    $ ld -melf32btsmipn32 -Ttext 0 -e 0 -o fixed fixed.o
    $
    
    Add a set of MIPS16 tests to cover the relevant cases, excluding linker
    tests though which would overflow the in-place addend on REL targets and
    use them as dump patterns for RELA targets only.
    
    	gas/
    	* config/tc-mips.c (md_apply_fix) <BFD_RELOC_MIPS16_16_PCREL_S1>
    	<BFD_RELOC_MICROMIPS_7_PCREL_S1, BFD_RELOC_MICROMIPS_10_PCREL_S1>
    	<BFD_RELOC_MICROMIPS_16_PCREL_S1>: Keep the ISA bit in the
    	addend calculated.
    	* testsuite/gas/mips/mips16-branch-absolute.s: Set the ISA bit
    	in `bar', export `foo'.
    	* testsuite/gas/mips/mips16-branch-absolute.d: Adjust
    	accordingly.
    	* testsuite/gas/mips/mips16-branch-absolute-n32.d: Likewise.
    	* testsuite/gas/mips/mips16-branch-absolute-n64.d: Likewise.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n32.d:
    	Likewise.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n64.d:
    	Likewise.
    
    	ld/
    	* testsuite/ld-mips-elf/mips16-branch-absolute.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n32.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-n64.d: New test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n32.d: New
    	test.
    	* testsuite/ld-mips-elf/mips16-branch-absolute-addend-n64.d: New
    	test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests, except
    	from `mips16-branch-absolute' and
    	`mips16-branch-absolute-addend', referred indirectly only.

commit 0c117286270e8166022900f4e5fef89719ccd2dc
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Tue Jul 12 01:30:01 2016 +0100

    BFD: Let targets handle relocations against absolute symbols
    
    Fix a generic BFD issue with relocations against absolute symbols, which
    are installed without using any individual relocation handler provided
    by the backend.  This causes any absolute section's addend to be lost on
    REL targets such as o32 MIPS, and also relocation-specific calculation
    adjustments are not made.
    
    As an example assembling this program:
    
    $ cat test.s
    	.text
    foo:
    	b	bar
    	b	baz
    
    	.set	bar, 0x1234
    $ as -EB -32 -o test-o32.o test.s
    $ as -EB -n32 -o test-n32.o test.s
    
    produces this binary code:
    
    $ objdump -dr test-o32.o test-n32.o
    
    test-o32.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    00000000 <foo>:
       0:	10000000 	b	4 <foo+0x4>
    			0: R_MIPS_PC16	*ABS*
       4:	00000000 	nop
       8:	1000ffff 	b	8 <foo+0x8>
    			8: R_MIPS_PC16	baz
       c:	00000000 	nop
    
    test-n32.o:     file format elf32-ntradbigmips
    
    Disassembly of section .text:
    
    00000000 <foo>:
       0:	10000000 	b	4 <foo+0x4>
    			0: R_MIPS_PC16	*ABS*+0x1230
       4:	00000000 	nop
       8:	10000000 	b	c <foo+0xc>
    			8: R_MIPS_PC16	baz-0x4
       c:	00000000 	nop
    $
    
    where it is clearly visible in `test-o32.o', which uses REL relocations,
    that the absolute section's addend equivalent to the value of `bar' -- a
    reference to which cannot be fully resolved at the assembly time,
    because the reference is PC-relative -- has been lost, as has been the
    relocation-specific adjustment of -4, required to take into account the
    PC+4-relative calculation made by hardware with branches and seen in the
    external symbol reference to `baz' as the `ffff' addend encoded in the
    instruction word.  In `test-n32.o', which uses RELA relocations, the
    absolute section's addend has been correctly retained.
    
    Give precedence then in `bfd_perform_relocation' and
    `bfd_install_relocation' to any individual relocation handler the
    backend selected may have provided, while still resorting to the generic
    calculation otherwise.  This retains the semantics which we've had since
    forever or before the beginning of our repository history, and is at the
    very least compatible with `bfd_elf_generic_reloc' being used as the
    handler.
    
    Retain the `bfd_is_und_section' check unchanged at the beginning of
    `bfd_perform_relocation' since this does not affect the semantics of the
    function.  The check returns the same `bfd_reloc_undefined' code the
    check for a null `howto' does, so swapping the two does not matter.
    Also the check is is mutually exclusive with the `bfd_is_abs_section'
    check, since a section cannot be absolute and undefined both at once, so
    swapping the two does not matter either.
    
    With this change applied the program quoted above now has the in-place
    addend correctly calculated and installed in the field being relocated:
    
    $ objdump -dr fixed-o32.o
    
    fixed-o32.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    
    00000000 <foo>:
       0:	1000048c 	b	1234 <bar>
    			0: R_MIPS_PC16	*ABS*
       4:	00000000 	nop
       8:	1000ffff 	b	8 <foo+0x8>
    			8: R_MIPS_PC16	baz
       c:	00000000 	nop
    $
    
    Add a set of MIPS tests to cover the relevant cases, including absolute
    symbols with addends, and verifying that PC-relative relocations against
    symbols concerned resolve to the same value in the final link regardless
    of whether the REL or the RELA relocation form is used.  Exclude linker
    tests though which would overflow the in-place addend on REL targets and
    use them as dump patterns for RELA targets only.
    
    	bfd/
    	* reloc.c (bfd_perform_relocation): Try the `howto' handler
    	first with relocations against absolute symbols.
    	(bfd_install_relocation): Likewise.
    
    	gas/
    	* testsuite/gas/mips/mips16-branch-absolute.d: Update patterns.
    	* testsuite/gas/mips/branch-absolute.d: New test.
    	* testsuite/gas/mips/branch-absolute-n32.d: New test.
    	* testsuite/gas/mips/branch-absolute-n64.d: New test.
    	* testsuite/gas/mips/branch-absolute-addend-n32.d: New test.
    	* testsuite/gas/mips/branch-absolute-addend-n64.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-n32.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-n64.d: New test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n32.d: New
    	test.
    	* testsuite/gas/mips/mips16-branch-absolute-addend-n64.d: New
    	test.
    	* testsuite/gas/mips/micromips-branch-absolute.d: New test.
    	* testsuite/gas/mips/micromips-branch-absolute-n32.d: New test.
    	* testsuite/gas/mips/micromips-branch-absolute-n64.d: New test.
    	* testsuite/gas/mips/micromips-branch-absolute-addend-n32.d: New
    	test.
    	* testsuite/gas/mips/micromips-branch-absolute-addend-n64.d: New
    	test.
    	* testsuite/gas/mips/branch-absolute.s: New test source.
    	* testsuite/gas/mips/branch-absolute-addend.s: New test source.
    	* testsuite/gas/mips/mips16-branch-absolute-addend.s: New test
    	source.
    	* testsuite/gas/mips/micromips-branch-absolute.s: New test
    	source.
    	* testsuite/gas/mips/micromips-branch-absolute-addend.s: New
    	test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.
    
    	ld/
    	* testsuite/ld-mips-elf/branch-absolute.d: New test.
    	* testsuite/ld-mips-elf/branch-absolute-n32.d: New test.
    	* testsuite/ld-mips-elf/branch-absolute-n64.d: New test.
    	* testsuite/ld-mips-elf/branch-absolute-addend.d: New test.
    	* testsuite/ld-mips-elf/branch-absolute-addend-n32.d: New test.
    	* testsuite/ld-mips-elf/branch-absolute-addend-n64.d: New test.
    	* testsuite/ld-mips-elf/micromips-branch-absolute.d: New test.
    	* testsuite/ld-mips-elf/micromips-branch-absolute-n32.d: New
    	test.
    	* testsuite/ld-mips-elf/micromips-branch-absolute-n64.d: New
    	test.
    	* testsuite/ld-mips-elf/micromips-branch-absolute-addend.d: New
    	test.
    	* testsuite/ld-mips-elf/micromips-branch-absolute-addend-n32.d:
    	New test.
    	* testsuite/ld-mips-elf/micromips-branch-absolute-addend-n64.d:
    	New test.
    	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests, except
    	from `branch-absolute-addend' and
    	`micromips-branch-absolute-addend', referred indirectly only.

commit 7f131b39970944cb53b407715880d333c5248cac
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jul 14 11:50:55 2016 -0600

    Add missing newline to py-breakpoint.c
    
    In https://sourceware.org/ml/gdb-patches/2016-07/msg00152.html,
    Yao noted that a patch of mine was missing a newline.
    
    I thought I had fixed this but when looking today I realized it was
    not fixed.  This patch adds it.
    
    I'm checking this in as obvious.
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* python/py-breakpoint.c (gdbpy_breakpoint_deleted): Add missing
    	newline.

commit 78cc6c2d9aa3baf6030e513cb1cb5984acee2ee0
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 6 14:18:30 2016 -0600

    Remove unused variables
    
    This patch removes set-but-unused variables.  This holds all the
    removals I consider to be simple and relatively uncontroversial.
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* mips-tdep.c (micromips_scan_prologue): Remove "frame_addr".
    	(mips_o32_push_dummy_call): Remove "stack_used_p".
    	* aarch64-tdep.c (aarch64_record_data_proc_imm): Remove
    	"insn_bit28".
    	* rust-lang.c (rust_print_type): Remove "len".
    	* rust-exp.y (super_name): Remove "current_len".
    	* python/py-framefilter.c (py_print_type): Remove "type".
    	* mdebugread.c (parse_partial_symbols): Remove
    	"past_first_source_file".
    	<N_SO>: Remove "valu", "first_so_symnum", "prev_textlow_not_set".
    	* m2-valprint.c (m2_print_unbounded_array): Remove
    	"content_type".
    	(m2_val_print): Remove "i".
    	* linespec.c (unexpected_linespec_error): Remove "cleanup".
    	* f-valprint.c (f_val_print): Remove "i".
    	* elfread.c (elf_symtab_read): Remove "offset".
    	* dwarf2-frame.c (dwarf2_fetch_cfa_info): Remove "addr_size".
    	* jit.c (jit_dealloc_cache): Remove "i" and "frame_arch".

commit ac29888840f025448225e600d4cf99e126386878
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 6 14:18:23 2016 -0600

    Remove some variables but call functions for side effects
    
    This patch consolidates the (possibly-questionable) spots where we
    remove a declaration but continue to call some function for side
    effects.  In a couple of cases it wasn't entirely clear to me that
    this mattered; and in some other cases it might be more aesthetically
    pleasing to use ATTRIBUTE_UNUSED.  So, I broke this out into a
    separate patch for simpler review.
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* arch-utils.c (default_skip_permanent_breakpoint): Remove
    	"bp_insn".
    	* disasm.c (do_assembly_only): Remove "num_displayed".
    	* dwarf2read.c (read_abbrev_offset): Remove "length".
    	(dwarf_decode_macro_bytes) <DW_MACINFO_vendor_ext>: Remove
    	"constant".
    	* m32c-tdep.c (make_regs): Remove "r2hl", "r3hl", and "intbhl".
    	* microblaze-tdep.c (microblaze_frame_cache): Remove "func".
    	* tracefile.c (trace_save): Remove "status".

commit 764c99c18adcdf658b390f25940aed7713a6a769
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 6 13:45:59 2016 -0600

    Remove some unused overlay code
    
    This patch removes some unneeded initializations in overlay code in
    symfile.c.  It also deletes some old commented-out code.
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* symfile.c (simple_overlay_update_1): Remove initialization
    	of "size", and commented-out code.
    	(simple_overlay_update): Likewise.

commit cecc8b99060bf82632345bd1c07d50c7ae8d81ef
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Jun 28 14:25:49 2016 -0600

    Use getcurx in curses code
    
    As suggested by Pedro, this changes a few spots to use getcurx, rather
    than getyx.  This avoids some unused variable warnings.
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-winsource.c (tui_show_source_line): Use getcurx.
    	* tui/tui-io.c (tui_puts): Use getcurx.
    	(tui_redisplay_readline): Likewise.

commit 821fc4aeef26bc7e5d5943c2f5d009a23e16883c
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 6 13:43:50 2016 -0600

    Add one use of ATTRIBUTE_UNUSED
    
    One spot needed ATTRIBUTE_UNUSED to cope with the new warnings.
    
    The case in inflow.c is just a mass of ifdefs; and while the only use
    of "result" is guarded by "#if 0", I thought it simplest to leave it
    all in place.
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* inflow.c (child_terminal_ours_1): Use ATTRIBUTE_UNUSED.

commit 537d9b851957475a8122949939023c81b1df1673
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Jun 6 13:01:52 2016 -0600

    Change reopen_exec_file to check result of stat
    
    This seems to be a real bug found by -Wunused-but-set-variable.  If
    "stat" fails for some reason, gdb would use the uninitialized "st".
    
    2016-07-14  Tom Tromey  <tom@tromey.com>
    
    	* corefile.c (reopen_exec_file): Only examine st.st_mtime if stat
    	succeeded.

commit d3e5f6c8f1e58e86689909019a3756d4308b66eb
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Fri Aug 21 20:08:26 2015 +0100

    objcopy/strip: Add option --remove-relocations=SECTIONPATTERN
    
    The objcopy and strip tools make use of the bfd library to manipulate
    the state of the input file (to produce an output file).  Within the
    input file (for ELF at least), relocations are held within a section,
    and so, if the user wanted to remove the relocations, but keep the
    section to which the relocations would have been applied, it is tempting
    to think that specifying the name of a relocation section to objcopy's
    --remove-section option might do what you want, for example:
    
       objcopy --remove-section=.rela.text input.elf output.elf
    
    However, this does not work.  The reason is that when the input file is
    loaded, relocations are not managed as sections, but are, instead,
    loaded as data associated with the section to which the relocations
    would be applied.  In our example above the relocations in '.rela.text'
    are held as data on the section '.text' once 'input.elf' is loaded.
    
    One task that objcopy and strip do is copy the relocations from the
    input file to the output file if the section is also being copied from
    the input file to the output file.
    
    This commit adds a new command line option for objcopy and strip,
    --remove-relocations, which can be used to remove the relocations, while
    keeping the section that the relocations would have been applied to, for
    example:
    
        objcopy --remove-relocations=.text input.elf output.elf
    
    in this case the section '.text' will appear in both 'input.elf' and
    'output.elf', but any relocations in 'input.elf' that apply to '.text'
    will not be present in 'output.elf'.
    
    I have also added a special case to the handling of --remove-section
    that spots if a user tries to remove a relocation section (currently
    this is done by spotting the '.rela.' or '.rel.' prefix) and forwards
    the request to --remove-relocations.
    
    As with --remove-section and --only-section the --remove-relocations
    option supports the '!' prefix on the section-patterns it takes to allow
    for sections to be specifically not matched.
    
    There are tests for all the new functionality.
    
    binutils/ChangeLog:
    
    	* doc/binutils.texi (objcopy): Document 'remove-relocations'.
    	(strip): Likewise.
    	* objcopy.c (SECTION_CONTEXT_REMOVE_RELOCS): Define.
    	(enum command_line_switch): Add 'OPTION_REMOVE_RELOCS'.
    	(struct option strip_options): Add 'remove-relocations'.
    	(struct option copy_options): Likewise.
    	(copy_usage): Likewise.
    	(strip_usage): Likewise.
    	(handle_remove_relocations_option): New function.
    	(discard_relocations): New function.
    	(handle_remove_section_option): New function.
    	(copy_relocations_in_section): Use discard_relocations.
    	(strip_main): Use handle_remove_section_option for
    	'remove-section', and handle 'remove-relocations' option.
    	(copy_main): Likewise.
    	* testsuite/binutils-all/objcopy.exp: Run new tests.
    	* testsuite/binutils-all/remove-relocs-01.d: New file.
    	* testsuite/binutils-all/remove-relocs-01.s: New file.
    	* testsuite/binutils-all/remove-relocs-02.d: New file.
    	* testsuite/binutils-all/remove-relocs-03.d: New file.
    	* testsuite/binutils-all/remove-relocs-04.d: New file.
    	* testsuite/binutils-all/remove-relocs-05.d: New file.
    	* testsuite/binutils-all/remove-relocs-06.d: New file.

commit e511c9b19faec4d21aef49d12224316dea3d51eb
Author: Andrew Burgess <andrew.burgess@embecosm.com>
Date:   Mon Aug 24 13:02:39 2015 +0100

    objcopy/strip: Allow section patterns starting with '!'.
    
    For symbol matching, prefixing a pattern with '!' will indicate a
    non-matching pattern, however, this is not the case for section
    patterns.  As a result it is not possible to say "apply this action to
    all sections except ...".
    
    With this commit the objcopy and strip tools now support '!' prefix for
    section patterns, so we can say:
    
      objcopy --remove-section="*" --remove-section="!.text*"
    
    Which will remove all sections, except those matching the pattern
    '.text*'.
    
    binutils/ChangeLog:
    
    	* objcopy.c (find_section_list): Handle section patterns starting
    	with '!' being a non-matching pattern.
    	* doc/binutils.texi (objcopy): Give example of using '!' with
    	--remove-section and --only-section.
    	(strip): Give example of using '!' with --remove-section.
    	* testsuite/binutils-all/data-sections.s: New file.
    	* testsuite/binutils-all/only-section-01.d: New file.
    	* testsuite/binutils-all/remove-section-01.d: New file.
    	* testsuite/binutils-all/objcopy.exp: Run new tests.
    	* NEWS: Mention new feature.

commit 7df94786e4723ba93d8982e55fc5e652b4b80142
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jul 14 10:38:07 2016 +0100

    Small improvements to the ARM simulator to cope with illegal binaries.
    
    	* armemu.c (Multiply64): Only issue error messages about invalid
    	arguments if debugging is enabled.
    	* armos.c (ARMul_OSHandleSWI): Ignore invalid flags.

commit fa1c0170176a5e4820f43824cffe80ffc4e7a717
Author: Claudiu Zissulescu <claziss@synopsys.com>
Date:   Fri Jul 8 11:55:49 2016 +0200

    [ARC] Fix/improve small data support.
    
    The R_ARC_SDA32 is wrongly described as a ME relocation, fix it.  Offset the
    __SDATA_BEGIN__ to take advantage of the signed 9-bit field of the
    load/store instructions.
    
    include/
    2016-07-08  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* elf/arc-reloc.def (ARC_SDA32): Don't use ME transformation.
    
    ld/
    2016-07-08  Claudiu Zissulescu  <claziss@synopsys.com>
    
    	* emulparams/arcelf.sh (SDATA_START_SYMBOLS): Add offset.
    	* testsuite/ld-arc/sda-relocs.dd: New file.
    	* testsuite/ld-arc/sda-relocs.ld: Likewise.
    	* testsuite/ld-arc/sda-relocs.rd: Likewise.
    	* testsuite/ld-arc/sda-relocs.s: Likewise.
    	* testsuite/ld-arc/arc.exp: Add SDA tests.

commit efc67f64c94bddd81f1d9dc00390d3790bfd80bd
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Thu Jul 14 00:00:24 2016 +0000

    Automatic date update in version.in

commit dac790e1b9048a318e1882979d7188d82c3bd757
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 4 21:49:11 2015 -0600

    PR python/15620, PR python/18620 - breakpoint events in Python
    
    This patch adds some breakpoint events to Python.  In particular,
    there is a creation event that is emitted when a breakpoint is
    created; a modification event that is emitted when a breakpoint
    changes somehow; and a deletion event that is emitted when a
    breakpoint is deleted.
    
    In this patch, the event's payload is the breakpoint itself.  I
    considered making a new event type to hold the breakpoint, but I
    didn't see a need.  Still, I thought I would mention this as a spot
    where some other choice is possible.
    
    Built and regtested on x86-64 Fedora 23.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/15620, PR python/18620:
    	* python/py-evts.c (gdbpy_initialize_py_events): Call
    	add_new_registry for new events.
    	* python/py-events.h (events_object) <breakpoint_created,
    	breakpoint_deleted, breakpoint_modified>: New fields.
    	* python/py-breakpoint.c (gdbpy_breakpoint_created): Emit the
    	breakpoint changed event.
    	(gdbpy_breakpoint_deleted): Emit the breakpoint deleted event.
    	(gdbpy_breakpoint_modified): New function.
    	(gdbpy_initialize_breakpoints): Attach to the breakpoint modified
    	observer.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/15620, PR python/18620:
    	* python.texi (Events In Python): Document new breakpoint events.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/15620, PR python/18620:
    	* gdb.python/py-breakpoint.exp (connect_event, check_last_event)
    	(test_bkpt_events): New procs.

commit 93daf339a4d9496ecde15d3b1e852fbdb38c07d0
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 19 15:51:00 2016 -0600

    PR python/17698 - add Breakpoint.pending
    
    This patch adds a "pending" attribute to gdb.Breakpoint.
    
    Built and regtested on x86-64 Fedora 23.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/17698:
    	* NEWS: Update.
    	* python/py-breakpoint.c (bppy_get_pending): New function.
    	(breakpoint_object_getset): Add entry for "pending".
    	* breakpoint.h (pending_breakpoint_p): Declare.
    	* breakpoint.c (pending_breakpoint_p): New function.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/17698:
    	* python.texi (Breakpoints In Python): Document
    	Breakpoint.pending.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/17698:
    	* gdb.python/py-breakpoint.exp (test_bkpt_basic): Add "pending"
    	test.
    	(test_watchpoints): Likewise.
    	(test_bkpt_pending): New proc.

commit 43684a7b844bce64735940b55b667f7086fa3d44
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 19 15:52:52 2016 -0600

    use user_breakpoint_p in python code
    
    I noticed that bppy_get_visibility and gdbpy_breakpoint_created
    implemented their own visibility checks, but subtly different from
    user_breakpoint_p.  I think the latter is more correct, and so changed
    the Python code to use it.
    
    I suspect there isn't a decent way to test this, so no new test.
    
    Built and regtested on x86-64 Fedora 23.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	* python/py-breakpoint.c (bppy_get_visibility)
    	(gdbpy_breakpoint_created): Use user_breakpoint_p.

commit cda75e7050781403875413a57c5700e67b1c6269
Author: Tom Tromey <tom@tromey.com>
Date:   Thu May 19 15:40:54 2016 -0600

    Rearrange Python breakpoint node in documentation
    
    I noticed that the Python breakpoint documentation was ordered a bit
    oddly.  It documented the constructor; then the stop method; then the
    watchpoint constants (used for the constructor); then various other
    methods and attributes; then the other constants used by the
    constructor; and then finally some more methods and attributes.
    
    This patch rearranges the node a little to move the constants to just
    after the constructor and before the other methods and attributes.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	* python.texi (Breakpoints In Python): Move table of types and
    	table of watchpoint types earlier in node.

commit 6571a3815623d907b7a3f560e909edd8c76a9e1c
Author: Tom Tromey <tom@tromey.com>
Date:   Sun Mar 1 20:33:00 2015 -0700

    Fix PR cli/18053
    
    PR cli/18053 concerns a couple of minor bugs in the JIT debuginfo
    support.  First, jit-reader-load should use filename completion and
    support tilde expansion.  Second, the help for jit-reader-unload is
    incorrect.  While working on this I also realized that
    jit-reader-unload should use the no-op completer, so I've included
    that as well.
    
    Built and regtested on x86-64 Fedora 23.  A completer test for
    jit-reader-load is included, but not a tilde-expansion test, as I
    couldn't think of a reliable way to test that.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR cli/18053:
    	* jit.c (jit_reader_load_command): Use tilde_expand.
    	(_initialize_jit): Fix help for jit-reader-unload.  Set completer
    	for new commands.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR cli/18053:
    	* gdb.base/jit-so.exp (one_jit_test): Add jit-reader-load
    	completion test.

commit 92281a5b06dd83a2a7d96ab8d83ae40b4e519acd
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Fri Jul 8 16:07:39 2016 +0100

    MIPS/opcodes: Address issues with NAL disassembly
    
    Address issues with the disassembly of the NAL assembly idiom and R6
    instruction introduced with commit 7361da2c952e ("Add support for MIPS
    R6.") and then further tweaked with commit b9121b573e2e ("Add in a JALRC
    alias and fix the NAL instruction.").  As from R6 this instruction has
    replaced the encoding of `bltzal $0, . + 4' as the solely supported form
    of the former BLTZAL instruction for the regular MIPS ISA.
    
    The instruction is marked as an alias only in our regular MIPS opcode
    table, making it fail to disassemble in R6 code if the `no-aliases'
    machine option has been passed to `objdump':
    
    $ cat test.s
    	.text
    foo:
    	nal
    $ as -mips64r6 -o test.o test.s
    $ objdump -dr --prefix-addresses --show-raw-insn -M no-aliases test.o
    
    nal.o:     file format elf32-tradbigmips
    
    Disassembly of section .text:
    00000000 <foo> 04100000 	0x4100000
    	...
    $
    
    This is because the `bltzal' entry has been marked as pre-R6 only in the
    opcode table and there is no other opcode pattern to match.
    
    Additionally the changes referred made NAL replace the equivalent
    `bltzal $0, . + 4' instruction in disassembly, unless the `no-aliases'
    machine option has been used, in legacy code.  Seeing NAL, especially in
    its updated form lacking the branch target argument, in the disassembly
    of such code may be confusing to people.  This is because unlike with
    EHB only used in R2 and newer code -- the machine encoding of which we
    anyway always disassemble to its corresponding current architecture's
    mnemonic rather than its legacy meaning of `sll $0, $0, 3' -- BLTZAL has
    been indeed used in legacy code.  Even though `bltzal $0, . + 8' and its
    machine code encoding (0x04100001) -- which is not equivalent to NAL and
    still disassembles as BLTZAL -- has been the predominant form as opposed
    to NAL's `bltzal $0, . + 4' (0x04100000), it makes sense to always keep
    the old form in disassembly, while still accepting `nal' in assembly.
    
    Remove the alias marking then from the the `nal' instruction pattern,
    making it always match for R6 code, even with the `no-aliases' option.
    And move the entry beyond the `bltzal' entry, making the latter one take
    precedence for legacy binary code, while letting the former still match
    any `nal' mnemonic in source code assembled for a legacy target.
    
    Add a suitable test case to the GAS test suite.  While the change
    affects the disassembler more than the assembler, so placing the test
    case in the binutils test suite might be more appropriate, the intent is
    also to verify that `nal' is still accepted by GAS for legacy targets,
    plus we have test infrastructure available in the GAS test suite for
    automatic multiple ISA level testing, which we lack from the binutils
    framework.
    
    	opcodes/
    	* mips-opc.c (mips_builtin_opcodes): Remove the INSN2_ALIAS
    	annotation from the "nal" entry and reorder it beyond "bltzal".
    
    	gas/
    	* testsuite/gas/mips/nal-1.d: New test.
    	* testsuite/gas/mips/mipsr6@nal-1.d: New test.
    	* testsuite/gas/mips/nal-2.d: New test.
    	* testsuite/gas/mips/mipsr6@nal-2.d: New test.
    	* testsuite/gas/mips/nal.s: New test source.
    	* testsuite/gas/mips/mips.exp: Run the new tests.

commit d9dcf8c6ef6e9b5e987ffcc6ba012623564d6986
Author: Maciej W. Rozycki <macro@imgtec.com>
Date:   Wed Jul 13 17:31:17 2016 +0100

    MIPS/GAS: Remove extraneous `install_insn' call from `append_insn' (CL)
    
    Add missing ChangeLog entry for commit b8bca85b334b ("MIPS/GAS: Remove
    extraneous `install_insn' call from `append_insn'").

commit 6e7ced37e756420742d51abb044c24d0f1929143
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Wed Jul 13 01:42:28 2016 -0700

    opcodes,gas: support for the ldtxa SPARC instructions.
    
    This patch adds support for the LDTXA instructions, along with the
    corresponding ASIs.  Tests for GAS are included.
    
    opcodes/ChangeLog:
    
    2016-07-12  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* sparc-opc.c (ldtxa): New macro.
    	(sparc_opcodes): Use the macro defined above to add entries for
    	the LDTXA instructions.
    	(asi_table): Add the ASI_TWINX_* asis used in the LDTXA
    	instruction.
    
    gas/ChangeLog:
    
    2016-07-12  Jose E. Marchesi  <jose.marchesi@oracle.com>
    
    	* testsuite/gas/sparc/ldtxa.s: New file.
    	* testsuite/gas/sparc/ldtxa.d: Likewise.
    	* testsuite/gas/sparc/sparc.exp: Execute the ldtxa test.

commit e87324746c45b0f2cd179ba59a80b43a435a9369
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Jul 13 13:58:19 2016 +0200

    [ppc64] Fix for function descriptors
    
    Marin Cermak has found various testcases (or one of them) of GDB FAIL on
    ppc64.
    
    https://sourceware.org/bugzilla/show_bug.cgi?id=20328
    
    .o contained only the function descriptor address.
    
    The DWARF as produced by Tcl Dwarf::assemble:
     <1><27>: Abbrev Number: 4 (DW_TAG_subprogram)
        <28>   DW_AT_name        : main
        <2d>   DW_AT_external    : 1
        <2e>   DW_AT_low_pc      : 0x1001ff98
        <36>   DW_AT_high_pc     : 0x1002ff98
     <2><3e>: Abbrev Number: 5 (DW_TAG_lexical_block)
    
    Runtime info:
    $2 = {<text variable, no debug info>} 0x10000674 <.main>
    $3 = {void ()} 0x1001ff98 <main>
    
    On Tue, 12 Jul 2016 15:22:49 +0200, Ulrich Weigand wrote:
    Well, most of the gdb.dwarf2 test cases simply use explicitly placed labels
    for the DW_AT_low_pc / DW_AT_high_pc attributes.
    
    See e.g. dw2-unresolved-main.c:
    
    asm (".globl cu_text_start");
    asm ("cu_text_start:");
    
    On Wed, 13 Jul 2016 10:54:00 +0200, Jan Kratochvil wrote:
    Now I see I should not do that because:
    
    lib/dwarf.exp:
    proc function_range { func src } {
    
    So I am providing this patch.
    
    gdb/testsuite/ChangeLog
    2016-07-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	* gdb.dwarf2/atomic-type.exp: Use function_range for low_pc and high_pc.
    	* gdb.dwarf2/atomic.c (f): Rename f_end_lbl to f_label.
    	* gdb.dwarf2/dw2-bad-mips-linkage-name.c (f): Rename f_end_lbl to
    	f_label.
    	(g): Rename g_end_lbl to g_label.
    	* gdb.dwarf2/dw2-bad-mips-linkage-name.exp: Use function_range for
    	low_pc and high_pc.
    	* gdb.dwarf2/dw2-lexical-block-bare.exp: Likewise.

commit 9873a9ab89ffbb9d794c6c68fa698cdf7a1d32da
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Wed Jul 13 00:00:19 2016 +0000

    Automatic date update in version.in

commit 37567a2cdd8823c5700ec83b757179083446bf07
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jul 12 15:33:47 2016 -0700

    Align x86-64 .got/.got.plt sections to 8 bytes
    
    Align x86-64 .got and .got.plt sections to their entry size.
    
    	* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
    	.got/.got.plt sections to 8 bytes.

commit e0f3fd7c44cebec7d787893b9c800e7de509cb32
Author: Tom Tromey <tom@tromey.com>
Date:   Thu Jun 9 15:20:09 2016 -0600

    PR python/19293 - invalidate frame cache when unwinders change
    
    PR python/19293 notes that when a Python unwinder is disabled, the
    frame cache is not invalidated.  This means that disabling an unwinder
    doesn't have any immediate effect -- but in my experience it's often
    the case that I want to enable or disable an unwinder in order to see
    what happens.
    
    This patch adds a new gdb.invalidate_cached_frames function and
    arranges for the relevant bits of library code to call it.  I've only
    partially documented this function, considering a warning sufficient
    without going into all the reasons ordinary code should not call it.
    The name of the new function was taken from a comment in frame.h next
    to reinit_frame_cache.
    
    No new test as I think the updates to the existing test are sufficient
    to show that the code is working as intended.
    
    Built and regtested on x86-64 Fedora 23.
    
    2016-07-12  Tom Tromey  <tom@tromey.com>
    
    	PR python/19293:
    	* python/lib/gdb/command/unwinders.py (do_enable_unwinder): Call
    	gdb.invalidate_cached_frames.
    	* python/lib/gdb/unwinder.py (register_unwinder): Call
    	gdb.invalidate_cached_frames.
    	* python/python.c (gdbpy_invalidate_cached_frames): New function.
    	(python_GdbMethods): Add entry for invalidate_cached_frames.
    
    2016-07-12  Tom Tromey  <tom@tromey.com>
    
    	PR python/19293:
    	* python.texi (Frames In Python): Document
    	gdb.invalidate_cached_frames.
    
    2016-07-12  Tom Tromey  <tom@tromey.com>
    
    	PR python/19293:
    	* gdb.python/py-unwind-maint.exp: Update tests.

commit cf143069f39b4feeeca175f88b6d1a5c1cb0fee4
Author: Nick Clifton <nickc@redhat.com>
Date:   Tue Jul 12 15:46:02 2016 +0100

    Second fix for grammar in error message.
    
    	* binary.c (binary_set_section_contents): Second grammar fix.

commit 3cfe46b618f140ce93de3cdbe9693b51eea4acf3
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Jul 12 15:39:34 2016 +0100

    Match the selftest output when captured_main is inlined
    
    In gdb.gdb/observer.exp, I see the following fail,
    
    (gdb) break captured_main^M
    Breakpoint 1 at 0x57e409: file ../../binutils-gdb/gdb/main.c, line 492.^M
    (gdb) PASS: gdb.gdb/observer.exp: breakpoint in captured_main
    run -nw -nx -data-directory /home/yao.qi/SourceCode/gnu/build/gdb/testsuite/../data-directory^M
    Starting program: /home/yao.qi/SourceCode/gnu/build/gdb/testsuite/outputs/gdb.gdb/observer/xgdb -nw -nx -data-directory /home/yao.qi/SourceCode/gnu/build/gdb/testsuite/../data-directory^M
    [Thread debugging using libthread_db enabled]^M
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".^M
    ^M
    Breakpoint 1, gdb_main (args=args@entry=0x7fffffffdca0) at ../../binutils-gdb/gdb/main.c:1157^M
    1157          captured_main (args);^M
    (gdb) FAIL: gdb.gdb/observer.exp: run until breakpoint at captured_main
    
    looks the test sets breakpoint on captured_main, and expects program
    stops at captured_main.  However, program stops at the place where
    captured_main is called, because captured_main is inlined,
    
     <1><8519e3>: Abbrev Number: 58 (DW_TAG_subprogram)
        <8519e4>   DW_AT_name        : (indirect string, offset: 0x880d3): captured_main
        <8519e8>   DW_AT_decl_file   : 1
        <8519e9>   DW_AT_decl_line   : 444
        <8519eb>   DW_AT_type        : <0x846e48>
        <8519ef>   DW_AT_inline      : 1    (inlined)
        <8519f0>   DW_AT_sibling     : <0x851c01>
    
    The test passes if I build GDB with '-O0 -g3', because captured_main
    isn't inlined.  This patch is to match the output when captured_main
    is inlined.
    
    gdb/testsuite:
    
    2016-07-12  Yao Qi  <yao.qi@linaro.org>
    
    	* lib/selftest-support.exp (selftest_setup): Match the output
    	when captured_main is inlined.

commit b1c51e367880f5065707a2a902b99c6508d19ef8
Author: Chung-Lin Tang <cltang@codesourcery.com>
Date:   Tue Jul 12 06:02:14 2016 -0700

    Add type casts to allow C++ compile.
    
    	gdb/gdbserver/
    	* linux-nios2-low.c (nios2_fill_gregset): Add type cast
    	to buf parameter.
    	(nios2_store_gregset): Likewise.

commit f231881ea65232b3f67379326a5b605c465dffc4
Author: Douglas B Rupp <rupp@adacore.com>
Date:   Tue Jul 12 11:05:13 2016 +0100

    Fix grammar in error message.
    
    	* binary.c (binary_set_section_contents): Fix grammar in warning
    	message.

commit 3eb846840f29b069a39a9d3aa4dddf423c79cf65
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Tue Jul 12 00:00:19 2016 +0000

    Automatic date update in version.in


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]