tid-parse.c tid_is_in_list correct 'See' comment.
[external/binutils.git] / gdb / ChangeLog
1 2018-10-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2
3         * tid-parse.c (tid_is_in_list): Fix wrong 'See' comment.
4
5 2018-10-02  Tom Tromey  <tom@tromey.com>
6
7         * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest.
8
9 2018-10-02  John Darrington <john@darrington.wattle.id.au>
10
11         * NEWS: Mention changed commands.
12         * ser-uds.c: New file.
13         * configure.ac (SER_HARDWIRE): Add ser-uds.o.
14         * configure: Regenerate.
15         * Makefile.in: Add new file.
16         * serial.c (serial_open): Check if filename is a socket
17           and lookup the appropriate interface accordingly.
18
19 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
20
21         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
22         define.
23         (AARCH64_EXTRA_MAGIC): Likewise.
24         (AARCH64_FPSIMD_MAGIC): Likewise.
25         (AARCH64_SVE_MAGIC): Likewise.
26         (AARCH64_EXTRA_DATAP_OFFSET): Likewise.
27         (AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
28         (AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
29         (AARCH64_FPSIMD_V0_OFFSET): Likewise.
30         (AARCH64_FPSIMD_VREG_SIZE): Likewise.
31         (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
32         (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
33         (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
34         (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
35         (AARCH64_SVE_CONTEXT_SIZE): Likewise.
36         (read_aarch64_ctx): Add function.
37         (aarch64_linux_sigframe_init): Detect FP registers.
38
39 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
40
41         * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here.
42         (AARCH64_D0_REGNUM): Likewise.
43         (AARCH64_S0_REGNUM): Likewise.
44         (AARCH64_H0_REGNUM): Likewise.
45         (AARCH64_B0_REGNUM): Likewise.
46         (AARCH64_SVE_V0_REGNUM): Likewise.
47         * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here.
48         (AARCH64_D0_REGNUM): Likewise.
49         (AARCH64_S0_REGNUM): Likewise.
50         (AARCH64_H0_REGNUM): Likewise.
51         (AARCH64_B0_REGNUM): Likewise.
52         (AARCH64_SVE_V0_REGNUM): Likewise.
53
54 2018-10-01  Gary Benson <gbenson@redhat.com>
55
56         * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef.
57         * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use
58         prfpregset_t instead of gdb_prfpregset_t.
59         * configure.ac (PRFPREGSET_T_BROKEN): Remove check.
60         * configure, config.in: Rebuild.
61
62 2018-10-01  Gary Benson <gbenson@redhat.com>
63
64         * common/gdb_proc_service.h: New file, factored out from...
65         * gdb_proc_service.h: Moved common code to the above file.
66         * Makefile.in (HFILES_NO_SRCDIR): Add the above new file.
67
68 2018-10-01  Gary Benson <gbenson@redhat.com>
69
70         * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is
71         undefined.  Use elf_fpregset_t if prfpregset_t is undefined.
72
73 2018-10-01  Gary Benson <gbenson@redhat.com>
74
75         * configure.ac: Check if sys/procfs.h defines elf_fpregset_t.
76         (AC_CHECK_HEADERS): Check for linux/elf.h.
77         * configure, config.in: Rebuild.
78         * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h
79         doesn't define elf_fpregset_t.
80
81 2018-10-01  Gary Benson <gbenson@redhat.com>
82
83         * gdb_proc_service.h: Whitespace change.
84
85 2018-10-01  Tom Tromey  <tom@tromey.com>
86
87         * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H.
88         * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H.
89         * common/scoped_fd.h: Don't check HAVE_UNISTD_H.
90
91 2018-10-01  Tom Tromey  <tom@tromey.com>
92
93         * README: Minor change.
94
95 2018-09-30  Pedro Alves  <palves@redhat.com>
96
97         * darwin-nat-info.c (darwin_debug_regions_recurse)
98         (info_mach_exceptions_command): Remove unused local variables.
99         * darwin-nat.c (darwin_decode_notify_message)
100         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
101         (darwin_stop_inferior, darwin_setup_exceptions)
102         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
103         (darwin_nat_target::attach, darwin_nat_target::detach)
104         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
105         local variables.
106         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
107         variables.
108
109 2018-09-29  Tom Tromey  <tom@tromey.com>
110
111         * README: Remove some leftover text.
112
113 2018-09-29  Tom Tromey  <tom@tromey.com>
114
115         * PROBLEMS: Rewrite.
116         * README: Update.
117
118 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
119
120         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
121         case with explicit breakpoint kind.
122         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
123         'additional_info' and related logic.
124         (riscv_debug_breakpoints): New variable.
125         (riscv_breakpoint_kind_from_pc): Use the length of the existing
126         instruction to determine the breakpoint kind.
127         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
128         flag.  Update description of 'set/show riscv
129         use-compressed-breakpoints' flag.
130
131 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
132
133         (NEWS): Mention changes to frame related commands.
134         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
135         (add_prefix_cmd_suppress_notification): New function.
136         (add_com_suppress_notification): Call
137         add_cmd_suppress_notification.
138         * command.h (add_cmd_suppress_notification): Declare.
139         (add_prefix_cmd_suppress_notification): Declare.
140         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
141         (parse_frame_specification): Moved from stack.c, with
142         simplification to handle a single argument.
143         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
144         switch to the selected frame.  Add a header comment.
145         * stack.c: Remove 'safe-ctype.h' include.
146         (find_frame_for_function): Add declaration.
147         (find_frame_for_address): New function.
148         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
149         (frame_selection_by_function_completer): New function.
150         (info_frame_command): Rename to...
151         (info_frame_command_core): ...this, and update parameter types.
152         (select_frame_command): Rename to...
153         (select_frame_command_core): ...this, and update parameter types.
154         (frame_command): Rename to...
155         (frame_command_core): ...this, and update parameter types.
156         (class frame_command_helper): New class to wrap implementations of
157         frame related sub-commands.
158         (frame_apply_cmd_list): New static global.
159         (frame_cmd_list): Make static.
160         (select_frame_cmd_list): New global for sub-commands.
161         (info_frame_cmd_list): New global for sub-commands.
162         (_initialize_stack): Register sub-commands for 'frame',
163         'select-frame', and 'info frame'.  Update 'frame apply' commands
164         to use frame_apply_cmd_list.  Move function local static
165         frame_apply_list to file static frame_apply_cmd_list for
166         consistency.
167         * stack.h (select_frame_command): Delete declarationn.
168         (select_frame_for_mi): Declare new function.
169
170 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
171
172         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
173         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
174         and NOP.
175
176 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
177
178         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
179
180 2018-09-26  Tom Tromey  <tom@tromey.com>
181
182         * valops.c (auto_abandon): Remove dead code.
183
184 2018-09-26  Tom Tromey  <tom@tromey.com>
185
186         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
187
188 2018-09-24  Tom Tromey  <tom@tromey.com>
189
190         * common/pathstuff.c (get_standard_cache_dir): Make
191         "xdg_cache_home" and "home" const.
192         * top.c (init_history): Make "tmpenv" const.
193         * main.c (get_init_files): Make "homedir" const.
194
195 2018-09-23  Tom Tromey  <tom@tromey.com>
196
197         PR python/18852:
198         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
199
200 2018-09-23  Tom Tromey  <tom@tromey.com>
201
202         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
203         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
204         * python/python-internal.h (gdbpy_handle_exception): Declare.
205         * python/py-utils.c (gdbpy_handle_exception): New function.
206
207 2018-09-23  Tom Tromey  <tom@tromey.com>
208
209         PR python/17284:
210         * python/py-type.c (typy_template_argument): Check for negative
211         argument number.
212
213 2018-09-23  Tom Tromey  <tom@tromey.com>
214
215         PR python/14062:
216         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
217
218 2018-09-23  Tom Tromey  <tom@tromey.com>
219
220         PR python/18170:
221         * python/py-value.c (valpy_int): Allow conversion from pointer
222         type.
223
224 2018-09-23  Tom Tromey  <tom@tromey.com>
225
226         PR python/20126:
227         * python/py-value.c (valpy_int): Respect type sign.
228
229 2018-09-23  Tom Tromey  <tom@tromey.com>
230
231         PR python/18352;
232         * python/py-value.c (valpy_float): Allow conversions from int or
233         char.
234         (valpy_int, valpy_long): Allow conversions from float.
235
236 2018-09-23  Tom Tromey  <tom@tromey.com>
237
238         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
239         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
240
241 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
242
243         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
244         __sighndlr.
245         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
246
247 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
248
249         * windows-nat.c (windows_nat_target::wait): Remove a spurious
250         target_terminal::ours().
251
252 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
253
254         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
255         of vl to ULONGEST.
256
257 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
258
259         * breakpoint.c (update_inserted_breakpoint_locations): Remove
260         redundant condition.
261
262 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
263
264         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
265
266         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
267         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
268         * sol-thread.c (ps_pdmodel): Don't guard definition.
269
270         * procfs.c: Fix formatting.
271
272         * procfs.c (sysset_t_alloc): Remove.
273         (create_procinfo): Use XNEW instead of sysset_t_alloc.
274         (procfs_debug_inferior): Likewise.
275         (procfs_set_exec_trap): Likewise.
276         (proc_set_traced_sysentry): Don't allocate argp dynamically.
277         (proc_set_traced_sysexit): Likewise.
278
279         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
280         (dead_procinfo): Likewise.
281         (proc_warn): Likewise.
282         (proc_error): Likewise.
283         (proc_get_LDT_entry): Likewise.
284         (do_attach): Likewise.
285         (procfs_target::pid_to_str): Likewise.
286         (iterate_over_mappings): Likewise.
287
288         * procfs.c (create_procinfo): Fix ARI warning.
289         (proc_get_status): Likewise.
290         (proc_stop_process): Likewise.
291         (proc_run_process): Likewise.
292         (proc_kill): Likewise.
293         (proc_get_LDT_entry): Likewise.
294         (procfs_find_LDT_entry): Likewise.
295         (proc_update_threads): Likewise.
296         (proc_iterate_over_threads): Likewise.
297         (do_attach): Likewise.
298         (procfs_xfer_memory): Likewise.
299         (invalidate_cache): Likewise.
300         (procfs_target::resume): Likewise.
301         (procfs_init_inferior): Likewise.
302         (procfs_set_exec_trap): Likewise.
303         (procfs_target::thread_alive): Likewise.
304         (procfs_target::pid_to_exec_file): Likewise.
305         (iterate_over_mappings): Likewise.
306         (procfs_target::make_corefile_notes): Likewise.
307         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
308
309         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
310         (procfs_find_LDT_entry): Likewise.
311         * sol-thread.c (ps_lgetLDT): Likewise.
312
313 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
314
315         PR tdep/17903
316         * procfs.c (procfs_target): Declare pid_to_exec_file.
317         (procfs_target::pid_to_exec_file): New.
318
319 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
320
321         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
322         renaming.
323         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
324         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
325
326 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
327
328         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
329         (supply_fpregset, fill_fpregset): Move ...
330         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
331         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
332         Remove references to ioctl-based procfs.
333         Include <sys/reg.h>.
334         Remove PR_MODEL_NATIVE guards.
335         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
336         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
337
338 2018-09-19  Xavier Roirand  <roirand@adacore.com>
339
340         PR gdb/20981:
341         * solib-darwin.c (darwin_get_dyld_bfd): New function.
342         (darwin_solib_get_all_image_info_addr_at_init): Update call.
343         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
344
345 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
346
347         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
348         (fbsd_print_sockaddr_in6): Likewise.
349
350 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
351             Chris January  <chris.january@arm.com>
352
353         * eval.c (skip_undetermined_arglist): Skip argument list helper.
354         (evaluate_subexp_standard): Return a dummy type when
355         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
356         OP_F77_UNDETERMINED_ARGLIST case.
357         * expression.h (enum noside): Update comment.
358
359 2018-09-19  George Vasick <george.vasick@oracle.com>
360
361         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
362
363 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
364             April Chin <april.chin@oracle.com>
365             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
366
367         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
368         uint_t lwpid_t.
369         (create_procinfo): Print pids in /proc without leading zeros.
370
371 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
372
373         * nios2-tdep.c (nios2_gcc_target_options): New.
374         (nios2_gdb_arch_init): Install new hook.
375
376 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
377
378         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
379         New file.
380         * update-gnulib.sh: Apply patch.
381         * configure: Re-generate.
382
383 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
384
385         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
386         description.  Make "info proc" command descriptions more
387         consistent.
388
389 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
390
391         * NEWS: Mention 'info proc files' command.
392
393 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
394
395         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
396         descriptors for IP_FILES and IP_ALL.
397
398 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
399
400         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
401         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
402         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
403         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
404         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
405         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
406         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
407         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
408         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
409         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
410         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
411         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
412         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
413         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
414         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
415         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
416         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
417         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
418         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
419         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
420         (struct fbsd_sockaddr_un): New types.
421         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
422         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
423         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
424         (fbsd_core_info_proc_files): New functions.
425         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
426         IP_ALL.
427         * fbsd-tdep.h (fbsd_info_proc_files_header)
428         (fbsd_info_proc_files_entry): New.
429
430 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
431
432         * defs.h (enum info_proc_what) [IP_FILES]: New value.
433         * infcmd.c (info_proc_cmd_files): New function.
434         (_initialize_infcmd): Register 'info proc files' command.
435
436 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
437
438         * gnulib/aclocal-m4-deps.mk: Re-generate.
439         * gnulib/aclocal.m4: Re-generate.
440         * gnulib/config.in: Re-generate.
441         * gnulib/configure: Re-generate.
442         * gnulib/import/Makefile.am: Re-generate.
443         * gnulib/import/Makefile.in: Re-generate.
444         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
445         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
446         * gnulib/import/arpa_inet.in.h: New file.
447         * gnulib/import/inet_ntop.c: New file.
448         * gnulib/import/m4/arpa_inet_h.m4: New file.
449         * gnulib/import/m4/inet_ntop.m4: New file.
450         * gnulib/import/m4/netinet_in_h.m4: New file.
451         * gnulib/import/m4/socklen.m4: New file.
452         * gnulib/import/m4/sockpfaf.m4: New file.
453         * gnulib/import/m4/stdalign.m4: New file.
454         * gnulib/import/m4/sys_uio_h.m4: New file.
455         * gnulib/import/netinet_in.in.h: New file.
456         * gnulib/import/stdalign.in.h: New file.
457         * gnulib/import/sys_socket.c: New file.
458         * gnulib/import/sys_socket.in.h: New file.
459         * gnulib/import/sys_uio.in.h: New file.
460         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
461         module.
462
463 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
464
465         * gnulib/aclocal-m4-deps.mk: New file.
466         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
467         deterministically.
468
469 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
470
471         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
472         KVE_PATH.
473
474 2018-09-18  Tom Tromey  <tom@tromey.com>
475
476         * compile/compile-object-load.c (struct
477         link_hash_table_cleanup_data): Add constructor and destructor.
478         Use DISABLE_COPY_AND_ASSIGN.
479         (~link_hash_table_cleanup_data): Rename from
480         link_hash_table_free.  Now a destructor.
481         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
482
483 2018-09-18  Tom Tromey  <tom@tromey.com>
484
485         * compile/compile-object-run.c (do_module_cleanup): Use delete.
486         * compile/compile-object-load.c (struct munmap_list): Move to
487         header file.
488         (munmap_list::add): Rename from munmap_list_add; rewrite.
489         (munmap_list::~munmap_list): Rename from munmap_list_free.
490         (munmap_listp_free_cleanup): Remove.
491         (compile_object_load): Update.
492         * compile/compile-object-load.h (struct munmap_list): Move from
493         compile-object-load.c.  Rewrite.
494
495 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
496
497         * aarch64-tdep.c (pass_in_v): Use register size.
498         (aarch64_extract_return_value): Likewise.
499         (aarch64_store_return_value): Likewise.
500
501 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
502
503         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
504         rlim_t.
505
506 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
507
508         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
509         Fix short help line.
510
511 2018-09-17  Tom Tromey  <tom@tromey.com>
512
513         PR python/20445:
514         * configure: Rebuild.
515         * configure.ac: Conditionally use -DNDEBUG for Python.
516
517 2018-09-17  Tom Tromey  <tom@tromey.com>
518
519         * configure: Rebuild.
520         * configure.ac: Use gmp as a library dependency when checking for
521         mpfr.
522
523 2018-09-17  Pedro Alves  <palves@redhat.com>
524
525         * python/py-inferior.c (find_inferior_object): Delete.
526
527 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
528
529         * compile/compile-cplus-types.c
530         (compile_cplus_instance::enter_scope): Don't use new_scope after
531         std::move.
532
533 2018-09-17  Tom Tromey  <tom@tromey.com>
534
535         * common/pathstuff.c (get_standard_cache_dir): Use
536         ~/Library/Caches on macOS.
537         * common/pathstuff.h (get_standard_cache_dir): Update comment.
538
539 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
540
541         PR python/23669
542         * breakpoint.c (commands_cmd_element): New.
543         (_initialize_breakpoint): Assign commands_cmd_element.
544         * breakpoint.h (commands_cmd_element): New.
545         * cli/cli-script.c (while_cmd_element, if_command,
546         define_cmd_element): New.
547         (command_name_equals): Remove.
548         (process_next_line): Compare commands by pointer, not by name.
549         (_initialize_cli_script): Assign the various cmd_list_element
550         variables.
551         * compile/compile.c (compile_cmd_element): New.
552         (_initialize_compile): Assign compile_cmd_element.
553         * compile/compile.h (compile_cmd_element): New.
554         * guile/guile.c (guile_cmd_element): New.
555         (install_gdb_commands): Assign guile_cmd_element.
556         * guile/guile.h (guile_cmd_element): New.
557         * python/python.c (python_cmd_element): New.
558         (_initialize_python): Assign python_cmd_element.
559         * python/python.h (python_cmd_element): New.
560         * tracepoint.c (while_stepping_cmd_element): New.
561         (_initialize_tracepoint): Assign while_stepping_cmd_element.
562         * tracepoint.h (while_stepping_cmd_element): New.
563
564 2018-09-17  Tom Tromey  <tom@tromey.com>
565
566         * infrun.c (save_infcall_suspend_state): Return
567         infcall_suspend_state_up.
568         (save_infcall_control_state): Return infcall_control_state_up.
569         * inferior.h (save_infcall_suspend_state)
570         (save_infcall_control_state): Declare later.  Return unique
571         pointers.
572
573 2018-09-17  Tom Tromey  <tom@tromey.com>
574
575         * infrun.c (struct stop_context): Declare constructor,
576         destructor, "changed" method.
577         (stop_context::stop_context): Rename from save_stop_context.
578         (stop_context::~stop_context): Rename from
579         release_stop_context_cleanup.
580         (normal_stop): Update.
581         (stop_context::changed): Rename from stop_context_changed.  Return
582         bool.
583
584 2018-09-17  Tom Tromey  <tom@tromey.com>
585
586         * inferior.h (struct infcall_suspend_state_deleter): New.
587         (infcall_suspend_state_up): New typedef.
588         (struct infcall_control_state_deleter): New.
589         (infcall_control_state_up): New typedef.
590         (make_cleanup_restore_infcall_suspend_state)
591         (make_cleanup_restore_infcall_control_state): Don't declare.
592         * infcall.c (call_function_by_hand_dummy): Update.
593         * infrun.c (do_restore_infcall_suspend_state_cleanup)
594         (make_cleanup_restore_infcall_suspend_state): Remove.
595         (do_restore_infcall_control_state_cleanup)
596         (make_cleanup_restore_infcall_control_state): Remove.
597
598 2018-09-17  Tom Tromey  <tom@tromey.com>
599
600         * gdbthread.h (struct thread_control_state): Add initializer.
601         (class thread_info) <control>: Remove initializer.
602         * inferior.h (struct inferior_control_state): Add initializer.
603         (class inferior) <control>: Remove initializer.
604         (exit_inferior_1): Update.
605         * infrun.c (struct infcall_control_state): Add constructors.
606         (save_infcall_control_state): Use new.
607         (restore_infcall_control_state, discard_infcall_control_state):
608         Use delete.
609
610 2018-09-17  Tom Tromey  <tom@tromey.com>
611
612         * infrun.c (struct infcall_suspend_state) <registers>: Now a
613         unique_ptr.
614         <siginfo_data>: Now a unique_xmalloc_ptr.
615         (save_infcall_suspend_state, restore_infcall_suspend_state)
616         (discard_infcall_suspend_state)
617         (get_infcall_suspend_state_regcache): Update.
618
619 2018-09-17  Tom Tromey  <tom@tromey.com>
620
621         * gdbthread.h (struct thread_suspend_state): Add initializers.
622         (class thread_info) <suspend>: Remove initializer.
623         * infrun.c (struct infcall_suspend_state): Add initializers.
624         (save_infcall_suspend_state): Use new.
625         (discard_infcall_suspend_state): Use delete.
626
627 2018-09-16  Tom Tromey  <tom@tromey.com>
628
629         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
630         Remove.
631         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
632         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
633         (py_varobj_iter_new): Likewise.
634         (py_varobj_get_iterator): Use gdbpy_ref.
635
636 2018-09-16  Tom Tromey  <tom@tromey.com>
637
638         * python/py-threadevent.c (py_get_event_thread): Simplify.
639         * python/py-inferior.c (infpy_thread_from_thread_handle):
640         Return immediately after calling thread_to_thread_object.  Use
641         Py_RETURN_NONE.
642         (thread_to_thread_object): Set the exception on a NULL return.
643
644 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
645
646         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
647
648 2018-09-16  Tom Tromey  <tom@tromey.com>
649
650         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
651         Remove.
652
653 2018-09-16  Tom Tromey  <tom@tromey.com>
654
655         * python/python-internal.h (thread_to_thread_object): Change
656         return type.
657         * python/py-inferior.c (thread_to_thread_object): Return a new
658         reference.
659         (infpy_thread_from_thread_handle): Update.
660         * python/py-infthread.c (gdbpy_selected_thread): Update.
661         * python/py-stopevent.c (create_stop_event_object): Update.
662         * python/py-threadevent.c (py_get_event_thread): Return a new
663         reference.
664         (py_get_event_thread): Update.
665         * python/py-event.h (py_get_event_thread): Change return type.
666         * python/py-continueevent.c (create_continue_event_object):
667         Update.
668
669 2018-09-16  Tom Tromey  <tom@tromey.com>
670
671         * python/py-progspace.c (pspy_get_objfiles): Update.
672         * python/python-internal.h (objfile_to_objfile_object): Change
673         return type.
674         * python/py-newobjfileevent.c (create_new_objfile_event_object):
675         Update.
676         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
677         Update.
678         * python/python.c (gdbpy_get_current_objfile): Update.
679         (gdbpy_objfiles): Update.
680         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
681         Update.
682         (objfile_to_objfile_object): Return a new reference.
683         * python/py-symtab.c (stpy_get_objfile): Update.
684         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
685         Update.
686
687 2018-09-16  Tom Tromey  <tom@tromey.com>
688
689         * python/py-inferior.c (infpy_get_progspace): Update.
690         * python/python-internal.h (pspace_to_pspace_object): Change
691         return type.
692         * python/py-newobjfileevent.c
693         (create_clear_objfiles_event_object): Update.
694         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
695         Update.
696         * python/python.c (gdbpy_get_current_progspace): Update.
697         (gdbpy_progspaces): Update.
698         * python/py-progspace.c (pspace_to_pspace_object): Return a new
699         reference.
700         * python/py-objfile.c (objfpy_get_progspace): Update.
701         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
702         Update.
703
704 2018-09-16  Tom Tromey  <tom@tromey.com>
705
706         * python/lib/gdb/__init__.py (current_progspace, objfiles)
707         (solib_name, block_for_pc, find_pc_line): New functions.
708         (execute_unwinders): Update.
709         * python/py-block.c (gdbpy_block_for_pc): Remove.
710         * python/py-inferior.c (infpy_get_progspace): New function.
711         (inferior_object_getset) <progspace>: Add.
712         * python/py-progspace.c (pspy_objfiles): Rewrite.
713         (pspy_solib_name, pspy_block_for_pc)
714         (pspy_find_pc_line, pspy_is_valid): New functions.
715         (progspace_object_methods): Add entries for solib_name,
716         block_for_pc, find_pc_line, is_valid.
717         * python/python-internal.h (gdbpy_block_for_pc)
718         (build_objfiles_list): Don't declare.
719         * python/python.c: Don't include solib.h.
720         (gdbpy_solib_name, gdbpy_find_pc_line)
721         (gdbpy_get_current_progspace, build_objfiles_list)
722         (gdbpy_objfiles): Remove.
723         (GdbMethods) <current_progspace, objfiles, block_for_pc,
724         solib_name, find_pc_line>: Remove entries.
725
726 2018-09-16  Tom Tromey  <tom@tromey.com>
727
728         * top.c (new_ui_command): Use GNU style for metasyntactic
729         variables.
730         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
731         variables.
732         * maint.c (maintenance_translate_address): Remove "<>" around
733         text.
734         * interps.c (interpreter_exec_cmd): Use GNU style for
735         metasyntactic variables.
736         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
737         metasyntactic variables.
738         * tracepoint.c (tfind_range_command): Use GNU style for
739         metasyntactic variables.
740         (tfind_outside_command): Likewise.
741         (_initialize_tracepoint): Likewise.
742         * remote.c (extended_remote_target::create_inferior): Use GNU
743         style for metasyntactic variables.
744         * sparc64-tdep.c (adi_examine_command): Use GNU style for
745         metasyntactic variables.
746         (adi_assign_command): Likewise.
747
748 2018-09-16  Tom Tromey  <tom@tromey.com>
749
750         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
751         metasyntactic variables.  Print message if no disassembler options
752         are available.
753
754 2018-09-15  Tom Tromey  <tom@tromey.com>
755
756         * infcmd.c (get_inferior_args): Return const char *.
757         * inferior.h (get_inferior_args): Return type now const.
758         * linux-tdep.c (linux_fill_prpsinfo): Update.
759         * procfs.c (procfs_target::make_corefile_notes): Update.
760
761 2018-09-07  Tom Tromey  <tom@tromey.com>
762
763         * python/python.c (execute_gdb_command): Call bpstat_do_actions
764         inside the TRY.
765
766 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
767
768         * nios2-tdep.c (nios2_type_align): New.
769         (nios2_gdb_arch_init): Install type_align hook.
770
771 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
772
773         * eval.c (fake_method::fake_method): Call xzalloc directly for a
774         type that is neither object file owned, nor gdbarch owned.
775         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
776         gdbarch is non-NULL.
777         (alloc_type_instance): Allocate non-objfile owned types on the
778         gdbarch obstack.
779         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
780         using TYPE_ALLOC to ensure memory is allocated on the correct
781         obstack.
782         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
783         obstack, or the gdbarch obstack.
784         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
785
786 2018-09-14  Tom Tromey  <tom@tromey.com>
787
788         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
789         block.
790
791 2018-09-14  Tom Tromey  <tom@tromey.com>
792
793         * nat/fork-inferior.c (get_startup_shell): Remove "static".
794
795 2018-09-13  Tom Tromey  <tom@tromey.com>
796
797         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
798         static.
799
800 2018-09-13  Tom Tromey  <tom@tromey.com>
801
802         * exec.c (try_open_exec_file): Use std::string.
803
804 2018-09-13  Tom Tromey  <tom@tromey.com>
805
806         * utils.h (gdb_bfd_errmsg): Return std::string.
807         * exec.c (exec_file_attach): Update.
808         * compile/compile-object-load.c (compile_object_load): Update.
809         * utils.c (gdb_bfd_errmsg): Return std::string.
810
811 2018-09-13  Tom Tromey  <tom@tromey.com>
812
813         * procfs.c (struct procinfo_deleter): New.
814         (procinfo_up): New typedef.
815         (do_destroy_procinfo_cleanup): Remove.
816         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
817
818 2018-09-13  Tom Tromey  <tom@tromey.com>
819
820         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
821
822 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
823 2018-09-13  Tom Tromey  <tom@tromey.com>
824
825         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
826         (pspy_get_objfiles): New function.
827         (progspace_object_methods): New.
828         (pspace_object_type): Add tp_methods callback.
829         * python/python-internal.h (build_objfiles_list): New
830         declaration.
831         * python/python.c (build_objfiles_list): New function.
832         (gdbpy_objfiles): Implement using build_objfiles_list.
833         * NEWS: Mention the Progspace.objfiles method.
834
835 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
836
837         * python/py-inferior.c (infpy_get_progspace): New function.
838         (inferior_object_getset): Add progspace property.
839         * NEWS: Mention the new property.
840
841 2018-09-13  Tom Tromey  <tom@tromey.com>
842
843         PR rust/23650:
844         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
845
846 2018-09-13  Tom Tromey  <tom@tromey.com>
847
848         PR rust/23626:
849         * rust-lang.c (rust_enum_variant): Now static.
850         (rust_empty_enum_p): New function.
851         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
852         Handle empty enum.
853
854 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
855
856         * python/py-inferior.c (infpy_repr): New.
857         (inferior_object_type): Register infpy_repr.
858         * python/py-objfile.c (objfpy_repr): New.
859         (objfile_object_type): Register objfpy_repr.
860
861 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
862
863         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
864
865 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
866
867         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
868         typo.
869
870 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
871
872         * common/common-utils.c: Don't include '<sys/stat.h>'.
873         (is_regular_file): Move to...
874         * common/filestuff.c (is_regular_file): ... here.
875         * common/common-utils.h (is_regular_file): Move to...
876         * common/filestuff.h (is_regular_file): ... here.
877
878 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
879
880         * skip.c (debug_skip): New variable.
881         (skiplist_entry::do_skip_file_p): Add debug output.
882         (skiplist_entry::do_skip_gfile_p): Likewise.
883         (skiplist_entry::skip_function_p): Likewise.
884         (_initialize_step_skip): Create debug command.
885         * NEWS: Mention set/show debug skip.
886
887 2018-09-11  Xavier Roirand  <roirand@adacore.com>
888
889         * darwin-nat.c (should_disable_startup_with_shell):
890         New function.
891         (darwin_nat_target::create_inferior): Add call.
892
893 2018-09-11  Xavier Roirand  <roirand@adacore.com>
894
895         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
896         inf_port, msg_state>: Initialize.
897         (struct darwin_thread_info) <signaled, single_step>: Change
898         type and initialize.
899         (struct darwin_thread_info) <event>: Initialize.
900
901 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
902
903         PR gdb/23555
904         PR gdb/23558
905         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
906         guesses.
907
908 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
909
910         Revert:
911         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
912
913         PR gdb/23555
914         PR gdb/23558
915         * gnulib/aclocal.m4: Regenerate.
916         * gnulib/config.in: Regenerate.
917         * gnulib/configure: Regenerate.
918         * gnulib/import/Makefile.am: Update.
919         * gnulib/import/Makefile.in: Update.
920         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
921         * gnulib/import/_Noreturn.h: ... this.
922         * gnulib/import/alloca.in.h: Update.
923         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
924         * gnulib/import/arg-nonnull.h: ... this.
925         * gnulib/import/assure.h: Update.
926         * gnulib/import/at-func.c: Update.
927         * gnulib/import/basename-lgpl.c: Update.
928         * gnulib/import/extra/snippet/c++defs.h: Rename to...
929         * gnulib/import/c++defs.h: ... this.
930         * gnulib/import/canonicalize-lgpl.c: Update.
931         * gnulib/import/cdefs.h: Update.
932         * gnulib/import/chdir-long.c: Update.
933         * gnulib/import/chdir-long.h: Update.
934         * gnulib/import/cloexec.c: Update.
935         * gnulib/import/cloexec.h: Update.
936         * gnulib/import/close.c: Update.
937         * gnulib/import/closedir.c: Update.
938         * gnulib/import/config.charset: Update.
939         * gnulib/import/dirent-private.h: Update.
940         * gnulib/import/dirent.in.h: Update.
941         * gnulib/import/dirfd.c: Update.
942         * gnulib/import/dirname-lgpl.c: Update.
943         * gnulib/import/dirname.h: Update.
944         * gnulib/import/dosname.h: Update.
945         * gnulib/import/dup-safer-flag.c: Update.
946         * gnulib/import/dup-safer.c: Update.
947         * gnulib/import/dup.c: Update.
948         * gnulib/import/dup2.c: Update.
949         * gnulib/import/errno.in.h: Update.
950         * gnulib/import/error.c: Update.
951         * gnulib/import/error.h: Update.
952         * gnulib/import/exitfail.c: Update.
953         * gnulib/import/exitfail.h: Update.
954         * gnulib/import/extra/update-copyright: Update.
955         * gnulib/import/fchdir.c: Update.
956         * gnulib/import/fcntl.c: Update.
957         * gnulib/import/fcntl.in.h: Update.
958         * gnulib/import/fd-hook.c: Update.
959         * gnulib/import/fd-hook.h: Update.
960         * gnulib/import/fd-safer-flag.c: Update.
961         * gnulib/import/fd-safer.c: Update.
962         * gnulib/import/fdopendir.c: Update.
963         * gnulib/import/filename.h: Update.
964         * gnulib/import/filenamecat-lgpl.c: Update.
965         * gnulib/import/filenamecat.h: Update.
966         * gnulib/import/flexmember.h: Update.
967         * gnulib/import/float+.h: Update.
968         * gnulib/import/float.c: Update.
969         * gnulib/import/float.in.h: Update.
970         * gnulib/import/fnmatch.c: Update.
971         * gnulib/import/fnmatch.in.h: Update.
972         * gnulib/import/fnmatch_loop.c: Update.
973         * gnulib/import/fpucw.h: Update.
974         * gnulib/import/frexp.c: Update.
975         * gnulib/import/frexpl.c: Update.
976         * gnulib/import/fstat.c: Update.
977         * gnulib/import/fstatat.c: Update.
978         * gnulib/import/getcwd-lgpl.c: Update.
979         * gnulib/import/getcwd.c: Update.
980         * gnulib/import/getdtablesize.c: Update.
981         * gnulib/import/getlogin_r.c: Update.
982         * gnulib/import/getprogname.c: Update.
983         * gnulib/import/getprogname.h: Update.
984         * gnulib/import/gettext.h: Update.
985         * gnulib/import/gettimeofday.c: Update.
986         * gnulib/import/glob-libc.h: Update.
987         * gnulib/import/glob.c: Update.
988         * gnulib/import/glob.in.h: Update.
989         * gnulib/import/glob_internal.h: Update.
990         * gnulib/import/glob_pattern_p.c: Update.
991         * gnulib/import/globfree.c: Update.
992         * gnulib/import/hard-locale.c: Update.
993         * gnulib/import/hard-locale.h: Update.
994         * gnulib/import/intprops.h: Update.
995         * gnulib/import/inttypes.in.h: Update.
996         * gnulib/import/isnan.c: Update.
997         * gnulib/import/isnand-nolibm.h: Update.
998         * gnulib/import/isnand.c: Update.
999         * gnulib/import/isnanl-nolibm.h: Update.
1000         * gnulib/import/isnanl.c: Update.
1001         * gnulib/import/itold.c: Update.
1002         * gnulib/import/libc-config.h: Update.
1003         * gnulib/import/limits.in.h: Update.
1004         * gnulib/import/localcharset.c: Update.
1005         * gnulib/import/localcharset.h: Update.
1006         * gnulib/import/localtime-buffer.c: Update.
1007         * gnulib/import/localtime-buffer.h: Update.
1008         * gnulib/import/lstat.c: Update.
1009         * gnulib/import/m4/00gnulib.m4: Update.
1010         * gnulib/import/m4/__inline.m4: Update.
1011         * gnulib/import/m4/absolute-header.m4: Update.
1012         * gnulib/import/m4/alloca.m4: Update.
1013         * gnulib/import/m4/builtin-expect.m4: Update.
1014         * gnulib/import/m4/canonicalize.m4: Update.
1015         * gnulib/import/m4/chdir-long.m4: Update.
1016         * gnulib/import/m4/close.m4: Update.
1017         * gnulib/import/m4/closedir.m4: Update.
1018         * gnulib/import/m4/configmake.m4: Update.
1019         * gnulib/import/m4/d-ino.m4: Update.
1020         * gnulib/import/m4/d-type.m4: Update.
1021         * gnulib/import/m4/dirent_h.m4: Update.
1022         * gnulib/import/m4/dirfd.m4: Update.
1023         * gnulib/import/m4/dirname.m4: Update.
1024         * gnulib/import/m4/double-slash-root.m4: Update.
1025         * gnulib/import/m4/dup.m4: Update.
1026         * gnulib/import/m4/dup2.m4: Update.
1027         * gnulib/import/m4/eealloc.m4: Update.
1028         * gnulib/import/m4/environ.m4: Update.
1029         * gnulib/import/m4/errno_h.m4: Update.
1030         * gnulib/import/m4/error.m4: Update.
1031         * gnulib/import/m4/exponentd.m4: Update.
1032         * gnulib/import/m4/exponentl.m4: Update.
1033         * gnulib/import/m4/extensions.m4: Update.
1034         * gnulib/import/m4/extern-inline.m4: Update.
1035         * gnulib/import/m4/fchdir.m4: Update.
1036         * gnulib/import/m4/fcntl-o.m4: Update.
1037         * gnulib/import/m4/fcntl.m4: Update.
1038         * gnulib/import/m4/fcntl_h.m4: Update.
1039         * gnulib/import/m4/fdopendir.m4: Update.
1040         * gnulib/import/m4/filenamecat.m4: Update.
1041         * gnulib/import/m4/flexmember.m4: Update.
1042         * gnulib/import/m4/float_h.m4: Update.
1043         * gnulib/import/m4/fnmatch.m4: Update.
1044         * gnulib/import/m4/fnmatch_h.m4: Update.
1045         * gnulib/import/m4/fpieee.m4: Update.
1046         * gnulib/import/m4/frexp.m4: Update.
1047         * gnulib/import/m4/frexpl.m4: Update.
1048         * gnulib/import/m4/fstat.m4: Update.
1049         * gnulib/import/m4/fstatat.m4: Update.
1050         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1051         * gnulib/import/m4/getcwd-path-max.m4: Update.
1052         * gnulib/import/m4/getcwd.m4: Update.
1053         * gnulib/import/m4/getdtablesize.m4: Update.
1054         * gnulib/import/m4/getlogin.m4: Update.
1055         * gnulib/import/m4/getlogin_r.m4: Update.
1056         * gnulib/import/m4/getpagesize.m4: Update.
1057         * gnulib/import/m4/getprogname.m4: Update.
1058         * gnulib/import/m4/gettimeofday.m4: Update.
1059         * gnulib/import/m4/glibc21.m4: Update.
1060         * gnulib/import/m4/glob.m4: Update.
1061         * gnulib/import/m4/glob_h.m4: Update.
1062         * gnulib/import/m4/gnulib-cache.m4: Update.
1063         * gnulib/import/m4/gnulib-common.m4: Update.
1064         * gnulib/import/m4/gnulib-comp.m4: Update.
1065         * gnulib/import/m4/gnulib-tool.m4: Update.
1066         * gnulib/import/m4/hard-locale.m4: Update.
1067         * gnulib/import/m4/include_next.m4: Update.
1068         * gnulib/import/m4/inttypes-pri.m4: Update.
1069         * gnulib/import/m4/inttypes.m4: Update.
1070         * gnulib/import/m4/isnand.m4: Update.
1071         * gnulib/import/m4/isnanl.m4: Update.
1072         * gnulib/import/m4/largefile.m4: Update.
1073         * gnulib/import/m4/limits-h.m4: Update.
1074         * gnulib/import/m4/localcharset.m4: Update.
1075         * gnulib/import/m4/locale-fr.m4: Update.
1076         * gnulib/import/m4/locale-ja.m4: Update.
1077         * gnulib/import/m4/locale-zh.m4: Update.
1078         * gnulib/import/m4/localtime-buffer.m4: Update.
1079         * gnulib/import/m4/longlong.m4: Update.
1080         * gnulib/import/m4/lstat.m4: Update.
1081         * gnulib/import/m4/malloc.m4: Update.
1082         * gnulib/import/m4/malloca.m4: Update.
1083         * gnulib/import/m4/math_h.m4: Update.
1084         * gnulib/import/m4/mbrtowc.m4: Update.
1085         * gnulib/import/m4/mbsinit.m4: Update.
1086         * gnulib/import/m4/mbsrtowcs.m4: Update.
1087         * gnulib/import/m4/mbstate_t.m4: Update.
1088         * gnulib/import/m4/memchr.m4: Update.
1089         * gnulib/import/m4/memmem.m4: Update.
1090         * gnulib/import/m4/mempcpy.m4: Update.
1091         * gnulib/import/m4/memrchr.m4: Update.
1092         * gnulib/import/m4/mkdir.m4: Update.
1093         * gnulib/import/m4/mkstemp.m4: Update.
1094         * gnulib/import/m4/mmap-anon.m4: Update.
1095         * gnulib/import/m4/mode_t.m4: Update.
1096         * gnulib/import/m4/msvc-inval.m4: Update.
1097         * gnulib/import/m4/msvc-nothrow.m4: Update.
1098         * gnulib/import/m4/multiarch.m4: Update.
1099         * gnulib/import/m4/nocrash.m4: Update.
1100         * gnulib/import/m4/off_t.m4: Update.
1101         * gnulib/import/m4/onceonly.m4: Update.
1102         * gnulib/import/m4/open-cloexec.m4: Update.
1103         * gnulib/import/m4/open.m4: Update.
1104         * gnulib/import/m4/openat.m4: Update.
1105         * gnulib/import/m4/opendir.m4: Update.
1106         * gnulib/import/m4/pathmax.m4: Update.
1107         * gnulib/import/m4/rawmemchr.m4: Update.
1108         * gnulib/import/m4/readdir.m4: Update.
1109         * gnulib/import/m4/readlink.m4: Update.
1110         * gnulib/import/m4/realloc.m4: Update.
1111         * gnulib/import/m4/rename.m4: Update.
1112         * gnulib/import/m4/rewinddir.m4: Update.
1113         * gnulib/import/m4/rmdir.m4: Update.
1114         * gnulib/import/m4/save-cwd.m4: Update.
1115         * gnulib/import/m4/secure_getenv.m4: Update.
1116         * gnulib/import/m4/setenv.m4: Update.
1117         * gnulib/import/m4/signal_h.m4: Update.
1118         * gnulib/import/m4/ssize_t.m4: Update.
1119         * gnulib/import/m4/stat-time.m4: Update.
1120         * gnulib/import/m4/stat.m4: Update.
1121         * gnulib/import/m4/std-gnu11.m4: Update.
1122         * gnulib/import/m4/stdbool.m4: Update.
1123         * gnulib/import/m4/stddef_h.m4: Update.
1124         * gnulib/import/m4/stdint.m4: Update.
1125         * gnulib/import/m4/stdio_h.m4: Update.
1126         * gnulib/import/m4/stdlib_h.m4: Update.
1127         * gnulib/import/m4/strchrnul.m4: Update.
1128         * gnulib/import/m4/strdup.m4: Update.
1129         * gnulib/import/m4/strerror.m4: Update.
1130         * gnulib/import/m4/string_h.m4: Update.
1131         * gnulib/import/m4/strstr.m4: Update.
1132         * gnulib/import/m4/strtok_r.m4: Update.
1133         * gnulib/import/m4/sys_socket_h.m4: Update.
1134         * gnulib/import/m4/sys_stat_h.m4: Update.
1135         * gnulib/import/m4/sys_time_h.m4: Update.
1136         * gnulib/import/m4/sys_types_h.m4: Update.
1137         * gnulib/import/m4/tempname.m4: Update.
1138         * gnulib/import/m4/time_h.m4: Update.
1139         * gnulib/import/m4/unistd-safer.m4: Update.
1140         * gnulib/import/m4/unistd_h.m4: Update.
1141         * gnulib/import/m4/warn-on-use.m4: Update.
1142         * gnulib/import/m4/wchar_h.m4: Update.
1143         * gnulib/import/m4/wchar_t.m4: Update.
1144         * gnulib/import/m4/wctype_h.m4: Update.
1145         * gnulib/import/m4/wint_t.m4: Update.
1146         * gnulib/import/malloc.c: Update.
1147         * gnulib/import/malloc/scratch_buffer.h: Update.
1148         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1149         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1150         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1151         * gnulib/import/malloca.c: Update.
1152         * gnulib/import/malloca.h: Update.
1153         * gnulib/import/malloca.valgrind: Update.
1154         * gnulib/import/math.in.h: Update.
1155         * gnulib/import/mbrtowc.c: Update.
1156         * gnulib/import/mbsinit.c: Update.
1157         * gnulib/import/mbsrtowcs-impl.h: Update.
1158         * gnulib/import/mbsrtowcs-state.c: Update.
1159         * gnulib/import/mbsrtowcs.c: Update.
1160         * gnulib/import/memchr.c: Update.
1161         * gnulib/import/memmem.c: Update.
1162         * gnulib/import/mempcpy.c: Update.
1163         * gnulib/import/memrchr.c: Update.
1164         * gnulib/import/mkdir.c: Update.
1165         * gnulib/import/mkstemp.c: Update.
1166         * gnulib/import/msvc-inval.c: Update.
1167         * gnulib/import/msvc-inval.h: Update.
1168         * gnulib/import/msvc-nothrow.c: Update.
1169         * gnulib/import/msvc-nothrow.h: Update.
1170         * gnulib/import/open.c: Update.
1171         * gnulib/import/openat-die.c: Update.
1172         * gnulib/import/openat-priv.h: Update.
1173         * gnulib/import/openat-proc.c: Update.
1174         * gnulib/import/openat.c: Update.
1175         * gnulib/import/openat.h: Update.
1176         * gnulib/import/opendir.c: Update.
1177         * gnulib/import/pathmax.h: Update.
1178         * gnulib/import/pipe-safer.c: Update.
1179         * gnulib/import/rawmemchr.c: Update.
1180         * gnulib/import/readdir.c: Update.
1181         * gnulib/import/readlink.c: Update.
1182         * gnulib/import/realloc.c: Update.
1183         * gnulib/import/ref-add.sin: Update.
1184         * gnulib/import/ref-del.sin: Update.
1185         * gnulib/import/rename.c: Update.
1186         * gnulib/import/rewinddir.c: Update.
1187         * gnulib/import/rmdir.c: Update.
1188         * gnulib/import/same-inode.h: Update.
1189         * gnulib/import/save-cwd.c: Update.
1190         * gnulib/import/save-cwd.h: Update.
1191         * gnulib/import/scratch_buffer.h: Update.
1192         * gnulib/import/secure_getenv.c: Update.
1193         * gnulib/import/setenv.c: Update.
1194         * gnulib/import/signal.in.h: Update.
1195         * gnulib/import/stat-time.c: Update.
1196         * gnulib/import/stat-time.h: Update.
1197         * gnulib/import/stat-w32.c: Update.
1198         * gnulib/import/stat-w32.h: Update.
1199         * gnulib/import/stat.c: Update.
1200         * gnulib/import/stdbool.in.h: Update.
1201         * gnulib/import/stddef.in.h: Update.
1202         * gnulib/import/stdint.in.h: Update.
1203         * gnulib/import/stdio.in.h: Update.
1204         * gnulib/import/stdlib.in.h: Update.
1205         * gnulib/import/str-two-way.h: Update.
1206         * gnulib/import/strchrnul.c: Update.
1207         * gnulib/import/strdup.c: Update.
1208         * gnulib/import/streq.h: Update.
1209         * gnulib/import/strerror-override.c: Update.
1210         * gnulib/import/strerror-override.h: Update.
1211         * gnulib/import/strerror.c: Update.
1212         * gnulib/import/string.in.h: Update.
1213         * gnulib/import/stripslash.c: Update.
1214         * gnulib/import/strnlen1.c: Update.
1215         * gnulib/import/strnlen1.h: Update.
1216         * gnulib/import/strstr.c: Update.
1217         * gnulib/import/strtok_r.c: Update.
1218         * gnulib/import/sys_stat.in.h: Update.
1219         * gnulib/import/sys_time.in.h: Update.
1220         * gnulib/import/sys_types.in.h: Update.
1221         * gnulib/import/tempname.c: Update.
1222         * gnulib/import/tempname.h: Update.
1223         * gnulib/import/time.in.h: Update.
1224         * gnulib/import/unistd--.h: Update.
1225         * gnulib/import/unistd-safer.h: Update.
1226         * gnulib/import/unistd.in.h: Update.
1227         * gnulib/import/unsetenv.c: Update.
1228         * gnulib/import/verify.h: Update.
1229         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1230         * gnulib/import/wchar.in.h: Update.
1231         * gnulib/import/wctype.in.h: Update.
1232         * gnulib/import/xalloc-oversized.h: Update.
1233         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1234         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1235
1236 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
1237
1238         * record-btrace.c (get_thread_current_frame): Remove
1239         old_inferior_ptid.
1240
1241 2018-09-10  Jerome Guitton  <guitton@adacore.com>
1242
1243         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
1244         with check_tag to 1 if and only if the type is tagged and the
1245         component being searched cannot been found in the current
1246         view. Otherwise, always call ada_to_fixed_type with
1247         check_tag to 0.
1248
1249 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1250
1251         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
1252         declaration.
1253         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
1254         * ada-varobj.c (ada_varobj_get_number_of_children,
1255         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
1256
1257 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1258
1259         * ada-valprint.c (ada_value_print): Use type instead of
1260         enclosing type.
1261
1262 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1263
1264         * ada-lang.c (ada_value_subscript): Handle case when parameter is
1265         an array of access to unconstrained array.
1266
1267 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1268
1269         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
1270         (ada_check_typedef): Use it.
1271
1272 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1273
1274         * ada-varobj.c (ada_varobj_describe_struct_child)
1275         (ada_varobj_describe_child): Handle union case like struct one.
1276
1277 2018-09-10  Tom Tromey  <tom@tromey.com>
1278
1279         PR python/18380:
1280         * python/python.c (_initialize_python): Make example in "python"
1281         help work in Python 3.
1282
1283 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1284
1285         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
1286         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
1287         $(EXEEXT) to the script, as it is not a program.
1288
1289 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
1290
1291         * python/py-prettyprint.c (pretty_print_one_value): Return
1292         gdbpy_ref<>.
1293         (print_string_repr): Adjust.
1294         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
1295         * python/python-internal.h (apply_varobj_pretty_printer): Return
1296         gdbpy_ref<>.
1297         * varobj.c (varobj_value_get_print_value): Adjust.
1298
1299 2018-09-08  Tom Tromey  <tom@tromey.com>
1300
1301         PR python/16047:
1302         * python/py-prettyprint.c (pretty_print_one_value): Check for
1303         to_string method.
1304
1305 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1306
1307         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
1308         replace_operator_with_call.
1309
1310 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1311
1312         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
1313
1314 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1315
1316         * ada-typeprint.c (print_range): Print the bounds using TYPE
1317         rather than its TYPE_TARGET_TYPE.
1318
1319 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1320
1321         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
1322         call to ada_to_fixed_value_create.
1323
1324 2018-09-08  Jerome Guitton  <guitton@adacore.com>
1325
1326         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
1327
1328 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1329
1330         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
1331         by calls to error.
1332
1333 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1334
1335         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
1336         Move update of loop variable "fi".
1337
1338 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1339
1340         * ada-lang.c (value_assign_to_component): In the case of
1341         big-endian targets, extract the bits of the given VAL
1342         using an src_offset of zero if container is not a scalar.
1343
1344 2018-09-06  Simon Ser  <contact@emersion.fr>
1345
1346         PR gdb/23105
1347         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
1348         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1349         * fbsd-tdep.c (fbsd_make_note_desc): New.
1350         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
1351         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
1352         * target.h (enum target_object) Add FreeBSD-specific
1353         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1354
1355 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1356
1357         * compile/compile-c.h (generate_c_for_variable_locations):
1358         Change reference to pointer.
1359         * compile/compile-c-support.c (compile_program) <compute>:
1360         Likewise.
1361         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
1362         (generate_c_for_for_one_variable): Likewise
1363         (generate_c_for_variable_locations): Likewise
1364         * compile/compile-c-types.c (compile_c_instance::convert_type):
1365         Likewise
1366         * compile/compile-cplus-symbols.c (convert_one_symbol):
1367         std::move the scope passed to enter_scope.
1368         * compile/compile-cplus-types.c
1369         (compile_cplus_instance::enter_scope): Make parameter
1370         rvalue-reference.
1371         (compile_cplus_instance::new_scope): Change reference to
1372         pointer.
1373         (compile_cplus_instance::convert_type): Likewise
1374         (compile_cplus_convert_typedef): std::move the scope passed to
1375         enter_scope.
1376         (compile_cplus_convert_struct_or_union): Likewise.
1377         (compile_cplus_convert_enum): Likewise.
1378         (compile_cplus_convert_namespace): Likewise.
1379         * compile/compile-cplus.h (compile_cplus_instance)
1380         <enter_scope>: Make parameter rvalue-reference.
1381         * compile/compile-internal.h (compile_instance)
1382         <get_cached_type>: Likewise
1383         * compile/compile-loc2c.c (push): Likewise
1384         (pushf): Likewise
1385         (unary): Likewise
1386         (binary): Likewise
1387         (print_label): Likewise
1388         (pushf_register_address): Likewise
1389         (pushf_register): Likewise
1390         (do_compile_dwarf_expr_to_c): Likewise
1391         (compile_dwarf_expr_to_c): Likewise
1392         (compile_dwarf_bounds_to_c): Likewise
1393         * compile/compile.c (compile_instance::get_cached_type):
1394         Likewise
1395         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
1396         (compile_dwarf_bounds_to_c): Likewise
1397         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
1398         (dwarf2_compile_property_to_c): Likewise
1399         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
1400         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1401         Likewise
1402
1403 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1404
1405         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
1406         * tui/tui-data.c (init_content_element): Don't initialize it.
1407
1408 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1409
1410         * tui/tui-data.h (struct tui_win_info)
1411         <detail::opaque>: Remove.
1412         * tui/tui-data.c (init_win_info): Remove assignment.
1413
1414 2018-09-05  Tom Tromey  <tom@tromey.com>
1415
1416         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
1417         -Wformat-nonliteral.
1418         * target-float.c (host_float_ops<T>::to_string)
1419         (host_float_ops<T>::from_string): Use
1420         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1421         * configure: Rebuild.
1422
1423 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
1424
1425         * printcmd.c (printf_c_string): Use
1426         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1427         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
1428
1429 2018-09-05  Tom Tromey  <tom@tromey.com>
1430
1431         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
1432
1433 2018-09-05  Tom de Vries  <tdevries@suse.de>
1434
1435         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
1436         with resolve_abstract_p == true.
1437         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
1438         defaulting to false. Propagate resolve_abstract_p to
1439         dwarf2_fetch_die_loc_sect_off.
1440         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
1441         parameter, defaulting to false.
1442         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
1443         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
1444         parameter.
1445         * dwarf2read.h (struct die_info): Forward-declare.
1446         (die_info_ptr): New typedef.
1447         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
1448
1449 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
1450
1451         GDB 8.2 released.
1452
1453 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1454             Pedro Alves  <palves@redhat.com>
1455
1456         * gnulib/Makefile.in (aclocal_m4_deps): Move to
1457         "aclocal-m4-deps.mk".  Include file here.
1458         $(srcdir)/aclocal.m4: Add "configure.ac".
1459         * gnulib/aclocal-m4-deps.mk: New file.
1460         * gnulib/update-gnulib.sh: Automatically update
1461         "aclocal-m4-deps.mk".
1462
1463 2018-09-04  Tom Tromey  <tom@tromey.com>
1464
1465         * configure: Rebuild.
1466         * configure.ac: Remove multi-ice code.
1467
1468 2018-09-04  Tom Tromey  <tom@tromey.com>
1469
1470         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
1471         (ada-exp.o): Update.
1472
1473 2018-09-04  Tom Tromey  <tom@tromey.com>
1474
1475         * Makefile.in (printcmd.o, target-float.o): Remove.
1476         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
1477
1478 2018-09-04  Tom Tromey  <tom@tromey.com>
1479
1480         * gnulib/Makefile.in: Remove obsolete comment.
1481         * Makefile.in: Remove obsolete comment.
1482
1483 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
1484
1485         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
1486         line with '+'.
1487
1488 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1489
1490         * riscv-tdep.c: Add 'prologue-value.h' include.
1491         (struct riscv_unwind_cache): New struct.
1492         (riscv_debug_unwinder): New global.
1493         (riscv_scan_prologue): Update arguments, capture register details
1494         from prologue scan.
1495         (riscv_skip_prologue): Reformat arguments line, move end of
1496         prologue calculation into riscv_scan_prologue.
1497         (riscv_frame_cache): Update return type, create
1498         riscv_unwind_cache, scan the prologue, and fill in remaining cache
1499         details.
1500         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
1501         (riscv_frame_prev_register): Use the trad_frame within the
1502         riscv_unwind_cache.
1503         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
1504         flag.
1505
1506 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1507
1508         * trad-frame.h (trad_frame_set_realreg): Declare.
1509         (trad_frame_set_addr): Declare.
1510         * trad-frame.c (trad_frame_set_realreg): Define new function.
1511         (trad_frame_set_addr): Define new function.
1512         (trad_frame_set_reg_realreg): Use new function.
1513         (trad_frame_set_reg_addr): Use new function.
1514
1515 2018-09-01  Keith Seitz  <keiths@redhat.com>
1516
1517         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
1518         pulongest instead of "%lld".
1519         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
1520         ATTRIBUTE_UNUSED.
1521
1522 2018-08-31  Tom Tromey  <tom@tromey.com>
1523
1524         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
1525         variant part type.
1526
1527 2018-08-31  Pedro Alves  <palves@redhat.com>
1528
1529         * gdbarch.h: Regenerate.
1530
1531 2018-08-31  Pedro Alves  <palves@redhat.com>
1532
1533         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
1534         * target.h (Hardware watchpoint interfaces): Describe
1535         continuable/steppable/non-steppable watchpoints.
1536         * gdbarch.h, gdbarch.c: Regenerate.
1537
1538 2018-08-31  Pedro Alves  <palves@redhat.com>
1539
1540         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
1541         Delete.
1542         * s390-linux-nat.c
1543         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
1544         * target.h (target_ops::have_continuable_watchpoint): Delete.
1545         (target_have_continuable_watchpoint): Delete.
1546         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
1547         * target-delegates.c: Regenerate.
1548
1549 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1550
1551         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
1552         the files present in "gnulib/import/m4/".
1553
1554 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1555
1556         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
1557         c.sw, c.swsp, and c.sdsp.
1558
1559 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1560
1561         * riscv-tdep.c (struct riscv_inferior_data): Delete.
1562         (riscv_read_misa_reg): Don't cache value read into inferior data.
1563         (riscv_new_inferior_data): Delete.
1564         (riscv_inferior_data_cleanup): Delete.
1565         (riscv_inferior_data): Delete.
1566         (riscv_invalidate_inferior_data): Delete.
1567         (_initialize_riscv_tdep): Remove initialisation of inferior data.
1568
1569 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
1570
1571         * compile/compile-cplus-types.c
1572         (compile_cplus_instance::leave_scope): Take the address of scope
1573         object.
1574         (compile_cplus_instance::convert_qualified_base): Compare quals
1575         to 0.
1576
1577 2018-08-30  Keith Seitz  <keiths@redhat.com>
1578
1579         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
1580         Use "%s" and host_address_to_string instead of "%p" in printf.
1581
1582 2018-08-29  Keith Seitz  <keiths@redhat.com>
1583
1584         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
1585         and compile-cplus-types.c.
1586         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
1587         * c-lang.c (cplus_language_defn): Set C++ compile functions.
1588         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
1589         Declare.
1590         * compile/compile-c-support.c: Include compile-cplus.h.
1591         (load_libcompile): Templatize.
1592         (get_compile_context): "New" function.
1593         (c_get_compile_context): Use get_compile_context.
1594         (cplus_get_compile_context): New function.
1595         (cplus_push_user_expression, cplus_pop_user_expression)
1596         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
1597         (cplus_compute_program): Define new structs/functions.
1598         * compile/compile-cplus-symmbols.c: New file.
1599         * compile/compile-cplus-types.c: New file.
1600         * compile/compile-cplus.h: New file.
1601         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
1602         Declare.
1603         * compile/compile-object-load.c (get_out_value_type): Use
1604         strncmp_iw when comparing symbol names.
1605         (compile_object_load): Add mst_bss and mst_data.
1606         * compile/compile.c (_initialize_compile): Remove
1607         -Wno-implicit-function-declaration from `compile_args'.
1608         * compile/gcc-cp-plugin.h: New file.
1609         * NEWS: Mention C++ compile support and new debug options.
1610
1611 2018-08-29  Keith Seitz  <keiths@redhat.com>
1612
1613         * linespec.c (collect_info::add_symbol): Make virtual.
1614         (struct symbol_searcher_collect_info): New struct.
1615         (symbol_searcher::find_all_symbols): New method.
1616         * symtab.h (class symbol_searcher): New class.
1617
1618 2018-08-29  Keith Seitz  <keiths@redhat.com>
1619
1620         * linespec.c (struct linespec) <function_symbols, label_symbols>:
1621         Change to vector of block_symbol.  Update all users.
1622         (struct collect_info) <symbols>: Likewise.
1623         (collect_info::add_symbol): Take block_symbol as argument.
1624         Update all callers.
1625         (decode_compound_collector) <m_symbols>: Change type to vector
1626         of block_symbol.  Update all users.
1627         (decode_compound_collector::operator ()): Change parameter type
1628         to block_symbol.
1629         (find_method, find_function_symbols, find_linespec_symbols)
1630         (find_label_symbols_in_block, find_label_symbols): Change symbol
1631         vectors to block_symbol vectors.
1632         * symtab.h (symbol_found_callback_ftype): Change parameter type to
1633         block_symbol.
1634
1635 2018-08-29  Keith Seitz  <keiths@redhat.com>
1636
1637         * linespec.c (symbolp): Remove typedef and VEC definitions.
1638         (bound_minimal_symbol_d): Likewise.
1639
1640 2018-08-29  Keith Seitz  <keiths@redhat.com>
1641
1642         * linespec.c (decode_compound_collector::decode_compound_collector):
1643         Remove initialization for `m_symtabs'.
1644         (decode_compound_collector::release_symbols): Change return type
1645         to std::vector.  Update all callers.
1646         (class decode_compound_collector) <m_symbols>: Change type to
1647         std::vector.
1648         (lookup_prefix_sym): Change return type to std::vector.  Update all
1649         callers.
1650         (compare_symbols): Remove.
1651         (std_compare_symbols): Rename to `compare_symbols'.
1652         (find_method): Change `sym_classes' parameter to std::vector.
1653         Update all callers.  Use std::sort to sort sym_classes.
1654         (find_linespec_symbols): Remove cleanup.
1655
1656 2018-08-29  Keith Seitz  <keiths@redhat.com>
1657
1658         * linespec.c (struct linespec) <minimal_symbols>: Change type to
1659         std::vector.  Update all users.
1660         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
1661         (struct collect_info) <minimal_symbols>: Likewise.
1662         (compare_msymbols): Return bool.  Change parameters to const
1663         bound_minimal_symbol references.
1664         (find_method, find_function_symbols, find_linespec_symbols): Change
1665         `minsyms' parameter to std::vector.  Update all callers.
1666
1667 2018-08-29  Keith Seitz  <keiths@redhat.com>
1668
1669         * linespec.c (struct linespec) <label_symbols>: Change type to
1670         std::vector.  Update all users.
1671         (find_label_symbols_in_block): Change `result' parameter to
1672         std::vector.  Update all callers.
1673         (find_label_symbols): Return std::vector.  Update all callers.
1674
1675 2018-08-29  Keith Seitz  <keiths@redhat.com>
1676
1677         * linespec.c (struct linespec) <function_symbols>: Change type to
1678         std::vector.  Update all users.
1679         (struct collect_info) <function_symbols>: Likewise.
1680         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
1681         (std_compare_symbols): New function.
1682         (find_method, find_function_symbols, find_linespec_symbols)
1683         (find_label_symbols_in_block): Change `symbols' parameter to
1684         std::vector.  Update all callers.
1685         (find_label_symbols): Likewise for `function_symbols' and
1686         `label_funcs_ret'.
1687
1688 2018-08-29  Keith Seitz  <keiths@redhat.com>
1689
1690         * linespec.c (symtab_vector_up): Define.
1691         (struct linespec) <file_symtabs>: Change type to std::vector *.
1692         Update all uses.
1693         (struct collect_info) <file_symtabs>: Likewise.
1694         (collect_symtabs_from_filename): Return symtab_vector_up.
1695         Update all callers.
1696         (decode_objc): Remove cleanup.
1697         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
1698         (symtab_collector::release_symtabs): Return symtab_vector_up.
1699         Update all callers.
1700         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
1701         Update all users.
1702         (collect_symtabs_from_filename, symtabs_from_filename): Return
1703         symtab_vector_up.  Update all callers.
1704
1705 2018-08-29  Tom Tromey  <tom@tromey.com>
1706
1707         * csky-tdep.c (csky_analyze_prologue): Use
1708         core_addr_to_string_nz.
1709
1710 2018-08-29  Tom Tromey  <tom@tromey.com>
1711
1712         * windows-nat.c (struct xlate_exception) <them>: Change type to
1713         DWORD.
1714         (xlate): Fix formatting.  Remove last entry.
1715         (struct xlate_exception, xlate): Comment out.
1716         (windows_nat_target::resume): Use ranged for.
1717
1718 2018-08-29  Jim Wilson  <jimw@sifive.com>
1719
1720         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
1721         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
1722         of NT_PRFPREG.
1723         (riscv_linux_nat_target::store_registers): Likewise.
1724
1725 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1726
1727         PR gdb/23555
1728         PR gdb/23558
1729         * gnulib/aclocal.m4: Regenerate.
1730         * gnulib/config.in: Regenerate.
1731         * gnulib/configure: Regenerate.
1732         * gnulib/import/Makefile.am: Update.
1733         * gnulib/import/Makefile.in: Update.
1734         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1735         * gnulib/import/_Noreturn.h: ... this.
1736         * gnulib/import/alloca.in.h: Update.
1737         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1738         * gnulib/import/arg-nonnull.h: ... this.
1739         * gnulib/import/assure.h: Update.
1740         * gnulib/import/at-func.c: Update.
1741         * gnulib/import/basename-lgpl.c: Update.
1742         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1743         * gnulib/import/c++defs.h: ... this.
1744         * gnulib/import/canonicalize-lgpl.c: Update.
1745         * gnulib/import/cdefs.h: Update.
1746         * gnulib/import/chdir-long.c: Update.
1747         * gnulib/import/chdir-long.h: Update.
1748         * gnulib/import/cloexec.c: Update.
1749         * gnulib/import/cloexec.h: Update.
1750         * gnulib/import/close.c: Update.
1751         * gnulib/import/closedir.c: Update.
1752         * gnulib/import/config.charset: Update.
1753         * gnulib/import/dirent-private.h: Update.
1754         * gnulib/import/dirent.in.h: Update.
1755         * gnulib/import/dirfd.c: Update.
1756         * gnulib/import/dirname-lgpl.c: Update.
1757         * gnulib/import/dirname.h: Update.
1758         * gnulib/import/dosname.h: Update.
1759         * gnulib/import/dup-safer-flag.c: Update.
1760         * gnulib/import/dup-safer.c: Update.
1761         * gnulib/import/dup.c: Update.
1762         * gnulib/import/dup2.c: Update.
1763         * gnulib/import/errno.in.h: Update.
1764         * gnulib/import/error.c: Update.
1765         * gnulib/import/error.h: Update.
1766         * gnulib/import/exitfail.c: Update.
1767         * gnulib/import/exitfail.h: Update.
1768         * gnulib/import/extra/update-copyright: Update.
1769         * gnulib/import/fchdir.c: Update.
1770         * gnulib/import/fcntl.c: Update.
1771         * gnulib/import/fcntl.in.h: Update.
1772         * gnulib/import/fd-hook.c: Update.
1773         * gnulib/import/fd-hook.h: Update.
1774         * gnulib/import/fd-safer-flag.c: Update.
1775         * gnulib/import/fd-safer.c: Update.
1776         * gnulib/import/fdopendir.c: Update.
1777         * gnulib/import/filename.h: Update.
1778         * gnulib/import/filenamecat-lgpl.c: Update.
1779         * gnulib/import/filenamecat.h: Update.
1780         * gnulib/import/flexmember.h: Update.
1781         * gnulib/import/float+.h: Update.
1782         * gnulib/import/float.c: Update.
1783         * gnulib/import/float.in.h: Update.
1784         * gnulib/import/fnmatch.c: Update.
1785         * gnulib/import/fnmatch.in.h: Update.
1786         * gnulib/import/fnmatch_loop.c: Update.
1787         * gnulib/import/fpucw.h: Update.
1788         * gnulib/import/frexp.c: Update.
1789         * gnulib/import/frexpl.c: Update.
1790         * gnulib/import/fstat.c: Update.
1791         * gnulib/import/fstatat.c: Update.
1792         * gnulib/import/getcwd-lgpl.c: Update.
1793         * gnulib/import/getcwd.c: Update.
1794         * gnulib/import/getdtablesize.c: Update.
1795         * gnulib/import/getlogin_r.c: Update.
1796         * gnulib/import/getprogname.c: Update.
1797         * gnulib/import/getprogname.h: Update.
1798         * gnulib/import/gettext.h: Update.
1799         * gnulib/import/gettimeofday.c: Update.
1800         * gnulib/import/glob-libc.h: Update.
1801         * gnulib/import/glob.c: Update.
1802         * gnulib/import/glob.in.h: Update.
1803         * gnulib/import/glob_internal.h: Update.
1804         * gnulib/import/glob_pattern_p.c: Update.
1805         * gnulib/import/globfree.c: Update.
1806         * gnulib/import/hard-locale.c: Update.
1807         * gnulib/import/hard-locale.h: Update.
1808         * gnulib/import/intprops.h: Update.
1809         * gnulib/import/inttypes.in.h: Update.
1810         * gnulib/import/isnan.c: Update.
1811         * gnulib/import/isnand-nolibm.h: Update.
1812         * gnulib/import/isnand.c: Update.
1813         * gnulib/import/isnanl-nolibm.h: Update.
1814         * gnulib/import/isnanl.c: Update.
1815         * gnulib/import/itold.c: Update.
1816         * gnulib/import/libc-config.h: Update.
1817         * gnulib/import/limits.in.h: Update.
1818         * gnulib/import/localcharset.c: Update.
1819         * gnulib/import/localcharset.h: Update.
1820         * gnulib/import/localtime-buffer.c: Update.
1821         * gnulib/import/localtime-buffer.h: Update.
1822         * gnulib/import/lstat.c: Update.
1823         * gnulib/import/m4/00gnulib.m4: Update.
1824         * gnulib/import/m4/__inline.m4: Update.
1825         * gnulib/import/m4/absolute-header.m4: Update.
1826         * gnulib/import/m4/alloca.m4: Update.
1827         * gnulib/import/m4/builtin-expect.m4: Update.
1828         * gnulib/import/m4/canonicalize.m4: Update.
1829         * gnulib/import/m4/chdir-long.m4: Update.
1830         * gnulib/import/m4/close.m4: Update.
1831         * gnulib/import/m4/closedir.m4: Update.
1832         * gnulib/import/m4/configmake.m4: Update.
1833         * gnulib/import/m4/d-ino.m4: Update.
1834         * gnulib/import/m4/d-type.m4: Update.
1835         * gnulib/import/m4/dirent_h.m4: Update.
1836         * gnulib/import/m4/dirfd.m4: Update.
1837         * gnulib/import/m4/dirname.m4: Update.
1838         * gnulib/import/m4/double-slash-root.m4: Update.
1839         * gnulib/import/m4/dup.m4: Update.
1840         * gnulib/import/m4/dup2.m4: Update.
1841         * gnulib/import/m4/eealloc.m4: Update.
1842         * gnulib/import/m4/environ.m4: Update.
1843         * gnulib/import/m4/errno_h.m4: Update.
1844         * gnulib/import/m4/error.m4: Update.
1845         * gnulib/import/m4/exponentd.m4: Update.
1846         * gnulib/import/m4/exponentl.m4: Update.
1847         * gnulib/import/m4/extensions.m4: Update.
1848         * gnulib/import/m4/extern-inline.m4: Update.
1849         * gnulib/import/m4/fchdir.m4: Update.
1850         * gnulib/import/m4/fcntl-o.m4: Update.
1851         * gnulib/import/m4/fcntl.m4: Update.
1852         * gnulib/import/m4/fcntl_h.m4: Update.
1853         * gnulib/import/m4/fdopendir.m4: Update.
1854         * gnulib/import/m4/filenamecat.m4: Update.
1855         * gnulib/import/m4/flexmember.m4: Update.
1856         * gnulib/import/m4/float_h.m4: Update.
1857         * gnulib/import/m4/fnmatch.m4: Update.
1858         * gnulib/import/m4/fnmatch_h.m4: Update.
1859         * gnulib/import/m4/fpieee.m4: Update.
1860         * gnulib/import/m4/frexp.m4: Update.
1861         * gnulib/import/m4/frexpl.m4: Update.
1862         * gnulib/import/m4/fstat.m4: Update.
1863         * gnulib/import/m4/fstatat.m4: Update.
1864         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1865         * gnulib/import/m4/getcwd-path-max.m4: Update.
1866         * gnulib/import/m4/getcwd.m4: Update.
1867         * gnulib/import/m4/getdtablesize.m4: Update.
1868         * gnulib/import/m4/getlogin.m4: Update.
1869         * gnulib/import/m4/getlogin_r.m4: Update.
1870         * gnulib/import/m4/getpagesize.m4: Update.
1871         * gnulib/import/m4/getprogname.m4: Update.
1872         * gnulib/import/m4/gettimeofday.m4: Update.
1873         * gnulib/import/m4/glibc21.m4: Update.
1874         * gnulib/import/m4/glob.m4: Update.
1875         * gnulib/import/m4/glob_h.m4: Update.
1876         * gnulib/import/m4/gnulib-cache.m4: Update.
1877         * gnulib/import/m4/gnulib-common.m4: Update.
1878         * gnulib/import/m4/gnulib-comp.m4: Update.
1879         * gnulib/import/m4/gnulib-tool.m4: Update.
1880         * gnulib/import/m4/hard-locale.m4: Update.
1881         * gnulib/import/m4/include_next.m4: Update.
1882         * gnulib/import/m4/inttypes-pri.m4: Update.
1883         * gnulib/import/m4/inttypes.m4: Update.
1884         * gnulib/import/m4/isnand.m4: Update.
1885         * gnulib/import/m4/isnanl.m4: Update.
1886         * gnulib/import/m4/largefile.m4: Update.
1887         * gnulib/import/m4/limits-h.m4: Update.
1888         * gnulib/import/m4/localcharset.m4: Update.
1889         * gnulib/import/m4/locale-fr.m4: Update.
1890         * gnulib/import/m4/locale-ja.m4: Update.
1891         * gnulib/import/m4/locale-zh.m4: Update.
1892         * gnulib/import/m4/localtime-buffer.m4: Update.
1893         * gnulib/import/m4/longlong.m4: Update.
1894         * gnulib/import/m4/lstat.m4: Update.
1895         * gnulib/import/m4/malloc.m4: Update.
1896         * gnulib/import/m4/malloca.m4: Update.
1897         * gnulib/import/m4/math_h.m4: Update.
1898         * gnulib/import/m4/mbrtowc.m4: Update.
1899         * gnulib/import/m4/mbsinit.m4: Update.
1900         * gnulib/import/m4/mbsrtowcs.m4: Update.
1901         * gnulib/import/m4/mbstate_t.m4: Update.
1902         * gnulib/import/m4/memchr.m4: Update.
1903         * gnulib/import/m4/memmem.m4: Update.
1904         * gnulib/import/m4/mempcpy.m4: Update.
1905         * gnulib/import/m4/memrchr.m4: Update.
1906         * gnulib/import/m4/mkdir.m4: Update.
1907         * gnulib/import/m4/mkstemp.m4: Update.
1908         * gnulib/import/m4/mmap-anon.m4: Update.
1909         * gnulib/import/m4/mode_t.m4: Update.
1910         * gnulib/import/m4/msvc-inval.m4: Update.
1911         * gnulib/import/m4/msvc-nothrow.m4: Update.
1912         * gnulib/import/m4/multiarch.m4: Update.
1913         * gnulib/import/m4/nocrash.m4: Update.
1914         * gnulib/import/m4/off_t.m4: Update.
1915         * gnulib/import/m4/onceonly.m4: Update.
1916         * gnulib/import/m4/open-cloexec.m4: Update.
1917         * gnulib/import/m4/open.m4: Update.
1918         * gnulib/import/m4/openat.m4: Update.
1919         * gnulib/import/m4/opendir.m4: Update.
1920         * gnulib/import/m4/pathmax.m4: Update.
1921         * gnulib/import/m4/rawmemchr.m4: Update.
1922         * gnulib/import/m4/readdir.m4: Update.
1923         * gnulib/import/m4/readlink.m4: Update.
1924         * gnulib/import/m4/realloc.m4: Update.
1925         * gnulib/import/m4/rename.m4: Update.
1926         * gnulib/import/m4/rewinddir.m4: Update.
1927         * gnulib/import/m4/rmdir.m4: Update.
1928         * gnulib/import/m4/save-cwd.m4: Update.
1929         * gnulib/import/m4/secure_getenv.m4: Update.
1930         * gnulib/import/m4/setenv.m4: Update.
1931         * gnulib/import/m4/signal_h.m4: Update.
1932         * gnulib/import/m4/ssize_t.m4: Update.
1933         * gnulib/import/m4/stat-time.m4: Update.
1934         * gnulib/import/m4/stat.m4: Update.
1935         * gnulib/import/m4/std-gnu11.m4: Update.
1936         * gnulib/import/m4/stdbool.m4: Update.
1937         * gnulib/import/m4/stddef_h.m4: Update.
1938         * gnulib/import/m4/stdint.m4: Update.
1939         * gnulib/import/m4/stdio_h.m4: Update.
1940         * gnulib/import/m4/stdlib_h.m4: Update.
1941         * gnulib/import/m4/strchrnul.m4: Update.
1942         * gnulib/import/m4/strdup.m4: Update.
1943         * gnulib/import/m4/strerror.m4: Update.
1944         * gnulib/import/m4/string_h.m4: Update.
1945         * gnulib/import/m4/strstr.m4: Update.
1946         * gnulib/import/m4/strtok_r.m4: Update.
1947         * gnulib/import/m4/sys_socket_h.m4: Update.
1948         * gnulib/import/m4/sys_stat_h.m4: Update.
1949         * gnulib/import/m4/sys_time_h.m4: Update.
1950         * gnulib/import/m4/sys_types_h.m4: Update.
1951         * gnulib/import/m4/tempname.m4: Update.
1952         * gnulib/import/m4/time_h.m4: Update.
1953         * gnulib/import/m4/unistd-safer.m4: Update.
1954         * gnulib/import/m4/unistd_h.m4: Update.
1955         * gnulib/import/m4/warn-on-use.m4: Update.
1956         * gnulib/import/m4/wchar_h.m4: Update.
1957         * gnulib/import/m4/wchar_t.m4: Update.
1958         * gnulib/import/m4/wctype_h.m4: Update.
1959         * gnulib/import/m4/wint_t.m4: Update.
1960         * gnulib/import/malloc.c: Update.
1961         * gnulib/import/malloc/scratch_buffer.h: Update.
1962         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1963         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1964         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1965         * gnulib/import/malloca.c: Update.
1966         * gnulib/import/malloca.h: Update.
1967         * gnulib/import/malloca.valgrind: Update.
1968         * gnulib/import/math.in.h: Update.
1969         * gnulib/import/mbrtowc.c: Update.
1970         * gnulib/import/mbsinit.c: Update.
1971         * gnulib/import/mbsrtowcs-impl.h: Update.
1972         * gnulib/import/mbsrtowcs-state.c: Update.
1973         * gnulib/import/mbsrtowcs.c: Update.
1974         * gnulib/import/memchr.c: Update.
1975         * gnulib/import/memmem.c: Update.
1976         * gnulib/import/mempcpy.c: Update.
1977         * gnulib/import/memrchr.c: Update.
1978         * gnulib/import/mkdir.c: Update.
1979         * gnulib/import/mkstemp.c: Update.
1980         * gnulib/import/msvc-inval.c: Update.
1981         * gnulib/import/msvc-inval.h: Update.
1982         * gnulib/import/msvc-nothrow.c: Update.
1983         * gnulib/import/msvc-nothrow.h: Update.
1984         * gnulib/import/open.c: Update.
1985         * gnulib/import/openat-die.c: Update.
1986         * gnulib/import/openat-priv.h: Update.
1987         * gnulib/import/openat-proc.c: Update.
1988         * gnulib/import/openat.c: Update.
1989         * gnulib/import/openat.h: Update.
1990         * gnulib/import/opendir.c: Update.
1991         * gnulib/import/pathmax.h: Update.
1992         * gnulib/import/pipe-safer.c: Update.
1993         * gnulib/import/rawmemchr.c: Update.
1994         * gnulib/import/readdir.c: Update.
1995         * gnulib/import/readlink.c: Update.
1996         * gnulib/import/realloc.c: Update.
1997         * gnulib/import/ref-add.sin: Update.
1998         * gnulib/import/ref-del.sin: Update.
1999         * gnulib/import/rename.c: Update.
2000         * gnulib/import/rewinddir.c: Update.
2001         * gnulib/import/rmdir.c: Update.
2002         * gnulib/import/same-inode.h: Update.
2003         * gnulib/import/save-cwd.c: Update.
2004         * gnulib/import/save-cwd.h: Update.
2005         * gnulib/import/scratch_buffer.h: Update.
2006         * gnulib/import/secure_getenv.c: Update.
2007         * gnulib/import/setenv.c: Update.
2008         * gnulib/import/signal.in.h: Update.
2009         * gnulib/import/stat-time.c: Update.
2010         * gnulib/import/stat-time.h: Update.
2011         * gnulib/import/stat-w32.c: Update.
2012         * gnulib/import/stat-w32.h: Update.
2013         * gnulib/import/stat.c: Update.
2014         * gnulib/import/stdbool.in.h: Update.
2015         * gnulib/import/stddef.in.h: Update.
2016         * gnulib/import/stdint.in.h: Update.
2017         * gnulib/import/stdio.in.h: Update.
2018         * gnulib/import/stdlib.in.h: Update.
2019         * gnulib/import/str-two-way.h: Update.
2020         * gnulib/import/strchrnul.c: Update.
2021         * gnulib/import/strdup.c: Update.
2022         * gnulib/import/streq.h: Update.
2023         * gnulib/import/strerror-override.c: Update.
2024         * gnulib/import/strerror-override.h: Update.
2025         * gnulib/import/strerror.c: Update.
2026         * gnulib/import/string.in.h: Update.
2027         * gnulib/import/stripslash.c: Update.
2028         * gnulib/import/strnlen1.c: Update.
2029         * gnulib/import/strnlen1.h: Update.
2030         * gnulib/import/strstr.c: Update.
2031         * gnulib/import/strtok_r.c: Update.
2032         * gnulib/import/sys_stat.in.h: Update.
2033         * gnulib/import/sys_time.in.h: Update.
2034         * gnulib/import/sys_types.in.h: Update.
2035         * gnulib/import/tempname.c: Update.
2036         * gnulib/import/tempname.h: Update.
2037         * gnulib/import/time.in.h: Update.
2038         * gnulib/import/unistd--.h: Update.
2039         * gnulib/import/unistd-safer.h: Update.
2040         * gnulib/import/unistd.in.h: Update.
2041         * gnulib/import/unsetenv.c: Update.
2042         * gnulib/import/verify.h: Update.
2043         * gnulib/import/extra/snippet/warn-on-use.h: Update.
2044         * gnulib/import/wchar.in.h: Update.
2045         * gnulib/import/wctype.in.h: Update.
2046         * gnulib/import/xalloc-oversized.h: Update.
2047         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
2048         "53e2c179f26a890fa6685af4b6c1397ee370433b".
2049
2050 2018-08-16  Gary Benson <gbenson@redhat.com>
2051
2052         PR gdb/13000:
2053         * gdb/main.c (captured_main_1): Exit with nonzero status
2054         in batch mode if the last command to be executed failed.
2055         * NEWS: Mention the above.
2056
2057 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
2058
2059         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
2060         end of warning message.
2061
2062 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2063
2064         PR gdb/22943:
2065         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
2066         (aarch64_extract_return_value): Use
2067         aapcs_is_vfp_call_or_return_candidate.
2068         (aarch64_return_in_memory): Likewise.
2069         (aarch64_store_return_value): Likewise.
2070
2071 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2072
2073         * aarch64-tdep.c
2074         (aapcs_is_vfp_call_or_return_candidate): Make static
2075         (pass_in_v_or_stack): Remove function.
2076         (pass_in_v_vfp_candidate): New function.
2077         (aarch64_push_dummy_call): Check for float register candidates.
2078
2079 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2080
2081         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
2082         (aapcs_is_vfp_call_or_return_candidate_1): New function.
2083         (aapcs_is_vfp_call_or_return_candidate): Likewise.
2084
2085 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
2086
2087         PR build/23399
2088         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
2089         (struct ipa_sym_addresses): Rename to...
2090         (struct ipa_sym_addresses_common): ... this.
2091         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
2092
2093 2018-08-28  Tom Tromey  <tom@tromey.com>
2094
2095         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2096         (token_fifo): Now a std::vector.
2097         (yylex, c_parse): Update.
2098         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2099         (token_fifo): Now a std::vector.
2100         (yylex, d_parse): Update.
2101         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2102         (token_fifo): Now a std::vector.
2103         (yylex, go_parse): Update.
2104
2105 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
2106
2107         * parser-defs.h (struct type_stack) <elements>: Change type to
2108         std::vector<union type_stack_elt>.
2109         <depth, size>: Remove.
2110         * parse.c (parse_exp_in_context_1): Adjust.
2111         (type_stack_reserve): Remove.
2112         (check_type_stack_depth): Remove.
2113         (insert_into_type_stack): Adjust to std::vector.
2114         (insert_type): Likewise.
2115         (push_type): Likewise.
2116         (push_type_int): Likewise.
2117         (insert_type_address_space): Likewise.
2118         (pop_type): Likewise.
2119         (pop_type_int): Likewise.
2120         (pop_typelist): Likewise.
2121         (pop_type_stack): Likewise.
2122         (append_type_stack): Likewise.
2123         (push_type_stack): Likewise.
2124         (get_type_stack): Likewise.
2125         (type_stack_cleanup): Likewise.
2126         (push_typelist): Likewise.
2127         (follow_types): Likewise.
2128         (_initialize_parse): Likewise.
2129
2130 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2131
2132         * NEWS: Mention csky target.
2133
2134 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
2135             Hafiz Abid Qadeer  <abidh@codesourcery.com>
2136             Don Breazeal  <donb@codesourcery.com>
2137
2138         * csky-linux-tdep.c: New file.
2139         * csky-tdep.c: Likewise.
2140         * csky-tdep.h: Likewise.
2141         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
2142         csky-tdep.o.
2143         (HFILES_NO_SRCDIR): Add csky-tdep.h.
2144         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
2145         * configure.tgt: Add csky support.
2146
2147 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
2148
2149         * python/py-framefilter.c (py_print_frame): Print frame architecture
2150         when printing on an MI output.
2151
2152 2018-08-27  Tom Tromey  <tom@tromey.com>
2153
2154         PR build/23087:
2155         * configure: Rebuild.
2156         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
2157
2158 2018-08-27  Tom Tromey  <tom@tromey.com>
2159
2160         * aarch64-linux-tdep.c
2161         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
2162         casts to int.
2163
2164 2018-08-27  Tom Tromey  <tom@tromey.com>
2165
2166         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
2167         unsigned.
2168         (ppc64_standard_linkage1, ppc64_standard_linkage2)
2169         (ppc64_standard_linkage3, ppc64_standard_linkage4)
2170         (ppc64_standard_linkage5, ppc64_standard_linkage6)
2171         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
2172         unsigned.
2173
2174 2018-08-27  Tom Tromey  <tom@tromey.com>
2175
2176         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
2177         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
2178
2179 2018-08-27  Tom Tromey  <tom@tromey.com>
2180
2181         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
2182         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
2183         ULONGEST_MAX.
2184         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
2185         ULONGEST_MAX.
2186         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
2187         ULONGEST_MAX.
2188         * sparc-linux-tdep.c (sparc32_linux_sigframe)
2189         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
2190         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
2191         ULONGEST_MAX.
2192         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
2193         (ppc64_linux_sigaction_tramp_frame)
2194         (ppc32_linux_sighandler_tramp_frame)
2195         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2196         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
2197         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
2198         * mn10300-linux-tdep.c (am33_linux_sigframe)
2199         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
2200         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
2201         * mips-linux-tdep.c (mips_linux_o32_sigframe)
2202         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
2203         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
2204         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
2205         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
2206         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
2207         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
2208         * microblaze-linux-tdep.c
2209         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2210         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
2211         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
2212         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
2213         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
2214         * common/common-types.h (ULONGEST_MAX): New define.
2215         (CORE_ADDR_MAX): Fix formatting.
2216         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
2217         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
2218         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
2219         (arm_linux_rt_sigreturn_tramp_frame)
2220         (arm_eabi_linux_sigreturn_tramp_frame)
2221         (arm_eabi_linux_rt_sigreturn_tramp_frame)
2222         (thumb2_eabi_linux_sigreturn_tramp_frame)
2223         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
2224         (arm_linux_restart_syscall_tramp_frame)
2225         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
2226         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
2227         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
2228         ULONGEST_MAX.
2229         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2230
2231 2018-08-27  Tom Tromey  <tom@tromey.com>
2232
2233         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
2234         CORE_ADDR_MAX.
2235         * mips-tdep.c (mips_deal_with_atomic_sequence)
2236         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
2237         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
2238         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
2239         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
2240         CORE_ADDR_MAX.
2241         * aarch64-tdep.c (aarch64_software_single_step): Use
2242         CORE_ADDR_MAX.
2243
2244 2018-08-27  Tom Tromey  <tom@tromey.com>
2245
2246         * linespec.c (complete_linespec_component): Add cast to "char".
2247         * completer.c (completion_tracker::build_completion_result): Add
2248         cast to "char".
2249
2250 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2251
2252         * solist.h (struct solist, struct target_so_ops): Fix
2253         indentation.
2254
2255 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2256
2257         * ada-tasks.c (ada_task_info_s): Remove typedef.
2258         (DEF_VEC_O(ada_task_info_s)): Remove.
2259         (struct ada_tasks_inferior_data): Initialize fields.
2260         <task_list>: Make an std::vector.
2261         (get_ada_tasks_inferior_data): Allocate with new.
2262         (ada_get_task_number): Adjust.
2263         (get_task_number_from_id): Likewise.
2264         (valid_task_id): Likewise.
2265         (ada_get_task_info_from_ptid): Likewise.
2266         (iterate_over_live_ada_tasks): Likewise.
2267         (add_ada_task): Likewise.
2268         (read_known_tasks): Likewise.
2269         (ada_build_task_list): Likewise.
2270         (print_ada_task_info): Likewise.
2271         (info_task): Likewise.
2272         (task_command_1): Likewise.
2273
2274 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2275
2276         * ada-lang.c (add_angle_brackets): Return std::string.
2277
2278 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
2279
2280         * python/py-threadevent.c (py_get_event_thread): Initialize
2281         pythread.
2282
2283 2018-08-24  Pedro Alves  <palves@redhat.com>
2284
2285         * python/py-bpevent.c (create_breakpoint_event_object): Use
2286         copy-initialization.
2287         * python/py-continueevent.c (emit_continue_event): Use
2288         copy-initialization.
2289         * python/py-exitedevent.c (create_exited_event_object): Return a
2290         gdbpy_ref<>.
2291         (emit_exited_event): Use copy-initialization.
2292         * python/py-inferior.c (python_new_inferior)
2293         (python_inferior_deleted, add_thread_object): Use
2294         copy-initialization.
2295         * python/py-infevents.c (create_inferior_call_event_object)
2296         (create_register_changed_event_object)
2297         (create_memory_changed_event_object): Return a gdbpy_ref<>.
2298         (emit_inferior_call_event, emit_memory_changed_event)
2299         (emit_register_changed_event): Use copy-initialization.
2300         * python/py-newobjfileevent.c (create_new_objfile_event_object):
2301         Return a gdbpy_ref<>.
2302         (emit_new_objfile_event): Use copy-initialization.
2303         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
2304         (emit_clear_objfiles_event): Use copy-initialization.
2305         * python/py-signalevent.c (create_signal_event_object): Use
2306         copy-initialization.
2307         * python/py-threadevent.c (create_thread_event_object): Use
2308         copy-initialization.
2309
2310 2018-08-24  Pedro Alves  <palves@redhat.com>
2311             Simon Marchi  <simon.marchi@ericsson.com>
2312
2313         PR gdb/23379
2314         * python/py-continueevent.c: Include "gdbthread.h".
2315         (create_continue_event_object): Add intro comment.  Add 'ptid'
2316         parameter.  Use it to find thread to pass to
2317         create_thread_event_object.
2318         (emit_continue_event): Pass PTID down to
2319         create_continue_event_object.
2320         * python/py-event.h (py_get_event_thread): Declare.
2321         (create_thread_event_object): Remove default from 'thread'
2322         parameter.
2323         * python/py-stopevent.c (create_stop_event_object): Use
2324         py_get_event_thread.
2325         * python/py-threadevent.c (get_event_thread): Rename to ...
2326         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
2327         and use it to find the thread.
2328         (create_thread_event_object): Assert that THREAD isn't null.
2329         Don't find the event thread here.
2330
2331 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2332
2333         * block.h (blockrange, blockranges): New struct declarations.
2334         (struct block): Add new field named `ranges'.
2335         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
2336         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
2337         macros for accessing ranges in struct block.
2338         (make_blockranges): New declaration.
2339         block.c (make_blockranges): New function.
2340         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
2341         for block.
2342         * symtab.h (find_pc_partial_function): Add new parameter `block'.
2343         * blockframe.c (cache_pc_function_block): New static global.
2344         (clear_pc_function_cache): Clear cache_pc_function_block.
2345         (find_pc_partial_function): Move comment to symtab.h.  Add
2346         support for non-contiguous blocks.
2347         * cli/cli-cmds.c (block.h): Include.
2348         (print_disassembly): Handle printing of non-contiguous blocks.
2349         (disassemble_current_function): Likewise.
2350         (disassemble_command): Likewise.
2351
2352         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
2353         BLOCK_START.
2354         * blockframe.c (get_pc_function_start): Likewise.
2355         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
2356         (gcc_symbol_address): Likewise.
2357         * compile/compile-object-run.c (compile_object_run): Likewise.
2358         * compile/compile.c (get_expr_block_and_pc): Likewise.
2359         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
2360         (func_addr_to_tail_call_list): Likewise.
2361         * findvar.c (default_read_var_value): Likewise.
2362         * inline-frame.c (inline_frame_this_id): Likewise.
2363         (skip-inline_frames): Likewise.
2364         * infcmd.c (until_next_command): Likewise.
2365         * linespec.c (convert_linespec_to_sals): Likewise.
2366         * parse.c (parse_exp_in_context_1): Likewise.
2367         * printcmd.c (build_address_symbolic): likewise.
2368         (info_address_command): Likewise.
2369         symtab.c (find_function_start_sal): Likewise.
2370         (skip_prologue_sal): Likewise.
2371         (find_function_alias_target): Likewise.
2372         (find_gnu_ifunc): Likewise.
2373         * stack.c (find_frame_funname): Likewise.
2374         * symtab.c (fixup_symbol_section): Likewise.
2375         (find_function_start_sal): Likewise.
2376         (skip_prologue_sal): Likewsie.
2377         (find_function_alias_target): Likewise.
2378         (find_gnu_ifunc): Likewise.
2379         * tracepoint.c (info_scope_command): Likewise.
2380         * value.c (value_fn_field): Likewise.
2381
2382         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
2383         in place of find_pc_partial_function.
2384         * blockframe.c (find_function_entry_range_from_pc): New function.
2385         * symtab.h (find_function_entry_range_from_pc): Declare and document.
2386         * objfiles.c (objfile_relocate1): Relocate start and end addresses
2387         for each range in a block.
2388
2389
2390 2018-08-23  Xavier Roirand  <roirand@adacore.com>
2391
2392         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
2393         incrementation.
2394
2395 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2396
2397         * solib-svr4.c (read_program_headers_from_bfd): Return
2398         gdb::optional<gdb::byte_vector>.
2399         (svr4_exec_displacement): Adjust.
2400
2401 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2402
2403         * solib-svr4.c (read_program_header): Return
2404         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
2405         (find_program_interpreter): Return
2406         gdb::optional<gdb::byte_vector>.
2407         (scan_dyntag_auxv): Adjust.
2408         (enable_break): Adjust.
2409         (svr4_exec_displacement): Adjust.
2410
2411 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2412
2413         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
2414         * inf-child.c (inf_child_target::terminal_save_inferior): New.
2415
2416 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2417
2418         * guile/scm-string.c (gdbscm_scm_from_printf): Use
2419         string_vprintf.
2420         * guile/scm-utils.c (gdbscm_printf): Likewise.
2421         * serial.c (serial_printf): Likewise.
2422         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
2423
2424 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
2425
2426         * stack.c (print_frame): Print frame architecture when printing on
2427         an MI output.
2428         * NEWS: Mention new "arch" attribute in frame output.
2429
2430 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2431
2432         * arch/aarch64.h (aarch64_regnum): Update comment.
2433
2434 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2435
2436         * NEWS: Add SVE to 8.2 section.
2437
2438 2018-08-21  Pedro Alves  <palves@redhat.com>
2439
2440         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
2441         out from gdbscm_parse_function_args.
2442         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
2443         gdbscm_parse_function_args_1.
2444
2445 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
2446
2447         PR gdb/17816
2448         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
2449         operator.
2450
2451 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
2452
2453         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
2454
2455 2018-08-19  Michael Spang  <spang@google.com>
2456
2457         PR gdb/11786
2458         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
2459         for PT_TLS segments.
2460
2461 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
2462
2463         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
2464         dwarf_variable_value.
2465         * dwarf2-frame.c (class dwarf_expr_executor):
2466         Add override for dwarf_variable_value.
2467         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
2468         (class symbol_needs_eval_context): Likewise.
2469         (indirect_synthetic_pointer): Add forward declaration.
2470         (sect_variable_value): New function.
2471         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
2472         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
2473         for DW_OP_GNU_variable_value.
2474
2475 2018-08-16  Tom Tromey  <tom@tromey.com>
2476
2477         * top.c (read_command_file): Update.
2478         (command_line_input): Remove "repeat" argument.
2479         * ada-lang.c (get_selections): Update.
2480         * linespec.c (decode_line_2): Update.
2481         * defs.h (command_line_input): Remove argument.
2482         * cli/cli-script.c (read_next_line): Update.
2483         * python/py-gdb-readline.c: Update.
2484
2485 2018-08-17  Tom Tromey  <tom@tromey.com>
2486
2487         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
2488         command_line_input.
2489
2490 2018-08-15  Tom Tromey  <tom@tromey.com>
2491
2492         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
2493
2494 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
2495
2496         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
2497         If used, use find_pc_partial_function to find address range
2498         to disassemble.
2499         * mi/mi-main.c (mi_cmd_list_features): Report
2500         "data-disassemble-a-option" feature.
2501         * NEWS: Mention new -data-disassemble option -a.
2502
2503 2018-08-13  Tom Tromey  <tom@tromey.com>
2504
2505         * common/common-defs.h (_FORTIFY_SOURCE): Define.
2506
2507 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2508
2509         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
2510         (aarch64_linux_collect_sve_regset): Likewise.
2511         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
2512         * regcache.h (regcache_map_entry_size): New function.
2513
2514 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2515
2516         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
2517         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
2518         (SVE_HEADER_VL_LENGTH): Likewise.
2519         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
2520         (SVE_HEADER_FLAGS_LENGTH): Likewise.
2521         (SVE_HEADER_RESERVED_LENGTH): Likewise.
2522         (SVE_HEADER_SIZE_OFFSET): Likewise.
2523         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
2524         (SVE_HEADER_VL_OFFSET): Likewise.
2525         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
2526         (SVE_HEADER_FLAGS_OFFSET): Likewise.
2527         (SVE_HEADER_RESERVED_OFFSET): Likewise.
2528         (SVE_HEADER_SIZE): Likewise.
2529         (aarch64_linux_core_read_vq): Add function.
2530         (aarch64_linux_core_read_description): Check for SVE section.
2531
2532 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2533
2534         * aarch64-fbsd-tdep.c
2535         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
2536         collect_size.
2537         * aarch64-linux-tdep.c
2538         (aarch64_linux_iterate_over_regset_sections): Likewise.
2539         * alpha-linux-tdep.c
2540         (alpha_linux_iterate_over_regset_sections):
2541         * alpha-nbsd-tdep.c
2542         (alphanbsd_iterate_over_regset_sections): Likewise.
2543         * amd64-fbsd-tdep.c
2544         (amd64fbsd_iterate_over_regset_sections): Likewise.
2545         * amd64-linux-tdep.c
2546         (amd64_linux_iterate_over_regset_sections): Likewise.
2547         * arm-bsd-tdep.c
2548         (armbsd_iterate_over_regset_sections): Likewise.
2549         * arm-fbsd-tdep.c
2550         (arm_fbsd_iterate_over_regset_sections): Likewise.
2551         * arm-linux-tdep.c
2552         (arm_linux_iterate_over_regset_sections): Likewise.
2553         * corelow.c (get_core_registers_cb): Likewise.
2554         (core_target::fetch_registers): Likewise.
2555         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
2556         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
2557         * gdbarch.h (void): Regenerate.
2558         * gdbarch.sh: Add supply_size and collect_size.
2559         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
2560         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
2561         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
2562         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
2563         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
2564         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
2565         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
2566         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
2567         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
2568         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
2569         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
2570         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
2571         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
2572         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
2573         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
2574         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
2575         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
2576         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
2577         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
2578         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
2579         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
2580         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
2581         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
2582         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
2583         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
2584         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
2585         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
2586         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
2587         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
2588         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2589
2590 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
2591
2592         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
2593         with string_printf.
2594
2595 2018-08-10  Keith Seitz  <keiths@redhat.com>
2596
2597         * compile/compile-c-support.c (add_code_header, add_code_footer):
2598         Move into policy class.
2599         (c_push_user_expression, pop_user_expression_nop)
2600         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
2601         (compile_program): New host class.
2602         (c_compile_program): New typedef.
2603         (c_compute_porgram): Use c_compile_program.
2604
2605 2018-08-10  Keith Seitz  <keiths@redhat.com>
2606
2607         * compile/compile-internal.h (compile_instance::~compile_instance):
2608         Remove calls to htab_delete.
2609         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
2610         * compile.c (compile_instance::compile_instance): Initialize
2611         htab unique pointers.
2612         (compile_instance::get_cached_type, compile_instance::insert_type)
2613         (compile_instance::error_symbol_once): Update for unique_ptr.
2614
2615 2018-08-10  Keith Seitz  <keiths@redhat.com>
2616
2617         * compile/compile-c-symbols.c (struct symbol_error)
2618         (hash_symbol_error, eq_symbol_error, del_symbol_error)
2619         (compile_instance::insert_symbol_error)
2620         (compile_instance::error_symbol_once): Move to ...
2621         * compile/compile.c: ... here.
2622
2623 2018-08-10  Keith Seitz  <keiths@redhat.com>
2624
2625         * compile/compile-c-support.c (c_get_compile_context): Use `new'
2626         instead of `new_compile_instance'.
2627         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
2628         Update description.
2629         If the symbol error map is not initialized, create it.
2630         (generate_c_for_for_one_symbol): Do not check/initialize
2631         the symbol error map.
2632         * compile/compile-c-types.c (compile_c_instance): Make a class.
2633         Update all callers.
2634         (compile_instance::compile_instance): Initialize the type cache.
2635         (get_cached_type): New function.
2636         (insert_type): Update description.
2637         (compile_c_instance::m_default_cflags): Define.
2638         (convert_type): Update description.  Use get_cached_type.
2639         (delete_instance): Moved to destructor.
2640         (new_compile_instance): Moved to constructor.
2641         * compile/compile-c.h (compile_c_instance): Make class inheriting
2642         from compile_instance.
2643         <base>: Remove field.
2644         <type_map, symbol_err_map>: Move to base class.
2645         <c_plugin>: Rename to `m_plugin' and remove pointer type.
2646         * compile/compile-internal.h (compile_instance): Make class.
2647         <type_map_t, symbol_err_map_t>: Define.
2648         <fe>: Rename to `m_gcc_fe'.
2649         <scope, block, gcc_target_options>: Add `m_' prefix.
2650         <m_type_map, m_symbol_err_map>: New fields, moved from
2651         compile_c_instance.
2652         <destroy>: Remove.
2653         (convert_type, new_compile_instance): Remove.
2654         * compile/compile.c (cleanup_compile_instance): Remove.
2655         (compile_to_object): Use unique_ptr to eliminate cleanups.
2656         (compile_instance::set_print_callback, compile_instance::version)
2657         (compile_instance::set_verbose)
2658         (compile_instance::set_driver_filename)
2659         (compile_instance::set_triplet_regexp)
2660         (compile_instance::set_arguments)
2661         (compile_instance::set_source_file)
2662         (compile_instance::compile): Define.
2663
2664 2018-08-10  Keith Seitz  <keiths@redhat.com>
2665
2666         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
2667         * compile/compile-c-types.c: Define GCC_METHODN macros and include
2668         gcc-c-fe.def to define C plugin.
2669         (delete_instance): Delete `c_plugin'.
2670         (new_compile_instance): Initialize `c_plugin'.
2671         * compile/compile-c.h: Include gcc_c_plugin.h.
2672         (struct compile_c_instance) <c_plugin>: New member.
2673         * gcc-c-plugin.h: New file.
2674         Update all callers with API change.
2675
2676 2018-08-10  Keith Seitz  <keiths@redhat.com>
2677
2678         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
2679         (HFILES_NO_SRCDIR): ... to here.
2680         Add compile-internal.h and compile-c.h.
2681         * compile/compile-c-support.c: Include compile-c.h.
2682         * compile/compile-c-symbols.c: Include compile-c.h.
2683         (generate_c_for_variable_locations): Update comment.
2684         * compile/compile-c-types.c: Include compile-c.h.
2685         * compile/compile-c.h: New file -- moved C language declarations
2686         from other files here.
2687         * compile/compile-internal.h: Do not include hashtab.h or
2688         common/enum-flags.h.
2689         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
2690         (gcc_convert_symbol, gcc_symbol_address)
2691         (generate_c_for_variable_locations, c_get_mode_for_size)
2692         (c_get_range_decl_name): Definitions moved to compile-c.h.
2693         * compile/compile-loc2c.c: Include compile-c.h.
2694
2695 2018-08-10  Keith Seitz  <keiths@redhat.com>
2696
2697         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
2698         (c_symbol_substitution_name): ... this.
2699         Update all callers.
2700
2701 2018-08-10  Keith Seitz  <keiths@redhat.com>
2702
2703         * compile/compile-c-support.c (c_compute_program): Use
2704         unique_xmalloc_ptr to eliminate cleanup.
2705         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
2706         Return a unique_xmalloc_ptr and eliminate cleanup.
2707         * compile/compile-internal.h (generate_c_for_variable_locations):
2708         Return unique_xmalloc_ptr and update description.
2709
2710 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
2711
2712         * corelow.c (core_target::get_core_register_section): Rename
2713         min_size to section_min_size.
2714
2715 2018-08-09  Jim Wilson  <jimw@sifive.com>
2716
2717         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
2718         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
2719         * NEWS: Mention new GNU/Linux RISC-V target.
2720         * configure.host: Add riscv*-*-linux*.
2721         * configure.nat: Add riscv*.
2722         * configure.tgt: Add riscv*-*-linux*.
2723         * riscv-linux-nat.c: New file.
2724         * riscv-linux-tdep.c: New file.
2725
2726 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2727
2728         * infrun.c (resume): Make static, add forward declaration.
2729         (proceed): Update header comment.
2730         * infrun.h (resume): Delete declaration.
2731
2732 2018-08-09  Tom Tromey  <tom@tromey.com>
2733
2734         * riscv-tdep.h: Minor formatting fixes.
2735
2736 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
2737
2738         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
2739         * dwarf-index-cache.c (create_dir_and_check): Likewise.
2740         (test_mkdir_recursive): Likewise.
2741         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
2742
2743 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2744
2745         * valarith.c (value_subscripted_rvalue): If an array is not in
2746         memory, and we don't know the upper bound, then we can't know that
2747         the requested element exists or not.
2748
2749 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
2750
2751         * target.c (str_comma_list_concat_elem): Fix typo in comment.
2752         (target_options_to_string): Add comment.
2753
2754 2018-08-08  Tom Tromey  <tom@tromey.com>
2755
2756         * unittests/scoped_mmap-selftests.c: Check result of "write".
2757
2758 2018-08-08  Jim Wilson  <jimw@sifive.com>
2759
2760         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
2761         (decode_register_index_short): New.
2762         (decode_j_type_insn, decode_cj_type_insn): New.
2763         (decode_b_type_insn, decode_cb_type_insn): New.
2764         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
2765         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
2766         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
2767         is_c_sw_insn instead of is_sw_insn.
2768         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
2769         (riscv_software_single_step): New.
2770         * riscv-tdep.h (riscv_software_single_step): Declare.
2771
2772         * riscv-tdep.c (riscv_isa_xlen): Drop static.
2773         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
2774
2775 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
2776
2777         PR gdb/18050:
2778         * target.c (dispose_inferior): Don't dispose of inferiors that are
2779         already killed.
2780
2781 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2782
2783         * remote.c (remote_target::download_tracepoint): Change char* to
2784         const char*.
2785
2786 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
2787
2788         * target.h (target_options_to_string): Return an std::string.
2789         * target.c (str_comma_list_concat_elem): Return void, use
2790         std::string.
2791         (do_option): Likewise.
2792         (target_options_to_string): Return an std::string.
2793         * linux-nat.c (linux_nat_target::wait): Adjust.
2794         * target-debug.h (target_debug_print_options): Adjust.
2795
2796 2018-08-07  Tom Tromey  <tom@tromey.com>
2797
2798         * Makefile.in (CPPFLAGS): New variable.
2799         (INTERNAL_CPPFLAGS): Use it.
2800
2801 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2802
2803         * NEWS: Mention the index cache.
2804
2805 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2806
2807         * common/pathstuff.h (get_standard_cache_dir): New.
2808         * common/pathstuff.c (get_standard_cache_dir): New.
2809         * build-id.h (build_id_to_string): New.
2810         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
2811         DEBUG_STR_SUFFIX): Move to here.
2812         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
2813         DEBUG_STR_SUFFIX): Move from there.
2814         (write_psymtabs_to_index): Make non-static, add basename
2815         parameter.  Write to temporary files, rename when done.
2816         (save_gdb_index_command): Adjust call to
2817         write_psymtabs_to_index.
2818         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
2819         field.
2820         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
2821         (get_gdb_index_contents_from_cache): New.
2822         (get_gdb_index_contents_from_cache_dwz): New.
2823         (dwarf2_initialize_objfile): Read index from cache.
2824         (dwarf2_build_psymtabs): Save to index.
2825         * dwarf-index-cache.h: New file.
2826         * dwarf-index-cache.c: New file.
2827         * dwarf-index-write.h: New file.
2828
2829 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2830
2831         * gnulib/aclocal.m4: Re-generate.
2832         * gnulib/config.in: Re-generate.
2833         * gnulib/configure: Re-generate.
2834         * gnulib/import/Makefile.am: Re-generate.
2835         * gnulib/import/Makefile.in: Re-generate.
2836         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
2837         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2838         * gnulib/import/m4/mkdir.m4: New file.
2839         * gnulib/import/mkdir.c: New file.
2840         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
2841         module.
2842
2843 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2844
2845         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
2846         * common/scoped_mmap.c: New file.
2847         * common/scoped_mmap.h (destroy): New method.
2848         (~scoped_mmap, reset): Use destroy.
2849         (scoped_mmap): New move constructor.
2850         (mmap_file): New declaration.
2851         * unittests/scoped_mmap-selftests.c (test_normal,
2852         test_invalid_filename, run_tests): New functions.
2853         (_initialize_scoped_mmap_selftests): Register selftest.
2854
2855 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2856
2857         * dwarf2read.c (read_gdb_index_from_section): Rename to...
2858         (read_gdb_index_from_buffer): ... this.  Remove section
2859         parameter, add buffer parameter.
2860         (get_gdb_index_contents_ftype,
2861         get_gdb_index_contents_dwz_ftype): New typedefs.
2862         (dwarf2_read_gdb_index): Add callback parameters to get the
2863         index contents.
2864         (get_gdb_index_contents_from_section): New.
2865         (dwarf2_initialize_objfile): Update call to
2866         dwarf2_read_gdb_index.
2867
2868 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2869
2870         * common/filestuff.h (gdb_fopen_cloexec): New overload.
2871         (gdb_open_cloexec): Likewise.
2872         * nat/linux-osdata.c (command_from_pid): Use string_printf.
2873         (commandline_from_pid): Likewise.
2874         (linux_xfer_osdata_threads): Likewise.
2875         (linux_xfer_osdata_fds): Likewise.
2876         * ada-lang.c (is_package_name): Likewise.
2877         * auxv.c (procfs_xfer_auxv): Likewise.
2878         * breakpoint.c (print_one_breakpoint_location): Use
2879         uiout::field_fmt.
2880         (print_one_catch_solib): Use string_printf.
2881         * coff-pe-read.c (add_pe_exported_sym): Likewise.
2882         (add_pe_forwarded_sym): Likewise.
2883         * dwarf2read.c (create_type_unit_group): Likewise.
2884         (build_error_marker_type): Likewise.
2885         * infcall.c (get_function_name): Likewise.
2886         * valprint.c (print_converted_chars_to_obstack): Likewise.
2887         * xtensa-tdep.c (xtensa_register_type): Likewise.
2888
2889 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
2890
2891         * remote.c (remote_target::download_tracepoint): Fix format
2892         string errors.
2893
2894 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2895
2896         * tracefile.c: Include common/byte-vector.h.
2897         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
2898         with trace_regblock_size if needed.  Update uses of buf.
2899
2900 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2901
2902         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
2903         std::vector<unsigned char>.
2904         * tracepoint.c (collection_list::collection_list): Remove
2905         m_regs_mask initializer from initializer list.  Resize
2906         m_regs_mask using the largest remote register number.
2907         (collection_list::add_remote_register): Remove size check on
2908         m_regs_mask.  Use at to access element.
2909         (collection_list::stringify): Change type of temp_buf to
2910         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
2911         stringify the register mask.  Use pack_hex_byte for the register
2912         mask.
2913
2914 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2915
2916         * tracepoint.h (class collection_list) <add_register>: Remove.
2917         <add_remote_register, add_ax_registers, add_local_register>:
2918         Declare.
2919         <add_memrange>: Add scope parameter.
2920         * tracepoint.c (encode_actions_1): Likewise.
2921         (collection_list::add_register): Rename to ...
2922         (collection_list::add_remote_register): ... this.  Update
2923         comment.
2924         (collection_list::add_ax_registers, add_local_register): New
2925         methods.
2926         (collection_list::add_memrange): Add scope parameter.  Call
2927         add_local_register instead of add_register.
2928         (finalize_tracepoint_aexpr): New function.
2929         (collection_list::collect_symbol): Update calls to add_memrange.
2930         Call add_local_register instead of add_register.  Call
2931         add_ax_registers.  Call finalize_tracepoint_aexpr.
2932         (encode_actions_1): Get remote regnos for $reg action.  Call
2933         add_remote_register, add_ax_registers, and add_local_register.
2934         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
2935         (validate_actionline): Call finalize_tracepoint_aexpr.
2936
2937 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2938
2939         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
2940         Replace array buf with gdb::char_vector buf, of size
2941         get_remote_packet_size ().  Replace references to buf and
2942         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
2943         and xsnprintf with snprintf.  Raise errors if the buffer is too
2944         small.
2945
2946 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2947
2948         * remote.c (remote_target::download_tracepoint): Fix the has_more
2949         predicate in the QTDP action list iteration.
2950
2951 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2952
2953         * remote.c (remote_target::download_tracepoint): Fix indentation
2954         in for block.
2955
2956 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2957
2958         * proc-api.c (_initialize_proc_api): Remove c, unused.
2959         * procfs.c (procfs_init_inferior): Remove signals, unused.
2960         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
2961         unused.
2962
2963 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2964             Andrew Burgess  <andrew.burgess@embecosm.com>
2965
2966         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
2967         'W_STOPCODE (0)' as this could be ambiguous.
2968
2969 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2970
2971         * ser-tcp.c (net_open): Fix thinko when deciding whether to
2972         disable TCP's Nagle algorithm (use "ai_protocol" instead of
2973         "ai_socktype").
2974
2975 2018-08-02  Tom Tromey  <tom@tromey.com>
2976
2977         PR symtab/16842.
2978         * dwarf2read.c (read_func_scope): Set symtab on template parameter
2979         symbols.
2980         (process_structure_scope): Likewise.
2981
2982 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2983
2984         PR gdb/22629:
2985         * darwin-nat.c (darwin_kill_inferior): Fix handling of
2986         kill inferior.
2987
2988 2018-08-02  Tom Tromey  <tom@tromey.com>
2989
2990         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
2991         (darwin_suspend_inferior, darwin_resume_inferior)
2992         (darwin_decode_notify_message, darwin_resume_inferior_threads)
2993         (darwin_check_new_threads): Check result of get_darwin_inferior.
2994
2995 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
2996
2997         GDB 8.1.1 released.
2998
2999 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
3000
3001         * varobj.c (varobj_get_path_expr_parent): Report an error if
3002         parent is a dynamic varobj.
3003
3004 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3005
3006         * gnulib/aclocal.m4: Re-generate.
3007         * gnulib/config.in: Re-generate.
3008         * gnulib/configure: Re-generate.
3009         * gnulib/import/Makefile.in: Re-generate.
3010         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3011         * gnulib/import/m4/onceonly.m4: Re-generate.
3012
3013 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3014
3015         * target-descriptions.c (struct xml_test_tdesc): New.
3016         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
3017         (record_xml_tdesc): Update.
3018         (maintenance_check_xml_descriptions): Update.
3019         * target-descriptions.h (record_xml_tdesc): Update comment.
3020
3021 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
3022
3023         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
3024         checking array bounds are defined.
3025
3026 2018-07-30  Tom Tromey  <tom@tromey.com>
3027
3028         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
3029         irreflexivity violation.
3030
3031 2018-07-30  Tom Tromey  <tom@tromey.com>
3032
3033         * cli/cli-decode.c (lookup_cmd): Remove lint code.
3034         * value.c (unpack_long): Remove lint code.
3035         * valops.c (value_ind): Remove lint code.
3036         * valarith.c (value_x_binop, value_x_unop, value_equal)
3037         (value_pos): Remove lint code.
3038
3039 2018-07-28  Tom de Vries  <tdevries@suse.de>
3040
3041         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
3042         with undefined upper bound as <optimized out>.
3043
3044 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
3045
3046         * gcore.in: Rename variable "name" to "prefix".  Expand
3047         "usage" text.
3048
3049 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
3050
3051         * windows-nat.c (windows_nat_target::create_inferior): Update to
3052         call close() in global namespace.
3053
3054 2018-07-26  Tom Tromey  <tom@tromey.com>
3055
3056         * dwarf-index-write.c (add_address_entry): Don't add objfile
3057         offsets.
3058         * dbxread.c (find_stab_function): Rename from
3059         find_stab_function_addr.  Return a bound_minimal_symbol.
3060         (read_dbx_symtab): Use raw_text_low, raw_text_high.
3061         Don't add objfile offsets.
3062         (end_psymtab): Use raw_text_low, raw_text_high,
3063         MSYMBOL_VALUE_RAW_ADDRESS.
3064         (read_ofile_symtab): Update.
3065         (process_one_symbol): Update.
3066         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
3067         offsets.
3068         (dw2_relocate): Remove.
3069         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
3070         searching addrmap.
3071         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
3072         Update.
3073         (process_psymtab_comp_unit_reader, add_partial_symbol)
3074         (add_partial_subprogram, dwarf2_ranges_read): Update.
3075         (load_partial_dies): Update.
3076         (add_address_entry): Don't add objfile offsets.
3077         (dwarf2_build_include_psymtabs): Update.
3078         (create_addrmap_from_aranges): Don't add objfile offsets.
3079         (dw2_find_pc_sect_compunit_symtab): Update.
3080         * mdebugread.c (parse_symbol): Don't add objfile offsets.
3081         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
3082         Update.
3083         (parse_partial_symbols): Don't add objfile offsets.  Use
3084         raw_text_low, raw_text_high.  Update.
3085         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
3086         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
3087         or call 'relocate' quick function.  Clear psymbol_map.
3088         * psympriv.h (struct partial_symbol) <address>: Add section
3089         offset.
3090         <set_unrelocated_address>: Rename from set_address.
3091         <raw_text_low, raw_text_high>: New methods.
3092         <text_low, text_high>: Add objfile parameter.
3093         (add_psymbol_to_bcache): Add 'section' parameter.  Call
3094         set_unrelocated_address.
3095         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3096         (find_pc_psymbol): Update.
3097         (fixup_psymbol_section, relocate_psymtabs): Remove.
3098         (dump_psymtab, psym_functions): Update.
3099         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
3100         parameter.
3101         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
3102         (start_psymtab_common): Update.
3103         * symfile-debug.c (debug_qf_relocate): Remove.
3104         (debug_sym_quick_functions): Update.
3105         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
3106         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
3107         Update.
3108
3109 2018-07-26  Tom Tromey  <tromey@redhat.com>
3110
3111         * dbxread.c (end_psymtab): Use text_high_valid and
3112         text_low_valid.
3113         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
3114         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
3115         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3116         Update comment.
3117         <text_low_valid, text_high_valid>: New fields.
3118         <set_text_low, set_text_high>: Update.
3119         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
3120
3121 2018-07-26  Tom Tromey  <tom@tromey.com>
3122
3123         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
3124         Update.
3125         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
3126         textlow and texthigh fields.
3127         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
3128         Update.
3129         * mdebugread.c (parse_lines, parse_partial_symbols)
3130         (psymtab_to_symtab_1): Update.
3131         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3132         Rename fields.  Update comment.  Now private.
3133         <text_low, text_high, set_text_low, set_text_high>: New methods.
3134         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3135         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
3136         (start_psymtab_common, maintenance_info_psymtabs)
3137         (maintenance_check_psymtabs): Update.
3138         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
3139         texthigh fields.
3140         (scan_xcoff_symtab): Update.
3141
3142 2018-07-26  Tom Tromey  <tromey@redhat.com>
3143
3144         * psympriv.h (struct partial_symbol) <unrelocated_address,
3145         address, set_address>: New methods.
3146         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
3147         (fixup_psymbol_section, relocate_psymtabs): Update.
3148         (print_partial_symbols): Add 'objfile' parameter.  Update.
3149         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
3150         Update.
3151
3152 2018-07-26  Tom Tromey  <tom@tromey.com>
3153
3154         * dwarf-index-write.c (write_psymbols, debug_names::insert)
3155         (debug_names::write_psymbols): Update.
3156         * psympriv.h (struct partial_symbol): Derive from
3157         general_symbol_info.
3158         <obj_section>: New method.
3159         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
3160         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3161         (find_pc_sect_psymbol, fixup_psymbol_section)
3162         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
3163         (print_partial_symbols, recursively_search_psymtabs)
3164         (compare_psymbols, psymbol_hash, psymbol_compare)
3165         (add_psymbol_to_bcache, maintenance_check_psymtabs)
3166         (psymbol_name_matches, psym_fill_psymbol_map): Update.
3167
3168 2018-07-26  Tom Tromey  <tromey@redhat.com>
3169
3170         * dbxread.c (end_psymtab): Remove dead code.
3171
3172 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
3173
3174         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
3175         DWARF unwinders are disabled.
3176         * dwarf2-frame.c: Add dwarf2read.h include.
3177         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
3178         disabled.
3179         (dwarf2_frame_unwinders_enabled_p): Define.
3180         (show_dwarf_unwinders_enabled_p): New function.
3181         (_initialize_dwarf2_frame): Register switch to control DWARF
3182         unwinder use.
3183         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
3184         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
3185         (show_dwarf_cmdlist): Remove static keyword.
3186         * dwarf2read.h (set_dwarf_cmdlist): Declare.
3187         (show_dwarf_cmdlist): Declare.
3188         * NEWS: Document new feature.
3189
3190 2018-07-26  Tom de Vries  <tdevries@suse.de>
3191
3192         PR breakpoints/23366
3193         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
3194
3195 2018-07-26  Tom de Vries  <tdevries@suse.de>
3196
3197         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
3198         DW_AT_count can't be translated to a dynamic prop.
3199
3200 2018-07-25  Tom de Vries  <tdevries@suse.de>
3201
3202         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
3203         try/catch.
3204
3205 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
3206
3207         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
3208
3209 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
3210
3211         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
3212
3213 2018-07-24  Keith Seitz  <keiths@redhat.comt
3214
3215         PR symtab/23010
3216         * dwarf2read.c (dw2_add_symbol_to_list): New function.
3217         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
3218         instead of add_symbol_to_list.
3219         (read_file_scope): Call prepare_one_comp_unit before reading
3220         any other DIEs.
3221
3222 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
3223
3224         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
3225
3226 2018-07-24  Tom Tromey  <tom@tromey.com>
3227
3228         * utils.c (malloc, realloc, free): Don't declare.
3229         * configure, config.in: Rebuild.
3230         * configure.ac: Don't check for declarations of free, malloc, or
3231         realloc.
3232
3233 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3234
3235         * aarch64-linux-nat.c
3236         (aarch64_linux_nat_target::stopped_data_address): Remove unused
3237         variable.
3238         * arm-linux-nat.c (fetch_regs): Likewise.
3239         (store_regs): Likewise.
3240         (fetch_vfp_regs): Likewise.
3241         (store_vfp_regs): Likewise.
3242         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
3243         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
3244         (arm_linux_nat_target::insert_watchpoint): Likewise.
3245         (arm_linux_nat_target::remove_watchpoint): Likewise.
3246         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
3247         Likewise.
3248         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
3249         Likewise.
3250         * ppc-linux-nat.c (fetch_register): Likewise.
3251         (fetch_all_gp_regs): Likewise.
3252         (fetch_ppc_registers): Likewise.
3253         (store_all_gp_regs): Likewise.
3254         (store_ppc_registers): Likewise.
3255         (hwdebug_insert_point): Likewise.
3256         (can_use_watchpoint_cond_accel): Likewise.
3257         * remote-sim.c (gdb_os_write_stdout): Likewise.
3258
3259 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3260             Tom Tromey  <tom@tromey.com>
3261
3262         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
3263         test for it.
3264         * configure: Rebuild.
3265
3266 2018-07-22  Tom Tromey  <tom@tromey.com>
3267
3268         * regformats/regdat.sh: Define xmltarget_${name} inside
3269         #ifndef IN_PROCESS_AGENT.
3270
3271 2018-07-22  Tom Tromey  <tom@tromey.com>
3272
3273         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
3274
3275 2018-07-22  Tom Tromey  <tom@tromey.com>
3276
3277         * symfile.c (reread_symbols): Notify iter, not objfile.
3278
3279 2018-07-22  Tom Tromey  <tom@tromey.com>
3280
3281         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
3282         Use arch_ops.
3283         (ravenscar_thread_target::prepare_to_store): Likewise.
3284
3285 2018-07-22  Tom Tromey  <tom@tromey.com>
3286
3287         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
3288         unused variable.  Call value_fetch_lazy when needed.
3289         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
3290         Remove unused variable.  Call value_fetch_lazy when needed.
3291
3292 2018-07-22  Tom Tromey  <tom@tromey.com>
3293
3294         * m32c-tdep.c (mark_dma): Return void.
3295         (make_regs): Remove unused declarations.
3296
3297 2018-07-22  Tom Tromey  <tom@tromey.com>
3298
3299         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
3300         cmdscm_get_valid_command_smob_arg_unsafe for effect.
3301         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
3302         bkscm_get_valid_block_smob_arg_unsafe for effect.
3303
3304 2018-07-22  Tom Tromey  <tom@tromey.com>
3305
3306         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
3307         value_type.
3308
3309 2018-07-22  Tom Tromey  <tom@tromey.com>
3310
3311         * windows-nat.c (saved_context): Conditionally define.
3312         * remote.c (remote_target::remote_btrace_maybe_reopen):
3313         Conditionally declare "warned".
3314         * inflow.c (sigquit_ours): Conditionally define.
3315         (new_tty): Move "tty" declaration inside #if.
3316         * guile/guile.c (guile_datadir): Conditionally define.
3317         * charset.c (set_be_le_names): Move some declarations inside #if.
3318         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
3319         #if.
3320         (parse_xml_btrace_conf): Likewise.
3321
3322 2018-07-22  Tom Tromey  <tom@tromey.com>
3323
3324         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
3325
3326 2018-07-22  Tom Tromey  <tom@tromey.com>
3327
3328         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
3329         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
3330         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
3331         * buildsym-legacy.c (get_macro_table): Remove unused variable.
3332         * stack.c (frame_apply_level_command): Remove unused variable.
3333         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
3334         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
3335         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
3336         unused variable.
3337         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
3338         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
3339         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
3340         variable.
3341         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
3342         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
3343         variable.
3344         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
3345         Remove unused variable.
3346         * cli/cli-script.c (recurse_read_control_structure): Remove unused
3347         variable.
3348         * common/tdesc.c (print_xml_feature::visit): Remove unused
3349         variable.
3350         * compile/compile-object-load.c (store_regs): Remove unused
3351         variables.
3352         * complaints.c (clear_complaints): Remove unused variable.
3353         * corelow.c (core_target_open): Remove unused variable.
3354         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
3355         variable.
3356         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
3357         variable.
3358         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
3359         variable.
3360         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
3361         variable.
3362         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
3363         variable.
3364         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
3365         variable.
3366         * ia64-tdep.c (examine_prologue): Remove unused variable.
3367         * infcall.c (run_inferior_call): Remove unused variable.
3368         * inferior.c (exit_inferior): Remove unused variable.
3369         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
3370         * linespec.c (decode_line_2): Remove unused variable.
3371         * linux-nat.c (super_close): Remove.
3372         * linux-tdep.c (linux_info_proc): Remove unused variable.
3373         * mi/mi-main.c (mi_execute_command): Remove unused variable.
3374         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
3375         Remove unused variable.
3376         * parse.c (find_minsym_type_and_address): Remove unused variable.
3377         * printcmd.c (info_symbol_command, printf_floating): Remove unused
3378         variable.
3379         * python/py-breakpoint.c (bppy_set_commands): Remove unused
3380         variable.
3381         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
3382         variables.
3383         * record-btrace.c (record_btrace_target::store_registers): Remove
3384         unused variable.
3385         (cmd_show_record_btrace_cpu): Remove unused variable.
3386         * riscv-tdep.c (riscv_register_reggroup_p)
3387         (riscv_push_dummy_call, riscv_return_value): Remove unused
3388         variable.
3389         * rust-exp.y (literal): Remove unused variable.
3390         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
3391         unused variable.
3392         <STRUCTOP_ANONYMOUS>: Likewise.
3393         * s390-linux-tdep.c (s390_linux_init_abi_31)
3394         (s390_linux_init_abi_64): Remove unused variable.
3395         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
3396         (file_select_thread, net_windows_open, _initialize_ser_windows):
3397         Remove unused variables.
3398         * symtab.c (find_pc_sect_line): Remove unused variable.
3399         * target-memory.c (compute_garbled_blocks): Remove unused
3400         variable.
3401         (target_write_memory_blocks): Remove unused variable.
3402         * target.c (target_stack::unpush): Remove unused variables.
3403         * tracepoint.c (start_tracing, all_tracepoint_actions)
3404         (merge_uploaded_trace_state_variables)
3405         (print_one_static_tracepoint_marker): Remove unused variable.
3406         * unittests/basic_string_view/element_access/char/1.cc (test01):
3407         Remove unused variable.
3408         * windows-nat.c (windows_continue, windows_add_all_dlls)
3409         (do_initial_windows_stuff, windows_nat_target::create_inferior):
3410         Remove unused variables.
3411
3412 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
3413
3414         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
3415         attr_profile in HAVE_ELF.
3416         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
3417         HAVE_ELF.
3418
3419 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
3420
3421         * frame.c (frame_register_unwind): Change parameter name.
3422         (frame_unwind_register): Likewise.
3423         (frame_unwind_register_value): Likewise.
3424         (frame_unwind_register_signed): Likewise.
3425         (frame_unwind_register_unsigned): Likewise.
3426         * frame.h (frame_register_unwind): Likewise.
3427         (frame_unwind_register): Likewise.
3428         (frame_unwind_register_value): Likewise.
3429         (frame_unwind_register_signed): Likewise.
3430         (frame_unwind_register_unsigned): Likewise.
3431         (frame_unwind_arch): Likewise.
3432
3433 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3434
3435         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
3436         ISA maintenance.
3437
3438 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3439
3440         * mips-linux-nat.c (mips_linux_nat_target::read_description):
3441         Call `get_ptrace_pid' rather than extracting the ptrace PID by
3442         hand.
3443
3444 2018-07-20  Keith Seitz  <keiths@redhat.com>
3445
3446         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
3447         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
3448         m_compunit_symtab, m_language>: Add "m_" prefix.
3449         Update all uses.
3450         * buildsym.c: Update all uses.
3451
3452 2018-07-20  Tom Tromey  <tom@tromey.com>
3453
3454         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
3455         * buildsym.h (record_line_ftype): Remove typedef.
3456
3457 2018-07-20  Tom Tromey  <tom@tromey.com>
3458
3459         * buildsym-legacy.h (augment_type_symtab): Don't declare.
3460         (end_expandable_symtab): Likewise.
3461         (end_symtab_get_static_block): Likewise.
3462         (end_symtab_from_static_block): Likewise.
3463         * buildsym-legacy.c (augment_type_symtab): Remove.
3464         (end_expandable_symtab): Remove.
3465         (end_symtab_get_static_block): Remove.
3466         (end_symtab_from_static_block): Remove.
3467
3468 2018-07-20  Tom Tromey  <tom@tromey.com>
3469
3470         * dwarf2read.c: Include buildsym.h.
3471         (struct dwarf2_cu) <builder>: New method.
3472         (fixup_go_packaging): Update.
3473         (process_full_comp_unit, process_full_type_unit): Update.  Don't
3474         use scoped_free_pendings.
3475         (using_directives): Add "cu" parameter, remove "language".
3476         (read_import_statement, setup_type_unit_groups, )
3477         (read_func_scope, read_lexical_block_scope)
3478         (dwarf2_record_block_ranges, read_namespace): Update.
3479         (lnp_state_machine::lnp_state_machine): Add cu parameter.
3480         (lnp_state_machine::handle_end_sequence): Update.
3481         (class lnp_state_machine) <m_cu>: New member.
3482         <m_record_line_callback>: Remove.
3483         <m_currently_recording_lines>: New member.
3484         (lnp_state_machine::handle_set_file): Update.
3485         (noop_record_line): Remove.
3486         (dwarf_record_line_p): Add cu parameter.
3487         (dwarf_record_line_1, dwarf_finish_line): Likewise.
3488         (lnp_state_machine::record_line)
3489         (lnp_state_machine::lnp_state_machine)
3490         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3491         (dwarf_decode_lines): Update.
3492         (dwarf2_start_subfile): Add cu parameter.
3493         (dwarf2_start_symtab, new_symbol): Update.
3494         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
3495         Remove dwarf2_per_objfile parameter.
3496         (dwarf_decode_macros): Update.
3497
3498 2018-07-20  Tom Tromey  <tom@tromey.com>
3499
3500         * stabsread.c (define_symbol): Update.
3501         * buildsym-legacy.h (get_buildsym_compunit): Declare.
3502         * dwarf2read.c (new_symbol): Update.
3503         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
3504         * cp-namespace.c: Include buildsym.h.
3505         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
3506         * buildsym-legacy.c (get_buildsym_compunit): New function.
3507
3508 2018-07-20  Tom Tromey  <tom@tromey.com>
3509
3510         * xcoffread.c: Include buildsym-legacy.h.
3511         * windows-nat.c: Include buildsym-legacy.h.
3512         * stabsread.c: Include buildsym-legacy.h.
3513         * mdebugread.c: Include buildsym-legacy.h.
3514         * buildsym-legacy.h: New file.
3515         * buildsym-legacy.c: New file, from buildsym.c.
3516         * go32-nat.c: Include buildsym-legacy.h.
3517         * dwarf2read.c: Include buildsym-legacy.h.
3518         * dbxread.c: Include buildsym-legacy.h.
3519         * cp-namespace.c: Include buildsym-legacy.h.
3520         * coffread.c: Include buildsym-legacy.h.
3521         * buildsym.h: Move some contents to buildsym-legacy.h.
3522         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
3523         buildsym-legacy.c.
3524         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
3525
3526 2018-07-20  Tom Tromey  <tom@tromey.com>
3527
3528         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
3529         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
3530         (buildsym_compunit::buildsym_compunit)
3531         (buildsym_compunit::~buildsym_compunit)
3532         (buildsym_compunit::get_macro_table): Define.
3533
3534 2018-07-20  Tom Tromey  <tom@tromey.com>
3535
3536         * buildsym.c (reset_symtab_globals): Remove.
3537         (buildsym_compunit::end_symtab_from_static_block): Update.
3538         (buildsym_compunit::augment_type_symtab): Update.
3539         (end_symtab_from_static_block): Call free_buildsym_compunit.
3540         (augment_type_symtab, end_symtab, end_expandable_symtab):
3541         Likewise.
3542
3543 2018-07-20  Tom Tromey  <tom@tromey.com>
3544
3545         * arch-utils.c: Do not include buildsym.h.
3546         * mipsread.c: Do not include buildsym.h.
3547         * machoread.c: Do not include buildsym.h.
3548         * elfread.c: Do not include buildsym.h.
3549
3550 2018-07-20  Tom Tromey  <tom@tromey.com>
3551
3552         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
3553         initialization.
3554         (buildsym_compunit): Add new constructor.
3555         (struct buildsym_compunit) <get_last_source_file, finish_block,
3556         record_block_range, start_subfile, patch_subfile_names,
3557         push_subfile, pop_subfile, record_line, get_compunit_symtab,
3558         set_last_source_start_addr, get_last_source_start_addr,
3559         get_local_using_directives, set_local_using_directives,
3560         get_global_using_directives, outermost_context_p,
3561         get_current_context_stack, get_context_stack_depth,
3562         get_current_subfile, get_local_symbols, get_file_symbols,
3563         get_global_symbols, record_debugformat, record_producer,
3564         push_context, pop_context, end_symtab_get_static_block,
3565         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
3566         New public methods.
3567         <record_pending_block, finish_block_internal, make_blockvector,
3568         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
3569         private methods.
3570         Update all users.
3571
3572 2018-05-22  Tom Tromey  <tom@tromey.com>
3573
3574         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3575         parameter.
3576         (finish_block_internal): Update.
3577
3578 2018-07-20  Tom Tromey  <tom@tromey.com>
3579
3580         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3581         parameter.
3582         (finish_block_internal): Update.
3583
3584 2018-07-20  Tom Tromey  <tom@tromey.com>
3585
3586         * buildsym.h (EXTERN): Don't define or undef.
3587         * buildsym.c (EXTERN): Don't define.
3588
3589 2018-07-20  Tom Tromey  <tom@tromey.com>
3590
3591         * buildsym.c: Remove TODO comment.
3592
3593 2018-07-20  Tom Tromey  <tom@tromey.com>
3594
3595         * coffread.c (coff_symtab_read): Update.
3596         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
3597         (xcoff_new_init): Update.
3598         * mipsread.c (mipscoff_new_init): Update.
3599         * mdebugread.c (mdebug_build_psymtabs): Update.
3600         * elfread.c (elf_new_init): Update.
3601         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3602         Update.
3603         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
3604         (coffstab_build_psymtabs, elfstab_build_psymtabs)
3605         (stabsect_build_psymtabs): Update.
3606         * buildsym.h (buildsym_init): Don't declare.
3607         * buildsym.c: Update comment.
3608         (prepare_for_building): Remove.
3609         (start_symtab, restart_symtab): Update.
3610         (reset_symtab_globals): Update comment.
3611         (buildsym_init): Remove.
3612
3613 2018-07-20  Tom Tromey  <tom@tromey.com>
3614
3615         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
3616         * stabsread.c (patch_block_stabs, define_symbol, read_type)
3617         (read_enum_type, common_block_start, common_block_end)
3618         (cleanup_undefined_types_1, finish_global_stabs): Update.
3619         * mdebugread.c (psymtab_to_symtab_1): Update.
3620         * dwarf2read.c (fixup_go_packaging, read_func_scope)
3621         (read_lexical_block_scope, new_symbol): Update.
3622         * dbxread.c (process_one_symbol): Update.
3623         * coffread.c (coff_symtab_read, process_coff_symbol)
3624         (coff_read_enum_type): Update.
3625         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
3626         declare.
3627         (get_local_symbols, get_file_symbols, get_global_symbols): New
3628         functions.
3629         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
3630         m_global_symbols.
3631         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
3632         (~scoped_free_pendings): Update.
3633         (finish_block, prepare_for_building, reset_symtab_globals)
3634         (end_symtab_get_static_block, end_symtab_with_blockvector)
3635         (augment_type_symtab, push_context): Update.
3636         (get_local_symbols, get_file_symbols, get_global_symbols): New
3637         functions.
3638         (buildsym_init): Update.
3639
3640 2018-07-20  Tom Tromey  <tom@tromey.com>
3641
3642         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
3643         (process_full_type_unit): Likewise.
3644         (dwarf2_start_symtab): Set list_in_scope.
3645
3646 2018-07-20  Tom Tromey  <tom@tromey.com>
3647
3648         * dwarf2read.c (process_psymtab_comp_unit_reader)
3649         (build_type_psymtabs_reader): Do not set list_in_scope.
3650
3651 2018-07-20  Tom Tromey  <tom@tromey.com>
3652
3653         * buildsym.c (free_pendings): Remove.
3654         (add_symbol_to_list, scoped_free_pendings)
3655         (finish_block_internal, buildsym_init): Update.
3656
3657 2018-07-20  Tom Tromey  <tom@tromey.com>
3658
3659         * xcoffread.c (read_xcoff_symtab): Update.
3660         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
3661         Update.
3662         * dbxread.c (process_one_symbol): Update.
3663         * coffread.c (coff_symtab_read): Update.
3664         * buildsym.h (finish_block): Update.
3665         * buildsym.c (finish_block): Remove "listhead" argument.
3666         (end_symtab_get_static_block): Update.
3667
3668 2018-07-20  Tom Tromey  <tom@tromey.com>
3669
3670         * buildsym.h (class scoped_free_pendings): Remove constructor.
3671         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
3672         method.
3673         <m_pending_block_obstack, m_pending_blocks>: New members.
3674         (pending_block_obstack, pending_blocks): Remove.
3675         (scoped_free_pendings::scoped_free_pendings): Default.
3676         (~scoped_free_pendings): Update.
3677         (free_pending_blocks): Remove.
3678         (finish_block_internal, record_pending_block, make_blockvector)
3679         (end_symtab_get_static_block, augment_type_symtab, push_context)
3680         (buildsym_init): Update.
3681
3682 2018-07-20  Tom Tromey  <tom@tromey.com>
3683
3684         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
3685         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
3686         members.
3687         (pending_addrmap, pending_addrmap_obstack)
3688         (pending_addrmap_interesting): Remove.
3689         (scoped_free_pendings, record_block_range, make_blockvector)
3690         (prepare_for_building, reset_symtab_globals, buildsym_init):
3691         Update.
3692
3693 2018-07-20  Tom Tromey  <tom@tromey.com>
3694
3695         * xcoffread.c (process_linenos): Update.
3696         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
3697         * mdebugread.c (psymtab_to_symtab_1): Update.
3698         * dwarf2read.c (setup_type_unit_groups)
3699         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
3700         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
3701         * dbxread.c (process_one_symbol): Update.
3702         * coffread.c (coff_symtab_read, enter_linenos)
3703         (process_coff_symbol): Update.
3704         * buildsym.h (current_subfile): Don't declare.
3705         (get_current_subfile): Declare.
3706         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
3707         member.
3708         (start_subfile, free_buildsym_compunit, push_subfile)
3709         (prepare_for_building, start_symtab): Update.
3710         (get_current_subfile): New function.
3711
3712 2018-07-20  Tom Tromey  <tom@tromey.com>
3713
3714         * coffread.c (coff_symtab_read): Update.
3715         * xcoffread.c (read_xcoff_symtab): Update.
3716         * dwarf2read.c (new_symbol): Update.
3717         (read_func_scope, read_lexical_block_scope): Update.
3718         * dbxread.c (process_one_symbol): Update.
3719         * buildsym.h (context_stack, context_stack_depth): Don't declare.
3720         (outermost_context_p): Remove macro.
3721         (outermost_context_p, get_current_context_stack)
3722         (get_context_stack_depth): Declare.
3723         (pop_context): Return struct context_stack.
3724         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
3725         member.
3726         (context_stack_size): Remove.
3727         (INITIAL_CONTEXT_STACK_SIZE): Remove.
3728         (prepare_for_building, end_symtab_get_static_block)
3729         (augment_type_symtab, push_context): Update.
3730         (pop_context): Return struct context_stack.
3731         (outermost_context_p, get_current_context_stack)
3732         (get_context_stack_depth): New functions.
3733         (buildsym_init): Update.
3734
3735 2018-07-20  Tom Tromey  <tom@tromey.com>
3736
3737         * rust-exp.y: Now a pure parser.  Update all rules.
3738         (%union): Move earlier.
3739         (current_parser, work_obstack): Remove globals.
3740         (rust_parser, ~rust_parser): Update.
3741         (class rust_parser) <copy_name, concat3, crate_name, super_name,
3742         lex_character, lex_number, lex_string, lex_identifier,
3743         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
3744         convert_name, convert_params_to_expression,
3745         convert_ast_to_expression, ast_basic_type, ast_operation,
3746         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
3747         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
3748         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
3749         ast_array_type, ast_slice_type, ast_reference_type,
3750         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
3751         (rust_parse): Update.
3752         (rustyyerror, rustyylex): Add parser parameter.
3753         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
3754         (rust_lex_stringish_test, rust_lex_test_sequence)
3755         (rust_lex_test_trailing_dot, rust_lex_test_completion)
3756         (rust_lex_test_push_back, rust_lex_tests): Update.
3757
3758 2018-07-19  Pedro Alves  <palves@redhat.com>
3759
3760         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
3761         gdb::unique_xmalloc_ptr.
3762         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
3763         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
3764         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
3765         copy-initialization.
3766         * guile/scm-pretty-print.c (ppscm_print_children): Use
3767         gdb::unique_xmalloc_ptr instead of cleanups.
3768         (gdbscm_apply_val_pretty_printer): Remove cleanups.
3769         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
3770         gdb::unique_xmalloc_ptr.
3771         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3772         Adjust to use gdb::unique_xmalloc_ptr.
3773         * guile/scm-utils.c (extract_arg): Adjust.
3774         * guile/scm-value.c (gdbscm_value_field): Adjust to use
3775         gdb::unique_xmalloc_ptr instead of a cleanup.
3776
3777 2018-07-19  Tom Tromey  <tom@tromey.com>
3778
3779         * utils.c (do_value_free_to_mark)
3780         (make_cleanup_value_free_to_mark): Remove.
3781         * utils.h (make_cleanup_value_free_to_mark): Remove.
3782
3783 2018-07-19  Pedro Alves  <palves@redhat.com>
3784
3785         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
3786         forwarding reference.
3787
3788 2018-07-18  Pedro Alves  <palves@redhat.com>
3789
3790         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
3791         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
3792         cleanup.
3793
3794 2018-07-18  Pedro Alves  <palves@redhat.com>
3795
3796         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
3797         exceptions.
3798         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
3799         (gdbscm_wrap): New.
3800         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
3801         directly instead of a cleanup.
3802         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
3803         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
3804         (vlscm_binop_gdbthrow): New, factored out from ...
3805         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
3806         (vlscm_rich_compare): Use gdbscm_wrap.
3807         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
3808         instead of a cleanup.
3809         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
3810         cleanup.
3811         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3812         Use xfree directly instead of a cleanup.
3813         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
3814         Adjust to use gdbscm_wrap and scoped_value_mark.
3815         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
3816         (gdbscm_value_address, gdbscm_value_dereference)
3817         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
3818         scoped_value_mark.
3819         (gdbscm_value_dynamic_type): Use scoped_value_mark.
3820         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
3821         scoped_value_mark.
3822         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
3823         gdbscm_wrap and scoped_value_mark.
3824         (gdbscm_value_to_string): Use xfree directly instead of a
3825         cleanup.  Move 'buffer' unique_ptr to TRY scope.
3826         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
3827         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
3828         scoped_value_mark.
3829         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
3830         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
3831         scoped_value_mark.
3832         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
3833         gdbscm_wrap.
3834
3835 2018-07-18  Tom de Vries  <tdevries@suse.de>
3836
3837         * findvar.c (default_read_var_value): Also resolve dynamic type for
3838         LOC_OPTIMIZED_OUT vars.
3839
3840 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
3841
3842         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
3843         decoding.
3844
3845 2018-07-17  Tom Tromey  <tom@tromey.com>
3846
3847         * guile/scm-param.c (pascm_set_func, pascm_show_func)
3848         (compute_enum_list, pascm_set_param_value_x)
3849         (gdbscm_parameter_value): Update.
3850         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
3851         (gdbscm_scm_to_host_string): Update.
3852         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
3853         Update.
3854         * guile/scm-cmd.c (cmdscm_add_completion): Update.
3855         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
3856         * guile/scm-string.c (gdbscm_scm_to_string): Return
3857         unique_xmalloc_ptr.
3858         (gdbscm_scm_to_host_string): Likewise.
3859
3860 2018-07-17  Tom Tromey  <tom@tromey.com>
3861
3862         * guile/guile.c (gdbscm_eval_from_control_command): Update.
3863         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
3864         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
3865         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
3866         unique_xmalloc_ptr.
3867
3868 2018-07-17  Tom Tromey  <tom@tromey.com>
3869
3870         * guile/scm-param.c (pascm_signal_setshow_error): Update.
3871         * guile/guile-internal.h (gdbscm_exception_message_to_string):
3872         Update.
3873         * guile/scm-cmd.c (cmdscm_function): Update.
3874         * guile/scm-pretty-print.c
3875         (ppscm_print_exception_unless_memory_error): Update.
3876         * guile/scm-exception.c (gdbscm_exception_message_to_string):
3877         Return unique_xmalloc_ptr.
3878
3879 2018-07-17  Tom Tromey  <tom@tromey.com>
3880
3881         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
3882         Use string_printf.
3883
3884 2018-07-17  Jim Wilson  <jimw@sifive.com>
3885
3886         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
3887         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
3888         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
3889         unecessary braces after EF_RISCV_RVC test.  Delete call to
3890         set_gdbarch_decr_pc_after_break.
3891
3892         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
3893         RISCV_LAST_FP_REGNUM + 1.
3894         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
3895
3896 2018-07-17  Tom Tromey  <tom@tromey.com>
3897
3898         * configure.ac: Remove --disable-gdbcli.
3899         * configure: Rebuild.
3900         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
3901         (SUBDIR_CLI_CFLAGS): Remove.
3902         (SFILES): Use SUBDIR_CLI_SRCS.
3903         (COMMON_OBS): Use SUBDIR_CLI_OBS.
3904
3905 2018-07-17  Tom Tromey  <tom@tromey.com>
3906
3907         PR gdb/18624:
3908         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
3909
3910 2018-07-16  Jim Wilson  <jimw@sifive.com>
3911
3912         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
3913
3914 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3915
3916         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
3917         variable.
3918         (libunwind_frame_sniffer): Likewise.
3919         (libunwind_frame_prev_register): Likewise.
3920         (libunwind_sigtramp_frame_sniffer): Likewise.
3921         * ia64-tdep.c (ia64_access_reg): Likewise.
3922         (ia64_access_rse_reg): Likewise.
3923         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
3924         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
3925
3926 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3927
3928         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
3929
3930 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3931
3932         * remote-sim.c (gdbsim_target::close,
3933         gdbsim_target::mourn_inferior): Remove unused variables.
3934
3935 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
3936
3937         * ia64-tdep.c (ktab_buf): New global.
3938         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
3939         (get_kernel_table): Adjust.
3940
3941 2018-07-16  Tom Tromey  <tom@tromey.com>
3942
3943         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
3944         * dwarf2read.c (using_directives, new_symbol): Use
3945         outermost_context_p.
3946         * dbxread.c (process_one_symbol): Use outermost_context_p.
3947         * coffread.c (coff_symtab_read): Use outermost_context_p.
3948
3949 2018-07-16  Tom Tromey  <tom@tromey.com>
3950
3951         * dwarf2read.c (using_directives, read_func_scope)
3952         (read_lexical_block_scope): Update.
3953         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
3954         * buildsym.h (local_using_directives, global_using_directives):
3955         Don't declare.
3956         (get_local_using_directives, set_local_using_directives)
3957         (get_global_using_directives): Declare.
3958         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
3959         m_global_using_directives>: New members.
3960         (finish_block_internal, prepare_for_building)
3961         (reset_symtab_globals, end_symtab_get_static_block)
3962         (push_context): Update.
3963         (get_local_using_directives, set_local_using_directives)
3964         (get_global_using_directives): New functions.
3965         (buildsym_init): Update.
3966
3967 2018-07-16  Tom Tromey  <tom@tromey.com>
3968
3969         * xcoffread.c (xcoff_initial_scan): Don't call
3970         free_pending_blocks.
3971         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
3972         * buildsym.h (class scoped_free_pendings): Add constructor.
3973         (free_pending_blocks): Don't declare.
3974         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
3975         (free_pending_blocks): Now static.
3976
3977 2018-07-16  Tom Tromey  <tom@tromey.com>
3978
3979         * buildsym.h (push_subfile, pop_subfile): Update declarations.
3980         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
3981         member.
3982         (struct subfile_stack): Remove.
3983         (subfile_stack): Remove.
3984         (push_subfile, pop_subfile, buildsym_init): Update.
3985
3986 2018-07-16  Tom Tromey  <tom@tromey.com>
3987
3988         * buildsym.c (push_subfile): Use gdb_assert.
3989         (pop_subfile): Use gdb_assert.
3990
3991 2018-07-16  Tom Tromey  <tom@tromey.com>
3992
3993         * buildsym.h (merge_symbol_lists): Remove.
3994         * buildsym.c (merge_symbol_lists): Remove.
3995
3996 2018-07-16  Tom Tromey  <tom@tromey.com>
3997
3998         * stabsread.c (scan_file_globals): Update comment.
3999         * stabsread.h (scan_file_globals): Move from buildsym.h.
4000         * buildsym.h (scan_file_globals): Move to stabsread.h.
4001
4002 2018-07-16  Tom Tromey  <tom@tromey.com>
4003
4004         * xcoffread.c (xcoff_new_init): Update.
4005         * mipsread.c (mipscoff_new_init): Update.
4006         * mdebugread.c (mdebug_build_psymtabs): Update.
4007         * elfread.c (elf_new_init): Update.
4008         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
4009         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
4010         * buildsym.h (buildsym_new_init): Don't declare.
4011         * buildsym.c (buildsym_new_init): Remove.
4012
4013 2018-07-16  Tom Tromey  <tom@tromey.com>
4014
4015         * stabsread.h (within_function): Move from buildsym.h.
4016         * stabsread.c (start_stabs): Clear within_function.
4017         * coffread.c (coff_start_symtab): Clear within_function.
4018         * buildsym.h (within_function): Move to stabsread.h.
4019         * buildsym.c (prepare_for_building): Update.
4020
4021 2018-07-16  Tom Tromey  <tom@tromey.com>
4022
4023         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
4024         * dwarf2read.c (dwarf2_start_symtab): Don't set
4025         processing_gcc_compilation.
4026         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
4027
4028 2018-07-16  Tom Tromey  <tom@tromey.com>
4029
4030         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
4031         (next_symbol_text_func): Move from buildsym.h.
4032         * stabsread.c (hashname): Move from buildsym.c.
4033         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
4034         (next_symbol_text_func, hashname): Move to stabsread.h.
4035         * buildsym.c: Don't include bcache.h
4036         (hashname): Move to stasbread.c.
4037
4038 2018-07-16  Tom Tromey  <tom@tromey.com>
4039
4040         * buildsym.h (context_stack_size): Don't declare.
4041         * buildsym.c (context_stack_size): New global.
4042
4043 2018-07-16  Tom Tromey  <tom@tromey.com>
4044
4045         * dbxread.c (processing_acc_compilation): New global.
4046         * buildsym.h (processing_acc_compilation): Don't declare.
4047
4048 2018-07-16  Tom Tromey  <tom@tromey.com>
4049
4050         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
4051         * dbxread.c (read_ofile_symtab): Update.
4052         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
4053         * buildsym.h (last_source_start_addr): Remove.
4054         (set_last_source_start_addr, get_last_source_start_addr):
4055         Declare.
4056         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
4057         parameter.
4058         (struct buildsym_compunit) <m_last_source_start_addr>: New
4059         member.
4060         (prepare_for_building): Remove start_addr parameter.
4061         (start_symtab, restart_symtab, end_symtab_get_static_block)
4062         (end_symtab_with_blockvector): Update.
4063         (set_last_source_start_addr, get_last_source_start_addr): New
4064         functions.
4065
4066 2018-07-16  Tom Tromey  <tom@tromey.com>
4067
4068         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
4069         member.
4070         (have_line_numbers): Remove.
4071         (record_line, prepare_for_building, end_symtab_get_static_block)
4072         (augment_type_symtab): Update.
4073
4074 2018-07-16  Tom Tromey  <tom@tromey.com>
4075
4076         * buildsym.c (~buildsym_compunit): Free the macro table.
4077         (struct buildsym_compunit) <get_macro_table, release_macros>: New
4078         methods.
4079         <m_pending_macros>: New member.
4080         (pending_macros): Remove.
4081         (~scoped_free_pendings, get_macro_table, prepare_for_building)
4082         (reset_symtab_globals, end_symtab_get_static_block)
4083         (end_symtab_with_blockvector, augment_type_symtab)
4084         (buildsym_init): Update.
4085
4086 2018-07-16  Tom Tromey  <tom@tromey.com>
4087
4088         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
4089         parameter.
4090         (buildsym_compunit::set_last_source_file): New method.
4091         <m_last_source_file>: New member.
4092         (prepare_for_building): Remove "name" parameter.
4093         (start_symtab, restart_symtab, reset_symtab_globals): Update.
4094         (last_source_file): Remove.
4095         (set_last_source_file, get_last_source_file): Update.
4096
4097 2018-07-16  Tom Tromey  <tom@tromey.com>
4098
4099         * buildsym.c (prepare_for_building): Add assert.
4100
4101 2018-07-16  Tom Tromey  <tom@tromey.com>
4102
4103         * buildsym.c (~buildsym_compunit): Update.
4104         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
4105         (start_subfile, patch_subfile_names)
4106         (end_symtab_with_blockvector): Update.
4107
4108 2018-07-16  Tom Tromey  <tom@tromey.com>
4109
4110         * buildsym.c (struct buildsym_compunit): Add constructor,
4111         destructor, initializers.
4112         (start_buildsym_compunit): Remove.
4113         (free_buildsym_compunit): Use "delete".
4114         (start_symtab, restart_symtab): Use "new".
4115
4116 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
4117
4118         * symfile.c (set_objfile_default_section_offset): Remove struct
4119         keyword.
4120
4121 2018-07-14  Stafford Horne  <shorne@gmail.com>
4122
4123         * (Responsible Maintainers): Add myself as or1k maintainer.
4124
4125 2018-07-13  Tom Tromey  <tom@tromey.com>
4126
4127         * symfile.c (set_objfile_default_section_offset): Use extra braces
4128         around initializer.
4129
4130 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4131
4132         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
4133         non-branching basr.
4134
4135 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4136
4137         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4138         unittests/cli-utils-selftests.c
4139         * unittests/cli-utils-selftests.c: New file.
4140
4141 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4142
4143         * NEWS: Mention new commands. Mention change to 'thread apply'.
4144
4145 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4146
4147         * thread.c (thr_try_catch_cmd): New function.
4148         (thread_apply_all_command): Handle qcs flags.
4149         (thread_apply_command): Handle qcs flags.
4150         (taas_command): New function.
4151         (tfaas_command): New function.
4152         (_initialize_thread): Update to setup the new commands 'taas
4153         and 'tfaas'. Change doc string for 'thread apply'.
4154
4155 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4156
4157         * stack.c: (trailing_outermost_frame): New function, mostly
4158         extracted from backtrace_command_1.
4159         (leading_innermost_frame): New function.
4160         (backtrace_command_1): Update to call trailing_outermost_frame.
4161         (frame_apply_command_count): New function.
4162         (frame_apply_level_command): New function.
4163         (frame_apply_all_command): New function.
4164         (frame_apply_command): New function.
4165         (faas_command): New function.
4166         (frame_cmd_list): New variable.
4167         (_initialize_stack): Update to setup the new commands 'frame apply'
4168         and 'faas'.
4169
4170 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4171
4172         * cli-utils.c (number_or_range_parser::get_number): Only handle
4173         numbers or convenience var as numbers.
4174         (parse_flags): New function.
4175         (parse_flags_qcs): New function.
4176         (number_or_range_parser::finished): Ensure parsing end is detected
4177         before end of string.
4178         * cli-utils.h (parse_flags): New function.
4179         (parse_flags_qcs): New function.
4180         (number_or_range_parser): Remove m_finished bool.
4181         (number_or_range_parser::skip_range): Set m_in_range to false.
4182
4183 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
4184
4185         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
4186         on Windows.
4187
4188 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4189             Jan Kratochvil  <jan.kratochvil@redhat.com>
4190             Paul Fertser  <fercerpav@gmail.com>
4191             Tsutomu Seki  <sekiriki@gmail.com>
4192             Pedro Alves  <palves@redhat.com>
4193
4194         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4195         'unittests/parse-connection-spec-selftests.c'.
4196         (COMMON_SFILES): Add 'common/netstuff.c'.
4197         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
4198         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
4199         * common/netstuff.c: New file.
4200         * common/netstuff.h: New file.
4201         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
4202         (wait_for_connect): Update comment.  New parameter
4203         'gdb::optional<int> sock' instead of 'struct serial *scb'.
4204         Use 'sock' directly instead of 'scb->fd'.
4205         (try_connect): New function, with code from 'net_open'.
4206         (net_open): Rewrite main loop to deal with multiple
4207         sockets/addresses.  Handle IPv6-style hostnames; implement
4208         support for IPv6 connections.
4209         * unittests/parse-connection-spec-selftests.c: New file.
4210
4211 2018-07-11  Pedro Alves  <palves@redhat.com>
4212
4213         PR gdb/23377
4214         * remote.c (remote_target::remote_detach_pid): Call
4215         set_current_process.
4216
4217 2018-07-11  Pedro Alves  <palves@redhat.com>
4218
4219         * h8300-tdep.c (h8300_gdbarch_init): Remove
4220         set_gdbarch_ecoff_reg_to_regnum calls.
4221
4222 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4223
4224         PR c++/23373
4225         * c-typeprint.c (c_type_print_base_struct_union): Don't print
4226         offsets/sizes for static members of a class/struct.
4227
4228 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
4229
4230         * target-descriptions.c (tdesc_register_bitsize): Rename.
4231         * target-descriptions.h (tdesc_register_bitsize): Likewise.
4232         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
4233         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
4234
4235 2018-07-10  Tom Tromey  <tom@tromey.com>
4236
4237         * breakpoint.c (moribund_locations): Now static and a
4238         std::vector.
4239         (breakpoint_init_inferior, moribund_breakpoint_here_p)
4240         (build_bpstat_chain, update_global_location_list)
4241         (breakpoint_retire_moribund): Update.
4242         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
4243         VEC.
4244
4245 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4246
4247         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
4248         (riscv_register_reggroup_p): Use new function, remove unneeded
4249         parenthesis.
4250         (riscv_push_dummy_call): Extend assert to compare against xlen or
4251         flen based on register type.
4252
4253 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4254
4255         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
4256
4257 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
4258
4259         * remote.c (show_hardware_watchpoint_limit): New function.
4260         (show_hardware_watchpoint_length_limit): New function.
4261         (show_hardware_breakpoint_limit): New function.
4262         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
4263         where appropriate, update help text.
4264
4265 2018-07-09  Tom Tromey  <tom@tromey.com>
4266
4267         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
4268         (CLIBS): Don't mention NAT_CLIBS.
4269
4270 2018-07-09  Tom Tromey  <tom@tromey.com>
4271
4272         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
4273         (LIBGDB_OBS, clean mostlyclean): Update.
4274         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
4275
4276 2018-07-09  Tom Tromey  <tom@tromey.com>
4277
4278         * Makefile.in (%.c: %.y): Use ECHO_YACC.
4279         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
4280         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
4281
4282 2018-07-09  Tom Tromey  <tom@tromey.com>
4283
4284         * Makefile.in (ALLDEPFILES): Remove exec.c.
4285         (COMMON_OBS): Remove exec.o.
4286         (COMMON_SFILES): Add exec.c.
4287
4288 2018-07-09  Tom Tromey  <tom@tromey.com>
4289
4290         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
4291
4292 2018-07-09  Tom Tromey  <tom@tromey.com>
4293
4294         * Makefile.in (clean mostlyclean): Remove stamp-version.
4295         (version.c): Depend on stamp-version.
4296         (stamp-version): New rule, from version.c rule.
4297
4298 2018-07-09  Tom Tromey  <tom@tromey.com>
4299
4300         * Makefile.in (init.c): Depend on stamp-init.
4301         (stamp-init): New rule, from init.c rule.
4302         (clean mostlyclean): Remove stamp-init.
4303
4304 2018-07-09  Tom Tromey  <tom@tromey.com>
4305
4306         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
4307         SUBDIR_GCC_COMPILE_SRCS.
4308
4309 2018-07-09  Tom Tromey  <tom@tromey.com>
4310
4311         * Makefile.in (init.c): Remove some unused sed rules.
4312
4313 2018-07-09  Tom Tromey  <tom@tromey.com>
4314
4315         * Makefile.in (TSOBS): Remove.
4316         (INIT_FILES): Update.
4317         (LIBGDB_OBS): Update.
4318         (COMMON_SFILES): Add inflow.c.
4319         (SFILES): Remove inflow.c.
4320
4321 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
4322
4323         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
4324
4325 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
4326
4327         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
4328         get_saveloc_name, is_signal_frame_name, step_name,
4329         init_remote_name, create_addr_space_name,
4330         destroy_addr_space_name, search_unwind_table_name,
4331         find_dyn_list_name): Constify.
4332
4333 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
4334
4335         * darwin-nat.c (darwin_pthread_kill): New function.
4336         (darwin_resume_thread): Use darwin_pthread_kill.
4337
4338 2018-07-05  Tom de Vries  <tdevries@suse.de>
4339
4340         * macroexp.c (macro_buffer) <operator=>: New member function.
4341
4342 2018-07-04  Tom Tromey  <tom@tromey.com>
4343
4344         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
4345
4346 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
4347
4348         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
4349         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
4350         * maint.c: Likewise.
4351         * top.c: Likewise.
4352
4353 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4354
4355         * NEWS: Create a new section for the next release branch.
4356         Rename the section of the current branch, now that it has
4357         been cut.
4358
4359 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4360
4361         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
4362         * version.in: Bump version to 8.2.50.DATE-git.
4363
4364 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
4365             Pedro Alves  <palves@redhat.com>
4366
4367         * linux-nat.c (linux_init_ptrace): Rename to ...
4368         (linux_init_ptrace_procfs): ... this.  Call
4369         linux_proc_init_warnings.
4370         (linux_nat_target::post_attach)
4371         (linux_nat_target::post_startup_inferior): Adjust.
4372         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
4373         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
4374
4375 2018-07-04  Tom de Vries  <tdevries@suse.de>
4376
4377         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
4378         check ...
4379         (read_comp_unit_head): ... here.
4380
4381 2018-07-03  Tom Tromey  <tom@tromey.com>
4382
4383         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
4384         (stop_tracing, tstatus_command)
4385         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
4386         (print_one_static_tracepoint_marker): Update.
4387         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
4388         std::vector.
4389         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
4390         VEC.
4391         (all_tracepoints, static_tracepoints_here): Return std::vector.
4392
4393 2018-07-03  Tom Tromey  <tom@tromey.com>
4394
4395         * common/ptid.c (ptid_equal): Remove.
4396         * common/ptid.h (ptid_equal): Don't declare.
4397         * ada-tasks.c: Update.
4398         * breakpoint.c: Update.
4399         * common/agent.c: Update.
4400         * corelow.c: Update.
4401         * darwin-nat-info.c: Update.
4402         * darwin-nat.c: Update.
4403         * dcache.c: Update.
4404         * dtrace-probe.c: Update.
4405         * dummy-frame.c: Update.
4406         * fbsd-nat.c: Update.
4407         * frame.c: Update.
4408         * gdbthread.h: Update.
4409         * gnu-nat.c: Update.
4410         * go32-nat.c: Update.
4411         * inf-loop.c: Update.
4412         * inf-ptrace.c: Update.
4413         * infcall.c: Update.
4414         * infcmd.c: Update.
4415         * inflow.c: Update.
4416         * infrun.c: Update.
4417         * linux-fork.c: Update.
4418         * linux-nat.c: Update.
4419         * linux-thread-db.c: Update.
4420         * mi/mi-cmd-var.c: Update.
4421         * mi/mi-interp.c: Update.
4422         * mi/mi-main.c: Update.
4423         * nto-procfs.c: Update.
4424         * ppc-linux-tdep.c: Update.
4425         * procfs.c: Update.
4426         * python/py-inferior.c: Update.
4427         * python/py-record-btrace.c: Update.
4428         * python/py-record.c: Update.
4429         * ravenscar-thread.c: Update.
4430         * regcache.c: Update.
4431         * remote-sim.c: Update.
4432         * remote.c: Update.
4433         * sol-thread.c: Update.
4434         * solib.c: Update.
4435         * target.c: Update.
4436         * tui/tui-stack.c: Update.
4437         * varobj.c: Update.
4438         * windows-nat.c: Update.
4439         * windows-tdep.c: Update.
4440
4441 2018-07-03  Tom Tromey  <tom@tromey.com>
4442
4443         * common/ptid.c (ptid_match): Remove.
4444         * common/ptid.h (ptid_match): Don't declare.
4445         * fbsd-nat.c: Update.
4446         * infcmd.c: Update.
4447         * infrun.c: Update.
4448         * linux-nat.c: Update.
4449         * record-btrace.c: Update.
4450         * regcache.c: Update.
4451         * remote.c: Update.
4452
4453 2018-07-03  Tom Tromey  <tom@tromey.com>
4454
4455         * common/ptid.c (ptid_tid_p): Remove.
4456         * common/ptid.h (ptid_tid_p): Don't declare.
4457         * sol-thread.c: Update.
4458
4459 2018-07-03  Tom Tromey  <tom@tromey.com>
4460
4461         * common/ptid.c (ptid_lwp_p): Remove.
4462         * common/ptid.h (ptid_lwp_p): Don't declare.
4463         * fbsd-nat.c: Update.
4464         * linux-nat.c: Update.
4465         * nat/linux-procfs.c: Update.
4466         * nat/x86-linux-dregs.c: Update.
4467         * sol-thread.c: Update.
4468
4469 2018-07-03  Tom Tromey  <tom@tromey.com>
4470
4471         * common/ptid.c (ptid_is_pid): Remove.
4472         * common/ptid.h (ptid_is_pid): Don't declare.
4473         * infrun.c: Update.
4474         * linux-nat.c: Update.
4475         * mi/mi-interp.c: Update.
4476         * remote.c: Update.
4477         * thread.c: Update.
4478
4479 2018-07-03  Tom Tromey  <tom@tromey.com>
4480
4481         * common/ptid.c (ptid_get_tid): Remove.
4482         * common/ptid.h (ptid_get_tid): Don't declare.
4483         * ada-tasks.c: Update.
4484         * aix-thread.c: Update.
4485         * bsd-uthread.c: Update.
4486         * darwin-nat.c: Update.
4487         * fbsd-nat.c: Update.
4488         * i386-darwin-nat.c: Update.
4489         * infrun.c: Update.
4490         * linux-tdep.c: Update.
4491         * nto-procfs.c: Update.
4492         * ppc-ravenscar-thread.c: Update.
4493         * python/py-infthread.c: Update.
4494         * ravenscar-thread.c: Update.
4495         * sol-thread.c: Update.
4496         * sparc-ravenscar-thread.c: Update.
4497         * windows-nat.c: Update.
4498
4499 2018-07-03  Tom Tromey  <tom@tromey.com>
4500
4501         * common/ptid.c (ptid_get_lwp): Remove.
4502         * common/ptid.h (ptid_get_lwp): Don't declare.
4503         * aarch64-linux-nat.c: Update.
4504         * ada-tasks.c: Update.
4505         * aix-thread.c: Update.
4506         * amd64-linux-nat.c: Update.
4507         * arm-linux-nat.c: Update.
4508         * corelow.c: Update.
4509         * fbsd-nat.c: Update.
4510         * fbsd-tdep.c: Update.
4511         * gnu-nat.c: Update.
4512         * i386-cygwin-tdep.c: Update.
4513         * i386-gnu-nat.c: Update.
4514         * i386-linux-nat.c: Update.
4515         * ia64-linux-nat.c: Update.
4516         * inf-ptrace.c: Update.
4517         * infrun.c: Update.
4518         * linux-fork.c: Update.
4519         * linux-nat.c: Update.
4520         * linux-tdep.c: Update.
4521         * linux-thread-db.c: Update.
4522         * mips-linux-nat.c: Update.
4523         * nat/aarch64-linux-hw-point.c: Update.
4524         * nat/aarch64-linux.c: Update.
4525         * nat/linux-btrace.c: Update.
4526         * nat/linux-osdata.c: Update.
4527         * nat/linux-procfs.c: Update.
4528         * nat/x86-linux-dregs.c: Update.
4529         * obsd-nat.c: Update.
4530         * ppc-fbsd-nat.c: Update.
4531         * ppc-linux-nat.c: Update.
4532         * procfs.c: Update.
4533         * python/py-infthread.c: Update.
4534         * ravenscar-thread.c: Update.
4535         * remote.c: Update.
4536         * s390-linux-nat.c: Update.
4537         * sol-thread.c: Update.
4538         * sol2-tdep.c: Update.
4539         * spu-linux-nat.c: Update.
4540         * x86-linux-nat.c: Update.
4541         * xtensa-linux-nat.c: Update.
4542
4543 2018-07-03  Tom Tromey  <tom@tromey.com>
4544
4545         * common/ptid.c (ptid_get_pid): Remove.
4546         * common/ptid.h (ptid_get_pid): Don't declare.
4547         * aarch64-linux-nat.c: Update.
4548         * ada-lang.c: Update.
4549         * aix-thread.c: Update.
4550         * alpha-bsd-nat.c: Update.
4551         * amd64-fbsd-nat.c: Update.
4552         * amd64-linux-nat.c: Update.
4553         * arm-linux-nat.c: Update.
4554         * arm-nbsd-nat.c: Update.
4555         * auxv.c: Update.
4556         * break-catch-syscall.c: Update.
4557         * breakpoint.c: Update.
4558         * bsd-uthread.c: Update.
4559         * corelow.c: Update.
4560         * ctf.c: Update.
4561         * darwin-nat.c: Update.
4562         * fbsd-nat.c: Update.
4563         * fbsd-tdep.c: Update.
4564         * gcore.c: Update.
4565         * gnu-nat.c: Update.
4566         * hppa-nbsd-nat.c: Update.
4567         * hppa-obsd-nat.c: Update.
4568         * i386-fbsd-nat.c: Update.
4569         * ia64-linux-nat.c: Update.
4570         * inf-ptrace.c: Update.
4571         * infcmd.c: Update.
4572         * inferior.c: Update.
4573         * inferior.h: Update.
4574         * inflow.c: Update.
4575         * infrun.c: Update.
4576         * linux-fork.c: Update.
4577         * linux-nat.c: Update.
4578         * linux-tdep.c: Update.
4579         * linux-thread-db.c: Update.
4580         * m68k-bsd-nat.c: Update.
4581         * mi/mi-interp.c: Update.
4582         * mi/mi-main.c: Update.
4583         * mips-linux-nat.c: Update.
4584         * mips-nbsd-nat.c: Update.
4585         * mips64-obsd-nat.c: Update.
4586         * nat/aarch64-linux-hw-point.c: Update.
4587         * nat/aarch64-linux.c: Update.
4588         * nat/linux-btrace.c: Update.
4589         * nat/linux-osdata.c: Update.
4590         * nat/linux-procfs.c: Update.
4591         * nat/x86-linux-dregs.c: Update.
4592         * nto-procfs.c: Update.
4593         * obsd-nat.c: Update.
4594         * ppc-linux-nat.c: Update.
4595         * ppc-nbsd-nat.c: Update.
4596         * ppc-obsd-nat.c: Update.
4597         * proc-service.c: Update.
4598         * procfs.c: Update.
4599         * python/py-inferior.c: Update.
4600         * python/py-infthread.c: Update.
4601         * ravenscar-thread.c: Update.
4602         * record.c: Update.
4603         * remote-sim.c: Update.
4604         * remote.c: Update.
4605         * rs6000-nat.c: Update.
4606         * s390-linux-nat.c: Update.
4607         * sh-nbsd-nat.c: Update.
4608         * sol-thread.c: Update.
4609         * sparc-nat.c: Update.
4610         * sparc64-tdep.c: Update.
4611         * spu-linux-nat.c: Update.
4612         * spu-tdep.c: Update.
4613         * target-debug.h: Update.
4614         * target.c: Update.
4615         * thread.c: Update.
4616         * tid-parse.c: Update.
4617         * tracefile-tfile.c: Update.
4618         * vax-bsd-nat.c: Update.
4619         * windows-nat.c: Update.
4620         * x86-linux-nat.c: Update.
4621         * x86-nat.c: Update.
4622
4623 2018-07-03  Tom Tromey  <tom@tromey.com>
4624
4625         * common/ptid.c (pid_to_ptid): Remove.
4626         * common/ptid.h (pid_to_ptid): Don't declare.
4627         * aix-thread.c: Update.
4628         * arm-linux-nat.c: Update.
4629         * common/ptid.c: Update.
4630         * common/ptid.h: Update.
4631         * corelow.c: Update.
4632         * ctf.c: Update.
4633         * darwin-nat.c: Update.
4634         * fbsd-nat.c: Update.
4635         * fork-child.c: Update.
4636         * gnu-nat.c: Update.
4637         * go32-nat.c: Update.
4638         * inf-ptrace.c: Update.
4639         * infcmd.c: Update.
4640         * inferior.c: Update.
4641         * infrun.c: Update.
4642         * linux-fork.c: Update.
4643         * linux-nat.c: Update.
4644         * nat/aarch64-linux-hw-point.c: Update.
4645         * nat/fork-inferior.c: Update.
4646         * nat/x86-linux-dregs.c: Update.
4647         * nto-procfs.c: Update.
4648         * obsd-nat.c: Update.
4649         * procfs.c: Update.
4650         * progspace.c: Update.
4651         * remote.c: Update.
4652         * rs6000-nat.c: Update.
4653         * s390-linux-nat.c: Update.
4654         * sol-thread.c: Update.
4655         * spu-linux-nat.c: Update.
4656         * target.c: Update.
4657         * top.c: Update.
4658         * tracefile-tfile.c: Update.
4659         * windows-nat.c: Update.
4660
4661 2018-07-03  Tom Tromey  <tom@tromey.com>
4662
4663         * common/ptid.h (ptid_build): Don't declare.
4664         * common/ptid.c (ptid_build): Remove.
4665         * aix-thread.c: Update.
4666         * bsd-kvm.c: Update.
4667         * bsd-uthread.c: Update.
4668         * common/agent.c: Update.
4669         * common/ptid.c: Update.
4670         * common/ptid.h: Update.
4671         * corelow.c: Update.
4672         * darwin-nat.c: Update.
4673         * fbsd-nat.c: Update.
4674         * gnu-nat.c: Update.
4675         * linux-fork.c: Update.
4676         * linux-nat.c: Update.
4677         * linux-thread-db.c: Update.
4678         * nat/linux-osdata.c: Update.
4679         * nat/linux-procfs.c: Update.
4680         * nto-procfs.c: Update.
4681         * obsd-nat.c: Update.
4682         * proc-service.c: Update.
4683         * procfs.c: Update.
4684         * ravenscar-thread.c: Update.
4685         * remote-sim.c: Update.
4686         * remote.c: Update.
4687         * sol-thread.c: Update.
4688         * target.c: Update.
4689         * windows-nat.c: Update.
4690
4691 2018-07-03  Tom Tromey  <tom@tromey.com>
4692
4693         * infrun.c (follow_exec): Use exit_inferior_silent.
4694         * inferior.c (exit_inferior_num_silent): Remove.
4695         * inferior.h (exit_inferior_num_silent): Don't declare.
4696
4697 2018-07-03  Tom Tromey  <tom@tromey.com>
4698
4699         PR cli/23340:
4700         * darwin-nat.c (darwin_attach_pid): Reset inferior and
4701         inferior_ptid on error.
4702
4703 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
4704             Simon Marchi  <simon.marchi@polymtl.ca>
4705
4706         PR tdep/8282
4707         * disasm.h (gdb_disassembler): Add
4708         `m_disassembler_options_holder'. member
4709         * disasm.c (get_all_disassembler_options): New function.
4710         (gdb_disassembler::gdb_disassembler): Use it.
4711         (gdb_buffered_insn_length_init_dis): Likewise.
4712         (gdb_buffered_insn_length): Adjust accordingly.
4713         (set_disassembler_options): Handle options with arguments.
4714         (show_disassembler_options_sfunc): Likewise.  Add a leading new
4715         line if showing options with descriptions.
4716         (disassembler_options_completer): Adapt to using the
4717         `disasm_options_and_args_t' structure.
4718         * mips-tdep.c (mips_disassembler_options): New variable.
4719         (mips_disassembler_options_o32): Likewise.
4720         (mips_disassembler_options_n32): Likewise.
4721         (mips_disassembler_options_n64): Likewise.
4722         (gdb_print_insn_mips): Don't set `disassembler_options'.
4723         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
4724         functions.
4725         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
4726         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
4727         `gdbarch_disassembler_options_implicit' and
4728         `gdbarch_valid_disassembler_options'.
4729         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
4730         `disasm_options_and_args_t' structure.
4731         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
4732         method.
4733         (valid_disassembler_options): Switch from `disasm_options_t' to
4734         the `disasm_options_and_args_t' structure.
4735         * NEWS: Document `set disassembler-options' support for the MIPS
4736         target.
4737         * gdbarch.h: Regenerate.
4738         * gdbarch.c: Regenerate.
4739
4740 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4741
4742         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
4743
4744 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
4745
4746         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
4747         parameter in call to amd64_target_description.
4748         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
4749         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
4750         (amd64fbsd_init_abi): Likewise.
4751         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
4752         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
4753         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
4754         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
4755
4756 2018-06-29  Pedro Alves  <palves@redhat.com>
4757
4758         * gdb/amd64-tdep.h (amd64_create_target_description): Add
4759         "segments" parameter.
4760         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
4761         (_initialize_amd64_tdep): Update call to
4762         amd64_create_target_description.
4763         (amd64_target_description): Add "segments" parameter.  Adjust
4764         the implementation to use it.
4765         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
4766         call to amd64_create_target_description.
4767         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
4768         * gdb/arch/amd64.h (amd64_create_target_description): Add
4769         "segments" register.
4770         * gdb/arch/amd64.c (amd64_create_target_description): Add
4771         "segments" parameter.  Call create_feature_i386_64bit_segments
4772         only if SEGMENTS is true.
4773         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
4774         call to amd64_create_target_description.
4775
4776 2018-06-29  Pedro Alves  <palves@redhat.com>
4777
4778         * thread.c (thread_target_id_str): New, factored out from ...
4779         (print_thread_info_1): ... here.  Use it to compute the max
4780         "Target Id" column width.
4781
4782 2018-06-29  Pedro Alves  <palves@redhat.com>
4783
4784         * remote.c (remote_target::extra_thread_info): Delete
4785         'display_buf' and 'n' locals.  from the cache, regardless of
4786         packet mechanims is in use.  Use cache for qThreadExtra and qP
4787         methods too.
4788
4789 2018-06-29  Pedro Alves  <palves@redhat.com>
4790
4791         * blockframe.c (find_pc_sect_containing_function): New function.
4792         * breakpoint.c (print_breakpoint_location): Don't call
4793         find_pc_sect_function.
4794         * linespec.c (create_sals_line_offset): Record the location's
4795         symbol in the sal.
4796         * linespec.c (convert_address_location_to_sals): Fill in sal's
4797         symbol with find_pc_sect_containing_function.
4798         * symtab.c (find_function_start_sal): Rename to ...
4799         (find_function_start_sal_1): ... this.
4800         (find_function_start_sal): Reimplement as wrapper around
4801         find_function_start_sal_1, and use
4802         find_pc_sect_containing_function to fill in the sal's symbol.
4803         (find_function_start_sal(symbol*, bool)): Adjust.
4804         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
4805         comments.
4806         (find_pc_sect_containing_function): Declare.
4807
4808 2018-06-29  Pedro Alves  <palves@redhat.com>
4809
4810         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
4811         true if the the location has no symbol.
4812
4813 2018-06-28  Tom Tromey  <tom@tromey.com>
4814
4815         * NEWS: Mention --enable-codesign.
4816         * silent-rules.mk (ECHO_SIGN): New variable.
4817         * configure.ac: Add --enable-codesign.
4818         * configure: Rebuild.
4819         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
4820         (gdb$(EXEEXT)): Optionally invoke codesign.
4821
4822 2018-06-28  Pedro Alves  <palves@redhat.com>
4823
4824         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
4825         comments.
4826         (switch_to_thread_no_regs): Adjust comment.
4827         * infcmd.c (stop_pc): Delete.
4828         (post_create_inferior, info_program_command): Replace references
4829         to stop_pc with references to thread_info->suspend.stop_pc.
4830         * inferior.h (stop_pc): Delete declaration.
4831         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
4832         (handle_inferior_event_1, handle_signal_stop)
4833         (process_event_stop_test, keep_going_stepped_thread)
4834         (handle_step_into_function, handle_step_into_function_backward)
4835         (print_stop_location): Replace references to stop_pc with
4836         references to thread_info->suspend.stop_pc.
4837         (struct infcall_suspend_state) <stop_pc>: Delete field.
4838         (save_infcall_suspend_state, restore_infcall_suspend_state):
4839         Remove references to inf_stat->stop_pc.
4840         * linux-fork.c (fork_load_infrun_state): Likewise.
4841         * record-btrace.c (record_btrace_set_replay): Likewise.
4842         * record-full.c (record_full_goto_entry): Likewise.
4843         * remote.c (print_one_stopped_thread): Likewise.
4844         * target.c (target_resume): Extend comment.
4845         * thread.c (set_executing_thread): New.
4846         (set_executing): Use it.
4847         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
4848         Remove references to stop_pc.
4849
4850 2018-06-28  Pedro Alves  <palves@redhat.com>
4851
4852         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
4853         Moving fetching stop_pc until after ecs->event_thread is refreshed.
4854
4855 2018-06-28  Tom Tromey  <tom@tromey.com>
4856
4857         * coffread.c (coff_symfile_finish): Update.
4858         * xcoffread.c (xcoff_symfile_finish): Update.
4859         * elfread.c (elf_symfile_finish): Update.
4860         * symfile.h (dwarf2_free_objfile): Don't declare.
4861         * dwarf2read.c (_initialize_dwarf2_read): Use
4862         register_objfile_data_with_cleanup.
4863         (dwarf2_free_objfile): Now static.  Change signature.
4864
4865 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4866
4867         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
4868         option "-o" to add-symbol-file-load to add an offset to each
4869         section's load address.
4870         * symfile.c (set_objfile_default_section_offset): New function.
4871
4872 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4873
4874         * symfile.c (add_symbol_file_command): Make sure that sections
4875         with the same name are sorted in the same order.
4876
4877 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4878
4879         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
4880         require the second argument.  If omitted, load sections at the
4881         addresses specified in the file.
4882
4883 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4884
4885         * symfile.c (symbol_file_command, symbol_file_add_main_1)
4886         (_initialize_symfile): Add option "-o" to symbol-file to add an
4887         offset to each section of the symbol file.
4888
4889 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4890
4891         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
4892
4893 2018-06-27  Tom Tromey  <tom@tromey.com>
4894
4895         * stack.c (_initialize_stack): Update "func" help text.
4896
4897 2018-06-27  Tom Tromey  <tom@tromey.com>
4898
4899         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
4900         std::vector.
4901         (unwind_infopy_str, pyuw_create_unwind_info)
4902         (unwind_infopy_add_saved_register, pyuw_sniffer)
4903         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
4904         Update.
4905         (struct saved_reg): Add constructor.
4906         <value>: Now a gdbpy_ref<>.
4907
4908 2018-06-27  Tom Tromey  <tom@tromey.com>
4909
4910         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
4911
4912 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4913
4914         * gdb-gdb.py.in: Format using autopep8.
4915
4916 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4917
4918         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
4919         (type_lookup_function): Recognize CORE_ADDR values.
4920
4921 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4922
4923         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
4924         print tag_name.
4925
4926 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4927
4928         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
4929         <__lt__>: Add.
4930
4931 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4932
4933         * gdb-gdb.py: Move to...
4934         * gdb-gdb.py.in: ... here.
4935         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
4936         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
4937         dependencies.
4938         (distclean): Remove gdb-gdb.py when cleaning.
4939         (gdb-gdb.py, gdb-gdb.gdb): New rules.
4940         * configure: Re-generate.
4941
4942 2018-06-27  Pedro Alves  <palves@redhat.com>
4943
4944         * proc-service.c (get_ps_regcache): New.
4945         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
4946         (ps_lsetfpregs): Use it.
4947
4948 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
4949
4950         PR gdb/21695
4951         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
4952         (dwarf_decode_lines_1): Adjust.
4953
4954 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4955
4956         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
4957         override.
4958         <info_proc>: Likewise.
4959
4960 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
4961
4962         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
4963         to windows_fetch_one_register, and only handle the case of
4964         fetching one register.  Move the code that reloads the context
4965         and iterates over all registers if R is negative to...
4966         (windows_nat_target::fetch_registers): ... here.
4967         (do_windows_store_inferior_registers): Rename to
4968         windows_store_one_register, and only handle the case of storing
4969         one register.  Move the code that handles the case where r is
4970         negative to...
4971         (windows_nat_target::store_registers) ... here.
4972
4973 2018-06-26  Tom Tromey  <tom@tromey.com>
4974
4975         PR rust/22574:
4976         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
4977         * rust-lang.c (rust_print_struct_def): Add podata parameter.
4978         Update.
4979         (rust_internal_print_type): Add podata parameter.
4980         (rust_print_type): Update.
4981
4982 2018-06-26  Tom Tromey  <tom@tromey.com>
4983
4984         * typeprint.h (struct print_offset_data) <update, finish,
4985         maybe_print_hole>: New methods.
4986         <indentation>: New constant.
4987         * typeprint.c (print_offset_data::indentation): Define.
4988         (print_offset_data::maybe_print_hole, print_offset_data::update)
4989         (print_offset_data::finish): Move from c-typeprint.c and rename.
4990         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
4991         (print_spaces_filtered_with_print_options): Update.
4992         (c_print_type_union_field_offset, maybe_print_hole)
4993         (c_print_type_struct_field_offset): Move to typeprint.c and
4994         rename.
4995         (c_type_print_base_struct_union): Update.
4996
4997 2018-06-25  Pedro Alves  <palves@redhat.com>
4998
4999         * gdbthread.h (thread_info_ref, delete_thread)
5000         (delete_thread_silent, first_thread_of_inferior)
5001         (any_thread_of_inferior, switch_to_thread)
5002         (enable_thread_stack_temporaries)
5003         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5004         (get_last_thread_stack_temporary)
5005         (value_in_thread_stack_temporaries, can_access_registers_thread):
5006         Spell out "struct thread_info" instead of just "thread_info".
5007         * inferior.h (notice_new_inferior): Likewise.
5008
5009 2018-06-25  Pedro Alves  <palves@redhat.com>
5010
5011         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5012         pass thread_info pointer to delete_thread.
5013         (windows_nat_target::detach): Pass inferior pointer to
5014         detach_inferior.
5015         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
5016         delete_thread.
5017         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
5018         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
5019         and pass a thread_info pointer to delete_thread.
5020         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
5021         pass thread_info pointer to delete_thread.
5022         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
5023         delete_thread_silent call.
5024         * procfs.c (procfs_target::detach): Pass inferior pointer to
5025         detach_inferior.
5026         (procfs_target::wait): Pass thread_info pointer to delete_thread.
5027         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
5028         delete_thread_silent call.
5029         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5030         pass thread_info pointer to delete_thread.
5031         (windows_nat_target::detach): Pass inferior pointer to
5032         delete_inferior.
5033
5034 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5035
5036         * regcache.c (readable_regcache::read_part): Fix asserts.
5037         (reg_buffer::raw_collect_part): New function.
5038         (regcache::write_part): Fix asserts.
5039         (reg_buffer::raw_supply_part): New function.
5040         (regcache::transfer_regset_register): New helper function.
5041         (regcache::transfer_regset): Call new functions.
5042         (regcache_supply_regset): Use gdb_byte*.
5043         (regcache::supply_regset): Likewise.
5044         (regcache_collect_regset): Likewise.
5045         (regcache::collect_regset): Likewise.
5046         * regcache.h (reg_buffer::raw_collect_part): New declaration.
5047         (reg_buffer::raw_supply_part): Likewise.
5048         (regcache::transfer_regset_register): Likewise.
5049         (regcache::transfer_regset): Use gdb_byte*.
5050
5051 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5052
5053         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
5054
5055 2018-06-21  Pedro Alves  <palves@redhat.com>
5056
5057         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
5058         instead of a ptid_t.  All callers adjusted.
5059         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
5060         adjusted.
5061         (print_ada_task_info, display_current_task_id, task_command_1):
5062         Adjust.
5063         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
5064         inferior_thread.
5065         (breakpoint_kind): Adjust.
5066         (remove_breakpoints_pid): Rename to ...
5067         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
5068         pointer.  All callers adjusted.
5069         (bpstat_clear_actions): Use inferior_thread.
5070         (get_bpstat_thread): New.
5071         (bpstat_do_actions): Use it.
5072         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
5073         to take a thread_info pointer.  All callers adjusted.
5074         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
5075         (breakpoint_re_set_thread): Use inferior_thread.
5076         * breakpoint.h (struct inferior): Forward declare.
5077         (bpstat_stop_status): Update.
5078         (remove_breakpoints_pid): Delete.
5079         (remove_breakpoints_inf): New.
5080         * bsd-uthread.c (bsd_uthread_target::wait)
5081         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
5082         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
5083         (maint_btrace_packet_history_cmd)
5084         (maint_btrace_clear_packet_history_cmd): Adjust.
5085         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
5086         inferior_thread.
5087         * cli/cli-interp.c: Include "inferior.h".
5088         * common/refcounted-object.h (struct
5089         refcounted_object_ref_policy): New.
5090         * compile/compile-object-load.c: Include gdbthread.h.
5091         (store_regs): Use inferior_thread.
5092         * corelow.c (core_target::close): Use current_inferior.
5093         (core_target_open): Adjust to use first_thread_of_inferior and use
5094         the current inferior.
5095         * ctf.c (ctf_target::close): Adjust to use current_inferior.
5096         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
5097         <thread>: ... this new field.  All references adjusted.
5098         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
5099         Take a thread_info pointer instead of a ptid_t.
5100         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
5101         (dummy_frame_discard, register_dummy_frame_dtor): Take a
5102         thread_info pointer instead of a ptid_t.
5103         * elfread.c: Include "inferior.h".
5104         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
5105         Use inferior_thread.
5106         * eval.c (evaluate_subexp): Likewise.
5107         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
5108         inferior_thread.
5109         * gdb_proc_service.h (struct thread_info): Forward declare.
5110         (struct ps_prochandle) <ptid>: Delete, replaced by ...
5111         <thread>: ... this new field.  All references adjusted.
5112         * gdbarch.h, gdbarch.c: Regenerate.
5113         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
5114         'thread' parameter.  All implementations and callers adjusted.
5115         * gdbthread.h (thread_info) <set_running>: New method.
5116         (delete_thread, delete_thread_silent): Take a thread_info pointer
5117         instead of a ptid.
5118         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
5119         (first_thread_of_process): Delete, replaced by ...
5120         (first_thread_of_inferior): ... this new function.  All callers
5121         adjusted.
5122         (any_live_thread_of_process): Delete, replaced by ...
5123         (any_live_thread_of_inferior): ... this new function.  All callers
5124         adjusted.
5125         (switch_to_thread, switch_to_no_thread): Declare.
5126         (is_executing): Delete.
5127         (enable_thread_stack_temporaries): Update comment.
5128         <enable_thread_stack_temporaries>: Take a thread_info pointer
5129         instead of a ptid_t.  Incref the thread.
5130         <~enable_thread_stack_temporaries>: Decref the thread.
5131         <m_ptid>: Delete
5132         <m_thr>: New.
5133         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5134         (get_last_thread_stack_temporary)
5135         (value_in_thread_stack_temporaries, can_access_registers_thread):
5136         Take a thread_info pointer instead of a ptid_t.  All callers
5137         adjusted.
5138         * infcall.c (get_call_return_value): Use inferior_thread.
5139         (run_inferior_call): Work with thread pointers instead of ptid_t.
5140         (call_function_by_hand_dummy): Work with thread pointers instead
5141         of ptid_t.  Use thread_info_ref.
5142         * infcmd.c (proceed_thread_callback): Access thread's state
5143         directly.
5144         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
5145         access thread's state directly.
5146         (continue_command): Use inferior_thread.
5147         (info_program_command): Use find_thread_ptid and access thread
5148         state directly.
5149         (proceed_after_attach_callback): Use thread state directly.
5150         (notice_new_inferior): Take a thread_info pointer instead of a
5151         ptid_t.  All callers adjusted.
5152         (exit_inferior): Take an inferior pointer instead of a pid.  All
5153         callers adjusted.
5154         (exit_inferior_silent): New.
5155         (detach_inferior): Delete.
5156         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
5157         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
5158         (detach_inferior_command, kill_inferior_command): Use
5159         find_inferior_id instead of valid_gdb_inferior_id and
5160         gdb_inferior_id_to_pid.
5161         (inferior_command): Use inferior and thread pointers.
5162         * inferior.h (struct thread_info): Forward declare.
5163         (notice_new_inferior): Take a thread_info pointer instead of a
5164         ptid_t.  All callers adjusted.
5165         (detach_inferior): Delete declaration.
5166         (exit_inferior, exit_inferior_silent): Take an inferior pointer
5167         instead of a pid.  All callers adjusted.
5168         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
5169         (valid_gdb_inferior_id): Delete.
5170         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
5171         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
5172         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
5173         ...
5174         <inf>: ... this new field.
5175         <step_ptid>: Delete, replaced by ...
5176         <step_thread>: ... this new field.
5177         (get_displaced_stepping_state): Take an inferior pointer instead
5178         of a pid.  All callers adjusted.
5179         (displaced_step_in_progress_any_inferior): Adjust.
5180         (displaced_step_in_progress_thread): Take a thread pointer instead
5181         of a ptid_t.  All callers adjusted.
5182         (displaced_step_in_progress, add_displaced_stepping_state): Take
5183         an inferior pointer instead of a pid.  All callers adjusted.
5184         (get_displaced_step_closure_by_addr): Adjust.
5185         (remove_displaced_stepping_state): Take an inferior pointer
5186         instead of a pid.  All callers adjusted.
5187         (displaced_step_prepare_throw, displaced_step_prepare)
5188         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
5189         All callers adjusted.
5190         (start_step_over): Adjust.
5191         (infrun_thread_ptid_changed): Remove bit updating ptids in the
5192         displaced step queue.
5193         (do_target_resume): Adjust.
5194         (fetch_inferior_event): Use inferior_thread.
5195         (context_switch, get_inferior_stop_soon): Take an
5196         execution_control_state pointer instead of a ptid_t.  All callers
5197         adjusted.
5198         (switch_to_thread_cleanup): Delete.
5199         (stop_all_threads): Use scoped_restore_current_thread.
5200         * inline-frame.c: Include "gdbthread.h".
5201         (inline_state) <inline_state>: Take a thread pointer instead of a
5202         ptid_t.  All callers adjusted.
5203         <ptid>: Delete, replaced by ...
5204         <thread>: ... this new field.
5205         (find_inline_frame_state): Take a thread pointer instead of a
5206         ptid_t.  All callers adjusted.
5207         (skip_inline_frames, step_into_inline_frame)
5208         (inline_skipped_frames, inline_skipped_symbol): Take a thread
5209         pointer instead of a ptid_t.  All callers adjusted.
5210         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
5211         (inline_skipped_frames, inline_skipped_symbol): Likewise.
5212         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
5213         pointers directly.
5214         * linux-nat.c (get_detach_signal): Likewise.
5215         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
5216         (thread_db_notice_clone): Adjust.
5217         (thread_db_find_new_threads_silently)
5218         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
5219         a thread pointer instead of a ptid_t.  All callers adjusted.
5220         * mi/mi-cmd-var.c: Include "inferior.h".
5221         (mi_cmd_var_update_iter): Update to use thread pointers.
5222         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
5223         inferior directly.
5224         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
5225         out to ...
5226         (mi_output_running): ... this new function.
5227         (mi_on_resume_1): Adjust to use it.
5228         (mi_user_selected_context_changed): Adjust to use inferior_thread.
5229         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
5230         directly.
5231         (interrupt_thread_callback): : Adjust to use thread and inferior
5232         pointers.
5233         * proc-service.c: Include "gdbthread.h".
5234         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
5235         * progspace-and-thread.c: Include "inferior.h".
5236         * progspace.c: Include "inferior.h".
5237         * python/py-exitedevent.c (create_exited_event_object): Adjust to
5238         hold a reference to an inferior_object.
5239         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
5240         inferior_thread.
5241         * python/py-inferior.c (struct inferior_object): Give the type a
5242         tag name instead of a typedef.
5243         (python_on_normal_stop): No need to check if the current thread is
5244         listed.
5245         (inferior_to_inferior_object): Change return type to
5246         inferior_object.  All callers adjusted.
5247         (find_thread_object): Delete, bits factored out to ...
5248         (thread_to_thread_object): ... this new function.
5249         * python/py-infthread.c (create_thread_object): Use
5250         inferior_to_inferior_object.
5251         (thpy_is_stopped): Use thread pointer directly.
5252         (gdbpy_selected_thread): Use inferior_thread.
5253         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
5254         field, replaced with ...
5255         <thread>: ... this new field.  All users adjusted.
5256         (btpy_insn_or_gap_new): Drop const.
5257         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
5258         callers adjusted.
5259         * python/py-record.c: Include "gdbthread.h".
5260         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5261         a ptid_t.  All callers adjusted.
5262         (gdbpy_current_recording): Use inferior_thread.
5263         * python/py-record.h (recpy_record_object) <ptid>: Delete
5264         field, replaced with ...
5265         <thread>: ... this new field.  All users adjusted.
5266         (recpy_element_object) <ptid>: Delete
5267         field, replaced with ...
5268         <thread>: ... this new field.  All users adjusted.
5269         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5270         a ptid_t.  All callers adjusted.
5271         * python/py-threadevent.c: Include "gdbthread.h".
5272         (get_event_thread): Use thread_to_thread_object.
5273         * python/python-internal.h (struct inferior_object): Forward
5274         declare.
5275         (find_thread_object, find_inferior_object): Delete declarations.
5276         (thread_to_thread_object, inferior_to_inferior_object): New
5277         declarations.
5278         * record-btrace.c: Include "inferior.h".
5279         (require_btrace_thread): Use inferior_thread.
5280         (record_btrace_frame_sniffer)
5281         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
5282         (get_thread_current_frame): Use scoped_restore_current_thread and
5283         switch_to_thread.
5284         (get_thread_current_frame): Use thread pointer directly.
5285         (record_btrace_replay_at_breakpoint): Use thread's inferior
5286         pointer directly.
5287         * record-full.c: Include "inferior.h".
5288         * regcache.c: Include "gdbthread.h".
5289         (get_thread_arch_regcache): Use the inferior's address space
5290         directly.
5291         (get_thread_regcache, registers_changed_thread): New.
5292         * regcache.h (get_thread_regcache(thread_info *thread)): New
5293         overload.
5294         (registers_changed_thread): New.
5295         (remote_target) <remote_detach_1>: Swap order of parameters.
5296         (remote_add_thread): <remote_add_thread>: Return the new thread.
5297         (get_remote_thread_info(ptid_t)): New overload.
5298         (remote_target::remote_notice_new_inferior): Use thread pointers
5299         directly.
5300         (remote_target::process_initial_stop_replies): Use
5301         thread_info::set_running.
5302         (remote_target::remote_detach_1, remote_target::detach)
5303         (extended_remote_target::detach): Adjust.
5304         * stack.c (frame_show_address): Use inferior_thread.
5305         * target-debug.h (target_debug_print_thread_info_pp): New.
5306         * target-delegates.c: Regenerate.
5307         * target.c (default_thread_address_space): Delete.
5308         (memory_xfer_partial_1): Use current_inferior.
5309         (target_detach): Use current_inferior.
5310         (target_thread_address_space): Delete.
5311         (generic_mourn_inferior): Use current_inferior.
5312         * target.h (struct target_ops) <thread_address_space>: Delete.
5313         (target_thread_address_space): Delete.
5314         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
5315         pointers directly.
5316         (delete_thread_1, delete_thread, delete_thread_silent): Take a
5317         thread pointer instead of a ptid_t.  Adjust all callers.
5318         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
5319         (first_thread_of_process): Delete, replaced by ...
5320         (first_thread_of_inferior): ... this new function.  All callers
5321         adjusted.
5322         (any_thread_of_process): Rename to ...
5323         (any_thread_of_inferior): ... this, and take an inferior pointer.
5324         (any_live_thread_of_process): Rename to ...
5325         (any_live_thread_of_inferior): ... this, and take an inferior
5326         pointer.
5327         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5328         (value_in_thread_stack_temporaries)
5329         (get_last_thread_stack_temporary): Take a thread pointer instead
5330         of a ptid_t.  Adjust all callers.
5331         (thread_info::set_running): New.
5332         (validate_registers_access): Use inferior_thread.
5333         (can_access_registers_ptid): Rename to ...
5334         (can_access_registers_thread): ... this, and take a thread
5335         pointer.
5336         (print_thread_info_1): Adjust to compare thread pointers instead
5337         of ptids.
5338         (switch_to_no_thread, switch_to_thread): Make extern.
5339         (scoped_restore_current_thread::~scoped_restore_current_thread):
5340         Use m_thread pointer directly.
5341         (scoped_restore_current_thread::scoped_restore_current_thread):
5342         Use inferior_thread.
5343         (thread_command): Use thread pointer directly.
5344         (thread_num_make_value_helper): Use inferior_thread.
5345         * top.c (execute_command): Use inferior_thread.
5346         * tui/tui-interp.c: Include "inferior.h".
5347         * varobj.c (varobj_create): Use inferior_thread.
5348         (value_of_root_1): Use find_thread_global_id instead of
5349         global_thread_id_to_ptid.
5350
5351 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
5352
5353         * regcache.c (readable_regcache::read_part): Avoid memcpy when
5354         possible.
5355         (regcache::write_part): Likewise.
5356         (readable_regcache::cooked_read_part): Update comment.
5357         (readable_regcache::cooked_write_part): Likewise.
5358         * regcache.h: (readable_regcache::read_part): Likewise.
5359         (regcache::write_part): Likewise.
5360
5361 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
5362             Dirk Schubert  <dirk.schubert@arm.com>
5363
5364         * aarch64-linux-nat.c (post_attach): New.
5365         (aarch64_linux_nat_target::post_attach): Override post_attach to
5366         record the number of hardware debug registers.
5367
5368 2018-06-20  Tom Tromey  <tom@tromey.com>
5369
5370         * python/py-param.c (add_setshow_generic): Make parameters const.
5371         (parmpy_init): Update.
5372
5373 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5374
5375         * regcache.h (regcache_cooked_read_ftype): Rename to...
5376         (register_read_ftype): ...this, change type to function_view.
5377         (class reg_buffer) <save>: Remove src parameter.
5378         (readonly_detached_regcache) <readonly_detached_regcache>: Make
5379         parameter non-const in first overload.  Remove src parameter in
5380         second overload.
5381         * regcache.c (do_cooked_read): Remove.
5382         (readonly_detached_regcache::readonly_detached_regcache): Make
5383         parameter non-const, adjust call to other constructor.
5384         (reg_buffer::save): Remove src parameter.
5385         * frame.c (do_frame_register_read): Remove.
5386         (frame_save_as_regcache): Use lambda function.
5387         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
5388         parameter to ppu2spu_data *.
5389         (ppu2spu_sniffer): Use lambda function.
5390
5391 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5392
5393         * record-full.c (record_full_target::insert_breakpoint): Remove
5394         "struct" keyword, add const.
5395
5396 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
5397
5398         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
5399         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
5400         * configure.ac: Remove AC_PREREQ, add missing quoting.
5401         * gnulib/configure.ac: Modernize usage of
5402         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
5403         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
5404         (AUTOMAKE_VERSION): Bump to 1.15.1.
5405         * configure: Re-generate.
5406         * config.in: Re-generate.
5407         * aclocal.m4: Re-generate.
5408         * gnulib/aclocal.m4: Re-generate.
5409         * gnulib/config.in: Re-generate.
5410         * gnulib/configure: Re-generate.
5411         * gnulib/import/Makefile.in: Re-generate.
5412
5413 2018-06-19  Pedro Alves  <palves@redhat.com>
5414
5415         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
5416         (lookup_minimal_symbol_by_pc_section): ... here with
5417         gdb_assert_not_reached added.
5418
5419 2018-06-19  Pedro Alves  <palves@redhat.com>
5420
5421         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
5422         parameter with a block parameter.  Compare location's block symbol
5423         with the frame's block instead of addresses.
5424         (skip_inline_frames): Pass the current block instead of the
5425         frame's address.  Break out as soon as we determine the frame
5426         should not be skipped.
5427
5428 2018-06-18  Tom Tromey  <tom@tromey.com>
5429
5430         * solib-aix.c (solib_aix_get_section_offsets): Return
5431         unique_xmalloc_ptr.
5432         (solib_aix_solib_create_inferior_hook): Update.
5433
5434 2018-06-18  Tom Tromey  <tom@tromey.com>
5435
5436         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
5437
5438 2018-06-18  Tom Tromey  <tom@tromey.com>
5439
5440         * solib-frv.c (frv_relocate_main_executable): Use
5441         unique_xmalloc_ptr.
5442         * solib-dsbt.c (dsbt_relocate_main_executable): Use
5443         unique_xmalloc_ptr.
5444
5445 2018-06-18  Tom Tromey  <tom@tromey.com>
5446
5447         * objfiles.h (inhibit_section_map_updates): Update.
5448         (resume_section_map_updates, resume_section_map_updates_cleanup):
5449         Remove.
5450         * solib-svr4.c (svr4_handle_solib_event): Update.
5451         * objfiles.c (inhibit_section_map_updates): Return
5452         scoped_restore_tmpl<int>.
5453         (resume_section_map_updates, resume_section_map_updates_cleanup):
5454         Remove.
5455
5456 2018-06-18  Tom Tromey  <tom@tromey.com>
5457
5458         * valprint.h (read_string): Update.
5459         * valprint.c (read_string): Change type of "buffer".
5460         (val_print_string): Update.
5461         * python/py-value.c (valpy_string): Update.
5462         * language.h (struct language_defn) <la_get_string>: Change
5463         type of "buffer".
5464         (default_get_string, c_get_string): Update.
5465         * language.c (default_get_string): Change type of "buffer".
5466         * guile/scm-value.c (gdbscm_value_to_string): Update.
5467         * c-lang.c (c_get_string): Change type of "buffer".
5468
5469 2018-06-18  Tom Tromey  <tom@tromey.com>
5470
5471         * ser-mingw.c (struct pipe_state_destroyer): New.
5472         (pipe_state_up): New typedef.
5473         (cleanup_pipe_state): Remove.
5474         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
5475
5476 2018-06-18  Tom Tromey  <tom@tromey.com>
5477
5478         * rust-lang.h (rust_yyerror): Don't declare.
5479         * rust-lang.c (rust_language_defn): Update.
5480         * rust-exp.y (yyerror): Now static.
5481         * parse.c (parse_exp_in_context_1): Update.
5482         * p-lang.h (p_yyerror): Don't declare.
5483         * p-lang.c (p_language_defn): Update.
5484         * p-exp.y (yyerror): Now static.
5485         * opencl-lang.c (opencl_language_defn): Update.
5486         * objc-lang.c (objc_language_defn): Update.
5487         * m2-lang.h (m2_yyerror): Don't declare.
5488         * m2-lang.c (m2_language_defn): Update.
5489         * m2-exp.y (yyerror): Now static.
5490         * language.h (struct language_defn) <la_error>: Remove.
5491         * language.c (unk_lang_error): Remove.
5492         (unknown_language_defn, auto_language_defn): Remove.
5493         * go-lang.h (go_yyerror): Don't declare.
5494         * go-lang.c (go_language_defn): Update.
5495         * go-exp.y (yyerror): Now static.
5496         * f-lang.h (f_yyerror): Don't declare.
5497         * f-lang.c (f_language_defn): Update.
5498         * f-exp.y (yyerror): Now static.
5499         * d-lang.h (d_yyerror): Don't declare.
5500         * d-lang.c (d_language_defn): Update.
5501         * d-exp.y (yyerror): Now static.
5502         * c-lang.h (c_yyerror): Don't declare.
5503         * c-lang.c (c_language_defn, cplus_language_defn)
5504         (asm_language_defn, minimal_language_defn): Update.
5505         * c-exp.y (yyerror): Now static.
5506         * ada-lang.h (ada_yyerror): Don't declare.
5507         * ada-lang.c (ada_language_defn): Update.
5508         * ada-exp.y (yyerror): Now static.
5509
5510 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5511
5512         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
5513         (store_sveregs_to_thread): Likewise.
5514         (aarch64_linux_fetch_inferior_registers): Check for SVE.
5515         (aarch64_linux_store_inferior_registers): Likewise.
5516         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
5517         function.
5518         (aarch64_sve_regs_copy_to_regcache): Likewise.
5519         (aarch64_sve_regs_copy_from_regcache): Likewise.
5520         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
5521         declaration.
5522         (aarch64_sve_regs_copy_to_regcache): Likewise.
5523         (aarch64_sve_regs_copy_from_regcache): Likewise.
5524         (sve_context): Structure from Linux headers.
5525         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
5526         (SVE_SIG_ZREG_SIZE): Likewise.
5527         (SVE_SIG_PREG_SIZE): Likewise.
5528         (SVE_SIG_FFR_SIZE): Likewise.
5529         (SVE_SIG_REGS_OFFSET): Likewise.
5530         (SVE_SIG_ZREGS_OFFSET): Likewise.
5531         (SVE_SIG_ZREG_OFFSET): Likewise.
5532         (SVE_SIG_ZREGS_SIZE): Likewise.
5533         (SVE_SIG_PREGS_OFFSET): Likewise.
5534         (SVE_SIG_PREG_OFFSET): Likewise.
5535         (SVE_SIG_PREGS_SIZE): Likewise.
5536         (SVE_SIG_FFR_OFFSET): Likewise.
5537         (SVE_SIG_REGS_SIZE): Likewise.
5538         (SVE_SIG_CONTEXT_SIZE): Likewise.
5539         (SVE_PT_REGS_MASK): Likewise.
5540         (SVE_PT_REGS_FPSIMD): Likewise.
5541         (SVE_PT_REGS_SVE): Likewise.
5542         (SVE_PT_VL_INHERIT): Likewise.
5543         (SVE_PT_VL_ONEXEC): Likewise.
5544         (SVE_PT_REGS_OFFSET): Likewise.
5545         (SVE_PT_FPSIMD_OFFSET): Likewise.
5546         (SVE_PT_FPSIMD_SIZE): Likewise.
5547         (SVE_PT_SVE_ZREG_SIZE): Likewise.
5548         (SVE_PT_SVE_PREG_SIZE): Likewise.
5549         (SVE_PT_SVE_FFR_SIZE): Likewise.
5550         (SVE_PT_SVE_FPSR_SIZE): Likewise.
5551         (SVE_PT_SVE_FPCR_SIZE): Likewise.
5552         (__SVE_SIG_TO_PT): Likewise.
5553         (SVE_PT_SVE_OFFSET): Likewise.
5554         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
5555         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
5556         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
5557         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
5558         (SVE_PT_SVE_PREG_OFFSET): Likewise.
5559         (SVE_PT_SVE_PREGS_SIZE): Likewise.
5560         (SVE_PT_SVE_FFR_OFFSET): Likewise.
5561         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
5562         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
5563         (SVE_PT_SVE_SIZE): Likewise.
5564         (SVE_PT_SIZE): Likewise.
5565         (HAS_SVE_STATE): New define.
5566
5567 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5568
5569         * nat/aarch64-sve-linux-sigcontext.h: New file.
5570         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
5571         new files.
5572         (SVE_VQ_MIN): Likewise.
5573         (SVE_VQ_MAX): Likewise.
5574         (SVE_VL_MIN): Likewise.
5575         (SVE_VL_MAX): Likewise.
5576         (SVE_NUM_ZREGS): Likewise.
5577         (SVE_NUM_PREGS): Likewise.
5578         (sve_vl_valid): Likewise.
5579         (struct user_sve_header): Likewise.
5580
5581 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
5582             Richard Bunt <Richard.Bunt@arm.com>
5583
5584         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
5585         was requested by GDB.
5586
5587 2018-06-15  Tom de Vries  <tdevries@suse.de>
5588
5589         * MAINTAINERS (Write After Approval): Add Tom de Vries.
5590
5591 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
5592
5593         * gnulib/update-gnulib.sh: Print expected versions of
5594         autoconf/aclocal.
5595
5596 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
5597
5598         * arch-utils.c (default_type_align): Use type_length_units.
5599         * gdbtypes.c (type_align): Use type_length_units.
5600
5601 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5602
5603         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
5604         of 'define' command.
5605
5606 2018-06-14  Tom de Vries  <tdevries@suse.de>
5607
5608         PR cli/22573
5609         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
5610         get_no_prettyformat_print_options.
5611
5612 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
5613
5614         * sparc-nat.h: Include target.h.
5615         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
5616         <fetch_registers>: Remove this argument in function call.
5617         <store_registers>: Remove this argument in function call, remove
5618         extra semicolon.
5619         <low_forget_process>: Call sparc64_forget_process instead of
5620         sparc_forget_process.
5621
5622 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5623
5624         * procfs.c (_initialize_procfs): Use add_inf_child_target.
5625         (procfs_target::make_corefile_notes): Adjust to new
5626         target_read_alloc return type.
5627
5628 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5629             Stephen Roberts  <stephen.roberts@arm.com>
5630
5631         PR gdb/22882
5632         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
5633         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
5634         Move should_notify_stop local into more inner scope.
5635
5636 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5637             Stephen Roberts  <stephen.roberts@arm.com>
5638
5639         PR gdb/22882
5640         * infrun.c (resume_1): Add call to mark_async_event_handler.
5641
5642 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5643
5644         * infrun.c (do_target_wait): Change old version of $pc printed.
5645
5646 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
5647
5648         * dwarf2read.c (read_index_from_section): Rename to...
5649         (read_gdb_index_from_section): ... this, update all callers.
5650         (dwarf2_read_index): Rename to...
5651         (dwarf2_read_gdb_index): ... this, update all callers.
5652
5653 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
5654
5655         * gdb/hppa-linux-nat.c
5656         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
5657         hppa_linux_nat_target::fetch_registers.
5658
5659 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5660
5661         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
5662         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
5663         (AARCH64_DWARF_SVE_FFR): Likewise.
5664         (AARCH64_DWARF_SVE_P0): Likewise.
5665         (AARCH64_DWARF_SVE_Z0): Likewise.
5666
5667 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5668
5669         * common/common-regcache.h (raw_compare): New function.
5670         * regcache.c (regcache::raw_compare): Likewise.
5671         * regcache.h (regcache::raw_compare): New declaration.
5672
5673 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5674
5675         * common/common-regcache.h (reg_buffer_common): New structure.
5676         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
5677         (reg_buffer::raw_supply): Likewise.
5678         (reg_buffer::raw_supply_integer): Likewise.
5679         (reg_buffer::raw_supply_zeroed): Likewise.
5680         (reg_buffer::raw_collect): Likewise.
5681         (reg_buffer::raw_collect_integer): Likewise.
5682         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
5683         (reg_buffer::raw_supply): Likewise.
5684         (reg_buffer::raw_supply_integer): Likewise.
5685         (reg_buffer::raw_supply_zeroed): Likewise.
5686         (reg_buffer::raw_collect): Likewise.
5687         (reg_buffer::raw_collect_integer): Likewise.
5688
5689 2018-06-10  Tom Tromey  <tom@tromey.com>
5690
5691         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
5692         (class remote_state) <stop_reply_queue>: Now std::vector.
5693         (remote_state::~remote_state)
5694         (remote_target::stop_reply_queue_length): Update.
5695         (struct queue_iter_param, remove_child_of_pending_fork)
5696         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
5697         (check_pending_event_prevents_wildcard_vcont_callback)
5698         (remove_stop_reply_for_inferior)
5699         (remove_stop_reply_of_remote_state)
5700         (remote_notif_remove_once_on_match)
5701         (stop_reply_match_ptid_and_ws)
5702         (remote_kill_child_of_pending_fork): Remove.
5703         (remote_target::remove_new_fork_children)
5704         (remote_target::check_pending_events_prevent_wildcard_vcont)
5705         (remote_target::discard_pending_stop_replies)
5706         (remote_target::discard_pending_stop_replies_in_queue)
5707         (remote_target::remote_notif_remove_queued_reply)
5708         (remote_target::queued_stop_reply)
5709         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
5710         (remote_target::wait, remote_target::kill_new_fork_children)
5711         (remote_target::async): Update.
5712
5713 2018-06-10  Tom Tromey  <tom@tromey.com>
5714
5715         * record-full.c (record_full_arch_list_cleanups): Remove.
5716         (record_full_message): Use try/catch.
5717         (record_full_wait_cleanups): Remove.
5718         (record_full_wait_1): Use try/catch.
5719         (record_full_restore): Likewise.
5720
5721 2018-06-10  Tom Tromey  <tom@tromey.com>
5722
5723         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
5724         declare VEC.  Add constructor.
5725         <in_target_beneath>: Now bool.
5726         (record_full_breakpoints): Now a std::vector, static.
5727         (record_full_sync_record_breakpoints)
5728         (record_full_init_record_breakpoints)
5729         (record_full_target::insert_breakpoint)
5730         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
5731
5732 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
5733
5734         * dwarf2read.c (process_cu_includes): Remove struct keyword.
5735         * serial.c (serial_interface_lookup): Remove struct keyword.
5736
5737 2018-06-10  Tom Tromey  <tom@tromey.com>
5738
5739         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
5740         method.
5741         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
5742         a method.
5743         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
5744         method.
5745         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
5746         "beneath" as a method.
5747         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
5748         Use "beneath" as a method.
5749
5750 2018-06-10  Tom Tromey  <tom@tromey.com>
5751
5752         * tracefile.c (struct trace_file_writer_deleter): New.
5753         <operator()>: Rename from trace_file_writer_xfree.
5754         (trace_file_writer_up): New typedef.
5755         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
5756
5757 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5758
5759         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
5760         <m_registers, m_register_status>: Change type to
5761         std::unique_ptr.
5762         * regcache.c (reg_buffer::reg_buffer): Use new instead of
5763         XCNEWVEC.
5764
5765 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5766
5767         * common/common-regcache.h (enum register_status): Add
5768         underlying type "signed char".
5769         * regcache.h (reg_buffer) <m_register_status>: Change type to
5770         register_status *.
5771         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
5772         register_status instead of signed char.
5773         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
5774         (reg_buffer::get_register_status): Remove cast.
5775         (readable_regcache::raw_read): Remove cast.
5776         (readable_regcache::cooked_read): Remove cast.
5777
5778 2018-06-09  Tom Tromey  <tom@tromey.com>
5779
5780         * source.c (reverse_search_command, forward_search_command): Use
5781         scoped_fd.
5782
5783 2018-06-09  Tom Tromey  <tom@tromey.com>
5784
5785         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
5786         (serial_ops_list): Now static, std::vector.
5787         (serial_interface_lookup, serial_add_interface): Update.
5788
5789 2018-06-09  Tom Tromey  <tom@tromey.com>
5790
5791         * dwarf2read.c (process_cu_includes): Update.
5792         (process_full_comp_unit): Update.
5793         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
5794         std::vector.
5795
5796 2018-06-08  Paul Koning  <paul_koning@dell.com>
5797
5798         PR gdb/23252
5799
5800         * python/python.c (do_start_initialization):
5801         Avoid call to internal Python API.
5802         (init__gdb_module): New function.
5803
5804 2018-06-08  Gary Benson <gbenson@redhat.com>
5805
5806         * linux-thread-db.c (valprint.h): New include.
5807         (struct check_thread_db_info): New structure.
5808         (check_thread_db_on_load, tdb_testinfo): New static globals.
5809         (check_thread_db, check_thread_db_callback): New functions.
5810         (try_thread_db_load_1): Run integrity checks if requested.
5811         (maintenance_check_libthread_db): New function.
5812         (_initialize_thread_db): Register "maint check libthread-db"
5813         and "maint set/show check-libthread-db".
5814         * NEWS: Mention the above new commands.
5815
5816 2018-06-08  Tom Tromey  <tom@tromey.com>
5817
5818         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
5819         now a method.
5820
5821 2018-06-08  Tom Tromey  <tom@tromey.com>
5822
5823         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
5824
5825 2018-06-08  Tom Tromey  <tom@tromey.com>
5826
5827         * common/btrace-common.h (struct btrace_data): Add constructor,
5828         destructor, move assignment operator.
5829         <empty, clear, fini>: New methods.
5830         <format>: Initialize.
5831         (btrace_data_init, btrace_data_fini, btrace_data_clear)
5832         (btrace_data_empty): Don't declare.
5833         * common/btrace-common.c (btrace_data_init): Remove.
5834         (btrace_data::fini): Rename from btrace_data_fini.
5835         (btrace_data::empty): Rename from btrace_data_empty.
5836         (btrace_data::clear): Rename from btrace_data_clear.  Return
5837         bool.
5838         * btrace.h (make_cleanup_btrace_data): Don't declare.
5839         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
5840         (parse_xml_btrace): Update.
5841         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
5842         (maint_btrace_clear_packet_history_cmd): Update.
5843
5844 2018-06-07  Pedro Alves  <palves@redhat.com>
5845
5846         * target.h (target_ops) <beneath>: Now a method.  All references
5847         updated.
5848         (class target_stack): New.
5849         * target.c (g_target_stack): New.
5850         (g_current_top_target): Delete.
5851         (current_top_target): Get the top target out of g_target_stack.
5852         (target_stack::push, target_stack::unpush): New.
5853         (push_target, unpush_target): Reimplement.
5854         (target_is_pushed): Reimplement in terms of g_target_stack.
5855         (target_ops::beneath, target_stack::find_beneath): New.
5856
5857 2018-06-07  Pedro Alves  <palves@redhat.com>
5858
5859         * target.h (find_target_beneath): Delete declaration.
5860         * target.c (find_target_beneath): Delete definition.
5861         * aix-thread.c: All callers of find_target_beneath adjusted to
5862         call target_ops::beneath instead.
5863         * bsd-uthread.c: Likewise.
5864         * linux-thread-db.c: Likewise.
5865         * ravenscar-thread.c: Likewise.
5866         * sol-thread.c: Likewise.
5867         * spu-multiarch.c: Likewise.
5868
5869 2018-06-07  Pedro Alves  <palves@redhat.com>
5870
5871         * target.h (target_ops) <beneath>: Now a method.  All references
5872         updated.
5873         (target_ops) <m_beneath>: New.
5874         * target.c (target_ops::beneath): New.
5875         * corelow.c: Adjust all references to target_ops::beneath.
5876         * linux-thread-db.c: Likewise.
5877         * make-target-delegates: Likewise.
5878         * record-btrace.c: Likewise.
5879         * record-full.c: Likewise.
5880         * remote.c: Likewise.
5881         * target.c: Likewise.
5882         * target-delegates.c: Regenerate.
5883
5884 2018-06-07  Pedro Alves  <palves@redhat.com>
5885
5886         * target.h (target_stack): Delete.
5887         (current_top_target): Declare function.
5888         * target.c (target_stack): Delete.
5889         (g_current_top_target): New.
5890         (current_top_target): New function.
5891         * auxv.c: Use current_top_target instead of target_stack
5892         throughout.
5893         * avr-tdep.c: Likewise.
5894         * breakpoint.c: Likewise.
5895         * corefile.c: Likewise.
5896         * elfread.c: Likewise.
5897         * eval.c: Likewise.
5898         * exceptions.c: Likewise.
5899         * frame.c: Likewise.
5900         * gdbarch-selftests.c: Likewise.
5901         * gnu-v3-abi.c: Likewise.
5902         * ia64-tdep.c: Likewise.
5903         * ia64-vms-tdep.c: Likewise.
5904         * infcall.c: Likewise.
5905         * infcmd.c: Likewise.
5906         * infrun.c: Likewise.
5907         * linespec.c: Likewise.
5908         * linux-tdep.c: Likewise.
5909         * minsyms.c: Likewise.
5910         * ppc-linux-nat.c: Likewise.
5911         * ppc-linux-tdep.c: Likewise.
5912         * procfs.c: Likewise.
5913         * regcache.c: Likewise.
5914         * remote.c: Likewise.
5915         * rs6000-tdep.c: Likewise.
5916         * s390-linux-nat.c: Likewise.
5917         * s390-tdep.c: Likewise.
5918         * solib-aix.c: Likewise.
5919         * solib-darwin.c: Likewise.
5920         * solib-dsbt.c: Likewise.
5921         * solib-spu.c: Likewise.
5922         * solib-svr4.c: Likewise.
5923         * solib-target.c: Likewise.
5924         * sparc-tdep.c: Likewise.
5925         * sparc64-tdep.c: Likewise.
5926         * spu-tdep.c: Likewise.
5927         * symfile.c: Likewise.
5928         * symtab.c: Likewise.
5929         * target-descriptions.c: Likewise.
5930         * target-memory.c: Likewise.
5931         * target.c: Likewise.
5932         * target.h: Likewise.
5933         * tracefile-tfile.c: Likewise.
5934         * tracepoint.c: Likewise.
5935         * valops.c: Likewise.
5936         * valprint.c: Likewise.
5937         * value.c: Likewise.
5938         * windows-tdep.c: Likewise.
5939         * mi/mi-main.c: Likewise.
5940
5941 2018-06-07  Tom Tromey  <tom@tromey.com>
5942
5943         * valprint.h (build_address_symbolic): Declare.
5944         * printcmd.c (print_address_symbolic): Update.
5945         (build_address_symbolic): Change "name" and "filename" to
5946         std::string.
5947         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
5948         Update.
5949         * defs.h (build_address_symbolic): Remove declaration.
5950
5951 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
5952
5953         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
5954         (aarch64_vnv_type): Add function.
5955         (aarch64_pseudo_register_name): Add V regs for SVE.
5956         (aarch64_pseudo_register_type): Likewise.
5957         (aarch64_pseudo_register_reggroup_p): Likewise.
5958         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
5959         (aarch64_pseudo_read_value): Add V regs for SVE.
5960         (aarch64_pseudo_write_2): Use V0 offset for SVE
5961         (aarch64_pseudo_write): Add V regs for SVE.
5962         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
5963
5964 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
5965
5966         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
5967         (sve_vl_from_vq): Likewise.
5968
5969 2018-06-05  Tom Tromey  <tom@tromey.com>
5970
5971         * cli/cli-cmds.c (show_version): Update.
5972         * top.c (print_gdb_version): Add "interactive" parameter.
5973         Update.
5974         * main.c (captured_main_1): Update.
5975         * top.h (print_gdb_version): Add "interactive" parameter and a
5976         comment.
5977
5978 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
5979
5980         * common/enum-flags.h: Add trailing semicolon to example in
5981         comment.
5982
5983 2018-06-05  Tom Tromey  <tom@tromey.com>
5984
5985         PR cli/12326:
5986         * NEWS: Add entry about pager.
5987         * utils.c (pagination_disabled_for_command): New global.
5988         (prompt_for_continue): Allow "c" response to prompt.
5989         (reinitialize_more_filter): Clear
5990         pagination_disabled_for_command.
5991         (fputs_maybe_filtered): Check pagination_disabled_for_command.
5992
5993 2018-06-04  Tom Tromey  <tom@tromey.com>
5994
5995         * ada-lang.h (ada_lookup_symbol_list): Update.
5996         * ada-lang.c (resolve_subexp): Update.
5997         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
5998         parameter.
5999         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
6000         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
6001         results parameter to std::vector.
6002         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
6003         Update.
6004         * ada-exp.y (block_lookup): Update.
6005         (select_possible_type_sym): Change type of syms.  Remove nsyms
6006         parameter.
6007         (write_var_or_type, write_name_assoc): Update.
6008
6009 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
6010
6011         * windows-nat.c (windows_nat_target::xfer_partial): Return
6012         TARGET_XFER_E_IO if we need to delegate to the target beneath
6013         but BENEATH is NULL.
6014
6015 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
6016
6017         * Makefile.in (config.status): Add configure.nat as a
6018         dependency.
6019
6020 2018-06-04  Tom Tromey  <tom@tromey.com>
6021
6022         * cp-name-parser.y (cpname_state): Add method declarations.
6023         (HANDLE_QUAL): Update.
6024         (cpname_state::d_grab, cpname_state::fill_comp)
6025         (cpname_state::make_operator, cpname_state::make_dtor)
6026         (cpname_state::make_builtin_type, cpname_state::make_name)
6027         (cpname_state::d_qualify, cpname_state::d_int_type)
6028         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
6029         (%union): Move earlier.
6030
6031 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6032
6033         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
6034
6035 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6036
6037         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
6038         (aarch64_pseudo_write_1): Likewise.
6039         (aarch64_pseudo_read_value): Use helper.
6040         (aarch64_pseudo_write): Likewise.
6041
6042 2018-06-04  Pedro Alves  <palves@redhat.com>
6043
6044         * darwin-nat.c (darwin_ops): Delete.
6045         (darwin_attach_pid): Use get_native_target.
6046
6047 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6048
6049         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
6050         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
6051
6052 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6053
6054         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
6055         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
6056         (aarch64_gdbarch_init): Check for SVE.
6057         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
6058
6059 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6060
6061         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
6062         * aarch64-tdep.h (aarch64_read_description): Likewise.
6063         * arch/aarch64.c (aarch64_create_target_description): Likewise.
6064         * arch/aarch64.h (aarch64_create_target_description): Likewise.
6065         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
6066         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
6067         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
6068
6069 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
6070
6071         * value.c (value_fetch_lazy_bitfield): New.
6072         (value_fetch_lazy_memory): New.
6073         (value_fetch_lazy_register): New.
6074         (value_fetch_lazy): Factor out to smaller functions.
6075
6076 2018-06-01  Tom Tromey  <tom@tromey.com>
6077
6078         * cp-name-parser.y (backslashable, represented): Now const.
6079
6080 2018-06-01  Tom Tromey  <tom@tromey.com>
6081
6082         * cp-name-parser.y: Include parser-defs.h.
6083         (parser_fprintf): Remove declaration.
6084
6085 2018-06-01  Tom Tromey  <tom@tromey.com>
6086
6087         * cp-name-parser.y: Use %pure-parser, %lex-param, and
6088         %parse-param.
6089         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
6090         (global_result): Remove globals.
6091         (struct cpname_state): New.
6092         (yyparse): Don't declare.
6093         (yylex, yyerror): Move declarations after %union.
6094         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
6095         (make_name): Add state parameter.
6096         Update all callers.
6097         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
6098         parameter.
6099         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
6100         Update.
6101         (yylex): Add lvalp, state parameters.
6102         (yyerror): Add state parameter.
6103         (cp_demangled_name_to_comp): Update.
6104
6105 2018-06-01  Tom Tromey  <tom@tromey.com>
6106
6107         * cp-name-parser.y (parser_fprintf): Declare.
6108         (GDB_YY_REMAP_PREFIX): Define.
6109         Include yy-remap.h.  Don't redefine yy* identifiers.
6110
6111 2018-06-01  Tom Tromey  <tom@tromey.com>
6112
6113         * python/py-type.c (typy_legacy_template_argument): Update.
6114         * cp-support.h (cp_demangled_name_to_comp): Update.
6115         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
6116         parameter to be a "std::string *".
6117         (main): Update.
6118
6119 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
6120
6121         * ada-lex.l: Include "diagnostics.h" instead of
6122         "common/diagnostics.h".
6123         * unittests/environ-selftests.c: Likewise.
6124         * common/diagnostics.h: Moved to ../include.
6125
6126 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
6127
6128         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
6129         to language_mode_manual while calling breakpoint_re_set_one.
6130
6131 2018-06-01  Tom Tromey  <tom@tromey.com>
6132
6133         * valops.c (value_cast_structs, destructor_name_p): Update.
6134         * symtab.c (gdb_mangle_name): Update.
6135         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
6136         Update.
6137         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
6138         (pascal_object_print_value_fields, pascal_object_print_value):
6139         Update.
6140         * p-typeprint.c (pascal_type_print_derivation_info): Update.
6141         * linespec.c (find_methods): Update.
6142         * gdbtypes.h (type_name_no_tag): Remove.
6143         (type_name_or_error): Rename from type_name_no_tag_or_error.
6144         * gdbtypes.c (type_name_no_tag): Remove.
6145         (type_name_or_error): Rename from type_name_no_tag_or_error.
6146         (lookup_struct_elt_type, check_typedef): Update.
6147         * expprint.c (print_subexp_standard): Update.
6148         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
6149         * d-namespace.c (d_lookup_nested_symbol): Update.
6150         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
6151         (cp_print_class_member): Update.
6152         * cp-namespace.c (cp_lookup_nested_symbol): Update.
6153         * completer.c (add_struct_fields): Update.
6154         * c-typeprint.c (cp_type_print_derivation_info)
6155         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
6156         Update.
6157         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
6158         (ada_prefer_type, ada_is_exception_sym): Update.
6159
6160 2018-06-01  Tom Tromey  <tom@tromey.com>
6161
6162         * valops.c (enum_constant_from_type, value_namespace_elt)
6163         (value_maybe_namespace_elt): Update.
6164         * valarith.c (find_size_for_pointer_math): Update.
6165         * target-descriptions.c (make_gdb_type): Update.
6166         * symmisc.c (print_symbol): Update.
6167         * stabsread.c (define_symbol, read_type)
6168         (complain_about_struct_wipeout, add_undefined_type)
6169         (cleanup_undefined_types_1): Update.
6170         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
6171         (rust_range_type_p, val_print_struct, rust_print_struct_def)
6172         (rust_internal_print_type, rust_composite_type)
6173         (rust_evaluate_funcall, rust_evaluate_subexp)
6174         (rust_inclusive_range_type_p): Update.
6175         * python/py-type.c (typy_get_tag): Update.
6176         * p-typeprint.c (pascal_type_print_base): Update.
6177         * mdebugread.c (parse_symbol, parse_type): Update.
6178         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
6179         Update.
6180         * guile/scm-type.c (gdbscm_type_tag): Update.
6181         * go-lang.c (sixg_string_p): Update.
6182         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
6183         Update.
6184         * gdbtypes.h (struct main_type) <tag_name>: Remove.
6185         (TYPE_TAG_NAME): Remove.
6186         * gdbtypes.c (type_name_no_tag): Simplify.
6187         (check_typedef, check_types_equal, recursive_dump_type)
6188         (copy_type_recursive, arch_composite_type): Update.
6189         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
6190         in summary mode when needed.
6191         * eval.c (evaluate_funcall): Update.
6192         * dwarf2read.c (fixup_go_packaging, read_structure_type)
6193         (process_structure_scope, read_enumeration_type)
6194         (read_namespace_type, read_module_type, determine_prefix): Update.
6195         * cp-support.c (inspect_type): Update.
6196         * coffread.c (process_coff_symbol, decode_base_type): Update.
6197         * c-varobj.c (c_is_path_expr_parent): Update.
6198         * c-typeprint.c (c_type_print_base_struct_union): Update.
6199         (c_type_print_base_1): Update.  Print struct/class/union/enum in
6200         summary when using C language.
6201         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
6202         (gen_maybe_namespace_elt): Update.
6203         * ada-lang.c (ada_type_name): Simplify.
6204         (empty_record, ada_template_to_fixed_record_type_1)
6205         (template_to_static_fixed_type)
6206         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
6207
6208 2018-06-01  Tom Tromey  <tom@tromey.com>
6209
6210         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
6211         c_print_type.
6212         * c-typeprint.c (c_print_type_1): Add "language" parameter.
6213         (c_print_type): Update.
6214         (c_print_type): New overload.
6215         (c_type_print_varspec_prefix, c_type_print_args)
6216         (c_type_print_varspec_suffix, c_print_type_no_offsets)
6217         (c_type_print_base_struct_union, c_type_print_base_1)
6218         (cp_type_print_method_args): Add "language" parameter.
6219         (c_type_print_base): Update.
6220         * c-lang.h (c_print_type): Add new overload.
6221
6222 2018-06-01  Tom Tromey  <tom@tromey.com>
6223
6224         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
6225         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
6226
6227 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
6228
6229         * aarch64-tdep.c (aarch64_sve_register_names): New const
6230         var.
6231         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
6232         (AARCH64_SVE_Z_REGS_NUM): New define.
6233         (AARCH64_SVE_P_REGS_NUM): Likewise.
6234         (AARCH64_SVE_NUM_REGS): Likewise.
6235
6236 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
6237
6238         * nat/linux-ptrace.h [__alpha__]
6239         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
6240         definitions.
6241
6242 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
6243
6244         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
6245         the endianness selected.
6246         * NEWS: Document `set endian auto' mode operation update.
6247
6248 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6249
6250         * Makefile.in: Add new header.
6251         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
6252         (sve_vl_from_vg): Likewise.
6253         (sve_vq_from_vl): Likewise.
6254         (sve_vl_from_vq): Likewise.
6255         (sve_vq_from_vg): Likewise.
6256         (sve_vg_from_vq): Likewise.
6257         * configure.nat: Add new c file.
6258         * nat/aarch64-sve-linux-ptrace.c: New file.
6259         * nat/aarch64-sve-linux-ptrace.h: New file.
6260
6261 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6262
6263         * aarch64-linux-nat.c (aarch64_linux_read_description):
6264         Add parmeter zero.
6265         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
6266         Likewise.
6267         * aarch64-tdep.c (tdesc_aarch64_list): Add.
6268         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
6269         (aarch64_gdbarch_init): Add parmeter zero.
6270         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
6271         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
6272         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
6273         parmeter.
6274         * doc/gdb.texinfo: Describe SVE feature
6275         * features/aarch64-sve.c: New file.
6276
6277 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
6278
6279         PR gdb/23210
6280         * gdbarch.sh (significant_addr_bit): Default to zero when
6281         not set by target architecture.
6282         * gdbarch.c: Re-generated.
6283         * utils.c (address_significant): Update.
6284
6285 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
6286
6287         * stack.c (func_command): Remove trailing newline in call to error.
6288
6289 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6290
6291         * regcache.h (regcache_raw_collect): Remove, update callers to
6292         use regcache::raw_collect.
6293         * regcache.c (regcache_raw_collect): Remove.
6294
6295 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6296
6297         * regcache.h (regcache_raw_supply): Remove, update callers to
6298         use detached_regcache::raw_supply.
6299         * regcache.c (regcache_raw_supply): Remove.
6300
6301 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6302
6303         * regcache.h (regcache_cooked_write_part): Remove, update
6304         callers to use regcache::cooked_write_part.
6305         * regcache.c (regcache_cooked_write_part): Remove.
6306
6307 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6308
6309         * regcache.h (regcache_cooked_read_part): Remove, update callers
6310         to use readable_regcache::cooked_read_part.
6311         * regcache.c (regcache_cooked_read_part): Remove.
6312
6313 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6314
6315         * regcache.h (regcache_cooked_read_value): Remove, update
6316         callers to use readable_regcache::cooked_read_value.
6317         * regcache.c (regcache_cooked_read_value): Remove.
6318
6319 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6320
6321         * regcache.h (regcache_cooked_write): Remove, update callers to
6322         use regcache::cooked_write.
6323         * regcache.c (regcache_cooked_write): Remove.
6324
6325 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6326
6327         * regcache.h (regcache_invalidate): Remove, update callers to
6328         use detached_regcache::invalidate instead.
6329         * regcache.c (regcache_invalidate): Remove.
6330
6331 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6332
6333         * regcache.h (regcache_raw_write_part): Remove, update callers
6334         to use regcache::raw_write_part instead.
6335         * regcache.c (regcache_raw_write_part): Remove.
6336
6337 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6338
6339         * regcache.h (regcache_raw_read_part): Remove, update callers to
6340         use readable_regcache::raw_read_part instead.
6341         * regcache.c (regcache_raw_read_part): Remove.
6342
6343 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6344
6345         * regcache.h (regcache_cooked_read): Remove, update callers to
6346         use readable_regcache::cooked_read instead.
6347         * regcache.c (regcache_cooked_read): Remove.
6348
6349 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6350
6351         * regcache.h (regcache_raw_write): Remove, update callers to use
6352         regcache::raw_write instead.
6353         * regcache.c (regcache_raw_write): Remove.
6354
6355 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6356
6357         * regcache.h (regcache_raw_read): Remove, update callers to use
6358         readable_regcache::raw_read instead.
6359         * regcache.c (regcache_raw_read): Remove.
6360
6361 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6362
6363         * regcache.h (regcache_raw_update): Remove, update callers to
6364         use readable_regcache::raw_update instead.
6365         * regcache.c (regcache_raw_update): Remove.
6366
6367 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6368
6369         * regcache.h (regcache_register_status): Remove, update callers
6370         to use reg_buffer::get_register_status directly instead.
6371         * regcache.c (regcache_register_status): Remove.
6372
6373 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6374
6375         * regcache.h (regcache_get_ptid): Remove, update all callers to
6376         call regcache::ptid instead.
6377         * regcache.c (regcache_get_ptid): Remove.
6378
6379 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6380
6381         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
6382
6383 2018-05-30  Pedro Alves  <palves@redhat.com>
6384
6385         * common/common-exceptions.h (exception_rethrow): Use
6386         ATTRIBUTE_NORETURN.
6387
6388 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
6389
6390         * breakpoint.c (print_solib_event, check_status_catch_solib):
6391         Remove struct keyword in range-based for loops.
6392         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
6393         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
6394         Likewise.
6395         * linespec.c (find_superclass_methods, search_minsyms_for_name):
6396         Likewise.
6397         * symfile.c (addr_info_make_relative): Likewise.
6398         * thread.c (value_in_thread_stack_temporaries): Likewise.
6399
6400 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
6401
6402         PR gdb/16841
6403         * valops.c (value_struct_elt_for_reference): Call check_typedef on
6404         aggregate type to get its real type before accessing it.
6405
6406 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
6407
6408         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
6409         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
6410         * coff-pe-read.c (add_pe_forwarded_sym): Replace
6411         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
6412         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
6413         * jit.c (jit_breakpoint_re_set_internal): Likewise.
6414         * printcmd.c (info_address_command): Likewise.
6415
6416 2018-05-29  Tom Tromey  <tom@tromey.com>
6417
6418         * windows-nat.c (handle_exception): Update fall-through comment.
6419
6420 2018-05-29  Tom Tromey  <tom@tromey.com>
6421
6422         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
6423         (struct program_space) <added_solibs>: Now a std::vector.
6424         * breakpoint.c (print_solib_event): Update.
6425         (check_status_catch_solib): Update.
6426         * progspace.c (clear_program_space_solib_cache): Update.
6427         * solib.c (update_solib_list): Update.
6428
6429 2018-05-29  Tom Tromey  <tom@tromey.com>
6430
6431         * python/py-type.c (typy_richcompare): Update.
6432         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
6433         * gdbtypes.h (types_deeply_equal): Return bool.
6434         (types_equal): Likewise.
6435         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
6436         declare VEC.
6437         (check_types_equal): Change worklist to std::vector.  Return
6438         bool.
6439         (struct type_equality_entry): Add constructor.
6440         (compare_maybe_null_strings): Return bool.
6441         (check_types_worklist): Return bool.  Change worklist to
6442         std::vector.
6443         (types_deeply_equal): Use std::vector.
6444         (types_equal): Return bool.
6445         (compare_maybe_null_strings): Simplify.
6446
6447 2018-05-29  Tom Tromey  <tom@tromey.com>
6448
6449         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
6450
6451 2018-05-29  Tom Tromey  <tom@tromey.com>
6452
6453         * objc-lang.h: Don't include cp-support.h.
6454         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
6455         declare VEC.
6456
6457 2018-05-27  Tom Tromey  <tom@tromey.com>
6458
6459         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
6460
6461 2018-05-25  Tom Tromey  <tom@tromey.com>
6462
6463         * value.c (value::location): Initialize.
6464
6465 2018-05-25  Tom Tromey  <tom@tromey.com>
6466
6467         * dbxread.c (init_bincl_list): Remove.
6468         (bincl_list): Now a std::vector.
6469         (bincls_allocated, next_bincl): Remove.
6470         (free_bincl_list, do_free_bincl_list_cleanup)
6471         (make_cleanup_free_bincl_list): Remove.
6472         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
6473         unique_xmalloc_ptr.
6474         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
6475         (struct header_file_location): Add constructor.
6476         (add_bincl_to_list): Remove.
6477
6478 2018-05-25  Tom Tromey  <tom@tromey.com>
6479
6480         * tui/tui.c (tui_enable): Update.
6481         * mi/mi-interp.c (mi_interp::init): Update.
6482         * interps.h (class interp) <name>: New method.
6483         <m_name>: Rename from name.
6484         (~scoped_restore_interp): Update.
6485         * interps.c (interp::interp): Update.
6486         (interp_add, interp_set, interp_lookup_existing)
6487         (current_interp_named_p): Update.
6488
6489 2018-05-25  Tom Tromey  <tom@tromey.com>
6490
6491         * interps.c (interp_name): Remove.
6492         * mi/mi-interp.c (mi_interp::init): Update.
6493         * interps.h (interp_name): Remove.
6494         (~scoped_restore_interp): Update.
6495         * tui/tui.c (tui_enable): Update.
6496
6497 2018-05-25  Tom Tromey  <tom@tromey.com>
6498
6499         * utils.c (fputs_maybe_filtered): Update.
6500         * linespec.c (decode_line_full): Update.
6501         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
6502         (mi_print_breakpoint_for_event, mi_solib_loaded)
6503         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
6504         (mi_user_selected_context_changed): Update.
6505         * mi/mi-main.c (mi_execute_command): Update.
6506         * cli/cli-script.c (execute_control_command): Update.
6507         * python/python.c (execute_gdb_command): Update.
6508         * solib.c (info_sharedlibrary_command): Update.
6509         * interps.c (interp_ui_out): Remove.
6510         * interps.h (interp_ui_out): Remove.
6511
6512 2018-05-25  Tom Tromey  <tom@tromey.com>
6513
6514         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
6515         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
6516         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
6517
6518 2018-05-25  Tom Tromey  <tom@tromey.com>
6519
6520         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
6521         * interps.c (interp_exec): Use scoped_restore.
6522
6523 2018-05-25  Tom Tromey  <tom@tromey.com>
6524
6525         * remote.c (remote_target::remote_file_get): Use
6526         gdb::byte_vector.
6527         (remote_target::remote_file_put): Likewise.
6528
6529 2018-05-25  Tom Tromey  <tom@tromey.com>
6530
6531         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
6532         a std::string.
6533         (get_pe_section_index, add_pe_exported_sym): Update.
6534         (read_pe_exported_syms): Use gdb::def_vector.
6535
6536 2018-05-25  Tom Tromey  <tom@tromey.com>
6537
6538         * frame.c (remove_prev_frame): Remove.
6539         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
6540
6541 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
6542
6543         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
6544         Remove prototypes.
6545         * mips-linux-nat.c (supply_fpregset): Always call
6546         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
6547         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
6548         `mips_fill_fpregset'.
6549         * mips-linux-tdep.c (mips_supply_fpregset)
6550         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
6551         (mips_fill_fpregset_wrapper): Remove functions.
6552         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
6553         (mips_linux_fpregset): Remove variable.
6554         (mips_linux_iterate_over_regset_sections): Use
6555         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
6556         (mips_linux_o32_sigframe_init): Remove comment.
6557
6558 2018-05-25  Pedro Alves  <palves@redhat.com>
6559
6560         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
6561         (struct readahead_cache, struct packet_reg, struct
6562         remote_arch_state, class remote_state): Move higher up in the
6563         file.
6564         (remote_target::m_remote_state): Now an object instead of a pointer.
6565         (remote_target::get_remote_state): Adjust.
6566
6567 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6568
6569         * stack.c (select_and_print_frame): Delete.
6570         (struct function_bounds): Move struct within function.
6571         (func_command): Most content moved into new function
6572         find_frame_for_function, use new function, print result, add
6573         function comment.
6574         (find_frame_for_function): New function, now returns a result.
6575
6576 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6577
6578         * stack.c (iterate_over_block_arg_vars): Fix comment.
6579         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
6580
6581 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6582
6583         PR gdb/23203
6584         * frame.c
6585         (scoped_restore_selected_frame::scoped_restore_selected_frame):
6586         Define.
6587         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
6588         Define.
6589         * frame.h (class scoped_restore_selected_frame): New class.
6590         * stack.c (print_frame_local_vars): Remove catching and rethrowing
6591         of any exception, use scoped_restore_selected_frame to restore the
6592         frame instead.
6593
6594 2018-05-24  Pedro Alves  <palves@redhat.com>
6595
6596         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
6597         override.
6598
6599 2018-05-23  Tom Tromey  <tom@tromey.com>
6600
6601         * complaints.c (struct complaints): Remove.
6602         (symfile_complaint_book): Remove.
6603         (series): New global.
6604         (complaint_internal): Update.
6605         (clear_complaints): Update.
6606
6607 2018-05-23  Tom Tromey  <tom@tromey.com>
6608
6609         * complaints.c (counters): New global.
6610         (struct complain): Remove.
6611         (struct complaints) <root>: Remove.
6612         (complaint_sentinel): Remove.
6613         (symfile_complaint_book): Update.
6614         (find_complaint) Remove.
6615         (complaint_internal, clear_complaints): Update.
6616
6617 2018-05-23  Tom Tromey  <tom@tromey.com>
6618
6619         * complaints.c (struct complain) <file, line>: Remove.
6620         (find_complaint): Remove file, line parameters.
6621         (complaint_internal): Update.
6622
6623 2018-05-23  Tom Tromey  <tom@tromey.com>
6624
6625         * complaints.c (vcomplaint): Remove.
6626         (complaint_internal) Merge in contents of vcomplaint.
6627
6628 2018-05-23  Tom Tromey  <tom@tromey.com>
6629
6630         * complaints.c (struct complaints) <explanation>: Remove.
6631         (symfile_explanations): Remove.
6632         (symfile_complaint_book): Update.
6633         (vcomplaint): Update.
6634         (struct explanation): Remove.
6635
6636 2018-05-23  Tom Tromey  <tom@tromey.com>
6637
6638         * complaints.c (symfile_complaints): Remove.
6639         (complaint_internal): Remove "complaints" parameter.
6640         (clear_complaints, vcomplaint): Remove "c" parameter.
6641         (get_complaints): Remove.
6642         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
6643         (dwarf2_debug_line_missing_file_complaint)
6644         (dwarf2_debug_line_missing_end_sequence_complaint)
6645         (dwarf2_complex_location_expr_complaint)
6646         (dwarf2_const_value_length_mismatch_complaint)
6647         (dwarf2_section_buffer_overflow_complaint)
6648         (dwarf2_macro_malformed_definition_complaint)
6649         (dwarf2_invalid_attrib_class_complaint)
6650         (create_addrmap_from_index, dw2_symtab_iter_next)
6651         (dw2_expand_marked_cus)
6652         (dw2_debug_names_iterator::find_vec_in_debug_names)
6653         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
6654         (create_debug_type_hash_table, init_cutu_and_read_dies)
6655         (partial_die_parent_scope, add_partial_enumeration)
6656         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
6657         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
6658         (read_import_statement, read_file_scope, create_dwo_cu_reader)
6659         (create_cus_hash_table, create_dwp_hash_table)
6660         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
6661         (dwarf2_rnglists_process, dwarf2_ranges_process)
6662         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
6663         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
6664         (handle_struct_member_die, process_structure_scope)
6665         (read_array_type, read_common_block, read_module_type)
6666         (read_tag_pointer_type, read_typedef, read_base_type)
6667         (read_subrange_type, load_partial_dies, partial_die_info::read)
6668         (partial_die_info::read, partial_die_info::read)
6669         (partial_die_info::read, read_checked_initial_length_and_offset)
6670         (dwarf2_string_attr, read_formatted_entries)
6671         (dwarf_decode_line_header)
6672         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
6673         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
6674         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
6675         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
6676         (get_signatured_type, get_DW_AT_signature_type)
6677         (decode_locdesc, file_file_name, consume_improper_spaces)
6678         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
6679         (dwarf_decode_macro_bytes, dwarf_decode_macros)
6680         (dwarf2_symbol_mark_computed, set_die_type)
6681         (read_attribute_value): Update.
6682         * stap-probe.c (handle_stap_probe, get_stap_base_address):
6683         Update.
6684         * dbxread.c (unknown_symtype_complaint)
6685         (lbrac_mismatch_complaint, repeated_header_complaint)
6686         (set_namestring, function_outside_compilation_unit_complaint)
6687         (read_dbx_symtab, process_one_symbol): Update.
6688         * gdbtypes.c (stub_noname_complaint): Update.
6689         * windows-nat.c (handle_unload_dll): Update.
6690         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
6691         (decode_base_type): Update.
6692         * xcoffread.c (bf_notfound_complaint, ef_complaint)
6693         (eb_complaint, record_include_begin, record_include_end)
6694         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
6695         (process_xcoff_symbol, read_symbol)
6696         (function_outside_compilation_unit_complaint)
6697         (scan_xcoff_symtab): Update.
6698         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
6699         * buildsym.c (finish_block_internal, make_blockvector)
6700         (end_symtab_get_static_block, augment_type_symtab): Update.
6701         * dtrace-probe.c (dtrace_process_dof)
6702         (dtrace_static_probe_ops::get_probes): Update.
6703         * complaints.h (struct complaint): Don't declare.
6704         (symfile_complaints): Remove.
6705         (complaint_internal): Remove "complaints" parameter.
6706         (complaint): Likewise.
6707         (clear_complaints): Likewise.
6708         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6709         (reread_symbols): Update.
6710         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
6711         (dwarf2_frame_cache, decode_frame_entry): Update.
6712         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
6713         * objc-lang.c (lookup_objc_class, lookup_child_selector)
6714         (info_selectors_command): Update.
6715         * macrotab.c (macro_include, check_for_redefinition)
6716         (macro_undef): Update.
6717         * objfiles.c (filter_overlapping_sections): Update.
6718         * stabsread.c (invalid_cpp_abbrev_complaint)
6719         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
6720         (define_symbol, error_type, read_type, rs6000_builtin_type)
6721         (stabs_method_name_from_physname, read_member_functions)
6722         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
6723         (attach_fields_to_type, complain_about_struct_wipeout)
6724         (read_range_type, read_args, common_block_start)
6725         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
6726         Update.
6727         * mdebugread.c (index_complaint, unknown_ext_complaint)
6728         (basic_type_complaint, bad_tag_guess_complaint)
6729         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
6730         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
6731         (parse_procedure, parse_lines)
6732         (function_outside_compilation_unit_complaint)
6733         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
6734         (bad_tag_guess_complaint, reg_value_complaint): Update.
6735         * cp-support.c (demangled_name_complaint): Update.
6736         * macroscope.c (sal_macro_scope): Update.
6737         * dwarf-index-write.c (class debug_names): Update.
6738
6739 2018-05-23  Tom Tromey  <tom@tromey.com>
6740
6741         * complaints.c (clear_complaints): Remove "noisy" parameter.
6742         * complaints.h (clear_complaints): Update.
6743         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6744         (reread_symbols): Update.
6745
6746 2018-05-23  Tom Tromey  <tom@tromey.com>
6747
6748         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
6749         SUBSEQUENT_MESSAGE.
6750         (vcomplaint, clear_complaints): Update.
6751         (symfile_explanations): Remove some messages.
6752
6753 2018-05-23  Tom Tromey  <tom@tromey.com>
6754
6755         * complaints.c (internal_complaint): Remove.
6756         * complaints.h (internal_complaint): Remove.
6757
6758 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6759
6760         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
6761
6762 2018-05-22  Pedro Alves  <palves@redhat.com>
6763
6764         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
6765         (remote_fileio_badfd, remote_fileio_return_errno)
6766         (remote_fileio_return_success, remote_fileio_func_open)
6767         (remote_fileio_func_open, remote_fileio_func_close)
6768         (remote_fileio_func_read, remote_fileio_func_write)
6769         (remote_fileio_func_lseek, remote_fileio_func_rename)
6770         (remote_fileio_func_unlink, remote_fileio_func_stat)
6771         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
6772         (remote_fileio_func_isatty, remote_fileio_func_system): Add
6773         remote_target parameter.
6774         (remote_fio_func_map) <func>: Add remote_target parameter.
6775         (do_remote_fileio_request, remote_fileio_request):
6776         * remote-fileio.h (remote_fileio_request):
6777         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
6778         remote_target parameter.
6779         (remote_notif_process, handle_notification): Adjust to pass down
6780         the remote.
6781         (remote_notif_state_allocate): Add remote_target parameter.  Save
6782         it.
6783         * remote-notif.h (struct remote_target): Forward declare.
6784         (struct notif_client) <parse, ack, can_get_pending_events>: Add
6785         remote_target parameter.
6786         (struct remote_notif_state) <remote>: New field.
6787         (remote_notif_ack, remote_notif_parse): Add remote_target
6788         parameter.
6789         (remote_notif_state_allocate, remote_notif_state_allocate): Add
6790         remote_target parameter.
6791         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
6792         (threads_listing_context, rmt_thread_action, protocol_feature)
6793         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
6794         (packet_result, struct threads_listing_context, remote_state):
6795         Move definitions and declarations higher up.
6796         (remote_target) <~remote_target>: Declare.
6797         (remote_download_command_source, remote_file_put, remote_file_get)
6798         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
6799         (remote_hostio_pread_vFile, remote_hostio_send_command)
6800         (remote_hostio_set_filesystem, remote_hostio_open)
6801         (remote_hostio_close, remote_hostio_unlink, remote_state)
6802         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
6803         (get_memory_write_packet_size, get_memory_read_packet_size)
6804         (append_pending_thread_resumptions, remote_detach_1)
6805         (append_resumption, remote_resume_with_vcont)
6806         (add_current_inferior_and_thread, wait_ns, wait_as)
6807         (process_stop_reply, remote_notice_new_inferior)
6808         (process_initial_stop_replies, remote_add_thread)
6809         (btrace_sync_conf, remote_btrace_maybe_reopen)
6810         (remove_new_fork_children, kill_new_fork_children)
6811         (discard_pending_stop_replies, stop_reply_queue_length)
6812         (check_pending_events_prevent_wildcard_vcont)
6813         (discard_pending_stop_replies_in_queue, stop_reply)
6814         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
6815         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
6816         (remote_interrupt_as, remote_interrupt_ns)
6817         (remote_get_noisy_reply, remote_query_attached)
6818         (remote_add_inferior, remote_current_thread, get_current_thread)
6819         (set_thread, set_general_thread, set_continue_thread)
6820         (set_general_process, write_ptid)
6821         (remote_unpack_thread_info_response, remote_get_threadinfo)
6822         (parse_threadlist_response, remote_get_threadlist)
6823         (remote_threadlist_iterator, remote_get_threads_with_ql)
6824         (remote_get_threads_with_qxfer)
6825         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
6826         (get_offsets, remote_check_symbols, remote_supported_packet)
6827         (remote_query_supported, remote_packet_size)
6828         (remote_serial_quit_handler, remote_detach_pid)
6829         (remote_vcont_probe, remote_resume_with_hc)
6830         (send_interrupt_sequence, interrupt_query)
6831         (remote_notif_get_pending_events, fetch_register_using_p)
6832         (send_g_packet, process_g_packet, fetch_registers_using_g)
6833         (store_register_using_P, store_registers_using_G)
6834         (set_remote_traceframe, check_binary_download)
6835         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
6836         (remote_xfer_live_readonly_partial, remote_read_bytes)
6837         (remote_send_printf, remote_flash_write, readchar)
6838         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
6839         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
6840         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
6841         (extended_remote_disable_randomization, extended_remote_run)
6842         (send_environment_packet, extended_remote_environment_support)
6843         (extended_remote_set_inferior_cwd, remote_write_qxfer)
6844         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
6845         (packet_command): Now methods of ...
6846         (remote_target): ... this class.
6847         (m_remote_state) <remote_target>: New field.
6848         (struct remote_state) <stop_reply_queue,
6849         remote_async_inferior_event_token, wait_forever_enabled_p>: New
6850         fields.
6851         (remote_state::remote_state): Allocate stop_reply_queue.
6852         (remote_state): Delete global.
6853         (get_remote_state_raw): Delete.
6854         (remote_target::get_remote_state): Allocate m_remote_state on
6855         demand.
6856         (get_current_remote_target): New.
6857         (remote_ops, extended_remote_ops): Delete.
6858         (wait_forever_enabled_p, remote_async_inferior_event_token):
6859         Delete, moved to struct remote_state.
6860         (remote_target::close): Delete self.  Destruction bits split to
6861         ...
6862         (remote_target::~remote_target): ... this.
6863         (show_memory_packet_size): Adjust to use
6864         get_current_remote_target.
6865         (struct protocol_feature) <func>: Add remote_target parameter.
6866         All callers adjusted.
6867         (curr_quit_handler_target): New.
6868         (remote_serial_quit_handler): Reimplement.
6869         (remote_target::open_1): Adjust to use get_current_remote_target.
6870         Heap-allocate remote_target/extended_remote_target instances.
6871         (vcont_builder::vcont_builder): Add remote_target parameter, and
6872         save it in m_remote.  All callers adjusted.
6873         (vcont_builder::m_remote): New field.
6874         (vcont_builder::restart, vcont_builder::flush)
6875         (vcont_builder::push_action): Use it.
6876         (remote_target::commit_resume): Use it.
6877         (struct queue_iter_param) <remote>: New field.
6878         (remote_target::remove_new_fork_children): Fill in 'remote' field.
6879         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
6880         (check_pending_event_prevents_wildcard_vcont_callback)
6881         (remote_target::check_pending_events_prevent_wildcard_vcont)
6882         (remote_target::discard_pending_stop_replies)
6883         (remote_target::discard_pending_stop_replies_in_queue)
6884         (remote_target::remote_notif_remove_queued_reply): Fill in
6885         'remote' field.
6886         (remote_notif_get_pending_events): New.
6887         (remote_target::readchar, remote_target::remote_serial_write):
6888         Save/restore curr_quit_handler_target.
6889         (putpkt): New.
6890         (kill_new_fork_children): Fill in 'remote' field.
6891         (packet_command): Use get_current_remote_target, defer to
6892         remote_target method of same name.
6893         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
6894         parameter, and save it in m_remote.  All callers adjusted.
6895         (scoped_remote_fd::release): Use m_remote.
6896         (scoped_remote_fd::m_remote): New field.
6897         (remote_file_put, remote_file_get, remote_file_delete): Use
6898         get_current_remote_target, defer to remote_target method of same
6899         name.
6900         (remote_btrace_reset): Add remote_state paremeter.  Update all
6901         callers.
6902         (remote_async_inferior_event_handler). Pass down 'data'.
6903         (remote_new_objfile): Use get_current_remote_target.
6904         (remote_target::vcont_r_supported): New.
6905         (set_range_stepping): Use get_current_remote_target and
6906         remote_target::vcont_r_supported.
6907         (_initialize_remote): Don't allocate 'remote_state' and
6908         'stop_reply_queue' globals.
6909         * remote.h (struct remote_target): Forward declare.
6910         (getpkt, putpkt, remote_notif_get_pending_events): Add
6911         'remote_target' parameter.
6912
6913 2018-05-22  Pedro Alves  <palves@redhat.com>
6914
6915         * remote.c (vcont_builder): Now a class.  Make all data members
6916         private.
6917         (vcont_builder) <vcont_builder, restart, flush, push_action>:
6918         Declare methods.
6919         (vcont_builder_restart): Rename to ...
6920         (vcont_builder::restart): ... this.
6921         (vcont_builder_flush): Rename to ...
6922         (vcont_builder::flush): ... this.
6923         (vcont_builder_push_action): Rename to ...
6924         (vcont_builder::push_action): ... this.
6925         (remote_target::commit_resume): Adjust.
6926
6927 2018-05-22  Pedro Alves  <palves@redhat.com>
6928
6929         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
6930         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
6931         (get_fixed_memory_packet_size): New.
6932         (get_memory_packet_size): Use it.
6933         (set_memory_packet_size): Don't override the config size with
6934         DEFAULT_MAX_MEMORY_PACKET_SIZE.
6935         (show_memory_packet_size): Use get_fixed_memory_packet_size.
6936         Don't refer to get_memory_packet_size if not connected to a remote
6937         target.  Show "(default)" if configured size is 0.
6938
6939 2018-05-22  Pedro Alves  <palves@redhat.com>
6940
6941         * remote.c (remote_target::mourn_inferior): Move
6942         discard_pending_stop_replies call here from ...
6943         (_initialize_remote): ... here.
6944
6945 2018-05-22  Pedro Alves  <palves@redhat.com>
6946
6947         * remote.c (compare_section_command): Remove set_general_process
6948         call.
6949
6950 2018-05-22  Pedro Alves  <palves@redhat.com>
6951
6952         * remote.c (struct packet_reg, struct remote_arch_state):
6953         Move higher up in the file.
6954         (remote_state) <m_arch_states>: Store remote_arch_state values
6955         instead of remote_arch_state pointers.
6956         (remote_state::get_remote_arch_state): Adjust.
6957
6958 2018-05-22  Pedro Alves  <palves@redhat.com>
6959
6960         * remote.c: Include <unordered_map>.
6961         (remote_state): Now a class.
6962         (remote_state) <get_remote_arch_state>: Declare method.
6963         <get_remote_arch_state>: New field.
6964         (remote_arch_state) <remote_arch_state>: Declare ctor.
6965         <regs>: Now a unique_ptr.
6966         (remote_gdbarch_data_handle): Delete.
6967         (get_remote_arch_state): Delete.
6968         (remote_state::get_remote_arch_state): New.
6969         (get_remote_state): Adjust to call remote_state's
6970         get_remote_arch_state method.
6971         (init_remote_state): Delete, bits factored out to ...
6972         (remote_arch_state::remote_arch_state): ... this new method.
6973         (get_remote_packet_size, get_memory_packet_size)
6974         (process_g_packet, remote_target::fetch_registers)
6975         (remote_target::prepare_to_store, store_registers_using_G)
6976         (remote_target::store_registers, remote_target::get_trace_status):
6977         Adjust to call remote_state's method.
6978         (_initialize_remote): Remove reference to
6979         remote_gdbarch_data_handle.
6980
6981 2018-05-22  Pedro Alves  <palves@redhat.com>
6982
6983         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
6984         pread>: New method declarations.
6985         (remote_target::open_1): Adjust.
6986         (readahead_cache_invalidate): Rename to ...
6987         (readahead_cache::invalidate): ... this, and adjust to be a class
6988         method.
6989         (readahead_cache_invalidate_fd): Rename to ...
6990         (readahead_cache::invalidate_fd): ... this, and adjust to be a
6991         class method.
6992         (remote_hostio_pwrite): Adjust.
6993         (remote_hostio_pread_from_cache): Rename to ...
6994         (readahead_cache::pread): ... this, and adjust to be a class
6995         method.
6996         (remote_hostio_close): Adjust.
6997
6998 2018-05-22  Pedro Alves  <palves@redhat.com>
6999
7000         * remote.c (remote_hostio_close_cleanup): Delete.
7001         (class scoped_remote_fd): New.
7002         (remote_file_put, remote_file_get): Use it.
7003
7004 2018-05-22  Pedro Alves  <palves@redhat.com>
7005
7006         (struct vCont_action_support): Use bool and initialize all fields.
7007         (struct readahead_cache): Initialize all fields.
7008         (remote_state): Use bool and initialize all fields.
7009         (remote_state::remote_state, remote_state::~remote_state): New.
7010         (new_remote_state): Delete.
7011         (_initialize_remote): Use new to allocate remote_state.
7012
7013 2018-05-22  Pedro Alves  <palves@redhat.com>
7014             張俊芝  <zjz@zjz.name>
7015
7016         PR gdb/22973
7017         * c-exp.y: Include "c-support.h".
7018         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
7019         of tolower.  Use c_ident_is_alpha to scan names.
7020         * c-lang.c: Include "c-support.h".
7021         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
7022         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
7023         * c-support.h: New file, with bits factored out from ...
7024         * cp-name-parser.y: ... this file.
7025         Include "c-support.h".
7026         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
7027         c-support.h and renamed.
7028         (symbol_end, yylex): Adjust.
7029
7030 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7031
7032         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
7033         parameter type to CORE_ADDR.
7034         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
7035         parameter type in declaration to CORE_ADDR.
7036         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
7037         target_auxv_search to get AT_HWCAP and use the result to get the
7038         target description.
7039         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
7040         to CORE_ADDR. Remove the cast of the return value to unsigned
7041         long. Fix error predicate of target_auxv_search.
7042         (ppc_linux_nat_target::read_description): Change the type of the
7043         hwcap variable to CORE_ADDR.
7044
7045 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7046
7047         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
7048         if the size of fpscr is larger than 32 bits.
7049
7050 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7051
7052         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
7053         (ppc32_linux_vsxregmap): New global.
7054         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
7055         regcache_supply_regset, and regcache_collect_regset.
7056         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
7057         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
7058         (fetch_vsx_register, store_vsx_register): Remove.
7059         (fetch_vsx_registers): Add regno parameter. Get regset using
7060         ppc_linux_vsxregset. Use regset to supply registers.
7061         (store_vsx_registers): Add regno parameter. Get regset using
7062         ppc_linux_vsxregset. Use regset to collect registers.
7063         (fetch_register): Call fetch_vsx_registers instead of
7064         fetch_vsx_register.
7065         (store_register): Call store_vsx_registers instead of
7066         store_vsx_register.
7067         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
7068         new regno parameter.
7069         (store_ppc_registers): Call store_vsx_registers with -1 for the
7070         new regno parameter.
7071         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
7072         (ppc_collect_vsxregset): Remove.
7073
7074 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7075
7076         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
7077         offset fields.
7078         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
7079         for vector register offset fields.
7080         (ppc64_fbsd_reg_offsets): Likewise.
7081         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7082         to vector register offset fields.
7083         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7084         to vector register offset fields.
7085         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
7086         vector register offset fields.
7087         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
7088         initializers for vector register offset fields.
7089         (rs6000_aix64_reg_offsets): Likewise.
7090         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
7091         (ppc_supply_vrregset): Remove.
7092         (ppc_collect_vrregset): Remove.
7093         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
7094         (ppc_linux_vrregset) : New function.
7095         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
7096         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
7097         (ppc32_linux_vrregset): Remove.
7098         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
7099         and use result instead of ppc32_linux_vrregset.
7100         (ppc32_linux_reg_offsets): Remove initializers for vector register
7101         offset fields.
7102         (ppc64_linux_reg_offsets): Likewise.
7103         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
7104         * ppc-linux-nat.c: Include regset.h.
7105         (gdb_vrregset_t): Adjust comment to account for little-endian
7106         mode.
7107         (supply_vrregset, fill_vrregset): Remove.
7108         (fetch_altivec_register, store_altivec_register): Remove.
7109         (fetch_altivec_registers): Add regno parameter. Get regset using
7110         ppc_linux_vrregset. Use regset to supply registers.
7111         (store_altivec_registers): Add regno parameter. Get regset using
7112         ppc_linux_vrregset. Use regset to collect registers.
7113         (fetch_register): Call fetch_altivec_registers instead of
7114         fetch_altivec_register.
7115         (store_register): Call store_altivec_registers instead of
7116         store_altivec_register.
7117         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
7118         the new regno parameter.
7119         (store_ppc_registers): Call store_altivec_registers with -1 for
7120         the new regno parameter.
7121
7122 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7123
7124         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
7125         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
7126         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
7127         (gdb_vrregset_t): Change array type size to
7128         PPC_LINUX_SIZEOF_VRREGSET.
7129         (gdb_vsxregset_t): Change array type size to
7130         PPC_LINUX_SIZEOF_VSXREGSET.
7131         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
7132         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
7133         PPC_LINUX_SIZEOF_VSXREGSET.
7134
7135 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7136
7137         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
7138         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
7139         nat/ppc-linux.c.
7140         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
7141         ppc_linux_target_wordsize with tid.
7142         (ppc_linux_nat_target::read_description): Call ppc_linux_target
7143         wordsize with tid.
7144         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
7145         (ppc64_64bit_inferior_p): Add static and inline specifiers.
7146         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
7147         tid parameter. Remove static specifier.
7148         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
7149         (ppc_linux_target_wordsize): New declaration.
7150
7151 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7152
7153         * arch/ppc-linux-common.c: New file.
7154         * arch/ppc-linux-common.h: New file.
7155         * arch/ppc-linux-tdesc.h: New file.
7156         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
7157         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
7158         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
7159         arch/ppc-linux-tdesc.h.
7160         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
7161         arch/ppc-linux-tdesc.h.
7162         (ppc_linux_nat_target::read_description): Remove target
7163         description matching code. Fill a ppc_linux_features struct and
7164         call ppc_linux_match_description with it. Move comment about ISA
7165         2.05 to ppc-linux-common.c.
7166         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
7167         arch/ppc-linux-tdesc.h.
7168         (ppc_linux_core_read_description): Remove target description
7169         matching code. Fill a ppc_linux_features struct and call
7170         ppc_linux_match_description with it.
7171         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
7172         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
7173         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
7174         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
7175         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
7176         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
7177         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
7178         (tdesc_powerpc_e500l): Remove.
7179
7180 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
7181
7182         * ada-lang.c (catch_assert_command): Pass empty string instead
7183         of NULL for excep_string argument.
7184
7185 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7186
7187         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
7188         the width of the requested register exceeds the width of the
7189         `ptrace' data type.
7190
7191 2018-05-21  Tom Tromey  <tom@tromey.com>
7192
7193         * printcmd.c (output_command): Remove.
7194         (output_command_const): Rename to output_command.
7195         * valprint.h (output_command): Rename from output_command_const.
7196         * tracepoint.c (trace_dump_actions): Call output_command.
7197
7198 2018-05-21  Tom Tromey  <tom@tromey.com>
7199
7200         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7201         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
7202         * ada-lang.h (create_ada_exception_catchpoint): Update.
7203         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
7204         std::string.
7205         (create_excep_cond_exprs, ~ada_catchpoint)
7206         (should_stop_exception, print_one_exception)
7207         (print_mention_exception, print_recreate_exception): Update.
7208         (ada_get_next_arg): Remove.
7209         (catch_ada_exception_command_split): Use std::string.  Change type
7210         of "excep_string", "cond_string".
7211         (catch_ada_exception_command): Update.
7212         (create_ada_exception_catchpoint): Change type of excep_string.
7213         (ada_exception_sal): Remove excep_string parameter.
7214         (~ada_catchpoint): Remove.
7215
7216 2018-05-21  Tom Tromey  <tom@tromey.com>
7217
7218         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
7219         cleanup.
7220
7221 2018-05-21  Tom Tromey  <tom@tromey.com>
7222
7223         * ada-lang.c (ada_exception_message_1, ada_exception_message):
7224         Return unique_xmalloc_ptr.
7225         (print_it_exception): Update.
7226
7227 2018-05-21  Tom Tromey  <tom@tromey.com>
7228
7229         * tracepoint.c (trace_dump_actions): Use std::string.
7230
7231 2018-05-21  Tom Tromey  <tom@tromey.com>
7232
7233         * symfile.c (reread_symbols): Use std::string for original_name.
7234
7235 2018-05-21  Tom Tromey  <tom@tromey.com>
7236
7237         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
7238         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
7239         constructor.
7240
7241 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
7242
7243         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
7244         instance to...
7245         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
7246         * objfiles.c (get_objfile_bfd_data): Allocate
7247         objfile_per_bfd_storage with obstack_new when allocating on
7248         obstack.
7249
7250 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7251
7252         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
7253         OBSTACK_ZALLOC.
7254         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
7255         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
7256         * mdebugread.c (mdebug_build_psymtabs): Likewise.
7257         (add_pending): Likewise.
7258         (parse_symbol): Likewise.
7259         (parse_partial_symbols): Likewise.
7260         (psymtab_to_symtab_1): Likewise.
7261         (new_psymtab): Likewise.
7262         (elfmdebug_build_psymtabs): Likewise.
7263         * minsyms.c (terminate_minimal_symbol_table): Likewise.
7264         * objfiles.c (get_objfile_bfd_data): Likewise.
7265         (objfile_register_static_link): Likewise.
7266         * psymtab.c (allocate_psymtab): Likewise.
7267         * stabsread.c (read_member_functions): Likewise.
7268         * xcoffread.c (xcoff_end_psymtab): Likewise.
7269
7270 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7271
7272         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
7273         compiler supports std::is_trivially_constructible.
7274         * common/poison.h: Include obstack.h.
7275         (IsMallocable): Define to is_trivially_constructible if the
7276         compiler supports it, define to true_type otherwise.
7277         (xobnew): New.
7278         (XOBNEW): Redefine.
7279         (xobnewvec): New.
7280         (XOBNEWVEC): Redefine.
7281         * gdb_obstack.h (obstack_zalloc): New.
7282         (OBSTACK_ZALLOC): Redefine.
7283         (obstack_calloc): New.
7284         (OBSTACK_CALLOC): Redefine.
7285         (obstack_new): New.
7286         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
7287         (gdbarch_obstack): New declaration in gdbarch.h, definition in
7288         gdbarch.c.
7289         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
7290         obstack_calloc/obstack_zalloc.
7291         (gdbarch_obstack_zalloc): Remove.
7292         * target-descriptions.c (tdesc_data_init): Use obstack_new.
7293
7294 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7295
7296         * stack.c (backtrace_command_1): Remove useless variable int i.
7297
7298 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7299
7300         * stack.c (print_frame_info): Fix comment.
7301
7302 2018-05-18  Tom Tromey  <tom@tromey.com>
7303
7304         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
7305         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
7306         (~dwarf2_per_objfile): Update
7307         (dwarf2_get_dwz_file): Use new.
7308         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
7309         unique_ptr.
7310
7311 2018-05-18  Tom Tromey  <tom@tromey.com>
7312
7313         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
7314         unique_ptr.
7315         * dwarf2read.c (struct dwp_file): Add constructor and
7316         initializers.
7317         (open_and_init_dwp_file): Return a unique_ptr.
7318         (dwarf2_per_objfile, create_dwp_hash_table)
7319         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
7320         (lookup_dwo_unit_in_dwp): Update.
7321         (open_and_init_dwp_file, get_dwp_file): Update.
7322
7323 2018-05-18  Tom Tromey  <tom@tromey.com>
7324
7325         * dwarf2read.c (dwarf2_per_objfile): Update.
7326         (struct mapped_index): Add initializers.
7327         (dwarf2_read_index): Use new.
7328         (dw2_symtab_iter_init): Update.
7329         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
7330         unique_ptr.
7331
7332 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7333
7334         * dwarf2read.c (mapped_index) <total_size>: Remove.
7335
7336 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7337
7338         * unittests/format_pieces-selftests.c (test_format_specifier):
7339         Add ARI comments.
7340
7341 2018-05-18  Tom Tromey  <tom@tromey.com>
7342
7343         * c-typeprint.c (maybe_print_hole): New function.
7344         (c_print_type_struct_field_offset): Update.
7345         (c_type_print_base_struct_union): Call maybe_print_hole.
7346
7347 2018-05-17  Keith Seitz  <keiths@redhat.com>
7348
7349         * breakpoint.c (build_bpstat_chain): New function, moved from
7350         bpstat_stop_status.
7351         (bpstat_stop_status): Add optional parameter, `stop_chain'.
7352         If no stop chain is passed, call build_bpstat_chain to build it.
7353         * breakpoint.h (build_bpstat_chain): Declare.
7354         (bpstat_stop_status): Move documentation here from breakpoint.c.
7355         * infrun.c (handle_signal_stop): Before eliding inlined frames,
7356         build the stop chain and pass it to skip_inline_frames.
7357         Pass this stop chain to bpstat_stop_status.
7358         * inline-frame.c: Include breakpoint.h.
7359         (stopped_by_user_bp_inline_frame): New function.
7360         (skip_inline_frames): Add parameter `stop_chain'.
7361         Move documention to inline-frame.h.
7362         If non-NULL, use stopped_by_user_bp_inline_frame to determine
7363         whether the frame should be elided.
7364         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
7365         Add moved documentation and update for new parameter.
7366
7367 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7368
7369         PR cli/14975
7370         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7371         unittests/format_pieces-selftests.c.
7372         * common/format.h (format_piece) <operator==>: New.
7373         (format_pieces) <operator[]>: Remove.
7374         * common/format.c (format_pieces::format_pieces): Handle \e.
7375         * unittests/format_pieces-selftests.c: New.
7376
7377 2018-05-17  Tom Tromey  <tom@tromey.com>
7378
7379         PR symtab/23010:
7380         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
7381         (dw2_instantiate_symtab): Add skip_partial parameter.
7382         (dw2_find_last_source_symtab, dw2_map_expand_apply)
7383         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
7384         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
7385         (dw2_expand_symtabs_matching_one)
7386         (dw2_find_pc_sect_compunit_symtab)
7387         (dw2_debug_names_lookup_symbol)
7388         (dw2_debug_names_expand_symtabs_for_function): Update.
7389         (init_cutu_and_read_dies): Add skip_partial parameter.
7390         (process_psymtab_comp_unit, build_type_psymtabs_1)
7391         (process_skeletonless_type_unit, load_partial_comp_unit)
7392         (psymtab_to_symtab_1): Update.
7393         (load_full_comp_unit): Add skip_partial parameter.
7394         (process_imported_unit_die, dwarf2_read_addr_index)
7395         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
7396         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
7397         (read_signatured_type): Update.
7398
7399 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7400
7401         * value.c (release_value): Remove unused variable.
7402         (record_latest_value): Likewise.
7403         (access_value_history): Likewise.
7404         (preserve_values): Likewise.
7405
7406 2018-05-17  Tom Tromey  <tom@tromey.com>
7407
7408         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
7409         Initialize.
7410
7411 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
7412
7413         PR gdb/22286
7414         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
7415         Also handle registers whose width is not a multiple of
7416         PTRACE_TYPE_RET.
7417         (linux_nat_trad_target::store_register): Likewise.
7418
7419 2018-05-16  Tom Tromey  <tom@tromey.com>
7420
7421         * gdbcore.h (core_bfd): Redefine.
7422         * corelow.c (core_target::close): Update.
7423         (core_target_open): Update.
7424         * progspace.h (struct program_space) <cbfd>: Now a
7425         gdb_bfd_ref_ptr.
7426
7427 2018-05-16  Tom Tromey  <tom@tromey.com>
7428
7429         PR cli/19551:
7430         * symfile-add-flags.h (enum symfile_add_flags)
7431         <SYMFILE_NOT_FILENAME>: New constant.
7432         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
7433         objfile name from BFD.
7434         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
7435         * minidebug.c (find_separate_debug_file_in_section): Put
7436         ".gnu_debugdata" into BFD's file name.
7437
7438 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
7439
7440         * regcache.c (regcache_read_ftype, regcache_write_ftype):
7441         Remove.
7442
7443 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
7444
7445         PR binutils/21446
7446         * aarch64-tdep.c (aarch64_analyze_prologue,
7447         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
7448         Indicate not interested in errors.
7449
7450 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7451
7452         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
7453         Supply the MIPS_ZERO_REGNUM register.
7454
7455 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7456
7457         * mips-tdep.c (mask_address_var): Make variable static.
7458
7459 2018-05-14  Tom Tromey  <tom@tromey.com>
7460
7461         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
7462
7463 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
7464
7465         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
7466         FXSAVE_ADDR for the mxcsr register.
7467
7468 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
7469
7470         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
7471
7472 2018-05-11  Pedro Alves  <palves@redhat.com>
7473
7474         * corelow.c (core_target) <core_target>: No longer inline.
7475         Initialize m_core_gdbarch, m_core_vec and build the section table
7476         here.
7477         <~core_target>: New.
7478         <core_gdbarch, get_core_register_section>: New methods.
7479         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
7480         factored out from ...
7481         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
7482         (core_ops): Delete.
7483         (sniff_core_bfd): Add gdbarch parameter.
7484         (core_close): Delete, merged into ...
7485         (core_target::close): ... here.  Delete self.
7486         (core_close_cleanup): Delete.
7487         (core_target_open): Allocate a core_target on the heap.  Use a
7488         unique_ptr instead of a cleanup.  Bits moved into the core_target
7489         ctor.  Adjust to use core_target methods instead of globals.
7490         (get_core_register_section): Rename to ...
7491         (core_target::get_core_register_section): ... this and adjust.
7492         (struct get_core_registers_cb_data): New.
7493         (get_core_registers_cb): Use it.  Use bool.
7494         (core_target::fetch_registers, core_target::files_info)
7495         (core_target::xfer_partial, core_target::read_description)
7496         (core_target::pid_to, core_target::thread_name): Adjust to
7497         reference class fields instead of globals.
7498         * target.h (struct target_ops_deleter, target_ops_up): New.
7499
7500 2018-05-11  Pedro Alves  <palves@redhat.com>
7501
7502         * corefile.c (core_file_command): Move to corelow.c.
7503         * corelow.c (the_core_target): Delete.
7504         (core_file_command): Moved from corefile.c.  Check exec_bfd
7505         instead of the_core_target.  Use target_detach instead of calling
7506         into the_core_target directly.
7507         (maybe_say_no_core_file_now): New.
7508         (core_target::detach): Use it.
7509         (_initialize_corelow): Remove references to the_core_target.
7510         * gdbcore.h (the_core_target): Delete.
7511
7512 2018-05-11  Tom Tromey  <tromey@redhat.com>
7513             Pedro Alves  <palves@redhat.com>
7514
7515         * corefile.c (core_bfd): Remove.
7516         * gdbcore.h (core_bfd): Now a macro.
7517         * progspace.h (struct program_space) <cbfd>: New field.
7518
7519 2018-05-11  Tom Tromey  <tom@tromey.com>
7520
7521         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
7522         gdb::def_vector.
7523
7524 2018-05-10  Tom Tromey  <tom@tromey.com>
7525
7526         * configure: Rebuild.
7527         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
7528
7529 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
7530
7531         PR server/23158:
7532         * regformats/regdat.sh: Adjust script, following the addition
7533         of the new expedite_regs parameter to init_target_desc.
7534
7535 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
7536     
7537         PR gdb/23127
7538         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
7539         set_gdbarch_significant_addr_bit.
7540         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
7541         set_gdbarch_significant_addr_bit.
7542         * utils.c (address_significant): Update to sign extend addr.
7543
7544 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
7545
7546         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
7547         (xtensa_linux_init_abi): Limit tdep->num_regs by
7548         tdep->num_nopriv_regs.
7549         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
7550         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
7551         not initialized.
7552
7553 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
7554
7555         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
7556
7557 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
7558
7559         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
7560         (I387_MXCSR_INIT_VAL): New constant.
7561         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
7562         buffer if it was supplied by the inferior.
7563         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
7564         (i387_xsave_get_clear_bv): New function.
7565         (i387_supply_xsave): Only read x87 control registers from the
7566         xsave buffer if the feature is enabled, and the state will have
7567         been written, otherwise, provide a suitable default.
7568         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
7569         including x87 control registers.  Update control registers if they
7570         have changed from the default value, and mark features as enabled
7571         as required.
7572         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
7573
7574 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
7575
7576         * spu-tdep.c (info_spu_event_command): Fix output formatting.
7577
7578 2018-05-07  Tom Tromey  <tom@tromey.com>
7579
7580         * configure: Rebuild.
7581         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
7582
7583 2018-05-07  Tom Tromey  <tom@tromey.com>
7584
7585         PR tdep/20362:
7586         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
7587         bit.  Use correct value for VDIV.
7588
7589 2018-05-04  Tom Tromey  <tom@tromey.com>
7590
7591         * configure: Rebuild.
7592         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
7593
7594 2018-05-04  Tom Tromey  <tom@tromey.com>
7595
7596         * linux-record.c (record_linux_system_call) <case
7597         RECORD_SYS_RECVFROM>: Add "break".
7598
7599 2018-05-04  Tom Tromey  <tom@tromey.com>
7600
7601         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
7602         Add missing "break".
7603         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
7604         Add missing "break".
7605
7606 2018-05-04  Tom Tromey  <tom@tromey.com>
7607
7608         * rs6000-tdep.c (ppc_process_record_op4)
7609         (ppc_process_record_op63): Add fall-through comment.
7610
7611 2018-05-04  Tom Tromey  <tom@tromey.com>
7612
7613         * i386-tdep.c (i386_process_record): Add fall-through comment.
7614
7615 2018-05-04  Tom Tromey  <tom@tromey.com>
7616
7617         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
7618         comment.
7619
7620 2018-05-04  Tom Tromey  <tom@tromey.com>
7621
7622         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
7623         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
7624         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
7625         comment.
7626         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
7627         comment.
7628         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
7629         comment.
7630
7631 2018-05-04  Tom Tromey  <tom@tromey.com>
7632
7633         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
7634
7635 2018-05-04  Tom Tromey  <tom@tromey.com>
7636
7637         * s390-tdep.c (s390_process_record): Fix fall-through comments.
7638         * xcoffread.c (scan_xcoff_symtab): Move comment later.
7639         * symfile.c (section_is_mapped): Fix fall-through comment.
7640         * stabsread.c (define_symbol, read_member_functions): Fix
7641         fall-through comment.
7642         * s390-linux-tdep.c (s390_process_record): Fix fall-through
7643         comment.
7644         * remote.c (remote_wait_as): Fix fall-through comment.
7645         * p-exp.y (yylex): Fix fall-through comment.
7646         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
7647         comment.
7648         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
7649         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
7650         * jv-exp.y (yylex): Fix fall-through comment.
7651         * go-exp.y (lex_one_token): Fix fall-through comment.
7652         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
7653         fall-through comment.
7654         * f-exp.y (yylex): Fix fall-through comment.
7655         * dwarf2read.c (process_die): Fix fall-through comments.
7656         * dbxread.c (process_one_symbol): Fix fall-through comment.
7657         * d-exp.y (lex_one_token): Fix fall-through comment.
7658         * cp-name-parser.y (yylex): Fix fall-through comment.
7659         * coffread.c (coff_symtab_read): Fix fall-through comment.
7660         * c-exp.y (lex_one_token): Fix fall-through comment.
7661         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
7662         comment.
7663         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
7664         comment.
7665
7666 2018-05-04  Tom Tromey  <tom@tromey.com>
7667
7668         PR python/22730:
7669         * NEWS: Mention gdb.execute change.
7670         * gdbcmd.h (execute_control_command): Don't declare.
7671         * python/python.c (execute_gdb_command): Use read_command_lines_1,
7672         execute_control_commands, execute_control_commands_to_string.
7673         * cli/cli-script.h (execute_control_commands)
7674         (execute_control_commands_to_string): Declare.
7675         (execute_control_command): Add from_tty parameter.
7676         * cli/cli-script.c (execute_control_commands)
7677         (execute_control_commands_to_string): New functions.
7678         (execute_user_command): Use execute_control_commands.
7679         (execute_control_command_1): Add "from_tty" parameter.  Update.
7680         (execute_control_command): Likewise.
7681
7682 2018-05-04  Tom Tromey  <tom@tromey.com>
7683
7684         PR python/22731:
7685         * NEWS: Mention that breakpoint commands are writable.
7686         * python/py-breakpoint.c (bppy_set_commands): New function.
7687         (breakpoint_object_getset) <"commands">: Use it.
7688
7689 2018-05-04  Tom Tromey  <tom@tromey.com>
7690
7691         * tracepoint.c (actions_command): Update.
7692         * mi/mi-cmd-break.c (mi_command_line_array)
7693         (mi_command_line_array_cnt, mi_command_line_array_ptr)
7694         (mi_read_next_line): Remove.
7695         (mi_cmd_break_commands): Update.
7696         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
7697         function_view.
7698         * cli/cli-script.c (get_command_line): Update.
7699         (process_next_line): Use function_view.  Constify.
7700         (recurse_read_control_structure, read_command_lines)
7701         (read_command_lines_1): Change argument types to function_view.
7702         (do_define_command, document_command): Update.
7703         * breakpoint.h (check_tracepoint_command): Don't declare.
7704         * breakpoint.c (check_tracepoint_command): Remove.
7705         (commands_command_1, create_tracepoint_from_upload): Update.
7706
7707 2018-05-04  Tom Tromey  <tom@tromey.com>
7708
7709         PR gdb/11750:
7710         * cli/cli-script.h (enum command_control_type) <define_control>:
7711         New constant.
7712         * cli/cli-script.c (multi_line_command_p): Handle define_control.
7713         (build_command_line, execute_control_command_1)
7714         (process_next_line): Likewise.
7715         (do_define_command): New function, extracted from define_command.
7716         (define_command): Use it.
7717
7718 2018-05-04  Tom Tromey  <tom@tromey.com>
7719
7720         * tracepoint.c (actions_command): Update.
7721         * cli/cli-script.h (read_command_lines): Update.
7722         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
7723         (MAX_TMPBUF): Remove define.
7724         (define_command): Use string_printf.
7725         (document_command): Likewise.
7726         * breakpoint.c (commands_command_1): Update.
7727
7728 2018-05-04  Tom Tromey  <tom@tromey.com>
7729
7730         * top.c (execute_command): Update.
7731         * cli/cli-script.h (print_command_lines): Now varargs.
7732         * cli/cli-script.c (print_command_lines): Now varargs.
7733         (execute_control_command_1) <case while_control, case if_control>:
7734         Update.
7735
7736 2018-05-04  Tom Tromey  <tom@tromey.com>
7737
7738         * tracepoint.c (all_tracepoint_actions): Rename from
7739         all_tracepoint_actions_and_cleanup.  Change return type.
7740         (actions_command, encode_actions_1, encode_actions)
7741         (trace_dump_actions, tdump_command): Update.
7742         * remote.c (remote_download_command_source): Update.
7743         * python/python.c (gdbpy_eval_from_control_command)
7744         (python_command, python_interactive_command): Update.
7745         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
7746         * guile/guile.c (guile_command)
7747         (gdbscm_eval_from_control_command, guile_command): Update.
7748         * compile/compile.c (compile_code_command)
7749         (compile_print_command, compile_to_object): Update.
7750         * cli/cli-script.h (struct command_lines_deleter): New.
7751         (counted_command_line): New typedef.
7752         (struct command_line): Add constructor, destructor.
7753         <body_list>: Remove.
7754         <body_list_0, body_list_1>: New members.
7755         (command_line_up): Remove typedef.
7756         (read_command_lines, read_command_lines_1, get_command_line):
7757         Update.
7758         (copy_command_lines): Don't declare.
7759         * cli/cli-script.c (build_command_line): Use "new".
7760         (get_command_line): Return counted_command_line.
7761         (print_command_lines, execute_user_command)
7762         (execute_control_command_1, while_command, if_command): Update.
7763         (realloc_body_list): Remove.
7764         (process_next_line, recurse_read_control_structure): Update.
7765         (read_command_lines, read_command_lines_1): Return counted_command_line.
7766         (free_command_lines): Use "delete".
7767         (copy_command_lines): Remove.
7768         (define_command, document_command, show_user_1): Update.
7769         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
7770         a counted_command_line.
7771         * breakpoint.h (counted_command_line): Remove typedef.
7772         (breakpoint_set_commands): Update.
7773         * breakpoint.c (check_no_tracepoint_commands)
7774         (validate_commands_for_breakpoint): Update.
7775         (breakpoint_set_commands): Change commands to be a
7776         counted_command_line.
7777         (commands_command_1, update_dprintf_command_list)
7778         (create_tracepoint_from_upload): Update.
7779
7780 2018-05-04  Tom Tromey  <tom@tromey.com>
7781
7782         * cli/cli-decode.h (cmd_list_element): New constructor.
7783         (~cmd_list_element): New destructor.
7784         (struct cmd_list_element): Add initializers.
7785         * cli/cli-decode.c (do_add_cmd): Use "new".
7786         (delete_cmd): Use "delete".
7787
7788 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
7789             Pedro Alves <palves@redhat.com>
7790
7791         PR breakpoints/19806 and support for PR external/20207.
7792         * NEWS: Mention Aarch64 watchpoint improvements.
7793         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
7794         watchpoints and PR external/20207 watchpoints.
7795         * nat/aarch64-linux-hw-point.c
7796         (kernel_supports_any_contiguous_range): New.
7797         (aarch64_watchpoint_offset): New.
7798         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
7799         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
7800         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
7801         (aarch64_align_watchpoint): New parameters aligned_offset_p and
7802         next_addr_orig_p.  Support PR external/20207 watchpoints.
7803         (aarch64_downgrade_regs): New.
7804         (aarch64_dr_state_insert_one_point): New parameters offset and
7805         addr_orig.
7806         (aarch64_dr_state_remove_one_point): Likewise.
7807         (aarch64_handle_breakpoint): Update caller.
7808         (aarch64_handle_aligned_watchpoint): Likewise.
7809         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
7810         aligned_offset.
7811         (aarch64_linux_set_debug_regs): Remove const from state.  Call
7812         aarch64_downgrade_regs.
7813         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
7814         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
7815         (DR_CONTROL_MASK): ... this.
7816         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
7817         (unsigned int aarch64_watchpoint_offset): New prototype.
7818         (aarch64_linux_set_debug_regs): Remove const from state.
7819         * utils.c (align_up, align_down): Move to ...
7820         * common/common-utils.c (align_up, align_down): ... here.
7821         * utils.h (align_up, align_down): Move to ...
7822         * common/common-utils.h (align_up, align_down): ... here.
7823
7824 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
7825
7826         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
7827         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
7828         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
7829         Re-implement to match the ABI as summarized in GCC's
7830         gcc/config/sparc/sparc.c.  All callers updated.
7831         (sparc32_store_arguments): Remove assertion.
7832
7833 2018-05-04  Tom Tromey  <tom@tromey.com>
7834
7835         * printcmd.c: Don't include tui.h.
7836         (decode_format): Use skip_spaces.
7837
7838 2018-05-04  Tom Tromey  <tom@tromey.com>
7839
7840         PR gdb/22619:
7841         * printcmd.c (last_count): New global.
7842         (x_command): Use saved count when repeating.
7843
7844 2018-05-04  Tom Tromey  <tom@tromey.com>
7845
7846         * nto-procfs.c (do_closedir_cleanup): Remove.
7847         (procfs_pidlist): Use gdb_dir_up.
7848         * procfs.c (do_closedir_cleanup): Remove.
7849         (proc_update_threads): Use gdb_dir_up.
7850         * common/filestuff.h (struct gdb_dir_deleter): New.
7851         (gdb_dir_up): New typedef.
7852
7853 2018-05-04  Tom Tromey  <tom@tromey.com>
7854
7855         * ada-lang.c (print_mention_exception): Use std::string.
7856
7857 2018-05-04  Tom Tromey  <tom@tromey.com>
7858
7859         * ada-lang.c (create_excep_cond_exprs): Update.
7860         (ada_exception_catchpoint_cond_string): Use std::string.
7861
7862 2018-05-04  Tom Tromey  <tom@tromey.com>
7863
7864         * ada-lang.c (xget_renaming_scope): Return std::string.
7865         (old_renaming_is_invisible): Update.
7866
7867 2018-05-04  Tom Tromey  <tom@tromey.com>
7868
7869         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
7870         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
7871
7872 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
7873
7874         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
7875
7876 2018-05-04  Tom Tromey  <tom@tromey.com>
7877
7878         * remote.c (remote_query_supported_append): Change type.
7879         (remote_check_symbols): Update.
7880
7881 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
7882
7883         PR gdb/11420
7884         * configure.ac: Prepend libpython.
7885         * python/python-config.py: Likewise.
7886         * configure: Regenerate.
7887
7888 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
7889
7890         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
7891
7892 2018-05-03  Pedro Alves  <palves@redhat.com>
7893
7894         * s390-linux-nat.c
7895         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
7896         override.  Write 'true' instead of '1'.
7897         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
7898         declaration.
7899
7900 2018-05-02  Pedro Alves  <palves@redhat.com>
7901
7902         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
7903         add_inf_child_target.
7904         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
7905         add_inf_child_target.
7906         * aix-thread.c (aix_thread_target_info): New.
7907         (aix_thread_target) <shortname, longname, doc>: Delete.
7908         <info>: New.
7909         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
7910         add_inf_child_target.
7911         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
7912         add_inf_child_target.
7913         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
7914         add_inf_child_target.
7915         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
7916         add_inf_child_target.
7917         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
7918         add_inf_child_target.
7919         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
7920         add_inf_child_target.
7921         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
7922         add_inf_child_target.
7923         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
7924         add_inf_child_target.
7925         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
7926         add_inf_child_target.
7927         * bfd-target.c (target_bfd_target_info): New.
7928         (target_bfd) <shortname, longname, doc>: Delete.
7929         <info>: New.
7930         * bsd-kvm.c (bsd_kvm_target_info): New.
7931         (bsd_kvm_target) <shortname, longname, doc>: Delete.
7932         <info>: New.
7933         (bsd_kvm_target::open): Rename to ...
7934         (bsd_kvm_target_open): ... this.  Adjust.
7935         * bsd-uthread.c (bsd_uthread_target_info): New.
7936         (bsd_uthread_target) <shortname, longname, doc>: Delete.
7937         <info>: New.
7938         * corefile.c (core_file_command): Adjust.
7939         * corelow.c (core_target_info): New.
7940         (core_target) <shortname, longname, doc>: Delete.
7941         <info>: New.
7942         (core_target::open): Rename to ...
7943         (core_target_open): ... this.  Adjust.
7944         * ctf.c (ctf_target_info): New.
7945         (ctf_target) <shortname, longname, doc>: Delete.
7946         <info>: New.
7947         (ctf_target::open): Rename to ...
7948         (ctf_target_open): ... this.
7949         (_initialize_ctf): Adjust.
7950         * exec.c (exec_target_info): New.
7951         (exec_target) <shortname, longname, doc>: Delete.
7952         <info>: New.
7953         (exec_target::open): Rename to ...
7954         (exec_target_open): ... this.
7955         * gdbcore.h (core_target_open): Declare.
7956         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
7957         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
7958         add_inf_child_target.
7959         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
7960         add_inf_child_target.
7961         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
7962         add_inf_child_target.
7963         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
7964         add_inf_child_target.
7965         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
7966         add_inf_child_target.
7967         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
7968         add_inf_child_target.
7969         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
7970         add_inf_child_target.
7971         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
7972         add_inf_child_target.
7973         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
7974         add_inf_child_target.
7975         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
7976         add_inf_child_target.
7977         * inf-child.c (inf_child_target_info): New.
7978         (inf_child_target::info): New.
7979         (inf_child_open_target): Remove 'target' parameter.  Use
7980         get_native_target instead.
7981         (inf_child_target::open): Delete.
7982         (add_inf_child_target): New.
7983         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
7984         Delete.
7985         <info>: New.
7986         (add_inf_child_target): Declare.
7987         (inf_child_open_target): Declare.
7988         * linux-thread-db.c (thread_db_target_info): New.
7989         (thread_db_target) <shortname, longname, doc>: Delete.
7990         <info>: New.
7991         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
7992         add_inf_child_target.
7993         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
7994         add_inf_child_target.
7995         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
7996         add_inf_child_target.
7997         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
7998         add_inf_child_target.
7999         * make-target-delegates (print_class): Adjust.
8000         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
8001         add_inf_child_target.
8002         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
8003         add_inf_child_target.
8004         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
8005         add_inf_child_target.
8006         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
8007         add_inf_child_target.
8008         * nto-procfs.c (nto_native_target_info): New.
8009         (nto_procfs_target_native) <shortname, longname, doc>:
8010         Delete.
8011         <info>: New.
8012         (nto_procfs_target_info): New.
8013         (nto_procfs_target_procfs) <shortname, longname, doc>:
8014         Delete.
8015         <info>: New.
8016         (init_procfs_targets): Adjust.
8017         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
8018         add_inf_child_target.
8019         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
8020         add_inf_child_target.
8021         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
8022         add_inf_child_target.
8023         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
8024         add_inf_child_target.
8025         * ravenscar-thread.c (ravenscar_target_info): New.
8026         (ravenscar_thread_target) <shortname, longname, doc>:
8027         Delete.
8028         <info>: New.
8029         * record-btrace.c (record_btrace_target_info):
8030         (record_btrace_target) <shortname, longname, doc>: Delete.
8031         <info>: New.
8032         (record_btrace_target::open): Rename to ...
8033         (record_btrace_target_open): ... this.  Adjust.
8034         * record-full.c (record_longname, record_doc): New.
8035         (record_full_base_target) <shortname, longname, doc>: Delete.
8036         <info>: New.
8037         (record_full_target_info): New.
8038         (record_full_target): <shortname>: Delete.
8039         <info>: New.
8040         (record_full_core_open_1, record_full_open_1): Update comments.
8041         (record_full_base_target::open): Rename to ...
8042         (record_full_open): ... this.
8043         (cmd_record_full_restore): Update.
8044         (_initialize_record_full): Update.
8045         * remote-sim.c (remote_sim_target_info): New.
8046         (gdbsim_target) <shortname, longname, doc>: Delete.
8047         <info>: New.
8048         (gdbsim_target::open): Rename to ...
8049         (gdbsim_target_open): ... this.
8050         (_initialize_remote_sim): Adjust.
8051         * remote.c (remote_doc): New.
8052         (remote_target_info): New.
8053         (remote_target) <shortname, longname, doc>: Delete.
8054         <info>: New.
8055         (extended_remote_target_info): New.
8056         (extended_remote_target) <shortname, longname, doc>: Delete.
8057         <info>: New.
8058         (remote_target::open_1): Make static.  Adjust.
8059         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
8060         * s390-linux-nat.c (_initialize_s390_nat): Use
8061         add_inf_child_target.
8062         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
8063         add_inf_child_target.
8064         * sol-thread.c (thread_db_target_info): New.
8065         (sol_thread_target) <shortname, longname, doc>: Delete.
8066         <info>: New.
8067         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
8068         add_inf_child_target.
8069         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
8070         add_inf_child_target.
8071         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
8072         add_inf_child_target.
8073         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
8074         add_inf_child_target.
8075         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
8076         add_inf_child_target.
8077         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
8078         add_inf_child_target.
8079         * spu-linux-nat.c (_initialize_spu_nat): Use
8080         add_inf_child_target.
8081         * spu-multiarch.c (spu_multiarch_target_info): New.
8082         (spu_multiarch_target) <shortname, longname, doc>: Delete.
8083         <info>: New.
8084         * target-delegates.c: Regenerate.
8085         * target.c: Include <unordered_map>.
8086         (target_ops_p): Delete.
8087         (DEF_VEC_P(target_ops_p)): Delete.
8088         (target_factories): New.
8089         (test_target_info): New.
8090         (test_target_ops::info): New.
8091         (open_target): Adjust to use target_factories.
8092         (add_target_with_completer): Rename to ...
8093         (add_target): ... this.  Change prototype.  Register target_info
8094         and open callback in target_factories.  Register target_info in
8095         command context instead of target_ops.
8096         (add_target): Delete old implementation.
8097         (add_deprecated_target_alias): Change prototype.  Adjust.
8098         (the_native_target): New.
8099         (set_native_target, get_native_target): New.
8100         (find_default_run_target): Use the_native_target.
8101         (find_attach_target, find_run_target): Simplify.
8102         (target_ops::open): Delete.
8103         (dummy_target_info): New.
8104         (dummy_target::shortname, dummy_target::longname)
8105         (dummy_target::doc): Delete.
8106         (dummy_target::info): New.
8107         (debug_target::shortname, debug_target::longname)
8108         (debug_target::doc): Delete.
8109         (debug_target::info): New.
8110         * target.h (struct target_info): New.
8111         (target_ops::~target_ops): Add comment.
8112         (target_ops::info): New.
8113         (target_ops::shortname, target_ops::longname, target_ops::doc): No
8114         longer virtual.  Implement in terms of target_info.
8115         (set_native_target, get_native_target): Declare.
8116         (target_open_ftype): New.
8117         (add_target, add_target_with_completer)
8118         (add_deprecated_target_alias): Change prototype.
8119         (test_target) <shortname, longname, doc>: Delete.
8120         <info>: New.
8121         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
8122         add_inf_child_target.
8123         * tracefile-tfile.c (tfile_target_info): New.
8124         (tfile_target) <shortname, longname, doc>: Delete.
8125         <info>: New.
8126         (tfile_target::open): Rename to ...
8127         (tfile_target_open): ... this.
8128         (_initialize_tracefile_tfile): Adjust.
8129         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
8130         add_inf_child_target.
8131         * windows-nat.c (_initialize_windows_nat): Use
8132         add_inf_child_target.
8133         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
8134         add_inf_child_target.
8135
8136 2018-05-02  Pedro Alves  <palves@redhat.com>
8137
8138         * linux-nat.h (linux_nat_target) <low_new_thread,
8139         low_delete_thread, low_new_fork, low_forget_process,
8140         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
8141         New virtual methods.
8142         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8143         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
8144         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
8145         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8146         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
8147         Delete.
8148         * linux-fork.c (delete_fork): Adjust to call low method.
8149         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
8150         (linux_nat_new_fork, linux_nat_forget_process_hook)
8151         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
8152         (linux_nat_status_is_event):
8153         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
8154         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
8155         to call low method.
8156         (sigtrap_is_event): Rename to ...
8157         (linux_nat_target::low_status_is_event): ... this.
8158         (linux_nat_set_status_is_event): Delete.
8159         (save_stop_reason, linux_nat_wait_1)
8160         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
8161         low methods.
8162         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8163         (linux_nat_set_new_fork, linux_nat_set_forget_process)
8164         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8165         (linux_nat_set_prepare_to_resume): Delete.
8166         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
8167         low virtual methods.
8168         * amd64-linux-nat.c: Likewise.
8169         * arm-linux-nat.c: Likewise.
8170         * i386-linux-nat.c: Likewise.
8171         * ia64-linux-nat.c: Likewise.
8172         * mips-linux-nat.c: Likewise.
8173         * ppc-linux-nat.c: Likewise.
8174         * s390-linux-nat.c: Likewise.
8175         * sparc64-linux-nat.c: Likewise.
8176         * x86-linux-nat.c: Likewise.
8177         * x86-linux-nat.h: Include "nat/x86-linux.h".
8178         (x86_linux_nat_target) <low_new_fork, low_forget_process,
8179         low_prepare_to_resume, low_new_thread, low_delete_thread>:
8180         Override methods.
8181
8182 2018-05-02  Pedro Alves  <palves@redhat.com>
8183
8184         * target.h (target_ops)
8185         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
8186         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
8187         stopped_by_watchpoint, have_continuable_watchpoint,
8188         stopped_data_address, watchpoint_addr_within_range,
8189         can_accel_watchpoint_condition, can_run, thread_alive,
8190         has_all_memory, has_memory, has_stack, has_registers,
8191         has_execution, can_async_p, is_async_p, supports_non_stop,
8192         always_non_stop_p, can_execute_reverse, supports_multi_process,
8193         supports_enable_disable_tracepoint,
8194         supports_disable_randomization, supports_string_tracing,
8195         supports_evaluation_of_breakpoint_conditions,
8196         can_run_breakpoint_commands, filesystem_is_local,
8197         can_download_tracepoint, get_trace_state_variable_value,
8198         set_trace_notes, get_tib_address, use_agent, can_use_agent,
8199         record_is_replaying, record_will_replay,
8200         augmented_libraries_svr4_read>: Adjust to return bool.
8201         * aarch64-linux-nat.c: All implementations adjusted.
8202         * aix-thread.c: All implementations adjusted.
8203         * arm-linux-nat.c: All implementations adjusted.
8204         * breakpoint.c: All implementations adjusted.
8205         * bsd-kvm.c: All implementations adjusted.
8206         * bsd-uthread.c: All implementations adjusted.
8207         * corelow.c: All implementations adjusted.
8208         * ctf.c: All implementations adjusted.
8209         * darwin-nat.c: All implementations adjusted.
8210         * darwin-nat.h: All implementations adjusted.
8211         * exec.c: All implementations adjusted.
8212         * fbsd-nat.c: All implementations adjusted.
8213         * fbsd-nat.h: All implementations adjusted.
8214         * gnu-nat.c: All implementations adjusted.
8215         * gnu-nat.h: All implementations adjusted.
8216         * go32-nat.c: All implementations adjusted.
8217         * ia64-linux-nat.c: All implementations adjusted.
8218         * inf-child.c: All implementations adjusted.
8219         * inf-child.h: All implementations adjusted.
8220         * inf-ptrace.c: All implementations adjusted.
8221         * inf-ptrace.h: All implementations adjusted.
8222         * linux-nat.c: All implementations adjusted.
8223         * linux-nat.h: All implementations adjusted.
8224         * mips-linux-nat.c: All implementations adjusted.
8225         * nto-procfs.c: All implementations adjusted.
8226         * ppc-linux-nat.c: All implementations adjusted.
8227         * procfs.c: All implementations adjusted.
8228         * ravenscar-thread.c: All implementations adjusted.
8229         * record-btrace.c: All implementations adjusted.
8230         * record-full.c: All implementations adjusted.
8231         * remote-sim.c: All implementations adjusted.
8232         * remote.c: All implementations adjusted.
8233         * s390-linux-nat.c: All implementations adjusted.
8234         * sol-thread.c: All implementations adjusted.
8235         * spu-multiarch.c: All implementations adjusted.
8236         * target-delegates.c: All implementations adjusted.
8237         * target.c: All implementations adjusted.
8238         * target.h: All implementations adjusted.
8239         * tracefile-tfile.c: All implementations adjusted.
8240         * tracefile.c: All implementations adjusted.
8241         * tracefile.h: All implementations adjusted.
8242         * windows-nat.c: All implementations adjusted.
8243         * x86-linux-nat.h: All implementations adjusted.
8244         * x86-nat.h: All implementations adjusted.
8245
8246 2018-05-02  Pedro Alves  <palves@redhat.com>
8247
8248         * make-target-delegates (scan_target_h): Don't trim lines here.
8249         Replace sequences of tabs and/or whitespace with a single
8250         whitespace.
8251         (top level, parsing methods): Trim each line before processing it
8252         here.
8253
8254 2018-05-02  Pedro Alves  <palves@redhat.com>
8255             John Baldwin  <jhb@freebsd.org>
8256
8257         * target.h (enum strata) <debug_stratum>: New.
8258         (struct target_ops) <all delegation methods>: Replace by C++
8259         virtual methods, and drop "to_" prefix.  All references updated
8260         throughout.
8261         <to_shortname, to_longname, to_doc, to_data,
8262         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
8263         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
8264         virtual methods.  All references updated throughout.
8265         <can_attach, supports_terminal_ours, can_create_inferior,
8266         get_thread_control_capabilities, attach_no_wait>: New
8267         virtual methods.
8268         <insert_breakpoint, remove_breakpoint>: Now
8269         TARGET_DEFAULT_NORETURN methods.
8270         <info_proc>: Now returns bool.
8271         <to_magic>: Delete.
8272         (OPS_MAGIC): Delete.
8273         (current_target): Delete.  All references replaced by references
8274         to ...
8275         (target_stack): ... this.  New.
8276         (target_shortname, target_longname): Adjust.
8277         (target_can_run): Now a function declaration.
8278         (default_child_has_all_memory, default_child_has_memory)
8279         (default_child_has_stack, default_child_has_registers)
8280         (default_child_has_execution): Remove target_ops parameter.
8281         (complete_target_initialization): Delete.
8282         (memory_breakpoint_target): New template class.
8283         (test_target_ops): Refactor as a C++ class with virtual methods.
8284         * make-target-delegates (NAME_PART): Tighten.
8285         (POINTER_PART, CP_SYMBOL): New.
8286         (SIMPLE_RETURN_PART): Reimplement.
8287         (VEC_RETURN_PART): Expect less.
8288         (RETURN_PART, VIRTUAL_PART): New.
8289         (METHOD): Adjust to C++ virtual methods.
8290         (scan_target_h): Remove reference to C99.
8291         (dname): Output "target_ops::" prefix.
8292         (write_function_header): Adjust to output a C++ class method.
8293         (write_declaration): New.
8294         (write_delegator): Adjust to output a C++ class method.
8295         (tdname): Output "dummy_target::" prefix.
8296         (write_tdefault, write_debugmethod): Adjust to output a C++ class
8297         method.
8298         (tdefault_names, debug_names): Delete.
8299         (return_types, tdefaults, styles, argtypes_array): New.
8300         (top level): All methods are delegators.
8301         (print_class): New.
8302         (top level): Print dummy_target and debug_target classes.
8303         * target-delegates.c: Regenerate.
8304         * target-debug.h (target_debug_print_enum_info_proc_what)
8305         (target_debug_print_thread_control_capabilities)
8306         (target_debug_print_thread_info_p): New.
8307         * target.c (dummy_target): Delete.
8308         (the_dummy_target, the_debug_target): New.
8309         (target_stack): Now extern.
8310         (set_targetdebug): Push/unpush debug target.
8311         (default_child_has_all_memory, default_child_has_memory)
8312         (default_child_has_stack, default_child_has_registers)
8313         (default_child_has_execution): Remove target_ops parameter.
8314         (complete_target_initialization): Delete.
8315         (add_target_with_completer): No longer call
8316         complete_target_initialization.
8317         (target_supports_terminal_ours): Use regular delegation.
8318         (update_current_target): Delete.
8319         (push_target): No longer check magic number.  Don't call
8320         update_current_target.
8321         (unpush_target): Don't call update_current_target.
8322         (target_is_pushed): No longer check magic number.
8323         (target_require_runnable): Skip for all stratums over
8324         process_stratum.
8325         (target_ops::info_proc): New.
8326         (target_info_proc): Use find_target_at and
8327         find_default_run_target.
8328         (target_supports_disable_randomization): Use regular delegation.
8329         (target_get_osdata): Use find_target_at.
8330         (target_ops::open, target_ops::close, target_ops::can_attach)
8331         (target_ops::attach, target_ops::can_create_inferior)
8332         (target_ops::create_inferior, target_ops::can_run)
8333         (target_can_run): New.
8334         (default_fileio_target): Use regular delegation.
8335         (target_ops::fileio_open, target_ops::fileio_pwrite)
8336         (target_ops::fileio_pread, target_ops::fileio_fstat)
8337         (target_ops::fileio_close, target_ops::fileio_unlink)
8338         (target_ops::fileio_readlink): New.
8339         (target_fileio_open_1, target_fileio_unlink)
8340         (target_fileio_readlink): Always call the target method.  Handle
8341         FILEIO_ENOSYS.
8342         (return_zero, return_zero_has_execution): Delete.
8343         (init_dummy_target): Delete.
8344         (dummy_target::dummy_target, dummy_target::shortname)
8345         (dummy_target::longname, dummy_target::doc)
8346         (debug_target::debug_target, debug_target::shortname)
8347         (debug_target::longname, debug_target::doc): New.
8348         (target_supports_delete_record): Use regular delegation.
8349         (setup_target_debug): Delete.
8350         (maintenance_print_target_stack): Skip debug_stratum.
8351         (initialize_targets): Instantiate the_dummy_target and
8352         the_debug_target.
8353         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
8354         use target_stack.
8355         (target_auxv_search, fprint_target_auxv): Adjust.
8356         (info_auxv_command): Adjust to use target_stack.
8357         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
8358         * exceptions.c (print_flush): Handle a NULL target_stack.
8359         * regcache.c (target_ops_no_register): Refactor as class with
8360         virtual methods.
8361
8362         * exec.c (exec_target): New class.
8363         (exec_ops): Now an exec_target.
8364         (exec_open, exec_close_1, exec_get_section_table)
8365         (exec_xfer_partial, exec_files_info, exec_has_memory)
8366         (exec_make_note_section): Refactor as exec_target methods.
8367         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
8368         Delete.
8369         (exec_target::find_memory_regions): New.
8370         (_initialize_exec): Don't call init_exec_ops.
8371         * gdbcore.h (exec_file_clear): Delete.
8372
8373         * corefile.c (core_target): Delete.
8374         (core_file_command): Adjust.
8375         * corelow.c (core_target): New class.
8376         (the_core_target): New.
8377         (core_close): Remove target_ops parameter.
8378         (core_close_cleanup): Adjust.
8379         (core_target::close): New.
8380         (core_open, core_detach, get_core_registers, core_files_info)
8381         (core_xfer_partial, core_thread_alive, core_read_description)
8382         (core_pid_to_str, core_thread_name, core_has_memory)
8383         (core_has_stack, core_has_registers, core_info_proc): Rework as
8384         core_target methods.
8385         (ignore, core_remove_breakpoint, init_core_ops): Delete.
8386         (_initialize_corelow): Initialize the_core_target.
8387         * gdbcore.h (core_target): Delete.
8388         (the_core_target): New.
8389
8390         * ctf.c: (ctf_target): New class.
8391         (ctf_ops): Now a ctf_target.
8392         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
8393         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
8394         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
8395         methods.
8396         (init_ctf_ops): Delete.
8397         (_initialize_ctf): Don't call it.
8398         * tracefile-tfile.c (tfile_target): New class.
8399         (tfile_ops): Now a tfile_target.
8400         (tfile_open, tfile_close, tfile_files_info)
8401         (tfile_get_tracepoint_status, tfile_trace_find)
8402         (tfile_fetch_registers, tfile_xfer_partial)
8403         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
8404         Refactor as tfile_target methods.
8405         (tfile_xfer_partial_features): Remove target_ops parameter.
8406         (init_tfile_ops): Delete.
8407         (_initialize_tracefile_tfile): Don't call it.
8408         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
8409         (tracefile_has_stack, tracefile_has_registers)
8410         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
8411         tracefile_target methods.
8412         (init_tracefile_ops): Delete.
8413         (tracefile_target::tracefile_target): New.
8414         * tracefile.h: Include "target.h".
8415         (tracefile_target): New class.
8416         (init_tracefile_ops): Delete.
8417
8418         * spu-multiarch.c (spu_multiarch_target): New class.
8419         (spu_ops): Now a spu_multiarch_target.
8420         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
8421         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
8422         (spu_search_memory, spu_mourn_inferior): Refactor as
8423         spu_multiarch_target methods.
8424         (init_spu_ops): Delete.
8425         (_initialize_spu_multiarch): Remove references to init_spu_ops,
8426         complete_target_initialization.
8427
8428         * ravenscar-thread.c (ravenscar_thread_target): New class.
8429         (ravenscar_ops): Now a ravenscar_thread_target.
8430         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
8431         (ravenscar_thread_alive, ravenscar_pid_to_str)
8432         (ravenscar_fetch_registers, ravenscar_store_registers)
8433         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
8434         (ravenscar_stopped_by_hw_breakpoint)
8435         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
8436         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
8437         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
8438         methods.
8439         (init_ravenscar_thread_ops): Delete.
8440         (_initialize_ravenscar): Remove references to
8441         init_ravenscar_thread_ops and complete_target_initialization.
8442
8443         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
8444         (bsd_uthread_target): New class.
8445         (bsd_uthread_ops): Now a bsd_uthread_target.
8446         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
8447         (bsd_uthread_close, bsd_uthread_mourn_inferior)
8448         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
8449         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
8450         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
8451         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
8452         (bsd_uthread_target): Delete function.
8453         (_initialize_bsd_uthread): Remove reference to
8454         complete_target_initialization.
8455
8456         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
8457         (target_bfd): ... this new class.
8458         (target_bfd_xfer_partial, target_bfd_get_section_table)
8459         (target_bfd_close): Refactor as target_bfd methods.
8460         (target_bfd::~target_bfd): New.
8461         (target_bfd_reopen): Adjust.
8462         (target_bfd::close): New.
8463
8464         * record-btrace.c (record_btrace_target): New class.
8465         (record_btrace_ops): Now a record_btrace_target.
8466         (record_btrace_open, record_btrace_stop_recording)
8467         (record_btrace_disconnect, record_btrace_close)
8468         (record_btrace_async, record_btrace_info)
8469         (record_btrace_insn_history, record_btrace_insn_history_range)
8470         (record_btrace_insn_history_from, record_btrace_call_history)
8471         (record_btrace_call_history_range)
8472         (record_btrace_call_history_from, record_btrace_record_method)
8473         (record_btrace_is_replaying, record_btrace_will_replay)
8474         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
8475         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
8476         (record_btrace_store_registers, record_btrace_prepare_to_store)
8477         (record_btrace_to_get_unwinder)
8478         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
8479         (record_btrace_commit_resume, record_btrace_wait)
8480         (record_btrace_stop, record_btrace_can_execute_reverse)
8481         (record_btrace_stopped_by_sw_breakpoint)
8482         (record_btrace_supports_stopped_by_sw_breakpoint)
8483         (record_btrace_stopped_by_hw_breakpoint)
8484         (record_btrace_supports_stopped_by_hw_breakpoint)
8485         (record_btrace_update_thread_list, record_btrace_thread_alive)
8486         (record_btrace_goto_begin, record_btrace_goto_end)
8487         (record_btrace_goto, record_btrace_stop_replaying_all)
8488         (record_btrace_execution_direction)
8489         (record_btrace_prepare_to_generate_core)
8490         (record_btrace_done_generating_core): Refactor as
8491         record_btrace_target methods.
8492         (init_record_btrace_ops): Delete.
8493         (_initialize_record_btrace): Remove reference to
8494         init_record_btrace_ops.
8495         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
8496         the execution_direction global.
8497         (record_full_base_target, record_full_target)
8498         (record_full_core_target): New classes.
8499         (record_full_ops): Now a record_full_target.
8500         (record_full_core_ops): Now a record_full_core_target.
8501         (record_full_target::detach, record_full_target::disconnect)
8502         (record_full_core_target::disconnect)
8503         (record_full_target::mourn_inferior, record_full_target::kill):
8504         New.
8505         (record_full_open, record_full_close, record_full_async): Refactor
8506         as methods of the record_full_base_target class.
8507         (record_full_resume, record_full_commit_resume): Refactor
8508         as methods of the record_full_target class.
8509         (record_full_wait, record_full_stopped_by_watchpoint)
8510         (record_full_stopped_data_address)
8511         (record_full_stopped_by_sw_breakpoint)
8512         (record_full_supports_stopped_by_sw_breakpoint)
8513         (record_full_stopped_by_hw_breakpoint)
8514         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
8515         methods of the record_full_base_target class.
8516         (record_full_store_registers, record_full_xfer_partial)
8517         (record_full_insert_breakpoint, record_full_remove_breakpoint):
8518         Refactor as methods of the record_full_target class.
8519         (record_full_can_execute_reverse, record_full_get_bookmark)
8520         (record_full_goto_bookmark, record_full_execution_direction)
8521         (record_full_record_method, record_full_info, record_full_delete)
8522         (record_full_is_replaying, record_full_will_replay)
8523         (record_full_goto_begin, record_full_goto_end, record_full_goto)
8524         (record_full_stop_replaying): Refactor as methods of the
8525         record_full_base_target class.
8526         (record_full_core_resume, record_full_core_kill)
8527         (record_full_core_fetch_registers)
8528         (record_full_core_prepare_to_store)
8529         (record_full_core_store_registers, record_full_core_xfer_partial)
8530         (record_full_core_insert_breakpoint)
8531         (record_full_core_remove_breakpoint)
8532         (record_full_core_has_execution): Refactor
8533         as methods of the record_full_core_target class.
8534         (record_full_base_target::supports_delete_record): New.
8535         (init_record_full_ops): Delete.
8536         (init_record_full_core_ops): Delete.
8537         (record_full_save): Refactor as method of the
8538         record_full_base_target class.
8539         (_initialize_record_full): Remove references to
8540         init_record_full_ops and init_record_full_core_ops.
8541
8542         * remote.c (remote_target, extended_remote_target): New classes.
8543         (remote_ops): Now a remote_target.
8544         (extended_remote_ops): Now an extended_remote_target.
8545         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
8546         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
8547         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
8548         (remote_pass_signals, remote_set_syscall_catchpoint)
8549         (remote_program_signals, )
8550         (remote_thread_always_alive): Remove target_ops parameter.
8551         (remote_thread_alive, remote_thread_name)
8552         (remote_update_thread_list, remote_threads_extra_info)
8553         (remote_static_tracepoint_marker_at)
8554         (remote_static_tracepoint_markers_by_strid)
8555         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
8556         (remote_open): Refactor as methods of remote_target.
8557         (extended_remote_open, extended_remote_detach)
8558         (extended_remote_attach, extended_remote_post_attach):
8559         (extended_remote_supports_disable_randomization)
8560         (extended_remote_create_inferior): : Refactor as method of
8561         extended_remote_target.
8562         (remote_set_permissions, remote_open_1, remote_detach)
8563         (remote_follow_fork, remote_follow_exec, remote_disconnect)
8564         (remote_resume, remote_commit_resume, remote_stop)
8565         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
8566         (remote_terminal_ours, remote_wait, remote_fetch_registers)
8567         (remote_prepare_to_store, remote_store_registers)
8568         (remote_flash_erase, remote_flash_done, remote_files_info)
8569         (remote_kill, remote_mourn, remote_insert_breakpoint)
8570         (remote_remove_breakpoint, remote_insert_watchpoint)
8571         (remote_watchpoint_addr_within_range)
8572         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
8573         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
8574         (remote_supports_stopped_by_sw_breakpoint)
8575         (remote_stopped_by_hw_breakpoint)
8576         (remote_supports_stopped_by_hw_breakpoint)
8577         (remote_stopped_by_watchpoint, remote_stopped_data_address)
8578         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
8579         (remote_verify_memory): Refactor as methods of remote_target.
8580         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
8581         parameter.
8582         (remote_xfer_partial, remote_get_memory_xfer_limit)
8583         (remote_search_memory, remote_rcmd, remote_memory_map)
8584         (remote_pid_to_str, remote_get_thread_local_address)
8585         (remote_get_tib_address, remote_read_description): Refactor as
8586         methods of remote_target.
8587         (remote_target::fileio_open, remote_target::fileio_pwrite)
8588         (remote_target::fileio_pread, remote_target::fileio_close): New.
8589         (remote_hostio_readlink, remote_hostio_fstat)
8590         (remote_filesystem_is_local, remote_can_execute_reverse)
8591         (remote_supports_non_stop, remote_supports_disable_randomization)
8592         (remote_supports_multi_process, remote_supports_cond_breakpoints)
8593         (remote_supports_enable_disable_tracepoint)
8594         (remote_supports_string_tracing)
8595         (remote_can_run_breakpoint_commands, remote_trace_init)
8596         (remote_download_tracepoint, remote_can_download_tracepoint)
8597         (remote_download_trace_state_variable, remote_enable_tracepoint)
8598         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
8599         (remote_trace_start, remote_get_trace_status)
8600         (remote_get_tracepoint_status, remote_trace_stop)
8601         (remote_trace_find, remote_get_trace_state_variable_value)
8602         (remote_save_trace_data, remote_get_raw_trace_data)
8603         (remote_set_disconnected_tracing, remote_core_of_thread)
8604         (remote_set_circular_trace_buffer, remote_traceframe_info)
8605         (remote_get_min_fast_tracepoint_insn_len)
8606         (remote_set_trace_buffer_size, remote_set_trace_notes)
8607         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
8608         (remote_disable_btrace, remote_teardown_btrace)
8609         (remote_read_btrace, remote_btrace_conf)
8610         (remote_augmented_libraries_svr4_read, remote_load)
8611         (remote_pid_to_exec_file, remote_can_do_single_step)
8612         (remote_execution_direction, remote_thread_handle_to_thread_info):
8613         Refactor as methods of remote_target.
8614         (init_remote_ops, init_extended_remote_ops): Delete.
8615         (remote_can_async_p, remote_is_async_p, remote_async)
8616         (remote_thread_events, remote_upload_tracepoints)
8617         (remote_upload_trace_state_variables): Refactor as methods of
8618         remote_target.
8619         (_initialize_remote): Remove references to init_remote_ops and
8620         init_extended_remote_ops.
8621
8622         * remote-sim.c (gdbsim_target): New class.
8623         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
8624         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
8625         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
8626         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
8627         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
8628         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
8629         Refactor as methods of gdbsim_target.
8630         (gdbsim_ops): Now a gdbsim_target.
8631         (init_gdbsim_ops): Delete.
8632         (gdbsim_cntrl_c): Adjust.
8633         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
8634
8635         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
8636         (the_amd64_linux_nat_target): New.
8637         (amd64_linux_fetch_inferior_registers)
8638         (amd64_linux_store_inferior_registers): Refactor as methods of
8639         amd64_linux_nat_target.
8640         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
8641         * i386-linux-nat.c: Don't include "linux-nat.h".
8642         (i386_linux_nat_target): New class.
8643         (the_i386_linux_nat_target): New.
8644         (i386_linux_fetch_inferior_registers)
8645         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
8646         as methods of i386_linux_nat_target.
8647         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
8648         * inf-child.c (inf_child_ops): Delete.
8649         (inf_child_fetch_inferior_registers)
8650         (inf_child_store_inferior_registers): Delete.
8651         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
8652         methods of inf_child_target.
8653         (inf_child_target::supports_terminal_ours)
8654         (inf_child_target::terminal_init)
8655         (inf_child_target::terminal_inferior)
8656         (inf_child_target::terminal_ours_for_output)
8657         (inf_child_target::terminal_ours, inf_child_target::interrupt)
8658         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
8659         New.
8660         (inf_child_open, inf_child_disconnect, inf_child_close)
8661         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
8662         (inf_child_post_startup_inferior, inf_child_can_run)
8663         (inf_child_pid_to_exec_file): Refactor as methods of
8664         inf_child_target.
8665         (inf_child_follow_fork): Delete.
8666         (inf_child_target::can_create_inferior)
8667         (inf_child_target::can_attach): New.
8668         (inf_child_target::has_all_memory, inf_child_target::has_memory)
8669         (inf_child_target::has_stack, inf_child_target::has_registers)
8670         (inf_child_target::has_execution): New.
8671         (inf_child_fileio_open, inf_child_fileio_pwrite)
8672         (inf_child_fileio_pread, inf_child_fileio_fstat)
8673         (inf_child_fileio_close, inf_child_fileio_unlink)
8674         (inf_child_fileio_readlink, inf_child_use_agent)
8675         (inf_child_can_use_agent): Refactor as methods of
8676         inf_child_target.
8677         (return_zero, inf_child_target): Delete.
8678         (inf_child_target::inf_child_target): New.
8679         * inf-child.h: Include "target.h".
8680         (inf_child_target): Delete function prototype.
8681         (inf_child_target): New class.
8682         (inf_child_open_target, inf_child_mourn_inferior)
8683         (inf_child_maybe_unpush_target): Delete.
8684         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
8685         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
8686         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
8687         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
8688         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
8689         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
8690         (inf_ptrace_wait, inf_ptrace_xfer_partial)
8691         (inf_ptrace_thread_alive, inf_ptrace_files_info)
8692         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
8693         methods of inf_ptrace_target.
8694         (inf_ptrace_target): Delete function.
8695         * inf-ptrace.h: Include "inf-child.h".
8696         (inf_ptrace_target): Delete function declaration.
8697         (inf_ptrace_target): New class.
8698         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
8699         * linux-nat.c (linux_target): New.
8700         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
8701         (linux_nat_target::~linux_nat_target): New.
8702         (linux_child_post_attach, linux_child_post_startup_inferior)
8703         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
8704         (linux_child_remove_fork_catchpoint)
8705         (linux_child_insert_vfork_catchpoint)
8706         (linux_child_remove_vfork_catchpoint)
8707         (linux_child_insert_exec_catchpoint)
8708         (linux_child_remove_exec_catchpoint)
8709         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
8710         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
8711         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
8712         (linux_nat_stopped_data_address)
8713         (linux_nat_stopped_by_sw_breakpoint)
8714         (linux_nat_supports_stopped_by_sw_breakpoint)
8715         (linux_nat_stopped_by_hw_breakpoint)
8716         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
8717         (linux_nat_kill, linux_nat_mourn_inferior)
8718         (linux_nat_xfer_partial, linux_nat_thread_alive)
8719         (linux_nat_update_thread_list, linux_nat_pid_to_str)
8720         (linux_nat_thread_name, linux_child_pid_to_exec_file)
8721         (linux_child_static_tracepoint_markers_by_strid)
8722         (linux_nat_is_async_p, linux_nat_can_async_p)
8723         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
8724         (linux_nat_supports_multi_process)
8725         (linux_nat_supports_disable_randomization, linux_nat_async)
8726         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
8727         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
8728         (linux_nat_fileio_open, linux_nat_fileio_readlink)
8729         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
8730         methods of linux_nat_target.
8731         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
8732         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
8733         parameter.
8734         (check_stopped_by_watchpoint): Adjust.
8735         (linux_xfer_partial): Delete.
8736         (linux_target_install_ops, linux_target, linux_nat_add_target):
8737         Delete.
8738         (linux_nat_target::linux_nat_target): New.
8739         * linux-nat.h: Include "inf-ptrace.h".
8740         (linux_nat_target): New.
8741         (linux_target, linux_target_install_ops, linux_nat_add_target):
8742         Delete function declarations.
8743         (linux_target): Declare global.
8744         * linux-thread-db.c (thread_db_target): New.
8745         (thread_db_target::thread_db_target): New.
8746         (thread_db_ops): Delete.
8747         (the_thread_db_target): New.
8748         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
8749         (thread_db_update_thread_list, thread_db_pid_to_str)
8750         (thread_db_extra_thread_info)
8751         (thread_db_thread_handle_to_thread_info)
8752         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
8753         (thread_db_resume): Refactor as methods of thread_db_target.
8754         (init_thread_db_ops): Delete.
8755         (_initialize_thread_db): Remove reference to init_thread_db_ops.
8756         * x86-linux-nat.c: Don't include "linux-nat.h".
8757         (super_post_startup_inferior): Delete.
8758         (x86_linux_nat_target::~x86_linux_nat_target): New.
8759         (x86_linux_child_post_startup_inferior)
8760         (x86_linux_read_description, x86_linux_enable_btrace)
8761         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
8762         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
8763         methods of x86_linux_nat_target.
8764         (x86_linux_create_target): Delete.  Bits folded ...
8765         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
8766         pointer.
8767         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
8768         (x86_linux_nat_target): New class.
8769         (x86_linux_create_target): Delete.
8770         (x86_linux_add_target): Now takes a linux_nat_target pointer.
8771         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
8772         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
8773         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
8774         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
8775         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
8776         make extern.
8777         (x86_use_watchpoints): Delete.
8778         * x86-nat.h: Include "breakpoint.h" and "target.h".
8779         (x86_use_watchpoints): Delete.
8780         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
8781         (x86_stopped_by_watchpoint, x86_stopped_data_address)
8782         (x86_insert_watchpoint, x86_remove_watchpoint)
8783         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
8784         (x86_stopped_by_hw_breakpoint): New declarations.
8785         (x86_nat_target): New template class.
8786
8787         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
8788         (the_ppc_linux_nat_target): New.
8789         (ppc_linux_fetch_inferior_registers)
8790         (ppc_linux_can_use_hw_breakpoint)
8791         (ppc_linux_region_ok_for_hw_watchpoint)
8792         (ppc_linux_ranged_break_num_registers)
8793         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
8794         (ppc_linux_insert_mask_watchpoint)
8795         (ppc_linux_remove_mask_watchpoint)
8796         (ppc_linux_can_accel_watchpoint_condition)
8797         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
8798         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
8799         (ppc_linux_watchpoint_addr_within_range)
8800         (ppc_linux_masked_watch_num_registers)
8801         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
8802         (ppc_linux_read_description): Refactor as methods of
8803         ppc_linux_nat_target.
8804         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
8805
8806         * procfs.c (procfs_xfer_partial): Delete forward declaration.
8807         (procfs_target): New class.
8808         (the_procfs_target): New.
8809         (procfs_target): Delete function.
8810         (procfs_auxv_parse, procfs_attach, procfs_detach)
8811         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
8812         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
8813         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
8814         (procfs_create_inferior, procfs_update_thread_list)
8815         (procfs_thread_alive, procfs_pid_to_str)
8816         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
8817         (procfs_stopped_data_address, procfs_insert_watchpoint)
8818         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
8819         (proc_find_memory_regions, procfs_info_proc)
8820         (procfs_make_note_section): Refactor as methods of procfs_target.
8821         (_initialize_procfs): Adjust.
8822         * sol-thread.c (sol_thread_target): New class.
8823         (sol_thread_ops): Now a sol_thread_target.
8824         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
8825         (sol_thread_fetch_registers, sol_thread_store_registers)
8826         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
8827         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
8828         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
8829         (init_sol_thread_ops): Delete.
8830         (_initialize_sol_thread): Adjust.  Remove references to
8831         init_sol_thread_ops and complete_target_initialization.
8832
8833         * windows-nat.c (windows_nat_target): New class.
8834         (windows_fetch_inferior_registers)
8835         (windows_store_inferior_registers, windows_resume, windows_wait)
8836         (windows_attach, windows_detach, windows_pid_to_exec_file)
8837         (windows_files_info, windows_create_inferior)
8838         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
8839         (windows_close, windows_pid_to_str, windows_xfer_partial)
8840         (windows_get_tib_address, windows_get_ada_task_ptid)
8841         (windows_thread_name, windows_thread_alive): Refactor as
8842         windows_nat_target methods.
8843         (do_initial_windows_stuff): Adjust.
8844         (windows_target): Delete function.
8845         (_initialize_windows_nat): Adjust.
8846
8847         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
8848         (darwin_mourn_inferior, darwin_kill_inferior)
8849         (darwin_create_inferior, darwin_attach, darwin_detach)
8850         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
8851         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
8852         (darwin_supports_multi_process): Refactor as darwin_nat_target
8853         methods.
8854         (darwin_resume_to, darwin_files_info): Delete.
8855         (_initialize_darwin_inferior): Rename to ...
8856         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
8857         * darwin-nat.h: Include "inf-child.h".
8858         (darwin_nat_target): New class.
8859         (darwin_complete_target): Delete.
8860         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
8861         (darwin_target): New.
8862         (i386_darwin_fetch_inferior_registers)
8863         (i386_darwin_store_inferior_registers): Refactor as methods of
8864         darwin_nat_target.
8865         (darwin_complete_target): Delete, with ...
8866         (_initialize_i386_darwin_nat): ... bits factored out here.
8867
8868         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
8869         (the_alpha_linux_nat_target): New.
8870         (alpha_linux_register_u_offset): Refactor as
8871         alpha_linux_nat_target method.
8872         (_initialize_alpha_linux_nat): Adjust.
8873         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
8874         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8875         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
8876         methods of linux_nat_trad_target.
8877         (linux_trad_target): Delete.
8878         * linux-nat-trad.h (linux_trad_target): Delete function.
8879         (linux_nat_trad_target): New class.
8880         * mips-linux-nat.c (mips_linux_nat_target): New class.
8881         (super_fetch_registers, super_store_registers, super_close):
8882         Delete.
8883         (the_mips_linux_nat_target): New.
8884         (mips64_linux_regsets_fetch_registers)
8885         (mips64_linux_regsets_store_registers)
8886         (mips64_linux_fetch_registers, mips64_linux_store_registers)
8887         (mips_linux_register_u_offset, mips_linux_read_description)
8888         (mips_linux_can_use_hw_breakpoint)
8889         (mips_linux_stopped_by_watchpoint)
8890         (mips_linux_stopped_data_address)
8891         (mips_linux_region_ok_for_hw_watchpoint)
8892         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8893         (mips_linux_close): Refactor as methods of mips_linux_nat.
8894         (_initialize_mips_linux_nat): Adjust to C++ification.
8895
8896         * aix-thread.c (aix_thread_target): New class.
8897         (aix_thread_ops): Now an aix_thread_target.
8898         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
8899         (aix_thread_fetch_registers, aix_thread_store_registers)
8900         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
8901         (aix_thread_thread_alive, aix_thread_pid_to_str)
8902         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
8903         Refactor as methods of aix_thread_target.
8904         (init_aix_thread_ops): Delete.
8905         (_initialize_aix_thread): Remove references to init_aix_thread_ops
8906         and complete_target_initialization.
8907         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
8908         (rs6000_nat_target): New class.
8909         (the_rs6000_nat_target): New.
8910         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
8911         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
8912         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
8913         (super_create_inferior): Delete.
8914         (_initialize_rs6000_nat): Adjust to C++ification.
8915
8916         * arm-linux-nat.c (arm_linux_nat_target): New class.
8917         (the_arm_linux_nat_target): New.
8918         (arm_linux_fetch_inferior_registers)
8919         (arm_linux_store_inferior_registers, arm_linux_read_description)
8920         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
8921         (arm_linux_remove_hw_breakpoint)
8922         (arm_linux_region_ok_for_hw_watchpoint)
8923         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
8924         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
8925         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
8926         arm_linux_nat_target.
8927         (_initialize_arm_linux_nat): Adjust to C++ification.
8928
8929         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
8930         (the_aarch64_linux_nat_target): New.
8931         (aarch64_linux_fetch_inferior_registers)
8932         (aarch64_linux_store_inferior_registers)
8933         (aarch64_linux_child_post_startup_inferior)
8934         (aarch64_linux_read_description)
8935         (aarch64_linux_can_use_hw_breakpoint)
8936         (aarch64_linux_insert_hw_breakpoint)
8937         (aarch64_linux_remove_hw_breakpoint)
8938         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
8939         (aarch64_linux_region_ok_for_hw_watchpoint)
8940         (aarch64_linux_stopped_data_address)
8941         (aarch64_linux_stopped_by_watchpoint)
8942         (aarch64_linux_watchpoint_addr_within_range)
8943         (aarch64_linux_can_do_single_step): Refactor as methods of
8944         aarch64_linux_nat_target.
8945         (super_post_startup_inferior): Delete.
8946         (_initialize_aarch64_linux_nat): Adjust to C++ification.
8947
8948         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
8949         (the_hppa_linux_nat_target): New.
8950         (hppa_linux_fetch_inferior_registers)
8951         (hppa_linux_store_inferior_registers): Refactor as methods of
8952         hppa_linux_nat_target.
8953         (_initialize_hppa_linux_nat): Adjust to C++ification.
8954
8955         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
8956         (the_ia64_linux_nat_target): New.
8957         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
8958         (ia64_linux_stopped_data_address)
8959         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
8960         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
8961         ia64_linux_nat_target methods.
8962         (super_xfer_partial): Delete.
8963         (_initialize_ia64_linux_nat): Adjust to C++ification.
8964
8965         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
8966         (the_m32r_linux_nat_target): New.
8967         (m32r_linux_fetch_inferior_registers)
8968         (m32r_linux_store_inferior_registers): Refactor as
8969         m32r_linux_nat_target methods.
8970         (_initialize_m32r_linux_nat): Adjust to C++ification.
8971
8972         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
8973         (the_m68k_linux_nat_target): New.
8974         (m68k_linux_fetch_inferior_registers)
8975         (m68k_linux_store_inferior_registers): Refactor as
8976         m68k_linux_nat_target methods.
8977         (_initialize_m68k_linux_nat): Adjust to C++ification.
8978
8979         * s390-linux-nat.c (s390_linux_nat_target): New class.
8980         (the_s390_linux_nat_target): New.
8981         (s390_linux_fetch_inferior_registers)
8982         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
8983         (s390_insert_watchpoint, s390_remove_watchpoint)
8984         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
8985         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
8986         (s390_auxv_parse, s390_read_description): Refactor as methods of
8987         s390_linux_nat_target.
8988         (_initialize_s390_nat): Adjust to C++ification.
8989
8990         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
8991         (the_sparc_linux_nat_target): New.
8992         (_initialize_sparc_linux_nat): Adjust to C++ification.
8993         * sparc-nat.c (sparc_fetch_inferior_registers)
8994         (sparc_store_inferior_registers): Remove target_ops parameter.
8995         * sparc-nat.h (sparc_fetch_inferior_registers)
8996         (sparc_store_inferior_registers): Remove target_ops parameter.
8997         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
8998         (the_sparc64_linux_nat_target): New.
8999         (_initialize_sparc64_linux_nat): Adjust to C++ification.
9000
9001         * spu-linux-nat.c (spu_linux_nat_target): New class.
9002         (the_spu_linux_nat_target): New.
9003         (spu_child_post_startup_inferior, spu_child_post_attach)
9004         (spu_child_wait, spu_fetch_inferior_registers)
9005         (spu_store_inferior_registers, spu_xfer_partial)
9006         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
9007         methods.
9008         (_initialize_spu_nat): Adjust to C++ification.
9009
9010         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
9011         (the_tilegx_linux_nat_target): New.
9012         (fetch_inferior_registers, store_inferior_registers):
9013         Refactor as methods.
9014         (_initialize_tile_linux_nat): Adjust to C++ification.
9015
9016         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
9017         (the_xtensa_linux_nat_target): New.
9018         (xtensa_linux_fetch_inferior_registers)
9019         (xtensa_linux_store_inferior_registers): Refactor as
9020         xtensa_linux_nat_target methods.
9021         (_initialize_xtensa_linux_nat): Adjust to C++ification.
9022
9023         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
9024         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
9025         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
9026         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
9027         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
9028         (fbsd_stopped_by_sw_breakpoint)
9029         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
9030         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
9031         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
9032         (fbsd_post_startup_inferior, fbsd_post_attach)
9033         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
9034         (fbsd_set_syscall_catchpoint)
9035         (super_xfer_partial, super_resume, super_wait)
9036         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
9037         (fbsd_handle_debug_trap): Remove target_ops parameter.
9038         (fbsd_nat_add_target): Delete.
9039         * fbsd-nat.h: Include "inf-ptrace.h".
9040         (fbsd_nat_add_target): Delete.
9041         (USE_SIGTRAP_SIGINFO): Define.
9042         (fbsd_nat_target): New class.
9043
9044         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
9045         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
9046         (amd64bsd_target): Delete.
9047         * amd64-bsd-nat.h: New file.
9048         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
9049         "x86-bsd-nat.h".
9050         (amd64_fbsd_nat_target): New class.
9051         (the_amd64_fbsd_nat_target): New.
9052         (amd64fbsd_read_description): Refactor as method of
9053         amd64_fbsd_nat_target.
9054         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9055         (_initialize_amd64fbsd_nat): Adjust to C++ification.
9056         * amd64-nat.h (amd64bsd_target): Delete function declaration.
9057         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
9058         (i386bsd_store_inferior_registers): Remove target_ops parameter.
9059         (i386bsd_target): Delete.
9060         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
9061         (i386bsd_fetch_inferior_registers)
9062         (i386bsd_store_inferior_registers): Declare.
9063         (i386_bsd_nat_target): New class.
9064         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
9065         (the_i386_fbsd_nat_target): New.
9066         (i386fbsd_resume, i386fbsd_read_description): Refactor as
9067         i386_fbsd_nat_target methods.
9068         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9069         (_initialize_i386fbsd_nat): Adjust to C++ification.
9070         * x86-bsd-nat.c (super_mourn_inferior): Delete.
9071         (x86bsd_mourn_inferior, x86bsd_target): Delete.
9072         (_initialize_x86_bsd_nat): Adjust to C++ification.
9073         * x86-bsd-nat.h: Include "x86-nat.h".
9074         (x86bsd_target): Delete declaration.
9075         (x86bsd_nat_target): New class.
9076
9077         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
9078         (the_aarch64_fbsd_nat_target): New.
9079         (aarch64_fbsd_fetch_inferior_registers)
9080         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
9081         aarch64_fbsd_nat_target.
9082         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
9083         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
9084         (the_alpha_bsd_nat_target): New.
9085         (alphabsd_fetch_inferior_registers)
9086         (alphabsd_store_inferior_registers): Refactor as
9087         alpha_bsd_nat_target methods.
9088         (_initialize_alphabsd_nat): Refactor as methods of
9089         alpha_bsd_nat_target.
9090         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
9091         (the_amd64_nbsd_nat_target): New.
9092         (_initialize_amd64nbsd_nat): Adjust to C++ification.
9093         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
9094         (the_amd64_obsd_nat_target): New.
9095         (_initialize_amd64obsd_nat): Adjust to C++ification.
9096         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
9097         (the_arm_fbsd_nat_target): New.
9098         (arm_fbsd_fetch_inferior_registers)
9099         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
9100         (_initialize_arm_fbsd_nat): Refactor as methods of
9101         arm_fbsd_nat_target.
9102         (_initialize_arm_fbsd_nat): Adjust to C++ification.
9103         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
9104         (the_arm_netbsd_nat_target): New.
9105         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
9106         arm_netbsd_nat_target.
9107         (_initialize_arm_netbsd_nat): Adjust to C++ification.
9108         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
9109         (the_hppa_nbsd_nat_target): New.
9110         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
9111         hppa_nbsd_nat_target methods.
9112         (_initialize_hppanbsd_nat): Adjust to C++ification.
9113         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
9114         (the_hppa_obsd_nat_target): New.
9115         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
9116         methods of hppa_obsd_nat_target.
9117         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
9118         add_target.
9119         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
9120         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
9121         add_target.
9122         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
9123         (_initialize_i386obsd_nat): Use add_target.
9124         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
9125         (the_m68k_bsd_nat_target): New.
9126         (m68kbsd_fetch_inferior_registers)
9127         (m68kbsd_store_inferior_registers): Refactor as methods of
9128         m68k_bsd_nat_target.
9129         (_initialize_m68kbsd_nat): Adjust to C++ification.
9130         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
9131         (the_mips_fbsd_nat_target): New.
9132         (mips_fbsd_fetch_inferior_registers)
9133         (mips_fbsd_store_inferior_registers): Refactor as methods of
9134         mips_fbsd_nat_target.
9135         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
9136         add_target.
9137         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
9138         (the_mips_nbsd_nat_target): New.
9139         (mipsnbsd_fetch_inferior_registers)
9140         (mipsnbsd_store_inferior_registers): Refactor as methods of
9141         mips_nbsd_nat_target.
9142         (_initialize_mipsnbsd_nat): Adjust to C++ification.
9143         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
9144         (the_mips64_obsd_nat_target): New.
9145         (mips64obsd_fetch_inferior_registers)
9146         (mips64obsd_store_inferior_registers): Refactor as methods of
9147         mips64_obsd_nat_target.
9148         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
9149         add_target.
9150         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
9151         nbsd_nat_target.
9152         * nbsd-nat.h: Include "inf-ptrace.h".
9153         (nbsd_nat_target): New class.
9154         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
9155         (obsd_wait): Refactor as methods of obsd_nat_target.
9156         (obsd_add_target): Delete.
9157         * obsd-nat.h: Include "inf-ptrace.h".
9158         (obsd_nat_target): New class.
9159         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
9160         (the_ppc_fbsd_nat_target): New.
9161         (ppcfbsd_fetch_inferior_registers)
9162         (ppcfbsd_store_inferior_registers): Refactor as methods of
9163         ppc_fbsd_nat_target.
9164         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
9165         add_target.
9166         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
9167         (the_ppc_nbsd_nat_target): New.
9168         (ppcnbsd_fetch_inferior_registers)
9169         (ppcnbsd_store_inferior_registers): Refactor as methods of
9170         ppc_nbsd_nat_target.
9171         (_initialize_ppcnbsd_nat): Adjust to C++ification.
9172         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
9173         (the_ppc_obsd_nat_target): New.
9174         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
9175         methods of ppc_obsd_nat_target.
9176         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
9177         add_target.
9178         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
9179         (the_sh_nbsd_nat_target): New.
9180         (shnbsd_fetch_inferior_registers)
9181         (shnbsd_store_inferior_registers): Refactor as methods of
9182         sh_nbsd_nat_target.
9183         (_initialize_shnbsd_nat): Adjust to C++ification.
9184         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
9185         (inf_ptrace_xfer_partial): Delete.
9186         (sparc_xfer_partial, sparc_target): Delete.
9187         * sparc-nat.h (sparc_fetch_inferior_registers)
9188         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
9189         (sparc_target): Delete function declaration.
9190         (sparc_target): New template class.
9191         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
9192         (_initialize_sparcnbsd_nat): Adjust to C++ification.
9193         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
9194         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
9195         add_target.
9196         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
9197         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
9198         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
9199         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
9200         add_target.
9201         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
9202         (the_vax_bsd_nat_target): New.
9203         (vaxbsd_fetch_inferior_registers)
9204         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
9205         methods.
9206         (_initialize_vaxbsd_nat): Adjust to C++ification.
9207
9208         * bsd-kvm.c (bsd_kvm_target): New class.
9209         (bsd_kvm_ops): Now a bsd_kvm_target.
9210         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
9211         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
9212         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
9213         bsd_kvm_target.
9214         (bsd_kvm_return_one): Delete.
9215         (bsd_kvm_add_target): Adjust to C++ification.
9216
9217         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
9218         (nto_procfs_target_procfs): New classes.
9219         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
9220         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
9221         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
9222         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
9223         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
9224         (procfs_remove_hw_breakpoint, procfs_resume)
9225         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
9226         (procfs_kill_inferior, procfs_store_registers)
9227         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
9228         as methods of nto_procfs_target.
9229         (nto_procfs_ops): Now an nto_procfs_target_procfs.
9230         (nto_native_ops): Delete.
9231         (procfs_open, procfs_native_open): Delete.
9232         (nto_native_ops): Now an nto_procfs_target_native.
9233         (init_procfs_targets): Adjust to C++ification.
9234         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
9235         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
9236         Refactor as methods of nto_procfs_target.
9237
9238         * go32-nat.c (go32_nat_target): New class.
9239         (the_go32_nat_target): New.
9240         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
9241         (go32_store_registers, go32_xfer_partial, go32_files_info)
9242         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
9243         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
9244         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
9245         (go32_pid_to_str): Refactor as methods of go32_nat_target.
9246         (go32_target): Delete.
9247         (_initialize_go32_nat): Adjust to C++ification.
9248
9249         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
9250         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
9251         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
9252         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
9253         gnu_nat_target.
9254         (gnu_target): Delete.
9255         * gnu-nat.h (gnu_target): Delete.
9256         (gnu_nat_target): New class.
9257         * i386-gnu-nat.c (gnu_base_target): New.
9258         (i386_gnu_nat_target): New class.
9259         (the_i386_gnu_nat_target): New.
9260         (_initialize_i386gnu_nat): Adjust to C++ification.
9261
9262 2018-05-02  Pedro Alves  <palves@redhat.com>
9263
9264         * bfd-target.c (target_bfd_xclose): Rename to ...
9265         (target_bfd_close): ... this.
9266         (target_bfd_reopen): Adjust.
9267         * target.c (target_close): Remove references to to_xclose.
9268         * target.h (target_ops::to_xclose): Delete.
9269         (target_ops::to_close): Update comments.
9270
9271 2018-05-02  Pedro Alves  <palves@redhat.com>
9272
9273         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
9274         "linux-nat.h".
9275         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
9276         * inf-ptrace.c (inf_ptrace_register_u_offset)
9277         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9278         (inf_ptrace_store_register, inf_ptrace_store_registers)
9279         (inf_ptrace_trad_target): Move to ...
9280         * linux-nat-trad.c: ... this new file.
9281         * linux-nat-trad.h: New file.
9282         * linux-nat.c (linux_target_install_ops): Make extern.
9283         (linux_trad_target): Delete.
9284         * linux-nat.h (linux_trad_target): Delete declaration.
9285         (linux_target_install_ops): Declare.
9286         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
9287         "linux-nat.h".
9288
9289 2018-05-02  Pedro Alves  <palves@redhat.com>
9290
9291         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9292         procfs_target/add_target here.
9293         * procfs.c (procfs_target): Make static.
9294         (_initialize_procfs): Call add_target here.
9295         * procfs.h (struct target_ops): Remove forward declaration.
9296         (procfs_target): Remove declaration.
9297         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
9298
9299 2018-05-02  Pedro Alves  <palves@redhat.com>
9300
9301         * procfs.c (procfs_stopped_by_watchpoint)
9302         (procfs_insert_watchpoint, procfs_remove_watchpoint)
9303         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
9304         Forward declare.
9305         (procfs_use_watchpoints): Delete, move contents...
9306         (procfs_target): ... here.
9307         * procfs.h (procfs_use_watchpoints): Delete declaration.
9308         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9309         procfs_use_watchpoints.
9310         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
9311         procfs_use_watchpoints.
9312
9313 2018-05-02  Tom Tromey  <tom@tromey.com>
9314
9315         PR python/20084:
9316         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
9317         and var_zuinteger_unlimited.
9318         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
9319         and PARAM_ZUINTEGER_UNLIMITED.
9320         (set_parameter_value): Handle var_zuinteger and
9321         var_zuinteger_unlimited.
9322         (add_setshow_generic): Likewise.
9323         (parmpy_init): Likewise.
9324
9325 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
9326
9327         PR rust/23124
9328         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
9329         pointer is not null before dereferencing it.
9330
9331 2018-04-30  Tom Tromey  <tom@tromey.com>
9332
9333         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
9334         is_mi_like_p.
9335
9336 2018-04-30  Tom Tromey  <tom@tromey.com>
9337
9338         * breakpoint.c (mention): Remove use of is_mi_like_p.
9339         (print_mention_ranged_breakpoint): Likewise.
9340         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
9341         of is_mi_like_p.
9342
9343 2018-04-30  Tom Tromey  <tom@tromey.com>
9344
9345         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
9346
9347 2018-04-30  Tom Tromey  <tom@tromey.com>
9348
9349         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
9350         (info_spu_event_command): Remove some uses of is_mi_like_p.
9351
9352 2018-04-30  Tom Tromey  <tom@tromey.com>
9353
9354         * python/py-framefilter.c (py_print_single_arg)
9355         (enumerate_locals, py_print_args, py_print_frame): Remove some
9356         uses of is_mi_like_p.
9357
9358 2018-04-30  Tom Tromey  <tom@tromey.com>
9359
9360         * ui-out.c: Update.
9361         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
9362         * ui-out.h (ui_out::is_mi_like_p): Now const.
9363         (ui_out::do_is_mi_like_p): Now const.
9364         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
9365
9366 2018-04-30  Tom Tromey  <tom@tromey.com>
9367
9368         * varobj.c (varobj_set_visualizer): Use new_reference.
9369         * python/python.c (gdbpy_decode_line): Use new_reference.
9370         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
9371         new_reference.
9372
9373 2018-04-30  Tom Tromey  <tom@tromey.com>
9374
9375         * varobj.c (install_new_value): Use new_reference.
9376         * value.h (value_incref): Return void.  Swap intro comment with
9377         value_decref.
9378         * value.c (set_value_parent): Use new_reference.
9379         (value_incref): Return void.  Update intro comment.
9380         (release_value): Use new_reference.
9381         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
9382
9383 2018-04-30  Tom Tromey  <tom@tromey.com>
9384
9385         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
9386         * gdb_bfd.h (new_bfd_ref): Remove.
9387         (gdb_bfd_open): Update comment.
9388         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
9389         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
9390         (gdb_bfd_fdopenr): Use new_reference.
9391         * exec.c (exec_file_attach): Use new_reference.
9392
9393 2018-04-30  Tom Tromey  <tom@tromey.com>
9394
9395         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
9396         method.
9397
9398 2018-04-30  Tom Tromey  <tom@tromey.com>
9399
9400         * jit.c (jit_read_code_entry): Use type_align.
9401         * i386-tdep.c (i386_gdbarch_init): Don't call
9402         set_gdbarch_long_long_align_bit.
9403         * gdbarch.sh: Remove long_long_align_bit.
9404         * gdbarch.c, gdbarch.h: Rebuild.
9405         * arc-tdep.c (arc_type_align): New function.
9406         (arc_gdbarch_init): Use arc_type_align.  Don't call
9407         set_gdbarch_long_long_align_bit.
9408
9409 2018-04-30  Tom Tromey  <tom@tromey.com>
9410
9411         * rust-lang.c (rust_type_alignment): Remove.
9412         (rust_composite_type): Use type_align.
9413
9414 2018-04-30  Tom Tromey  <tom@tromey.com>
9415
9416         * NEWS: Mention Type.align.
9417         * python/py-type.c (typy_get_alignof): New function.
9418         (type_object_getset): Add "alignof".
9419
9420 2018-04-30  Tom Tromey  <tom@tromey.com>
9421
9422         PR exp/17095:
9423         * NEWS: Update.
9424         * std-operator.def (UNOP_ALIGNOF): New operator.
9425         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
9426         New.
9427         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
9428         * c-lang.c (c_op_print_tab): Add alignof.
9429         * c-exp.y (ALIGNOF): New token.
9430         (exp): Add "ALIGNOF" production.
9431         (ident_tokens): Add _Alignof and alignof.
9432
9433 2018-04-30  Tom Tromey  <tom@tromey.com>
9434
9435         * i386-tdep.c (i386_type_align): New function.
9436         (i386_gdbarch_init): Update.
9437         * gdbarch.sh (type_align): New method.
9438         * gdbarch.c, gdbarch.h: Rebuild.
9439         * arch-utils.h (default_type_align): Declare.
9440         * arch-utils.c (default_type_align): New function.
9441         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
9442         (struct type) <align_log2>: New field.
9443         <instance_flags>: Now a bitfield.
9444         (TYPE_RAW_ALIGN): New macro.
9445         (type_align, type_raw_align, set_type_align): Declare.
9446         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
9447         functions.
9448         * dwarf2read.c (quirk_rust_enum): Set type alignment.
9449         (get_alignment, maybe_set_alignment): New functions.
9450         (read_structure_type, read_enumeration_type, read_array_type)
9451         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
9452         (read_subrange_type, read_base_type): Set type alignment.
9453
9454 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
9455
9456         * dwarf2read.c (read_index_from_section): Use bool.
9457
9458 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
9459
9460         PR gdb/22950
9461         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
9462         with #ifdef.
9463
9464 2018-04-29  John Reiser  <jreiser@BitWagon.com>
9465
9466         PR build/22873
9467         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
9468         last step, and do it atomically.
9469
9470 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
9471
9472         * compile/compile-c-types.c (convert_int, convert_float):
9473         Update for C FE v1.
9474
9475 2018-04-27  Tom Tromey  <tom@tromey.com>
9476
9477         PR rust/22545:
9478         * rust-lang.c (rust_inclusive_range_type_p): New function.
9479         (rust_range): Handle inclusive ranges.
9480         (rust_compute_range): Likewise.
9481         * rust-exp.y (struct rust_op) <inclusive>: New field.
9482         (DOTDOTEQ): New constant.
9483         (range_expr): Add "..=" productions.
9484         (operator_tokens): Add "..=" token.
9485         (ast_range): Add "inclusive" parameter.
9486         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
9487         ranges.
9488         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
9489         bounds values.
9490         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
9491         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
9492         Update comments.
9493         * expprint.c (print_subexp_standard): Handle new bounds values.
9494         (dump_subexp_body_standard): Likewise.
9495
9496 2018-04-27  Tom Tromey  <tom@tromey.com>
9497
9498         * configure: Rebuild.
9499         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
9500         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
9501         "OVERRIDE".
9502         (class symbol_needs_eval_context): Likewise.
9503         * dwarf2read.c (mock_mapped_index::symbol_name_count)
9504         (mock_mapped_index::symbol_name_at): Use "override".  Remove
9505         "virtual".
9506         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
9507         "override".
9508         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
9509         * aarch64-tdep.c (instruction_reader::read): Use "override".
9510         (instruction_reader_test::read): Likewise.
9511         * arm-tdep.c (instruction_reader::read): Use "override".
9512         (instruction_reader_thumb::read): Likewise.
9513
9514 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
9515
9516         PR remote/9665
9517         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
9518         instead of remote_send.
9519         (remote_send): Remove.
9520
9521 2018-04-26  Pedro Alves  <palves@redhat.com>
9522
9523         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
9524         find_function_start_sal instead of find_pc_line.
9525
9526 2018-04-26  Pedro Alves  <palves@redhat.com>
9527
9528         * breakpoint.c (set_breakpoint_location_function): Handle
9529         mst_data_gnu_ifunc.
9530         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
9531         * elfread.c (elf_symtab_read): Give data symbols with
9532         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
9533         (elf_rel_plt_read): Update comment.
9534         * linespec.c (convert_linespec_to_sals): Handle
9535         mst_data_gnu_ifunc.
9536         (minsym_found): Handle mst_data_gnu_ifunc.
9537         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
9538         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
9539         * parse.c (find_minsym_type_and_address): Handle
9540         mst_data_gnu_ifunc.
9541         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
9542         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
9543         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
9544         comment.
9545         <mst_data_gnu_ifunc>: New enumerator.
9546
9547 2018-04-26  Pedro Alves  <palves@redhat.com>
9548
9549         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
9550         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
9551         'want_trampoline' parameter by a lookup_msym_prefer parameter.
9552         Handle it.
9553         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
9554         (lookup_minimal_symbol_by_pc): Adjust.
9555         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
9556         (lookup_solib_trampoline_symbol_by_pc): Adjust.
9557         * minsyms.h (lookup_msym_prefer): New enum.
9558         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9559         parameter by a lookup_msym_prefer parameter.
9560
9561 2018-04-26  Pedro Alves  <palves@redhat.com>
9562
9563         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
9564         ends in "@plt" instead of looking at the symbol's section.
9565
9566 2018-04-26  Pedro Alves  <palves@redhat.com>
9567
9568         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
9569         all references.
9570         (find_pc_partial_function_gnu_ifunc): Rename to ...
9571         (find_pc_partial_function): ... this, and remove references to
9572         'is_gnu_ifunc_p'.
9573         (find_pc_partial_function): Delete old implementation.
9574         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
9575
9576 2018-04-26  Pedro Alves  <palves@redhat.com>
9577
9578         * linespec.c (struct bound_minimal_symbol_search_key): New.
9579         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
9580         skip first line if we found a GNU ifunc minimal symbol by name.
9581         (compare_msymbols): Change parameters to work with a destructured
9582         lhs minsym.
9583         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
9584         functions.
9585
9586 2018-04-26  Pedro Alves  <palves@redhat.com>
9587
9588         * breakpoint.c (set_breakpoint_location_function): Don't resolve
9589         ifunc targets here.  Instead, if we have an ifunc minsym, use its
9590         address/name.
9591         (add_location_to_breakpoint): Store the minsym and the objfile in
9592         the breakpoint location.
9593         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
9594         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
9595         Record the minsym in the sal.
9596         * symtab.h (symtab_and_line) <msymbol>: New field.
9597
9598 2018-04-26  Pedro Alves  <palves@redhat.com>
9599
9600         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
9601         unless we actually resolved the ifunc.
9602
9603 2018-04-26  Pedro Alves  <palves@redhat.com>
9604
9605         * c-exp.y (variable production): Prefer ifunc minsyms over
9606         regular function symbols.
9607         * symtab.c (find_gnu_ifunc): New function.
9608         * minsyms.h (lookup_msym_prefer): New enum.
9609         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9610         parameter by a lookup_msym_prefer parameter.
9611         * symtab.h (find_gnu_ifunc): New declaration.
9612
9613 2018-04-26  Pedro Alves  <palves@redhat.com>
9614
9615         * blockframe.c (find_gnu_ifunc_target_type): New function.
9616         (find_function_type): New.
9617         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
9618         return a value with a memory address.
9619         (eval_call): For calls to GNU ifunc functions, try to find the
9620         type of the target function from the type that the resolver
9621         returns.
9622         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
9623         symbols.
9624         * infcall.c (find_function_return_type): Delete.
9625         (find_function_addr): Add 'function_type' parameter.  For calls to
9626         GNU ifunc functions, try to find the type of the target function
9627         from the type that the resolver returns, and return it via
9628         FUNCTION_TYPE.
9629         (call_function_by_hand_dummy): Adjust to use the function type
9630         returned by find_function_addr.
9631         (find_function_addr): Add 'function_type' parameter and move
9632         description here.
9633         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
9634         declarations.
9635
9636 2018-04-26  Pedro Alves  <palves@redhat.com>
9637
9638         * c-exp.y (variable production): Skip finding an alias for ifunc
9639         symbols.
9640
9641 2018-04-26  Pedro Alves  <palves@redhat.com>
9642
9643         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
9644
9645 2018-04-25  Pedro Alves  <palves@redhat.com>
9646
9647         * infcmd.c (kill_command): Print the pid as string, not the whole
9648         thread's ptid.  Add comment.  s/has been killed/killed/ in output
9649         message.
9650         * remote.c (remote_detach_1): Print the pid as string, not the
9651         whole thread's ptid.
9652
9653 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9654             Sergio Durigan Junior  <sergiodj@redhat.com>
9655             Pedro Alves  <palves@redhat.com>
9656
9657         * infcmd.c (kill_command): Print message when inferior has
9658         been killed.
9659         * inferior.c (print_inferior_events): Remove 'static'.  Set as
9660         '1'.
9661         (add_inferior): Improve message printed when
9662         'print_inferior_events' is on.
9663         (exit_inferior): Remove message printed when
9664         'print_inferior_events' is on.
9665         (detach_inferior): Improve message printed when
9666         'print_inferior_events' is on.
9667         (initialize_inferiors): Use 'add_inferior_silent' to set
9668         'current_inferior_'.
9669         * inferior.h (print_inferior_events): Declare here as
9670         'extern'.
9671         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
9672         '[Detaching...]' messages when 'print_inferior_events' is on.
9673         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
9674         as prefix/suffix for messages.  Remove periods.  Fix erroneous
9675         'Detaching after fork from child...', replace it by '... from
9676         parent...'.
9677         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
9678         prefix/suffix when printing 'Detaching...' messages.  Print
9679         them when 'print_inferior_events' is on.
9680         * remote.c (remote_detach_1): Print message when detaching
9681         from inferior and '!is_fork_parent'.
9682
9683 2018-04-24  Tom Tromey  <tom@tromey.com>
9684
9685         * cli-out.h: Reindent.
9686
9687 2018-04-24  Tom Tromey  <tom@tromey.com>
9688
9689         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
9690         (cli_ui_out::do_field_string): Use fputs_filtered.
9691         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
9692
9693 2018-04-23  Tom Tromey  <tom@tromey.com>
9694
9695         * guile/scm-frame.c (gdbscm_frame_read_var): Use
9696         gdb::unique_xmalloc_ptr.
9697
9698 2018-04-23  Tom Tromey  <tom@tromey.com>
9699
9700         * configure: Rebuild.
9701
9702 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
9703
9704         PR gdb/23095
9705         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
9706         prepare_for_testing.  Set normal_bp to r_debug_state if target
9707         is bsd.
9708
9709 2018-04-21  Pedro Alves  <palves@redhat.com>
9710             Rajendra SY  <rajendra.sy@gmail.com>
9711
9712         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
9713         * remote.c (extended_remote_attach): In all-stop mode, mark the
9714         thread as executing.
9715
9716 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
9717
9718         * thread.c (thread_apply_all_command): Fix comment.
9719         (thread_command): Fix comment.
9720
9721 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
9722
9723         * common/tdesc.h (tdesc_create_feature): Remove xml filename
9724         parameter.
9725         * features/aarch64-core.c (create_feature_aarch64_core):
9726         Regenerate.
9727         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
9728         Likewise.
9729         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
9730         Likewise.
9731         * features/i386/32bit-avx512.c
9732         (create_feature_i386_32bit_avx512): Likewise.
9733         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
9734         Likewise.
9735         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
9736         Likewise.
9737         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
9738         Likewise.
9739         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
9740         Likewise.
9741         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
9742         Likewise.
9743         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
9744         Likewise.
9745         * features/i386/64bit-avx512.c
9746         (create_feature_i386_64bit_avx512): Likewise.
9747         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
9748         Likewise.
9749         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
9750         Likewise.
9751         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
9752         Likewise.
9753         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
9754         Likewise.
9755         * features/i386/64bit-segments.c
9756         (create_feature_i386_64bit_segments): Likewise.
9757         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
9758         Likewise.
9759         * features/i386/x32-core.c
9760         (create_feature_i386_x32_core): Likewise.
9761         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
9762         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
9763         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
9764         * target-descriptions.c: In generated code, don't pass xml
9765         filename.
9766
9767 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9768
9769         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
9770         (print_xml_feature::visit_post): Likewise.
9771         (print_xml_feature::visit): Likewise.
9772         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
9773         (print_xml_feature): Add new class.
9774         * regformats/regdat.sh: Null xmltarget on feature targets.
9775         * target-descriptions.c (struct target_desc): Add xmltarget.
9776         (maintenance_check_tdesc_xml_convert): Add unittest function.
9777         (tdesc_get_features_xml): Add function to get xml.
9778         (maintenance_check_xml_descriptions): Test xml generation.
9779         * xml-tdesc.c (string_read_description_xml): Add function.
9780         * xml-tdesc.h (string_read_description_xml): Add declaration.
9781
9782 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9783
9784         * features/Makefile: Add feature marker to targets with new style
9785         target descriptions.
9786         * regformats/aarch64.dat: Regenerate.
9787         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
9788         * regformats/i386/amd64-avx-linux.dat: Likewise.
9789         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
9790         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
9791         * regformats/i386/amd64-linux.dat: Likewise.
9792         * regformats/i386/amd64-mpx-linux.dat: Likewise.
9793         * regformats/i386/amd64.dat: Likewise.
9794         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
9795         * regformats/i386/i386-avx-linux.dat: Likewise.
9796         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
9797         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
9798         * regformats/i386/i386-linux.dat: Likewise.
9799         * regformats/i386/i386-mmx-linux.dat: Likewise.
9800         * regformats/i386/i386-mpx-linux.dat: Likewise.
9801         * regformats/i386/i386.dat: Likewise.
9802         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
9803         * regformats/i386/x32-avx-linux.dat: Likewise.
9804         * regformats/i386/x32-linux.dat: Likewise.
9805         * regformats/tic6x-c62x-linux.dat: Likewise.
9806         * regformats/tic6x-c64x-linux.dat: Likewise.
9807         * regformats/tic6x-c64xp-linux.dat: Likewise.
9808         * regformats/regdat.sh: Parse feature marker.
9809
9810 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9811
9812         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
9813         (tdesc_osabi_name): Likewise.
9814         * target-descriptions.c (tdesc_architecture_name): Add new
9815         function.
9816         (tdesc_osabi_name): Likewise.
9817
9818 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9819
9820         * common/tdesc.c (tdesc_predefined_type): Move to here.
9821         (tdesc_named_type): Likewise.
9822         (tdesc_create_vector): Likewise.
9823         (tdesc_create_struct): Likewise.
9824         (tdesc_set_struct_size): Likewise.
9825         (tdesc_create_union): Likewise.
9826         (tdesc_create_flags): Likewise.
9827         (tdesc_create_enum): Likewise.
9828         (tdesc_add_field): Likewise.
9829         (tdesc_add_typed_bitfield): Likewise.
9830         (tdesc_add_bitfield): Likewise.
9831         (tdesc_add_flag): Likewise.
9832         (tdesc_add_enum_value): Likewise.
9833         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
9834         (struct tdesc_type_vector): Likewise.
9835         (struct tdesc_type_field): Likewise.
9836         (struct tdesc_type_with_fields): Likewise.
9837         (tdesc_create_enum): Add declaration.
9838         (tdesc_add_typed_bitfield): Likewise.
9839         (tdesc_add_enum_value): Likewise.
9840         * target-descriptions.c (tdesc_type_field): Move from here.
9841         (tdesc_type_builtin): Likewise.
9842         (tdesc_type_vector): Likewise.
9843         (tdesc_type_with_fields): Likewise.
9844         (tdesc_predefined_types): Likewise.
9845         (tdesc_named_type): Likewise.
9846         (tdesc_create_vector): Likewise.
9847         (tdesc_create_struct): Likewise.
9848         (tdesc_set_struct_size): Likewise.
9849         (tdesc_create_union): Likewise.
9850         (tdesc_create_flags): Likewise.
9851         (tdesc_create_enum): Likewise.
9852         (tdesc_add_field): Likewise.
9853         (tdesc_add_typed_bitfield): Likewise.
9854         (tdesc_add_bitfield): Likewise.
9855         (tdesc_add_flag): Likewise.
9856         (tdesc_add_enum_value): Likewise.
9857         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
9858         (tdesc_add_typed_bitfield): Likewise.
9859         (tdesc_add_enum_value): Likewise.
9860
9861 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9862
9863         * common/tdesc.c (tdesc_feature::accept): Move to here.
9864         (tdesc_feature::operator==): Likewise.
9865         (tdesc_create_reg): Likewise.
9866         * common/tdesc.h (tdesc_type_kind): Likewise.
9867         (struct tdesc_type): Likewise.
9868         (struct tdesc_feature): Likewise.
9869         * regformats/regdat.sh: Create a feature.
9870         * target-descriptions.c (tdesc_type_kind): Move from here.
9871         (tdesc_type): Likewise.
9872         (tdesc_type_up): Likewise.
9873         (tdesc_feature): Likewise.
9874         (tdesc_create_reg): Likewise.
9875
9876 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9877
9878         * Makefile.in: Add arch/tdesc.c
9879         * common/tdesc.c: New file.
9880         * common/tdesc.h (tdesc_element_visitor): Move to here.
9881         (tdesc_element): Likewise.
9882         (tdesc_reg): Likewise.
9883         (tdesc_reg_up): Likewise.
9884         * regformats/regdef.h (reg): Add offset to constructors.
9885         * target-descriptions.c (tdesc_element_visitor): Move from here.
9886         (tdesc_element): Likewise.
9887         (tdesc_reg): Likewise.
9888         (tdesc_reg_up): Likewise.
9889
9890 2018-04-17  Tom Tromey  <tom@tromey.com>
9891
9892         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
9893         discriminant field.
9894
9895 2018-04-17  Tom Tromey  <tom@tromey.com>
9896
9897         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
9898
9899 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9900
9901         * symtab.c (print_symbol_info): Skip printing filename and line
9902         number when `last' is NULL.
9903         (symtab_symbol_info): Use empty string instead of NULL for first
9904         invocation of print_symbol_info.
9905         (rbreak_command): Pass NULL to `last' parameter of
9906         print_symbol_info.
9907
9908 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
9909
9910         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
9911         instead of nullptr.
9912
9913 2018-04-16  Pedro Alves  <palves@redhat.com>
9914
9915         * MAINTAINERS (sh): Remove.
9916         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
9917         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
9918         (ALLDEPFILES): Remove sh64-tdep.c.
9919         * NEWS: Mentions that support for SH-5/SH64 is removed.
9920         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
9921         (sh*-*-openbsd*): Ditto.
9922         (sh64-*-elf*): Remove.
9923         (sh*): Remove.
9924         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
9925         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
9926         * sh-tdep.c: No longer include "sh64-tdep.h".
9927         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
9928         * sh64-tdep.c, sh64-tdep.h: Remove files.
9929
9930 2018-04-16  Pedro Alves  <palves@redhat.com>
9931
9932         * MAINTAINERS: Remove m88k.
9933         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
9934         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
9935         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
9936         * NEWS: Mention that support for m88k was removed.
9937         * configure.host (m88*-*-*): Remove support.
9938         * configure.nat (m88k-*-*): Remove support.
9939         * configure.tgt (m88*-*-openbsd*): Remove.
9940         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
9941
9942 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
9943
9944         * configure.tgt (x86_tobjs): New variable.
9945         (amd64_tobjs, i386_tobjs): Use it.
9946
9947 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9948
9949         * symtab.c (print_symbol_info): Precede the symbol definition by
9950         the line number when available.
9951         * NEWS: Advertise this enhancement.
9952
9953 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9954
9955         * NEWS (New options): announce set/show record btrace cpu.
9956         * btrace.c: Include record-btrace.h.
9957         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
9958         the vendor is unknown.
9959         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
9960         Maybe overwrite the btrace configuration's cpu.
9961         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
9962         (btrace_fetch): Add cpu parameter.  Update callers.
9963         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
9964         Maybe overwrite the btrace configuration's cpu.  Skip enabling
9965         errata workarounds if the vendor is unknown.
9966         * python/py-record-btrace.c: Include record-btrace.h.
9967         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
9968         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
9969         * record-btrace.c (record_btrace_cpu_state_kind): New.
9970         (record_btrace_cpu): New.
9971         (set_record_btrace_cpu_cmdlist): New.
9972         (record_btrace_get_cpu): New.
9973         (require_btrace_thread, record_btrace_info)
9974         (record_btrace_resume_thread): Call record_btrace_get_cpu.
9975         (cmd_set_record_btrace_cpu_none): New.
9976         (cmd_set_record_btrace_cpu_auto): New.
9977         (cmd_set_record_btrace_cpu): New.
9978         (cmd_show_record_btrace_cpu): New.
9979         (_initialize_record_btrace): Initialize set/show record btrace cpu
9980         commands.
9981         * record-btrace.h (record_btrace_get_cpu): New.
9982
9983 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9984
9985         * record.c (set_record_command): Fix typo in message.
9986
9987 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9988
9989         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
9990
9991 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9992
9993         * infrun.c (process_event_stop_test): Call
9994         gdbarch_in_indirect_branch_thunk.
9995         * gdbarch.sh (in_indirect_branch_thunk): New.
9996         * gdbarch.c: Regenerated.
9997         * gdbarch.h: Regenerated.
9998         * x86-tdep.h: New.
9999         * x86-tdep.c: New.
10000         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
10001         (HFILES_NO_SRCDIR): Add x86-tdep.h.
10002         (ALLDEPFILES): Add x86-tdep.c.
10003         * arch-utils.h (default_in_indirect_branch_thunk): New.
10004         * arch-utils.c (default_in_indirect_branch_thunk): New.
10005         * i386-tdep: Include x86-tdep.h.
10006         (i386_in_indirect_branch_thunk): New.
10007         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
10008         function.
10009         * amd64-tdep: Include x86-tdep.h.
10010         (amd64_in_indirect_branch_thunk): New.
10011         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
10012
10013 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
10014
10015         PR gdb/23053
10016         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
10017         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
10018         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
10019         regression.
10020
10021 2018-04-12  Tom Tromey  <tom@tromey.com>
10022
10023         * rust-lang.c (rust_print_struct_def): Remove univariant code.
10024         (rust_evaluate_subexp): Likewise.
10025
10026 2018-04-12  Pedro Alves  <palves@redhat.com>
10027
10028         * procfs.c (procfs_detach): Make forward declaration's prototype
10029         match definition's protototype.
10030         (proc_get_LDT_entry): Remove stale do_cleanups call.
10031
10032 2018-04-12  Pedro Alves  <palves@redhat.com>
10033
10034         * target.h (target_ops::to_has_exited): Delete.
10035         (target_has_exited): Delete.
10036         * target-delegates.c: Regenerate.
10037
10038 2018-04-11  Pedro Alves  <palves@redhat.com>
10039
10040         * target.c (fileio_fh_t::t): Add comment.
10041         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10042         (target_fileio_close): Handle a NULL target.
10043         (invalidate_fileio_fh): New.
10044         (target_close): Call it.
10045         * remote.c (remote_hostio_send_command): No longer check whether
10046         remote_desc is open.
10047
10048 2018-04-11  Pedro Alves  <palves@redhat.com>
10049
10050         * target.c (fileio_fh_t): Make it a named struct instead of a
10051         typedef.
10052         (fileio_fh_t::is_closed): New method.
10053         (DEF_VEC_O (fileio_fh_t)): Remove.
10054         (fileio_fhandles): Now a std::vector.
10055         (is_closed_fileio_fh): Delete.
10056         (acquire_fileio_fd): Adjust.  Rename parameters.
10057         (release_fileio_fd): Adjust.
10058         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
10059         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10060         (target_fileio_close): Adjust.
10061
10062 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
10063
10064         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
10065         index.
10066
10067 2018-04-10  Pedro Alves  <palves@redhat.com>
10068
10069         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
10070         (scoped_finish_thread_state): New class.
10071         * infcmd.c (run_command_1): Use it instead of finish_thread_state
10072         cleanup.
10073         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
10074         (fetch_inferior_event, normal_stop): Likewise.
10075         * thread.c (finish_thread_state_cleanup): Delete.
10076
10077 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10078             Pedro Alves  <palves@redhat.com>
10079
10080         * value.c: Include "selftest.h" and "common/array-view.h".
10081         (struct range) <operator ==>: New.
10082         (test_ranges_contain): New.
10083         (check_ranges_vector): New.
10084         (test_insert_into_bit_range_vector): New.
10085         (_initialize_values): Register selftests.
10086         * common/array-view.h (operator==, operator!=): New.
10087
10088 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10089
10090         * common/gdb_vecs.h (unordered_remove): Add overload that takes
10091         an iterator.
10092         * inline-frame.c: Include <algorithm>.
10093         (struct inline_state): Add constructor.
10094         (inline_state_s): Remove.
10095         (DEF_VEC_O(inline_state_s)): Remove.
10096         (inline_states): Change type to std::vector.
10097         (find_inline_frame_state): Adjust to std::vector.
10098         (allocate_inline_frame_state): Remove.
10099         (clear_inline_frame_state): Adjust to std::vector.
10100         (skip_inline_frames): Adjust to std::vector.
10101
10102 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10103
10104         * tracepoint.h (struct trace_state_variable): Add constructor.
10105         <name>: Change type to std::string.
10106         * tracepoint.c (tsv_s): Remove.
10107         (DEF_VEC_O(tsv_s)): Remove.
10108         (tvariables): Change to std::vector.
10109         (create_trace_state_variable): Adjust to std::vector.
10110         (find_trace_state_variable): Likewise.
10111         (find_trace_state_variable_by_number): Likewise.
10112         (delete_trace_state_variable): Likewise.
10113         (trace_variable_command): Adjust to std::string.
10114         (delete_trace_variable_command): Likewise.
10115         (tvariables_info_1): Adjust to std::vector.
10116         (save_trace_state_variables): Likewise.
10117         (start_tracing): Likewise.
10118         (merge_uploaded_trace_state_variables): Adjust to std::vector
10119         and std::string.
10120         * target.h (struct target_ops)
10121         <to_download_trace_state_variable>: Pass reference to
10122         trace_state_variable.
10123         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
10124         * target-delegates.c: Re-generate.
10125         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
10126         (mi_tsv_deleted): Likewise.
10127         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
10128         * remote.c (remote_download_trace_state_variable): Change
10129         pointer to reference and adjust.
10130         * make-target-delegates (parse_argtypes): Handle references.
10131         (write_function_header): Likewise.
10132         (munge_type): Likewise.
10133
10134 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10135
10136         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10137         string_view-selftests.c.
10138         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
10139         testsuite.
10140         * unittests/basic_string_view/cons/char/1.cc: Likewise.
10141         * unittests/basic_string_view/cons/char/2.cc: Likewise.
10142         * unittests/basic_string_view/cons/char/3.cc: Likewise.
10143         * unittests/basic_string_view/element_access/char/1.cc:
10144         Likewise.
10145         * unittests/basic_string_view/element_access/char/empty.cc:
10146         Likewise.
10147         * unittests/basic_string_view/element_access/char/front_back.cc:
10148         Likewise.
10149         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
10150         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
10151         Likewise.
10152         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
10153         Likewise.
10154         * unittests/basic_string_view/modifiers/swap/char/1.cc:
10155         Likewise.
10156         * unittests/basic_string_view/operations/compare/char/1.cc:
10157         Likewise.
10158         * unittests/basic_string_view/operations/compare/char/13650.cc:
10159         Likewise.
10160         * unittests/basic_string_view/operations/copy/char/1.cc:
10161         Likewise.
10162         * unittests/basic_string_view/operations/data/char/1.cc:
10163         Likewise.
10164         * unittests/basic_string_view/operations/find/char/1.cc:
10165         Likewise.
10166         * unittests/basic_string_view/operations/find/char/2.cc:
10167         Likewise.
10168         * unittests/basic_string_view/operations/find/char/3.cc:
10169         Likewise.
10170         * unittests/basic_string_view/operations/find/char/4.cc:
10171         Likewise.
10172         * unittests/basic_string_view/operations/rfind/char/1.cc:
10173         Likewise.
10174         * unittests/basic_string_view/operations/rfind/char/2.cc:
10175         Likewise.
10176         * unittests/basic_string_view/operations/rfind/char/3.cc:
10177         Likewise.
10178         * unittests/basic_string_view/operations/substr/char/1.cc:
10179         Likewise.
10180         * unittests/basic_string_view/operators/char/2.cc: Likewise.
10181         * unittests/string_view-selftests.c: New file.
10182
10183 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10184
10185         * unittests/basic_string_view/capacity/1.cc: New file.
10186         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
10187         * unittests/basic_string_view/cons/char/1.cc: New file.
10188         * unittests/basic_string_view/cons/char/2.cc: New file.
10189         * unittests/basic_string_view/cons/char/3.cc: New file.
10190         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
10191         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
10192         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
10193         * unittests/basic_string_view/element_access/char/1.cc: New file.
10194         * unittests/basic_string_view/element_access/char/2.cc: New file.
10195         * unittests/basic_string_view/element_access/char/empty.cc: New file.
10196         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
10197         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
10198         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
10199         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
10200         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
10201         * unittests/basic_string_view/include.cc: New file.
10202         * unittests/basic_string_view/inserters/char/1.cc: New file.
10203         * unittests/basic_string_view/inserters/char/2.cc: New file.
10204         * unittests/basic_string_view/inserters/char/3.cc: New file.
10205         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
10206         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
10207         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
10208         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
10209         * unittests/basic_string_view/literals/types.cc: New file.
10210         * unittests/basic_string_view/literals/values.cc: New file.
10211         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
10212         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
10213         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
10214         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
10215         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
10216         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
10217         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
10218         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
10219         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
10220         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
10221         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
10222         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
10223         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
10224         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
10225         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
10226         * unittests/basic_string_view/operations/data/char/1.cc: New file.
10227         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
10228         * unittests/basic_string_view/operations/find/char/1.cc: New file.
10229         * unittests/basic_string_view/operations/find/char/2.cc: New file.
10230         * unittests/basic_string_view/operations/find/char/3.cc: New file.
10231         * unittests/basic_string_view/operations/find/char/4.cc: New file.
10232         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
10233         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
10234         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
10235         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
10236         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
10237         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
10238         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
10239         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
10240         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
10241         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
10242         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
10243         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
10244         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
10245         * unittests/basic_string_view/operators/char/2.cc: New file.
10246         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
10247         * unittests/basic_string_view/range_access/char/1.cc: New file.
10248         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
10249         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
10250         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
10251         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
10252         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
10253         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
10254         * unittests/basic_string_view/requirements/typedefs.cc: New file.
10255         * unittests/basic_string_view/typedefs.cc: New file.
10256         * unittests/basic_string_view/types/1.cc: New file.
10257
10258 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10259
10260         * common/gdb_string_view.h: Remove libstdc++ implementation
10261         details, adjust to gdb reality.
10262         * common/gdb_string_view.tcc: Likewise.
10263         * cli/cli-script.c (struct string_view): Remove.
10264         (user_args) <m_args>: Change element type to gdb::string_view.
10265         (user_args::insert_args): Adjust.
10266
10267 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10268
10269         * common/gdb_string_view.h: New file.
10270         * common/gdb_string_view.tcc: New file.
10271
10272 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10273
10274         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
10275         * configure: Re-generate.
10276
10277 2018-04-09  Pedro Alves  <palves@redhat.com>
10278
10279         * gdbarch.sh: Include "observable.h" instead of "observer.h".
10280         (set_target_gdbarch): Call
10281         gdb::observers::architecture_changed.notify instead of
10282         observer_notify_architecture_changed.
10283
10284 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10285
10286         * tracepoint.c (struct current_traceframe_cleanup): Remove.
10287         (do_restore_current_traceframe_cleanup): Remove.
10288         (restore_current_traceframe_cleanup_dtor): Remove.
10289         (make_cleanup_restore_current_traceframe): Remove.
10290         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
10291         New.
10292         * tracepoint.h (struct scoped_restore_current_traceframe): New.
10293         * infrun.c (fetch_inferior_event): Use
10294         scoped_restore_current_traceframe.
10295
10296 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10297
10298         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
10299         Remove.
10300         <n_allocated_type_units>: Remove.
10301         <all_type_units>: Change to std::vector.
10302         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10303         to std::vector change.
10304         (dwarf2_per_objfile::get_cutu): Likewise.
10305         (dwarf2_per_objfile::get_tu): Likewise.
10306         (create_signatured_type_table_from_index): Likewise.
10307         (create_signatured_type_table_from_debug_names): Likewise.
10308         (dw2_symtab_iter_next): Likewise.
10309         (dw2_print_stats): Likewise.
10310         (dw2_expand_all_symtabs): Likewise.
10311         (dw2_expand_marked_cus): Likewise.
10312         (dw2_debug_names_iterator::next): Likewise.
10313         (dwarf2_initialize_objfile): Likewise.
10314         (add_signatured_type_cu_to_table): Likewise.
10315         (create_all_type_units): Likewise.
10316         (add_type_unit): Likewise.
10317         (struct tu_abbrev_offset): Add constructor.
10318         (build_type_psymtabs_1): Adjust to std::vector change.
10319         (print_tu_stats): Likewise.
10320         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10321         (write_debug_names): Likewise.
10322
10323 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10324
10325         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
10326         Make an std::vector.
10327         <n_comp_units>: Remove.
10328         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10329         to std::vector change.
10330         (dwarf2_per_objfile::get_cutu): Likewise.
10331         (dwarf2_per_objfile::get_cu): Likewise.
10332         (create_cus_from_index): Likewise.
10333         (create_addrmap_from_index): Likewise.
10334         (create_addrmap_from_aranges): Likewise.
10335         (dwarf2_read_index): Likewise.
10336         (dw2_find_last_source_symtab): Likewise.
10337         (dw2_map_symtabs_matching_filename): Likewise.
10338         (dw2_symtab_iter_next): Likewise.
10339         (dw2_print_stats): Likewise.
10340         (dw2_expand_all_symtabs): Likewise.
10341         (dw2_expand_symtabs_with_fullname): Likewise.
10342         (dw2_expand_marked_cus): Likewise.
10343         (dw2_map_symbol_filenames): Likewise.
10344         (create_cus_from_debug_names): Likewise.
10345         (dwarf2_read_debug_names): Likewise.
10346         (dw2_debug_names_iterator::next): Likewise.
10347         (dwarf2_initialize_objfile): Likewise.
10348         (set_partial_user): Likewise.
10349         (dwarf2_build_psymtabs_hard): Likewise.
10350         (read_comp_units_from_section): Remove arguments, adjust to
10351         std::vector change.
10352         (create_all_comp_units): Adjust to std::vector and
10353         read_comp_units_from_section changes.
10354         (dwarf2_find_containing_comp_unit): Adjust to std::vector
10355         change.
10356         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10357         (psyms_seen_size): Likewise.
10358         (write_gdbindex): Likewise.
10359         (write_debug_names): Likewise.
10360
10361 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10362
10363         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
10364         with dwarf2_per_objfile.
10365         (create_cus_from_index): Likewise.
10366         (create_signatured_type_table_from_index): Likewise.
10367         (dwarf2_read_index): Likewise.
10368         (dwarf2_initialize_objfile): Likewise.
10369         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
10370         per_cu rather than get_dwarf2_per_objfile.
10371
10372 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10373
10374         * dwarf2read.h (struct signatured_type): Forward declare.
10375         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
10376         New methods.
10377         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
10378         (dw2_get_cutu): ...this.
10379         (dwarf2_per_objfile::get_cu): Rename from...
10380         (dw2_get_cu): ...this.
10381         (dwarf2_per_objfile::get_tu): New.
10382         (create_addrmap_from_index): Adjust.
10383         (create_addrmap_from_aranges): Adjust.
10384         (dw2_find_last_source_symtab): Adjust.
10385         (dw2_map_symtabs_matching_filename): Adjust.
10386         (dw2_symtab_iter_next): Adjust.
10387         (dw2_print_stats): Adjust.
10388         (dw2_expand_all_symtabs): Adjust.
10389         (dw2_expand_symtabs_with_fullname): Adjust.
10390         (dw2_expand_marked_cus): Adjust.
10391         (dw_expand_symtabs_matching_file_matcher): Adjust.
10392         (dw2_map_symbol_filenames): Adjust.
10393         (dw2_debug_names_iterator::next): Adjust.
10394         (dwarf2_initialize_objfile): Adjust.
10395         (set_partial_user): Adjust.
10396         (dwarf2_build_psymtabs_hard): Adjust.
10397
10398 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10399
10400         * dwarf2read.c (create_signatured_type_table_from_debug_names):
10401         Remove unused variables.
10402         (dw2_map_symtabs_matching_filename): Likewise.
10403         (dwarf2_record_block_ranges): Likewise.
10404         (dwarf2_read_addr_index): Likewise.
10405         (follow_die_offset): Likewise.
10406
10407 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10408
10409         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
10410         to symbol_file_add_main.
10411
10412 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10413
10414         PR mi/22299
10415         * mi/mi-console.c (do_fputc_async_safe): New.
10416         (mi_console_file::write_async_safe): New.
10417         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
10418         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
10419         New.
10420         * ui-file.c (ui_file::putstrn): Adjust call to
10421         fputstrn_unfiltered.
10422         * utils.c (printchar): Replace do_fputs and do_fprintf
10423         parameters by do_fputc.
10424         (fputstr_filtered): Adjust call to printchar.
10425         (fputstr_unfiltered): Likewise.
10426         (fputstrn_filtered): Likewise.
10427         (fputstrn_unfiltered): Add do_fputc parameter, pass to
10428         printchar.
10429         * utils.h (do_fputc_ftype): New typedef.
10430         (fputstrn_unfiltered): Add do_fputc parameter.
10431
10432 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10433
10434         * regformats/i386/i386-avx.dat: Remove.
10435
10436 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10437
10438         PR gdb/22979
10439         * amd64-tdep.c (amd64_none_init_abi): New function.
10440         (amd64_x32_none_init_abi): New function.
10441         (_initialize_amd64_tdep): Register handlers for x86-64 and
10442         x64_32 with GDB_OSABI_NONE.
10443         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
10444         GDB_OSABI_NONE osabi.
10445
10446 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10447
10448         PR gdb/22980
10449         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
10450         GDB_OSABI_NONE.
10451         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
10452         * osabi.c (gdb_osabi_names): Add "unknown" entry.
10453
10454 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10455
10456         * common/byte-vector.h (char_vector): New type.
10457         * target.h (target_read_alloc): Return
10458         gdb::optional<byte_vector>.
10459         (target_read_stralloc): Return gdb::optional<char_vector>.
10460         (target_get_osdata): Return gdb::optional<char_vector>.
10461         * target.c (target_read_alloc_1): Templatize.  Replacement
10462         manual memory management with vector.
10463         (target_read_alloc): Change return type, adjust.
10464         (target_read_stralloc): Change return type, adjust.
10465         (target_get_osdata): Change return type, adjust.
10466         * auxv.c (struct auxv_info) <length>: Remove.
10467         <data>: Change type to gdb::optional<byte_vector>.
10468         (auxv_inferior_data_cleanup): Free auxv_info with delete.
10469         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
10470         (target_auxv_search): Adjust.
10471         (fprint_target_auxv): Adjust.
10472         * avr-tdep.c (avr_io_reg_read_command): Adjust.
10473         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
10474         (linux_make_corefile_notes): Adjust.
10475         * osdata.c (get_osdata): Adjust.
10476         * remote.c (remote_get_threads_with_qxfer): Adjust.
10477         (remote_memory_map): Adjust.
10478         (remote_traceframe_info): Adjust.
10479         (btrace_read_config): Adjust.
10480         (remote_read_btrace): Adjust.
10481         (remote_pid_to_exec_file): Adjust.
10482         * solib-aix.c (solib_aix_get_library_list): Adjust.
10483         * solib-dsbt.c (decode_loadmap): Don't free buf.
10484         (dsbt_get_initial_loadmaps): Adjust.
10485         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
10486         * solib-target.c (solib_target_current_sos): Adjust.
10487         * tracepoint.c (sdata_make_value): Adjust.
10488         * xml-support.c (xinclude_start_include): Adjust.
10489         (xml_fetch_content_from_file): Adjust.
10490         * xml-support.h (xml_fetch_another): Change return type.
10491         (xml_fetch_content_from_file): Change return type.
10492         * xml-syscall.c (xml_init_syscalls_info): Adjust.
10493         * xml-tdesc.c (file_read_description_xml): Adjust.
10494         (fetch_available_features_from_target): Change return type.
10495         (target_fetch_description_xml): Adjust.
10496         (target_read_description_xml): Adjust.
10497
10498 2018-04-06  Tom Tromey  <tom@tromey.com>
10499
10500         * value.c (~value): Update.
10501         (struct value) <contents>: Now unique_xmalloc_ptr.
10502         (value_contents_bits_eq, allocate_value_contents)
10503         (value_contents_raw, value_contents_all_raw)
10504         (value_contents_for_printing, value_contents_for_printing_const)
10505         (set_value_enclosing_type): Update.
10506
10507 2018-04-06  Tom Tromey  <tom@tromey.com>
10508
10509         * value.c (range_s): Remove typedef, VEC.
10510         (struct range): Add operator<.
10511         (range_lessthan): Remove.
10512         (ranges_contain): Change type.
10513         (~value): Update.
10514         (struct value) <unavailable, optimized_out>: Now std::vector.
10515         (value_entirely_available)
10516         (value_entirely_covered_by_range_vector)
10517         (value_entirely_unavailable, value_entirely_optimized_out):
10518         Update.
10519         (insert_into_bit_range_vector): Change argument type.
10520         (find_first_range_overlap): Likewise.
10521         (struct ranges_and_idx, value_contents_bits_eq)
10522         (require_not_optimized_out, require_available): Update.
10523         (ranges_copy_adjusted): Change argument types.
10524         (value_optimized_out, value_copy, value_fetch_lazy): Update.
10525
10526 2018-04-06  Tom Tromey  <tom@tromey.com>
10527
10528         * value.c (~value): Update.
10529         (struct value) <parent>: Now a value_ref_ptr.
10530         (value_parent, set_value_parent, value_address, value_copy):
10531         Update.
10532
10533 2018-04-06  Tom Tromey  <tom@tromey.com>
10534
10535         * value.c (struct value): Add constructor, destructor, and member
10536         initializers.
10537         (allocate_value_lazy, value_decref): Update.
10538
10539 2018-04-06  Tom Tromey  <tom@tromey.com>
10540
10541         * value.c (struct value) <released, next>: Remove.
10542         (all_values): Now a std::vector.
10543         (allocate_value_lazy): Update.
10544         (value_next): Remove.
10545         (value_mark, value_free_to_mark, release_value)
10546         (value_release_to_mark): Update.
10547
10548 2018-04-06  Tom Tromey  <tom@tromey.com>
10549
10550         * value.h (fetch_subexp_value, value_release_to_mark): Update.
10551         (free_value_chain): Remove.
10552         * value.c (free_value_chain): Remove.
10553         (value_release_to_mark): Return a std::vector.
10554         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
10555         std::vector.
10556         (check_condition): Update.
10557         * eval.c (fetch_subexp_value): Change "val_chain" to a
10558         std::vector.
10559         * breakpoint.c (update_watchpoint): Update.
10560         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
10561
10562 2018-04-06  Tom Tromey  <tom@tromey.com>
10563
10564         * value.h (free_all_values): Remove.
10565         * value.c (free_all_values): Remove.
10566
10567 2018-04-06  Tom Tromey  <tom@tromey.com>
10568
10569         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
10570         (value_history_chain, value_history_count): Remove.
10571         (value_history): New global.
10572         (record_latest_value, access_value_history, show_values)
10573         (preserve_values): Update.
10574
10575 2018-04-06  Tom Tromey  <tom@tromey.com>
10576
10577         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
10578         * varobj.c (varobj_set_display_format, varobj_set_value)
10579         (install_default_visualizer, construct_visualizer)
10580         (install_new_value, ~varobj, varobj_get_value_type)
10581         (my_value_of_variable, varobj_editable_p): Update.
10582         * c-varobj.c (c_describe_child, c_value_of_variable)
10583         (cplus_number_of_children, cplus_describe_child): Update.
10584         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
10585         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
10586         (ada_value_of_variable, ada_value_is_changeable_p): Update.
10587
10588 2018-04-06  Tom Tromey  <tom@tromey.com>
10589
10590         * printcmd.c (last_examine_address): Change type to
10591         value_ref_ptr.
10592         (do_examine, x_command): Update.
10593
10594 2018-04-06  Tom Tromey  <tom@tromey.com>
10595
10596         * value.c (release_value): Update.
10597         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
10598         (struct bpstats) <val>: Now a value_ref_ptr.
10599         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10600         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10601         (~watchpoint, print_it_watchpoint, watch_command_1)
10602         (invalidate_bp_value_on_memory_change): Update.
10603
10604 2018-04-06  Tom Tromey  <tom@tromey.com>
10605
10606         * varobj.c (varobj_clear_saved_item)
10607         (update_dynamic_varobj_children, install_new_value, ~varobj):
10608         Update.
10609         * value.h (value_incref): Move declaration earlier.
10610         (value_decref): Rename from value_free.
10611         (struct value_ref_policy): New.
10612         (value_ref_ptr): New typedef.
10613         (struct value_deleter): Remove.
10614         (gdb_value_up): Remove typedef.
10615         (release_value): Change return type.
10616         (release_value_or_incref): Remove.
10617         * value.c (set_value_parent): Update.
10618         (value_incref): Change return type.
10619         (value_decref): Rename from value_free.
10620         (value_free_to_mark, free_all_values, free_value_chain): Update.
10621         (release_value): Return value_ref_ptr.
10622         (release_value_or_incref): Remove.
10623         (record_latest_value, set_internalvar, clear_internalvar):
10624         Update.
10625         * stack.c (info_frame_command): Don't call value_free.
10626         * python/py-value.c (valpy_dealloc, valpy_new)
10627         (value_to_value_object): Update.
10628         * printcmd.c (do_examine): Update.
10629         * opencl-lang.c (lval_func_free_closure): Update.
10630         * mi/mi-main.c (register_changed_p): Don't call value_free.
10631         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
10632         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
10633         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
10634         value_free.
10635         * guile/scm-value.c (vlscm_free_value_smob)
10636         (vlscm_scm_from_value): Update.
10637         * frame.c (frame_register_unwind, frame_unwind_register_signed)
10638         (frame_unwind_register_unsigned, get_frame_register_bytes)
10639         (put_frame_register_bytes): Don't call value_free.
10640         * findvar.c (address_from_register): Don't call value_free.
10641         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
10642         * dwarf2loc.c (entry_data_value_free_closure)
10643         (value_of_dwarf_reg_entry, free_pieced_value_closure)
10644         (dwarf2_evaluate_loc_desc_full): Update.
10645         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10646         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10647         (~watchpoint, watch_command_1)
10648         (invalidate_bp_value_on_memory_change): Update.
10649         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
10650
10651 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
10652
10653         PR gdb/23022
10654         * warning.m4: Add -Wno-error=deprecated-register.
10655         * configure: Re-generate.
10656
10657 2018-04-05  Tom Tromey  <tom@tromey.com>
10658
10659         * linespec.h: Remove include of "vec.h".
10660
10661 2018-04-05  Tom Tromey  <tom@tromey.com>
10662
10663         * linespec.c (typep): Remove typedef.
10664         (find_methods, find_superclass_methods): Take a std::vector.
10665         (find_method): Use std::vector.
10666
10667 2018-04-05  Tom Tromey  <tom@tromey.com>
10668
10669         * utils.c (compare_strings): Remove.
10670         * utils.h (compare_strings): Remove.
10671         * objc-lang.h (find_imps): Update.
10672         * objc-lang.c (find_methods): Take a std::vector.
10673         (uniquify_strings, find_imps): Likewise.
10674         * linespec.c (find_methods): Take a std::vector.
10675         (decode_objc): Use std::vector.
10676         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
10677         a std::vector.
10678         (find_method, find_function_symbols): Use std::vector.
10679
10680 2018-04-05  Tom Tromey  <tom@tromey.com>
10681
10682         * completer.c (completion_tracker::completion_tracker): Remove
10683         cast.
10684         (completion_tracker::discard_completions): Likewise.
10685         * breakpoint.c (ambiguous_names_p): Remove cast.
10686         * ada-lang.c (_initialize_ada_language): Remove cast.
10687         * utils.h (streq): Update.
10688         (streq_hash): Add new declaration.
10689         * utils.c (streq): Return bool.
10690         (streq_hash): New function.
10691
10692 2018-04-05  Tom Tromey  <tom@tromey.com>
10693
10694         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
10695         Remove a string copy.
10696
10697 2018-04-05  Tom Tromey  <tom@tromey.com>
10698
10699         * linespec.c (filter_results): Use std::vector.
10700         (decode_line_2, decode_line_full): Update.
10701
10702 2018-04-05  Tom Tromey  <tom@tromey.com>
10703
10704         * linespec.c (canonical_to_fullform): Return std::string.
10705         (filter_results): Update.
10706         (struct decode_line_2_item): Add constructor.
10707         <fullform, displayform>: Now std::string.
10708         (decode_line_2_compare_items): Now a std::sort comparator.
10709         (decode_line_2): Update.
10710
10711 2018-04-05  Tom Tromey  <tom@tromey.com>
10712
10713         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
10714         (unexpected_linespec_error): Update.
10715         (linespec_parse_basic, parse_linespec): Update.
10716
10717 2018-04-05  Tom Tromey  <tom@tromey.com>
10718
10719         * linespec.c (linespec_parse_basic): Reindent.
10720
10721 2018-04-05  Tom Tromey  <tom@tromey.com>
10722
10723         * minsyms.h (iterate_over_minimal_symbols): Update.
10724         * minsyms.c (iterate_over_minimal_symbols): Take a
10725         gdb::function_view.
10726         * linespec.c (struct collect_minsyms): Remove.
10727         (compare_msyms): Now a std::sort comparator.
10728         (add_minsym): Add parameters.
10729         (search_minsyms_for_name): Update.  Use std::vector.
10730
10731 2018-04-03  Tom Tromey  <tom@tromey.com>
10732
10733         * mipsread.c (read_alphacoff_dynamic_symtab): Use
10734         gdb::byte_vector.
10735
10736 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10737
10738         * MAINTAINERS (Write After Approval): Add Weimin Pan.
10739
10740 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10741
10742         PR gdb/16959
10743         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
10744         printing static type.
10745
10746 2018-04-01  Tom Tromey  <tom@tromey.com>
10747
10748         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
10749         (rs6000_xfer_shared_libraries): Update.
10750
10751 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
10752
10753         * common/gdb_vecs.h (char_ptr): Remove.
10754         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
10755
10756 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10757
10758         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
10759         with std::vector.
10760         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
10761
10762 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10763
10764         * tracepoint.h (struct uploaded_tp): Initialize fields.
10765         <actions, step_actions, cmd_strings>: Change type to
10766         std::vector<char *>.
10767         * tracepoint.c (get_uploaded_tp): Allocate with new.
10768         (free_uploaded_tps): Free with delete.
10769         (parse_tracepoint_definition): Adjust to std::vector change.
10770         * breakpoint.c (read_uploaded_action): Likewise.
10771         (create_tracepoint_from_upload): Likewise.
10772         * ctf.c (ctf_write_uploaded_tp): Likewise.
10773         (SET_ARRAY_FIELD): Likewise.
10774         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
10775
10776 2018-03-30  Tom Tromey  <tom@tromey.com>
10777
10778         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
10779         std::unique_ptr.
10780         (svr4_keep_data_in_core): Update.
10781         (svr4_read_so_list): Update.
10782
10783 2018-03-30  Tom Tromey  <tom@tromey.com>
10784
10785         * windows-nat.c (handle_output_debug_string, handle_exception):
10786         Update.
10787         * target.h (target_read_string): Update.
10788         * target.c (target_read_string): Change "string" to
10789         unique_xmalloc_ptr.
10790         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
10791         Update.
10792         * solib-frv.c (frv_current_sos): Update.
10793         * solib-dsbt.c (dsbt_current_sos): Update.
10794         * solib-darwin.c (darwin_current_sos): Update.
10795         * linux-thread-db.c (inferior_has_bug): Update.
10796         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
10797         Update.  Remove alloca.
10798         * ada-lang.c (ada_main_name): Update.
10799
10800 2018-03-30  Tom Tromey  <tom@tromey.com>
10801
10802         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
10803         (struct dwo_file_deleter): New.
10804         (dwo_file_up): New typedef.
10805         (open_and_init_dwo_file): Use dwo_file_up.
10806         (free_dwo_file_cleanup): Remove.
10807
10808 2018-03-30  Tom Tromey  <tom@tromey.com>
10809
10810         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
10811         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
10812
10813 2018-03-30  Tom Tromey  <tom@tromey.com>
10814
10815         * dwarf2read.c (class free_cached_comp_units): New class.
10816         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
10817         (free_cached_comp_units): Remove function.
10818
10819 2018-03-30  Tom Tromey  <tom@tromey.com>
10820
10821         * utils.h (make_cleanup_unpush_target): Remove.
10822         * inf-ptrace.c (struct target_unpusher): New.
10823         (target_unpush_up) New typedef.
10824         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
10825         target_unpush_up.
10826         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
10827
10828 2018-03-27  Tom Tromey  <tom@tromey.com>
10829
10830         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
10831
10832 2018-03-27  Pedro Alves  <palves@redhat.com>
10833             Tom Tromey  <tom@tromey.com>
10834
10835         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
10836         destructor.  Now a class.
10837         (gdb_readline_wrapper_cleanup): Remove function.
10838         (gdb_readline_wrapper): Remove cleanups.
10839
10840 2018-03-27  Tom Tromey  <tom@tromey.com>
10841
10842         * typeprint.h (struct type_print_options) <local_typedefs,
10843         global_typedefs>: Remove "struct" keyword.
10844         (class typedef_hash_table): New class.
10845         (recursively_update_typedef_hash, add_template_parameters)
10846         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
10847         (find_typedef_in_hash): Don't declare.
10848         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
10849         (typedef_hash_table::recursively_update): Rename from
10850         recursively_update_typedef_hash.  Now a member.
10851         (typedef_hash_table::add_template_parameters): Rename from
10852         add_template_parameters.  Now a member.
10853         (typedef_hash_table::typedef_hash_table): Now a constructor;
10854         rename from create_typedef_hash.
10855         (typedef_hash_table::~typedef_hash_table): Now a destructor;
10856         rename from free_typedef_hash.
10857         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
10858         (do_free_global_table): Remove.
10859         (typedef_hash_table::typedef_hash_table): New constructor; renamed
10860         from copy_type_recursive.
10861         (create_global_typedef_table): Remove.
10862         (typedef_hash_table::find_global_typedef): Now a member of
10863         typedef_hash_table.
10864         (typedef_hash_table::find_typedef): Rename from
10865         find_typedef_in_hash; now a member.
10866         (whatis_exp): Update.
10867         * extension.h (struct ext_lang_type_printers): Add constructor and
10868         destructor.
10869         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
10870         declare.
10871         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
10872         Now a constructor; rename from start_ext_lang_type_printers.
10873         (ext_lang_type_printers): Now a destructor; rename from
10874         free_ext_lang_type_printers.
10875         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
10876         Update.
10877         (c_type_print_base_struct_union): Update.  Remove cleanups.
10878
10879 2018-03-27  Tom Tromey  <tom@tromey.com>
10880
10881         * dwarf-index-write.c: Include <cmath>.
10882
10883 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10884
10885         * NEWS: Add entry describing new "set|show varsize-limit" command.
10886         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
10887         command.
10888         * printcmd.c (_initialize_printcmd): Add "set var" alias of
10889         "set variable".
10890
10891 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
10892
10893         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
10894         dwarf-index-write.c
10895         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
10896         * dwarf-index-common.c: New file.
10897         * dwarf-index-common.h: New file.
10898         * dwarf-index-write.c: New file.
10899         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
10900         (struct dwarf2_section_info): Move from here.
10901         (dwarf2_section_info_def): Likewise.
10902         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
10903         (offset_type): Likewise.
10904         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
10905         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
10906         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
10907         (byte_swap): Likewise.
10908         (MAYBE_SWAP): Likewise.
10909         (dwarf2_per_cu_ptr): Likewise.
10910         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
10911         (struct tu_stats): Likewise.
10912         (struct dwarf2_per_objfile): Likewise.
10913         (struct dwarf2_per_cu_data): Likewise.
10914         (struct signatured_type): Likewise.
10915         (sig_type_ptr): Likewise.
10916         (DEF_VEC_P (sig_type_ptr)): Likewise.
10917         (INDEX4_SUFFIX): Likewise.
10918         (INDEX5_SUFFIX): Likewise.
10919         (DEBUG_STR_SUFFIX): Likewise.
10920         (dwarf2_read_section): Make non-static.
10921         (mapped_index_string_hash): Move from here.
10922         (dwarf5_djb_hash): Likewise.
10923         (file_write): Likewise.
10924         (class data_buf): Likewise.
10925         (struct symtab_index_entry): Likewise.
10926         (struct mapped_symtab): Likewise.
10927         (find_slot): Likewise.
10928         (hash_expand): Likewise.
10929         (add_index_entry): Likewise.
10930         (uniquify_cu_indices): Likewise.
10931         (class c_str_view): Likewise.
10932         (class c_str_view_hasher): Likewise.
10933         (class vector_hasher): Likewise.
10934         (write_hash_table): Likewise.
10935         (psym_index_map): Likewise.
10936         (struct addrmap_index_data): Likewise.
10937         (add_address_entry): Likewise.
10938         (add_address_entry_worker): Likewise.
10939         (write_address_map): Likewise.
10940         (symbol_kind): Likewise.
10941         (write_psymbols): Likewise.
10942         (struct signatured_type_index_data): Likewise.
10943         (write_one_signatured_type): Likewise.
10944         (recursively_count_psymbols): Likewise.
10945         (recursively_write_psymbols): Likewise.
10946         (class debug_names): Likewise.
10947         (check_dwarf64_offsets): Likewise.
10948         (psyms_seen_size): Likewise.
10949         (write_gdbindex): Likewise.
10950         (write_debug_names): Likewise.
10951         (assert_file_size): Likewise.
10952         (write_psymtabs_to_index): Likewise.
10953         (save_gdb_index_command): Likewise.
10954         (_initialize_dwarf2_read): Don't register the "save gdb-index"
10955         command.
10956         * dwarf2read.h: New file.
10957
10958 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10959
10960         PR gdb/22670
10961         * dwarf2read.c (dwarf2_physname): Do not return the demangled
10962         symbol name if the CU's language stores symbol names in linkage
10963         format.
10964         * language.h (struct language_defn)
10965         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
10966         all instances of this struct.
10967
10968 2018-03-26  Tom Tromey  <tom@tromey.com>
10969
10970         * stack.c (backtrace_command_1): Remove verbose code.
10971
10972 2018-03-26  Tom Tromey  <tom@tromey.com>
10973
10974         * python/py-framefilter.c (py_print_type): Don't catch
10975         exceptions.  Return void.
10976         (py_print_value): Likewise.
10977         (py_print_single_arg): Likewise.
10978         (enumerate_args): Don't catch exceptions.
10979         (py_print_args): Likewise.
10980         (py_print_frame): Likewise.
10981         (gdbpy_apply_frame_filter): Catch exceptions here.
10982
10983 2018-03-26  Tom Tromey  <tom@tromey.com>
10984
10985         * stack.c (_initialize_stack): Remove trailing newlines from help
10986         text.  Add "Usage" line to "backtrace" help.
10987
10988 2018-03-26  Tom Tromey  <tom@tromey.com>
10989
10990         PR python/16486:
10991         * python/py-framefilter.c (py_print_args): Call wrap_hint.
10992
10993 2018-03-26  Tom Tromey  <tom@tromey.com>
10994
10995         * python/py-framefilter.c (py_print_single_arg): Return
10996         EXT_LANG_BT_ERROR from catch.
10997
10998 2018-03-26  Tom Tromey  <tom@tromey.com>
10999
11000         PR backtrace/15584:
11001         * stack.c (backtrace_command_1): Move some code into no-filters
11002         "if".
11003
11004 2018-03-26  Tom Tromey  <tom@tromey.com>
11005
11006         * python/py-framefilter.c (throw_quit_or_print_exception): New
11007         function.
11008         (gdbpy_apply_frame_filter): Use it.
11009
11010 2018-03-26  Tom Tromey  <tom@tromey.com>
11011
11012         PR cli/17716:
11013         * python/py-framefilter.c (py_print_type, py_print_value)
11014         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
11015         RETURN_MASK_ERROR.
11016
11017 2018-03-26  Tom Tromey  <tom@tromey.com>
11018
11019         * python/py-framefilter.c (enumerate_args): Use
11020         gdb::unique_xmalloc_ptr.
11021
11022 2018-03-26  Tom Tromey  <tom@tromey.com>
11023
11024         * python/py-framefilter.c (py_print_frame): Return
11025         EXT_LANG_BT_OK.
11026         (gdbpy_apply_frame_filter): Update comment.
11027         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
11028         Remove.
11029         <EXT_LANG_BT_NO_FILTERS>: Change value.
11030
11031 2018-03-26  Tom Tromey  <tom@tromey.com>
11032
11033         PR backtrace/15582:
11034         * stack.c (backtrace_command): Parse "hide" argument.
11035         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
11036         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
11037         constant.
11038
11039 2018-03-26  Tom Tromey  <tom@tromey.com>
11040
11041         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
11042         add "flags".
11043         (backtrace_command): Remove "fulltrace", add "flags".
11044
11045 2018-03-26  Tom Tromey  <tom@tromey.com>
11046
11047         * stack.c (backtrace_command): Rewrite command line parsing.
11048
11049 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11050
11051         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
11052
11053 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11054
11055         * filename-seen-cache.h: Add include guard.
11056
11057 2018-03-26  Keith Seitz  <keiths@redhat.com>
11058
11059         * symfile.c (place_section): Remove "struct" from section_addr_info
11060         in comment.
11061         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
11062         "struct" keyword from section_addr_info.
11063
11064 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
11065
11066         * regformats/regdef.h (reg): Add constructors.
11067
11068 2018-03-25  Pedro Alves  <palves@redhat.com>
11069
11070         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
11071         if then/else bodies in var_func_name extraction.
11072
11073 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
11074
11075         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
11076         lookup_minimal_symbol() to find symbol entry.
11077         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
11078
11079 2018-03-23  Keith Seitz  <keiths@redhat.com>
11080
11081         PR c++/22968
11082         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
11083         nested type definitions for C++, too.
11084
11085 2018-03-23  Tom Tromey  <tom@tromey.com>
11086
11087         * machoread.c (struct oso_el): Add a constructor.  Don't define as
11088         a typedef.
11089         (macho_register_oso): Remove.
11090         (macho_symtab_read): Take a std::vector.
11091         (oso_el_compare_name): Now a std::sort comparator.
11092         (macho_symfile_read_all_oso): Take a std::vector.
11093         (macho_symfile_read): Use std::vector.  Remove cleanups.
11094
11095 2018-03-22  Tom Tromey  <tom@tromey.com>
11096
11097         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
11098         (record_full_goto_bookmark): Use std::string.
11099
11100 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11101
11102         PR tdep/18295
11103         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
11104         a single mask.
11105
11106 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11107
11108         * rs6000-tdep.c (store_insn_p): New function.
11109         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
11110         and cr_reg to their unshifted values. Use store_insn_p to
11111         match LR saves using either R1 or fdata->alloca_reg. Use
11112         store_insn_p to match CR saves. Set alloca_reg_offset
11113         when alloca_reg and framep are set. Remove lr_reg shift
11114         when assigning to fdata->lr_register.
11115
11116 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11117
11118         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
11119         command line args instead of emitting a warning.
11120
11121 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11122
11123         * tracepoint.h (struct static_tracepoint_marker): Initialize
11124         fields, define default constructor, move constructor and move
11125         assignment, disable the rest.
11126         <str_id, extra>: Make std::string.
11127         (release_static_tracepoint_marker): Remove.
11128         (free_current_marker): Remove.
11129         * tracepoint.c (free_current_marker): Remove.
11130         (parse_static_tracepoint_marker_definition): Adjust to
11131         std::string, use new hex2str overload.
11132         (release_static_tracepoint_marker): Remove.
11133         (print_one_static_tracepoint_marker): Get marker by reference
11134         and adjust to std::string.
11135         (info_static_tracepoint_markers_command): Adjust to std::vector
11136         changes
11137         * target.h (static_tracepoint_marker_p): Remove typedef.
11138         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
11139         (struct target_ops) <to_static_tracepoint_marker_at>: Return
11140         bool.
11141         <to_static_tracepoint_markers_by_strid>: Return std::vector.
11142         * target-debug.h
11143         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
11144         (target_debug_print_std_vector_static_tracepoint_marker): New.
11145         (target_debug_print_struct_static_tracepoint_marker_p): Rename
11146         to...
11147         (target_debug_print_static_tracepoint_marker_p): ... this.
11148         * target-delegates.c: Re-generate.
11149         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
11150         Make std::string.
11151         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
11152         (decode_static_tracepoint_spec): Adjust to std::vector.
11153         (tracepoint_print_one_detail): Adjust to std::string.
11154         (strace_marker_decode_location): Adjust to std::string.
11155         (update_static_tracepoint): Adjust to std::string, remove call
11156         to release_static_tracepoint_marker.
11157         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
11158         Adjust to std::vector.
11159         * remote.c (remote_static_tracepoint_marker_at): Return bool.
11160         (remote_static_tracepoint_markers_by_strid): Adjust to
11161         std::vector.
11162         * common/rsp-low.h (hex2str): New overload with explicit count
11163         of bytes.
11164         * common/rsp-low.c (hex2str): New overload with explicit count
11165         of bytes.
11166         * unittests/rsp-low-selftests.c (test_hex2str): New function.
11167         (_initialize_rsp_low_selftests): Add test_hex2str test.
11168         * unittests/tracepoint-selftests.c
11169         (test_parse_static_tracepoint_marker_definition): Adjust to
11170         std::string.
11171
11172 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11173
11174         * tracepoint.c (parse_static_tracepoint_marker_definition):
11175         Consider case where the definition is followed by more
11176         definitions.
11177         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11178         tracepoint-selftests.c.
11179         * unittests/tracepoint-selftests.c: New.
11180
11181 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11182
11183         * MAINTAINERS (Write After Approval): Add Pedro Franco de
11184         Carvalho.
11185
11186 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11187
11188         * symtab.c (find_pc_sect_line): fixed indentation.
11189
11190 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11191
11192         * symtab.c (find_pc_sect_line): now uses binary search.
11193
11194 2018-03-19  Tom Tromey  <tom@tromey.com>
11195
11196         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
11197         "IDENT" production.
11198
11199 2018-03-19  Pedro Alves  <palves@redhat.com>
11200             Tom Tromey  <tom@tromey.com>
11201
11202         * unittests/observable-selftests.c: New file.
11203         * common/observable.h: New file.
11204         * observable.h: New file.
11205         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
11206         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
11207         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
11208         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
11209         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
11210         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
11211         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
11212         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
11213         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
11214         python/py-breakpoint.c, python/py-finishbreakpoint.c,
11215         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
11216         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
11217         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
11218         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
11219         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
11220         tui/tui-interp.c, valops.c: Update all users.
11221         * tui/tui-hooks.c (tui_bp_created_observer)
11222         (tui_bp_deleted_observer, tui_bp_modified_observer)
11223         (tui_inferior_exit_observer, tui_before_prompt_observer)
11224         (tui_normal_stop_observer, tui_register_changed_observer):
11225         Remove.
11226         (tui_observers_token): New global.
11227         (attach_or_detach, tui_attach_detach_observers): New functions.
11228         (tui_install_hooks, tui_remove_hooks): Use
11229         tui_attach_detach_observers.
11230         * record-btrace.c (record_btrace_thread_observer): Remove.
11231         (record_btrace_thread_observer_token): New global.
11232         * observer.sh: Remove.
11233         * observer.c: Rename to observable.c.
11234         * observable.c (namespace gdb_observers): Define new objects.
11235         (observer_debug): Move into gdb_observers namespace.
11236         (struct observer, struct observer_list, xalloc_observer_list_node)
11237         (xfree_observer_list_node, generic_observer_attach)
11238         (generic_observer_detach, generic_observer_notify): Remove.
11239         (_initialize_observer): Update.
11240         Don't include observer.inc.
11241         * Makefile.in (generated_files): Remove observer.h, observer.inc.
11242         (clean mostlyclean): Likewise.
11243         (observer.h, observer.inc): Remove targets.
11244         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
11245         (COMMON_SFILES): Use observable.c, not observer.c.
11246         * .gitignore: Remove observer.h.
11247
11248 2018-03-18  Tom Tromey  <tom@tromey.com>
11249
11250         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
11251         gdb::def_vector.
11252         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
11253
11254 2018-03-17  Tom Tromey  <tom@tromey.com>
11255
11256         * auto-load.c (auto_load_objfile_script_1): Use std::string.
11257
11258 2018-03-17  Tom Tromey  <tom@tromey.com>
11259
11260         * target.c (class scoped_target_fd): New.
11261         (target_fileio_close_cleanup): Remove.
11262         (target_fileio_read_alloc_1): Use scoped_target_fd.
11263
11264 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
11265
11266         * silent-rules.mk: New.
11267         * Makefile.in: Include silent-rules.mk
11268         (srcdir, VPATH, top_srcdir): Move up.
11269         (COMPILE): Add ECHO_CXX.
11270         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
11271         (init.c): Add ECHO_INIT_C.
11272         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
11273         (version.c): Add ECHO_GEN.
11274         (printcmd.o): Add ECHO_CXX.
11275         (target-float.o): Add ECHO_CXX.
11276         (ada-exp.o): Add ECHO_CXX.
11277         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
11278         (insight$(EXEEXT)): Add ECHO_CXXLD.
11279         * gnulib/configure.ac: Add AM_SILENT_RULES.
11280         * gnulib/aclocal.m4: Re-generate.
11281         * gnulib/configure: Re-generate.
11282         * gnulib/import/Makefile.in: Re-generate.
11283
11284 2018-03-16  Tom Tromey  <tom@tromey.com>
11285
11286         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
11287         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
11288         * utils.c (do_free_section_addr_info)
11289         (make_cleanup_free_section_addr_info): Remove.
11290         * symfile.h (struct other_sections): Add constructor.
11291         (struct section_addr_info): Remove.
11292         (section_addr_info): New typedef.
11293         (struct sym_fns) <sym_offsets>: Change type of parameter.
11294         (build_section_addr_info_from_objfile)
11295         (relative_addr_info_to_section_offsets, addr_info_make_relative)
11296         (default_symfile_offsets, symbol_file_add)
11297         (symbol_file_add_from_bfd)
11298         (build_section_addr_info_from_section_table): Update.
11299         (alloc_section_addr_info, free_section_addr_info): Don't declare.
11300         * symfile.c (alloc_section_addr_info): Remove.
11301         (build_section_addr_info_from_section_table): Change return type.
11302         Update.
11303         (build_section_addr_info_from_bfd)
11304         (build_section_addr_info_from_objfile): Likewise.
11305         (free_section_addr_info): Remove.
11306         (relative_addr_info_to_section_offsets): Change type of "addrs".
11307         (addrs_section_compar): Now a std::sort comparator.
11308         (addrs_section_sort): Change return type.
11309         (addr_info_make_relative): Change type of "addrs".  Update.
11310         (default_symfile_offsets, syms_from_objfile_1)
11311         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
11312         (symbol_file_add_separate): Update.
11313         (symbol_file_add): Change type of "addrs".  Update.
11314         (add_symbol_file_command): Update.  Remove cleanups.
11315         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
11316         cleanups.
11317         * symfile-debug.c (debug_sym_offsets): Change type of "info".
11318         * solib.c (solib_read_symbols): Update.
11319         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
11320         * machoread.c (macho_symfile_offsets): Update.
11321         * jit.c (jit_bfd_try_read_symtab): Update.
11322
11323 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
11324
11325         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11326         unittests/utils-selftests.c.
11327         * unittests/utils-selftests.c: New file.
11328
11329 2018-03-14  Tom Tromey  <tom@tromey.com>
11330
11331         PR cli/14977:
11332         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
11333         for NULL.
11334
11335 2018-03-14  Tom Tromey  <tom@tromey.com>
11336
11337         PR cli/19918:
11338         * printcmd.c (printf_pointer): Allow "-" in format.
11339
11340 2018-03-14  Tom Tromey  <tom@tromey.com>
11341
11342         * printcmd.c (_initialize_printcmd): Add usage to printf.
11343
11344 2018-03-14  Yao Qi  <qiyao@sourceware.org>
11345
11346         * MAINTAINERS: Update my email address.
11347
11348 2018-03-13  Tom Tromey  <tom@tromey.com>
11349
11350         * machoread.c (macho_check_dsym): Change filenamep to a
11351         std::string*.
11352         (macho_symfile_read): Update.
11353         * symfile.c (load_command): Use std::string.
11354
11355 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11356
11357         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
11358         to error message string.
11359         (riscv_register_name): Use xsnprintf instead of sprintf.
11360         (riscv_insn::fetch_instruction): Use gdb_assert instead of
11361         internal_error.
11362         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
11363         error.
11364         (riscv_push_dummy_call): Likewise.
11365
11366 2018-03-12  Tom Tromey  <tom@tromey.com>
11367
11368         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
11369         Use gdb::byte_vector.
11370         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
11371
11372 2018-03-12  Yao Qi  <yao.qi@linaro.org>
11373
11374         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
11375         parameter type to readable_regcache.
11376         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
11377         the declaration.
11378
11379 2018-03-11  Tom Tromey  <tom@tromey.com>
11380
11381         * dwarf2read.c (struct nextfield): Add initializers.
11382         (struct nextfnfield): Remove.
11383         (struct fnfieldlist): Add initializers.  Remove "length" and
11384         "head", use std::vector.
11385         (struct decl_field_list): Remove.
11386         (struct field_info): Add initializers.
11387         <fields, baseclasses>: Now std::vector.
11388         <nbaseclasses, nfnfields, typedef_field_list_count,
11389         nested_types_list_count>: Remove.
11390         (dwarf2_add_field, dwarf2_add_type_defn)
11391         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
11392         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
11393         (process_structure_scope): Update.
11394
11395 2018-03-11  Tom Tromey  <tom@tromey.com>
11396
11397         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
11398         for use by std::sort.
11399         (build_type_psymtabs_1): Use std::vector.
11400
11401 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
11402
11403         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
11404         and LIBMPFR in the printed configuration.
11405
11406 2018-03-08  Tom Tromey  <tom@tromey.com>
11407
11408         * source.c (get_filename_and_charpos): Use scoped_fd.
11409         * nto-procfs.c (procfs_open_1): Use scoped_fd.
11410         (procfs_pidlist): Likewise.
11411         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
11412         (iterate_over_mappings): Likewise.
11413
11414 2018-03-08  Tom Tromey  <tom@tromey.com>
11415
11416         * infcall.c (struct call_return_meta_info)
11417         <stack_temporaries_enabled>: Remove.
11418         (get_call_return_value, call_function_by_hand_dummy): Update.
11419         * thread.c (disable_thread_stack_temporaries): Remove.
11420         (enable_thread_stack_temporaries): Remove.
11421         (thread_stack_temporaries_enabled_p): Return bool.
11422         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
11423         (get_last_thread_stack_temporary): Update.
11424         * eval.c (evaluate_subexp): Update.
11425         * gdbthread.h (class enable_thread_stack_temporaries): Now a
11426         class, not a function.
11427         (value_ptr, value_vec): Remove typedefs.
11428         (class thread_info) <stack_temporaries_enabled>: Now bool.
11429         <stack_temporaries>: Now a std::vector.
11430         (thread_stack_temporaries_enabled_p)
11431         (value_in_thread_stack_temporaries): Return bool.
11432
11433 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
11434
11435         * remote.c (putpkt_binary): Fix omitted bytes reporting.
11436         (getpkt_or_notif_sane_1): Likewise.
11437
11438 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11439
11440         * build-id.c (build_id_to_debug_bfd): Use std::string.
11441
11442 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11443
11444         * build-id.c (find_separate_debug_file_by_buildid): Return
11445         std::string.
11446         * build-id.h (find_separate_debug_file_by_buildid): Return
11447         std::string.
11448         * coffread.c (coff_symfile_read): Adjust to std::string.
11449         * elfread.c (elf_symfile_read): Adjust to std::string.
11450         * symfile.c (separate_debug_file_exists): Change parameter to
11451         std::string.
11452         (find_separate_debug_file): Return std::string.
11453         (find_separate_debug_file_by_debuglink): Return std::string.
11454         * symfile.h (find_separate_debug_file_by_debuglink): Return
11455         std::string.
11456
11457 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11458
11459         * common/xml-utils.c (xml_escape_text): Move code to...
11460         (xml_escape_text_append): ... this new function.
11461         * common/xml-utils.h (xml_escape_text_append): New declaration.
11462         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
11463         New function.
11464         (_initialize_xml_utils): register test_xml_escape_text_append as
11465         a selftest.
11466
11467 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
11468
11469         * defs.h: Remove MAX_REGISTER_SIZE.
11470         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
11471         asserts.
11472         * python/py-unwind.c (pyuw_sniffer): Likewise.
11473
11474 2018-03-07  Tom Tromey  <tom@tromey.com>
11475
11476         * linux-tdep.c (linux_info_proc): Update.
11477         * target.h (struct target_ops) <to_fileio_readlink>: Return
11478         optional<string>.
11479         (target_fileio_readlink): Return optional<string>.
11480         * remote.c (remote_hostio_readlink): Return optional<string>.
11481         * inf-child.c (inf_child_fileio_readlink): Return
11482         optional<string>.
11483         * target.c (target_fileio_readlink): Return optional<string>.
11484
11485 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
11486
11487         * regcache.c (cooked_read_test): Add riscv to the list of
11488         architectures that have a save_reggroup.
11489
11490 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11491
11492         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
11493         value is not a dynamic class object.
11494
11495 2018-03-06  Tom Tromey  <tom@tromey.com>
11496
11497         * rust-exp.y: Formatting fixes.
11498
11499 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11500
11501         * riscv-tdep.c (riscv_register_name): Remove target description
11502         support.
11503         (riscv_gdbarch_init): Remove target description check.
11504
11505 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11506
11507         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
11508         comment.
11509         * riscv-tdep.h: Likewise.
11510
11511 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11512
11513         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
11514         (riscv_pseudo_register_write): Delete.
11515         (riscv_gdbarch_init): Remove all use of pseudo registers.
11516
11517 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11518
11519         * record-btrace.c (btrace_print_lines): Replace cleanup
11520         parameter with RAII equivalents.
11521         (btrace_insn_history): Replace cleanup with RAII equivalents.
11522         * ui-out.h (make_cleanup_ui_out_list_begin_end,
11523         make_cleanup_ui_out_tuple_begin_end): Remove.
11524         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
11525         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
11526         make_cleanup_ui_out_list_begin_end): Remove.
11527
11528 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11529
11530         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
11531         parameter types to std::vector.  Use bool.
11532         (record_btrace_wait): Replace VEC(tp_t) with
11533         std::vector<thread_info *>.
11534         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
11535
11536 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11537
11538         * record-btrace.c (record_btrace_disable_callback): Remove.
11539         (struct scoped_btrace_disable): New.
11540         (record_btrace_open): Use scoped_btrace_disable.
11541
11542 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11543
11544         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
11545         reading values from registers.
11546
11547 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11548
11549         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
11550         where appropriate.
11551
11552 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11553
11554         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
11555         change parameter type.  Use GDB's print functions, and use
11556         core_addr_to_string where appropriate.
11557         (riscv_push_dummy_call): Use core_addr_to_string where
11558         appropriate, update call to riscv_print_arg_location, and reindent
11559         a few lines.
11560         (riscv_return_value): Update call to riscv_print_arg_location.
11561
11562 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11563             Tim Newsome <tim@sifive.com>
11564             Albert Ou <a0u@eecs.berkeley.edu>
11565             Darius Rad <darius@bluespec.com>
11566
11567         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
11568         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
11569         (ALLDEPFILES): Add riscv-tdep.c
11570         * configure.tgt: Add riscv support.
11571         * riscv-tdep.c: New file.
11572         * riscv-tdep.h: New file.
11573         * NEWS: Mention new target.
11574         * MAINTAINERS: Add entry for riscv.
11575
11576 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11577
11578         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
11579         fields within aggregates.
11580
11581 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
11582
11583         * record-btrace.c (btrace_print_lines): Change type of flags to
11584         gdb_disassembly_flags.
11585
11586 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11587
11588         * fbsd-nat.c: Include "inf-ptrace.h".
11589         (USE_SIGTRAP_SIGINFO): Conditionally define.
11590         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
11591         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
11592         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
11593         function.
11594         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
11595         Likewise.
11596         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
11597         Likewise.
11598         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
11599         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
11600         "supports_stopped_by_hw_breakpoint" target methods.
11601
11602 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11603
11604         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
11605         * fbsd-nat.c (debug_fbsd_nat): New variable.
11606         (show_fbsd_nat_debug): New function.
11607         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
11608         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
11609
11610 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11611
11612         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
11613         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
11614         prototype.
11615         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
11616         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
11617         method.
11618
11619 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11620
11621         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
11622         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
11623
11624 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11625
11626         * charset.c (struct charset_vector): New.
11627         (charsets): Change type to charset_vector.
11628         (find_charset_names): Adjust.
11629         (add_one): Adjust.
11630         (_initialize_charset): Adjust.
11631
11632 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11633
11634         * progspace.h (struct program_space) <deleted_solibs>: Change
11635         type to std::vector<std::string>.
11636         * progspace.c (clear_program_space_solib_cache): Adjust.
11637         * breakpoint.c (print_solib_event): Adjust.
11638         (check_status_catch_solib): Adjust.
11639         * solib.c (update_solib_list): Adjust.
11640         * ui-out.h (class ui_out) <field_string>: New overload.
11641         * ui-out.c (ui_out::field_string): New overload.
11642
11643 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11644
11645         * progspace.h (struct program_space): Add constructor and
11646         destructor, initialize fields.
11647         (add_program_space): Remove.
11648         * progspace.c (add_program_space): Rename to...
11649         (program_space::program_space): ... this.
11650         (release_program_space): Rename to...
11651         (program_space::~program_space): ... this.
11652         (delete_program_space): Use delete to delete program_space.
11653         (initialize_progspace): Use new to allocate program_space.
11654         * inferior.c (add_inferior_with_spaces): Likewise.
11655         (clone_inferior_command): Likewise.
11656         * infrun.c (follow_fork_inferior): Likewise.
11657         (handle_vfork_child_exec_or_exit): Likewise.
11658
11659 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11660
11661         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
11662         (delim_string_to_char_ptr_vec): Return std::vector of
11663         gdb::unique_xmalloc_ptr.
11664         (dirnames_to_char_ptr_vec_append): Take std::vector of
11665         gdb::unique_xmalloc_ptr.
11666         (dirnames_to_char_ptr_vec): Return std::vector of
11667         gdb::unique_xmalloc_ptr.
11668         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
11669         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
11670         (delim_string_to_char_ptr_vec): Return an std::vector of
11671         gdb::unique_xmalloc_ptr, adjust the code.
11672         (dirnames_to_char_ptr_vec_append): Take an std::vector of
11673         gdb::unique_xmalloc_ptr, adjust the code.
11674         (dirnames_to_char_ptr_vec): Return an std::vector of
11675         gdb::unique_xmalloc_ptr, adjust the code.
11676         * auto-load.c (auto_load_safe_path_vec): Change type to
11677         std::vector of gdb::unique_xmalloc_ptr.
11678         (auto_load_expand_dir_vars): Return an std::vector of
11679         gdb::unique_xmalloc_ptr, adjust the code.
11680         (auto_load_safe_path_vec_update): Adjust.
11681         (filename_is_in_auto_load_safe_path_vec): Adjust.
11682         (auto_load_objfile_script_1): Adjust.
11683         * build-id.c (build_id_to_debug_bfd): Adjust.
11684         * linux-thread-db.c (thread_db_load_search): Adjust.
11685         * source.c (add_path): Adjust.
11686         (openp): Adjust.
11687         * symfile.c (find_separate_debug_file): Adjust.
11688         * utils.c (do_free_char_ptr_vec): Remove.
11689         (make_cleanup_free_char_ptr_vec): Remove.
11690
11691 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
11692
11693         PR gdb/22907
11694         * common/pathstuff.c: Conditionally include "<windows.h>".
11695
11696 2018-03-01  Georg Sauthoff  <mail@georg.so>
11697
11698         PR gdb/22888
11699         * gcore.in: Quote variables and switch interpreter to bash.
11700
11701 2018-03-01  Tom Tromey  <tom@tromey.com>
11702
11703         * dwarf2read.c (alloc_discriminant_info): Fix default_index
11704         assertion.  Add assertion for discriminant_index.
11705         (quirk_rust_enum): Use correct base type name in univariant case.
11706
11707 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
11708
11709         * record.c (get_call_history_modifiers): Return a
11710         record_print_flags.
11711         (cmd_record_call_history): Adjust.
11712         * record-btrace.c (record_btrace_call_history): Adjust.
11713         (record_btrace_call_history_range): Adjust.
11714         (record_btrace_call_history_from): Adjust.
11715         * target-debug.h (target_debug_print_record_print_flags): New.
11716         * target-delegates.c: Re-generate.
11717         * target.c (target_call_history): Change flags type.
11718         (target_call_history_from): Likewise.
11719         (target_call_history_range): Likewise.
11720         * target.h (struct target_ops) <target_call_history>: Likewise.
11721         (target_call_history_from): Likewise.
11722         (target_call_history_range): Likewise.
11723
11724 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11725             Simon Marchi  <simon.marchi@polymtl.ca>
11726
11727         * common/common-utils.c: Include "sys/stat.h".
11728         (is_regular_file): Move here from "source.c"; change return
11729         type to "bool".
11730         * common/common-utils.h (is_regular_file): New prototype.
11731         * common/pathstuff.c (contains_dir_separator): New function.
11732         * common/pathstuff.h (contains_dir_separator): New prototype.
11733         * source.c: Don't include "sys/stat.h".
11734         (is_regular_file): Move to "common/common-utils.c".
11735
11736 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11737
11738         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
11739         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
11740         * auto-load.c: Include "common/pathstuff.h".
11741         * common/common-def.h (current_directory): Move here.
11742         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
11743         function.
11744         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
11745         prototype.
11746         * common/pathstuff.c: New file.
11747         * common/pathstuff.h: New file.
11748         * compile/compile.c: Include "common/pathstuff.h".
11749         * defs.h (current_directory): Move to "common/common-defs.h".
11750         * dwarf2read.c: Include "common/pathstuff.h".
11751         * exec.c: Likewise.
11752         * guile/scm-safe-call.c: Likewise.
11753         * linux-thread-db.c: Likewise.
11754         * main.c: Likewise.
11755         * nto-tdep.c: Likewise.
11756         * objfiles.c: Likewise.
11757         * source.c: Likewise.
11758         * symtab.c: Likewise.
11759         * utils.c: Include "common/pathstuff.h".
11760         (gdb_realpath): Move to "common/pathstuff.c".
11761         (gdb_realpath_keepfile): Likewise.
11762         (gdb_abspath): Likewise.
11763         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
11764         (gdb_realpath_keepfile): Likewise.
11765         (gdb_abspath): Likewise.
11766
11767 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
11768
11769         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
11770         wildcard process pid for super_resume for kernels with a
11771         specific bug.
11772
11773 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
11774
11775         * compile/compile.c (get_args): Add additional comments
11776         explaining function.
11777
11778 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
11779             Tom Tromey  <tom@tromey.com>
11780
11781         * target.h (memory_write_request_s): Remove typedef.  Don't define
11782         VEC.
11783         (target_write_memory_blocks): Change argument to std::vector.
11784         (struct memory_write_request): Add constructor.
11785         * target-memory.c (compare_block_starting_address): Return bool.
11786         Change argument types.
11787         (claim_memory): Change arguments to use std::vector.
11788         (split_regular_and_flash_blocks, blocks_to_erase)
11789         (compute_garbled_blocks): Likewise.
11790         (cleanup_request_data, cleanup_write_requests_vector): Remove.
11791         (target_write_memory_blocks): Change argument to std::vector.
11792         * symfile.c (struct load_section_data): Add constructor and
11793         destructor.  Use std::vector for "requests".
11794         (struct load_progress_data): Add initializers.
11795         (load_section_callback): Update.  Use "new".
11796         (clear_memory_write_data): Remove.
11797         (generic_load): Update.
11798
11799 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
11800
11801         * arch/aarch64.h: Use common/tdesc.h.
11802
11803 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11804
11805         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
11806         architecture with a 64-bit ABI.
11807
11808 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11809
11810         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
11811         ahead of target description loading.
11812
11813 2018-02-26  Tom Tromey  <tom@tromey.com>
11814
11815         * stack.c (backtrace_command_1): Update.
11816         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
11817         of "flags".
11818         * python/py-framefilter.c (py_print_frame)
11819         (gdbpy_apply_frame_filter): Change type of "flags".
11820         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
11821         of "flags".
11822         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
11823         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
11824         * extension.h (enum frame_filter_flag): Rename from
11825         frame_filter_flags.
11826         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
11827         (apply_ext_lang_frame_filter): Change type of "flags".
11828         * extension.c (apply_ext_lang_frame_filter): Change type of
11829         "flags".
11830         * extension-priv.h (struct extension_language_ops)
11831         <apply_frame_filter>: Change type of "flags".
11832
11833 2018-02-26  Tom Tromey  <tom@tromey.com>
11834
11835         PR python/16497:
11836         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
11837         off-by-one in py_end computation.
11838         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
11839         PRINT_MORE_FRAMES.
11840         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
11841         constant.
11842
11843 2018-02-26  Tom Tromey  <tom@tromey.com>
11844
11845         * dwarf2read.c (struct variant_field): New.
11846         (struct nextfield) <variant>: New field.
11847         (dwarf2_add_field): Handle DW_TAG_variant_part.
11848         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
11849         discriminated union.
11850         (read_structure_type): Handle DW_TAG_variant_part.
11851         (handle_struct_member_die): New function, extracted from
11852         process_structure_scope.  Handle DW_TAG_variant.
11853         (process_structure_scope): Handle discriminated unions.  Call
11854         handle_struct_member_die.
11855
11856 2018-02-26  Tom Tromey  <tom@tromey.com>
11857
11858         * rust-lang.h (rust_last_path_segment): Declare.
11859         * rust-lang.c (rust_last_path_segment): Now public.  Change
11860         contract.
11861         (struct disr_info): Remove.
11862         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
11863         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
11864         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
11865         (rust_enum_p, rust_enum_variant): New function.
11866         (rust_underscore_fields): Remove "offset" parameter.
11867         (rust_print_enum): New function.
11868         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
11869         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
11870         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
11871         enums.
11872         (rust_internal_print_type): New function, from rust_print_type.
11873         Remove enum code.
11874         (rust_print_type): Call rust_internal_print_type.
11875         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
11876         Update enum handling.
11877         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
11878         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
11879         (rust_union_quirks): New functions.
11880         (process_full_comp_unit, process_full_type_unit): Call
11881         rust_union_quirks.
11882         (process_structure_scope): Update rust_unions if necessary.
11883
11884 2018-02-26  Tom Tromey  <tom@tromey.com>
11885
11886         * value.h (value_union_variant): Declare.
11887         * valops.c (value_union_variant): New function.
11888         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
11889         (struct discriminant_info): New.
11890         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
11891         enumerator.
11892         (struct main_type) <flag_discriminated_union>: New field.
11893
11894 2018-02-26  Tom Tromey  <tom@tromey.com>
11895
11896         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11897         unittests/unpack-selftests.c.
11898         * unittests/unpack-selftests.c: New file.
11899         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
11900
11901 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11902
11903         * dwarf2read.c (struct partial_die_info) <read>: New method.
11904         (read_partial_die): Remove the declaration.
11905         (load_partial_dies): Update.
11906         (partial_die_info::partial_die_info):
11907         (read_partial_die): Change it to partial_die_info::read.
11908
11909 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11910
11911         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
11912         (fixup_partial_die): Remove declaration.
11913         (scan_partial_symbols): Update.
11914         (partial_die_parent_scope): Likewise.
11915         (partial_die_full_name): Likewise.
11916         (fixup_partial_die): Change it to partial_die_info::fixup.
11917
11918 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11919
11920         * dwarf2read.c (read_partial_die): Update the declaration.
11921         (load_partial_dies): Caller update.
11922         (read_partial_die): Remove one argument abbrev_len.
11923
11924 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11925
11926         * dwarf2read.c (struct partial_die_info): Add ctor, delete
11927         assignment operator.
11928         (load_partial_dies): Use ctor and copy ctor.
11929         (read_partial_die): Update.
11930         (dwarf2_cu::find_partial_die): Use ctor.
11931
11932 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11933
11934         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
11935         (find_partial_die_in_comp_unit): Change it to
11936         dwarf2_cu::find_partial_die.
11937         (find_partial_die): Update.
11938
11939 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11940
11941         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
11942         is NULL.
11943
11944 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11945
11946         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
11947
11948 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
11949
11950         * arch/amd64.h: Use common/tdesc.h.
11951         * arch/i386.c: Likewise.
11952         * arch/i386.h: Likewise.
11953         * arch/tic6x.c: Likewise.
11954         * arch/tdesc.h: Move file from here...
11955         * common/tdesc.h: ...to here.
11956         * features/aarch64-core.c: Regenerate.
11957         * features/aarch64-fpu.c: Regenerate.
11958         * features/i386/32bit-avx.c: Regenerate.
11959         * features/i386/32bit-avx512.c: Regenerate.
11960         * features/i386/32bit-core.c: Regenerate.
11961         * features/i386/32bit-linux.c: Regenerate.
11962         * features/i386/32bit-mpx.c: Regenerate.
11963         * features/i386/32bit-pkeys.c: Regenerate.
11964         * features/i386/32bit-sse.c: Regenerate.
11965         * features/i386/64bit-avx.c: Regenerate.
11966         * features/i386/64bit-avx512.c: Regenerate.
11967         * features/i386/64bit-core.c: Regenerate.
11968         * features/i386/64bit-linux.c: Regenerate.
11969         * features/i386/64bit-mpx.c: Regenerate.
11970         * features/i386/64bit-pkeys.c: Regenerate.
11971         * features/i386/64bit-segments.c: Regenerate.
11972         * features/i386/64bit-sse.c: Regenerate.
11973         * features/i386/x32-core.c: Regenerate.
11974         * features/tic6x-c6xp.c: Regenerate.
11975         * features/tic6x-core.c: Regenerate.
11976         * features/tic6x-gp.c: Regenerate.
11977         * target-descriptions.c: Use common/tdesc.h.
11978         * target-descriptions.h: Likewise.
11979
11980 2018-02-24  Tom Tromey  <tom@tromey.com>
11981
11982         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
11983         (try_thread_db_load_from_dir, thread_db_load_search): Use
11984         std::string.
11985         (info_auto_load_libthread_db_compare): Return bool.  Change
11986         argument types.
11987         (info_auto_load_libthread_db): Use std::vector, std::string.
11988         Remove cleanups.
11989
11990 2018-02-24  Tom Tromey  <tom@tromey.com>
11991
11992         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
11993         std::string.
11994         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
11995         std::string*.
11996         * gdbarch.c: Rebuild.
11997         * gdbarch.h: Rebuild.
11998         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
11999         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
12000         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
12001         std::string*.
12002
12003 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
12004
12005         * gdbtypes.h (sect_offset): Change type to uint64_t.
12006         (sect_offset_str): New function.
12007         * dwarf2read.c (create_addrmap_from_aranges): Use
12008         sect_offset_str.
12009         (error_check_comp_unit_head): Likewise.
12010         (create_debug_type_hash_table): Likewise.
12011         (read_cutu_die_from_dwo): Likewise.
12012         (init_cutu_and_read_dies): Likewise.
12013         (init_cutu_and_read_dies_no_follow): Likewise.
12014         (process_psymtab_comp_unit_reader): Likewise.
12015         (partial_die_parent_scope): Likewise.
12016         (peek_die_abbrev): Likewise.
12017         (process_queue): Likewise.
12018         (dwarf2_physname): Likewise.
12019         (read_namespace_alias): Likewise.
12020         (read_import_statement): Likewise.
12021         (create_dwo_cu_reader): Likewise.
12022         (create_cus_hash_table): Likewise.
12023         (lookup_dwo_cutu): Likewise.
12024         (inherit_abstract_dies): Likewise.
12025         (read_func_scope): Likewise.
12026         (read_call_site_scope): Likewise.
12027         (dwarf2_add_member_fn): Likewise.
12028         (read_common_block): Likewise.
12029         (read_module_type): Likewise.
12030         (read_typedef): Likewise.
12031         (read_subrange_type): Likewise.
12032         (load_partial_dies): Likewise.
12033         (read_partial_die): Likewise.
12034         (find_partial_die): Likewise.
12035         (read_str_index): Likewise.
12036         (dwarf2_string_attr): Likewise.
12037         (build_error_marker_type): Likewise.
12038         (lookup_die_type): Likewise.
12039         (dump_die_shallow): Likewise.
12040         (follow_die_ref): Likewise.
12041         (dwarf2_fetch_die_loc_sect_off): Likewise.
12042         (dwarf2_fetch_constant_bytes): Likewise.
12043         (follow_die_sig): Likewise.
12044         (get_signatured_type): Likewise.
12045         (get_DW_AT_signature_type): Likewise.
12046         (dwarf2_find_containing_comp_unit): Likewise.
12047         (set_die_type): Likewise.
12048
12049 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
12050
12051         * arch/aarch64.c: Include "common-defs.h".
12052         * arch/amd64.c: Likewise.
12053         * arch/i386.c: Likewise.
12054
12055 2018-02-21  Tom Tromey  <tom@tromey.com>
12056
12057         * value.h: (extract_field_op): Update.
12058         * eval.c (extract_field_op): Return a const char *.
12059         * expression.h (parse_expression_for_completion): Update.
12060         * completer.c (complete_expression): Update.
12061         (add_struct_fields): Make fieldname const.
12062         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
12063         (mark_completion_tag, parse_exp_in_context_1): Update.
12064         (parse_expression_for_completion): Change "name" to
12065         unique_xmalloc_ptr*.
12066
12067 2018-02-21  Tom Tromey  <tom@tromey.com>
12068
12069         * infcall.c (call_function_by_hand_dummy): Use std::vector.
12070
12071 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12072
12073         * avr-tdep.c (avr_read_pc): Change parameter type to
12074         readable_regcache.
12075         * gdbarch.sh (read_pc): Likewise.
12076         * gdbarch.c: Re-generated.
12077         * gdbarch.h: Re-generated.
12078         * hppa-tdep.c (hppa_read_pc): Change parameter type to
12079         readable_regcache.
12080         * ia64-tdep.c (ia64_read_pc): Likewise.
12081         * mips-tdep.c (mips_read_pc): Likewise.
12082         * spu-tdep.c (spu_read_pc): Likewise.
12083
12084 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12085
12086         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
12087         * regcache-dump.c: New file.
12088         * regcache.c: Move register_dump to regcache-dump.c.
12089         (maintenance_print_registers): Likewise.
12090         (maintenance_print_raw_registers): Likewise.
12091         (maintenance_print_cooked_registers): Likewise.
12092         (maintenance_print_register_groups): Likewise.
12093         (maintenance_print_remote_registers): Likewise.
12094         (_initialize_regcache): Likewise.
12095         * regcache.h (register_dump): Moved from regcache.c.
12096
12097 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12098
12099         * regcache.c (regcache::regcache): Update.
12100         (regcache::invalidate): Move it to detached_regcache::invalidate.
12101         (get_thread_arch_aspace_regcache): Update.
12102         (regcache::raw_update): Update.
12103         (regcache::cooked_read): Remove some code.
12104         (regcache::cooked_read_value): Likewise.
12105         (regcache::raw_write): Remove assert on m_readonly_p.
12106         (regcache::raw_supply_integer): Move it to
12107         detached_regcache::raw_supply_integer.
12108         (regcache::raw_supply_zeroed): Likewise.
12109         * regcache.h (detached_regcache) <raw_supply_integer>: New
12110         declaration.
12111         <raw_supply_zeroed, invalidate>: Likewise.
12112         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
12113         <invalidate>: Likewise.
12114         <m_readonly_p>: Removed.
12115
12116 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12117
12118         * infcmd.c (get_return_value): Let stop_regs point to
12119         get_current_regcache.
12120         * regcache.c (regcache::regcache): Remove.
12121         (register_dump_reg_buffer): New class.
12122         (regcache_print): Adjust.
12123         * regcache.h (regcache): Remove constructors.
12124
12125 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12126
12127         * regcache.c (class register_dump): New class.
12128         (register_dump_regcache, register_dump_none): New class.
12129         (register_dump_remote, register_dump_groups): New class.
12130         (regcache_print): Update.
12131         * regcache.h (regcache_dump_what): Move it to regcache.c.
12132         (regcache) <dump>: Remove.
12133
12134 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12135
12136         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
12137          reg_buffer_rw *.
12138         (jit_unwind_reg_set_impl): Call raw_supply.
12139         (jit_frame_sniffer): Use reg_buffer_rw.
12140         * record-full.c (record_full_core_regbuf): Change its type.
12141         (record_full_core_open_1): Use reg_buffer_rw.
12142         (record_full_close): Likewise.
12143         (record_full_core_fetch_registers): Use regcache->raw_supply.
12144         (record_full_core_store_registers): Likewise.
12145         * regcache.c (regcache::get_register_status): Move it to
12146         reg_buffer.
12147         (regcache_raw_set_cached_value): Remove.
12148         (regcache::raw_set_cached_value): Remove.
12149         (regcache::raw_write): Call raw_supply.
12150         (regcache::raw_supply): Move it to reg_buffer_rw.
12151         * regcache.h (regcache_raw_set_cached_value): Remove.
12152         (reg_buffer_rw): New class.
12153
12154 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12155
12156         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
12157         readonly_detached_regcache.
12158         (dummy_frame_prev_register): Use regcache->cooked_read.
12159         * frame.c (frame_save_as_regcache): Change return type.
12160         (frame_pop): Update.
12161         * frame.h (frame_save_as_regcache): Update declaration.
12162         * inferior.h (get_infcall_suspend_state_regcache): Update
12163         declaration.
12164         * infrun.c (infcall_suspend_state) <registers>: use
12165         readonly_detached_regcache.
12166         (save_infcall_suspend_state): Don't use regcache_dup.
12167         (get_infcall_suspend_state_regcache): Change return type.
12168         * linux-fork.c (struct fork_info) <savedregs>: Change to
12169         readonly_detached_regcache.
12170         <pc>: New field.
12171         (fork_save_infrun_state): Don't use regcache_dup.
12172         (info_checkpoints_command): Adjust.
12173         * mi/mi-main.c (register_changed_p): Update declaration.
12174         (mi_cmd_data_list_changed_registers): Use
12175         readonly_detached_regcache.
12176         (register_changed_p): Change parameter type to
12177         readonly_detached_regcache.
12178         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
12179         readonly_detached_regcache.
12180         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
12181         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
12182         New.
12183         (regcache::save): Move it to reg_buffer.
12184         (regcache::restore): Change parameter type.
12185         (regcache_dup): Remove.
12186         * regcache.h (reg_buffer) <save>: New method.
12187         (readonly_detached_regcache): New class.
12188         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
12189         readonly_detached_regcache.
12190         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
12191
12192 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12193
12194         * frame.c (frame_save_as_regcache): Use regcache method save.
12195         (frame_pop): Use regcache method restore.
12196         * infrun.c (restore_infcall_suspend_state): Likewise.
12197         * linux-fork.c (fork_load_infrun_state): Likewise.
12198         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
12199         save.
12200         * regcache.c (regcache_save): Remove.
12201         (regcache::restore): More asserts.
12202         (regcache_cpy): Remove.
12203         * regcache.h (regcache_save): Remove the declaration.
12204         (regcache::restore): Move from private to public.
12205         Remove the friend declaration of regcache_cpy.
12206         (regcache_cpy): Remove declaration.
12207
12208 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12209
12210         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
12211         parameter type to 'readable_regcache *'.
12212         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12213         * arm-tdep.c (arm_neon_quad_read): Likewise.
12214         (arm_pseudo_read): Likewise.
12215         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12216         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12217         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12218         * gdbarch.c: Re-generated.
12219         * gdbarch.h: Re-generated.
12220         * gdbarch.sh (pseudo_register_read): Change parameter type to
12221         'readable_regcache *'.
12222         (pseudo_register_read_value): Likewise.
12223         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
12224         (h8300_pseudo_register_read): Likewise.
12225         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
12226         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12227         (i386_pseudo_register_read_into_value): Likewise.
12228         (i386_pseudo_register_read_value): Likewise.
12229         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
12230         declaration.
12231         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
12232         * m32c-tdep.c (m32c_raw_read): Likewise.
12233         (m32c_read_flg): Likewise.
12234         (m32c_banked_register): Likewise.
12235         (m32c_banked_read): Likewise.
12236         (m32c_sb_read): Likewise.
12237         (m32c_part_read): Likewise.
12238         (m32c_cat_read): Likewise.
12239         (m32c_r3r2r1r0_read): Likewise.
12240         (m32c_pseudo_register_read): Likewise.
12241         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12242         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12243         (mep_pseudo_cr64_read): Likewise.
12244         (mep_pseudo_register_read): Likewise.
12245         * mips-tdep.c (mips_pseudo_register_read): Likewise.
12246         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12247         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12248         * regcache.c (regcache::raw_read): Move it to readable_regcache.
12249         (regcache::cooked_read): Likewise.
12250         (regcache::cooked_read_value): Likewise.
12251         (regcache_cooked_read_signed):
12252         (regcache::cooked_read): Likewise.
12253         * regcache.h (readable_regcache): New class.
12254         (regcache): Inherit readable_regcache.  Move some methods to
12255         readable_regcache.
12256         * rl78-tdep.c (rl78_pseudo_register_read): Change
12257         parameter type to 'readable_regcache *'.
12258         * rs6000-tdep.c (do_regcache_raw_read): Remove.
12259         (e500_pseudo_register_read): Change parameter type to
12260         'readable_regcache *'.
12261         (dfp_pseudo_register_read): Likewise.
12262         (vsx_pseudo_register_read): Likewise.
12263         (efpr_pseudo_register_read): Likewise.
12264         * s390-tdep.c (s390_pseudo_register_read): Likewise.
12265         * sh-tdep.c (sh_pseudo_register_read): Likewise.
12266         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
12267         (sh64_pseudo_register_read): Likewise.
12268         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
12269         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12270         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
12271         (spu_pseudo_register_read): Likewise.
12272         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12273         (xtensa_pseudo_register_read): Likewise.
12274
12275 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12276
12277         * regcache.c (regcache::regcache): Call reg_buffer ctor.
12278         (regcache::arch): Move it to reg_buffer::arch.
12279         (regcache::register_buffer): Likewise.
12280         (regcache::assert_regnum): Likewise.
12281         (regcache::num_raw_registers): Likewise.
12282         * regcache.h (reg_buffer): New class.
12283         (regcache): Inherit reg_buffer.
12284
12285 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
12286
12287         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
12288         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
12289
12290 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
12291
12292         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
12293
12294 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
12295
12296         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
12297         (SFILES): Remove common/*.c files.
12298         (COMMON_OBS): Remove some *.o files built from common/*.c files.
12299         * common/common.host: Add common reference.
12300         * configure.ac: Likewise.
12301         * configure: Regenerate.
12302
12303 2018-02-16  Yao Qi  <yao.qi@linaro.org>
12304
12305         * block.c (block_namespace_info): Inherit allocate_on_obstack.
12306         (block_initialize_namespace): Use new.
12307         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
12308         (dwarf2_free_objfile): Use delete.
12309         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
12310         (copy_type_recursive): Use new.
12311         * gdb_obstack.h (allocate_on_obstack): New.
12312
12313 2018-02-15  Yao Qi  <yao.qi@linaro.org>
12314
12315         PR gdb/22849
12316         * inferior.c (exit_inferior_1): Reset inf->control.
12317
12318 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
12319
12320         * ada-lang.c (ada_to_fixed_value_create): Delete advance
12321         declaration.
12322
12323 2018-02-14  Pedro Alves  <palves@redhat.com>
12324
12325         * frame-unwind.c (frame_unwind_try_unwinder): Always call
12326         frame_cleanup_after_sniffer on exception.
12327
12328 2018-02-14  Tom Tromey  <tom@tromey.com>
12329
12330         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
12331         const.
12332         (solib_bfd_open): Make pathname const.
12333         * solib.c (solib_bfd_open): Make pathname const.
12334         * solib-spu.c (spu_bfd_fopen): Make name const.
12335         (spu_bfd_open): Make pathname const.
12336         * solib-darwin.c (darwin_bfd_open): Make pathname const.
12337         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
12338
12339 2018-02-14  Tom Tromey  <tom@tromey.com>
12340
12341         * symfile.c (symfile_bfd_open): Update.
12342         * source.h (openp, source_full_path_of, find_and_open_source):
12343         Change argument type to unique_xmalloc_ptr.
12344         * source.c (openp): Take a unique_xmalloc_ptr.
12345         (source_full_path_of, find_and_open_source): Likewise.
12346         (open_source_file, symtab_to_fullname): Update.
12347         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
12348         unique_xmalloc_ptr.
12349         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
12350         (exec_file_find): Update.
12351         * psymtab.c (psymtab_to_fullname): Update.
12352         * nto-tdep.h (nto_find_and_open_solib): Update.
12353         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
12354         unique_xmalloc_ptr.
12355         * exec.c (exec_file_attach): Update.
12356         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
12357         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
12358
12359 2018-02-14  Tom Tromey  <tom@tromey.com>
12360
12361         * solib.c: Include source.h.
12362         * nto-tdep.c: Include source.h.
12363         * mi/mi-cmd-env.c: Include source.h.
12364         * infcmd.c: Include source.h.
12365         * exec.c: Include source.h.
12366         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
12367         (add_path, directory_switch, source_path, init_source_path): Move
12368         declarations...
12369         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
12370         (add_path, directory_switch, source_path, init_source_path):
12371         ...here.
12372
12373 2018-02-14  Tom Tromey  <tom@tromey.com>
12374
12375         * solist.h (exec_file_find, solib_find): Return
12376         unique_xmalloc_ptr.
12377         (solib_bfd_fopen): Take a const char *.
12378         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
12379         (exec_file_find, solib_find): Likewise.
12380         (solib_bfd_fopen): Do not take ownership of "pathname".
12381         (solib_bfd_open): Use unique_xmalloc_ptr.
12382         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
12383         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
12384         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
12385         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
12386
12387 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
12388
12389         * ada-lang.c (name_match_type_from_name): Remove reference to
12390         ada_name_for_lookup in function's documentation.
12391         * ada-lang.h (ada_name_for_lookup): Delete declaration.
12392
12393 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12394
12395         * defs.h (enum openp_flags): New enum.
12396         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
12397         Move to enum openp_flags.
12398         (openp_flags): New enum flags.
12399         (openp): Change parameter type to openp_flags.
12400         * source.c (openp): Change parameter type to openp_flags.
12401         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
12402         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
12403
12404 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12405
12406         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
12407         per-command.
12408
12409 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12410
12411         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
12412         into...
12413         (class dwarf2_queue_guard): ...the destructor of this new class.
12414         (dw2_do_instantiate_symtab): Create instance of the new class
12415         dwarf2_queue_guard, remove cleanup.
12416
12417 2018-02-09  Tom Tromey  <tom@tromey.com>
12418
12419         * source.c (find_source_lines): Don't reference past the end of
12420         the vector.
12421
12422 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12423
12424         * remote.c (remote_btrace_maybe_reopen): Change error message.
12425         * btrace.c (btrace_enable): Likewise.
12426         (parse_xml_btrace): Likewise.
12427         (parse_xml_btrace_conf): Likewise.
12428
12429 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12430
12431         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
12432         (linux_enable_pt, linux_enable_bts): Call
12433         diagnose_perf_event_open_fail.
12434
12435 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12436
12437         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
12438         Remove parameter and change return type.  Update callers.  Move it.
12439         (linux_enable_bts, linux_enable_pt): Improve error message.
12440         (linux_enable_pt): Remove zero buffer size check.
12441         (linux_enable_btrace): Improve error messages.  Remove NULL return
12442         check.
12443
12444 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12445
12446         * btrace.c (btrace_enable): Remove target_supports_btrace call.
12447         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
12448         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
12449         (linux_supports_pt, linux_supports_btrace): Remove.
12450         (linux_enable_bts): Call cpu_supports_bts.
12451         * nat/linux-btrace.h (linux_supports_btrace): Remove.
12452         * remote.c (remote_supports_btrace): Remove.
12453         (init_remote_ops): Remove remote_supports_btrace.
12454         * target-delegates.c: Regenerated.
12455         * target.c (target_supports_btrace): Remove.
12456         * target.h (target_ops) <to_supports_btrace>: Remove
12457         (target_supports_btrace): Remove.
12458         * x86-linux-nat.c (x86_linux_create_target): Remove
12459         linux_supports_btrace.
12460
12461 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12462
12463         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
12464         btrace failed.
12465         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
12466         exception and use message in own exception.
12467
12468 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12469
12470         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
12471         (perf_event_pt_event_type): Use gdb_file_up.
12472         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
12473         scoped_fd, and scoped_mmap.
12474
12475 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12476
12477         * common/scoped_mmap.h: New.
12478         * unittests/scoped_mmap-selftest.c: New.
12479         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12480         unittests/scoped_mmap-selftest.c.
12481
12482 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12483
12484         * common/scoped_fd.h: New.
12485         * unittests/scoped_fd-selftest.c: New.
12486         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12487         unittests/scoped_fd-selftest.c.
12488
12489 2018-02-09  Tom Tromey  <tom@tromey.com>
12490
12491         * auto-load.c (auto_load_section_scripts): Use
12492         gdb::unique_xmalloc_ptr.
12493
12494 2018-02-09  Tom Tromey  <tom@tromey.com>
12495
12496         * auto-load.c (execute_script_contents): Use std::string.
12497
12498 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
12499
12500         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
12501         Python function, rather than a new command.
12502
12503 2018-02-08  Tom Tromey  <tom@tromey.com>
12504
12505         * solib.c (solib_find_1): Use std::string.
12506         (solib_bfd_fopen): Use unique_xmalloc_ptr.
12507
12508 2018-02-08  Tom Tromey  <tom@tromey.com>
12509
12510         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
12511
12512 2018-02-08  Tom Tromey  <tom@tromey.com>
12513
12514         * source.c (find_source_lines): Use gdb::def_vector.
12515
12516 2018-02-08  Tom Tromey  <tom@tromey.com>
12517
12518         * macrocmd.c (struct temporary_macro_definition): New.
12519         (macro_define_command): Use temporary_macro_definition.  Remove
12520         cleanups.
12521         (free_macro_definition_ptr): Remove.
12522
12523 2018-02-08  Tom Tromey  <tom@tromey.com>
12524
12525         * macroexp.c (maybe_expand): Use std::string.
12526
12527 2018-02-08  Tom Tromey  <tom@tromey.com>
12528
12529         * macroexp.c (struct macro_buffer): Add initializers for some
12530         members.
12531         (init_buffer, init_shared_buffer, free_buffer)
12532         (free_buffer_return_text): Remove.
12533         (macro_buffer): New constructors.
12534         (~macro_buffer): New destructor.
12535         (macro_buffer::set_shared): New method.
12536         (macro_buffer::resize_buffer, macro_buffer::appendc)
12537         (macro_buffer::appendmem): Now methods, not free functions.
12538         (set_token, append_tokens_without_splicing, stringify)
12539         (macro_stringify): Update.
12540         (gather_arguments): Change return type.  Remove argc_p argument,
12541         add args_ptr argument.  Use std::vector.
12542         (substitute_args): Remove argc argument.  Accept std::vector.
12543         (expand): Update.  Use std::vector.
12544         (scan, macro_expand, macro_expand_next): Update.
12545
12546 2018-02-08  Tom Tromey  <tom@tromey.com>
12547
12548         * symtab.c (default_collect_symbol_completion_matches_break_on):
12549         Use unique_xmalloc_ptr.
12550         * macroscope.h: (sal_macro_scope, user_macro_scope)
12551         (default_macro_scope): Return unique_xmalloc_ptr.
12552         * macroscope.c (sal_macro_scope, user_macro_scope)
12553         (default_macro_scope): Return unique_xmalloc_ptr.
12554         * macroexp.h (macro_expand, macro_expand_once): Return
12555         unique_xmalloc_ptr.
12556         * macroexp.c (macro_expand, macro_expand_once): Return
12557         unique_xmalloc_ptr.
12558         * macrocmd.c (macro_expand_command, macro_expand_once_command)
12559         (info_macro_command, info_macros_command): Use
12560         unique_xmalloc_ptr.
12561         * compile/compile-c-support.c (write_macro_definitions): Use
12562         unique_xmalloc_ptr.
12563         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
12564
12565 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
12566
12567         * value.c (value_static_field): Assign field type instead of
12568         containing type when returning an optimized out value.
12569
12570 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12571
12572         * ft32-tdep.c (ft32_read_pc): Remove.
12573         (ft32_write_pc): Remove.
12574         (ft32_gdbarch_init): Update.
12575         * m32r-tdep.c (m32r_read_pc): Remove.
12576         (m32r_gdbarch_init): Update.
12577         * mep-tdep.c (mep_read_pc): Remove.
12578         (mep_gdbarch_init): Update.
12579         * microblaze-tdep.c (microblaze_write_pc): Remove.
12580         (microblaze_gdbarch_init): Update.
12581         * mn10300-tdep.c (mn10300_read_pc): Remove.
12582         (mn10300_write_pc): Remove.
12583         (mn10300_gdbarch_init): Update.
12584         * moxie-tdep.c (moxie_read_pc): Remove.
12585         (moxie_write_pc): Remove.
12586         (moxie_gdbarch_init): Update.
12587
12588 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12589
12590         * expprint.c (print_subexp_standard): Handle
12591         OP_F77_UNDETERMINED_ARGLIST.
12592         (dump_subexp_body_standard): Likewise.
12593
12594 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
12595
12596         * target-descriptions.c (tdesc_element_visitor) Add empty
12597         implementations.
12598         (tdesc_type): Move make_gdb_type from here.
12599         (tdesc_type_builtin): Likewise.
12600         (tdesc_type_vector): Likewise.
12601         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
12602         (make_gdb_type_struct): Move from tdesc_type_with_fields.
12603         (make_gdb_type_union): Likewise.
12604         (make_gdb_type_flags): Likewise.
12605         (make_gdb_type_enum): Likewise.
12606         (make_gdb_type): New function.
12607         (tdesc_register_type): Use static make_gdb_type.
12608
12609 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
12610
12611         * infcmd.c (default_print_one_register_info): Align natural-format
12612         column values consistently one under another.
12613         (pad_to_column): New function.
12614
12615 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
12616
12617         * dwarf2read.c (dwarf2_physname): Move commment.
12618
12619 2018-02-01  Leszek Swirski  <leszeks@google.com>
12620
12621         * varobj.c (varobj_formatted_print_options): Allow recursive
12622         pretty printing if pretty printing is enabled.
12623
12624 2018-02-01  Leszek Swirski  <leszeks@google.com>
12625
12626         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
12627         names after a structop as a filename.
12628
12629 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12630
12631         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
12632         (arm_record_coproc_data_proc): Likewise.
12633
12634 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12635
12636         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
12637
12638 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
12639
12640         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
12641         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
12642
12643 2018-01-31  Pedro Alves  <palves@redhat.com>
12644
12645         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
12646         * inflow.c (child_terminal_save_inferior): Wrap reference to
12647         tcgetpgrp in HAVE_TERMIOS_H.
12648         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
12649         _WIN32.
12650         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
12651         always iterate over all inferiors.
12652         (gdbsim_cntrl_c): Adjust.
12653         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
12654
12655 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12656
12657         * gdbtypes.c (lookup_array_range_type): Make sure the array's
12658         index type is objfile-owned if the element type is as well.
12659
12660 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12661
12662         GDB 8.1 released.
12663
12664 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12665
12666         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
12667         "features/s390x-linux64.c".
12668         (_initialize_s390_linux_tdep): Remove initialization of tdescs
12669         s390_linux32 and s390x_linux64.
12670         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
12671         default tdesc.
12672         * s390-tdep.c: Include "features/s390-linux32.c" and
12673         "features/s390x-linux64.c".
12674         (s390_tdesc_valid): Add check for tdesc_has_registers.
12675         (s390_gdbarch_init): Make sure there is always a valid tdesc.
12676         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
12677         tdesc_s390x_linux64.
12678         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
12679         tdesc_s390x_linux64 to...
12680         * s390-tdep.h: ...here.
12681
12682 2018-01-30  Pedro Alves  <palves@redhat.com>
12683
12684         PR gdb/13211
12685         * config.in, configure: Regenerate.
12686         * configure.ac: Check for getpgid.
12687         * go32-nat.c (go32_pass_ctrlc): New.
12688         (go32_target): Install it.
12689         * inf-child.c (inf_child_target): Install
12690         child_terminal_save_inferior, child_pass_ctrlc and
12691         child_interrupt.
12692         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
12693         (inf_ptrace_target): No longer install it.
12694         * infcmd.c (interrupt_target_1): Adjust.
12695         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
12696         (child_interrupt): Declare.
12697         (inferior::terminal_state): New.
12698         * inflow.c (struct terminal_info): Update comments.
12699         (inferior_process_group): Delete.
12700         (terminal_is_ours): Delete.
12701         (gdb_tty_state): New.
12702         (child_terminal_init): Adjust.
12703         (is_gdb_terminal, sharing_input_terminal_1)
12704         (sharing_input_terminal): New functions.
12705         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
12706         Set the process's actual process group in the foreground if
12707         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
12708         mark terminal as the inferior's if not sharing GDB's terminal.
12709         Don't check attach_flag.
12710         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
12711         pass down a target_terminal_state.
12712         (child_terminal_save_inferior): New, factored out from ...
12713         (child_terminal_ours_1): ... this.  Handle
12714         target_terminal_state::is_ours_for_output.
12715         (child_interrupt, child_pass_ctrlc): New.
12716         (inflow_inferior_exit): Clear the inferior's terminal_state.
12717         (copy_terminal_info): Copy the inferior's terminal state.
12718         (_initialize_inflow): Remove reference to terminal_is_ours.
12719         * inflow.h (inferior_process_group): Delete.
12720         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
12721         * procfs.c (procfs_target): Don't install procfs_interrupt.
12722         (procfs_interrupt): Delete.
12723         * remote.c (remote_serial_quit_handler): Adjust.
12724         (remote_interrupt): Remove ptid parameter.  Adjust.
12725         * target-delegates.c: Regenerate.
12726         * target.c: Include "terminal.h".
12727         (target_terminal::terminal_state): Rename to ...
12728         (target_terminal::m_terminal_state): ... this.
12729         (target_terminal::init): Adjust.
12730         (target_terminal::inferior): Adjust to per-inferior
12731         terminal_state.
12732         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
12733         (target_terminal::ours, target_terminal::ours_for_output): Use
12734         target_terminal_is_ours_kind.
12735         (target_interrupt): Remove ptid parameter.  Adjust.
12736         (default_target_pass_ctrlc): Adjust.
12737         * target.h (target_ops::to_terminal_save_inferior): New field.
12738         (target_ops::to_interrupt): Remove ptid_t parameter.
12739         (target_interrupt): Remove ptid_t parameter.  Update comment.
12740         (target_pass_ctrlc): Update comment.
12741         * target/target.h (target_terminal_state): New scoped enum,
12742         factored out of ...
12743         (target_terminal::terminal_state): ... here.
12744         (target_terminal::inferior): Update comments.
12745         (target_terminal::restore_inferior): New.
12746         (target_terminal::is_inferior, target_terminal::is_ours)
12747         (target_terminal::is_ours_for_output): Adjust.
12748         (target_terminal::scoped_restore_terminal_state): Adjust to
12749         rename, and call restore_inferior() instead of inferior().
12750         (target_terminal::scoped_restore_terminal_state::m_state): Change
12751         type.
12752         (target_terminal::terminal_state): Rename to ...
12753         (target_terminal::m_terminal_state): ... this and change type.
12754
12755 2018-01-30  Pedro Alves  <palves@redhat.com>
12756
12757         * linux-nat.c (wait_for_signal): New function.
12758         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
12759         directly.
12760         (async_terminal_is_ours)
12761         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
12762         (linux_nat_add_target): Don't override
12763         to_terminal_inferior/to_terminal_ours.
12764
12765 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
12766
12767         * remote.c (remote_follow_fork): Don't call "detach_inferior".
12768
12769 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
12770
12771         * dwarf2read.c (free_dwo_files): Add forward-declaration.
12772         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
12773         dwarf2_per_objfile_free here.
12774         (dwarf2_per_objfile_free): Remove.
12775         (_initialize_dwarf2_read): Don't register
12776         dwarf2_per_objfile_free as a registry cleanup.
12777
12778 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
12779
12780         Avoid compilation errors in MinGW native builds
12781
12782         The error is triggered by including python-internal.h, and the
12783         error message is:
12784
12785              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
12786                       from build-gnulib/import/math.h:27,
12787                       from d:/usr/Python26/include/pyport.h:235,
12788                       from d:/usr/Python26/include/Python.h:58,
12789                       from python/python-internal.h:94,
12790                       from python/py-arch.c:24:
12791              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
12792         using ::hypot;
12793                 ^~~~~
12794
12795         This happens because Python headers define 'hypot' to expand t
12796         '_hypot' in the Windows builds.
12797         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
12798         'hypoth'.  This avoids a compilation error.
12799
12800 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12801
12802         * MAINTAINERS (Write After Approval): Fix ordering.
12803
12804 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12805
12806         * MAINTAINERS (Write After Approval): Add Alan Hayward.
12807
12808 2018-01-26  Alan Modra  <amodra@gmail.com>
12809
12810         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
12811         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
12812         Remove nop.  Make const.  Comment.
12813         (powerpc32_plt_stub_so_2): New.
12814         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
12815         Correct count.  Update uses.
12816         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
12817         Move common code reading PLT entry word.  Correct
12818         powerpc32_plt_stub PLT address calculation.
12819         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
12820         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
12821         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
12822         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
12823         (ppc64_standard_linkage8): Likewise.
12824         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
12825         Correct insns description.
12826         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
12827
12828 2018-01-24  Pedro Alves  <palves@redhat.com>
12829
12830         GCC PR libstdc++/83906
12831         * gdbtypes.c (operator==(const dynamic_prop &,
12832         const dynamic_prop &)): New.
12833         (operator==(const range_bounds &, const range_bounds &)): New.
12834         (check_types_equal): Use them instead of memcmp.
12835         * gdbtypes.h (operator==(const dynamic_prop &,
12836         const dynamic_prop &)): Declare.
12837         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
12838         (operator==(const range_bounds &, const range_bounds &)): Declare.
12839         (operator!=(const range_bounds &, const range_bounds &)): Declare.
12840
12841 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12842
12843         * s390-linux-tdep.c (s390_record_address_mask)
12844         (s390_record_calc_disp_common, s390_record_calc_disp)
12845         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12846         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12847         (s390_process_record): Move to s390-tdep.c.
12848         (s390_linux_init_abi_any): Adjust.
12849         * s390-tdep.c (s390_record_address_mask)
12850         (s390_record_calc_disp_common, s390_record_calc_disp)
12851         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12852         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12853         (s390_process_record): Moved from s390-linux-tdep.c
12854         (s390_gdbarch_init): Adjust.
12855
12856 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12857
12858         * s390-linux-nat.c (s390-tdep.h): New include.
12859         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
12860         (HFILES_NO_SRCDIR): Add s390-tdep.h.
12861         (ALLDEPFILES): Add s390-tdep.c.
12862         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
12863         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
12864         * s390-tdep.h: ...this.  New file.
12865         * s390-linux-tdep.c (s390-tdep.h): New include.
12866         (_initialize_s390_tdep): Rename to...
12867         (_initialize_s390_linux_tdep): ...this and adjust.
12868         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
12869         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
12870         s390-tdep.h.
12871         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
12872         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
12873         (s390_is_partial_instruction, s390_software_single_step)
12874         (is_non_branch_ril, s390_displaced_step_copy_insn)
12875         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
12876         (s390_prologue_data, s390_addr, s390_store, s390_load)
12877         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
12878         (s390_register_call_saved, s390_guess_tracepoint_registers)
12879         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
12880         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
12881         (s390_pseudo_register_name, s390_pseudo_register_type)
12882         (s390_pseudo_register_read, s390_pseudo_register_write)
12883         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
12884         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
12885         (s390_addr_bits_remove, s390_address_class_type_flags)
12886         (s390_address_class_type_flags_to_name)
12887         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
12888         (s390_function_arg_float, s390_function_arg_vector)
12889         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
12890         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
12891         (s390_frame_align, s390_register_return_value, s390_return_value)
12892         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
12893         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
12894         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
12895         (s390_trad_frame_prev_register, s390_unwind_cache)
12896         (s390_prologue_frame_unwind_cache)
12897         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
12898         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
12899         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
12900         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
12901         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
12902         (s390_frame_base_address, s390_local_base_address)
12903         (s390_frame_base, s390_gcc_target_options)
12904         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
12905         (s390_validate_reg_range, s390_tdesc_valid)
12906         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
12907         * s390-tdep.c: ...this.  New file.
12908
12909 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12910
12911         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
12912         (s390_process_record, s390_gdbarch_tdep_alloc)
12913         (s390_linux_init_abi_any): Use/set new hook.
12914
12915 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12916
12917         * s390-linux-tdep.c (osabi.h): New include.
12918         (s390_linux_init_abi_31, s390_linux_init_abi_64)
12919         (s390_linux_init_abi_any): New functions.
12920         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
12921
12922 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12923
12924         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
12925         tdesc_has_registers check
12926
12927 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12928
12929         * s390-linux-tdep.c (s390_tdesc_valid): New function.
12930         (s390_validate_reg_range): New macro.
12931         (s390_gdbarch_init): Adjust.
12932
12933 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12934
12935         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
12936         (s390_gdbarch_tdep_alloc): Adjust.
12937         (s390_gdbarch_init): Adjust.
12938
12939 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12940
12941         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
12942         <have_tdb>: Change type to bool.
12943         (s390_gdbarch_tdep_alloc): Adjust.
12944         (s390_gdbarch_init): Adjust.
12945
12946 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12947
12948         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
12949         (gdbarch_tdep) <have_upper, have_vx>: New fields.
12950         (s390_gdbarch_tdep_alloc): New function.
12951         (s390_gdbarch_init): Allocate tdep at start and use its fields
12952         instead of separate variables.
12953
12954 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12955
12956         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
12957         when looking for cached gdbarch and add comment for remaining.
12958
12959 2018-01-22  Pedro Alves  <palves@redhat.com>
12960             Sergio Durigan Junior  <sergiodj@redhat.com>
12961
12962         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
12963         case.
12964
12965 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
12966
12967         * MAINTAINERS: Update my company e-mail address.
12968
12969 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12970
12971         * regcache.c (cooked_write_test): New function.
12972         (_initialize_regcache): Register the test.
12973
12974 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12975
12976         * ia64-tdep.c (ia64_pseudo_register_read): Call
12977         regcache->cooked_read instead of regcache_cooked_read_unsigned.
12978         * m32c-tdep.c (m32c_cat_read): Likewise.
12979         (m32c_r3r2r1r0_read): Likewise.
12980         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12981         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12982
12983 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12984
12985         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
12986         method raw_read instead of regcache_raw_read.
12987         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12988         * arm-tdep.c (arm_neon_quad_read): Likewise.
12989         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12990         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12991         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12992         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
12993         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12994         (i386_pseudo_register_read_into_value): Likewise.
12995         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12996         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12997         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12998         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
12999         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
13000         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
13001         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
13002         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
13003         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
13004
13005 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13006
13007         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
13008         * configure.tgt: Remove target mt.
13009         * mt-tdep.c: Remove.
13010         * regcache.c (cooked_read_test): Remove the check for mt.
13011
13012 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13013
13014         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
13015         instead of gdbarch_pseudo_register_read_value.
13016
13017 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13018
13019         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
13020         language is Ada.
13021
13022 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13023
13024         * linespec.c (create_sals_line_offset): Remove code that preserved
13025         the symtab_and_line's line number.
13026
13027 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13028
13029         * varobj.c (varobj_create): Don't set valid_block when creating a
13030         floating varobj.
13031
13032 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13033
13034         * varobj.c (varobj_create): Remove out of date comment.
13035
13036 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13037
13038         PR mi/20395
13039         * ada-exp.y (write_var_from_sym): Pass extra parameter when
13040         updating innermost block.
13041         * parse.c (innermost_block_tracker::update): Take extra type
13042         parameter, and check types match before updating innermost block.
13043         (write_dollar_variable): Update innermost block for registers.
13044         * parser-defs.h (enum innermost_block_tracker_type): New enum.
13045         (innermost_block_tracker::innermost_block_tracker): Initialise
13046         m_types member.
13047         (innermost_block_tracker::reset): Take type parameter.
13048         (innermost_block_tracker::update): Take type parameter, and pass
13049         type through as needed.
13050         (innermost_block_tracker::m_types): New member.
13051         * varobj.c (varobj_create): Pass type when reseting innermost
13052         block.
13053
13054 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13055
13056         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
13057         * ada-lang.c (resolve_subexp): Likewise.
13058         * breakpoint.c (set_breakpoint_condition) Likewise.
13059         (watch_command_1) Likewise.
13060         * c-exp.y (variable): Likewise.
13061         * d-exp.y (PrimaryExpression): Likewise.
13062         * f-exp.y (variable): Likewise.
13063         * go-exp.y (variable): Likewise.
13064         * m2-exp.y (variable): Likewise.
13065         * objfiles.c (objfile::~objfile): Likewise.
13066         * p-exp.y (variable): Likewise.
13067         * parse.c (innermost_block): Change type.
13068         * parser-defs.h (class innermost_block_tracker): New.
13069         (innermost_block): Change to innermost_block_tracker.
13070         * printcmd.c (display_command): Switch to innermost_block API.
13071         (do_one_display): Likewise.
13072         * rust-exp.y (do_one_display): Likewise.
13073         * symfile.c (clear_symtab_users): Likewise.
13074         * varobj.c (varobj_create): Switch to innermost_block API, replace
13075         use of innermost_block with block stored on varobj object.
13076
13077 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13078
13079         * expression.h (innermost_block): Remove declaration.
13080         * varobj.c: Add 'parser-defs.h' include.
13081
13082 2018-01-19  Tom Tromey  <tom@tromey.com>
13083
13084         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
13085         symbols in the static and global blocks.
13086
13087 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
13088
13089         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
13090         gdb_ptrace.h, and move including gdb_wait.h ...
13091         * nat/linux-ptrace.h: ... to here.
13092
13093 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13094
13095         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
13096         inf_ptrace_detach_success.
13097         (inf_ptrace_detach_success): Add inferior parameter, use it
13098         instead of inferior_ptid, pass it to detach_inferior.
13099         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
13100         parameter.
13101         * inferior.c (detach_inferior): Add overload that takes an
13102         inferior object.
13103         * inferior.h (detach_inferior): Likewise.
13104         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
13105         use inferior_ptid, adjust call to inf_ptrace_detach_success.
13106         * linux-thread-db.c (thread_db_detach): Use inf parameter.
13107
13108 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13109
13110         * target.h (struct target_ops) <to_detach>: Add inferior
13111         parameter.
13112         (target_detach): Likewise.
13113         * target.c (dispose_inferior): Pass inferior down.
13114         (target_detach): Pass inferior down.  Assert that it is equal to
13115         the current inferior.
13116         * aix-thread.c (aix_thread_detach): Pass inferior down.
13117         * corefile.c (core_file_command): Pass current_inferior() down.
13118         * corelow.c (core_detach): Add inferior parameter.
13119         * darwin-nat.c (darwin_detach): Likewise.
13120         * gnu-nat.c (gnu_detach): Likewise.
13121         * inf-ptrace.c (inf_ptrace_detach): Likewise.
13122         * infcmd.c (detach_command): Pass current_inferior() down to
13123         target_detach.
13124         * infrun.c (follow_fork_inferior): Pass parent_inf to
13125         target_detach.
13126         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
13127         target_detach.
13128         * linux-nat.c (linux_nat_detach): Add inferior parameter.
13129         * linux-thread-db.c (thread_db_detach): Likewise.
13130         * nto-procfs.c (procfs_detach): Likewise.
13131         * procfs.c (procfs_detach): Likewise.
13132         * record.c (record_detach): Likewise.
13133         * record.h (struct inferior): Forward-declare.
13134         (record_detach): Add inferior parameter.
13135         * remote-sim.c (gdbsim_detach): Likewise.
13136         * remote.c (remote_detach_1): Likewise.
13137         (remote_detach): Likewise.
13138         (extended_remote_detach): Likewise.
13139         * sol-thread.c (sol_thread_detach): Likewise.
13140         * target-debug.h (target_debug_print_inferior_p): New macro.
13141         * target-delegates.c: Re-generate.
13142         * top.c (kill_or_detach): Pass inferior down to target_detach.
13143         * windows-nat.c (windows_detach): Add inferior parameter.
13144
13145 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13146
13147         * target.h (struct target_ops) <to_detach>: Remove args
13148         parameter.
13149         (target_detach): Likewise.
13150         * target.c (dispose_inferior): Adjust.
13151         (target_detach): Remove args parameter, adjust.
13152         * aix-thread.c (aix_thread_detach): Adjust.
13153         * corefile.c (core_file_command): Adjust.
13154         * corelow.c (core_detach): Adjust.
13155         * darwin-nat.c (darwin_detach): Adjust.
13156         * gnu-nat.c (gnu_detach): Adjust.
13157         * inf-ptrace.c (inf_ptrace_detach): Adjust.
13158         * infcmd.c (detach_command): Adjust
13159         * infrun.c (follow_fork_inferior): Adjust.
13160         (handle_vfork_child_exec_or_exit): Adjust.
13161         * linux-fork.c (linux_fork_detach): Remove args parameter.
13162         * linux-fork.h (linux_fork_detach): Likewise.
13163         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
13164         * linux-thread-db.c (thread_db_detach): Likewise.
13165         * nto-procfs.c (procfs_detach): Likewise.
13166         * procfs.c (procfs_detach): Likewise.
13167         (do_detach): Remove signo parameter.
13168         * record.c (record_detach): Remove args parameter.
13169         * record.h (record_detach): Likewise.
13170         * remote-sim.c (gdbsim_detach): Likewise.
13171         * remote.c (remote_detach_1): Likewise.
13172         (remote_detach): Likewise.
13173         (extended_remote_detach): Likewise.
13174         * sol-thread.c (sol_thread_detach): Likewise.
13175         * target-delegates.c: Re-generate.
13176         * top.c (struct qt_args) <args>: Remove field.
13177         (kill_or_detach): Don't pass args.
13178         (quit_force): Don't set args.
13179         * windows-nat.c (windows_detach): Remove args parameter.
13180
13181 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13182
13183         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
13184         (arm_linux_init_abi): Install it.
13185
13186 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13187
13188         * osabi.c (gdb_osabi_names): Extend the regexp for
13189         arm-linux-gnueabihf.
13190
13191 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13192
13193         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
13194         m_abbrevs.
13195         (abbrev_table::add_abbrev): Update.
13196         (abbrev_table::lookup_abbrev): Update.
13197
13198 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13199
13200         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
13201
13202 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
13203
13204         * compile/compile.c (compile_to_object): Convert "triplet_rx"
13205         to "std::string".
13206
13207 2018-01-17  Tom Tromey  <tom@tromey.com>
13208
13209         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
13210
13211 2018-01-17  Tom Tromey  <tom@tromey.com>
13212
13213         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
13214         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
13215         (create_array_type_with_stride): Update.
13216         * dwarf2read.c (set_die_type): Update.
13217
13218 2018-01-17  Tom Tromey  <tom@tromey.com>
13219
13220         * dwarf2read.c (delayed_method_info): Remove typedef.
13221         (dwarf2_cu::method_info): Now a std::vector.
13222         (add_to_method_list): Update.
13223         (free_delayed_list): Remove.
13224         (compute_delayed_physnames): Update.
13225         (process_full_comp_unit, process_full_type_unit): Clear the method
13226         list.  Remove cleanups.
13227         (psymtab_include_file_name): Add name_holder parameter.  Use
13228         unique_xmalloc_ptr.
13229         (dwarf_decode_lines): Update.
13230
13231 2018-01-17  Tom Tromey  <tom@tromey.com>
13232             Simon Marchi  <simon.marchi@ericsson.com>
13233
13234         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
13235         (dwarf2_per_objfile::free_cached_comp_units)
13236         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13237         (init_cutu_and_read_dies_no_follow): Update.
13238         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
13239         (dwarf2_cu::~dwarf2_cu): New.
13240         (free_heap_comp_unit, free_stack_comp_unit): Remove.
13241         (age_cached_comp_units, free_one_cached_comp_unit): Update.
13242
13243 2018-01-17  Tom Tromey  <tom@tromey.com>
13244             Simon Marchi  <simon.marchi@ericsson.com>
13245
13246         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
13247         (struct die_reader_specs) <abbrev_table>: New member.
13248         (struct abbrev_table): Add constructor.
13249         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
13250         <abbrev_obstack>: Now an auto_obstack.
13251         (abbrev_table_up): New typedef.
13252         (init_cu_die_reader): Add abbrev_table parameter.
13253         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
13254         Add result_dwo_abbrev_table.
13255         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13256         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
13257         Update.
13258         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
13259         parameter.
13260         (skip_children): Update.
13261         (abbrev_table::alloc_abbrev): Rename from
13262         abbrev_table_alloc_abbrev.
13263         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
13264         (abbrev_table::lookup_abbrev): Rename from
13265         abbrev_table_lookup_abbrev.
13266         (abbrev_table_read_table): Return abbrev_table_up.
13267         (abbrev_table_free, abbrev_table_free_cleanup)
13268         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
13269         (load_partial_dies): Update.
13270
13271 2018-01-17  Tom Tromey  <tom@tromey.com>
13272
13273         * dwarf2read.c (dwarf2_compute_name): Update comment.
13274         (read_func_scope, read_variable): Update.
13275         (new_symbol): Remove.
13276         (new_symbol_full): Rename to new_symbol.
13277
13278 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
13279
13280         PR gdb/16577
13281         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
13282         a warning instead of throwing an error, set section size to 0 and return
13283         NULL.
13284         * gdb_bfd.h (gdb_bfd_map_section): Update description.
13285
13286 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13287
13288         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
13289         std::string.
13290         (linux_ptrace_attach_fail_reason_string): Likewise.
13291         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
13292         Likewise.
13293         (linux_ptrace_attach_fail_reason_string): Likewise.
13294         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
13295
13296 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13297
13298         * linux-nat.c (linux_nat_attach): Remove xstrdup.
13299
13300 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
13301
13302         PR gdb/21559
13303         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
13304         checking for fs_base/gs_base fields in struct user_regs_struct.
13305         * configure: Regenerate.
13306
13307 2018-01-17  Yao Qi  <yao.qi@linaro.org>
13308
13309         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
13310         function.
13311         (aarch64_linux_init_abi): Install it to gdbarch hook
13312         gcc_target_options.
13313
13314 2018-01-15  Pedro Alves  <palves@redhat.com>
13315
13316         * common/signals-state-save-restore.c
13317         (save_original_signals_state): Fix typos.
13318
13319 2017-01-12  Tom Tromey  <tom@tromey.com>
13320             Sergio Durigan Junior  <sergiodj@redhat.com>
13321
13322         * Makefile.in (install-only): Install gdb-add-index.
13323
13324 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
13325
13326         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
13327
13328 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13329
13330         * infrun.c (keep_going_pass_signal): Clear step-over info when
13331         insert_breakpoints fails.
13332
13333 2018-01-11  Pedro Alves  <palves@redhat.com>
13334
13335         PR gdb/22583
13336         * infrun.c (resume): Rename to ...
13337         (resume_1): ... this.
13338         (resume): Reimplement as wrapper around resume_1.
13339
13340 2018-01-11  Pedro Alves  <palves@redhat.com>
13341
13342         PR remote/22597
13343         * remote.c (remote_parse_stop_reply): Default to the last-set
13344         general thread instead of to 'magic_null_ptid'.
13345
13346 2018-01-10  Pedro Alves  <palves@redhat.com>
13347
13348         * language.h (language_get_symbol_name_matcher): Rename ...
13349         (get_symbol_name_matcher): ... this.
13350         * language.c (language_get_symbol_name_matcher): Ditto.
13351         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
13352         callers adjusted.
13353
13354 2018-01-10  Pedro Alves  <palves@redhat.com>
13355
13356         PR gdb/22670
13357         * dwarf2read.c
13358         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
13359         Adjust to use language_get_symbol_name_matcher instead of
13360         language_defn::la_get_symbol_name_matcher.
13361         * language.c (language_get_symbol_name_matcher): If in Ada mode
13362         and the lookup name is a verbatim match, return Ada's matcher.
13363         * language.h (language_get_symbol_name_matcher): Adjust comment.
13364         (ada_lookup_name_info::verbatim_p):: New method.
13365
13366 2018-01-10  Pedro Alves  <palves@redhat.com>
13367
13368         PR gdb/22670
13369         * ada-lang.c (ada_collect_symbol_completion_matches): If the
13370         minsym's language is language_auto or language_cplus, pass down
13371         language_ada instead.
13372         * symtab.c (compare_symbol_name): Don't frob symbol language here.
13373
13374 2018-01-10  Pedro Alves  <palves@redhat.com>
13375
13376         PR gdb/22670
13377         * minsyms.c (linkage_name_str): New function.
13378         (iterate_over_minimal_symbols): Use it.
13379
13380 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13381
13382         * NEWS: Document that 'info proc' now works on FreeBSD.
13383
13384 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13385
13386         * configure.ac: Check for kinfo_getfile in libutil.
13387         * configure: Regenerate.
13388         * config.in: Regenerate.
13389         * fbsd-nat.c: Include "fbsd-tdep.h".
13390         (fbsd_fetch_cmdline): New.
13391         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
13392         rather than calling error.
13393         (fbsd_info_proc): New.
13394         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
13395         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
13396         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
13397
13398 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13399
13400         * fbsd-nat.c (struct free_deleter): Remove.
13401         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
13402
13403 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13404
13405         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
13406         NULL for an empty pathname.
13407
13408 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13409
13410         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
13411         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
13412         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
13413         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
13414         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
13415         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
13416         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
13417         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
13418         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
13419         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
13420         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
13421         (fbsd_core_fetch_timeval, fbsd_print_sigset)
13422         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
13423         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
13424         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
13425
13426 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
13427
13428         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
13429         (gnu_xfer_auxv): New function.
13430         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
13431         TARGET_OBJECT_AUXV.
13432
13433 2018-01-08  Yao Qi  <yao.qi@linaro.org>
13434             Simon Marchi  <simon.marchi@ericsson.com>
13435
13436         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
13437         common/selftest.c.
13438         (COMMON_OBS): Remove selftest.o.
13439         * configure.ac: Append selftest-arch.c and common/selftest.c to
13440         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
13441         * configure: Re-generated.
13442         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
13443         GDB_SELF_TEST.
13444         (maintenance_info_selftests): Likewise.
13445
13446 2018-01-08  Xavier Roirand  <roirand@adacore.com>
13447
13448         * ada-valprint.c (val_print_packed_array_elements): Use
13449         proper number of elements when printing an array indexed
13450         by an enumeration type.
13451
13452 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13453
13454         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
13455         (dw2_get_file_names_reader): Adjust.
13456         (lookup_dwo_signatured_type): Adjust.
13457         (lookup_dwp_signatured_type): Adjust.
13458         (lookup_signatured_type): Adjust.
13459         (create_type_unit_group): Adjust.
13460         (get_type_unit_group): Adjust.
13461         (process_psymtab_comp_unit_reader): Adjust.
13462         (build_type_psymtabs_reader): Adjust.
13463         (scan_partial_symbols): Adjust.
13464         (add_partial_symbol): Adjust.
13465         (add_partial_subprogram): Adjust.
13466         (peek_die_abbrev): Adjust.
13467         (fixup_go_packaging): Adjust.
13468         (process_imported_unit_die): Adjust.
13469         (dwarf2_compute_name): Adjust.
13470         (dwarf2_physname): Adjust.
13471         (read_import_statement): Adjust.
13472         (handle_DW_AT_stmt_list): Adjust.
13473         (read_file_scope): Adjust.
13474         (read_func_scope): Adjust.
13475         (read_lexical_block_scope): Adjust.
13476         (read_call_site_scope): Adjust.
13477         (read_variable): Adjust.
13478         (dwarf2_rnglists_process): Adjust.
13479         (dwarf2_ranges_process): Adjust.
13480         (dwarf2_ranges_read): Adjust.
13481         (dwarf2_get_pc_bounds): Adjust.
13482         (dwarf2_record_block_ranges): Adjust.
13483         (dwarf2_add_field): Adjust.
13484         (dwarf2_add_member_fn): Adjust.
13485         (read_structure_type): Adjust.
13486         (process_structure_scope): Adjust.
13487         (read_enumeration_type): Adjust.
13488         (read_array_type): Adjust.
13489         (mark_common_block_symbol_computed): Adjust.
13490         (read_common_block): Adjust.
13491         (read_namespace_type): Adjust.
13492         (read_namespace): Adjust.
13493         (read_module_type): Adjust.
13494         (read_tag_pointer_type): Adjust.
13495         (read_tag_ptr_to_member_type): Adjust.
13496         (read_tag_string_type): Adjust.
13497         (read_subroutine_type): Adjust.
13498         (read_typedef): Adjust.
13499         (read_base_type): Adjust.
13500         (attr_to_dynamic_prop): Adjust.
13501         (read_subrange_type): Adjust.
13502         (read_unspecified_type): Adjust.
13503         (dwarf2_read_abbrevs): Adjust.
13504         (load_partial_dies): Adjust.
13505         (read_partial_die): Adjust.
13506         (find_partial_die): Adjust.
13507         (guess_partial_die_structure_name): Adjust.
13508         (fixup_partial_die): Adjust.
13509         (read_attribute_value): Adjust.
13510         (read_addr_index): Adjust.
13511         (read_addr_index_from_leb128): Adjust.
13512         (read_str_index): Adjust.
13513         (dwarf2_string_attr): Adjust.
13514         (get_debug_line_section): Adjust.
13515         (dwarf_decode_line_header): Adjust.
13516         (lnp_state_machine::check_line_address): Adjust.
13517         (dwarf_decode_lines_1): Adjust.
13518         (dwarf_decode_lines): Adjust.
13519         (dwarf2_start_symtab): Adjust.
13520         (var_decode_location): Adjust.
13521         (new_symbol_full): Adjust.
13522         (dwarf2_const_value_data): Adjust.
13523         (dwarf2_const_value_attr): Adjust.
13524         (dwarf2_const_value): Adjust.
13525         (die_type): Adjust.
13526         (die_containing_type): Adjust.
13527         (build_error_marker_type): Adjust.
13528         (lookup_die_type): Adjust.
13529         (guess_full_die_structure_name): Adjust.
13530         (anonymous_struct_prefix): Adjust.
13531         (determine_prefix): Adjust.
13532         (dwarf2_name): Adjust.
13533         (follow_die_ref_or_sig): Adjust.
13534         (follow_die_offset): Adjust.
13535         (follow_die_ref): Adjust.
13536         (follow_die_sig_1): Adjust.
13537         (follow_die_sig): Adjust.
13538         (get_signatured_type): Adjust.
13539         (get_DW_AT_signature_type): Adjust.
13540         (decode_locdesc): Adjust.
13541         (dwarf_decode_macros): Adjust.
13542         (cu_debug_loc_section): Adjust.
13543         (fill_in_loclist_baton): Adjust.
13544         (dwarf2_symbol_mark_computed): Adjust.
13545         (init_one_comp_unit): Don't assign
13546         dwarf2_cu::dwarf2_per_objfile.
13547         (set_die_type): Adjust.
13548
13549 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13550
13551         * dwarf2read.c (struct mapped_debug_names): Add constructor.
13552         <dwarf2_per_objfile>: New field.
13553         (dwarf2_per_objfile): Remove global.
13554         (get_dwarf2_per_objfile): New function.
13555         (set_dwarf2_per_objfile): New function.
13556         (dwarf2_build_psymtabs_hard): Change objfile parameter to
13557         dwarf2_per_objfile.
13558         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13559         (read_abbrev_offset): Likewise.
13560         (read_indirect_string): Likewise.
13561         (read_indirect_line_string): Likewise.
13562         (read_indirect_string_at_offset): Likewise.
13563         (read_indirect_string_from_dwz): Likewise.
13564         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13565         dwarf2_per_objfile.
13566         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13567         (create_all_comp_units): Change objfile parameter to
13568         dwarf2_per_objfile.
13569         (create_all_type_units): Likewise.
13570         (process_queue): Add dwarf2_per_objfile parameter.
13571         (read_and_check_comp_unit_head): Likewise.
13572         (lookup_dwo_unit_in_dwp): Likewise.
13573         (get_dwp_file): Likewise.
13574         (process_cu_includes): Likewise.
13575         (struct free_dwo_file_cleanup_data): New struct.
13576         (dwarf2_has_info): Use get_dwarf2_per_objfile and
13577         set_dwarf2_per_objfile.
13578         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
13579         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
13580         context, adjust calls.
13581         (dw2_instantiate_symtab): Likewise.
13582         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
13583         (dw2_get_cu): Likewise.
13584         (create_cu_from_index_list): Change objfile parameter to
13585         dwarf2_per_objfile.
13586         (create_cus_from_index_list): Get dwarf2_per_objfile from
13587         context, adjust calls.
13588         (create_cus_from_index): Likewise.
13589         (create_signatured_type_table_from_index): Change objfile
13590         parameter to dwarf2_per_objfile.
13591         (create_signatured_type_table_from_debug_names): Change objfile
13592         parameter to dwarf2_per_objfile.
13593         (create_addrmap_from_index): Likewise.
13594         (create_addrmap_from_aranges): Likewise.
13595         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
13596         (dw2_setup): Remove.
13597         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
13598         context.
13599         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
13600         get_dwarf2_per_objfile.
13601         (dw2_forget_cached_source_info): Likewise.
13602         (dw2_map_symtabs_matching_filename): Likewise.
13603         (struct dw2_symtab_iterator) <index>: Remove.
13604         <dwarf2_per_objfile>: New field.
13605         (dw2_symtab_iter_init): Replace index parameter with
13606         dwarf2_per_objfile.
13607         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
13608         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
13609         (dw2_print_stats): Likewise.
13610         (dw2_dump): Likewise.
13611         (dw2_expand_symtabs_for_function): Likewise.
13612         (dw2_expand_all_symtabs): Likewise.
13613         (dw2_expand_symtabs_with_fullname): Likewise.
13614         (dw2_expand_marked_cus): Replace index and objfile parameters
13615         with dwarf2_per_objfile.
13616         (dw_expand_symtabs_matching_file_matcher): Add
13617         dwarf2_per_objfile parameter and adjust calls.
13618         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
13619         adjust calls.
13620         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
13621         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
13622         adjust calls.
13623         (create_cus_from_debug_names_list): Replace objfile parameter
13624         with dwarf2_per_objfile and adjust calls.
13625         (create_cus_from_debug_names): Likewise.
13626         (dwarf2_read_debug_names): Likewise.
13627         (mapped_debug_names::namei_to_name): Adjust call.
13628         (dw2_debug_names_iterator::next): Likewise.
13629         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
13630         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
13631         (dw2_debug_names_dump): Likewise.
13632         (dw2_debug_names_expand_symtabs_for_function): Likewise.
13633         (dw2_debug_names_expand_symtabs_matching): Likewise.
13634         (dwarf2_initialize_objfile): Likewise.
13635         (dwarf2_build_psymtabs): Likewise.
13636         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
13637         this_cu.
13638         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
13639         (read_and_check_comp_unit_head): Likewise.
13640         (read_abbrev_offset): Likewise.
13641         (create_debug_type_hash_table): Likewise.
13642         (create_debug_types_hash_table): Likewise.
13643         (create_all_type_units): Replace objfile parameter with
13644         dwarf2_per_objfile.
13645         (add_type_unit): Add dwarf2_per_objfile parameter.
13646         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
13647         with dwarf2_per_objfile.
13648         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
13649         (lookup_dwp_signatured_type): Likewise.
13650         (lookup_signatured_type): Likewise.
13651         (read_cutu_die_from_dwo): Likewise.
13652         (init_tu_and_read_dwo_dies): Likewise.
13653         (init_cutu_and_read_dies): Likewise.
13654         (init_cutu_and_read_dies_no_follow): Likewise.
13655         (allocate_type_unit_groups_table): Add objfile parameter.
13656         (create_type_unit_group): Use dwarf2_per_objfile from cu.
13657         (get_type_unit_group): Likewise.
13658         (process_psymtab_comp_unit): Update call.
13659         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
13660         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
13661         (print_tu_stats): Likewise.
13662         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
13663         in void* parameter.
13664         (build_type_psymtabs): Change objfile parameter to
13665         dwarf2_per_objfile.
13666         (process_skeletonless_type_unit): Use dwarf2_per_objfile
13667         passed in void* parameter.
13668         (process_skeletonless_type_units): Change objfile parameter to
13669         dwarf2_per_objfile.
13670         (set_partial_user): Likewise.
13671         (dwarf2_build_psymtabs_hard): Likewise.
13672         (read_comp_units_from_section): Likewise.
13673         (create_all_comp_units): Likewise.
13674         (scan_partial_symbols): Update calls.
13675         (add_partial_symbol): Likewise.
13676         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
13677         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
13678         (process_queue): Add dwarf2_per_objfile parameter.
13679         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
13680         (compute_compunit_symtab_includes): Likewise.
13681         (process_cu_includes): Add dwarf2_per_objfile parameter.
13682         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
13683         (process_full_type_unit): Likewise.
13684         (process_imported_unit_die): Update call.
13685         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
13686         (read_file_scope): Likewise.
13687         (allocate_dwo_file_hash_table): Add objfile parameter.
13688         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
13689         (create_cus_hash_table): Likewise.
13690         (create_dwp_hash_table): Likewise.
13691         (create_dwo_unit_in_dwp_v1): Likewise.
13692         (create_dwp_v2_section): Likewise.
13693         (create_dwo_unit_in_dwp_v2): Likewise.
13694         (lookup_dwo_unit_in_dwp): Likewise.
13695         (try_open_dwop_file): Likewise.
13696         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
13697         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
13698         cleanup to include a reference to dwarf2_per_objfile.
13699         (open_dwp_file): Add dwarf2_per_objfile parameter.
13700         (open_and_init_dwp_file): Likewise.
13701         (get_dwp_file): Likewise.
13702         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
13703         (queue_and_load_all_dwo_tus): Update call.
13704         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
13705         data.
13706         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
13707         (dwarf2_ranges_process): Likewise.
13708         (dwarf2_get_pc_bounds): Likewise.
13709         (mark_common_block_symbol_computed): Likewise.
13710         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13711         (dwarf2_read_abbrevs): Update call.
13712         (read_partial_die): Use dwarf2_per_objfile from cu.
13713         (find_partial_die): Likewise.
13714         (fixup_partial_die): Likewise.
13715         (read_attribute_value): Likewise.
13716         (read_indirect_string_at_offset_from): Add objfile parameter.
13717         (read_indirect_string_at_offset): Add dwarf2_per_objfile
13718         parameter.
13719         (read_indirect_string_from_dwz): Add objfile parameter.
13720         (read_indirect_string): Add objfile parameter.
13721         (read_addr_index_1): Add dwarf2_per_objfile parameter.
13722         (read_addr_index): Use dwarf2_per_objfile from cu.
13723         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
13724         call dw2_setup.
13725         (read_str_index): Use dwarf2_per_objfile from cu.
13726         (get_debug_line_section): Likewise.
13727         (read_formatted_entries): Add dwarf2_per_objfile parameter.
13728         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
13729         (new_symbol_full): Use dwarf2_per_objfile from cu.
13730         (build_error_marker_type): Likewise.
13731         (lookup_die_type): Likewise.
13732         (determine_prefix): Likewise.
13733         (follow_die_offset): Likewise.
13734         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
13735         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
13736         (dwarf2_fetch_die_type_sect_off): Likewise.
13737         (dwarf2_get_die_type): Likewise.
13738         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
13739         (get_signatured_type): Likewise.
13740         (get_DW_AT_signature_type): Likewise.
13741         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
13742         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
13743         (cu_debug_loc_section): Likewise.
13744         (fill_in_loclist_baton): Likewise.
13745         (dwarf2_symbol_mark_computed): Likewise.
13746         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13747         dwarf2_per_objfile.
13748         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
13749         parameter.
13750         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13751         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
13752         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
13753         (set_die_type): Use dwarf2_free_objfile from cu.
13754         (get_die_type_at_offset): Likewise.
13755         (dwarf2_per_objfile_free): Don't assign global variable.
13756         (debug_names) <constructor>: Add dwarf2_per_objfile
13757         parameter, update m_debugstrlookup construction.
13758         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
13759         parameter.
13760         <m_dwarf2_per_objfile>: New field.
13761         <lookup>: Use m_dwarf2_per_objfile.
13762         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
13763         (psyms_seen_size): Likewise.
13764         (write_gdbindex): Replace objfile parameter with
13765         dwarf2_per_objfile.
13766         (write_debug_names): Likewise.
13767         (write_psymtabs_to_index): Likewise.
13768         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
13769         calls.
13770
13771 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13772
13773         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
13774         <dwarf2_per_objfile>: New field.
13775         (struct dwarf2_per_cu_data) <objfile>: Remove.
13776         <dwarf2_per_objfile>: New field.
13777         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
13778         of objfile.
13779         (create_signatured_type_table_from_index): Likewise.
13780         (create_debug_type_hash_table): Likewise.
13781         (fill_in_sig_entry_from_dwo_entry): Likewise.
13782         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
13783         (create_type_unit_group): Assign dwarf2_per_objfile instead of
13784         objfile.
13785         (create_partial_symtab): Access objfile through
13786         dwarf2_per_objfile.
13787         (process_psymtab_comp_unit_reader): Likewise.
13788         (read_comp_units_from_section): Likewise.
13789         (scan_partial_symbols): Likewise.
13790         (add_partial_symbol): Likewise.
13791         (add_partial_subprogram): Likewise.
13792         (peek_die_abbrev): Likewise.
13793         (fixup_go_packaging): Likewise.
13794         (process_full_comp_unit): Likewise.
13795         (process_full_type_unit): Likewise.
13796         (process_imported_unit_die): Likewise.
13797         (dwarf2_compute_name): Likewise.
13798         (dwarf2_physname): Likewise.
13799         (read_import_statement): Likewise.
13800         (create_cus_hash_table): Assign dwarf2_physname instead of
13801         objfile.
13802         (read_func_scope): Access objfile through dwarf2_per_objfile.
13803         (read_lexical_block_scope): Likewise.
13804         (read_call_site_scope): Likewise.
13805         (read_variable): Likewise.
13806         (dwarf2_rnglists_process): Likewise.
13807         (dwarf2_ranges_process): Likewise.
13808         (dwarf2_ranges_read): Likewise.
13809         (dwarf2_record_block_ranges): Likewise.
13810         (dwarf2_add_field): Likewise.
13811         (dwarf2_add_member_fn): Likewise.
13812         (read_structure_type): Likewise.
13813         (process_structure_scope): Likewise.
13814         (read_enumeration_type): Likewise.
13815         (read_array_type): Likewise.
13816         (read_common_block): Likewise.
13817         (read_namespace_type): Likewise.
13818         (read_namespace): Likewise.
13819         (read_module_type): Likewise.
13820         (read_tag_pointer_type): Likewise.
13821         (read_tag_ptr_to_member_type): Likewise.
13822         (read_tag_string_type): Likewise.
13823         (read_subroutine_type): Likewise.
13824         (read_typedef): Likewise.
13825         (read_base_type): Likewise.
13826         (attr_to_dynamic_prop): Likewise.
13827         (read_subrange_type): Likewise.
13828         (read_unspecified_type): Likewise.
13829         (load_partial_dies): Likewise.
13830         (read_partial_die): Likewise.
13831         (find_partial_die): Likewise.
13832         (guess_partial_die_structure_name): Likewise.
13833         (fixup_partial_die): Likewise.
13834         (read_attribute_value): Likewise.
13835         (read_addr_index_from_leb128): Likewise.
13836         (dwarf2_read_addr_index): Likewise.
13837         (dwarf2_string_attr): Likewise.
13838         (lnp_state_machine::check_line_address): Likewise.
13839         (dwarf_decode_lines_1): Likewise.
13840         (dwarf_decode_lines): Likewise.
13841         (dwarf2_start_symtab): Likewise.
13842         (var_decode_location): Likewise.
13843         (new_symbol_full): Likewise.
13844         (dwarf2_const_value_data): Likewise.
13845         (dwarf2_const_value_attr): Likewise.
13846         (dwarf2_const_value): Likewise.
13847         (die_type): Likewise.
13848         (die_containing_type): Likewise.
13849         (lookup_die_type): Likewise.
13850         (guess_full_die_structure_name): Likewise.
13851         (anonymous_struct_prefix): Likewise.
13852         (dwarf2_name): Likewise.
13853         (follow_die_ref_or_sig): Likewise.
13854         (follow_die_offset): Likewise.
13855         (follow_die_ref): Likewise.
13856         (dwarf2_fetch_die_loc_sect_off): Likewise.
13857         (dwarf2_fetch_constant_bytes): Likewise.
13858         (dwarf2_fetch_die_type_sect_off): Likewise.
13859         (dwarf2_get_die_type): Likewise.
13860         (follow_die_sig): Likewise.
13861         (decode_locdesc): Likewise.
13862         (dwarf2_per_cu_objfile): Likewise.
13863         (dwarf2_per_cu_text_offset): Likewise.
13864         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
13865         objfile.
13866         (set_die_type): Access objfile through
13867         dwarf2_per_objfile.
13868
13869 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13870
13871         * valprint.c (converted_character_d): Remove typedef.
13872         (DEF_VEC_O (converted_character_d)): Remove.
13873         (count_next_character): Use std::vector.
13874         (print_converted_chars_to_obstack): Likewise.
13875         (generic_printstr): Likewise.
13876
13877 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13878
13879         * xml-support.h (struct gdb_xml_value): Add constructor.
13880         <value>: Change type to unique_xmalloc_ptr.
13881         (gdb_xml_value_s): Remove typedef.
13882         (DEF_VEC_O (gdb_xml_value_s)): Remove.
13883         (gdb_xml_element_start_handler): Change parameter type to
13884         std::vector.
13885         (xml_find_attribute): Likewise.
13886         * xml-support.c (xml_find_attribute): Change parameter type to
13887         std::vector and adjust.
13888         (gdb_xml_values_cleanup): Remove.
13889         (gdb_xml_parser::start_element): Adjust to std::vector.
13890         (xinclude_start_include): Change paraeter type to std::vector
13891         and adjust.
13892         * btrace.c (check_xml_btrace_version): Likewise.
13893         (parse_xml_btrace_block): Likewise.
13894         (parse_xml_btrace_pt_config_cpu): Likewise.
13895         (parse_xml_btrace_pt): Likewise.
13896         (parse_xml_btrace_conf_bts): Likewise.
13897         (parse_xml_btrace_conf_pt): Likewise.
13898         * memory-map.c (memory_map_start_memory): Likewise.
13899         (memory_map_start_property): Likewise.
13900         * osdata.c (osdata_start_osdata): Likewise.
13901         (osdata_start_item): Likewise.
13902         (osdata_start_column): Likewise.
13903         * remote.c (start_thread): Likewise.
13904         * solib-aix.c (library_list_start_library): Likewise.
13905         (library_list_start_list): Likewise.
13906         * solib-svr4.c (library_list_start_library): Likewise.
13907         (svr4_library_list_start_list): Likewise.
13908         * solib-target.c (library_list_start_segment): Likewise.
13909         (library_list_start_section): Likewise.
13910         (library_list_start_library): Likewise.
13911         (library_list_start_list): Likewise.
13912         * tracepoint.c (traceframe_info_start_memory): Likewise.
13913         (traceframe_info_start_tvar): Likewise.
13914         * xml-syscall.c (syscall_start_syscall): Likewise.
13915         * xml-tdesc.c (tdesc_start_target): Likewise.
13916         (tdesc_start_feature): Likewise.
13917         (tdesc_start_reg): Likewise.
13918         (tdesc_start_union): Likewise.
13919         (tdesc_start_struct): Likewise.
13920         (tdesc_start_flags): Likewise.
13921         (tdesc_start_enum): Likewise.
13922         (tdesc_start_field): Likewise.
13923         (tdesc_start_enum_value): Likewise.
13924         (tdesc_start_vector): Likewise.
13925
13926 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13927
13928         * extension.h (struct xmethod_worker) <clone>: Remove.
13929         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
13930         Remove.
13931         (python_xmethod_worker::clone): Remove.
13932         * valops.c (find_overload_match): Use std::move instead of
13933         clone.
13934
13935 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13936
13937         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
13938         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
13939         <free_xmethod_worker_data>: Remove.
13940         <get_matching_xmethod_workers>: Chance VEC to std::vector.
13941         <get_xmethod_arg_types>: Remove.
13942         <get_xmethod_result_type>: Remove.
13943         <invoke_xmethod>: Remove.
13944         * extension.c (new_xmethod_worker): Remove.
13945         (clone_xmethod_worker): Remove.
13946         (get_matching_xmethod_workers): Return void, pass std::vector by
13947         pointer.
13948         (get_xmethod_arg_types): Rename to...
13949         (xmethod_worker::get_arg_types): ... this, and adjust.
13950         (get_xmethod_result_type): Rename to...
13951         (xmethod_worker::get_result_type): ... this, and adjust.
13952         (invoke_xmethod): Remove.
13953         (free_xmethod_worker): Remove.
13954         (free_xmethod_worker_vec): Remove.
13955         * extension.h (enum ext_lang_rc): Move here from
13956         extension-priv.h.
13957         (struct xmethod_worker): Add constructor and destructor.
13958         <data>: Remove.
13959         <value>: Remove.
13960         <invoke, clone, do_get_result_type, do_get_arg_types>: New
13961         virtual pure methods.
13962         <get_arg_types, get_result_type>: New methods.
13963         (xmethod_worker_ptr): Remove typedef.
13964         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
13965         (xmethod_worker_vec): Remove typedef.
13966         (xmethod_worker_up): New typedef.
13967         (invoke_xmethod): Remove.
13968         (clone_xmethod_worker): Remove.
13969         (free_xmethod_worker): Remove.
13970         (free_xmethod_worker_vec): Remove.
13971         (get_xmethod_arg_types): Remove.
13972         (get_xmethod_result_type): Remove.
13973         * valops.c (find_method_list): Use std::vector, don't use
13974         intermediate vector.
13975         (value_find_oload_method_list): Use std::vector.
13976         (find_overload_match): Use std::vector.
13977         (find_oload_champ): Use std::vector.
13978         * value.c (value_free): Use operator delete.
13979         (value_of_xmethod): Rename to...
13980         (value_from_xmethod): ... this.  Don't assign
13981         xmethod_worker::value, take rvalue-reference.
13982         (result_type_of_xmethod): Adjust.
13983         (call_xmethod): Adjust.
13984         * value.h: Include extension.h.
13985         (struct xmethod_worker): Don't forward-declare.
13986         (value_of_xmethod): Rename to...
13987         (value_from_xmethod): ... this, take rvalue-reference.
13988         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
13989         (struct python_xmethod_worker): ... this, add constructor and
13990         destructor.
13991         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
13992         (gdbpy_free_xmethod_worker_data): Rename to...
13993         (python_xmethod_worker::~python_xmethod_worker): ... this and
13994         adjust.
13995         (gdbpy_clone_xmethod_worker_data): Rename to...
13996         (python_xmethod_worker::clone): ... this and adjust.
13997         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
13998         temporary vector.
13999         (gdbpy_get_xmethod_arg_types): Rename to...
14000         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
14001         (gdbpy_get_xmethod_result_type): Rename to...
14002         (python_xmethod_worker::do_get_result_type): ... this and
14003         adjust.
14004         (gdbpy_invoke_xmethod): Rename to...
14005         (python_xmethod_worker::invoke): ... this and adjust.
14006         (new_python_xmethod_worker): Rename to...
14007         (python_xmethod_worker::python_xmethod_worker): ... this and
14008         adjust.
14009         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
14010         Remove.
14011         (gdbpy_free_xmethod_worker_data): Remove.
14012         (gdbpy_get_matching_xmethod_workers): Use std::vector.
14013         (gdbpy_get_xmethod_arg_types): Remove.
14014         (gdbpy_get_xmethod_result_type): Remove.
14015         (gdbpy_invoke_xmethod): Remove.
14016         * python/python.c (python_extension_ops): Remove obsolete
14017         callbacks.
14018
14019 2018-01-05  Pedro Alves  <palves@redhat.com>
14020
14021         PR gdb/18653
14022         * common/signals-state-save-restore.c
14023         (save_original_signals_state): New parameter 'quiet'.  Warn if we
14024         find a custom handler preinstalled, instead of internal erroring.
14025         But only warn if !quiet.
14026         * common/signals-state-save-restore.h
14027         (save_original_signals_state): New parameter 'quiet'.
14028         * main.c (captured_main_1): Move save_original_signals_state call
14029         after option handling, and pass QUIET.
14030
14031 2018-01-05  Pedro Alves  <palves@redhat.com>
14032
14033         * spu-tdep.c (spu_catch_start): Pass
14034         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
14035
14036 2018-01-05  Pedro Alves  <palves@redhat.com>
14037
14038         PR gdb/22670
14039         * ada-lang.c (literal_symbol_name_matcher): New function.
14040         (ada_get_symbol_name_matcher): Use it for
14041         symbol_name_match_type::SEARCH_NAME.
14042         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
14043         it down instead of assuming symbol_name_match_type::FULL.
14044         * block.h (block_lookup_symbol): New parameter 'match_type'.
14045         * c-valprint.c (print_unpacked_pointer): Use
14046         lookup_symbol_search_name instead of lookup_symbol.
14047         * compile/compile-object-load.c (get_out_value_type): Pass down
14048         symbol_name_match_type::SEARCH_NAME.
14049         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
14050         symbol_name_match_type::FULL.
14051         * cp-support.c (cp_get_symbol_name_matcher): Handle
14052         symbol_name_match_type::SEARCH_NAME.
14053         * infrun.c (insert_exception_resume_breakpoint): Use
14054         lookup_symbol_search_name.
14055         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
14056         * psymtab.c (maintenance_check_psymtabs): Use
14057         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
14058         * stack.c (print_frame_args): Use lookup_symbol_search_name and
14059         SYMBOL_SEARCH_NAME.
14060         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
14061         if symbol_name_match_type::SEARCH_NAME.
14062         (lookup_symbol_in_language): Pass down
14063         symbol_name_match_type::FULL.
14064         (lookup_symbol_search_name): New.
14065         (lookup_language_this): Pass down
14066         symbol_name_match_type::SEARCH_NAME.
14067         (lookup_symbol_aux, lookup_local_symbol): New parameter
14068         'match_type'.  Pass it down.
14069         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
14070         (lookup_symbol_search_name): New declaration.
14071         (lookup_symbol_in_block): New 'match_type' parameter.
14072
14073 2018-01-05  Pedro Alves  <palves@redhat.com>
14074
14075         PR gdb/22670
14076         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
14077         ada_lookup_symbol.
14078         (ada_lookup_symbol): Reimplement in terms of
14079         ada_lookup_symbol_list, bits factored out from
14080         ada_lookup_encoded_symbol.
14081
14082 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14083
14084         * ada-exp.y (write_object_renaming): When subscripting an array
14085         using a symbol as the index, pass the block in call to
14086         ada_lookup_encoded_symbol when looking that symbol up.
14087
14088 2018-01-05  Jerome Guitton  <guitton@adacore.com>
14089
14090         * ada-lang.c (ada_array_length): Use ada_index_type instead of
14091         TYPE_INDEX_TYPE.
14092
14093 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14094
14095         * ada-lang.c (ada_to_fixed_value_create): Add handling of
14096         the case where VALUE_LVAL (val0) is not lval_memory.
14097
14098 2018-01-05  Xavier Roirand  <roirand@adacore.com>
14099
14100         * ada-valprint.c (print_optional_low_bound): Handle
14101         character-indexed array printing like boolean-indexed array
14102         printing.
14103
14104 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14105
14106         * NEWS: Create a new section for the next release branch.
14107         Rename the section of the current branch, now that it has
14108         been cut.
14109
14110 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14111
14112         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
14113         * version.in: Bump version to 8.1.50.DATE-git.
14114
14115 2018-01-03  Xavier Roirand  <roirand@adacore.com>
14116
14117         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
14118         Add field.
14119         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
14120         Add field.
14121         (default_exception_support_info) <catch_handlers_sym>: Add field.
14122         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
14123         (ada_exception_name_addr_1): Add "catch handlers" handling.
14124         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
14125         Update all callers.
14126         (create_excep_cond_exprs) <ex>: Add parameter.
14127         (re_set_exception): Update create_excep_cond_exprs call.
14128         (print_it_exception, print_one_exception, print_mention_exception)
14129         (print_recreate_exception): Add "catch handler" handling.
14130         (allocate_location_catch_handlers, re_set_catch_handlers)
14131         (check_status_catch_handlers, print_it_catch_handlers)
14132         (print_one_catch_handlers, print_mention_catch_handlers)
14133         (print_recreate_catch_handlers): New function.
14134         (catch_handlers_breakpoint_ops): New variable.
14135         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
14136         Add parameter.  Add "catch handler" handling.
14137         (ada_exception_sym_name, ada_exception_breakpoint_ops):
14138         Add "catch handler" handling.
14139         (ada_exception_catchpoint_cond_string): Add "catch handler"
14140         handling.
14141         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
14142         call.
14143         (catch_ada_handlers_command): New function.
14144         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
14145         operations structure.
14146         (_initialize_ada_language): Add "catch handlers" command entry.
14147         * NEWS: Document "catch handlers" feature.
14148
14149 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14150
14151         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
14152         account when creating the array type of the slice.
14153         (ada_value_slice): Likewise.
14154
14155 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14156
14157         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
14158         New enum value.
14159         (create_array_type_with_stride): Add byte_stride_prop parameter.
14160         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
14161         New parameter.  Update all callers in this file.
14162         (array_type_has_dynamic_stride): New function.
14163         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
14164         of arrays with dynamic byte strides.
14165         * dwarf2read.c (read_array_type): Add support for dynamic
14166         DW_AT_byte_stride attributes.
14167
14168 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14169
14170         * dwarf2read.c (read_unspecified_type): Treat
14171         DW_TAG_enumeration_type DIEs from Ada units as stubs.
14172
14173 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14174
14175         Update copyright year range in all GDB files.
14176
14177 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14178
14179         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
14180         and gdb/testsuite/gdb.base/step-line.c.
14181
14182 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14183
14184         * copyright.py (main): Dump the contents of
14185         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
14186         even if BY_HAND is empty.
14187
14188 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14189
14190         * top.c (print_gdb_version): Update Copyright year in version
14191         message.
14192
14193 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14194
14195         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
14196
14197 For older changes see ChangeLog-2017.
14198 \f
14199 Local Variables:
14200 mode: change-log
14201 left-margin: 8
14202 fill-column: 74
14203 version-control: never
14204 coding: utf-8
14205 End: