AArch64: Add SVE constraints verifier.
[external/binutils.git] / gdb / ChangeLog
1 2018-10-02  Tom Tromey  <tom@tromey.com>
2
3         * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest.
4
5 2018-10-02  John Darrington <john@darrington.wattle.id.au>
6
7         * NEWS: Mention changed commands.
8         * ser-uds.c: New file.
9         * configure.ac (SER_HARDWIRE): Add ser-uds.o.
10         * configure: Regenerate.
11         * Makefile.in: Add new file.
12         * serial.c (serial_open): Check if filename is a socket
13           and lookup the appropriate interface accordingly.
14
15 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
16
17         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
18         define.
19         (AARCH64_EXTRA_MAGIC): Likewise.
20         (AARCH64_FPSIMD_MAGIC): Likewise.
21         (AARCH64_SVE_MAGIC): Likewise.
22         (AARCH64_EXTRA_DATAP_OFFSET): Likewise.
23         (AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
24         (AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
25         (AARCH64_FPSIMD_V0_OFFSET): Likewise.
26         (AARCH64_FPSIMD_VREG_SIZE): Likewise.
27         (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
28         (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
29         (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
30         (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
31         (AARCH64_SVE_CONTEXT_SIZE): Likewise.
32         (read_aarch64_ctx): Add function.
33         (aarch64_linux_sigframe_init): Detect FP registers.
34
35 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
36
37         * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here.
38         (AARCH64_D0_REGNUM): Likewise.
39         (AARCH64_S0_REGNUM): Likewise.
40         (AARCH64_H0_REGNUM): Likewise.
41         (AARCH64_B0_REGNUM): Likewise.
42         (AARCH64_SVE_V0_REGNUM): Likewise.
43         * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here.
44         (AARCH64_D0_REGNUM): Likewise.
45         (AARCH64_S0_REGNUM): Likewise.
46         (AARCH64_H0_REGNUM): Likewise.
47         (AARCH64_B0_REGNUM): Likewise.
48         (AARCH64_SVE_V0_REGNUM): Likewise.
49
50 2018-10-01  Gary Benson <gbenson@redhat.com>
51
52         * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef.
53         * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use
54         prfpregset_t instead of gdb_prfpregset_t.
55         * configure.ac (PRFPREGSET_T_BROKEN): Remove check.
56         * configure, config.in: Rebuild.
57
58 2018-10-01  Gary Benson <gbenson@redhat.com>
59
60         * common/gdb_proc_service.h: New file, factored out from...
61         * gdb_proc_service.h: Moved common code to the above file.
62         * Makefile.in (HFILES_NO_SRCDIR): Add the above new file.
63
64 2018-10-01  Gary Benson <gbenson@redhat.com>
65
66         * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is
67         undefined.  Use elf_fpregset_t if prfpregset_t is undefined.
68
69 2018-10-01  Gary Benson <gbenson@redhat.com>
70
71         * configure.ac: Check if sys/procfs.h defines elf_fpregset_t.
72         (AC_CHECK_HEADERS): Check for linux/elf.h.
73         * configure, config.in: Rebuild.
74         * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h
75         doesn't define elf_fpregset_t.
76
77 2018-10-01  Gary Benson <gbenson@redhat.com>
78
79         * gdb_proc_service.h: Whitespace change.
80
81 2018-10-01  Tom Tromey  <tom@tromey.com>
82
83         * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H.
84         * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H.
85         * common/scoped_fd.h: Don't check HAVE_UNISTD_H.
86
87 2018-10-01  Tom Tromey  <tom@tromey.com>
88
89         * README: Minor change.
90
91 2018-09-30  Pedro Alves  <palves@redhat.com>
92
93         * darwin-nat-info.c (darwin_debug_regions_recurse)
94         (info_mach_exceptions_command): Remove unused local variables.
95         * darwin-nat.c (darwin_decode_notify_message)
96         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
97         (darwin_stop_inferior, darwin_setup_exceptions)
98         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
99         (darwin_nat_target::attach, darwin_nat_target::detach)
100         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
101         local variables.
102         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
103         variables.
104
105 2018-09-29  Tom Tromey  <tom@tromey.com>
106
107         * README: Remove some leftover text.
108
109 2018-09-29  Tom Tromey  <tom@tromey.com>
110
111         * PROBLEMS: Rewrite.
112         * README: Update.
113
114 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
115
116         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
117         case with explicit breakpoint kind.
118         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
119         'additional_info' and related logic.
120         (riscv_debug_breakpoints): New variable.
121         (riscv_breakpoint_kind_from_pc): Use the length of the existing
122         instruction to determine the breakpoint kind.
123         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
124         flag.  Update description of 'set/show riscv
125         use-compressed-breakpoints' flag.
126
127 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
128
129         (NEWS): Mention changes to frame related commands.
130         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
131         (add_prefix_cmd_suppress_notification): New function.
132         (add_com_suppress_notification): Call
133         add_cmd_suppress_notification.
134         * command.h (add_cmd_suppress_notification): Declare.
135         (add_prefix_cmd_suppress_notification): Declare.
136         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
137         (parse_frame_specification): Moved from stack.c, with
138         simplification to handle a single argument.
139         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
140         switch to the selected frame.  Add a header comment.
141         * stack.c: Remove 'safe-ctype.h' include.
142         (find_frame_for_function): Add declaration.
143         (find_frame_for_address): New function.
144         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
145         (frame_selection_by_function_completer): New function.
146         (info_frame_command): Rename to...
147         (info_frame_command_core): ...this, and update parameter types.
148         (select_frame_command): Rename to...
149         (select_frame_command_core): ...this, and update parameter types.
150         (frame_command): Rename to...
151         (frame_command_core): ...this, and update parameter types.
152         (class frame_command_helper): New class to wrap implementations of
153         frame related sub-commands.
154         (frame_apply_cmd_list): New static global.
155         (frame_cmd_list): Make static.
156         (select_frame_cmd_list): New global for sub-commands.
157         (info_frame_cmd_list): New global for sub-commands.
158         (_initialize_stack): Register sub-commands for 'frame',
159         'select-frame', and 'info frame'.  Update 'frame apply' commands
160         to use frame_apply_cmd_list.  Move function local static
161         frame_apply_list to file static frame_apply_cmd_list for
162         consistency.
163         * stack.h (select_frame_command): Delete declarationn.
164         (select_frame_for_mi): Declare new function.
165
166 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
167
168         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
169         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
170         and NOP.
171
172 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
173
174         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
175
176 2018-09-26  Tom Tromey  <tom@tromey.com>
177
178         * valops.c (auto_abandon): Remove dead code.
179
180 2018-09-26  Tom Tromey  <tom@tromey.com>
181
182         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
183
184 2018-09-24  Tom Tromey  <tom@tromey.com>
185
186         * common/pathstuff.c (get_standard_cache_dir): Make
187         "xdg_cache_home" and "home" const.
188         * top.c (init_history): Make "tmpenv" const.
189         * main.c (get_init_files): Make "homedir" const.
190
191 2018-09-23  Tom Tromey  <tom@tromey.com>
192
193         PR python/18852:
194         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
195
196 2018-09-23  Tom Tromey  <tom@tromey.com>
197
198         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
199         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
200         * python/python-internal.h (gdbpy_handle_exception): Declare.
201         * python/py-utils.c (gdbpy_handle_exception): New function.
202
203 2018-09-23  Tom Tromey  <tom@tromey.com>
204
205         PR python/17284:
206         * python/py-type.c (typy_template_argument): Check for negative
207         argument number.
208
209 2018-09-23  Tom Tromey  <tom@tromey.com>
210
211         PR python/14062:
212         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
213
214 2018-09-23  Tom Tromey  <tom@tromey.com>
215
216         PR python/18170:
217         * python/py-value.c (valpy_int): Allow conversion from pointer
218         type.
219
220 2018-09-23  Tom Tromey  <tom@tromey.com>
221
222         PR python/20126:
223         * python/py-value.c (valpy_int): Respect type sign.
224
225 2018-09-23  Tom Tromey  <tom@tromey.com>
226
227         PR python/18352;
228         * python/py-value.c (valpy_float): Allow conversions from int or
229         char.
230         (valpy_int, valpy_long): Allow conversions from float.
231
232 2018-09-23  Tom Tromey  <tom@tromey.com>
233
234         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
235         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
236
237 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
238
239         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
240         __sighndlr.
241         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
242
243 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
244
245         * windows-nat.c (windows_nat_target::wait): Remove a spurious
246         target_terminal::ours().
247
248 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
249
250         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
251         of vl to ULONGEST.
252
253 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
254
255         * breakpoint.c (update_inserted_breakpoint_locations): Remove
256         redundant condition.
257
258 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
259
260         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
261
262         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
263         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
264         * sol-thread.c (ps_pdmodel): Don't guard definition.
265
266         * procfs.c: Fix formatting.
267
268         * procfs.c (sysset_t_alloc): Remove.
269         (create_procinfo): Use XNEW instead of sysset_t_alloc.
270         (procfs_debug_inferior): Likewise.
271         (procfs_set_exec_trap): Likewise.
272         (proc_set_traced_sysentry): Don't allocate argp dynamically.
273         (proc_set_traced_sysexit): Likewise.
274
275         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
276         (dead_procinfo): Likewise.
277         (proc_warn): Likewise.
278         (proc_error): Likewise.
279         (proc_get_LDT_entry): Likewise.
280         (do_attach): Likewise.
281         (procfs_target::pid_to_str): Likewise.
282         (iterate_over_mappings): Likewise.
283
284         * procfs.c (create_procinfo): Fix ARI warning.
285         (proc_get_status): Likewise.
286         (proc_stop_process): Likewise.
287         (proc_run_process): Likewise.
288         (proc_kill): Likewise.
289         (proc_get_LDT_entry): Likewise.
290         (procfs_find_LDT_entry): Likewise.
291         (proc_update_threads): Likewise.
292         (proc_iterate_over_threads): Likewise.
293         (do_attach): Likewise.
294         (procfs_xfer_memory): Likewise.
295         (invalidate_cache): Likewise.
296         (procfs_target::resume): Likewise.
297         (procfs_init_inferior): Likewise.
298         (procfs_set_exec_trap): Likewise.
299         (procfs_target::thread_alive): Likewise.
300         (procfs_target::pid_to_exec_file): Likewise.
301         (iterate_over_mappings): Likewise.
302         (procfs_target::make_corefile_notes): Likewise.
303         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
304
305         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
306         (procfs_find_LDT_entry): Likewise.
307         * sol-thread.c (ps_lgetLDT): Likewise.
308
309 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
310
311         PR tdep/17903
312         * procfs.c (procfs_target): Declare pid_to_exec_file.
313         (procfs_target::pid_to_exec_file): New.
314
315 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
316
317         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
318         renaming.
319         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
320         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
321
322 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
323
324         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
325         (supply_fpregset, fill_fpregset): Move ...
326         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
327         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
328         Remove references to ioctl-based procfs.
329         Include <sys/reg.h>.
330         Remove PR_MODEL_NATIVE guards.
331         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
332         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
333
334 2018-09-19  Xavier Roirand  <roirand@adacore.com>
335
336         PR gdb/20981:
337         * solib-darwin.c (darwin_get_dyld_bfd): New function.
338         (darwin_solib_get_all_image_info_addr_at_init): Update call.
339         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
340
341 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
342
343         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
344         (fbsd_print_sockaddr_in6): Likewise.
345
346 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
347             Chris January  <chris.january@arm.com>
348
349         * eval.c (skip_undetermined_arglist): Skip argument list helper.
350         (evaluate_subexp_standard): Return a dummy type when
351         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
352         OP_F77_UNDETERMINED_ARGLIST case.
353         * expression.h (enum noside): Update comment.
354
355 2018-09-19  George Vasick <george.vasick@oracle.com>
356
357         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
358
359 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
360             April Chin <april.chin@oracle.com>
361             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
362
363         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
364         uint_t lwpid_t.
365         (create_procinfo): Print pids in /proc without leading zeros.
366
367 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
368
369         * nios2-tdep.c (nios2_gcc_target_options): New.
370         (nios2_gdb_arch_init): Install new hook.
371
372 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
373
374         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
375         New file.
376         * update-gnulib.sh: Apply patch.
377         * configure: Re-generate.
378
379 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
380
381         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
382         description.  Make "info proc" command descriptions more
383         consistent.
384
385 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
386
387         * NEWS: Mention 'info proc files' command.
388
389 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
390
391         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
392         descriptors for IP_FILES and IP_ALL.
393
394 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
395
396         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
397         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
398         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
399         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
400         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
401         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
402         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
403         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
404         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
405         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
406         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
407         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
408         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
409         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
410         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
411         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
412         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
413         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
414         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
415         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
416         (struct fbsd_sockaddr_un): New types.
417         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
418         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
419         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
420         (fbsd_core_info_proc_files): New functions.
421         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
422         IP_ALL.
423         * fbsd-tdep.h (fbsd_info_proc_files_header)
424         (fbsd_info_proc_files_entry): New.
425
426 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
427
428         * defs.h (enum info_proc_what) [IP_FILES]: New value.
429         * infcmd.c (info_proc_cmd_files): New function.
430         (_initialize_infcmd): Register 'info proc files' command.
431
432 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
433
434         * gnulib/aclocal-m4-deps.mk: Re-generate.
435         * gnulib/aclocal.m4: Re-generate.
436         * gnulib/config.in: Re-generate.
437         * gnulib/configure: Re-generate.
438         * gnulib/import/Makefile.am: Re-generate.
439         * gnulib/import/Makefile.in: Re-generate.
440         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
441         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
442         * gnulib/import/arpa_inet.in.h: New file.
443         * gnulib/import/inet_ntop.c: New file.
444         * gnulib/import/m4/arpa_inet_h.m4: New file.
445         * gnulib/import/m4/inet_ntop.m4: New file.
446         * gnulib/import/m4/netinet_in_h.m4: New file.
447         * gnulib/import/m4/socklen.m4: New file.
448         * gnulib/import/m4/sockpfaf.m4: New file.
449         * gnulib/import/m4/stdalign.m4: New file.
450         * gnulib/import/m4/sys_uio_h.m4: New file.
451         * gnulib/import/netinet_in.in.h: New file.
452         * gnulib/import/stdalign.in.h: New file.
453         * gnulib/import/sys_socket.c: New file.
454         * gnulib/import/sys_socket.in.h: New file.
455         * gnulib/import/sys_uio.in.h: New file.
456         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
457         module.
458
459 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
460
461         * gnulib/aclocal-m4-deps.mk: New file.
462         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
463         deterministically.
464
465 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
466
467         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
468         KVE_PATH.
469
470 2018-09-18  Tom Tromey  <tom@tromey.com>
471
472         * compile/compile-object-load.c (struct
473         link_hash_table_cleanup_data): Add constructor and destructor.
474         Use DISABLE_COPY_AND_ASSIGN.
475         (~link_hash_table_cleanup_data): Rename from
476         link_hash_table_free.  Now a destructor.
477         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
478
479 2018-09-18  Tom Tromey  <tom@tromey.com>
480
481         * compile/compile-object-run.c (do_module_cleanup): Use delete.
482         * compile/compile-object-load.c (struct munmap_list): Move to
483         header file.
484         (munmap_list::add): Rename from munmap_list_add; rewrite.
485         (munmap_list::~munmap_list): Rename from munmap_list_free.
486         (munmap_listp_free_cleanup): Remove.
487         (compile_object_load): Update.
488         * compile/compile-object-load.h (struct munmap_list): Move from
489         compile-object-load.c.  Rewrite.
490
491 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
492
493         * aarch64-tdep.c (pass_in_v): Use register size.
494         (aarch64_extract_return_value): Likewise.
495         (aarch64_store_return_value): Likewise.
496
497 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
498
499         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
500         rlim_t.
501
502 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
503
504         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
505         Fix short help line.
506
507 2018-09-17  Tom Tromey  <tom@tromey.com>
508
509         PR python/20445:
510         * configure: Rebuild.
511         * configure.ac: Conditionally use -DNDEBUG for Python.
512
513 2018-09-17  Tom Tromey  <tom@tromey.com>
514
515         * configure: Rebuild.
516         * configure.ac: Use gmp as a library dependency when checking for
517         mpfr.
518
519 2018-09-17  Pedro Alves  <palves@redhat.com>
520
521         * python/py-inferior.c (find_inferior_object): Delete.
522
523 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
524
525         * compile/compile-cplus-types.c
526         (compile_cplus_instance::enter_scope): Don't use new_scope after
527         std::move.
528
529 2018-09-17  Tom Tromey  <tom@tromey.com>
530
531         * common/pathstuff.c (get_standard_cache_dir): Use
532         ~/Library/Caches on macOS.
533         * common/pathstuff.h (get_standard_cache_dir): Update comment.
534
535 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
536
537         PR python/23669
538         * breakpoint.c (commands_cmd_element): New.
539         (_initialize_breakpoint): Assign commands_cmd_element.
540         * breakpoint.h (commands_cmd_element): New.
541         * cli/cli-script.c (while_cmd_element, if_command,
542         define_cmd_element): New.
543         (command_name_equals): Remove.
544         (process_next_line): Compare commands by pointer, not by name.
545         (_initialize_cli_script): Assign the various cmd_list_element
546         variables.
547         * compile/compile.c (compile_cmd_element): New.
548         (_initialize_compile): Assign compile_cmd_element.
549         * compile/compile.h (compile_cmd_element): New.
550         * guile/guile.c (guile_cmd_element): New.
551         (install_gdb_commands): Assign guile_cmd_element.
552         * guile/guile.h (guile_cmd_element): New.
553         * python/python.c (python_cmd_element): New.
554         (_initialize_python): Assign python_cmd_element.
555         * python/python.h (python_cmd_element): New.
556         * tracepoint.c (while_stepping_cmd_element): New.
557         (_initialize_tracepoint): Assign while_stepping_cmd_element.
558         * tracepoint.h (while_stepping_cmd_element): New.
559
560 2018-09-17  Tom Tromey  <tom@tromey.com>
561
562         * infrun.c (save_infcall_suspend_state): Return
563         infcall_suspend_state_up.
564         (save_infcall_control_state): Return infcall_control_state_up.
565         * inferior.h (save_infcall_suspend_state)
566         (save_infcall_control_state): Declare later.  Return unique
567         pointers.
568
569 2018-09-17  Tom Tromey  <tom@tromey.com>
570
571         * infrun.c (struct stop_context): Declare constructor,
572         destructor, "changed" method.
573         (stop_context::stop_context): Rename from save_stop_context.
574         (stop_context::~stop_context): Rename from
575         release_stop_context_cleanup.
576         (normal_stop): Update.
577         (stop_context::changed): Rename from stop_context_changed.  Return
578         bool.
579
580 2018-09-17  Tom Tromey  <tom@tromey.com>
581
582         * inferior.h (struct infcall_suspend_state_deleter): New.
583         (infcall_suspend_state_up): New typedef.
584         (struct infcall_control_state_deleter): New.
585         (infcall_control_state_up): New typedef.
586         (make_cleanup_restore_infcall_suspend_state)
587         (make_cleanup_restore_infcall_control_state): Don't declare.
588         * infcall.c (call_function_by_hand_dummy): Update.
589         * infrun.c (do_restore_infcall_suspend_state_cleanup)
590         (make_cleanup_restore_infcall_suspend_state): Remove.
591         (do_restore_infcall_control_state_cleanup)
592         (make_cleanup_restore_infcall_control_state): Remove.
593
594 2018-09-17  Tom Tromey  <tom@tromey.com>
595
596         * gdbthread.h (struct thread_control_state): Add initializer.
597         (class thread_info) <control>: Remove initializer.
598         * inferior.h (struct inferior_control_state): Add initializer.
599         (class inferior) <control>: Remove initializer.
600         (exit_inferior_1): Update.
601         * infrun.c (struct infcall_control_state): Add constructors.
602         (save_infcall_control_state): Use new.
603         (restore_infcall_control_state, discard_infcall_control_state):
604         Use delete.
605
606 2018-09-17  Tom Tromey  <tom@tromey.com>
607
608         * infrun.c (struct infcall_suspend_state) <registers>: Now a
609         unique_ptr.
610         <siginfo_data>: Now a unique_xmalloc_ptr.
611         (save_infcall_suspend_state, restore_infcall_suspend_state)
612         (discard_infcall_suspend_state)
613         (get_infcall_suspend_state_regcache): Update.
614
615 2018-09-17  Tom Tromey  <tom@tromey.com>
616
617         * gdbthread.h (struct thread_suspend_state): Add initializers.
618         (class thread_info) <suspend>: Remove initializer.
619         * infrun.c (struct infcall_suspend_state): Add initializers.
620         (save_infcall_suspend_state): Use new.
621         (discard_infcall_suspend_state): Use delete.
622
623 2018-09-16  Tom Tromey  <tom@tromey.com>
624
625         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
626         Remove.
627         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
628         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
629         (py_varobj_iter_new): Likewise.
630         (py_varobj_get_iterator): Use gdbpy_ref.
631
632 2018-09-16  Tom Tromey  <tom@tromey.com>
633
634         * python/py-threadevent.c (py_get_event_thread): Simplify.
635         * python/py-inferior.c (infpy_thread_from_thread_handle):
636         Return immediately after calling thread_to_thread_object.  Use
637         Py_RETURN_NONE.
638         (thread_to_thread_object): Set the exception on a NULL return.
639
640 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
641
642         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
643
644 2018-09-16  Tom Tromey  <tom@tromey.com>
645
646         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
647         Remove.
648
649 2018-09-16  Tom Tromey  <tom@tromey.com>
650
651         * python/python-internal.h (thread_to_thread_object): Change
652         return type.
653         * python/py-inferior.c (thread_to_thread_object): Return a new
654         reference.
655         (infpy_thread_from_thread_handle): Update.
656         * python/py-infthread.c (gdbpy_selected_thread): Update.
657         * python/py-stopevent.c (create_stop_event_object): Update.
658         * python/py-threadevent.c (py_get_event_thread): Return a new
659         reference.
660         (py_get_event_thread): Update.
661         * python/py-event.h (py_get_event_thread): Change return type.
662         * python/py-continueevent.c (create_continue_event_object):
663         Update.
664
665 2018-09-16  Tom Tromey  <tom@tromey.com>
666
667         * python/py-progspace.c (pspy_get_objfiles): Update.
668         * python/python-internal.h (objfile_to_objfile_object): Change
669         return type.
670         * python/py-newobjfileevent.c (create_new_objfile_event_object):
671         Update.
672         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
673         Update.
674         * python/python.c (gdbpy_get_current_objfile): Update.
675         (gdbpy_objfiles): Update.
676         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
677         Update.
678         (objfile_to_objfile_object): Return a new reference.
679         * python/py-symtab.c (stpy_get_objfile): Update.
680         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
681         Update.
682
683 2018-09-16  Tom Tromey  <tom@tromey.com>
684
685         * python/py-inferior.c (infpy_get_progspace): Update.
686         * python/python-internal.h (pspace_to_pspace_object): Change
687         return type.
688         * python/py-newobjfileevent.c
689         (create_clear_objfiles_event_object): Update.
690         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
691         Update.
692         * python/python.c (gdbpy_get_current_progspace): Update.
693         (gdbpy_progspaces): Update.
694         * python/py-progspace.c (pspace_to_pspace_object): Return a new
695         reference.
696         * python/py-objfile.c (objfpy_get_progspace): Update.
697         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
698         Update.
699
700 2018-09-16  Tom Tromey  <tom@tromey.com>
701
702         * python/lib/gdb/__init__.py (current_progspace, objfiles)
703         (solib_name, block_for_pc, find_pc_line): New functions.
704         (execute_unwinders): Update.
705         * python/py-block.c (gdbpy_block_for_pc): Remove.
706         * python/py-inferior.c (infpy_get_progspace): New function.
707         (inferior_object_getset) <progspace>: Add.
708         * python/py-progspace.c (pspy_objfiles): Rewrite.
709         (pspy_solib_name, pspy_block_for_pc)
710         (pspy_find_pc_line, pspy_is_valid): New functions.
711         (progspace_object_methods): Add entries for solib_name,
712         block_for_pc, find_pc_line, is_valid.
713         * python/python-internal.h (gdbpy_block_for_pc)
714         (build_objfiles_list): Don't declare.
715         * python/python.c: Don't include solib.h.
716         (gdbpy_solib_name, gdbpy_find_pc_line)
717         (gdbpy_get_current_progspace, build_objfiles_list)
718         (gdbpy_objfiles): Remove.
719         (GdbMethods) <current_progspace, objfiles, block_for_pc,
720         solib_name, find_pc_line>: Remove entries.
721
722 2018-09-16  Tom Tromey  <tom@tromey.com>
723
724         * top.c (new_ui_command): Use GNU style for metasyntactic
725         variables.
726         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
727         variables.
728         * maint.c (maintenance_translate_address): Remove "<>" around
729         text.
730         * interps.c (interpreter_exec_cmd): Use GNU style for
731         metasyntactic variables.
732         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
733         metasyntactic variables.
734         * tracepoint.c (tfind_range_command): Use GNU style for
735         metasyntactic variables.
736         (tfind_outside_command): Likewise.
737         (_initialize_tracepoint): Likewise.
738         * remote.c (extended_remote_target::create_inferior): Use GNU
739         style for metasyntactic variables.
740         * sparc64-tdep.c (adi_examine_command): Use GNU style for
741         metasyntactic variables.
742         (adi_assign_command): Likewise.
743
744 2018-09-16  Tom Tromey  <tom@tromey.com>
745
746         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
747         metasyntactic variables.  Print message if no disassembler options
748         are available.
749
750 2018-09-15  Tom Tromey  <tom@tromey.com>
751
752         * infcmd.c (get_inferior_args): Return const char *.
753         * inferior.h (get_inferior_args): Return type now const.
754         * linux-tdep.c (linux_fill_prpsinfo): Update.
755         * procfs.c (procfs_target::make_corefile_notes): Update.
756
757 2018-09-07  Tom Tromey  <tom@tromey.com>
758
759         * python/python.c (execute_gdb_command): Call bpstat_do_actions
760         inside the TRY.
761
762 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
763
764         * nios2-tdep.c (nios2_type_align): New.
765         (nios2_gdb_arch_init): Install type_align hook.
766
767 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
768
769         * eval.c (fake_method::fake_method): Call xzalloc directly for a
770         type that is neither object file owned, nor gdbarch owned.
771         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
772         gdbarch is non-NULL.
773         (alloc_type_instance): Allocate non-objfile owned types on the
774         gdbarch obstack.
775         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
776         using TYPE_ALLOC to ensure memory is allocated on the correct
777         obstack.
778         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
779         obstack, or the gdbarch obstack.
780         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
781
782 2018-09-14  Tom Tromey  <tom@tromey.com>
783
784         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
785         block.
786
787 2018-09-14  Tom Tromey  <tom@tromey.com>
788
789         * nat/fork-inferior.c (get_startup_shell): Remove "static".
790
791 2018-09-13  Tom Tromey  <tom@tromey.com>
792
793         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
794         static.
795
796 2018-09-13  Tom Tromey  <tom@tromey.com>
797
798         * exec.c (try_open_exec_file): Use std::string.
799
800 2018-09-13  Tom Tromey  <tom@tromey.com>
801
802         * utils.h (gdb_bfd_errmsg): Return std::string.
803         * exec.c (exec_file_attach): Update.
804         * compile/compile-object-load.c (compile_object_load): Update.
805         * utils.c (gdb_bfd_errmsg): Return std::string.
806
807 2018-09-13  Tom Tromey  <tom@tromey.com>
808
809         * procfs.c (struct procinfo_deleter): New.
810         (procinfo_up): New typedef.
811         (do_destroy_procinfo_cleanup): Remove.
812         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
813
814 2018-09-13  Tom Tromey  <tom@tromey.com>
815
816         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
817
818 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
819 2018-09-13  Tom Tromey  <tom@tromey.com>
820
821         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
822         (pspy_get_objfiles): New function.
823         (progspace_object_methods): New.
824         (pspace_object_type): Add tp_methods callback.
825         * python/python-internal.h (build_objfiles_list): New
826         declaration.
827         * python/python.c (build_objfiles_list): New function.
828         (gdbpy_objfiles): Implement using build_objfiles_list.
829         * NEWS: Mention the Progspace.objfiles method.
830
831 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
832
833         * python/py-inferior.c (infpy_get_progspace): New function.
834         (inferior_object_getset): Add progspace property.
835         * NEWS: Mention the new property.
836
837 2018-09-13  Tom Tromey  <tom@tromey.com>
838
839         PR rust/23650:
840         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
841
842 2018-09-13  Tom Tromey  <tom@tromey.com>
843
844         PR rust/23626:
845         * rust-lang.c (rust_enum_variant): Now static.
846         (rust_empty_enum_p): New function.
847         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
848         Handle empty enum.
849
850 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
851
852         * python/py-inferior.c (infpy_repr): New.
853         (inferior_object_type): Register infpy_repr.
854         * python/py-objfile.c (objfpy_repr): New.
855         (objfile_object_type): Register objfpy_repr.
856
857 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
858
859         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
860
861 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
862
863         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
864         typo.
865
866 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
867
868         * common/common-utils.c: Don't include '<sys/stat.h>'.
869         (is_regular_file): Move to...
870         * common/filestuff.c (is_regular_file): ... here.
871         * common/common-utils.h (is_regular_file): Move to...
872         * common/filestuff.h (is_regular_file): ... here.
873
874 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
875
876         * skip.c (debug_skip): New variable.
877         (skiplist_entry::do_skip_file_p): Add debug output.
878         (skiplist_entry::do_skip_gfile_p): Likewise.
879         (skiplist_entry::skip_function_p): Likewise.
880         (_initialize_step_skip): Create debug command.
881         * NEWS: Mention set/show debug skip.
882
883 2018-09-11  Xavier Roirand  <roirand@adacore.com>
884
885         * darwin-nat.c (should_disable_startup_with_shell):
886         New function.
887         (darwin_nat_target::create_inferior): Add call.
888
889 2018-09-11  Xavier Roirand  <roirand@adacore.com>
890
891         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
892         inf_port, msg_state>: Initialize.
893         (struct darwin_thread_info) <signaled, single_step>: Change
894         type and initialize.
895         (struct darwin_thread_info) <event>: Initialize.
896
897 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
898
899         PR gdb/23555
900         PR gdb/23558
901         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
902         guesses.
903
904 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
905
906         Revert:
907         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
908
909         PR gdb/23555
910         PR gdb/23558
911         * gnulib/aclocal.m4: Regenerate.
912         * gnulib/config.in: Regenerate.
913         * gnulib/configure: Regenerate.
914         * gnulib/import/Makefile.am: Update.
915         * gnulib/import/Makefile.in: Update.
916         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
917         * gnulib/import/_Noreturn.h: ... this.
918         * gnulib/import/alloca.in.h: Update.
919         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
920         * gnulib/import/arg-nonnull.h: ... this.
921         * gnulib/import/assure.h: Update.
922         * gnulib/import/at-func.c: Update.
923         * gnulib/import/basename-lgpl.c: Update.
924         * gnulib/import/extra/snippet/c++defs.h: Rename to...
925         * gnulib/import/c++defs.h: ... this.
926         * gnulib/import/canonicalize-lgpl.c: Update.
927         * gnulib/import/cdefs.h: Update.
928         * gnulib/import/chdir-long.c: Update.
929         * gnulib/import/chdir-long.h: Update.
930         * gnulib/import/cloexec.c: Update.
931         * gnulib/import/cloexec.h: Update.
932         * gnulib/import/close.c: Update.
933         * gnulib/import/closedir.c: Update.
934         * gnulib/import/config.charset: Update.
935         * gnulib/import/dirent-private.h: Update.
936         * gnulib/import/dirent.in.h: Update.
937         * gnulib/import/dirfd.c: Update.
938         * gnulib/import/dirname-lgpl.c: Update.
939         * gnulib/import/dirname.h: Update.
940         * gnulib/import/dosname.h: Update.
941         * gnulib/import/dup-safer-flag.c: Update.
942         * gnulib/import/dup-safer.c: Update.
943         * gnulib/import/dup.c: Update.
944         * gnulib/import/dup2.c: Update.
945         * gnulib/import/errno.in.h: Update.
946         * gnulib/import/error.c: Update.
947         * gnulib/import/error.h: Update.
948         * gnulib/import/exitfail.c: Update.
949         * gnulib/import/exitfail.h: Update.
950         * gnulib/import/extra/update-copyright: Update.
951         * gnulib/import/fchdir.c: Update.
952         * gnulib/import/fcntl.c: Update.
953         * gnulib/import/fcntl.in.h: Update.
954         * gnulib/import/fd-hook.c: Update.
955         * gnulib/import/fd-hook.h: Update.
956         * gnulib/import/fd-safer-flag.c: Update.
957         * gnulib/import/fd-safer.c: Update.
958         * gnulib/import/fdopendir.c: Update.
959         * gnulib/import/filename.h: Update.
960         * gnulib/import/filenamecat-lgpl.c: Update.
961         * gnulib/import/filenamecat.h: Update.
962         * gnulib/import/flexmember.h: Update.
963         * gnulib/import/float+.h: Update.
964         * gnulib/import/float.c: Update.
965         * gnulib/import/float.in.h: Update.
966         * gnulib/import/fnmatch.c: Update.
967         * gnulib/import/fnmatch.in.h: Update.
968         * gnulib/import/fnmatch_loop.c: Update.
969         * gnulib/import/fpucw.h: Update.
970         * gnulib/import/frexp.c: Update.
971         * gnulib/import/frexpl.c: Update.
972         * gnulib/import/fstat.c: Update.
973         * gnulib/import/fstatat.c: Update.
974         * gnulib/import/getcwd-lgpl.c: Update.
975         * gnulib/import/getcwd.c: Update.
976         * gnulib/import/getdtablesize.c: Update.
977         * gnulib/import/getlogin_r.c: Update.
978         * gnulib/import/getprogname.c: Update.
979         * gnulib/import/getprogname.h: Update.
980         * gnulib/import/gettext.h: Update.
981         * gnulib/import/gettimeofday.c: Update.
982         * gnulib/import/glob-libc.h: Update.
983         * gnulib/import/glob.c: Update.
984         * gnulib/import/glob.in.h: Update.
985         * gnulib/import/glob_internal.h: Update.
986         * gnulib/import/glob_pattern_p.c: Update.
987         * gnulib/import/globfree.c: Update.
988         * gnulib/import/hard-locale.c: Update.
989         * gnulib/import/hard-locale.h: Update.
990         * gnulib/import/intprops.h: Update.
991         * gnulib/import/inttypes.in.h: Update.
992         * gnulib/import/isnan.c: Update.
993         * gnulib/import/isnand-nolibm.h: Update.
994         * gnulib/import/isnand.c: Update.
995         * gnulib/import/isnanl-nolibm.h: Update.
996         * gnulib/import/isnanl.c: Update.
997         * gnulib/import/itold.c: Update.
998         * gnulib/import/libc-config.h: Update.
999         * gnulib/import/limits.in.h: Update.
1000         * gnulib/import/localcharset.c: Update.
1001         * gnulib/import/localcharset.h: Update.
1002         * gnulib/import/localtime-buffer.c: Update.
1003         * gnulib/import/localtime-buffer.h: Update.
1004         * gnulib/import/lstat.c: Update.
1005         * gnulib/import/m4/00gnulib.m4: Update.
1006         * gnulib/import/m4/__inline.m4: Update.
1007         * gnulib/import/m4/absolute-header.m4: Update.
1008         * gnulib/import/m4/alloca.m4: Update.
1009         * gnulib/import/m4/builtin-expect.m4: Update.
1010         * gnulib/import/m4/canonicalize.m4: Update.
1011         * gnulib/import/m4/chdir-long.m4: Update.
1012         * gnulib/import/m4/close.m4: Update.
1013         * gnulib/import/m4/closedir.m4: Update.
1014         * gnulib/import/m4/configmake.m4: Update.
1015         * gnulib/import/m4/d-ino.m4: Update.
1016         * gnulib/import/m4/d-type.m4: Update.
1017         * gnulib/import/m4/dirent_h.m4: Update.
1018         * gnulib/import/m4/dirfd.m4: Update.
1019         * gnulib/import/m4/dirname.m4: Update.
1020         * gnulib/import/m4/double-slash-root.m4: Update.
1021         * gnulib/import/m4/dup.m4: Update.
1022         * gnulib/import/m4/dup2.m4: Update.
1023         * gnulib/import/m4/eealloc.m4: Update.
1024         * gnulib/import/m4/environ.m4: Update.
1025         * gnulib/import/m4/errno_h.m4: Update.
1026         * gnulib/import/m4/error.m4: Update.
1027         * gnulib/import/m4/exponentd.m4: Update.
1028         * gnulib/import/m4/exponentl.m4: Update.
1029         * gnulib/import/m4/extensions.m4: Update.
1030         * gnulib/import/m4/extern-inline.m4: Update.
1031         * gnulib/import/m4/fchdir.m4: Update.
1032         * gnulib/import/m4/fcntl-o.m4: Update.
1033         * gnulib/import/m4/fcntl.m4: Update.
1034         * gnulib/import/m4/fcntl_h.m4: Update.
1035         * gnulib/import/m4/fdopendir.m4: Update.
1036         * gnulib/import/m4/filenamecat.m4: Update.
1037         * gnulib/import/m4/flexmember.m4: Update.
1038         * gnulib/import/m4/float_h.m4: Update.
1039         * gnulib/import/m4/fnmatch.m4: Update.
1040         * gnulib/import/m4/fnmatch_h.m4: Update.
1041         * gnulib/import/m4/fpieee.m4: Update.
1042         * gnulib/import/m4/frexp.m4: Update.
1043         * gnulib/import/m4/frexpl.m4: Update.
1044         * gnulib/import/m4/fstat.m4: Update.
1045         * gnulib/import/m4/fstatat.m4: Update.
1046         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1047         * gnulib/import/m4/getcwd-path-max.m4: Update.
1048         * gnulib/import/m4/getcwd.m4: Update.
1049         * gnulib/import/m4/getdtablesize.m4: Update.
1050         * gnulib/import/m4/getlogin.m4: Update.
1051         * gnulib/import/m4/getlogin_r.m4: Update.
1052         * gnulib/import/m4/getpagesize.m4: Update.
1053         * gnulib/import/m4/getprogname.m4: Update.
1054         * gnulib/import/m4/gettimeofday.m4: Update.
1055         * gnulib/import/m4/glibc21.m4: Update.
1056         * gnulib/import/m4/glob.m4: Update.
1057         * gnulib/import/m4/glob_h.m4: Update.
1058         * gnulib/import/m4/gnulib-cache.m4: Update.
1059         * gnulib/import/m4/gnulib-common.m4: Update.
1060         * gnulib/import/m4/gnulib-comp.m4: Update.
1061         * gnulib/import/m4/gnulib-tool.m4: Update.
1062         * gnulib/import/m4/hard-locale.m4: Update.
1063         * gnulib/import/m4/include_next.m4: Update.
1064         * gnulib/import/m4/inttypes-pri.m4: Update.
1065         * gnulib/import/m4/inttypes.m4: Update.
1066         * gnulib/import/m4/isnand.m4: Update.
1067         * gnulib/import/m4/isnanl.m4: Update.
1068         * gnulib/import/m4/largefile.m4: Update.
1069         * gnulib/import/m4/limits-h.m4: Update.
1070         * gnulib/import/m4/localcharset.m4: Update.
1071         * gnulib/import/m4/locale-fr.m4: Update.
1072         * gnulib/import/m4/locale-ja.m4: Update.
1073         * gnulib/import/m4/locale-zh.m4: Update.
1074         * gnulib/import/m4/localtime-buffer.m4: Update.
1075         * gnulib/import/m4/longlong.m4: Update.
1076         * gnulib/import/m4/lstat.m4: Update.
1077         * gnulib/import/m4/malloc.m4: Update.
1078         * gnulib/import/m4/malloca.m4: Update.
1079         * gnulib/import/m4/math_h.m4: Update.
1080         * gnulib/import/m4/mbrtowc.m4: Update.
1081         * gnulib/import/m4/mbsinit.m4: Update.
1082         * gnulib/import/m4/mbsrtowcs.m4: Update.
1083         * gnulib/import/m4/mbstate_t.m4: Update.
1084         * gnulib/import/m4/memchr.m4: Update.
1085         * gnulib/import/m4/memmem.m4: Update.
1086         * gnulib/import/m4/mempcpy.m4: Update.
1087         * gnulib/import/m4/memrchr.m4: Update.
1088         * gnulib/import/m4/mkdir.m4: Update.
1089         * gnulib/import/m4/mkstemp.m4: Update.
1090         * gnulib/import/m4/mmap-anon.m4: Update.
1091         * gnulib/import/m4/mode_t.m4: Update.
1092         * gnulib/import/m4/msvc-inval.m4: Update.
1093         * gnulib/import/m4/msvc-nothrow.m4: Update.
1094         * gnulib/import/m4/multiarch.m4: Update.
1095         * gnulib/import/m4/nocrash.m4: Update.
1096         * gnulib/import/m4/off_t.m4: Update.
1097         * gnulib/import/m4/onceonly.m4: Update.
1098         * gnulib/import/m4/open-cloexec.m4: Update.
1099         * gnulib/import/m4/open.m4: Update.
1100         * gnulib/import/m4/openat.m4: Update.
1101         * gnulib/import/m4/opendir.m4: Update.
1102         * gnulib/import/m4/pathmax.m4: Update.
1103         * gnulib/import/m4/rawmemchr.m4: Update.
1104         * gnulib/import/m4/readdir.m4: Update.
1105         * gnulib/import/m4/readlink.m4: Update.
1106         * gnulib/import/m4/realloc.m4: Update.
1107         * gnulib/import/m4/rename.m4: Update.
1108         * gnulib/import/m4/rewinddir.m4: Update.
1109         * gnulib/import/m4/rmdir.m4: Update.
1110         * gnulib/import/m4/save-cwd.m4: Update.
1111         * gnulib/import/m4/secure_getenv.m4: Update.
1112         * gnulib/import/m4/setenv.m4: Update.
1113         * gnulib/import/m4/signal_h.m4: Update.
1114         * gnulib/import/m4/ssize_t.m4: Update.
1115         * gnulib/import/m4/stat-time.m4: Update.
1116         * gnulib/import/m4/stat.m4: Update.
1117         * gnulib/import/m4/std-gnu11.m4: Update.
1118         * gnulib/import/m4/stdbool.m4: Update.
1119         * gnulib/import/m4/stddef_h.m4: Update.
1120         * gnulib/import/m4/stdint.m4: Update.
1121         * gnulib/import/m4/stdio_h.m4: Update.
1122         * gnulib/import/m4/stdlib_h.m4: Update.
1123         * gnulib/import/m4/strchrnul.m4: Update.
1124         * gnulib/import/m4/strdup.m4: Update.
1125         * gnulib/import/m4/strerror.m4: Update.
1126         * gnulib/import/m4/string_h.m4: Update.
1127         * gnulib/import/m4/strstr.m4: Update.
1128         * gnulib/import/m4/strtok_r.m4: Update.
1129         * gnulib/import/m4/sys_socket_h.m4: Update.
1130         * gnulib/import/m4/sys_stat_h.m4: Update.
1131         * gnulib/import/m4/sys_time_h.m4: Update.
1132         * gnulib/import/m4/sys_types_h.m4: Update.
1133         * gnulib/import/m4/tempname.m4: Update.
1134         * gnulib/import/m4/time_h.m4: Update.
1135         * gnulib/import/m4/unistd-safer.m4: Update.
1136         * gnulib/import/m4/unistd_h.m4: Update.
1137         * gnulib/import/m4/warn-on-use.m4: Update.
1138         * gnulib/import/m4/wchar_h.m4: Update.
1139         * gnulib/import/m4/wchar_t.m4: Update.
1140         * gnulib/import/m4/wctype_h.m4: Update.
1141         * gnulib/import/m4/wint_t.m4: Update.
1142         * gnulib/import/malloc.c: Update.
1143         * gnulib/import/malloc/scratch_buffer.h: Update.
1144         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1145         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1146         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1147         * gnulib/import/malloca.c: Update.
1148         * gnulib/import/malloca.h: Update.
1149         * gnulib/import/malloca.valgrind: Update.
1150         * gnulib/import/math.in.h: Update.
1151         * gnulib/import/mbrtowc.c: Update.
1152         * gnulib/import/mbsinit.c: Update.
1153         * gnulib/import/mbsrtowcs-impl.h: Update.
1154         * gnulib/import/mbsrtowcs-state.c: Update.
1155         * gnulib/import/mbsrtowcs.c: Update.
1156         * gnulib/import/memchr.c: Update.
1157         * gnulib/import/memmem.c: Update.
1158         * gnulib/import/mempcpy.c: Update.
1159         * gnulib/import/memrchr.c: Update.
1160         * gnulib/import/mkdir.c: Update.
1161         * gnulib/import/mkstemp.c: Update.
1162         * gnulib/import/msvc-inval.c: Update.
1163         * gnulib/import/msvc-inval.h: Update.
1164         * gnulib/import/msvc-nothrow.c: Update.
1165         * gnulib/import/msvc-nothrow.h: Update.
1166         * gnulib/import/open.c: Update.
1167         * gnulib/import/openat-die.c: Update.
1168         * gnulib/import/openat-priv.h: Update.
1169         * gnulib/import/openat-proc.c: Update.
1170         * gnulib/import/openat.c: Update.
1171         * gnulib/import/openat.h: Update.
1172         * gnulib/import/opendir.c: Update.
1173         * gnulib/import/pathmax.h: Update.
1174         * gnulib/import/pipe-safer.c: Update.
1175         * gnulib/import/rawmemchr.c: Update.
1176         * gnulib/import/readdir.c: Update.
1177         * gnulib/import/readlink.c: Update.
1178         * gnulib/import/realloc.c: Update.
1179         * gnulib/import/ref-add.sin: Update.
1180         * gnulib/import/ref-del.sin: Update.
1181         * gnulib/import/rename.c: Update.
1182         * gnulib/import/rewinddir.c: Update.
1183         * gnulib/import/rmdir.c: Update.
1184         * gnulib/import/same-inode.h: Update.
1185         * gnulib/import/save-cwd.c: Update.
1186         * gnulib/import/save-cwd.h: Update.
1187         * gnulib/import/scratch_buffer.h: Update.
1188         * gnulib/import/secure_getenv.c: Update.
1189         * gnulib/import/setenv.c: Update.
1190         * gnulib/import/signal.in.h: Update.
1191         * gnulib/import/stat-time.c: Update.
1192         * gnulib/import/stat-time.h: Update.
1193         * gnulib/import/stat-w32.c: Update.
1194         * gnulib/import/stat-w32.h: Update.
1195         * gnulib/import/stat.c: Update.
1196         * gnulib/import/stdbool.in.h: Update.
1197         * gnulib/import/stddef.in.h: Update.
1198         * gnulib/import/stdint.in.h: Update.
1199         * gnulib/import/stdio.in.h: Update.
1200         * gnulib/import/stdlib.in.h: Update.
1201         * gnulib/import/str-two-way.h: Update.
1202         * gnulib/import/strchrnul.c: Update.
1203         * gnulib/import/strdup.c: Update.
1204         * gnulib/import/streq.h: Update.
1205         * gnulib/import/strerror-override.c: Update.
1206         * gnulib/import/strerror-override.h: Update.
1207         * gnulib/import/strerror.c: Update.
1208         * gnulib/import/string.in.h: Update.
1209         * gnulib/import/stripslash.c: Update.
1210         * gnulib/import/strnlen1.c: Update.
1211         * gnulib/import/strnlen1.h: Update.
1212         * gnulib/import/strstr.c: Update.
1213         * gnulib/import/strtok_r.c: Update.
1214         * gnulib/import/sys_stat.in.h: Update.
1215         * gnulib/import/sys_time.in.h: Update.
1216         * gnulib/import/sys_types.in.h: Update.
1217         * gnulib/import/tempname.c: Update.
1218         * gnulib/import/tempname.h: Update.
1219         * gnulib/import/time.in.h: Update.
1220         * gnulib/import/unistd--.h: Update.
1221         * gnulib/import/unistd-safer.h: Update.
1222         * gnulib/import/unistd.in.h: Update.
1223         * gnulib/import/unsetenv.c: Update.
1224         * gnulib/import/verify.h: Update.
1225         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1226         * gnulib/import/wchar.in.h: Update.
1227         * gnulib/import/wctype.in.h: Update.
1228         * gnulib/import/xalloc-oversized.h: Update.
1229         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1230         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1231
1232 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
1233
1234         * record-btrace.c (get_thread_current_frame): Remove
1235         old_inferior_ptid.
1236
1237 2018-09-10  Jerome Guitton  <guitton@adacore.com>
1238
1239         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
1240         with check_tag to 1 if and only if the type is tagged and the
1241         component being searched cannot been found in the current
1242         view. Otherwise, always call ada_to_fixed_type with
1243         check_tag to 0.
1244
1245 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1246
1247         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
1248         declaration.
1249         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
1250         * ada-varobj.c (ada_varobj_get_number_of_children,
1251         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
1252
1253 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1254
1255         * ada-valprint.c (ada_value_print): Use type instead of
1256         enclosing type.
1257
1258 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1259
1260         * ada-lang.c (ada_value_subscript): Handle case when parameter is
1261         an array of access to unconstrained array.
1262
1263 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1264
1265         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
1266         (ada_check_typedef): Use it.
1267
1268 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1269
1270         * ada-varobj.c (ada_varobj_describe_struct_child)
1271         (ada_varobj_describe_child): Handle union case like struct one.
1272
1273 2018-09-10  Tom Tromey  <tom@tromey.com>
1274
1275         PR python/18380:
1276         * python/python.c (_initialize_python): Make example in "python"
1277         help work in Python 3.
1278
1279 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1280
1281         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
1282         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
1283         $(EXEEXT) to the script, as it is not a program.
1284
1285 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
1286
1287         * python/py-prettyprint.c (pretty_print_one_value): Return
1288         gdbpy_ref<>.
1289         (print_string_repr): Adjust.
1290         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
1291         * python/python-internal.h (apply_varobj_pretty_printer): Return
1292         gdbpy_ref<>.
1293         * varobj.c (varobj_value_get_print_value): Adjust.
1294
1295 2018-09-08  Tom Tromey  <tom@tromey.com>
1296
1297         PR python/16047:
1298         * python/py-prettyprint.c (pretty_print_one_value): Check for
1299         to_string method.
1300
1301 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1302
1303         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
1304         replace_operator_with_call.
1305
1306 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1307
1308         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
1309
1310 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1311
1312         * ada-typeprint.c (print_range): Print the bounds using TYPE
1313         rather than its TYPE_TARGET_TYPE.
1314
1315 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1316
1317         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
1318         call to ada_to_fixed_value_create.
1319
1320 2018-09-08  Jerome Guitton  <guitton@adacore.com>
1321
1322         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
1323
1324 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1325
1326         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
1327         by calls to error.
1328
1329 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1330
1331         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
1332         Move update of loop variable "fi".
1333
1334 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1335
1336         * ada-lang.c (value_assign_to_component): In the case of
1337         big-endian targets, extract the bits of the given VAL
1338         using an src_offset of zero if container is not a scalar.
1339
1340 2018-09-06  Simon Ser  <contact@emersion.fr>
1341
1342         PR gdb/23105
1343         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
1344         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1345         * fbsd-tdep.c (fbsd_make_note_desc): New.
1346         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
1347         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
1348         * target.h (enum target_object) Add FreeBSD-specific
1349         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1350
1351 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1352
1353         * compile/compile-c.h (generate_c_for_variable_locations):
1354         Change reference to pointer.
1355         * compile/compile-c-support.c (compile_program) <compute>:
1356         Likewise.
1357         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
1358         (generate_c_for_for_one_variable): Likewise
1359         (generate_c_for_variable_locations): Likewise
1360         * compile/compile-c-types.c (compile_c_instance::convert_type):
1361         Likewise
1362         * compile/compile-cplus-symbols.c (convert_one_symbol):
1363         std::move the scope passed to enter_scope.
1364         * compile/compile-cplus-types.c
1365         (compile_cplus_instance::enter_scope): Make parameter
1366         rvalue-reference.
1367         (compile_cplus_instance::new_scope): Change reference to
1368         pointer.
1369         (compile_cplus_instance::convert_type): Likewise
1370         (compile_cplus_convert_typedef): std::move the scope passed to
1371         enter_scope.
1372         (compile_cplus_convert_struct_or_union): Likewise.
1373         (compile_cplus_convert_enum): Likewise.
1374         (compile_cplus_convert_namespace): Likewise.
1375         * compile/compile-cplus.h (compile_cplus_instance)
1376         <enter_scope>: Make parameter rvalue-reference.
1377         * compile/compile-internal.h (compile_instance)
1378         <get_cached_type>: Likewise
1379         * compile/compile-loc2c.c (push): Likewise
1380         (pushf): Likewise
1381         (unary): Likewise
1382         (binary): Likewise
1383         (print_label): Likewise
1384         (pushf_register_address): Likewise
1385         (pushf_register): Likewise
1386         (do_compile_dwarf_expr_to_c): Likewise
1387         (compile_dwarf_expr_to_c): Likewise
1388         (compile_dwarf_bounds_to_c): Likewise
1389         * compile/compile.c (compile_instance::get_cached_type):
1390         Likewise
1391         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
1392         (compile_dwarf_bounds_to_c): Likewise
1393         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
1394         (dwarf2_compile_property_to_c): Likewise
1395         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
1396         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1397         Likewise
1398
1399 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1400
1401         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
1402         * tui/tui-data.c (init_content_element): Don't initialize it.
1403
1404 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1405
1406         * tui/tui-data.h (struct tui_win_info)
1407         <detail::opaque>: Remove.
1408         * tui/tui-data.c (init_win_info): Remove assignment.
1409
1410 2018-09-05  Tom Tromey  <tom@tromey.com>
1411
1412         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
1413         -Wformat-nonliteral.
1414         * target-float.c (host_float_ops<T>::to_string)
1415         (host_float_ops<T>::from_string): Use
1416         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1417         * configure: Rebuild.
1418
1419 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
1420
1421         * printcmd.c (printf_c_string): Use
1422         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1423         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
1424
1425 2018-09-05  Tom Tromey  <tom@tromey.com>
1426
1427         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
1428
1429 2018-09-05  Tom de Vries  <tdevries@suse.de>
1430
1431         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
1432         with resolve_abstract_p == true.
1433         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
1434         defaulting to false. Propagate resolve_abstract_p to
1435         dwarf2_fetch_die_loc_sect_off.
1436         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
1437         parameter, defaulting to false.
1438         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
1439         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
1440         parameter.
1441         * dwarf2read.h (struct die_info): Forward-declare.
1442         (die_info_ptr): New typedef.
1443         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
1444
1445 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
1446
1447         GDB 8.2 released.
1448
1449 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1450             Pedro Alves  <palves@redhat.com>
1451
1452         * gnulib/Makefile.in (aclocal_m4_deps): Move to
1453         "aclocal-m4-deps.mk".  Include file here.
1454         $(srcdir)/aclocal.m4: Add "configure.ac".
1455         * gnulib/aclocal-m4-deps.mk: New file.
1456         * gnulib/update-gnulib.sh: Automatically update
1457         "aclocal-m4-deps.mk".
1458
1459 2018-09-04  Tom Tromey  <tom@tromey.com>
1460
1461         * configure: Rebuild.
1462         * configure.ac: Remove multi-ice code.
1463
1464 2018-09-04  Tom Tromey  <tom@tromey.com>
1465
1466         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
1467         (ada-exp.o): Update.
1468
1469 2018-09-04  Tom Tromey  <tom@tromey.com>
1470
1471         * Makefile.in (printcmd.o, target-float.o): Remove.
1472         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
1473
1474 2018-09-04  Tom Tromey  <tom@tromey.com>
1475
1476         * gnulib/Makefile.in: Remove obsolete comment.
1477         * Makefile.in: Remove obsolete comment.
1478
1479 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
1480
1481         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
1482         line with '+'.
1483
1484 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1485
1486         * riscv-tdep.c: Add 'prologue-value.h' include.
1487         (struct riscv_unwind_cache): New struct.
1488         (riscv_debug_unwinder): New global.
1489         (riscv_scan_prologue): Update arguments, capture register details
1490         from prologue scan.
1491         (riscv_skip_prologue): Reformat arguments line, move end of
1492         prologue calculation into riscv_scan_prologue.
1493         (riscv_frame_cache): Update return type, create
1494         riscv_unwind_cache, scan the prologue, and fill in remaining cache
1495         details.
1496         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
1497         (riscv_frame_prev_register): Use the trad_frame within the
1498         riscv_unwind_cache.
1499         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
1500         flag.
1501
1502 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1503
1504         * trad-frame.h (trad_frame_set_realreg): Declare.
1505         (trad_frame_set_addr): Declare.
1506         * trad-frame.c (trad_frame_set_realreg): Define new function.
1507         (trad_frame_set_addr): Define new function.
1508         (trad_frame_set_reg_realreg): Use new function.
1509         (trad_frame_set_reg_addr): Use new function.
1510
1511 2018-09-01  Keith Seitz  <keiths@redhat.com>
1512
1513         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
1514         pulongest instead of "%lld".
1515         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
1516         ATTRIBUTE_UNUSED.
1517
1518 2018-08-31  Tom Tromey  <tom@tromey.com>
1519
1520         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
1521         variant part type.
1522
1523 2018-08-31  Pedro Alves  <palves@redhat.com>
1524
1525         * gdbarch.h: Regenerate.
1526
1527 2018-08-31  Pedro Alves  <palves@redhat.com>
1528
1529         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
1530         * target.h (Hardware watchpoint interfaces): Describe
1531         continuable/steppable/non-steppable watchpoints.
1532         * gdbarch.h, gdbarch.c: Regenerate.
1533
1534 2018-08-31  Pedro Alves  <palves@redhat.com>
1535
1536         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
1537         Delete.
1538         * s390-linux-nat.c
1539         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
1540         * target.h (target_ops::have_continuable_watchpoint): Delete.
1541         (target_have_continuable_watchpoint): Delete.
1542         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
1543         * target-delegates.c: Regenerate.
1544
1545 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1546
1547         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
1548         the files present in "gnulib/import/m4/".
1549
1550 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1551
1552         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
1553         c.sw, c.swsp, and c.sdsp.
1554
1555 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1556
1557         * riscv-tdep.c (struct riscv_inferior_data): Delete.
1558         (riscv_read_misa_reg): Don't cache value read into inferior data.
1559         (riscv_new_inferior_data): Delete.
1560         (riscv_inferior_data_cleanup): Delete.
1561         (riscv_inferior_data): Delete.
1562         (riscv_invalidate_inferior_data): Delete.
1563         (_initialize_riscv_tdep): Remove initialisation of inferior data.
1564
1565 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
1566
1567         * compile/compile-cplus-types.c
1568         (compile_cplus_instance::leave_scope): Take the address of scope
1569         object.
1570         (compile_cplus_instance::convert_qualified_base): Compare quals
1571         to 0.
1572
1573 2018-08-30  Keith Seitz  <keiths@redhat.com>
1574
1575         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
1576         Use "%s" and host_address_to_string instead of "%p" in printf.
1577
1578 2018-08-29  Keith Seitz  <keiths@redhat.com>
1579
1580         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
1581         and compile-cplus-types.c.
1582         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
1583         * c-lang.c (cplus_language_defn): Set C++ compile functions.
1584         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
1585         Declare.
1586         * compile/compile-c-support.c: Include compile-cplus.h.
1587         (load_libcompile): Templatize.
1588         (get_compile_context): "New" function.
1589         (c_get_compile_context): Use get_compile_context.
1590         (cplus_get_compile_context): New function.
1591         (cplus_push_user_expression, cplus_pop_user_expression)
1592         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
1593         (cplus_compute_program): Define new structs/functions.
1594         * compile/compile-cplus-symmbols.c: New file.
1595         * compile/compile-cplus-types.c: New file.
1596         * compile/compile-cplus.h: New file.
1597         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
1598         Declare.
1599         * compile/compile-object-load.c (get_out_value_type): Use
1600         strncmp_iw when comparing symbol names.
1601         (compile_object_load): Add mst_bss and mst_data.
1602         * compile/compile.c (_initialize_compile): Remove
1603         -Wno-implicit-function-declaration from `compile_args'.
1604         * compile/gcc-cp-plugin.h: New file.
1605         * NEWS: Mention C++ compile support and new debug options.
1606
1607 2018-08-29  Keith Seitz  <keiths@redhat.com>
1608
1609         * linespec.c (collect_info::add_symbol): Make virtual.
1610         (struct symbol_searcher_collect_info): New struct.
1611         (symbol_searcher::find_all_symbols): New method.
1612         * symtab.h (class symbol_searcher): New class.
1613
1614 2018-08-29  Keith Seitz  <keiths@redhat.com>
1615
1616         * linespec.c (struct linespec) <function_symbols, label_symbols>:
1617         Change to vector of block_symbol.  Update all users.
1618         (struct collect_info) <symbols>: Likewise.
1619         (collect_info::add_symbol): Take block_symbol as argument.
1620         Update all callers.
1621         (decode_compound_collector) <m_symbols>: Change type to vector
1622         of block_symbol.  Update all users.
1623         (decode_compound_collector::operator ()): Change parameter type
1624         to block_symbol.
1625         (find_method, find_function_symbols, find_linespec_symbols)
1626         (find_label_symbols_in_block, find_label_symbols): Change symbol
1627         vectors to block_symbol vectors.
1628         * symtab.h (symbol_found_callback_ftype): Change parameter type to
1629         block_symbol.
1630
1631 2018-08-29  Keith Seitz  <keiths@redhat.com>
1632
1633         * linespec.c (symbolp): Remove typedef and VEC definitions.
1634         (bound_minimal_symbol_d): Likewise.
1635
1636 2018-08-29  Keith Seitz  <keiths@redhat.com>
1637
1638         * linespec.c (decode_compound_collector::decode_compound_collector):
1639         Remove initialization for `m_symtabs'.
1640         (decode_compound_collector::release_symbols): Change return type
1641         to std::vector.  Update all callers.
1642         (class decode_compound_collector) <m_symbols>: Change type to
1643         std::vector.
1644         (lookup_prefix_sym): Change return type to std::vector.  Update all
1645         callers.
1646         (compare_symbols): Remove.
1647         (std_compare_symbols): Rename to `compare_symbols'.
1648         (find_method): Change `sym_classes' parameter to std::vector.
1649         Update all callers.  Use std::sort to sort sym_classes.
1650         (find_linespec_symbols): Remove cleanup.
1651
1652 2018-08-29  Keith Seitz  <keiths@redhat.com>
1653
1654         * linespec.c (struct linespec) <minimal_symbols>: Change type to
1655         std::vector.  Update all users.
1656         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
1657         (struct collect_info) <minimal_symbols>: Likewise.
1658         (compare_msymbols): Return bool.  Change parameters to const
1659         bound_minimal_symbol references.
1660         (find_method, find_function_symbols, find_linespec_symbols): Change
1661         `minsyms' parameter to std::vector.  Update all callers.
1662
1663 2018-08-29  Keith Seitz  <keiths@redhat.com>
1664
1665         * linespec.c (struct linespec) <label_symbols>: Change type to
1666         std::vector.  Update all users.
1667         (find_label_symbols_in_block): Change `result' parameter to
1668         std::vector.  Update all callers.
1669         (find_label_symbols): Return std::vector.  Update all callers.
1670
1671 2018-08-29  Keith Seitz  <keiths@redhat.com>
1672
1673         * linespec.c (struct linespec) <function_symbols>: Change type to
1674         std::vector.  Update all users.
1675         (struct collect_info) <function_symbols>: Likewise.
1676         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
1677         (std_compare_symbols): New function.
1678         (find_method, find_function_symbols, find_linespec_symbols)
1679         (find_label_symbols_in_block): Change `symbols' parameter to
1680         std::vector.  Update all callers.
1681         (find_label_symbols): Likewise for `function_symbols' and
1682         `label_funcs_ret'.
1683
1684 2018-08-29  Keith Seitz  <keiths@redhat.com>
1685
1686         * linespec.c (symtab_vector_up): Define.
1687         (struct linespec) <file_symtabs>: Change type to std::vector *.
1688         Update all uses.
1689         (struct collect_info) <file_symtabs>: Likewise.
1690         (collect_symtabs_from_filename): Return symtab_vector_up.
1691         Update all callers.
1692         (decode_objc): Remove cleanup.
1693         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
1694         (symtab_collector::release_symtabs): Return symtab_vector_up.
1695         Update all callers.
1696         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
1697         Update all users.
1698         (collect_symtabs_from_filename, symtabs_from_filename): Return
1699         symtab_vector_up.  Update all callers.
1700
1701 2018-08-29  Tom Tromey  <tom@tromey.com>
1702
1703         * csky-tdep.c (csky_analyze_prologue): Use
1704         core_addr_to_string_nz.
1705
1706 2018-08-29  Tom Tromey  <tom@tromey.com>
1707
1708         * windows-nat.c (struct xlate_exception) <them>: Change type to
1709         DWORD.
1710         (xlate): Fix formatting.  Remove last entry.
1711         (struct xlate_exception, xlate): Comment out.
1712         (windows_nat_target::resume): Use ranged for.
1713
1714 2018-08-29  Jim Wilson  <jimw@sifive.com>
1715
1716         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
1717         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
1718         of NT_PRFPREG.
1719         (riscv_linux_nat_target::store_registers): Likewise.
1720
1721 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1722
1723         PR gdb/23555
1724         PR gdb/23558
1725         * gnulib/aclocal.m4: Regenerate.
1726         * gnulib/config.in: Regenerate.
1727         * gnulib/configure: Regenerate.
1728         * gnulib/import/Makefile.am: Update.
1729         * gnulib/import/Makefile.in: Update.
1730         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1731         * gnulib/import/_Noreturn.h: ... this.
1732         * gnulib/import/alloca.in.h: Update.
1733         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1734         * gnulib/import/arg-nonnull.h: ... this.
1735         * gnulib/import/assure.h: Update.
1736         * gnulib/import/at-func.c: Update.
1737         * gnulib/import/basename-lgpl.c: Update.
1738         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1739         * gnulib/import/c++defs.h: ... this.
1740         * gnulib/import/canonicalize-lgpl.c: Update.
1741         * gnulib/import/cdefs.h: Update.
1742         * gnulib/import/chdir-long.c: Update.
1743         * gnulib/import/chdir-long.h: Update.
1744         * gnulib/import/cloexec.c: Update.
1745         * gnulib/import/cloexec.h: Update.
1746         * gnulib/import/close.c: Update.
1747         * gnulib/import/closedir.c: Update.
1748         * gnulib/import/config.charset: Update.
1749         * gnulib/import/dirent-private.h: Update.
1750         * gnulib/import/dirent.in.h: Update.
1751         * gnulib/import/dirfd.c: Update.
1752         * gnulib/import/dirname-lgpl.c: Update.
1753         * gnulib/import/dirname.h: Update.
1754         * gnulib/import/dosname.h: Update.
1755         * gnulib/import/dup-safer-flag.c: Update.
1756         * gnulib/import/dup-safer.c: Update.
1757         * gnulib/import/dup.c: Update.
1758         * gnulib/import/dup2.c: Update.
1759         * gnulib/import/errno.in.h: Update.
1760         * gnulib/import/error.c: Update.
1761         * gnulib/import/error.h: Update.
1762         * gnulib/import/exitfail.c: Update.
1763         * gnulib/import/exitfail.h: Update.
1764         * gnulib/import/extra/update-copyright: Update.
1765         * gnulib/import/fchdir.c: Update.
1766         * gnulib/import/fcntl.c: Update.
1767         * gnulib/import/fcntl.in.h: Update.
1768         * gnulib/import/fd-hook.c: Update.
1769         * gnulib/import/fd-hook.h: Update.
1770         * gnulib/import/fd-safer-flag.c: Update.
1771         * gnulib/import/fd-safer.c: Update.
1772         * gnulib/import/fdopendir.c: Update.
1773         * gnulib/import/filename.h: Update.
1774         * gnulib/import/filenamecat-lgpl.c: Update.
1775         * gnulib/import/filenamecat.h: Update.
1776         * gnulib/import/flexmember.h: Update.
1777         * gnulib/import/float+.h: Update.
1778         * gnulib/import/float.c: Update.
1779         * gnulib/import/float.in.h: Update.
1780         * gnulib/import/fnmatch.c: Update.
1781         * gnulib/import/fnmatch.in.h: Update.
1782         * gnulib/import/fnmatch_loop.c: Update.
1783         * gnulib/import/fpucw.h: Update.
1784         * gnulib/import/frexp.c: Update.
1785         * gnulib/import/frexpl.c: Update.
1786         * gnulib/import/fstat.c: Update.
1787         * gnulib/import/fstatat.c: Update.
1788         * gnulib/import/getcwd-lgpl.c: Update.
1789         * gnulib/import/getcwd.c: Update.
1790         * gnulib/import/getdtablesize.c: Update.
1791         * gnulib/import/getlogin_r.c: Update.
1792         * gnulib/import/getprogname.c: Update.
1793         * gnulib/import/getprogname.h: Update.
1794         * gnulib/import/gettext.h: Update.
1795         * gnulib/import/gettimeofday.c: Update.
1796         * gnulib/import/glob-libc.h: Update.
1797         * gnulib/import/glob.c: Update.
1798         * gnulib/import/glob.in.h: Update.
1799         * gnulib/import/glob_internal.h: Update.
1800         * gnulib/import/glob_pattern_p.c: Update.
1801         * gnulib/import/globfree.c: Update.
1802         * gnulib/import/hard-locale.c: Update.
1803         * gnulib/import/hard-locale.h: Update.
1804         * gnulib/import/intprops.h: Update.
1805         * gnulib/import/inttypes.in.h: Update.
1806         * gnulib/import/isnan.c: Update.
1807         * gnulib/import/isnand-nolibm.h: Update.
1808         * gnulib/import/isnand.c: Update.
1809         * gnulib/import/isnanl-nolibm.h: Update.
1810         * gnulib/import/isnanl.c: Update.
1811         * gnulib/import/itold.c: Update.
1812         * gnulib/import/libc-config.h: Update.
1813         * gnulib/import/limits.in.h: Update.
1814         * gnulib/import/localcharset.c: Update.
1815         * gnulib/import/localcharset.h: Update.
1816         * gnulib/import/localtime-buffer.c: Update.
1817         * gnulib/import/localtime-buffer.h: Update.
1818         * gnulib/import/lstat.c: Update.
1819         * gnulib/import/m4/00gnulib.m4: Update.
1820         * gnulib/import/m4/__inline.m4: Update.
1821         * gnulib/import/m4/absolute-header.m4: Update.
1822         * gnulib/import/m4/alloca.m4: Update.
1823         * gnulib/import/m4/builtin-expect.m4: Update.
1824         * gnulib/import/m4/canonicalize.m4: Update.
1825         * gnulib/import/m4/chdir-long.m4: Update.
1826         * gnulib/import/m4/close.m4: Update.
1827         * gnulib/import/m4/closedir.m4: Update.
1828         * gnulib/import/m4/configmake.m4: Update.
1829         * gnulib/import/m4/d-ino.m4: Update.
1830         * gnulib/import/m4/d-type.m4: Update.
1831         * gnulib/import/m4/dirent_h.m4: Update.
1832         * gnulib/import/m4/dirfd.m4: Update.
1833         * gnulib/import/m4/dirname.m4: Update.
1834         * gnulib/import/m4/double-slash-root.m4: Update.
1835         * gnulib/import/m4/dup.m4: Update.
1836         * gnulib/import/m4/dup2.m4: Update.
1837         * gnulib/import/m4/eealloc.m4: Update.
1838         * gnulib/import/m4/environ.m4: Update.
1839         * gnulib/import/m4/errno_h.m4: Update.
1840         * gnulib/import/m4/error.m4: Update.
1841         * gnulib/import/m4/exponentd.m4: Update.
1842         * gnulib/import/m4/exponentl.m4: Update.
1843         * gnulib/import/m4/extensions.m4: Update.
1844         * gnulib/import/m4/extern-inline.m4: Update.
1845         * gnulib/import/m4/fchdir.m4: Update.
1846         * gnulib/import/m4/fcntl-o.m4: Update.
1847         * gnulib/import/m4/fcntl.m4: Update.
1848         * gnulib/import/m4/fcntl_h.m4: Update.
1849         * gnulib/import/m4/fdopendir.m4: Update.
1850         * gnulib/import/m4/filenamecat.m4: Update.
1851         * gnulib/import/m4/flexmember.m4: Update.
1852         * gnulib/import/m4/float_h.m4: Update.
1853         * gnulib/import/m4/fnmatch.m4: Update.
1854         * gnulib/import/m4/fnmatch_h.m4: Update.
1855         * gnulib/import/m4/fpieee.m4: Update.
1856         * gnulib/import/m4/frexp.m4: Update.
1857         * gnulib/import/m4/frexpl.m4: Update.
1858         * gnulib/import/m4/fstat.m4: Update.
1859         * gnulib/import/m4/fstatat.m4: Update.
1860         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1861         * gnulib/import/m4/getcwd-path-max.m4: Update.
1862         * gnulib/import/m4/getcwd.m4: Update.
1863         * gnulib/import/m4/getdtablesize.m4: Update.
1864         * gnulib/import/m4/getlogin.m4: Update.
1865         * gnulib/import/m4/getlogin_r.m4: Update.
1866         * gnulib/import/m4/getpagesize.m4: Update.
1867         * gnulib/import/m4/getprogname.m4: Update.
1868         * gnulib/import/m4/gettimeofday.m4: Update.
1869         * gnulib/import/m4/glibc21.m4: Update.
1870         * gnulib/import/m4/glob.m4: Update.
1871         * gnulib/import/m4/glob_h.m4: Update.
1872         * gnulib/import/m4/gnulib-cache.m4: Update.
1873         * gnulib/import/m4/gnulib-common.m4: Update.
1874         * gnulib/import/m4/gnulib-comp.m4: Update.
1875         * gnulib/import/m4/gnulib-tool.m4: Update.
1876         * gnulib/import/m4/hard-locale.m4: Update.
1877         * gnulib/import/m4/include_next.m4: Update.
1878         * gnulib/import/m4/inttypes-pri.m4: Update.
1879         * gnulib/import/m4/inttypes.m4: Update.
1880         * gnulib/import/m4/isnand.m4: Update.
1881         * gnulib/import/m4/isnanl.m4: Update.
1882         * gnulib/import/m4/largefile.m4: Update.
1883         * gnulib/import/m4/limits-h.m4: Update.
1884         * gnulib/import/m4/localcharset.m4: Update.
1885         * gnulib/import/m4/locale-fr.m4: Update.
1886         * gnulib/import/m4/locale-ja.m4: Update.
1887         * gnulib/import/m4/locale-zh.m4: Update.
1888         * gnulib/import/m4/localtime-buffer.m4: Update.
1889         * gnulib/import/m4/longlong.m4: Update.
1890         * gnulib/import/m4/lstat.m4: Update.
1891         * gnulib/import/m4/malloc.m4: Update.
1892         * gnulib/import/m4/malloca.m4: Update.
1893         * gnulib/import/m4/math_h.m4: Update.
1894         * gnulib/import/m4/mbrtowc.m4: Update.
1895         * gnulib/import/m4/mbsinit.m4: Update.
1896         * gnulib/import/m4/mbsrtowcs.m4: Update.
1897         * gnulib/import/m4/mbstate_t.m4: Update.
1898         * gnulib/import/m4/memchr.m4: Update.
1899         * gnulib/import/m4/memmem.m4: Update.
1900         * gnulib/import/m4/mempcpy.m4: Update.
1901         * gnulib/import/m4/memrchr.m4: Update.
1902         * gnulib/import/m4/mkdir.m4: Update.
1903         * gnulib/import/m4/mkstemp.m4: Update.
1904         * gnulib/import/m4/mmap-anon.m4: Update.
1905         * gnulib/import/m4/mode_t.m4: Update.
1906         * gnulib/import/m4/msvc-inval.m4: Update.
1907         * gnulib/import/m4/msvc-nothrow.m4: Update.
1908         * gnulib/import/m4/multiarch.m4: Update.
1909         * gnulib/import/m4/nocrash.m4: Update.
1910         * gnulib/import/m4/off_t.m4: Update.
1911         * gnulib/import/m4/onceonly.m4: Update.
1912         * gnulib/import/m4/open-cloexec.m4: Update.
1913         * gnulib/import/m4/open.m4: Update.
1914         * gnulib/import/m4/openat.m4: Update.
1915         * gnulib/import/m4/opendir.m4: Update.
1916         * gnulib/import/m4/pathmax.m4: Update.
1917         * gnulib/import/m4/rawmemchr.m4: Update.
1918         * gnulib/import/m4/readdir.m4: Update.
1919         * gnulib/import/m4/readlink.m4: Update.
1920         * gnulib/import/m4/realloc.m4: Update.
1921         * gnulib/import/m4/rename.m4: Update.
1922         * gnulib/import/m4/rewinddir.m4: Update.
1923         * gnulib/import/m4/rmdir.m4: Update.
1924         * gnulib/import/m4/save-cwd.m4: Update.
1925         * gnulib/import/m4/secure_getenv.m4: Update.
1926         * gnulib/import/m4/setenv.m4: Update.
1927         * gnulib/import/m4/signal_h.m4: Update.
1928         * gnulib/import/m4/ssize_t.m4: Update.
1929         * gnulib/import/m4/stat-time.m4: Update.
1930         * gnulib/import/m4/stat.m4: Update.
1931         * gnulib/import/m4/std-gnu11.m4: Update.
1932         * gnulib/import/m4/stdbool.m4: Update.
1933         * gnulib/import/m4/stddef_h.m4: Update.
1934         * gnulib/import/m4/stdint.m4: Update.
1935         * gnulib/import/m4/stdio_h.m4: Update.
1936         * gnulib/import/m4/stdlib_h.m4: Update.
1937         * gnulib/import/m4/strchrnul.m4: Update.
1938         * gnulib/import/m4/strdup.m4: Update.
1939         * gnulib/import/m4/strerror.m4: Update.
1940         * gnulib/import/m4/string_h.m4: Update.
1941         * gnulib/import/m4/strstr.m4: Update.
1942         * gnulib/import/m4/strtok_r.m4: Update.
1943         * gnulib/import/m4/sys_socket_h.m4: Update.
1944         * gnulib/import/m4/sys_stat_h.m4: Update.
1945         * gnulib/import/m4/sys_time_h.m4: Update.
1946         * gnulib/import/m4/sys_types_h.m4: Update.
1947         * gnulib/import/m4/tempname.m4: Update.
1948         * gnulib/import/m4/time_h.m4: Update.
1949         * gnulib/import/m4/unistd-safer.m4: Update.
1950         * gnulib/import/m4/unistd_h.m4: Update.
1951         * gnulib/import/m4/warn-on-use.m4: Update.
1952         * gnulib/import/m4/wchar_h.m4: Update.
1953         * gnulib/import/m4/wchar_t.m4: Update.
1954         * gnulib/import/m4/wctype_h.m4: Update.
1955         * gnulib/import/m4/wint_t.m4: Update.
1956         * gnulib/import/malloc.c: Update.
1957         * gnulib/import/malloc/scratch_buffer.h: Update.
1958         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1959         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1960         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1961         * gnulib/import/malloca.c: Update.
1962         * gnulib/import/malloca.h: Update.
1963         * gnulib/import/malloca.valgrind: Update.
1964         * gnulib/import/math.in.h: Update.
1965         * gnulib/import/mbrtowc.c: Update.
1966         * gnulib/import/mbsinit.c: Update.
1967         * gnulib/import/mbsrtowcs-impl.h: Update.
1968         * gnulib/import/mbsrtowcs-state.c: Update.
1969         * gnulib/import/mbsrtowcs.c: Update.
1970         * gnulib/import/memchr.c: Update.
1971         * gnulib/import/memmem.c: Update.
1972         * gnulib/import/mempcpy.c: Update.
1973         * gnulib/import/memrchr.c: Update.
1974         * gnulib/import/mkdir.c: Update.
1975         * gnulib/import/mkstemp.c: Update.
1976         * gnulib/import/msvc-inval.c: Update.
1977         * gnulib/import/msvc-inval.h: Update.
1978         * gnulib/import/msvc-nothrow.c: Update.
1979         * gnulib/import/msvc-nothrow.h: Update.
1980         * gnulib/import/open.c: Update.
1981         * gnulib/import/openat-die.c: Update.
1982         * gnulib/import/openat-priv.h: Update.
1983         * gnulib/import/openat-proc.c: Update.
1984         * gnulib/import/openat.c: Update.
1985         * gnulib/import/openat.h: Update.
1986         * gnulib/import/opendir.c: Update.
1987         * gnulib/import/pathmax.h: Update.
1988         * gnulib/import/pipe-safer.c: Update.
1989         * gnulib/import/rawmemchr.c: Update.
1990         * gnulib/import/readdir.c: Update.
1991         * gnulib/import/readlink.c: Update.
1992         * gnulib/import/realloc.c: Update.
1993         * gnulib/import/ref-add.sin: Update.
1994         * gnulib/import/ref-del.sin: Update.
1995         * gnulib/import/rename.c: Update.
1996         * gnulib/import/rewinddir.c: Update.
1997         * gnulib/import/rmdir.c: Update.
1998         * gnulib/import/same-inode.h: Update.
1999         * gnulib/import/save-cwd.c: Update.
2000         * gnulib/import/save-cwd.h: Update.
2001         * gnulib/import/scratch_buffer.h: Update.
2002         * gnulib/import/secure_getenv.c: Update.
2003         * gnulib/import/setenv.c: Update.
2004         * gnulib/import/signal.in.h: Update.
2005         * gnulib/import/stat-time.c: Update.
2006         * gnulib/import/stat-time.h: Update.
2007         * gnulib/import/stat-w32.c: Update.
2008         * gnulib/import/stat-w32.h: Update.
2009         * gnulib/import/stat.c: Update.
2010         * gnulib/import/stdbool.in.h: Update.
2011         * gnulib/import/stddef.in.h: Update.
2012         * gnulib/import/stdint.in.h: Update.
2013         * gnulib/import/stdio.in.h: Update.
2014         * gnulib/import/stdlib.in.h: Update.
2015         * gnulib/import/str-two-way.h: Update.
2016         * gnulib/import/strchrnul.c: Update.
2017         * gnulib/import/strdup.c: Update.
2018         * gnulib/import/streq.h: Update.
2019         * gnulib/import/strerror-override.c: Update.
2020         * gnulib/import/strerror-override.h: Update.
2021         * gnulib/import/strerror.c: Update.
2022         * gnulib/import/string.in.h: Update.
2023         * gnulib/import/stripslash.c: Update.
2024         * gnulib/import/strnlen1.c: Update.
2025         * gnulib/import/strnlen1.h: Update.
2026         * gnulib/import/strstr.c: Update.
2027         * gnulib/import/strtok_r.c: Update.
2028         * gnulib/import/sys_stat.in.h: Update.
2029         * gnulib/import/sys_time.in.h: Update.
2030         * gnulib/import/sys_types.in.h: Update.
2031         * gnulib/import/tempname.c: Update.
2032         * gnulib/import/tempname.h: Update.
2033         * gnulib/import/time.in.h: Update.
2034         * gnulib/import/unistd--.h: Update.
2035         * gnulib/import/unistd-safer.h: Update.
2036         * gnulib/import/unistd.in.h: Update.
2037         * gnulib/import/unsetenv.c: Update.
2038         * gnulib/import/verify.h: Update.
2039         * gnulib/import/extra/snippet/warn-on-use.h: Update.
2040         * gnulib/import/wchar.in.h: Update.
2041         * gnulib/import/wctype.in.h: Update.
2042         * gnulib/import/xalloc-oversized.h: Update.
2043         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
2044         "53e2c179f26a890fa6685af4b6c1397ee370433b".
2045
2046 2018-08-16  Gary Benson <gbenson@redhat.com>
2047
2048         PR gdb/13000:
2049         * gdb/main.c (captured_main_1): Exit with nonzero status
2050         in batch mode if the last command to be executed failed.
2051         * NEWS: Mention the above.
2052
2053 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
2054
2055         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
2056         end of warning message.
2057
2058 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2059
2060         PR gdb/22943:
2061         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
2062         (aarch64_extract_return_value): Use
2063         aapcs_is_vfp_call_or_return_candidate.
2064         (aarch64_return_in_memory): Likewise.
2065         (aarch64_store_return_value): Likewise.
2066
2067 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2068
2069         * aarch64-tdep.c
2070         (aapcs_is_vfp_call_or_return_candidate): Make static
2071         (pass_in_v_or_stack): Remove function.
2072         (pass_in_v_vfp_candidate): New function.
2073         (aarch64_push_dummy_call): Check for float register candidates.
2074
2075 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2076
2077         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
2078         (aapcs_is_vfp_call_or_return_candidate_1): New function.
2079         (aapcs_is_vfp_call_or_return_candidate): Likewise.
2080
2081 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
2082
2083         PR build/23399
2084         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
2085         (struct ipa_sym_addresses): Rename to...
2086         (struct ipa_sym_addresses_common): ... this.
2087         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
2088
2089 2018-08-28  Tom Tromey  <tom@tromey.com>
2090
2091         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2092         (token_fifo): Now a std::vector.
2093         (yylex, c_parse): Update.
2094         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2095         (token_fifo): Now a std::vector.
2096         (yylex, d_parse): Update.
2097         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2098         (token_fifo): Now a std::vector.
2099         (yylex, go_parse): Update.
2100
2101 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
2102
2103         * parser-defs.h (struct type_stack) <elements>: Change type to
2104         std::vector<union type_stack_elt>.
2105         <depth, size>: Remove.
2106         * parse.c (parse_exp_in_context_1): Adjust.
2107         (type_stack_reserve): Remove.
2108         (check_type_stack_depth): Remove.
2109         (insert_into_type_stack): Adjust to std::vector.
2110         (insert_type): Likewise.
2111         (push_type): Likewise.
2112         (push_type_int): Likewise.
2113         (insert_type_address_space): Likewise.
2114         (pop_type): Likewise.
2115         (pop_type_int): Likewise.
2116         (pop_typelist): Likewise.
2117         (pop_type_stack): Likewise.
2118         (append_type_stack): Likewise.
2119         (push_type_stack): Likewise.
2120         (get_type_stack): Likewise.
2121         (type_stack_cleanup): Likewise.
2122         (push_typelist): Likewise.
2123         (follow_types): Likewise.
2124         (_initialize_parse): Likewise.
2125
2126 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2127
2128         * NEWS: Mention csky target.
2129
2130 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
2131             Hafiz Abid Qadeer  <abidh@codesourcery.com>
2132             Don Breazeal  <donb@codesourcery.com>
2133
2134         * csky-linux-tdep.c: New file.
2135         * csky-tdep.c: Likewise.
2136         * csky-tdep.h: Likewise.
2137         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
2138         csky-tdep.o.
2139         (HFILES_NO_SRCDIR): Add csky-tdep.h.
2140         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
2141         * configure.tgt: Add csky support.
2142
2143 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
2144
2145         * python/py-framefilter.c (py_print_frame): Print frame architecture
2146         when printing on an MI output.
2147
2148 2018-08-27  Tom Tromey  <tom@tromey.com>
2149
2150         PR build/23087:
2151         * configure: Rebuild.
2152         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
2153
2154 2018-08-27  Tom Tromey  <tom@tromey.com>
2155
2156         * aarch64-linux-tdep.c
2157         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
2158         casts to int.
2159
2160 2018-08-27  Tom Tromey  <tom@tromey.com>
2161
2162         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
2163         unsigned.
2164         (ppc64_standard_linkage1, ppc64_standard_linkage2)
2165         (ppc64_standard_linkage3, ppc64_standard_linkage4)
2166         (ppc64_standard_linkage5, ppc64_standard_linkage6)
2167         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
2168         unsigned.
2169
2170 2018-08-27  Tom Tromey  <tom@tromey.com>
2171
2172         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
2173         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
2174
2175 2018-08-27  Tom Tromey  <tom@tromey.com>
2176
2177         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
2178         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
2179         ULONGEST_MAX.
2180         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
2181         ULONGEST_MAX.
2182         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
2183         ULONGEST_MAX.
2184         * sparc-linux-tdep.c (sparc32_linux_sigframe)
2185         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
2186         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
2187         ULONGEST_MAX.
2188         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
2189         (ppc64_linux_sigaction_tramp_frame)
2190         (ppc32_linux_sighandler_tramp_frame)
2191         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2192         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
2193         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
2194         * mn10300-linux-tdep.c (am33_linux_sigframe)
2195         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
2196         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
2197         * mips-linux-tdep.c (mips_linux_o32_sigframe)
2198         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
2199         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
2200         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
2201         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
2202         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
2203         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
2204         * microblaze-linux-tdep.c
2205         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2206         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
2207         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
2208         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
2209         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
2210         * common/common-types.h (ULONGEST_MAX): New define.
2211         (CORE_ADDR_MAX): Fix formatting.
2212         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
2213         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
2214         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
2215         (arm_linux_rt_sigreturn_tramp_frame)
2216         (arm_eabi_linux_sigreturn_tramp_frame)
2217         (arm_eabi_linux_rt_sigreturn_tramp_frame)
2218         (thumb2_eabi_linux_sigreturn_tramp_frame)
2219         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
2220         (arm_linux_restart_syscall_tramp_frame)
2221         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
2222         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
2223         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
2224         ULONGEST_MAX.
2225         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2226
2227 2018-08-27  Tom Tromey  <tom@tromey.com>
2228
2229         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
2230         CORE_ADDR_MAX.
2231         * mips-tdep.c (mips_deal_with_atomic_sequence)
2232         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
2233         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
2234         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
2235         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
2236         CORE_ADDR_MAX.
2237         * aarch64-tdep.c (aarch64_software_single_step): Use
2238         CORE_ADDR_MAX.
2239
2240 2018-08-27  Tom Tromey  <tom@tromey.com>
2241
2242         * linespec.c (complete_linespec_component): Add cast to "char".
2243         * completer.c (completion_tracker::build_completion_result): Add
2244         cast to "char".
2245
2246 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2247
2248         * solist.h (struct solist, struct target_so_ops): Fix
2249         indentation.
2250
2251 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2252
2253         * ada-tasks.c (ada_task_info_s): Remove typedef.
2254         (DEF_VEC_O(ada_task_info_s)): Remove.
2255         (struct ada_tasks_inferior_data): Initialize fields.
2256         <task_list>: Make an std::vector.
2257         (get_ada_tasks_inferior_data): Allocate with new.
2258         (ada_get_task_number): Adjust.
2259         (get_task_number_from_id): Likewise.
2260         (valid_task_id): Likewise.
2261         (ada_get_task_info_from_ptid): Likewise.
2262         (iterate_over_live_ada_tasks): Likewise.
2263         (add_ada_task): Likewise.
2264         (read_known_tasks): Likewise.
2265         (ada_build_task_list): Likewise.
2266         (print_ada_task_info): Likewise.
2267         (info_task): Likewise.
2268         (task_command_1): Likewise.
2269
2270 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2271
2272         * ada-lang.c (add_angle_brackets): Return std::string.
2273
2274 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
2275
2276         * python/py-threadevent.c (py_get_event_thread): Initialize
2277         pythread.
2278
2279 2018-08-24  Pedro Alves  <palves@redhat.com>
2280
2281         * python/py-bpevent.c (create_breakpoint_event_object): Use
2282         copy-initialization.
2283         * python/py-continueevent.c (emit_continue_event): Use
2284         copy-initialization.
2285         * python/py-exitedevent.c (create_exited_event_object): Return a
2286         gdbpy_ref<>.
2287         (emit_exited_event): Use copy-initialization.
2288         * python/py-inferior.c (python_new_inferior)
2289         (python_inferior_deleted, add_thread_object): Use
2290         copy-initialization.
2291         * python/py-infevents.c (create_inferior_call_event_object)
2292         (create_register_changed_event_object)
2293         (create_memory_changed_event_object): Return a gdbpy_ref<>.
2294         (emit_inferior_call_event, emit_memory_changed_event)
2295         (emit_register_changed_event): Use copy-initialization.
2296         * python/py-newobjfileevent.c (create_new_objfile_event_object):
2297         Return a gdbpy_ref<>.
2298         (emit_new_objfile_event): Use copy-initialization.
2299         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
2300         (emit_clear_objfiles_event): Use copy-initialization.
2301         * python/py-signalevent.c (create_signal_event_object): Use
2302         copy-initialization.
2303         * python/py-threadevent.c (create_thread_event_object): Use
2304         copy-initialization.
2305
2306 2018-08-24  Pedro Alves  <palves@redhat.com>
2307             Simon Marchi  <simon.marchi@ericsson.com>
2308
2309         PR gdb/23379
2310         * python/py-continueevent.c: Include "gdbthread.h".
2311         (create_continue_event_object): Add intro comment.  Add 'ptid'
2312         parameter.  Use it to find thread to pass to
2313         create_thread_event_object.
2314         (emit_continue_event): Pass PTID down to
2315         create_continue_event_object.
2316         * python/py-event.h (py_get_event_thread): Declare.
2317         (create_thread_event_object): Remove default from 'thread'
2318         parameter.
2319         * python/py-stopevent.c (create_stop_event_object): Use
2320         py_get_event_thread.
2321         * python/py-threadevent.c (get_event_thread): Rename to ...
2322         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
2323         and use it to find the thread.
2324         (create_thread_event_object): Assert that THREAD isn't null.
2325         Don't find the event thread here.
2326
2327 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2328
2329         * block.h (blockrange, blockranges): New struct declarations.
2330         (struct block): Add new field named `ranges'.
2331         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
2332         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
2333         macros for accessing ranges in struct block.
2334         (make_blockranges): New declaration.
2335         block.c (make_blockranges): New function.
2336         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
2337         for block.
2338         * symtab.h (find_pc_partial_function): Add new parameter `block'.
2339         * blockframe.c (cache_pc_function_block): New static global.
2340         (clear_pc_function_cache): Clear cache_pc_function_block.
2341         (find_pc_partial_function): Move comment to symtab.h.  Add
2342         support for non-contiguous blocks.
2343         * cli/cli-cmds.c (block.h): Include.
2344         (print_disassembly): Handle printing of non-contiguous blocks.
2345         (disassemble_current_function): Likewise.
2346         (disassemble_command): Likewise.
2347
2348         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
2349         BLOCK_START.
2350         * blockframe.c (get_pc_function_start): Likewise.
2351         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
2352         (gcc_symbol_address): Likewise.
2353         * compile/compile-object-run.c (compile_object_run): Likewise.
2354         * compile/compile.c (get_expr_block_and_pc): Likewise.
2355         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
2356         (func_addr_to_tail_call_list): Likewise.
2357         * findvar.c (default_read_var_value): Likewise.
2358         * inline-frame.c (inline_frame_this_id): Likewise.
2359         (skip-inline_frames): Likewise.
2360         * infcmd.c (until_next_command): Likewise.
2361         * linespec.c (convert_linespec_to_sals): Likewise.
2362         * parse.c (parse_exp_in_context_1): Likewise.
2363         * printcmd.c (build_address_symbolic): likewise.
2364         (info_address_command): Likewise.
2365         symtab.c (find_function_start_sal): Likewise.
2366         (skip_prologue_sal): Likewise.
2367         (find_function_alias_target): Likewise.
2368         (find_gnu_ifunc): Likewise.
2369         * stack.c (find_frame_funname): Likewise.
2370         * symtab.c (fixup_symbol_section): Likewise.
2371         (find_function_start_sal): Likewise.
2372         (skip_prologue_sal): Likewsie.
2373         (find_function_alias_target): Likewise.
2374         (find_gnu_ifunc): Likewise.
2375         * tracepoint.c (info_scope_command): Likewise.
2376         * value.c (value_fn_field): Likewise.
2377
2378         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
2379         in place of find_pc_partial_function.
2380         * blockframe.c (find_function_entry_range_from_pc): New function.
2381         * symtab.h (find_function_entry_range_from_pc): Declare and document.
2382         * objfiles.c (objfile_relocate1): Relocate start and end addresses
2383         for each range in a block.
2384
2385
2386 2018-08-23  Xavier Roirand  <roirand@adacore.com>
2387
2388         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
2389         incrementation.
2390
2391 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2392
2393         * solib-svr4.c (read_program_headers_from_bfd): Return
2394         gdb::optional<gdb::byte_vector>.
2395         (svr4_exec_displacement): Adjust.
2396
2397 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2398
2399         * solib-svr4.c (read_program_header): Return
2400         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
2401         (find_program_interpreter): Return
2402         gdb::optional<gdb::byte_vector>.
2403         (scan_dyntag_auxv): Adjust.
2404         (enable_break): Adjust.
2405         (svr4_exec_displacement): Adjust.
2406
2407 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2408
2409         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
2410         * inf-child.c (inf_child_target::terminal_save_inferior): New.
2411
2412 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2413
2414         * guile/scm-string.c (gdbscm_scm_from_printf): Use
2415         string_vprintf.
2416         * guile/scm-utils.c (gdbscm_printf): Likewise.
2417         * serial.c (serial_printf): Likewise.
2418         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
2419
2420 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
2421
2422         * stack.c (print_frame): Print frame architecture when printing on
2423         an MI output.
2424         * NEWS: Mention new "arch" attribute in frame output.
2425
2426 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2427
2428         * arch/aarch64.h (aarch64_regnum): Update comment.
2429
2430 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2431
2432         * NEWS: Add SVE to 8.2 section.
2433
2434 2018-08-21  Pedro Alves  <palves@redhat.com>
2435
2436         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
2437         out from gdbscm_parse_function_args.
2438         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
2439         gdbscm_parse_function_args_1.
2440
2441 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
2442
2443         PR gdb/17816
2444         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
2445         operator.
2446
2447 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
2448
2449         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
2450
2451 2018-08-19  Michael Spang  <spang@google.com>
2452
2453         PR gdb/11786
2454         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
2455         for PT_TLS segments.
2456
2457 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
2458
2459         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
2460         dwarf_variable_value.
2461         * dwarf2-frame.c (class dwarf_expr_executor):
2462         Add override for dwarf_variable_value.
2463         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
2464         (class symbol_needs_eval_context): Likewise.
2465         (indirect_synthetic_pointer): Add forward declaration.
2466         (sect_variable_value): New function.
2467         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
2468         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
2469         for DW_OP_GNU_variable_value.
2470
2471 2018-08-16  Tom Tromey  <tom@tromey.com>
2472
2473         * top.c (read_command_file): Update.
2474         (command_line_input): Remove "repeat" argument.
2475         * ada-lang.c (get_selections): Update.
2476         * linespec.c (decode_line_2): Update.
2477         * defs.h (command_line_input): Remove argument.
2478         * cli/cli-script.c (read_next_line): Update.
2479         * python/py-gdb-readline.c: Update.
2480
2481 2018-08-17  Tom Tromey  <tom@tromey.com>
2482
2483         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
2484         command_line_input.
2485
2486 2018-08-15  Tom Tromey  <tom@tromey.com>
2487
2488         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
2489
2490 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
2491
2492         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
2493         If used, use find_pc_partial_function to find address range
2494         to disassemble.
2495         * mi/mi-main.c (mi_cmd_list_features): Report
2496         "data-disassemble-a-option" feature.
2497         * NEWS: Mention new -data-disassemble option -a.
2498
2499 2018-08-13  Tom Tromey  <tom@tromey.com>
2500
2501         * common/common-defs.h (_FORTIFY_SOURCE): Define.
2502
2503 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2504
2505         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
2506         (aarch64_linux_collect_sve_regset): Likewise.
2507         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
2508         * regcache.h (regcache_map_entry_size): New function.
2509
2510 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2511
2512         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
2513         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
2514         (SVE_HEADER_VL_LENGTH): Likewise.
2515         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
2516         (SVE_HEADER_FLAGS_LENGTH): Likewise.
2517         (SVE_HEADER_RESERVED_LENGTH): Likewise.
2518         (SVE_HEADER_SIZE_OFFSET): Likewise.
2519         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
2520         (SVE_HEADER_VL_OFFSET): Likewise.
2521         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
2522         (SVE_HEADER_FLAGS_OFFSET): Likewise.
2523         (SVE_HEADER_RESERVED_OFFSET): Likewise.
2524         (SVE_HEADER_SIZE): Likewise.
2525         (aarch64_linux_core_read_vq): Add function.
2526         (aarch64_linux_core_read_description): Check for SVE section.
2527
2528 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2529
2530         * aarch64-fbsd-tdep.c
2531         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
2532         collect_size.
2533         * aarch64-linux-tdep.c
2534         (aarch64_linux_iterate_over_regset_sections): Likewise.
2535         * alpha-linux-tdep.c
2536         (alpha_linux_iterate_over_regset_sections):
2537         * alpha-nbsd-tdep.c
2538         (alphanbsd_iterate_over_regset_sections): Likewise.
2539         * amd64-fbsd-tdep.c
2540         (amd64fbsd_iterate_over_regset_sections): Likewise.
2541         * amd64-linux-tdep.c
2542         (amd64_linux_iterate_over_regset_sections): Likewise.
2543         * arm-bsd-tdep.c
2544         (armbsd_iterate_over_regset_sections): Likewise.
2545         * arm-fbsd-tdep.c
2546         (arm_fbsd_iterate_over_regset_sections): Likewise.
2547         * arm-linux-tdep.c
2548         (arm_linux_iterate_over_regset_sections): Likewise.
2549         * corelow.c (get_core_registers_cb): Likewise.
2550         (core_target::fetch_registers): Likewise.
2551         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
2552         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
2553         * gdbarch.h (void): Regenerate.
2554         * gdbarch.sh: Add supply_size and collect_size.
2555         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
2556         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
2557         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
2558         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
2559         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
2560         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
2561         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
2562         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
2563         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
2564         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
2565         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
2566         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
2567         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
2568         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
2569         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
2570         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
2571         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
2572         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
2573         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
2574         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
2575         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
2576         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
2577         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
2578         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
2579         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
2580         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
2581         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
2582         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
2583         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
2584         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2585
2586 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
2587
2588         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
2589         with string_printf.
2590
2591 2018-08-10  Keith Seitz  <keiths@redhat.com>
2592
2593         * compile/compile-c-support.c (add_code_header, add_code_footer):
2594         Move into policy class.
2595         (c_push_user_expression, pop_user_expression_nop)
2596         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
2597         (compile_program): New host class.
2598         (c_compile_program): New typedef.
2599         (c_compute_porgram): Use c_compile_program.
2600
2601 2018-08-10  Keith Seitz  <keiths@redhat.com>
2602
2603         * compile/compile-internal.h (compile_instance::~compile_instance):
2604         Remove calls to htab_delete.
2605         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
2606         * compile.c (compile_instance::compile_instance): Initialize
2607         htab unique pointers.
2608         (compile_instance::get_cached_type, compile_instance::insert_type)
2609         (compile_instance::error_symbol_once): Update for unique_ptr.
2610
2611 2018-08-10  Keith Seitz  <keiths@redhat.com>
2612
2613         * compile/compile-c-symbols.c (struct symbol_error)
2614         (hash_symbol_error, eq_symbol_error, del_symbol_error)
2615         (compile_instance::insert_symbol_error)
2616         (compile_instance::error_symbol_once): Move to ...
2617         * compile/compile.c: ... here.
2618
2619 2018-08-10  Keith Seitz  <keiths@redhat.com>
2620
2621         * compile/compile-c-support.c (c_get_compile_context): Use `new'
2622         instead of `new_compile_instance'.
2623         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
2624         Update description.
2625         If the symbol error map is not initialized, create it.
2626         (generate_c_for_for_one_symbol): Do not check/initialize
2627         the symbol error map.
2628         * compile/compile-c-types.c (compile_c_instance): Make a class.
2629         Update all callers.
2630         (compile_instance::compile_instance): Initialize the type cache.
2631         (get_cached_type): New function.
2632         (insert_type): Update description.
2633         (compile_c_instance::m_default_cflags): Define.
2634         (convert_type): Update description.  Use get_cached_type.
2635         (delete_instance): Moved to destructor.
2636         (new_compile_instance): Moved to constructor.
2637         * compile/compile-c.h (compile_c_instance): Make class inheriting
2638         from compile_instance.
2639         <base>: Remove field.
2640         <type_map, symbol_err_map>: Move to base class.
2641         <c_plugin>: Rename to `m_plugin' and remove pointer type.
2642         * compile/compile-internal.h (compile_instance): Make class.
2643         <type_map_t, symbol_err_map_t>: Define.
2644         <fe>: Rename to `m_gcc_fe'.
2645         <scope, block, gcc_target_options>: Add `m_' prefix.
2646         <m_type_map, m_symbol_err_map>: New fields, moved from
2647         compile_c_instance.
2648         <destroy>: Remove.
2649         (convert_type, new_compile_instance): Remove.
2650         * compile/compile.c (cleanup_compile_instance): Remove.
2651         (compile_to_object): Use unique_ptr to eliminate cleanups.
2652         (compile_instance::set_print_callback, compile_instance::version)
2653         (compile_instance::set_verbose)
2654         (compile_instance::set_driver_filename)
2655         (compile_instance::set_triplet_regexp)
2656         (compile_instance::set_arguments)
2657         (compile_instance::set_source_file)
2658         (compile_instance::compile): Define.
2659
2660 2018-08-10  Keith Seitz  <keiths@redhat.com>
2661
2662         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
2663         * compile/compile-c-types.c: Define GCC_METHODN macros and include
2664         gcc-c-fe.def to define C plugin.
2665         (delete_instance): Delete `c_plugin'.
2666         (new_compile_instance): Initialize `c_plugin'.
2667         * compile/compile-c.h: Include gcc_c_plugin.h.
2668         (struct compile_c_instance) <c_plugin>: New member.
2669         * gcc-c-plugin.h: New file.
2670         Update all callers with API change.
2671
2672 2018-08-10  Keith Seitz  <keiths@redhat.com>
2673
2674         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
2675         (HFILES_NO_SRCDIR): ... to here.
2676         Add compile-internal.h and compile-c.h.
2677         * compile/compile-c-support.c: Include compile-c.h.
2678         * compile/compile-c-symbols.c: Include compile-c.h.
2679         (generate_c_for_variable_locations): Update comment.
2680         * compile/compile-c-types.c: Include compile-c.h.
2681         * compile/compile-c.h: New file -- moved C language declarations
2682         from other files here.
2683         * compile/compile-internal.h: Do not include hashtab.h or
2684         common/enum-flags.h.
2685         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
2686         (gcc_convert_symbol, gcc_symbol_address)
2687         (generate_c_for_variable_locations, c_get_mode_for_size)
2688         (c_get_range_decl_name): Definitions moved to compile-c.h.
2689         * compile/compile-loc2c.c: Include compile-c.h.
2690
2691 2018-08-10  Keith Seitz  <keiths@redhat.com>
2692
2693         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
2694         (c_symbol_substitution_name): ... this.
2695         Update all callers.
2696
2697 2018-08-10  Keith Seitz  <keiths@redhat.com>
2698
2699         * compile/compile-c-support.c (c_compute_program): Use
2700         unique_xmalloc_ptr to eliminate cleanup.
2701         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
2702         Return a unique_xmalloc_ptr and eliminate cleanup.
2703         * compile/compile-internal.h (generate_c_for_variable_locations):
2704         Return unique_xmalloc_ptr and update description.
2705
2706 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
2707
2708         * corelow.c (core_target::get_core_register_section): Rename
2709         min_size to section_min_size.
2710
2711 2018-08-09  Jim Wilson  <jimw@sifive.com>
2712
2713         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
2714         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
2715         * NEWS: Mention new GNU/Linux RISC-V target.
2716         * configure.host: Add riscv*-*-linux*.
2717         * configure.nat: Add riscv*.
2718         * configure.tgt: Add riscv*-*-linux*.
2719         * riscv-linux-nat.c: New file.
2720         * riscv-linux-tdep.c: New file.
2721
2722 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2723
2724         * infrun.c (resume): Make static, add forward declaration.
2725         (proceed): Update header comment.
2726         * infrun.h (resume): Delete declaration.
2727
2728 2018-08-09  Tom Tromey  <tom@tromey.com>
2729
2730         * riscv-tdep.h: Minor formatting fixes.
2731
2732 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
2733
2734         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
2735         * dwarf-index-cache.c (create_dir_and_check): Likewise.
2736         (test_mkdir_recursive): Likewise.
2737         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
2738
2739 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2740
2741         * valarith.c (value_subscripted_rvalue): If an array is not in
2742         memory, and we don't know the upper bound, then we can't know that
2743         the requested element exists or not.
2744
2745 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
2746
2747         * target.c (str_comma_list_concat_elem): Fix typo in comment.
2748         (target_options_to_string): Add comment.
2749
2750 2018-08-08  Tom Tromey  <tom@tromey.com>
2751
2752         * unittests/scoped_mmap-selftests.c: Check result of "write".
2753
2754 2018-08-08  Jim Wilson  <jimw@sifive.com>
2755
2756         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
2757         (decode_register_index_short): New.
2758         (decode_j_type_insn, decode_cj_type_insn): New.
2759         (decode_b_type_insn, decode_cb_type_insn): New.
2760         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
2761         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
2762         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
2763         is_c_sw_insn instead of is_sw_insn.
2764         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
2765         (riscv_software_single_step): New.
2766         * riscv-tdep.h (riscv_software_single_step): Declare.
2767
2768         * riscv-tdep.c (riscv_isa_xlen): Drop static.
2769         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
2770
2771 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
2772
2773         PR gdb/18050:
2774         * target.c (dispose_inferior): Don't dispose of inferiors that are
2775         already killed.
2776
2777 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2778
2779         * remote.c (remote_target::download_tracepoint): Change char* to
2780         const char*.
2781
2782 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
2783
2784         * target.h (target_options_to_string): Return an std::string.
2785         * target.c (str_comma_list_concat_elem): Return void, use
2786         std::string.
2787         (do_option): Likewise.
2788         (target_options_to_string): Return an std::string.
2789         * linux-nat.c (linux_nat_target::wait): Adjust.
2790         * target-debug.h (target_debug_print_options): Adjust.
2791
2792 2018-08-07  Tom Tromey  <tom@tromey.com>
2793
2794         * Makefile.in (CPPFLAGS): New variable.
2795         (INTERNAL_CPPFLAGS): Use it.
2796
2797 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2798
2799         * NEWS: Mention the index cache.
2800
2801 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2802
2803         * common/pathstuff.h (get_standard_cache_dir): New.
2804         * common/pathstuff.c (get_standard_cache_dir): New.
2805         * build-id.h (build_id_to_string): New.
2806         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
2807         DEBUG_STR_SUFFIX): Move to here.
2808         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
2809         DEBUG_STR_SUFFIX): Move from there.
2810         (write_psymtabs_to_index): Make non-static, add basename
2811         parameter.  Write to temporary files, rename when done.
2812         (save_gdb_index_command): Adjust call to
2813         write_psymtabs_to_index.
2814         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
2815         field.
2816         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
2817         (get_gdb_index_contents_from_cache): New.
2818         (get_gdb_index_contents_from_cache_dwz): New.
2819         (dwarf2_initialize_objfile): Read index from cache.
2820         (dwarf2_build_psymtabs): Save to index.
2821         * dwarf-index-cache.h: New file.
2822         * dwarf-index-cache.c: New file.
2823         * dwarf-index-write.h: New file.
2824
2825 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2826
2827         * gnulib/aclocal.m4: Re-generate.
2828         * gnulib/config.in: Re-generate.
2829         * gnulib/configure: Re-generate.
2830         * gnulib/import/Makefile.am: Re-generate.
2831         * gnulib/import/Makefile.in: Re-generate.
2832         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
2833         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2834         * gnulib/import/m4/mkdir.m4: New file.
2835         * gnulib/import/mkdir.c: New file.
2836         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
2837         module.
2838
2839 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2840
2841         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
2842         * common/scoped_mmap.c: New file.
2843         * common/scoped_mmap.h (destroy): New method.
2844         (~scoped_mmap, reset): Use destroy.
2845         (scoped_mmap): New move constructor.
2846         (mmap_file): New declaration.
2847         * unittests/scoped_mmap-selftests.c (test_normal,
2848         test_invalid_filename, run_tests): New functions.
2849         (_initialize_scoped_mmap_selftests): Register selftest.
2850
2851 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2852
2853         * dwarf2read.c (read_gdb_index_from_section): Rename to...
2854         (read_gdb_index_from_buffer): ... this.  Remove section
2855         parameter, add buffer parameter.
2856         (get_gdb_index_contents_ftype,
2857         get_gdb_index_contents_dwz_ftype): New typedefs.
2858         (dwarf2_read_gdb_index): Add callback parameters to get the
2859         index contents.
2860         (get_gdb_index_contents_from_section): New.
2861         (dwarf2_initialize_objfile): Update call to
2862         dwarf2_read_gdb_index.
2863
2864 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2865
2866         * common/filestuff.h (gdb_fopen_cloexec): New overload.
2867         (gdb_open_cloexec): Likewise.
2868         * nat/linux-osdata.c (command_from_pid): Use string_printf.
2869         (commandline_from_pid): Likewise.
2870         (linux_xfer_osdata_threads): Likewise.
2871         (linux_xfer_osdata_fds): Likewise.
2872         * ada-lang.c (is_package_name): Likewise.
2873         * auxv.c (procfs_xfer_auxv): Likewise.
2874         * breakpoint.c (print_one_breakpoint_location): Use
2875         uiout::field_fmt.
2876         (print_one_catch_solib): Use string_printf.
2877         * coff-pe-read.c (add_pe_exported_sym): Likewise.
2878         (add_pe_forwarded_sym): Likewise.
2879         * dwarf2read.c (create_type_unit_group): Likewise.
2880         (build_error_marker_type): Likewise.
2881         * infcall.c (get_function_name): Likewise.
2882         * valprint.c (print_converted_chars_to_obstack): Likewise.
2883         * xtensa-tdep.c (xtensa_register_type): Likewise.
2884
2885 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
2886
2887         * remote.c (remote_target::download_tracepoint): Fix format
2888         string errors.
2889
2890 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2891
2892         * tracefile.c: Include common/byte-vector.h.
2893         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
2894         with trace_regblock_size if needed.  Update uses of buf.
2895
2896 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2897
2898         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
2899         std::vector<unsigned char>.
2900         * tracepoint.c (collection_list::collection_list): Remove
2901         m_regs_mask initializer from initializer list.  Resize
2902         m_regs_mask using the largest remote register number.
2903         (collection_list::add_remote_register): Remove size check on
2904         m_regs_mask.  Use at to access element.
2905         (collection_list::stringify): Change type of temp_buf to
2906         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
2907         stringify the register mask.  Use pack_hex_byte for the register
2908         mask.
2909
2910 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2911
2912         * tracepoint.h (class collection_list) <add_register>: Remove.
2913         <add_remote_register, add_ax_registers, add_local_register>:
2914         Declare.
2915         <add_memrange>: Add scope parameter.
2916         * tracepoint.c (encode_actions_1): Likewise.
2917         (collection_list::add_register): Rename to ...
2918         (collection_list::add_remote_register): ... this.  Update
2919         comment.
2920         (collection_list::add_ax_registers, add_local_register): New
2921         methods.
2922         (collection_list::add_memrange): Add scope parameter.  Call
2923         add_local_register instead of add_register.
2924         (finalize_tracepoint_aexpr): New function.
2925         (collection_list::collect_symbol): Update calls to add_memrange.
2926         Call add_local_register instead of add_register.  Call
2927         add_ax_registers.  Call finalize_tracepoint_aexpr.
2928         (encode_actions_1): Get remote regnos for $reg action.  Call
2929         add_remote_register, add_ax_registers, and add_local_register.
2930         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
2931         (validate_actionline): Call finalize_tracepoint_aexpr.
2932
2933 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2934
2935         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
2936         Replace array buf with gdb::char_vector buf, of size
2937         get_remote_packet_size ().  Replace references to buf and
2938         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
2939         and xsnprintf with snprintf.  Raise errors if the buffer is too
2940         small.
2941
2942 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2943
2944         * remote.c (remote_target::download_tracepoint): Fix the has_more
2945         predicate in the QTDP action list iteration.
2946
2947 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2948
2949         * remote.c (remote_target::download_tracepoint): Fix indentation
2950         in for block.
2951
2952 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2953
2954         * proc-api.c (_initialize_proc_api): Remove c, unused.
2955         * procfs.c (procfs_init_inferior): Remove signals, unused.
2956         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
2957         unused.
2958
2959 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2960             Andrew Burgess  <andrew.burgess@embecosm.com>
2961
2962         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
2963         'W_STOPCODE (0)' as this could be ambiguous.
2964
2965 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2966
2967         * ser-tcp.c (net_open): Fix thinko when deciding whether to
2968         disable TCP's Nagle algorithm (use "ai_protocol" instead of
2969         "ai_socktype").
2970
2971 2018-08-02  Tom Tromey  <tom@tromey.com>
2972
2973         PR symtab/16842.
2974         * dwarf2read.c (read_func_scope): Set symtab on template parameter
2975         symbols.
2976         (process_structure_scope): Likewise.
2977
2978 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2979
2980         PR gdb/22629:
2981         * darwin-nat.c (darwin_kill_inferior): Fix handling of
2982         kill inferior.
2983
2984 2018-08-02  Tom Tromey  <tom@tromey.com>
2985
2986         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
2987         (darwin_suspend_inferior, darwin_resume_inferior)
2988         (darwin_decode_notify_message, darwin_resume_inferior_threads)
2989         (darwin_check_new_threads): Check result of get_darwin_inferior.
2990
2991 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
2992
2993         GDB 8.1.1 released.
2994
2995 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
2996
2997         * varobj.c (varobj_get_path_expr_parent): Report an error if
2998         parent is a dynamic varobj.
2999
3000 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3001
3002         * gnulib/aclocal.m4: Re-generate.
3003         * gnulib/config.in: Re-generate.
3004         * gnulib/configure: Re-generate.
3005         * gnulib/import/Makefile.in: Re-generate.
3006         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3007         * gnulib/import/m4/onceonly.m4: Re-generate.
3008
3009 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3010
3011         * target-descriptions.c (struct xml_test_tdesc): New.
3012         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
3013         (record_xml_tdesc): Update.
3014         (maintenance_check_xml_descriptions): Update.
3015         * target-descriptions.h (record_xml_tdesc): Update comment.
3016
3017 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
3018
3019         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
3020         checking array bounds are defined.
3021
3022 2018-07-30  Tom Tromey  <tom@tromey.com>
3023
3024         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
3025         irreflexivity violation.
3026
3027 2018-07-30  Tom Tromey  <tom@tromey.com>
3028
3029         * cli/cli-decode.c (lookup_cmd): Remove lint code.
3030         * value.c (unpack_long): Remove lint code.
3031         * valops.c (value_ind): Remove lint code.
3032         * valarith.c (value_x_binop, value_x_unop, value_equal)
3033         (value_pos): Remove lint code.
3034
3035 2018-07-28  Tom de Vries  <tdevries@suse.de>
3036
3037         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
3038         with undefined upper bound as <optimized out>.
3039
3040 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
3041
3042         * gcore.in: Rename variable "name" to "prefix".  Expand
3043         "usage" text.
3044
3045 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
3046
3047         * windows-nat.c (windows_nat_target::create_inferior): Update to
3048         call close() in global namespace.
3049
3050 2018-07-26  Tom Tromey  <tom@tromey.com>
3051
3052         * dwarf-index-write.c (add_address_entry): Don't add objfile
3053         offsets.
3054         * dbxread.c (find_stab_function): Rename from
3055         find_stab_function_addr.  Return a bound_minimal_symbol.
3056         (read_dbx_symtab): Use raw_text_low, raw_text_high.
3057         Don't add objfile offsets.
3058         (end_psymtab): Use raw_text_low, raw_text_high,
3059         MSYMBOL_VALUE_RAW_ADDRESS.
3060         (read_ofile_symtab): Update.
3061         (process_one_symbol): Update.
3062         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
3063         offsets.
3064         (dw2_relocate): Remove.
3065         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
3066         searching addrmap.
3067         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
3068         Update.
3069         (process_psymtab_comp_unit_reader, add_partial_symbol)
3070         (add_partial_subprogram, dwarf2_ranges_read): Update.
3071         (load_partial_dies): Update.
3072         (add_address_entry): Don't add objfile offsets.
3073         (dwarf2_build_include_psymtabs): Update.
3074         (create_addrmap_from_aranges): Don't add objfile offsets.
3075         (dw2_find_pc_sect_compunit_symtab): Update.
3076         * mdebugread.c (parse_symbol): Don't add objfile offsets.
3077         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
3078         Update.
3079         (parse_partial_symbols): Don't add objfile offsets.  Use
3080         raw_text_low, raw_text_high.  Update.
3081         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
3082         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
3083         or call 'relocate' quick function.  Clear psymbol_map.
3084         * psympriv.h (struct partial_symbol) <address>: Add section
3085         offset.
3086         <set_unrelocated_address>: Rename from set_address.
3087         <raw_text_low, raw_text_high>: New methods.
3088         <text_low, text_high>: Add objfile parameter.
3089         (add_psymbol_to_bcache): Add 'section' parameter.  Call
3090         set_unrelocated_address.
3091         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3092         (find_pc_psymbol): Update.
3093         (fixup_psymbol_section, relocate_psymtabs): Remove.
3094         (dump_psymtab, psym_functions): Update.
3095         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
3096         parameter.
3097         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
3098         (start_psymtab_common): Update.
3099         * symfile-debug.c (debug_qf_relocate): Remove.
3100         (debug_sym_quick_functions): Update.
3101         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
3102         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
3103         Update.
3104
3105 2018-07-26  Tom Tromey  <tromey@redhat.com>
3106
3107         * dbxread.c (end_psymtab): Use text_high_valid and
3108         text_low_valid.
3109         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
3110         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
3111         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3112         Update comment.
3113         <text_low_valid, text_high_valid>: New fields.
3114         <set_text_low, set_text_high>: Update.
3115         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
3116
3117 2018-07-26  Tom Tromey  <tom@tromey.com>
3118
3119         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
3120         Update.
3121         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
3122         textlow and texthigh fields.
3123         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
3124         Update.
3125         * mdebugread.c (parse_lines, parse_partial_symbols)
3126         (psymtab_to_symtab_1): Update.
3127         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3128         Rename fields.  Update comment.  Now private.
3129         <text_low, text_high, set_text_low, set_text_high>: New methods.
3130         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3131         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
3132         (start_psymtab_common, maintenance_info_psymtabs)
3133         (maintenance_check_psymtabs): Update.
3134         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
3135         texthigh fields.
3136         (scan_xcoff_symtab): Update.
3137
3138 2018-07-26  Tom Tromey  <tromey@redhat.com>
3139
3140         * psympriv.h (struct partial_symbol) <unrelocated_address,
3141         address, set_address>: New methods.
3142         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
3143         (fixup_psymbol_section, relocate_psymtabs): Update.
3144         (print_partial_symbols): Add 'objfile' parameter.  Update.
3145         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
3146         Update.
3147
3148 2018-07-26  Tom Tromey  <tom@tromey.com>
3149
3150         * dwarf-index-write.c (write_psymbols, debug_names::insert)
3151         (debug_names::write_psymbols): Update.
3152         * psympriv.h (struct partial_symbol): Derive from
3153         general_symbol_info.
3154         <obj_section>: New method.
3155         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
3156         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3157         (find_pc_sect_psymbol, fixup_psymbol_section)
3158         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
3159         (print_partial_symbols, recursively_search_psymtabs)
3160         (compare_psymbols, psymbol_hash, psymbol_compare)
3161         (add_psymbol_to_bcache, maintenance_check_psymtabs)
3162         (psymbol_name_matches, psym_fill_psymbol_map): Update.
3163
3164 2018-07-26  Tom Tromey  <tromey@redhat.com>
3165
3166         * dbxread.c (end_psymtab): Remove dead code.
3167
3168 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
3169
3170         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
3171         DWARF unwinders are disabled.
3172         * dwarf2-frame.c: Add dwarf2read.h include.
3173         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
3174         disabled.
3175         (dwarf2_frame_unwinders_enabled_p): Define.
3176         (show_dwarf_unwinders_enabled_p): New function.
3177         (_initialize_dwarf2_frame): Register switch to control DWARF
3178         unwinder use.
3179         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
3180         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
3181         (show_dwarf_cmdlist): Remove static keyword.
3182         * dwarf2read.h (set_dwarf_cmdlist): Declare.
3183         (show_dwarf_cmdlist): Declare.
3184         * NEWS: Document new feature.
3185
3186 2018-07-26  Tom de Vries  <tdevries@suse.de>
3187
3188         PR breakpoints/23366
3189         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
3190
3191 2018-07-26  Tom de Vries  <tdevries@suse.de>
3192
3193         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
3194         DW_AT_count can't be translated to a dynamic prop.
3195
3196 2018-07-25  Tom de Vries  <tdevries@suse.de>
3197
3198         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
3199         try/catch.
3200
3201 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
3202
3203         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
3204
3205 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
3206
3207         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
3208
3209 2018-07-24  Keith Seitz  <keiths@redhat.comt
3210
3211         PR symtab/23010
3212         * dwarf2read.c (dw2_add_symbol_to_list): New function.
3213         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
3214         instead of add_symbol_to_list.
3215         (read_file_scope): Call prepare_one_comp_unit before reading
3216         any other DIEs.
3217
3218 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
3219
3220         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
3221
3222 2018-07-24  Tom Tromey  <tom@tromey.com>
3223
3224         * utils.c (malloc, realloc, free): Don't declare.
3225         * configure, config.in: Rebuild.
3226         * configure.ac: Don't check for declarations of free, malloc, or
3227         realloc.
3228
3229 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3230
3231         * aarch64-linux-nat.c
3232         (aarch64_linux_nat_target::stopped_data_address): Remove unused
3233         variable.
3234         * arm-linux-nat.c (fetch_regs): Likewise.
3235         (store_regs): Likewise.
3236         (fetch_vfp_regs): Likewise.
3237         (store_vfp_regs): Likewise.
3238         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
3239         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
3240         (arm_linux_nat_target::insert_watchpoint): Likewise.
3241         (arm_linux_nat_target::remove_watchpoint): Likewise.
3242         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
3243         Likewise.
3244         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
3245         Likewise.
3246         * ppc-linux-nat.c (fetch_register): Likewise.
3247         (fetch_all_gp_regs): Likewise.
3248         (fetch_ppc_registers): Likewise.
3249         (store_all_gp_regs): Likewise.
3250         (store_ppc_registers): Likewise.
3251         (hwdebug_insert_point): Likewise.
3252         (can_use_watchpoint_cond_accel): Likewise.
3253         * remote-sim.c (gdb_os_write_stdout): Likewise.
3254
3255 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3256             Tom Tromey  <tom@tromey.com>
3257
3258         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
3259         test for it.
3260         * configure: Rebuild.
3261
3262 2018-07-22  Tom Tromey  <tom@tromey.com>
3263
3264         * regformats/regdat.sh: Define xmltarget_${name} inside
3265         #ifndef IN_PROCESS_AGENT.
3266
3267 2018-07-22  Tom Tromey  <tom@tromey.com>
3268
3269         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
3270
3271 2018-07-22  Tom Tromey  <tom@tromey.com>
3272
3273         * symfile.c (reread_symbols): Notify iter, not objfile.
3274
3275 2018-07-22  Tom Tromey  <tom@tromey.com>
3276
3277         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
3278         Use arch_ops.
3279         (ravenscar_thread_target::prepare_to_store): Likewise.
3280
3281 2018-07-22  Tom Tromey  <tom@tromey.com>
3282
3283         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
3284         unused variable.  Call value_fetch_lazy when needed.
3285         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
3286         Remove unused variable.  Call value_fetch_lazy when needed.
3287
3288 2018-07-22  Tom Tromey  <tom@tromey.com>
3289
3290         * m32c-tdep.c (mark_dma): Return void.
3291         (make_regs): Remove unused declarations.
3292
3293 2018-07-22  Tom Tromey  <tom@tromey.com>
3294
3295         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
3296         cmdscm_get_valid_command_smob_arg_unsafe for effect.
3297         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
3298         bkscm_get_valid_block_smob_arg_unsafe for effect.
3299
3300 2018-07-22  Tom Tromey  <tom@tromey.com>
3301
3302         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
3303         value_type.
3304
3305 2018-07-22  Tom Tromey  <tom@tromey.com>
3306
3307         * windows-nat.c (saved_context): Conditionally define.
3308         * remote.c (remote_target::remote_btrace_maybe_reopen):
3309         Conditionally declare "warned".
3310         * inflow.c (sigquit_ours): Conditionally define.
3311         (new_tty): Move "tty" declaration inside #if.
3312         * guile/guile.c (guile_datadir): Conditionally define.
3313         * charset.c (set_be_le_names): Move some declarations inside #if.
3314         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
3315         #if.
3316         (parse_xml_btrace_conf): Likewise.
3317
3318 2018-07-22  Tom Tromey  <tom@tromey.com>
3319
3320         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
3321
3322 2018-07-22  Tom Tromey  <tom@tromey.com>
3323
3324         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
3325         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
3326         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
3327         * buildsym-legacy.c (get_macro_table): Remove unused variable.
3328         * stack.c (frame_apply_level_command): Remove unused variable.
3329         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
3330         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
3331         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
3332         unused variable.
3333         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
3334         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
3335         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
3336         variable.
3337         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
3338         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
3339         variable.
3340         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
3341         Remove unused variable.
3342         * cli/cli-script.c (recurse_read_control_structure): Remove unused
3343         variable.
3344         * common/tdesc.c (print_xml_feature::visit): Remove unused
3345         variable.
3346         * compile/compile-object-load.c (store_regs): Remove unused
3347         variables.
3348         * complaints.c (clear_complaints): Remove unused variable.
3349         * corelow.c (core_target_open): Remove unused variable.
3350         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
3351         variable.
3352         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
3353         variable.
3354         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
3355         variable.
3356         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
3357         variable.
3358         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
3359         variable.
3360         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
3361         variable.
3362         * ia64-tdep.c (examine_prologue): Remove unused variable.
3363         * infcall.c (run_inferior_call): Remove unused variable.
3364         * inferior.c (exit_inferior): Remove unused variable.
3365         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
3366         * linespec.c (decode_line_2): Remove unused variable.
3367         * linux-nat.c (super_close): Remove.
3368         * linux-tdep.c (linux_info_proc): Remove unused variable.
3369         * mi/mi-main.c (mi_execute_command): Remove unused variable.
3370         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
3371         Remove unused variable.
3372         * parse.c (find_minsym_type_and_address): Remove unused variable.
3373         * printcmd.c (info_symbol_command, printf_floating): Remove unused
3374         variable.
3375         * python/py-breakpoint.c (bppy_set_commands): Remove unused
3376         variable.
3377         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
3378         variables.
3379         * record-btrace.c (record_btrace_target::store_registers): Remove
3380         unused variable.
3381         (cmd_show_record_btrace_cpu): Remove unused variable.
3382         * riscv-tdep.c (riscv_register_reggroup_p)
3383         (riscv_push_dummy_call, riscv_return_value): Remove unused
3384         variable.
3385         * rust-exp.y (literal): Remove unused variable.
3386         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
3387         unused variable.
3388         <STRUCTOP_ANONYMOUS>: Likewise.
3389         * s390-linux-tdep.c (s390_linux_init_abi_31)
3390         (s390_linux_init_abi_64): Remove unused variable.
3391         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
3392         (file_select_thread, net_windows_open, _initialize_ser_windows):
3393         Remove unused variables.
3394         * symtab.c (find_pc_sect_line): Remove unused variable.
3395         * target-memory.c (compute_garbled_blocks): Remove unused
3396         variable.
3397         (target_write_memory_blocks): Remove unused variable.
3398         * target.c (target_stack::unpush): Remove unused variables.
3399         * tracepoint.c (start_tracing, all_tracepoint_actions)
3400         (merge_uploaded_trace_state_variables)
3401         (print_one_static_tracepoint_marker): Remove unused variable.
3402         * unittests/basic_string_view/element_access/char/1.cc (test01):
3403         Remove unused variable.
3404         * windows-nat.c (windows_continue, windows_add_all_dlls)
3405         (do_initial_windows_stuff, windows_nat_target::create_inferior):
3406         Remove unused variables.
3407
3408 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
3409
3410         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
3411         attr_profile in HAVE_ELF.
3412         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
3413         HAVE_ELF.
3414
3415 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
3416
3417         * frame.c (frame_register_unwind): Change parameter name.
3418         (frame_unwind_register): Likewise.
3419         (frame_unwind_register_value): Likewise.
3420         (frame_unwind_register_signed): Likewise.
3421         (frame_unwind_register_unsigned): Likewise.
3422         * frame.h (frame_register_unwind): Likewise.
3423         (frame_unwind_register): Likewise.
3424         (frame_unwind_register_value): Likewise.
3425         (frame_unwind_register_signed): Likewise.
3426         (frame_unwind_register_unsigned): Likewise.
3427         (frame_unwind_arch): Likewise.
3428
3429 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3430
3431         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
3432         ISA maintenance.
3433
3434 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3435
3436         * mips-linux-nat.c (mips_linux_nat_target::read_description):
3437         Call `get_ptrace_pid' rather than extracting the ptrace PID by
3438         hand.
3439
3440 2018-07-20  Keith Seitz  <keiths@redhat.com>
3441
3442         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
3443         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
3444         m_compunit_symtab, m_language>: Add "m_" prefix.
3445         Update all uses.
3446         * buildsym.c: Update all uses.
3447
3448 2018-07-20  Tom Tromey  <tom@tromey.com>
3449
3450         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
3451         * buildsym.h (record_line_ftype): Remove typedef.
3452
3453 2018-07-20  Tom Tromey  <tom@tromey.com>
3454
3455         * buildsym-legacy.h (augment_type_symtab): Don't declare.
3456         (end_expandable_symtab): Likewise.
3457         (end_symtab_get_static_block): Likewise.
3458         (end_symtab_from_static_block): Likewise.
3459         * buildsym-legacy.c (augment_type_symtab): Remove.
3460         (end_expandable_symtab): Remove.
3461         (end_symtab_get_static_block): Remove.
3462         (end_symtab_from_static_block): Remove.
3463
3464 2018-07-20  Tom Tromey  <tom@tromey.com>
3465
3466         * dwarf2read.c: Include buildsym.h.
3467         (struct dwarf2_cu) <builder>: New method.
3468         (fixup_go_packaging): Update.
3469         (process_full_comp_unit, process_full_type_unit): Update.  Don't
3470         use scoped_free_pendings.
3471         (using_directives): Add "cu" parameter, remove "language".
3472         (read_import_statement, setup_type_unit_groups, )
3473         (read_func_scope, read_lexical_block_scope)
3474         (dwarf2_record_block_ranges, read_namespace): Update.
3475         (lnp_state_machine::lnp_state_machine): Add cu parameter.
3476         (lnp_state_machine::handle_end_sequence): Update.
3477         (class lnp_state_machine) <m_cu>: New member.
3478         <m_record_line_callback>: Remove.
3479         <m_currently_recording_lines>: New member.
3480         (lnp_state_machine::handle_set_file): Update.
3481         (noop_record_line): Remove.
3482         (dwarf_record_line_p): Add cu parameter.
3483         (dwarf_record_line_1, dwarf_finish_line): Likewise.
3484         (lnp_state_machine::record_line)
3485         (lnp_state_machine::lnp_state_machine)
3486         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3487         (dwarf_decode_lines): Update.
3488         (dwarf2_start_subfile): Add cu parameter.
3489         (dwarf2_start_symtab, new_symbol): Update.
3490         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
3491         Remove dwarf2_per_objfile parameter.
3492         (dwarf_decode_macros): Update.
3493
3494 2018-07-20  Tom Tromey  <tom@tromey.com>
3495
3496         * stabsread.c (define_symbol): Update.
3497         * buildsym-legacy.h (get_buildsym_compunit): Declare.
3498         * dwarf2read.c (new_symbol): Update.
3499         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
3500         * cp-namespace.c: Include buildsym.h.
3501         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
3502         * buildsym-legacy.c (get_buildsym_compunit): New function.
3503
3504 2018-07-20  Tom Tromey  <tom@tromey.com>
3505
3506         * xcoffread.c: Include buildsym-legacy.h.
3507         * windows-nat.c: Include buildsym-legacy.h.
3508         * stabsread.c: Include buildsym-legacy.h.
3509         * mdebugread.c: Include buildsym-legacy.h.
3510         * buildsym-legacy.h: New file.
3511         * buildsym-legacy.c: New file, from buildsym.c.
3512         * go32-nat.c: Include buildsym-legacy.h.
3513         * dwarf2read.c: Include buildsym-legacy.h.
3514         * dbxread.c: Include buildsym-legacy.h.
3515         * cp-namespace.c: Include buildsym-legacy.h.
3516         * coffread.c: Include buildsym-legacy.h.
3517         * buildsym.h: Move some contents to buildsym-legacy.h.
3518         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
3519         buildsym-legacy.c.
3520         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
3521
3522 2018-07-20  Tom Tromey  <tom@tromey.com>
3523
3524         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
3525         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
3526         (buildsym_compunit::buildsym_compunit)
3527         (buildsym_compunit::~buildsym_compunit)
3528         (buildsym_compunit::get_macro_table): Define.
3529
3530 2018-07-20  Tom Tromey  <tom@tromey.com>
3531
3532         * buildsym.c (reset_symtab_globals): Remove.
3533         (buildsym_compunit::end_symtab_from_static_block): Update.
3534         (buildsym_compunit::augment_type_symtab): Update.
3535         (end_symtab_from_static_block): Call free_buildsym_compunit.
3536         (augment_type_symtab, end_symtab, end_expandable_symtab):
3537         Likewise.
3538
3539 2018-07-20  Tom Tromey  <tom@tromey.com>
3540
3541         * arch-utils.c: Do not include buildsym.h.
3542         * mipsread.c: Do not include buildsym.h.
3543         * machoread.c: Do not include buildsym.h.
3544         * elfread.c: Do not include buildsym.h.
3545
3546 2018-07-20  Tom Tromey  <tom@tromey.com>
3547
3548         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
3549         initialization.
3550         (buildsym_compunit): Add new constructor.
3551         (struct buildsym_compunit) <get_last_source_file, finish_block,
3552         record_block_range, start_subfile, patch_subfile_names,
3553         push_subfile, pop_subfile, record_line, get_compunit_symtab,
3554         set_last_source_start_addr, get_last_source_start_addr,
3555         get_local_using_directives, set_local_using_directives,
3556         get_global_using_directives, outermost_context_p,
3557         get_current_context_stack, get_context_stack_depth,
3558         get_current_subfile, get_local_symbols, get_file_symbols,
3559         get_global_symbols, record_debugformat, record_producer,
3560         push_context, pop_context, end_symtab_get_static_block,
3561         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
3562         New public methods.
3563         <record_pending_block, finish_block_internal, make_blockvector,
3564         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
3565         private methods.
3566         Update all users.
3567
3568 2018-05-22  Tom Tromey  <tom@tromey.com>
3569
3570         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3571         parameter.
3572         (finish_block_internal): Update.
3573
3574 2018-07-20  Tom Tromey  <tom@tromey.com>
3575
3576         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3577         parameter.
3578         (finish_block_internal): Update.
3579
3580 2018-07-20  Tom Tromey  <tom@tromey.com>
3581
3582         * buildsym.h (EXTERN): Don't define or undef.
3583         * buildsym.c (EXTERN): Don't define.
3584
3585 2018-07-20  Tom Tromey  <tom@tromey.com>
3586
3587         * buildsym.c: Remove TODO comment.
3588
3589 2018-07-20  Tom Tromey  <tom@tromey.com>
3590
3591         * coffread.c (coff_symtab_read): Update.
3592         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
3593         (xcoff_new_init): Update.
3594         * mipsread.c (mipscoff_new_init): Update.
3595         * mdebugread.c (mdebug_build_psymtabs): Update.
3596         * elfread.c (elf_new_init): Update.
3597         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3598         Update.
3599         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
3600         (coffstab_build_psymtabs, elfstab_build_psymtabs)
3601         (stabsect_build_psymtabs): Update.
3602         * buildsym.h (buildsym_init): Don't declare.
3603         * buildsym.c: Update comment.
3604         (prepare_for_building): Remove.
3605         (start_symtab, restart_symtab): Update.
3606         (reset_symtab_globals): Update comment.
3607         (buildsym_init): Remove.
3608
3609 2018-07-20  Tom Tromey  <tom@tromey.com>
3610
3611         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
3612         * stabsread.c (patch_block_stabs, define_symbol, read_type)
3613         (read_enum_type, common_block_start, common_block_end)
3614         (cleanup_undefined_types_1, finish_global_stabs): Update.
3615         * mdebugread.c (psymtab_to_symtab_1): Update.
3616         * dwarf2read.c (fixup_go_packaging, read_func_scope)
3617         (read_lexical_block_scope, new_symbol): Update.
3618         * dbxread.c (process_one_symbol): Update.
3619         * coffread.c (coff_symtab_read, process_coff_symbol)
3620         (coff_read_enum_type): Update.
3621         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
3622         declare.
3623         (get_local_symbols, get_file_symbols, get_global_symbols): New
3624         functions.
3625         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
3626         m_global_symbols.
3627         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
3628         (~scoped_free_pendings): Update.
3629         (finish_block, prepare_for_building, reset_symtab_globals)
3630         (end_symtab_get_static_block, end_symtab_with_blockvector)
3631         (augment_type_symtab, push_context): Update.
3632         (get_local_symbols, get_file_symbols, get_global_symbols): New
3633         functions.
3634         (buildsym_init): Update.
3635
3636 2018-07-20  Tom Tromey  <tom@tromey.com>
3637
3638         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
3639         (process_full_type_unit): Likewise.
3640         (dwarf2_start_symtab): Set list_in_scope.
3641
3642 2018-07-20  Tom Tromey  <tom@tromey.com>
3643
3644         * dwarf2read.c (process_psymtab_comp_unit_reader)
3645         (build_type_psymtabs_reader): Do not set list_in_scope.
3646
3647 2018-07-20  Tom Tromey  <tom@tromey.com>
3648
3649         * buildsym.c (free_pendings): Remove.
3650         (add_symbol_to_list, scoped_free_pendings)
3651         (finish_block_internal, buildsym_init): Update.
3652
3653 2018-07-20  Tom Tromey  <tom@tromey.com>
3654
3655         * xcoffread.c (read_xcoff_symtab): Update.
3656         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
3657         Update.
3658         * dbxread.c (process_one_symbol): Update.
3659         * coffread.c (coff_symtab_read): Update.
3660         * buildsym.h (finish_block): Update.
3661         * buildsym.c (finish_block): Remove "listhead" argument.
3662         (end_symtab_get_static_block): Update.
3663
3664 2018-07-20  Tom Tromey  <tom@tromey.com>
3665
3666         * buildsym.h (class scoped_free_pendings): Remove constructor.
3667         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
3668         method.
3669         <m_pending_block_obstack, m_pending_blocks>: New members.
3670         (pending_block_obstack, pending_blocks): Remove.
3671         (scoped_free_pendings::scoped_free_pendings): Default.
3672         (~scoped_free_pendings): Update.
3673         (free_pending_blocks): Remove.
3674         (finish_block_internal, record_pending_block, make_blockvector)
3675         (end_symtab_get_static_block, augment_type_symtab, push_context)
3676         (buildsym_init): Update.
3677
3678 2018-07-20  Tom Tromey  <tom@tromey.com>
3679
3680         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
3681         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
3682         members.
3683         (pending_addrmap, pending_addrmap_obstack)
3684         (pending_addrmap_interesting): Remove.
3685         (scoped_free_pendings, record_block_range, make_blockvector)
3686         (prepare_for_building, reset_symtab_globals, buildsym_init):
3687         Update.
3688
3689 2018-07-20  Tom Tromey  <tom@tromey.com>
3690
3691         * xcoffread.c (process_linenos): Update.
3692         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
3693         * mdebugread.c (psymtab_to_symtab_1): Update.
3694         * dwarf2read.c (setup_type_unit_groups)
3695         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
3696         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
3697         * dbxread.c (process_one_symbol): Update.
3698         * coffread.c (coff_symtab_read, enter_linenos)
3699         (process_coff_symbol): Update.
3700         * buildsym.h (current_subfile): Don't declare.
3701         (get_current_subfile): Declare.
3702         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
3703         member.
3704         (start_subfile, free_buildsym_compunit, push_subfile)
3705         (prepare_for_building, start_symtab): Update.
3706         (get_current_subfile): New function.
3707
3708 2018-07-20  Tom Tromey  <tom@tromey.com>
3709
3710         * coffread.c (coff_symtab_read): Update.
3711         * xcoffread.c (read_xcoff_symtab): Update.
3712         * dwarf2read.c (new_symbol): Update.
3713         (read_func_scope, read_lexical_block_scope): Update.
3714         * dbxread.c (process_one_symbol): Update.
3715         * buildsym.h (context_stack, context_stack_depth): Don't declare.
3716         (outermost_context_p): Remove macro.
3717         (outermost_context_p, get_current_context_stack)
3718         (get_context_stack_depth): Declare.
3719         (pop_context): Return struct context_stack.
3720         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
3721         member.
3722         (context_stack_size): Remove.
3723         (INITIAL_CONTEXT_STACK_SIZE): Remove.
3724         (prepare_for_building, end_symtab_get_static_block)
3725         (augment_type_symtab, push_context): Update.
3726         (pop_context): Return struct context_stack.
3727         (outermost_context_p, get_current_context_stack)
3728         (get_context_stack_depth): New functions.
3729         (buildsym_init): Update.
3730
3731 2018-07-20  Tom Tromey  <tom@tromey.com>
3732
3733         * rust-exp.y: Now a pure parser.  Update all rules.
3734         (%union): Move earlier.
3735         (current_parser, work_obstack): Remove globals.
3736         (rust_parser, ~rust_parser): Update.
3737         (class rust_parser) <copy_name, concat3, crate_name, super_name,
3738         lex_character, lex_number, lex_string, lex_identifier,
3739         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
3740         convert_name, convert_params_to_expression,
3741         convert_ast_to_expression, ast_basic_type, ast_operation,
3742         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
3743         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
3744         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
3745         ast_array_type, ast_slice_type, ast_reference_type,
3746         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
3747         (rust_parse): Update.
3748         (rustyyerror, rustyylex): Add parser parameter.
3749         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
3750         (rust_lex_stringish_test, rust_lex_test_sequence)
3751         (rust_lex_test_trailing_dot, rust_lex_test_completion)
3752         (rust_lex_test_push_back, rust_lex_tests): Update.
3753
3754 2018-07-19  Pedro Alves  <palves@redhat.com>
3755
3756         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
3757         gdb::unique_xmalloc_ptr.
3758         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
3759         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
3760         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
3761         copy-initialization.
3762         * guile/scm-pretty-print.c (ppscm_print_children): Use
3763         gdb::unique_xmalloc_ptr instead of cleanups.
3764         (gdbscm_apply_val_pretty_printer): Remove cleanups.
3765         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
3766         gdb::unique_xmalloc_ptr.
3767         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3768         Adjust to use gdb::unique_xmalloc_ptr.
3769         * guile/scm-utils.c (extract_arg): Adjust.
3770         * guile/scm-value.c (gdbscm_value_field): Adjust to use
3771         gdb::unique_xmalloc_ptr instead of a cleanup.
3772
3773 2018-07-19  Tom Tromey  <tom@tromey.com>
3774
3775         * utils.c (do_value_free_to_mark)
3776         (make_cleanup_value_free_to_mark): Remove.
3777         * utils.h (make_cleanup_value_free_to_mark): Remove.
3778
3779 2018-07-19  Pedro Alves  <palves@redhat.com>
3780
3781         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
3782         forwarding reference.
3783
3784 2018-07-18  Pedro Alves  <palves@redhat.com>
3785
3786         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
3787         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
3788         cleanup.
3789
3790 2018-07-18  Pedro Alves  <palves@redhat.com>
3791
3792         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
3793         exceptions.
3794         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
3795         (gdbscm_wrap): New.
3796         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
3797         directly instead of a cleanup.
3798         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
3799         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
3800         (vlscm_binop_gdbthrow): New, factored out from ...
3801         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
3802         (vlscm_rich_compare): Use gdbscm_wrap.
3803         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
3804         instead of a cleanup.
3805         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
3806         cleanup.
3807         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3808         Use xfree directly instead of a cleanup.
3809         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
3810         Adjust to use gdbscm_wrap and scoped_value_mark.
3811         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
3812         (gdbscm_value_address, gdbscm_value_dereference)
3813         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
3814         scoped_value_mark.
3815         (gdbscm_value_dynamic_type): Use scoped_value_mark.
3816         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
3817         scoped_value_mark.
3818         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
3819         gdbscm_wrap and scoped_value_mark.
3820         (gdbscm_value_to_string): Use xfree directly instead of a
3821         cleanup.  Move 'buffer' unique_ptr to TRY scope.
3822         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
3823         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
3824         scoped_value_mark.
3825         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
3826         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
3827         scoped_value_mark.
3828         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
3829         gdbscm_wrap.
3830
3831 2018-07-18  Tom de Vries  <tdevries@suse.de>
3832
3833         * findvar.c (default_read_var_value): Also resolve dynamic type for
3834         LOC_OPTIMIZED_OUT vars.
3835
3836 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
3837
3838         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
3839         decoding.
3840
3841 2018-07-17  Tom Tromey  <tom@tromey.com>
3842
3843         * guile/scm-param.c (pascm_set_func, pascm_show_func)
3844         (compute_enum_list, pascm_set_param_value_x)
3845         (gdbscm_parameter_value): Update.
3846         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
3847         (gdbscm_scm_to_host_string): Update.
3848         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
3849         Update.
3850         * guile/scm-cmd.c (cmdscm_add_completion): Update.
3851         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
3852         * guile/scm-string.c (gdbscm_scm_to_string): Return
3853         unique_xmalloc_ptr.
3854         (gdbscm_scm_to_host_string): Likewise.
3855
3856 2018-07-17  Tom Tromey  <tom@tromey.com>
3857
3858         * guile/guile.c (gdbscm_eval_from_control_command): Update.
3859         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
3860         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
3861         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
3862         unique_xmalloc_ptr.
3863
3864 2018-07-17  Tom Tromey  <tom@tromey.com>
3865
3866         * guile/scm-param.c (pascm_signal_setshow_error): Update.
3867         * guile/guile-internal.h (gdbscm_exception_message_to_string):
3868         Update.
3869         * guile/scm-cmd.c (cmdscm_function): Update.
3870         * guile/scm-pretty-print.c
3871         (ppscm_print_exception_unless_memory_error): Update.
3872         * guile/scm-exception.c (gdbscm_exception_message_to_string):
3873         Return unique_xmalloc_ptr.
3874
3875 2018-07-17  Tom Tromey  <tom@tromey.com>
3876
3877         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
3878         Use string_printf.
3879
3880 2018-07-17  Jim Wilson  <jimw@sifive.com>
3881
3882         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
3883         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
3884         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
3885         unecessary braces after EF_RISCV_RVC test.  Delete call to
3886         set_gdbarch_decr_pc_after_break.
3887
3888         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
3889         RISCV_LAST_FP_REGNUM + 1.
3890         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
3891
3892 2018-07-17  Tom Tromey  <tom@tromey.com>
3893
3894         * configure.ac: Remove --disable-gdbcli.
3895         * configure: Rebuild.
3896         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
3897         (SUBDIR_CLI_CFLAGS): Remove.
3898         (SFILES): Use SUBDIR_CLI_SRCS.
3899         (COMMON_OBS): Use SUBDIR_CLI_OBS.
3900
3901 2018-07-17  Tom Tromey  <tom@tromey.com>
3902
3903         PR gdb/18624:
3904         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
3905
3906 2018-07-16  Jim Wilson  <jimw@sifive.com>
3907
3908         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
3909
3910 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3911
3912         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
3913         variable.
3914         (libunwind_frame_sniffer): Likewise.
3915         (libunwind_frame_prev_register): Likewise.
3916         (libunwind_sigtramp_frame_sniffer): Likewise.
3917         * ia64-tdep.c (ia64_access_reg): Likewise.
3918         (ia64_access_rse_reg): Likewise.
3919         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
3920         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
3921
3922 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3923
3924         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
3925
3926 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3927
3928         * remote-sim.c (gdbsim_target::close,
3929         gdbsim_target::mourn_inferior): Remove unused variables.
3930
3931 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
3932
3933         * ia64-tdep.c (ktab_buf): New global.
3934         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
3935         (get_kernel_table): Adjust.
3936
3937 2018-07-16  Tom Tromey  <tom@tromey.com>
3938
3939         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
3940         * dwarf2read.c (using_directives, new_symbol): Use
3941         outermost_context_p.
3942         * dbxread.c (process_one_symbol): Use outermost_context_p.
3943         * coffread.c (coff_symtab_read): Use outermost_context_p.
3944
3945 2018-07-16  Tom Tromey  <tom@tromey.com>
3946
3947         * dwarf2read.c (using_directives, read_func_scope)
3948         (read_lexical_block_scope): Update.
3949         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
3950         * buildsym.h (local_using_directives, global_using_directives):
3951         Don't declare.
3952         (get_local_using_directives, set_local_using_directives)
3953         (get_global_using_directives): Declare.
3954         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
3955         m_global_using_directives>: New members.
3956         (finish_block_internal, prepare_for_building)
3957         (reset_symtab_globals, end_symtab_get_static_block)
3958         (push_context): Update.
3959         (get_local_using_directives, set_local_using_directives)
3960         (get_global_using_directives): New functions.
3961         (buildsym_init): Update.
3962
3963 2018-07-16  Tom Tromey  <tom@tromey.com>
3964
3965         * xcoffread.c (xcoff_initial_scan): Don't call
3966         free_pending_blocks.
3967         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
3968         * buildsym.h (class scoped_free_pendings): Add constructor.
3969         (free_pending_blocks): Don't declare.
3970         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
3971         (free_pending_blocks): Now static.
3972
3973 2018-07-16  Tom Tromey  <tom@tromey.com>
3974
3975         * buildsym.h (push_subfile, pop_subfile): Update declarations.
3976         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
3977         member.
3978         (struct subfile_stack): Remove.
3979         (subfile_stack): Remove.
3980         (push_subfile, pop_subfile, buildsym_init): Update.
3981
3982 2018-07-16  Tom Tromey  <tom@tromey.com>
3983
3984         * buildsym.c (push_subfile): Use gdb_assert.
3985         (pop_subfile): Use gdb_assert.
3986
3987 2018-07-16  Tom Tromey  <tom@tromey.com>
3988
3989         * buildsym.h (merge_symbol_lists): Remove.
3990         * buildsym.c (merge_symbol_lists): Remove.
3991
3992 2018-07-16  Tom Tromey  <tom@tromey.com>
3993
3994         * stabsread.c (scan_file_globals): Update comment.
3995         * stabsread.h (scan_file_globals): Move from buildsym.h.
3996         * buildsym.h (scan_file_globals): Move to stabsread.h.
3997
3998 2018-07-16  Tom Tromey  <tom@tromey.com>
3999
4000         * xcoffread.c (xcoff_new_init): Update.
4001         * mipsread.c (mipscoff_new_init): Update.
4002         * mdebugread.c (mdebug_build_psymtabs): Update.
4003         * elfread.c (elf_new_init): Update.
4004         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
4005         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
4006         * buildsym.h (buildsym_new_init): Don't declare.
4007         * buildsym.c (buildsym_new_init): Remove.
4008
4009 2018-07-16  Tom Tromey  <tom@tromey.com>
4010
4011         * stabsread.h (within_function): Move from buildsym.h.
4012         * stabsread.c (start_stabs): Clear within_function.
4013         * coffread.c (coff_start_symtab): Clear within_function.
4014         * buildsym.h (within_function): Move to stabsread.h.
4015         * buildsym.c (prepare_for_building): Update.
4016
4017 2018-07-16  Tom Tromey  <tom@tromey.com>
4018
4019         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
4020         * dwarf2read.c (dwarf2_start_symtab): Don't set
4021         processing_gcc_compilation.
4022         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
4023
4024 2018-07-16  Tom Tromey  <tom@tromey.com>
4025
4026         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
4027         (next_symbol_text_func): Move from buildsym.h.
4028         * stabsread.c (hashname): Move from buildsym.c.
4029         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
4030         (next_symbol_text_func, hashname): Move to stabsread.h.
4031         * buildsym.c: Don't include bcache.h
4032         (hashname): Move to stasbread.c.
4033
4034 2018-07-16  Tom Tromey  <tom@tromey.com>
4035
4036         * buildsym.h (context_stack_size): Don't declare.
4037         * buildsym.c (context_stack_size): New global.
4038
4039 2018-07-16  Tom Tromey  <tom@tromey.com>
4040
4041         * dbxread.c (processing_acc_compilation): New global.
4042         * buildsym.h (processing_acc_compilation): Don't declare.
4043
4044 2018-07-16  Tom Tromey  <tom@tromey.com>
4045
4046         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
4047         * dbxread.c (read_ofile_symtab): Update.
4048         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
4049         * buildsym.h (last_source_start_addr): Remove.
4050         (set_last_source_start_addr, get_last_source_start_addr):
4051         Declare.
4052         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
4053         parameter.
4054         (struct buildsym_compunit) <m_last_source_start_addr>: New
4055         member.
4056         (prepare_for_building): Remove start_addr parameter.
4057         (start_symtab, restart_symtab, end_symtab_get_static_block)
4058         (end_symtab_with_blockvector): Update.
4059         (set_last_source_start_addr, get_last_source_start_addr): New
4060         functions.
4061
4062 2018-07-16  Tom Tromey  <tom@tromey.com>
4063
4064         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
4065         member.
4066         (have_line_numbers): Remove.
4067         (record_line, prepare_for_building, end_symtab_get_static_block)
4068         (augment_type_symtab): Update.
4069
4070 2018-07-16  Tom Tromey  <tom@tromey.com>
4071
4072         * buildsym.c (~buildsym_compunit): Free the macro table.
4073         (struct buildsym_compunit) <get_macro_table, release_macros>: New
4074         methods.
4075         <m_pending_macros>: New member.
4076         (pending_macros): Remove.
4077         (~scoped_free_pendings, get_macro_table, prepare_for_building)
4078         (reset_symtab_globals, end_symtab_get_static_block)
4079         (end_symtab_with_blockvector, augment_type_symtab)
4080         (buildsym_init): Update.
4081
4082 2018-07-16  Tom Tromey  <tom@tromey.com>
4083
4084         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
4085         parameter.
4086         (buildsym_compunit::set_last_source_file): New method.
4087         <m_last_source_file>: New member.
4088         (prepare_for_building): Remove "name" parameter.
4089         (start_symtab, restart_symtab, reset_symtab_globals): Update.
4090         (last_source_file): Remove.
4091         (set_last_source_file, get_last_source_file): Update.
4092
4093 2018-07-16  Tom Tromey  <tom@tromey.com>
4094
4095         * buildsym.c (prepare_for_building): Add assert.
4096
4097 2018-07-16  Tom Tromey  <tom@tromey.com>
4098
4099         * buildsym.c (~buildsym_compunit): Update.
4100         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
4101         (start_subfile, patch_subfile_names)
4102         (end_symtab_with_blockvector): Update.
4103
4104 2018-07-16  Tom Tromey  <tom@tromey.com>
4105
4106         * buildsym.c (struct buildsym_compunit): Add constructor,
4107         destructor, initializers.
4108         (start_buildsym_compunit): Remove.
4109         (free_buildsym_compunit): Use "delete".
4110         (start_symtab, restart_symtab): Use "new".
4111
4112 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
4113
4114         * symfile.c (set_objfile_default_section_offset): Remove struct
4115         keyword.
4116
4117 2018-07-14  Stafford Horne  <shorne@gmail.com>
4118
4119         * (Responsible Maintainers): Add myself as or1k maintainer.
4120
4121 2018-07-13  Tom Tromey  <tom@tromey.com>
4122
4123         * symfile.c (set_objfile_default_section_offset): Use extra braces
4124         around initializer.
4125
4126 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4127
4128         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
4129         non-branching basr.
4130
4131 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4132
4133         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4134         unittests/cli-utils-selftests.c
4135         * unittests/cli-utils-selftests.c: New file.
4136
4137 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4138
4139         * NEWS: Mention new commands. Mention change to 'thread apply'.
4140
4141 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4142
4143         * thread.c (thr_try_catch_cmd): New function.
4144         (thread_apply_all_command): Handle qcs flags.
4145         (thread_apply_command): Handle qcs flags.
4146         (taas_command): New function.
4147         (tfaas_command): New function.
4148         (_initialize_thread): Update to setup the new commands 'taas
4149         and 'tfaas'. Change doc string for 'thread apply'.
4150
4151 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4152
4153         * stack.c: (trailing_outermost_frame): New function, mostly
4154         extracted from backtrace_command_1.
4155         (leading_innermost_frame): New function.
4156         (backtrace_command_1): Update to call trailing_outermost_frame.
4157         (frame_apply_command_count): New function.
4158         (frame_apply_level_command): New function.
4159         (frame_apply_all_command): New function.
4160         (frame_apply_command): New function.
4161         (faas_command): New function.
4162         (frame_cmd_list): New variable.
4163         (_initialize_stack): Update to setup the new commands 'frame apply'
4164         and 'faas'.
4165
4166 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4167
4168         * cli-utils.c (number_or_range_parser::get_number): Only handle
4169         numbers or convenience var as numbers.
4170         (parse_flags): New function.
4171         (parse_flags_qcs): New function.
4172         (number_or_range_parser::finished): Ensure parsing end is detected
4173         before end of string.
4174         * cli-utils.h (parse_flags): New function.
4175         (parse_flags_qcs): New function.
4176         (number_or_range_parser): Remove m_finished bool.
4177         (number_or_range_parser::skip_range): Set m_in_range to false.
4178
4179 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
4180
4181         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
4182         on Windows.
4183
4184 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4185             Jan Kratochvil  <jan.kratochvil@redhat.com>
4186             Paul Fertser  <fercerpav@gmail.com>
4187             Tsutomu Seki  <sekiriki@gmail.com>
4188             Pedro Alves  <palves@redhat.com>
4189
4190         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4191         'unittests/parse-connection-spec-selftests.c'.
4192         (COMMON_SFILES): Add 'common/netstuff.c'.
4193         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
4194         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
4195         * common/netstuff.c: New file.
4196         * common/netstuff.h: New file.
4197         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
4198         (wait_for_connect): Update comment.  New parameter
4199         'gdb::optional<int> sock' instead of 'struct serial *scb'.
4200         Use 'sock' directly instead of 'scb->fd'.
4201         (try_connect): New function, with code from 'net_open'.
4202         (net_open): Rewrite main loop to deal with multiple
4203         sockets/addresses.  Handle IPv6-style hostnames; implement
4204         support for IPv6 connections.
4205         * unittests/parse-connection-spec-selftests.c: New file.
4206
4207 2018-07-11  Pedro Alves  <palves@redhat.com>
4208
4209         PR gdb/23377
4210         * remote.c (remote_target::remote_detach_pid): Call
4211         set_current_process.
4212
4213 2018-07-11  Pedro Alves  <palves@redhat.com>
4214
4215         * h8300-tdep.c (h8300_gdbarch_init): Remove
4216         set_gdbarch_ecoff_reg_to_regnum calls.
4217
4218 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4219
4220         PR c++/23373
4221         * c-typeprint.c (c_type_print_base_struct_union): Don't print
4222         offsets/sizes for static members of a class/struct.
4223
4224 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
4225
4226         * target-descriptions.c (tdesc_register_bitsize): Rename.
4227         * target-descriptions.h (tdesc_register_bitsize): Likewise.
4228         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
4229         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
4230
4231 2018-07-10  Tom Tromey  <tom@tromey.com>
4232
4233         * breakpoint.c (moribund_locations): Now static and a
4234         std::vector.
4235         (breakpoint_init_inferior, moribund_breakpoint_here_p)
4236         (build_bpstat_chain, update_global_location_list)
4237         (breakpoint_retire_moribund): Update.
4238         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
4239         VEC.
4240
4241 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4242
4243         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
4244         (riscv_register_reggroup_p): Use new function, remove unneeded
4245         parenthesis.
4246         (riscv_push_dummy_call): Extend assert to compare against xlen or
4247         flen based on register type.
4248
4249 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4250
4251         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
4252
4253 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
4254
4255         * remote.c (show_hardware_watchpoint_limit): New function.
4256         (show_hardware_watchpoint_length_limit): New function.
4257         (show_hardware_breakpoint_limit): New function.
4258         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
4259         where appropriate, update help text.
4260
4261 2018-07-09  Tom Tromey  <tom@tromey.com>
4262
4263         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
4264         (CLIBS): Don't mention NAT_CLIBS.
4265
4266 2018-07-09  Tom Tromey  <tom@tromey.com>
4267
4268         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
4269         (LIBGDB_OBS, clean mostlyclean): Update.
4270         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
4271
4272 2018-07-09  Tom Tromey  <tom@tromey.com>
4273
4274         * Makefile.in (%.c: %.y): Use ECHO_YACC.
4275         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
4276         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
4277
4278 2018-07-09  Tom Tromey  <tom@tromey.com>
4279
4280         * Makefile.in (ALLDEPFILES): Remove exec.c.
4281         (COMMON_OBS): Remove exec.o.
4282         (COMMON_SFILES): Add exec.c.
4283
4284 2018-07-09  Tom Tromey  <tom@tromey.com>
4285
4286         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
4287
4288 2018-07-09  Tom Tromey  <tom@tromey.com>
4289
4290         * Makefile.in (clean mostlyclean): Remove stamp-version.
4291         (version.c): Depend on stamp-version.
4292         (stamp-version): New rule, from version.c rule.
4293
4294 2018-07-09  Tom Tromey  <tom@tromey.com>
4295
4296         * Makefile.in (init.c): Depend on stamp-init.
4297         (stamp-init): New rule, from init.c rule.
4298         (clean mostlyclean): Remove stamp-init.
4299
4300 2018-07-09  Tom Tromey  <tom@tromey.com>
4301
4302         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
4303         SUBDIR_GCC_COMPILE_SRCS.
4304
4305 2018-07-09  Tom Tromey  <tom@tromey.com>
4306
4307         * Makefile.in (init.c): Remove some unused sed rules.
4308
4309 2018-07-09  Tom Tromey  <tom@tromey.com>
4310
4311         * Makefile.in (TSOBS): Remove.
4312         (INIT_FILES): Update.
4313         (LIBGDB_OBS): Update.
4314         (COMMON_SFILES): Add inflow.c.
4315         (SFILES): Remove inflow.c.
4316
4317 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
4318
4319         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
4320
4321 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
4322
4323         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
4324         get_saveloc_name, is_signal_frame_name, step_name,
4325         init_remote_name, create_addr_space_name,
4326         destroy_addr_space_name, search_unwind_table_name,
4327         find_dyn_list_name): Constify.
4328
4329 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
4330
4331         * darwin-nat.c (darwin_pthread_kill): New function.
4332         (darwin_resume_thread): Use darwin_pthread_kill.
4333
4334 2018-07-05  Tom de Vries  <tdevries@suse.de>
4335
4336         * macroexp.c (macro_buffer) <operator=>: New member function.
4337
4338 2018-07-04  Tom Tromey  <tom@tromey.com>
4339
4340         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
4341
4342 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
4343
4344         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
4345         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
4346         * maint.c: Likewise.
4347         * top.c: Likewise.
4348
4349 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4350
4351         * NEWS: Create a new section for the next release branch.
4352         Rename the section of the current branch, now that it has
4353         been cut.
4354
4355 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4356
4357         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
4358         * version.in: Bump version to 8.2.50.DATE-git.
4359
4360 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
4361             Pedro Alves  <palves@redhat.com>
4362
4363         * linux-nat.c (linux_init_ptrace): Rename to ...
4364         (linux_init_ptrace_procfs): ... this.  Call
4365         linux_proc_init_warnings.
4366         (linux_nat_target::post_attach)
4367         (linux_nat_target::post_startup_inferior): Adjust.
4368         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
4369         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
4370
4371 2018-07-04  Tom de Vries  <tdevries@suse.de>
4372
4373         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
4374         check ...
4375         (read_comp_unit_head): ... here.
4376
4377 2018-07-03  Tom Tromey  <tom@tromey.com>
4378
4379         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
4380         (stop_tracing, tstatus_command)
4381         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
4382         (print_one_static_tracepoint_marker): Update.
4383         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
4384         std::vector.
4385         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
4386         VEC.
4387         (all_tracepoints, static_tracepoints_here): Return std::vector.
4388
4389 2018-07-03  Tom Tromey  <tom@tromey.com>
4390
4391         * common/ptid.c (ptid_equal): Remove.
4392         * common/ptid.h (ptid_equal): Don't declare.
4393         * ada-tasks.c: Update.
4394         * breakpoint.c: Update.
4395         * common/agent.c: Update.
4396         * corelow.c: Update.
4397         * darwin-nat-info.c: Update.
4398         * darwin-nat.c: Update.
4399         * dcache.c: Update.
4400         * dtrace-probe.c: Update.
4401         * dummy-frame.c: Update.
4402         * fbsd-nat.c: Update.
4403         * frame.c: Update.
4404         * gdbthread.h: Update.
4405         * gnu-nat.c: Update.
4406         * go32-nat.c: Update.
4407         * inf-loop.c: Update.
4408         * inf-ptrace.c: Update.
4409         * infcall.c: Update.
4410         * infcmd.c: Update.
4411         * inflow.c: Update.
4412         * infrun.c: Update.
4413         * linux-fork.c: Update.
4414         * linux-nat.c: Update.
4415         * linux-thread-db.c: Update.
4416         * mi/mi-cmd-var.c: Update.
4417         * mi/mi-interp.c: Update.
4418         * mi/mi-main.c: Update.
4419         * nto-procfs.c: Update.
4420         * ppc-linux-tdep.c: Update.
4421         * procfs.c: Update.
4422         * python/py-inferior.c: Update.
4423         * python/py-record-btrace.c: Update.
4424         * python/py-record.c: Update.
4425         * ravenscar-thread.c: Update.
4426         * regcache.c: Update.
4427         * remote-sim.c: Update.
4428         * remote.c: Update.
4429         * sol-thread.c: Update.
4430         * solib.c: Update.
4431         * target.c: Update.
4432         * tui/tui-stack.c: Update.
4433         * varobj.c: Update.
4434         * windows-nat.c: Update.
4435         * windows-tdep.c: Update.
4436
4437 2018-07-03  Tom Tromey  <tom@tromey.com>
4438
4439         * common/ptid.c (ptid_match): Remove.
4440         * common/ptid.h (ptid_match): Don't declare.
4441         * fbsd-nat.c: Update.
4442         * infcmd.c: Update.
4443         * infrun.c: Update.
4444         * linux-nat.c: Update.
4445         * record-btrace.c: Update.
4446         * regcache.c: Update.
4447         * remote.c: Update.
4448
4449 2018-07-03  Tom Tromey  <tom@tromey.com>
4450
4451         * common/ptid.c (ptid_tid_p): Remove.
4452         * common/ptid.h (ptid_tid_p): Don't declare.
4453         * sol-thread.c: Update.
4454
4455 2018-07-03  Tom Tromey  <tom@tromey.com>
4456
4457         * common/ptid.c (ptid_lwp_p): Remove.
4458         * common/ptid.h (ptid_lwp_p): Don't declare.
4459         * fbsd-nat.c: Update.
4460         * linux-nat.c: Update.
4461         * nat/linux-procfs.c: Update.
4462         * nat/x86-linux-dregs.c: Update.
4463         * sol-thread.c: Update.
4464
4465 2018-07-03  Tom Tromey  <tom@tromey.com>
4466
4467         * common/ptid.c (ptid_is_pid): Remove.
4468         * common/ptid.h (ptid_is_pid): Don't declare.
4469         * infrun.c: Update.
4470         * linux-nat.c: Update.
4471         * mi/mi-interp.c: Update.
4472         * remote.c: Update.
4473         * thread.c: Update.
4474
4475 2018-07-03  Tom Tromey  <tom@tromey.com>
4476
4477         * common/ptid.c (ptid_get_tid): Remove.
4478         * common/ptid.h (ptid_get_tid): Don't declare.
4479         * ada-tasks.c: Update.
4480         * aix-thread.c: Update.
4481         * bsd-uthread.c: Update.
4482         * darwin-nat.c: Update.
4483         * fbsd-nat.c: Update.
4484         * i386-darwin-nat.c: Update.
4485         * infrun.c: Update.
4486         * linux-tdep.c: Update.
4487         * nto-procfs.c: Update.
4488         * ppc-ravenscar-thread.c: Update.
4489         * python/py-infthread.c: Update.
4490         * ravenscar-thread.c: Update.
4491         * sol-thread.c: Update.
4492         * sparc-ravenscar-thread.c: Update.
4493         * windows-nat.c: Update.
4494
4495 2018-07-03  Tom Tromey  <tom@tromey.com>
4496
4497         * common/ptid.c (ptid_get_lwp): Remove.
4498         * common/ptid.h (ptid_get_lwp): Don't declare.
4499         * aarch64-linux-nat.c: Update.
4500         * ada-tasks.c: Update.
4501         * aix-thread.c: Update.
4502         * amd64-linux-nat.c: Update.
4503         * arm-linux-nat.c: Update.
4504         * corelow.c: Update.
4505         * fbsd-nat.c: Update.
4506         * fbsd-tdep.c: Update.
4507         * gnu-nat.c: Update.
4508         * i386-cygwin-tdep.c: Update.
4509         * i386-gnu-nat.c: Update.
4510         * i386-linux-nat.c: Update.
4511         * ia64-linux-nat.c: Update.
4512         * inf-ptrace.c: Update.
4513         * infrun.c: Update.
4514         * linux-fork.c: Update.
4515         * linux-nat.c: Update.
4516         * linux-tdep.c: Update.
4517         * linux-thread-db.c: Update.
4518         * mips-linux-nat.c: Update.
4519         * nat/aarch64-linux-hw-point.c: Update.
4520         * nat/aarch64-linux.c: Update.
4521         * nat/linux-btrace.c: Update.
4522         * nat/linux-osdata.c: Update.
4523         * nat/linux-procfs.c: Update.
4524         * nat/x86-linux-dregs.c: Update.
4525         * obsd-nat.c: Update.
4526         * ppc-fbsd-nat.c: Update.
4527         * ppc-linux-nat.c: Update.
4528         * procfs.c: Update.
4529         * python/py-infthread.c: Update.
4530         * ravenscar-thread.c: Update.
4531         * remote.c: Update.
4532         * s390-linux-nat.c: Update.
4533         * sol-thread.c: Update.
4534         * sol2-tdep.c: Update.
4535         * spu-linux-nat.c: Update.
4536         * x86-linux-nat.c: Update.
4537         * xtensa-linux-nat.c: Update.
4538
4539 2018-07-03  Tom Tromey  <tom@tromey.com>
4540
4541         * common/ptid.c (ptid_get_pid): Remove.
4542         * common/ptid.h (ptid_get_pid): Don't declare.
4543         * aarch64-linux-nat.c: Update.
4544         * ada-lang.c: Update.
4545         * aix-thread.c: Update.
4546         * alpha-bsd-nat.c: Update.
4547         * amd64-fbsd-nat.c: Update.
4548         * amd64-linux-nat.c: Update.
4549         * arm-linux-nat.c: Update.
4550         * arm-nbsd-nat.c: Update.
4551         * auxv.c: Update.
4552         * break-catch-syscall.c: Update.
4553         * breakpoint.c: Update.
4554         * bsd-uthread.c: Update.
4555         * corelow.c: Update.
4556         * ctf.c: Update.
4557         * darwin-nat.c: Update.
4558         * fbsd-nat.c: Update.
4559         * fbsd-tdep.c: Update.
4560         * gcore.c: Update.
4561         * gnu-nat.c: Update.
4562         * hppa-nbsd-nat.c: Update.
4563         * hppa-obsd-nat.c: Update.
4564         * i386-fbsd-nat.c: Update.
4565         * ia64-linux-nat.c: Update.
4566         * inf-ptrace.c: Update.
4567         * infcmd.c: Update.
4568         * inferior.c: Update.
4569         * inferior.h: Update.
4570         * inflow.c: Update.
4571         * infrun.c: Update.
4572         * linux-fork.c: Update.
4573         * linux-nat.c: Update.
4574         * linux-tdep.c: Update.
4575         * linux-thread-db.c: Update.
4576         * m68k-bsd-nat.c: Update.
4577         * mi/mi-interp.c: Update.
4578         * mi/mi-main.c: Update.
4579         * mips-linux-nat.c: Update.
4580         * mips-nbsd-nat.c: Update.
4581         * mips64-obsd-nat.c: Update.
4582         * nat/aarch64-linux-hw-point.c: Update.
4583         * nat/aarch64-linux.c: Update.
4584         * nat/linux-btrace.c: Update.
4585         * nat/linux-osdata.c: Update.
4586         * nat/linux-procfs.c: Update.
4587         * nat/x86-linux-dregs.c: Update.
4588         * nto-procfs.c: Update.
4589         * obsd-nat.c: Update.
4590         * ppc-linux-nat.c: Update.
4591         * ppc-nbsd-nat.c: Update.
4592         * ppc-obsd-nat.c: Update.
4593         * proc-service.c: Update.
4594         * procfs.c: Update.
4595         * python/py-inferior.c: Update.
4596         * python/py-infthread.c: Update.
4597         * ravenscar-thread.c: Update.
4598         * record.c: Update.
4599         * remote-sim.c: Update.
4600         * remote.c: Update.
4601         * rs6000-nat.c: Update.
4602         * s390-linux-nat.c: Update.
4603         * sh-nbsd-nat.c: Update.
4604         * sol-thread.c: Update.
4605         * sparc-nat.c: Update.
4606         * sparc64-tdep.c: Update.
4607         * spu-linux-nat.c: Update.
4608         * spu-tdep.c: Update.
4609         * target-debug.h: Update.
4610         * target.c: Update.
4611         * thread.c: Update.
4612         * tid-parse.c: Update.
4613         * tracefile-tfile.c: Update.
4614         * vax-bsd-nat.c: Update.
4615         * windows-nat.c: Update.
4616         * x86-linux-nat.c: Update.
4617         * x86-nat.c: Update.
4618
4619 2018-07-03  Tom Tromey  <tom@tromey.com>
4620
4621         * common/ptid.c (pid_to_ptid): Remove.
4622         * common/ptid.h (pid_to_ptid): Don't declare.
4623         * aix-thread.c: Update.
4624         * arm-linux-nat.c: Update.
4625         * common/ptid.c: Update.
4626         * common/ptid.h: Update.
4627         * corelow.c: Update.
4628         * ctf.c: Update.
4629         * darwin-nat.c: Update.
4630         * fbsd-nat.c: Update.
4631         * fork-child.c: Update.
4632         * gnu-nat.c: Update.
4633         * go32-nat.c: Update.
4634         * inf-ptrace.c: Update.
4635         * infcmd.c: Update.
4636         * inferior.c: Update.
4637         * infrun.c: Update.
4638         * linux-fork.c: Update.
4639         * linux-nat.c: Update.
4640         * nat/aarch64-linux-hw-point.c: Update.
4641         * nat/fork-inferior.c: Update.
4642         * nat/x86-linux-dregs.c: Update.
4643         * nto-procfs.c: Update.
4644         * obsd-nat.c: Update.
4645         * procfs.c: Update.
4646         * progspace.c: Update.
4647         * remote.c: Update.
4648         * rs6000-nat.c: Update.
4649         * s390-linux-nat.c: Update.
4650         * sol-thread.c: Update.
4651         * spu-linux-nat.c: Update.
4652         * target.c: Update.
4653         * top.c: Update.
4654         * tracefile-tfile.c: Update.
4655         * windows-nat.c: Update.
4656
4657 2018-07-03  Tom Tromey  <tom@tromey.com>
4658
4659         * common/ptid.h (ptid_build): Don't declare.
4660         * common/ptid.c (ptid_build): Remove.
4661         * aix-thread.c: Update.
4662         * bsd-kvm.c: Update.
4663         * bsd-uthread.c: Update.
4664         * common/agent.c: Update.
4665         * common/ptid.c: Update.
4666         * common/ptid.h: Update.
4667         * corelow.c: Update.
4668         * darwin-nat.c: Update.
4669         * fbsd-nat.c: Update.
4670         * gnu-nat.c: Update.
4671         * linux-fork.c: Update.
4672         * linux-nat.c: Update.
4673         * linux-thread-db.c: Update.
4674         * nat/linux-osdata.c: Update.
4675         * nat/linux-procfs.c: Update.
4676         * nto-procfs.c: Update.
4677         * obsd-nat.c: Update.
4678         * proc-service.c: Update.
4679         * procfs.c: Update.
4680         * ravenscar-thread.c: Update.
4681         * remote-sim.c: Update.
4682         * remote.c: Update.
4683         * sol-thread.c: Update.
4684         * target.c: Update.
4685         * windows-nat.c: Update.
4686
4687 2018-07-03  Tom Tromey  <tom@tromey.com>
4688
4689         * infrun.c (follow_exec): Use exit_inferior_silent.
4690         * inferior.c (exit_inferior_num_silent): Remove.
4691         * inferior.h (exit_inferior_num_silent): Don't declare.
4692
4693 2018-07-03  Tom Tromey  <tom@tromey.com>
4694
4695         PR cli/23340:
4696         * darwin-nat.c (darwin_attach_pid): Reset inferior and
4697         inferior_ptid on error.
4698
4699 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
4700             Simon Marchi  <simon.marchi@polymtl.ca>
4701
4702         PR tdep/8282
4703         * disasm.h (gdb_disassembler): Add
4704         `m_disassembler_options_holder'. member
4705         * disasm.c (get_all_disassembler_options): New function.
4706         (gdb_disassembler::gdb_disassembler): Use it.
4707         (gdb_buffered_insn_length_init_dis): Likewise.
4708         (gdb_buffered_insn_length): Adjust accordingly.
4709         (set_disassembler_options): Handle options with arguments.
4710         (show_disassembler_options_sfunc): Likewise.  Add a leading new
4711         line if showing options with descriptions.
4712         (disassembler_options_completer): Adapt to using the
4713         `disasm_options_and_args_t' structure.
4714         * mips-tdep.c (mips_disassembler_options): New variable.
4715         (mips_disassembler_options_o32): Likewise.
4716         (mips_disassembler_options_n32): Likewise.
4717         (mips_disassembler_options_n64): Likewise.
4718         (gdb_print_insn_mips): Don't set `disassembler_options'.
4719         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
4720         functions.
4721         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
4722         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
4723         `gdbarch_disassembler_options_implicit' and
4724         `gdbarch_valid_disassembler_options'.
4725         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
4726         `disasm_options_and_args_t' structure.
4727         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
4728         method.
4729         (valid_disassembler_options): Switch from `disasm_options_t' to
4730         the `disasm_options_and_args_t' structure.
4731         * NEWS: Document `set disassembler-options' support for the MIPS
4732         target.
4733         * gdbarch.h: Regenerate.
4734         * gdbarch.c: Regenerate.
4735
4736 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4737
4738         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
4739
4740 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
4741
4742         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
4743         parameter in call to amd64_target_description.
4744         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
4745         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
4746         (amd64fbsd_init_abi): Likewise.
4747         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
4748         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
4749         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
4750         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
4751
4752 2018-06-29  Pedro Alves  <palves@redhat.com>
4753
4754         * gdb/amd64-tdep.h (amd64_create_target_description): Add
4755         "segments" parameter.
4756         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
4757         (_initialize_amd64_tdep): Update call to
4758         amd64_create_target_description.
4759         (amd64_target_description): Add "segments" parameter.  Adjust
4760         the implementation to use it.
4761         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
4762         call to amd64_create_target_description.
4763         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
4764         * gdb/arch/amd64.h (amd64_create_target_description): Add
4765         "segments" register.
4766         * gdb/arch/amd64.c (amd64_create_target_description): Add
4767         "segments" parameter.  Call create_feature_i386_64bit_segments
4768         only if SEGMENTS is true.
4769         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
4770         call to amd64_create_target_description.
4771
4772 2018-06-29  Pedro Alves  <palves@redhat.com>
4773
4774         * thread.c (thread_target_id_str): New, factored out from ...
4775         (print_thread_info_1): ... here.  Use it to compute the max
4776         "Target Id" column width.
4777
4778 2018-06-29  Pedro Alves  <palves@redhat.com>
4779
4780         * remote.c (remote_target::extra_thread_info): Delete
4781         'display_buf' and 'n' locals.  from the cache, regardless of
4782         packet mechanims is in use.  Use cache for qThreadExtra and qP
4783         methods too.
4784
4785 2018-06-29  Pedro Alves  <palves@redhat.com>
4786
4787         * blockframe.c (find_pc_sect_containing_function): New function.
4788         * breakpoint.c (print_breakpoint_location): Don't call
4789         find_pc_sect_function.
4790         * linespec.c (create_sals_line_offset): Record the location's
4791         symbol in the sal.
4792         * linespec.c (convert_address_location_to_sals): Fill in sal's
4793         symbol with find_pc_sect_containing_function.
4794         * symtab.c (find_function_start_sal): Rename to ...
4795         (find_function_start_sal_1): ... this.
4796         (find_function_start_sal): Reimplement as wrapper around
4797         find_function_start_sal_1, and use
4798         find_pc_sect_containing_function to fill in the sal's symbol.
4799         (find_function_start_sal(symbol*, bool)): Adjust.
4800         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
4801         comments.
4802         (find_pc_sect_containing_function): Declare.
4803
4804 2018-06-29  Pedro Alves  <palves@redhat.com>
4805
4806         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
4807         true if the the location has no symbol.
4808
4809 2018-06-28  Tom Tromey  <tom@tromey.com>
4810
4811         * NEWS: Mention --enable-codesign.
4812         * silent-rules.mk (ECHO_SIGN): New variable.
4813         * configure.ac: Add --enable-codesign.
4814         * configure: Rebuild.
4815         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
4816         (gdb$(EXEEXT)): Optionally invoke codesign.
4817
4818 2018-06-28  Pedro Alves  <palves@redhat.com>
4819
4820         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
4821         comments.
4822         (switch_to_thread_no_regs): Adjust comment.
4823         * infcmd.c (stop_pc): Delete.
4824         (post_create_inferior, info_program_command): Replace references
4825         to stop_pc with references to thread_info->suspend.stop_pc.
4826         * inferior.h (stop_pc): Delete declaration.
4827         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
4828         (handle_inferior_event_1, handle_signal_stop)
4829         (process_event_stop_test, keep_going_stepped_thread)
4830         (handle_step_into_function, handle_step_into_function_backward)
4831         (print_stop_location): Replace references to stop_pc with
4832         references to thread_info->suspend.stop_pc.
4833         (struct infcall_suspend_state) <stop_pc>: Delete field.
4834         (save_infcall_suspend_state, restore_infcall_suspend_state):
4835         Remove references to inf_stat->stop_pc.
4836         * linux-fork.c (fork_load_infrun_state): Likewise.
4837         * record-btrace.c (record_btrace_set_replay): Likewise.
4838         * record-full.c (record_full_goto_entry): Likewise.
4839         * remote.c (print_one_stopped_thread): Likewise.
4840         * target.c (target_resume): Extend comment.
4841         * thread.c (set_executing_thread): New.
4842         (set_executing): Use it.
4843         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
4844         Remove references to stop_pc.
4845
4846 2018-06-28  Pedro Alves  <palves@redhat.com>
4847
4848         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
4849         Moving fetching stop_pc until after ecs->event_thread is refreshed.
4850
4851 2018-06-28  Tom Tromey  <tom@tromey.com>
4852
4853         * coffread.c (coff_symfile_finish): Update.
4854         * xcoffread.c (xcoff_symfile_finish): Update.
4855         * elfread.c (elf_symfile_finish): Update.
4856         * symfile.h (dwarf2_free_objfile): Don't declare.
4857         * dwarf2read.c (_initialize_dwarf2_read): Use
4858         register_objfile_data_with_cleanup.
4859         (dwarf2_free_objfile): Now static.  Change signature.
4860
4861 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4862
4863         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
4864         option "-o" to add-symbol-file-load to add an offset to each
4865         section's load address.
4866         * symfile.c (set_objfile_default_section_offset): New function.
4867
4868 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4869
4870         * symfile.c (add_symbol_file_command): Make sure that sections
4871         with the same name are sorted in the same order.
4872
4873 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4874
4875         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
4876         require the second argument.  If omitted, load sections at the
4877         addresses specified in the file.
4878
4879 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4880
4881         * symfile.c (symbol_file_command, symbol_file_add_main_1)
4882         (_initialize_symfile): Add option "-o" to symbol-file to add an
4883         offset to each section of the symbol file.
4884
4885 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4886
4887         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
4888
4889 2018-06-27  Tom Tromey  <tom@tromey.com>
4890
4891         * stack.c (_initialize_stack): Update "func" help text.
4892
4893 2018-06-27  Tom Tromey  <tom@tromey.com>
4894
4895         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
4896         std::vector.
4897         (unwind_infopy_str, pyuw_create_unwind_info)
4898         (unwind_infopy_add_saved_register, pyuw_sniffer)
4899         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
4900         Update.
4901         (struct saved_reg): Add constructor.
4902         <value>: Now a gdbpy_ref<>.
4903
4904 2018-06-27  Tom Tromey  <tom@tromey.com>
4905
4906         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
4907
4908 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4909
4910         * gdb-gdb.py.in: Format using autopep8.
4911
4912 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4913
4914         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
4915         (type_lookup_function): Recognize CORE_ADDR values.
4916
4917 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4918
4919         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
4920         print tag_name.
4921
4922 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4923
4924         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
4925         <__lt__>: Add.
4926
4927 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4928
4929         * gdb-gdb.py: Move to...
4930         * gdb-gdb.py.in: ... here.
4931         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
4932         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
4933         dependencies.
4934         (distclean): Remove gdb-gdb.py when cleaning.
4935         (gdb-gdb.py, gdb-gdb.gdb): New rules.
4936         * configure: Re-generate.
4937
4938 2018-06-27  Pedro Alves  <palves@redhat.com>
4939
4940         * proc-service.c (get_ps_regcache): New.
4941         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
4942         (ps_lsetfpregs): Use it.
4943
4944 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
4945
4946         PR gdb/21695
4947         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
4948         (dwarf_decode_lines_1): Adjust.
4949
4950 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4951
4952         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
4953         override.
4954         <info_proc>: Likewise.
4955
4956 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
4957
4958         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
4959         to windows_fetch_one_register, and only handle the case of
4960         fetching one register.  Move the code that reloads the context
4961         and iterates over all registers if R is negative to...
4962         (windows_nat_target::fetch_registers): ... here.
4963         (do_windows_store_inferior_registers): Rename to
4964         windows_store_one_register, and only handle the case of storing
4965         one register.  Move the code that handles the case where r is
4966         negative to...
4967         (windows_nat_target::store_registers) ... here.
4968
4969 2018-06-26  Tom Tromey  <tom@tromey.com>
4970
4971         PR rust/22574:
4972         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
4973         * rust-lang.c (rust_print_struct_def): Add podata parameter.
4974         Update.
4975         (rust_internal_print_type): Add podata parameter.
4976         (rust_print_type): Update.
4977
4978 2018-06-26  Tom Tromey  <tom@tromey.com>
4979
4980         * typeprint.h (struct print_offset_data) <update, finish,
4981         maybe_print_hole>: New methods.
4982         <indentation>: New constant.
4983         * typeprint.c (print_offset_data::indentation): Define.
4984         (print_offset_data::maybe_print_hole, print_offset_data::update)
4985         (print_offset_data::finish): Move from c-typeprint.c and rename.
4986         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
4987         (print_spaces_filtered_with_print_options): Update.
4988         (c_print_type_union_field_offset, maybe_print_hole)
4989         (c_print_type_struct_field_offset): Move to typeprint.c and
4990         rename.
4991         (c_type_print_base_struct_union): Update.
4992
4993 2018-06-25  Pedro Alves  <palves@redhat.com>
4994
4995         * gdbthread.h (thread_info_ref, delete_thread)
4996         (delete_thread_silent, first_thread_of_inferior)
4997         (any_thread_of_inferior, switch_to_thread)
4998         (enable_thread_stack_temporaries)
4999         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5000         (get_last_thread_stack_temporary)
5001         (value_in_thread_stack_temporaries, can_access_registers_thread):
5002         Spell out "struct thread_info" instead of just "thread_info".
5003         * inferior.h (notice_new_inferior): Likewise.
5004
5005 2018-06-25  Pedro Alves  <palves@redhat.com>
5006
5007         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5008         pass thread_info pointer to delete_thread.
5009         (windows_nat_target::detach): Pass inferior pointer to
5010         detach_inferior.
5011         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
5012         delete_thread.
5013         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
5014         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
5015         and pass a thread_info pointer to delete_thread.
5016         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
5017         pass thread_info pointer to delete_thread.
5018         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
5019         delete_thread_silent call.
5020         * procfs.c (procfs_target::detach): Pass inferior pointer to
5021         detach_inferior.
5022         (procfs_target::wait): Pass thread_info pointer to delete_thread.
5023         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
5024         delete_thread_silent call.
5025         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5026         pass thread_info pointer to delete_thread.
5027         (windows_nat_target::detach): Pass inferior pointer to
5028         delete_inferior.
5029
5030 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5031
5032         * regcache.c (readable_regcache::read_part): Fix asserts.
5033         (reg_buffer::raw_collect_part): New function.
5034         (regcache::write_part): Fix asserts.
5035         (reg_buffer::raw_supply_part): New function.
5036         (regcache::transfer_regset_register): New helper function.
5037         (regcache::transfer_regset): Call new functions.
5038         (regcache_supply_regset): Use gdb_byte*.
5039         (regcache::supply_regset): Likewise.
5040         (regcache_collect_regset): Likewise.
5041         (regcache::collect_regset): Likewise.
5042         * regcache.h (reg_buffer::raw_collect_part): New declaration.
5043         (reg_buffer::raw_supply_part): Likewise.
5044         (regcache::transfer_regset_register): Likewise.
5045         (regcache::transfer_regset): Use gdb_byte*.
5046
5047 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5048
5049         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
5050
5051 2018-06-21  Pedro Alves  <palves@redhat.com>
5052
5053         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
5054         instead of a ptid_t.  All callers adjusted.
5055         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
5056         adjusted.
5057         (print_ada_task_info, display_current_task_id, task_command_1):
5058         Adjust.
5059         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
5060         inferior_thread.
5061         (breakpoint_kind): Adjust.
5062         (remove_breakpoints_pid): Rename to ...
5063         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
5064         pointer.  All callers adjusted.
5065         (bpstat_clear_actions): Use inferior_thread.
5066         (get_bpstat_thread): New.
5067         (bpstat_do_actions): Use it.
5068         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
5069         to take a thread_info pointer.  All callers adjusted.
5070         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
5071         (breakpoint_re_set_thread): Use inferior_thread.
5072         * breakpoint.h (struct inferior): Forward declare.
5073         (bpstat_stop_status): Update.
5074         (remove_breakpoints_pid): Delete.
5075         (remove_breakpoints_inf): New.
5076         * bsd-uthread.c (bsd_uthread_target::wait)
5077         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
5078         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
5079         (maint_btrace_packet_history_cmd)
5080         (maint_btrace_clear_packet_history_cmd): Adjust.
5081         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
5082         inferior_thread.
5083         * cli/cli-interp.c: Include "inferior.h".
5084         * common/refcounted-object.h (struct
5085         refcounted_object_ref_policy): New.
5086         * compile/compile-object-load.c: Include gdbthread.h.
5087         (store_regs): Use inferior_thread.
5088         * corelow.c (core_target::close): Use current_inferior.
5089         (core_target_open): Adjust to use first_thread_of_inferior and use
5090         the current inferior.
5091         * ctf.c (ctf_target::close): Adjust to use current_inferior.
5092         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
5093         <thread>: ... this new field.  All references adjusted.
5094         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
5095         Take a thread_info pointer instead of a ptid_t.
5096         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
5097         (dummy_frame_discard, register_dummy_frame_dtor): Take a
5098         thread_info pointer instead of a ptid_t.
5099         * elfread.c: Include "inferior.h".
5100         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
5101         Use inferior_thread.
5102         * eval.c (evaluate_subexp): Likewise.
5103         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
5104         inferior_thread.
5105         * gdb_proc_service.h (struct thread_info): Forward declare.
5106         (struct ps_prochandle) <ptid>: Delete, replaced by ...
5107         <thread>: ... this new field.  All references adjusted.
5108         * gdbarch.h, gdbarch.c: Regenerate.
5109         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
5110         'thread' parameter.  All implementations and callers adjusted.
5111         * gdbthread.h (thread_info) <set_running>: New method.
5112         (delete_thread, delete_thread_silent): Take a thread_info pointer
5113         instead of a ptid.
5114         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
5115         (first_thread_of_process): Delete, replaced by ...
5116         (first_thread_of_inferior): ... this new function.  All callers
5117         adjusted.
5118         (any_live_thread_of_process): Delete, replaced by ...
5119         (any_live_thread_of_inferior): ... this new function.  All callers
5120         adjusted.
5121         (switch_to_thread, switch_to_no_thread): Declare.
5122         (is_executing): Delete.
5123         (enable_thread_stack_temporaries): Update comment.
5124         <enable_thread_stack_temporaries>: Take a thread_info pointer
5125         instead of a ptid_t.  Incref the thread.
5126         <~enable_thread_stack_temporaries>: Decref the thread.
5127         <m_ptid>: Delete
5128         <m_thr>: New.
5129         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5130         (get_last_thread_stack_temporary)
5131         (value_in_thread_stack_temporaries, can_access_registers_thread):
5132         Take a thread_info pointer instead of a ptid_t.  All callers
5133         adjusted.
5134         * infcall.c (get_call_return_value): Use inferior_thread.
5135         (run_inferior_call): Work with thread pointers instead of ptid_t.
5136         (call_function_by_hand_dummy): Work with thread pointers instead
5137         of ptid_t.  Use thread_info_ref.
5138         * infcmd.c (proceed_thread_callback): Access thread's state
5139         directly.
5140         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
5141         access thread's state directly.
5142         (continue_command): Use inferior_thread.
5143         (info_program_command): Use find_thread_ptid and access thread
5144         state directly.
5145         (proceed_after_attach_callback): Use thread state directly.
5146         (notice_new_inferior): Take a thread_info pointer instead of a
5147         ptid_t.  All callers adjusted.
5148         (exit_inferior): Take an inferior pointer instead of a pid.  All
5149         callers adjusted.
5150         (exit_inferior_silent): New.
5151         (detach_inferior): Delete.
5152         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
5153         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
5154         (detach_inferior_command, kill_inferior_command): Use
5155         find_inferior_id instead of valid_gdb_inferior_id and
5156         gdb_inferior_id_to_pid.
5157         (inferior_command): Use inferior and thread pointers.
5158         * inferior.h (struct thread_info): Forward declare.
5159         (notice_new_inferior): Take a thread_info pointer instead of a
5160         ptid_t.  All callers adjusted.
5161         (detach_inferior): Delete declaration.
5162         (exit_inferior, exit_inferior_silent): Take an inferior pointer
5163         instead of a pid.  All callers adjusted.
5164         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
5165         (valid_gdb_inferior_id): Delete.
5166         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
5167         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
5168         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
5169         ...
5170         <inf>: ... this new field.
5171         <step_ptid>: Delete, replaced by ...
5172         <step_thread>: ... this new field.
5173         (get_displaced_stepping_state): Take an inferior pointer instead
5174         of a pid.  All callers adjusted.
5175         (displaced_step_in_progress_any_inferior): Adjust.
5176         (displaced_step_in_progress_thread): Take a thread pointer instead
5177         of a ptid_t.  All callers adjusted.
5178         (displaced_step_in_progress, add_displaced_stepping_state): Take
5179         an inferior pointer instead of a pid.  All callers adjusted.
5180         (get_displaced_step_closure_by_addr): Adjust.
5181         (remove_displaced_stepping_state): Take an inferior pointer
5182         instead of a pid.  All callers adjusted.
5183         (displaced_step_prepare_throw, displaced_step_prepare)
5184         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
5185         All callers adjusted.
5186         (start_step_over): Adjust.
5187         (infrun_thread_ptid_changed): Remove bit updating ptids in the
5188         displaced step queue.
5189         (do_target_resume): Adjust.
5190         (fetch_inferior_event): Use inferior_thread.
5191         (context_switch, get_inferior_stop_soon): Take an
5192         execution_control_state pointer instead of a ptid_t.  All callers
5193         adjusted.
5194         (switch_to_thread_cleanup): Delete.
5195         (stop_all_threads): Use scoped_restore_current_thread.
5196         * inline-frame.c: Include "gdbthread.h".
5197         (inline_state) <inline_state>: Take a thread pointer instead of a
5198         ptid_t.  All callers adjusted.
5199         <ptid>: Delete, replaced by ...
5200         <thread>: ... this new field.
5201         (find_inline_frame_state): Take a thread pointer instead of a
5202         ptid_t.  All callers adjusted.
5203         (skip_inline_frames, step_into_inline_frame)
5204         (inline_skipped_frames, inline_skipped_symbol): Take a thread
5205         pointer instead of a ptid_t.  All callers adjusted.
5206         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
5207         (inline_skipped_frames, inline_skipped_symbol): Likewise.
5208         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
5209         pointers directly.
5210         * linux-nat.c (get_detach_signal): Likewise.
5211         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
5212         (thread_db_notice_clone): Adjust.
5213         (thread_db_find_new_threads_silently)
5214         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
5215         a thread pointer instead of a ptid_t.  All callers adjusted.
5216         * mi/mi-cmd-var.c: Include "inferior.h".
5217         (mi_cmd_var_update_iter): Update to use thread pointers.
5218         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
5219         inferior directly.
5220         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
5221         out to ...
5222         (mi_output_running): ... this new function.
5223         (mi_on_resume_1): Adjust to use it.
5224         (mi_user_selected_context_changed): Adjust to use inferior_thread.
5225         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
5226         directly.
5227         (interrupt_thread_callback): : Adjust to use thread and inferior
5228         pointers.
5229         * proc-service.c: Include "gdbthread.h".
5230         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
5231         * progspace-and-thread.c: Include "inferior.h".
5232         * progspace.c: Include "inferior.h".
5233         * python/py-exitedevent.c (create_exited_event_object): Adjust to
5234         hold a reference to an inferior_object.
5235         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
5236         inferior_thread.
5237         * python/py-inferior.c (struct inferior_object): Give the type a
5238         tag name instead of a typedef.
5239         (python_on_normal_stop): No need to check if the current thread is
5240         listed.
5241         (inferior_to_inferior_object): Change return type to
5242         inferior_object.  All callers adjusted.
5243         (find_thread_object): Delete, bits factored out to ...
5244         (thread_to_thread_object): ... this new function.
5245         * python/py-infthread.c (create_thread_object): Use
5246         inferior_to_inferior_object.
5247         (thpy_is_stopped): Use thread pointer directly.
5248         (gdbpy_selected_thread): Use inferior_thread.
5249         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
5250         field, replaced with ...
5251         <thread>: ... this new field.  All users adjusted.
5252         (btpy_insn_or_gap_new): Drop const.
5253         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
5254         callers adjusted.
5255         * python/py-record.c: Include "gdbthread.h".
5256         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5257         a ptid_t.  All callers adjusted.
5258         (gdbpy_current_recording): Use inferior_thread.
5259         * python/py-record.h (recpy_record_object) <ptid>: Delete
5260         field, replaced with ...
5261         <thread>: ... this new field.  All users adjusted.
5262         (recpy_element_object) <ptid>: Delete
5263         field, replaced with ...
5264         <thread>: ... this new field.  All users adjusted.
5265         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5266         a ptid_t.  All callers adjusted.
5267         * python/py-threadevent.c: Include "gdbthread.h".
5268         (get_event_thread): Use thread_to_thread_object.
5269         * python/python-internal.h (struct inferior_object): Forward
5270         declare.
5271         (find_thread_object, find_inferior_object): Delete declarations.
5272         (thread_to_thread_object, inferior_to_inferior_object): New
5273         declarations.
5274         * record-btrace.c: Include "inferior.h".
5275         (require_btrace_thread): Use inferior_thread.
5276         (record_btrace_frame_sniffer)
5277         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
5278         (get_thread_current_frame): Use scoped_restore_current_thread and
5279         switch_to_thread.
5280         (get_thread_current_frame): Use thread pointer directly.
5281         (record_btrace_replay_at_breakpoint): Use thread's inferior
5282         pointer directly.
5283         * record-full.c: Include "inferior.h".
5284         * regcache.c: Include "gdbthread.h".
5285         (get_thread_arch_regcache): Use the inferior's address space
5286         directly.
5287         (get_thread_regcache, registers_changed_thread): New.
5288         * regcache.h (get_thread_regcache(thread_info *thread)): New
5289         overload.
5290         (registers_changed_thread): New.
5291         (remote_target) <remote_detach_1>: Swap order of parameters.
5292         (remote_add_thread): <remote_add_thread>: Return the new thread.
5293         (get_remote_thread_info(ptid_t)): New overload.
5294         (remote_target::remote_notice_new_inferior): Use thread pointers
5295         directly.
5296         (remote_target::process_initial_stop_replies): Use
5297         thread_info::set_running.
5298         (remote_target::remote_detach_1, remote_target::detach)
5299         (extended_remote_target::detach): Adjust.
5300         * stack.c (frame_show_address): Use inferior_thread.
5301         * target-debug.h (target_debug_print_thread_info_pp): New.
5302         * target-delegates.c: Regenerate.
5303         * target.c (default_thread_address_space): Delete.
5304         (memory_xfer_partial_1): Use current_inferior.
5305         (target_detach): Use current_inferior.
5306         (target_thread_address_space): Delete.
5307         (generic_mourn_inferior): Use current_inferior.
5308         * target.h (struct target_ops) <thread_address_space>: Delete.
5309         (target_thread_address_space): Delete.
5310         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
5311         pointers directly.
5312         (delete_thread_1, delete_thread, delete_thread_silent): Take a
5313         thread pointer instead of a ptid_t.  Adjust all callers.
5314         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
5315         (first_thread_of_process): Delete, replaced by ...
5316         (first_thread_of_inferior): ... this new function.  All callers
5317         adjusted.
5318         (any_thread_of_process): Rename to ...
5319         (any_thread_of_inferior): ... this, and take an inferior pointer.
5320         (any_live_thread_of_process): Rename to ...
5321         (any_live_thread_of_inferior): ... this, and take an inferior
5322         pointer.
5323         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5324         (value_in_thread_stack_temporaries)
5325         (get_last_thread_stack_temporary): Take a thread pointer instead
5326         of a ptid_t.  Adjust all callers.
5327         (thread_info::set_running): New.
5328         (validate_registers_access): Use inferior_thread.
5329         (can_access_registers_ptid): Rename to ...
5330         (can_access_registers_thread): ... this, and take a thread
5331         pointer.
5332         (print_thread_info_1): Adjust to compare thread pointers instead
5333         of ptids.
5334         (switch_to_no_thread, switch_to_thread): Make extern.
5335         (scoped_restore_current_thread::~scoped_restore_current_thread):
5336         Use m_thread pointer directly.
5337         (scoped_restore_current_thread::scoped_restore_current_thread):
5338         Use inferior_thread.
5339         (thread_command): Use thread pointer directly.
5340         (thread_num_make_value_helper): Use inferior_thread.
5341         * top.c (execute_command): Use inferior_thread.
5342         * tui/tui-interp.c: Include "inferior.h".
5343         * varobj.c (varobj_create): Use inferior_thread.
5344         (value_of_root_1): Use find_thread_global_id instead of
5345         global_thread_id_to_ptid.
5346
5347 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
5348
5349         * regcache.c (readable_regcache::read_part): Avoid memcpy when
5350         possible.
5351         (regcache::write_part): Likewise.
5352         (readable_regcache::cooked_read_part): Update comment.
5353         (readable_regcache::cooked_write_part): Likewise.
5354         * regcache.h: (readable_regcache::read_part): Likewise.
5355         (regcache::write_part): Likewise.
5356
5357 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
5358             Dirk Schubert  <dirk.schubert@arm.com>
5359
5360         * aarch64-linux-nat.c (post_attach): New.
5361         (aarch64_linux_nat_target::post_attach): Override post_attach to
5362         record the number of hardware debug registers.
5363
5364 2018-06-20  Tom Tromey  <tom@tromey.com>
5365
5366         * python/py-param.c (add_setshow_generic): Make parameters const.
5367         (parmpy_init): Update.
5368
5369 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5370
5371         * regcache.h (regcache_cooked_read_ftype): Rename to...
5372         (register_read_ftype): ...this, change type to function_view.
5373         (class reg_buffer) <save>: Remove src parameter.
5374         (readonly_detached_regcache) <readonly_detached_regcache>: Make
5375         parameter non-const in first overload.  Remove src parameter in
5376         second overload.
5377         * regcache.c (do_cooked_read): Remove.
5378         (readonly_detached_regcache::readonly_detached_regcache): Make
5379         parameter non-const, adjust call to other constructor.
5380         (reg_buffer::save): Remove src parameter.
5381         * frame.c (do_frame_register_read): Remove.
5382         (frame_save_as_regcache): Use lambda function.
5383         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
5384         parameter to ppu2spu_data *.
5385         (ppu2spu_sniffer): Use lambda function.
5386
5387 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5388
5389         * record-full.c (record_full_target::insert_breakpoint): Remove
5390         "struct" keyword, add const.
5391
5392 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
5393
5394         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
5395         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
5396         * configure.ac: Remove AC_PREREQ, add missing quoting.
5397         * gnulib/configure.ac: Modernize usage of
5398         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
5399         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
5400         (AUTOMAKE_VERSION): Bump to 1.15.1.
5401         * configure: Re-generate.
5402         * config.in: Re-generate.
5403         * aclocal.m4: Re-generate.
5404         * gnulib/aclocal.m4: Re-generate.
5405         * gnulib/config.in: Re-generate.
5406         * gnulib/configure: Re-generate.
5407         * gnulib/import/Makefile.in: Re-generate.
5408
5409 2018-06-19  Pedro Alves  <palves@redhat.com>
5410
5411         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
5412         (lookup_minimal_symbol_by_pc_section): ... here with
5413         gdb_assert_not_reached added.
5414
5415 2018-06-19  Pedro Alves  <palves@redhat.com>
5416
5417         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
5418         parameter with a block parameter.  Compare location's block symbol
5419         with the frame's block instead of addresses.
5420         (skip_inline_frames): Pass the current block instead of the
5421         frame's address.  Break out as soon as we determine the frame
5422         should not be skipped.
5423
5424 2018-06-18  Tom Tromey  <tom@tromey.com>
5425
5426         * solib-aix.c (solib_aix_get_section_offsets): Return
5427         unique_xmalloc_ptr.
5428         (solib_aix_solib_create_inferior_hook): Update.
5429
5430 2018-06-18  Tom Tromey  <tom@tromey.com>
5431
5432         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
5433
5434 2018-06-18  Tom Tromey  <tom@tromey.com>
5435
5436         * solib-frv.c (frv_relocate_main_executable): Use
5437         unique_xmalloc_ptr.
5438         * solib-dsbt.c (dsbt_relocate_main_executable): Use
5439         unique_xmalloc_ptr.
5440
5441 2018-06-18  Tom Tromey  <tom@tromey.com>
5442
5443         * objfiles.h (inhibit_section_map_updates): Update.
5444         (resume_section_map_updates, resume_section_map_updates_cleanup):
5445         Remove.
5446         * solib-svr4.c (svr4_handle_solib_event): Update.
5447         * objfiles.c (inhibit_section_map_updates): Return
5448         scoped_restore_tmpl<int>.
5449         (resume_section_map_updates, resume_section_map_updates_cleanup):
5450         Remove.
5451
5452 2018-06-18  Tom Tromey  <tom@tromey.com>
5453
5454         * valprint.h (read_string): Update.
5455         * valprint.c (read_string): Change type of "buffer".
5456         (val_print_string): Update.
5457         * python/py-value.c (valpy_string): Update.
5458         * language.h (struct language_defn) <la_get_string>: Change
5459         type of "buffer".
5460         (default_get_string, c_get_string): Update.
5461         * language.c (default_get_string): Change type of "buffer".
5462         * guile/scm-value.c (gdbscm_value_to_string): Update.
5463         * c-lang.c (c_get_string): Change type of "buffer".
5464
5465 2018-06-18  Tom Tromey  <tom@tromey.com>
5466
5467         * ser-mingw.c (struct pipe_state_destroyer): New.
5468         (pipe_state_up): New typedef.
5469         (cleanup_pipe_state): Remove.
5470         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
5471
5472 2018-06-18  Tom Tromey  <tom@tromey.com>
5473
5474         * rust-lang.h (rust_yyerror): Don't declare.
5475         * rust-lang.c (rust_language_defn): Update.
5476         * rust-exp.y (yyerror): Now static.
5477         * parse.c (parse_exp_in_context_1): Update.
5478         * p-lang.h (p_yyerror): Don't declare.
5479         * p-lang.c (p_language_defn): Update.
5480         * p-exp.y (yyerror): Now static.
5481         * opencl-lang.c (opencl_language_defn): Update.
5482         * objc-lang.c (objc_language_defn): Update.
5483         * m2-lang.h (m2_yyerror): Don't declare.
5484         * m2-lang.c (m2_language_defn): Update.
5485         * m2-exp.y (yyerror): Now static.
5486         * language.h (struct language_defn) <la_error>: Remove.
5487         * language.c (unk_lang_error): Remove.
5488         (unknown_language_defn, auto_language_defn): Remove.
5489         * go-lang.h (go_yyerror): Don't declare.
5490         * go-lang.c (go_language_defn): Update.
5491         * go-exp.y (yyerror): Now static.
5492         * f-lang.h (f_yyerror): Don't declare.
5493         * f-lang.c (f_language_defn): Update.
5494         * f-exp.y (yyerror): Now static.
5495         * d-lang.h (d_yyerror): Don't declare.
5496         * d-lang.c (d_language_defn): Update.
5497         * d-exp.y (yyerror): Now static.
5498         * c-lang.h (c_yyerror): Don't declare.
5499         * c-lang.c (c_language_defn, cplus_language_defn)
5500         (asm_language_defn, minimal_language_defn): Update.
5501         * c-exp.y (yyerror): Now static.
5502         * ada-lang.h (ada_yyerror): Don't declare.
5503         * ada-lang.c (ada_language_defn): Update.
5504         * ada-exp.y (yyerror): Now static.
5505
5506 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5507
5508         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
5509         (store_sveregs_to_thread): Likewise.
5510         (aarch64_linux_fetch_inferior_registers): Check for SVE.
5511         (aarch64_linux_store_inferior_registers): Likewise.
5512         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
5513         function.
5514         (aarch64_sve_regs_copy_to_regcache): Likewise.
5515         (aarch64_sve_regs_copy_from_regcache): Likewise.
5516         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
5517         declaration.
5518         (aarch64_sve_regs_copy_to_regcache): Likewise.
5519         (aarch64_sve_regs_copy_from_regcache): Likewise.
5520         (sve_context): Structure from Linux headers.
5521         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
5522         (SVE_SIG_ZREG_SIZE): Likewise.
5523         (SVE_SIG_PREG_SIZE): Likewise.
5524         (SVE_SIG_FFR_SIZE): Likewise.
5525         (SVE_SIG_REGS_OFFSET): Likewise.
5526         (SVE_SIG_ZREGS_OFFSET): Likewise.
5527         (SVE_SIG_ZREG_OFFSET): Likewise.
5528         (SVE_SIG_ZREGS_SIZE): Likewise.
5529         (SVE_SIG_PREGS_OFFSET): Likewise.
5530         (SVE_SIG_PREG_OFFSET): Likewise.
5531         (SVE_SIG_PREGS_SIZE): Likewise.
5532         (SVE_SIG_FFR_OFFSET): Likewise.
5533         (SVE_SIG_REGS_SIZE): Likewise.
5534         (SVE_SIG_CONTEXT_SIZE): Likewise.
5535         (SVE_PT_REGS_MASK): Likewise.
5536         (SVE_PT_REGS_FPSIMD): Likewise.
5537         (SVE_PT_REGS_SVE): Likewise.
5538         (SVE_PT_VL_INHERIT): Likewise.
5539         (SVE_PT_VL_ONEXEC): Likewise.
5540         (SVE_PT_REGS_OFFSET): Likewise.
5541         (SVE_PT_FPSIMD_OFFSET): Likewise.
5542         (SVE_PT_FPSIMD_SIZE): Likewise.
5543         (SVE_PT_SVE_ZREG_SIZE): Likewise.
5544         (SVE_PT_SVE_PREG_SIZE): Likewise.
5545         (SVE_PT_SVE_FFR_SIZE): Likewise.
5546         (SVE_PT_SVE_FPSR_SIZE): Likewise.
5547         (SVE_PT_SVE_FPCR_SIZE): Likewise.
5548         (__SVE_SIG_TO_PT): Likewise.
5549         (SVE_PT_SVE_OFFSET): Likewise.
5550         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
5551         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
5552         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
5553         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
5554         (SVE_PT_SVE_PREG_OFFSET): Likewise.
5555         (SVE_PT_SVE_PREGS_SIZE): Likewise.
5556         (SVE_PT_SVE_FFR_OFFSET): Likewise.
5557         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
5558         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
5559         (SVE_PT_SVE_SIZE): Likewise.
5560         (SVE_PT_SIZE): Likewise.
5561         (HAS_SVE_STATE): New define.
5562
5563 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5564
5565         * nat/aarch64-sve-linux-sigcontext.h: New file.
5566         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
5567         new files.
5568         (SVE_VQ_MIN): Likewise.
5569         (SVE_VQ_MAX): Likewise.
5570         (SVE_VL_MIN): Likewise.
5571         (SVE_VL_MAX): Likewise.
5572         (SVE_NUM_ZREGS): Likewise.
5573         (SVE_NUM_PREGS): Likewise.
5574         (sve_vl_valid): Likewise.
5575         (struct user_sve_header): Likewise.
5576
5577 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
5578             Richard Bunt <Richard.Bunt@arm.com>
5579
5580         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
5581         was requested by GDB.
5582
5583 2018-06-15  Tom de Vries  <tdevries@suse.de>
5584
5585         * MAINTAINERS (Write After Approval): Add Tom de Vries.
5586
5587 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
5588
5589         * gnulib/update-gnulib.sh: Print expected versions of
5590         autoconf/aclocal.
5591
5592 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
5593
5594         * arch-utils.c (default_type_align): Use type_length_units.
5595         * gdbtypes.c (type_align): Use type_length_units.
5596
5597 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5598
5599         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
5600         of 'define' command.
5601
5602 2018-06-14  Tom de Vries  <tdevries@suse.de>
5603
5604         PR cli/22573
5605         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
5606         get_no_prettyformat_print_options.
5607
5608 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
5609
5610         * sparc-nat.h: Include target.h.
5611         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
5612         <fetch_registers>: Remove this argument in function call.
5613         <store_registers>: Remove this argument in function call, remove
5614         extra semicolon.
5615         <low_forget_process>: Call sparc64_forget_process instead of
5616         sparc_forget_process.
5617
5618 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5619
5620         * procfs.c (_initialize_procfs): Use add_inf_child_target.
5621         (procfs_target::make_corefile_notes): Adjust to new
5622         target_read_alloc return type.
5623
5624 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5625             Stephen Roberts  <stephen.roberts@arm.com>
5626
5627         PR gdb/22882
5628         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
5629         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
5630         Move should_notify_stop local into more inner scope.
5631
5632 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5633             Stephen Roberts  <stephen.roberts@arm.com>
5634
5635         PR gdb/22882
5636         * infrun.c (resume_1): Add call to mark_async_event_handler.
5637
5638 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5639
5640         * infrun.c (do_target_wait): Change old version of $pc printed.
5641
5642 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
5643
5644         * dwarf2read.c (read_index_from_section): Rename to...
5645         (read_gdb_index_from_section): ... this, update all callers.
5646         (dwarf2_read_index): Rename to...
5647         (dwarf2_read_gdb_index): ... this, update all callers.
5648
5649 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
5650
5651         * gdb/hppa-linux-nat.c
5652         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
5653         hppa_linux_nat_target::fetch_registers.
5654
5655 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5656
5657         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
5658         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
5659         (AARCH64_DWARF_SVE_FFR): Likewise.
5660         (AARCH64_DWARF_SVE_P0): Likewise.
5661         (AARCH64_DWARF_SVE_Z0): Likewise.
5662
5663 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5664
5665         * common/common-regcache.h (raw_compare): New function.
5666         * regcache.c (regcache::raw_compare): Likewise.
5667         * regcache.h (regcache::raw_compare): New declaration.
5668
5669 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5670
5671         * common/common-regcache.h (reg_buffer_common): New structure.
5672         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
5673         (reg_buffer::raw_supply): Likewise.
5674         (reg_buffer::raw_supply_integer): Likewise.
5675         (reg_buffer::raw_supply_zeroed): Likewise.
5676         (reg_buffer::raw_collect): Likewise.
5677         (reg_buffer::raw_collect_integer): Likewise.
5678         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
5679         (reg_buffer::raw_supply): Likewise.
5680         (reg_buffer::raw_supply_integer): Likewise.
5681         (reg_buffer::raw_supply_zeroed): Likewise.
5682         (reg_buffer::raw_collect): Likewise.
5683         (reg_buffer::raw_collect_integer): Likewise.
5684
5685 2018-06-10  Tom Tromey  <tom@tromey.com>
5686
5687         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
5688         (class remote_state) <stop_reply_queue>: Now std::vector.
5689         (remote_state::~remote_state)
5690         (remote_target::stop_reply_queue_length): Update.
5691         (struct queue_iter_param, remove_child_of_pending_fork)
5692         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
5693         (check_pending_event_prevents_wildcard_vcont_callback)
5694         (remove_stop_reply_for_inferior)
5695         (remove_stop_reply_of_remote_state)
5696         (remote_notif_remove_once_on_match)
5697         (stop_reply_match_ptid_and_ws)
5698         (remote_kill_child_of_pending_fork): Remove.
5699         (remote_target::remove_new_fork_children)
5700         (remote_target::check_pending_events_prevent_wildcard_vcont)
5701         (remote_target::discard_pending_stop_replies)
5702         (remote_target::discard_pending_stop_replies_in_queue)
5703         (remote_target::remote_notif_remove_queued_reply)
5704         (remote_target::queued_stop_reply)
5705         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
5706         (remote_target::wait, remote_target::kill_new_fork_children)
5707         (remote_target::async): Update.
5708
5709 2018-06-10  Tom Tromey  <tom@tromey.com>
5710
5711         * record-full.c (record_full_arch_list_cleanups): Remove.
5712         (record_full_message): Use try/catch.
5713         (record_full_wait_cleanups): Remove.
5714         (record_full_wait_1): Use try/catch.
5715         (record_full_restore): Likewise.
5716
5717 2018-06-10  Tom Tromey  <tom@tromey.com>
5718
5719         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
5720         declare VEC.  Add constructor.
5721         <in_target_beneath>: Now bool.
5722         (record_full_breakpoints): Now a std::vector, static.
5723         (record_full_sync_record_breakpoints)
5724         (record_full_init_record_breakpoints)
5725         (record_full_target::insert_breakpoint)
5726         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
5727
5728 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
5729
5730         * dwarf2read.c (process_cu_includes): Remove struct keyword.
5731         * serial.c (serial_interface_lookup): Remove struct keyword.
5732
5733 2018-06-10  Tom Tromey  <tom@tromey.com>
5734
5735         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
5736         method.
5737         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
5738         a method.
5739         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
5740         method.
5741         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
5742         "beneath" as a method.
5743         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
5744         Use "beneath" as a method.
5745
5746 2018-06-10  Tom Tromey  <tom@tromey.com>
5747
5748         * tracefile.c (struct trace_file_writer_deleter): New.
5749         <operator()>: Rename from trace_file_writer_xfree.
5750         (trace_file_writer_up): New typedef.
5751         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
5752
5753 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5754
5755         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
5756         <m_registers, m_register_status>: Change type to
5757         std::unique_ptr.
5758         * regcache.c (reg_buffer::reg_buffer): Use new instead of
5759         XCNEWVEC.
5760
5761 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5762
5763         * common/common-regcache.h (enum register_status): Add
5764         underlying type "signed char".
5765         * regcache.h (reg_buffer) <m_register_status>: Change type to
5766         register_status *.
5767         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
5768         register_status instead of signed char.
5769         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
5770         (reg_buffer::get_register_status): Remove cast.
5771         (readable_regcache::raw_read): Remove cast.
5772         (readable_regcache::cooked_read): Remove cast.
5773
5774 2018-06-09  Tom Tromey  <tom@tromey.com>
5775
5776         * source.c (reverse_search_command, forward_search_command): Use
5777         scoped_fd.
5778
5779 2018-06-09  Tom Tromey  <tom@tromey.com>
5780
5781         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
5782         (serial_ops_list): Now static, std::vector.
5783         (serial_interface_lookup, serial_add_interface): Update.
5784
5785 2018-06-09  Tom Tromey  <tom@tromey.com>
5786
5787         * dwarf2read.c (process_cu_includes): Update.
5788         (process_full_comp_unit): Update.
5789         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
5790         std::vector.
5791
5792 2018-06-08  Paul Koning  <paul_koning@dell.com>
5793
5794         PR gdb/23252
5795
5796         * python/python.c (do_start_initialization):
5797         Avoid call to internal Python API.
5798         (init__gdb_module): New function.
5799
5800 2018-06-08  Gary Benson <gbenson@redhat.com>
5801
5802         * linux-thread-db.c (valprint.h): New include.
5803         (struct check_thread_db_info): New structure.
5804         (check_thread_db_on_load, tdb_testinfo): New static globals.
5805         (check_thread_db, check_thread_db_callback): New functions.
5806         (try_thread_db_load_1): Run integrity checks if requested.
5807         (maintenance_check_libthread_db): New function.
5808         (_initialize_thread_db): Register "maint check libthread-db"
5809         and "maint set/show check-libthread-db".
5810         * NEWS: Mention the above new commands.
5811
5812 2018-06-08  Tom Tromey  <tom@tromey.com>
5813
5814         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
5815         now a method.
5816
5817 2018-06-08  Tom Tromey  <tom@tromey.com>
5818
5819         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
5820
5821 2018-06-08  Tom Tromey  <tom@tromey.com>
5822
5823         * common/btrace-common.h (struct btrace_data): Add constructor,
5824         destructor, move assignment operator.
5825         <empty, clear, fini>: New methods.
5826         <format>: Initialize.
5827         (btrace_data_init, btrace_data_fini, btrace_data_clear)
5828         (btrace_data_empty): Don't declare.
5829         * common/btrace-common.c (btrace_data_init): Remove.
5830         (btrace_data::fini): Rename from btrace_data_fini.
5831         (btrace_data::empty): Rename from btrace_data_empty.
5832         (btrace_data::clear): Rename from btrace_data_clear.  Return
5833         bool.
5834         * btrace.h (make_cleanup_btrace_data): Don't declare.
5835         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
5836         (parse_xml_btrace): Update.
5837         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
5838         (maint_btrace_clear_packet_history_cmd): Update.
5839
5840 2018-06-07  Pedro Alves  <palves@redhat.com>
5841
5842         * target.h (target_ops) <beneath>: Now a method.  All references
5843         updated.
5844         (class target_stack): New.
5845         * target.c (g_target_stack): New.
5846         (g_current_top_target): Delete.
5847         (current_top_target): Get the top target out of g_target_stack.
5848         (target_stack::push, target_stack::unpush): New.
5849         (push_target, unpush_target): Reimplement.
5850         (target_is_pushed): Reimplement in terms of g_target_stack.
5851         (target_ops::beneath, target_stack::find_beneath): New.
5852
5853 2018-06-07  Pedro Alves  <palves@redhat.com>
5854
5855         * target.h (find_target_beneath): Delete declaration.
5856         * target.c (find_target_beneath): Delete definition.
5857         * aix-thread.c: All callers of find_target_beneath adjusted to
5858         call target_ops::beneath instead.
5859         * bsd-uthread.c: Likewise.
5860         * linux-thread-db.c: Likewise.
5861         * ravenscar-thread.c: Likewise.
5862         * sol-thread.c: Likewise.
5863         * spu-multiarch.c: Likewise.
5864
5865 2018-06-07  Pedro Alves  <palves@redhat.com>
5866
5867         * target.h (target_ops) <beneath>: Now a method.  All references
5868         updated.
5869         (target_ops) <m_beneath>: New.
5870         * target.c (target_ops::beneath): New.
5871         * corelow.c: Adjust all references to target_ops::beneath.
5872         * linux-thread-db.c: Likewise.
5873         * make-target-delegates: Likewise.
5874         * record-btrace.c: Likewise.
5875         * record-full.c: Likewise.
5876         * remote.c: Likewise.
5877         * target.c: Likewise.
5878         * target-delegates.c: Regenerate.
5879
5880 2018-06-07  Pedro Alves  <palves@redhat.com>
5881
5882         * target.h (target_stack): Delete.
5883         (current_top_target): Declare function.
5884         * target.c (target_stack): Delete.
5885         (g_current_top_target): New.
5886         (current_top_target): New function.
5887         * auxv.c: Use current_top_target instead of target_stack
5888         throughout.
5889         * avr-tdep.c: Likewise.
5890         * breakpoint.c: Likewise.
5891         * corefile.c: Likewise.
5892         * elfread.c: Likewise.
5893         * eval.c: Likewise.
5894         * exceptions.c: Likewise.
5895         * frame.c: Likewise.
5896         * gdbarch-selftests.c: Likewise.
5897         * gnu-v3-abi.c: Likewise.
5898         * ia64-tdep.c: Likewise.
5899         * ia64-vms-tdep.c: Likewise.
5900         * infcall.c: Likewise.
5901         * infcmd.c: Likewise.
5902         * infrun.c: Likewise.
5903         * linespec.c: Likewise.
5904         * linux-tdep.c: Likewise.
5905         * minsyms.c: Likewise.
5906         * ppc-linux-nat.c: Likewise.
5907         * ppc-linux-tdep.c: Likewise.
5908         * procfs.c: Likewise.
5909         * regcache.c: Likewise.
5910         * remote.c: Likewise.
5911         * rs6000-tdep.c: Likewise.
5912         * s390-linux-nat.c: Likewise.
5913         * s390-tdep.c: Likewise.
5914         * solib-aix.c: Likewise.
5915         * solib-darwin.c: Likewise.
5916         * solib-dsbt.c: Likewise.
5917         * solib-spu.c: Likewise.
5918         * solib-svr4.c: Likewise.
5919         * solib-target.c: Likewise.
5920         * sparc-tdep.c: Likewise.
5921         * sparc64-tdep.c: Likewise.
5922         * spu-tdep.c: Likewise.
5923         * symfile.c: Likewise.
5924         * symtab.c: Likewise.
5925         * target-descriptions.c: Likewise.
5926         * target-memory.c: Likewise.
5927         * target.c: Likewise.
5928         * target.h: Likewise.
5929         * tracefile-tfile.c: Likewise.
5930         * tracepoint.c: Likewise.
5931         * valops.c: Likewise.
5932         * valprint.c: Likewise.
5933         * value.c: Likewise.
5934         * windows-tdep.c: Likewise.
5935         * mi/mi-main.c: Likewise.
5936
5937 2018-06-07  Tom Tromey  <tom@tromey.com>
5938
5939         * valprint.h (build_address_symbolic): Declare.
5940         * printcmd.c (print_address_symbolic): Update.
5941         (build_address_symbolic): Change "name" and "filename" to
5942         std::string.
5943         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
5944         Update.
5945         * defs.h (build_address_symbolic): Remove declaration.
5946
5947 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
5948
5949         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
5950         (aarch64_vnv_type): Add function.
5951         (aarch64_pseudo_register_name): Add V regs for SVE.
5952         (aarch64_pseudo_register_type): Likewise.
5953         (aarch64_pseudo_register_reggroup_p): Likewise.
5954         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
5955         (aarch64_pseudo_read_value): Add V regs for SVE.
5956         (aarch64_pseudo_write_2): Use V0 offset for SVE
5957         (aarch64_pseudo_write): Add V regs for SVE.
5958         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
5959
5960 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
5961
5962         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
5963         (sve_vl_from_vq): Likewise.
5964
5965 2018-06-05  Tom Tromey  <tom@tromey.com>
5966
5967         * cli/cli-cmds.c (show_version): Update.
5968         * top.c (print_gdb_version): Add "interactive" parameter.
5969         Update.
5970         * main.c (captured_main_1): Update.
5971         * top.h (print_gdb_version): Add "interactive" parameter and a
5972         comment.
5973
5974 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
5975
5976         * common/enum-flags.h: Add trailing semicolon to example in
5977         comment.
5978
5979 2018-06-05  Tom Tromey  <tom@tromey.com>
5980
5981         PR cli/12326:
5982         * NEWS: Add entry about pager.
5983         * utils.c (pagination_disabled_for_command): New global.
5984         (prompt_for_continue): Allow "c" response to prompt.
5985         (reinitialize_more_filter): Clear
5986         pagination_disabled_for_command.
5987         (fputs_maybe_filtered): Check pagination_disabled_for_command.
5988
5989 2018-06-04  Tom Tromey  <tom@tromey.com>
5990
5991         * ada-lang.h (ada_lookup_symbol_list): Update.
5992         * ada-lang.c (resolve_subexp): Update.
5993         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
5994         parameter.
5995         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
5996         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
5997         results parameter to std::vector.
5998         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
5999         Update.
6000         * ada-exp.y (block_lookup): Update.
6001         (select_possible_type_sym): Change type of syms.  Remove nsyms
6002         parameter.
6003         (write_var_or_type, write_name_assoc): Update.
6004
6005 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
6006
6007         * windows-nat.c (windows_nat_target::xfer_partial): Return
6008         TARGET_XFER_E_IO if we need to delegate to the target beneath
6009         but BENEATH is NULL.
6010
6011 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
6012
6013         * Makefile.in (config.status): Add configure.nat as a
6014         dependency.
6015
6016 2018-06-04  Tom Tromey  <tom@tromey.com>
6017
6018         * cp-name-parser.y (cpname_state): Add method declarations.
6019         (HANDLE_QUAL): Update.
6020         (cpname_state::d_grab, cpname_state::fill_comp)
6021         (cpname_state::make_operator, cpname_state::make_dtor)
6022         (cpname_state::make_builtin_type, cpname_state::make_name)
6023         (cpname_state::d_qualify, cpname_state::d_int_type)
6024         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
6025         (%union): Move earlier.
6026
6027 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6028
6029         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
6030
6031 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6032
6033         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
6034         (aarch64_pseudo_write_1): Likewise.
6035         (aarch64_pseudo_read_value): Use helper.
6036         (aarch64_pseudo_write): Likewise.
6037
6038 2018-06-04  Pedro Alves  <palves@redhat.com>
6039
6040         * darwin-nat.c (darwin_ops): Delete.
6041         (darwin_attach_pid): Use get_native_target.
6042
6043 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6044
6045         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
6046         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
6047
6048 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6049
6050         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
6051         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
6052         (aarch64_gdbarch_init): Check for SVE.
6053         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
6054
6055 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6056
6057         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
6058         * aarch64-tdep.h (aarch64_read_description): Likewise.
6059         * arch/aarch64.c (aarch64_create_target_description): Likewise.
6060         * arch/aarch64.h (aarch64_create_target_description): Likewise.
6061         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
6062         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
6063         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
6064
6065 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
6066
6067         * value.c (value_fetch_lazy_bitfield): New.
6068         (value_fetch_lazy_memory): New.
6069         (value_fetch_lazy_register): New.
6070         (value_fetch_lazy): Factor out to smaller functions.
6071
6072 2018-06-01  Tom Tromey  <tom@tromey.com>
6073
6074         * cp-name-parser.y (backslashable, represented): Now const.
6075
6076 2018-06-01  Tom Tromey  <tom@tromey.com>
6077
6078         * cp-name-parser.y: Include parser-defs.h.
6079         (parser_fprintf): Remove declaration.
6080
6081 2018-06-01  Tom Tromey  <tom@tromey.com>
6082
6083         * cp-name-parser.y: Use %pure-parser, %lex-param, and
6084         %parse-param.
6085         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
6086         (global_result): Remove globals.
6087         (struct cpname_state): New.
6088         (yyparse): Don't declare.
6089         (yylex, yyerror): Move declarations after %union.
6090         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
6091         (make_name): Add state parameter.
6092         Update all callers.
6093         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
6094         parameter.
6095         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
6096         Update.
6097         (yylex): Add lvalp, state parameters.
6098         (yyerror): Add state parameter.
6099         (cp_demangled_name_to_comp): Update.
6100
6101 2018-06-01  Tom Tromey  <tom@tromey.com>
6102
6103         * cp-name-parser.y (parser_fprintf): Declare.
6104         (GDB_YY_REMAP_PREFIX): Define.
6105         Include yy-remap.h.  Don't redefine yy* identifiers.
6106
6107 2018-06-01  Tom Tromey  <tom@tromey.com>
6108
6109         * python/py-type.c (typy_legacy_template_argument): Update.
6110         * cp-support.h (cp_demangled_name_to_comp): Update.
6111         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
6112         parameter to be a "std::string *".
6113         (main): Update.
6114
6115 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
6116
6117         * ada-lex.l: Include "diagnostics.h" instead of
6118         "common/diagnostics.h".
6119         * unittests/environ-selftests.c: Likewise.
6120         * common/diagnostics.h: Moved to ../include.
6121
6122 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
6123
6124         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
6125         to language_mode_manual while calling breakpoint_re_set_one.
6126
6127 2018-06-01  Tom Tromey  <tom@tromey.com>
6128
6129         * valops.c (value_cast_structs, destructor_name_p): Update.
6130         * symtab.c (gdb_mangle_name): Update.
6131         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
6132         Update.
6133         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
6134         (pascal_object_print_value_fields, pascal_object_print_value):
6135         Update.
6136         * p-typeprint.c (pascal_type_print_derivation_info): Update.
6137         * linespec.c (find_methods): Update.
6138         * gdbtypes.h (type_name_no_tag): Remove.
6139         (type_name_or_error): Rename from type_name_no_tag_or_error.
6140         * gdbtypes.c (type_name_no_tag): Remove.
6141         (type_name_or_error): Rename from type_name_no_tag_or_error.
6142         (lookup_struct_elt_type, check_typedef): Update.
6143         * expprint.c (print_subexp_standard): Update.
6144         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
6145         * d-namespace.c (d_lookup_nested_symbol): Update.
6146         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
6147         (cp_print_class_member): Update.
6148         * cp-namespace.c (cp_lookup_nested_symbol): Update.
6149         * completer.c (add_struct_fields): Update.
6150         * c-typeprint.c (cp_type_print_derivation_info)
6151         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
6152         Update.
6153         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
6154         (ada_prefer_type, ada_is_exception_sym): Update.
6155
6156 2018-06-01  Tom Tromey  <tom@tromey.com>
6157
6158         * valops.c (enum_constant_from_type, value_namespace_elt)
6159         (value_maybe_namespace_elt): Update.
6160         * valarith.c (find_size_for_pointer_math): Update.
6161         * target-descriptions.c (make_gdb_type): Update.
6162         * symmisc.c (print_symbol): Update.
6163         * stabsread.c (define_symbol, read_type)
6164         (complain_about_struct_wipeout, add_undefined_type)
6165         (cleanup_undefined_types_1): Update.
6166         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
6167         (rust_range_type_p, val_print_struct, rust_print_struct_def)
6168         (rust_internal_print_type, rust_composite_type)
6169         (rust_evaluate_funcall, rust_evaluate_subexp)
6170         (rust_inclusive_range_type_p): Update.
6171         * python/py-type.c (typy_get_tag): Update.
6172         * p-typeprint.c (pascal_type_print_base): Update.
6173         * mdebugread.c (parse_symbol, parse_type): Update.
6174         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
6175         Update.
6176         * guile/scm-type.c (gdbscm_type_tag): Update.
6177         * go-lang.c (sixg_string_p): Update.
6178         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
6179         Update.
6180         * gdbtypes.h (struct main_type) <tag_name>: Remove.
6181         (TYPE_TAG_NAME): Remove.
6182         * gdbtypes.c (type_name_no_tag): Simplify.
6183         (check_typedef, check_types_equal, recursive_dump_type)
6184         (copy_type_recursive, arch_composite_type): Update.
6185         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
6186         in summary mode when needed.
6187         * eval.c (evaluate_funcall): Update.
6188         * dwarf2read.c (fixup_go_packaging, read_structure_type)
6189         (process_structure_scope, read_enumeration_type)
6190         (read_namespace_type, read_module_type, determine_prefix): Update.
6191         * cp-support.c (inspect_type): Update.
6192         * coffread.c (process_coff_symbol, decode_base_type): Update.
6193         * c-varobj.c (c_is_path_expr_parent): Update.
6194         * c-typeprint.c (c_type_print_base_struct_union): Update.
6195         (c_type_print_base_1): Update.  Print struct/class/union/enum in
6196         summary when using C language.
6197         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
6198         (gen_maybe_namespace_elt): Update.
6199         * ada-lang.c (ada_type_name): Simplify.
6200         (empty_record, ada_template_to_fixed_record_type_1)
6201         (template_to_static_fixed_type)
6202         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
6203
6204 2018-06-01  Tom Tromey  <tom@tromey.com>
6205
6206         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
6207         c_print_type.
6208         * c-typeprint.c (c_print_type_1): Add "language" parameter.
6209         (c_print_type): Update.
6210         (c_print_type): New overload.
6211         (c_type_print_varspec_prefix, c_type_print_args)
6212         (c_type_print_varspec_suffix, c_print_type_no_offsets)
6213         (c_type_print_base_struct_union, c_type_print_base_1)
6214         (cp_type_print_method_args): Add "language" parameter.
6215         (c_type_print_base): Update.
6216         * c-lang.h (c_print_type): Add new overload.
6217
6218 2018-06-01  Tom Tromey  <tom@tromey.com>
6219
6220         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
6221         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
6222
6223 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
6224
6225         * aarch64-tdep.c (aarch64_sve_register_names): New const
6226         var.
6227         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
6228         (AARCH64_SVE_Z_REGS_NUM): New define.
6229         (AARCH64_SVE_P_REGS_NUM): Likewise.
6230         (AARCH64_SVE_NUM_REGS): Likewise.
6231
6232 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
6233
6234         * nat/linux-ptrace.h [__alpha__]
6235         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
6236         definitions.
6237
6238 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
6239
6240         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
6241         the endianness selected.
6242         * NEWS: Document `set endian auto' mode operation update.
6243
6244 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6245
6246         * Makefile.in: Add new header.
6247         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
6248         (sve_vl_from_vg): Likewise.
6249         (sve_vq_from_vl): Likewise.
6250         (sve_vl_from_vq): Likewise.
6251         (sve_vq_from_vg): Likewise.
6252         (sve_vg_from_vq): Likewise.
6253         * configure.nat: Add new c file.
6254         * nat/aarch64-sve-linux-ptrace.c: New file.
6255         * nat/aarch64-sve-linux-ptrace.h: New file.
6256
6257 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6258
6259         * aarch64-linux-nat.c (aarch64_linux_read_description):
6260         Add parmeter zero.
6261         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
6262         Likewise.
6263         * aarch64-tdep.c (tdesc_aarch64_list): Add.
6264         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
6265         (aarch64_gdbarch_init): Add parmeter zero.
6266         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
6267         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
6268         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
6269         parmeter.
6270         * doc/gdb.texinfo: Describe SVE feature
6271         * features/aarch64-sve.c: New file.
6272
6273 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
6274
6275         PR gdb/23210
6276         * gdbarch.sh (significant_addr_bit): Default to zero when
6277         not set by target architecture.
6278         * gdbarch.c: Re-generated.
6279         * utils.c (address_significant): Update.
6280
6281 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
6282
6283         * stack.c (func_command): Remove trailing newline in call to error.
6284
6285 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6286
6287         * regcache.h (regcache_raw_collect): Remove, update callers to
6288         use regcache::raw_collect.
6289         * regcache.c (regcache_raw_collect): Remove.
6290
6291 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6292
6293         * regcache.h (regcache_raw_supply): Remove, update callers to
6294         use detached_regcache::raw_supply.
6295         * regcache.c (regcache_raw_supply): Remove.
6296
6297 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6298
6299         * regcache.h (regcache_cooked_write_part): Remove, update
6300         callers to use regcache::cooked_write_part.
6301         * regcache.c (regcache_cooked_write_part): Remove.
6302
6303 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6304
6305         * regcache.h (regcache_cooked_read_part): Remove, update callers
6306         to use readable_regcache::cooked_read_part.
6307         * regcache.c (regcache_cooked_read_part): Remove.
6308
6309 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6310
6311         * regcache.h (regcache_cooked_read_value): Remove, update
6312         callers to use readable_regcache::cooked_read_value.
6313         * regcache.c (regcache_cooked_read_value): Remove.
6314
6315 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6316
6317         * regcache.h (regcache_cooked_write): Remove, update callers to
6318         use regcache::cooked_write.
6319         * regcache.c (regcache_cooked_write): Remove.
6320
6321 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6322
6323         * regcache.h (regcache_invalidate): Remove, update callers to
6324         use detached_regcache::invalidate instead.
6325         * regcache.c (regcache_invalidate): Remove.
6326
6327 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6328
6329         * regcache.h (regcache_raw_write_part): Remove, update callers
6330         to use regcache::raw_write_part instead.
6331         * regcache.c (regcache_raw_write_part): Remove.
6332
6333 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6334
6335         * regcache.h (regcache_raw_read_part): Remove, update callers to
6336         use readable_regcache::raw_read_part instead.
6337         * regcache.c (regcache_raw_read_part): Remove.
6338
6339 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6340
6341         * regcache.h (regcache_cooked_read): Remove, update callers to
6342         use readable_regcache::cooked_read instead.
6343         * regcache.c (regcache_cooked_read): Remove.
6344
6345 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6346
6347         * regcache.h (regcache_raw_write): Remove, update callers to use
6348         regcache::raw_write instead.
6349         * regcache.c (regcache_raw_write): Remove.
6350
6351 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6352
6353         * regcache.h (regcache_raw_read): Remove, update callers to use
6354         readable_regcache::raw_read instead.
6355         * regcache.c (regcache_raw_read): Remove.
6356
6357 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6358
6359         * regcache.h (regcache_raw_update): Remove, update callers to
6360         use readable_regcache::raw_update instead.
6361         * regcache.c (regcache_raw_update): Remove.
6362
6363 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6364
6365         * regcache.h (regcache_register_status): Remove, update callers
6366         to use reg_buffer::get_register_status directly instead.
6367         * regcache.c (regcache_register_status): Remove.
6368
6369 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6370
6371         * regcache.h (regcache_get_ptid): Remove, update all callers to
6372         call regcache::ptid instead.
6373         * regcache.c (regcache_get_ptid): Remove.
6374
6375 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6376
6377         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
6378
6379 2018-05-30  Pedro Alves  <palves@redhat.com>
6380
6381         * common/common-exceptions.h (exception_rethrow): Use
6382         ATTRIBUTE_NORETURN.
6383
6384 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
6385
6386         * breakpoint.c (print_solib_event, check_status_catch_solib):
6387         Remove struct keyword in range-based for loops.
6388         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
6389         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
6390         Likewise.
6391         * linespec.c (find_superclass_methods, search_minsyms_for_name):
6392         Likewise.
6393         * symfile.c (addr_info_make_relative): Likewise.
6394         * thread.c (value_in_thread_stack_temporaries): Likewise.
6395
6396 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
6397
6398         PR gdb/16841
6399         * valops.c (value_struct_elt_for_reference): Call check_typedef on
6400         aggregate type to get its real type before accessing it.
6401
6402 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
6403
6404         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
6405         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
6406         * coff-pe-read.c (add_pe_forwarded_sym): Replace
6407         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
6408         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
6409         * jit.c (jit_breakpoint_re_set_internal): Likewise.
6410         * printcmd.c (info_address_command): Likewise.
6411
6412 2018-05-29  Tom Tromey  <tom@tromey.com>
6413
6414         * windows-nat.c (handle_exception): Update fall-through comment.
6415
6416 2018-05-29  Tom Tromey  <tom@tromey.com>
6417
6418         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
6419         (struct program_space) <added_solibs>: Now a std::vector.
6420         * breakpoint.c (print_solib_event): Update.
6421         (check_status_catch_solib): Update.
6422         * progspace.c (clear_program_space_solib_cache): Update.
6423         * solib.c (update_solib_list): Update.
6424
6425 2018-05-29  Tom Tromey  <tom@tromey.com>
6426
6427         * python/py-type.c (typy_richcompare): Update.
6428         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
6429         * gdbtypes.h (types_deeply_equal): Return bool.
6430         (types_equal): Likewise.
6431         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
6432         declare VEC.
6433         (check_types_equal): Change worklist to std::vector.  Return
6434         bool.
6435         (struct type_equality_entry): Add constructor.
6436         (compare_maybe_null_strings): Return bool.
6437         (check_types_worklist): Return bool.  Change worklist to
6438         std::vector.
6439         (types_deeply_equal): Use std::vector.
6440         (types_equal): Return bool.
6441         (compare_maybe_null_strings): Simplify.
6442
6443 2018-05-29  Tom Tromey  <tom@tromey.com>
6444
6445         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
6446
6447 2018-05-29  Tom Tromey  <tom@tromey.com>
6448
6449         * objc-lang.h: Don't include cp-support.h.
6450         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
6451         declare VEC.
6452
6453 2018-05-27  Tom Tromey  <tom@tromey.com>
6454
6455         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
6456
6457 2018-05-25  Tom Tromey  <tom@tromey.com>
6458
6459         * value.c (value::location): Initialize.
6460
6461 2018-05-25  Tom Tromey  <tom@tromey.com>
6462
6463         * dbxread.c (init_bincl_list): Remove.
6464         (bincl_list): Now a std::vector.
6465         (bincls_allocated, next_bincl): Remove.
6466         (free_bincl_list, do_free_bincl_list_cleanup)
6467         (make_cleanup_free_bincl_list): Remove.
6468         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
6469         unique_xmalloc_ptr.
6470         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
6471         (struct header_file_location): Add constructor.
6472         (add_bincl_to_list): Remove.
6473
6474 2018-05-25  Tom Tromey  <tom@tromey.com>
6475
6476         * tui/tui.c (tui_enable): Update.
6477         * mi/mi-interp.c (mi_interp::init): Update.
6478         * interps.h (class interp) <name>: New method.
6479         <m_name>: Rename from name.
6480         (~scoped_restore_interp): Update.
6481         * interps.c (interp::interp): Update.
6482         (interp_add, interp_set, interp_lookup_existing)
6483         (current_interp_named_p): Update.
6484
6485 2018-05-25  Tom Tromey  <tom@tromey.com>
6486
6487         * interps.c (interp_name): Remove.
6488         * mi/mi-interp.c (mi_interp::init): Update.
6489         * interps.h (interp_name): Remove.
6490         (~scoped_restore_interp): Update.
6491         * tui/tui.c (tui_enable): Update.
6492
6493 2018-05-25  Tom Tromey  <tom@tromey.com>
6494
6495         * utils.c (fputs_maybe_filtered): Update.
6496         * linespec.c (decode_line_full): Update.
6497         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
6498         (mi_print_breakpoint_for_event, mi_solib_loaded)
6499         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
6500         (mi_user_selected_context_changed): Update.
6501         * mi/mi-main.c (mi_execute_command): Update.
6502         * cli/cli-script.c (execute_control_command): Update.
6503         * python/python.c (execute_gdb_command): Update.
6504         * solib.c (info_sharedlibrary_command): Update.
6505         * interps.c (interp_ui_out): Remove.
6506         * interps.h (interp_ui_out): Remove.
6507
6508 2018-05-25  Tom Tromey  <tom@tromey.com>
6509
6510         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
6511         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
6512         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
6513
6514 2018-05-25  Tom Tromey  <tom@tromey.com>
6515
6516         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
6517         * interps.c (interp_exec): Use scoped_restore.
6518
6519 2018-05-25  Tom Tromey  <tom@tromey.com>
6520
6521         * remote.c (remote_target::remote_file_get): Use
6522         gdb::byte_vector.
6523         (remote_target::remote_file_put): Likewise.
6524
6525 2018-05-25  Tom Tromey  <tom@tromey.com>
6526
6527         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
6528         a std::string.
6529         (get_pe_section_index, add_pe_exported_sym): Update.
6530         (read_pe_exported_syms): Use gdb::def_vector.
6531
6532 2018-05-25  Tom Tromey  <tom@tromey.com>
6533
6534         * frame.c (remove_prev_frame): Remove.
6535         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
6536
6537 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
6538
6539         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
6540         Remove prototypes.
6541         * mips-linux-nat.c (supply_fpregset): Always call
6542         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
6543         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
6544         `mips_fill_fpregset'.
6545         * mips-linux-tdep.c (mips_supply_fpregset)
6546         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
6547         (mips_fill_fpregset_wrapper): Remove functions.
6548         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
6549         (mips_linux_fpregset): Remove variable.
6550         (mips_linux_iterate_over_regset_sections): Use
6551         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
6552         (mips_linux_o32_sigframe_init): Remove comment.
6553
6554 2018-05-25  Pedro Alves  <palves@redhat.com>
6555
6556         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
6557         (struct readahead_cache, struct packet_reg, struct
6558         remote_arch_state, class remote_state): Move higher up in the
6559         file.
6560         (remote_target::m_remote_state): Now an object instead of a pointer.
6561         (remote_target::get_remote_state): Adjust.
6562
6563 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6564
6565         * stack.c (select_and_print_frame): Delete.
6566         (struct function_bounds): Move struct within function.
6567         (func_command): Most content moved into new function
6568         find_frame_for_function, use new function, print result, add
6569         function comment.
6570         (find_frame_for_function): New function, now returns a result.
6571
6572 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6573
6574         * stack.c (iterate_over_block_arg_vars): Fix comment.
6575         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
6576
6577 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6578
6579         PR gdb/23203
6580         * frame.c
6581         (scoped_restore_selected_frame::scoped_restore_selected_frame):
6582         Define.
6583         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
6584         Define.
6585         * frame.h (class scoped_restore_selected_frame): New class.
6586         * stack.c (print_frame_local_vars): Remove catching and rethrowing
6587         of any exception, use scoped_restore_selected_frame to restore the
6588         frame instead.
6589
6590 2018-05-24  Pedro Alves  <palves@redhat.com>
6591
6592         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
6593         override.
6594
6595 2018-05-23  Tom Tromey  <tom@tromey.com>
6596
6597         * complaints.c (struct complaints): Remove.
6598         (symfile_complaint_book): Remove.
6599         (series): New global.
6600         (complaint_internal): Update.
6601         (clear_complaints): Update.
6602
6603 2018-05-23  Tom Tromey  <tom@tromey.com>
6604
6605         * complaints.c (counters): New global.
6606         (struct complain): Remove.
6607         (struct complaints) <root>: Remove.
6608         (complaint_sentinel): Remove.
6609         (symfile_complaint_book): Update.
6610         (find_complaint) Remove.
6611         (complaint_internal, clear_complaints): Update.
6612
6613 2018-05-23  Tom Tromey  <tom@tromey.com>
6614
6615         * complaints.c (struct complain) <file, line>: Remove.
6616         (find_complaint): Remove file, line parameters.
6617         (complaint_internal): Update.
6618
6619 2018-05-23  Tom Tromey  <tom@tromey.com>
6620
6621         * complaints.c (vcomplaint): Remove.
6622         (complaint_internal) Merge in contents of vcomplaint.
6623
6624 2018-05-23  Tom Tromey  <tom@tromey.com>
6625
6626         * complaints.c (struct complaints) <explanation>: Remove.
6627         (symfile_explanations): Remove.
6628         (symfile_complaint_book): Update.
6629         (vcomplaint): Update.
6630         (struct explanation): Remove.
6631
6632 2018-05-23  Tom Tromey  <tom@tromey.com>
6633
6634         * complaints.c (symfile_complaints): Remove.
6635         (complaint_internal): Remove "complaints" parameter.
6636         (clear_complaints, vcomplaint): Remove "c" parameter.
6637         (get_complaints): Remove.
6638         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
6639         (dwarf2_debug_line_missing_file_complaint)
6640         (dwarf2_debug_line_missing_end_sequence_complaint)
6641         (dwarf2_complex_location_expr_complaint)
6642         (dwarf2_const_value_length_mismatch_complaint)
6643         (dwarf2_section_buffer_overflow_complaint)
6644         (dwarf2_macro_malformed_definition_complaint)
6645         (dwarf2_invalid_attrib_class_complaint)
6646         (create_addrmap_from_index, dw2_symtab_iter_next)
6647         (dw2_expand_marked_cus)
6648         (dw2_debug_names_iterator::find_vec_in_debug_names)
6649         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
6650         (create_debug_type_hash_table, init_cutu_and_read_dies)
6651         (partial_die_parent_scope, add_partial_enumeration)
6652         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
6653         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
6654         (read_import_statement, read_file_scope, create_dwo_cu_reader)
6655         (create_cus_hash_table, create_dwp_hash_table)
6656         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
6657         (dwarf2_rnglists_process, dwarf2_ranges_process)
6658         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
6659         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
6660         (handle_struct_member_die, process_structure_scope)
6661         (read_array_type, read_common_block, read_module_type)
6662         (read_tag_pointer_type, read_typedef, read_base_type)
6663         (read_subrange_type, load_partial_dies, partial_die_info::read)
6664         (partial_die_info::read, partial_die_info::read)
6665         (partial_die_info::read, read_checked_initial_length_and_offset)
6666         (dwarf2_string_attr, read_formatted_entries)
6667         (dwarf_decode_line_header)
6668         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
6669         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
6670         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
6671         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
6672         (get_signatured_type, get_DW_AT_signature_type)
6673         (decode_locdesc, file_file_name, consume_improper_spaces)
6674         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
6675         (dwarf_decode_macro_bytes, dwarf_decode_macros)
6676         (dwarf2_symbol_mark_computed, set_die_type)
6677         (read_attribute_value): Update.
6678         * stap-probe.c (handle_stap_probe, get_stap_base_address):
6679         Update.
6680         * dbxread.c (unknown_symtype_complaint)
6681         (lbrac_mismatch_complaint, repeated_header_complaint)
6682         (set_namestring, function_outside_compilation_unit_complaint)
6683         (read_dbx_symtab, process_one_symbol): Update.
6684         * gdbtypes.c (stub_noname_complaint): Update.
6685         * windows-nat.c (handle_unload_dll): Update.
6686         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
6687         (decode_base_type): Update.
6688         * xcoffread.c (bf_notfound_complaint, ef_complaint)
6689         (eb_complaint, record_include_begin, record_include_end)
6690         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
6691         (process_xcoff_symbol, read_symbol)
6692         (function_outside_compilation_unit_complaint)
6693         (scan_xcoff_symtab): Update.
6694         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
6695         * buildsym.c (finish_block_internal, make_blockvector)
6696         (end_symtab_get_static_block, augment_type_symtab): Update.
6697         * dtrace-probe.c (dtrace_process_dof)
6698         (dtrace_static_probe_ops::get_probes): Update.
6699         * complaints.h (struct complaint): Don't declare.
6700         (symfile_complaints): Remove.
6701         (complaint_internal): Remove "complaints" parameter.
6702         (complaint): Likewise.
6703         (clear_complaints): Likewise.
6704         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6705         (reread_symbols): Update.
6706         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
6707         (dwarf2_frame_cache, decode_frame_entry): Update.
6708         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
6709         * objc-lang.c (lookup_objc_class, lookup_child_selector)
6710         (info_selectors_command): Update.
6711         * macrotab.c (macro_include, check_for_redefinition)
6712         (macro_undef): Update.
6713         * objfiles.c (filter_overlapping_sections): Update.
6714         * stabsread.c (invalid_cpp_abbrev_complaint)
6715         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
6716         (define_symbol, error_type, read_type, rs6000_builtin_type)
6717         (stabs_method_name_from_physname, read_member_functions)
6718         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
6719         (attach_fields_to_type, complain_about_struct_wipeout)
6720         (read_range_type, read_args, common_block_start)
6721         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
6722         Update.
6723         * mdebugread.c (index_complaint, unknown_ext_complaint)
6724         (basic_type_complaint, bad_tag_guess_complaint)
6725         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
6726         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
6727         (parse_procedure, parse_lines)
6728         (function_outside_compilation_unit_complaint)
6729         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
6730         (bad_tag_guess_complaint, reg_value_complaint): Update.
6731         * cp-support.c (demangled_name_complaint): Update.
6732         * macroscope.c (sal_macro_scope): Update.
6733         * dwarf-index-write.c (class debug_names): Update.
6734
6735 2018-05-23  Tom Tromey  <tom@tromey.com>
6736
6737         * complaints.c (clear_complaints): Remove "noisy" parameter.
6738         * complaints.h (clear_complaints): Update.
6739         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6740         (reread_symbols): Update.
6741
6742 2018-05-23  Tom Tromey  <tom@tromey.com>
6743
6744         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
6745         SUBSEQUENT_MESSAGE.
6746         (vcomplaint, clear_complaints): Update.
6747         (symfile_explanations): Remove some messages.
6748
6749 2018-05-23  Tom Tromey  <tom@tromey.com>
6750
6751         * complaints.c (internal_complaint): Remove.
6752         * complaints.h (internal_complaint): Remove.
6753
6754 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6755
6756         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
6757
6758 2018-05-22  Pedro Alves  <palves@redhat.com>
6759
6760         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
6761         (remote_fileio_badfd, remote_fileio_return_errno)
6762         (remote_fileio_return_success, remote_fileio_func_open)
6763         (remote_fileio_func_open, remote_fileio_func_close)
6764         (remote_fileio_func_read, remote_fileio_func_write)
6765         (remote_fileio_func_lseek, remote_fileio_func_rename)
6766         (remote_fileio_func_unlink, remote_fileio_func_stat)
6767         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
6768         (remote_fileio_func_isatty, remote_fileio_func_system): Add
6769         remote_target parameter.
6770         (remote_fio_func_map) <func>: Add remote_target parameter.
6771         (do_remote_fileio_request, remote_fileio_request):
6772         * remote-fileio.h (remote_fileio_request):
6773         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
6774         remote_target parameter.
6775         (remote_notif_process, handle_notification): Adjust to pass down
6776         the remote.
6777         (remote_notif_state_allocate): Add remote_target parameter.  Save
6778         it.
6779         * remote-notif.h (struct remote_target): Forward declare.
6780         (struct notif_client) <parse, ack, can_get_pending_events>: Add
6781         remote_target parameter.
6782         (struct remote_notif_state) <remote>: New field.
6783         (remote_notif_ack, remote_notif_parse): Add remote_target
6784         parameter.
6785         (remote_notif_state_allocate, remote_notif_state_allocate): Add
6786         remote_target parameter.
6787         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
6788         (threads_listing_context, rmt_thread_action, protocol_feature)
6789         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
6790         (packet_result, struct threads_listing_context, remote_state):
6791         Move definitions and declarations higher up.
6792         (remote_target) <~remote_target>: Declare.
6793         (remote_download_command_source, remote_file_put, remote_file_get)
6794         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
6795         (remote_hostio_pread_vFile, remote_hostio_send_command)
6796         (remote_hostio_set_filesystem, remote_hostio_open)
6797         (remote_hostio_close, remote_hostio_unlink, remote_state)
6798         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
6799         (get_memory_write_packet_size, get_memory_read_packet_size)
6800         (append_pending_thread_resumptions, remote_detach_1)
6801         (append_resumption, remote_resume_with_vcont)
6802         (add_current_inferior_and_thread, wait_ns, wait_as)
6803         (process_stop_reply, remote_notice_new_inferior)
6804         (process_initial_stop_replies, remote_add_thread)
6805         (btrace_sync_conf, remote_btrace_maybe_reopen)
6806         (remove_new_fork_children, kill_new_fork_children)
6807         (discard_pending_stop_replies, stop_reply_queue_length)
6808         (check_pending_events_prevent_wildcard_vcont)
6809         (discard_pending_stop_replies_in_queue, stop_reply)
6810         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
6811         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
6812         (remote_interrupt_as, remote_interrupt_ns)
6813         (remote_get_noisy_reply, remote_query_attached)
6814         (remote_add_inferior, remote_current_thread, get_current_thread)
6815         (set_thread, set_general_thread, set_continue_thread)
6816         (set_general_process, write_ptid)
6817         (remote_unpack_thread_info_response, remote_get_threadinfo)
6818         (parse_threadlist_response, remote_get_threadlist)
6819         (remote_threadlist_iterator, remote_get_threads_with_ql)
6820         (remote_get_threads_with_qxfer)
6821         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
6822         (get_offsets, remote_check_symbols, remote_supported_packet)
6823         (remote_query_supported, remote_packet_size)
6824         (remote_serial_quit_handler, remote_detach_pid)
6825         (remote_vcont_probe, remote_resume_with_hc)
6826         (send_interrupt_sequence, interrupt_query)
6827         (remote_notif_get_pending_events, fetch_register_using_p)
6828         (send_g_packet, process_g_packet, fetch_registers_using_g)
6829         (store_register_using_P, store_registers_using_G)
6830         (set_remote_traceframe, check_binary_download)
6831         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
6832         (remote_xfer_live_readonly_partial, remote_read_bytes)
6833         (remote_send_printf, remote_flash_write, readchar)
6834         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
6835         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
6836         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
6837         (extended_remote_disable_randomization, extended_remote_run)
6838         (send_environment_packet, extended_remote_environment_support)
6839         (extended_remote_set_inferior_cwd, remote_write_qxfer)
6840         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
6841         (packet_command): Now methods of ...
6842         (remote_target): ... this class.
6843         (m_remote_state) <remote_target>: New field.
6844         (struct remote_state) <stop_reply_queue,
6845         remote_async_inferior_event_token, wait_forever_enabled_p>: New
6846         fields.
6847         (remote_state::remote_state): Allocate stop_reply_queue.
6848         (remote_state): Delete global.
6849         (get_remote_state_raw): Delete.
6850         (remote_target::get_remote_state): Allocate m_remote_state on
6851         demand.
6852         (get_current_remote_target): New.
6853         (remote_ops, extended_remote_ops): Delete.
6854         (wait_forever_enabled_p, remote_async_inferior_event_token):
6855         Delete, moved to struct remote_state.
6856         (remote_target::close): Delete self.  Destruction bits split to
6857         ...
6858         (remote_target::~remote_target): ... this.
6859         (show_memory_packet_size): Adjust to use
6860         get_current_remote_target.
6861         (struct protocol_feature) <func>: Add remote_target parameter.
6862         All callers adjusted.
6863         (curr_quit_handler_target): New.
6864         (remote_serial_quit_handler): Reimplement.
6865         (remote_target::open_1): Adjust to use get_current_remote_target.
6866         Heap-allocate remote_target/extended_remote_target instances.
6867         (vcont_builder::vcont_builder): Add remote_target parameter, and
6868         save it in m_remote.  All callers adjusted.
6869         (vcont_builder::m_remote): New field.
6870         (vcont_builder::restart, vcont_builder::flush)
6871         (vcont_builder::push_action): Use it.
6872         (remote_target::commit_resume): Use it.
6873         (struct queue_iter_param) <remote>: New field.
6874         (remote_target::remove_new_fork_children): Fill in 'remote' field.
6875         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
6876         (check_pending_event_prevents_wildcard_vcont_callback)
6877         (remote_target::check_pending_events_prevent_wildcard_vcont)
6878         (remote_target::discard_pending_stop_replies)
6879         (remote_target::discard_pending_stop_replies_in_queue)
6880         (remote_target::remote_notif_remove_queued_reply): Fill in
6881         'remote' field.
6882         (remote_notif_get_pending_events): New.
6883         (remote_target::readchar, remote_target::remote_serial_write):
6884         Save/restore curr_quit_handler_target.
6885         (putpkt): New.
6886         (kill_new_fork_children): Fill in 'remote' field.
6887         (packet_command): Use get_current_remote_target, defer to
6888         remote_target method of same name.
6889         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
6890         parameter, and save it in m_remote.  All callers adjusted.
6891         (scoped_remote_fd::release): Use m_remote.
6892         (scoped_remote_fd::m_remote): New field.
6893         (remote_file_put, remote_file_get, remote_file_delete): Use
6894         get_current_remote_target, defer to remote_target method of same
6895         name.
6896         (remote_btrace_reset): Add remote_state paremeter.  Update all
6897         callers.
6898         (remote_async_inferior_event_handler). Pass down 'data'.
6899         (remote_new_objfile): Use get_current_remote_target.
6900         (remote_target::vcont_r_supported): New.
6901         (set_range_stepping): Use get_current_remote_target and
6902         remote_target::vcont_r_supported.
6903         (_initialize_remote): Don't allocate 'remote_state' and
6904         'stop_reply_queue' globals.
6905         * remote.h (struct remote_target): Forward declare.
6906         (getpkt, putpkt, remote_notif_get_pending_events): Add
6907         'remote_target' parameter.
6908
6909 2018-05-22  Pedro Alves  <palves@redhat.com>
6910
6911         * remote.c (vcont_builder): Now a class.  Make all data members
6912         private.
6913         (vcont_builder) <vcont_builder, restart, flush, push_action>:
6914         Declare methods.
6915         (vcont_builder_restart): Rename to ...
6916         (vcont_builder::restart): ... this.
6917         (vcont_builder_flush): Rename to ...
6918         (vcont_builder::flush): ... this.
6919         (vcont_builder_push_action): Rename to ...
6920         (vcont_builder::push_action): ... this.
6921         (remote_target::commit_resume): Adjust.
6922
6923 2018-05-22  Pedro Alves  <palves@redhat.com>
6924
6925         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
6926         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
6927         (get_fixed_memory_packet_size): New.
6928         (get_memory_packet_size): Use it.
6929         (set_memory_packet_size): Don't override the config size with
6930         DEFAULT_MAX_MEMORY_PACKET_SIZE.
6931         (show_memory_packet_size): Use get_fixed_memory_packet_size.
6932         Don't refer to get_memory_packet_size if not connected to a remote
6933         target.  Show "(default)" if configured size is 0.
6934
6935 2018-05-22  Pedro Alves  <palves@redhat.com>
6936
6937         * remote.c (remote_target::mourn_inferior): Move
6938         discard_pending_stop_replies call here from ...
6939         (_initialize_remote): ... here.
6940
6941 2018-05-22  Pedro Alves  <palves@redhat.com>
6942
6943         * remote.c (compare_section_command): Remove set_general_process
6944         call.
6945
6946 2018-05-22  Pedro Alves  <palves@redhat.com>
6947
6948         * remote.c (struct packet_reg, struct remote_arch_state):
6949         Move higher up in the file.
6950         (remote_state) <m_arch_states>: Store remote_arch_state values
6951         instead of remote_arch_state pointers.
6952         (remote_state::get_remote_arch_state): Adjust.
6953
6954 2018-05-22  Pedro Alves  <palves@redhat.com>
6955
6956         * remote.c: Include <unordered_map>.
6957         (remote_state): Now a class.
6958         (remote_state) <get_remote_arch_state>: Declare method.
6959         <get_remote_arch_state>: New field.
6960         (remote_arch_state) <remote_arch_state>: Declare ctor.
6961         <regs>: Now a unique_ptr.
6962         (remote_gdbarch_data_handle): Delete.
6963         (get_remote_arch_state): Delete.
6964         (remote_state::get_remote_arch_state): New.
6965         (get_remote_state): Adjust to call remote_state's
6966         get_remote_arch_state method.
6967         (init_remote_state): Delete, bits factored out to ...
6968         (remote_arch_state::remote_arch_state): ... this new method.
6969         (get_remote_packet_size, get_memory_packet_size)
6970         (process_g_packet, remote_target::fetch_registers)
6971         (remote_target::prepare_to_store, store_registers_using_G)
6972         (remote_target::store_registers, remote_target::get_trace_status):
6973         Adjust to call remote_state's method.
6974         (_initialize_remote): Remove reference to
6975         remote_gdbarch_data_handle.
6976
6977 2018-05-22  Pedro Alves  <palves@redhat.com>
6978
6979         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
6980         pread>: New method declarations.
6981         (remote_target::open_1): Adjust.
6982         (readahead_cache_invalidate): Rename to ...
6983         (readahead_cache::invalidate): ... this, and adjust to be a class
6984         method.
6985         (readahead_cache_invalidate_fd): Rename to ...
6986         (readahead_cache::invalidate_fd): ... this, and adjust to be a
6987         class method.
6988         (remote_hostio_pwrite): Adjust.
6989         (remote_hostio_pread_from_cache): Rename to ...
6990         (readahead_cache::pread): ... this, and adjust to be a class
6991         method.
6992         (remote_hostio_close): Adjust.
6993
6994 2018-05-22  Pedro Alves  <palves@redhat.com>
6995
6996         * remote.c (remote_hostio_close_cleanup): Delete.
6997         (class scoped_remote_fd): New.
6998         (remote_file_put, remote_file_get): Use it.
6999
7000 2018-05-22  Pedro Alves  <palves@redhat.com>
7001
7002         (struct vCont_action_support): Use bool and initialize all fields.
7003         (struct readahead_cache): Initialize all fields.
7004         (remote_state): Use bool and initialize all fields.
7005         (remote_state::remote_state, remote_state::~remote_state): New.
7006         (new_remote_state): Delete.
7007         (_initialize_remote): Use new to allocate remote_state.
7008
7009 2018-05-22  Pedro Alves  <palves@redhat.com>
7010             張俊芝  <zjz@zjz.name>
7011
7012         PR gdb/22973
7013         * c-exp.y: Include "c-support.h".
7014         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
7015         of tolower.  Use c_ident_is_alpha to scan names.
7016         * c-lang.c: Include "c-support.h".
7017         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
7018         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
7019         * c-support.h: New file, with bits factored out from ...
7020         * cp-name-parser.y: ... this file.
7021         Include "c-support.h".
7022         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
7023         c-support.h and renamed.
7024         (symbol_end, yylex): Adjust.
7025
7026 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7027
7028         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
7029         parameter type to CORE_ADDR.
7030         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
7031         parameter type in declaration to CORE_ADDR.
7032         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
7033         target_auxv_search to get AT_HWCAP and use the result to get the
7034         target description.
7035         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
7036         to CORE_ADDR. Remove the cast of the return value to unsigned
7037         long. Fix error predicate of target_auxv_search.
7038         (ppc_linux_nat_target::read_description): Change the type of the
7039         hwcap variable to CORE_ADDR.
7040
7041 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7042
7043         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
7044         if the size of fpscr is larger than 32 bits.
7045
7046 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7047
7048         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
7049         (ppc32_linux_vsxregmap): New global.
7050         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
7051         regcache_supply_regset, and regcache_collect_regset.
7052         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
7053         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
7054         (fetch_vsx_register, store_vsx_register): Remove.
7055         (fetch_vsx_registers): Add regno parameter. Get regset using
7056         ppc_linux_vsxregset. Use regset to supply registers.
7057         (store_vsx_registers): Add regno parameter. Get regset using
7058         ppc_linux_vsxregset. Use regset to collect registers.
7059         (fetch_register): Call fetch_vsx_registers instead of
7060         fetch_vsx_register.
7061         (store_register): Call store_vsx_registers instead of
7062         store_vsx_register.
7063         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
7064         new regno parameter.
7065         (store_ppc_registers): Call store_vsx_registers with -1 for the
7066         new regno parameter.
7067         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
7068         (ppc_collect_vsxregset): Remove.
7069
7070 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7071
7072         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
7073         offset fields.
7074         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
7075         for vector register offset fields.
7076         (ppc64_fbsd_reg_offsets): Likewise.
7077         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7078         to vector register offset fields.
7079         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7080         to vector register offset fields.
7081         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
7082         vector register offset fields.
7083         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
7084         initializers for vector register offset fields.
7085         (rs6000_aix64_reg_offsets): Likewise.
7086         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
7087         (ppc_supply_vrregset): Remove.
7088         (ppc_collect_vrregset): Remove.
7089         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
7090         (ppc_linux_vrregset) : New function.
7091         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
7092         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
7093         (ppc32_linux_vrregset): Remove.
7094         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
7095         and use result instead of ppc32_linux_vrregset.
7096         (ppc32_linux_reg_offsets): Remove initializers for vector register
7097         offset fields.
7098         (ppc64_linux_reg_offsets): Likewise.
7099         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
7100         * ppc-linux-nat.c: Include regset.h.
7101         (gdb_vrregset_t): Adjust comment to account for little-endian
7102         mode.
7103         (supply_vrregset, fill_vrregset): Remove.
7104         (fetch_altivec_register, store_altivec_register): Remove.
7105         (fetch_altivec_registers): Add regno parameter. Get regset using
7106         ppc_linux_vrregset. Use regset to supply registers.
7107         (store_altivec_registers): Add regno parameter. Get regset using
7108         ppc_linux_vrregset. Use regset to collect registers.
7109         (fetch_register): Call fetch_altivec_registers instead of
7110         fetch_altivec_register.
7111         (store_register): Call store_altivec_registers instead of
7112         store_altivec_register.
7113         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
7114         the new regno parameter.
7115         (store_ppc_registers): Call store_altivec_registers with -1 for
7116         the new regno parameter.
7117
7118 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7119
7120         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
7121         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
7122         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
7123         (gdb_vrregset_t): Change array type size to
7124         PPC_LINUX_SIZEOF_VRREGSET.
7125         (gdb_vsxregset_t): Change array type size to
7126         PPC_LINUX_SIZEOF_VSXREGSET.
7127         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
7128         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
7129         PPC_LINUX_SIZEOF_VSXREGSET.
7130
7131 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7132
7133         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
7134         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
7135         nat/ppc-linux.c.
7136         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
7137         ppc_linux_target_wordsize with tid.
7138         (ppc_linux_nat_target::read_description): Call ppc_linux_target
7139         wordsize with tid.
7140         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
7141         (ppc64_64bit_inferior_p): Add static and inline specifiers.
7142         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
7143         tid parameter. Remove static specifier.
7144         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
7145         (ppc_linux_target_wordsize): New declaration.
7146
7147 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7148
7149         * arch/ppc-linux-common.c: New file.
7150         * arch/ppc-linux-common.h: New file.
7151         * arch/ppc-linux-tdesc.h: New file.
7152         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
7153         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
7154         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
7155         arch/ppc-linux-tdesc.h.
7156         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
7157         arch/ppc-linux-tdesc.h.
7158         (ppc_linux_nat_target::read_description): Remove target
7159         description matching code. Fill a ppc_linux_features struct and
7160         call ppc_linux_match_description with it. Move comment about ISA
7161         2.05 to ppc-linux-common.c.
7162         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
7163         arch/ppc-linux-tdesc.h.
7164         (ppc_linux_core_read_description): Remove target description
7165         matching code. Fill a ppc_linux_features struct and call
7166         ppc_linux_match_description with it.
7167         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
7168         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
7169         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
7170         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
7171         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
7172         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
7173         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
7174         (tdesc_powerpc_e500l): Remove.
7175
7176 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
7177
7178         * ada-lang.c (catch_assert_command): Pass empty string instead
7179         of NULL for excep_string argument.
7180
7181 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7182
7183         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
7184         the width of the requested register exceeds the width of the
7185         `ptrace' data type.
7186
7187 2018-05-21  Tom Tromey  <tom@tromey.com>
7188
7189         * printcmd.c (output_command): Remove.
7190         (output_command_const): Rename to output_command.
7191         * valprint.h (output_command): Rename from output_command_const.
7192         * tracepoint.c (trace_dump_actions): Call output_command.
7193
7194 2018-05-21  Tom Tromey  <tom@tromey.com>
7195
7196         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7197         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
7198         * ada-lang.h (create_ada_exception_catchpoint): Update.
7199         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
7200         std::string.
7201         (create_excep_cond_exprs, ~ada_catchpoint)
7202         (should_stop_exception, print_one_exception)
7203         (print_mention_exception, print_recreate_exception): Update.
7204         (ada_get_next_arg): Remove.
7205         (catch_ada_exception_command_split): Use std::string.  Change type
7206         of "excep_string", "cond_string".
7207         (catch_ada_exception_command): Update.
7208         (create_ada_exception_catchpoint): Change type of excep_string.
7209         (ada_exception_sal): Remove excep_string parameter.
7210         (~ada_catchpoint): Remove.
7211
7212 2018-05-21  Tom Tromey  <tom@tromey.com>
7213
7214         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
7215         cleanup.
7216
7217 2018-05-21  Tom Tromey  <tom@tromey.com>
7218
7219         * ada-lang.c (ada_exception_message_1, ada_exception_message):
7220         Return unique_xmalloc_ptr.
7221         (print_it_exception): Update.
7222
7223 2018-05-21  Tom Tromey  <tom@tromey.com>
7224
7225         * tracepoint.c (trace_dump_actions): Use std::string.
7226
7227 2018-05-21  Tom Tromey  <tom@tromey.com>
7228
7229         * symfile.c (reread_symbols): Use std::string for original_name.
7230
7231 2018-05-21  Tom Tromey  <tom@tromey.com>
7232
7233         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
7234         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
7235         constructor.
7236
7237 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
7238
7239         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
7240         instance to...
7241         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
7242         * objfiles.c (get_objfile_bfd_data): Allocate
7243         objfile_per_bfd_storage with obstack_new when allocating on
7244         obstack.
7245
7246 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7247
7248         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
7249         OBSTACK_ZALLOC.
7250         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
7251         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
7252         * mdebugread.c (mdebug_build_psymtabs): Likewise.
7253         (add_pending): Likewise.
7254         (parse_symbol): Likewise.
7255         (parse_partial_symbols): Likewise.
7256         (psymtab_to_symtab_1): Likewise.
7257         (new_psymtab): Likewise.
7258         (elfmdebug_build_psymtabs): Likewise.
7259         * minsyms.c (terminate_minimal_symbol_table): Likewise.
7260         * objfiles.c (get_objfile_bfd_data): Likewise.
7261         (objfile_register_static_link): Likewise.
7262         * psymtab.c (allocate_psymtab): Likewise.
7263         * stabsread.c (read_member_functions): Likewise.
7264         * xcoffread.c (xcoff_end_psymtab): Likewise.
7265
7266 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7267
7268         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
7269         compiler supports std::is_trivially_constructible.
7270         * common/poison.h: Include obstack.h.
7271         (IsMallocable): Define to is_trivially_constructible if the
7272         compiler supports it, define to true_type otherwise.
7273         (xobnew): New.
7274         (XOBNEW): Redefine.
7275         (xobnewvec): New.
7276         (XOBNEWVEC): Redefine.
7277         * gdb_obstack.h (obstack_zalloc): New.
7278         (OBSTACK_ZALLOC): Redefine.
7279         (obstack_calloc): New.
7280         (OBSTACK_CALLOC): Redefine.
7281         (obstack_new): New.
7282         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
7283         (gdbarch_obstack): New declaration in gdbarch.h, definition in
7284         gdbarch.c.
7285         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
7286         obstack_calloc/obstack_zalloc.
7287         (gdbarch_obstack_zalloc): Remove.
7288         * target-descriptions.c (tdesc_data_init): Use obstack_new.
7289
7290 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7291
7292         * stack.c (backtrace_command_1): Remove useless variable int i.
7293
7294 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7295
7296         * stack.c (print_frame_info): Fix comment.
7297
7298 2018-05-18  Tom Tromey  <tom@tromey.com>
7299
7300         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
7301         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
7302         (~dwarf2_per_objfile): Update
7303         (dwarf2_get_dwz_file): Use new.
7304         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
7305         unique_ptr.
7306
7307 2018-05-18  Tom Tromey  <tom@tromey.com>
7308
7309         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
7310         unique_ptr.
7311         * dwarf2read.c (struct dwp_file): Add constructor and
7312         initializers.
7313         (open_and_init_dwp_file): Return a unique_ptr.
7314         (dwarf2_per_objfile, create_dwp_hash_table)
7315         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
7316         (lookup_dwo_unit_in_dwp): Update.
7317         (open_and_init_dwp_file, get_dwp_file): Update.
7318
7319 2018-05-18  Tom Tromey  <tom@tromey.com>
7320
7321         * dwarf2read.c (dwarf2_per_objfile): Update.
7322         (struct mapped_index): Add initializers.
7323         (dwarf2_read_index): Use new.
7324         (dw2_symtab_iter_init): Update.
7325         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
7326         unique_ptr.
7327
7328 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7329
7330         * dwarf2read.c (mapped_index) <total_size>: Remove.
7331
7332 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7333
7334         * unittests/format_pieces-selftests.c (test_format_specifier):
7335         Add ARI comments.
7336
7337 2018-05-18  Tom Tromey  <tom@tromey.com>
7338
7339         * c-typeprint.c (maybe_print_hole): New function.
7340         (c_print_type_struct_field_offset): Update.
7341         (c_type_print_base_struct_union): Call maybe_print_hole.
7342
7343 2018-05-17  Keith Seitz  <keiths@redhat.com>
7344
7345         * breakpoint.c (build_bpstat_chain): New function, moved from
7346         bpstat_stop_status.
7347         (bpstat_stop_status): Add optional parameter, `stop_chain'.
7348         If no stop chain is passed, call build_bpstat_chain to build it.
7349         * breakpoint.h (build_bpstat_chain): Declare.
7350         (bpstat_stop_status): Move documentation here from breakpoint.c.
7351         * infrun.c (handle_signal_stop): Before eliding inlined frames,
7352         build the stop chain and pass it to skip_inline_frames.
7353         Pass this stop chain to bpstat_stop_status.
7354         * inline-frame.c: Include breakpoint.h.
7355         (stopped_by_user_bp_inline_frame): New function.
7356         (skip_inline_frames): Add parameter `stop_chain'.
7357         Move documention to inline-frame.h.
7358         If non-NULL, use stopped_by_user_bp_inline_frame to determine
7359         whether the frame should be elided.
7360         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
7361         Add moved documentation and update for new parameter.
7362
7363 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7364
7365         PR cli/14975
7366         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7367         unittests/format_pieces-selftests.c.
7368         * common/format.h (format_piece) <operator==>: New.
7369         (format_pieces) <operator[]>: Remove.
7370         * common/format.c (format_pieces::format_pieces): Handle \e.
7371         * unittests/format_pieces-selftests.c: New.
7372
7373 2018-05-17  Tom Tromey  <tom@tromey.com>
7374
7375         PR symtab/23010:
7376         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
7377         (dw2_instantiate_symtab): Add skip_partial parameter.
7378         (dw2_find_last_source_symtab, dw2_map_expand_apply)
7379         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
7380         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
7381         (dw2_expand_symtabs_matching_one)
7382         (dw2_find_pc_sect_compunit_symtab)
7383         (dw2_debug_names_lookup_symbol)
7384         (dw2_debug_names_expand_symtabs_for_function): Update.
7385         (init_cutu_and_read_dies): Add skip_partial parameter.
7386         (process_psymtab_comp_unit, build_type_psymtabs_1)
7387         (process_skeletonless_type_unit, load_partial_comp_unit)
7388         (psymtab_to_symtab_1): Update.
7389         (load_full_comp_unit): Add skip_partial parameter.
7390         (process_imported_unit_die, dwarf2_read_addr_index)
7391         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
7392         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
7393         (read_signatured_type): Update.
7394
7395 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7396
7397         * value.c (release_value): Remove unused variable.
7398         (record_latest_value): Likewise.
7399         (access_value_history): Likewise.
7400         (preserve_values): Likewise.
7401
7402 2018-05-17  Tom Tromey  <tom@tromey.com>
7403
7404         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
7405         Initialize.
7406
7407 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
7408
7409         PR gdb/22286
7410         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
7411         Also handle registers whose width is not a multiple of
7412         PTRACE_TYPE_RET.
7413         (linux_nat_trad_target::store_register): Likewise.
7414
7415 2018-05-16  Tom Tromey  <tom@tromey.com>
7416
7417         * gdbcore.h (core_bfd): Redefine.
7418         * corelow.c (core_target::close): Update.
7419         (core_target_open): Update.
7420         * progspace.h (struct program_space) <cbfd>: Now a
7421         gdb_bfd_ref_ptr.
7422
7423 2018-05-16  Tom Tromey  <tom@tromey.com>
7424
7425         PR cli/19551:
7426         * symfile-add-flags.h (enum symfile_add_flags)
7427         <SYMFILE_NOT_FILENAME>: New constant.
7428         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
7429         objfile name from BFD.
7430         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
7431         * minidebug.c (find_separate_debug_file_in_section): Put
7432         ".gnu_debugdata" into BFD's file name.
7433
7434 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
7435
7436         * regcache.c (regcache_read_ftype, regcache_write_ftype):
7437         Remove.
7438
7439 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
7440
7441         PR binutils/21446
7442         * aarch64-tdep.c (aarch64_analyze_prologue,
7443         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
7444         Indicate not interested in errors.
7445
7446 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7447
7448         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
7449         Supply the MIPS_ZERO_REGNUM register.
7450
7451 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7452
7453         * mips-tdep.c (mask_address_var): Make variable static.
7454
7455 2018-05-14  Tom Tromey  <tom@tromey.com>
7456
7457         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
7458
7459 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
7460
7461         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
7462         FXSAVE_ADDR for the mxcsr register.
7463
7464 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
7465
7466         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
7467
7468 2018-05-11  Pedro Alves  <palves@redhat.com>
7469
7470         * corelow.c (core_target) <core_target>: No longer inline.
7471         Initialize m_core_gdbarch, m_core_vec and build the section table
7472         here.
7473         <~core_target>: New.
7474         <core_gdbarch, get_core_register_section>: New methods.
7475         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
7476         factored out from ...
7477         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
7478         (core_ops): Delete.
7479         (sniff_core_bfd): Add gdbarch parameter.
7480         (core_close): Delete, merged into ...
7481         (core_target::close): ... here.  Delete self.
7482         (core_close_cleanup): Delete.
7483         (core_target_open): Allocate a core_target on the heap.  Use a
7484         unique_ptr instead of a cleanup.  Bits moved into the core_target
7485         ctor.  Adjust to use core_target methods instead of globals.
7486         (get_core_register_section): Rename to ...
7487         (core_target::get_core_register_section): ... this and adjust.
7488         (struct get_core_registers_cb_data): New.
7489         (get_core_registers_cb): Use it.  Use bool.
7490         (core_target::fetch_registers, core_target::files_info)
7491         (core_target::xfer_partial, core_target::read_description)
7492         (core_target::pid_to, core_target::thread_name): Adjust to
7493         reference class fields instead of globals.
7494         * target.h (struct target_ops_deleter, target_ops_up): New.
7495
7496 2018-05-11  Pedro Alves  <palves@redhat.com>
7497
7498         * corefile.c (core_file_command): Move to corelow.c.
7499         * corelow.c (the_core_target): Delete.
7500         (core_file_command): Moved from corefile.c.  Check exec_bfd
7501         instead of the_core_target.  Use target_detach instead of calling
7502         into the_core_target directly.
7503         (maybe_say_no_core_file_now): New.
7504         (core_target::detach): Use it.
7505         (_initialize_corelow): Remove references to the_core_target.
7506         * gdbcore.h (the_core_target): Delete.
7507
7508 2018-05-11  Tom Tromey  <tromey@redhat.com>
7509             Pedro Alves  <palves@redhat.com>
7510
7511         * corefile.c (core_bfd): Remove.
7512         * gdbcore.h (core_bfd): Now a macro.
7513         * progspace.h (struct program_space) <cbfd>: New field.
7514
7515 2018-05-11  Tom Tromey  <tom@tromey.com>
7516
7517         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
7518         gdb::def_vector.
7519
7520 2018-05-10  Tom Tromey  <tom@tromey.com>
7521
7522         * configure: Rebuild.
7523         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
7524
7525 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
7526
7527         PR server/23158:
7528         * regformats/regdat.sh: Adjust script, following the addition
7529         of the new expedite_regs parameter to init_target_desc.
7530
7531 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
7532     
7533         PR gdb/23127
7534         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
7535         set_gdbarch_significant_addr_bit.
7536         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
7537         set_gdbarch_significant_addr_bit.
7538         * utils.c (address_significant): Update to sign extend addr.
7539
7540 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
7541
7542         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
7543         (xtensa_linux_init_abi): Limit tdep->num_regs by
7544         tdep->num_nopriv_regs.
7545         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
7546         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
7547         not initialized.
7548
7549 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
7550
7551         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
7552
7553 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
7554
7555         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
7556         (I387_MXCSR_INIT_VAL): New constant.
7557         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
7558         buffer if it was supplied by the inferior.
7559         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
7560         (i387_xsave_get_clear_bv): New function.
7561         (i387_supply_xsave): Only read x87 control registers from the
7562         xsave buffer if the feature is enabled, and the state will have
7563         been written, otherwise, provide a suitable default.
7564         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
7565         including x87 control registers.  Update control registers if they
7566         have changed from the default value, and mark features as enabled
7567         as required.
7568         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
7569
7570 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
7571
7572         * spu-tdep.c (info_spu_event_command): Fix output formatting.
7573
7574 2018-05-07  Tom Tromey  <tom@tromey.com>
7575
7576         * configure: Rebuild.
7577         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
7578
7579 2018-05-07  Tom Tromey  <tom@tromey.com>
7580
7581         PR tdep/20362:
7582         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
7583         bit.  Use correct value for VDIV.
7584
7585 2018-05-04  Tom Tromey  <tom@tromey.com>
7586
7587         * configure: Rebuild.
7588         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
7589
7590 2018-05-04  Tom Tromey  <tom@tromey.com>
7591
7592         * linux-record.c (record_linux_system_call) <case
7593         RECORD_SYS_RECVFROM>: Add "break".
7594
7595 2018-05-04  Tom Tromey  <tom@tromey.com>
7596
7597         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
7598         Add missing "break".
7599         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
7600         Add missing "break".
7601
7602 2018-05-04  Tom Tromey  <tom@tromey.com>
7603
7604         * rs6000-tdep.c (ppc_process_record_op4)
7605         (ppc_process_record_op63): Add fall-through comment.
7606
7607 2018-05-04  Tom Tromey  <tom@tromey.com>
7608
7609         * i386-tdep.c (i386_process_record): Add fall-through comment.
7610
7611 2018-05-04  Tom Tromey  <tom@tromey.com>
7612
7613         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
7614         comment.
7615
7616 2018-05-04  Tom Tromey  <tom@tromey.com>
7617
7618         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
7619         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
7620         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
7621         comment.
7622         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
7623         comment.
7624         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
7625         comment.
7626
7627 2018-05-04  Tom Tromey  <tom@tromey.com>
7628
7629         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
7630
7631 2018-05-04  Tom Tromey  <tom@tromey.com>
7632
7633         * s390-tdep.c (s390_process_record): Fix fall-through comments.
7634         * xcoffread.c (scan_xcoff_symtab): Move comment later.
7635         * symfile.c (section_is_mapped): Fix fall-through comment.
7636         * stabsread.c (define_symbol, read_member_functions): Fix
7637         fall-through comment.
7638         * s390-linux-tdep.c (s390_process_record): Fix fall-through
7639         comment.
7640         * remote.c (remote_wait_as): Fix fall-through comment.
7641         * p-exp.y (yylex): Fix fall-through comment.
7642         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
7643         comment.
7644         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
7645         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
7646         * jv-exp.y (yylex): Fix fall-through comment.
7647         * go-exp.y (lex_one_token): Fix fall-through comment.
7648         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
7649         fall-through comment.
7650         * f-exp.y (yylex): Fix fall-through comment.
7651         * dwarf2read.c (process_die): Fix fall-through comments.
7652         * dbxread.c (process_one_symbol): Fix fall-through comment.
7653         * d-exp.y (lex_one_token): Fix fall-through comment.
7654         * cp-name-parser.y (yylex): Fix fall-through comment.
7655         * coffread.c (coff_symtab_read): Fix fall-through comment.
7656         * c-exp.y (lex_one_token): Fix fall-through comment.
7657         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
7658         comment.
7659         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
7660         comment.
7661
7662 2018-05-04  Tom Tromey  <tom@tromey.com>
7663
7664         PR python/22730:
7665         * NEWS: Mention gdb.execute change.
7666         * gdbcmd.h (execute_control_command): Don't declare.
7667         * python/python.c (execute_gdb_command): Use read_command_lines_1,
7668         execute_control_commands, execute_control_commands_to_string.
7669         * cli/cli-script.h (execute_control_commands)
7670         (execute_control_commands_to_string): Declare.
7671         (execute_control_command): Add from_tty parameter.
7672         * cli/cli-script.c (execute_control_commands)
7673         (execute_control_commands_to_string): New functions.
7674         (execute_user_command): Use execute_control_commands.
7675         (execute_control_command_1): Add "from_tty" parameter.  Update.
7676         (execute_control_command): Likewise.
7677
7678 2018-05-04  Tom Tromey  <tom@tromey.com>
7679
7680         PR python/22731:
7681         * NEWS: Mention that breakpoint commands are writable.
7682         * python/py-breakpoint.c (bppy_set_commands): New function.
7683         (breakpoint_object_getset) <"commands">: Use it.
7684
7685 2018-05-04  Tom Tromey  <tom@tromey.com>
7686
7687         * tracepoint.c (actions_command): Update.
7688         * mi/mi-cmd-break.c (mi_command_line_array)
7689         (mi_command_line_array_cnt, mi_command_line_array_ptr)
7690         (mi_read_next_line): Remove.
7691         (mi_cmd_break_commands): Update.
7692         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
7693         function_view.
7694         * cli/cli-script.c (get_command_line): Update.
7695         (process_next_line): Use function_view.  Constify.
7696         (recurse_read_control_structure, read_command_lines)
7697         (read_command_lines_1): Change argument types to function_view.
7698         (do_define_command, document_command): Update.
7699         * breakpoint.h (check_tracepoint_command): Don't declare.
7700         * breakpoint.c (check_tracepoint_command): Remove.
7701         (commands_command_1, create_tracepoint_from_upload): Update.
7702
7703 2018-05-04  Tom Tromey  <tom@tromey.com>
7704
7705         PR gdb/11750:
7706         * cli/cli-script.h (enum command_control_type) <define_control>:
7707         New constant.
7708         * cli/cli-script.c (multi_line_command_p): Handle define_control.
7709         (build_command_line, execute_control_command_1)
7710         (process_next_line): Likewise.
7711         (do_define_command): New function, extracted from define_command.
7712         (define_command): Use it.
7713
7714 2018-05-04  Tom Tromey  <tom@tromey.com>
7715
7716         * tracepoint.c (actions_command): Update.
7717         * cli/cli-script.h (read_command_lines): Update.
7718         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
7719         (MAX_TMPBUF): Remove define.
7720         (define_command): Use string_printf.
7721         (document_command): Likewise.
7722         * breakpoint.c (commands_command_1): Update.
7723
7724 2018-05-04  Tom Tromey  <tom@tromey.com>
7725
7726         * top.c (execute_command): Update.
7727         * cli/cli-script.h (print_command_lines): Now varargs.
7728         * cli/cli-script.c (print_command_lines): Now varargs.
7729         (execute_control_command_1) <case while_control, case if_control>:
7730         Update.
7731
7732 2018-05-04  Tom Tromey  <tom@tromey.com>
7733
7734         * tracepoint.c (all_tracepoint_actions): Rename from
7735         all_tracepoint_actions_and_cleanup.  Change return type.
7736         (actions_command, encode_actions_1, encode_actions)
7737         (trace_dump_actions, tdump_command): Update.
7738         * remote.c (remote_download_command_source): Update.
7739         * python/python.c (gdbpy_eval_from_control_command)
7740         (python_command, python_interactive_command): Update.
7741         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
7742         * guile/guile.c (guile_command)
7743         (gdbscm_eval_from_control_command, guile_command): Update.
7744         * compile/compile.c (compile_code_command)
7745         (compile_print_command, compile_to_object): Update.
7746         * cli/cli-script.h (struct command_lines_deleter): New.
7747         (counted_command_line): New typedef.
7748         (struct command_line): Add constructor, destructor.
7749         <body_list>: Remove.
7750         <body_list_0, body_list_1>: New members.
7751         (command_line_up): Remove typedef.
7752         (read_command_lines, read_command_lines_1, get_command_line):
7753         Update.
7754         (copy_command_lines): Don't declare.
7755         * cli/cli-script.c (build_command_line): Use "new".
7756         (get_command_line): Return counted_command_line.
7757         (print_command_lines, execute_user_command)
7758         (execute_control_command_1, while_command, if_command): Update.
7759         (realloc_body_list): Remove.
7760         (process_next_line, recurse_read_control_structure): Update.
7761         (read_command_lines, read_command_lines_1): Return counted_command_line.
7762         (free_command_lines): Use "delete".
7763         (copy_command_lines): Remove.
7764         (define_command, document_command, show_user_1): Update.
7765         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
7766         a counted_command_line.
7767         * breakpoint.h (counted_command_line): Remove typedef.
7768         (breakpoint_set_commands): Update.
7769         * breakpoint.c (check_no_tracepoint_commands)
7770         (validate_commands_for_breakpoint): Update.
7771         (breakpoint_set_commands): Change commands to be a
7772         counted_command_line.
7773         (commands_command_1, update_dprintf_command_list)
7774         (create_tracepoint_from_upload): Update.
7775
7776 2018-05-04  Tom Tromey  <tom@tromey.com>
7777
7778         * cli/cli-decode.h (cmd_list_element): New constructor.
7779         (~cmd_list_element): New destructor.
7780         (struct cmd_list_element): Add initializers.
7781         * cli/cli-decode.c (do_add_cmd): Use "new".
7782         (delete_cmd): Use "delete".
7783
7784 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
7785             Pedro Alves <palves@redhat.com>
7786
7787         PR breakpoints/19806 and support for PR external/20207.
7788         * NEWS: Mention Aarch64 watchpoint improvements.
7789         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
7790         watchpoints and PR external/20207 watchpoints.
7791         * nat/aarch64-linux-hw-point.c
7792         (kernel_supports_any_contiguous_range): New.
7793         (aarch64_watchpoint_offset): New.
7794         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
7795         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
7796         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
7797         (aarch64_align_watchpoint): New parameters aligned_offset_p and
7798         next_addr_orig_p.  Support PR external/20207 watchpoints.
7799         (aarch64_downgrade_regs): New.
7800         (aarch64_dr_state_insert_one_point): New parameters offset and
7801         addr_orig.
7802         (aarch64_dr_state_remove_one_point): Likewise.
7803         (aarch64_handle_breakpoint): Update caller.
7804         (aarch64_handle_aligned_watchpoint): Likewise.
7805         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
7806         aligned_offset.
7807         (aarch64_linux_set_debug_regs): Remove const from state.  Call
7808         aarch64_downgrade_regs.
7809         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
7810         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
7811         (DR_CONTROL_MASK): ... this.
7812         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
7813         (unsigned int aarch64_watchpoint_offset): New prototype.
7814         (aarch64_linux_set_debug_regs): Remove const from state.
7815         * utils.c (align_up, align_down): Move to ...
7816         * common/common-utils.c (align_up, align_down): ... here.
7817         * utils.h (align_up, align_down): Move to ...
7818         * common/common-utils.h (align_up, align_down): ... here.
7819
7820 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
7821
7822         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
7823         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
7824         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
7825         Re-implement to match the ABI as summarized in GCC's
7826         gcc/config/sparc/sparc.c.  All callers updated.
7827         (sparc32_store_arguments): Remove assertion.
7828
7829 2018-05-04  Tom Tromey  <tom@tromey.com>
7830
7831         * printcmd.c: Don't include tui.h.
7832         (decode_format): Use skip_spaces.
7833
7834 2018-05-04  Tom Tromey  <tom@tromey.com>
7835
7836         PR gdb/22619:
7837         * printcmd.c (last_count): New global.
7838         (x_command): Use saved count when repeating.
7839
7840 2018-05-04  Tom Tromey  <tom@tromey.com>
7841
7842         * nto-procfs.c (do_closedir_cleanup): Remove.
7843         (procfs_pidlist): Use gdb_dir_up.
7844         * procfs.c (do_closedir_cleanup): Remove.
7845         (proc_update_threads): Use gdb_dir_up.
7846         * common/filestuff.h (struct gdb_dir_deleter): New.
7847         (gdb_dir_up): New typedef.
7848
7849 2018-05-04  Tom Tromey  <tom@tromey.com>
7850
7851         * ada-lang.c (print_mention_exception): Use std::string.
7852
7853 2018-05-04  Tom Tromey  <tom@tromey.com>
7854
7855         * ada-lang.c (create_excep_cond_exprs): Update.
7856         (ada_exception_catchpoint_cond_string): Use std::string.
7857
7858 2018-05-04  Tom Tromey  <tom@tromey.com>
7859
7860         * ada-lang.c (xget_renaming_scope): Return std::string.
7861         (old_renaming_is_invisible): Update.
7862
7863 2018-05-04  Tom Tromey  <tom@tromey.com>
7864
7865         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
7866         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
7867
7868 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
7869
7870         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
7871
7872 2018-05-04  Tom Tromey  <tom@tromey.com>
7873
7874         * remote.c (remote_query_supported_append): Change type.
7875         (remote_check_symbols): Update.
7876
7877 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
7878
7879         PR gdb/11420
7880         * configure.ac: Prepend libpython.
7881         * python/python-config.py: Likewise.
7882         * configure: Regenerate.
7883
7884 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
7885
7886         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
7887
7888 2018-05-03  Pedro Alves  <palves@redhat.com>
7889
7890         * s390-linux-nat.c
7891         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
7892         override.  Write 'true' instead of '1'.
7893         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
7894         declaration.
7895
7896 2018-05-02  Pedro Alves  <palves@redhat.com>
7897
7898         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
7899         add_inf_child_target.
7900         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
7901         add_inf_child_target.
7902         * aix-thread.c (aix_thread_target_info): New.
7903         (aix_thread_target) <shortname, longname, doc>: Delete.
7904         <info>: New.
7905         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
7906         add_inf_child_target.
7907         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
7908         add_inf_child_target.
7909         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
7910         add_inf_child_target.
7911         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
7912         add_inf_child_target.
7913         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
7914         add_inf_child_target.
7915         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
7916         add_inf_child_target.
7917         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
7918         add_inf_child_target.
7919         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
7920         add_inf_child_target.
7921         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
7922         add_inf_child_target.
7923         * bfd-target.c (target_bfd_target_info): New.
7924         (target_bfd) <shortname, longname, doc>: Delete.
7925         <info>: New.
7926         * bsd-kvm.c (bsd_kvm_target_info): New.
7927         (bsd_kvm_target) <shortname, longname, doc>: Delete.
7928         <info>: New.
7929         (bsd_kvm_target::open): Rename to ...
7930         (bsd_kvm_target_open): ... this.  Adjust.
7931         * bsd-uthread.c (bsd_uthread_target_info): New.
7932         (bsd_uthread_target) <shortname, longname, doc>: Delete.
7933         <info>: New.
7934         * corefile.c (core_file_command): Adjust.
7935         * corelow.c (core_target_info): New.
7936         (core_target) <shortname, longname, doc>: Delete.
7937         <info>: New.
7938         (core_target::open): Rename to ...
7939         (core_target_open): ... this.  Adjust.
7940         * ctf.c (ctf_target_info): New.
7941         (ctf_target) <shortname, longname, doc>: Delete.
7942         <info>: New.
7943         (ctf_target::open): Rename to ...
7944         (ctf_target_open): ... this.
7945         (_initialize_ctf): Adjust.
7946         * exec.c (exec_target_info): New.
7947         (exec_target) <shortname, longname, doc>: Delete.
7948         <info>: New.
7949         (exec_target::open): Rename to ...
7950         (exec_target_open): ... this.
7951         * gdbcore.h (core_target_open): Declare.
7952         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
7953         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
7954         add_inf_child_target.
7955         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
7956         add_inf_child_target.
7957         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
7958         add_inf_child_target.
7959         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
7960         add_inf_child_target.
7961         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
7962         add_inf_child_target.
7963         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
7964         add_inf_child_target.
7965         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
7966         add_inf_child_target.
7967         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
7968         add_inf_child_target.
7969         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
7970         add_inf_child_target.
7971         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
7972         add_inf_child_target.
7973         * inf-child.c (inf_child_target_info): New.
7974         (inf_child_target::info): New.
7975         (inf_child_open_target): Remove 'target' parameter.  Use
7976         get_native_target instead.
7977         (inf_child_target::open): Delete.
7978         (add_inf_child_target): New.
7979         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
7980         Delete.
7981         <info>: New.
7982         (add_inf_child_target): Declare.
7983         (inf_child_open_target): Declare.
7984         * linux-thread-db.c (thread_db_target_info): New.
7985         (thread_db_target) <shortname, longname, doc>: Delete.
7986         <info>: New.
7987         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
7988         add_inf_child_target.
7989         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
7990         add_inf_child_target.
7991         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
7992         add_inf_child_target.
7993         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
7994         add_inf_child_target.
7995         * make-target-delegates (print_class): Adjust.
7996         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
7997         add_inf_child_target.
7998         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
7999         add_inf_child_target.
8000         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
8001         add_inf_child_target.
8002         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
8003         add_inf_child_target.
8004         * nto-procfs.c (nto_native_target_info): New.
8005         (nto_procfs_target_native) <shortname, longname, doc>:
8006         Delete.
8007         <info>: New.
8008         (nto_procfs_target_info): New.
8009         (nto_procfs_target_procfs) <shortname, longname, doc>:
8010         Delete.
8011         <info>: New.
8012         (init_procfs_targets): Adjust.
8013         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
8014         add_inf_child_target.
8015         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
8016         add_inf_child_target.
8017         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
8018         add_inf_child_target.
8019         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
8020         add_inf_child_target.
8021         * ravenscar-thread.c (ravenscar_target_info): New.
8022         (ravenscar_thread_target) <shortname, longname, doc>:
8023         Delete.
8024         <info>: New.
8025         * record-btrace.c (record_btrace_target_info):
8026         (record_btrace_target) <shortname, longname, doc>: Delete.
8027         <info>: New.
8028         (record_btrace_target::open): Rename to ...
8029         (record_btrace_target_open): ... this.  Adjust.
8030         * record-full.c (record_longname, record_doc): New.
8031         (record_full_base_target) <shortname, longname, doc>: Delete.
8032         <info>: New.
8033         (record_full_target_info): New.
8034         (record_full_target): <shortname>: Delete.
8035         <info>: New.
8036         (record_full_core_open_1, record_full_open_1): Update comments.
8037         (record_full_base_target::open): Rename to ...
8038         (record_full_open): ... this.
8039         (cmd_record_full_restore): Update.
8040         (_initialize_record_full): Update.
8041         * remote-sim.c (remote_sim_target_info): New.
8042         (gdbsim_target) <shortname, longname, doc>: Delete.
8043         <info>: New.
8044         (gdbsim_target::open): Rename to ...
8045         (gdbsim_target_open): ... this.
8046         (_initialize_remote_sim): Adjust.
8047         * remote.c (remote_doc): New.
8048         (remote_target_info): New.
8049         (remote_target) <shortname, longname, doc>: Delete.
8050         <info>: New.
8051         (extended_remote_target_info): New.
8052         (extended_remote_target) <shortname, longname, doc>: Delete.
8053         <info>: New.
8054         (remote_target::open_1): Make static.  Adjust.
8055         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
8056         * s390-linux-nat.c (_initialize_s390_nat): Use
8057         add_inf_child_target.
8058         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
8059         add_inf_child_target.
8060         * sol-thread.c (thread_db_target_info): New.
8061         (sol_thread_target) <shortname, longname, doc>: Delete.
8062         <info>: New.
8063         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
8064         add_inf_child_target.
8065         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
8066         add_inf_child_target.
8067         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
8068         add_inf_child_target.
8069         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
8070         add_inf_child_target.
8071         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
8072         add_inf_child_target.
8073         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
8074         add_inf_child_target.
8075         * spu-linux-nat.c (_initialize_spu_nat): Use
8076         add_inf_child_target.
8077         * spu-multiarch.c (spu_multiarch_target_info): New.
8078         (spu_multiarch_target) <shortname, longname, doc>: Delete.
8079         <info>: New.
8080         * target-delegates.c: Regenerate.
8081         * target.c: Include <unordered_map>.
8082         (target_ops_p): Delete.
8083         (DEF_VEC_P(target_ops_p)): Delete.
8084         (target_factories): New.
8085         (test_target_info): New.
8086         (test_target_ops::info): New.
8087         (open_target): Adjust to use target_factories.
8088         (add_target_with_completer): Rename to ...
8089         (add_target): ... this.  Change prototype.  Register target_info
8090         and open callback in target_factories.  Register target_info in
8091         command context instead of target_ops.
8092         (add_target): Delete old implementation.
8093         (add_deprecated_target_alias): Change prototype.  Adjust.
8094         (the_native_target): New.
8095         (set_native_target, get_native_target): New.
8096         (find_default_run_target): Use the_native_target.
8097         (find_attach_target, find_run_target): Simplify.
8098         (target_ops::open): Delete.
8099         (dummy_target_info): New.
8100         (dummy_target::shortname, dummy_target::longname)
8101         (dummy_target::doc): Delete.
8102         (dummy_target::info): New.
8103         (debug_target::shortname, debug_target::longname)
8104         (debug_target::doc): Delete.
8105         (debug_target::info): New.
8106         * target.h (struct target_info): New.
8107         (target_ops::~target_ops): Add comment.
8108         (target_ops::info): New.
8109         (target_ops::shortname, target_ops::longname, target_ops::doc): No
8110         longer virtual.  Implement in terms of target_info.
8111         (set_native_target, get_native_target): Declare.
8112         (target_open_ftype): New.
8113         (add_target, add_target_with_completer)
8114         (add_deprecated_target_alias): Change prototype.
8115         (test_target) <shortname, longname, doc>: Delete.
8116         <info>: New.
8117         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
8118         add_inf_child_target.
8119         * tracefile-tfile.c (tfile_target_info): New.
8120         (tfile_target) <shortname, longname, doc>: Delete.
8121         <info>: New.
8122         (tfile_target::open): Rename to ...
8123         (tfile_target_open): ... this.
8124         (_initialize_tracefile_tfile): Adjust.
8125         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
8126         add_inf_child_target.
8127         * windows-nat.c (_initialize_windows_nat): Use
8128         add_inf_child_target.
8129         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
8130         add_inf_child_target.
8131
8132 2018-05-02  Pedro Alves  <palves@redhat.com>
8133
8134         * linux-nat.h (linux_nat_target) <low_new_thread,
8135         low_delete_thread, low_new_fork, low_forget_process,
8136         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
8137         New virtual methods.
8138         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8139         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
8140         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
8141         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8142         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
8143         Delete.
8144         * linux-fork.c (delete_fork): Adjust to call low method.
8145         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
8146         (linux_nat_new_fork, linux_nat_forget_process_hook)
8147         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
8148         (linux_nat_status_is_event):
8149         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
8150         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
8151         to call low method.
8152         (sigtrap_is_event): Rename to ...
8153         (linux_nat_target::low_status_is_event): ... this.
8154         (linux_nat_set_status_is_event): Delete.
8155         (save_stop_reason, linux_nat_wait_1)
8156         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
8157         low methods.
8158         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8159         (linux_nat_set_new_fork, linux_nat_set_forget_process)
8160         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8161         (linux_nat_set_prepare_to_resume): Delete.
8162         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
8163         low virtual methods.
8164         * amd64-linux-nat.c: Likewise.
8165         * arm-linux-nat.c: Likewise.
8166         * i386-linux-nat.c: Likewise.
8167         * ia64-linux-nat.c: Likewise.
8168         * mips-linux-nat.c: Likewise.
8169         * ppc-linux-nat.c: Likewise.
8170         * s390-linux-nat.c: Likewise.
8171         * sparc64-linux-nat.c: Likewise.
8172         * x86-linux-nat.c: Likewise.
8173         * x86-linux-nat.h: Include "nat/x86-linux.h".
8174         (x86_linux_nat_target) <low_new_fork, low_forget_process,
8175         low_prepare_to_resume, low_new_thread, low_delete_thread>:
8176         Override methods.
8177
8178 2018-05-02  Pedro Alves  <palves@redhat.com>
8179
8180         * target.h (target_ops)
8181         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
8182         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
8183         stopped_by_watchpoint, have_continuable_watchpoint,
8184         stopped_data_address, watchpoint_addr_within_range,
8185         can_accel_watchpoint_condition, can_run, thread_alive,
8186         has_all_memory, has_memory, has_stack, has_registers,
8187         has_execution, can_async_p, is_async_p, supports_non_stop,
8188         always_non_stop_p, can_execute_reverse, supports_multi_process,
8189         supports_enable_disable_tracepoint,
8190         supports_disable_randomization, supports_string_tracing,
8191         supports_evaluation_of_breakpoint_conditions,
8192         can_run_breakpoint_commands, filesystem_is_local,
8193         can_download_tracepoint, get_trace_state_variable_value,
8194         set_trace_notes, get_tib_address, use_agent, can_use_agent,
8195         record_is_replaying, record_will_replay,
8196         augmented_libraries_svr4_read>: Adjust to return bool.
8197         * aarch64-linux-nat.c: All implementations adjusted.
8198         * aix-thread.c: All implementations adjusted.
8199         * arm-linux-nat.c: All implementations adjusted.
8200         * breakpoint.c: All implementations adjusted.
8201         * bsd-kvm.c: All implementations adjusted.
8202         * bsd-uthread.c: All implementations adjusted.
8203         * corelow.c: All implementations adjusted.
8204         * ctf.c: All implementations adjusted.
8205         * darwin-nat.c: All implementations adjusted.
8206         * darwin-nat.h: All implementations adjusted.
8207         * exec.c: All implementations adjusted.
8208         * fbsd-nat.c: All implementations adjusted.
8209         * fbsd-nat.h: All implementations adjusted.
8210         * gnu-nat.c: All implementations adjusted.
8211         * gnu-nat.h: All implementations adjusted.
8212         * go32-nat.c: All implementations adjusted.
8213         * ia64-linux-nat.c: All implementations adjusted.
8214         * inf-child.c: All implementations adjusted.
8215         * inf-child.h: All implementations adjusted.
8216         * inf-ptrace.c: All implementations adjusted.
8217         * inf-ptrace.h: All implementations adjusted.
8218         * linux-nat.c: All implementations adjusted.
8219         * linux-nat.h: All implementations adjusted.
8220         * mips-linux-nat.c: All implementations adjusted.
8221         * nto-procfs.c: All implementations adjusted.
8222         * ppc-linux-nat.c: All implementations adjusted.
8223         * procfs.c: All implementations adjusted.
8224         * ravenscar-thread.c: All implementations adjusted.
8225         * record-btrace.c: All implementations adjusted.
8226         * record-full.c: All implementations adjusted.
8227         * remote-sim.c: All implementations adjusted.
8228         * remote.c: All implementations adjusted.
8229         * s390-linux-nat.c: All implementations adjusted.
8230         * sol-thread.c: All implementations adjusted.
8231         * spu-multiarch.c: All implementations adjusted.
8232         * target-delegates.c: All implementations adjusted.
8233         * target.c: All implementations adjusted.
8234         * target.h: All implementations adjusted.
8235         * tracefile-tfile.c: All implementations adjusted.
8236         * tracefile.c: All implementations adjusted.
8237         * tracefile.h: All implementations adjusted.
8238         * windows-nat.c: All implementations adjusted.
8239         * x86-linux-nat.h: All implementations adjusted.
8240         * x86-nat.h: All implementations adjusted.
8241
8242 2018-05-02  Pedro Alves  <palves@redhat.com>
8243
8244         * make-target-delegates (scan_target_h): Don't trim lines here.
8245         Replace sequences of tabs and/or whitespace with a single
8246         whitespace.
8247         (top level, parsing methods): Trim each line before processing it
8248         here.
8249
8250 2018-05-02  Pedro Alves  <palves@redhat.com>
8251             John Baldwin  <jhb@freebsd.org>
8252
8253         * target.h (enum strata) <debug_stratum>: New.
8254         (struct target_ops) <all delegation methods>: Replace by C++
8255         virtual methods, and drop "to_" prefix.  All references updated
8256         throughout.
8257         <to_shortname, to_longname, to_doc, to_data,
8258         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
8259         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
8260         virtual methods.  All references updated throughout.
8261         <can_attach, supports_terminal_ours, can_create_inferior,
8262         get_thread_control_capabilities, attach_no_wait>: New
8263         virtual methods.
8264         <insert_breakpoint, remove_breakpoint>: Now
8265         TARGET_DEFAULT_NORETURN methods.
8266         <info_proc>: Now returns bool.
8267         <to_magic>: Delete.
8268         (OPS_MAGIC): Delete.
8269         (current_target): Delete.  All references replaced by references
8270         to ...
8271         (target_stack): ... this.  New.
8272         (target_shortname, target_longname): Adjust.
8273         (target_can_run): Now a function declaration.
8274         (default_child_has_all_memory, default_child_has_memory)
8275         (default_child_has_stack, default_child_has_registers)
8276         (default_child_has_execution): Remove target_ops parameter.
8277         (complete_target_initialization): Delete.
8278         (memory_breakpoint_target): New template class.
8279         (test_target_ops): Refactor as a C++ class with virtual methods.
8280         * make-target-delegates (NAME_PART): Tighten.
8281         (POINTER_PART, CP_SYMBOL): New.
8282         (SIMPLE_RETURN_PART): Reimplement.
8283         (VEC_RETURN_PART): Expect less.
8284         (RETURN_PART, VIRTUAL_PART): New.
8285         (METHOD): Adjust to C++ virtual methods.
8286         (scan_target_h): Remove reference to C99.
8287         (dname): Output "target_ops::" prefix.
8288         (write_function_header): Adjust to output a C++ class method.
8289         (write_declaration): New.
8290         (write_delegator): Adjust to output a C++ class method.
8291         (tdname): Output "dummy_target::" prefix.
8292         (write_tdefault, write_debugmethod): Adjust to output a C++ class
8293         method.
8294         (tdefault_names, debug_names): Delete.
8295         (return_types, tdefaults, styles, argtypes_array): New.
8296         (top level): All methods are delegators.
8297         (print_class): New.
8298         (top level): Print dummy_target and debug_target classes.
8299         * target-delegates.c: Regenerate.
8300         * target-debug.h (target_debug_print_enum_info_proc_what)
8301         (target_debug_print_thread_control_capabilities)
8302         (target_debug_print_thread_info_p): New.
8303         * target.c (dummy_target): Delete.
8304         (the_dummy_target, the_debug_target): New.
8305         (target_stack): Now extern.
8306         (set_targetdebug): Push/unpush debug target.
8307         (default_child_has_all_memory, default_child_has_memory)
8308         (default_child_has_stack, default_child_has_registers)
8309         (default_child_has_execution): Remove target_ops parameter.
8310         (complete_target_initialization): Delete.
8311         (add_target_with_completer): No longer call
8312         complete_target_initialization.
8313         (target_supports_terminal_ours): Use regular delegation.
8314         (update_current_target): Delete.
8315         (push_target): No longer check magic number.  Don't call
8316         update_current_target.
8317         (unpush_target): Don't call update_current_target.
8318         (target_is_pushed): No longer check magic number.
8319         (target_require_runnable): Skip for all stratums over
8320         process_stratum.
8321         (target_ops::info_proc): New.
8322         (target_info_proc): Use find_target_at and
8323         find_default_run_target.
8324         (target_supports_disable_randomization): Use regular delegation.
8325         (target_get_osdata): Use find_target_at.
8326         (target_ops::open, target_ops::close, target_ops::can_attach)
8327         (target_ops::attach, target_ops::can_create_inferior)
8328         (target_ops::create_inferior, target_ops::can_run)
8329         (target_can_run): New.
8330         (default_fileio_target): Use regular delegation.
8331         (target_ops::fileio_open, target_ops::fileio_pwrite)
8332         (target_ops::fileio_pread, target_ops::fileio_fstat)
8333         (target_ops::fileio_close, target_ops::fileio_unlink)
8334         (target_ops::fileio_readlink): New.
8335         (target_fileio_open_1, target_fileio_unlink)
8336         (target_fileio_readlink): Always call the target method.  Handle
8337         FILEIO_ENOSYS.
8338         (return_zero, return_zero_has_execution): Delete.
8339         (init_dummy_target): Delete.
8340         (dummy_target::dummy_target, dummy_target::shortname)
8341         (dummy_target::longname, dummy_target::doc)
8342         (debug_target::debug_target, debug_target::shortname)
8343         (debug_target::longname, debug_target::doc): New.
8344         (target_supports_delete_record): Use regular delegation.
8345         (setup_target_debug): Delete.
8346         (maintenance_print_target_stack): Skip debug_stratum.
8347         (initialize_targets): Instantiate the_dummy_target and
8348         the_debug_target.
8349         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
8350         use target_stack.
8351         (target_auxv_search, fprint_target_auxv): Adjust.
8352         (info_auxv_command): Adjust to use target_stack.
8353         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
8354         * exceptions.c (print_flush): Handle a NULL target_stack.
8355         * regcache.c (target_ops_no_register): Refactor as class with
8356         virtual methods.
8357
8358         * exec.c (exec_target): New class.
8359         (exec_ops): Now an exec_target.
8360         (exec_open, exec_close_1, exec_get_section_table)
8361         (exec_xfer_partial, exec_files_info, exec_has_memory)
8362         (exec_make_note_section): Refactor as exec_target methods.
8363         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
8364         Delete.
8365         (exec_target::find_memory_regions): New.
8366         (_initialize_exec): Don't call init_exec_ops.
8367         * gdbcore.h (exec_file_clear): Delete.
8368
8369         * corefile.c (core_target): Delete.
8370         (core_file_command): Adjust.
8371         * corelow.c (core_target): New class.
8372         (the_core_target): New.
8373         (core_close): Remove target_ops parameter.
8374         (core_close_cleanup): Adjust.
8375         (core_target::close): New.
8376         (core_open, core_detach, get_core_registers, core_files_info)
8377         (core_xfer_partial, core_thread_alive, core_read_description)
8378         (core_pid_to_str, core_thread_name, core_has_memory)
8379         (core_has_stack, core_has_registers, core_info_proc): Rework as
8380         core_target methods.
8381         (ignore, core_remove_breakpoint, init_core_ops): Delete.
8382         (_initialize_corelow): Initialize the_core_target.
8383         * gdbcore.h (core_target): Delete.
8384         (the_core_target): New.
8385
8386         * ctf.c: (ctf_target): New class.
8387         (ctf_ops): Now a ctf_target.
8388         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
8389         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
8390         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
8391         methods.
8392         (init_ctf_ops): Delete.
8393         (_initialize_ctf): Don't call it.
8394         * tracefile-tfile.c (tfile_target): New class.
8395         (tfile_ops): Now a tfile_target.
8396         (tfile_open, tfile_close, tfile_files_info)
8397         (tfile_get_tracepoint_status, tfile_trace_find)
8398         (tfile_fetch_registers, tfile_xfer_partial)
8399         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
8400         Refactor as tfile_target methods.
8401         (tfile_xfer_partial_features): Remove target_ops parameter.
8402         (init_tfile_ops): Delete.
8403         (_initialize_tracefile_tfile): Don't call it.
8404         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
8405         (tracefile_has_stack, tracefile_has_registers)
8406         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
8407         tracefile_target methods.
8408         (init_tracefile_ops): Delete.
8409         (tracefile_target::tracefile_target): New.
8410         * tracefile.h: Include "target.h".
8411         (tracefile_target): New class.
8412         (init_tracefile_ops): Delete.
8413
8414         * spu-multiarch.c (spu_multiarch_target): New class.
8415         (spu_ops): Now a spu_multiarch_target.
8416         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
8417         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
8418         (spu_search_memory, spu_mourn_inferior): Refactor as
8419         spu_multiarch_target methods.
8420         (init_spu_ops): Delete.
8421         (_initialize_spu_multiarch): Remove references to init_spu_ops,
8422         complete_target_initialization.
8423
8424         * ravenscar-thread.c (ravenscar_thread_target): New class.
8425         (ravenscar_ops): Now a ravenscar_thread_target.
8426         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
8427         (ravenscar_thread_alive, ravenscar_pid_to_str)
8428         (ravenscar_fetch_registers, ravenscar_store_registers)
8429         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
8430         (ravenscar_stopped_by_hw_breakpoint)
8431         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
8432         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
8433         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
8434         methods.
8435         (init_ravenscar_thread_ops): Delete.
8436         (_initialize_ravenscar): Remove references to
8437         init_ravenscar_thread_ops and complete_target_initialization.
8438
8439         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
8440         (bsd_uthread_target): New class.
8441         (bsd_uthread_ops): Now a bsd_uthread_target.
8442         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
8443         (bsd_uthread_close, bsd_uthread_mourn_inferior)
8444         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
8445         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
8446         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
8447         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
8448         (bsd_uthread_target): Delete function.
8449         (_initialize_bsd_uthread): Remove reference to
8450         complete_target_initialization.
8451
8452         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
8453         (target_bfd): ... this new class.
8454         (target_bfd_xfer_partial, target_bfd_get_section_table)
8455         (target_bfd_close): Refactor as target_bfd methods.
8456         (target_bfd::~target_bfd): New.
8457         (target_bfd_reopen): Adjust.
8458         (target_bfd::close): New.
8459
8460         * record-btrace.c (record_btrace_target): New class.
8461         (record_btrace_ops): Now a record_btrace_target.
8462         (record_btrace_open, record_btrace_stop_recording)
8463         (record_btrace_disconnect, record_btrace_close)
8464         (record_btrace_async, record_btrace_info)
8465         (record_btrace_insn_history, record_btrace_insn_history_range)
8466         (record_btrace_insn_history_from, record_btrace_call_history)
8467         (record_btrace_call_history_range)
8468         (record_btrace_call_history_from, record_btrace_record_method)
8469         (record_btrace_is_replaying, record_btrace_will_replay)
8470         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
8471         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
8472         (record_btrace_store_registers, record_btrace_prepare_to_store)
8473         (record_btrace_to_get_unwinder)
8474         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
8475         (record_btrace_commit_resume, record_btrace_wait)
8476         (record_btrace_stop, record_btrace_can_execute_reverse)
8477         (record_btrace_stopped_by_sw_breakpoint)
8478         (record_btrace_supports_stopped_by_sw_breakpoint)
8479         (record_btrace_stopped_by_hw_breakpoint)
8480         (record_btrace_supports_stopped_by_hw_breakpoint)
8481         (record_btrace_update_thread_list, record_btrace_thread_alive)
8482         (record_btrace_goto_begin, record_btrace_goto_end)
8483         (record_btrace_goto, record_btrace_stop_replaying_all)
8484         (record_btrace_execution_direction)
8485         (record_btrace_prepare_to_generate_core)
8486         (record_btrace_done_generating_core): Refactor as
8487         record_btrace_target methods.
8488         (init_record_btrace_ops): Delete.
8489         (_initialize_record_btrace): Remove reference to
8490         init_record_btrace_ops.
8491         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
8492         the execution_direction global.
8493         (record_full_base_target, record_full_target)
8494         (record_full_core_target): New classes.
8495         (record_full_ops): Now a record_full_target.
8496         (record_full_core_ops): Now a record_full_core_target.
8497         (record_full_target::detach, record_full_target::disconnect)
8498         (record_full_core_target::disconnect)
8499         (record_full_target::mourn_inferior, record_full_target::kill):
8500         New.
8501         (record_full_open, record_full_close, record_full_async): Refactor
8502         as methods of the record_full_base_target class.
8503         (record_full_resume, record_full_commit_resume): Refactor
8504         as methods of the record_full_target class.
8505         (record_full_wait, record_full_stopped_by_watchpoint)
8506         (record_full_stopped_data_address)
8507         (record_full_stopped_by_sw_breakpoint)
8508         (record_full_supports_stopped_by_sw_breakpoint)
8509         (record_full_stopped_by_hw_breakpoint)
8510         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
8511         methods of the record_full_base_target class.
8512         (record_full_store_registers, record_full_xfer_partial)
8513         (record_full_insert_breakpoint, record_full_remove_breakpoint):
8514         Refactor as methods of the record_full_target class.
8515         (record_full_can_execute_reverse, record_full_get_bookmark)
8516         (record_full_goto_bookmark, record_full_execution_direction)
8517         (record_full_record_method, record_full_info, record_full_delete)
8518         (record_full_is_replaying, record_full_will_replay)
8519         (record_full_goto_begin, record_full_goto_end, record_full_goto)
8520         (record_full_stop_replaying): Refactor as methods of the
8521         record_full_base_target class.
8522         (record_full_core_resume, record_full_core_kill)
8523         (record_full_core_fetch_registers)
8524         (record_full_core_prepare_to_store)
8525         (record_full_core_store_registers, record_full_core_xfer_partial)
8526         (record_full_core_insert_breakpoint)
8527         (record_full_core_remove_breakpoint)
8528         (record_full_core_has_execution): Refactor
8529         as methods of the record_full_core_target class.
8530         (record_full_base_target::supports_delete_record): New.
8531         (init_record_full_ops): Delete.
8532         (init_record_full_core_ops): Delete.
8533         (record_full_save): Refactor as method of the
8534         record_full_base_target class.
8535         (_initialize_record_full): Remove references to
8536         init_record_full_ops and init_record_full_core_ops.
8537
8538         * remote.c (remote_target, extended_remote_target): New classes.
8539         (remote_ops): Now a remote_target.
8540         (extended_remote_ops): Now an extended_remote_target.
8541         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
8542         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
8543         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
8544         (remote_pass_signals, remote_set_syscall_catchpoint)
8545         (remote_program_signals, )
8546         (remote_thread_always_alive): Remove target_ops parameter.
8547         (remote_thread_alive, remote_thread_name)
8548         (remote_update_thread_list, remote_threads_extra_info)
8549         (remote_static_tracepoint_marker_at)
8550         (remote_static_tracepoint_markers_by_strid)
8551         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
8552         (remote_open): Refactor as methods of remote_target.
8553         (extended_remote_open, extended_remote_detach)
8554         (extended_remote_attach, extended_remote_post_attach):
8555         (extended_remote_supports_disable_randomization)
8556         (extended_remote_create_inferior): : Refactor as method of
8557         extended_remote_target.
8558         (remote_set_permissions, remote_open_1, remote_detach)
8559         (remote_follow_fork, remote_follow_exec, remote_disconnect)
8560         (remote_resume, remote_commit_resume, remote_stop)
8561         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
8562         (remote_terminal_ours, remote_wait, remote_fetch_registers)
8563         (remote_prepare_to_store, remote_store_registers)
8564         (remote_flash_erase, remote_flash_done, remote_files_info)
8565         (remote_kill, remote_mourn, remote_insert_breakpoint)
8566         (remote_remove_breakpoint, remote_insert_watchpoint)
8567         (remote_watchpoint_addr_within_range)
8568         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
8569         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
8570         (remote_supports_stopped_by_sw_breakpoint)
8571         (remote_stopped_by_hw_breakpoint)
8572         (remote_supports_stopped_by_hw_breakpoint)
8573         (remote_stopped_by_watchpoint, remote_stopped_data_address)
8574         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
8575         (remote_verify_memory): Refactor as methods of remote_target.
8576         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
8577         parameter.
8578         (remote_xfer_partial, remote_get_memory_xfer_limit)
8579         (remote_search_memory, remote_rcmd, remote_memory_map)
8580         (remote_pid_to_str, remote_get_thread_local_address)
8581         (remote_get_tib_address, remote_read_description): Refactor as
8582         methods of remote_target.
8583         (remote_target::fileio_open, remote_target::fileio_pwrite)
8584         (remote_target::fileio_pread, remote_target::fileio_close): New.
8585         (remote_hostio_readlink, remote_hostio_fstat)
8586         (remote_filesystem_is_local, remote_can_execute_reverse)
8587         (remote_supports_non_stop, remote_supports_disable_randomization)
8588         (remote_supports_multi_process, remote_supports_cond_breakpoints)
8589         (remote_supports_enable_disable_tracepoint)
8590         (remote_supports_string_tracing)
8591         (remote_can_run_breakpoint_commands, remote_trace_init)
8592         (remote_download_tracepoint, remote_can_download_tracepoint)
8593         (remote_download_trace_state_variable, remote_enable_tracepoint)
8594         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
8595         (remote_trace_start, remote_get_trace_status)
8596         (remote_get_tracepoint_status, remote_trace_stop)
8597         (remote_trace_find, remote_get_trace_state_variable_value)
8598         (remote_save_trace_data, remote_get_raw_trace_data)
8599         (remote_set_disconnected_tracing, remote_core_of_thread)
8600         (remote_set_circular_trace_buffer, remote_traceframe_info)
8601         (remote_get_min_fast_tracepoint_insn_len)
8602         (remote_set_trace_buffer_size, remote_set_trace_notes)
8603         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
8604         (remote_disable_btrace, remote_teardown_btrace)
8605         (remote_read_btrace, remote_btrace_conf)
8606         (remote_augmented_libraries_svr4_read, remote_load)
8607         (remote_pid_to_exec_file, remote_can_do_single_step)
8608         (remote_execution_direction, remote_thread_handle_to_thread_info):
8609         Refactor as methods of remote_target.
8610         (init_remote_ops, init_extended_remote_ops): Delete.
8611         (remote_can_async_p, remote_is_async_p, remote_async)
8612         (remote_thread_events, remote_upload_tracepoints)
8613         (remote_upload_trace_state_variables): Refactor as methods of
8614         remote_target.
8615         (_initialize_remote): Remove references to init_remote_ops and
8616         init_extended_remote_ops.
8617
8618         * remote-sim.c (gdbsim_target): New class.
8619         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
8620         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
8621         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
8622         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
8623         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
8624         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
8625         Refactor as methods of gdbsim_target.
8626         (gdbsim_ops): Now a gdbsim_target.
8627         (init_gdbsim_ops): Delete.
8628         (gdbsim_cntrl_c): Adjust.
8629         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
8630
8631         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
8632         (the_amd64_linux_nat_target): New.
8633         (amd64_linux_fetch_inferior_registers)
8634         (amd64_linux_store_inferior_registers): Refactor as methods of
8635         amd64_linux_nat_target.
8636         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
8637         * i386-linux-nat.c: Don't include "linux-nat.h".
8638         (i386_linux_nat_target): New class.
8639         (the_i386_linux_nat_target): New.
8640         (i386_linux_fetch_inferior_registers)
8641         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
8642         as methods of i386_linux_nat_target.
8643         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
8644         * inf-child.c (inf_child_ops): Delete.
8645         (inf_child_fetch_inferior_registers)
8646         (inf_child_store_inferior_registers): Delete.
8647         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
8648         methods of inf_child_target.
8649         (inf_child_target::supports_terminal_ours)
8650         (inf_child_target::terminal_init)
8651         (inf_child_target::terminal_inferior)
8652         (inf_child_target::terminal_ours_for_output)
8653         (inf_child_target::terminal_ours, inf_child_target::interrupt)
8654         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
8655         New.
8656         (inf_child_open, inf_child_disconnect, inf_child_close)
8657         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
8658         (inf_child_post_startup_inferior, inf_child_can_run)
8659         (inf_child_pid_to_exec_file): Refactor as methods of
8660         inf_child_target.
8661         (inf_child_follow_fork): Delete.
8662         (inf_child_target::can_create_inferior)
8663         (inf_child_target::can_attach): New.
8664         (inf_child_target::has_all_memory, inf_child_target::has_memory)
8665         (inf_child_target::has_stack, inf_child_target::has_registers)
8666         (inf_child_target::has_execution): New.
8667         (inf_child_fileio_open, inf_child_fileio_pwrite)
8668         (inf_child_fileio_pread, inf_child_fileio_fstat)
8669         (inf_child_fileio_close, inf_child_fileio_unlink)
8670         (inf_child_fileio_readlink, inf_child_use_agent)
8671         (inf_child_can_use_agent): Refactor as methods of
8672         inf_child_target.
8673         (return_zero, inf_child_target): Delete.
8674         (inf_child_target::inf_child_target): New.
8675         * inf-child.h: Include "target.h".
8676         (inf_child_target): Delete function prototype.
8677         (inf_child_target): New class.
8678         (inf_child_open_target, inf_child_mourn_inferior)
8679         (inf_child_maybe_unpush_target): Delete.
8680         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
8681         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
8682         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
8683         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
8684         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
8685         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
8686         (inf_ptrace_wait, inf_ptrace_xfer_partial)
8687         (inf_ptrace_thread_alive, inf_ptrace_files_info)
8688         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
8689         methods of inf_ptrace_target.
8690         (inf_ptrace_target): Delete function.
8691         * inf-ptrace.h: Include "inf-child.h".
8692         (inf_ptrace_target): Delete function declaration.
8693         (inf_ptrace_target): New class.
8694         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
8695         * linux-nat.c (linux_target): New.
8696         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
8697         (linux_nat_target::~linux_nat_target): New.
8698         (linux_child_post_attach, linux_child_post_startup_inferior)
8699         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
8700         (linux_child_remove_fork_catchpoint)
8701         (linux_child_insert_vfork_catchpoint)
8702         (linux_child_remove_vfork_catchpoint)
8703         (linux_child_insert_exec_catchpoint)
8704         (linux_child_remove_exec_catchpoint)
8705         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
8706         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
8707         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
8708         (linux_nat_stopped_data_address)
8709         (linux_nat_stopped_by_sw_breakpoint)
8710         (linux_nat_supports_stopped_by_sw_breakpoint)
8711         (linux_nat_stopped_by_hw_breakpoint)
8712         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
8713         (linux_nat_kill, linux_nat_mourn_inferior)
8714         (linux_nat_xfer_partial, linux_nat_thread_alive)
8715         (linux_nat_update_thread_list, linux_nat_pid_to_str)
8716         (linux_nat_thread_name, linux_child_pid_to_exec_file)
8717         (linux_child_static_tracepoint_markers_by_strid)
8718         (linux_nat_is_async_p, linux_nat_can_async_p)
8719         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
8720         (linux_nat_supports_multi_process)
8721         (linux_nat_supports_disable_randomization, linux_nat_async)
8722         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
8723         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
8724         (linux_nat_fileio_open, linux_nat_fileio_readlink)
8725         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
8726         methods of linux_nat_target.
8727         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
8728         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
8729         parameter.
8730         (check_stopped_by_watchpoint): Adjust.
8731         (linux_xfer_partial): Delete.
8732         (linux_target_install_ops, linux_target, linux_nat_add_target):
8733         Delete.
8734         (linux_nat_target::linux_nat_target): New.
8735         * linux-nat.h: Include "inf-ptrace.h".
8736         (linux_nat_target): New.
8737         (linux_target, linux_target_install_ops, linux_nat_add_target):
8738         Delete function declarations.
8739         (linux_target): Declare global.
8740         * linux-thread-db.c (thread_db_target): New.
8741         (thread_db_target::thread_db_target): New.
8742         (thread_db_ops): Delete.
8743         (the_thread_db_target): New.
8744         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
8745         (thread_db_update_thread_list, thread_db_pid_to_str)
8746         (thread_db_extra_thread_info)
8747         (thread_db_thread_handle_to_thread_info)
8748         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
8749         (thread_db_resume): Refactor as methods of thread_db_target.
8750         (init_thread_db_ops): Delete.
8751         (_initialize_thread_db): Remove reference to init_thread_db_ops.
8752         * x86-linux-nat.c: Don't include "linux-nat.h".
8753         (super_post_startup_inferior): Delete.
8754         (x86_linux_nat_target::~x86_linux_nat_target): New.
8755         (x86_linux_child_post_startup_inferior)
8756         (x86_linux_read_description, x86_linux_enable_btrace)
8757         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
8758         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
8759         methods of x86_linux_nat_target.
8760         (x86_linux_create_target): Delete.  Bits folded ...
8761         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
8762         pointer.
8763         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
8764         (x86_linux_nat_target): New class.
8765         (x86_linux_create_target): Delete.
8766         (x86_linux_add_target): Now takes a linux_nat_target pointer.
8767         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
8768         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
8769         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
8770         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
8771         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
8772         make extern.
8773         (x86_use_watchpoints): Delete.
8774         * x86-nat.h: Include "breakpoint.h" and "target.h".
8775         (x86_use_watchpoints): Delete.
8776         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
8777         (x86_stopped_by_watchpoint, x86_stopped_data_address)
8778         (x86_insert_watchpoint, x86_remove_watchpoint)
8779         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
8780         (x86_stopped_by_hw_breakpoint): New declarations.
8781         (x86_nat_target): New template class.
8782
8783         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
8784         (the_ppc_linux_nat_target): New.
8785         (ppc_linux_fetch_inferior_registers)
8786         (ppc_linux_can_use_hw_breakpoint)
8787         (ppc_linux_region_ok_for_hw_watchpoint)
8788         (ppc_linux_ranged_break_num_registers)
8789         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
8790         (ppc_linux_insert_mask_watchpoint)
8791         (ppc_linux_remove_mask_watchpoint)
8792         (ppc_linux_can_accel_watchpoint_condition)
8793         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
8794         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
8795         (ppc_linux_watchpoint_addr_within_range)
8796         (ppc_linux_masked_watch_num_registers)
8797         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
8798         (ppc_linux_read_description): Refactor as methods of
8799         ppc_linux_nat_target.
8800         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
8801
8802         * procfs.c (procfs_xfer_partial): Delete forward declaration.
8803         (procfs_target): New class.
8804         (the_procfs_target): New.
8805         (procfs_target): Delete function.
8806         (procfs_auxv_parse, procfs_attach, procfs_detach)
8807         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
8808         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
8809         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
8810         (procfs_create_inferior, procfs_update_thread_list)
8811         (procfs_thread_alive, procfs_pid_to_str)
8812         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
8813         (procfs_stopped_data_address, procfs_insert_watchpoint)
8814         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
8815         (proc_find_memory_regions, procfs_info_proc)
8816         (procfs_make_note_section): Refactor as methods of procfs_target.
8817         (_initialize_procfs): Adjust.
8818         * sol-thread.c (sol_thread_target): New class.
8819         (sol_thread_ops): Now a sol_thread_target.
8820         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
8821         (sol_thread_fetch_registers, sol_thread_store_registers)
8822         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
8823         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
8824         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
8825         (init_sol_thread_ops): Delete.
8826         (_initialize_sol_thread): Adjust.  Remove references to
8827         init_sol_thread_ops and complete_target_initialization.
8828
8829         * windows-nat.c (windows_nat_target): New class.
8830         (windows_fetch_inferior_registers)
8831         (windows_store_inferior_registers, windows_resume, windows_wait)
8832         (windows_attach, windows_detach, windows_pid_to_exec_file)
8833         (windows_files_info, windows_create_inferior)
8834         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
8835         (windows_close, windows_pid_to_str, windows_xfer_partial)
8836         (windows_get_tib_address, windows_get_ada_task_ptid)
8837         (windows_thread_name, windows_thread_alive): Refactor as
8838         windows_nat_target methods.
8839         (do_initial_windows_stuff): Adjust.
8840         (windows_target): Delete function.
8841         (_initialize_windows_nat): Adjust.
8842
8843         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
8844         (darwin_mourn_inferior, darwin_kill_inferior)
8845         (darwin_create_inferior, darwin_attach, darwin_detach)
8846         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
8847         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
8848         (darwin_supports_multi_process): Refactor as darwin_nat_target
8849         methods.
8850         (darwin_resume_to, darwin_files_info): Delete.
8851         (_initialize_darwin_inferior): Rename to ...
8852         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
8853         * darwin-nat.h: Include "inf-child.h".
8854         (darwin_nat_target): New class.
8855         (darwin_complete_target): Delete.
8856         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
8857         (darwin_target): New.
8858         (i386_darwin_fetch_inferior_registers)
8859         (i386_darwin_store_inferior_registers): Refactor as methods of
8860         darwin_nat_target.
8861         (darwin_complete_target): Delete, with ...
8862         (_initialize_i386_darwin_nat): ... bits factored out here.
8863
8864         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
8865         (the_alpha_linux_nat_target): New.
8866         (alpha_linux_register_u_offset): Refactor as
8867         alpha_linux_nat_target method.
8868         (_initialize_alpha_linux_nat): Adjust.
8869         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
8870         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8871         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
8872         methods of linux_nat_trad_target.
8873         (linux_trad_target): Delete.
8874         * linux-nat-trad.h (linux_trad_target): Delete function.
8875         (linux_nat_trad_target): New class.
8876         * mips-linux-nat.c (mips_linux_nat_target): New class.
8877         (super_fetch_registers, super_store_registers, super_close):
8878         Delete.
8879         (the_mips_linux_nat_target): New.
8880         (mips64_linux_regsets_fetch_registers)
8881         (mips64_linux_regsets_store_registers)
8882         (mips64_linux_fetch_registers, mips64_linux_store_registers)
8883         (mips_linux_register_u_offset, mips_linux_read_description)
8884         (mips_linux_can_use_hw_breakpoint)
8885         (mips_linux_stopped_by_watchpoint)
8886         (mips_linux_stopped_data_address)
8887         (mips_linux_region_ok_for_hw_watchpoint)
8888         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8889         (mips_linux_close): Refactor as methods of mips_linux_nat.
8890         (_initialize_mips_linux_nat): Adjust to C++ification.
8891
8892         * aix-thread.c (aix_thread_target): New class.
8893         (aix_thread_ops): Now an aix_thread_target.
8894         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
8895         (aix_thread_fetch_registers, aix_thread_store_registers)
8896         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
8897         (aix_thread_thread_alive, aix_thread_pid_to_str)
8898         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
8899         Refactor as methods of aix_thread_target.
8900         (init_aix_thread_ops): Delete.
8901         (_initialize_aix_thread): Remove references to init_aix_thread_ops
8902         and complete_target_initialization.
8903         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
8904         (rs6000_nat_target): New class.
8905         (the_rs6000_nat_target): New.
8906         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
8907         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
8908         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
8909         (super_create_inferior): Delete.
8910         (_initialize_rs6000_nat): Adjust to C++ification.
8911
8912         * arm-linux-nat.c (arm_linux_nat_target): New class.
8913         (the_arm_linux_nat_target): New.
8914         (arm_linux_fetch_inferior_registers)
8915         (arm_linux_store_inferior_registers, arm_linux_read_description)
8916         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
8917         (arm_linux_remove_hw_breakpoint)
8918         (arm_linux_region_ok_for_hw_watchpoint)
8919         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
8920         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
8921         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
8922         arm_linux_nat_target.
8923         (_initialize_arm_linux_nat): Adjust to C++ification.
8924
8925         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
8926         (the_aarch64_linux_nat_target): New.
8927         (aarch64_linux_fetch_inferior_registers)
8928         (aarch64_linux_store_inferior_registers)
8929         (aarch64_linux_child_post_startup_inferior)
8930         (aarch64_linux_read_description)
8931         (aarch64_linux_can_use_hw_breakpoint)
8932         (aarch64_linux_insert_hw_breakpoint)
8933         (aarch64_linux_remove_hw_breakpoint)
8934         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
8935         (aarch64_linux_region_ok_for_hw_watchpoint)
8936         (aarch64_linux_stopped_data_address)
8937         (aarch64_linux_stopped_by_watchpoint)
8938         (aarch64_linux_watchpoint_addr_within_range)
8939         (aarch64_linux_can_do_single_step): Refactor as methods of
8940         aarch64_linux_nat_target.
8941         (super_post_startup_inferior): Delete.
8942         (_initialize_aarch64_linux_nat): Adjust to C++ification.
8943
8944         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
8945         (the_hppa_linux_nat_target): New.
8946         (hppa_linux_fetch_inferior_registers)
8947         (hppa_linux_store_inferior_registers): Refactor as methods of
8948         hppa_linux_nat_target.
8949         (_initialize_hppa_linux_nat): Adjust to C++ification.
8950
8951         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
8952         (the_ia64_linux_nat_target): New.
8953         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
8954         (ia64_linux_stopped_data_address)
8955         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
8956         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
8957         ia64_linux_nat_target methods.
8958         (super_xfer_partial): Delete.
8959         (_initialize_ia64_linux_nat): Adjust to C++ification.
8960
8961         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
8962         (the_m32r_linux_nat_target): New.
8963         (m32r_linux_fetch_inferior_registers)
8964         (m32r_linux_store_inferior_registers): Refactor as
8965         m32r_linux_nat_target methods.
8966         (_initialize_m32r_linux_nat): Adjust to C++ification.
8967
8968         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
8969         (the_m68k_linux_nat_target): New.
8970         (m68k_linux_fetch_inferior_registers)
8971         (m68k_linux_store_inferior_registers): Refactor as
8972         m68k_linux_nat_target methods.
8973         (_initialize_m68k_linux_nat): Adjust to C++ification.
8974
8975         * s390-linux-nat.c (s390_linux_nat_target): New class.
8976         (the_s390_linux_nat_target): New.
8977         (s390_linux_fetch_inferior_registers)
8978         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
8979         (s390_insert_watchpoint, s390_remove_watchpoint)
8980         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
8981         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
8982         (s390_auxv_parse, s390_read_description): Refactor as methods of
8983         s390_linux_nat_target.
8984         (_initialize_s390_nat): Adjust to C++ification.
8985
8986         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
8987         (the_sparc_linux_nat_target): New.
8988         (_initialize_sparc_linux_nat): Adjust to C++ification.
8989         * sparc-nat.c (sparc_fetch_inferior_registers)
8990         (sparc_store_inferior_registers): Remove target_ops parameter.
8991         * sparc-nat.h (sparc_fetch_inferior_registers)
8992         (sparc_store_inferior_registers): Remove target_ops parameter.
8993         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
8994         (the_sparc64_linux_nat_target): New.
8995         (_initialize_sparc64_linux_nat): Adjust to C++ification.
8996
8997         * spu-linux-nat.c (spu_linux_nat_target): New class.
8998         (the_spu_linux_nat_target): New.
8999         (spu_child_post_startup_inferior, spu_child_post_attach)
9000         (spu_child_wait, spu_fetch_inferior_registers)
9001         (spu_store_inferior_registers, spu_xfer_partial)
9002         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
9003         methods.
9004         (_initialize_spu_nat): Adjust to C++ification.
9005
9006         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
9007         (the_tilegx_linux_nat_target): New.
9008         (fetch_inferior_registers, store_inferior_registers):
9009         Refactor as methods.
9010         (_initialize_tile_linux_nat): Adjust to C++ification.
9011
9012         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
9013         (the_xtensa_linux_nat_target): New.
9014         (xtensa_linux_fetch_inferior_registers)
9015         (xtensa_linux_store_inferior_registers): Refactor as
9016         xtensa_linux_nat_target methods.
9017         (_initialize_xtensa_linux_nat): Adjust to C++ification.
9018
9019         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
9020         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
9021         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
9022         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
9023         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
9024         (fbsd_stopped_by_sw_breakpoint)
9025         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
9026         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
9027         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
9028         (fbsd_post_startup_inferior, fbsd_post_attach)
9029         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
9030         (fbsd_set_syscall_catchpoint)
9031         (super_xfer_partial, super_resume, super_wait)
9032         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
9033         (fbsd_handle_debug_trap): Remove target_ops parameter.
9034         (fbsd_nat_add_target): Delete.
9035         * fbsd-nat.h: Include "inf-ptrace.h".
9036         (fbsd_nat_add_target): Delete.
9037         (USE_SIGTRAP_SIGINFO): Define.
9038         (fbsd_nat_target): New class.
9039
9040         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
9041         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
9042         (amd64bsd_target): Delete.
9043         * amd64-bsd-nat.h: New file.
9044         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
9045         "x86-bsd-nat.h".
9046         (amd64_fbsd_nat_target): New class.
9047         (the_amd64_fbsd_nat_target): New.
9048         (amd64fbsd_read_description): Refactor as method of
9049         amd64_fbsd_nat_target.
9050         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9051         (_initialize_amd64fbsd_nat): Adjust to C++ification.
9052         * amd64-nat.h (amd64bsd_target): Delete function declaration.
9053         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
9054         (i386bsd_store_inferior_registers): Remove target_ops parameter.
9055         (i386bsd_target): Delete.
9056         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
9057         (i386bsd_fetch_inferior_registers)
9058         (i386bsd_store_inferior_registers): Declare.
9059         (i386_bsd_nat_target): New class.
9060         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
9061         (the_i386_fbsd_nat_target): New.
9062         (i386fbsd_resume, i386fbsd_read_description): Refactor as
9063         i386_fbsd_nat_target methods.
9064         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9065         (_initialize_i386fbsd_nat): Adjust to C++ification.
9066         * x86-bsd-nat.c (super_mourn_inferior): Delete.
9067         (x86bsd_mourn_inferior, x86bsd_target): Delete.
9068         (_initialize_x86_bsd_nat): Adjust to C++ification.
9069         * x86-bsd-nat.h: Include "x86-nat.h".
9070         (x86bsd_target): Delete declaration.
9071         (x86bsd_nat_target): New class.
9072
9073         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
9074         (the_aarch64_fbsd_nat_target): New.
9075         (aarch64_fbsd_fetch_inferior_registers)
9076         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
9077         aarch64_fbsd_nat_target.
9078         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
9079         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
9080         (the_alpha_bsd_nat_target): New.
9081         (alphabsd_fetch_inferior_registers)
9082         (alphabsd_store_inferior_registers): Refactor as
9083         alpha_bsd_nat_target methods.
9084         (_initialize_alphabsd_nat): Refactor as methods of
9085         alpha_bsd_nat_target.
9086         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
9087         (the_amd64_nbsd_nat_target): New.
9088         (_initialize_amd64nbsd_nat): Adjust to C++ification.
9089         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
9090         (the_amd64_obsd_nat_target): New.
9091         (_initialize_amd64obsd_nat): Adjust to C++ification.
9092         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
9093         (the_arm_fbsd_nat_target): New.
9094         (arm_fbsd_fetch_inferior_registers)
9095         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
9096         (_initialize_arm_fbsd_nat): Refactor as methods of
9097         arm_fbsd_nat_target.
9098         (_initialize_arm_fbsd_nat): Adjust to C++ification.
9099         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
9100         (the_arm_netbsd_nat_target): New.
9101         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
9102         arm_netbsd_nat_target.
9103         (_initialize_arm_netbsd_nat): Adjust to C++ification.
9104         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
9105         (the_hppa_nbsd_nat_target): New.
9106         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
9107         hppa_nbsd_nat_target methods.
9108         (_initialize_hppanbsd_nat): Adjust to C++ification.
9109         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
9110         (the_hppa_obsd_nat_target): New.
9111         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
9112         methods of hppa_obsd_nat_target.
9113         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
9114         add_target.
9115         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
9116         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
9117         add_target.
9118         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
9119         (_initialize_i386obsd_nat): Use add_target.
9120         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
9121         (the_m68k_bsd_nat_target): New.
9122         (m68kbsd_fetch_inferior_registers)
9123         (m68kbsd_store_inferior_registers): Refactor as methods of
9124         m68k_bsd_nat_target.
9125         (_initialize_m68kbsd_nat): Adjust to C++ification.
9126         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
9127         (the_mips_fbsd_nat_target): New.
9128         (mips_fbsd_fetch_inferior_registers)
9129         (mips_fbsd_store_inferior_registers): Refactor as methods of
9130         mips_fbsd_nat_target.
9131         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
9132         add_target.
9133         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
9134         (the_mips_nbsd_nat_target): New.
9135         (mipsnbsd_fetch_inferior_registers)
9136         (mipsnbsd_store_inferior_registers): Refactor as methods of
9137         mips_nbsd_nat_target.
9138         (_initialize_mipsnbsd_nat): Adjust to C++ification.
9139         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
9140         (the_mips64_obsd_nat_target): New.
9141         (mips64obsd_fetch_inferior_registers)
9142         (mips64obsd_store_inferior_registers): Refactor as methods of
9143         mips64_obsd_nat_target.
9144         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
9145         add_target.
9146         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
9147         nbsd_nat_target.
9148         * nbsd-nat.h: Include "inf-ptrace.h".
9149         (nbsd_nat_target): New class.
9150         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
9151         (obsd_wait): Refactor as methods of obsd_nat_target.
9152         (obsd_add_target): Delete.
9153         * obsd-nat.h: Include "inf-ptrace.h".
9154         (obsd_nat_target): New class.
9155         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
9156         (the_ppc_fbsd_nat_target): New.
9157         (ppcfbsd_fetch_inferior_registers)
9158         (ppcfbsd_store_inferior_registers): Refactor as methods of
9159         ppc_fbsd_nat_target.
9160         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
9161         add_target.
9162         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
9163         (the_ppc_nbsd_nat_target): New.
9164         (ppcnbsd_fetch_inferior_registers)
9165         (ppcnbsd_store_inferior_registers): Refactor as methods of
9166         ppc_nbsd_nat_target.
9167         (_initialize_ppcnbsd_nat): Adjust to C++ification.
9168         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
9169         (the_ppc_obsd_nat_target): New.
9170         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
9171         methods of ppc_obsd_nat_target.
9172         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
9173         add_target.
9174         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
9175         (the_sh_nbsd_nat_target): New.
9176         (shnbsd_fetch_inferior_registers)
9177         (shnbsd_store_inferior_registers): Refactor as methods of
9178         sh_nbsd_nat_target.
9179         (_initialize_shnbsd_nat): Adjust to C++ification.
9180         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
9181         (inf_ptrace_xfer_partial): Delete.
9182         (sparc_xfer_partial, sparc_target): Delete.
9183         * sparc-nat.h (sparc_fetch_inferior_registers)
9184         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
9185         (sparc_target): Delete function declaration.
9186         (sparc_target): New template class.
9187         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
9188         (_initialize_sparcnbsd_nat): Adjust to C++ification.
9189         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
9190         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
9191         add_target.
9192         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
9193         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
9194         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
9195         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
9196         add_target.
9197         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
9198         (the_vax_bsd_nat_target): New.
9199         (vaxbsd_fetch_inferior_registers)
9200         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
9201         methods.
9202         (_initialize_vaxbsd_nat): Adjust to C++ification.
9203
9204         * bsd-kvm.c (bsd_kvm_target): New class.
9205         (bsd_kvm_ops): Now a bsd_kvm_target.
9206         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
9207         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
9208         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
9209         bsd_kvm_target.
9210         (bsd_kvm_return_one): Delete.
9211         (bsd_kvm_add_target): Adjust to C++ification.
9212
9213         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
9214         (nto_procfs_target_procfs): New classes.
9215         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
9216         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
9217         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
9218         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
9219         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
9220         (procfs_remove_hw_breakpoint, procfs_resume)
9221         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
9222         (procfs_kill_inferior, procfs_store_registers)
9223         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
9224         as methods of nto_procfs_target.
9225         (nto_procfs_ops): Now an nto_procfs_target_procfs.
9226         (nto_native_ops): Delete.
9227         (procfs_open, procfs_native_open): Delete.
9228         (nto_native_ops): Now an nto_procfs_target_native.
9229         (init_procfs_targets): Adjust to C++ification.
9230         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
9231         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
9232         Refactor as methods of nto_procfs_target.
9233
9234         * go32-nat.c (go32_nat_target): New class.
9235         (the_go32_nat_target): New.
9236         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
9237         (go32_store_registers, go32_xfer_partial, go32_files_info)
9238         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
9239         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
9240         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
9241         (go32_pid_to_str): Refactor as methods of go32_nat_target.
9242         (go32_target): Delete.
9243         (_initialize_go32_nat): Adjust to C++ification.
9244
9245         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
9246         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
9247         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
9248         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
9249         gnu_nat_target.
9250         (gnu_target): Delete.
9251         * gnu-nat.h (gnu_target): Delete.
9252         (gnu_nat_target): New class.
9253         * i386-gnu-nat.c (gnu_base_target): New.
9254         (i386_gnu_nat_target): New class.
9255         (the_i386_gnu_nat_target): New.
9256         (_initialize_i386gnu_nat): Adjust to C++ification.
9257
9258 2018-05-02  Pedro Alves  <palves@redhat.com>
9259
9260         * bfd-target.c (target_bfd_xclose): Rename to ...
9261         (target_bfd_close): ... this.
9262         (target_bfd_reopen): Adjust.
9263         * target.c (target_close): Remove references to to_xclose.
9264         * target.h (target_ops::to_xclose): Delete.
9265         (target_ops::to_close): Update comments.
9266
9267 2018-05-02  Pedro Alves  <palves@redhat.com>
9268
9269         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
9270         "linux-nat.h".
9271         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
9272         * inf-ptrace.c (inf_ptrace_register_u_offset)
9273         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9274         (inf_ptrace_store_register, inf_ptrace_store_registers)
9275         (inf_ptrace_trad_target): Move to ...
9276         * linux-nat-trad.c: ... this new file.
9277         * linux-nat-trad.h: New file.
9278         * linux-nat.c (linux_target_install_ops): Make extern.
9279         (linux_trad_target): Delete.
9280         * linux-nat.h (linux_trad_target): Delete declaration.
9281         (linux_target_install_ops): Declare.
9282         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
9283         "linux-nat.h".
9284
9285 2018-05-02  Pedro Alves  <palves@redhat.com>
9286
9287         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9288         procfs_target/add_target here.
9289         * procfs.c (procfs_target): Make static.
9290         (_initialize_procfs): Call add_target here.
9291         * procfs.h (struct target_ops): Remove forward declaration.
9292         (procfs_target): Remove declaration.
9293         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
9294
9295 2018-05-02  Pedro Alves  <palves@redhat.com>
9296
9297         * procfs.c (procfs_stopped_by_watchpoint)
9298         (procfs_insert_watchpoint, procfs_remove_watchpoint)
9299         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
9300         Forward declare.
9301         (procfs_use_watchpoints): Delete, move contents...
9302         (procfs_target): ... here.
9303         * procfs.h (procfs_use_watchpoints): Delete declaration.
9304         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9305         procfs_use_watchpoints.
9306         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
9307         procfs_use_watchpoints.
9308
9309 2018-05-02  Tom Tromey  <tom@tromey.com>
9310
9311         PR python/20084:
9312         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
9313         and var_zuinteger_unlimited.
9314         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
9315         and PARAM_ZUINTEGER_UNLIMITED.
9316         (set_parameter_value): Handle var_zuinteger and
9317         var_zuinteger_unlimited.
9318         (add_setshow_generic): Likewise.
9319         (parmpy_init): Likewise.
9320
9321 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
9322
9323         PR rust/23124
9324         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
9325         pointer is not null before dereferencing it.
9326
9327 2018-04-30  Tom Tromey  <tom@tromey.com>
9328
9329         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
9330         is_mi_like_p.
9331
9332 2018-04-30  Tom Tromey  <tom@tromey.com>
9333
9334         * breakpoint.c (mention): Remove use of is_mi_like_p.
9335         (print_mention_ranged_breakpoint): Likewise.
9336         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
9337         of is_mi_like_p.
9338
9339 2018-04-30  Tom Tromey  <tom@tromey.com>
9340
9341         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
9342
9343 2018-04-30  Tom Tromey  <tom@tromey.com>
9344
9345         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
9346         (info_spu_event_command): Remove some uses of is_mi_like_p.
9347
9348 2018-04-30  Tom Tromey  <tom@tromey.com>
9349
9350         * python/py-framefilter.c (py_print_single_arg)
9351         (enumerate_locals, py_print_args, py_print_frame): Remove some
9352         uses of is_mi_like_p.
9353
9354 2018-04-30  Tom Tromey  <tom@tromey.com>
9355
9356         * ui-out.c: Update.
9357         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
9358         * ui-out.h (ui_out::is_mi_like_p): Now const.
9359         (ui_out::do_is_mi_like_p): Now const.
9360         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
9361
9362 2018-04-30  Tom Tromey  <tom@tromey.com>
9363
9364         * varobj.c (varobj_set_visualizer): Use new_reference.
9365         * python/python.c (gdbpy_decode_line): Use new_reference.
9366         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
9367         new_reference.
9368
9369 2018-04-30  Tom Tromey  <tom@tromey.com>
9370
9371         * varobj.c (install_new_value): Use new_reference.
9372         * value.h (value_incref): Return void.  Swap intro comment with
9373         value_decref.
9374         * value.c (set_value_parent): Use new_reference.
9375         (value_incref): Return void.  Update intro comment.
9376         (release_value): Use new_reference.
9377         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
9378
9379 2018-04-30  Tom Tromey  <tom@tromey.com>
9380
9381         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
9382         * gdb_bfd.h (new_bfd_ref): Remove.
9383         (gdb_bfd_open): Update comment.
9384         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
9385         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
9386         (gdb_bfd_fdopenr): Use new_reference.
9387         * exec.c (exec_file_attach): Use new_reference.
9388
9389 2018-04-30  Tom Tromey  <tom@tromey.com>
9390
9391         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
9392         method.
9393
9394 2018-04-30  Tom Tromey  <tom@tromey.com>
9395
9396         * jit.c (jit_read_code_entry): Use type_align.
9397         * i386-tdep.c (i386_gdbarch_init): Don't call
9398         set_gdbarch_long_long_align_bit.
9399         * gdbarch.sh: Remove long_long_align_bit.
9400         * gdbarch.c, gdbarch.h: Rebuild.
9401         * arc-tdep.c (arc_type_align): New function.
9402         (arc_gdbarch_init): Use arc_type_align.  Don't call
9403         set_gdbarch_long_long_align_bit.
9404
9405 2018-04-30  Tom Tromey  <tom@tromey.com>
9406
9407         * rust-lang.c (rust_type_alignment): Remove.
9408         (rust_composite_type): Use type_align.
9409
9410 2018-04-30  Tom Tromey  <tom@tromey.com>
9411
9412         * NEWS: Mention Type.align.
9413         * python/py-type.c (typy_get_alignof): New function.
9414         (type_object_getset): Add "alignof".
9415
9416 2018-04-30  Tom Tromey  <tom@tromey.com>
9417
9418         PR exp/17095:
9419         * NEWS: Update.
9420         * std-operator.def (UNOP_ALIGNOF): New operator.
9421         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
9422         New.
9423         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
9424         * c-lang.c (c_op_print_tab): Add alignof.
9425         * c-exp.y (ALIGNOF): New token.
9426         (exp): Add "ALIGNOF" production.
9427         (ident_tokens): Add _Alignof and alignof.
9428
9429 2018-04-30  Tom Tromey  <tom@tromey.com>
9430
9431         * i386-tdep.c (i386_type_align): New function.
9432         (i386_gdbarch_init): Update.
9433         * gdbarch.sh (type_align): New method.
9434         * gdbarch.c, gdbarch.h: Rebuild.
9435         * arch-utils.h (default_type_align): Declare.
9436         * arch-utils.c (default_type_align): New function.
9437         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
9438         (struct type) <align_log2>: New field.
9439         <instance_flags>: Now a bitfield.
9440         (TYPE_RAW_ALIGN): New macro.
9441         (type_align, type_raw_align, set_type_align): Declare.
9442         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
9443         functions.
9444         * dwarf2read.c (quirk_rust_enum): Set type alignment.
9445         (get_alignment, maybe_set_alignment): New functions.
9446         (read_structure_type, read_enumeration_type, read_array_type)
9447         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
9448         (read_subrange_type, read_base_type): Set type alignment.
9449
9450 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
9451
9452         * dwarf2read.c (read_index_from_section): Use bool.
9453
9454 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
9455
9456         PR gdb/22950
9457         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
9458         with #ifdef.
9459
9460 2018-04-29  John Reiser  <jreiser@BitWagon.com>
9461
9462         PR build/22873
9463         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
9464         last step, and do it atomically.
9465
9466 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
9467
9468         * compile/compile-c-types.c (convert_int, convert_float):
9469         Update for C FE v1.
9470
9471 2018-04-27  Tom Tromey  <tom@tromey.com>
9472
9473         PR rust/22545:
9474         * rust-lang.c (rust_inclusive_range_type_p): New function.
9475         (rust_range): Handle inclusive ranges.
9476         (rust_compute_range): Likewise.
9477         * rust-exp.y (struct rust_op) <inclusive>: New field.
9478         (DOTDOTEQ): New constant.
9479         (range_expr): Add "..=" productions.
9480         (operator_tokens): Add "..=" token.
9481         (ast_range): Add "inclusive" parameter.
9482         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
9483         ranges.
9484         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
9485         bounds values.
9486         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
9487         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
9488         Update comments.
9489         * expprint.c (print_subexp_standard): Handle new bounds values.
9490         (dump_subexp_body_standard): Likewise.
9491
9492 2018-04-27  Tom Tromey  <tom@tromey.com>
9493
9494         * configure: Rebuild.
9495         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
9496         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
9497         "OVERRIDE".
9498         (class symbol_needs_eval_context): Likewise.
9499         * dwarf2read.c (mock_mapped_index::symbol_name_count)
9500         (mock_mapped_index::symbol_name_at): Use "override".  Remove
9501         "virtual".
9502         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
9503         "override".
9504         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
9505         * aarch64-tdep.c (instruction_reader::read): Use "override".
9506         (instruction_reader_test::read): Likewise.
9507         * arm-tdep.c (instruction_reader::read): Use "override".
9508         (instruction_reader_thumb::read): Likewise.
9509
9510 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
9511
9512         PR remote/9665
9513         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
9514         instead of remote_send.
9515         (remote_send): Remove.
9516
9517 2018-04-26  Pedro Alves  <palves@redhat.com>
9518
9519         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
9520         find_function_start_sal instead of find_pc_line.
9521
9522 2018-04-26  Pedro Alves  <palves@redhat.com>
9523
9524         * breakpoint.c (set_breakpoint_location_function): Handle
9525         mst_data_gnu_ifunc.
9526         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
9527         * elfread.c (elf_symtab_read): Give data symbols with
9528         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
9529         (elf_rel_plt_read): Update comment.
9530         * linespec.c (convert_linespec_to_sals): Handle
9531         mst_data_gnu_ifunc.
9532         (minsym_found): Handle mst_data_gnu_ifunc.
9533         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
9534         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
9535         * parse.c (find_minsym_type_and_address): Handle
9536         mst_data_gnu_ifunc.
9537         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
9538         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
9539         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
9540         comment.
9541         <mst_data_gnu_ifunc>: New enumerator.
9542
9543 2018-04-26  Pedro Alves  <palves@redhat.com>
9544
9545         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
9546         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
9547         'want_trampoline' parameter by a lookup_msym_prefer parameter.
9548         Handle it.
9549         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
9550         (lookup_minimal_symbol_by_pc): Adjust.
9551         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
9552         (lookup_solib_trampoline_symbol_by_pc): Adjust.
9553         * minsyms.h (lookup_msym_prefer): New enum.
9554         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9555         parameter by a lookup_msym_prefer parameter.
9556
9557 2018-04-26  Pedro Alves  <palves@redhat.com>
9558
9559         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
9560         ends in "@plt" instead of looking at the symbol's section.
9561
9562 2018-04-26  Pedro Alves  <palves@redhat.com>
9563
9564         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
9565         all references.
9566         (find_pc_partial_function_gnu_ifunc): Rename to ...
9567         (find_pc_partial_function): ... this, and remove references to
9568         'is_gnu_ifunc_p'.
9569         (find_pc_partial_function): Delete old implementation.
9570         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
9571
9572 2018-04-26  Pedro Alves  <palves@redhat.com>
9573
9574         * linespec.c (struct bound_minimal_symbol_search_key): New.
9575         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
9576         skip first line if we found a GNU ifunc minimal symbol by name.
9577         (compare_msymbols): Change parameters to work with a destructured
9578         lhs minsym.
9579         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
9580         functions.
9581
9582 2018-04-26  Pedro Alves  <palves@redhat.com>
9583
9584         * breakpoint.c (set_breakpoint_location_function): Don't resolve
9585         ifunc targets here.  Instead, if we have an ifunc minsym, use its
9586         address/name.
9587         (add_location_to_breakpoint): Store the minsym and the objfile in
9588         the breakpoint location.
9589         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
9590         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
9591         Record the minsym in the sal.
9592         * symtab.h (symtab_and_line) <msymbol>: New field.
9593
9594 2018-04-26  Pedro Alves  <palves@redhat.com>
9595
9596         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
9597         unless we actually resolved the ifunc.
9598
9599 2018-04-26  Pedro Alves  <palves@redhat.com>
9600
9601         * c-exp.y (variable production): Prefer ifunc minsyms over
9602         regular function symbols.
9603         * symtab.c (find_gnu_ifunc): New function.
9604         * minsyms.h (lookup_msym_prefer): New enum.
9605         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9606         parameter by a lookup_msym_prefer parameter.
9607         * symtab.h (find_gnu_ifunc): New declaration.
9608
9609 2018-04-26  Pedro Alves  <palves@redhat.com>
9610
9611         * blockframe.c (find_gnu_ifunc_target_type): New function.
9612         (find_function_type): New.
9613         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
9614         return a value with a memory address.
9615         (eval_call): For calls to GNU ifunc functions, try to find the
9616         type of the target function from the type that the resolver
9617         returns.
9618         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
9619         symbols.
9620         * infcall.c (find_function_return_type): Delete.
9621         (find_function_addr): Add 'function_type' parameter.  For calls to
9622         GNU ifunc functions, try to find the type of the target function
9623         from the type that the resolver returns, and return it via
9624         FUNCTION_TYPE.
9625         (call_function_by_hand_dummy): Adjust to use the function type
9626         returned by find_function_addr.
9627         (find_function_addr): Add 'function_type' parameter and move
9628         description here.
9629         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
9630         declarations.
9631
9632 2018-04-26  Pedro Alves  <palves@redhat.com>
9633
9634         * c-exp.y (variable production): Skip finding an alias for ifunc
9635         symbols.
9636
9637 2018-04-26  Pedro Alves  <palves@redhat.com>
9638
9639         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
9640
9641 2018-04-25  Pedro Alves  <palves@redhat.com>
9642
9643         * infcmd.c (kill_command): Print the pid as string, not the whole
9644         thread's ptid.  Add comment.  s/has been killed/killed/ in output
9645         message.
9646         * remote.c (remote_detach_1): Print the pid as string, not the
9647         whole thread's ptid.
9648
9649 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9650             Sergio Durigan Junior  <sergiodj@redhat.com>
9651             Pedro Alves  <palves@redhat.com>
9652
9653         * infcmd.c (kill_command): Print message when inferior has
9654         been killed.
9655         * inferior.c (print_inferior_events): Remove 'static'.  Set as
9656         '1'.
9657         (add_inferior): Improve message printed when
9658         'print_inferior_events' is on.
9659         (exit_inferior): Remove message printed when
9660         'print_inferior_events' is on.
9661         (detach_inferior): Improve message printed when
9662         'print_inferior_events' is on.
9663         (initialize_inferiors): Use 'add_inferior_silent' to set
9664         'current_inferior_'.
9665         * inferior.h (print_inferior_events): Declare here as
9666         'extern'.
9667         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
9668         '[Detaching...]' messages when 'print_inferior_events' is on.
9669         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
9670         as prefix/suffix for messages.  Remove periods.  Fix erroneous
9671         'Detaching after fork from child...', replace it by '... from
9672         parent...'.
9673         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
9674         prefix/suffix when printing 'Detaching...' messages.  Print
9675         them when 'print_inferior_events' is on.
9676         * remote.c (remote_detach_1): Print message when detaching
9677         from inferior and '!is_fork_parent'.
9678
9679 2018-04-24  Tom Tromey  <tom@tromey.com>
9680
9681         * cli-out.h: Reindent.
9682
9683 2018-04-24  Tom Tromey  <tom@tromey.com>
9684
9685         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
9686         (cli_ui_out::do_field_string): Use fputs_filtered.
9687         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
9688
9689 2018-04-23  Tom Tromey  <tom@tromey.com>
9690
9691         * guile/scm-frame.c (gdbscm_frame_read_var): Use
9692         gdb::unique_xmalloc_ptr.
9693
9694 2018-04-23  Tom Tromey  <tom@tromey.com>
9695
9696         * configure: Rebuild.
9697
9698 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
9699
9700         PR gdb/23095
9701         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
9702         prepare_for_testing.  Set normal_bp to r_debug_state if target
9703         is bsd.
9704
9705 2018-04-21  Pedro Alves  <palves@redhat.com>
9706             Rajendra SY  <rajendra.sy@gmail.com>
9707
9708         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
9709         * remote.c (extended_remote_attach): In all-stop mode, mark the
9710         thread as executing.
9711
9712 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
9713
9714         * thread.c (thread_apply_all_command): Fix comment.
9715         (thread_command): Fix comment.
9716
9717 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
9718
9719         * common/tdesc.h (tdesc_create_feature): Remove xml filename
9720         parameter.
9721         * features/aarch64-core.c (create_feature_aarch64_core):
9722         Regenerate.
9723         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
9724         Likewise.
9725         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
9726         Likewise.
9727         * features/i386/32bit-avx512.c
9728         (create_feature_i386_32bit_avx512): Likewise.
9729         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
9730         Likewise.
9731         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
9732         Likewise.
9733         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
9734         Likewise.
9735         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
9736         Likewise.
9737         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
9738         Likewise.
9739         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
9740         Likewise.
9741         * features/i386/64bit-avx512.c
9742         (create_feature_i386_64bit_avx512): Likewise.
9743         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
9744         Likewise.
9745         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
9746         Likewise.
9747         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
9748         Likewise.
9749         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
9750         Likewise.
9751         * features/i386/64bit-segments.c
9752         (create_feature_i386_64bit_segments): Likewise.
9753         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
9754         Likewise.
9755         * features/i386/x32-core.c
9756         (create_feature_i386_x32_core): Likewise.
9757         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
9758         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
9759         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
9760         * target-descriptions.c: In generated code, don't pass xml
9761         filename.
9762
9763 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9764
9765         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
9766         (print_xml_feature::visit_post): Likewise.
9767         (print_xml_feature::visit): Likewise.
9768         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
9769         (print_xml_feature): Add new class.
9770         * regformats/regdat.sh: Null xmltarget on feature targets.
9771         * target-descriptions.c (struct target_desc): Add xmltarget.
9772         (maintenance_check_tdesc_xml_convert): Add unittest function.
9773         (tdesc_get_features_xml): Add function to get xml.
9774         (maintenance_check_xml_descriptions): Test xml generation.
9775         * xml-tdesc.c (string_read_description_xml): Add function.
9776         * xml-tdesc.h (string_read_description_xml): Add declaration.
9777
9778 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9779
9780         * features/Makefile: Add feature marker to targets with new style
9781         target descriptions.
9782         * regformats/aarch64.dat: Regenerate.
9783         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
9784         * regformats/i386/amd64-avx-linux.dat: Likewise.
9785         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
9786         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
9787         * regformats/i386/amd64-linux.dat: Likewise.
9788         * regformats/i386/amd64-mpx-linux.dat: Likewise.
9789         * regformats/i386/amd64.dat: Likewise.
9790         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
9791         * regformats/i386/i386-avx-linux.dat: Likewise.
9792         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
9793         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
9794         * regformats/i386/i386-linux.dat: Likewise.
9795         * regformats/i386/i386-mmx-linux.dat: Likewise.
9796         * regformats/i386/i386-mpx-linux.dat: Likewise.
9797         * regformats/i386/i386.dat: Likewise.
9798         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
9799         * regformats/i386/x32-avx-linux.dat: Likewise.
9800         * regformats/i386/x32-linux.dat: Likewise.
9801         * regformats/tic6x-c62x-linux.dat: Likewise.
9802         * regformats/tic6x-c64x-linux.dat: Likewise.
9803         * regformats/tic6x-c64xp-linux.dat: Likewise.
9804         * regformats/regdat.sh: Parse feature marker.
9805
9806 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9807
9808         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
9809         (tdesc_osabi_name): Likewise.
9810         * target-descriptions.c (tdesc_architecture_name): Add new
9811         function.
9812         (tdesc_osabi_name): Likewise.
9813
9814 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9815
9816         * common/tdesc.c (tdesc_predefined_type): Move to here.
9817         (tdesc_named_type): Likewise.
9818         (tdesc_create_vector): Likewise.
9819         (tdesc_create_struct): Likewise.
9820         (tdesc_set_struct_size): Likewise.
9821         (tdesc_create_union): Likewise.
9822         (tdesc_create_flags): Likewise.
9823         (tdesc_create_enum): Likewise.
9824         (tdesc_add_field): Likewise.
9825         (tdesc_add_typed_bitfield): Likewise.
9826         (tdesc_add_bitfield): Likewise.
9827         (tdesc_add_flag): Likewise.
9828         (tdesc_add_enum_value): Likewise.
9829         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
9830         (struct tdesc_type_vector): Likewise.
9831         (struct tdesc_type_field): Likewise.
9832         (struct tdesc_type_with_fields): Likewise.
9833         (tdesc_create_enum): Add declaration.
9834         (tdesc_add_typed_bitfield): Likewise.
9835         (tdesc_add_enum_value): Likewise.
9836         * target-descriptions.c (tdesc_type_field): Move from here.
9837         (tdesc_type_builtin): Likewise.
9838         (tdesc_type_vector): Likewise.
9839         (tdesc_type_with_fields): Likewise.
9840         (tdesc_predefined_types): Likewise.
9841         (tdesc_named_type): Likewise.
9842         (tdesc_create_vector): Likewise.
9843         (tdesc_create_struct): Likewise.
9844         (tdesc_set_struct_size): Likewise.
9845         (tdesc_create_union): Likewise.
9846         (tdesc_create_flags): Likewise.
9847         (tdesc_create_enum): Likewise.
9848         (tdesc_add_field): Likewise.
9849         (tdesc_add_typed_bitfield): Likewise.
9850         (tdesc_add_bitfield): Likewise.
9851         (tdesc_add_flag): Likewise.
9852         (tdesc_add_enum_value): Likewise.
9853         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
9854         (tdesc_add_typed_bitfield): Likewise.
9855         (tdesc_add_enum_value): Likewise.
9856
9857 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9858
9859         * common/tdesc.c (tdesc_feature::accept): Move to here.
9860         (tdesc_feature::operator==): Likewise.
9861         (tdesc_create_reg): Likewise.
9862         * common/tdesc.h (tdesc_type_kind): Likewise.
9863         (struct tdesc_type): Likewise.
9864         (struct tdesc_feature): Likewise.
9865         * regformats/regdat.sh: Create a feature.
9866         * target-descriptions.c (tdesc_type_kind): Move from here.
9867         (tdesc_type): Likewise.
9868         (tdesc_type_up): Likewise.
9869         (tdesc_feature): Likewise.
9870         (tdesc_create_reg): Likewise.
9871
9872 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9873
9874         * Makefile.in: Add arch/tdesc.c
9875         * common/tdesc.c: New file.
9876         * common/tdesc.h (tdesc_element_visitor): Move to here.
9877         (tdesc_element): Likewise.
9878         (tdesc_reg): Likewise.
9879         (tdesc_reg_up): Likewise.
9880         * regformats/regdef.h (reg): Add offset to constructors.
9881         * target-descriptions.c (tdesc_element_visitor): Move from here.
9882         (tdesc_element): Likewise.
9883         (tdesc_reg): Likewise.
9884         (tdesc_reg_up): Likewise.
9885
9886 2018-04-17  Tom Tromey  <tom@tromey.com>
9887
9888         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
9889         discriminant field.
9890
9891 2018-04-17  Tom Tromey  <tom@tromey.com>
9892
9893         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
9894
9895 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9896
9897         * symtab.c (print_symbol_info): Skip printing filename and line
9898         number when `last' is NULL.
9899         (symtab_symbol_info): Use empty string instead of NULL for first
9900         invocation of print_symbol_info.
9901         (rbreak_command): Pass NULL to `last' parameter of
9902         print_symbol_info.
9903
9904 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
9905
9906         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
9907         instead of nullptr.
9908
9909 2018-04-16  Pedro Alves  <palves@redhat.com>
9910
9911         * MAINTAINERS (sh): Remove.
9912         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
9913         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
9914         (ALLDEPFILES): Remove sh64-tdep.c.
9915         * NEWS: Mentions that support for SH-5/SH64 is removed.
9916         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
9917         (sh*-*-openbsd*): Ditto.
9918         (sh64-*-elf*): Remove.
9919         (sh*): Remove.
9920         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
9921         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
9922         * sh-tdep.c: No longer include "sh64-tdep.h".
9923         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
9924         * sh64-tdep.c, sh64-tdep.h: Remove files.
9925
9926 2018-04-16  Pedro Alves  <palves@redhat.com>
9927
9928         * MAINTAINERS: Remove m88k.
9929         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
9930         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
9931         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
9932         * NEWS: Mention that support for m88k was removed.
9933         * configure.host (m88*-*-*): Remove support.
9934         * configure.nat (m88k-*-*): Remove support.
9935         * configure.tgt (m88*-*-openbsd*): Remove.
9936         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
9937
9938 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
9939
9940         * configure.tgt (x86_tobjs): New variable.
9941         (amd64_tobjs, i386_tobjs): Use it.
9942
9943 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9944
9945         * symtab.c (print_symbol_info): Precede the symbol definition by
9946         the line number when available.
9947         * NEWS: Advertise this enhancement.
9948
9949 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9950
9951         * NEWS (New options): announce set/show record btrace cpu.
9952         * btrace.c: Include record-btrace.h.
9953         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
9954         the vendor is unknown.
9955         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
9956         Maybe overwrite the btrace configuration's cpu.
9957         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
9958         (btrace_fetch): Add cpu parameter.  Update callers.
9959         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
9960         Maybe overwrite the btrace configuration's cpu.  Skip enabling
9961         errata workarounds if the vendor is unknown.
9962         * python/py-record-btrace.c: Include record-btrace.h.
9963         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
9964         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
9965         * record-btrace.c (record_btrace_cpu_state_kind): New.
9966         (record_btrace_cpu): New.
9967         (set_record_btrace_cpu_cmdlist): New.
9968         (record_btrace_get_cpu): New.
9969         (require_btrace_thread, record_btrace_info)
9970         (record_btrace_resume_thread): Call record_btrace_get_cpu.
9971         (cmd_set_record_btrace_cpu_none): New.
9972         (cmd_set_record_btrace_cpu_auto): New.
9973         (cmd_set_record_btrace_cpu): New.
9974         (cmd_show_record_btrace_cpu): New.
9975         (_initialize_record_btrace): Initialize set/show record btrace cpu
9976         commands.
9977         * record-btrace.h (record_btrace_get_cpu): New.
9978
9979 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9980
9981         * record.c (set_record_command): Fix typo in message.
9982
9983 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9984
9985         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
9986
9987 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9988
9989         * infrun.c (process_event_stop_test): Call
9990         gdbarch_in_indirect_branch_thunk.
9991         * gdbarch.sh (in_indirect_branch_thunk): New.
9992         * gdbarch.c: Regenerated.
9993         * gdbarch.h: Regenerated.
9994         * x86-tdep.h: New.
9995         * x86-tdep.c: New.
9996         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
9997         (HFILES_NO_SRCDIR): Add x86-tdep.h.
9998         (ALLDEPFILES): Add x86-tdep.c.
9999         * arch-utils.h (default_in_indirect_branch_thunk): New.
10000         * arch-utils.c (default_in_indirect_branch_thunk): New.
10001         * i386-tdep: Include x86-tdep.h.
10002         (i386_in_indirect_branch_thunk): New.
10003         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
10004         function.
10005         * amd64-tdep: Include x86-tdep.h.
10006         (amd64_in_indirect_branch_thunk): New.
10007         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
10008
10009 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
10010
10011         PR gdb/23053
10012         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
10013         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
10014         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
10015         regression.
10016
10017 2018-04-12  Tom Tromey  <tom@tromey.com>
10018
10019         * rust-lang.c (rust_print_struct_def): Remove univariant code.
10020         (rust_evaluate_subexp): Likewise.
10021
10022 2018-04-12  Pedro Alves  <palves@redhat.com>
10023
10024         * procfs.c (procfs_detach): Make forward declaration's prototype
10025         match definition's protototype.
10026         (proc_get_LDT_entry): Remove stale do_cleanups call.
10027
10028 2018-04-12  Pedro Alves  <palves@redhat.com>
10029
10030         * target.h (target_ops::to_has_exited): Delete.
10031         (target_has_exited): Delete.
10032         * target-delegates.c: Regenerate.
10033
10034 2018-04-11  Pedro Alves  <palves@redhat.com>
10035
10036         * target.c (fileio_fh_t::t): Add comment.
10037         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10038         (target_fileio_close): Handle a NULL target.
10039         (invalidate_fileio_fh): New.
10040         (target_close): Call it.
10041         * remote.c (remote_hostio_send_command): No longer check whether
10042         remote_desc is open.
10043
10044 2018-04-11  Pedro Alves  <palves@redhat.com>
10045
10046         * target.c (fileio_fh_t): Make it a named struct instead of a
10047         typedef.
10048         (fileio_fh_t::is_closed): New method.
10049         (DEF_VEC_O (fileio_fh_t)): Remove.
10050         (fileio_fhandles): Now a std::vector.
10051         (is_closed_fileio_fh): Delete.
10052         (acquire_fileio_fd): Adjust.  Rename parameters.
10053         (release_fileio_fd): Adjust.
10054         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
10055         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10056         (target_fileio_close): Adjust.
10057
10058 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
10059
10060         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
10061         index.
10062
10063 2018-04-10  Pedro Alves  <palves@redhat.com>
10064
10065         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
10066         (scoped_finish_thread_state): New class.
10067         * infcmd.c (run_command_1): Use it instead of finish_thread_state
10068         cleanup.
10069         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
10070         (fetch_inferior_event, normal_stop): Likewise.
10071         * thread.c (finish_thread_state_cleanup): Delete.
10072
10073 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10074             Pedro Alves  <palves@redhat.com>
10075
10076         * value.c: Include "selftest.h" and "common/array-view.h".
10077         (struct range) <operator ==>: New.
10078         (test_ranges_contain): New.
10079         (check_ranges_vector): New.
10080         (test_insert_into_bit_range_vector): New.
10081         (_initialize_values): Register selftests.
10082         * common/array-view.h (operator==, operator!=): New.
10083
10084 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10085
10086         * common/gdb_vecs.h (unordered_remove): Add overload that takes
10087         an iterator.
10088         * inline-frame.c: Include <algorithm>.
10089         (struct inline_state): Add constructor.
10090         (inline_state_s): Remove.
10091         (DEF_VEC_O(inline_state_s)): Remove.
10092         (inline_states): Change type to std::vector.
10093         (find_inline_frame_state): Adjust to std::vector.
10094         (allocate_inline_frame_state): Remove.
10095         (clear_inline_frame_state): Adjust to std::vector.
10096         (skip_inline_frames): Adjust to std::vector.
10097
10098 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10099
10100         * tracepoint.h (struct trace_state_variable): Add constructor.
10101         <name>: Change type to std::string.
10102         * tracepoint.c (tsv_s): Remove.
10103         (DEF_VEC_O(tsv_s)): Remove.
10104         (tvariables): Change to std::vector.
10105         (create_trace_state_variable): Adjust to std::vector.
10106         (find_trace_state_variable): Likewise.
10107         (find_trace_state_variable_by_number): Likewise.
10108         (delete_trace_state_variable): Likewise.
10109         (trace_variable_command): Adjust to std::string.
10110         (delete_trace_variable_command): Likewise.
10111         (tvariables_info_1): Adjust to std::vector.
10112         (save_trace_state_variables): Likewise.
10113         (start_tracing): Likewise.
10114         (merge_uploaded_trace_state_variables): Adjust to std::vector
10115         and std::string.
10116         * target.h (struct target_ops)
10117         <to_download_trace_state_variable>: Pass reference to
10118         trace_state_variable.
10119         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
10120         * target-delegates.c: Re-generate.
10121         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
10122         (mi_tsv_deleted): Likewise.
10123         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
10124         * remote.c (remote_download_trace_state_variable): Change
10125         pointer to reference and adjust.
10126         * make-target-delegates (parse_argtypes): Handle references.
10127         (write_function_header): Likewise.
10128         (munge_type): Likewise.
10129
10130 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10131
10132         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10133         string_view-selftests.c.
10134         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
10135         testsuite.
10136         * unittests/basic_string_view/cons/char/1.cc: Likewise.
10137         * unittests/basic_string_view/cons/char/2.cc: Likewise.
10138         * unittests/basic_string_view/cons/char/3.cc: Likewise.
10139         * unittests/basic_string_view/element_access/char/1.cc:
10140         Likewise.
10141         * unittests/basic_string_view/element_access/char/empty.cc:
10142         Likewise.
10143         * unittests/basic_string_view/element_access/char/front_back.cc:
10144         Likewise.
10145         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
10146         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
10147         Likewise.
10148         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
10149         Likewise.
10150         * unittests/basic_string_view/modifiers/swap/char/1.cc:
10151         Likewise.
10152         * unittests/basic_string_view/operations/compare/char/1.cc:
10153         Likewise.
10154         * unittests/basic_string_view/operations/compare/char/13650.cc:
10155         Likewise.
10156         * unittests/basic_string_view/operations/copy/char/1.cc:
10157         Likewise.
10158         * unittests/basic_string_view/operations/data/char/1.cc:
10159         Likewise.
10160         * unittests/basic_string_view/operations/find/char/1.cc:
10161         Likewise.
10162         * unittests/basic_string_view/operations/find/char/2.cc:
10163         Likewise.
10164         * unittests/basic_string_view/operations/find/char/3.cc:
10165         Likewise.
10166         * unittests/basic_string_view/operations/find/char/4.cc:
10167         Likewise.
10168         * unittests/basic_string_view/operations/rfind/char/1.cc:
10169         Likewise.
10170         * unittests/basic_string_view/operations/rfind/char/2.cc:
10171         Likewise.
10172         * unittests/basic_string_view/operations/rfind/char/3.cc:
10173         Likewise.
10174         * unittests/basic_string_view/operations/substr/char/1.cc:
10175         Likewise.
10176         * unittests/basic_string_view/operators/char/2.cc: Likewise.
10177         * unittests/string_view-selftests.c: New file.
10178
10179 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10180
10181         * unittests/basic_string_view/capacity/1.cc: New file.
10182         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
10183         * unittests/basic_string_view/cons/char/1.cc: New file.
10184         * unittests/basic_string_view/cons/char/2.cc: New file.
10185         * unittests/basic_string_view/cons/char/3.cc: New file.
10186         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
10187         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
10188         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
10189         * unittests/basic_string_view/element_access/char/1.cc: New file.
10190         * unittests/basic_string_view/element_access/char/2.cc: New file.
10191         * unittests/basic_string_view/element_access/char/empty.cc: New file.
10192         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
10193         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
10194         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
10195         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
10196         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
10197         * unittests/basic_string_view/include.cc: New file.
10198         * unittests/basic_string_view/inserters/char/1.cc: New file.
10199         * unittests/basic_string_view/inserters/char/2.cc: New file.
10200         * unittests/basic_string_view/inserters/char/3.cc: New file.
10201         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
10202         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
10203         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
10204         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
10205         * unittests/basic_string_view/literals/types.cc: New file.
10206         * unittests/basic_string_view/literals/values.cc: New file.
10207         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
10208         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
10209         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
10210         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
10211         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
10212         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
10213         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
10214         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
10215         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
10216         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
10217         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
10218         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
10219         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
10220         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
10221         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
10222         * unittests/basic_string_view/operations/data/char/1.cc: New file.
10223         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
10224         * unittests/basic_string_view/operations/find/char/1.cc: New file.
10225         * unittests/basic_string_view/operations/find/char/2.cc: New file.
10226         * unittests/basic_string_view/operations/find/char/3.cc: New file.
10227         * unittests/basic_string_view/operations/find/char/4.cc: New file.
10228         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
10229         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
10230         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
10231         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
10232         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
10233         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
10234         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
10235         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
10236         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
10237         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
10238         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
10239         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
10240         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
10241         * unittests/basic_string_view/operators/char/2.cc: New file.
10242         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
10243         * unittests/basic_string_view/range_access/char/1.cc: New file.
10244         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
10245         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
10246         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
10247         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
10248         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
10249         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
10250         * unittests/basic_string_view/requirements/typedefs.cc: New file.
10251         * unittests/basic_string_view/typedefs.cc: New file.
10252         * unittests/basic_string_view/types/1.cc: New file.
10253
10254 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10255
10256         * common/gdb_string_view.h: Remove libstdc++ implementation
10257         details, adjust to gdb reality.
10258         * common/gdb_string_view.tcc: Likewise.
10259         * cli/cli-script.c (struct string_view): Remove.
10260         (user_args) <m_args>: Change element type to gdb::string_view.
10261         (user_args::insert_args): Adjust.
10262
10263 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10264
10265         * common/gdb_string_view.h: New file.
10266         * common/gdb_string_view.tcc: New file.
10267
10268 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10269
10270         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
10271         * configure: Re-generate.
10272
10273 2018-04-09  Pedro Alves  <palves@redhat.com>
10274
10275         * gdbarch.sh: Include "observable.h" instead of "observer.h".
10276         (set_target_gdbarch): Call
10277         gdb::observers::architecture_changed.notify instead of
10278         observer_notify_architecture_changed.
10279
10280 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10281
10282         * tracepoint.c (struct current_traceframe_cleanup): Remove.
10283         (do_restore_current_traceframe_cleanup): Remove.
10284         (restore_current_traceframe_cleanup_dtor): Remove.
10285         (make_cleanup_restore_current_traceframe): Remove.
10286         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
10287         New.
10288         * tracepoint.h (struct scoped_restore_current_traceframe): New.
10289         * infrun.c (fetch_inferior_event): Use
10290         scoped_restore_current_traceframe.
10291
10292 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10293
10294         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
10295         Remove.
10296         <n_allocated_type_units>: Remove.
10297         <all_type_units>: Change to std::vector.
10298         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10299         to std::vector change.
10300         (dwarf2_per_objfile::get_cutu): Likewise.
10301         (dwarf2_per_objfile::get_tu): Likewise.
10302         (create_signatured_type_table_from_index): Likewise.
10303         (create_signatured_type_table_from_debug_names): Likewise.
10304         (dw2_symtab_iter_next): Likewise.
10305         (dw2_print_stats): Likewise.
10306         (dw2_expand_all_symtabs): Likewise.
10307         (dw2_expand_marked_cus): Likewise.
10308         (dw2_debug_names_iterator::next): Likewise.
10309         (dwarf2_initialize_objfile): Likewise.
10310         (add_signatured_type_cu_to_table): Likewise.
10311         (create_all_type_units): Likewise.
10312         (add_type_unit): Likewise.
10313         (struct tu_abbrev_offset): Add constructor.
10314         (build_type_psymtabs_1): Adjust to std::vector change.
10315         (print_tu_stats): Likewise.
10316         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10317         (write_debug_names): Likewise.
10318
10319 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10320
10321         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
10322         Make an std::vector.
10323         <n_comp_units>: Remove.
10324         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10325         to std::vector change.
10326         (dwarf2_per_objfile::get_cutu): Likewise.
10327         (dwarf2_per_objfile::get_cu): Likewise.
10328         (create_cus_from_index): Likewise.
10329         (create_addrmap_from_index): Likewise.
10330         (create_addrmap_from_aranges): Likewise.
10331         (dwarf2_read_index): Likewise.
10332         (dw2_find_last_source_symtab): Likewise.
10333         (dw2_map_symtabs_matching_filename): Likewise.
10334         (dw2_symtab_iter_next): Likewise.
10335         (dw2_print_stats): Likewise.
10336         (dw2_expand_all_symtabs): Likewise.
10337         (dw2_expand_symtabs_with_fullname): Likewise.
10338         (dw2_expand_marked_cus): Likewise.
10339         (dw2_map_symbol_filenames): Likewise.
10340         (create_cus_from_debug_names): Likewise.
10341         (dwarf2_read_debug_names): Likewise.
10342         (dw2_debug_names_iterator::next): Likewise.
10343         (dwarf2_initialize_objfile): Likewise.
10344         (set_partial_user): Likewise.
10345         (dwarf2_build_psymtabs_hard): Likewise.
10346         (read_comp_units_from_section): Remove arguments, adjust to
10347         std::vector change.
10348         (create_all_comp_units): Adjust to std::vector and
10349         read_comp_units_from_section changes.
10350         (dwarf2_find_containing_comp_unit): Adjust to std::vector
10351         change.
10352         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10353         (psyms_seen_size): Likewise.
10354         (write_gdbindex): Likewise.
10355         (write_debug_names): Likewise.
10356
10357 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10358
10359         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
10360         with dwarf2_per_objfile.
10361         (create_cus_from_index): Likewise.
10362         (create_signatured_type_table_from_index): Likewise.
10363         (dwarf2_read_index): Likewise.
10364         (dwarf2_initialize_objfile): Likewise.
10365         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
10366         per_cu rather than get_dwarf2_per_objfile.
10367
10368 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10369
10370         * dwarf2read.h (struct signatured_type): Forward declare.
10371         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
10372         New methods.
10373         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
10374         (dw2_get_cutu): ...this.
10375         (dwarf2_per_objfile::get_cu): Rename from...
10376         (dw2_get_cu): ...this.
10377         (dwarf2_per_objfile::get_tu): New.
10378         (create_addrmap_from_index): Adjust.
10379         (create_addrmap_from_aranges): Adjust.
10380         (dw2_find_last_source_symtab): Adjust.
10381         (dw2_map_symtabs_matching_filename): Adjust.
10382         (dw2_symtab_iter_next): Adjust.
10383         (dw2_print_stats): Adjust.
10384         (dw2_expand_all_symtabs): Adjust.
10385         (dw2_expand_symtabs_with_fullname): Adjust.
10386         (dw2_expand_marked_cus): Adjust.
10387         (dw_expand_symtabs_matching_file_matcher): Adjust.
10388         (dw2_map_symbol_filenames): Adjust.
10389         (dw2_debug_names_iterator::next): Adjust.
10390         (dwarf2_initialize_objfile): Adjust.
10391         (set_partial_user): Adjust.
10392         (dwarf2_build_psymtabs_hard): Adjust.
10393
10394 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10395
10396         * dwarf2read.c (create_signatured_type_table_from_debug_names):
10397         Remove unused variables.
10398         (dw2_map_symtabs_matching_filename): Likewise.
10399         (dwarf2_record_block_ranges): Likewise.
10400         (dwarf2_read_addr_index): Likewise.
10401         (follow_die_offset): Likewise.
10402
10403 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10404
10405         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
10406         to symbol_file_add_main.
10407
10408 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10409
10410         PR mi/22299
10411         * mi/mi-console.c (do_fputc_async_safe): New.
10412         (mi_console_file::write_async_safe): New.
10413         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
10414         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
10415         New.
10416         * ui-file.c (ui_file::putstrn): Adjust call to
10417         fputstrn_unfiltered.
10418         * utils.c (printchar): Replace do_fputs and do_fprintf
10419         parameters by do_fputc.
10420         (fputstr_filtered): Adjust call to printchar.
10421         (fputstr_unfiltered): Likewise.
10422         (fputstrn_filtered): Likewise.
10423         (fputstrn_unfiltered): Add do_fputc parameter, pass to
10424         printchar.
10425         * utils.h (do_fputc_ftype): New typedef.
10426         (fputstrn_unfiltered): Add do_fputc parameter.
10427
10428 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10429
10430         * regformats/i386/i386-avx.dat: Remove.
10431
10432 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10433
10434         PR gdb/22979
10435         * amd64-tdep.c (amd64_none_init_abi): New function.
10436         (amd64_x32_none_init_abi): New function.
10437         (_initialize_amd64_tdep): Register handlers for x86-64 and
10438         x64_32 with GDB_OSABI_NONE.
10439         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
10440         GDB_OSABI_NONE osabi.
10441
10442 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10443
10444         PR gdb/22980
10445         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
10446         GDB_OSABI_NONE.
10447         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
10448         * osabi.c (gdb_osabi_names): Add "unknown" entry.
10449
10450 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10451
10452         * common/byte-vector.h (char_vector): New type.
10453         * target.h (target_read_alloc): Return
10454         gdb::optional<byte_vector>.
10455         (target_read_stralloc): Return gdb::optional<char_vector>.
10456         (target_get_osdata): Return gdb::optional<char_vector>.
10457         * target.c (target_read_alloc_1): Templatize.  Replacement
10458         manual memory management with vector.
10459         (target_read_alloc): Change return type, adjust.
10460         (target_read_stralloc): Change return type, adjust.
10461         (target_get_osdata): Change return type, adjust.
10462         * auxv.c (struct auxv_info) <length>: Remove.
10463         <data>: Change type to gdb::optional<byte_vector>.
10464         (auxv_inferior_data_cleanup): Free auxv_info with delete.
10465         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
10466         (target_auxv_search): Adjust.
10467         (fprint_target_auxv): Adjust.
10468         * avr-tdep.c (avr_io_reg_read_command): Adjust.
10469         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
10470         (linux_make_corefile_notes): Adjust.
10471         * osdata.c (get_osdata): Adjust.
10472         * remote.c (remote_get_threads_with_qxfer): Adjust.
10473         (remote_memory_map): Adjust.
10474         (remote_traceframe_info): Adjust.
10475         (btrace_read_config): Adjust.
10476         (remote_read_btrace): Adjust.
10477         (remote_pid_to_exec_file): Adjust.
10478         * solib-aix.c (solib_aix_get_library_list): Adjust.
10479         * solib-dsbt.c (decode_loadmap): Don't free buf.
10480         (dsbt_get_initial_loadmaps): Adjust.
10481         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
10482         * solib-target.c (solib_target_current_sos): Adjust.
10483         * tracepoint.c (sdata_make_value): Adjust.
10484         * xml-support.c (xinclude_start_include): Adjust.
10485         (xml_fetch_content_from_file): Adjust.
10486         * xml-support.h (xml_fetch_another): Change return type.
10487         (xml_fetch_content_from_file): Change return type.
10488         * xml-syscall.c (xml_init_syscalls_info): Adjust.
10489         * xml-tdesc.c (file_read_description_xml): Adjust.
10490         (fetch_available_features_from_target): Change return type.
10491         (target_fetch_description_xml): Adjust.
10492         (target_read_description_xml): Adjust.
10493
10494 2018-04-06  Tom Tromey  <tom@tromey.com>
10495
10496         * value.c (~value): Update.
10497         (struct value) <contents>: Now unique_xmalloc_ptr.
10498         (value_contents_bits_eq, allocate_value_contents)
10499         (value_contents_raw, value_contents_all_raw)
10500         (value_contents_for_printing, value_contents_for_printing_const)
10501         (set_value_enclosing_type): Update.
10502
10503 2018-04-06  Tom Tromey  <tom@tromey.com>
10504
10505         * value.c (range_s): Remove typedef, VEC.
10506         (struct range): Add operator<.
10507         (range_lessthan): Remove.
10508         (ranges_contain): Change type.
10509         (~value): Update.
10510         (struct value) <unavailable, optimized_out>: Now std::vector.
10511         (value_entirely_available)
10512         (value_entirely_covered_by_range_vector)
10513         (value_entirely_unavailable, value_entirely_optimized_out):
10514         Update.
10515         (insert_into_bit_range_vector): Change argument type.
10516         (find_first_range_overlap): Likewise.
10517         (struct ranges_and_idx, value_contents_bits_eq)
10518         (require_not_optimized_out, require_available): Update.
10519         (ranges_copy_adjusted): Change argument types.
10520         (value_optimized_out, value_copy, value_fetch_lazy): Update.
10521
10522 2018-04-06  Tom Tromey  <tom@tromey.com>
10523
10524         * value.c (~value): Update.
10525         (struct value) <parent>: Now a value_ref_ptr.
10526         (value_parent, set_value_parent, value_address, value_copy):
10527         Update.
10528
10529 2018-04-06  Tom Tromey  <tom@tromey.com>
10530
10531         * value.c (struct value): Add constructor, destructor, and member
10532         initializers.
10533         (allocate_value_lazy, value_decref): Update.
10534
10535 2018-04-06  Tom Tromey  <tom@tromey.com>
10536
10537         * value.c (struct value) <released, next>: Remove.
10538         (all_values): Now a std::vector.
10539         (allocate_value_lazy): Update.
10540         (value_next): Remove.
10541         (value_mark, value_free_to_mark, release_value)
10542         (value_release_to_mark): Update.
10543
10544 2018-04-06  Tom Tromey  <tom@tromey.com>
10545
10546         * value.h (fetch_subexp_value, value_release_to_mark): Update.
10547         (free_value_chain): Remove.
10548         * value.c (free_value_chain): Remove.
10549         (value_release_to_mark): Return a std::vector.
10550         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
10551         std::vector.
10552         (check_condition): Update.
10553         * eval.c (fetch_subexp_value): Change "val_chain" to a
10554         std::vector.
10555         * breakpoint.c (update_watchpoint): Update.
10556         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
10557
10558 2018-04-06  Tom Tromey  <tom@tromey.com>
10559
10560         * value.h (free_all_values): Remove.
10561         * value.c (free_all_values): Remove.
10562
10563 2018-04-06  Tom Tromey  <tom@tromey.com>
10564
10565         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
10566         (value_history_chain, value_history_count): Remove.
10567         (value_history): New global.
10568         (record_latest_value, access_value_history, show_values)
10569         (preserve_values): Update.
10570
10571 2018-04-06  Tom Tromey  <tom@tromey.com>
10572
10573         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
10574         * varobj.c (varobj_set_display_format, varobj_set_value)
10575         (install_default_visualizer, construct_visualizer)
10576         (install_new_value, ~varobj, varobj_get_value_type)
10577         (my_value_of_variable, varobj_editable_p): Update.
10578         * c-varobj.c (c_describe_child, c_value_of_variable)
10579         (cplus_number_of_children, cplus_describe_child): Update.
10580         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
10581         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
10582         (ada_value_of_variable, ada_value_is_changeable_p): Update.
10583
10584 2018-04-06  Tom Tromey  <tom@tromey.com>
10585
10586         * printcmd.c (last_examine_address): Change type to
10587         value_ref_ptr.
10588         (do_examine, x_command): Update.
10589
10590 2018-04-06  Tom Tromey  <tom@tromey.com>
10591
10592         * value.c (release_value): Update.
10593         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
10594         (struct bpstats) <val>: Now a value_ref_ptr.
10595         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10596         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10597         (~watchpoint, print_it_watchpoint, watch_command_1)
10598         (invalidate_bp_value_on_memory_change): Update.
10599
10600 2018-04-06  Tom Tromey  <tom@tromey.com>
10601
10602         * varobj.c (varobj_clear_saved_item)
10603         (update_dynamic_varobj_children, install_new_value, ~varobj):
10604         Update.
10605         * value.h (value_incref): Move declaration earlier.
10606         (value_decref): Rename from value_free.
10607         (struct value_ref_policy): New.
10608         (value_ref_ptr): New typedef.
10609         (struct value_deleter): Remove.
10610         (gdb_value_up): Remove typedef.
10611         (release_value): Change return type.
10612         (release_value_or_incref): Remove.
10613         * value.c (set_value_parent): Update.
10614         (value_incref): Change return type.
10615         (value_decref): Rename from value_free.
10616         (value_free_to_mark, free_all_values, free_value_chain): Update.
10617         (release_value): Return value_ref_ptr.
10618         (release_value_or_incref): Remove.
10619         (record_latest_value, set_internalvar, clear_internalvar):
10620         Update.
10621         * stack.c (info_frame_command): Don't call value_free.
10622         * python/py-value.c (valpy_dealloc, valpy_new)
10623         (value_to_value_object): Update.
10624         * printcmd.c (do_examine): Update.
10625         * opencl-lang.c (lval_func_free_closure): Update.
10626         * mi/mi-main.c (register_changed_p): Don't call value_free.
10627         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
10628         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
10629         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
10630         value_free.
10631         * guile/scm-value.c (vlscm_free_value_smob)
10632         (vlscm_scm_from_value): Update.
10633         * frame.c (frame_register_unwind, frame_unwind_register_signed)
10634         (frame_unwind_register_unsigned, get_frame_register_bytes)
10635         (put_frame_register_bytes): Don't call value_free.
10636         * findvar.c (address_from_register): Don't call value_free.
10637         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
10638         * dwarf2loc.c (entry_data_value_free_closure)
10639         (value_of_dwarf_reg_entry, free_pieced_value_closure)
10640         (dwarf2_evaluate_loc_desc_full): Update.
10641         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10642         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10643         (~watchpoint, watch_command_1)
10644         (invalidate_bp_value_on_memory_change): Update.
10645         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
10646
10647 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
10648
10649         PR gdb/23022
10650         * warning.m4: Add -Wno-error=deprecated-register.
10651         * configure: Re-generate.
10652
10653 2018-04-05  Tom Tromey  <tom@tromey.com>
10654
10655         * linespec.h: Remove include of "vec.h".
10656
10657 2018-04-05  Tom Tromey  <tom@tromey.com>
10658
10659         * linespec.c (typep): Remove typedef.
10660         (find_methods, find_superclass_methods): Take a std::vector.
10661         (find_method): Use std::vector.
10662
10663 2018-04-05  Tom Tromey  <tom@tromey.com>
10664
10665         * utils.c (compare_strings): Remove.
10666         * utils.h (compare_strings): Remove.
10667         * objc-lang.h (find_imps): Update.
10668         * objc-lang.c (find_methods): Take a std::vector.
10669         (uniquify_strings, find_imps): Likewise.
10670         * linespec.c (find_methods): Take a std::vector.
10671         (decode_objc): Use std::vector.
10672         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
10673         a std::vector.
10674         (find_method, find_function_symbols): Use std::vector.
10675
10676 2018-04-05  Tom Tromey  <tom@tromey.com>
10677
10678         * completer.c (completion_tracker::completion_tracker): Remove
10679         cast.
10680         (completion_tracker::discard_completions): Likewise.
10681         * breakpoint.c (ambiguous_names_p): Remove cast.
10682         * ada-lang.c (_initialize_ada_language): Remove cast.
10683         * utils.h (streq): Update.
10684         (streq_hash): Add new declaration.
10685         * utils.c (streq): Return bool.
10686         (streq_hash): New function.
10687
10688 2018-04-05  Tom Tromey  <tom@tromey.com>
10689
10690         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
10691         Remove a string copy.
10692
10693 2018-04-05  Tom Tromey  <tom@tromey.com>
10694
10695         * linespec.c (filter_results): Use std::vector.
10696         (decode_line_2, decode_line_full): Update.
10697
10698 2018-04-05  Tom Tromey  <tom@tromey.com>
10699
10700         * linespec.c (canonical_to_fullform): Return std::string.
10701         (filter_results): Update.
10702         (struct decode_line_2_item): Add constructor.
10703         <fullform, displayform>: Now std::string.
10704         (decode_line_2_compare_items): Now a std::sort comparator.
10705         (decode_line_2): Update.
10706
10707 2018-04-05  Tom Tromey  <tom@tromey.com>
10708
10709         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
10710         (unexpected_linespec_error): Update.
10711         (linespec_parse_basic, parse_linespec): Update.
10712
10713 2018-04-05  Tom Tromey  <tom@tromey.com>
10714
10715         * linespec.c (linespec_parse_basic): Reindent.
10716
10717 2018-04-05  Tom Tromey  <tom@tromey.com>
10718
10719         * minsyms.h (iterate_over_minimal_symbols): Update.
10720         * minsyms.c (iterate_over_minimal_symbols): Take a
10721         gdb::function_view.
10722         * linespec.c (struct collect_minsyms): Remove.
10723         (compare_msyms): Now a std::sort comparator.
10724         (add_minsym): Add parameters.
10725         (search_minsyms_for_name): Update.  Use std::vector.
10726
10727 2018-04-03  Tom Tromey  <tom@tromey.com>
10728
10729         * mipsread.c (read_alphacoff_dynamic_symtab): Use
10730         gdb::byte_vector.
10731
10732 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10733
10734         * MAINTAINERS (Write After Approval): Add Weimin Pan.
10735
10736 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10737
10738         PR gdb/16959
10739         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
10740         printing static type.
10741
10742 2018-04-01  Tom Tromey  <tom@tromey.com>
10743
10744         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
10745         (rs6000_xfer_shared_libraries): Update.
10746
10747 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
10748
10749         * common/gdb_vecs.h (char_ptr): Remove.
10750         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
10751
10752 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10753
10754         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
10755         with std::vector.
10756         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
10757
10758 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10759
10760         * tracepoint.h (struct uploaded_tp): Initialize fields.
10761         <actions, step_actions, cmd_strings>: Change type to
10762         std::vector<char *>.
10763         * tracepoint.c (get_uploaded_tp): Allocate with new.
10764         (free_uploaded_tps): Free with delete.
10765         (parse_tracepoint_definition): Adjust to std::vector change.
10766         * breakpoint.c (read_uploaded_action): Likewise.
10767         (create_tracepoint_from_upload): Likewise.
10768         * ctf.c (ctf_write_uploaded_tp): Likewise.
10769         (SET_ARRAY_FIELD): Likewise.
10770         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
10771
10772 2018-03-30  Tom Tromey  <tom@tromey.com>
10773
10774         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
10775         std::unique_ptr.
10776         (svr4_keep_data_in_core): Update.
10777         (svr4_read_so_list): Update.
10778
10779 2018-03-30  Tom Tromey  <tom@tromey.com>
10780
10781         * windows-nat.c (handle_output_debug_string, handle_exception):
10782         Update.
10783         * target.h (target_read_string): Update.
10784         * target.c (target_read_string): Change "string" to
10785         unique_xmalloc_ptr.
10786         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
10787         Update.
10788         * solib-frv.c (frv_current_sos): Update.
10789         * solib-dsbt.c (dsbt_current_sos): Update.
10790         * solib-darwin.c (darwin_current_sos): Update.
10791         * linux-thread-db.c (inferior_has_bug): Update.
10792         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
10793         Update.  Remove alloca.
10794         * ada-lang.c (ada_main_name): Update.
10795
10796 2018-03-30  Tom Tromey  <tom@tromey.com>
10797
10798         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
10799         (struct dwo_file_deleter): New.
10800         (dwo_file_up): New typedef.
10801         (open_and_init_dwo_file): Use dwo_file_up.
10802         (free_dwo_file_cleanup): Remove.
10803
10804 2018-03-30  Tom Tromey  <tom@tromey.com>
10805
10806         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
10807         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
10808
10809 2018-03-30  Tom Tromey  <tom@tromey.com>
10810
10811         * dwarf2read.c (class free_cached_comp_units): New class.
10812         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
10813         (free_cached_comp_units): Remove function.
10814
10815 2018-03-30  Tom Tromey  <tom@tromey.com>
10816
10817         * utils.h (make_cleanup_unpush_target): Remove.
10818         * inf-ptrace.c (struct target_unpusher): New.
10819         (target_unpush_up) New typedef.
10820         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
10821         target_unpush_up.
10822         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
10823
10824 2018-03-27  Tom Tromey  <tom@tromey.com>
10825
10826         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
10827
10828 2018-03-27  Pedro Alves  <palves@redhat.com>
10829             Tom Tromey  <tom@tromey.com>
10830
10831         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
10832         destructor.  Now a class.
10833         (gdb_readline_wrapper_cleanup): Remove function.
10834         (gdb_readline_wrapper): Remove cleanups.
10835
10836 2018-03-27  Tom Tromey  <tom@tromey.com>
10837
10838         * typeprint.h (struct type_print_options) <local_typedefs,
10839         global_typedefs>: Remove "struct" keyword.
10840         (class typedef_hash_table): New class.
10841         (recursively_update_typedef_hash, add_template_parameters)
10842         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
10843         (find_typedef_in_hash): Don't declare.
10844         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
10845         (typedef_hash_table::recursively_update): Rename from
10846         recursively_update_typedef_hash.  Now a member.
10847         (typedef_hash_table::add_template_parameters): Rename from
10848         add_template_parameters.  Now a member.
10849         (typedef_hash_table::typedef_hash_table): Now a constructor;
10850         rename from create_typedef_hash.
10851         (typedef_hash_table::~typedef_hash_table): Now a destructor;
10852         rename from free_typedef_hash.
10853         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
10854         (do_free_global_table): Remove.
10855         (typedef_hash_table::typedef_hash_table): New constructor; renamed
10856         from copy_type_recursive.
10857         (create_global_typedef_table): Remove.
10858         (typedef_hash_table::find_global_typedef): Now a member of
10859         typedef_hash_table.
10860         (typedef_hash_table::find_typedef): Rename from
10861         find_typedef_in_hash; now a member.
10862         (whatis_exp): Update.
10863         * extension.h (struct ext_lang_type_printers): Add constructor and
10864         destructor.
10865         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
10866         declare.
10867         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
10868         Now a constructor; rename from start_ext_lang_type_printers.
10869         (ext_lang_type_printers): Now a destructor; rename from
10870         free_ext_lang_type_printers.
10871         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
10872         Update.
10873         (c_type_print_base_struct_union): Update.  Remove cleanups.
10874
10875 2018-03-27  Tom Tromey  <tom@tromey.com>
10876
10877         * dwarf-index-write.c: Include <cmath>.
10878
10879 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10880
10881         * NEWS: Add entry describing new "set|show varsize-limit" command.
10882         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
10883         command.
10884         * printcmd.c (_initialize_printcmd): Add "set var" alias of
10885         "set variable".
10886
10887 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
10888
10889         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
10890         dwarf-index-write.c
10891         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
10892         * dwarf-index-common.c: New file.
10893         * dwarf-index-common.h: New file.
10894         * dwarf-index-write.c: New file.
10895         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
10896         (struct dwarf2_section_info): Move from here.
10897         (dwarf2_section_info_def): Likewise.
10898         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
10899         (offset_type): Likewise.
10900         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
10901         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
10902         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
10903         (byte_swap): Likewise.
10904         (MAYBE_SWAP): Likewise.
10905         (dwarf2_per_cu_ptr): Likewise.
10906         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
10907         (struct tu_stats): Likewise.
10908         (struct dwarf2_per_objfile): Likewise.
10909         (struct dwarf2_per_cu_data): Likewise.
10910         (struct signatured_type): Likewise.
10911         (sig_type_ptr): Likewise.
10912         (DEF_VEC_P (sig_type_ptr)): Likewise.
10913         (INDEX4_SUFFIX): Likewise.
10914         (INDEX5_SUFFIX): Likewise.
10915         (DEBUG_STR_SUFFIX): Likewise.
10916         (dwarf2_read_section): Make non-static.
10917         (mapped_index_string_hash): Move from here.
10918         (dwarf5_djb_hash): Likewise.
10919         (file_write): Likewise.
10920         (class data_buf): Likewise.
10921         (struct symtab_index_entry): Likewise.
10922         (struct mapped_symtab): Likewise.
10923         (find_slot): Likewise.
10924         (hash_expand): Likewise.
10925         (add_index_entry): Likewise.
10926         (uniquify_cu_indices): Likewise.
10927         (class c_str_view): Likewise.
10928         (class c_str_view_hasher): Likewise.
10929         (class vector_hasher): Likewise.
10930         (write_hash_table): Likewise.
10931         (psym_index_map): Likewise.
10932         (struct addrmap_index_data): Likewise.
10933         (add_address_entry): Likewise.
10934         (add_address_entry_worker): Likewise.
10935         (write_address_map): Likewise.
10936         (symbol_kind): Likewise.
10937         (write_psymbols): Likewise.
10938         (struct signatured_type_index_data): Likewise.
10939         (write_one_signatured_type): Likewise.
10940         (recursively_count_psymbols): Likewise.
10941         (recursively_write_psymbols): Likewise.
10942         (class debug_names): Likewise.
10943         (check_dwarf64_offsets): Likewise.
10944         (psyms_seen_size): Likewise.
10945         (write_gdbindex): Likewise.
10946         (write_debug_names): Likewise.
10947         (assert_file_size): Likewise.
10948         (write_psymtabs_to_index): Likewise.
10949         (save_gdb_index_command): Likewise.
10950         (_initialize_dwarf2_read): Don't register the "save gdb-index"
10951         command.
10952         * dwarf2read.h: New file.
10953
10954 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10955
10956         PR gdb/22670
10957         * dwarf2read.c (dwarf2_physname): Do not return the demangled
10958         symbol name if the CU's language stores symbol names in linkage
10959         format.
10960         * language.h (struct language_defn)
10961         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
10962         all instances of this struct.
10963
10964 2018-03-26  Tom Tromey  <tom@tromey.com>
10965
10966         * stack.c (backtrace_command_1): Remove verbose code.
10967
10968 2018-03-26  Tom Tromey  <tom@tromey.com>
10969
10970         * python/py-framefilter.c (py_print_type): Don't catch
10971         exceptions.  Return void.
10972         (py_print_value): Likewise.
10973         (py_print_single_arg): Likewise.
10974         (enumerate_args): Don't catch exceptions.
10975         (py_print_args): Likewise.
10976         (py_print_frame): Likewise.
10977         (gdbpy_apply_frame_filter): Catch exceptions here.
10978
10979 2018-03-26  Tom Tromey  <tom@tromey.com>
10980
10981         * stack.c (_initialize_stack): Remove trailing newlines from help
10982         text.  Add "Usage" line to "backtrace" help.
10983
10984 2018-03-26  Tom Tromey  <tom@tromey.com>
10985
10986         PR python/16486:
10987         * python/py-framefilter.c (py_print_args): Call wrap_hint.
10988
10989 2018-03-26  Tom Tromey  <tom@tromey.com>
10990
10991         * python/py-framefilter.c (py_print_single_arg): Return
10992         EXT_LANG_BT_ERROR from catch.
10993
10994 2018-03-26  Tom Tromey  <tom@tromey.com>
10995
10996         PR backtrace/15584:
10997         * stack.c (backtrace_command_1): Move some code into no-filters
10998         "if".
10999
11000 2018-03-26  Tom Tromey  <tom@tromey.com>
11001
11002         * python/py-framefilter.c (throw_quit_or_print_exception): New
11003         function.
11004         (gdbpy_apply_frame_filter): Use it.
11005
11006 2018-03-26  Tom Tromey  <tom@tromey.com>
11007
11008         PR cli/17716:
11009         * python/py-framefilter.c (py_print_type, py_print_value)
11010         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
11011         RETURN_MASK_ERROR.
11012
11013 2018-03-26  Tom Tromey  <tom@tromey.com>
11014
11015         * python/py-framefilter.c (enumerate_args): Use
11016         gdb::unique_xmalloc_ptr.
11017
11018 2018-03-26  Tom Tromey  <tom@tromey.com>
11019
11020         * python/py-framefilter.c (py_print_frame): Return
11021         EXT_LANG_BT_OK.
11022         (gdbpy_apply_frame_filter): Update comment.
11023         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
11024         Remove.
11025         <EXT_LANG_BT_NO_FILTERS>: Change value.
11026
11027 2018-03-26  Tom Tromey  <tom@tromey.com>
11028
11029         PR backtrace/15582:
11030         * stack.c (backtrace_command): Parse "hide" argument.
11031         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
11032         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
11033         constant.
11034
11035 2018-03-26  Tom Tromey  <tom@tromey.com>
11036
11037         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
11038         add "flags".
11039         (backtrace_command): Remove "fulltrace", add "flags".
11040
11041 2018-03-26  Tom Tromey  <tom@tromey.com>
11042
11043         * stack.c (backtrace_command): Rewrite command line parsing.
11044
11045 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11046
11047         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
11048
11049 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11050
11051         * filename-seen-cache.h: Add include guard.
11052
11053 2018-03-26  Keith Seitz  <keiths@redhat.com>
11054
11055         * symfile.c (place_section): Remove "struct" from section_addr_info
11056         in comment.
11057         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
11058         "struct" keyword from section_addr_info.
11059
11060 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
11061
11062         * regformats/regdef.h (reg): Add constructors.
11063
11064 2018-03-25  Pedro Alves  <palves@redhat.com>
11065
11066         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
11067         if then/else bodies in var_func_name extraction.
11068
11069 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
11070
11071         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
11072         lookup_minimal_symbol() to find symbol entry.
11073         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
11074
11075 2018-03-23  Keith Seitz  <keiths@redhat.com>
11076
11077         PR c++/22968
11078         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
11079         nested type definitions for C++, too.
11080
11081 2018-03-23  Tom Tromey  <tom@tromey.com>
11082
11083         * machoread.c (struct oso_el): Add a constructor.  Don't define as
11084         a typedef.
11085         (macho_register_oso): Remove.
11086         (macho_symtab_read): Take a std::vector.
11087         (oso_el_compare_name): Now a std::sort comparator.
11088         (macho_symfile_read_all_oso): Take a std::vector.
11089         (macho_symfile_read): Use std::vector.  Remove cleanups.
11090
11091 2018-03-22  Tom Tromey  <tom@tromey.com>
11092
11093         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
11094         (record_full_goto_bookmark): Use std::string.
11095
11096 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11097
11098         PR tdep/18295
11099         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
11100         a single mask.
11101
11102 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11103
11104         * rs6000-tdep.c (store_insn_p): New function.
11105         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
11106         and cr_reg to their unshifted values. Use store_insn_p to
11107         match LR saves using either R1 or fdata->alloca_reg. Use
11108         store_insn_p to match CR saves. Set alloca_reg_offset
11109         when alloca_reg and framep are set. Remove lr_reg shift
11110         when assigning to fdata->lr_register.
11111
11112 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11113
11114         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
11115         command line args instead of emitting a warning.
11116
11117 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11118
11119         * tracepoint.h (struct static_tracepoint_marker): Initialize
11120         fields, define default constructor, move constructor and move
11121         assignment, disable the rest.
11122         <str_id, extra>: Make std::string.
11123         (release_static_tracepoint_marker): Remove.
11124         (free_current_marker): Remove.
11125         * tracepoint.c (free_current_marker): Remove.
11126         (parse_static_tracepoint_marker_definition): Adjust to
11127         std::string, use new hex2str overload.
11128         (release_static_tracepoint_marker): Remove.
11129         (print_one_static_tracepoint_marker): Get marker by reference
11130         and adjust to std::string.
11131         (info_static_tracepoint_markers_command): Adjust to std::vector
11132         changes
11133         * target.h (static_tracepoint_marker_p): Remove typedef.
11134         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
11135         (struct target_ops) <to_static_tracepoint_marker_at>: Return
11136         bool.
11137         <to_static_tracepoint_markers_by_strid>: Return std::vector.
11138         * target-debug.h
11139         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
11140         (target_debug_print_std_vector_static_tracepoint_marker): New.
11141         (target_debug_print_struct_static_tracepoint_marker_p): Rename
11142         to...
11143         (target_debug_print_static_tracepoint_marker_p): ... this.
11144         * target-delegates.c: Re-generate.
11145         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
11146         Make std::string.
11147         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
11148         (decode_static_tracepoint_spec): Adjust to std::vector.
11149         (tracepoint_print_one_detail): Adjust to std::string.
11150         (strace_marker_decode_location): Adjust to std::string.
11151         (update_static_tracepoint): Adjust to std::string, remove call
11152         to release_static_tracepoint_marker.
11153         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
11154         Adjust to std::vector.
11155         * remote.c (remote_static_tracepoint_marker_at): Return bool.
11156         (remote_static_tracepoint_markers_by_strid): Adjust to
11157         std::vector.
11158         * common/rsp-low.h (hex2str): New overload with explicit count
11159         of bytes.
11160         * common/rsp-low.c (hex2str): New overload with explicit count
11161         of bytes.
11162         * unittests/rsp-low-selftests.c (test_hex2str): New function.
11163         (_initialize_rsp_low_selftests): Add test_hex2str test.
11164         * unittests/tracepoint-selftests.c
11165         (test_parse_static_tracepoint_marker_definition): Adjust to
11166         std::string.
11167
11168 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11169
11170         * tracepoint.c (parse_static_tracepoint_marker_definition):
11171         Consider case where the definition is followed by more
11172         definitions.
11173         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11174         tracepoint-selftests.c.
11175         * unittests/tracepoint-selftests.c: New.
11176
11177 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11178
11179         * MAINTAINERS (Write After Approval): Add Pedro Franco de
11180         Carvalho.
11181
11182 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11183
11184         * symtab.c (find_pc_sect_line): fixed indentation.
11185
11186 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11187
11188         * symtab.c (find_pc_sect_line): now uses binary search.
11189
11190 2018-03-19  Tom Tromey  <tom@tromey.com>
11191
11192         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
11193         "IDENT" production.
11194
11195 2018-03-19  Pedro Alves  <palves@redhat.com>
11196             Tom Tromey  <tom@tromey.com>
11197
11198         * unittests/observable-selftests.c: New file.
11199         * common/observable.h: New file.
11200         * observable.h: New file.
11201         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
11202         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
11203         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
11204         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
11205         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
11206         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
11207         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
11208         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
11209         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
11210         python/py-breakpoint.c, python/py-finishbreakpoint.c,
11211         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
11212         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
11213         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
11214         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
11215         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
11216         tui/tui-interp.c, valops.c: Update all users.
11217         * tui/tui-hooks.c (tui_bp_created_observer)
11218         (tui_bp_deleted_observer, tui_bp_modified_observer)
11219         (tui_inferior_exit_observer, tui_before_prompt_observer)
11220         (tui_normal_stop_observer, tui_register_changed_observer):
11221         Remove.
11222         (tui_observers_token): New global.
11223         (attach_or_detach, tui_attach_detach_observers): New functions.
11224         (tui_install_hooks, tui_remove_hooks): Use
11225         tui_attach_detach_observers.
11226         * record-btrace.c (record_btrace_thread_observer): Remove.
11227         (record_btrace_thread_observer_token): New global.
11228         * observer.sh: Remove.
11229         * observer.c: Rename to observable.c.
11230         * observable.c (namespace gdb_observers): Define new objects.
11231         (observer_debug): Move into gdb_observers namespace.
11232         (struct observer, struct observer_list, xalloc_observer_list_node)
11233         (xfree_observer_list_node, generic_observer_attach)
11234         (generic_observer_detach, generic_observer_notify): Remove.
11235         (_initialize_observer): Update.
11236         Don't include observer.inc.
11237         * Makefile.in (generated_files): Remove observer.h, observer.inc.
11238         (clean mostlyclean): Likewise.
11239         (observer.h, observer.inc): Remove targets.
11240         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
11241         (COMMON_SFILES): Use observable.c, not observer.c.
11242         * .gitignore: Remove observer.h.
11243
11244 2018-03-18  Tom Tromey  <tom@tromey.com>
11245
11246         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
11247         gdb::def_vector.
11248         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
11249
11250 2018-03-17  Tom Tromey  <tom@tromey.com>
11251
11252         * auto-load.c (auto_load_objfile_script_1): Use std::string.
11253
11254 2018-03-17  Tom Tromey  <tom@tromey.com>
11255
11256         * target.c (class scoped_target_fd): New.
11257         (target_fileio_close_cleanup): Remove.
11258         (target_fileio_read_alloc_1): Use scoped_target_fd.
11259
11260 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
11261
11262         * silent-rules.mk: New.
11263         * Makefile.in: Include silent-rules.mk
11264         (srcdir, VPATH, top_srcdir): Move up.
11265         (COMPILE): Add ECHO_CXX.
11266         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
11267         (init.c): Add ECHO_INIT_C.
11268         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
11269         (version.c): Add ECHO_GEN.
11270         (printcmd.o): Add ECHO_CXX.
11271         (target-float.o): Add ECHO_CXX.
11272         (ada-exp.o): Add ECHO_CXX.
11273         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
11274         (insight$(EXEEXT)): Add ECHO_CXXLD.
11275         * gnulib/configure.ac: Add AM_SILENT_RULES.
11276         * gnulib/aclocal.m4: Re-generate.
11277         * gnulib/configure: Re-generate.
11278         * gnulib/import/Makefile.in: Re-generate.
11279
11280 2018-03-16  Tom Tromey  <tom@tromey.com>
11281
11282         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
11283         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
11284         * utils.c (do_free_section_addr_info)
11285         (make_cleanup_free_section_addr_info): Remove.
11286         * symfile.h (struct other_sections): Add constructor.
11287         (struct section_addr_info): Remove.
11288         (section_addr_info): New typedef.
11289         (struct sym_fns) <sym_offsets>: Change type of parameter.
11290         (build_section_addr_info_from_objfile)
11291         (relative_addr_info_to_section_offsets, addr_info_make_relative)
11292         (default_symfile_offsets, symbol_file_add)
11293         (symbol_file_add_from_bfd)
11294         (build_section_addr_info_from_section_table): Update.
11295         (alloc_section_addr_info, free_section_addr_info): Don't declare.
11296         * symfile.c (alloc_section_addr_info): Remove.
11297         (build_section_addr_info_from_section_table): Change return type.
11298         Update.
11299         (build_section_addr_info_from_bfd)
11300         (build_section_addr_info_from_objfile): Likewise.
11301         (free_section_addr_info): Remove.
11302         (relative_addr_info_to_section_offsets): Change type of "addrs".
11303         (addrs_section_compar): Now a std::sort comparator.
11304         (addrs_section_sort): Change return type.
11305         (addr_info_make_relative): Change type of "addrs".  Update.
11306         (default_symfile_offsets, syms_from_objfile_1)
11307         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
11308         (symbol_file_add_separate): Update.
11309         (symbol_file_add): Change type of "addrs".  Update.
11310         (add_symbol_file_command): Update.  Remove cleanups.
11311         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
11312         cleanups.
11313         * symfile-debug.c (debug_sym_offsets): Change type of "info".
11314         * solib.c (solib_read_symbols): Update.
11315         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
11316         * machoread.c (macho_symfile_offsets): Update.
11317         * jit.c (jit_bfd_try_read_symtab): Update.
11318
11319 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
11320
11321         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11322         unittests/utils-selftests.c.
11323         * unittests/utils-selftests.c: New file.
11324
11325 2018-03-14  Tom Tromey  <tom@tromey.com>
11326
11327         PR cli/14977:
11328         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
11329         for NULL.
11330
11331 2018-03-14  Tom Tromey  <tom@tromey.com>
11332
11333         PR cli/19918:
11334         * printcmd.c (printf_pointer): Allow "-" in format.
11335
11336 2018-03-14  Tom Tromey  <tom@tromey.com>
11337
11338         * printcmd.c (_initialize_printcmd): Add usage to printf.
11339
11340 2018-03-14  Yao Qi  <qiyao@sourceware.org>
11341
11342         * MAINTAINERS: Update my email address.
11343
11344 2018-03-13  Tom Tromey  <tom@tromey.com>
11345
11346         * machoread.c (macho_check_dsym): Change filenamep to a
11347         std::string*.
11348         (macho_symfile_read): Update.
11349         * symfile.c (load_command): Use std::string.
11350
11351 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11352
11353         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
11354         to error message string.
11355         (riscv_register_name): Use xsnprintf instead of sprintf.
11356         (riscv_insn::fetch_instruction): Use gdb_assert instead of
11357         internal_error.
11358         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
11359         error.
11360         (riscv_push_dummy_call): Likewise.
11361
11362 2018-03-12  Tom Tromey  <tom@tromey.com>
11363
11364         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
11365         Use gdb::byte_vector.
11366         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
11367
11368 2018-03-12  Yao Qi  <yao.qi@linaro.org>
11369
11370         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
11371         parameter type to readable_regcache.
11372         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
11373         the declaration.
11374
11375 2018-03-11  Tom Tromey  <tom@tromey.com>
11376
11377         * dwarf2read.c (struct nextfield): Add initializers.
11378         (struct nextfnfield): Remove.
11379         (struct fnfieldlist): Add initializers.  Remove "length" and
11380         "head", use std::vector.
11381         (struct decl_field_list): Remove.
11382         (struct field_info): Add initializers.
11383         <fields, baseclasses>: Now std::vector.
11384         <nbaseclasses, nfnfields, typedef_field_list_count,
11385         nested_types_list_count>: Remove.
11386         (dwarf2_add_field, dwarf2_add_type_defn)
11387         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
11388         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
11389         (process_structure_scope): Update.
11390
11391 2018-03-11  Tom Tromey  <tom@tromey.com>
11392
11393         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
11394         for use by std::sort.
11395         (build_type_psymtabs_1): Use std::vector.
11396
11397 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
11398
11399         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
11400         and LIBMPFR in the printed configuration.
11401
11402 2018-03-08  Tom Tromey  <tom@tromey.com>
11403
11404         * source.c (get_filename_and_charpos): Use scoped_fd.
11405         * nto-procfs.c (procfs_open_1): Use scoped_fd.
11406         (procfs_pidlist): Likewise.
11407         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
11408         (iterate_over_mappings): Likewise.
11409
11410 2018-03-08  Tom Tromey  <tom@tromey.com>
11411
11412         * infcall.c (struct call_return_meta_info)
11413         <stack_temporaries_enabled>: Remove.
11414         (get_call_return_value, call_function_by_hand_dummy): Update.
11415         * thread.c (disable_thread_stack_temporaries): Remove.
11416         (enable_thread_stack_temporaries): Remove.
11417         (thread_stack_temporaries_enabled_p): Return bool.
11418         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
11419         (get_last_thread_stack_temporary): Update.
11420         * eval.c (evaluate_subexp): Update.
11421         * gdbthread.h (class enable_thread_stack_temporaries): Now a
11422         class, not a function.
11423         (value_ptr, value_vec): Remove typedefs.
11424         (class thread_info) <stack_temporaries_enabled>: Now bool.
11425         <stack_temporaries>: Now a std::vector.
11426         (thread_stack_temporaries_enabled_p)
11427         (value_in_thread_stack_temporaries): Return bool.
11428
11429 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
11430
11431         * remote.c (putpkt_binary): Fix omitted bytes reporting.
11432         (getpkt_or_notif_sane_1): Likewise.
11433
11434 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11435
11436         * build-id.c (build_id_to_debug_bfd): Use std::string.
11437
11438 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11439
11440         * build-id.c (find_separate_debug_file_by_buildid): Return
11441         std::string.
11442         * build-id.h (find_separate_debug_file_by_buildid): Return
11443         std::string.
11444         * coffread.c (coff_symfile_read): Adjust to std::string.
11445         * elfread.c (elf_symfile_read): Adjust to std::string.
11446         * symfile.c (separate_debug_file_exists): Change parameter to
11447         std::string.
11448         (find_separate_debug_file): Return std::string.
11449         (find_separate_debug_file_by_debuglink): Return std::string.
11450         * symfile.h (find_separate_debug_file_by_debuglink): Return
11451         std::string.
11452
11453 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11454
11455         * common/xml-utils.c (xml_escape_text): Move code to...
11456         (xml_escape_text_append): ... this new function.
11457         * common/xml-utils.h (xml_escape_text_append): New declaration.
11458         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
11459         New function.
11460         (_initialize_xml_utils): register test_xml_escape_text_append as
11461         a selftest.
11462
11463 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
11464
11465         * defs.h: Remove MAX_REGISTER_SIZE.
11466         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
11467         asserts.
11468         * python/py-unwind.c (pyuw_sniffer): Likewise.
11469
11470 2018-03-07  Tom Tromey  <tom@tromey.com>
11471
11472         * linux-tdep.c (linux_info_proc): Update.
11473         * target.h (struct target_ops) <to_fileio_readlink>: Return
11474         optional<string>.
11475         (target_fileio_readlink): Return optional<string>.
11476         * remote.c (remote_hostio_readlink): Return optional<string>.
11477         * inf-child.c (inf_child_fileio_readlink): Return
11478         optional<string>.
11479         * target.c (target_fileio_readlink): Return optional<string>.
11480
11481 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
11482
11483         * regcache.c (cooked_read_test): Add riscv to the list of
11484         architectures that have a save_reggroup.
11485
11486 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11487
11488         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
11489         value is not a dynamic class object.
11490
11491 2018-03-06  Tom Tromey  <tom@tromey.com>
11492
11493         * rust-exp.y: Formatting fixes.
11494
11495 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11496
11497         * riscv-tdep.c (riscv_register_name): Remove target description
11498         support.
11499         (riscv_gdbarch_init): Remove target description check.
11500
11501 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11502
11503         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
11504         comment.
11505         * riscv-tdep.h: Likewise.
11506
11507 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11508
11509         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
11510         (riscv_pseudo_register_write): Delete.
11511         (riscv_gdbarch_init): Remove all use of pseudo registers.
11512
11513 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11514
11515         * record-btrace.c (btrace_print_lines): Replace cleanup
11516         parameter with RAII equivalents.
11517         (btrace_insn_history): Replace cleanup with RAII equivalents.
11518         * ui-out.h (make_cleanup_ui_out_list_begin_end,
11519         make_cleanup_ui_out_tuple_begin_end): Remove.
11520         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
11521         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
11522         make_cleanup_ui_out_list_begin_end): Remove.
11523
11524 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11525
11526         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
11527         parameter types to std::vector.  Use bool.
11528         (record_btrace_wait): Replace VEC(tp_t) with
11529         std::vector<thread_info *>.
11530         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
11531
11532 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11533
11534         * record-btrace.c (record_btrace_disable_callback): Remove.
11535         (struct scoped_btrace_disable): New.
11536         (record_btrace_open): Use scoped_btrace_disable.
11537
11538 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11539
11540         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
11541         reading values from registers.
11542
11543 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11544
11545         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
11546         where appropriate.
11547
11548 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11549
11550         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
11551         change parameter type.  Use GDB's print functions, and use
11552         core_addr_to_string where appropriate.
11553         (riscv_push_dummy_call): Use core_addr_to_string where
11554         appropriate, update call to riscv_print_arg_location, and reindent
11555         a few lines.
11556         (riscv_return_value): Update call to riscv_print_arg_location.
11557
11558 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11559             Tim Newsome <tim@sifive.com>
11560             Albert Ou <a0u@eecs.berkeley.edu>
11561             Darius Rad <darius@bluespec.com>
11562
11563         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
11564         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
11565         (ALLDEPFILES): Add riscv-tdep.c
11566         * configure.tgt: Add riscv support.
11567         * riscv-tdep.c: New file.
11568         * riscv-tdep.h: New file.
11569         * NEWS: Mention new target.
11570         * MAINTAINERS: Add entry for riscv.
11571
11572 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11573
11574         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
11575         fields within aggregates.
11576
11577 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
11578
11579         * record-btrace.c (btrace_print_lines): Change type of flags to
11580         gdb_disassembly_flags.
11581
11582 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11583
11584         * fbsd-nat.c: Include "inf-ptrace.h".
11585         (USE_SIGTRAP_SIGINFO): Conditionally define.
11586         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
11587         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
11588         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
11589         function.
11590         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
11591         Likewise.
11592         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
11593         Likewise.
11594         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
11595         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
11596         "supports_stopped_by_hw_breakpoint" target methods.
11597
11598 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11599
11600         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
11601         * fbsd-nat.c (debug_fbsd_nat): New variable.
11602         (show_fbsd_nat_debug): New function.
11603         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
11604         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
11605
11606 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11607
11608         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
11609         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
11610         prototype.
11611         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
11612         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
11613         method.
11614
11615 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11616
11617         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
11618         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
11619
11620 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11621
11622         * charset.c (struct charset_vector): New.
11623         (charsets): Change type to charset_vector.
11624         (find_charset_names): Adjust.
11625         (add_one): Adjust.
11626         (_initialize_charset): Adjust.
11627
11628 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11629
11630         * progspace.h (struct program_space) <deleted_solibs>: Change
11631         type to std::vector<std::string>.
11632         * progspace.c (clear_program_space_solib_cache): Adjust.
11633         * breakpoint.c (print_solib_event): Adjust.
11634         (check_status_catch_solib): Adjust.
11635         * solib.c (update_solib_list): Adjust.
11636         * ui-out.h (class ui_out) <field_string>: New overload.
11637         * ui-out.c (ui_out::field_string): New overload.
11638
11639 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11640
11641         * progspace.h (struct program_space): Add constructor and
11642         destructor, initialize fields.
11643         (add_program_space): Remove.
11644         * progspace.c (add_program_space): Rename to...
11645         (program_space::program_space): ... this.
11646         (release_program_space): Rename to...
11647         (program_space::~program_space): ... this.
11648         (delete_program_space): Use delete to delete program_space.
11649         (initialize_progspace): Use new to allocate program_space.
11650         * inferior.c (add_inferior_with_spaces): Likewise.
11651         (clone_inferior_command): Likewise.
11652         * infrun.c (follow_fork_inferior): Likewise.
11653         (handle_vfork_child_exec_or_exit): Likewise.
11654
11655 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11656
11657         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
11658         (delim_string_to_char_ptr_vec): Return std::vector of
11659         gdb::unique_xmalloc_ptr.
11660         (dirnames_to_char_ptr_vec_append): Take std::vector of
11661         gdb::unique_xmalloc_ptr.
11662         (dirnames_to_char_ptr_vec): Return std::vector of
11663         gdb::unique_xmalloc_ptr.
11664         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
11665         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
11666         (delim_string_to_char_ptr_vec): Return an std::vector of
11667         gdb::unique_xmalloc_ptr, adjust the code.
11668         (dirnames_to_char_ptr_vec_append): Take an std::vector of
11669         gdb::unique_xmalloc_ptr, adjust the code.
11670         (dirnames_to_char_ptr_vec): Return an std::vector of
11671         gdb::unique_xmalloc_ptr, adjust the code.
11672         * auto-load.c (auto_load_safe_path_vec): Change type to
11673         std::vector of gdb::unique_xmalloc_ptr.
11674         (auto_load_expand_dir_vars): Return an std::vector of
11675         gdb::unique_xmalloc_ptr, adjust the code.
11676         (auto_load_safe_path_vec_update): Adjust.
11677         (filename_is_in_auto_load_safe_path_vec): Adjust.
11678         (auto_load_objfile_script_1): Adjust.
11679         * build-id.c (build_id_to_debug_bfd): Adjust.
11680         * linux-thread-db.c (thread_db_load_search): Adjust.
11681         * source.c (add_path): Adjust.
11682         (openp): Adjust.
11683         * symfile.c (find_separate_debug_file): Adjust.
11684         * utils.c (do_free_char_ptr_vec): Remove.
11685         (make_cleanup_free_char_ptr_vec): Remove.
11686
11687 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
11688
11689         PR gdb/22907
11690         * common/pathstuff.c: Conditionally include "<windows.h>".
11691
11692 2018-03-01  Georg Sauthoff  <mail@georg.so>
11693
11694         PR gdb/22888
11695         * gcore.in: Quote variables and switch interpreter to bash.
11696
11697 2018-03-01  Tom Tromey  <tom@tromey.com>
11698
11699         * dwarf2read.c (alloc_discriminant_info): Fix default_index
11700         assertion.  Add assertion for discriminant_index.
11701         (quirk_rust_enum): Use correct base type name in univariant case.
11702
11703 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
11704
11705         * record.c (get_call_history_modifiers): Return a
11706         record_print_flags.
11707         (cmd_record_call_history): Adjust.
11708         * record-btrace.c (record_btrace_call_history): Adjust.
11709         (record_btrace_call_history_range): Adjust.
11710         (record_btrace_call_history_from): Adjust.
11711         * target-debug.h (target_debug_print_record_print_flags): New.
11712         * target-delegates.c: Re-generate.
11713         * target.c (target_call_history): Change flags type.
11714         (target_call_history_from): Likewise.
11715         (target_call_history_range): Likewise.
11716         * target.h (struct target_ops) <target_call_history>: Likewise.
11717         (target_call_history_from): Likewise.
11718         (target_call_history_range): Likewise.
11719
11720 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11721             Simon Marchi  <simon.marchi@polymtl.ca>
11722
11723         * common/common-utils.c: Include "sys/stat.h".
11724         (is_regular_file): Move here from "source.c"; change return
11725         type to "bool".
11726         * common/common-utils.h (is_regular_file): New prototype.
11727         * common/pathstuff.c (contains_dir_separator): New function.
11728         * common/pathstuff.h (contains_dir_separator): New prototype.
11729         * source.c: Don't include "sys/stat.h".
11730         (is_regular_file): Move to "common/common-utils.c".
11731
11732 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11733
11734         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
11735         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
11736         * auto-load.c: Include "common/pathstuff.h".
11737         * common/common-def.h (current_directory): Move here.
11738         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
11739         function.
11740         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
11741         prototype.
11742         * common/pathstuff.c: New file.
11743         * common/pathstuff.h: New file.
11744         * compile/compile.c: Include "common/pathstuff.h".
11745         * defs.h (current_directory): Move to "common/common-defs.h".
11746         * dwarf2read.c: Include "common/pathstuff.h".
11747         * exec.c: Likewise.
11748         * guile/scm-safe-call.c: Likewise.
11749         * linux-thread-db.c: Likewise.
11750         * main.c: Likewise.
11751         * nto-tdep.c: Likewise.
11752         * objfiles.c: Likewise.
11753         * source.c: Likewise.
11754         * symtab.c: Likewise.
11755         * utils.c: Include "common/pathstuff.h".
11756         (gdb_realpath): Move to "common/pathstuff.c".
11757         (gdb_realpath_keepfile): Likewise.
11758         (gdb_abspath): Likewise.
11759         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
11760         (gdb_realpath_keepfile): Likewise.
11761         (gdb_abspath): Likewise.
11762
11763 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
11764
11765         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
11766         wildcard process pid for super_resume for kernels with a
11767         specific bug.
11768
11769 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
11770
11771         * compile/compile.c (get_args): Add additional comments
11772         explaining function.
11773
11774 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
11775             Tom Tromey  <tom@tromey.com>
11776
11777         * target.h (memory_write_request_s): Remove typedef.  Don't define
11778         VEC.
11779         (target_write_memory_blocks): Change argument to std::vector.
11780         (struct memory_write_request): Add constructor.
11781         * target-memory.c (compare_block_starting_address): Return bool.
11782         Change argument types.
11783         (claim_memory): Change arguments to use std::vector.
11784         (split_regular_and_flash_blocks, blocks_to_erase)
11785         (compute_garbled_blocks): Likewise.
11786         (cleanup_request_data, cleanup_write_requests_vector): Remove.
11787         (target_write_memory_blocks): Change argument to std::vector.
11788         * symfile.c (struct load_section_data): Add constructor and
11789         destructor.  Use std::vector for "requests".
11790         (struct load_progress_data): Add initializers.
11791         (load_section_callback): Update.  Use "new".
11792         (clear_memory_write_data): Remove.
11793         (generic_load): Update.
11794
11795 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
11796
11797         * arch/aarch64.h: Use common/tdesc.h.
11798
11799 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11800
11801         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
11802         architecture with a 64-bit ABI.
11803
11804 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11805
11806         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
11807         ahead of target description loading.
11808
11809 2018-02-26  Tom Tromey  <tom@tromey.com>
11810
11811         * stack.c (backtrace_command_1): Update.
11812         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
11813         of "flags".
11814         * python/py-framefilter.c (py_print_frame)
11815         (gdbpy_apply_frame_filter): Change type of "flags".
11816         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
11817         of "flags".
11818         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
11819         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
11820         * extension.h (enum frame_filter_flag): Rename from
11821         frame_filter_flags.
11822         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
11823         (apply_ext_lang_frame_filter): Change type of "flags".
11824         * extension.c (apply_ext_lang_frame_filter): Change type of
11825         "flags".
11826         * extension-priv.h (struct extension_language_ops)
11827         <apply_frame_filter>: Change type of "flags".
11828
11829 2018-02-26  Tom Tromey  <tom@tromey.com>
11830
11831         PR python/16497:
11832         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
11833         off-by-one in py_end computation.
11834         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
11835         PRINT_MORE_FRAMES.
11836         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
11837         constant.
11838
11839 2018-02-26  Tom Tromey  <tom@tromey.com>
11840
11841         * dwarf2read.c (struct variant_field): New.
11842         (struct nextfield) <variant>: New field.
11843         (dwarf2_add_field): Handle DW_TAG_variant_part.
11844         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
11845         discriminated union.
11846         (read_structure_type): Handle DW_TAG_variant_part.
11847         (handle_struct_member_die): New function, extracted from
11848         process_structure_scope.  Handle DW_TAG_variant.
11849         (process_structure_scope): Handle discriminated unions.  Call
11850         handle_struct_member_die.
11851
11852 2018-02-26  Tom Tromey  <tom@tromey.com>
11853
11854         * rust-lang.h (rust_last_path_segment): Declare.
11855         * rust-lang.c (rust_last_path_segment): Now public.  Change
11856         contract.
11857         (struct disr_info): Remove.
11858         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
11859         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
11860         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
11861         (rust_enum_p, rust_enum_variant): New function.
11862         (rust_underscore_fields): Remove "offset" parameter.
11863         (rust_print_enum): New function.
11864         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
11865         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
11866         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
11867         enums.
11868         (rust_internal_print_type): New function, from rust_print_type.
11869         Remove enum code.
11870         (rust_print_type): Call rust_internal_print_type.
11871         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
11872         Update enum handling.
11873         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
11874         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
11875         (rust_union_quirks): New functions.
11876         (process_full_comp_unit, process_full_type_unit): Call
11877         rust_union_quirks.
11878         (process_structure_scope): Update rust_unions if necessary.
11879
11880 2018-02-26  Tom Tromey  <tom@tromey.com>
11881
11882         * value.h (value_union_variant): Declare.
11883         * valops.c (value_union_variant): New function.
11884         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
11885         (struct discriminant_info): New.
11886         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
11887         enumerator.
11888         (struct main_type) <flag_discriminated_union>: New field.
11889
11890 2018-02-26  Tom Tromey  <tom@tromey.com>
11891
11892         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11893         unittests/unpack-selftests.c.
11894         * unittests/unpack-selftests.c: New file.
11895         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
11896
11897 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11898
11899         * dwarf2read.c (struct partial_die_info) <read>: New method.
11900         (read_partial_die): Remove the declaration.
11901         (load_partial_dies): Update.
11902         (partial_die_info::partial_die_info):
11903         (read_partial_die): Change it to partial_die_info::read.
11904
11905 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11906
11907         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
11908         (fixup_partial_die): Remove declaration.
11909         (scan_partial_symbols): Update.
11910         (partial_die_parent_scope): Likewise.
11911         (partial_die_full_name): Likewise.
11912         (fixup_partial_die): Change it to partial_die_info::fixup.
11913
11914 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11915
11916         * dwarf2read.c (read_partial_die): Update the declaration.
11917         (load_partial_dies): Caller update.
11918         (read_partial_die): Remove one argument abbrev_len.
11919
11920 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11921
11922         * dwarf2read.c (struct partial_die_info): Add ctor, delete
11923         assignment operator.
11924         (load_partial_dies): Use ctor and copy ctor.
11925         (read_partial_die): Update.
11926         (dwarf2_cu::find_partial_die): Use ctor.
11927
11928 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11929
11930         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
11931         (find_partial_die_in_comp_unit): Change it to
11932         dwarf2_cu::find_partial_die.
11933         (find_partial_die): Update.
11934
11935 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11936
11937         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
11938         is NULL.
11939
11940 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11941
11942         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
11943
11944 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
11945
11946         * arch/amd64.h: Use common/tdesc.h.
11947         * arch/i386.c: Likewise.
11948         * arch/i386.h: Likewise.
11949         * arch/tic6x.c: Likewise.
11950         * arch/tdesc.h: Move file from here...
11951         * common/tdesc.h: ...to here.
11952         * features/aarch64-core.c: Regenerate.
11953         * features/aarch64-fpu.c: Regenerate.
11954         * features/i386/32bit-avx.c: Regenerate.
11955         * features/i386/32bit-avx512.c: Regenerate.
11956         * features/i386/32bit-core.c: Regenerate.
11957         * features/i386/32bit-linux.c: Regenerate.
11958         * features/i386/32bit-mpx.c: Regenerate.
11959         * features/i386/32bit-pkeys.c: Regenerate.
11960         * features/i386/32bit-sse.c: Regenerate.
11961         * features/i386/64bit-avx.c: Regenerate.
11962         * features/i386/64bit-avx512.c: Regenerate.
11963         * features/i386/64bit-core.c: Regenerate.
11964         * features/i386/64bit-linux.c: Regenerate.
11965         * features/i386/64bit-mpx.c: Regenerate.
11966         * features/i386/64bit-pkeys.c: Regenerate.
11967         * features/i386/64bit-segments.c: Regenerate.
11968         * features/i386/64bit-sse.c: Regenerate.
11969         * features/i386/x32-core.c: Regenerate.
11970         * features/tic6x-c6xp.c: Regenerate.
11971         * features/tic6x-core.c: Regenerate.
11972         * features/tic6x-gp.c: Regenerate.
11973         * target-descriptions.c: Use common/tdesc.h.
11974         * target-descriptions.h: Likewise.
11975
11976 2018-02-24  Tom Tromey  <tom@tromey.com>
11977
11978         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
11979         (try_thread_db_load_from_dir, thread_db_load_search): Use
11980         std::string.
11981         (info_auto_load_libthread_db_compare): Return bool.  Change
11982         argument types.
11983         (info_auto_load_libthread_db): Use std::vector, std::string.
11984         Remove cleanups.
11985
11986 2018-02-24  Tom Tromey  <tom@tromey.com>
11987
11988         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
11989         std::string.
11990         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
11991         std::string*.
11992         * gdbarch.c: Rebuild.
11993         * gdbarch.h: Rebuild.
11994         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
11995         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
11996         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
11997         std::string*.
11998
11999 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
12000
12001         * gdbtypes.h (sect_offset): Change type to uint64_t.
12002         (sect_offset_str): New function.
12003         * dwarf2read.c (create_addrmap_from_aranges): Use
12004         sect_offset_str.
12005         (error_check_comp_unit_head): Likewise.
12006         (create_debug_type_hash_table): Likewise.
12007         (read_cutu_die_from_dwo): Likewise.
12008         (init_cutu_and_read_dies): Likewise.
12009         (init_cutu_and_read_dies_no_follow): Likewise.
12010         (process_psymtab_comp_unit_reader): Likewise.
12011         (partial_die_parent_scope): Likewise.
12012         (peek_die_abbrev): Likewise.
12013         (process_queue): Likewise.
12014         (dwarf2_physname): Likewise.
12015         (read_namespace_alias): Likewise.
12016         (read_import_statement): Likewise.
12017         (create_dwo_cu_reader): Likewise.
12018         (create_cus_hash_table): Likewise.
12019         (lookup_dwo_cutu): Likewise.
12020         (inherit_abstract_dies): Likewise.
12021         (read_func_scope): Likewise.
12022         (read_call_site_scope): Likewise.
12023         (dwarf2_add_member_fn): Likewise.
12024         (read_common_block): Likewise.
12025         (read_module_type): Likewise.
12026         (read_typedef): Likewise.
12027         (read_subrange_type): Likewise.
12028         (load_partial_dies): Likewise.
12029         (read_partial_die): Likewise.
12030         (find_partial_die): Likewise.
12031         (read_str_index): Likewise.
12032         (dwarf2_string_attr): Likewise.
12033         (build_error_marker_type): Likewise.
12034         (lookup_die_type): Likewise.
12035         (dump_die_shallow): Likewise.
12036         (follow_die_ref): Likewise.
12037         (dwarf2_fetch_die_loc_sect_off): Likewise.
12038         (dwarf2_fetch_constant_bytes): Likewise.
12039         (follow_die_sig): Likewise.
12040         (get_signatured_type): Likewise.
12041         (get_DW_AT_signature_type): Likewise.
12042         (dwarf2_find_containing_comp_unit): Likewise.
12043         (set_die_type): Likewise.
12044
12045 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
12046
12047         * arch/aarch64.c: Include "common-defs.h".
12048         * arch/amd64.c: Likewise.
12049         * arch/i386.c: Likewise.
12050
12051 2018-02-21  Tom Tromey  <tom@tromey.com>
12052
12053         * value.h: (extract_field_op): Update.
12054         * eval.c (extract_field_op): Return a const char *.
12055         * expression.h (parse_expression_for_completion): Update.
12056         * completer.c (complete_expression): Update.
12057         (add_struct_fields): Make fieldname const.
12058         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
12059         (mark_completion_tag, parse_exp_in_context_1): Update.
12060         (parse_expression_for_completion): Change "name" to
12061         unique_xmalloc_ptr*.
12062
12063 2018-02-21  Tom Tromey  <tom@tromey.com>
12064
12065         * infcall.c (call_function_by_hand_dummy): Use std::vector.
12066
12067 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12068
12069         * avr-tdep.c (avr_read_pc): Change parameter type to
12070         readable_regcache.
12071         * gdbarch.sh (read_pc): Likewise.
12072         * gdbarch.c: Re-generated.
12073         * gdbarch.h: Re-generated.
12074         * hppa-tdep.c (hppa_read_pc): Change parameter type to
12075         readable_regcache.
12076         * ia64-tdep.c (ia64_read_pc): Likewise.
12077         * mips-tdep.c (mips_read_pc): Likewise.
12078         * spu-tdep.c (spu_read_pc): Likewise.
12079
12080 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12081
12082         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
12083         * regcache-dump.c: New file.
12084         * regcache.c: Move register_dump to regcache-dump.c.
12085         (maintenance_print_registers): Likewise.
12086         (maintenance_print_raw_registers): Likewise.
12087         (maintenance_print_cooked_registers): Likewise.
12088         (maintenance_print_register_groups): Likewise.
12089         (maintenance_print_remote_registers): Likewise.
12090         (_initialize_regcache): Likewise.
12091         * regcache.h (register_dump): Moved from regcache.c.
12092
12093 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12094
12095         * regcache.c (regcache::regcache): Update.
12096         (regcache::invalidate): Move it to detached_regcache::invalidate.
12097         (get_thread_arch_aspace_regcache): Update.
12098         (regcache::raw_update): Update.
12099         (regcache::cooked_read): Remove some code.
12100         (regcache::cooked_read_value): Likewise.
12101         (regcache::raw_write): Remove assert on m_readonly_p.
12102         (regcache::raw_supply_integer): Move it to
12103         detached_regcache::raw_supply_integer.
12104         (regcache::raw_supply_zeroed): Likewise.
12105         * regcache.h (detached_regcache) <raw_supply_integer>: New
12106         declaration.
12107         <raw_supply_zeroed, invalidate>: Likewise.
12108         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
12109         <invalidate>: Likewise.
12110         <m_readonly_p>: Removed.
12111
12112 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12113
12114         * infcmd.c (get_return_value): Let stop_regs point to
12115         get_current_regcache.
12116         * regcache.c (regcache::regcache): Remove.
12117         (register_dump_reg_buffer): New class.
12118         (regcache_print): Adjust.
12119         * regcache.h (regcache): Remove constructors.
12120
12121 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12122
12123         * regcache.c (class register_dump): New class.
12124         (register_dump_regcache, register_dump_none): New class.
12125         (register_dump_remote, register_dump_groups): New class.
12126         (regcache_print): Update.
12127         * regcache.h (regcache_dump_what): Move it to regcache.c.
12128         (regcache) <dump>: Remove.
12129
12130 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12131
12132         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
12133          reg_buffer_rw *.
12134         (jit_unwind_reg_set_impl): Call raw_supply.
12135         (jit_frame_sniffer): Use reg_buffer_rw.
12136         * record-full.c (record_full_core_regbuf): Change its type.
12137         (record_full_core_open_1): Use reg_buffer_rw.
12138         (record_full_close): Likewise.
12139         (record_full_core_fetch_registers): Use regcache->raw_supply.
12140         (record_full_core_store_registers): Likewise.
12141         * regcache.c (regcache::get_register_status): Move it to
12142         reg_buffer.
12143         (regcache_raw_set_cached_value): Remove.
12144         (regcache::raw_set_cached_value): Remove.
12145         (regcache::raw_write): Call raw_supply.
12146         (regcache::raw_supply): Move it to reg_buffer_rw.
12147         * regcache.h (regcache_raw_set_cached_value): Remove.
12148         (reg_buffer_rw): New class.
12149
12150 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12151
12152         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
12153         readonly_detached_regcache.
12154         (dummy_frame_prev_register): Use regcache->cooked_read.
12155         * frame.c (frame_save_as_regcache): Change return type.
12156         (frame_pop): Update.
12157         * frame.h (frame_save_as_regcache): Update declaration.
12158         * inferior.h (get_infcall_suspend_state_regcache): Update
12159         declaration.
12160         * infrun.c (infcall_suspend_state) <registers>: use
12161         readonly_detached_regcache.
12162         (save_infcall_suspend_state): Don't use regcache_dup.
12163         (get_infcall_suspend_state_regcache): Change return type.
12164         * linux-fork.c (struct fork_info) <savedregs>: Change to
12165         readonly_detached_regcache.
12166         <pc>: New field.
12167         (fork_save_infrun_state): Don't use regcache_dup.
12168         (info_checkpoints_command): Adjust.
12169         * mi/mi-main.c (register_changed_p): Update declaration.
12170         (mi_cmd_data_list_changed_registers): Use
12171         readonly_detached_regcache.
12172         (register_changed_p): Change parameter type to
12173         readonly_detached_regcache.
12174         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
12175         readonly_detached_regcache.
12176         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
12177         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
12178         New.
12179         (regcache::save): Move it to reg_buffer.
12180         (regcache::restore): Change parameter type.
12181         (regcache_dup): Remove.
12182         * regcache.h (reg_buffer) <save>: New method.
12183         (readonly_detached_regcache): New class.
12184         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
12185         readonly_detached_regcache.
12186         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
12187
12188 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12189
12190         * frame.c (frame_save_as_regcache): Use regcache method save.
12191         (frame_pop): Use regcache method restore.
12192         * infrun.c (restore_infcall_suspend_state): Likewise.
12193         * linux-fork.c (fork_load_infrun_state): Likewise.
12194         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
12195         save.
12196         * regcache.c (regcache_save): Remove.
12197         (regcache::restore): More asserts.
12198         (regcache_cpy): Remove.
12199         * regcache.h (regcache_save): Remove the declaration.
12200         (regcache::restore): Move from private to public.
12201         Remove the friend declaration of regcache_cpy.
12202         (regcache_cpy): Remove declaration.
12203
12204 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12205
12206         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
12207         parameter type to 'readable_regcache *'.
12208         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12209         * arm-tdep.c (arm_neon_quad_read): Likewise.
12210         (arm_pseudo_read): Likewise.
12211         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12212         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12213         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12214         * gdbarch.c: Re-generated.
12215         * gdbarch.h: Re-generated.
12216         * gdbarch.sh (pseudo_register_read): Change parameter type to
12217         'readable_regcache *'.
12218         (pseudo_register_read_value): Likewise.
12219         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
12220         (h8300_pseudo_register_read): Likewise.
12221         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
12222         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12223         (i386_pseudo_register_read_into_value): Likewise.
12224         (i386_pseudo_register_read_value): Likewise.
12225         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
12226         declaration.
12227         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
12228         * m32c-tdep.c (m32c_raw_read): Likewise.
12229         (m32c_read_flg): Likewise.
12230         (m32c_banked_register): Likewise.
12231         (m32c_banked_read): Likewise.
12232         (m32c_sb_read): Likewise.
12233         (m32c_part_read): Likewise.
12234         (m32c_cat_read): Likewise.
12235         (m32c_r3r2r1r0_read): Likewise.
12236         (m32c_pseudo_register_read): Likewise.
12237         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12238         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12239         (mep_pseudo_cr64_read): Likewise.
12240         (mep_pseudo_register_read): Likewise.
12241         * mips-tdep.c (mips_pseudo_register_read): Likewise.
12242         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12243         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12244         * regcache.c (regcache::raw_read): Move it to readable_regcache.
12245         (regcache::cooked_read): Likewise.
12246         (regcache::cooked_read_value): Likewise.
12247         (regcache_cooked_read_signed):
12248         (regcache::cooked_read): Likewise.
12249         * regcache.h (readable_regcache): New class.
12250         (regcache): Inherit readable_regcache.  Move some methods to
12251         readable_regcache.
12252         * rl78-tdep.c (rl78_pseudo_register_read): Change
12253         parameter type to 'readable_regcache *'.
12254         * rs6000-tdep.c (do_regcache_raw_read): Remove.
12255         (e500_pseudo_register_read): Change parameter type to
12256         'readable_regcache *'.
12257         (dfp_pseudo_register_read): Likewise.
12258         (vsx_pseudo_register_read): Likewise.
12259         (efpr_pseudo_register_read): Likewise.
12260         * s390-tdep.c (s390_pseudo_register_read): Likewise.
12261         * sh-tdep.c (sh_pseudo_register_read): Likewise.
12262         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
12263         (sh64_pseudo_register_read): Likewise.
12264         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
12265         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12266         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
12267         (spu_pseudo_register_read): Likewise.
12268         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12269         (xtensa_pseudo_register_read): Likewise.
12270
12271 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12272
12273         * regcache.c (regcache::regcache): Call reg_buffer ctor.
12274         (regcache::arch): Move it to reg_buffer::arch.
12275         (regcache::register_buffer): Likewise.
12276         (regcache::assert_regnum): Likewise.
12277         (regcache::num_raw_registers): Likewise.
12278         * regcache.h (reg_buffer): New class.
12279         (regcache): Inherit reg_buffer.
12280
12281 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
12282
12283         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
12284         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
12285
12286 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
12287
12288         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
12289
12290 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
12291
12292         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
12293         (SFILES): Remove common/*.c files.
12294         (COMMON_OBS): Remove some *.o files built from common/*.c files.
12295         * common/common.host: Add common reference.
12296         * configure.ac: Likewise.
12297         * configure: Regenerate.
12298
12299 2018-02-16  Yao Qi  <yao.qi@linaro.org>
12300
12301         * block.c (block_namespace_info): Inherit allocate_on_obstack.
12302         (block_initialize_namespace): Use new.
12303         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
12304         (dwarf2_free_objfile): Use delete.
12305         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
12306         (copy_type_recursive): Use new.
12307         * gdb_obstack.h (allocate_on_obstack): New.
12308
12309 2018-02-15  Yao Qi  <yao.qi@linaro.org>
12310
12311         PR gdb/22849
12312         * inferior.c (exit_inferior_1): Reset inf->control.
12313
12314 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
12315
12316         * ada-lang.c (ada_to_fixed_value_create): Delete advance
12317         declaration.
12318
12319 2018-02-14  Pedro Alves  <palves@redhat.com>
12320
12321         * frame-unwind.c (frame_unwind_try_unwinder): Always call
12322         frame_cleanup_after_sniffer on exception.
12323
12324 2018-02-14  Tom Tromey  <tom@tromey.com>
12325
12326         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
12327         const.
12328         (solib_bfd_open): Make pathname const.
12329         * solib.c (solib_bfd_open): Make pathname const.
12330         * solib-spu.c (spu_bfd_fopen): Make name const.
12331         (spu_bfd_open): Make pathname const.
12332         * solib-darwin.c (darwin_bfd_open): Make pathname const.
12333         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
12334
12335 2018-02-14  Tom Tromey  <tom@tromey.com>
12336
12337         * symfile.c (symfile_bfd_open): Update.
12338         * source.h (openp, source_full_path_of, find_and_open_source):
12339         Change argument type to unique_xmalloc_ptr.
12340         * source.c (openp): Take a unique_xmalloc_ptr.
12341         (source_full_path_of, find_and_open_source): Likewise.
12342         (open_source_file, symtab_to_fullname): Update.
12343         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
12344         unique_xmalloc_ptr.
12345         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
12346         (exec_file_find): Update.
12347         * psymtab.c (psymtab_to_fullname): Update.
12348         * nto-tdep.h (nto_find_and_open_solib): Update.
12349         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
12350         unique_xmalloc_ptr.
12351         * exec.c (exec_file_attach): Update.
12352         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
12353         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
12354
12355 2018-02-14  Tom Tromey  <tom@tromey.com>
12356
12357         * solib.c: Include source.h.
12358         * nto-tdep.c: Include source.h.
12359         * mi/mi-cmd-env.c: Include source.h.
12360         * infcmd.c: Include source.h.
12361         * exec.c: Include source.h.
12362         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
12363         (add_path, directory_switch, source_path, init_source_path): Move
12364         declarations...
12365         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
12366         (add_path, directory_switch, source_path, init_source_path):
12367         ...here.
12368
12369 2018-02-14  Tom Tromey  <tom@tromey.com>
12370
12371         * solist.h (exec_file_find, solib_find): Return
12372         unique_xmalloc_ptr.
12373         (solib_bfd_fopen): Take a const char *.
12374         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
12375         (exec_file_find, solib_find): Likewise.
12376         (solib_bfd_fopen): Do not take ownership of "pathname".
12377         (solib_bfd_open): Use unique_xmalloc_ptr.
12378         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
12379         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
12380         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
12381         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
12382
12383 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
12384
12385         * ada-lang.c (name_match_type_from_name): Remove reference to
12386         ada_name_for_lookup in function's documentation.
12387         * ada-lang.h (ada_name_for_lookup): Delete declaration.
12388
12389 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12390
12391         * defs.h (enum openp_flags): New enum.
12392         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
12393         Move to enum openp_flags.
12394         (openp_flags): New enum flags.
12395         (openp): Change parameter type to openp_flags.
12396         * source.c (openp): Change parameter type to openp_flags.
12397         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
12398         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
12399
12400 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12401
12402         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
12403         per-command.
12404
12405 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12406
12407         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
12408         into...
12409         (class dwarf2_queue_guard): ...the destructor of this new class.
12410         (dw2_do_instantiate_symtab): Create instance of the new class
12411         dwarf2_queue_guard, remove cleanup.
12412
12413 2018-02-09  Tom Tromey  <tom@tromey.com>
12414
12415         * source.c (find_source_lines): Don't reference past the end of
12416         the vector.
12417
12418 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12419
12420         * remote.c (remote_btrace_maybe_reopen): Change error message.
12421         * btrace.c (btrace_enable): Likewise.
12422         (parse_xml_btrace): Likewise.
12423         (parse_xml_btrace_conf): Likewise.
12424
12425 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12426
12427         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
12428         (linux_enable_pt, linux_enable_bts): Call
12429         diagnose_perf_event_open_fail.
12430
12431 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12432
12433         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
12434         Remove parameter and change return type.  Update callers.  Move it.
12435         (linux_enable_bts, linux_enable_pt): Improve error message.
12436         (linux_enable_pt): Remove zero buffer size check.
12437         (linux_enable_btrace): Improve error messages.  Remove NULL return
12438         check.
12439
12440 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12441
12442         * btrace.c (btrace_enable): Remove target_supports_btrace call.
12443         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
12444         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
12445         (linux_supports_pt, linux_supports_btrace): Remove.
12446         (linux_enable_bts): Call cpu_supports_bts.
12447         * nat/linux-btrace.h (linux_supports_btrace): Remove.
12448         * remote.c (remote_supports_btrace): Remove.
12449         (init_remote_ops): Remove remote_supports_btrace.
12450         * target-delegates.c: Regenerated.
12451         * target.c (target_supports_btrace): Remove.
12452         * target.h (target_ops) <to_supports_btrace>: Remove
12453         (target_supports_btrace): Remove.
12454         * x86-linux-nat.c (x86_linux_create_target): Remove
12455         linux_supports_btrace.
12456
12457 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12458
12459         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
12460         btrace failed.
12461         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
12462         exception and use message in own exception.
12463
12464 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12465
12466         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
12467         (perf_event_pt_event_type): Use gdb_file_up.
12468         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
12469         scoped_fd, and scoped_mmap.
12470
12471 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12472
12473         * common/scoped_mmap.h: New.
12474         * unittests/scoped_mmap-selftest.c: New.
12475         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12476         unittests/scoped_mmap-selftest.c.
12477
12478 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12479
12480         * common/scoped_fd.h: New.
12481         * unittests/scoped_fd-selftest.c: New.
12482         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12483         unittests/scoped_fd-selftest.c.
12484
12485 2018-02-09  Tom Tromey  <tom@tromey.com>
12486
12487         * auto-load.c (auto_load_section_scripts): Use
12488         gdb::unique_xmalloc_ptr.
12489
12490 2018-02-09  Tom Tromey  <tom@tromey.com>
12491
12492         * auto-load.c (execute_script_contents): Use std::string.
12493
12494 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
12495
12496         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
12497         Python function, rather than a new command.
12498
12499 2018-02-08  Tom Tromey  <tom@tromey.com>
12500
12501         * solib.c (solib_find_1): Use std::string.
12502         (solib_bfd_fopen): Use unique_xmalloc_ptr.
12503
12504 2018-02-08  Tom Tromey  <tom@tromey.com>
12505
12506         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
12507
12508 2018-02-08  Tom Tromey  <tom@tromey.com>
12509
12510         * source.c (find_source_lines): Use gdb::def_vector.
12511
12512 2018-02-08  Tom Tromey  <tom@tromey.com>
12513
12514         * macrocmd.c (struct temporary_macro_definition): New.
12515         (macro_define_command): Use temporary_macro_definition.  Remove
12516         cleanups.
12517         (free_macro_definition_ptr): Remove.
12518
12519 2018-02-08  Tom Tromey  <tom@tromey.com>
12520
12521         * macroexp.c (maybe_expand): Use std::string.
12522
12523 2018-02-08  Tom Tromey  <tom@tromey.com>
12524
12525         * macroexp.c (struct macro_buffer): Add initializers for some
12526         members.
12527         (init_buffer, init_shared_buffer, free_buffer)
12528         (free_buffer_return_text): Remove.
12529         (macro_buffer): New constructors.
12530         (~macro_buffer): New destructor.
12531         (macro_buffer::set_shared): New method.
12532         (macro_buffer::resize_buffer, macro_buffer::appendc)
12533         (macro_buffer::appendmem): Now methods, not free functions.
12534         (set_token, append_tokens_without_splicing, stringify)
12535         (macro_stringify): Update.
12536         (gather_arguments): Change return type.  Remove argc_p argument,
12537         add args_ptr argument.  Use std::vector.
12538         (substitute_args): Remove argc argument.  Accept std::vector.
12539         (expand): Update.  Use std::vector.
12540         (scan, macro_expand, macro_expand_next): Update.
12541
12542 2018-02-08  Tom Tromey  <tom@tromey.com>
12543
12544         * symtab.c (default_collect_symbol_completion_matches_break_on):
12545         Use unique_xmalloc_ptr.
12546         * macroscope.h: (sal_macro_scope, user_macro_scope)
12547         (default_macro_scope): Return unique_xmalloc_ptr.
12548         * macroscope.c (sal_macro_scope, user_macro_scope)
12549         (default_macro_scope): Return unique_xmalloc_ptr.
12550         * macroexp.h (macro_expand, macro_expand_once): Return
12551         unique_xmalloc_ptr.
12552         * macroexp.c (macro_expand, macro_expand_once): Return
12553         unique_xmalloc_ptr.
12554         * macrocmd.c (macro_expand_command, macro_expand_once_command)
12555         (info_macro_command, info_macros_command): Use
12556         unique_xmalloc_ptr.
12557         * compile/compile-c-support.c (write_macro_definitions): Use
12558         unique_xmalloc_ptr.
12559         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
12560
12561 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
12562
12563         * value.c (value_static_field): Assign field type instead of
12564         containing type when returning an optimized out value.
12565
12566 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12567
12568         * ft32-tdep.c (ft32_read_pc): Remove.
12569         (ft32_write_pc): Remove.
12570         (ft32_gdbarch_init): Update.
12571         * m32r-tdep.c (m32r_read_pc): Remove.
12572         (m32r_gdbarch_init): Update.
12573         * mep-tdep.c (mep_read_pc): Remove.
12574         (mep_gdbarch_init): Update.
12575         * microblaze-tdep.c (microblaze_write_pc): Remove.
12576         (microblaze_gdbarch_init): Update.
12577         * mn10300-tdep.c (mn10300_read_pc): Remove.
12578         (mn10300_write_pc): Remove.
12579         (mn10300_gdbarch_init): Update.
12580         * moxie-tdep.c (moxie_read_pc): Remove.
12581         (moxie_write_pc): Remove.
12582         (moxie_gdbarch_init): Update.
12583
12584 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12585
12586         * expprint.c (print_subexp_standard): Handle
12587         OP_F77_UNDETERMINED_ARGLIST.
12588         (dump_subexp_body_standard): Likewise.
12589
12590 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
12591
12592         * target-descriptions.c (tdesc_element_visitor) Add empty
12593         implementations.
12594         (tdesc_type): Move make_gdb_type from here.
12595         (tdesc_type_builtin): Likewise.
12596         (tdesc_type_vector): Likewise.
12597         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
12598         (make_gdb_type_struct): Move from tdesc_type_with_fields.
12599         (make_gdb_type_union): Likewise.
12600         (make_gdb_type_flags): Likewise.
12601         (make_gdb_type_enum): Likewise.
12602         (make_gdb_type): New function.
12603         (tdesc_register_type): Use static make_gdb_type.
12604
12605 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
12606
12607         * infcmd.c (default_print_one_register_info): Align natural-format
12608         column values consistently one under another.
12609         (pad_to_column): New function.
12610
12611 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
12612
12613         * dwarf2read.c (dwarf2_physname): Move commment.
12614
12615 2018-02-01  Leszek Swirski  <leszeks@google.com>
12616
12617         * varobj.c (varobj_formatted_print_options): Allow recursive
12618         pretty printing if pretty printing is enabled.
12619
12620 2018-02-01  Leszek Swirski  <leszeks@google.com>
12621
12622         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
12623         names after a structop as a filename.
12624
12625 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12626
12627         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
12628         (arm_record_coproc_data_proc): Likewise.
12629
12630 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12631
12632         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
12633
12634 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
12635
12636         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
12637         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
12638
12639 2018-01-31  Pedro Alves  <palves@redhat.com>
12640
12641         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
12642         * inflow.c (child_terminal_save_inferior): Wrap reference to
12643         tcgetpgrp in HAVE_TERMIOS_H.
12644         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
12645         _WIN32.
12646         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
12647         always iterate over all inferiors.
12648         (gdbsim_cntrl_c): Adjust.
12649         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
12650
12651 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12652
12653         * gdbtypes.c (lookup_array_range_type): Make sure the array's
12654         index type is objfile-owned if the element type is as well.
12655
12656 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12657
12658         GDB 8.1 released.
12659
12660 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12661
12662         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
12663         "features/s390x-linux64.c".
12664         (_initialize_s390_linux_tdep): Remove initialization of tdescs
12665         s390_linux32 and s390x_linux64.
12666         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
12667         default tdesc.
12668         * s390-tdep.c: Include "features/s390-linux32.c" and
12669         "features/s390x-linux64.c".
12670         (s390_tdesc_valid): Add check for tdesc_has_registers.
12671         (s390_gdbarch_init): Make sure there is always a valid tdesc.
12672         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
12673         tdesc_s390x_linux64.
12674         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
12675         tdesc_s390x_linux64 to...
12676         * s390-tdep.h: ...here.
12677
12678 2018-01-30  Pedro Alves  <palves@redhat.com>
12679
12680         PR gdb/13211
12681         * config.in, configure: Regenerate.
12682         * configure.ac: Check for getpgid.
12683         * go32-nat.c (go32_pass_ctrlc): New.
12684         (go32_target): Install it.
12685         * inf-child.c (inf_child_target): Install
12686         child_terminal_save_inferior, child_pass_ctrlc and
12687         child_interrupt.
12688         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
12689         (inf_ptrace_target): No longer install it.
12690         * infcmd.c (interrupt_target_1): Adjust.
12691         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
12692         (child_interrupt): Declare.
12693         (inferior::terminal_state): New.
12694         * inflow.c (struct terminal_info): Update comments.
12695         (inferior_process_group): Delete.
12696         (terminal_is_ours): Delete.
12697         (gdb_tty_state): New.
12698         (child_terminal_init): Adjust.
12699         (is_gdb_terminal, sharing_input_terminal_1)
12700         (sharing_input_terminal): New functions.
12701         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
12702         Set the process's actual process group in the foreground if
12703         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
12704         mark terminal as the inferior's if not sharing GDB's terminal.
12705         Don't check attach_flag.
12706         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
12707         pass down a target_terminal_state.
12708         (child_terminal_save_inferior): New, factored out from ...
12709         (child_terminal_ours_1): ... this.  Handle
12710         target_terminal_state::is_ours_for_output.
12711         (child_interrupt, child_pass_ctrlc): New.
12712         (inflow_inferior_exit): Clear the inferior's terminal_state.
12713         (copy_terminal_info): Copy the inferior's terminal state.
12714         (_initialize_inflow): Remove reference to terminal_is_ours.
12715         * inflow.h (inferior_process_group): Delete.
12716         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
12717         * procfs.c (procfs_target): Don't install procfs_interrupt.
12718         (procfs_interrupt): Delete.
12719         * remote.c (remote_serial_quit_handler): Adjust.
12720         (remote_interrupt): Remove ptid parameter.  Adjust.
12721         * target-delegates.c: Regenerate.
12722         * target.c: Include "terminal.h".
12723         (target_terminal::terminal_state): Rename to ...
12724         (target_terminal::m_terminal_state): ... this.
12725         (target_terminal::init): Adjust.
12726         (target_terminal::inferior): Adjust to per-inferior
12727         terminal_state.
12728         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
12729         (target_terminal::ours, target_terminal::ours_for_output): Use
12730         target_terminal_is_ours_kind.
12731         (target_interrupt): Remove ptid parameter.  Adjust.
12732         (default_target_pass_ctrlc): Adjust.
12733         * target.h (target_ops::to_terminal_save_inferior): New field.
12734         (target_ops::to_interrupt): Remove ptid_t parameter.
12735         (target_interrupt): Remove ptid_t parameter.  Update comment.
12736         (target_pass_ctrlc): Update comment.
12737         * target/target.h (target_terminal_state): New scoped enum,
12738         factored out of ...
12739         (target_terminal::terminal_state): ... here.
12740         (target_terminal::inferior): Update comments.
12741         (target_terminal::restore_inferior): New.
12742         (target_terminal::is_inferior, target_terminal::is_ours)
12743         (target_terminal::is_ours_for_output): Adjust.
12744         (target_terminal::scoped_restore_terminal_state): Adjust to
12745         rename, and call restore_inferior() instead of inferior().
12746         (target_terminal::scoped_restore_terminal_state::m_state): Change
12747         type.
12748         (target_terminal::terminal_state): Rename to ...
12749         (target_terminal::m_terminal_state): ... this and change type.
12750
12751 2018-01-30  Pedro Alves  <palves@redhat.com>
12752
12753         * linux-nat.c (wait_for_signal): New function.
12754         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
12755         directly.
12756         (async_terminal_is_ours)
12757         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
12758         (linux_nat_add_target): Don't override
12759         to_terminal_inferior/to_terminal_ours.
12760
12761 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
12762
12763         * remote.c (remote_follow_fork): Don't call "detach_inferior".
12764
12765 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
12766
12767         * dwarf2read.c (free_dwo_files): Add forward-declaration.
12768         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
12769         dwarf2_per_objfile_free here.
12770         (dwarf2_per_objfile_free): Remove.
12771         (_initialize_dwarf2_read): Don't register
12772         dwarf2_per_objfile_free as a registry cleanup.
12773
12774 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
12775
12776         Avoid compilation errors in MinGW native builds
12777
12778         The error is triggered by including python-internal.h, and the
12779         error message is:
12780
12781              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
12782                       from build-gnulib/import/math.h:27,
12783                       from d:/usr/Python26/include/pyport.h:235,
12784                       from d:/usr/Python26/include/Python.h:58,
12785                       from python/python-internal.h:94,
12786                       from python/py-arch.c:24:
12787              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
12788         using ::hypot;
12789                 ^~~~~
12790
12791         This happens because Python headers define 'hypot' to expand t
12792         '_hypot' in the Windows builds.
12793         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
12794         'hypoth'.  This avoids a compilation error.
12795
12796 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12797
12798         * MAINTAINERS (Write After Approval): Fix ordering.
12799
12800 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12801
12802         * MAINTAINERS (Write After Approval): Add Alan Hayward.
12803
12804 2018-01-26  Alan Modra  <amodra@gmail.com>
12805
12806         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
12807         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
12808         Remove nop.  Make const.  Comment.
12809         (powerpc32_plt_stub_so_2): New.
12810         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
12811         Correct count.  Update uses.
12812         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
12813         Move common code reading PLT entry word.  Correct
12814         powerpc32_plt_stub PLT address calculation.
12815         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
12816         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
12817         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
12818         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
12819         (ppc64_standard_linkage8): Likewise.
12820         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
12821         Correct insns description.
12822         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
12823
12824 2018-01-24  Pedro Alves  <palves@redhat.com>
12825
12826         GCC PR libstdc++/83906
12827         * gdbtypes.c (operator==(const dynamic_prop &,
12828         const dynamic_prop &)): New.
12829         (operator==(const range_bounds &, const range_bounds &)): New.
12830         (check_types_equal): Use them instead of memcmp.
12831         * gdbtypes.h (operator==(const dynamic_prop &,
12832         const dynamic_prop &)): Declare.
12833         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
12834         (operator==(const range_bounds &, const range_bounds &)): Declare.
12835         (operator!=(const range_bounds &, const range_bounds &)): Declare.
12836
12837 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12838
12839         * s390-linux-tdep.c (s390_record_address_mask)
12840         (s390_record_calc_disp_common, s390_record_calc_disp)
12841         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12842         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12843         (s390_process_record): Move to s390-tdep.c.
12844         (s390_linux_init_abi_any): Adjust.
12845         * s390-tdep.c (s390_record_address_mask)
12846         (s390_record_calc_disp_common, s390_record_calc_disp)
12847         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12848         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12849         (s390_process_record): Moved from s390-linux-tdep.c
12850         (s390_gdbarch_init): Adjust.
12851
12852 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12853
12854         * s390-linux-nat.c (s390-tdep.h): New include.
12855         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
12856         (HFILES_NO_SRCDIR): Add s390-tdep.h.
12857         (ALLDEPFILES): Add s390-tdep.c.
12858         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
12859         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
12860         * s390-tdep.h: ...this.  New file.
12861         * s390-linux-tdep.c (s390-tdep.h): New include.
12862         (_initialize_s390_tdep): Rename to...
12863         (_initialize_s390_linux_tdep): ...this and adjust.
12864         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
12865         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
12866         s390-tdep.h.
12867         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
12868         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
12869         (s390_is_partial_instruction, s390_software_single_step)
12870         (is_non_branch_ril, s390_displaced_step_copy_insn)
12871         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
12872         (s390_prologue_data, s390_addr, s390_store, s390_load)
12873         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
12874         (s390_register_call_saved, s390_guess_tracepoint_registers)
12875         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
12876         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
12877         (s390_pseudo_register_name, s390_pseudo_register_type)
12878         (s390_pseudo_register_read, s390_pseudo_register_write)
12879         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
12880         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
12881         (s390_addr_bits_remove, s390_address_class_type_flags)
12882         (s390_address_class_type_flags_to_name)
12883         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
12884         (s390_function_arg_float, s390_function_arg_vector)
12885         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
12886         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
12887         (s390_frame_align, s390_register_return_value, s390_return_value)
12888         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
12889         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
12890         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
12891         (s390_trad_frame_prev_register, s390_unwind_cache)
12892         (s390_prologue_frame_unwind_cache)
12893         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
12894         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
12895         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
12896         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
12897         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
12898         (s390_frame_base_address, s390_local_base_address)
12899         (s390_frame_base, s390_gcc_target_options)
12900         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
12901         (s390_validate_reg_range, s390_tdesc_valid)
12902         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
12903         * s390-tdep.c: ...this.  New file.
12904
12905 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12906
12907         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
12908         (s390_process_record, s390_gdbarch_tdep_alloc)
12909         (s390_linux_init_abi_any): Use/set new hook.
12910
12911 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12912
12913         * s390-linux-tdep.c (osabi.h): New include.
12914         (s390_linux_init_abi_31, s390_linux_init_abi_64)
12915         (s390_linux_init_abi_any): New functions.
12916         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
12917
12918 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12919
12920         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
12921         tdesc_has_registers check
12922
12923 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12924
12925         * s390-linux-tdep.c (s390_tdesc_valid): New function.
12926         (s390_validate_reg_range): New macro.
12927         (s390_gdbarch_init): Adjust.
12928
12929 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12930
12931         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
12932         (s390_gdbarch_tdep_alloc): Adjust.
12933         (s390_gdbarch_init): Adjust.
12934
12935 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12936
12937         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
12938         <have_tdb>: Change type to bool.
12939         (s390_gdbarch_tdep_alloc): Adjust.
12940         (s390_gdbarch_init): Adjust.
12941
12942 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12943
12944         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
12945         (gdbarch_tdep) <have_upper, have_vx>: New fields.
12946         (s390_gdbarch_tdep_alloc): New function.
12947         (s390_gdbarch_init): Allocate tdep at start and use its fields
12948         instead of separate variables.
12949
12950 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12951
12952         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
12953         when looking for cached gdbarch and add comment for remaining.
12954
12955 2018-01-22  Pedro Alves  <palves@redhat.com>
12956             Sergio Durigan Junior  <sergiodj@redhat.com>
12957
12958         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
12959         case.
12960
12961 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
12962
12963         * MAINTAINERS: Update my company e-mail address.
12964
12965 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12966
12967         * regcache.c (cooked_write_test): New function.
12968         (_initialize_regcache): Register the test.
12969
12970 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12971
12972         * ia64-tdep.c (ia64_pseudo_register_read): Call
12973         regcache->cooked_read instead of regcache_cooked_read_unsigned.
12974         * m32c-tdep.c (m32c_cat_read): Likewise.
12975         (m32c_r3r2r1r0_read): Likewise.
12976         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12977         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12978
12979 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12980
12981         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
12982         method raw_read instead of regcache_raw_read.
12983         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12984         * arm-tdep.c (arm_neon_quad_read): Likewise.
12985         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12986         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12987         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12988         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
12989         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12990         (i386_pseudo_register_read_into_value): Likewise.
12991         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12992         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12993         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12994         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
12995         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
12996         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
12997         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12998         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
12999         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
13000
13001 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13002
13003         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
13004         * configure.tgt: Remove target mt.
13005         * mt-tdep.c: Remove.
13006         * regcache.c (cooked_read_test): Remove the check for mt.
13007
13008 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13009
13010         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
13011         instead of gdbarch_pseudo_register_read_value.
13012
13013 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13014
13015         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
13016         language is Ada.
13017
13018 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13019
13020         * linespec.c (create_sals_line_offset): Remove code that preserved
13021         the symtab_and_line's line number.
13022
13023 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13024
13025         * varobj.c (varobj_create): Don't set valid_block when creating a
13026         floating varobj.
13027
13028 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13029
13030         * varobj.c (varobj_create): Remove out of date comment.
13031
13032 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13033
13034         PR mi/20395
13035         * ada-exp.y (write_var_from_sym): Pass extra parameter when
13036         updating innermost block.
13037         * parse.c (innermost_block_tracker::update): Take extra type
13038         parameter, and check types match before updating innermost block.
13039         (write_dollar_variable): Update innermost block for registers.
13040         * parser-defs.h (enum innermost_block_tracker_type): New enum.
13041         (innermost_block_tracker::innermost_block_tracker): Initialise
13042         m_types member.
13043         (innermost_block_tracker::reset): Take type parameter.
13044         (innermost_block_tracker::update): Take type parameter, and pass
13045         type through as needed.
13046         (innermost_block_tracker::m_types): New member.
13047         * varobj.c (varobj_create): Pass type when reseting innermost
13048         block.
13049
13050 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13051
13052         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
13053         * ada-lang.c (resolve_subexp): Likewise.
13054         * breakpoint.c (set_breakpoint_condition) Likewise.
13055         (watch_command_1) Likewise.
13056         * c-exp.y (variable): Likewise.
13057         * d-exp.y (PrimaryExpression): Likewise.
13058         * f-exp.y (variable): Likewise.
13059         * go-exp.y (variable): Likewise.
13060         * m2-exp.y (variable): Likewise.
13061         * objfiles.c (objfile::~objfile): Likewise.
13062         * p-exp.y (variable): Likewise.
13063         * parse.c (innermost_block): Change type.
13064         * parser-defs.h (class innermost_block_tracker): New.
13065         (innermost_block): Change to innermost_block_tracker.
13066         * printcmd.c (display_command): Switch to innermost_block API.
13067         (do_one_display): Likewise.
13068         * rust-exp.y (do_one_display): Likewise.
13069         * symfile.c (clear_symtab_users): Likewise.
13070         * varobj.c (varobj_create): Switch to innermost_block API, replace
13071         use of innermost_block with block stored on varobj object.
13072
13073 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13074
13075         * expression.h (innermost_block): Remove declaration.
13076         * varobj.c: Add 'parser-defs.h' include.
13077
13078 2018-01-19  Tom Tromey  <tom@tromey.com>
13079
13080         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
13081         symbols in the static and global blocks.
13082
13083 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
13084
13085         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
13086         gdb_ptrace.h, and move including gdb_wait.h ...
13087         * nat/linux-ptrace.h: ... to here.
13088
13089 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13090
13091         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
13092         inf_ptrace_detach_success.
13093         (inf_ptrace_detach_success): Add inferior parameter, use it
13094         instead of inferior_ptid, pass it to detach_inferior.
13095         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
13096         parameter.
13097         * inferior.c (detach_inferior): Add overload that takes an
13098         inferior object.
13099         * inferior.h (detach_inferior): Likewise.
13100         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
13101         use inferior_ptid, adjust call to inf_ptrace_detach_success.
13102         * linux-thread-db.c (thread_db_detach): Use inf parameter.
13103
13104 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13105
13106         * target.h (struct target_ops) <to_detach>: Add inferior
13107         parameter.
13108         (target_detach): Likewise.
13109         * target.c (dispose_inferior): Pass inferior down.
13110         (target_detach): Pass inferior down.  Assert that it is equal to
13111         the current inferior.
13112         * aix-thread.c (aix_thread_detach): Pass inferior down.
13113         * corefile.c (core_file_command): Pass current_inferior() down.
13114         * corelow.c (core_detach): Add inferior parameter.
13115         * darwin-nat.c (darwin_detach): Likewise.
13116         * gnu-nat.c (gnu_detach): Likewise.
13117         * inf-ptrace.c (inf_ptrace_detach): Likewise.
13118         * infcmd.c (detach_command): Pass current_inferior() down to
13119         target_detach.
13120         * infrun.c (follow_fork_inferior): Pass parent_inf to
13121         target_detach.
13122         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
13123         target_detach.
13124         * linux-nat.c (linux_nat_detach): Add inferior parameter.
13125         * linux-thread-db.c (thread_db_detach): Likewise.
13126         * nto-procfs.c (procfs_detach): Likewise.
13127         * procfs.c (procfs_detach): Likewise.
13128         * record.c (record_detach): Likewise.
13129         * record.h (struct inferior): Forward-declare.
13130         (record_detach): Add inferior parameter.
13131         * remote-sim.c (gdbsim_detach): Likewise.
13132         * remote.c (remote_detach_1): Likewise.
13133         (remote_detach): Likewise.
13134         (extended_remote_detach): Likewise.
13135         * sol-thread.c (sol_thread_detach): Likewise.
13136         * target-debug.h (target_debug_print_inferior_p): New macro.
13137         * target-delegates.c: Re-generate.
13138         * top.c (kill_or_detach): Pass inferior down to target_detach.
13139         * windows-nat.c (windows_detach): Add inferior parameter.
13140
13141 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13142
13143         * target.h (struct target_ops) <to_detach>: Remove args
13144         parameter.
13145         (target_detach): Likewise.
13146         * target.c (dispose_inferior): Adjust.
13147         (target_detach): Remove args parameter, adjust.
13148         * aix-thread.c (aix_thread_detach): Adjust.
13149         * corefile.c (core_file_command): Adjust.
13150         * corelow.c (core_detach): Adjust.
13151         * darwin-nat.c (darwin_detach): Adjust.
13152         * gnu-nat.c (gnu_detach): Adjust.
13153         * inf-ptrace.c (inf_ptrace_detach): Adjust.
13154         * infcmd.c (detach_command): Adjust
13155         * infrun.c (follow_fork_inferior): Adjust.
13156         (handle_vfork_child_exec_or_exit): Adjust.
13157         * linux-fork.c (linux_fork_detach): Remove args parameter.
13158         * linux-fork.h (linux_fork_detach): Likewise.
13159         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
13160         * linux-thread-db.c (thread_db_detach): Likewise.
13161         * nto-procfs.c (procfs_detach): Likewise.
13162         * procfs.c (procfs_detach): Likewise.
13163         (do_detach): Remove signo parameter.
13164         * record.c (record_detach): Remove args parameter.
13165         * record.h (record_detach): Likewise.
13166         * remote-sim.c (gdbsim_detach): Likewise.
13167         * remote.c (remote_detach_1): Likewise.
13168         (remote_detach): Likewise.
13169         (extended_remote_detach): Likewise.
13170         * sol-thread.c (sol_thread_detach): Likewise.
13171         * target-delegates.c: Re-generate.
13172         * top.c (struct qt_args) <args>: Remove field.
13173         (kill_or_detach): Don't pass args.
13174         (quit_force): Don't set args.
13175         * windows-nat.c (windows_detach): Remove args parameter.
13176
13177 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13178
13179         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
13180         (arm_linux_init_abi): Install it.
13181
13182 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13183
13184         * osabi.c (gdb_osabi_names): Extend the regexp for
13185         arm-linux-gnueabihf.
13186
13187 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13188
13189         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
13190         m_abbrevs.
13191         (abbrev_table::add_abbrev): Update.
13192         (abbrev_table::lookup_abbrev): Update.
13193
13194 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13195
13196         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
13197
13198 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
13199
13200         * compile/compile.c (compile_to_object): Convert "triplet_rx"
13201         to "std::string".
13202
13203 2018-01-17  Tom Tromey  <tom@tromey.com>
13204
13205         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
13206
13207 2018-01-17  Tom Tromey  <tom@tromey.com>
13208
13209         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
13210         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
13211         (create_array_type_with_stride): Update.
13212         * dwarf2read.c (set_die_type): Update.
13213
13214 2018-01-17  Tom Tromey  <tom@tromey.com>
13215
13216         * dwarf2read.c (delayed_method_info): Remove typedef.
13217         (dwarf2_cu::method_info): Now a std::vector.
13218         (add_to_method_list): Update.
13219         (free_delayed_list): Remove.
13220         (compute_delayed_physnames): Update.
13221         (process_full_comp_unit, process_full_type_unit): Clear the method
13222         list.  Remove cleanups.
13223         (psymtab_include_file_name): Add name_holder parameter.  Use
13224         unique_xmalloc_ptr.
13225         (dwarf_decode_lines): Update.
13226
13227 2018-01-17  Tom Tromey  <tom@tromey.com>
13228             Simon Marchi  <simon.marchi@ericsson.com>
13229
13230         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
13231         (dwarf2_per_objfile::free_cached_comp_units)
13232         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13233         (init_cutu_and_read_dies_no_follow): Update.
13234         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
13235         (dwarf2_cu::~dwarf2_cu): New.
13236         (free_heap_comp_unit, free_stack_comp_unit): Remove.
13237         (age_cached_comp_units, free_one_cached_comp_unit): Update.
13238
13239 2018-01-17  Tom Tromey  <tom@tromey.com>
13240             Simon Marchi  <simon.marchi@ericsson.com>
13241
13242         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
13243         (struct die_reader_specs) <abbrev_table>: New member.
13244         (struct abbrev_table): Add constructor.
13245         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
13246         <abbrev_obstack>: Now an auto_obstack.
13247         (abbrev_table_up): New typedef.
13248         (init_cu_die_reader): Add abbrev_table parameter.
13249         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
13250         Add result_dwo_abbrev_table.
13251         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13252         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
13253         Update.
13254         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
13255         parameter.
13256         (skip_children): Update.
13257         (abbrev_table::alloc_abbrev): Rename from
13258         abbrev_table_alloc_abbrev.
13259         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
13260         (abbrev_table::lookup_abbrev): Rename from
13261         abbrev_table_lookup_abbrev.
13262         (abbrev_table_read_table): Return abbrev_table_up.
13263         (abbrev_table_free, abbrev_table_free_cleanup)
13264         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
13265         (load_partial_dies): Update.
13266
13267 2018-01-17  Tom Tromey  <tom@tromey.com>
13268
13269         * dwarf2read.c (dwarf2_compute_name): Update comment.
13270         (read_func_scope, read_variable): Update.
13271         (new_symbol): Remove.
13272         (new_symbol_full): Rename to new_symbol.
13273
13274 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
13275
13276         PR gdb/16577
13277         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
13278         a warning instead of throwing an error, set section size to 0 and return
13279         NULL.
13280         * gdb_bfd.h (gdb_bfd_map_section): Update description.
13281
13282 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13283
13284         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
13285         std::string.
13286         (linux_ptrace_attach_fail_reason_string): Likewise.
13287         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
13288         Likewise.
13289         (linux_ptrace_attach_fail_reason_string): Likewise.
13290         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
13291
13292 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13293
13294         * linux-nat.c (linux_nat_attach): Remove xstrdup.
13295
13296 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
13297
13298         PR gdb/21559
13299         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
13300         checking for fs_base/gs_base fields in struct user_regs_struct.
13301         * configure: Regenerate.
13302
13303 2018-01-17  Yao Qi  <yao.qi@linaro.org>
13304
13305         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
13306         function.
13307         (aarch64_linux_init_abi): Install it to gdbarch hook
13308         gcc_target_options.
13309
13310 2018-01-15  Pedro Alves  <palves@redhat.com>
13311
13312         * common/signals-state-save-restore.c
13313         (save_original_signals_state): Fix typos.
13314
13315 2017-01-12  Tom Tromey  <tom@tromey.com>
13316             Sergio Durigan Junior  <sergiodj@redhat.com>
13317
13318         * Makefile.in (install-only): Install gdb-add-index.
13319
13320 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
13321
13322         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
13323
13324 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13325
13326         * infrun.c (keep_going_pass_signal): Clear step-over info when
13327         insert_breakpoints fails.
13328
13329 2018-01-11  Pedro Alves  <palves@redhat.com>
13330
13331         PR gdb/22583
13332         * infrun.c (resume): Rename to ...
13333         (resume_1): ... this.
13334         (resume): Reimplement as wrapper around resume_1.
13335
13336 2018-01-11  Pedro Alves  <palves@redhat.com>
13337
13338         PR remote/22597
13339         * remote.c (remote_parse_stop_reply): Default to the last-set
13340         general thread instead of to 'magic_null_ptid'.
13341
13342 2018-01-10  Pedro Alves  <palves@redhat.com>
13343
13344         * language.h (language_get_symbol_name_matcher): Rename ...
13345         (get_symbol_name_matcher): ... this.
13346         * language.c (language_get_symbol_name_matcher): Ditto.
13347         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
13348         callers adjusted.
13349
13350 2018-01-10  Pedro Alves  <palves@redhat.com>
13351
13352         PR gdb/22670
13353         * dwarf2read.c
13354         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
13355         Adjust to use language_get_symbol_name_matcher instead of
13356         language_defn::la_get_symbol_name_matcher.
13357         * language.c (language_get_symbol_name_matcher): If in Ada mode
13358         and the lookup name is a verbatim match, return Ada's matcher.
13359         * language.h (language_get_symbol_name_matcher): Adjust comment.
13360         (ada_lookup_name_info::verbatim_p):: New method.
13361
13362 2018-01-10  Pedro Alves  <palves@redhat.com>
13363
13364         PR gdb/22670
13365         * ada-lang.c (ada_collect_symbol_completion_matches): If the
13366         minsym's language is language_auto or language_cplus, pass down
13367         language_ada instead.
13368         * symtab.c (compare_symbol_name): Don't frob symbol language here.
13369
13370 2018-01-10  Pedro Alves  <palves@redhat.com>
13371
13372         PR gdb/22670
13373         * minsyms.c (linkage_name_str): New function.
13374         (iterate_over_minimal_symbols): Use it.
13375
13376 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13377
13378         * NEWS: Document that 'info proc' now works on FreeBSD.
13379
13380 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13381
13382         * configure.ac: Check for kinfo_getfile in libutil.
13383         * configure: Regenerate.
13384         * config.in: Regenerate.
13385         * fbsd-nat.c: Include "fbsd-tdep.h".
13386         (fbsd_fetch_cmdline): New.
13387         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
13388         rather than calling error.
13389         (fbsd_info_proc): New.
13390         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
13391         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
13392         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
13393
13394 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13395
13396         * fbsd-nat.c (struct free_deleter): Remove.
13397         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
13398
13399 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13400
13401         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
13402         NULL for an empty pathname.
13403
13404 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13405
13406         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
13407         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
13408         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
13409         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
13410         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
13411         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
13412         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
13413         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
13414         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
13415         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
13416         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
13417         (fbsd_core_fetch_timeval, fbsd_print_sigset)
13418         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
13419         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
13420         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
13421
13422 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
13423
13424         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
13425         (gnu_xfer_auxv): New function.
13426         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
13427         TARGET_OBJECT_AUXV.
13428
13429 2018-01-08  Yao Qi  <yao.qi@linaro.org>
13430             Simon Marchi  <simon.marchi@ericsson.com>
13431
13432         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
13433         common/selftest.c.
13434         (COMMON_OBS): Remove selftest.o.
13435         * configure.ac: Append selftest-arch.c and common/selftest.c to
13436         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
13437         * configure: Re-generated.
13438         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
13439         GDB_SELF_TEST.
13440         (maintenance_info_selftests): Likewise.
13441
13442 2018-01-08  Xavier Roirand  <roirand@adacore.com>
13443
13444         * ada-valprint.c (val_print_packed_array_elements): Use
13445         proper number of elements when printing an array indexed
13446         by an enumeration type.
13447
13448 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13449
13450         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
13451         (dw2_get_file_names_reader): Adjust.
13452         (lookup_dwo_signatured_type): Adjust.
13453         (lookup_dwp_signatured_type): Adjust.
13454         (lookup_signatured_type): Adjust.
13455         (create_type_unit_group): Adjust.
13456         (get_type_unit_group): Adjust.
13457         (process_psymtab_comp_unit_reader): Adjust.
13458         (build_type_psymtabs_reader): Adjust.
13459         (scan_partial_symbols): Adjust.
13460         (add_partial_symbol): Adjust.
13461         (add_partial_subprogram): Adjust.
13462         (peek_die_abbrev): Adjust.
13463         (fixup_go_packaging): Adjust.
13464         (process_imported_unit_die): Adjust.
13465         (dwarf2_compute_name): Adjust.
13466         (dwarf2_physname): Adjust.
13467         (read_import_statement): Adjust.
13468         (handle_DW_AT_stmt_list): Adjust.
13469         (read_file_scope): Adjust.
13470         (read_func_scope): Adjust.
13471         (read_lexical_block_scope): Adjust.
13472         (read_call_site_scope): Adjust.
13473         (read_variable): Adjust.
13474         (dwarf2_rnglists_process): Adjust.
13475         (dwarf2_ranges_process): Adjust.
13476         (dwarf2_ranges_read): Adjust.
13477         (dwarf2_get_pc_bounds): Adjust.
13478         (dwarf2_record_block_ranges): Adjust.
13479         (dwarf2_add_field): Adjust.
13480         (dwarf2_add_member_fn): Adjust.
13481         (read_structure_type): Adjust.
13482         (process_structure_scope): Adjust.
13483         (read_enumeration_type): Adjust.
13484         (read_array_type): Adjust.
13485         (mark_common_block_symbol_computed): Adjust.
13486         (read_common_block): Adjust.
13487         (read_namespace_type): Adjust.
13488         (read_namespace): Adjust.
13489         (read_module_type): Adjust.
13490         (read_tag_pointer_type): Adjust.
13491         (read_tag_ptr_to_member_type): Adjust.
13492         (read_tag_string_type): Adjust.
13493         (read_subroutine_type): Adjust.
13494         (read_typedef): Adjust.
13495         (read_base_type): Adjust.
13496         (attr_to_dynamic_prop): Adjust.
13497         (read_subrange_type): Adjust.
13498         (read_unspecified_type): Adjust.
13499         (dwarf2_read_abbrevs): Adjust.
13500         (load_partial_dies): Adjust.
13501         (read_partial_die): Adjust.
13502         (find_partial_die): Adjust.
13503         (guess_partial_die_structure_name): Adjust.
13504         (fixup_partial_die): Adjust.
13505         (read_attribute_value): Adjust.
13506         (read_addr_index): Adjust.
13507         (read_addr_index_from_leb128): Adjust.
13508         (read_str_index): Adjust.
13509         (dwarf2_string_attr): Adjust.
13510         (get_debug_line_section): Adjust.
13511         (dwarf_decode_line_header): Adjust.
13512         (lnp_state_machine::check_line_address): Adjust.
13513         (dwarf_decode_lines_1): Adjust.
13514         (dwarf_decode_lines): Adjust.
13515         (dwarf2_start_symtab): Adjust.
13516         (var_decode_location): Adjust.
13517         (new_symbol_full): Adjust.
13518         (dwarf2_const_value_data): Adjust.
13519         (dwarf2_const_value_attr): Adjust.
13520         (dwarf2_const_value): Adjust.
13521         (die_type): Adjust.
13522         (die_containing_type): Adjust.
13523         (build_error_marker_type): Adjust.
13524         (lookup_die_type): Adjust.
13525         (guess_full_die_structure_name): Adjust.
13526         (anonymous_struct_prefix): Adjust.
13527         (determine_prefix): Adjust.
13528         (dwarf2_name): Adjust.
13529         (follow_die_ref_or_sig): Adjust.
13530         (follow_die_offset): Adjust.
13531         (follow_die_ref): Adjust.
13532         (follow_die_sig_1): Adjust.
13533         (follow_die_sig): Adjust.
13534         (get_signatured_type): Adjust.
13535         (get_DW_AT_signature_type): Adjust.
13536         (decode_locdesc): Adjust.
13537         (dwarf_decode_macros): Adjust.
13538         (cu_debug_loc_section): Adjust.
13539         (fill_in_loclist_baton): Adjust.
13540         (dwarf2_symbol_mark_computed): Adjust.
13541         (init_one_comp_unit): Don't assign
13542         dwarf2_cu::dwarf2_per_objfile.
13543         (set_die_type): Adjust.
13544
13545 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13546
13547         * dwarf2read.c (struct mapped_debug_names): Add constructor.
13548         <dwarf2_per_objfile>: New field.
13549         (dwarf2_per_objfile): Remove global.
13550         (get_dwarf2_per_objfile): New function.
13551         (set_dwarf2_per_objfile): New function.
13552         (dwarf2_build_psymtabs_hard): Change objfile parameter to
13553         dwarf2_per_objfile.
13554         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13555         (read_abbrev_offset): Likewise.
13556         (read_indirect_string): Likewise.
13557         (read_indirect_line_string): Likewise.
13558         (read_indirect_string_at_offset): Likewise.
13559         (read_indirect_string_from_dwz): Likewise.
13560         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13561         dwarf2_per_objfile.
13562         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13563         (create_all_comp_units): Change objfile parameter to
13564         dwarf2_per_objfile.
13565         (create_all_type_units): Likewise.
13566         (process_queue): Add dwarf2_per_objfile parameter.
13567         (read_and_check_comp_unit_head): Likewise.
13568         (lookup_dwo_unit_in_dwp): Likewise.
13569         (get_dwp_file): Likewise.
13570         (process_cu_includes): Likewise.
13571         (struct free_dwo_file_cleanup_data): New struct.
13572         (dwarf2_has_info): Use get_dwarf2_per_objfile and
13573         set_dwarf2_per_objfile.
13574         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
13575         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
13576         context, adjust calls.
13577         (dw2_instantiate_symtab): Likewise.
13578         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
13579         (dw2_get_cu): Likewise.
13580         (create_cu_from_index_list): Change objfile parameter to
13581         dwarf2_per_objfile.
13582         (create_cus_from_index_list): Get dwarf2_per_objfile from
13583         context, adjust calls.
13584         (create_cus_from_index): Likewise.
13585         (create_signatured_type_table_from_index): Change objfile
13586         parameter to dwarf2_per_objfile.
13587         (create_signatured_type_table_from_debug_names): Change objfile
13588         parameter to dwarf2_per_objfile.
13589         (create_addrmap_from_index): Likewise.
13590         (create_addrmap_from_aranges): Likewise.
13591         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
13592         (dw2_setup): Remove.
13593         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
13594         context.
13595         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
13596         get_dwarf2_per_objfile.
13597         (dw2_forget_cached_source_info): Likewise.
13598         (dw2_map_symtabs_matching_filename): Likewise.
13599         (struct dw2_symtab_iterator) <index>: Remove.
13600         <dwarf2_per_objfile>: New field.
13601         (dw2_symtab_iter_init): Replace index parameter with
13602         dwarf2_per_objfile.
13603         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
13604         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
13605         (dw2_print_stats): Likewise.
13606         (dw2_dump): Likewise.
13607         (dw2_expand_symtabs_for_function): Likewise.
13608         (dw2_expand_all_symtabs): Likewise.
13609         (dw2_expand_symtabs_with_fullname): Likewise.
13610         (dw2_expand_marked_cus): Replace index and objfile parameters
13611         with dwarf2_per_objfile.
13612         (dw_expand_symtabs_matching_file_matcher): Add
13613         dwarf2_per_objfile parameter and adjust calls.
13614         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
13615         adjust calls.
13616         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
13617         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
13618         adjust calls.
13619         (create_cus_from_debug_names_list): Replace objfile parameter
13620         with dwarf2_per_objfile and adjust calls.
13621         (create_cus_from_debug_names): Likewise.
13622         (dwarf2_read_debug_names): Likewise.
13623         (mapped_debug_names::namei_to_name): Adjust call.
13624         (dw2_debug_names_iterator::next): Likewise.
13625         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
13626         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
13627         (dw2_debug_names_dump): Likewise.
13628         (dw2_debug_names_expand_symtabs_for_function): Likewise.
13629         (dw2_debug_names_expand_symtabs_matching): Likewise.
13630         (dwarf2_initialize_objfile): Likewise.
13631         (dwarf2_build_psymtabs): Likewise.
13632         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
13633         this_cu.
13634         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
13635         (read_and_check_comp_unit_head): Likewise.
13636         (read_abbrev_offset): Likewise.
13637         (create_debug_type_hash_table): Likewise.
13638         (create_debug_types_hash_table): Likewise.
13639         (create_all_type_units): Replace objfile parameter with
13640         dwarf2_per_objfile.
13641         (add_type_unit): Add dwarf2_per_objfile parameter.
13642         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
13643         with dwarf2_per_objfile.
13644         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
13645         (lookup_dwp_signatured_type): Likewise.
13646         (lookup_signatured_type): Likewise.
13647         (read_cutu_die_from_dwo): Likewise.
13648         (init_tu_and_read_dwo_dies): Likewise.
13649         (init_cutu_and_read_dies): Likewise.
13650         (init_cutu_and_read_dies_no_follow): Likewise.
13651         (allocate_type_unit_groups_table): Add objfile parameter.
13652         (create_type_unit_group): Use dwarf2_per_objfile from cu.
13653         (get_type_unit_group): Likewise.
13654         (process_psymtab_comp_unit): Update call.
13655         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
13656         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
13657         (print_tu_stats): Likewise.
13658         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
13659         in void* parameter.
13660         (build_type_psymtabs): Change objfile parameter to
13661         dwarf2_per_objfile.
13662         (process_skeletonless_type_unit): Use dwarf2_per_objfile
13663         passed in void* parameter.
13664         (process_skeletonless_type_units): Change objfile parameter to
13665         dwarf2_per_objfile.
13666         (set_partial_user): Likewise.
13667         (dwarf2_build_psymtabs_hard): Likewise.
13668         (read_comp_units_from_section): Likewise.
13669         (create_all_comp_units): Likewise.
13670         (scan_partial_symbols): Update calls.
13671         (add_partial_symbol): Likewise.
13672         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
13673         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
13674         (process_queue): Add dwarf2_per_objfile parameter.
13675         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
13676         (compute_compunit_symtab_includes): Likewise.
13677         (process_cu_includes): Add dwarf2_per_objfile parameter.
13678         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
13679         (process_full_type_unit): Likewise.
13680         (process_imported_unit_die): Update call.
13681         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
13682         (read_file_scope): Likewise.
13683         (allocate_dwo_file_hash_table): Add objfile parameter.
13684         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
13685         (create_cus_hash_table): Likewise.
13686         (create_dwp_hash_table): Likewise.
13687         (create_dwo_unit_in_dwp_v1): Likewise.
13688         (create_dwp_v2_section): Likewise.
13689         (create_dwo_unit_in_dwp_v2): Likewise.
13690         (lookup_dwo_unit_in_dwp): Likewise.
13691         (try_open_dwop_file): Likewise.
13692         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
13693         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
13694         cleanup to include a reference to dwarf2_per_objfile.
13695         (open_dwp_file): Add dwarf2_per_objfile parameter.
13696         (open_and_init_dwp_file): Likewise.
13697         (get_dwp_file): Likewise.
13698         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
13699         (queue_and_load_all_dwo_tus): Update call.
13700         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
13701         data.
13702         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
13703         (dwarf2_ranges_process): Likewise.
13704         (dwarf2_get_pc_bounds): Likewise.
13705         (mark_common_block_symbol_computed): Likewise.
13706         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13707         (dwarf2_read_abbrevs): Update call.
13708         (read_partial_die): Use dwarf2_per_objfile from cu.
13709         (find_partial_die): Likewise.
13710         (fixup_partial_die): Likewise.
13711         (read_attribute_value): Likewise.
13712         (read_indirect_string_at_offset_from): Add objfile parameter.
13713         (read_indirect_string_at_offset): Add dwarf2_per_objfile
13714         parameter.
13715         (read_indirect_string_from_dwz): Add objfile parameter.
13716         (read_indirect_string): Add objfile parameter.
13717         (read_addr_index_1): Add dwarf2_per_objfile parameter.
13718         (read_addr_index): Use dwarf2_per_objfile from cu.
13719         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
13720         call dw2_setup.
13721         (read_str_index): Use dwarf2_per_objfile from cu.
13722         (get_debug_line_section): Likewise.
13723         (read_formatted_entries): Add dwarf2_per_objfile parameter.
13724         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
13725         (new_symbol_full): Use dwarf2_per_objfile from cu.
13726         (build_error_marker_type): Likewise.
13727         (lookup_die_type): Likewise.
13728         (determine_prefix): Likewise.
13729         (follow_die_offset): Likewise.
13730         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
13731         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
13732         (dwarf2_fetch_die_type_sect_off): Likewise.
13733         (dwarf2_get_die_type): Likewise.
13734         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
13735         (get_signatured_type): Likewise.
13736         (get_DW_AT_signature_type): Likewise.
13737         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
13738         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
13739         (cu_debug_loc_section): Likewise.
13740         (fill_in_loclist_baton): Likewise.
13741         (dwarf2_symbol_mark_computed): Likewise.
13742         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13743         dwarf2_per_objfile.
13744         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
13745         parameter.
13746         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13747         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
13748         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
13749         (set_die_type): Use dwarf2_free_objfile from cu.
13750         (get_die_type_at_offset): Likewise.
13751         (dwarf2_per_objfile_free): Don't assign global variable.
13752         (debug_names) <constructor>: Add dwarf2_per_objfile
13753         parameter, update m_debugstrlookup construction.
13754         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
13755         parameter.
13756         <m_dwarf2_per_objfile>: New field.
13757         <lookup>: Use m_dwarf2_per_objfile.
13758         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
13759         (psyms_seen_size): Likewise.
13760         (write_gdbindex): Replace objfile parameter with
13761         dwarf2_per_objfile.
13762         (write_debug_names): Likewise.
13763         (write_psymtabs_to_index): Likewise.
13764         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
13765         calls.
13766
13767 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13768
13769         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
13770         <dwarf2_per_objfile>: New field.
13771         (struct dwarf2_per_cu_data) <objfile>: Remove.
13772         <dwarf2_per_objfile>: New field.
13773         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
13774         of objfile.
13775         (create_signatured_type_table_from_index): Likewise.
13776         (create_debug_type_hash_table): Likewise.
13777         (fill_in_sig_entry_from_dwo_entry): Likewise.
13778         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
13779         (create_type_unit_group): Assign dwarf2_per_objfile instead of
13780         objfile.
13781         (create_partial_symtab): Access objfile through
13782         dwarf2_per_objfile.
13783         (process_psymtab_comp_unit_reader): Likewise.
13784         (read_comp_units_from_section): Likewise.
13785         (scan_partial_symbols): Likewise.
13786         (add_partial_symbol): Likewise.
13787         (add_partial_subprogram): Likewise.
13788         (peek_die_abbrev): Likewise.
13789         (fixup_go_packaging): Likewise.
13790         (process_full_comp_unit): Likewise.
13791         (process_full_type_unit): Likewise.
13792         (process_imported_unit_die): Likewise.
13793         (dwarf2_compute_name): Likewise.
13794         (dwarf2_physname): Likewise.
13795         (read_import_statement): Likewise.
13796         (create_cus_hash_table): Assign dwarf2_physname instead of
13797         objfile.
13798         (read_func_scope): Access objfile through dwarf2_per_objfile.
13799         (read_lexical_block_scope): Likewise.
13800         (read_call_site_scope): Likewise.
13801         (read_variable): Likewise.
13802         (dwarf2_rnglists_process): Likewise.
13803         (dwarf2_ranges_process): Likewise.
13804         (dwarf2_ranges_read): Likewise.
13805         (dwarf2_record_block_ranges): Likewise.
13806         (dwarf2_add_field): Likewise.
13807         (dwarf2_add_member_fn): Likewise.
13808         (read_structure_type): Likewise.
13809         (process_structure_scope): Likewise.
13810         (read_enumeration_type): Likewise.
13811         (read_array_type): Likewise.
13812         (read_common_block): Likewise.
13813         (read_namespace_type): Likewise.
13814         (read_namespace): Likewise.
13815         (read_module_type): Likewise.
13816         (read_tag_pointer_type): Likewise.
13817         (read_tag_ptr_to_member_type): Likewise.
13818         (read_tag_string_type): Likewise.
13819         (read_subroutine_type): Likewise.
13820         (read_typedef): Likewise.
13821         (read_base_type): Likewise.
13822         (attr_to_dynamic_prop): Likewise.
13823         (read_subrange_type): Likewise.
13824         (read_unspecified_type): Likewise.
13825         (load_partial_dies): Likewise.
13826         (read_partial_die): Likewise.
13827         (find_partial_die): Likewise.
13828         (guess_partial_die_structure_name): Likewise.
13829         (fixup_partial_die): Likewise.
13830         (read_attribute_value): Likewise.
13831         (read_addr_index_from_leb128): Likewise.
13832         (dwarf2_read_addr_index): Likewise.
13833         (dwarf2_string_attr): Likewise.
13834         (lnp_state_machine::check_line_address): Likewise.
13835         (dwarf_decode_lines_1): Likewise.
13836         (dwarf_decode_lines): Likewise.
13837         (dwarf2_start_symtab): Likewise.
13838         (var_decode_location): Likewise.
13839         (new_symbol_full): Likewise.
13840         (dwarf2_const_value_data): Likewise.
13841         (dwarf2_const_value_attr): Likewise.
13842         (dwarf2_const_value): Likewise.
13843         (die_type): Likewise.
13844         (die_containing_type): Likewise.
13845         (lookup_die_type): Likewise.
13846         (guess_full_die_structure_name): Likewise.
13847         (anonymous_struct_prefix): Likewise.
13848         (dwarf2_name): Likewise.
13849         (follow_die_ref_or_sig): Likewise.
13850         (follow_die_offset): Likewise.
13851         (follow_die_ref): Likewise.
13852         (dwarf2_fetch_die_loc_sect_off): Likewise.
13853         (dwarf2_fetch_constant_bytes): Likewise.
13854         (dwarf2_fetch_die_type_sect_off): Likewise.
13855         (dwarf2_get_die_type): Likewise.
13856         (follow_die_sig): Likewise.
13857         (decode_locdesc): Likewise.
13858         (dwarf2_per_cu_objfile): Likewise.
13859         (dwarf2_per_cu_text_offset): Likewise.
13860         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
13861         objfile.
13862         (set_die_type): Access objfile through
13863         dwarf2_per_objfile.
13864
13865 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13866
13867         * valprint.c (converted_character_d): Remove typedef.
13868         (DEF_VEC_O (converted_character_d)): Remove.
13869         (count_next_character): Use std::vector.
13870         (print_converted_chars_to_obstack): Likewise.
13871         (generic_printstr): Likewise.
13872
13873 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13874
13875         * xml-support.h (struct gdb_xml_value): Add constructor.
13876         <value>: Change type to unique_xmalloc_ptr.
13877         (gdb_xml_value_s): Remove typedef.
13878         (DEF_VEC_O (gdb_xml_value_s)): Remove.
13879         (gdb_xml_element_start_handler): Change parameter type to
13880         std::vector.
13881         (xml_find_attribute): Likewise.
13882         * xml-support.c (xml_find_attribute): Change parameter type to
13883         std::vector and adjust.
13884         (gdb_xml_values_cleanup): Remove.
13885         (gdb_xml_parser::start_element): Adjust to std::vector.
13886         (xinclude_start_include): Change paraeter type to std::vector
13887         and adjust.
13888         * btrace.c (check_xml_btrace_version): Likewise.
13889         (parse_xml_btrace_block): Likewise.
13890         (parse_xml_btrace_pt_config_cpu): Likewise.
13891         (parse_xml_btrace_pt): Likewise.
13892         (parse_xml_btrace_conf_bts): Likewise.
13893         (parse_xml_btrace_conf_pt): Likewise.
13894         * memory-map.c (memory_map_start_memory): Likewise.
13895         (memory_map_start_property): Likewise.
13896         * osdata.c (osdata_start_osdata): Likewise.
13897         (osdata_start_item): Likewise.
13898         (osdata_start_column): Likewise.
13899         * remote.c (start_thread): Likewise.
13900         * solib-aix.c (library_list_start_library): Likewise.
13901         (library_list_start_list): Likewise.
13902         * solib-svr4.c (library_list_start_library): Likewise.
13903         (svr4_library_list_start_list): Likewise.
13904         * solib-target.c (library_list_start_segment): Likewise.
13905         (library_list_start_section): Likewise.
13906         (library_list_start_library): Likewise.
13907         (library_list_start_list): Likewise.
13908         * tracepoint.c (traceframe_info_start_memory): Likewise.
13909         (traceframe_info_start_tvar): Likewise.
13910         * xml-syscall.c (syscall_start_syscall): Likewise.
13911         * xml-tdesc.c (tdesc_start_target): Likewise.
13912         (tdesc_start_feature): Likewise.
13913         (tdesc_start_reg): Likewise.
13914         (tdesc_start_union): Likewise.
13915         (tdesc_start_struct): Likewise.
13916         (tdesc_start_flags): Likewise.
13917         (tdesc_start_enum): Likewise.
13918         (tdesc_start_field): Likewise.
13919         (tdesc_start_enum_value): Likewise.
13920         (tdesc_start_vector): Likewise.
13921
13922 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13923
13924         * extension.h (struct xmethod_worker) <clone>: Remove.
13925         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
13926         Remove.
13927         (python_xmethod_worker::clone): Remove.
13928         * valops.c (find_overload_match): Use std::move instead of
13929         clone.
13930
13931 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13932
13933         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
13934         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
13935         <free_xmethod_worker_data>: Remove.
13936         <get_matching_xmethod_workers>: Chance VEC to std::vector.
13937         <get_xmethod_arg_types>: Remove.
13938         <get_xmethod_result_type>: Remove.
13939         <invoke_xmethod>: Remove.
13940         * extension.c (new_xmethod_worker): Remove.
13941         (clone_xmethod_worker): Remove.
13942         (get_matching_xmethod_workers): Return void, pass std::vector by
13943         pointer.
13944         (get_xmethod_arg_types): Rename to...
13945         (xmethod_worker::get_arg_types): ... this, and adjust.
13946         (get_xmethod_result_type): Rename to...
13947         (xmethod_worker::get_result_type): ... this, and adjust.
13948         (invoke_xmethod): Remove.
13949         (free_xmethod_worker): Remove.
13950         (free_xmethod_worker_vec): Remove.
13951         * extension.h (enum ext_lang_rc): Move here from
13952         extension-priv.h.
13953         (struct xmethod_worker): Add constructor and destructor.
13954         <data>: Remove.
13955         <value>: Remove.
13956         <invoke, clone, do_get_result_type, do_get_arg_types>: New
13957         virtual pure methods.
13958         <get_arg_types, get_result_type>: New methods.
13959         (xmethod_worker_ptr): Remove typedef.
13960         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
13961         (xmethod_worker_vec): Remove typedef.
13962         (xmethod_worker_up): New typedef.
13963         (invoke_xmethod): Remove.
13964         (clone_xmethod_worker): Remove.
13965         (free_xmethod_worker): Remove.
13966         (free_xmethod_worker_vec): Remove.
13967         (get_xmethod_arg_types): Remove.
13968         (get_xmethod_result_type): Remove.
13969         * valops.c (find_method_list): Use std::vector, don't use
13970         intermediate vector.
13971         (value_find_oload_method_list): Use std::vector.
13972         (find_overload_match): Use std::vector.
13973         (find_oload_champ): Use std::vector.
13974         * value.c (value_free): Use operator delete.
13975         (value_of_xmethod): Rename to...
13976         (value_from_xmethod): ... this.  Don't assign
13977         xmethod_worker::value, take rvalue-reference.
13978         (result_type_of_xmethod): Adjust.
13979         (call_xmethod): Adjust.
13980         * value.h: Include extension.h.
13981         (struct xmethod_worker): Don't forward-declare.
13982         (value_of_xmethod): Rename to...
13983         (value_from_xmethod): ... this, take rvalue-reference.
13984         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
13985         (struct python_xmethod_worker): ... this, add constructor and
13986         destructor.
13987         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
13988         (gdbpy_free_xmethod_worker_data): Rename to...
13989         (python_xmethod_worker::~python_xmethod_worker): ... this and
13990         adjust.
13991         (gdbpy_clone_xmethod_worker_data): Rename to...
13992         (python_xmethod_worker::clone): ... this and adjust.
13993         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
13994         temporary vector.
13995         (gdbpy_get_xmethod_arg_types): Rename to...
13996         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
13997         (gdbpy_get_xmethod_result_type): Rename to...
13998         (python_xmethod_worker::do_get_result_type): ... this and
13999         adjust.
14000         (gdbpy_invoke_xmethod): Rename to...
14001         (python_xmethod_worker::invoke): ... this and adjust.
14002         (new_python_xmethod_worker): Rename to...
14003         (python_xmethod_worker::python_xmethod_worker): ... this and
14004         adjust.
14005         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
14006         Remove.
14007         (gdbpy_free_xmethod_worker_data): Remove.
14008         (gdbpy_get_matching_xmethod_workers): Use std::vector.
14009         (gdbpy_get_xmethod_arg_types): Remove.
14010         (gdbpy_get_xmethod_result_type): Remove.
14011         (gdbpy_invoke_xmethod): Remove.
14012         * python/python.c (python_extension_ops): Remove obsolete
14013         callbacks.
14014
14015 2018-01-05  Pedro Alves  <palves@redhat.com>
14016
14017         PR gdb/18653
14018         * common/signals-state-save-restore.c
14019         (save_original_signals_state): New parameter 'quiet'.  Warn if we
14020         find a custom handler preinstalled, instead of internal erroring.
14021         But only warn if !quiet.
14022         * common/signals-state-save-restore.h
14023         (save_original_signals_state): New parameter 'quiet'.
14024         * main.c (captured_main_1): Move save_original_signals_state call
14025         after option handling, and pass QUIET.
14026
14027 2018-01-05  Pedro Alves  <palves@redhat.com>
14028
14029         * spu-tdep.c (spu_catch_start): Pass
14030         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
14031
14032 2018-01-05  Pedro Alves  <palves@redhat.com>
14033
14034         PR gdb/22670
14035         * ada-lang.c (literal_symbol_name_matcher): New function.
14036         (ada_get_symbol_name_matcher): Use it for
14037         symbol_name_match_type::SEARCH_NAME.
14038         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
14039         it down instead of assuming symbol_name_match_type::FULL.
14040         * block.h (block_lookup_symbol): New parameter 'match_type'.
14041         * c-valprint.c (print_unpacked_pointer): Use
14042         lookup_symbol_search_name instead of lookup_symbol.
14043         * compile/compile-object-load.c (get_out_value_type): Pass down
14044         symbol_name_match_type::SEARCH_NAME.
14045         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
14046         symbol_name_match_type::FULL.
14047         * cp-support.c (cp_get_symbol_name_matcher): Handle
14048         symbol_name_match_type::SEARCH_NAME.
14049         * infrun.c (insert_exception_resume_breakpoint): Use
14050         lookup_symbol_search_name.
14051         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
14052         * psymtab.c (maintenance_check_psymtabs): Use
14053         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
14054         * stack.c (print_frame_args): Use lookup_symbol_search_name and
14055         SYMBOL_SEARCH_NAME.
14056         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
14057         if symbol_name_match_type::SEARCH_NAME.
14058         (lookup_symbol_in_language): Pass down
14059         symbol_name_match_type::FULL.
14060         (lookup_symbol_search_name): New.
14061         (lookup_language_this): Pass down
14062         symbol_name_match_type::SEARCH_NAME.
14063         (lookup_symbol_aux, lookup_local_symbol): New parameter
14064         'match_type'.  Pass it down.
14065         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
14066         (lookup_symbol_search_name): New declaration.
14067         (lookup_symbol_in_block): New 'match_type' parameter.
14068
14069 2018-01-05  Pedro Alves  <palves@redhat.com>
14070
14071         PR gdb/22670
14072         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
14073         ada_lookup_symbol.
14074         (ada_lookup_symbol): Reimplement in terms of
14075         ada_lookup_symbol_list, bits factored out from
14076         ada_lookup_encoded_symbol.
14077
14078 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14079
14080         * ada-exp.y (write_object_renaming): When subscripting an array
14081         using a symbol as the index, pass the block in call to
14082         ada_lookup_encoded_symbol when looking that symbol up.
14083
14084 2018-01-05  Jerome Guitton  <guitton@adacore.com>
14085
14086         * ada-lang.c (ada_array_length): Use ada_index_type instead of
14087         TYPE_INDEX_TYPE.
14088
14089 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14090
14091         * ada-lang.c (ada_to_fixed_value_create): Add handling of
14092         the case where VALUE_LVAL (val0) is not lval_memory.
14093
14094 2018-01-05  Xavier Roirand  <roirand@adacore.com>
14095
14096         * ada-valprint.c (print_optional_low_bound): Handle
14097         character-indexed array printing like boolean-indexed array
14098         printing.
14099
14100 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14101
14102         * NEWS: Create a new section for the next release branch.
14103         Rename the section of the current branch, now that it has
14104         been cut.
14105
14106 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14107
14108         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
14109         * version.in: Bump version to 8.1.50.DATE-git.
14110
14111 2018-01-03  Xavier Roirand  <roirand@adacore.com>
14112
14113         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
14114         Add field.
14115         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
14116         Add field.
14117         (default_exception_support_info) <catch_handlers_sym>: Add field.
14118         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
14119         (ada_exception_name_addr_1): Add "catch handlers" handling.
14120         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
14121         Update all callers.
14122         (create_excep_cond_exprs) <ex>: Add parameter.
14123         (re_set_exception): Update create_excep_cond_exprs call.
14124         (print_it_exception, print_one_exception, print_mention_exception)
14125         (print_recreate_exception): Add "catch handler" handling.
14126         (allocate_location_catch_handlers, re_set_catch_handlers)
14127         (check_status_catch_handlers, print_it_catch_handlers)
14128         (print_one_catch_handlers, print_mention_catch_handlers)
14129         (print_recreate_catch_handlers): New function.
14130         (catch_handlers_breakpoint_ops): New variable.
14131         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
14132         Add parameter.  Add "catch handler" handling.
14133         (ada_exception_sym_name, ada_exception_breakpoint_ops):
14134         Add "catch handler" handling.
14135         (ada_exception_catchpoint_cond_string): Add "catch handler"
14136         handling.
14137         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
14138         call.
14139         (catch_ada_handlers_command): New function.
14140         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
14141         operations structure.
14142         (_initialize_ada_language): Add "catch handlers" command entry.
14143         * NEWS: Document "catch handlers" feature.
14144
14145 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14146
14147         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
14148         account when creating the array type of the slice.
14149         (ada_value_slice): Likewise.
14150
14151 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14152
14153         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
14154         New enum value.
14155         (create_array_type_with_stride): Add byte_stride_prop parameter.
14156         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
14157         New parameter.  Update all callers in this file.
14158         (array_type_has_dynamic_stride): New function.
14159         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
14160         of arrays with dynamic byte strides.
14161         * dwarf2read.c (read_array_type): Add support for dynamic
14162         DW_AT_byte_stride attributes.
14163
14164 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14165
14166         * dwarf2read.c (read_unspecified_type): Treat
14167         DW_TAG_enumeration_type DIEs from Ada units as stubs.
14168
14169 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14170
14171         Update copyright year range in all GDB files.
14172
14173 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14174
14175         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
14176         and gdb/testsuite/gdb.base/step-line.c.
14177
14178 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14179
14180         * copyright.py (main): Dump the contents of
14181         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
14182         even if BY_HAND is empty.
14183
14184 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14185
14186         * top.c (print_gdb_version): Update Copyright year in version
14187         message.
14188
14189 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14190
14191         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
14192
14193 For older changes see ChangeLog-2017.
14194 \f
14195 Local Variables:
14196 mode: change-log
14197 left-margin: 8
14198 fill-column: 74
14199 version-control: never
14200 coding: utf-8
14201 End: