Copy configure option documentation to gdb.texinfo
[external/binutils.git] / gdb / ChangeLog
1 2018-10-01  Tom Tromey  <tom@tromey.com>
2
3         * README: Minor change.
4
5 2018-09-30  Pedro Alves  <palves@redhat.com>
6
7         * darwin-nat-info.c (darwin_debug_regions_recurse)
8         (info_mach_exceptions_command): Remove unused local variables.
9         * darwin-nat.c (darwin_decode_notify_message)
10         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
11         (darwin_stop_inferior, darwin_setup_exceptions)
12         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
13         (darwin_nat_target::attach, darwin_nat_target::detach)
14         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
15         local variables.
16         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
17         variables.
18
19 2018-09-29  Tom Tromey  <tom@tromey.com>
20
21         * README: Remove some leftover text.
22
23 2018-09-29  Tom Tromey  <tom@tromey.com>
24
25         * PROBLEMS: Rewrite.
26         * README: Update.
27
28 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
29
30         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
31         case with explicit breakpoint kind.
32         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
33         'additional_info' and related logic.
34         (riscv_debug_breakpoints): New variable.
35         (riscv_breakpoint_kind_from_pc): Use the length of the existing
36         instruction to determine the breakpoint kind.
37         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
38         flag.  Update description of 'set/show riscv
39         use-compressed-breakpoints' flag.
40
41 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
42
43         (NEWS): Mention changes to frame related commands.
44         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
45         (add_prefix_cmd_suppress_notification): New function.
46         (add_com_suppress_notification): Call
47         add_cmd_suppress_notification.
48         * command.h (add_cmd_suppress_notification): Declare.
49         (add_prefix_cmd_suppress_notification): Declare.
50         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
51         (parse_frame_specification): Moved from stack.c, with
52         simplification to handle a single argument.
53         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
54         switch to the selected frame.  Add a header comment.
55         * stack.c: Remove 'safe-ctype.h' include.
56         (find_frame_for_function): Add declaration.
57         (find_frame_for_address): New function.
58         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
59         (frame_selection_by_function_completer): New function.
60         (info_frame_command): Rename to...
61         (info_frame_command_core): ...this, and update parameter types.
62         (select_frame_command): Rename to...
63         (select_frame_command_core): ...this, and update parameter types.
64         (frame_command): Rename to...
65         (frame_command_core): ...this, and update parameter types.
66         (class frame_command_helper): New class to wrap implementations of
67         frame related sub-commands.
68         (frame_apply_cmd_list): New static global.
69         (frame_cmd_list): Make static.
70         (select_frame_cmd_list): New global for sub-commands.
71         (info_frame_cmd_list): New global for sub-commands.
72         (_initialize_stack): Register sub-commands for 'frame',
73         'select-frame', and 'info frame'.  Update 'frame apply' commands
74         to use frame_apply_cmd_list.  Move function local static
75         frame_apply_list to file static frame_apply_cmd_list for
76         consistency.
77         * stack.h (select_frame_command): Delete declarationn.
78         (select_frame_for_mi): Declare new function.
79
80 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
81
82         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
83         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
84         and NOP.
85
86 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
87
88         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
89
90 2018-09-26  Tom Tromey  <tom@tromey.com>
91
92         * valops.c (auto_abandon): Remove dead code.
93
94 2018-09-26  Tom Tromey  <tom@tromey.com>
95
96         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
97
98 2018-09-24  Tom Tromey  <tom@tromey.com>
99
100         * common/pathstuff.c (get_standard_cache_dir): Make
101         "xdg_cache_home" and "home" const.
102         * top.c (init_history): Make "tmpenv" const.
103         * main.c (get_init_files): Make "homedir" const.
104
105 2018-09-23  Tom Tromey  <tom@tromey.com>
106
107         PR python/18852:
108         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
109
110 2018-09-23  Tom Tromey  <tom@tromey.com>
111
112         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
113         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
114         * python/python-internal.h (gdbpy_handle_exception): Declare.
115         * python/py-utils.c (gdbpy_handle_exception): New function.
116
117 2018-09-23  Tom Tromey  <tom@tromey.com>
118
119         PR python/17284:
120         * python/py-type.c (typy_template_argument): Check for negative
121         argument number.
122
123 2018-09-23  Tom Tromey  <tom@tromey.com>
124
125         PR python/14062:
126         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
127
128 2018-09-23  Tom Tromey  <tom@tromey.com>
129
130         PR python/18170:
131         * python/py-value.c (valpy_int): Allow conversion from pointer
132         type.
133
134 2018-09-23  Tom Tromey  <tom@tromey.com>
135
136         PR python/20126:
137         * python/py-value.c (valpy_int): Respect type sign.
138
139 2018-09-23  Tom Tromey  <tom@tromey.com>
140
141         PR python/18352;
142         * python/py-value.c (valpy_float): Allow conversions from int or
143         char.
144         (valpy_int, valpy_long): Allow conversions from float.
145
146 2018-09-23  Tom Tromey  <tom@tromey.com>
147
148         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
149         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
150
151 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
152
153         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
154         __sighndlr.
155         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
156
157 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
158
159         * windows-nat.c (windows_nat_target::wait): Remove a spurious
160         target_terminal::ours().
161
162 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
163
164         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
165         of vl to ULONGEST.
166
167 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
168
169         * breakpoint.c (update_inserted_breakpoint_locations): Remove
170         redundant condition.
171
172 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
173
174         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
175
176         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
177         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
178         * sol-thread.c (ps_pdmodel): Don't guard definition.
179
180         * procfs.c: Fix formatting.
181
182         * procfs.c (sysset_t_alloc): Remove.
183         (create_procinfo): Use XNEW instead of sysset_t_alloc.
184         (procfs_debug_inferior): Likewise.
185         (procfs_set_exec_trap): Likewise.
186         (proc_set_traced_sysentry): Don't allocate argp dynamically.
187         (proc_set_traced_sysexit): Likewise.
188
189         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
190         (dead_procinfo): Likewise.
191         (proc_warn): Likewise.
192         (proc_error): Likewise.
193         (proc_get_LDT_entry): Likewise.
194         (do_attach): Likewise.
195         (procfs_target::pid_to_str): Likewise.
196         (iterate_over_mappings): Likewise.
197
198         * procfs.c (create_procinfo): Fix ARI warning.
199         (proc_get_status): Likewise.
200         (proc_stop_process): Likewise.
201         (proc_run_process): Likewise.
202         (proc_kill): Likewise.
203         (proc_get_LDT_entry): Likewise.
204         (procfs_find_LDT_entry): Likewise.
205         (proc_update_threads): Likewise.
206         (proc_iterate_over_threads): Likewise.
207         (do_attach): Likewise.
208         (procfs_xfer_memory): Likewise.
209         (invalidate_cache): Likewise.
210         (procfs_target::resume): Likewise.
211         (procfs_init_inferior): Likewise.
212         (procfs_set_exec_trap): Likewise.
213         (procfs_target::thread_alive): Likewise.
214         (procfs_target::pid_to_exec_file): Likewise.
215         (iterate_over_mappings): Likewise.
216         (procfs_target::make_corefile_notes): Likewise.
217         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
218
219         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
220         (procfs_find_LDT_entry): Likewise.
221         * sol-thread.c (ps_lgetLDT): Likewise.
222
223 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
224
225         PR tdep/17903
226         * procfs.c (procfs_target): Declare pid_to_exec_file.
227         (procfs_target::pid_to_exec_file): New.
228
229 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
230
231         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
232         renaming.
233         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
234         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
235
236 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
237
238         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
239         (supply_fpregset, fill_fpregset): Move ...
240         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
241         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
242         Remove references to ioctl-based procfs.
243         Include <sys/reg.h>.
244         Remove PR_MODEL_NATIVE guards.
245         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
246         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
247
248 2018-09-19  Xavier Roirand  <roirand@adacore.com>
249
250         PR gdb/20981:
251         * solib-darwin.c (darwin_get_dyld_bfd): New function.
252         (darwin_solib_get_all_image_info_addr_at_init): Update call.
253         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
254
255 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
256
257         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
258         (fbsd_print_sockaddr_in6): Likewise.
259
260 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
261             Chris January  <chris.january@arm.com>
262
263         * eval.c (skip_undetermined_arglist): Skip argument list helper.
264         (evaluate_subexp_standard): Return a dummy type when
265         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
266         OP_F77_UNDETERMINED_ARGLIST case.
267         * expression.h (enum noside): Update comment.
268
269 2018-09-19  George Vasick <george.vasick@oracle.com>
270
271         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
272
273 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
274             April Chin <april.chin@oracle.com>
275             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
276
277         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
278         uint_t lwpid_t.
279         (create_procinfo): Print pids in /proc without leading zeros.
280
281 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
282
283         * nios2-tdep.c (nios2_gcc_target_options): New.
284         (nios2_gdb_arch_init): Install new hook.
285
286 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
287
288         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
289         New file.
290         * update-gnulib.sh: Apply patch.
291         * configure: Re-generate.
292
293 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
294
295         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
296         description.  Make "info proc" command descriptions more
297         consistent.
298
299 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
300
301         * NEWS: Mention 'info proc files' command.
302
303 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
304
305         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
306         descriptors for IP_FILES and IP_ALL.
307
308 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
309
310         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
311         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
312         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
313         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
314         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
315         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
316         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
317         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
318         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
319         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
320         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
321         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
322         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
323         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
324         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
325         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
326         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
327         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
328         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
329         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
330         (struct fbsd_sockaddr_un): New types.
331         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
332         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
333         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
334         (fbsd_core_info_proc_files): New functions.
335         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
336         IP_ALL.
337         * fbsd-tdep.h (fbsd_info_proc_files_header)
338         (fbsd_info_proc_files_entry): New.
339
340 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
341
342         * defs.h (enum info_proc_what) [IP_FILES]: New value.
343         * infcmd.c (info_proc_cmd_files): New function.
344         (_initialize_infcmd): Register 'info proc files' command.
345
346 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
347
348         * gnulib/aclocal-m4-deps.mk: Re-generate.
349         * gnulib/aclocal.m4: Re-generate.
350         * gnulib/config.in: Re-generate.
351         * gnulib/configure: Re-generate.
352         * gnulib/import/Makefile.am: Re-generate.
353         * gnulib/import/Makefile.in: Re-generate.
354         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
355         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
356         * gnulib/import/arpa_inet.in.h: New file.
357         * gnulib/import/inet_ntop.c: New file.
358         * gnulib/import/m4/arpa_inet_h.m4: New file.
359         * gnulib/import/m4/inet_ntop.m4: New file.
360         * gnulib/import/m4/netinet_in_h.m4: New file.
361         * gnulib/import/m4/socklen.m4: New file.
362         * gnulib/import/m4/sockpfaf.m4: New file.
363         * gnulib/import/m4/stdalign.m4: New file.
364         * gnulib/import/m4/sys_uio_h.m4: New file.
365         * gnulib/import/netinet_in.in.h: New file.
366         * gnulib/import/stdalign.in.h: New file.
367         * gnulib/import/sys_socket.c: New file.
368         * gnulib/import/sys_socket.in.h: New file.
369         * gnulib/import/sys_uio.in.h: New file.
370         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
371         module.
372
373 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
374
375         * gnulib/aclocal-m4-deps.mk: New file.
376         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
377         deterministically.
378
379 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
380
381         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
382         KVE_PATH.
383
384 2018-09-18  Tom Tromey  <tom@tromey.com>
385
386         * compile/compile-object-load.c (struct
387         link_hash_table_cleanup_data): Add constructor and destructor.
388         Use DISABLE_COPY_AND_ASSIGN.
389         (~link_hash_table_cleanup_data): Rename from
390         link_hash_table_free.  Now a destructor.
391         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
392
393 2018-09-18  Tom Tromey  <tom@tromey.com>
394
395         * compile/compile-object-run.c (do_module_cleanup): Use delete.
396         * compile/compile-object-load.c (struct munmap_list): Move to
397         header file.
398         (munmap_list::add): Rename from munmap_list_add; rewrite.
399         (munmap_list::~munmap_list): Rename from munmap_list_free.
400         (munmap_listp_free_cleanup): Remove.
401         (compile_object_load): Update.
402         * compile/compile-object-load.h (struct munmap_list): Move from
403         compile-object-load.c.  Rewrite.
404
405 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
406
407         * aarch64-tdep.c (pass_in_v): Use register size.
408         (aarch64_extract_return_value): Likewise.
409         (aarch64_store_return_value): Likewise.
410
411 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
412
413         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
414         rlim_t.
415
416 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
417
418         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
419         Fix short help line.
420
421 2018-09-17  Tom Tromey  <tom@tromey.com>
422
423         PR python/20445:
424         * configure: Rebuild.
425         * configure.ac: Conditionally use -DNDEBUG for Python.
426
427 2018-09-17  Tom Tromey  <tom@tromey.com>
428
429         * configure: Rebuild.
430         * configure.ac: Use gmp as a library dependency when checking for
431         mpfr.
432
433 2018-09-17  Pedro Alves  <palves@redhat.com>
434
435         * python/py-inferior.c (find_inferior_object): Delete.
436
437 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
438
439         * compile/compile-cplus-types.c
440         (compile_cplus_instance::enter_scope): Don't use new_scope after
441         std::move.
442
443 2018-09-17  Tom Tromey  <tom@tromey.com>
444
445         * common/pathstuff.c (get_standard_cache_dir): Use
446         ~/Library/Caches on macOS.
447         * common/pathstuff.h (get_standard_cache_dir): Update comment.
448
449 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
450
451         PR python/23669
452         * breakpoint.c (commands_cmd_element): New.
453         (_initialize_breakpoint): Assign commands_cmd_element.
454         * breakpoint.h (commands_cmd_element): New.
455         * cli/cli-script.c (while_cmd_element, if_command,
456         define_cmd_element): New.
457         (command_name_equals): Remove.
458         (process_next_line): Compare commands by pointer, not by name.
459         (_initialize_cli_script): Assign the various cmd_list_element
460         variables.
461         * compile/compile.c (compile_cmd_element): New.
462         (_initialize_compile): Assign compile_cmd_element.
463         * compile/compile.h (compile_cmd_element): New.
464         * guile/guile.c (guile_cmd_element): New.
465         (install_gdb_commands): Assign guile_cmd_element.
466         * guile/guile.h (guile_cmd_element): New.
467         * python/python.c (python_cmd_element): New.
468         (_initialize_python): Assign python_cmd_element.
469         * python/python.h (python_cmd_element): New.
470         * tracepoint.c (while_stepping_cmd_element): New.
471         (_initialize_tracepoint): Assign while_stepping_cmd_element.
472         * tracepoint.h (while_stepping_cmd_element): New.
473
474 2018-09-17  Tom Tromey  <tom@tromey.com>
475
476         * infrun.c (save_infcall_suspend_state): Return
477         infcall_suspend_state_up.
478         (save_infcall_control_state): Return infcall_control_state_up.
479         * inferior.h (save_infcall_suspend_state)
480         (save_infcall_control_state): Declare later.  Return unique
481         pointers.
482
483 2018-09-17  Tom Tromey  <tom@tromey.com>
484
485         * infrun.c (struct stop_context): Declare constructor,
486         destructor, "changed" method.
487         (stop_context::stop_context): Rename from save_stop_context.
488         (stop_context::~stop_context): Rename from
489         release_stop_context_cleanup.
490         (normal_stop): Update.
491         (stop_context::changed): Rename from stop_context_changed.  Return
492         bool.
493
494 2018-09-17  Tom Tromey  <tom@tromey.com>
495
496         * inferior.h (struct infcall_suspend_state_deleter): New.
497         (infcall_suspend_state_up): New typedef.
498         (struct infcall_control_state_deleter): New.
499         (infcall_control_state_up): New typedef.
500         (make_cleanup_restore_infcall_suspend_state)
501         (make_cleanup_restore_infcall_control_state): Don't declare.
502         * infcall.c (call_function_by_hand_dummy): Update.
503         * infrun.c (do_restore_infcall_suspend_state_cleanup)
504         (make_cleanup_restore_infcall_suspend_state): Remove.
505         (do_restore_infcall_control_state_cleanup)
506         (make_cleanup_restore_infcall_control_state): Remove.
507
508 2018-09-17  Tom Tromey  <tom@tromey.com>
509
510         * gdbthread.h (struct thread_control_state): Add initializer.
511         (class thread_info) <control>: Remove initializer.
512         * inferior.h (struct inferior_control_state): Add initializer.
513         (class inferior) <control>: Remove initializer.
514         (exit_inferior_1): Update.
515         * infrun.c (struct infcall_control_state): Add constructors.
516         (save_infcall_control_state): Use new.
517         (restore_infcall_control_state, discard_infcall_control_state):
518         Use delete.
519
520 2018-09-17  Tom Tromey  <tom@tromey.com>
521
522         * infrun.c (struct infcall_suspend_state) <registers>: Now a
523         unique_ptr.
524         <siginfo_data>: Now a unique_xmalloc_ptr.
525         (save_infcall_suspend_state, restore_infcall_suspend_state)
526         (discard_infcall_suspend_state)
527         (get_infcall_suspend_state_regcache): Update.
528
529 2018-09-17  Tom Tromey  <tom@tromey.com>
530
531         * gdbthread.h (struct thread_suspend_state): Add initializers.
532         (class thread_info) <suspend>: Remove initializer.
533         * infrun.c (struct infcall_suspend_state): Add initializers.
534         (save_infcall_suspend_state): Use new.
535         (discard_infcall_suspend_state): Use delete.
536
537 2018-09-16  Tom Tromey  <tom@tromey.com>
538
539         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
540         Remove.
541         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
542         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
543         (py_varobj_iter_new): Likewise.
544         (py_varobj_get_iterator): Use gdbpy_ref.
545
546 2018-09-16  Tom Tromey  <tom@tromey.com>
547
548         * python/py-threadevent.c (py_get_event_thread): Simplify.
549         * python/py-inferior.c (infpy_thread_from_thread_handle):
550         Return immediately after calling thread_to_thread_object.  Use
551         Py_RETURN_NONE.
552         (thread_to_thread_object): Set the exception on a NULL return.
553
554 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
555
556         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
557
558 2018-09-16  Tom Tromey  <tom@tromey.com>
559
560         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
561         Remove.
562
563 2018-09-16  Tom Tromey  <tom@tromey.com>
564
565         * python/python-internal.h (thread_to_thread_object): Change
566         return type.
567         * python/py-inferior.c (thread_to_thread_object): Return a new
568         reference.
569         (infpy_thread_from_thread_handle): Update.
570         * python/py-infthread.c (gdbpy_selected_thread): Update.
571         * python/py-stopevent.c (create_stop_event_object): Update.
572         * python/py-threadevent.c (py_get_event_thread): Return a new
573         reference.
574         (py_get_event_thread): Update.
575         * python/py-event.h (py_get_event_thread): Change return type.
576         * python/py-continueevent.c (create_continue_event_object):
577         Update.
578
579 2018-09-16  Tom Tromey  <tom@tromey.com>
580
581         * python/py-progspace.c (pspy_get_objfiles): Update.
582         * python/python-internal.h (objfile_to_objfile_object): Change
583         return type.
584         * python/py-newobjfileevent.c (create_new_objfile_event_object):
585         Update.
586         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
587         Update.
588         * python/python.c (gdbpy_get_current_objfile): Update.
589         (gdbpy_objfiles): Update.
590         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
591         Update.
592         (objfile_to_objfile_object): Return a new reference.
593         * python/py-symtab.c (stpy_get_objfile): Update.
594         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
595         Update.
596
597 2018-09-16  Tom Tromey  <tom@tromey.com>
598
599         * python/py-inferior.c (infpy_get_progspace): Update.
600         * python/python-internal.h (pspace_to_pspace_object): Change
601         return type.
602         * python/py-newobjfileevent.c
603         (create_clear_objfiles_event_object): Update.
604         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
605         Update.
606         * python/python.c (gdbpy_get_current_progspace): Update.
607         (gdbpy_progspaces): Update.
608         * python/py-progspace.c (pspace_to_pspace_object): Return a new
609         reference.
610         * python/py-objfile.c (objfpy_get_progspace): Update.
611         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
612         Update.
613
614 2018-09-16  Tom Tromey  <tom@tromey.com>
615
616         * python/lib/gdb/__init__.py (current_progspace, objfiles)
617         (solib_name, block_for_pc, find_pc_line): New functions.
618         (execute_unwinders): Update.
619         * python/py-block.c (gdbpy_block_for_pc): Remove.
620         * python/py-inferior.c (infpy_get_progspace): New function.
621         (inferior_object_getset) <progspace>: Add.
622         * python/py-progspace.c (pspy_objfiles): Rewrite.
623         (pspy_solib_name, pspy_block_for_pc)
624         (pspy_find_pc_line, pspy_is_valid): New functions.
625         (progspace_object_methods): Add entries for solib_name,
626         block_for_pc, find_pc_line, is_valid.
627         * python/python-internal.h (gdbpy_block_for_pc)
628         (build_objfiles_list): Don't declare.
629         * python/python.c: Don't include solib.h.
630         (gdbpy_solib_name, gdbpy_find_pc_line)
631         (gdbpy_get_current_progspace, build_objfiles_list)
632         (gdbpy_objfiles): Remove.
633         (GdbMethods) <current_progspace, objfiles, block_for_pc,
634         solib_name, find_pc_line>: Remove entries.
635
636 2018-09-16  Tom Tromey  <tom@tromey.com>
637
638         * top.c (new_ui_command): Use GNU style for metasyntactic
639         variables.
640         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
641         variables.
642         * maint.c (maintenance_translate_address): Remove "<>" around
643         text.
644         * interps.c (interpreter_exec_cmd): Use GNU style for
645         metasyntactic variables.
646         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
647         metasyntactic variables.
648         * tracepoint.c (tfind_range_command): Use GNU style for
649         metasyntactic variables.
650         (tfind_outside_command): Likewise.
651         (_initialize_tracepoint): Likewise.
652         * remote.c (extended_remote_target::create_inferior): Use GNU
653         style for metasyntactic variables.
654         * sparc64-tdep.c (adi_examine_command): Use GNU style for
655         metasyntactic variables.
656         (adi_assign_command): Likewise.
657
658 2018-09-16  Tom Tromey  <tom@tromey.com>
659
660         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
661         metasyntactic variables.  Print message if no disassembler options
662         are available.
663
664 2018-09-15  Tom Tromey  <tom@tromey.com>
665
666         * infcmd.c (get_inferior_args): Return const char *.
667         * inferior.h (get_inferior_args): Return type now const.
668         * linux-tdep.c (linux_fill_prpsinfo): Update.
669         * procfs.c (procfs_target::make_corefile_notes): Update.
670
671 2018-09-07  Tom Tromey  <tom@tromey.com>
672
673         * python/python.c (execute_gdb_command): Call bpstat_do_actions
674         inside the TRY.
675
676 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
677
678         * nios2-tdep.c (nios2_type_align): New.
679         (nios2_gdb_arch_init): Install type_align hook.
680
681 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
682
683         * eval.c (fake_method::fake_method): Call xzalloc directly for a
684         type that is neither object file owned, nor gdbarch owned.
685         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
686         gdbarch is non-NULL.
687         (alloc_type_instance): Allocate non-objfile owned types on the
688         gdbarch obstack.
689         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
690         using TYPE_ALLOC to ensure memory is allocated on the correct
691         obstack.
692         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
693         obstack, or the gdbarch obstack.
694         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
695
696 2018-09-14  Tom Tromey  <tom@tromey.com>
697
698         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
699         block.
700
701 2018-09-14  Tom Tromey  <tom@tromey.com>
702
703         * nat/fork-inferior.c (get_startup_shell): Remove "static".
704
705 2018-09-13  Tom Tromey  <tom@tromey.com>
706
707         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
708         static.
709
710 2018-09-13  Tom Tromey  <tom@tromey.com>
711
712         * exec.c (try_open_exec_file): Use std::string.
713
714 2018-09-13  Tom Tromey  <tom@tromey.com>
715
716         * utils.h (gdb_bfd_errmsg): Return std::string.
717         * exec.c (exec_file_attach): Update.
718         * compile/compile-object-load.c (compile_object_load): Update.
719         * utils.c (gdb_bfd_errmsg): Return std::string.
720
721 2018-09-13  Tom Tromey  <tom@tromey.com>
722
723         * procfs.c (struct procinfo_deleter): New.
724         (procinfo_up): New typedef.
725         (do_destroy_procinfo_cleanup): Remove.
726         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
727
728 2018-09-13  Tom Tromey  <tom@tromey.com>
729
730         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
731
732 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
733 2018-09-13  Tom Tromey  <tom@tromey.com>
734
735         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
736         (pspy_get_objfiles): New function.
737         (progspace_object_methods): New.
738         (pspace_object_type): Add tp_methods callback.
739         * python/python-internal.h (build_objfiles_list): New
740         declaration.
741         * python/python.c (build_objfiles_list): New function.
742         (gdbpy_objfiles): Implement using build_objfiles_list.
743         * NEWS: Mention the Progspace.objfiles method.
744
745 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
746
747         * python/py-inferior.c (infpy_get_progspace): New function.
748         (inferior_object_getset): Add progspace property.
749         * NEWS: Mention the new property.
750
751 2018-09-13  Tom Tromey  <tom@tromey.com>
752
753         PR rust/23650:
754         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
755
756 2018-09-13  Tom Tromey  <tom@tromey.com>
757
758         PR rust/23626:
759         * rust-lang.c (rust_enum_variant): Now static.
760         (rust_empty_enum_p): New function.
761         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
762         Handle empty enum.
763
764 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
765
766         * python/py-inferior.c (infpy_repr): New.
767         (inferior_object_type): Register infpy_repr.
768         * python/py-objfile.c (objfpy_repr): New.
769         (objfile_object_type): Register objfpy_repr.
770
771 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
772
773         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
774
775 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
776
777         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
778         typo.
779
780 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
781
782         * common/common-utils.c: Don't include '<sys/stat.h>'.
783         (is_regular_file): Move to...
784         * common/filestuff.c (is_regular_file): ... here.
785         * common/common-utils.h (is_regular_file): Move to...
786         * common/filestuff.h (is_regular_file): ... here.
787
788 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
789
790         * skip.c (debug_skip): New variable.
791         (skiplist_entry::do_skip_file_p): Add debug output.
792         (skiplist_entry::do_skip_gfile_p): Likewise.
793         (skiplist_entry::skip_function_p): Likewise.
794         (_initialize_step_skip): Create debug command.
795         * NEWS: Mention set/show debug skip.
796
797 2018-09-11  Xavier Roirand  <roirand@adacore.com>
798
799         * darwin-nat.c (should_disable_startup_with_shell):
800         New function.
801         (darwin_nat_target::create_inferior): Add call.
802
803 2018-09-11  Xavier Roirand  <roirand@adacore.com>
804
805         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
806         inf_port, msg_state>: Initialize.
807         (struct darwin_thread_info) <signaled, single_step>: Change
808         type and initialize.
809         (struct darwin_thread_info) <event>: Initialize.
810
811 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
812
813         PR gdb/23555
814         PR gdb/23558
815         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
816         guesses.
817
818 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
819
820         Revert:
821         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
822
823         PR gdb/23555
824         PR gdb/23558
825         * gnulib/aclocal.m4: Regenerate.
826         * gnulib/config.in: Regenerate.
827         * gnulib/configure: Regenerate.
828         * gnulib/import/Makefile.am: Update.
829         * gnulib/import/Makefile.in: Update.
830         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
831         * gnulib/import/_Noreturn.h: ... this.
832         * gnulib/import/alloca.in.h: Update.
833         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
834         * gnulib/import/arg-nonnull.h: ... this.
835         * gnulib/import/assure.h: Update.
836         * gnulib/import/at-func.c: Update.
837         * gnulib/import/basename-lgpl.c: Update.
838         * gnulib/import/extra/snippet/c++defs.h: Rename to...
839         * gnulib/import/c++defs.h: ... this.
840         * gnulib/import/canonicalize-lgpl.c: Update.
841         * gnulib/import/cdefs.h: Update.
842         * gnulib/import/chdir-long.c: Update.
843         * gnulib/import/chdir-long.h: Update.
844         * gnulib/import/cloexec.c: Update.
845         * gnulib/import/cloexec.h: Update.
846         * gnulib/import/close.c: Update.
847         * gnulib/import/closedir.c: Update.
848         * gnulib/import/config.charset: Update.
849         * gnulib/import/dirent-private.h: Update.
850         * gnulib/import/dirent.in.h: Update.
851         * gnulib/import/dirfd.c: Update.
852         * gnulib/import/dirname-lgpl.c: Update.
853         * gnulib/import/dirname.h: Update.
854         * gnulib/import/dosname.h: Update.
855         * gnulib/import/dup-safer-flag.c: Update.
856         * gnulib/import/dup-safer.c: Update.
857         * gnulib/import/dup.c: Update.
858         * gnulib/import/dup2.c: Update.
859         * gnulib/import/errno.in.h: Update.
860         * gnulib/import/error.c: Update.
861         * gnulib/import/error.h: Update.
862         * gnulib/import/exitfail.c: Update.
863         * gnulib/import/exitfail.h: Update.
864         * gnulib/import/extra/update-copyright: Update.
865         * gnulib/import/fchdir.c: Update.
866         * gnulib/import/fcntl.c: Update.
867         * gnulib/import/fcntl.in.h: Update.
868         * gnulib/import/fd-hook.c: Update.
869         * gnulib/import/fd-hook.h: Update.
870         * gnulib/import/fd-safer-flag.c: Update.
871         * gnulib/import/fd-safer.c: Update.
872         * gnulib/import/fdopendir.c: Update.
873         * gnulib/import/filename.h: Update.
874         * gnulib/import/filenamecat-lgpl.c: Update.
875         * gnulib/import/filenamecat.h: Update.
876         * gnulib/import/flexmember.h: Update.
877         * gnulib/import/float+.h: Update.
878         * gnulib/import/float.c: Update.
879         * gnulib/import/float.in.h: Update.
880         * gnulib/import/fnmatch.c: Update.
881         * gnulib/import/fnmatch.in.h: Update.
882         * gnulib/import/fnmatch_loop.c: Update.
883         * gnulib/import/fpucw.h: Update.
884         * gnulib/import/frexp.c: Update.
885         * gnulib/import/frexpl.c: Update.
886         * gnulib/import/fstat.c: Update.
887         * gnulib/import/fstatat.c: Update.
888         * gnulib/import/getcwd-lgpl.c: Update.
889         * gnulib/import/getcwd.c: Update.
890         * gnulib/import/getdtablesize.c: Update.
891         * gnulib/import/getlogin_r.c: Update.
892         * gnulib/import/getprogname.c: Update.
893         * gnulib/import/getprogname.h: Update.
894         * gnulib/import/gettext.h: Update.
895         * gnulib/import/gettimeofday.c: Update.
896         * gnulib/import/glob-libc.h: Update.
897         * gnulib/import/glob.c: Update.
898         * gnulib/import/glob.in.h: Update.
899         * gnulib/import/glob_internal.h: Update.
900         * gnulib/import/glob_pattern_p.c: Update.
901         * gnulib/import/globfree.c: Update.
902         * gnulib/import/hard-locale.c: Update.
903         * gnulib/import/hard-locale.h: Update.
904         * gnulib/import/intprops.h: Update.
905         * gnulib/import/inttypes.in.h: Update.
906         * gnulib/import/isnan.c: Update.
907         * gnulib/import/isnand-nolibm.h: Update.
908         * gnulib/import/isnand.c: Update.
909         * gnulib/import/isnanl-nolibm.h: Update.
910         * gnulib/import/isnanl.c: Update.
911         * gnulib/import/itold.c: Update.
912         * gnulib/import/libc-config.h: Update.
913         * gnulib/import/limits.in.h: Update.
914         * gnulib/import/localcharset.c: Update.
915         * gnulib/import/localcharset.h: Update.
916         * gnulib/import/localtime-buffer.c: Update.
917         * gnulib/import/localtime-buffer.h: Update.
918         * gnulib/import/lstat.c: Update.
919         * gnulib/import/m4/00gnulib.m4: Update.
920         * gnulib/import/m4/__inline.m4: Update.
921         * gnulib/import/m4/absolute-header.m4: Update.
922         * gnulib/import/m4/alloca.m4: Update.
923         * gnulib/import/m4/builtin-expect.m4: Update.
924         * gnulib/import/m4/canonicalize.m4: Update.
925         * gnulib/import/m4/chdir-long.m4: Update.
926         * gnulib/import/m4/close.m4: Update.
927         * gnulib/import/m4/closedir.m4: Update.
928         * gnulib/import/m4/configmake.m4: Update.
929         * gnulib/import/m4/d-ino.m4: Update.
930         * gnulib/import/m4/d-type.m4: Update.
931         * gnulib/import/m4/dirent_h.m4: Update.
932         * gnulib/import/m4/dirfd.m4: Update.
933         * gnulib/import/m4/dirname.m4: Update.
934         * gnulib/import/m4/double-slash-root.m4: Update.
935         * gnulib/import/m4/dup.m4: Update.
936         * gnulib/import/m4/dup2.m4: Update.
937         * gnulib/import/m4/eealloc.m4: Update.
938         * gnulib/import/m4/environ.m4: Update.
939         * gnulib/import/m4/errno_h.m4: Update.
940         * gnulib/import/m4/error.m4: Update.
941         * gnulib/import/m4/exponentd.m4: Update.
942         * gnulib/import/m4/exponentl.m4: Update.
943         * gnulib/import/m4/extensions.m4: Update.
944         * gnulib/import/m4/extern-inline.m4: Update.
945         * gnulib/import/m4/fchdir.m4: Update.
946         * gnulib/import/m4/fcntl-o.m4: Update.
947         * gnulib/import/m4/fcntl.m4: Update.
948         * gnulib/import/m4/fcntl_h.m4: Update.
949         * gnulib/import/m4/fdopendir.m4: Update.
950         * gnulib/import/m4/filenamecat.m4: Update.
951         * gnulib/import/m4/flexmember.m4: Update.
952         * gnulib/import/m4/float_h.m4: Update.
953         * gnulib/import/m4/fnmatch.m4: Update.
954         * gnulib/import/m4/fnmatch_h.m4: Update.
955         * gnulib/import/m4/fpieee.m4: Update.
956         * gnulib/import/m4/frexp.m4: Update.
957         * gnulib/import/m4/frexpl.m4: Update.
958         * gnulib/import/m4/fstat.m4: Update.
959         * gnulib/import/m4/fstatat.m4: Update.
960         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
961         * gnulib/import/m4/getcwd-path-max.m4: Update.
962         * gnulib/import/m4/getcwd.m4: Update.
963         * gnulib/import/m4/getdtablesize.m4: Update.
964         * gnulib/import/m4/getlogin.m4: Update.
965         * gnulib/import/m4/getlogin_r.m4: Update.
966         * gnulib/import/m4/getpagesize.m4: Update.
967         * gnulib/import/m4/getprogname.m4: Update.
968         * gnulib/import/m4/gettimeofday.m4: Update.
969         * gnulib/import/m4/glibc21.m4: Update.
970         * gnulib/import/m4/glob.m4: Update.
971         * gnulib/import/m4/glob_h.m4: Update.
972         * gnulib/import/m4/gnulib-cache.m4: Update.
973         * gnulib/import/m4/gnulib-common.m4: Update.
974         * gnulib/import/m4/gnulib-comp.m4: Update.
975         * gnulib/import/m4/gnulib-tool.m4: Update.
976         * gnulib/import/m4/hard-locale.m4: Update.
977         * gnulib/import/m4/include_next.m4: Update.
978         * gnulib/import/m4/inttypes-pri.m4: Update.
979         * gnulib/import/m4/inttypes.m4: Update.
980         * gnulib/import/m4/isnand.m4: Update.
981         * gnulib/import/m4/isnanl.m4: Update.
982         * gnulib/import/m4/largefile.m4: Update.
983         * gnulib/import/m4/limits-h.m4: Update.
984         * gnulib/import/m4/localcharset.m4: Update.
985         * gnulib/import/m4/locale-fr.m4: Update.
986         * gnulib/import/m4/locale-ja.m4: Update.
987         * gnulib/import/m4/locale-zh.m4: Update.
988         * gnulib/import/m4/localtime-buffer.m4: Update.
989         * gnulib/import/m4/longlong.m4: Update.
990         * gnulib/import/m4/lstat.m4: Update.
991         * gnulib/import/m4/malloc.m4: Update.
992         * gnulib/import/m4/malloca.m4: Update.
993         * gnulib/import/m4/math_h.m4: Update.
994         * gnulib/import/m4/mbrtowc.m4: Update.
995         * gnulib/import/m4/mbsinit.m4: Update.
996         * gnulib/import/m4/mbsrtowcs.m4: Update.
997         * gnulib/import/m4/mbstate_t.m4: Update.
998         * gnulib/import/m4/memchr.m4: Update.
999         * gnulib/import/m4/memmem.m4: Update.
1000         * gnulib/import/m4/mempcpy.m4: Update.
1001         * gnulib/import/m4/memrchr.m4: Update.
1002         * gnulib/import/m4/mkdir.m4: Update.
1003         * gnulib/import/m4/mkstemp.m4: Update.
1004         * gnulib/import/m4/mmap-anon.m4: Update.
1005         * gnulib/import/m4/mode_t.m4: Update.
1006         * gnulib/import/m4/msvc-inval.m4: Update.
1007         * gnulib/import/m4/msvc-nothrow.m4: Update.
1008         * gnulib/import/m4/multiarch.m4: Update.
1009         * gnulib/import/m4/nocrash.m4: Update.
1010         * gnulib/import/m4/off_t.m4: Update.
1011         * gnulib/import/m4/onceonly.m4: Update.
1012         * gnulib/import/m4/open-cloexec.m4: Update.
1013         * gnulib/import/m4/open.m4: Update.
1014         * gnulib/import/m4/openat.m4: Update.
1015         * gnulib/import/m4/opendir.m4: Update.
1016         * gnulib/import/m4/pathmax.m4: Update.
1017         * gnulib/import/m4/rawmemchr.m4: Update.
1018         * gnulib/import/m4/readdir.m4: Update.
1019         * gnulib/import/m4/readlink.m4: Update.
1020         * gnulib/import/m4/realloc.m4: Update.
1021         * gnulib/import/m4/rename.m4: Update.
1022         * gnulib/import/m4/rewinddir.m4: Update.
1023         * gnulib/import/m4/rmdir.m4: Update.
1024         * gnulib/import/m4/save-cwd.m4: Update.
1025         * gnulib/import/m4/secure_getenv.m4: Update.
1026         * gnulib/import/m4/setenv.m4: Update.
1027         * gnulib/import/m4/signal_h.m4: Update.
1028         * gnulib/import/m4/ssize_t.m4: Update.
1029         * gnulib/import/m4/stat-time.m4: Update.
1030         * gnulib/import/m4/stat.m4: Update.
1031         * gnulib/import/m4/std-gnu11.m4: Update.
1032         * gnulib/import/m4/stdbool.m4: Update.
1033         * gnulib/import/m4/stddef_h.m4: Update.
1034         * gnulib/import/m4/stdint.m4: Update.
1035         * gnulib/import/m4/stdio_h.m4: Update.
1036         * gnulib/import/m4/stdlib_h.m4: Update.
1037         * gnulib/import/m4/strchrnul.m4: Update.
1038         * gnulib/import/m4/strdup.m4: Update.
1039         * gnulib/import/m4/strerror.m4: Update.
1040         * gnulib/import/m4/string_h.m4: Update.
1041         * gnulib/import/m4/strstr.m4: Update.
1042         * gnulib/import/m4/strtok_r.m4: Update.
1043         * gnulib/import/m4/sys_socket_h.m4: Update.
1044         * gnulib/import/m4/sys_stat_h.m4: Update.
1045         * gnulib/import/m4/sys_time_h.m4: Update.
1046         * gnulib/import/m4/sys_types_h.m4: Update.
1047         * gnulib/import/m4/tempname.m4: Update.
1048         * gnulib/import/m4/time_h.m4: Update.
1049         * gnulib/import/m4/unistd-safer.m4: Update.
1050         * gnulib/import/m4/unistd_h.m4: Update.
1051         * gnulib/import/m4/warn-on-use.m4: Update.
1052         * gnulib/import/m4/wchar_h.m4: Update.
1053         * gnulib/import/m4/wchar_t.m4: Update.
1054         * gnulib/import/m4/wctype_h.m4: Update.
1055         * gnulib/import/m4/wint_t.m4: Update.
1056         * gnulib/import/malloc.c: Update.
1057         * gnulib/import/malloc/scratch_buffer.h: Update.
1058         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1059         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1060         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1061         * gnulib/import/malloca.c: Update.
1062         * gnulib/import/malloca.h: Update.
1063         * gnulib/import/malloca.valgrind: Update.
1064         * gnulib/import/math.in.h: Update.
1065         * gnulib/import/mbrtowc.c: Update.
1066         * gnulib/import/mbsinit.c: Update.
1067         * gnulib/import/mbsrtowcs-impl.h: Update.
1068         * gnulib/import/mbsrtowcs-state.c: Update.
1069         * gnulib/import/mbsrtowcs.c: Update.
1070         * gnulib/import/memchr.c: Update.
1071         * gnulib/import/memmem.c: Update.
1072         * gnulib/import/mempcpy.c: Update.
1073         * gnulib/import/memrchr.c: Update.
1074         * gnulib/import/mkdir.c: Update.
1075         * gnulib/import/mkstemp.c: Update.
1076         * gnulib/import/msvc-inval.c: Update.
1077         * gnulib/import/msvc-inval.h: Update.
1078         * gnulib/import/msvc-nothrow.c: Update.
1079         * gnulib/import/msvc-nothrow.h: Update.
1080         * gnulib/import/open.c: Update.
1081         * gnulib/import/openat-die.c: Update.
1082         * gnulib/import/openat-priv.h: Update.
1083         * gnulib/import/openat-proc.c: Update.
1084         * gnulib/import/openat.c: Update.
1085         * gnulib/import/openat.h: Update.
1086         * gnulib/import/opendir.c: Update.
1087         * gnulib/import/pathmax.h: Update.
1088         * gnulib/import/pipe-safer.c: Update.
1089         * gnulib/import/rawmemchr.c: Update.
1090         * gnulib/import/readdir.c: Update.
1091         * gnulib/import/readlink.c: Update.
1092         * gnulib/import/realloc.c: Update.
1093         * gnulib/import/ref-add.sin: Update.
1094         * gnulib/import/ref-del.sin: Update.
1095         * gnulib/import/rename.c: Update.
1096         * gnulib/import/rewinddir.c: Update.
1097         * gnulib/import/rmdir.c: Update.
1098         * gnulib/import/same-inode.h: Update.
1099         * gnulib/import/save-cwd.c: Update.
1100         * gnulib/import/save-cwd.h: Update.
1101         * gnulib/import/scratch_buffer.h: Update.
1102         * gnulib/import/secure_getenv.c: Update.
1103         * gnulib/import/setenv.c: Update.
1104         * gnulib/import/signal.in.h: Update.
1105         * gnulib/import/stat-time.c: Update.
1106         * gnulib/import/stat-time.h: Update.
1107         * gnulib/import/stat-w32.c: Update.
1108         * gnulib/import/stat-w32.h: Update.
1109         * gnulib/import/stat.c: Update.
1110         * gnulib/import/stdbool.in.h: Update.
1111         * gnulib/import/stddef.in.h: Update.
1112         * gnulib/import/stdint.in.h: Update.
1113         * gnulib/import/stdio.in.h: Update.
1114         * gnulib/import/stdlib.in.h: Update.
1115         * gnulib/import/str-two-way.h: Update.
1116         * gnulib/import/strchrnul.c: Update.
1117         * gnulib/import/strdup.c: Update.
1118         * gnulib/import/streq.h: Update.
1119         * gnulib/import/strerror-override.c: Update.
1120         * gnulib/import/strerror-override.h: Update.
1121         * gnulib/import/strerror.c: Update.
1122         * gnulib/import/string.in.h: Update.
1123         * gnulib/import/stripslash.c: Update.
1124         * gnulib/import/strnlen1.c: Update.
1125         * gnulib/import/strnlen1.h: Update.
1126         * gnulib/import/strstr.c: Update.
1127         * gnulib/import/strtok_r.c: Update.
1128         * gnulib/import/sys_stat.in.h: Update.
1129         * gnulib/import/sys_time.in.h: Update.
1130         * gnulib/import/sys_types.in.h: Update.
1131         * gnulib/import/tempname.c: Update.
1132         * gnulib/import/tempname.h: Update.
1133         * gnulib/import/time.in.h: Update.
1134         * gnulib/import/unistd--.h: Update.
1135         * gnulib/import/unistd-safer.h: Update.
1136         * gnulib/import/unistd.in.h: Update.
1137         * gnulib/import/unsetenv.c: Update.
1138         * gnulib/import/verify.h: Update.
1139         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1140         * gnulib/import/wchar.in.h: Update.
1141         * gnulib/import/wctype.in.h: Update.
1142         * gnulib/import/xalloc-oversized.h: Update.
1143         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1144         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1145
1146 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
1147
1148         * record-btrace.c (get_thread_current_frame): Remove
1149         old_inferior_ptid.
1150
1151 2018-09-10  Jerome Guitton  <guitton@adacore.com>
1152
1153         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
1154         with check_tag to 1 if and only if the type is tagged and the
1155         component being searched cannot been found in the current
1156         view. Otherwise, always call ada_to_fixed_type with
1157         check_tag to 0.
1158
1159 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1160
1161         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
1162         declaration.
1163         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
1164         * ada-varobj.c (ada_varobj_get_number_of_children,
1165         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
1166
1167 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1168
1169         * ada-valprint.c (ada_value_print): Use type instead of
1170         enclosing type.
1171
1172 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1173
1174         * ada-lang.c (ada_value_subscript): Handle case when parameter is
1175         an array of access to unconstrained array.
1176
1177 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1178
1179         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
1180         (ada_check_typedef): Use it.
1181
1182 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1183
1184         * ada-varobj.c (ada_varobj_describe_struct_child)
1185         (ada_varobj_describe_child): Handle union case like struct one.
1186
1187 2018-09-10  Tom Tromey  <tom@tromey.com>
1188
1189         PR python/18380:
1190         * python/python.c (_initialize_python): Make example in "python"
1191         help work in Python 3.
1192
1193 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1194
1195         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
1196         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
1197         $(EXEEXT) to the script, as it is not a program.
1198
1199 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
1200
1201         * python/py-prettyprint.c (pretty_print_one_value): Return
1202         gdbpy_ref<>.
1203         (print_string_repr): Adjust.
1204         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
1205         * python/python-internal.h (apply_varobj_pretty_printer): Return
1206         gdbpy_ref<>.
1207         * varobj.c (varobj_value_get_print_value): Adjust.
1208
1209 2018-09-08  Tom Tromey  <tom@tromey.com>
1210
1211         PR python/16047:
1212         * python/py-prettyprint.c (pretty_print_one_value): Check for
1213         to_string method.
1214
1215 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1216
1217         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
1218         replace_operator_with_call.
1219
1220 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1221
1222         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
1223
1224 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1225
1226         * ada-typeprint.c (print_range): Print the bounds using TYPE
1227         rather than its TYPE_TARGET_TYPE.
1228
1229 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1230
1231         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
1232         call to ada_to_fixed_value_create.
1233
1234 2018-09-08  Jerome Guitton  <guitton@adacore.com>
1235
1236         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
1237
1238 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1239
1240         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
1241         by calls to error.
1242
1243 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1244
1245         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
1246         Move update of loop variable "fi".
1247
1248 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1249
1250         * ada-lang.c (value_assign_to_component): In the case of
1251         big-endian targets, extract the bits of the given VAL
1252         using an src_offset of zero if container is not a scalar.
1253
1254 2018-09-06  Simon Ser  <contact@emersion.fr>
1255
1256         PR gdb/23105
1257         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
1258         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1259         * fbsd-tdep.c (fbsd_make_note_desc): New.
1260         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
1261         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
1262         * target.h (enum target_object) Add FreeBSD-specific
1263         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1264
1265 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1266
1267         * compile/compile-c.h (generate_c_for_variable_locations):
1268         Change reference to pointer.
1269         * compile/compile-c-support.c (compile_program) <compute>:
1270         Likewise.
1271         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
1272         (generate_c_for_for_one_variable): Likewise
1273         (generate_c_for_variable_locations): Likewise
1274         * compile/compile-c-types.c (compile_c_instance::convert_type):
1275         Likewise
1276         * compile/compile-cplus-symbols.c (convert_one_symbol):
1277         std::move the scope passed to enter_scope.
1278         * compile/compile-cplus-types.c
1279         (compile_cplus_instance::enter_scope): Make parameter
1280         rvalue-reference.
1281         (compile_cplus_instance::new_scope): Change reference to
1282         pointer.
1283         (compile_cplus_instance::convert_type): Likewise
1284         (compile_cplus_convert_typedef): std::move the scope passed to
1285         enter_scope.
1286         (compile_cplus_convert_struct_or_union): Likewise.
1287         (compile_cplus_convert_enum): Likewise.
1288         (compile_cplus_convert_namespace): Likewise.
1289         * compile/compile-cplus.h (compile_cplus_instance)
1290         <enter_scope>: Make parameter rvalue-reference.
1291         * compile/compile-internal.h (compile_instance)
1292         <get_cached_type>: Likewise
1293         * compile/compile-loc2c.c (push): Likewise
1294         (pushf): Likewise
1295         (unary): Likewise
1296         (binary): Likewise
1297         (print_label): Likewise
1298         (pushf_register_address): Likewise
1299         (pushf_register): Likewise
1300         (do_compile_dwarf_expr_to_c): Likewise
1301         (compile_dwarf_expr_to_c): Likewise
1302         (compile_dwarf_bounds_to_c): Likewise
1303         * compile/compile.c (compile_instance::get_cached_type):
1304         Likewise
1305         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
1306         (compile_dwarf_bounds_to_c): Likewise
1307         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
1308         (dwarf2_compile_property_to_c): Likewise
1309         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
1310         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1311         Likewise
1312
1313 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1314
1315         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
1316         * tui/tui-data.c (init_content_element): Don't initialize it.
1317
1318 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1319
1320         * tui/tui-data.h (struct tui_win_info)
1321         <detail::opaque>: Remove.
1322         * tui/tui-data.c (init_win_info): Remove assignment.
1323
1324 2018-09-05  Tom Tromey  <tom@tromey.com>
1325
1326         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
1327         -Wformat-nonliteral.
1328         * target-float.c (host_float_ops<T>::to_string)
1329         (host_float_ops<T>::from_string): Use
1330         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1331         * configure: Rebuild.
1332
1333 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
1334
1335         * printcmd.c (printf_c_string): Use
1336         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1337         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
1338
1339 2018-09-05  Tom Tromey  <tom@tromey.com>
1340
1341         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
1342
1343 2018-09-05  Tom de Vries  <tdevries@suse.de>
1344
1345         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
1346         with resolve_abstract_p == true.
1347         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
1348         defaulting to false. Propagate resolve_abstract_p to
1349         dwarf2_fetch_die_loc_sect_off.
1350         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
1351         parameter, defaulting to false.
1352         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
1353         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
1354         parameter.
1355         * dwarf2read.h (struct die_info): Forward-declare.
1356         (die_info_ptr): New typedef.
1357         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
1358
1359 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
1360
1361         GDB 8.2 released.
1362
1363 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1364             Pedro Alves  <palves@redhat.com>
1365
1366         * gnulib/Makefile.in (aclocal_m4_deps): Move to
1367         "aclocal-m4-deps.mk".  Include file here.
1368         $(srcdir)/aclocal.m4: Add "configure.ac".
1369         * gnulib/aclocal-m4-deps.mk: New file.
1370         * gnulib/update-gnulib.sh: Automatically update
1371         "aclocal-m4-deps.mk".
1372
1373 2018-09-04  Tom Tromey  <tom@tromey.com>
1374
1375         * configure: Rebuild.
1376         * configure.ac: Remove multi-ice code.
1377
1378 2018-09-04  Tom Tromey  <tom@tromey.com>
1379
1380         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
1381         (ada-exp.o): Update.
1382
1383 2018-09-04  Tom Tromey  <tom@tromey.com>
1384
1385         * Makefile.in (printcmd.o, target-float.o): Remove.
1386         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
1387
1388 2018-09-04  Tom Tromey  <tom@tromey.com>
1389
1390         * gnulib/Makefile.in: Remove obsolete comment.
1391         * Makefile.in: Remove obsolete comment.
1392
1393 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
1394
1395         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
1396         line with '+'.
1397
1398 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1399
1400         * riscv-tdep.c: Add 'prologue-value.h' include.
1401         (struct riscv_unwind_cache): New struct.
1402         (riscv_debug_unwinder): New global.
1403         (riscv_scan_prologue): Update arguments, capture register details
1404         from prologue scan.
1405         (riscv_skip_prologue): Reformat arguments line, move end of
1406         prologue calculation into riscv_scan_prologue.
1407         (riscv_frame_cache): Update return type, create
1408         riscv_unwind_cache, scan the prologue, and fill in remaining cache
1409         details.
1410         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
1411         (riscv_frame_prev_register): Use the trad_frame within the
1412         riscv_unwind_cache.
1413         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
1414         flag.
1415
1416 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1417
1418         * trad-frame.h (trad_frame_set_realreg): Declare.
1419         (trad_frame_set_addr): Declare.
1420         * trad-frame.c (trad_frame_set_realreg): Define new function.
1421         (trad_frame_set_addr): Define new function.
1422         (trad_frame_set_reg_realreg): Use new function.
1423         (trad_frame_set_reg_addr): Use new function.
1424
1425 2018-09-01  Keith Seitz  <keiths@redhat.com>
1426
1427         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
1428         pulongest instead of "%lld".
1429         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
1430         ATTRIBUTE_UNUSED.
1431
1432 2018-08-31  Tom Tromey  <tom@tromey.com>
1433
1434         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
1435         variant part type.
1436
1437 2018-08-31  Pedro Alves  <palves@redhat.com>
1438
1439         * gdbarch.h: Regenerate.
1440
1441 2018-08-31  Pedro Alves  <palves@redhat.com>
1442
1443         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
1444         * target.h (Hardware watchpoint interfaces): Describe
1445         continuable/steppable/non-steppable watchpoints.
1446         * gdbarch.h, gdbarch.c: Regenerate.
1447
1448 2018-08-31  Pedro Alves  <palves@redhat.com>
1449
1450         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
1451         Delete.
1452         * s390-linux-nat.c
1453         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
1454         * target.h (target_ops::have_continuable_watchpoint): Delete.
1455         (target_have_continuable_watchpoint): Delete.
1456         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
1457         * target-delegates.c: Regenerate.
1458
1459 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1460
1461         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
1462         the files present in "gnulib/import/m4/".
1463
1464 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1465
1466         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
1467         c.sw, c.swsp, and c.sdsp.
1468
1469 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1470
1471         * riscv-tdep.c (struct riscv_inferior_data): Delete.
1472         (riscv_read_misa_reg): Don't cache value read into inferior data.
1473         (riscv_new_inferior_data): Delete.
1474         (riscv_inferior_data_cleanup): Delete.
1475         (riscv_inferior_data): Delete.
1476         (riscv_invalidate_inferior_data): Delete.
1477         (_initialize_riscv_tdep): Remove initialisation of inferior data.
1478
1479 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
1480
1481         * compile/compile-cplus-types.c
1482         (compile_cplus_instance::leave_scope): Take the address of scope
1483         object.
1484         (compile_cplus_instance::convert_qualified_base): Compare quals
1485         to 0.
1486
1487 2018-08-30  Keith Seitz  <keiths@redhat.com>
1488
1489         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
1490         Use "%s" and host_address_to_string instead of "%p" in printf.
1491
1492 2018-08-29  Keith Seitz  <keiths@redhat.com>
1493
1494         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
1495         and compile-cplus-types.c.
1496         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
1497         * c-lang.c (cplus_language_defn): Set C++ compile functions.
1498         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
1499         Declare.
1500         * compile/compile-c-support.c: Include compile-cplus.h.
1501         (load_libcompile): Templatize.
1502         (get_compile_context): "New" function.
1503         (c_get_compile_context): Use get_compile_context.
1504         (cplus_get_compile_context): New function.
1505         (cplus_push_user_expression, cplus_pop_user_expression)
1506         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
1507         (cplus_compute_program): Define new structs/functions.
1508         * compile/compile-cplus-symmbols.c: New file.
1509         * compile/compile-cplus-types.c: New file.
1510         * compile/compile-cplus.h: New file.
1511         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
1512         Declare.
1513         * compile/compile-object-load.c (get_out_value_type): Use
1514         strncmp_iw when comparing symbol names.
1515         (compile_object_load): Add mst_bss and mst_data.
1516         * compile/compile.c (_initialize_compile): Remove
1517         -Wno-implicit-function-declaration from `compile_args'.
1518         * compile/gcc-cp-plugin.h: New file.
1519         * NEWS: Mention C++ compile support and new debug options.
1520
1521 2018-08-29  Keith Seitz  <keiths@redhat.com>
1522
1523         * linespec.c (collect_info::add_symbol): Make virtual.
1524         (struct symbol_searcher_collect_info): New struct.
1525         (symbol_searcher::find_all_symbols): New method.
1526         * symtab.h (class symbol_searcher): New class.
1527
1528 2018-08-29  Keith Seitz  <keiths@redhat.com>
1529
1530         * linespec.c (struct linespec) <function_symbols, label_symbols>:
1531         Change to vector of block_symbol.  Update all users.
1532         (struct collect_info) <symbols>: Likewise.
1533         (collect_info::add_symbol): Take block_symbol as argument.
1534         Update all callers.
1535         (decode_compound_collector) <m_symbols>: Change type to vector
1536         of block_symbol.  Update all users.
1537         (decode_compound_collector::operator ()): Change parameter type
1538         to block_symbol.
1539         (find_method, find_function_symbols, find_linespec_symbols)
1540         (find_label_symbols_in_block, find_label_symbols): Change symbol
1541         vectors to block_symbol vectors.
1542         * symtab.h (symbol_found_callback_ftype): Change parameter type to
1543         block_symbol.
1544
1545 2018-08-29  Keith Seitz  <keiths@redhat.com>
1546
1547         * linespec.c (symbolp): Remove typedef and VEC definitions.
1548         (bound_minimal_symbol_d): Likewise.
1549
1550 2018-08-29  Keith Seitz  <keiths@redhat.com>
1551
1552         * linespec.c (decode_compound_collector::decode_compound_collector):
1553         Remove initialization for `m_symtabs'.
1554         (decode_compound_collector::release_symbols): Change return type
1555         to std::vector.  Update all callers.
1556         (class decode_compound_collector) <m_symbols>: Change type to
1557         std::vector.
1558         (lookup_prefix_sym): Change return type to std::vector.  Update all
1559         callers.
1560         (compare_symbols): Remove.
1561         (std_compare_symbols): Rename to `compare_symbols'.
1562         (find_method): Change `sym_classes' parameter to std::vector.
1563         Update all callers.  Use std::sort to sort sym_classes.
1564         (find_linespec_symbols): Remove cleanup.
1565
1566 2018-08-29  Keith Seitz  <keiths@redhat.com>
1567
1568         * linespec.c (struct linespec) <minimal_symbols>: Change type to
1569         std::vector.  Update all users.
1570         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
1571         (struct collect_info) <minimal_symbols>: Likewise.
1572         (compare_msymbols): Return bool.  Change parameters to const
1573         bound_minimal_symbol references.
1574         (find_method, find_function_symbols, find_linespec_symbols): Change
1575         `minsyms' parameter to std::vector.  Update all callers.
1576
1577 2018-08-29  Keith Seitz  <keiths@redhat.com>
1578
1579         * linespec.c (struct linespec) <label_symbols>: Change type to
1580         std::vector.  Update all users.
1581         (find_label_symbols_in_block): Change `result' parameter to
1582         std::vector.  Update all callers.
1583         (find_label_symbols): Return std::vector.  Update all callers.
1584
1585 2018-08-29  Keith Seitz  <keiths@redhat.com>
1586
1587         * linespec.c (struct linespec) <function_symbols>: Change type to
1588         std::vector.  Update all users.
1589         (struct collect_info) <function_symbols>: Likewise.
1590         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
1591         (std_compare_symbols): New function.
1592         (find_method, find_function_symbols, find_linespec_symbols)
1593         (find_label_symbols_in_block): Change `symbols' parameter to
1594         std::vector.  Update all callers.
1595         (find_label_symbols): Likewise for `function_symbols' and
1596         `label_funcs_ret'.
1597
1598 2018-08-29  Keith Seitz  <keiths@redhat.com>
1599
1600         * linespec.c (symtab_vector_up): Define.
1601         (struct linespec) <file_symtabs>: Change type to std::vector *.
1602         Update all uses.
1603         (struct collect_info) <file_symtabs>: Likewise.
1604         (collect_symtabs_from_filename): Return symtab_vector_up.
1605         Update all callers.
1606         (decode_objc): Remove cleanup.
1607         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
1608         (symtab_collector::release_symtabs): Return symtab_vector_up.
1609         Update all callers.
1610         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
1611         Update all users.
1612         (collect_symtabs_from_filename, symtabs_from_filename): Return
1613         symtab_vector_up.  Update all callers.
1614
1615 2018-08-29  Tom Tromey  <tom@tromey.com>
1616
1617         * csky-tdep.c (csky_analyze_prologue): Use
1618         core_addr_to_string_nz.
1619
1620 2018-08-29  Tom Tromey  <tom@tromey.com>
1621
1622         * windows-nat.c (struct xlate_exception) <them>: Change type to
1623         DWORD.
1624         (xlate): Fix formatting.  Remove last entry.
1625         (struct xlate_exception, xlate): Comment out.
1626         (windows_nat_target::resume): Use ranged for.
1627
1628 2018-08-29  Jim Wilson  <jimw@sifive.com>
1629
1630         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
1631         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
1632         of NT_PRFPREG.
1633         (riscv_linux_nat_target::store_registers): Likewise.
1634
1635 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1636
1637         PR gdb/23555
1638         PR gdb/23558
1639         * gnulib/aclocal.m4: Regenerate.
1640         * gnulib/config.in: Regenerate.
1641         * gnulib/configure: Regenerate.
1642         * gnulib/import/Makefile.am: Update.
1643         * gnulib/import/Makefile.in: Update.
1644         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1645         * gnulib/import/_Noreturn.h: ... this.
1646         * gnulib/import/alloca.in.h: Update.
1647         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1648         * gnulib/import/arg-nonnull.h: ... this.
1649         * gnulib/import/assure.h: Update.
1650         * gnulib/import/at-func.c: Update.
1651         * gnulib/import/basename-lgpl.c: Update.
1652         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1653         * gnulib/import/c++defs.h: ... this.
1654         * gnulib/import/canonicalize-lgpl.c: Update.
1655         * gnulib/import/cdefs.h: Update.
1656         * gnulib/import/chdir-long.c: Update.
1657         * gnulib/import/chdir-long.h: Update.
1658         * gnulib/import/cloexec.c: Update.
1659         * gnulib/import/cloexec.h: Update.
1660         * gnulib/import/close.c: Update.
1661         * gnulib/import/closedir.c: Update.
1662         * gnulib/import/config.charset: Update.
1663         * gnulib/import/dirent-private.h: Update.
1664         * gnulib/import/dirent.in.h: Update.
1665         * gnulib/import/dirfd.c: Update.
1666         * gnulib/import/dirname-lgpl.c: Update.
1667         * gnulib/import/dirname.h: Update.
1668         * gnulib/import/dosname.h: Update.
1669         * gnulib/import/dup-safer-flag.c: Update.
1670         * gnulib/import/dup-safer.c: Update.
1671         * gnulib/import/dup.c: Update.
1672         * gnulib/import/dup2.c: Update.
1673         * gnulib/import/errno.in.h: Update.
1674         * gnulib/import/error.c: Update.
1675         * gnulib/import/error.h: Update.
1676         * gnulib/import/exitfail.c: Update.
1677         * gnulib/import/exitfail.h: Update.
1678         * gnulib/import/extra/update-copyright: Update.
1679         * gnulib/import/fchdir.c: Update.
1680         * gnulib/import/fcntl.c: Update.
1681         * gnulib/import/fcntl.in.h: Update.
1682         * gnulib/import/fd-hook.c: Update.
1683         * gnulib/import/fd-hook.h: Update.
1684         * gnulib/import/fd-safer-flag.c: Update.
1685         * gnulib/import/fd-safer.c: Update.
1686         * gnulib/import/fdopendir.c: Update.
1687         * gnulib/import/filename.h: Update.
1688         * gnulib/import/filenamecat-lgpl.c: Update.
1689         * gnulib/import/filenamecat.h: Update.
1690         * gnulib/import/flexmember.h: Update.
1691         * gnulib/import/float+.h: Update.
1692         * gnulib/import/float.c: Update.
1693         * gnulib/import/float.in.h: Update.
1694         * gnulib/import/fnmatch.c: Update.
1695         * gnulib/import/fnmatch.in.h: Update.
1696         * gnulib/import/fnmatch_loop.c: Update.
1697         * gnulib/import/fpucw.h: Update.
1698         * gnulib/import/frexp.c: Update.
1699         * gnulib/import/frexpl.c: Update.
1700         * gnulib/import/fstat.c: Update.
1701         * gnulib/import/fstatat.c: Update.
1702         * gnulib/import/getcwd-lgpl.c: Update.
1703         * gnulib/import/getcwd.c: Update.
1704         * gnulib/import/getdtablesize.c: Update.
1705         * gnulib/import/getlogin_r.c: Update.
1706         * gnulib/import/getprogname.c: Update.
1707         * gnulib/import/getprogname.h: Update.
1708         * gnulib/import/gettext.h: Update.
1709         * gnulib/import/gettimeofday.c: Update.
1710         * gnulib/import/glob-libc.h: Update.
1711         * gnulib/import/glob.c: Update.
1712         * gnulib/import/glob.in.h: Update.
1713         * gnulib/import/glob_internal.h: Update.
1714         * gnulib/import/glob_pattern_p.c: Update.
1715         * gnulib/import/globfree.c: Update.
1716         * gnulib/import/hard-locale.c: Update.
1717         * gnulib/import/hard-locale.h: Update.
1718         * gnulib/import/intprops.h: Update.
1719         * gnulib/import/inttypes.in.h: Update.
1720         * gnulib/import/isnan.c: Update.
1721         * gnulib/import/isnand-nolibm.h: Update.
1722         * gnulib/import/isnand.c: Update.
1723         * gnulib/import/isnanl-nolibm.h: Update.
1724         * gnulib/import/isnanl.c: Update.
1725         * gnulib/import/itold.c: Update.
1726         * gnulib/import/libc-config.h: Update.
1727         * gnulib/import/limits.in.h: Update.
1728         * gnulib/import/localcharset.c: Update.
1729         * gnulib/import/localcharset.h: Update.
1730         * gnulib/import/localtime-buffer.c: Update.
1731         * gnulib/import/localtime-buffer.h: Update.
1732         * gnulib/import/lstat.c: Update.
1733         * gnulib/import/m4/00gnulib.m4: Update.
1734         * gnulib/import/m4/__inline.m4: Update.
1735         * gnulib/import/m4/absolute-header.m4: Update.
1736         * gnulib/import/m4/alloca.m4: Update.
1737         * gnulib/import/m4/builtin-expect.m4: Update.
1738         * gnulib/import/m4/canonicalize.m4: Update.
1739         * gnulib/import/m4/chdir-long.m4: Update.
1740         * gnulib/import/m4/close.m4: Update.
1741         * gnulib/import/m4/closedir.m4: Update.
1742         * gnulib/import/m4/configmake.m4: Update.
1743         * gnulib/import/m4/d-ino.m4: Update.
1744         * gnulib/import/m4/d-type.m4: Update.
1745         * gnulib/import/m4/dirent_h.m4: Update.
1746         * gnulib/import/m4/dirfd.m4: Update.
1747         * gnulib/import/m4/dirname.m4: Update.
1748         * gnulib/import/m4/double-slash-root.m4: Update.
1749         * gnulib/import/m4/dup.m4: Update.
1750         * gnulib/import/m4/dup2.m4: Update.
1751         * gnulib/import/m4/eealloc.m4: Update.
1752         * gnulib/import/m4/environ.m4: Update.
1753         * gnulib/import/m4/errno_h.m4: Update.
1754         * gnulib/import/m4/error.m4: Update.
1755         * gnulib/import/m4/exponentd.m4: Update.
1756         * gnulib/import/m4/exponentl.m4: Update.
1757         * gnulib/import/m4/extensions.m4: Update.
1758         * gnulib/import/m4/extern-inline.m4: Update.
1759         * gnulib/import/m4/fchdir.m4: Update.
1760         * gnulib/import/m4/fcntl-o.m4: Update.
1761         * gnulib/import/m4/fcntl.m4: Update.
1762         * gnulib/import/m4/fcntl_h.m4: Update.
1763         * gnulib/import/m4/fdopendir.m4: Update.
1764         * gnulib/import/m4/filenamecat.m4: Update.
1765         * gnulib/import/m4/flexmember.m4: Update.
1766         * gnulib/import/m4/float_h.m4: Update.
1767         * gnulib/import/m4/fnmatch.m4: Update.
1768         * gnulib/import/m4/fnmatch_h.m4: Update.
1769         * gnulib/import/m4/fpieee.m4: Update.
1770         * gnulib/import/m4/frexp.m4: Update.
1771         * gnulib/import/m4/frexpl.m4: Update.
1772         * gnulib/import/m4/fstat.m4: Update.
1773         * gnulib/import/m4/fstatat.m4: Update.
1774         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1775         * gnulib/import/m4/getcwd-path-max.m4: Update.
1776         * gnulib/import/m4/getcwd.m4: Update.
1777         * gnulib/import/m4/getdtablesize.m4: Update.
1778         * gnulib/import/m4/getlogin.m4: Update.
1779         * gnulib/import/m4/getlogin_r.m4: Update.
1780         * gnulib/import/m4/getpagesize.m4: Update.
1781         * gnulib/import/m4/getprogname.m4: Update.
1782         * gnulib/import/m4/gettimeofday.m4: Update.
1783         * gnulib/import/m4/glibc21.m4: Update.
1784         * gnulib/import/m4/glob.m4: Update.
1785         * gnulib/import/m4/glob_h.m4: Update.
1786         * gnulib/import/m4/gnulib-cache.m4: Update.
1787         * gnulib/import/m4/gnulib-common.m4: Update.
1788         * gnulib/import/m4/gnulib-comp.m4: Update.
1789         * gnulib/import/m4/gnulib-tool.m4: Update.
1790         * gnulib/import/m4/hard-locale.m4: Update.
1791         * gnulib/import/m4/include_next.m4: Update.
1792         * gnulib/import/m4/inttypes-pri.m4: Update.
1793         * gnulib/import/m4/inttypes.m4: Update.
1794         * gnulib/import/m4/isnand.m4: Update.
1795         * gnulib/import/m4/isnanl.m4: Update.
1796         * gnulib/import/m4/largefile.m4: Update.
1797         * gnulib/import/m4/limits-h.m4: Update.
1798         * gnulib/import/m4/localcharset.m4: Update.
1799         * gnulib/import/m4/locale-fr.m4: Update.
1800         * gnulib/import/m4/locale-ja.m4: Update.
1801         * gnulib/import/m4/locale-zh.m4: Update.
1802         * gnulib/import/m4/localtime-buffer.m4: Update.
1803         * gnulib/import/m4/longlong.m4: Update.
1804         * gnulib/import/m4/lstat.m4: Update.
1805         * gnulib/import/m4/malloc.m4: Update.
1806         * gnulib/import/m4/malloca.m4: Update.
1807         * gnulib/import/m4/math_h.m4: Update.
1808         * gnulib/import/m4/mbrtowc.m4: Update.
1809         * gnulib/import/m4/mbsinit.m4: Update.
1810         * gnulib/import/m4/mbsrtowcs.m4: Update.
1811         * gnulib/import/m4/mbstate_t.m4: Update.
1812         * gnulib/import/m4/memchr.m4: Update.
1813         * gnulib/import/m4/memmem.m4: Update.
1814         * gnulib/import/m4/mempcpy.m4: Update.
1815         * gnulib/import/m4/memrchr.m4: Update.
1816         * gnulib/import/m4/mkdir.m4: Update.
1817         * gnulib/import/m4/mkstemp.m4: Update.
1818         * gnulib/import/m4/mmap-anon.m4: Update.
1819         * gnulib/import/m4/mode_t.m4: Update.
1820         * gnulib/import/m4/msvc-inval.m4: Update.
1821         * gnulib/import/m4/msvc-nothrow.m4: Update.
1822         * gnulib/import/m4/multiarch.m4: Update.
1823         * gnulib/import/m4/nocrash.m4: Update.
1824         * gnulib/import/m4/off_t.m4: Update.
1825         * gnulib/import/m4/onceonly.m4: Update.
1826         * gnulib/import/m4/open-cloexec.m4: Update.
1827         * gnulib/import/m4/open.m4: Update.
1828         * gnulib/import/m4/openat.m4: Update.
1829         * gnulib/import/m4/opendir.m4: Update.
1830         * gnulib/import/m4/pathmax.m4: Update.
1831         * gnulib/import/m4/rawmemchr.m4: Update.
1832         * gnulib/import/m4/readdir.m4: Update.
1833         * gnulib/import/m4/readlink.m4: Update.
1834         * gnulib/import/m4/realloc.m4: Update.
1835         * gnulib/import/m4/rename.m4: Update.
1836         * gnulib/import/m4/rewinddir.m4: Update.
1837         * gnulib/import/m4/rmdir.m4: Update.
1838         * gnulib/import/m4/save-cwd.m4: Update.
1839         * gnulib/import/m4/secure_getenv.m4: Update.
1840         * gnulib/import/m4/setenv.m4: Update.
1841         * gnulib/import/m4/signal_h.m4: Update.
1842         * gnulib/import/m4/ssize_t.m4: Update.
1843         * gnulib/import/m4/stat-time.m4: Update.
1844         * gnulib/import/m4/stat.m4: Update.
1845         * gnulib/import/m4/std-gnu11.m4: Update.
1846         * gnulib/import/m4/stdbool.m4: Update.
1847         * gnulib/import/m4/stddef_h.m4: Update.
1848         * gnulib/import/m4/stdint.m4: Update.
1849         * gnulib/import/m4/stdio_h.m4: Update.
1850         * gnulib/import/m4/stdlib_h.m4: Update.
1851         * gnulib/import/m4/strchrnul.m4: Update.
1852         * gnulib/import/m4/strdup.m4: Update.
1853         * gnulib/import/m4/strerror.m4: Update.
1854         * gnulib/import/m4/string_h.m4: Update.
1855         * gnulib/import/m4/strstr.m4: Update.
1856         * gnulib/import/m4/strtok_r.m4: Update.
1857         * gnulib/import/m4/sys_socket_h.m4: Update.
1858         * gnulib/import/m4/sys_stat_h.m4: Update.
1859         * gnulib/import/m4/sys_time_h.m4: Update.
1860         * gnulib/import/m4/sys_types_h.m4: Update.
1861         * gnulib/import/m4/tempname.m4: Update.
1862         * gnulib/import/m4/time_h.m4: Update.
1863         * gnulib/import/m4/unistd-safer.m4: Update.
1864         * gnulib/import/m4/unistd_h.m4: Update.
1865         * gnulib/import/m4/warn-on-use.m4: Update.
1866         * gnulib/import/m4/wchar_h.m4: Update.
1867         * gnulib/import/m4/wchar_t.m4: Update.
1868         * gnulib/import/m4/wctype_h.m4: Update.
1869         * gnulib/import/m4/wint_t.m4: Update.
1870         * gnulib/import/malloc.c: Update.
1871         * gnulib/import/malloc/scratch_buffer.h: Update.
1872         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1873         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1874         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1875         * gnulib/import/malloca.c: Update.
1876         * gnulib/import/malloca.h: Update.
1877         * gnulib/import/malloca.valgrind: Update.
1878         * gnulib/import/math.in.h: Update.
1879         * gnulib/import/mbrtowc.c: Update.
1880         * gnulib/import/mbsinit.c: Update.
1881         * gnulib/import/mbsrtowcs-impl.h: Update.
1882         * gnulib/import/mbsrtowcs-state.c: Update.
1883         * gnulib/import/mbsrtowcs.c: Update.
1884         * gnulib/import/memchr.c: Update.
1885         * gnulib/import/memmem.c: Update.
1886         * gnulib/import/mempcpy.c: Update.
1887         * gnulib/import/memrchr.c: Update.
1888         * gnulib/import/mkdir.c: Update.
1889         * gnulib/import/mkstemp.c: Update.
1890         * gnulib/import/msvc-inval.c: Update.
1891         * gnulib/import/msvc-inval.h: Update.
1892         * gnulib/import/msvc-nothrow.c: Update.
1893         * gnulib/import/msvc-nothrow.h: Update.
1894         * gnulib/import/open.c: Update.
1895         * gnulib/import/openat-die.c: Update.
1896         * gnulib/import/openat-priv.h: Update.
1897         * gnulib/import/openat-proc.c: Update.
1898         * gnulib/import/openat.c: Update.
1899         * gnulib/import/openat.h: Update.
1900         * gnulib/import/opendir.c: Update.
1901         * gnulib/import/pathmax.h: Update.
1902         * gnulib/import/pipe-safer.c: Update.
1903         * gnulib/import/rawmemchr.c: Update.
1904         * gnulib/import/readdir.c: Update.
1905         * gnulib/import/readlink.c: Update.
1906         * gnulib/import/realloc.c: Update.
1907         * gnulib/import/ref-add.sin: Update.
1908         * gnulib/import/ref-del.sin: Update.
1909         * gnulib/import/rename.c: Update.
1910         * gnulib/import/rewinddir.c: Update.
1911         * gnulib/import/rmdir.c: Update.
1912         * gnulib/import/same-inode.h: Update.
1913         * gnulib/import/save-cwd.c: Update.
1914         * gnulib/import/save-cwd.h: Update.
1915         * gnulib/import/scratch_buffer.h: Update.
1916         * gnulib/import/secure_getenv.c: Update.
1917         * gnulib/import/setenv.c: Update.
1918         * gnulib/import/signal.in.h: Update.
1919         * gnulib/import/stat-time.c: Update.
1920         * gnulib/import/stat-time.h: Update.
1921         * gnulib/import/stat-w32.c: Update.
1922         * gnulib/import/stat-w32.h: Update.
1923         * gnulib/import/stat.c: Update.
1924         * gnulib/import/stdbool.in.h: Update.
1925         * gnulib/import/stddef.in.h: Update.
1926         * gnulib/import/stdint.in.h: Update.
1927         * gnulib/import/stdio.in.h: Update.
1928         * gnulib/import/stdlib.in.h: Update.
1929         * gnulib/import/str-two-way.h: Update.
1930         * gnulib/import/strchrnul.c: Update.
1931         * gnulib/import/strdup.c: Update.
1932         * gnulib/import/streq.h: Update.
1933         * gnulib/import/strerror-override.c: Update.
1934         * gnulib/import/strerror-override.h: Update.
1935         * gnulib/import/strerror.c: Update.
1936         * gnulib/import/string.in.h: Update.
1937         * gnulib/import/stripslash.c: Update.
1938         * gnulib/import/strnlen1.c: Update.
1939         * gnulib/import/strnlen1.h: Update.
1940         * gnulib/import/strstr.c: Update.
1941         * gnulib/import/strtok_r.c: Update.
1942         * gnulib/import/sys_stat.in.h: Update.
1943         * gnulib/import/sys_time.in.h: Update.
1944         * gnulib/import/sys_types.in.h: Update.
1945         * gnulib/import/tempname.c: Update.
1946         * gnulib/import/tempname.h: Update.
1947         * gnulib/import/time.in.h: Update.
1948         * gnulib/import/unistd--.h: Update.
1949         * gnulib/import/unistd-safer.h: Update.
1950         * gnulib/import/unistd.in.h: Update.
1951         * gnulib/import/unsetenv.c: Update.
1952         * gnulib/import/verify.h: Update.
1953         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1954         * gnulib/import/wchar.in.h: Update.
1955         * gnulib/import/wctype.in.h: Update.
1956         * gnulib/import/xalloc-oversized.h: Update.
1957         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1958         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1959
1960 2018-08-16  Gary Benson <gbenson@redhat.com>
1961
1962         PR gdb/13000:
1963         * gdb/main.c (captured_main_1): Exit with nonzero status
1964         in batch mode if the last command to be executed failed.
1965         * NEWS: Mention the above.
1966
1967 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
1968
1969         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
1970         end of warning message.
1971
1972 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1973
1974         PR gdb/22943:
1975         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
1976         (aarch64_extract_return_value): Use
1977         aapcs_is_vfp_call_or_return_candidate.
1978         (aarch64_return_in_memory): Likewise.
1979         (aarch64_store_return_value): Likewise.
1980
1981 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1982
1983         * aarch64-tdep.c
1984         (aapcs_is_vfp_call_or_return_candidate): Make static
1985         (pass_in_v_or_stack): Remove function.
1986         (pass_in_v_vfp_candidate): New function.
1987         (aarch64_push_dummy_call): Check for float register candidates.
1988
1989 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1990
1991         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
1992         (aapcs_is_vfp_call_or_return_candidate_1): New function.
1993         (aapcs_is_vfp_call_or_return_candidate): Likewise.
1994
1995 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
1996
1997         PR build/23399
1998         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
1999         (struct ipa_sym_addresses): Rename to...
2000         (struct ipa_sym_addresses_common): ... this.
2001         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
2002
2003 2018-08-28  Tom Tromey  <tom@tromey.com>
2004
2005         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2006         (token_fifo): Now a std::vector.
2007         (yylex, c_parse): Update.
2008         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2009         (token_fifo): Now a std::vector.
2010         (yylex, d_parse): Update.
2011         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2012         (token_fifo): Now a std::vector.
2013         (yylex, go_parse): Update.
2014
2015 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
2016
2017         * parser-defs.h (struct type_stack) <elements>: Change type to
2018         std::vector<union type_stack_elt>.
2019         <depth, size>: Remove.
2020         * parse.c (parse_exp_in_context_1): Adjust.
2021         (type_stack_reserve): Remove.
2022         (check_type_stack_depth): Remove.
2023         (insert_into_type_stack): Adjust to std::vector.
2024         (insert_type): Likewise.
2025         (push_type): Likewise.
2026         (push_type_int): Likewise.
2027         (insert_type_address_space): Likewise.
2028         (pop_type): Likewise.
2029         (pop_type_int): Likewise.
2030         (pop_typelist): Likewise.
2031         (pop_type_stack): Likewise.
2032         (append_type_stack): Likewise.
2033         (push_type_stack): Likewise.
2034         (get_type_stack): Likewise.
2035         (type_stack_cleanup): Likewise.
2036         (push_typelist): Likewise.
2037         (follow_types): Likewise.
2038         (_initialize_parse): Likewise.
2039
2040 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2041
2042         * NEWS: Mention csky target.
2043
2044 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
2045             Hafiz Abid Qadeer  <abidh@codesourcery.com>
2046             Don Breazeal  <donb@codesourcery.com>
2047
2048         * csky-linux-tdep.c: New file.
2049         * csky-tdep.c: Likewise.
2050         * csky-tdep.h: Likewise.
2051         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
2052         csky-tdep.o.
2053         (HFILES_NO_SRCDIR): Add csky-tdep.h.
2054         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
2055         * configure.tgt: Add csky support.
2056
2057 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
2058
2059         * python/py-framefilter.c (py_print_frame): Print frame architecture
2060         when printing on an MI output.
2061
2062 2018-08-27  Tom Tromey  <tom@tromey.com>
2063
2064         PR build/23087:
2065         * configure: Rebuild.
2066         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
2067
2068 2018-08-27  Tom Tromey  <tom@tromey.com>
2069
2070         * aarch64-linux-tdep.c
2071         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
2072         casts to int.
2073
2074 2018-08-27  Tom Tromey  <tom@tromey.com>
2075
2076         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
2077         unsigned.
2078         (ppc64_standard_linkage1, ppc64_standard_linkage2)
2079         (ppc64_standard_linkage3, ppc64_standard_linkage4)
2080         (ppc64_standard_linkage5, ppc64_standard_linkage6)
2081         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
2082         unsigned.
2083
2084 2018-08-27  Tom Tromey  <tom@tromey.com>
2085
2086         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
2087         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
2088
2089 2018-08-27  Tom Tromey  <tom@tromey.com>
2090
2091         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
2092         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
2093         ULONGEST_MAX.
2094         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
2095         ULONGEST_MAX.
2096         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
2097         ULONGEST_MAX.
2098         * sparc-linux-tdep.c (sparc32_linux_sigframe)
2099         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
2100         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
2101         ULONGEST_MAX.
2102         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
2103         (ppc64_linux_sigaction_tramp_frame)
2104         (ppc32_linux_sighandler_tramp_frame)
2105         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2106         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
2107         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
2108         * mn10300-linux-tdep.c (am33_linux_sigframe)
2109         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
2110         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
2111         * mips-linux-tdep.c (mips_linux_o32_sigframe)
2112         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
2113         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
2114         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
2115         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
2116         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
2117         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
2118         * microblaze-linux-tdep.c
2119         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2120         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
2121         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
2122         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
2123         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
2124         * common/common-types.h (ULONGEST_MAX): New define.
2125         (CORE_ADDR_MAX): Fix formatting.
2126         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
2127         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
2128         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
2129         (arm_linux_rt_sigreturn_tramp_frame)
2130         (arm_eabi_linux_sigreturn_tramp_frame)
2131         (arm_eabi_linux_rt_sigreturn_tramp_frame)
2132         (thumb2_eabi_linux_sigreturn_tramp_frame)
2133         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
2134         (arm_linux_restart_syscall_tramp_frame)
2135         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
2136         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
2137         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
2138         ULONGEST_MAX.
2139         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2140
2141 2018-08-27  Tom Tromey  <tom@tromey.com>
2142
2143         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
2144         CORE_ADDR_MAX.
2145         * mips-tdep.c (mips_deal_with_atomic_sequence)
2146         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
2147         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
2148         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
2149         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
2150         CORE_ADDR_MAX.
2151         * aarch64-tdep.c (aarch64_software_single_step): Use
2152         CORE_ADDR_MAX.
2153
2154 2018-08-27  Tom Tromey  <tom@tromey.com>
2155
2156         * linespec.c (complete_linespec_component): Add cast to "char".
2157         * completer.c (completion_tracker::build_completion_result): Add
2158         cast to "char".
2159
2160 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2161
2162         * solist.h (struct solist, struct target_so_ops): Fix
2163         indentation.
2164
2165 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2166
2167         * ada-tasks.c (ada_task_info_s): Remove typedef.
2168         (DEF_VEC_O(ada_task_info_s)): Remove.
2169         (struct ada_tasks_inferior_data): Initialize fields.
2170         <task_list>: Make an std::vector.
2171         (get_ada_tasks_inferior_data): Allocate with new.
2172         (ada_get_task_number): Adjust.
2173         (get_task_number_from_id): Likewise.
2174         (valid_task_id): Likewise.
2175         (ada_get_task_info_from_ptid): Likewise.
2176         (iterate_over_live_ada_tasks): Likewise.
2177         (add_ada_task): Likewise.
2178         (read_known_tasks): Likewise.
2179         (ada_build_task_list): Likewise.
2180         (print_ada_task_info): Likewise.
2181         (info_task): Likewise.
2182         (task_command_1): Likewise.
2183
2184 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2185
2186         * ada-lang.c (add_angle_brackets): Return std::string.
2187
2188 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
2189
2190         * python/py-threadevent.c (py_get_event_thread): Initialize
2191         pythread.
2192
2193 2018-08-24  Pedro Alves  <palves@redhat.com>
2194
2195         * python/py-bpevent.c (create_breakpoint_event_object): Use
2196         copy-initialization.
2197         * python/py-continueevent.c (emit_continue_event): Use
2198         copy-initialization.
2199         * python/py-exitedevent.c (create_exited_event_object): Return a
2200         gdbpy_ref<>.
2201         (emit_exited_event): Use copy-initialization.
2202         * python/py-inferior.c (python_new_inferior)
2203         (python_inferior_deleted, add_thread_object): Use
2204         copy-initialization.
2205         * python/py-infevents.c (create_inferior_call_event_object)
2206         (create_register_changed_event_object)
2207         (create_memory_changed_event_object): Return a gdbpy_ref<>.
2208         (emit_inferior_call_event, emit_memory_changed_event)
2209         (emit_register_changed_event): Use copy-initialization.
2210         * python/py-newobjfileevent.c (create_new_objfile_event_object):
2211         Return a gdbpy_ref<>.
2212         (emit_new_objfile_event): Use copy-initialization.
2213         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
2214         (emit_clear_objfiles_event): Use copy-initialization.
2215         * python/py-signalevent.c (create_signal_event_object): Use
2216         copy-initialization.
2217         * python/py-threadevent.c (create_thread_event_object): Use
2218         copy-initialization.
2219
2220 2018-08-24  Pedro Alves  <palves@redhat.com>
2221             Simon Marchi  <simon.marchi@ericsson.com>
2222
2223         PR gdb/23379
2224         * python/py-continueevent.c: Include "gdbthread.h".
2225         (create_continue_event_object): Add intro comment.  Add 'ptid'
2226         parameter.  Use it to find thread to pass to
2227         create_thread_event_object.
2228         (emit_continue_event): Pass PTID down to
2229         create_continue_event_object.
2230         * python/py-event.h (py_get_event_thread): Declare.
2231         (create_thread_event_object): Remove default from 'thread'
2232         parameter.
2233         * python/py-stopevent.c (create_stop_event_object): Use
2234         py_get_event_thread.
2235         * python/py-threadevent.c (get_event_thread): Rename to ...
2236         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
2237         and use it to find the thread.
2238         (create_thread_event_object): Assert that THREAD isn't null.
2239         Don't find the event thread here.
2240
2241 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2242
2243         * block.h (blockrange, blockranges): New struct declarations.
2244         (struct block): Add new field named `ranges'.
2245         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
2246         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
2247         macros for accessing ranges in struct block.
2248         (make_blockranges): New declaration.
2249         block.c (make_blockranges): New function.
2250         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
2251         for block.
2252         * symtab.h (find_pc_partial_function): Add new parameter `block'.
2253         * blockframe.c (cache_pc_function_block): New static global.
2254         (clear_pc_function_cache): Clear cache_pc_function_block.
2255         (find_pc_partial_function): Move comment to symtab.h.  Add
2256         support for non-contiguous blocks.
2257         * cli/cli-cmds.c (block.h): Include.
2258         (print_disassembly): Handle printing of non-contiguous blocks.
2259         (disassemble_current_function): Likewise.
2260         (disassemble_command): Likewise.
2261
2262         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
2263         BLOCK_START.
2264         * blockframe.c (get_pc_function_start): Likewise.
2265         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
2266         (gcc_symbol_address): Likewise.
2267         * compile/compile-object-run.c (compile_object_run): Likewise.
2268         * compile/compile.c (get_expr_block_and_pc): Likewise.
2269         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
2270         (func_addr_to_tail_call_list): Likewise.
2271         * findvar.c (default_read_var_value): Likewise.
2272         * inline-frame.c (inline_frame_this_id): Likewise.
2273         (skip-inline_frames): Likewise.
2274         * infcmd.c (until_next_command): Likewise.
2275         * linespec.c (convert_linespec_to_sals): Likewise.
2276         * parse.c (parse_exp_in_context_1): Likewise.
2277         * printcmd.c (build_address_symbolic): likewise.
2278         (info_address_command): Likewise.
2279         symtab.c (find_function_start_sal): Likewise.
2280         (skip_prologue_sal): Likewise.
2281         (find_function_alias_target): Likewise.
2282         (find_gnu_ifunc): Likewise.
2283         * stack.c (find_frame_funname): Likewise.
2284         * symtab.c (fixup_symbol_section): Likewise.
2285         (find_function_start_sal): Likewise.
2286         (skip_prologue_sal): Likewsie.
2287         (find_function_alias_target): Likewise.
2288         (find_gnu_ifunc): Likewise.
2289         * tracepoint.c (info_scope_command): Likewise.
2290         * value.c (value_fn_field): Likewise.
2291
2292         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
2293         in place of find_pc_partial_function.
2294         * blockframe.c (find_function_entry_range_from_pc): New function.
2295         * symtab.h (find_function_entry_range_from_pc): Declare and document.
2296         * objfiles.c (objfile_relocate1): Relocate start and end addresses
2297         for each range in a block.
2298
2299
2300 2018-08-23  Xavier Roirand  <roirand@adacore.com>
2301
2302         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
2303         incrementation.
2304
2305 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2306
2307         * solib-svr4.c (read_program_headers_from_bfd): Return
2308         gdb::optional<gdb::byte_vector>.
2309         (svr4_exec_displacement): Adjust.
2310
2311 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2312
2313         * solib-svr4.c (read_program_header): Return
2314         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
2315         (find_program_interpreter): Return
2316         gdb::optional<gdb::byte_vector>.
2317         (scan_dyntag_auxv): Adjust.
2318         (enable_break): Adjust.
2319         (svr4_exec_displacement): Adjust.
2320
2321 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2322
2323         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
2324         * inf-child.c (inf_child_target::terminal_save_inferior): New.
2325
2326 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2327
2328         * guile/scm-string.c (gdbscm_scm_from_printf): Use
2329         string_vprintf.
2330         * guile/scm-utils.c (gdbscm_printf): Likewise.
2331         * serial.c (serial_printf): Likewise.
2332         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
2333
2334 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
2335
2336         * stack.c (print_frame): Print frame architecture when printing on
2337         an MI output.
2338         * NEWS: Mention new "arch" attribute in frame output.
2339
2340 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2341
2342         * arch/aarch64.h (aarch64_regnum): Update comment.
2343
2344 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2345
2346         * NEWS: Add SVE to 8.2 section.
2347
2348 2018-08-21  Pedro Alves  <palves@redhat.com>
2349
2350         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
2351         out from gdbscm_parse_function_args.
2352         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
2353         gdbscm_parse_function_args_1.
2354
2355 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
2356
2357         PR gdb/17816
2358         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
2359         operator.
2360
2361 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
2362
2363         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
2364
2365 2018-08-19  Michael Spang  <spang@google.com>
2366
2367         PR gdb/11786
2368         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
2369         for PT_TLS segments.
2370
2371 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
2372
2373         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
2374         dwarf_variable_value.
2375         * dwarf2-frame.c (class dwarf_expr_executor):
2376         Add override for dwarf_variable_value.
2377         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
2378         (class symbol_needs_eval_context): Likewise.
2379         (indirect_synthetic_pointer): Add forward declaration.
2380         (sect_variable_value): New function.
2381         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
2382         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
2383         for DW_OP_GNU_variable_value.
2384
2385 2018-08-16  Tom Tromey  <tom@tromey.com>
2386
2387         * top.c (read_command_file): Update.
2388         (command_line_input): Remove "repeat" argument.
2389         * ada-lang.c (get_selections): Update.
2390         * linespec.c (decode_line_2): Update.
2391         * defs.h (command_line_input): Remove argument.
2392         * cli/cli-script.c (read_next_line): Update.
2393         * python/py-gdb-readline.c: Update.
2394
2395 2018-08-17  Tom Tromey  <tom@tromey.com>
2396
2397         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
2398         command_line_input.
2399
2400 2018-08-15  Tom Tromey  <tom@tromey.com>
2401
2402         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
2403
2404 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
2405
2406         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
2407         If used, use find_pc_partial_function to find address range
2408         to disassemble.
2409         * mi/mi-main.c (mi_cmd_list_features): Report
2410         "data-disassemble-a-option" feature.
2411         * NEWS: Mention new -data-disassemble option -a.
2412
2413 2018-08-13  Tom Tromey  <tom@tromey.com>
2414
2415         * common/common-defs.h (_FORTIFY_SOURCE): Define.
2416
2417 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2418
2419         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
2420         (aarch64_linux_collect_sve_regset): Likewise.
2421         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
2422         * regcache.h (regcache_map_entry_size): New function.
2423
2424 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2425
2426         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
2427         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
2428         (SVE_HEADER_VL_LENGTH): Likewise.
2429         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
2430         (SVE_HEADER_FLAGS_LENGTH): Likewise.
2431         (SVE_HEADER_RESERVED_LENGTH): Likewise.
2432         (SVE_HEADER_SIZE_OFFSET): Likewise.
2433         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
2434         (SVE_HEADER_VL_OFFSET): Likewise.
2435         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
2436         (SVE_HEADER_FLAGS_OFFSET): Likewise.
2437         (SVE_HEADER_RESERVED_OFFSET): Likewise.
2438         (SVE_HEADER_SIZE): Likewise.
2439         (aarch64_linux_core_read_vq): Add function.
2440         (aarch64_linux_core_read_description): Check for SVE section.
2441
2442 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2443
2444         * aarch64-fbsd-tdep.c
2445         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
2446         collect_size.
2447         * aarch64-linux-tdep.c
2448         (aarch64_linux_iterate_over_regset_sections): Likewise.
2449         * alpha-linux-tdep.c
2450         (alpha_linux_iterate_over_regset_sections):
2451         * alpha-nbsd-tdep.c
2452         (alphanbsd_iterate_over_regset_sections): Likewise.
2453         * amd64-fbsd-tdep.c
2454         (amd64fbsd_iterate_over_regset_sections): Likewise.
2455         * amd64-linux-tdep.c
2456         (amd64_linux_iterate_over_regset_sections): Likewise.
2457         * arm-bsd-tdep.c
2458         (armbsd_iterate_over_regset_sections): Likewise.
2459         * arm-fbsd-tdep.c
2460         (arm_fbsd_iterate_over_regset_sections): Likewise.
2461         * arm-linux-tdep.c
2462         (arm_linux_iterate_over_regset_sections): Likewise.
2463         * corelow.c (get_core_registers_cb): Likewise.
2464         (core_target::fetch_registers): Likewise.
2465         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
2466         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
2467         * gdbarch.h (void): Regenerate.
2468         * gdbarch.sh: Add supply_size and collect_size.
2469         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
2470         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
2471         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
2472         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
2473         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
2474         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
2475         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
2476         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
2477         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
2478         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
2479         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
2480         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
2481         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
2482         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
2483         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
2484         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
2485         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
2486         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
2487         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
2488         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
2489         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
2490         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
2491         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
2492         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
2493         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
2494         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
2495         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
2496         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
2497         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
2498         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2499
2500 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
2501
2502         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
2503         with string_printf.
2504
2505 2018-08-10  Keith Seitz  <keiths@redhat.com>
2506
2507         * compile/compile-c-support.c (add_code_header, add_code_footer):
2508         Move into policy class.
2509         (c_push_user_expression, pop_user_expression_nop)
2510         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
2511         (compile_program): New host class.
2512         (c_compile_program): New typedef.
2513         (c_compute_porgram): Use c_compile_program.
2514
2515 2018-08-10  Keith Seitz  <keiths@redhat.com>
2516
2517         * compile/compile-internal.h (compile_instance::~compile_instance):
2518         Remove calls to htab_delete.
2519         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
2520         * compile.c (compile_instance::compile_instance): Initialize
2521         htab unique pointers.
2522         (compile_instance::get_cached_type, compile_instance::insert_type)
2523         (compile_instance::error_symbol_once): Update for unique_ptr.
2524
2525 2018-08-10  Keith Seitz  <keiths@redhat.com>
2526
2527         * compile/compile-c-symbols.c (struct symbol_error)
2528         (hash_symbol_error, eq_symbol_error, del_symbol_error)
2529         (compile_instance::insert_symbol_error)
2530         (compile_instance::error_symbol_once): Move to ...
2531         * compile/compile.c: ... here.
2532
2533 2018-08-10  Keith Seitz  <keiths@redhat.com>
2534
2535         * compile/compile-c-support.c (c_get_compile_context): Use `new'
2536         instead of `new_compile_instance'.
2537         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
2538         Update description.
2539         If the symbol error map is not initialized, create it.
2540         (generate_c_for_for_one_symbol): Do not check/initialize
2541         the symbol error map.
2542         * compile/compile-c-types.c (compile_c_instance): Make a class.
2543         Update all callers.
2544         (compile_instance::compile_instance): Initialize the type cache.
2545         (get_cached_type): New function.
2546         (insert_type): Update description.
2547         (compile_c_instance::m_default_cflags): Define.
2548         (convert_type): Update description.  Use get_cached_type.
2549         (delete_instance): Moved to destructor.
2550         (new_compile_instance): Moved to constructor.
2551         * compile/compile-c.h (compile_c_instance): Make class inheriting
2552         from compile_instance.
2553         <base>: Remove field.
2554         <type_map, symbol_err_map>: Move to base class.
2555         <c_plugin>: Rename to `m_plugin' and remove pointer type.
2556         * compile/compile-internal.h (compile_instance): Make class.
2557         <type_map_t, symbol_err_map_t>: Define.
2558         <fe>: Rename to `m_gcc_fe'.
2559         <scope, block, gcc_target_options>: Add `m_' prefix.
2560         <m_type_map, m_symbol_err_map>: New fields, moved from
2561         compile_c_instance.
2562         <destroy>: Remove.
2563         (convert_type, new_compile_instance): Remove.
2564         * compile/compile.c (cleanup_compile_instance): Remove.
2565         (compile_to_object): Use unique_ptr to eliminate cleanups.
2566         (compile_instance::set_print_callback, compile_instance::version)
2567         (compile_instance::set_verbose)
2568         (compile_instance::set_driver_filename)
2569         (compile_instance::set_triplet_regexp)
2570         (compile_instance::set_arguments)
2571         (compile_instance::set_source_file)
2572         (compile_instance::compile): Define.
2573
2574 2018-08-10  Keith Seitz  <keiths@redhat.com>
2575
2576         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
2577         * compile/compile-c-types.c: Define GCC_METHODN macros and include
2578         gcc-c-fe.def to define C plugin.
2579         (delete_instance): Delete `c_plugin'.
2580         (new_compile_instance): Initialize `c_plugin'.
2581         * compile/compile-c.h: Include gcc_c_plugin.h.
2582         (struct compile_c_instance) <c_plugin>: New member.
2583         * gcc-c-plugin.h: New file.
2584         Update all callers with API change.
2585
2586 2018-08-10  Keith Seitz  <keiths@redhat.com>
2587
2588         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
2589         (HFILES_NO_SRCDIR): ... to here.
2590         Add compile-internal.h and compile-c.h.
2591         * compile/compile-c-support.c: Include compile-c.h.
2592         * compile/compile-c-symbols.c: Include compile-c.h.
2593         (generate_c_for_variable_locations): Update comment.
2594         * compile/compile-c-types.c: Include compile-c.h.
2595         * compile/compile-c.h: New file -- moved C language declarations
2596         from other files here.
2597         * compile/compile-internal.h: Do not include hashtab.h or
2598         common/enum-flags.h.
2599         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
2600         (gcc_convert_symbol, gcc_symbol_address)
2601         (generate_c_for_variable_locations, c_get_mode_for_size)
2602         (c_get_range_decl_name): Definitions moved to compile-c.h.
2603         * compile/compile-loc2c.c: Include compile-c.h.
2604
2605 2018-08-10  Keith Seitz  <keiths@redhat.com>
2606
2607         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
2608         (c_symbol_substitution_name): ... this.
2609         Update all callers.
2610
2611 2018-08-10  Keith Seitz  <keiths@redhat.com>
2612
2613         * compile/compile-c-support.c (c_compute_program): Use
2614         unique_xmalloc_ptr to eliminate cleanup.
2615         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
2616         Return a unique_xmalloc_ptr and eliminate cleanup.
2617         * compile/compile-internal.h (generate_c_for_variable_locations):
2618         Return unique_xmalloc_ptr and update description.
2619
2620 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
2621
2622         * corelow.c (core_target::get_core_register_section): Rename
2623         min_size to section_min_size.
2624
2625 2018-08-09  Jim Wilson  <jimw@sifive.com>
2626
2627         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
2628         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
2629         * NEWS: Mention new GNU/Linux RISC-V target.
2630         * configure.host: Add riscv*-*-linux*.
2631         * configure.nat: Add riscv*.
2632         * configure.tgt: Add riscv*-*-linux*.
2633         * riscv-linux-nat.c: New file.
2634         * riscv-linux-tdep.c: New file.
2635
2636 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2637
2638         * infrun.c (resume): Make static, add forward declaration.
2639         (proceed): Update header comment.
2640         * infrun.h (resume): Delete declaration.
2641
2642 2018-08-09  Tom Tromey  <tom@tromey.com>
2643
2644         * riscv-tdep.h: Minor formatting fixes.
2645
2646 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
2647
2648         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
2649         * dwarf-index-cache.c (create_dir_and_check): Likewise.
2650         (test_mkdir_recursive): Likewise.
2651         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
2652
2653 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2654
2655         * valarith.c (value_subscripted_rvalue): If an array is not in
2656         memory, and we don't know the upper bound, then we can't know that
2657         the requested element exists or not.
2658
2659 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
2660
2661         * target.c (str_comma_list_concat_elem): Fix typo in comment.
2662         (target_options_to_string): Add comment.
2663
2664 2018-08-08  Tom Tromey  <tom@tromey.com>
2665
2666         * unittests/scoped_mmap-selftests.c: Check result of "write".
2667
2668 2018-08-08  Jim Wilson  <jimw@sifive.com>
2669
2670         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
2671         (decode_register_index_short): New.
2672         (decode_j_type_insn, decode_cj_type_insn): New.
2673         (decode_b_type_insn, decode_cb_type_insn): New.
2674         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
2675         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
2676         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
2677         is_c_sw_insn instead of is_sw_insn.
2678         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
2679         (riscv_software_single_step): New.
2680         * riscv-tdep.h (riscv_software_single_step): Declare.
2681
2682         * riscv-tdep.c (riscv_isa_xlen): Drop static.
2683         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
2684
2685 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
2686
2687         PR gdb/18050:
2688         * target.c (dispose_inferior): Don't dispose of inferiors that are
2689         already killed.
2690
2691 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2692
2693         * remote.c (remote_target::download_tracepoint): Change char* to
2694         const char*.
2695
2696 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
2697
2698         * target.h (target_options_to_string): Return an std::string.
2699         * target.c (str_comma_list_concat_elem): Return void, use
2700         std::string.
2701         (do_option): Likewise.
2702         (target_options_to_string): Return an std::string.
2703         * linux-nat.c (linux_nat_target::wait): Adjust.
2704         * target-debug.h (target_debug_print_options): Adjust.
2705
2706 2018-08-07  Tom Tromey  <tom@tromey.com>
2707
2708         * Makefile.in (CPPFLAGS): New variable.
2709         (INTERNAL_CPPFLAGS): Use it.
2710
2711 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2712
2713         * NEWS: Mention the index cache.
2714
2715 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2716
2717         * common/pathstuff.h (get_standard_cache_dir): New.
2718         * common/pathstuff.c (get_standard_cache_dir): New.
2719         * build-id.h (build_id_to_string): New.
2720         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
2721         DEBUG_STR_SUFFIX): Move to here.
2722         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
2723         DEBUG_STR_SUFFIX): Move from there.
2724         (write_psymtabs_to_index): Make non-static, add basename
2725         parameter.  Write to temporary files, rename when done.
2726         (save_gdb_index_command): Adjust call to
2727         write_psymtabs_to_index.
2728         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
2729         field.
2730         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
2731         (get_gdb_index_contents_from_cache): New.
2732         (get_gdb_index_contents_from_cache_dwz): New.
2733         (dwarf2_initialize_objfile): Read index from cache.
2734         (dwarf2_build_psymtabs): Save to index.
2735         * dwarf-index-cache.h: New file.
2736         * dwarf-index-cache.c: New file.
2737         * dwarf-index-write.h: New file.
2738
2739 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2740
2741         * gnulib/aclocal.m4: Re-generate.
2742         * gnulib/config.in: Re-generate.
2743         * gnulib/configure: Re-generate.
2744         * gnulib/import/Makefile.am: Re-generate.
2745         * gnulib/import/Makefile.in: Re-generate.
2746         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
2747         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2748         * gnulib/import/m4/mkdir.m4: New file.
2749         * gnulib/import/mkdir.c: New file.
2750         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
2751         module.
2752
2753 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2754
2755         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
2756         * common/scoped_mmap.c: New file.
2757         * common/scoped_mmap.h (destroy): New method.
2758         (~scoped_mmap, reset): Use destroy.
2759         (scoped_mmap): New move constructor.
2760         (mmap_file): New declaration.
2761         * unittests/scoped_mmap-selftests.c (test_normal,
2762         test_invalid_filename, run_tests): New functions.
2763         (_initialize_scoped_mmap_selftests): Register selftest.
2764
2765 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2766
2767         * dwarf2read.c (read_gdb_index_from_section): Rename to...
2768         (read_gdb_index_from_buffer): ... this.  Remove section
2769         parameter, add buffer parameter.
2770         (get_gdb_index_contents_ftype,
2771         get_gdb_index_contents_dwz_ftype): New typedefs.
2772         (dwarf2_read_gdb_index): Add callback parameters to get the
2773         index contents.
2774         (get_gdb_index_contents_from_section): New.
2775         (dwarf2_initialize_objfile): Update call to
2776         dwarf2_read_gdb_index.
2777
2778 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2779
2780         * common/filestuff.h (gdb_fopen_cloexec): New overload.
2781         (gdb_open_cloexec): Likewise.
2782         * nat/linux-osdata.c (command_from_pid): Use string_printf.
2783         (commandline_from_pid): Likewise.
2784         (linux_xfer_osdata_threads): Likewise.
2785         (linux_xfer_osdata_fds): Likewise.
2786         * ada-lang.c (is_package_name): Likewise.
2787         * auxv.c (procfs_xfer_auxv): Likewise.
2788         * breakpoint.c (print_one_breakpoint_location): Use
2789         uiout::field_fmt.
2790         (print_one_catch_solib): Use string_printf.
2791         * coff-pe-read.c (add_pe_exported_sym): Likewise.
2792         (add_pe_forwarded_sym): Likewise.
2793         * dwarf2read.c (create_type_unit_group): Likewise.
2794         (build_error_marker_type): Likewise.
2795         * infcall.c (get_function_name): Likewise.
2796         * valprint.c (print_converted_chars_to_obstack): Likewise.
2797         * xtensa-tdep.c (xtensa_register_type): Likewise.
2798
2799 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
2800
2801         * remote.c (remote_target::download_tracepoint): Fix format
2802         string errors.
2803
2804 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2805
2806         * tracefile.c: Include common/byte-vector.h.
2807         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
2808         with trace_regblock_size if needed.  Update uses of buf.
2809
2810 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2811
2812         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
2813         std::vector<unsigned char>.
2814         * tracepoint.c (collection_list::collection_list): Remove
2815         m_regs_mask initializer from initializer list.  Resize
2816         m_regs_mask using the largest remote register number.
2817         (collection_list::add_remote_register): Remove size check on
2818         m_regs_mask.  Use at to access element.
2819         (collection_list::stringify): Change type of temp_buf to
2820         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
2821         stringify the register mask.  Use pack_hex_byte for the register
2822         mask.
2823
2824 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2825
2826         * tracepoint.h (class collection_list) <add_register>: Remove.
2827         <add_remote_register, add_ax_registers, add_local_register>:
2828         Declare.
2829         <add_memrange>: Add scope parameter.
2830         * tracepoint.c (encode_actions_1): Likewise.
2831         (collection_list::add_register): Rename to ...
2832         (collection_list::add_remote_register): ... this.  Update
2833         comment.
2834         (collection_list::add_ax_registers, add_local_register): New
2835         methods.
2836         (collection_list::add_memrange): Add scope parameter.  Call
2837         add_local_register instead of add_register.
2838         (finalize_tracepoint_aexpr): New function.
2839         (collection_list::collect_symbol): Update calls to add_memrange.
2840         Call add_local_register instead of add_register.  Call
2841         add_ax_registers.  Call finalize_tracepoint_aexpr.
2842         (encode_actions_1): Get remote regnos for $reg action.  Call
2843         add_remote_register, add_ax_registers, and add_local_register.
2844         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
2845         (validate_actionline): Call finalize_tracepoint_aexpr.
2846
2847 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2848
2849         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
2850         Replace array buf with gdb::char_vector buf, of size
2851         get_remote_packet_size ().  Replace references to buf and
2852         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
2853         and xsnprintf with snprintf.  Raise errors if the buffer is too
2854         small.
2855
2856 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2857
2858         * remote.c (remote_target::download_tracepoint): Fix the has_more
2859         predicate in the QTDP action list iteration.
2860
2861 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2862
2863         * remote.c (remote_target::download_tracepoint): Fix indentation
2864         in for block.
2865
2866 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2867
2868         * proc-api.c (_initialize_proc_api): Remove c, unused.
2869         * procfs.c (procfs_init_inferior): Remove signals, unused.
2870         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
2871         unused.
2872
2873 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2874             Andrew Burgess  <andrew.burgess@embecosm.com>
2875
2876         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
2877         'W_STOPCODE (0)' as this could be ambiguous.
2878
2879 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2880
2881         * ser-tcp.c (net_open): Fix thinko when deciding whether to
2882         disable TCP's Nagle algorithm (use "ai_protocol" instead of
2883         "ai_socktype").
2884
2885 2018-08-02  Tom Tromey  <tom@tromey.com>
2886
2887         PR symtab/16842.
2888         * dwarf2read.c (read_func_scope): Set symtab on template parameter
2889         symbols.
2890         (process_structure_scope): Likewise.
2891
2892 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2893
2894         PR gdb/22629:
2895         * darwin-nat.c (darwin_kill_inferior): Fix handling of
2896         kill inferior.
2897
2898 2018-08-02  Tom Tromey  <tom@tromey.com>
2899
2900         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
2901         (darwin_suspend_inferior, darwin_resume_inferior)
2902         (darwin_decode_notify_message, darwin_resume_inferior_threads)
2903         (darwin_check_new_threads): Check result of get_darwin_inferior.
2904
2905 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
2906
2907         GDB 8.1.1 released.
2908
2909 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
2910
2911         * varobj.c (varobj_get_path_expr_parent): Report an error if
2912         parent is a dynamic varobj.
2913
2914 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2915
2916         * gnulib/aclocal.m4: Re-generate.
2917         * gnulib/config.in: Re-generate.
2918         * gnulib/configure: Re-generate.
2919         * gnulib/import/Makefile.in: Re-generate.
2920         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2921         * gnulib/import/m4/onceonly.m4: Re-generate.
2922
2923 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2924
2925         * target-descriptions.c (struct xml_test_tdesc): New.
2926         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
2927         (record_xml_tdesc): Update.
2928         (maintenance_check_xml_descriptions): Update.
2929         * target-descriptions.h (record_xml_tdesc): Update comment.
2930
2931 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2932
2933         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
2934         checking array bounds are defined.
2935
2936 2018-07-30  Tom Tromey  <tom@tromey.com>
2937
2938         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
2939         irreflexivity violation.
2940
2941 2018-07-30  Tom Tromey  <tom@tromey.com>
2942
2943         * cli/cli-decode.c (lookup_cmd): Remove lint code.
2944         * value.c (unpack_long): Remove lint code.
2945         * valops.c (value_ind): Remove lint code.
2946         * valarith.c (value_x_binop, value_x_unop, value_equal)
2947         (value_pos): Remove lint code.
2948
2949 2018-07-28  Tom de Vries  <tdevries@suse.de>
2950
2951         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
2952         with undefined upper bound as <optimized out>.
2953
2954 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
2955
2956         * gcore.in: Rename variable "name" to "prefix".  Expand
2957         "usage" text.
2958
2959 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
2960
2961         * windows-nat.c (windows_nat_target::create_inferior): Update to
2962         call close() in global namespace.
2963
2964 2018-07-26  Tom Tromey  <tom@tromey.com>
2965
2966         * dwarf-index-write.c (add_address_entry): Don't add objfile
2967         offsets.
2968         * dbxread.c (find_stab_function): Rename from
2969         find_stab_function_addr.  Return a bound_minimal_symbol.
2970         (read_dbx_symtab): Use raw_text_low, raw_text_high.
2971         Don't add objfile offsets.
2972         (end_psymtab): Use raw_text_low, raw_text_high,
2973         MSYMBOL_VALUE_RAW_ADDRESS.
2974         (read_ofile_symtab): Update.
2975         (process_one_symbol): Update.
2976         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
2977         offsets.
2978         (dw2_relocate): Remove.
2979         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
2980         searching addrmap.
2981         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
2982         Update.
2983         (process_psymtab_comp_unit_reader, add_partial_symbol)
2984         (add_partial_subprogram, dwarf2_ranges_read): Update.
2985         (load_partial_dies): Update.
2986         (add_address_entry): Don't add objfile offsets.
2987         (dwarf2_build_include_psymtabs): Update.
2988         (create_addrmap_from_aranges): Don't add objfile offsets.
2989         (dw2_find_pc_sect_compunit_symtab): Update.
2990         * mdebugread.c (parse_symbol): Don't add objfile offsets.
2991         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
2992         Update.
2993         (parse_partial_symbols): Don't add objfile offsets.  Use
2994         raw_text_low, raw_text_high.  Update.
2995         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
2996         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
2997         or call 'relocate' quick function.  Clear psymbol_map.
2998         * psympriv.h (struct partial_symbol) <address>: Add section
2999         offset.
3000         <set_unrelocated_address>: Rename from set_address.
3001         <raw_text_low, raw_text_high>: New methods.
3002         <text_low, text_high>: Add objfile parameter.
3003         (add_psymbol_to_bcache): Add 'section' parameter.  Call
3004         set_unrelocated_address.
3005         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3006         (find_pc_psymbol): Update.
3007         (fixup_psymbol_section, relocate_psymtabs): Remove.
3008         (dump_psymtab, psym_functions): Update.
3009         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
3010         parameter.
3011         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
3012         (start_psymtab_common): Update.
3013         * symfile-debug.c (debug_qf_relocate): Remove.
3014         (debug_sym_quick_functions): Update.
3015         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
3016         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
3017         Update.
3018
3019 2018-07-26  Tom Tromey  <tromey@redhat.com>
3020
3021         * dbxread.c (end_psymtab): Use text_high_valid and
3022         text_low_valid.
3023         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
3024         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
3025         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3026         Update comment.
3027         <text_low_valid, text_high_valid>: New fields.
3028         <set_text_low, set_text_high>: Update.
3029         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
3030
3031 2018-07-26  Tom Tromey  <tom@tromey.com>
3032
3033         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
3034         Update.
3035         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
3036         textlow and texthigh fields.
3037         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
3038         Update.
3039         * mdebugread.c (parse_lines, parse_partial_symbols)
3040         (psymtab_to_symtab_1): Update.
3041         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3042         Rename fields.  Update comment.  Now private.
3043         <text_low, text_high, set_text_low, set_text_high>: New methods.
3044         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3045         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
3046         (start_psymtab_common, maintenance_info_psymtabs)
3047         (maintenance_check_psymtabs): Update.
3048         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
3049         texthigh fields.
3050         (scan_xcoff_symtab): Update.
3051
3052 2018-07-26  Tom Tromey  <tromey@redhat.com>
3053
3054         * psympriv.h (struct partial_symbol) <unrelocated_address,
3055         address, set_address>: New methods.
3056         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
3057         (fixup_psymbol_section, relocate_psymtabs): Update.
3058         (print_partial_symbols): Add 'objfile' parameter.  Update.
3059         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
3060         Update.
3061
3062 2018-07-26  Tom Tromey  <tom@tromey.com>
3063
3064         * dwarf-index-write.c (write_psymbols, debug_names::insert)
3065         (debug_names::write_psymbols): Update.
3066         * psympriv.h (struct partial_symbol): Derive from
3067         general_symbol_info.
3068         <obj_section>: New method.
3069         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
3070         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3071         (find_pc_sect_psymbol, fixup_psymbol_section)
3072         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
3073         (print_partial_symbols, recursively_search_psymtabs)
3074         (compare_psymbols, psymbol_hash, psymbol_compare)
3075         (add_psymbol_to_bcache, maintenance_check_psymtabs)
3076         (psymbol_name_matches, psym_fill_psymbol_map): Update.
3077
3078 2018-07-26  Tom Tromey  <tromey@redhat.com>
3079
3080         * dbxread.c (end_psymtab): Remove dead code.
3081
3082 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
3083
3084         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
3085         DWARF unwinders are disabled.
3086         * dwarf2-frame.c: Add dwarf2read.h include.
3087         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
3088         disabled.
3089         (dwarf2_frame_unwinders_enabled_p): Define.
3090         (show_dwarf_unwinders_enabled_p): New function.
3091         (_initialize_dwarf2_frame): Register switch to control DWARF
3092         unwinder use.
3093         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
3094         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
3095         (show_dwarf_cmdlist): Remove static keyword.
3096         * dwarf2read.h (set_dwarf_cmdlist): Declare.
3097         (show_dwarf_cmdlist): Declare.
3098         * NEWS: Document new feature.
3099
3100 2018-07-26  Tom de Vries  <tdevries@suse.de>
3101
3102         PR breakpoints/23366
3103         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
3104
3105 2018-07-26  Tom de Vries  <tdevries@suse.de>
3106
3107         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
3108         DW_AT_count can't be translated to a dynamic prop.
3109
3110 2018-07-25  Tom de Vries  <tdevries@suse.de>
3111
3112         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
3113         try/catch.
3114
3115 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
3116
3117         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
3118
3119 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
3120
3121         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
3122
3123 2018-07-24  Keith Seitz  <keiths@redhat.comt
3124
3125         PR symtab/23010
3126         * dwarf2read.c (dw2_add_symbol_to_list): New function.
3127         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
3128         instead of add_symbol_to_list.
3129         (read_file_scope): Call prepare_one_comp_unit before reading
3130         any other DIEs.
3131
3132 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
3133
3134         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
3135
3136 2018-07-24  Tom Tromey  <tom@tromey.com>
3137
3138         * utils.c (malloc, realloc, free): Don't declare.
3139         * configure, config.in: Rebuild.
3140         * configure.ac: Don't check for declarations of free, malloc, or
3141         realloc.
3142
3143 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3144
3145         * aarch64-linux-nat.c
3146         (aarch64_linux_nat_target::stopped_data_address): Remove unused
3147         variable.
3148         * arm-linux-nat.c (fetch_regs): Likewise.
3149         (store_regs): Likewise.
3150         (fetch_vfp_regs): Likewise.
3151         (store_vfp_regs): Likewise.
3152         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
3153         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
3154         (arm_linux_nat_target::insert_watchpoint): Likewise.
3155         (arm_linux_nat_target::remove_watchpoint): Likewise.
3156         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
3157         Likewise.
3158         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
3159         Likewise.
3160         * ppc-linux-nat.c (fetch_register): Likewise.
3161         (fetch_all_gp_regs): Likewise.
3162         (fetch_ppc_registers): Likewise.
3163         (store_all_gp_regs): Likewise.
3164         (store_ppc_registers): Likewise.
3165         (hwdebug_insert_point): Likewise.
3166         (can_use_watchpoint_cond_accel): Likewise.
3167         * remote-sim.c (gdb_os_write_stdout): Likewise.
3168
3169 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3170             Tom Tromey  <tom@tromey.com>
3171
3172         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
3173         test for it.
3174         * configure: Rebuild.
3175
3176 2018-07-22  Tom Tromey  <tom@tromey.com>
3177
3178         * regformats/regdat.sh: Define xmltarget_${name} inside
3179         #ifndef IN_PROCESS_AGENT.
3180
3181 2018-07-22  Tom Tromey  <tom@tromey.com>
3182
3183         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
3184
3185 2018-07-22  Tom Tromey  <tom@tromey.com>
3186
3187         * symfile.c (reread_symbols): Notify iter, not objfile.
3188
3189 2018-07-22  Tom Tromey  <tom@tromey.com>
3190
3191         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
3192         Use arch_ops.
3193         (ravenscar_thread_target::prepare_to_store): Likewise.
3194
3195 2018-07-22  Tom Tromey  <tom@tromey.com>
3196
3197         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
3198         unused variable.  Call value_fetch_lazy when needed.
3199         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
3200         Remove unused variable.  Call value_fetch_lazy when needed.
3201
3202 2018-07-22  Tom Tromey  <tom@tromey.com>
3203
3204         * m32c-tdep.c (mark_dma): Return void.
3205         (make_regs): Remove unused declarations.
3206
3207 2018-07-22  Tom Tromey  <tom@tromey.com>
3208
3209         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
3210         cmdscm_get_valid_command_smob_arg_unsafe for effect.
3211         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
3212         bkscm_get_valid_block_smob_arg_unsafe for effect.
3213
3214 2018-07-22  Tom Tromey  <tom@tromey.com>
3215
3216         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
3217         value_type.
3218
3219 2018-07-22  Tom Tromey  <tom@tromey.com>
3220
3221         * windows-nat.c (saved_context): Conditionally define.
3222         * remote.c (remote_target::remote_btrace_maybe_reopen):
3223         Conditionally declare "warned".
3224         * inflow.c (sigquit_ours): Conditionally define.
3225         (new_tty): Move "tty" declaration inside #if.
3226         * guile/guile.c (guile_datadir): Conditionally define.
3227         * charset.c (set_be_le_names): Move some declarations inside #if.
3228         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
3229         #if.
3230         (parse_xml_btrace_conf): Likewise.
3231
3232 2018-07-22  Tom Tromey  <tom@tromey.com>
3233
3234         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
3235
3236 2018-07-22  Tom Tromey  <tom@tromey.com>
3237
3238         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
3239         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
3240         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
3241         * buildsym-legacy.c (get_macro_table): Remove unused variable.
3242         * stack.c (frame_apply_level_command): Remove unused variable.
3243         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
3244         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
3245         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
3246         unused variable.
3247         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
3248         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
3249         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
3250         variable.
3251         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
3252         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
3253         variable.
3254         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
3255         Remove unused variable.
3256         * cli/cli-script.c (recurse_read_control_structure): Remove unused
3257         variable.
3258         * common/tdesc.c (print_xml_feature::visit): Remove unused
3259         variable.
3260         * compile/compile-object-load.c (store_regs): Remove unused
3261         variables.
3262         * complaints.c (clear_complaints): Remove unused variable.
3263         * corelow.c (core_target_open): Remove unused variable.
3264         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
3265         variable.
3266         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
3267         variable.
3268         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
3269         variable.
3270         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
3271         variable.
3272         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
3273         variable.
3274         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
3275         variable.
3276         * ia64-tdep.c (examine_prologue): Remove unused variable.
3277         * infcall.c (run_inferior_call): Remove unused variable.
3278         * inferior.c (exit_inferior): Remove unused variable.
3279         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
3280         * linespec.c (decode_line_2): Remove unused variable.
3281         * linux-nat.c (super_close): Remove.
3282         * linux-tdep.c (linux_info_proc): Remove unused variable.
3283         * mi/mi-main.c (mi_execute_command): Remove unused variable.
3284         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
3285         Remove unused variable.
3286         * parse.c (find_minsym_type_and_address): Remove unused variable.
3287         * printcmd.c (info_symbol_command, printf_floating): Remove unused
3288         variable.
3289         * python/py-breakpoint.c (bppy_set_commands): Remove unused
3290         variable.
3291         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
3292         variables.
3293         * record-btrace.c (record_btrace_target::store_registers): Remove
3294         unused variable.
3295         (cmd_show_record_btrace_cpu): Remove unused variable.
3296         * riscv-tdep.c (riscv_register_reggroup_p)
3297         (riscv_push_dummy_call, riscv_return_value): Remove unused
3298         variable.
3299         * rust-exp.y (literal): Remove unused variable.
3300         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
3301         unused variable.
3302         <STRUCTOP_ANONYMOUS>: Likewise.
3303         * s390-linux-tdep.c (s390_linux_init_abi_31)
3304         (s390_linux_init_abi_64): Remove unused variable.
3305         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
3306         (file_select_thread, net_windows_open, _initialize_ser_windows):
3307         Remove unused variables.
3308         * symtab.c (find_pc_sect_line): Remove unused variable.
3309         * target-memory.c (compute_garbled_blocks): Remove unused
3310         variable.
3311         (target_write_memory_blocks): Remove unused variable.
3312         * target.c (target_stack::unpush): Remove unused variables.
3313         * tracepoint.c (start_tracing, all_tracepoint_actions)
3314         (merge_uploaded_trace_state_variables)
3315         (print_one_static_tracepoint_marker): Remove unused variable.
3316         * unittests/basic_string_view/element_access/char/1.cc (test01):
3317         Remove unused variable.
3318         * windows-nat.c (windows_continue, windows_add_all_dlls)
3319         (do_initial_windows_stuff, windows_nat_target::create_inferior):
3320         Remove unused variables.
3321
3322 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
3323
3324         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
3325         attr_profile in HAVE_ELF.
3326         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
3327         HAVE_ELF.
3328
3329 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
3330
3331         * frame.c (frame_register_unwind): Change parameter name.
3332         (frame_unwind_register): Likewise.
3333         (frame_unwind_register_value): Likewise.
3334         (frame_unwind_register_signed): Likewise.
3335         (frame_unwind_register_unsigned): Likewise.
3336         * frame.h (frame_register_unwind): Likewise.
3337         (frame_unwind_register): Likewise.
3338         (frame_unwind_register_value): Likewise.
3339         (frame_unwind_register_signed): Likewise.
3340         (frame_unwind_register_unsigned): Likewise.
3341         (frame_unwind_arch): Likewise.
3342
3343 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3344
3345         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
3346         ISA maintenance.
3347
3348 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3349
3350         * mips-linux-nat.c (mips_linux_nat_target::read_description):
3351         Call `get_ptrace_pid' rather than extracting the ptrace PID by
3352         hand.
3353
3354 2018-07-20  Keith Seitz  <keiths@redhat.com>
3355
3356         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
3357         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
3358         m_compunit_symtab, m_language>: Add "m_" prefix.
3359         Update all uses.
3360         * buildsym.c: Update all uses.
3361
3362 2018-07-20  Tom Tromey  <tom@tromey.com>
3363
3364         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
3365         * buildsym.h (record_line_ftype): Remove typedef.
3366
3367 2018-07-20  Tom Tromey  <tom@tromey.com>
3368
3369         * buildsym-legacy.h (augment_type_symtab): Don't declare.
3370         (end_expandable_symtab): Likewise.
3371         (end_symtab_get_static_block): Likewise.
3372         (end_symtab_from_static_block): Likewise.
3373         * buildsym-legacy.c (augment_type_symtab): Remove.
3374         (end_expandable_symtab): Remove.
3375         (end_symtab_get_static_block): Remove.
3376         (end_symtab_from_static_block): Remove.
3377
3378 2018-07-20  Tom Tromey  <tom@tromey.com>
3379
3380         * dwarf2read.c: Include buildsym.h.
3381         (struct dwarf2_cu) <builder>: New method.
3382         (fixup_go_packaging): Update.
3383         (process_full_comp_unit, process_full_type_unit): Update.  Don't
3384         use scoped_free_pendings.
3385         (using_directives): Add "cu" parameter, remove "language".
3386         (read_import_statement, setup_type_unit_groups, )
3387         (read_func_scope, read_lexical_block_scope)
3388         (dwarf2_record_block_ranges, read_namespace): Update.
3389         (lnp_state_machine::lnp_state_machine): Add cu parameter.
3390         (lnp_state_machine::handle_end_sequence): Update.
3391         (class lnp_state_machine) <m_cu>: New member.
3392         <m_record_line_callback>: Remove.
3393         <m_currently_recording_lines>: New member.
3394         (lnp_state_machine::handle_set_file): Update.
3395         (noop_record_line): Remove.
3396         (dwarf_record_line_p): Add cu parameter.
3397         (dwarf_record_line_1, dwarf_finish_line): Likewise.
3398         (lnp_state_machine::record_line)
3399         (lnp_state_machine::lnp_state_machine)
3400         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3401         (dwarf_decode_lines): Update.
3402         (dwarf2_start_subfile): Add cu parameter.
3403         (dwarf2_start_symtab, new_symbol): Update.
3404         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
3405         Remove dwarf2_per_objfile parameter.
3406         (dwarf_decode_macros): Update.
3407
3408 2018-07-20  Tom Tromey  <tom@tromey.com>
3409
3410         * stabsread.c (define_symbol): Update.
3411         * buildsym-legacy.h (get_buildsym_compunit): Declare.
3412         * dwarf2read.c (new_symbol): Update.
3413         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
3414         * cp-namespace.c: Include buildsym.h.
3415         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
3416         * buildsym-legacy.c (get_buildsym_compunit): New function.
3417
3418 2018-07-20  Tom Tromey  <tom@tromey.com>
3419
3420         * xcoffread.c: Include buildsym-legacy.h.
3421         * windows-nat.c: Include buildsym-legacy.h.
3422         * stabsread.c: Include buildsym-legacy.h.
3423         * mdebugread.c: Include buildsym-legacy.h.
3424         * buildsym-legacy.h: New file.
3425         * buildsym-legacy.c: New file, from buildsym.c.
3426         * go32-nat.c: Include buildsym-legacy.h.
3427         * dwarf2read.c: Include buildsym-legacy.h.
3428         * dbxread.c: Include buildsym-legacy.h.
3429         * cp-namespace.c: Include buildsym-legacy.h.
3430         * coffread.c: Include buildsym-legacy.h.
3431         * buildsym.h: Move some contents to buildsym-legacy.h.
3432         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
3433         buildsym-legacy.c.
3434         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
3435
3436 2018-07-20  Tom Tromey  <tom@tromey.com>
3437
3438         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
3439         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
3440         (buildsym_compunit::buildsym_compunit)
3441         (buildsym_compunit::~buildsym_compunit)
3442         (buildsym_compunit::get_macro_table): Define.
3443
3444 2018-07-20  Tom Tromey  <tom@tromey.com>
3445
3446         * buildsym.c (reset_symtab_globals): Remove.
3447         (buildsym_compunit::end_symtab_from_static_block): Update.
3448         (buildsym_compunit::augment_type_symtab): Update.
3449         (end_symtab_from_static_block): Call free_buildsym_compunit.
3450         (augment_type_symtab, end_symtab, end_expandable_symtab):
3451         Likewise.
3452
3453 2018-07-20  Tom Tromey  <tom@tromey.com>
3454
3455         * arch-utils.c: Do not include buildsym.h.
3456         * mipsread.c: Do not include buildsym.h.
3457         * machoread.c: Do not include buildsym.h.
3458         * elfread.c: Do not include buildsym.h.
3459
3460 2018-07-20  Tom Tromey  <tom@tromey.com>
3461
3462         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
3463         initialization.
3464         (buildsym_compunit): Add new constructor.
3465         (struct buildsym_compunit) <get_last_source_file, finish_block,
3466         record_block_range, start_subfile, patch_subfile_names,
3467         push_subfile, pop_subfile, record_line, get_compunit_symtab,
3468         set_last_source_start_addr, get_last_source_start_addr,
3469         get_local_using_directives, set_local_using_directives,
3470         get_global_using_directives, outermost_context_p,
3471         get_current_context_stack, get_context_stack_depth,
3472         get_current_subfile, get_local_symbols, get_file_symbols,
3473         get_global_symbols, record_debugformat, record_producer,
3474         push_context, pop_context, end_symtab_get_static_block,
3475         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
3476         New public methods.
3477         <record_pending_block, finish_block_internal, make_blockvector,
3478         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
3479         private methods.
3480         Update all users.
3481
3482 2018-05-22  Tom Tromey  <tom@tromey.com>
3483
3484         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3485         parameter.
3486         (finish_block_internal): Update.
3487
3488 2018-07-20  Tom Tromey  <tom@tromey.com>
3489
3490         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3491         parameter.
3492         (finish_block_internal): Update.
3493
3494 2018-07-20  Tom Tromey  <tom@tromey.com>
3495
3496         * buildsym.h (EXTERN): Don't define or undef.
3497         * buildsym.c (EXTERN): Don't define.
3498
3499 2018-07-20  Tom Tromey  <tom@tromey.com>
3500
3501         * buildsym.c: Remove TODO comment.
3502
3503 2018-07-20  Tom Tromey  <tom@tromey.com>
3504
3505         * coffread.c (coff_symtab_read): Update.
3506         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
3507         (xcoff_new_init): Update.
3508         * mipsread.c (mipscoff_new_init): Update.
3509         * mdebugread.c (mdebug_build_psymtabs): Update.
3510         * elfread.c (elf_new_init): Update.
3511         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3512         Update.
3513         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
3514         (coffstab_build_psymtabs, elfstab_build_psymtabs)
3515         (stabsect_build_psymtabs): Update.
3516         * buildsym.h (buildsym_init): Don't declare.
3517         * buildsym.c: Update comment.
3518         (prepare_for_building): Remove.
3519         (start_symtab, restart_symtab): Update.
3520         (reset_symtab_globals): Update comment.
3521         (buildsym_init): Remove.
3522
3523 2018-07-20  Tom Tromey  <tom@tromey.com>
3524
3525         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
3526         * stabsread.c (patch_block_stabs, define_symbol, read_type)
3527         (read_enum_type, common_block_start, common_block_end)
3528         (cleanup_undefined_types_1, finish_global_stabs): Update.
3529         * mdebugread.c (psymtab_to_symtab_1): Update.
3530         * dwarf2read.c (fixup_go_packaging, read_func_scope)
3531         (read_lexical_block_scope, new_symbol): Update.
3532         * dbxread.c (process_one_symbol): Update.
3533         * coffread.c (coff_symtab_read, process_coff_symbol)
3534         (coff_read_enum_type): Update.
3535         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
3536         declare.
3537         (get_local_symbols, get_file_symbols, get_global_symbols): New
3538         functions.
3539         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
3540         m_global_symbols.
3541         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
3542         (~scoped_free_pendings): Update.
3543         (finish_block, prepare_for_building, reset_symtab_globals)
3544         (end_symtab_get_static_block, end_symtab_with_blockvector)
3545         (augment_type_symtab, push_context): Update.
3546         (get_local_symbols, get_file_symbols, get_global_symbols): New
3547         functions.
3548         (buildsym_init): Update.
3549
3550 2018-07-20  Tom Tromey  <tom@tromey.com>
3551
3552         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
3553         (process_full_type_unit): Likewise.
3554         (dwarf2_start_symtab): Set list_in_scope.
3555
3556 2018-07-20  Tom Tromey  <tom@tromey.com>
3557
3558         * dwarf2read.c (process_psymtab_comp_unit_reader)
3559         (build_type_psymtabs_reader): Do not set list_in_scope.
3560
3561 2018-07-20  Tom Tromey  <tom@tromey.com>
3562
3563         * buildsym.c (free_pendings): Remove.
3564         (add_symbol_to_list, scoped_free_pendings)
3565         (finish_block_internal, buildsym_init): Update.
3566
3567 2018-07-20  Tom Tromey  <tom@tromey.com>
3568
3569         * xcoffread.c (read_xcoff_symtab): Update.
3570         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
3571         Update.
3572         * dbxread.c (process_one_symbol): Update.
3573         * coffread.c (coff_symtab_read): Update.
3574         * buildsym.h (finish_block): Update.
3575         * buildsym.c (finish_block): Remove "listhead" argument.
3576         (end_symtab_get_static_block): Update.
3577
3578 2018-07-20  Tom Tromey  <tom@tromey.com>
3579
3580         * buildsym.h (class scoped_free_pendings): Remove constructor.
3581         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
3582         method.
3583         <m_pending_block_obstack, m_pending_blocks>: New members.
3584         (pending_block_obstack, pending_blocks): Remove.
3585         (scoped_free_pendings::scoped_free_pendings): Default.
3586         (~scoped_free_pendings): Update.
3587         (free_pending_blocks): Remove.
3588         (finish_block_internal, record_pending_block, make_blockvector)
3589         (end_symtab_get_static_block, augment_type_symtab, push_context)
3590         (buildsym_init): Update.
3591
3592 2018-07-20  Tom Tromey  <tom@tromey.com>
3593
3594         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
3595         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
3596         members.
3597         (pending_addrmap, pending_addrmap_obstack)
3598         (pending_addrmap_interesting): Remove.
3599         (scoped_free_pendings, record_block_range, make_blockvector)
3600         (prepare_for_building, reset_symtab_globals, buildsym_init):
3601         Update.
3602
3603 2018-07-20  Tom Tromey  <tom@tromey.com>
3604
3605         * xcoffread.c (process_linenos): Update.
3606         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
3607         * mdebugread.c (psymtab_to_symtab_1): Update.
3608         * dwarf2read.c (setup_type_unit_groups)
3609         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
3610         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
3611         * dbxread.c (process_one_symbol): Update.
3612         * coffread.c (coff_symtab_read, enter_linenos)
3613         (process_coff_symbol): Update.
3614         * buildsym.h (current_subfile): Don't declare.
3615         (get_current_subfile): Declare.
3616         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
3617         member.
3618         (start_subfile, free_buildsym_compunit, push_subfile)
3619         (prepare_for_building, start_symtab): Update.
3620         (get_current_subfile): New function.
3621
3622 2018-07-20  Tom Tromey  <tom@tromey.com>
3623
3624         * coffread.c (coff_symtab_read): Update.
3625         * xcoffread.c (read_xcoff_symtab): Update.
3626         * dwarf2read.c (new_symbol): Update.
3627         (read_func_scope, read_lexical_block_scope): Update.
3628         * dbxread.c (process_one_symbol): Update.
3629         * buildsym.h (context_stack, context_stack_depth): Don't declare.
3630         (outermost_context_p): Remove macro.
3631         (outermost_context_p, get_current_context_stack)
3632         (get_context_stack_depth): Declare.
3633         (pop_context): Return struct context_stack.
3634         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
3635         member.
3636         (context_stack_size): Remove.
3637         (INITIAL_CONTEXT_STACK_SIZE): Remove.
3638         (prepare_for_building, end_symtab_get_static_block)
3639         (augment_type_symtab, push_context): Update.
3640         (pop_context): Return struct context_stack.
3641         (outermost_context_p, get_current_context_stack)
3642         (get_context_stack_depth): New functions.
3643         (buildsym_init): Update.
3644
3645 2018-07-20  Tom Tromey  <tom@tromey.com>
3646
3647         * rust-exp.y: Now a pure parser.  Update all rules.
3648         (%union): Move earlier.
3649         (current_parser, work_obstack): Remove globals.
3650         (rust_parser, ~rust_parser): Update.
3651         (class rust_parser) <copy_name, concat3, crate_name, super_name,
3652         lex_character, lex_number, lex_string, lex_identifier,
3653         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
3654         convert_name, convert_params_to_expression,
3655         convert_ast_to_expression, ast_basic_type, ast_operation,
3656         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
3657         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
3658         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
3659         ast_array_type, ast_slice_type, ast_reference_type,
3660         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
3661         (rust_parse): Update.
3662         (rustyyerror, rustyylex): Add parser parameter.
3663         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
3664         (rust_lex_stringish_test, rust_lex_test_sequence)
3665         (rust_lex_test_trailing_dot, rust_lex_test_completion)
3666         (rust_lex_test_push_back, rust_lex_tests): Update.
3667
3668 2018-07-19  Pedro Alves  <palves@redhat.com>
3669
3670         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
3671         gdb::unique_xmalloc_ptr.
3672         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
3673         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
3674         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
3675         copy-initialization.
3676         * guile/scm-pretty-print.c (ppscm_print_children): Use
3677         gdb::unique_xmalloc_ptr instead of cleanups.
3678         (gdbscm_apply_val_pretty_printer): Remove cleanups.
3679         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
3680         gdb::unique_xmalloc_ptr.
3681         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3682         Adjust to use gdb::unique_xmalloc_ptr.
3683         * guile/scm-utils.c (extract_arg): Adjust.
3684         * guile/scm-value.c (gdbscm_value_field): Adjust to use
3685         gdb::unique_xmalloc_ptr instead of a cleanup.
3686
3687 2018-07-19  Tom Tromey  <tom@tromey.com>
3688
3689         * utils.c (do_value_free_to_mark)
3690         (make_cleanup_value_free_to_mark): Remove.
3691         * utils.h (make_cleanup_value_free_to_mark): Remove.
3692
3693 2018-07-19  Pedro Alves  <palves@redhat.com>
3694
3695         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
3696         forwarding reference.
3697
3698 2018-07-18  Pedro Alves  <palves@redhat.com>
3699
3700         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
3701         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
3702         cleanup.
3703
3704 2018-07-18  Pedro Alves  <palves@redhat.com>
3705
3706         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
3707         exceptions.
3708         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
3709         (gdbscm_wrap): New.
3710         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
3711         directly instead of a cleanup.
3712         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
3713         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
3714         (vlscm_binop_gdbthrow): New, factored out from ...
3715         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
3716         (vlscm_rich_compare): Use gdbscm_wrap.
3717         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
3718         instead of a cleanup.
3719         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
3720         cleanup.
3721         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3722         Use xfree directly instead of a cleanup.
3723         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
3724         Adjust to use gdbscm_wrap and scoped_value_mark.
3725         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
3726         (gdbscm_value_address, gdbscm_value_dereference)
3727         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
3728         scoped_value_mark.
3729         (gdbscm_value_dynamic_type): Use scoped_value_mark.
3730         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
3731         scoped_value_mark.
3732         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
3733         gdbscm_wrap and scoped_value_mark.
3734         (gdbscm_value_to_string): Use xfree directly instead of a
3735         cleanup.  Move 'buffer' unique_ptr to TRY scope.
3736         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
3737         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
3738         scoped_value_mark.
3739         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
3740         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
3741         scoped_value_mark.
3742         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
3743         gdbscm_wrap.
3744
3745 2018-07-18  Tom de Vries  <tdevries@suse.de>
3746
3747         * findvar.c (default_read_var_value): Also resolve dynamic type for
3748         LOC_OPTIMIZED_OUT vars.
3749
3750 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
3751
3752         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
3753         decoding.
3754
3755 2018-07-17  Tom Tromey  <tom@tromey.com>
3756
3757         * guile/scm-param.c (pascm_set_func, pascm_show_func)
3758         (compute_enum_list, pascm_set_param_value_x)
3759         (gdbscm_parameter_value): Update.
3760         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
3761         (gdbscm_scm_to_host_string): Update.
3762         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
3763         Update.
3764         * guile/scm-cmd.c (cmdscm_add_completion): Update.
3765         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
3766         * guile/scm-string.c (gdbscm_scm_to_string): Return
3767         unique_xmalloc_ptr.
3768         (gdbscm_scm_to_host_string): Likewise.
3769
3770 2018-07-17  Tom Tromey  <tom@tromey.com>
3771
3772         * guile/guile.c (gdbscm_eval_from_control_command): Update.
3773         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
3774         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
3775         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
3776         unique_xmalloc_ptr.
3777
3778 2018-07-17  Tom Tromey  <tom@tromey.com>
3779
3780         * guile/scm-param.c (pascm_signal_setshow_error): Update.
3781         * guile/guile-internal.h (gdbscm_exception_message_to_string):
3782         Update.
3783         * guile/scm-cmd.c (cmdscm_function): Update.
3784         * guile/scm-pretty-print.c
3785         (ppscm_print_exception_unless_memory_error): Update.
3786         * guile/scm-exception.c (gdbscm_exception_message_to_string):
3787         Return unique_xmalloc_ptr.
3788
3789 2018-07-17  Tom Tromey  <tom@tromey.com>
3790
3791         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
3792         Use string_printf.
3793
3794 2018-07-17  Jim Wilson  <jimw@sifive.com>
3795
3796         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
3797         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
3798         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
3799         unecessary braces after EF_RISCV_RVC test.  Delete call to
3800         set_gdbarch_decr_pc_after_break.
3801
3802         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
3803         RISCV_LAST_FP_REGNUM + 1.
3804         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
3805
3806 2018-07-17  Tom Tromey  <tom@tromey.com>
3807
3808         * configure.ac: Remove --disable-gdbcli.
3809         * configure: Rebuild.
3810         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
3811         (SUBDIR_CLI_CFLAGS): Remove.
3812         (SFILES): Use SUBDIR_CLI_SRCS.
3813         (COMMON_OBS): Use SUBDIR_CLI_OBS.
3814
3815 2018-07-17  Tom Tromey  <tom@tromey.com>
3816
3817         PR gdb/18624:
3818         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
3819
3820 2018-07-16  Jim Wilson  <jimw@sifive.com>
3821
3822         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
3823
3824 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3825
3826         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
3827         variable.
3828         (libunwind_frame_sniffer): Likewise.
3829         (libunwind_frame_prev_register): Likewise.
3830         (libunwind_sigtramp_frame_sniffer): Likewise.
3831         * ia64-tdep.c (ia64_access_reg): Likewise.
3832         (ia64_access_rse_reg): Likewise.
3833         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
3834         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
3835
3836 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3837
3838         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
3839
3840 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3841
3842         * remote-sim.c (gdbsim_target::close,
3843         gdbsim_target::mourn_inferior): Remove unused variables.
3844
3845 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
3846
3847         * ia64-tdep.c (ktab_buf): New global.
3848         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
3849         (get_kernel_table): Adjust.
3850
3851 2018-07-16  Tom Tromey  <tom@tromey.com>
3852
3853         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
3854         * dwarf2read.c (using_directives, new_symbol): Use
3855         outermost_context_p.
3856         * dbxread.c (process_one_symbol): Use outermost_context_p.
3857         * coffread.c (coff_symtab_read): Use outermost_context_p.
3858
3859 2018-07-16  Tom Tromey  <tom@tromey.com>
3860
3861         * dwarf2read.c (using_directives, read_func_scope)
3862         (read_lexical_block_scope): Update.
3863         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
3864         * buildsym.h (local_using_directives, global_using_directives):
3865         Don't declare.
3866         (get_local_using_directives, set_local_using_directives)
3867         (get_global_using_directives): Declare.
3868         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
3869         m_global_using_directives>: New members.
3870         (finish_block_internal, prepare_for_building)
3871         (reset_symtab_globals, end_symtab_get_static_block)
3872         (push_context): Update.
3873         (get_local_using_directives, set_local_using_directives)
3874         (get_global_using_directives): New functions.
3875         (buildsym_init): Update.
3876
3877 2018-07-16  Tom Tromey  <tom@tromey.com>
3878
3879         * xcoffread.c (xcoff_initial_scan): Don't call
3880         free_pending_blocks.
3881         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
3882         * buildsym.h (class scoped_free_pendings): Add constructor.
3883         (free_pending_blocks): Don't declare.
3884         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
3885         (free_pending_blocks): Now static.
3886
3887 2018-07-16  Tom Tromey  <tom@tromey.com>
3888
3889         * buildsym.h (push_subfile, pop_subfile): Update declarations.
3890         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
3891         member.
3892         (struct subfile_stack): Remove.
3893         (subfile_stack): Remove.
3894         (push_subfile, pop_subfile, buildsym_init): Update.
3895
3896 2018-07-16  Tom Tromey  <tom@tromey.com>
3897
3898         * buildsym.c (push_subfile): Use gdb_assert.
3899         (pop_subfile): Use gdb_assert.
3900
3901 2018-07-16  Tom Tromey  <tom@tromey.com>
3902
3903         * buildsym.h (merge_symbol_lists): Remove.
3904         * buildsym.c (merge_symbol_lists): Remove.
3905
3906 2018-07-16  Tom Tromey  <tom@tromey.com>
3907
3908         * stabsread.c (scan_file_globals): Update comment.
3909         * stabsread.h (scan_file_globals): Move from buildsym.h.
3910         * buildsym.h (scan_file_globals): Move to stabsread.h.
3911
3912 2018-07-16  Tom Tromey  <tom@tromey.com>
3913
3914         * xcoffread.c (xcoff_new_init): Update.
3915         * mipsread.c (mipscoff_new_init): Update.
3916         * mdebugread.c (mdebug_build_psymtabs): Update.
3917         * elfread.c (elf_new_init): Update.
3918         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
3919         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
3920         * buildsym.h (buildsym_new_init): Don't declare.
3921         * buildsym.c (buildsym_new_init): Remove.
3922
3923 2018-07-16  Tom Tromey  <tom@tromey.com>
3924
3925         * stabsread.h (within_function): Move from buildsym.h.
3926         * stabsread.c (start_stabs): Clear within_function.
3927         * coffread.c (coff_start_symtab): Clear within_function.
3928         * buildsym.h (within_function): Move to stabsread.h.
3929         * buildsym.c (prepare_for_building): Update.
3930
3931 2018-07-16  Tom Tromey  <tom@tromey.com>
3932
3933         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
3934         * dwarf2read.c (dwarf2_start_symtab): Don't set
3935         processing_gcc_compilation.
3936         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
3937
3938 2018-07-16  Tom Tromey  <tom@tromey.com>
3939
3940         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
3941         (next_symbol_text_func): Move from buildsym.h.
3942         * stabsread.c (hashname): Move from buildsym.c.
3943         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
3944         (next_symbol_text_func, hashname): Move to stabsread.h.
3945         * buildsym.c: Don't include bcache.h
3946         (hashname): Move to stasbread.c.
3947
3948 2018-07-16  Tom Tromey  <tom@tromey.com>
3949
3950         * buildsym.h (context_stack_size): Don't declare.
3951         * buildsym.c (context_stack_size): New global.
3952
3953 2018-07-16  Tom Tromey  <tom@tromey.com>
3954
3955         * dbxread.c (processing_acc_compilation): New global.
3956         * buildsym.h (processing_acc_compilation): Don't declare.
3957
3958 2018-07-16  Tom Tromey  <tom@tromey.com>
3959
3960         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
3961         * dbxread.c (read_ofile_symtab): Update.
3962         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
3963         * buildsym.h (last_source_start_addr): Remove.
3964         (set_last_source_start_addr, get_last_source_start_addr):
3965         Declare.
3966         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
3967         parameter.
3968         (struct buildsym_compunit) <m_last_source_start_addr>: New
3969         member.
3970         (prepare_for_building): Remove start_addr parameter.
3971         (start_symtab, restart_symtab, end_symtab_get_static_block)
3972         (end_symtab_with_blockvector): Update.
3973         (set_last_source_start_addr, get_last_source_start_addr): New
3974         functions.
3975
3976 2018-07-16  Tom Tromey  <tom@tromey.com>
3977
3978         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
3979         member.
3980         (have_line_numbers): Remove.
3981         (record_line, prepare_for_building, end_symtab_get_static_block)
3982         (augment_type_symtab): Update.
3983
3984 2018-07-16  Tom Tromey  <tom@tromey.com>
3985
3986         * buildsym.c (~buildsym_compunit): Free the macro table.
3987         (struct buildsym_compunit) <get_macro_table, release_macros>: New
3988         methods.
3989         <m_pending_macros>: New member.
3990         (pending_macros): Remove.
3991         (~scoped_free_pendings, get_macro_table, prepare_for_building)
3992         (reset_symtab_globals, end_symtab_get_static_block)
3993         (end_symtab_with_blockvector, augment_type_symtab)
3994         (buildsym_init): Update.
3995
3996 2018-07-16  Tom Tromey  <tom@tromey.com>
3997
3998         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
3999         parameter.
4000         (buildsym_compunit::set_last_source_file): New method.
4001         <m_last_source_file>: New member.
4002         (prepare_for_building): Remove "name" parameter.
4003         (start_symtab, restart_symtab, reset_symtab_globals): Update.
4004         (last_source_file): Remove.
4005         (set_last_source_file, get_last_source_file): Update.
4006
4007 2018-07-16  Tom Tromey  <tom@tromey.com>
4008
4009         * buildsym.c (prepare_for_building): Add assert.
4010
4011 2018-07-16  Tom Tromey  <tom@tromey.com>
4012
4013         * buildsym.c (~buildsym_compunit): Update.
4014         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
4015         (start_subfile, patch_subfile_names)
4016         (end_symtab_with_blockvector): Update.
4017
4018 2018-07-16  Tom Tromey  <tom@tromey.com>
4019
4020         * buildsym.c (struct buildsym_compunit): Add constructor,
4021         destructor, initializers.
4022         (start_buildsym_compunit): Remove.
4023         (free_buildsym_compunit): Use "delete".
4024         (start_symtab, restart_symtab): Use "new".
4025
4026 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
4027
4028         * symfile.c (set_objfile_default_section_offset): Remove struct
4029         keyword.
4030
4031 2018-07-14  Stafford Horne  <shorne@gmail.com>
4032
4033         * (Responsible Maintainers): Add myself as or1k maintainer.
4034
4035 2018-07-13  Tom Tromey  <tom@tromey.com>
4036
4037         * symfile.c (set_objfile_default_section_offset): Use extra braces
4038         around initializer.
4039
4040 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4041
4042         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
4043         non-branching basr.
4044
4045 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4046
4047         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4048         unittests/cli-utils-selftests.c
4049         * unittests/cli-utils-selftests.c: New file.
4050
4051 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4052
4053         * NEWS: Mention new commands. Mention change to 'thread apply'.
4054
4055 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4056
4057         * thread.c (thr_try_catch_cmd): New function.
4058         (thread_apply_all_command): Handle qcs flags.
4059         (thread_apply_command): Handle qcs flags.
4060         (taas_command): New function.
4061         (tfaas_command): New function.
4062         (_initialize_thread): Update to setup the new commands 'taas
4063         and 'tfaas'. Change doc string for 'thread apply'.
4064
4065 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4066
4067         * stack.c: (trailing_outermost_frame): New function, mostly
4068         extracted from backtrace_command_1.
4069         (leading_innermost_frame): New function.
4070         (backtrace_command_1): Update to call trailing_outermost_frame.
4071         (frame_apply_command_count): New function.
4072         (frame_apply_level_command): New function.
4073         (frame_apply_all_command): New function.
4074         (frame_apply_command): New function.
4075         (faas_command): New function.
4076         (frame_cmd_list): New variable.
4077         (_initialize_stack): Update to setup the new commands 'frame apply'
4078         and 'faas'.
4079
4080 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4081
4082         * cli-utils.c (number_or_range_parser::get_number): Only handle
4083         numbers or convenience var as numbers.
4084         (parse_flags): New function.
4085         (parse_flags_qcs): New function.
4086         (number_or_range_parser::finished): Ensure parsing end is detected
4087         before end of string.
4088         * cli-utils.h (parse_flags): New function.
4089         (parse_flags_qcs): New function.
4090         (number_or_range_parser): Remove m_finished bool.
4091         (number_or_range_parser::skip_range): Set m_in_range to false.
4092
4093 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
4094
4095         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
4096         on Windows.
4097
4098 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4099             Jan Kratochvil  <jan.kratochvil@redhat.com>
4100             Paul Fertser  <fercerpav@gmail.com>
4101             Tsutomu Seki  <sekiriki@gmail.com>
4102             Pedro Alves  <palves@redhat.com>
4103
4104         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4105         'unittests/parse-connection-spec-selftests.c'.
4106         (COMMON_SFILES): Add 'common/netstuff.c'.
4107         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
4108         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
4109         * common/netstuff.c: New file.
4110         * common/netstuff.h: New file.
4111         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
4112         (wait_for_connect): Update comment.  New parameter
4113         'gdb::optional<int> sock' instead of 'struct serial *scb'.
4114         Use 'sock' directly instead of 'scb->fd'.
4115         (try_connect): New function, with code from 'net_open'.
4116         (net_open): Rewrite main loop to deal with multiple
4117         sockets/addresses.  Handle IPv6-style hostnames; implement
4118         support for IPv6 connections.
4119         * unittests/parse-connection-spec-selftests.c: New file.
4120
4121 2018-07-11  Pedro Alves  <palves@redhat.com>
4122
4123         PR gdb/23377
4124         * remote.c (remote_target::remote_detach_pid): Call
4125         set_current_process.
4126
4127 2018-07-11  Pedro Alves  <palves@redhat.com>
4128
4129         * h8300-tdep.c (h8300_gdbarch_init): Remove
4130         set_gdbarch_ecoff_reg_to_regnum calls.
4131
4132 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4133
4134         PR c++/23373
4135         * c-typeprint.c (c_type_print_base_struct_union): Don't print
4136         offsets/sizes for static members of a class/struct.
4137
4138 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
4139
4140         * target-descriptions.c (tdesc_register_bitsize): Rename.
4141         * target-descriptions.h (tdesc_register_bitsize): Likewise.
4142         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
4143         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
4144
4145 2018-07-10  Tom Tromey  <tom@tromey.com>
4146
4147         * breakpoint.c (moribund_locations): Now static and a
4148         std::vector.
4149         (breakpoint_init_inferior, moribund_breakpoint_here_p)
4150         (build_bpstat_chain, update_global_location_list)
4151         (breakpoint_retire_moribund): Update.
4152         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
4153         VEC.
4154
4155 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4156
4157         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
4158         (riscv_register_reggroup_p): Use new function, remove unneeded
4159         parenthesis.
4160         (riscv_push_dummy_call): Extend assert to compare against xlen or
4161         flen based on register type.
4162
4163 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4164
4165         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
4166
4167 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
4168
4169         * remote.c (show_hardware_watchpoint_limit): New function.
4170         (show_hardware_watchpoint_length_limit): New function.
4171         (show_hardware_breakpoint_limit): New function.
4172         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
4173         where appropriate, update help text.
4174
4175 2018-07-09  Tom Tromey  <tom@tromey.com>
4176
4177         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
4178         (CLIBS): Don't mention NAT_CLIBS.
4179
4180 2018-07-09  Tom Tromey  <tom@tromey.com>
4181
4182         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
4183         (LIBGDB_OBS, clean mostlyclean): Update.
4184         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
4185
4186 2018-07-09  Tom Tromey  <tom@tromey.com>
4187
4188         * Makefile.in (%.c: %.y): Use ECHO_YACC.
4189         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
4190         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
4191
4192 2018-07-09  Tom Tromey  <tom@tromey.com>
4193
4194         * Makefile.in (ALLDEPFILES): Remove exec.c.
4195         (COMMON_OBS): Remove exec.o.
4196         (COMMON_SFILES): Add exec.c.
4197
4198 2018-07-09  Tom Tromey  <tom@tromey.com>
4199
4200         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
4201
4202 2018-07-09  Tom Tromey  <tom@tromey.com>
4203
4204         * Makefile.in (clean mostlyclean): Remove stamp-version.
4205         (version.c): Depend on stamp-version.
4206         (stamp-version): New rule, from version.c rule.
4207
4208 2018-07-09  Tom Tromey  <tom@tromey.com>
4209
4210         * Makefile.in (init.c): Depend on stamp-init.
4211         (stamp-init): New rule, from init.c rule.
4212         (clean mostlyclean): Remove stamp-init.
4213
4214 2018-07-09  Tom Tromey  <tom@tromey.com>
4215
4216         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
4217         SUBDIR_GCC_COMPILE_SRCS.
4218
4219 2018-07-09  Tom Tromey  <tom@tromey.com>
4220
4221         * Makefile.in (init.c): Remove some unused sed rules.
4222
4223 2018-07-09  Tom Tromey  <tom@tromey.com>
4224
4225         * Makefile.in (TSOBS): Remove.
4226         (INIT_FILES): Update.
4227         (LIBGDB_OBS): Update.
4228         (COMMON_SFILES): Add inflow.c.
4229         (SFILES): Remove inflow.c.
4230
4231 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
4232
4233         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
4234
4235 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
4236
4237         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
4238         get_saveloc_name, is_signal_frame_name, step_name,
4239         init_remote_name, create_addr_space_name,
4240         destroy_addr_space_name, search_unwind_table_name,
4241         find_dyn_list_name): Constify.
4242
4243 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
4244
4245         * darwin-nat.c (darwin_pthread_kill): New function.
4246         (darwin_resume_thread): Use darwin_pthread_kill.
4247
4248 2018-07-05  Tom de Vries  <tdevries@suse.de>
4249
4250         * macroexp.c (macro_buffer) <operator=>: New member function.
4251
4252 2018-07-04  Tom Tromey  <tom@tromey.com>
4253
4254         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
4255
4256 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
4257
4258         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
4259         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
4260         * maint.c: Likewise.
4261         * top.c: Likewise.
4262
4263 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4264
4265         * NEWS: Create a new section for the next release branch.
4266         Rename the section of the current branch, now that it has
4267         been cut.
4268
4269 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4270
4271         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
4272         * version.in: Bump version to 8.2.50.DATE-git.
4273
4274 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
4275             Pedro Alves  <palves@redhat.com>
4276
4277         * linux-nat.c (linux_init_ptrace): Rename to ...
4278         (linux_init_ptrace_procfs): ... this.  Call
4279         linux_proc_init_warnings.
4280         (linux_nat_target::post_attach)
4281         (linux_nat_target::post_startup_inferior): Adjust.
4282         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
4283         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
4284
4285 2018-07-04  Tom de Vries  <tdevries@suse.de>
4286
4287         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
4288         check ...
4289         (read_comp_unit_head): ... here.
4290
4291 2018-07-03  Tom Tromey  <tom@tromey.com>
4292
4293         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
4294         (stop_tracing, tstatus_command)
4295         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
4296         (print_one_static_tracepoint_marker): Update.
4297         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
4298         std::vector.
4299         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
4300         VEC.
4301         (all_tracepoints, static_tracepoints_here): Return std::vector.
4302
4303 2018-07-03  Tom Tromey  <tom@tromey.com>
4304
4305         * common/ptid.c (ptid_equal): Remove.
4306         * common/ptid.h (ptid_equal): Don't declare.
4307         * ada-tasks.c: Update.
4308         * breakpoint.c: Update.
4309         * common/agent.c: Update.
4310         * corelow.c: Update.
4311         * darwin-nat-info.c: Update.
4312         * darwin-nat.c: Update.
4313         * dcache.c: Update.
4314         * dtrace-probe.c: Update.
4315         * dummy-frame.c: Update.
4316         * fbsd-nat.c: Update.
4317         * frame.c: Update.
4318         * gdbthread.h: Update.
4319         * gnu-nat.c: Update.
4320         * go32-nat.c: Update.
4321         * inf-loop.c: Update.
4322         * inf-ptrace.c: Update.
4323         * infcall.c: Update.
4324         * infcmd.c: Update.
4325         * inflow.c: Update.
4326         * infrun.c: Update.
4327         * linux-fork.c: Update.
4328         * linux-nat.c: Update.
4329         * linux-thread-db.c: Update.
4330         * mi/mi-cmd-var.c: Update.
4331         * mi/mi-interp.c: Update.
4332         * mi/mi-main.c: Update.
4333         * nto-procfs.c: Update.
4334         * ppc-linux-tdep.c: Update.
4335         * procfs.c: Update.
4336         * python/py-inferior.c: Update.
4337         * python/py-record-btrace.c: Update.
4338         * python/py-record.c: Update.
4339         * ravenscar-thread.c: Update.
4340         * regcache.c: Update.
4341         * remote-sim.c: Update.
4342         * remote.c: Update.
4343         * sol-thread.c: Update.
4344         * solib.c: Update.
4345         * target.c: Update.
4346         * tui/tui-stack.c: Update.
4347         * varobj.c: Update.
4348         * windows-nat.c: Update.
4349         * windows-tdep.c: Update.
4350
4351 2018-07-03  Tom Tromey  <tom@tromey.com>
4352
4353         * common/ptid.c (ptid_match): Remove.
4354         * common/ptid.h (ptid_match): Don't declare.
4355         * fbsd-nat.c: Update.
4356         * infcmd.c: Update.
4357         * infrun.c: Update.
4358         * linux-nat.c: Update.
4359         * record-btrace.c: Update.
4360         * regcache.c: Update.
4361         * remote.c: Update.
4362
4363 2018-07-03  Tom Tromey  <tom@tromey.com>
4364
4365         * common/ptid.c (ptid_tid_p): Remove.
4366         * common/ptid.h (ptid_tid_p): Don't declare.
4367         * sol-thread.c: Update.
4368
4369 2018-07-03  Tom Tromey  <tom@tromey.com>
4370
4371         * common/ptid.c (ptid_lwp_p): Remove.
4372         * common/ptid.h (ptid_lwp_p): Don't declare.
4373         * fbsd-nat.c: Update.
4374         * linux-nat.c: Update.
4375         * nat/linux-procfs.c: Update.
4376         * nat/x86-linux-dregs.c: Update.
4377         * sol-thread.c: Update.
4378
4379 2018-07-03  Tom Tromey  <tom@tromey.com>
4380
4381         * common/ptid.c (ptid_is_pid): Remove.
4382         * common/ptid.h (ptid_is_pid): Don't declare.
4383         * infrun.c: Update.
4384         * linux-nat.c: Update.
4385         * mi/mi-interp.c: Update.
4386         * remote.c: Update.
4387         * thread.c: Update.
4388
4389 2018-07-03  Tom Tromey  <tom@tromey.com>
4390
4391         * common/ptid.c (ptid_get_tid): Remove.
4392         * common/ptid.h (ptid_get_tid): Don't declare.
4393         * ada-tasks.c: Update.
4394         * aix-thread.c: Update.
4395         * bsd-uthread.c: Update.
4396         * darwin-nat.c: Update.
4397         * fbsd-nat.c: Update.
4398         * i386-darwin-nat.c: Update.
4399         * infrun.c: Update.
4400         * linux-tdep.c: Update.
4401         * nto-procfs.c: Update.
4402         * ppc-ravenscar-thread.c: Update.
4403         * python/py-infthread.c: Update.
4404         * ravenscar-thread.c: Update.
4405         * sol-thread.c: Update.
4406         * sparc-ravenscar-thread.c: Update.
4407         * windows-nat.c: Update.
4408
4409 2018-07-03  Tom Tromey  <tom@tromey.com>
4410
4411         * common/ptid.c (ptid_get_lwp): Remove.
4412         * common/ptid.h (ptid_get_lwp): Don't declare.
4413         * aarch64-linux-nat.c: Update.
4414         * ada-tasks.c: Update.
4415         * aix-thread.c: Update.
4416         * amd64-linux-nat.c: Update.
4417         * arm-linux-nat.c: Update.
4418         * corelow.c: Update.
4419         * fbsd-nat.c: Update.
4420         * fbsd-tdep.c: Update.
4421         * gnu-nat.c: Update.
4422         * i386-cygwin-tdep.c: Update.
4423         * i386-gnu-nat.c: Update.
4424         * i386-linux-nat.c: Update.
4425         * ia64-linux-nat.c: Update.
4426         * inf-ptrace.c: Update.
4427         * infrun.c: Update.
4428         * linux-fork.c: Update.
4429         * linux-nat.c: Update.
4430         * linux-tdep.c: Update.
4431         * linux-thread-db.c: Update.
4432         * mips-linux-nat.c: Update.
4433         * nat/aarch64-linux-hw-point.c: Update.
4434         * nat/aarch64-linux.c: Update.
4435         * nat/linux-btrace.c: Update.
4436         * nat/linux-osdata.c: Update.
4437         * nat/linux-procfs.c: Update.
4438         * nat/x86-linux-dregs.c: Update.
4439         * obsd-nat.c: Update.
4440         * ppc-fbsd-nat.c: Update.
4441         * ppc-linux-nat.c: Update.
4442         * procfs.c: Update.
4443         * python/py-infthread.c: Update.
4444         * ravenscar-thread.c: Update.
4445         * remote.c: Update.
4446         * s390-linux-nat.c: Update.
4447         * sol-thread.c: Update.
4448         * sol2-tdep.c: Update.
4449         * spu-linux-nat.c: Update.
4450         * x86-linux-nat.c: Update.
4451         * xtensa-linux-nat.c: Update.
4452
4453 2018-07-03  Tom Tromey  <tom@tromey.com>
4454
4455         * common/ptid.c (ptid_get_pid): Remove.
4456         * common/ptid.h (ptid_get_pid): Don't declare.
4457         * aarch64-linux-nat.c: Update.
4458         * ada-lang.c: Update.
4459         * aix-thread.c: Update.
4460         * alpha-bsd-nat.c: Update.
4461         * amd64-fbsd-nat.c: Update.
4462         * amd64-linux-nat.c: Update.
4463         * arm-linux-nat.c: Update.
4464         * arm-nbsd-nat.c: Update.
4465         * auxv.c: Update.
4466         * break-catch-syscall.c: Update.
4467         * breakpoint.c: Update.
4468         * bsd-uthread.c: Update.
4469         * corelow.c: Update.
4470         * ctf.c: Update.
4471         * darwin-nat.c: Update.
4472         * fbsd-nat.c: Update.
4473         * fbsd-tdep.c: Update.
4474         * gcore.c: Update.
4475         * gnu-nat.c: Update.
4476         * hppa-nbsd-nat.c: Update.
4477         * hppa-obsd-nat.c: Update.
4478         * i386-fbsd-nat.c: Update.
4479         * ia64-linux-nat.c: Update.
4480         * inf-ptrace.c: Update.
4481         * infcmd.c: Update.
4482         * inferior.c: Update.
4483         * inferior.h: Update.
4484         * inflow.c: Update.
4485         * infrun.c: Update.
4486         * linux-fork.c: Update.
4487         * linux-nat.c: Update.
4488         * linux-tdep.c: Update.
4489         * linux-thread-db.c: Update.
4490         * m68k-bsd-nat.c: Update.
4491         * mi/mi-interp.c: Update.
4492         * mi/mi-main.c: Update.
4493         * mips-linux-nat.c: Update.
4494         * mips-nbsd-nat.c: Update.
4495         * mips64-obsd-nat.c: Update.
4496         * nat/aarch64-linux-hw-point.c: Update.
4497         * nat/aarch64-linux.c: Update.
4498         * nat/linux-btrace.c: Update.
4499         * nat/linux-osdata.c: Update.
4500         * nat/linux-procfs.c: Update.
4501         * nat/x86-linux-dregs.c: Update.
4502         * nto-procfs.c: Update.
4503         * obsd-nat.c: Update.
4504         * ppc-linux-nat.c: Update.
4505         * ppc-nbsd-nat.c: Update.
4506         * ppc-obsd-nat.c: Update.
4507         * proc-service.c: Update.
4508         * procfs.c: Update.
4509         * python/py-inferior.c: Update.
4510         * python/py-infthread.c: Update.
4511         * ravenscar-thread.c: Update.
4512         * record.c: Update.
4513         * remote-sim.c: Update.
4514         * remote.c: Update.
4515         * rs6000-nat.c: Update.
4516         * s390-linux-nat.c: Update.
4517         * sh-nbsd-nat.c: Update.
4518         * sol-thread.c: Update.
4519         * sparc-nat.c: Update.
4520         * sparc64-tdep.c: Update.
4521         * spu-linux-nat.c: Update.
4522         * spu-tdep.c: Update.
4523         * target-debug.h: Update.
4524         * target.c: Update.
4525         * thread.c: Update.
4526         * tid-parse.c: Update.
4527         * tracefile-tfile.c: Update.
4528         * vax-bsd-nat.c: Update.
4529         * windows-nat.c: Update.
4530         * x86-linux-nat.c: Update.
4531         * x86-nat.c: Update.
4532
4533 2018-07-03  Tom Tromey  <tom@tromey.com>
4534
4535         * common/ptid.c (pid_to_ptid): Remove.
4536         * common/ptid.h (pid_to_ptid): Don't declare.
4537         * aix-thread.c: Update.
4538         * arm-linux-nat.c: Update.
4539         * common/ptid.c: Update.
4540         * common/ptid.h: Update.
4541         * corelow.c: Update.
4542         * ctf.c: Update.
4543         * darwin-nat.c: Update.
4544         * fbsd-nat.c: Update.
4545         * fork-child.c: Update.
4546         * gnu-nat.c: Update.
4547         * go32-nat.c: Update.
4548         * inf-ptrace.c: Update.
4549         * infcmd.c: Update.
4550         * inferior.c: Update.
4551         * infrun.c: Update.
4552         * linux-fork.c: Update.
4553         * linux-nat.c: Update.
4554         * nat/aarch64-linux-hw-point.c: Update.
4555         * nat/fork-inferior.c: Update.
4556         * nat/x86-linux-dregs.c: Update.
4557         * nto-procfs.c: Update.
4558         * obsd-nat.c: Update.
4559         * procfs.c: Update.
4560         * progspace.c: Update.
4561         * remote.c: Update.
4562         * rs6000-nat.c: Update.
4563         * s390-linux-nat.c: Update.
4564         * sol-thread.c: Update.
4565         * spu-linux-nat.c: Update.
4566         * target.c: Update.
4567         * top.c: Update.
4568         * tracefile-tfile.c: Update.
4569         * windows-nat.c: Update.
4570
4571 2018-07-03  Tom Tromey  <tom@tromey.com>
4572
4573         * common/ptid.h (ptid_build): Don't declare.
4574         * common/ptid.c (ptid_build): Remove.
4575         * aix-thread.c: Update.
4576         * bsd-kvm.c: Update.
4577         * bsd-uthread.c: Update.
4578         * common/agent.c: Update.
4579         * common/ptid.c: Update.
4580         * common/ptid.h: Update.
4581         * corelow.c: Update.
4582         * darwin-nat.c: Update.
4583         * fbsd-nat.c: Update.
4584         * gnu-nat.c: Update.
4585         * linux-fork.c: Update.
4586         * linux-nat.c: Update.
4587         * linux-thread-db.c: Update.
4588         * nat/linux-osdata.c: Update.
4589         * nat/linux-procfs.c: Update.
4590         * nto-procfs.c: Update.
4591         * obsd-nat.c: Update.
4592         * proc-service.c: Update.
4593         * procfs.c: Update.
4594         * ravenscar-thread.c: Update.
4595         * remote-sim.c: Update.
4596         * remote.c: Update.
4597         * sol-thread.c: Update.
4598         * target.c: Update.
4599         * windows-nat.c: Update.
4600
4601 2018-07-03  Tom Tromey  <tom@tromey.com>
4602
4603         * infrun.c (follow_exec): Use exit_inferior_silent.
4604         * inferior.c (exit_inferior_num_silent): Remove.
4605         * inferior.h (exit_inferior_num_silent): Don't declare.
4606
4607 2018-07-03  Tom Tromey  <tom@tromey.com>
4608
4609         PR cli/23340:
4610         * darwin-nat.c (darwin_attach_pid): Reset inferior and
4611         inferior_ptid on error.
4612
4613 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
4614             Simon Marchi  <simon.marchi@polymtl.ca>
4615
4616         PR tdep/8282
4617         * disasm.h (gdb_disassembler): Add
4618         `m_disassembler_options_holder'. member
4619         * disasm.c (get_all_disassembler_options): New function.
4620         (gdb_disassembler::gdb_disassembler): Use it.
4621         (gdb_buffered_insn_length_init_dis): Likewise.
4622         (gdb_buffered_insn_length): Adjust accordingly.
4623         (set_disassembler_options): Handle options with arguments.
4624         (show_disassembler_options_sfunc): Likewise.  Add a leading new
4625         line if showing options with descriptions.
4626         (disassembler_options_completer): Adapt to using the
4627         `disasm_options_and_args_t' structure.
4628         * mips-tdep.c (mips_disassembler_options): New variable.
4629         (mips_disassembler_options_o32): Likewise.
4630         (mips_disassembler_options_n32): Likewise.
4631         (mips_disassembler_options_n64): Likewise.
4632         (gdb_print_insn_mips): Don't set `disassembler_options'.
4633         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
4634         functions.
4635         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
4636         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
4637         `gdbarch_disassembler_options_implicit' and
4638         `gdbarch_valid_disassembler_options'.
4639         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
4640         `disasm_options_and_args_t' structure.
4641         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
4642         method.
4643         (valid_disassembler_options): Switch from `disasm_options_t' to
4644         the `disasm_options_and_args_t' structure.
4645         * NEWS: Document `set disassembler-options' support for the MIPS
4646         target.
4647         * gdbarch.h: Regenerate.
4648         * gdbarch.c: Regenerate.
4649
4650 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4651
4652         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
4653
4654 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
4655
4656         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
4657         parameter in call to amd64_target_description.
4658         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
4659         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
4660         (amd64fbsd_init_abi): Likewise.
4661         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
4662         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
4663         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
4664         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
4665
4666 2018-06-29  Pedro Alves  <palves@redhat.com>
4667
4668         * gdb/amd64-tdep.h (amd64_create_target_description): Add
4669         "segments" parameter.
4670         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
4671         (_initialize_amd64_tdep): Update call to
4672         amd64_create_target_description.
4673         (amd64_target_description): Add "segments" parameter.  Adjust
4674         the implementation to use it.
4675         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
4676         call to amd64_create_target_description.
4677         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
4678         * gdb/arch/amd64.h (amd64_create_target_description): Add
4679         "segments" register.
4680         * gdb/arch/amd64.c (amd64_create_target_description): Add
4681         "segments" parameter.  Call create_feature_i386_64bit_segments
4682         only if SEGMENTS is true.
4683         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
4684         call to amd64_create_target_description.
4685
4686 2018-06-29  Pedro Alves  <palves@redhat.com>
4687
4688         * thread.c (thread_target_id_str): New, factored out from ...
4689         (print_thread_info_1): ... here.  Use it to compute the max
4690         "Target Id" column width.
4691
4692 2018-06-29  Pedro Alves  <palves@redhat.com>
4693
4694         * remote.c (remote_target::extra_thread_info): Delete
4695         'display_buf' and 'n' locals.  from the cache, regardless of
4696         packet mechanims is in use.  Use cache for qThreadExtra and qP
4697         methods too.
4698
4699 2018-06-29  Pedro Alves  <palves@redhat.com>
4700
4701         * blockframe.c (find_pc_sect_containing_function): New function.
4702         * breakpoint.c (print_breakpoint_location): Don't call
4703         find_pc_sect_function.
4704         * linespec.c (create_sals_line_offset): Record the location's
4705         symbol in the sal.
4706         * linespec.c (convert_address_location_to_sals): Fill in sal's
4707         symbol with find_pc_sect_containing_function.
4708         * symtab.c (find_function_start_sal): Rename to ...
4709         (find_function_start_sal_1): ... this.
4710         (find_function_start_sal): Reimplement as wrapper around
4711         find_function_start_sal_1, and use
4712         find_pc_sect_containing_function to fill in the sal's symbol.
4713         (find_function_start_sal(symbol*, bool)): Adjust.
4714         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
4715         comments.
4716         (find_pc_sect_containing_function): Declare.
4717
4718 2018-06-29  Pedro Alves  <palves@redhat.com>
4719
4720         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
4721         true if the the location has no symbol.
4722
4723 2018-06-28  Tom Tromey  <tom@tromey.com>
4724
4725         * NEWS: Mention --enable-codesign.
4726         * silent-rules.mk (ECHO_SIGN): New variable.
4727         * configure.ac: Add --enable-codesign.
4728         * configure: Rebuild.
4729         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
4730         (gdb$(EXEEXT)): Optionally invoke codesign.
4731
4732 2018-06-28  Pedro Alves  <palves@redhat.com>
4733
4734         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
4735         comments.
4736         (switch_to_thread_no_regs): Adjust comment.
4737         * infcmd.c (stop_pc): Delete.
4738         (post_create_inferior, info_program_command): Replace references
4739         to stop_pc with references to thread_info->suspend.stop_pc.
4740         * inferior.h (stop_pc): Delete declaration.
4741         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
4742         (handle_inferior_event_1, handle_signal_stop)
4743         (process_event_stop_test, keep_going_stepped_thread)
4744         (handle_step_into_function, handle_step_into_function_backward)
4745         (print_stop_location): Replace references to stop_pc with
4746         references to thread_info->suspend.stop_pc.
4747         (struct infcall_suspend_state) <stop_pc>: Delete field.
4748         (save_infcall_suspend_state, restore_infcall_suspend_state):
4749         Remove references to inf_stat->stop_pc.
4750         * linux-fork.c (fork_load_infrun_state): Likewise.
4751         * record-btrace.c (record_btrace_set_replay): Likewise.
4752         * record-full.c (record_full_goto_entry): Likewise.
4753         * remote.c (print_one_stopped_thread): Likewise.
4754         * target.c (target_resume): Extend comment.
4755         * thread.c (set_executing_thread): New.
4756         (set_executing): Use it.
4757         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
4758         Remove references to stop_pc.
4759
4760 2018-06-28  Pedro Alves  <palves@redhat.com>
4761
4762         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
4763         Moving fetching stop_pc until after ecs->event_thread is refreshed.
4764
4765 2018-06-28  Tom Tromey  <tom@tromey.com>
4766
4767         * coffread.c (coff_symfile_finish): Update.
4768         * xcoffread.c (xcoff_symfile_finish): Update.
4769         * elfread.c (elf_symfile_finish): Update.
4770         * symfile.h (dwarf2_free_objfile): Don't declare.
4771         * dwarf2read.c (_initialize_dwarf2_read): Use
4772         register_objfile_data_with_cleanup.
4773         (dwarf2_free_objfile): Now static.  Change signature.
4774
4775 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4776
4777         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
4778         option "-o" to add-symbol-file-load to add an offset to each
4779         section's load address.
4780         * symfile.c (set_objfile_default_section_offset): New function.
4781
4782 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4783
4784         * symfile.c (add_symbol_file_command): Make sure that sections
4785         with the same name are sorted in the same order.
4786
4787 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4788
4789         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
4790         require the second argument.  If omitted, load sections at the
4791         addresses specified in the file.
4792
4793 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4794
4795         * symfile.c (symbol_file_command, symbol_file_add_main_1)
4796         (_initialize_symfile): Add option "-o" to symbol-file to add an
4797         offset to each section of the symbol file.
4798
4799 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4800
4801         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
4802
4803 2018-06-27  Tom Tromey  <tom@tromey.com>
4804
4805         * stack.c (_initialize_stack): Update "func" help text.
4806
4807 2018-06-27  Tom Tromey  <tom@tromey.com>
4808
4809         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
4810         std::vector.
4811         (unwind_infopy_str, pyuw_create_unwind_info)
4812         (unwind_infopy_add_saved_register, pyuw_sniffer)
4813         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
4814         Update.
4815         (struct saved_reg): Add constructor.
4816         <value>: Now a gdbpy_ref<>.
4817
4818 2018-06-27  Tom Tromey  <tom@tromey.com>
4819
4820         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
4821
4822 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4823
4824         * gdb-gdb.py.in: Format using autopep8.
4825
4826 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4827
4828         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
4829         (type_lookup_function): Recognize CORE_ADDR values.
4830
4831 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4832
4833         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
4834         print tag_name.
4835
4836 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4837
4838         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
4839         <__lt__>: Add.
4840
4841 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4842
4843         * gdb-gdb.py: Move to...
4844         * gdb-gdb.py.in: ... here.
4845         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
4846         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
4847         dependencies.
4848         (distclean): Remove gdb-gdb.py when cleaning.
4849         (gdb-gdb.py, gdb-gdb.gdb): New rules.
4850         * configure: Re-generate.
4851
4852 2018-06-27  Pedro Alves  <palves@redhat.com>
4853
4854         * proc-service.c (get_ps_regcache): New.
4855         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
4856         (ps_lsetfpregs): Use it.
4857
4858 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
4859
4860         PR gdb/21695
4861         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
4862         (dwarf_decode_lines_1): Adjust.
4863
4864 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4865
4866         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
4867         override.
4868         <info_proc>: Likewise.
4869
4870 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
4871
4872         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
4873         to windows_fetch_one_register, and only handle the case of
4874         fetching one register.  Move the code that reloads the context
4875         and iterates over all registers if R is negative to...
4876         (windows_nat_target::fetch_registers): ... here.
4877         (do_windows_store_inferior_registers): Rename to
4878         windows_store_one_register, and only handle the case of storing
4879         one register.  Move the code that handles the case where r is
4880         negative to...
4881         (windows_nat_target::store_registers) ... here.
4882
4883 2018-06-26  Tom Tromey  <tom@tromey.com>
4884
4885         PR rust/22574:
4886         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
4887         * rust-lang.c (rust_print_struct_def): Add podata parameter.
4888         Update.
4889         (rust_internal_print_type): Add podata parameter.
4890         (rust_print_type): Update.
4891
4892 2018-06-26  Tom Tromey  <tom@tromey.com>
4893
4894         * typeprint.h (struct print_offset_data) <update, finish,
4895         maybe_print_hole>: New methods.
4896         <indentation>: New constant.
4897         * typeprint.c (print_offset_data::indentation): Define.
4898         (print_offset_data::maybe_print_hole, print_offset_data::update)
4899         (print_offset_data::finish): Move from c-typeprint.c and rename.
4900         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
4901         (print_spaces_filtered_with_print_options): Update.
4902         (c_print_type_union_field_offset, maybe_print_hole)
4903         (c_print_type_struct_field_offset): Move to typeprint.c and
4904         rename.
4905         (c_type_print_base_struct_union): Update.
4906
4907 2018-06-25  Pedro Alves  <palves@redhat.com>
4908
4909         * gdbthread.h (thread_info_ref, delete_thread)
4910         (delete_thread_silent, first_thread_of_inferior)
4911         (any_thread_of_inferior, switch_to_thread)
4912         (enable_thread_stack_temporaries)
4913         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4914         (get_last_thread_stack_temporary)
4915         (value_in_thread_stack_temporaries, can_access_registers_thread):
4916         Spell out "struct thread_info" instead of just "thread_info".
4917         * inferior.h (notice_new_inferior): Likewise.
4918
4919 2018-06-25  Pedro Alves  <palves@redhat.com>
4920
4921         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4922         pass thread_info pointer to delete_thread.
4923         (windows_nat_target::detach): Pass inferior pointer to
4924         detach_inferior.
4925         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
4926         delete_thread.
4927         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
4928         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
4929         and pass a thread_info pointer to delete_thread.
4930         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
4931         pass thread_info pointer to delete_thread.
4932         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
4933         delete_thread_silent call.
4934         * procfs.c (procfs_target::detach): Pass inferior pointer to
4935         detach_inferior.
4936         (procfs_target::wait): Pass thread_info pointer to delete_thread.
4937         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
4938         delete_thread_silent call.
4939         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4940         pass thread_info pointer to delete_thread.
4941         (windows_nat_target::detach): Pass inferior pointer to
4942         delete_inferior.
4943
4944 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4945
4946         * regcache.c (readable_regcache::read_part): Fix asserts.
4947         (reg_buffer::raw_collect_part): New function.
4948         (regcache::write_part): Fix asserts.
4949         (reg_buffer::raw_supply_part): New function.
4950         (regcache::transfer_regset_register): New helper function.
4951         (regcache::transfer_regset): Call new functions.
4952         (regcache_supply_regset): Use gdb_byte*.
4953         (regcache::supply_regset): Likewise.
4954         (regcache_collect_regset): Likewise.
4955         (regcache::collect_regset): Likewise.
4956         * regcache.h (reg_buffer::raw_collect_part): New declaration.
4957         (reg_buffer::raw_supply_part): Likewise.
4958         (regcache::transfer_regset_register): Likewise.
4959         (regcache::transfer_regset): Use gdb_byte*.
4960
4961 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4962
4963         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
4964
4965 2018-06-21  Pedro Alves  <palves@redhat.com>
4966
4967         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
4968         instead of a ptid_t.  All callers adjusted.
4969         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
4970         adjusted.
4971         (print_ada_task_info, display_current_task_id, task_command_1):
4972         Adjust.
4973         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
4974         inferior_thread.
4975         (breakpoint_kind): Adjust.
4976         (remove_breakpoints_pid): Rename to ...
4977         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
4978         pointer.  All callers adjusted.
4979         (bpstat_clear_actions): Use inferior_thread.
4980         (get_bpstat_thread): New.
4981         (bpstat_do_actions): Use it.
4982         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
4983         to take a thread_info pointer.  All callers adjusted.
4984         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
4985         (breakpoint_re_set_thread): Use inferior_thread.
4986         * breakpoint.h (struct inferior): Forward declare.
4987         (bpstat_stop_status): Update.
4988         (remove_breakpoints_pid): Delete.
4989         (remove_breakpoints_inf): New.
4990         * bsd-uthread.c (bsd_uthread_target::wait)
4991         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
4992         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
4993         (maint_btrace_packet_history_cmd)
4994         (maint_btrace_clear_packet_history_cmd): Adjust.
4995         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
4996         inferior_thread.
4997         * cli/cli-interp.c: Include "inferior.h".
4998         * common/refcounted-object.h (struct
4999         refcounted_object_ref_policy): New.
5000         * compile/compile-object-load.c: Include gdbthread.h.
5001         (store_regs): Use inferior_thread.
5002         * corelow.c (core_target::close): Use current_inferior.
5003         (core_target_open): Adjust to use first_thread_of_inferior and use
5004         the current inferior.
5005         * ctf.c (ctf_target::close): Adjust to use current_inferior.
5006         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
5007         <thread>: ... this new field.  All references adjusted.
5008         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
5009         Take a thread_info pointer instead of a ptid_t.
5010         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
5011         (dummy_frame_discard, register_dummy_frame_dtor): Take a
5012         thread_info pointer instead of a ptid_t.
5013         * elfread.c: Include "inferior.h".
5014         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
5015         Use inferior_thread.
5016         * eval.c (evaluate_subexp): Likewise.
5017         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
5018         inferior_thread.
5019         * gdb_proc_service.h (struct thread_info): Forward declare.
5020         (struct ps_prochandle) <ptid>: Delete, replaced by ...
5021         <thread>: ... this new field.  All references adjusted.
5022         * gdbarch.h, gdbarch.c: Regenerate.
5023         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
5024         'thread' parameter.  All implementations and callers adjusted.
5025         * gdbthread.h (thread_info) <set_running>: New method.
5026         (delete_thread, delete_thread_silent): Take a thread_info pointer
5027         instead of a ptid.
5028         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
5029         (first_thread_of_process): Delete, replaced by ...
5030         (first_thread_of_inferior): ... this new function.  All callers
5031         adjusted.
5032         (any_live_thread_of_process): Delete, replaced by ...
5033         (any_live_thread_of_inferior): ... this new function.  All callers
5034         adjusted.
5035         (switch_to_thread, switch_to_no_thread): Declare.
5036         (is_executing): Delete.
5037         (enable_thread_stack_temporaries): Update comment.
5038         <enable_thread_stack_temporaries>: Take a thread_info pointer
5039         instead of a ptid_t.  Incref the thread.
5040         <~enable_thread_stack_temporaries>: Decref the thread.
5041         <m_ptid>: Delete
5042         <m_thr>: New.
5043         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5044         (get_last_thread_stack_temporary)
5045         (value_in_thread_stack_temporaries, can_access_registers_thread):
5046         Take a thread_info pointer instead of a ptid_t.  All callers
5047         adjusted.
5048         * infcall.c (get_call_return_value): Use inferior_thread.
5049         (run_inferior_call): Work with thread pointers instead of ptid_t.
5050         (call_function_by_hand_dummy): Work with thread pointers instead
5051         of ptid_t.  Use thread_info_ref.
5052         * infcmd.c (proceed_thread_callback): Access thread's state
5053         directly.
5054         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
5055         access thread's state directly.
5056         (continue_command): Use inferior_thread.
5057         (info_program_command): Use find_thread_ptid and access thread
5058         state directly.
5059         (proceed_after_attach_callback): Use thread state directly.
5060         (notice_new_inferior): Take a thread_info pointer instead of a
5061         ptid_t.  All callers adjusted.
5062         (exit_inferior): Take an inferior pointer instead of a pid.  All
5063         callers adjusted.
5064         (exit_inferior_silent): New.
5065         (detach_inferior): Delete.
5066         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
5067         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
5068         (detach_inferior_command, kill_inferior_command): Use
5069         find_inferior_id instead of valid_gdb_inferior_id and
5070         gdb_inferior_id_to_pid.
5071         (inferior_command): Use inferior and thread pointers.
5072         * inferior.h (struct thread_info): Forward declare.
5073         (notice_new_inferior): Take a thread_info pointer instead of a
5074         ptid_t.  All callers adjusted.
5075         (detach_inferior): Delete declaration.
5076         (exit_inferior, exit_inferior_silent): Take an inferior pointer
5077         instead of a pid.  All callers adjusted.
5078         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
5079         (valid_gdb_inferior_id): Delete.
5080         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
5081         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
5082         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
5083         ...
5084         <inf>: ... this new field.
5085         <step_ptid>: Delete, replaced by ...
5086         <step_thread>: ... this new field.
5087         (get_displaced_stepping_state): Take an inferior pointer instead
5088         of a pid.  All callers adjusted.
5089         (displaced_step_in_progress_any_inferior): Adjust.
5090         (displaced_step_in_progress_thread): Take a thread pointer instead
5091         of a ptid_t.  All callers adjusted.
5092         (displaced_step_in_progress, add_displaced_stepping_state): Take
5093         an inferior pointer instead of a pid.  All callers adjusted.
5094         (get_displaced_step_closure_by_addr): Adjust.
5095         (remove_displaced_stepping_state): Take an inferior pointer
5096         instead of a pid.  All callers adjusted.
5097         (displaced_step_prepare_throw, displaced_step_prepare)
5098         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
5099         All callers adjusted.
5100         (start_step_over): Adjust.
5101         (infrun_thread_ptid_changed): Remove bit updating ptids in the
5102         displaced step queue.
5103         (do_target_resume): Adjust.
5104         (fetch_inferior_event): Use inferior_thread.
5105         (context_switch, get_inferior_stop_soon): Take an
5106         execution_control_state pointer instead of a ptid_t.  All callers
5107         adjusted.
5108         (switch_to_thread_cleanup): Delete.
5109         (stop_all_threads): Use scoped_restore_current_thread.
5110         * inline-frame.c: Include "gdbthread.h".
5111         (inline_state) <inline_state>: Take a thread pointer instead of a
5112         ptid_t.  All callers adjusted.
5113         <ptid>: Delete, replaced by ...
5114         <thread>: ... this new field.
5115         (find_inline_frame_state): Take a thread pointer instead of a
5116         ptid_t.  All callers adjusted.
5117         (skip_inline_frames, step_into_inline_frame)
5118         (inline_skipped_frames, inline_skipped_symbol): Take a thread
5119         pointer instead of a ptid_t.  All callers adjusted.
5120         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
5121         (inline_skipped_frames, inline_skipped_symbol): Likewise.
5122         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
5123         pointers directly.
5124         * linux-nat.c (get_detach_signal): Likewise.
5125         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
5126         (thread_db_notice_clone): Adjust.
5127         (thread_db_find_new_threads_silently)
5128         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
5129         a thread pointer instead of a ptid_t.  All callers adjusted.
5130         * mi/mi-cmd-var.c: Include "inferior.h".
5131         (mi_cmd_var_update_iter): Update to use thread pointers.
5132         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
5133         inferior directly.
5134         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
5135         out to ...
5136         (mi_output_running): ... this new function.
5137         (mi_on_resume_1): Adjust to use it.
5138         (mi_user_selected_context_changed): Adjust to use inferior_thread.
5139         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
5140         directly.
5141         (interrupt_thread_callback): : Adjust to use thread and inferior
5142         pointers.
5143         * proc-service.c: Include "gdbthread.h".
5144         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
5145         * progspace-and-thread.c: Include "inferior.h".
5146         * progspace.c: Include "inferior.h".
5147         * python/py-exitedevent.c (create_exited_event_object): Adjust to
5148         hold a reference to an inferior_object.
5149         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
5150         inferior_thread.
5151         * python/py-inferior.c (struct inferior_object): Give the type a
5152         tag name instead of a typedef.
5153         (python_on_normal_stop): No need to check if the current thread is
5154         listed.
5155         (inferior_to_inferior_object): Change return type to
5156         inferior_object.  All callers adjusted.
5157         (find_thread_object): Delete, bits factored out to ...
5158         (thread_to_thread_object): ... this new function.
5159         * python/py-infthread.c (create_thread_object): Use
5160         inferior_to_inferior_object.
5161         (thpy_is_stopped): Use thread pointer directly.
5162         (gdbpy_selected_thread): Use inferior_thread.
5163         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
5164         field, replaced with ...
5165         <thread>: ... this new field.  All users adjusted.
5166         (btpy_insn_or_gap_new): Drop const.
5167         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
5168         callers adjusted.
5169         * python/py-record.c: Include "gdbthread.h".
5170         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5171         a ptid_t.  All callers adjusted.
5172         (gdbpy_current_recording): Use inferior_thread.
5173         * python/py-record.h (recpy_record_object) <ptid>: Delete
5174         field, replaced with ...
5175         <thread>: ... this new field.  All users adjusted.
5176         (recpy_element_object) <ptid>: Delete
5177         field, replaced with ...
5178         <thread>: ... this new field.  All users adjusted.
5179         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5180         a ptid_t.  All callers adjusted.
5181         * python/py-threadevent.c: Include "gdbthread.h".
5182         (get_event_thread): Use thread_to_thread_object.
5183         * python/python-internal.h (struct inferior_object): Forward
5184         declare.
5185         (find_thread_object, find_inferior_object): Delete declarations.
5186         (thread_to_thread_object, inferior_to_inferior_object): New
5187         declarations.
5188         * record-btrace.c: Include "inferior.h".
5189         (require_btrace_thread): Use inferior_thread.
5190         (record_btrace_frame_sniffer)
5191         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
5192         (get_thread_current_frame): Use scoped_restore_current_thread and
5193         switch_to_thread.
5194         (get_thread_current_frame): Use thread pointer directly.
5195         (record_btrace_replay_at_breakpoint): Use thread's inferior
5196         pointer directly.
5197         * record-full.c: Include "inferior.h".
5198         * regcache.c: Include "gdbthread.h".
5199         (get_thread_arch_regcache): Use the inferior's address space
5200         directly.
5201         (get_thread_regcache, registers_changed_thread): New.
5202         * regcache.h (get_thread_regcache(thread_info *thread)): New
5203         overload.
5204         (registers_changed_thread): New.
5205         (remote_target) <remote_detach_1>: Swap order of parameters.
5206         (remote_add_thread): <remote_add_thread>: Return the new thread.
5207         (get_remote_thread_info(ptid_t)): New overload.
5208         (remote_target::remote_notice_new_inferior): Use thread pointers
5209         directly.
5210         (remote_target::process_initial_stop_replies): Use
5211         thread_info::set_running.
5212         (remote_target::remote_detach_1, remote_target::detach)
5213         (extended_remote_target::detach): Adjust.
5214         * stack.c (frame_show_address): Use inferior_thread.
5215         * target-debug.h (target_debug_print_thread_info_pp): New.
5216         * target-delegates.c: Regenerate.
5217         * target.c (default_thread_address_space): Delete.
5218         (memory_xfer_partial_1): Use current_inferior.
5219         (target_detach): Use current_inferior.
5220         (target_thread_address_space): Delete.
5221         (generic_mourn_inferior): Use current_inferior.
5222         * target.h (struct target_ops) <thread_address_space>: Delete.
5223         (target_thread_address_space): Delete.
5224         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
5225         pointers directly.
5226         (delete_thread_1, delete_thread, delete_thread_silent): Take a
5227         thread pointer instead of a ptid_t.  Adjust all callers.
5228         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
5229         (first_thread_of_process): Delete, replaced by ...
5230         (first_thread_of_inferior): ... this new function.  All callers
5231         adjusted.
5232         (any_thread_of_process): Rename to ...
5233         (any_thread_of_inferior): ... this, and take an inferior pointer.
5234         (any_live_thread_of_process): Rename to ...
5235         (any_live_thread_of_inferior): ... this, and take an inferior
5236         pointer.
5237         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5238         (value_in_thread_stack_temporaries)
5239         (get_last_thread_stack_temporary): Take a thread pointer instead
5240         of a ptid_t.  Adjust all callers.
5241         (thread_info::set_running): New.
5242         (validate_registers_access): Use inferior_thread.
5243         (can_access_registers_ptid): Rename to ...
5244         (can_access_registers_thread): ... this, and take a thread
5245         pointer.
5246         (print_thread_info_1): Adjust to compare thread pointers instead
5247         of ptids.
5248         (switch_to_no_thread, switch_to_thread): Make extern.
5249         (scoped_restore_current_thread::~scoped_restore_current_thread):
5250         Use m_thread pointer directly.
5251         (scoped_restore_current_thread::scoped_restore_current_thread):
5252         Use inferior_thread.
5253         (thread_command): Use thread pointer directly.
5254         (thread_num_make_value_helper): Use inferior_thread.
5255         * top.c (execute_command): Use inferior_thread.
5256         * tui/tui-interp.c: Include "inferior.h".
5257         * varobj.c (varobj_create): Use inferior_thread.
5258         (value_of_root_1): Use find_thread_global_id instead of
5259         global_thread_id_to_ptid.
5260
5261 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
5262
5263         * regcache.c (readable_regcache::read_part): Avoid memcpy when
5264         possible.
5265         (regcache::write_part): Likewise.
5266         (readable_regcache::cooked_read_part): Update comment.
5267         (readable_regcache::cooked_write_part): Likewise.
5268         * regcache.h: (readable_regcache::read_part): Likewise.
5269         (regcache::write_part): Likewise.
5270
5271 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
5272             Dirk Schubert  <dirk.schubert@arm.com>
5273
5274         * aarch64-linux-nat.c (post_attach): New.
5275         (aarch64_linux_nat_target::post_attach): Override post_attach to
5276         record the number of hardware debug registers.
5277
5278 2018-06-20  Tom Tromey  <tom@tromey.com>
5279
5280         * python/py-param.c (add_setshow_generic): Make parameters const.
5281         (parmpy_init): Update.
5282
5283 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5284
5285         * regcache.h (regcache_cooked_read_ftype): Rename to...
5286         (register_read_ftype): ...this, change type to function_view.
5287         (class reg_buffer) <save>: Remove src parameter.
5288         (readonly_detached_regcache) <readonly_detached_regcache>: Make
5289         parameter non-const in first overload.  Remove src parameter in
5290         second overload.
5291         * regcache.c (do_cooked_read): Remove.
5292         (readonly_detached_regcache::readonly_detached_regcache): Make
5293         parameter non-const, adjust call to other constructor.
5294         (reg_buffer::save): Remove src parameter.
5295         * frame.c (do_frame_register_read): Remove.
5296         (frame_save_as_regcache): Use lambda function.
5297         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
5298         parameter to ppu2spu_data *.
5299         (ppu2spu_sniffer): Use lambda function.
5300
5301 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5302
5303         * record-full.c (record_full_target::insert_breakpoint): Remove
5304         "struct" keyword, add const.
5305
5306 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
5307
5308         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
5309         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
5310         * configure.ac: Remove AC_PREREQ, add missing quoting.
5311         * gnulib/configure.ac: Modernize usage of
5312         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
5313         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
5314         (AUTOMAKE_VERSION): Bump to 1.15.1.
5315         * configure: Re-generate.
5316         * config.in: Re-generate.
5317         * aclocal.m4: Re-generate.
5318         * gnulib/aclocal.m4: Re-generate.
5319         * gnulib/config.in: Re-generate.
5320         * gnulib/configure: Re-generate.
5321         * gnulib/import/Makefile.in: Re-generate.
5322
5323 2018-06-19  Pedro Alves  <palves@redhat.com>
5324
5325         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
5326         (lookup_minimal_symbol_by_pc_section): ... here with
5327         gdb_assert_not_reached added.
5328
5329 2018-06-19  Pedro Alves  <palves@redhat.com>
5330
5331         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
5332         parameter with a block parameter.  Compare location's block symbol
5333         with the frame's block instead of addresses.
5334         (skip_inline_frames): Pass the current block instead of the
5335         frame's address.  Break out as soon as we determine the frame
5336         should not be skipped.
5337
5338 2018-06-18  Tom Tromey  <tom@tromey.com>
5339
5340         * solib-aix.c (solib_aix_get_section_offsets): Return
5341         unique_xmalloc_ptr.
5342         (solib_aix_solib_create_inferior_hook): Update.
5343
5344 2018-06-18  Tom Tromey  <tom@tromey.com>
5345
5346         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
5347
5348 2018-06-18  Tom Tromey  <tom@tromey.com>
5349
5350         * solib-frv.c (frv_relocate_main_executable): Use
5351         unique_xmalloc_ptr.
5352         * solib-dsbt.c (dsbt_relocate_main_executable): Use
5353         unique_xmalloc_ptr.
5354
5355 2018-06-18  Tom Tromey  <tom@tromey.com>
5356
5357         * objfiles.h (inhibit_section_map_updates): Update.
5358         (resume_section_map_updates, resume_section_map_updates_cleanup):
5359         Remove.
5360         * solib-svr4.c (svr4_handle_solib_event): Update.
5361         * objfiles.c (inhibit_section_map_updates): Return
5362         scoped_restore_tmpl<int>.
5363         (resume_section_map_updates, resume_section_map_updates_cleanup):
5364         Remove.
5365
5366 2018-06-18  Tom Tromey  <tom@tromey.com>
5367
5368         * valprint.h (read_string): Update.
5369         * valprint.c (read_string): Change type of "buffer".
5370         (val_print_string): Update.
5371         * python/py-value.c (valpy_string): Update.
5372         * language.h (struct language_defn) <la_get_string>: Change
5373         type of "buffer".
5374         (default_get_string, c_get_string): Update.
5375         * language.c (default_get_string): Change type of "buffer".
5376         * guile/scm-value.c (gdbscm_value_to_string): Update.
5377         * c-lang.c (c_get_string): Change type of "buffer".
5378
5379 2018-06-18  Tom Tromey  <tom@tromey.com>
5380
5381         * ser-mingw.c (struct pipe_state_destroyer): New.
5382         (pipe_state_up): New typedef.
5383         (cleanup_pipe_state): Remove.
5384         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
5385
5386 2018-06-18  Tom Tromey  <tom@tromey.com>
5387
5388         * rust-lang.h (rust_yyerror): Don't declare.
5389         * rust-lang.c (rust_language_defn): Update.
5390         * rust-exp.y (yyerror): Now static.
5391         * parse.c (parse_exp_in_context_1): Update.
5392         * p-lang.h (p_yyerror): Don't declare.
5393         * p-lang.c (p_language_defn): Update.
5394         * p-exp.y (yyerror): Now static.
5395         * opencl-lang.c (opencl_language_defn): Update.
5396         * objc-lang.c (objc_language_defn): Update.
5397         * m2-lang.h (m2_yyerror): Don't declare.
5398         * m2-lang.c (m2_language_defn): Update.
5399         * m2-exp.y (yyerror): Now static.
5400         * language.h (struct language_defn) <la_error>: Remove.
5401         * language.c (unk_lang_error): Remove.
5402         (unknown_language_defn, auto_language_defn): Remove.
5403         * go-lang.h (go_yyerror): Don't declare.
5404         * go-lang.c (go_language_defn): Update.
5405         * go-exp.y (yyerror): Now static.
5406         * f-lang.h (f_yyerror): Don't declare.
5407         * f-lang.c (f_language_defn): Update.
5408         * f-exp.y (yyerror): Now static.
5409         * d-lang.h (d_yyerror): Don't declare.
5410         * d-lang.c (d_language_defn): Update.
5411         * d-exp.y (yyerror): Now static.
5412         * c-lang.h (c_yyerror): Don't declare.
5413         * c-lang.c (c_language_defn, cplus_language_defn)
5414         (asm_language_defn, minimal_language_defn): Update.
5415         * c-exp.y (yyerror): Now static.
5416         * ada-lang.h (ada_yyerror): Don't declare.
5417         * ada-lang.c (ada_language_defn): Update.
5418         * ada-exp.y (yyerror): Now static.
5419
5420 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5421
5422         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
5423         (store_sveregs_to_thread): Likewise.
5424         (aarch64_linux_fetch_inferior_registers): Check for SVE.
5425         (aarch64_linux_store_inferior_registers): Likewise.
5426         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
5427         function.
5428         (aarch64_sve_regs_copy_to_regcache): Likewise.
5429         (aarch64_sve_regs_copy_from_regcache): Likewise.
5430         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
5431         declaration.
5432         (aarch64_sve_regs_copy_to_regcache): Likewise.
5433         (aarch64_sve_regs_copy_from_regcache): Likewise.
5434         (sve_context): Structure from Linux headers.
5435         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
5436         (SVE_SIG_ZREG_SIZE): Likewise.
5437         (SVE_SIG_PREG_SIZE): Likewise.
5438         (SVE_SIG_FFR_SIZE): Likewise.
5439         (SVE_SIG_REGS_OFFSET): Likewise.
5440         (SVE_SIG_ZREGS_OFFSET): Likewise.
5441         (SVE_SIG_ZREG_OFFSET): Likewise.
5442         (SVE_SIG_ZREGS_SIZE): Likewise.
5443         (SVE_SIG_PREGS_OFFSET): Likewise.
5444         (SVE_SIG_PREG_OFFSET): Likewise.
5445         (SVE_SIG_PREGS_SIZE): Likewise.
5446         (SVE_SIG_FFR_OFFSET): Likewise.
5447         (SVE_SIG_REGS_SIZE): Likewise.
5448         (SVE_SIG_CONTEXT_SIZE): Likewise.
5449         (SVE_PT_REGS_MASK): Likewise.
5450         (SVE_PT_REGS_FPSIMD): Likewise.
5451         (SVE_PT_REGS_SVE): Likewise.
5452         (SVE_PT_VL_INHERIT): Likewise.
5453         (SVE_PT_VL_ONEXEC): Likewise.
5454         (SVE_PT_REGS_OFFSET): Likewise.
5455         (SVE_PT_FPSIMD_OFFSET): Likewise.
5456         (SVE_PT_FPSIMD_SIZE): Likewise.
5457         (SVE_PT_SVE_ZREG_SIZE): Likewise.
5458         (SVE_PT_SVE_PREG_SIZE): Likewise.
5459         (SVE_PT_SVE_FFR_SIZE): Likewise.
5460         (SVE_PT_SVE_FPSR_SIZE): Likewise.
5461         (SVE_PT_SVE_FPCR_SIZE): Likewise.
5462         (__SVE_SIG_TO_PT): Likewise.
5463         (SVE_PT_SVE_OFFSET): Likewise.
5464         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
5465         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
5466         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
5467         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
5468         (SVE_PT_SVE_PREG_OFFSET): Likewise.
5469         (SVE_PT_SVE_PREGS_SIZE): Likewise.
5470         (SVE_PT_SVE_FFR_OFFSET): Likewise.
5471         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
5472         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
5473         (SVE_PT_SVE_SIZE): Likewise.
5474         (SVE_PT_SIZE): Likewise.
5475         (HAS_SVE_STATE): New define.
5476
5477 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5478
5479         * nat/aarch64-sve-linux-sigcontext.h: New file.
5480         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
5481         new files.
5482         (SVE_VQ_MIN): Likewise.
5483         (SVE_VQ_MAX): Likewise.
5484         (SVE_VL_MIN): Likewise.
5485         (SVE_VL_MAX): Likewise.
5486         (SVE_NUM_ZREGS): Likewise.
5487         (SVE_NUM_PREGS): Likewise.
5488         (sve_vl_valid): Likewise.
5489         (struct user_sve_header): Likewise.
5490
5491 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
5492             Richard Bunt <Richard.Bunt@arm.com>
5493
5494         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
5495         was requested by GDB.
5496
5497 2018-06-15  Tom de Vries  <tdevries@suse.de>
5498
5499         * MAINTAINERS (Write After Approval): Add Tom de Vries.
5500
5501 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
5502
5503         * gnulib/update-gnulib.sh: Print expected versions of
5504         autoconf/aclocal.
5505
5506 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
5507
5508         * arch-utils.c (default_type_align): Use type_length_units.
5509         * gdbtypes.c (type_align): Use type_length_units.
5510
5511 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5512
5513         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
5514         of 'define' command.
5515
5516 2018-06-14  Tom de Vries  <tdevries@suse.de>
5517
5518         PR cli/22573
5519         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
5520         get_no_prettyformat_print_options.
5521
5522 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
5523
5524         * sparc-nat.h: Include target.h.
5525         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
5526         <fetch_registers>: Remove this argument in function call.
5527         <store_registers>: Remove this argument in function call, remove
5528         extra semicolon.
5529         <low_forget_process>: Call sparc64_forget_process instead of
5530         sparc_forget_process.
5531
5532 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5533
5534         * procfs.c (_initialize_procfs): Use add_inf_child_target.
5535         (procfs_target::make_corefile_notes): Adjust to new
5536         target_read_alloc return type.
5537
5538 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5539             Stephen Roberts  <stephen.roberts@arm.com>
5540
5541         PR gdb/22882
5542         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
5543         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
5544         Move should_notify_stop local into more inner scope.
5545
5546 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5547             Stephen Roberts  <stephen.roberts@arm.com>
5548
5549         PR gdb/22882
5550         * infrun.c (resume_1): Add call to mark_async_event_handler.
5551
5552 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5553
5554         * infrun.c (do_target_wait): Change old version of $pc printed.
5555
5556 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
5557
5558         * dwarf2read.c (read_index_from_section): Rename to...
5559         (read_gdb_index_from_section): ... this, update all callers.
5560         (dwarf2_read_index): Rename to...
5561         (dwarf2_read_gdb_index): ... this, update all callers.
5562
5563 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
5564
5565         * gdb/hppa-linux-nat.c
5566         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
5567         hppa_linux_nat_target::fetch_registers.
5568
5569 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5570
5571         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
5572         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
5573         (AARCH64_DWARF_SVE_FFR): Likewise.
5574         (AARCH64_DWARF_SVE_P0): Likewise.
5575         (AARCH64_DWARF_SVE_Z0): Likewise.
5576
5577 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5578
5579         * common/common-regcache.h (raw_compare): New function.
5580         * regcache.c (regcache::raw_compare): Likewise.
5581         * regcache.h (regcache::raw_compare): New declaration.
5582
5583 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5584
5585         * common/common-regcache.h (reg_buffer_common): New structure.
5586         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
5587         (reg_buffer::raw_supply): Likewise.
5588         (reg_buffer::raw_supply_integer): Likewise.
5589         (reg_buffer::raw_supply_zeroed): Likewise.
5590         (reg_buffer::raw_collect): Likewise.
5591         (reg_buffer::raw_collect_integer): Likewise.
5592         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
5593         (reg_buffer::raw_supply): Likewise.
5594         (reg_buffer::raw_supply_integer): Likewise.
5595         (reg_buffer::raw_supply_zeroed): Likewise.
5596         (reg_buffer::raw_collect): Likewise.
5597         (reg_buffer::raw_collect_integer): Likewise.
5598
5599 2018-06-10  Tom Tromey  <tom@tromey.com>
5600
5601         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
5602         (class remote_state) <stop_reply_queue>: Now std::vector.
5603         (remote_state::~remote_state)
5604         (remote_target::stop_reply_queue_length): Update.
5605         (struct queue_iter_param, remove_child_of_pending_fork)
5606         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
5607         (check_pending_event_prevents_wildcard_vcont_callback)
5608         (remove_stop_reply_for_inferior)
5609         (remove_stop_reply_of_remote_state)
5610         (remote_notif_remove_once_on_match)
5611         (stop_reply_match_ptid_and_ws)
5612         (remote_kill_child_of_pending_fork): Remove.
5613         (remote_target::remove_new_fork_children)
5614         (remote_target::check_pending_events_prevent_wildcard_vcont)
5615         (remote_target::discard_pending_stop_replies)
5616         (remote_target::discard_pending_stop_replies_in_queue)
5617         (remote_target::remote_notif_remove_queued_reply)
5618         (remote_target::queued_stop_reply)
5619         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
5620         (remote_target::wait, remote_target::kill_new_fork_children)
5621         (remote_target::async): Update.
5622
5623 2018-06-10  Tom Tromey  <tom@tromey.com>
5624
5625         * record-full.c (record_full_arch_list_cleanups): Remove.
5626         (record_full_message): Use try/catch.
5627         (record_full_wait_cleanups): Remove.
5628         (record_full_wait_1): Use try/catch.
5629         (record_full_restore): Likewise.
5630
5631 2018-06-10  Tom Tromey  <tom@tromey.com>
5632
5633         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
5634         declare VEC.  Add constructor.
5635         <in_target_beneath>: Now bool.
5636         (record_full_breakpoints): Now a std::vector, static.
5637         (record_full_sync_record_breakpoints)
5638         (record_full_init_record_breakpoints)
5639         (record_full_target::insert_breakpoint)
5640         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
5641
5642 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
5643
5644         * dwarf2read.c (process_cu_includes): Remove struct keyword.
5645         * serial.c (serial_interface_lookup): Remove struct keyword.
5646
5647 2018-06-10  Tom Tromey  <tom@tromey.com>
5648
5649         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
5650         method.
5651         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
5652         a method.
5653         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
5654         method.
5655         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
5656         "beneath" as a method.
5657         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
5658         Use "beneath" as a method.
5659
5660 2018-06-10  Tom Tromey  <tom@tromey.com>
5661
5662         * tracefile.c (struct trace_file_writer_deleter): New.
5663         <operator()>: Rename from trace_file_writer_xfree.
5664         (trace_file_writer_up): New typedef.
5665         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
5666
5667 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5668
5669         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
5670         <m_registers, m_register_status>: Change type to
5671         std::unique_ptr.
5672         * regcache.c (reg_buffer::reg_buffer): Use new instead of
5673         XCNEWVEC.
5674
5675 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5676
5677         * common/common-regcache.h (enum register_status): Add
5678         underlying type "signed char".
5679         * regcache.h (reg_buffer) <m_register_status>: Change type to
5680         register_status *.
5681         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
5682         register_status instead of signed char.
5683         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
5684         (reg_buffer::get_register_status): Remove cast.
5685         (readable_regcache::raw_read): Remove cast.
5686         (readable_regcache::cooked_read): Remove cast.
5687
5688 2018-06-09  Tom Tromey  <tom@tromey.com>
5689
5690         * source.c (reverse_search_command, forward_search_command): Use
5691         scoped_fd.
5692
5693 2018-06-09  Tom Tromey  <tom@tromey.com>
5694
5695         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
5696         (serial_ops_list): Now static, std::vector.
5697         (serial_interface_lookup, serial_add_interface): Update.
5698
5699 2018-06-09  Tom Tromey  <tom@tromey.com>
5700
5701         * dwarf2read.c (process_cu_includes): Update.
5702         (process_full_comp_unit): Update.
5703         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
5704         std::vector.
5705
5706 2018-06-08  Paul Koning  <paul_koning@dell.com>
5707
5708         PR gdb/23252
5709
5710         * python/python.c (do_start_initialization):
5711         Avoid call to internal Python API.
5712         (init__gdb_module): New function.
5713
5714 2018-06-08  Gary Benson <gbenson@redhat.com>
5715
5716         * linux-thread-db.c (valprint.h): New include.
5717         (struct check_thread_db_info): New structure.
5718         (check_thread_db_on_load, tdb_testinfo): New static globals.
5719         (check_thread_db, check_thread_db_callback): New functions.
5720         (try_thread_db_load_1): Run integrity checks if requested.
5721         (maintenance_check_libthread_db): New function.
5722         (_initialize_thread_db): Register "maint check libthread-db"
5723         and "maint set/show check-libthread-db".
5724         * NEWS: Mention the above new commands.
5725
5726 2018-06-08  Tom Tromey  <tom@tromey.com>
5727
5728         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
5729         now a method.
5730
5731 2018-06-08  Tom Tromey  <tom@tromey.com>
5732
5733         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
5734
5735 2018-06-08  Tom Tromey  <tom@tromey.com>
5736
5737         * common/btrace-common.h (struct btrace_data): Add constructor,
5738         destructor, move assignment operator.
5739         <empty, clear, fini>: New methods.
5740         <format>: Initialize.
5741         (btrace_data_init, btrace_data_fini, btrace_data_clear)
5742         (btrace_data_empty): Don't declare.
5743         * common/btrace-common.c (btrace_data_init): Remove.
5744         (btrace_data::fini): Rename from btrace_data_fini.
5745         (btrace_data::empty): Rename from btrace_data_empty.
5746         (btrace_data::clear): Rename from btrace_data_clear.  Return
5747         bool.
5748         * btrace.h (make_cleanup_btrace_data): Don't declare.
5749         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
5750         (parse_xml_btrace): Update.
5751         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
5752         (maint_btrace_clear_packet_history_cmd): Update.
5753
5754 2018-06-07  Pedro Alves  <palves@redhat.com>
5755
5756         * target.h (target_ops) <beneath>: Now a method.  All references
5757         updated.
5758         (class target_stack): New.
5759         * target.c (g_target_stack): New.
5760         (g_current_top_target): Delete.
5761         (current_top_target): Get the top target out of g_target_stack.
5762         (target_stack::push, target_stack::unpush): New.
5763         (push_target, unpush_target): Reimplement.
5764         (target_is_pushed): Reimplement in terms of g_target_stack.
5765         (target_ops::beneath, target_stack::find_beneath): New.
5766
5767 2018-06-07  Pedro Alves  <palves@redhat.com>
5768
5769         * target.h (find_target_beneath): Delete declaration.
5770         * target.c (find_target_beneath): Delete definition.
5771         * aix-thread.c: All callers of find_target_beneath adjusted to
5772         call target_ops::beneath instead.
5773         * bsd-uthread.c: Likewise.
5774         * linux-thread-db.c: Likewise.
5775         * ravenscar-thread.c: Likewise.
5776         * sol-thread.c: Likewise.
5777         * spu-multiarch.c: Likewise.
5778
5779 2018-06-07  Pedro Alves  <palves@redhat.com>
5780
5781         * target.h (target_ops) <beneath>: Now a method.  All references
5782         updated.
5783         (target_ops) <m_beneath>: New.
5784         * target.c (target_ops::beneath): New.
5785         * corelow.c: Adjust all references to target_ops::beneath.
5786         * linux-thread-db.c: Likewise.
5787         * make-target-delegates: Likewise.
5788         * record-btrace.c: Likewise.
5789         * record-full.c: Likewise.
5790         * remote.c: Likewise.
5791         * target.c: Likewise.
5792         * target-delegates.c: Regenerate.
5793
5794 2018-06-07  Pedro Alves  <palves@redhat.com>
5795
5796         * target.h (target_stack): Delete.
5797         (current_top_target): Declare function.
5798         * target.c (target_stack): Delete.
5799         (g_current_top_target): New.
5800         (current_top_target): New function.
5801         * auxv.c: Use current_top_target instead of target_stack
5802         throughout.
5803         * avr-tdep.c: Likewise.
5804         * breakpoint.c: Likewise.
5805         * corefile.c: Likewise.
5806         * elfread.c: Likewise.
5807         * eval.c: Likewise.
5808         * exceptions.c: Likewise.
5809         * frame.c: Likewise.
5810         * gdbarch-selftests.c: Likewise.
5811         * gnu-v3-abi.c: Likewise.
5812         * ia64-tdep.c: Likewise.
5813         * ia64-vms-tdep.c: Likewise.
5814         * infcall.c: Likewise.
5815         * infcmd.c: Likewise.
5816         * infrun.c: Likewise.
5817         * linespec.c: Likewise.
5818         * linux-tdep.c: Likewise.
5819         * minsyms.c: Likewise.
5820         * ppc-linux-nat.c: Likewise.
5821         * ppc-linux-tdep.c: Likewise.
5822         * procfs.c: Likewise.
5823         * regcache.c: Likewise.
5824         * remote.c: Likewise.
5825         * rs6000-tdep.c: Likewise.
5826         * s390-linux-nat.c: Likewise.
5827         * s390-tdep.c: Likewise.
5828         * solib-aix.c: Likewise.
5829         * solib-darwin.c: Likewise.
5830         * solib-dsbt.c: Likewise.
5831         * solib-spu.c: Likewise.
5832         * solib-svr4.c: Likewise.
5833         * solib-target.c: Likewise.
5834         * sparc-tdep.c: Likewise.
5835         * sparc64-tdep.c: Likewise.
5836         * spu-tdep.c: Likewise.
5837         * symfile.c: Likewise.
5838         * symtab.c: Likewise.
5839         * target-descriptions.c: Likewise.
5840         * target-memory.c: Likewise.
5841         * target.c: Likewise.
5842         * target.h: Likewise.
5843         * tracefile-tfile.c: Likewise.
5844         * tracepoint.c: Likewise.
5845         * valops.c: Likewise.
5846         * valprint.c: Likewise.
5847         * value.c: Likewise.
5848         * windows-tdep.c: Likewise.
5849         * mi/mi-main.c: Likewise.
5850
5851 2018-06-07  Tom Tromey  <tom@tromey.com>
5852
5853         * valprint.h (build_address_symbolic): Declare.
5854         * printcmd.c (print_address_symbolic): Update.
5855         (build_address_symbolic): Change "name" and "filename" to
5856         std::string.
5857         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
5858         Update.
5859         * defs.h (build_address_symbolic): Remove declaration.
5860
5861 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
5862
5863         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
5864         (aarch64_vnv_type): Add function.
5865         (aarch64_pseudo_register_name): Add V regs for SVE.
5866         (aarch64_pseudo_register_type): Likewise.
5867         (aarch64_pseudo_register_reggroup_p): Likewise.
5868         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
5869         (aarch64_pseudo_read_value): Add V regs for SVE.
5870         (aarch64_pseudo_write_2): Use V0 offset for SVE
5871         (aarch64_pseudo_write): Add V regs for SVE.
5872         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
5873
5874 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
5875
5876         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
5877         (sve_vl_from_vq): Likewise.
5878
5879 2018-06-05  Tom Tromey  <tom@tromey.com>
5880
5881         * cli/cli-cmds.c (show_version): Update.
5882         * top.c (print_gdb_version): Add "interactive" parameter.
5883         Update.
5884         * main.c (captured_main_1): Update.
5885         * top.h (print_gdb_version): Add "interactive" parameter and a
5886         comment.
5887
5888 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
5889
5890         * common/enum-flags.h: Add trailing semicolon to example in
5891         comment.
5892
5893 2018-06-05  Tom Tromey  <tom@tromey.com>
5894
5895         PR cli/12326:
5896         * NEWS: Add entry about pager.
5897         * utils.c (pagination_disabled_for_command): New global.
5898         (prompt_for_continue): Allow "c" response to prompt.
5899         (reinitialize_more_filter): Clear
5900         pagination_disabled_for_command.
5901         (fputs_maybe_filtered): Check pagination_disabled_for_command.
5902
5903 2018-06-04  Tom Tromey  <tom@tromey.com>
5904
5905         * ada-lang.h (ada_lookup_symbol_list): Update.
5906         * ada-lang.c (resolve_subexp): Update.
5907         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
5908         parameter.
5909         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
5910         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
5911         results parameter to std::vector.
5912         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
5913         Update.
5914         * ada-exp.y (block_lookup): Update.
5915         (select_possible_type_sym): Change type of syms.  Remove nsyms
5916         parameter.
5917         (write_var_or_type, write_name_assoc): Update.
5918
5919 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
5920
5921         * windows-nat.c (windows_nat_target::xfer_partial): Return
5922         TARGET_XFER_E_IO if we need to delegate to the target beneath
5923         but BENEATH is NULL.
5924
5925 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
5926
5927         * Makefile.in (config.status): Add configure.nat as a
5928         dependency.
5929
5930 2018-06-04  Tom Tromey  <tom@tromey.com>
5931
5932         * cp-name-parser.y (cpname_state): Add method declarations.
5933         (HANDLE_QUAL): Update.
5934         (cpname_state::d_grab, cpname_state::fill_comp)
5935         (cpname_state::make_operator, cpname_state::make_dtor)
5936         (cpname_state::make_builtin_type, cpname_state::make_name)
5937         (cpname_state::d_qualify, cpname_state::d_int_type)
5938         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
5939         (%union): Move earlier.
5940
5941 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5942
5943         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
5944
5945 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5946
5947         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
5948         (aarch64_pseudo_write_1): Likewise.
5949         (aarch64_pseudo_read_value): Use helper.
5950         (aarch64_pseudo_write): Likewise.
5951
5952 2018-06-04  Pedro Alves  <palves@redhat.com>
5953
5954         * darwin-nat.c (darwin_ops): Delete.
5955         (darwin_attach_pid): Use get_native_target.
5956
5957 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5958
5959         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
5960         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
5961
5962 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5963
5964         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
5965         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
5966         (aarch64_gdbarch_init): Check for SVE.
5967         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
5968
5969 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5970
5971         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
5972         * aarch64-tdep.h (aarch64_read_description): Likewise.
5973         * arch/aarch64.c (aarch64_create_target_description): Likewise.
5974         * arch/aarch64.h (aarch64_create_target_description): Likewise.
5975         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
5976         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
5977         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
5978
5979 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
5980
5981         * value.c (value_fetch_lazy_bitfield): New.
5982         (value_fetch_lazy_memory): New.
5983         (value_fetch_lazy_register): New.
5984         (value_fetch_lazy): Factor out to smaller functions.
5985
5986 2018-06-01  Tom Tromey  <tom@tromey.com>
5987
5988         * cp-name-parser.y (backslashable, represented): Now const.
5989
5990 2018-06-01  Tom Tromey  <tom@tromey.com>
5991
5992         * cp-name-parser.y: Include parser-defs.h.
5993         (parser_fprintf): Remove declaration.
5994
5995 2018-06-01  Tom Tromey  <tom@tromey.com>
5996
5997         * cp-name-parser.y: Use %pure-parser, %lex-param, and
5998         %parse-param.
5999         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
6000         (global_result): Remove globals.
6001         (struct cpname_state): New.
6002         (yyparse): Don't declare.
6003         (yylex, yyerror): Move declarations after %union.
6004         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
6005         (make_name): Add state parameter.
6006         Update all callers.
6007         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
6008         parameter.
6009         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
6010         Update.
6011         (yylex): Add lvalp, state parameters.
6012         (yyerror): Add state parameter.
6013         (cp_demangled_name_to_comp): Update.
6014
6015 2018-06-01  Tom Tromey  <tom@tromey.com>
6016
6017         * cp-name-parser.y (parser_fprintf): Declare.
6018         (GDB_YY_REMAP_PREFIX): Define.
6019         Include yy-remap.h.  Don't redefine yy* identifiers.
6020
6021 2018-06-01  Tom Tromey  <tom@tromey.com>
6022
6023         * python/py-type.c (typy_legacy_template_argument): Update.
6024         * cp-support.h (cp_demangled_name_to_comp): Update.
6025         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
6026         parameter to be a "std::string *".
6027         (main): Update.
6028
6029 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
6030
6031         * ada-lex.l: Include "diagnostics.h" instead of
6032         "common/diagnostics.h".
6033         * unittests/environ-selftests.c: Likewise.
6034         * common/diagnostics.h: Moved to ../include.
6035
6036 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
6037
6038         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
6039         to language_mode_manual while calling breakpoint_re_set_one.
6040
6041 2018-06-01  Tom Tromey  <tom@tromey.com>
6042
6043         * valops.c (value_cast_structs, destructor_name_p): Update.
6044         * symtab.c (gdb_mangle_name): Update.
6045         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
6046         Update.
6047         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
6048         (pascal_object_print_value_fields, pascal_object_print_value):
6049         Update.
6050         * p-typeprint.c (pascal_type_print_derivation_info): Update.
6051         * linespec.c (find_methods): Update.
6052         * gdbtypes.h (type_name_no_tag): Remove.
6053         (type_name_or_error): Rename from type_name_no_tag_or_error.
6054         * gdbtypes.c (type_name_no_tag): Remove.
6055         (type_name_or_error): Rename from type_name_no_tag_or_error.
6056         (lookup_struct_elt_type, check_typedef): Update.
6057         * expprint.c (print_subexp_standard): Update.
6058         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
6059         * d-namespace.c (d_lookup_nested_symbol): Update.
6060         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
6061         (cp_print_class_member): Update.
6062         * cp-namespace.c (cp_lookup_nested_symbol): Update.
6063         * completer.c (add_struct_fields): Update.
6064         * c-typeprint.c (cp_type_print_derivation_info)
6065         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
6066         Update.
6067         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
6068         (ada_prefer_type, ada_is_exception_sym): Update.
6069
6070 2018-06-01  Tom Tromey  <tom@tromey.com>
6071
6072         * valops.c (enum_constant_from_type, value_namespace_elt)
6073         (value_maybe_namespace_elt): Update.
6074         * valarith.c (find_size_for_pointer_math): Update.
6075         * target-descriptions.c (make_gdb_type): Update.
6076         * symmisc.c (print_symbol): Update.
6077         * stabsread.c (define_symbol, read_type)
6078         (complain_about_struct_wipeout, add_undefined_type)
6079         (cleanup_undefined_types_1): Update.
6080         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
6081         (rust_range_type_p, val_print_struct, rust_print_struct_def)
6082         (rust_internal_print_type, rust_composite_type)
6083         (rust_evaluate_funcall, rust_evaluate_subexp)
6084         (rust_inclusive_range_type_p): Update.
6085         * python/py-type.c (typy_get_tag): Update.
6086         * p-typeprint.c (pascal_type_print_base): Update.
6087         * mdebugread.c (parse_symbol, parse_type): Update.
6088         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
6089         Update.
6090         * guile/scm-type.c (gdbscm_type_tag): Update.
6091         * go-lang.c (sixg_string_p): Update.
6092         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
6093         Update.
6094         * gdbtypes.h (struct main_type) <tag_name>: Remove.
6095         (TYPE_TAG_NAME): Remove.
6096         * gdbtypes.c (type_name_no_tag): Simplify.
6097         (check_typedef, check_types_equal, recursive_dump_type)
6098         (copy_type_recursive, arch_composite_type): Update.
6099         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
6100         in summary mode when needed.
6101         * eval.c (evaluate_funcall): Update.
6102         * dwarf2read.c (fixup_go_packaging, read_structure_type)
6103         (process_structure_scope, read_enumeration_type)
6104         (read_namespace_type, read_module_type, determine_prefix): Update.
6105         * cp-support.c (inspect_type): Update.
6106         * coffread.c (process_coff_symbol, decode_base_type): Update.
6107         * c-varobj.c (c_is_path_expr_parent): Update.
6108         * c-typeprint.c (c_type_print_base_struct_union): Update.
6109         (c_type_print_base_1): Update.  Print struct/class/union/enum in
6110         summary when using C language.
6111         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
6112         (gen_maybe_namespace_elt): Update.
6113         * ada-lang.c (ada_type_name): Simplify.
6114         (empty_record, ada_template_to_fixed_record_type_1)
6115         (template_to_static_fixed_type)
6116         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
6117
6118 2018-06-01  Tom Tromey  <tom@tromey.com>
6119
6120         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
6121         c_print_type.
6122         * c-typeprint.c (c_print_type_1): Add "language" parameter.
6123         (c_print_type): Update.
6124         (c_print_type): New overload.
6125         (c_type_print_varspec_prefix, c_type_print_args)
6126         (c_type_print_varspec_suffix, c_print_type_no_offsets)
6127         (c_type_print_base_struct_union, c_type_print_base_1)
6128         (cp_type_print_method_args): Add "language" parameter.
6129         (c_type_print_base): Update.
6130         * c-lang.h (c_print_type): Add new overload.
6131
6132 2018-06-01  Tom Tromey  <tom@tromey.com>
6133
6134         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
6135         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
6136
6137 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
6138
6139         * aarch64-tdep.c (aarch64_sve_register_names): New const
6140         var.
6141         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
6142         (AARCH64_SVE_Z_REGS_NUM): New define.
6143         (AARCH64_SVE_P_REGS_NUM): Likewise.
6144         (AARCH64_SVE_NUM_REGS): Likewise.
6145
6146 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
6147
6148         * nat/linux-ptrace.h [__alpha__]
6149         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
6150         definitions.
6151
6152 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
6153
6154         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
6155         the endianness selected.
6156         * NEWS: Document `set endian auto' mode operation update.
6157
6158 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6159
6160         * Makefile.in: Add new header.
6161         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
6162         (sve_vl_from_vg): Likewise.
6163         (sve_vq_from_vl): Likewise.
6164         (sve_vl_from_vq): Likewise.
6165         (sve_vq_from_vg): Likewise.
6166         (sve_vg_from_vq): Likewise.
6167         * configure.nat: Add new c file.
6168         * nat/aarch64-sve-linux-ptrace.c: New file.
6169         * nat/aarch64-sve-linux-ptrace.h: New file.
6170
6171 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6172
6173         * aarch64-linux-nat.c (aarch64_linux_read_description):
6174         Add parmeter zero.
6175         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
6176         Likewise.
6177         * aarch64-tdep.c (tdesc_aarch64_list): Add.
6178         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
6179         (aarch64_gdbarch_init): Add parmeter zero.
6180         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
6181         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
6182         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
6183         parmeter.
6184         * doc/gdb.texinfo: Describe SVE feature
6185         * features/aarch64-sve.c: New file.
6186
6187 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
6188
6189         PR gdb/23210
6190         * gdbarch.sh (significant_addr_bit): Default to zero when
6191         not set by target architecture.
6192         * gdbarch.c: Re-generated.
6193         * utils.c (address_significant): Update.
6194
6195 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
6196
6197         * stack.c (func_command): Remove trailing newline in call to error.
6198
6199 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6200
6201         * regcache.h (regcache_raw_collect): Remove, update callers to
6202         use regcache::raw_collect.
6203         * regcache.c (regcache_raw_collect): Remove.
6204
6205 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6206
6207         * regcache.h (regcache_raw_supply): Remove, update callers to
6208         use detached_regcache::raw_supply.
6209         * regcache.c (regcache_raw_supply): Remove.
6210
6211 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6212
6213         * regcache.h (regcache_cooked_write_part): Remove, update
6214         callers to use regcache::cooked_write_part.
6215         * regcache.c (regcache_cooked_write_part): Remove.
6216
6217 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6218
6219         * regcache.h (regcache_cooked_read_part): Remove, update callers
6220         to use readable_regcache::cooked_read_part.
6221         * regcache.c (regcache_cooked_read_part): Remove.
6222
6223 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6224
6225         * regcache.h (regcache_cooked_read_value): Remove, update
6226         callers to use readable_regcache::cooked_read_value.
6227         * regcache.c (regcache_cooked_read_value): Remove.
6228
6229 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6230
6231         * regcache.h (regcache_cooked_write): Remove, update callers to
6232         use regcache::cooked_write.
6233         * regcache.c (regcache_cooked_write): Remove.
6234
6235 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6236
6237         * regcache.h (regcache_invalidate): Remove, update callers to
6238         use detached_regcache::invalidate instead.
6239         * regcache.c (regcache_invalidate): Remove.
6240
6241 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6242
6243         * regcache.h (regcache_raw_write_part): Remove, update callers
6244         to use regcache::raw_write_part instead.
6245         * regcache.c (regcache_raw_write_part): Remove.
6246
6247 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6248
6249         * regcache.h (regcache_raw_read_part): Remove, update callers to
6250         use readable_regcache::raw_read_part instead.
6251         * regcache.c (regcache_raw_read_part): Remove.
6252
6253 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6254
6255         * regcache.h (regcache_cooked_read): Remove, update callers to
6256         use readable_regcache::cooked_read instead.
6257         * regcache.c (regcache_cooked_read): Remove.
6258
6259 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6260
6261         * regcache.h (regcache_raw_write): Remove, update callers to use
6262         regcache::raw_write instead.
6263         * regcache.c (regcache_raw_write): Remove.
6264
6265 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6266
6267         * regcache.h (regcache_raw_read): Remove, update callers to use
6268         readable_regcache::raw_read instead.
6269         * regcache.c (regcache_raw_read): Remove.
6270
6271 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6272
6273         * regcache.h (regcache_raw_update): Remove, update callers to
6274         use readable_regcache::raw_update instead.
6275         * regcache.c (regcache_raw_update): Remove.
6276
6277 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6278
6279         * regcache.h (regcache_register_status): Remove, update callers
6280         to use reg_buffer::get_register_status directly instead.
6281         * regcache.c (regcache_register_status): Remove.
6282
6283 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6284
6285         * regcache.h (regcache_get_ptid): Remove, update all callers to
6286         call regcache::ptid instead.
6287         * regcache.c (regcache_get_ptid): Remove.
6288
6289 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6290
6291         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
6292
6293 2018-05-30  Pedro Alves  <palves@redhat.com>
6294
6295         * common/common-exceptions.h (exception_rethrow): Use
6296         ATTRIBUTE_NORETURN.
6297
6298 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
6299
6300         * breakpoint.c (print_solib_event, check_status_catch_solib):
6301         Remove struct keyword in range-based for loops.
6302         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
6303         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
6304         Likewise.
6305         * linespec.c (find_superclass_methods, search_minsyms_for_name):
6306         Likewise.
6307         * symfile.c (addr_info_make_relative): Likewise.
6308         * thread.c (value_in_thread_stack_temporaries): Likewise.
6309
6310 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
6311
6312         PR gdb/16841
6313         * valops.c (value_struct_elt_for_reference): Call check_typedef on
6314         aggregate type to get its real type before accessing it.
6315
6316 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
6317
6318         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
6319         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
6320         * coff-pe-read.c (add_pe_forwarded_sym): Replace
6321         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
6322         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
6323         * jit.c (jit_breakpoint_re_set_internal): Likewise.
6324         * printcmd.c (info_address_command): Likewise.
6325
6326 2018-05-29  Tom Tromey  <tom@tromey.com>
6327
6328         * windows-nat.c (handle_exception): Update fall-through comment.
6329
6330 2018-05-29  Tom Tromey  <tom@tromey.com>
6331
6332         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
6333         (struct program_space) <added_solibs>: Now a std::vector.
6334         * breakpoint.c (print_solib_event): Update.
6335         (check_status_catch_solib): Update.
6336         * progspace.c (clear_program_space_solib_cache): Update.
6337         * solib.c (update_solib_list): Update.
6338
6339 2018-05-29  Tom Tromey  <tom@tromey.com>
6340
6341         * python/py-type.c (typy_richcompare): Update.
6342         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
6343         * gdbtypes.h (types_deeply_equal): Return bool.
6344         (types_equal): Likewise.
6345         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
6346         declare VEC.
6347         (check_types_equal): Change worklist to std::vector.  Return
6348         bool.
6349         (struct type_equality_entry): Add constructor.
6350         (compare_maybe_null_strings): Return bool.
6351         (check_types_worklist): Return bool.  Change worklist to
6352         std::vector.
6353         (types_deeply_equal): Use std::vector.
6354         (types_equal): Return bool.
6355         (compare_maybe_null_strings): Simplify.
6356
6357 2018-05-29  Tom Tromey  <tom@tromey.com>
6358
6359         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
6360
6361 2018-05-29  Tom Tromey  <tom@tromey.com>
6362
6363         * objc-lang.h: Don't include cp-support.h.
6364         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
6365         declare VEC.
6366
6367 2018-05-27  Tom Tromey  <tom@tromey.com>
6368
6369         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
6370
6371 2018-05-25  Tom Tromey  <tom@tromey.com>
6372
6373         * value.c (value::location): Initialize.
6374
6375 2018-05-25  Tom Tromey  <tom@tromey.com>
6376
6377         * dbxread.c (init_bincl_list): Remove.
6378         (bincl_list): Now a std::vector.
6379         (bincls_allocated, next_bincl): Remove.
6380         (free_bincl_list, do_free_bincl_list_cleanup)
6381         (make_cleanup_free_bincl_list): Remove.
6382         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
6383         unique_xmalloc_ptr.
6384         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
6385         (struct header_file_location): Add constructor.
6386         (add_bincl_to_list): Remove.
6387
6388 2018-05-25  Tom Tromey  <tom@tromey.com>
6389
6390         * tui/tui.c (tui_enable): Update.
6391         * mi/mi-interp.c (mi_interp::init): Update.
6392         * interps.h (class interp) <name>: New method.
6393         <m_name>: Rename from name.
6394         (~scoped_restore_interp): Update.
6395         * interps.c (interp::interp): Update.
6396         (interp_add, interp_set, interp_lookup_existing)
6397         (current_interp_named_p): Update.
6398
6399 2018-05-25  Tom Tromey  <tom@tromey.com>
6400
6401         * interps.c (interp_name): Remove.
6402         * mi/mi-interp.c (mi_interp::init): Update.
6403         * interps.h (interp_name): Remove.
6404         (~scoped_restore_interp): Update.
6405         * tui/tui.c (tui_enable): Update.
6406
6407 2018-05-25  Tom Tromey  <tom@tromey.com>
6408
6409         * utils.c (fputs_maybe_filtered): Update.
6410         * linespec.c (decode_line_full): Update.
6411         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
6412         (mi_print_breakpoint_for_event, mi_solib_loaded)
6413         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
6414         (mi_user_selected_context_changed): Update.
6415         * mi/mi-main.c (mi_execute_command): Update.
6416         * cli/cli-script.c (execute_control_command): Update.
6417         * python/python.c (execute_gdb_command): Update.
6418         * solib.c (info_sharedlibrary_command): Update.
6419         * interps.c (interp_ui_out): Remove.
6420         * interps.h (interp_ui_out): Remove.
6421
6422 2018-05-25  Tom Tromey  <tom@tromey.com>
6423
6424         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
6425         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
6426         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
6427
6428 2018-05-25  Tom Tromey  <tom@tromey.com>
6429
6430         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
6431         * interps.c (interp_exec): Use scoped_restore.
6432
6433 2018-05-25  Tom Tromey  <tom@tromey.com>
6434
6435         * remote.c (remote_target::remote_file_get): Use
6436         gdb::byte_vector.
6437         (remote_target::remote_file_put): Likewise.
6438
6439 2018-05-25  Tom Tromey  <tom@tromey.com>
6440
6441         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
6442         a std::string.
6443         (get_pe_section_index, add_pe_exported_sym): Update.
6444         (read_pe_exported_syms): Use gdb::def_vector.
6445
6446 2018-05-25  Tom Tromey  <tom@tromey.com>
6447
6448         * frame.c (remove_prev_frame): Remove.
6449         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
6450
6451 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
6452
6453         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
6454         Remove prototypes.
6455         * mips-linux-nat.c (supply_fpregset): Always call
6456         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
6457         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
6458         `mips_fill_fpregset'.
6459         * mips-linux-tdep.c (mips_supply_fpregset)
6460         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
6461         (mips_fill_fpregset_wrapper): Remove functions.
6462         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
6463         (mips_linux_fpregset): Remove variable.
6464         (mips_linux_iterate_over_regset_sections): Use
6465         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
6466         (mips_linux_o32_sigframe_init): Remove comment.
6467
6468 2018-05-25  Pedro Alves  <palves@redhat.com>
6469
6470         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
6471         (struct readahead_cache, struct packet_reg, struct
6472         remote_arch_state, class remote_state): Move higher up in the
6473         file.
6474         (remote_target::m_remote_state): Now an object instead of a pointer.
6475         (remote_target::get_remote_state): Adjust.
6476
6477 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6478
6479         * stack.c (select_and_print_frame): Delete.
6480         (struct function_bounds): Move struct within function.
6481         (func_command): Most content moved into new function
6482         find_frame_for_function, use new function, print result, add
6483         function comment.
6484         (find_frame_for_function): New function, now returns a result.
6485
6486 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6487
6488         * stack.c (iterate_over_block_arg_vars): Fix comment.
6489         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
6490
6491 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6492
6493         PR gdb/23203
6494         * frame.c
6495         (scoped_restore_selected_frame::scoped_restore_selected_frame):
6496         Define.
6497         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
6498         Define.
6499         * frame.h (class scoped_restore_selected_frame): New class.
6500         * stack.c (print_frame_local_vars): Remove catching and rethrowing
6501         of any exception, use scoped_restore_selected_frame to restore the
6502         frame instead.
6503
6504 2018-05-24  Pedro Alves  <palves@redhat.com>
6505
6506         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
6507         override.
6508
6509 2018-05-23  Tom Tromey  <tom@tromey.com>
6510
6511         * complaints.c (struct complaints): Remove.
6512         (symfile_complaint_book): Remove.
6513         (series): New global.
6514         (complaint_internal): Update.
6515         (clear_complaints): Update.
6516
6517 2018-05-23  Tom Tromey  <tom@tromey.com>
6518
6519         * complaints.c (counters): New global.
6520         (struct complain): Remove.
6521         (struct complaints) <root>: Remove.
6522         (complaint_sentinel): Remove.
6523         (symfile_complaint_book): Update.
6524         (find_complaint) Remove.
6525         (complaint_internal, clear_complaints): Update.
6526
6527 2018-05-23  Tom Tromey  <tom@tromey.com>
6528
6529         * complaints.c (struct complain) <file, line>: Remove.
6530         (find_complaint): Remove file, line parameters.
6531         (complaint_internal): Update.
6532
6533 2018-05-23  Tom Tromey  <tom@tromey.com>
6534
6535         * complaints.c (vcomplaint): Remove.
6536         (complaint_internal) Merge in contents of vcomplaint.
6537
6538 2018-05-23  Tom Tromey  <tom@tromey.com>
6539
6540         * complaints.c (struct complaints) <explanation>: Remove.
6541         (symfile_explanations): Remove.
6542         (symfile_complaint_book): Update.
6543         (vcomplaint): Update.
6544         (struct explanation): Remove.
6545
6546 2018-05-23  Tom Tromey  <tom@tromey.com>
6547
6548         * complaints.c (symfile_complaints): Remove.
6549         (complaint_internal): Remove "complaints" parameter.
6550         (clear_complaints, vcomplaint): Remove "c" parameter.
6551         (get_complaints): Remove.
6552         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
6553         (dwarf2_debug_line_missing_file_complaint)
6554         (dwarf2_debug_line_missing_end_sequence_complaint)
6555         (dwarf2_complex_location_expr_complaint)
6556         (dwarf2_const_value_length_mismatch_complaint)
6557         (dwarf2_section_buffer_overflow_complaint)
6558         (dwarf2_macro_malformed_definition_complaint)
6559         (dwarf2_invalid_attrib_class_complaint)
6560         (create_addrmap_from_index, dw2_symtab_iter_next)
6561         (dw2_expand_marked_cus)
6562         (dw2_debug_names_iterator::find_vec_in_debug_names)
6563         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
6564         (create_debug_type_hash_table, init_cutu_and_read_dies)
6565         (partial_die_parent_scope, add_partial_enumeration)
6566         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
6567         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
6568         (read_import_statement, read_file_scope, create_dwo_cu_reader)
6569         (create_cus_hash_table, create_dwp_hash_table)
6570         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
6571         (dwarf2_rnglists_process, dwarf2_ranges_process)
6572         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
6573         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
6574         (handle_struct_member_die, process_structure_scope)
6575         (read_array_type, read_common_block, read_module_type)
6576         (read_tag_pointer_type, read_typedef, read_base_type)
6577         (read_subrange_type, load_partial_dies, partial_die_info::read)
6578         (partial_die_info::read, partial_die_info::read)
6579         (partial_die_info::read, read_checked_initial_length_and_offset)
6580         (dwarf2_string_attr, read_formatted_entries)
6581         (dwarf_decode_line_header)
6582         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
6583         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
6584         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
6585         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
6586         (get_signatured_type, get_DW_AT_signature_type)
6587         (decode_locdesc, file_file_name, consume_improper_spaces)
6588         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
6589         (dwarf_decode_macro_bytes, dwarf_decode_macros)
6590         (dwarf2_symbol_mark_computed, set_die_type)
6591         (read_attribute_value): Update.
6592         * stap-probe.c (handle_stap_probe, get_stap_base_address):
6593         Update.
6594         * dbxread.c (unknown_symtype_complaint)
6595         (lbrac_mismatch_complaint, repeated_header_complaint)
6596         (set_namestring, function_outside_compilation_unit_complaint)
6597         (read_dbx_symtab, process_one_symbol): Update.
6598         * gdbtypes.c (stub_noname_complaint): Update.
6599         * windows-nat.c (handle_unload_dll): Update.
6600         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
6601         (decode_base_type): Update.
6602         * xcoffread.c (bf_notfound_complaint, ef_complaint)
6603         (eb_complaint, record_include_begin, record_include_end)
6604         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
6605         (process_xcoff_symbol, read_symbol)
6606         (function_outside_compilation_unit_complaint)
6607         (scan_xcoff_symtab): Update.
6608         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
6609         * buildsym.c (finish_block_internal, make_blockvector)
6610         (end_symtab_get_static_block, augment_type_symtab): Update.
6611         * dtrace-probe.c (dtrace_process_dof)
6612         (dtrace_static_probe_ops::get_probes): Update.
6613         * complaints.h (struct complaint): Don't declare.
6614         (symfile_complaints): Remove.
6615         (complaint_internal): Remove "complaints" parameter.
6616         (complaint): Likewise.
6617         (clear_complaints): Likewise.
6618         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6619         (reread_symbols): Update.
6620         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
6621         (dwarf2_frame_cache, decode_frame_entry): Update.
6622         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
6623         * objc-lang.c (lookup_objc_class, lookup_child_selector)
6624         (info_selectors_command): Update.
6625         * macrotab.c (macro_include, check_for_redefinition)
6626         (macro_undef): Update.
6627         * objfiles.c (filter_overlapping_sections): Update.
6628         * stabsread.c (invalid_cpp_abbrev_complaint)
6629         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
6630         (define_symbol, error_type, read_type, rs6000_builtin_type)
6631         (stabs_method_name_from_physname, read_member_functions)
6632         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
6633         (attach_fields_to_type, complain_about_struct_wipeout)
6634         (read_range_type, read_args, common_block_start)
6635         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
6636         Update.
6637         * mdebugread.c (index_complaint, unknown_ext_complaint)
6638         (basic_type_complaint, bad_tag_guess_complaint)
6639         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
6640         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
6641         (parse_procedure, parse_lines)
6642         (function_outside_compilation_unit_complaint)
6643         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
6644         (bad_tag_guess_complaint, reg_value_complaint): Update.
6645         * cp-support.c (demangled_name_complaint): Update.
6646         * macroscope.c (sal_macro_scope): Update.
6647         * dwarf-index-write.c (class debug_names): Update.
6648
6649 2018-05-23  Tom Tromey  <tom@tromey.com>
6650
6651         * complaints.c (clear_complaints): Remove "noisy" parameter.
6652         * complaints.h (clear_complaints): Update.
6653         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6654         (reread_symbols): Update.
6655
6656 2018-05-23  Tom Tromey  <tom@tromey.com>
6657
6658         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
6659         SUBSEQUENT_MESSAGE.
6660         (vcomplaint, clear_complaints): Update.
6661         (symfile_explanations): Remove some messages.
6662
6663 2018-05-23  Tom Tromey  <tom@tromey.com>
6664
6665         * complaints.c (internal_complaint): Remove.
6666         * complaints.h (internal_complaint): Remove.
6667
6668 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6669
6670         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
6671
6672 2018-05-22  Pedro Alves  <palves@redhat.com>
6673
6674         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
6675         (remote_fileio_badfd, remote_fileio_return_errno)
6676         (remote_fileio_return_success, remote_fileio_func_open)
6677         (remote_fileio_func_open, remote_fileio_func_close)
6678         (remote_fileio_func_read, remote_fileio_func_write)
6679         (remote_fileio_func_lseek, remote_fileio_func_rename)
6680         (remote_fileio_func_unlink, remote_fileio_func_stat)
6681         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
6682         (remote_fileio_func_isatty, remote_fileio_func_system): Add
6683         remote_target parameter.
6684         (remote_fio_func_map) <func>: Add remote_target parameter.
6685         (do_remote_fileio_request, remote_fileio_request):
6686         * remote-fileio.h (remote_fileio_request):
6687         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
6688         remote_target parameter.
6689         (remote_notif_process, handle_notification): Adjust to pass down
6690         the remote.
6691         (remote_notif_state_allocate): Add remote_target parameter.  Save
6692         it.
6693         * remote-notif.h (struct remote_target): Forward declare.
6694         (struct notif_client) <parse, ack, can_get_pending_events>: Add
6695         remote_target parameter.
6696         (struct remote_notif_state) <remote>: New field.
6697         (remote_notif_ack, remote_notif_parse): Add remote_target
6698         parameter.
6699         (remote_notif_state_allocate, remote_notif_state_allocate): Add
6700         remote_target parameter.
6701         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
6702         (threads_listing_context, rmt_thread_action, protocol_feature)
6703         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
6704         (packet_result, struct threads_listing_context, remote_state):
6705         Move definitions and declarations higher up.
6706         (remote_target) <~remote_target>: Declare.
6707         (remote_download_command_source, remote_file_put, remote_file_get)
6708         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
6709         (remote_hostio_pread_vFile, remote_hostio_send_command)
6710         (remote_hostio_set_filesystem, remote_hostio_open)
6711         (remote_hostio_close, remote_hostio_unlink, remote_state)
6712         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
6713         (get_memory_write_packet_size, get_memory_read_packet_size)
6714         (append_pending_thread_resumptions, remote_detach_1)
6715         (append_resumption, remote_resume_with_vcont)
6716         (add_current_inferior_and_thread, wait_ns, wait_as)
6717         (process_stop_reply, remote_notice_new_inferior)
6718         (process_initial_stop_replies, remote_add_thread)
6719         (btrace_sync_conf, remote_btrace_maybe_reopen)
6720         (remove_new_fork_children, kill_new_fork_children)
6721         (discard_pending_stop_replies, stop_reply_queue_length)
6722         (check_pending_events_prevent_wildcard_vcont)
6723         (discard_pending_stop_replies_in_queue, stop_reply)
6724         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
6725         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
6726         (remote_interrupt_as, remote_interrupt_ns)
6727         (remote_get_noisy_reply, remote_query_attached)
6728         (remote_add_inferior, remote_current_thread, get_current_thread)
6729         (set_thread, set_general_thread, set_continue_thread)
6730         (set_general_process, write_ptid)
6731         (remote_unpack_thread_info_response, remote_get_threadinfo)
6732         (parse_threadlist_response, remote_get_threadlist)
6733         (remote_threadlist_iterator, remote_get_threads_with_ql)
6734         (remote_get_threads_with_qxfer)
6735         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
6736         (get_offsets, remote_check_symbols, remote_supported_packet)
6737         (remote_query_supported, remote_packet_size)
6738         (remote_serial_quit_handler, remote_detach_pid)
6739         (remote_vcont_probe, remote_resume_with_hc)
6740         (send_interrupt_sequence, interrupt_query)
6741         (remote_notif_get_pending_events, fetch_register_using_p)
6742         (send_g_packet, process_g_packet, fetch_registers_using_g)
6743         (store_register_using_P, store_registers_using_G)
6744         (set_remote_traceframe, check_binary_download)
6745         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
6746         (remote_xfer_live_readonly_partial, remote_read_bytes)
6747         (remote_send_printf, remote_flash_write, readchar)
6748         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
6749         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
6750         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
6751         (extended_remote_disable_randomization, extended_remote_run)
6752         (send_environment_packet, extended_remote_environment_support)
6753         (extended_remote_set_inferior_cwd, remote_write_qxfer)
6754         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
6755         (packet_command): Now methods of ...
6756         (remote_target): ... this class.
6757         (m_remote_state) <remote_target>: New field.
6758         (struct remote_state) <stop_reply_queue,
6759         remote_async_inferior_event_token, wait_forever_enabled_p>: New
6760         fields.
6761         (remote_state::remote_state): Allocate stop_reply_queue.
6762         (remote_state): Delete global.
6763         (get_remote_state_raw): Delete.
6764         (remote_target::get_remote_state): Allocate m_remote_state on
6765         demand.
6766         (get_current_remote_target): New.
6767         (remote_ops, extended_remote_ops): Delete.
6768         (wait_forever_enabled_p, remote_async_inferior_event_token):
6769         Delete, moved to struct remote_state.
6770         (remote_target::close): Delete self.  Destruction bits split to
6771         ...
6772         (remote_target::~remote_target): ... this.
6773         (show_memory_packet_size): Adjust to use
6774         get_current_remote_target.
6775         (struct protocol_feature) <func>: Add remote_target parameter.
6776         All callers adjusted.
6777         (curr_quit_handler_target): New.
6778         (remote_serial_quit_handler): Reimplement.
6779         (remote_target::open_1): Adjust to use get_current_remote_target.
6780         Heap-allocate remote_target/extended_remote_target instances.
6781         (vcont_builder::vcont_builder): Add remote_target parameter, and
6782         save it in m_remote.  All callers adjusted.
6783         (vcont_builder::m_remote): New field.
6784         (vcont_builder::restart, vcont_builder::flush)
6785         (vcont_builder::push_action): Use it.
6786         (remote_target::commit_resume): Use it.
6787         (struct queue_iter_param) <remote>: New field.
6788         (remote_target::remove_new_fork_children): Fill in 'remote' field.
6789         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
6790         (check_pending_event_prevents_wildcard_vcont_callback)
6791         (remote_target::check_pending_events_prevent_wildcard_vcont)
6792         (remote_target::discard_pending_stop_replies)
6793         (remote_target::discard_pending_stop_replies_in_queue)
6794         (remote_target::remote_notif_remove_queued_reply): Fill in
6795         'remote' field.
6796         (remote_notif_get_pending_events): New.
6797         (remote_target::readchar, remote_target::remote_serial_write):
6798         Save/restore curr_quit_handler_target.
6799         (putpkt): New.
6800         (kill_new_fork_children): Fill in 'remote' field.
6801         (packet_command): Use get_current_remote_target, defer to
6802         remote_target method of same name.
6803         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
6804         parameter, and save it in m_remote.  All callers adjusted.
6805         (scoped_remote_fd::release): Use m_remote.
6806         (scoped_remote_fd::m_remote): New field.
6807         (remote_file_put, remote_file_get, remote_file_delete): Use
6808         get_current_remote_target, defer to remote_target method of same
6809         name.
6810         (remote_btrace_reset): Add remote_state paremeter.  Update all
6811         callers.
6812         (remote_async_inferior_event_handler). Pass down 'data'.
6813         (remote_new_objfile): Use get_current_remote_target.
6814         (remote_target::vcont_r_supported): New.
6815         (set_range_stepping): Use get_current_remote_target and
6816         remote_target::vcont_r_supported.
6817         (_initialize_remote): Don't allocate 'remote_state' and
6818         'stop_reply_queue' globals.
6819         * remote.h (struct remote_target): Forward declare.
6820         (getpkt, putpkt, remote_notif_get_pending_events): Add
6821         'remote_target' parameter.
6822
6823 2018-05-22  Pedro Alves  <palves@redhat.com>
6824
6825         * remote.c (vcont_builder): Now a class.  Make all data members
6826         private.
6827         (vcont_builder) <vcont_builder, restart, flush, push_action>:
6828         Declare methods.
6829         (vcont_builder_restart): Rename to ...
6830         (vcont_builder::restart): ... this.
6831         (vcont_builder_flush): Rename to ...
6832         (vcont_builder::flush): ... this.
6833         (vcont_builder_push_action): Rename to ...
6834         (vcont_builder::push_action): ... this.
6835         (remote_target::commit_resume): Adjust.
6836
6837 2018-05-22  Pedro Alves  <palves@redhat.com>
6838
6839         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
6840         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
6841         (get_fixed_memory_packet_size): New.
6842         (get_memory_packet_size): Use it.
6843         (set_memory_packet_size): Don't override the config size with
6844         DEFAULT_MAX_MEMORY_PACKET_SIZE.
6845         (show_memory_packet_size): Use get_fixed_memory_packet_size.
6846         Don't refer to get_memory_packet_size if not connected to a remote
6847         target.  Show "(default)" if configured size is 0.
6848
6849 2018-05-22  Pedro Alves  <palves@redhat.com>
6850
6851         * remote.c (remote_target::mourn_inferior): Move
6852         discard_pending_stop_replies call here from ...
6853         (_initialize_remote): ... here.
6854
6855 2018-05-22  Pedro Alves  <palves@redhat.com>
6856
6857         * remote.c (compare_section_command): Remove set_general_process
6858         call.
6859
6860 2018-05-22  Pedro Alves  <palves@redhat.com>
6861
6862         * remote.c (struct packet_reg, struct remote_arch_state):
6863         Move higher up in the file.
6864         (remote_state) <m_arch_states>: Store remote_arch_state values
6865         instead of remote_arch_state pointers.
6866         (remote_state::get_remote_arch_state): Adjust.
6867
6868 2018-05-22  Pedro Alves  <palves@redhat.com>
6869
6870         * remote.c: Include <unordered_map>.
6871         (remote_state): Now a class.
6872         (remote_state) <get_remote_arch_state>: Declare method.
6873         <get_remote_arch_state>: New field.
6874         (remote_arch_state) <remote_arch_state>: Declare ctor.
6875         <regs>: Now a unique_ptr.
6876         (remote_gdbarch_data_handle): Delete.
6877         (get_remote_arch_state): Delete.
6878         (remote_state::get_remote_arch_state): New.
6879         (get_remote_state): Adjust to call remote_state's
6880         get_remote_arch_state method.
6881         (init_remote_state): Delete, bits factored out to ...
6882         (remote_arch_state::remote_arch_state): ... this new method.
6883         (get_remote_packet_size, get_memory_packet_size)
6884         (process_g_packet, remote_target::fetch_registers)
6885         (remote_target::prepare_to_store, store_registers_using_G)
6886         (remote_target::store_registers, remote_target::get_trace_status):
6887         Adjust to call remote_state's method.
6888         (_initialize_remote): Remove reference to
6889         remote_gdbarch_data_handle.
6890
6891 2018-05-22  Pedro Alves  <palves@redhat.com>
6892
6893         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
6894         pread>: New method declarations.
6895         (remote_target::open_1): Adjust.
6896         (readahead_cache_invalidate): Rename to ...
6897         (readahead_cache::invalidate): ... this, and adjust to be a class
6898         method.
6899         (readahead_cache_invalidate_fd): Rename to ...
6900         (readahead_cache::invalidate_fd): ... this, and adjust to be a
6901         class method.
6902         (remote_hostio_pwrite): Adjust.
6903         (remote_hostio_pread_from_cache): Rename to ...
6904         (readahead_cache::pread): ... this, and adjust to be a class
6905         method.
6906         (remote_hostio_close): Adjust.
6907
6908 2018-05-22  Pedro Alves  <palves@redhat.com>
6909
6910         * remote.c (remote_hostio_close_cleanup): Delete.
6911         (class scoped_remote_fd): New.
6912         (remote_file_put, remote_file_get): Use it.
6913
6914 2018-05-22  Pedro Alves  <palves@redhat.com>
6915
6916         (struct vCont_action_support): Use bool and initialize all fields.
6917         (struct readahead_cache): Initialize all fields.
6918         (remote_state): Use bool and initialize all fields.
6919         (remote_state::remote_state, remote_state::~remote_state): New.
6920         (new_remote_state): Delete.
6921         (_initialize_remote): Use new to allocate remote_state.
6922
6923 2018-05-22  Pedro Alves  <palves@redhat.com>
6924             張俊芝  <zjz@zjz.name>
6925
6926         PR gdb/22973
6927         * c-exp.y: Include "c-support.h".
6928         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
6929         of tolower.  Use c_ident_is_alpha to scan names.
6930         * c-lang.c: Include "c-support.h".
6931         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
6932         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
6933         * c-support.h: New file, with bits factored out from ...
6934         * cp-name-parser.y: ... this file.
6935         Include "c-support.h".
6936         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
6937         c-support.h and renamed.
6938         (symbol_end, yylex): Adjust.
6939
6940 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6941
6942         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
6943         parameter type to CORE_ADDR.
6944         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
6945         parameter type in declaration to CORE_ADDR.
6946         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
6947         target_auxv_search to get AT_HWCAP and use the result to get the
6948         target description.
6949         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
6950         to CORE_ADDR. Remove the cast of the return value to unsigned
6951         long. Fix error predicate of target_auxv_search.
6952         (ppc_linux_nat_target::read_description): Change the type of the
6953         hwcap variable to CORE_ADDR.
6954
6955 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6956
6957         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
6958         if the size of fpscr is larger than 32 bits.
6959
6960 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6961
6962         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
6963         (ppc32_linux_vsxregmap): New global.
6964         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
6965         regcache_supply_regset, and regcache_collect_regset.
6966         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
6967         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
6968         (fetch_vsx_register, store_vsx_register): Remove.
6969         (fetch_vsx_registers): Add regno parameter. Get regset using
6970         ppc_linux_vsxregset. Use regset to supply registers.
6971         (store_vsx_registers): Add regno parameter. Get regset using
6972         ppc_linux_vsxregset. Use regset to collect registers.
6973         (fetch_register): Call fetch_vsx_registers instead of
6974         fetch_vsx_register.
6975         (store_register): Call store_vsx_registers instead of
6976         store_vsx_register.
6977         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
6978         new regno parameter.
6979         (store_ppc_registers): Call store_vsx_registers with -1 for the
6980         new regno parameter.
6981         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
6982         (ppc_collect_vsxregset): Remove.
6983
6984 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6985
6986         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
6987         offset fields.
6988         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
6989         for vector register offset fields.
6990         (ppc64_fbsd_reg_offsets): Likewise.
6991         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6992         to vector register offset fields.
6993         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6994         to vector register offset fields.
6995         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
6996         vector register offset fields.
6997         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
6998         initializers for vector register offset fields.
6999         (rs6000_aix64_reg_offsets): Likewise.
7000         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
7001         (ppc_supply_vrregset): Remove.
7002         (ppc_collect_vrregset): Remove.
7003         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
7004         (ppc_linux_vrregset) : New function.
7005         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
7006         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
7007         (ppc32_linux_vrregset): Remove.
7008         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
7009         and use result instead of ppc32_linux_vrregset.
7010         (ppc32_linux_reg_offsets): Remove initializers for vector register
7011         offset fields.
7012         (ppc64_linux_reg_offsets): Likewise.
7013         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
7014         * ppc-linux-nat.c: Include regset.h.
7015         (gdb_vrregset_t): Adjust comment to account for little-endian
7016         mode.
7017         (supply_vrregset, fill_vrregset): Remove.
7018         (fetch_altivec_register, store_altivec_register): Remove.
7019         (fetch_altivec_registers): Add regno parameter. Get regset using
7020         ppc_linux_vrregset. Use regset to supply registers.
7021         (store_altivec_registers): Add regno parameter. Get regset using
7022         ppc_linux_vrregset. Use regset to collect registers.
7023         (fetch_register): Call fetch_altivec_registers instead of
7024         fetch_altivec_register.
7025         (store_register): Call store_altivec_registers instead of
7026         store_altivec_register.
7027         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
7028         the new regno parameter.
7029         (store_ppc_registers): Call store_altivec_registers with -1 for
7030         the new regno parameter.
7031
7032 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7033
7034         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
7035         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
7036         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
7037         (gdb_vrregset_t): Change array type size to
7038         PPC_LINUX_SIZEOF_VRREGSET.
7039         (gdb_vsxregset_t): Change array type size to
7040         PPC_LINUX_SIZEOF_VSXREGSET.
7041         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
7042         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
7043         PPC_LINUX_SIZEOF_VSXREGSET.
7044
7045 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7046
7047         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
7048         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
7049         nat/ppc-linux.c.
7050         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
7051         ppc_linux_target_wordsize with tid.
7052         (ppc_linux_nat_target::read_description): Call ppc_linux_target
7053         wordsize with tid.
7054         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
7055         (ppc64_64bit_inferior_p): Add static and inline specifiers.
7056         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
7057         tid parameter. Remove static specifier.
7058         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
7059         (ppc_linux_target_wordsize): New declaration.
7060
7061 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7062
7063         * arch/ppc-linux-common.c: New file.
7064         * arch/ppc-linux-common.h: New file.
7065         * arch/ppc-linux-tdesc.h: New file.
7066         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
7067         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
7068         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
7069         arch/ppc-linux-tdesc.h.
7070         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
7071         arch/ppc-linux-tdesc.h.
7072         (ppc_linux_nat_target::read_description): Remove target
7073         description matching code. Fill a ppc_linux_features struct and
7074         call ppc_linux_match_description with it. Move comment about ISA
7075         2.05 to ppc-linux-common.c.
7076         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
7077         arch/ppc-linux-tdesc.h.
7078         (ppc_linux_core_read_description): Remove target description
7079         matching code. Fill a ppc_linux_features struct and call
7080         ppc_linux_match_description with it.
7081         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
7082         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
7083         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
7084         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
7085         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
7086         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
7087         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
7088         (tdesc_powerpc_e500l): Remove.
7089
7090 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
7091
7092         * ada-lang.c (catch_assert_command): Pass empty string instead
7093         of NULL for excep_string argument.
7094
7095 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7096
7097         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
7098         the width of the requested register exceeds the width of the
7099         `ptrace' data type.
7100
7101 2018-05-21  Tom Tromey  <tom@tromey.com>
7102
7103         * printcmd.c (output_command): Remove.
7104         (output_command_const): Rename to output_command.
7105         * valprint.h (output_command): Rename from output_command_const.
7106         * tracepoint.c (trace_dump_actions): Call output_command.
7107
7108 2018-05-21  Tom Tromey  <tom@tromey.com>
7109
7110         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7111         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
7112         * ada-lang.h (create_ada_exception_catchpoint): Update.
7113         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
7114         std::string.
7115         (create_excep_cond_exprs, ~ada_catchpoint)
7116         (should_stop_exception, print_one_exception)
7117         (print_mention_exception, print_recreate_exception): Update.
7118         (ada_get_next_arg): Remove.
7119         (catch_ada_exception_command_split): Use std::string.  Change type
7120         of "excep_string", "cond_string".
7121         (catch_ada_exception_command): Update.
7122         (create_ada_exception_catchpoint): Change type of excep_string.
7123         (ada_exception_sal): Remove excep_string parameter.
7124         (~ada_catchpoint): Remove.
7125
7126 2018-05-21  Tom Tromey  <tom@tromey.com>
7127
7128         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
7129         cleanup.
7130
7131 2018-05-21  Tom Tromey  <tom@tromey.com>
7132
7133         * ada-lang.c (ada_exception_message_1, ada_exception_message):
7134         Return unique_xmalloc_ptr.
7135         (print_it_exception): Update.
7136
7137 2018-05-21  Tom Tromey  <tom@tromey.com>
7138
7139         * tracepoint.c (trace_dump_actions): Use std::string.
7140
7141 2018-05-21  Tom Tromey  <tom@tromey.com>
7142
7143         * symfile.c (reread_symbols): Use std::string for original_name.
7144
7145 2018-05-21  Tom Tromey  <tom@tromey.com>
7146
7147         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
7148         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
7149         constructor.
7150
7151 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
7152
7153         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
7154         instance to...
7155         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
7156         * objfiles.c (get_objfile_bfd_data): Allocate
7157         objfile_per_bfd_storage with obstack_new when allocating on
7158         obstack.
7159
7160 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7161
7162         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
7163         OBSTACK_ZALLOC.
7164         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
7165         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
7166         * mdebugread.c (mdebug_build_psymtabs): Likewise.
7167         (add_pending): Likewise.
7168         (parse_symbol): Likewise.
7169         (parse_partial_symbols): Likewise.
7170         (psymtab_to_symtab_1): Likewise.
7171         (new_psymtab): Likewise.
7172         (elfmdebug_build_psymtabs): Likewise.
7173         * minsyms.c (terminate_minimal_symbol_table): Likewise.
7174         * objfiles.c (get_objfile_bfd_data): Likewise.
7175         (objfile_register_static_link): Likewise.
7176         * psymtab.c (allocate_psymtab): Likewise.
7177         * stabsread.c (read_member_functions): Likewise.
7178         * xcoffread.c (xcoff_end_psymtab): Likewise.
7179
7180 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7181
7182         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
7183         compiler supports std::is_trivially_constructible.
7184         * common/poison.h: Include obstack.h.
7185         (IsMallocable): Define to is_trivially_constructible if the
7186         compiler supports it, define to true_type otherwise.
7187         (xobnew): New.
7188         (XOBNEW): Redefine.
7189         (xobnewvec): New.
7190         (XOBNEWVEC): Redefine.
7191         * gdb_obstack.h (obstack_zalloc): New.
7192         (OBSTACK_ZALLOC): Redefine.
7193         (obstack_calloc): New.
7194         (OBSTACK_CALLOC): Redefine.
7195         (obstack_new): New.
7196         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
7197         (gdbarch_obstack): New declaration in gdbarch.h, definition in
7198         gdbarch.c.
7199         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
7200         obstack_calloc/obstack_zalloc.
7201         (gdbarch_obstack_zalloc): Remove.
7202         * target-descriptions.c (tdesc_data_init): Use obstack_new.
7203
7204 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7205
7206         * stack.c (backtrace_command_1): Remove useless variable int i.
7207
7208 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7209
7210         * stack.c (print_frame_info): Fix comment.
7211
7212 2018-05-18  Tom Tromey  <tom@tromey.com>
7213
7214         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
7215         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
7216         (~dwarf2_per_objfile): Update
7217         (dwarf2_get_dwz_file): Use new.
7218         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
7219         unique_ptr.
7220
7221 2018-05-18  Tom Tromey  <tom@tromey.com>
7222
7223         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
7224         unique_ptr.
7225         * dwarf2read.c (struct dwp_file): Add constructor and
7226         initializers.
7227         (open_and_init_dwp_file): Return a unique_ptr.
7228         (dwarf2_per_objfile, create_dwp_hash_table)
7229         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
7230         (lookup_dwo_unit_in_dwp): Update.
7231         (open_and_init_dwp_file, get_dwp_file): Update.
7232
7233 2018-05-18  Tom Tromey  <tom@tromey.com>
7234
7235         * dwarf2read.c (dwarf2_per_objfile): Update.
7236         (struct mapped_index): Add initializers.
7237         (dwarf2_read_index): Use new.
7238         (dw2_symtab_iter_init): Update.
7239         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
7240         unique_ptr.
7241
7242 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7243
7244         * dwarf2read.c (mapped_index) <total_size>: Remove.
7245
7246 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7247
7248         * unittests/format_pieces-selftests.c (test_format_specifier):
7249         Add ARI comments.
7250
7251 2018-05-18  Tom Tromey  <tom@tromey.com>
7252
7253         * c-typeprint.c (maybe_print_hole): New function.
7254         (c_print_type_struct_field_offset): Update.
7255         (c_type_print_base_struct_union): Call maybe_print_hole.
7256
7257 2018-05-17  Keith Seitz  <keiths@redhat.com>
7258
7259         * breakpoint.c (build_bpstat_chain): New function, moved from
7260         bpstat_stop_status.
7261         (bpstat_stop_status): Add optional parameter, `stop_chain'.
7262         If no stop chain is passed, call build_bpstat_chain to build it.
7263         * breakpoint.h (build_bpstat_chain): Declare.
7264         (bpstat_stop_status): Move documentation here from breakpoint.c.
7265         * infrun.c (handle_signal_stop): Before eliding inlined frames,
7266         build the stop chain and pass it to skip_inline_frames.
7267         Pass this stop chain to bpstat_stop_status.
7268         * inline-frame.c: Include breakpoint.h.
7269         (stopped_by_user_bp_inline_frame): New function.
7270         (skip_inline_frames): Add parameter `stop_chain'.
7271         Move documention to inline-frame.h.
7272         If non-NULL, use stopped_by_user_bp_inline_frame to determine
7273         whether the frame should be elided.
7274         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
7275         Add moved documentation and update for new parameter.
7276
7277 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7278
7279         PR cli/14975
7280         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7281         unittests/format_pieces-selftests.c.
7282         * common/format.h (format_piece) <operator==>: New.
7283         (format_pieces) <operator[]>: Remove.
7284         * common/format.c (format_pieces::format_pieces): Handle \e.
7285         * unittests/format_pieces-selftests.c: New.
7286
7287 2018-05-17  Tom Tromey  <tom@tromey.com>
7288
7289         PR symtab/23010:
7290         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
7291         (dw2_instantiate_symtab): Add skip_partial parameter.
7292         (dw2_find_last_source_symtab, dw2_map_expand_apply)
7293         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
7294         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
7295         (dw2_expand_symtabs_matching_one)
7296         (dw2_find_pc_sect_compunit_symtab)
7297         (dw2_debug_names_lookup_symbol)
7298         (dw2_debug_names_expand_symtabs_for_function): Update.
7299         (init_cutu_and_read_dies): Add skip_partial parameter.
7300         (process_psymtab_comp_unit, build_type_psymtabs_1)
7301         (process_skeletonless_type_unit, load_partial_comp_unit)
7302         (psymtab_to_symtab_1): Update.
7303         (load_full_comp_unit): Add skip_partial parameter.
7304         (process_imported_unit_die, dwarf2_read_addr_index)
7305         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
7306         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
7307         (read_signatured_type): Update.
7308
7309 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7310
7311         * value.c (release_value): Remove unused variable.
7312         (record_latest_value): Likewise.
7313         (access_value_history): Likewise.
7314         (preserve_values): Likewise.
7315
7316 2018-05-17  Tom Tromey  <tom@tromey.com>
7317
7318         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
7319         Initialize.
7320
7321 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
7322
7323         PR gdb/22286
7324         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
7325         Also handle registers whose width is not a multiple of
7326         PTRACE_TYPE_RET.
7327         (linux_nat_trad_target::store_register): Likewise.
7328
7329 2018-05-16  Tom Tromey  <tom@tromey.com>
7330
7331         * gdbcore.h (core_bfd): Redefine.
7332         * corelow.c (core_target::close): Update.
7333         (core_target_open): Update.
7334         * progspace.h (struct program_space) <cbfd>: Now a
7335         gdb_bfd_ref_ptr.
7336
7337 2018-05-16  Tom Tromey  <tom@tromey.com>
7338
7339         PR cli/19551:
7340         * symfile-add-flags.h (enum symfile_add_flags)
7341         <SYMFILE_NOT_FILENAME>: New constant.
7342         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
7343         objfile name from BFD.
7344         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
7345         * minidebug.c (find_separate_debug_file_in_section): Put
7346         ".gnu_debugdata" into BFD's file name.
7347
7348 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
7349
7350         * regcache.c (regcache_read_ftype, regcache_write_ftype):
7351         Remove.
7352
7353 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
7354
7355         PR binutils/21446
7356         * aarch64-tdep.c (aarch64_analyze_prologue,
7357         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
7358         Indicate not interested in errors.
7359
7360 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7361
7362         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
7363         Supply the MIPS_ZERO_REGNUM register.
7364
7365 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7366
7367         * mips-tdep.c (mask_address_var): Make variable static.
7368
7369 2018-05-14  Tom Tromey  <tom@tromey.com>
7370
7371         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
7372
7373 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
7374
7375         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
7376         FXSAVE_ADDR for the mxcsr register.
7377
7378 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
7379
7380         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
7381
7382 2018-05-11  Pedro Alves  <palves@redhat.com>
7383
7384         * corelow.c (core_target) <core_target>: No longer inline.
7385         Initialize m_core_gdbarch, m_core_vec and build the section table
7386         here.
7387         <~core_target>: New.
7388         <core_gdbarch, get_core_register_section>: New methods.
7389         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
7390         factored out from ...
7391         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
7392         (core_ops): Delete.
7393         (sniff_core_bfd): Add gdbarch parameter.
7394         (core_close): Delete, merged into ...
7395         (core_target::close): ... here.  Delete self.
7396         (core_close_cleanup): Delete.
7397         (core_target_open): Allocate a core_target on the heap.  Use a
7398         unique_ptr instead of a cleanup.  Bits moved into the core_target
7399         ctor.  Adjust to use core_target methods instead of globals.
7400         (get_core_register_section): Rename to ...
7401         (core_target::get_core_register_section): ... this and adjust.
7402         (struct get_core_registers_cb_data): New.
7403         (get_core_registers_cb): Use it.  Use bool.
7404         (core_target::fetch_registers, core_target::files_info)
7405         (core_target::xfer_partial, core_target::read_description)
7406         (core_target::pid_to, core_target::thread_name): Adjust to
7407         reference class fields instead of globals.
7408         * target.h (struct target_ops_deleter, target_ops_up): New.
7409
7410 2018-05-11  Pedro Alves  <palves@redhat.com>
7411
7412         * corefile.c (core_file_command): Move to corelow.c.
7413         * corelow.c (the_core_target): Delete.
7414         (core_file_command): Moved from corefile.c.  Check exec_bfd
7415         instead of the_core_target.  Use target_detach instead of calling
7416         into the_core_target directly.
7417         (maybe_say_no_core_file_now): New.
7418         (core_target::detach): Use it.
7419         (_initialize_corelow): Remove references to the_core_target.
7420         * gdbcore.h (the_core_target): Delete.
7421
7422 2018-05-11  Tom Tromey  <tromey@redhat.com>
7423             Pedro Alves  <palves@redhat.com>
7424
7425         * corefile.c (core_bfd): Remove.
7426         * gdbcore.h (core_bfd): Now a macro.
7427         * progspace.h (struct program_space) <cbfd>: New field.
7428
7429 2018-05-11  Tom Tromey  <tom@tromey.com>
7430
7431         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
7432         gdb::def_vector.
7433
7434 2018-05-10  Tom Tromey  <tom@tromey.com>
7435
7436         * configure: Rebuild.
7437         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
7438
7439 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
7440
7441         PR server/23158:
7442         * regformats/regdat.sh: Adjust script, following the addition
7443         of the new expedite_regs parameter to init_target_desc.
7444
7445 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
7446     
7447         PR gdb/23127
7448         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
7449         set_gdbarch_significant_addr_bit.
7450         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
7451         set_gdbarch_significant_addr_bit.
7452         * utils.c (address_significant): Update to sign extend addr.
7453
7454 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
7455
7456         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
7457         (xtensa_linux_init_abi): Limit tdep->num_regs by
7458         tdep->num_nopriv_regs.
7459         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
7460         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
7461         not initialized.
7462
7463 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
7464
7465         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
7466
7467 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
7468
7469         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
7470         (I387_MXCSR_INIT_VAL): New constant.
7471         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
7472         buffer if it was supplied by the inferior.
7473         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
7474         (i387_xsave_get_clear_bv): New function.
7475         (i387_supply_xsave): Only read x87 control registers from the
7476         xsave buffer if the feature is enabled, and the state will have
7477         been written, otherwise, provide a suitable default.
7478         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
7479         including x87 control registers.  Update control registers if they
7480         have changed from the default value, and mark features as enabled
7481         as required.
7482         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
7483
7484 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
7485
7486         * spu-tdep.c (info_spu_event_command): Fix output formatting.
7487
7488 2018-05-07  Tom Tromey  <tom@tromey.com>
7489
7490         * configure: Rebuild.
7491         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
7492
7493 2018-05-07  Tom Tromey  <tom@tromey.com>
7494
7495         PR tdep/20362:
7496         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
7497         bit.  Use correct value for VDIV.
7498
7499 2018-05-04  Tom Tromey  <tom@tromey.com>
7500
7501         * configure: Rebuild.
7502         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
7503
7504 2018-05-04  Tom Tromey  <tom@tromey.com>
7505
7506         * linux-record.c (record_linux_system_call) <case
7507         RECORD_SYS_RECVFROM>: Add "break".
7508
7509 2018-05-04  Tom Tromey  <tom@tromey.com>
7510
7511         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
7512         Add missing "break".
7513         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
7514         Add missing "break".
7515
7516 2018-05-04  Tom Tromey  <tom@tromey.com>
7517
7518         * rs6000-tdep.c (ppc_process_record_op4)
7519         (ppc_process_record_op63): Add fall-through comment.
7520
7521 2018-05-04  Tom Tromey  <tom@tromey.com>
7522
7523         * i386-tdep.c (i386_process_record): Add fall-through comment.
7524
7525 2018-05-04  Tom Tromey  <tom@tromey.com>
7526
7527         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
7528         comment.
7529
7530 2018-05-04  Tom Tromey  <tom@tromey.com>
7531
7532         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
7533         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
7534         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
7535         comment.
7536         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
7537         comment.
7538         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
7539         comment.
7540
7541 2018-05-04  Tom Tromey  <tom@tromey.com>
7542
7543         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
7544
7545 2018-05-04  Tom Tromey  <tom@tromey.com>
7546
7547         * s390-tdep.c (s390_process_record): Fix fall-through comments.
7548         * xcoffread.c (scan_xcoff_symtab): Move comment later.
7549         * symfile.c (section_is_mapped): Fix fall-through comment.
7550         * stabsread.c (define_symbol, read_member_functions): Fix
7551         fall-through comment.
7552         * s390-linux-tdep.c (s390_process_record): Fix fall-through
7553         comment.
7554         * remote.c (remote_wait_as): Fix fall-through comment.
7555         * p-exp.y (yylex): Fix fall-through comment.
7556         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
7557         comment.
7558         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
7559         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
7560         * jv-exp.y (yylex): Fix fall-through comment.
7561         * go-exp.y (lex_one_token): Fix fall-through comment.
7562         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
7563         fall-through comment.
7564         * f-exp.y (yylex): Fix fall-through comment.
7565         * dwarf2read.c (process_die): Fix fall-through comments.
7566         * dbxread.c (process_one_symbol): Fix fall-through comment.
7567         * d-exp.y (lex_one_token): Fix fall-through comment.
7568         * cp-name-parser.y (yylex): Fix fall-through comment.
7569         * coffread.c (coff_symtab_read): Fix fall-through comment.
7570         * c-exp.y (lex_one_token): Fix fall-through comment.
7571         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
7572         comment.
7573         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
7574         comment.
7575
7576 2018-05-04  Tom Tromey  <tom@tromey.com>
7577
7578         PR python/22730:
7579         * NEWS: Mention gdb.execute change.
7580         * gdbcmd.h (execute_control_command): Don't declare.
7581         * python/python.c (execute_gdb_command): Use read_command_lines_1,
7582         execute_control_commands, execute_control_commands_to_string.
7583         * cli/cli-script.h (execute_control_commands)
7584         (execute_control_commands_to_string): Declare.
7585         (execute_control_command): Add from_tty parameter.
7586         * cli/cli-script.c (execute_control_commands)
7587         (execute_control_commands_to_string): New functions.
7588         (execute_user_command): Use execute_control_commands.
7589         (execute_control_command_1): Add "from_tty" parameter.  Update.
7590         (execute_control_command): Likewise.
7591
7592 2018-05-04  Tom Tromey  <tom@tromey.com>
7593
7594         PR python/22731:
7595         * NEWS: Mention that breakpoint commands are writable.
7596         * python/py-breakpoint.c (bppy_set_commands): New function.
7597         (breakpoint_object_getset) <"commands">: Use it.
7598
7599 2018-05-04  Tom Tromey  <tom@tromey.com>
7600
7601         * tracepoint.c (actions_command): Update.
7602         * mi/mi-cmd-break.c (mi_command_line_array)
7603         (mi_command_line_array_cnt, mi_command_line_array_ptr)
7604         (mi_read_next_line): Remove.
7605         (mi_cmd_break_commands): Update.
7606         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
7607         function_view.
7608         * cli/cli-script.c (get_command_line): Update.
7609         (process_next_line): Use function_view.  Constify.
7610         (recurse_read_control_structure, read_command_lines)
7611         (read_command_lines_1): Change argument types to function_view.
7612         (do_define_command, document_command): Update.
7613         * breakpoint.h (check_tracepoint_command): Don't declare.
7614         * breakpoint.c (check_tracepoint_command): Remove.
7615         (commands_command_1, create_tracepoint_from_upload): Update.
7616
7617 2018-05-04  Tom Tromey  <tom@tromey.com>
7618
7619         PR gdb/11750:
7620         * cli/cli-script.h (enum command_control_type) <define_control>:
7621         New constant.
7622         * cli/cli-script.c (multi_line_command_p): Handle define_control.
7623         (build_command_line, execute_control_command_1)
7624         (process_next_line): Likewise.
7625         (do_define_command): New function, extracted from define_command.
7626         (define_command): Use it.
7627
7628 2018-05-04  Tom Tromey  <tom@tromey.com>
7629
7630         * tracepoint.c (actions_command): Update.
7631         * cli/cli-script.h (read_command_lines): Update.
7632         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
7633         (MAX_TMPBUF): Remove define.
7634         (define_command): Use string_printf.
7635         (document_command): Likewise.
7636         * breakpoint.c (commands_command_1): Update.
7637
7638 2018-05-04  Tom Tromey  <tom@tromey.com>
7639
7640         * top.c (execute_command): Update.
7641         * cli/cli-script.h (print_command_lines): Now varargs.
7642         * cli/cli-script.c (print_command_lines): Now varargs.
7643         (execute_control_command_1) <case while_control, case if_control>:
7644         Update.
7645
7646 2018-05-04  Tom Tromey  <tom@tromey.com>
7647
7648         * tracepoint.c (all_tracepoint_actions): Rename from
7649         all_tracepoint_actions_and_cleanup.  Change return type.
7650         (actions_command, encode_actions_1, encode_actions)
7651         (trace_dump_actions, tdump_command): Update.
7652         * remote.c (remote_download_command_source): Update.
7653         * python/python.c (gdbpy_eval_from_control_command)
7654         (python_command, python_interactive_command): Update.
7655         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
7656         * guile/guile.c (guile_command)
7657         (gdbscm_eval_from_control_command, guile_command): Update.
7658         * compile/compile.c (compile_code_command)
7659         (compile_print_command, compile_to_object): Update.
7660         * cli/cli-script.h (struct command_lines_deleter): New.
7661         (counted_command_line): New typedef.
7662         (struct command_line): Add constructor, destructor.
7663         <body_list>: Remove.
7664         <body_list_0, body_list_1>: New members.
7665         (command_line_up): Remove typedef.
7666         (read_command_lines, read_command_lines_1, get_command_line):
7667         Update.
7668         (copy_command_lines): Don't declare.
7669         * cli/cli-script.c (build_command_line): Use "new".
7670         (get_command_line): Return counted_command_line.
7671         (print_command_lines, execute_user_command)
7672         (execute_control_command_1, while_command, if_command): Update.
7673         (realloc_body_list): Remove.
7674         (process_next_line, recurse_read_control_structure): Update.
7675         (read_command_lines, read_command_lines_1): Return counted_command_line.
7676         (free_command_lines): Use "delete".
7677         (copy_command_lines): Remove.
7678         (define_command, document_command, show_user_1): Update.
7679         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
7680         a counted_command_line.
7681         * breakpoint.h (counted_command_line): Remove typedef.
7682         (breakpoint_set_commands): Update.
7683         * breakpoint.c (check_no_tracepoint_commands)
7684         (validate_commands_for_breakpoint): Update.
7685         (breakpoint_set_commands): Change commands to be a
7686         counted_command_line.
7687         (commands_command_1, update_dprintf_command_list)
7688         (create_tracepoint_from_upload): Update.
7689
7690 2018-05-04  Tom Tromey  <tom@tromey.com>
7691
7692         * cli/cli-decode.h (cmd_list_element): New constructor.
7693         (~cmd_list_element): New destructor.
7694         (struct cmd_list_element): Add initializers.
7695         * cli/cli-decode.c (do_add_cmd): Use "new".
7696         (delete_cmd): Use "delete".
7697
7698 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
7699             Pedro Alves <palves@redhat.com>
7700
7701         PR breakpoints/19806 and support for PR external/20207.
7702         * NEWS: Mention Aarch64 watchpoint improvements.
7703         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
7704         watchpoints and PR external/20207 watchpoints.
7705         * nat/aarch64-linux-hw-point.c
7706         (kernel_supports_any_contiguous_range): New.
7707         (aarch64_watchpoint_offset): New.
7708         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
7709         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
7710         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
7711         (aarch64_align_watchpoint): New parameters aligned_offset_p and
7712         next_addr_orig_p.  Support PR external/20207 watchpoints.
7713         (aarch64_downgrade_regs): New.
7714         (aarch64_dr_state_insert_one_point): New parameters offset and
7715         addr_orig.
7716         (aarch64_dr_state_remove_one_point): Likewise.
7717         (aarch64_handle_breakpoint): Update caller.
7718         (aarch64_handle_aligned_watchpoint): Likewise.
7719         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
7720         aligned_offset.
7721         (aarch64_linux_set_debug_regs): Remove const from state.  Call
7722         aarch64_downgrade_regs.
7723         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
7724         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
7725         (DR_CONTROL_MASK): ... this.
7726         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
7727         (unsigned int aarch64_watchpoint_offset): New prototype.
7728         (aarch64_linux_set_debug_regs): Remove const from state.
7729         * utils.c (align_up, align_down): Move to ...
7730         * common/common-utils.c (align_up, align_down): ... here.
7731         * utils.h (align_up, align_down): Move to ...
7732         * common/common-utils.h (align_up, align_down): ... here.
7733
7734 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
7735
7736         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
7737         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
7738         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
7739         Re-implement to match the ABI as summarized in GCC's
7740         gcc/config/sparc/sparc.c.  All callers updated.
7741         (sparc32_store_arguments): Remove assertion.
7742
7743 2018-05-04  Tom Tromey  <tom@tromey.com>
7744
7745         * printcmd.c: Don't include tui.h.
7746         (decode_format): Use skip_spaces.
7747
7748 2018-05-04  Tom Tromey  <tom@tromey.com>
7749
7750         PR gdb/22619:
7751         * printcmd.c (last_count): New global.
7752         (x_command): Use saved count when repeating.
7753
7754 2018-05-04  Tom Tromey  <tom@tromey.com>
7755
7756         * nto-procfs.c (do_closedir_cleanup): Remove.
7757         (procfs_pidlist): Use gdb_dir_up.
7758         * procfs.c (do_closedir_cleanup): Remove.
7759         (proc_update_threads): Use gdb_dir_up.
7760         * common/filestuff.h (struct gdb_dir_deleter): New.
7761         (gdb_dir_up): New typedef.
7762
7763 2018-05-04  Tom Tromey  <tom@tromey.com>
7764
7765         * ada-lang.c (print_mention_exception): Use std::string.
7766
7767 2018-05-04  Tom Tromey  <tom@tromey.com>
7768
7769         * ada-lang.c (create_excep_cond_exprs): Update.
7770         (ada_exception_catchpoint_cond_string): Use std::string.
7771
7772 2018-05-04  Tom Tromey  <tom@tromey.com>
7773
7774         * ada-lang.c (xget_renaming_scope): Return std::string.
7775         (old_renaming_is_invisible): Update.
7776
7777 2018-05-04  Tom Tromey  <tom@tromey.com>
7778
7779         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
7780         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
7781
7782 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
7783
7784         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
7785
7786 2018-05-04  Tom Tromey  <tom@tromey.com>
7787
7788         * remote.c (remote_query_supported_append): Change type.
7789         (remote_check_symbols): Update.
7790
7791 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
7792
7793         PR gdb/11420
7794         * configure.ac: Prepend libpython.
7795         * python/python-config.py: Likewise.
7796         * configure: Regenerate.
7797
7798 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
7799
7800         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
7801
7802 2018-05-03  Pedro Alves  <palves@redhat.com>
7803
7804         * s390-linux-nat.c
7805         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
7806         override.  Write 'true' instead of '1'.
7807         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
7808         declaration.
7809
7810 2018-05-02  Pedro Alves  <palves@redhat.com>
7811
7812         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
7813         add_inf_child_target.
7814         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
7815         add_inf_child_target.
7816         * aix-thread.c (aix_thread_target_info): New.
7817         (aix_thread_target) <shortname, longname, doc>: Delete.
7818         <info>: New.
7819         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
7820         add_inf_child_target.
7821         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
7822         add_inf_child_target.
7823         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
7824         add_inf_child_target.
7825         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
7826         add_inf_child_target.
7827         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
7828         add_inf_child_target.
7829         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
7830         add_inf_child_target.
7831         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
7832         add_inf_child_target.
7833         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
7834         add_inf_child_target.
7835         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
7836         add_inf_child_target.
7837         * bfd-target.c (target_bfd_target_info): New.
7838         (target_bfd) <shortname, longname, doc>: Delete.
7839         <info>: New.
7840         * bsd-kvm.c (bsd_kvm_target_info): New.
7841         (bsd_kvm_target) <shortname, longname, doc>: Delete.
7842         <info>: New.
7843         (bsd_kvm_target::open): Rename to ...
7844         (bsd_kvm_target_open): ... this.  Adjust.
7845         * bsd-uthread.c (bsd_uthread_target_info): New.
7846         (bsd_uthread_target) <shortname, longname, doc>: Delete.
7847         <info>: New.
7848         * corefile.c (core_file_command): Adjust.
7849         * corelow.c (core_target_info): New.
7850         (core_target) <shortname, longname, doc>: Delete.
7851         <info>: New.
7852         (core_target::open): Rename to ...
7853         (core_target_open): ... this.  Adjust.
7854         * ctf.c (ctf_target_info): New.
7855         (ctf_target) <shortname, longname, doc>: Delete.
7856         <info>: New.
7857         (ctf_target::open): Rename to ...
7858         (ctf_target_open): ... this.
7859         (_initialize_ctf): Adjust.
7860         * exec.c (exec_target_info): New.
7861         (exec_target) <shortname, longname, doc>: Delete.
7862         <info>: New.
7863         (exec_target::open): Rename to ...
7864         (exec_target_open): ... this.
7865         * gdbcore.h (core_target_open): Declare.
7866         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
7867         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
7868         add_inf_child_target.
7869         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
7870         add_inf_child_target.
7871         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
7872         add_inf_child_target.
7873         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
7874         add_inf_child_target.
7875         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
7876         add_inf_child_target.
7877         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
7878         add_inf_child_target.
7879         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
7880         add_inf_child_target.
7881         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
7882         add_inf_child_target.
7883         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
7884         add_inf_child_target.
7885         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
7886         add_inf_child_target.
7887         * inf-child.c (inf_child_target_info): New.
7888         (inf_child_target::info): New.
7889         (inf_child_open_target): Remove 'target' parameter.  Use
7890         get_native_target instead.
7891         (inf_child_target::open): Delete.
7892         (add_inf_child_target): New.
7893         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
7894         Delete.
7895         <info>: New.
7896         (add_inf_child_target): Declare.
7897         (inf_child_open_target): Declare.
7898         * linux-thread-db.c (thread_db_target_info): New.
7899         (thread_db_target) <shortname, longname, doc>: Delete.
7900         <info>: New.
7901         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
7902         add_inf_child_target.
7903         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
7904         add_inf_child_target.
7905         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
7906         add_inf_child_target.
7907         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
7908         add_inf_child_target.
7909         * make-target-delegates (print_class): Adjust.
7910         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
7911         add_inf_child_target.
7912         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
7913         add_inf_child_target.
7914         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
7915         add_inf_child_target.
7916         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
7917         add_inf_child_target.
7918         * nto-procfs.c (nto_native_target_info): New.
7919         (nto_procfs_target_native) <shortname, longname, doc>:
7920         Delete.
7921         <info>: New.
7922         (nto_procfs_target_info): New.
7923         (nto_procfs_target_procfs) <shortname, longname, doc>:
7924         Delete.
7925         <info>: New.
7926         (init_procfs_targets): Adjust.
7927         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
7928         add_inf_child_target.
7929         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
7930         add_inf_child_target.
7931         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
7932         add_inf_child_target.
7933         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
7934         add_inf_child_target.
7935         * ravenscar-thread.c (ravenscar_target_info): New.
7936         (ravenscar_thread_target) <shortname, longname, doc>:
7937         Delete.
7938         <info>: New.
7939         * record-btrace.c (record_btrace_target_info):
7940         (record_btrace_target) <shortname, longname, doc>: Delete.
7941         <info>: New.
7942         (record_btrace_target::open): Rename to ...
7943         (record_btrace_target_open): ... this.  Adjust.
7944         * record-full.c (record_longname, record_doc): New.
7945         (record_full_base_target) <shortname, longname, doc>: Delete.
7946         <info>: New.
7947         (record_full_target_info): New.
7948         (record_full_target): <shortname>: Delete.
7949         <info>: New.
7950         (record_full_core_open_1, record_full_open_1): Update comments.
7951         (record_full_base_target::open): Rename to ...
7952         (record_full_open): ... this.
7953         (cmd_record_full_restore): Update.
7954         (_initialize_record_full): Update.
7955         * remote-sim.c (remote_sim_target_info): New.
7956         (gdbsim_target) <shortname, longname, doc>: Delete.
7957         <info>: New.
7958         (gdbsim_target::open): Rename to ...
7959         (gdbsim_target_open): ... this.
7960         (_initialize_remote_sim): Adjust.
7961         * remote.c (remote_doc): New.
7962         (remote_target_info): New.
7963         (remote_target) <shortname, longname, doc>: Delete.
7964         <info>: New.
7965         (extended_remote_target_info): New.
7966         (extended_remote_target) <shortname, longname, doc>: Delete.
7967         <info>: New.
7968         (remote_target::open_1): Make static.  Adjust.
7969         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
7970         * s390-linux-nat.c (_initialize_s390_nat): Use
7971         add_inf_child_target.
7972         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
7973         add_inf_child_target.
7974         * sol-thread.c (thread_db_target_info): New.
7975         (sol_thread_target) <shortname, longname, doc>: Delete.
7976         <info>: New.
7977         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
7978         add_inf_child_target.
7979         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
7980         add_inf_child_target.
7981         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
7982         add_inf_child_target.
7983         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
7984         add_inf_child_target.
7985         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
7986         add_inf_child_target.
7987         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
7988         add_inf_child_target.
7989         * spu-linux-nat.c (_initialize_spu_nat): Use
7990         add_inf_child_target.
7991         * spu-multiarch.c (spu_multiarch_target_info): New.
7992         (spu_multiarch_target) <shortname, longname, doc>: Delete.
7993         <info>: New.
7994         * target-delegates.c: Regenerate.
7995         * target.c: Include <unordered_map>.
7996         (target_ops_p): Delete.
7997         (DEF_VEC_P(target_ops_p)): Delete.
7998         (target_factories): New.
7999         (test_target_info): New.
8000         (test_target_ops::info): New.
8001         (open_target): Adjust to use target_factories.
8002         (add_target_with_completer): Rename to ...
8003         (add_target): ... this.  Change prototype.  Register target_info
8004         and open callback in target_factories.  Register target_info in
8005         command context instead of target_ops.
8006         (add_target): Delete old implementation.
8007         (add_deprecated_target_alias): Change prototype.  Adjust.
8008         (the_native_target): New.
8009         (set_native_target, get_native_target): New.
8010         (find_default_run_target): Use the_native_target.
8011         (find_attach_target, find_run_target): Simplify.
8012         (target_ops::open): Delete.
8013         (dummy_target_info): New.
8014         (dummy_target::shortname, dummy_target::longname)
8015         (dummy_target::doc): Delete.
8016         (dummy_target::info): New.
8017         (debug_target::shortname, debug_target::longname)
8018         (debug_target::doc): Delete.
8019         (debug_target::info): New.
8020         * target.h (struct target_info): New.
8021         (target_ops::~target_ops): Add comment.
8022         (target_ops::info): New.
8023         (target_ops::shortname, target_ops::longname, target_ops::doc): No
8024         longer virtual.  Implement in terms of target_info.
8025         (set_native_target, get_native_target): Declare.
8026         (target_open_ftype): New.
8027         (add_target, add_target_with_completer)
8028         (add_deprecated_target_alias): Change prototype.
8029         (test_target) <shortname, longname, doc>: Delete.
8030         <info>: New.
8031         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
8032         add_inf_child_target.
8033         * tracefile-tfile.c (tfile_target_info): New.
8034         (tfile_target) <shortname, longname, doc>: Delete.
8035         <info>: New.
8036         (tfile_target::open): Rename to ...
8037         (tfile_target_open): ... this.
8038         (_initialize_tracefile_tfile): Adjust.
8039         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
8040         add_inf_child_target.
8041         * windows-nat.c (_initialize_windows_nat): Use
8042         add_inf_child_target.
8043         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
8044         add_inf_child_target.
8045
8046 2018-05-02  Pedro Alves  <palves@redhat.com>
8047
8048         * linux-nat.h (linux_nat_target) <low_new_thread,
8049         low_delete_thread, low_new_fork, low_forget_process,
8050         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
8051         New virtual methods.
8052         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8053         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
8054         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
8055         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8056         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
8057         Delete.
8058         * linux-fork.c (delete_fork): Adjust to call low method.
8059         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
8060         (linux_nat_new_fork, linux_nat_forget_process_hook)
8061         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
8062         (linux_nat_status_is_event):
8063         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
8064         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
8065         to call low method.
8066         (sigtrap_is_event): Rename to ...
8067         (linux_nat_target::low_status_is_event): ... this.
8068         (linux_nat_set_status_is_event): Delete.
8069         (save_stop_reason, linux_nat_wait_1)
8070         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
8071         low methods.
8072         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8073         (linux_nat_set_new_fork, linux_nat_set_forget_process)
8074         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8075         (linux_nat_set_prepare_to_resume): Delete.
8076         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
8077         low virtual methods.
8078         * amd64-linux-nat.c: Likewise.
8079         * arm-linux-nat.c: Likewise.
8080         * i386-linux-nat.c: Likewise.
8081         * ia64-linux-nat.c: Likewise.
8082         * mips-linux-nat.c: Likewise.
8083         * ppc-linux-nat.c: Likewise.
8084         * s390-linux-nat.c: Likewise.
8085         * sparc64-linux-nat.c: Likewise.
8086         * x86-linux-nat.c: Likewise.
8087         * x86-linux-nat.h: Include "nat/x86-linux.h".
8088         (x86_linux_nat_target) <low_new_fork, low_forget_process,
8089         low_prepare_to_resume, low_new_thread, low_delete_thread>:
8090         Override methods.
8091
8092 2018-05-02  Pedro Alves  <palves@redhat.com>
8093
8094         * target.h (target_ops)
8095         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
8096         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
8097         stopped_by_watchpoint, have_continuable_watchpoint,
8098         stopped_data_address, watchpoint_addr_within_range,
8099         can_accel_watchpoint_condition, can_run, thread_alive,
8100         has_all_memory, has_memory, has_stack, has_registers,
8101         has_execution, can_async_p, is_async_p, supports_non_stop,
8102         always_non_stop_p, can_execute_reverse, supports_multi_process,
8103         supports_enable_disable_tracepoint,
8104         supports_disable_randomization, supports_string_tracing,
8105         supports_evaluation_of_breakpoint_conditions,
8106         can_run_breakpoint_commands, filesystem_is_local,
8107         can_download_tracepoint, get_trace_state_variable_value,
8108         set_trace_notes, get_tib_address, use_agent, can_use_agent,
8109         record_is_replaying, record_will_replay,
8110         augmented_libraries_svr4_read>: Adjust to return bool.
8111         * aarch64-linux-nat.c: All implementations adjusted.
8112         * aix-thread.c: All implementations adjusted.
8113         * arm-linux-nat.c: All implementations adjusted.
8114         * breakpoint.c: All implementations adjusted.
8115         * bsd-kvm.c: All implementations adjusted.
8116         * bsd-uthread.c: All implementations adjusted.
8117         * corelow.c: All implementations adjusted.
8118         * ctf.c: All implementations adjusted.
8119         * darwin-nat.c: All implementations adjusted.
8120         * darwin-nat.h: All implementations adjusted.
8121         * exec.c: All implementations adjusted.
8122         * fbsd-nat.c: All implementations adjusted.
8123         * fbsd-nat.h: All implementations adjusted.
8124         * gnu-nat.c: All implementations adjusted.
8125         * gnu-nat.h: All implementations adjusted.
8126         * go32-nat.c: All implementations adjusted.
8127         * ia64-linux-nat.c: All implementations adjusted.
8128         * inf-child.c: All implementations adjusted.
8129         * inf-child.h: All implementations adjusted.
8130         * inf-ptrace.c: All implementations adjusted.
8131         * inf-ptrace.h: All implementations adjusted.
8132         * linux-nat.c: All implementations adjusted.
8133         * linux-nat.h: All implementations adjusted.
8134         * mips-linux-nat.c: All implementations adjusted.
8135         * nto-procfs.c: All implementations adjusted.
8136         * ppc-linux-nat.c: All implementations adjusted.
8137         * procfs.c: All implementations adjusted.
8138         * ravenscar-thread.c: All implementations adjusted.
8139         * record-btrace.c: All implementations adjusted.
8140         * record-full.c: All implementations adjusted.
8141         * remote-sim.c: All implementations adjusted.
8142         * remote.c: All implementations adjusted.
8143         * s390-linux-nat.c: All implementations adjusted.
8144         * sol-thread.c: All implementations adjusted.
8145         * spu-multiarch.c: All implementations adjusted.
8146         * target-delegates.c: All implementations adjusted.
8147         * target.c: All implementations adjusted.
8148         * target.h: All implementations adjusted.
8149         * tracefile-tfile.c: All implementations adjusted.
8150         * tracefile.c: All implementations adjusted.
8151         * tracefile.h: All implementations adjusted.
8152         * windows-nat.c: All implementations adjusted.
8153         * x86-linux-nat.h: All implementations adjusted.
8154         * x86-nat.h: All implementations adjusted.
8155
8156 2018-05-02  Pedro Alves  <palves@redhat.com>
8157
8158         * make-target-delegates (scan_target_h): Don't trim lines here.
8159         Replace sequences of tabs and/or whitespace with a single
8160         whitespace.
8161         (top level, parsing methods): Trim each line before processing it
8162         here.
8163
8164 2018-05-02  Pedro Alves  <palves@redhat.com>
8165             John Baldwin  <jhb@freebsd.org>
8166
8167         * target.h (enum strata) <debug_stratum>: New.
8168         (struct target_ops) <all delegation methods>: Replace by C++
8169         virtual methods, and drop "to_" prefix.  All references updated
8170         throughout.
8171         <to_shortname, to_longname, to_doc, to_data,
8172         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
8173         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
8174         virtual methods.  All references updated throughout.
8175         <can_attach, supports_terminal_ours, can_create_inferior,
8176         get_thread_control_capabilities, attach_no_wait>: New
8177         virtual methods.
8178         <insert_breakpoint, remove_breakpoint>: Now
8179         TARGET_DEFAULT_NORETURN methods.
8180         <info_proc>: Now returns bool.
8181         <to_magic>: Delete.
8182         (OPS_MAGIC): Delete.
8183         (current_target): Delete.  All references replaced by references
8184         to ...
8185         (target_stack): ... this.  New.
8186         (target_shortname, target_longname): Adjust.
8187         (target_can_run): Now a function declaration.
8188         (default_child_has_all_memory, default_child_has_memory)
8189         (default_child_has_stack, default_child_has_registers)
8190         (default_child_has_execution): Remove target_ops parameter.
8191         (complete_target_initialization): Delete.
8192         (memory_breakpoint_target): New template class.
8193         (test_target_ops): Refactor as a C++ class with virtual methods.
8194         * make-target-delegates (NAME_PART): Tighten.
8195         (POINTER_PART, CP_SYMBOL): New.
8196         (SIMPLE_RETURN_PART): Reimplement.
8197         (VEC_RETURN_PART): Expect less.
8198         (RETURN_PART, VIRTUAL_PART): New.
8199         (METHOD): Adjust to C++ virtual methods.
8200         (scan_target_h): Remove reference to C99.
8201         (dname): Output "target_ops::" prefix.
8202         (write_function_header): Adjust to output a C++ class method.
8203         (write_declaration): New.
8204         (write_delegator): Adjust to output a C++ class method.
8205         (tdname): Output "dummy_target::" prefix.
8206         (write_tdefault, write_debugmethod): Adjust to output a C++ class
8207         method.
8208         (tdefault_names, debug_names): Delete.
8209         (return_types, tdefaults, styles, argtypes_array): New.
8210         (top level): All methods are delegators.
8211         (print_class): New.
8212         (top level): Print dummy_target and debug_target classes.
8213         * target-delegates.c: Regenerate.
8214         * target-debug.h (target_debug_print_enum_info_proc_what)
8215         (target_debug_print_thread_control_capabilities)
8216         (target_debug_print_thread_info_p): New.
8217         * target.c (dummy_target): Delete.
8218         (the_dummy_target, the_debug_target): New.
8219         (target_stack): Now extern.
8220         (set_targetdebug): Push/unpush debug target.
8221         (default_child_has_all_memory, default_child_has_memory)
8222         (default_child_has_stack, default_child_has_registers)
8223         (default_child_has_execution): Remove target_ops parameter.
8224         (complete_target_initialization): Delete.
8225         (add_target_with_completer): No longer call
8226         complete_target_initialization.
8227         (target_supports_terminal_ours): Use regular delegation.
8228         (update_current_target): Delete.
8229         (push_target): No longer check magic number.  Don't call
8230         update_current_target.
8231         (unpush_target): Don't call update_current_target.
8232         (target_is_pushed): No longer check magic number.
8233         (target_require_runnable): Skip for all stratums over
8234         process_stratum.
8235         (target_ops::info_proc): New.
8236         (target_info_proc): Use find_target_at and
8237         find_default_run_target.
8238         (target_supports_disable_randomization): Use regular delegation.
8239         (target_get_osdata): Use find_target_at.
8240         (target_ops::open, target_ops::close, target_ops::can_attach)
8241         (target_ops::attach, target_ops::can_create_inferior)
8242         (target_ops::create_inferior, target_ops::can_run)
8243         (target_can_run): New.
8244         (default_fileio_target): Use regular delegation.
8245         (target_ops::fileio_open, target_ops::fileio_pwrite)
8246         (target_ops::fileio_pread, target_ops::fileio_fstat)
8247         (target_ops::fileio_close, target_ops::fileio_unlink)
8248         (target_ops::fileio_readlink): New.
8249         (target_fileio_open_1, target_fileio_unlink)
8250         (target_fileio_readlink): Always call the target method.  Handle
8251         FILEIO_ENOSYS.
8252         (return_zero, return_zero_has_execution): Delete.
8253         (init_dummy_target): Delete.
8254         (dummy_target::dummy_target, dummy_target::shortname)
8255         (dummy_target::longname, dummy_target::doc)
8256         (debug_target::debug_target, debug_target::shortname)
8257         (debug_target::longname, debug_target::doc): New.
8258         (target_supports_delete_record): Use regular delegation.
8259         (setup_target_debug): Delete.
8260         (maintenance_print_target_stack): Skip debug_stratum.
8261         (initialize_targets): Instantiate the_dummy_target and
8262         the_debug_target.
8263         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
8264         use target_stack.
8265         (target_auxv_search, fprint_target_auxv): Adjust.
8266         (info_auxv_command): Adjust to use target_stack.
8267         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
8268         * exceptions.c (print_flush): Handle a NULL target_stack.
8269         * regcache.c (target_ops_no_register): Refactor as class with
8270         virtual methods.
8271
8272         * exec.c (exec_target): New class.
8273         (exec_ops): Now an exec_target.
8274         (exec_open, exec_close_1, exec_get_section_table)
8275         (exec_xfer_partial, exec_files_info, exec_has_memory)
8276         (exec_make_note_section): Refactor as exec_target methods.
8277         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
8278         Delete.
8279         (exec_target::find_memory_regions): New.
8280         (_initialize_exec): Don't call init_exec_ops.
8281         * gdbcore.h (exec_file_clear): Delete.
8282
8283         * corefile.c (core_target): Delete.
8284         (core_file_command): Adjust.
8285         * corelow.c (core_target): New class.
8286         (the_core_target): New.
8287         (core_close): Remove target_ops parameter.
8288         (core_close_cleanup): Adjust.
8289         (core_target::close): New.
8290         (core_open, core_detach, get_core_registers, core_files_info)
8291         (core_xfer_partial, core_thread_alive, core_read_description)
8292         (core_pid_to_str, core_thread_name, core_has_memory)
8293         (core_has_stack, core_has_registers, core_info_proc): Rework as
8294         core_target methods.
8295         (ignore, core_remove_breakpoint, init_core_ops): Delete.
8296         (_initialize_corelow): Initialize the_core_target.
8297         * gdbcore.h (core_target): Delete.
8298         (the_core_target): New.
8299
8300         * ctf.c: (ctf_target): New class.
8301         (ctf_ops): Now a ctf_target.
8302         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
8303         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
8304         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
8305         methods.
8306         (init_ctf_ops): Delete.
8307         (_initialize_ctf): Don't call it.
8308         * tracefile-tfile.c (tfile_target): New class.
8309         (tfile_ops): Now a tfile_target.
8310         (tfile_open, tfile_close, tfile_files_info)
8311         (tfile_get_tracepoint_status, tfile_trace_find)
8312         (tfile_fetch_registers, tfile_xfer_partial)
8313         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
8314         Refactor as tfile_target methods.
8315         (tfile_xfer_partial_features): Remove target_ops parameter.
8316         (init_tfile_ops): Delete.
8317         (_initialize_tracefile_tfile): Don't call it.
8318         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
8319         (tracefile_has_stack, tracefile_has_registers)
8320         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
8321         tracefile_target methods.
8322         (init_tracefile_ops): Delete.
8323         (tracefile_target::tracefile_target): New.
8324         * tracefile.h: Include "target.h".
8325         (tracefile_target): New class.
8326         (init_tracefile_ops): Delete.
8327
8328         * spu-multiarch.c (spu_multiarch_target): New class.
8329         (spu_ops): Now a spu_multiarch_target.
8330         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
8331         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
8332         (spu_search_memory, spu_mourn_inferior): Refactor as
8333         spu_multiarch_target methods.
8334         (init_spu_ops): Delete.
8335         (_initialize_spu_multiarch): Remove references to init_spu_ops,
8336         complete_target_initialization.
8337
8338         * ravenscar-thread.c (ravenscar_thread_target): New class.
8339         (ravenscar_ops): Now a ravenscar_thread_target.
8340         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
8341         (ravenscar_thread_alive, ravenscar_pid_to_str)
8342         (ravenscar_fetch_registers, ravenscar_store_registers)
8343         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
8344         (ravenscar_stopped_by_hw_breakpoint)
8345         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
8346         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
8347         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
8348         methods.
8349         (init_ravenscar_thread_ops): Delete.
8350         (_initialize_ravenscar): Remove references to
8351         init_ravenscar_thread_ops and complete_target_initialization.
8352
8353         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
8354         (bsd_uthread_target): New class.
8355         (bsd_uthread_ops): Now a bsd_uthread_target.
8356         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
8357         (bsd_uthread_close, bsd_uthread_mourn_inferior)
8358         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
8359         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
8360         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
8361         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
8362         (bsd_uthread_target): Delete function.
8363         (_initialize_bsd_uthread): Remove reference to
8364         complete_target_initialization.
8365
8366         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
8367         (target_bfd): ... this new class.
8368         (target_bfd_xfer_partial, target_bfd_get_section_table)
8369         (target_bfd_close): Refactor as target_bfd methods.
8370         (target_bfd::~target_bfd): New.
8371         (target_bfd_reopen): Adjust.
8372         (target_bfd::close): New.
8373
8374         * record-btrace.c (record_btrace_target): New class.
8375         (record_btrace_ops): Now a record_btrace_target.
8376         (record_btrace_open, record_btrace_stop_recording)
8377         (record_btrace_disconnect, record_btrace_close)
8378         (record_btrace_async, record_btrace_info)
8379         (record_btrace_insn_history, record_btrace_insn_history_range)
8380         (record_btrace_insn_history_from, record_btrace_call_history)
8381         (record_btrace_call_history_range)
8382         (record_btrace_call_history_from, record_btrace_record_method)
8383         (record_btrace_is_replaying, record_btrace_will_replay)
8384         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
8385         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
8386         (record_btrace_store_registers, record_btrace_prepare_to_store)
8387         (record_btrace_to_get_unwinder)
8388         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
8389         (record_btrace_commit_resume, record_btrace_wait)
8390         (record_btrace_stop, record_btrace_can_execute_reverse)
8391         (record_btrace_stopped_by_sw_breakpoint)
8392         (record_btrace_supports_stopped_by_sw_breakpoint)
8393         (record_btrace_stopped_by_hw_breakpoint)
8394         (record_btrace_supports_stopped_by_hw_breakpoint)
8395         (record_btrace_update_thread_list, record_btrace_thread_alive)
8396         (record_btrace_goto_begin, record_btrace_goto_end)
8397         (record_btrace_goto, record_btrace_stop_replaying_all)
8398         (record_btrace_execution_direction)
8399         (record_btrace_prepare_to_generate_core)
8400         (record_btrace_done_generating_core): Refactor as
8401         record_btrace_target methods.
8402         (init_record_btrace_ops): Delete.
8403         (_initialize_record_btrace): Remove reference to
8404         init_record_btrace_ops.
8405         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
8406         the execution_direction global.
8407         (record_full_base_target, record_full_target)
8408         (record_full_core_target): New classes.
8409         (record_full_ops): Now a record_full_target.
8410         (record_full_core_ops): Now a record_full_core_target.
8411         (record_full_target::detach, record_full_target::disconnect)
8412         (record_full_core_target::disconnect)
8413         (record_full_target::mourn_inferior, record_full_target::kill):
8414         New.
8415         (record_full_open, record_full_close, record_full_async): Refactor
8416         as methods of the record_full_base_target class.
8417         (record_full_resume, record_full_commit_resume): Refactor
8418         as methods of the record_full_target class.
8419         (record_full_wait, record_full_stopped_by_watchpoint)
8420         (record_full_stopped_data_address)
8421         (record_full_stopped_by_sw_breakpoint)
8422         (record_full_supports_stopped_by_sw_breakpoint)
8423         (record_full_stopped_by_hw_breakpoint)
8424         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
8425         methods of the record_full_base_target class.
8426         (record_full_store_registers, record_full_xfer_partial)
8427         (record_full_insert_breakpoint, record_full_remove_breakpoint):
8428         Refactor as methods of the record_full_target class.
8429         (record_full_can_execute_reverse, record_full_get_bookmark)
8430         (record_full_goto_bookmark, record_full_execution_direction)
8431         (record_full_record_method, record_full_info, record_full_delete)
8432         (record_full_is_replaying, record_full_will_replay)
8433         (record_full_goto_begin, record_full_goto_end, record_full_goto)
8434         (record_full_stop_replaying): Refactor as methods of the
8435         record_full_base_target class.
8436         (record_full_core_resume, record_full_core_kill)
8437         (record_full_core_fetch_registers)
8438         (record_full_core_prepare_to_store)
8439         (record_full_core_store_registers, record_full_core_xfer_partial)
8440         (record_full_core_insert_breakpoint)
8441         (record_full_core_remove_breakpoint)
8442         (record_full_core_has_execution): Refactor
8443         as methods of the record_full_core_target class.
8444         (record_full_base_target::supports_delete_record): New.
8445         (init_record_full_ops): Delete.
8446         (init_record_full_core_ops): Delete.
8447         (record_full_save): Refactor as method of the
8448         record_full_base_target class.
8449         (_initialize_record_full): Remove references to
8450         init_record_full_ops and init_record_full_core_ops.
8451
8452         * remote.c (remote_target, extended_remote_target): New classes.
8453         (remote_ops): Now a remote_target.
8454         (extended_remote_ops): Now an extended_remote_target.
8455         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
8456         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
8457         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
8458         (remote_pass_signals, remote_set_syscall_catchpoint)
8459         (remote_program_signals, )
8460         (remote_thread_always_alive): Remove target_ops parameter.
8461         (remote_thread_alive, remote_thread_name)
8462         (remote_update_thread_list, remote_threads_extra_info)
8463         (remote_static_tracepoint_marker_at)
8464         (remote_static_tracepoint_markers_by_strid)
8465         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
8466         (remote_open): Refactor as methods of remote_target.
8467         (extended_remote_open, extended_remote_detach)
8468         (extended_remote_attach, extended_remote_post_attach):
8469         (extended_remote_supports_disable_randomization)
8470         (extended_remote_create_inferior): : Refactor as method of
8471         extended_remote_target.
8472         (remote_set_permissions, remote_open_1, remote_detach)
8473         (remote_follow_fork, remote_follow_exec, remote_disconnect)
8474         (remote_resume, remote_commit_resume, remote_stop)
8475         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
8476         (remote_terminal_ours, remote_wait, remote_fetch_registers)
8477         (remote_prepare_to_store, remote_store_registers)
8478         (remote_flash_erase, remote_flash_done, remote_files_info)
8479         (remote_kill, remote_mourn, remote_insert_breakpoint)
8480         (remote_remove_breakpoint, remote_insert_watchpoint)
8481         (remote_watchpoint_addr_within_range)
8482         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
8483         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
8484         (remote_supports_stopped_by_sw_breakpoint)
8485         (remote_stopped_by_hw_breakpoint)
8486         (remote_supports_stopped_by_hw_breakpoint)
8487         (remote_stopped_by_watchpoint, remote_stopped_data_address)
8488         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
8489         (remote_verify_memory): Refactor as methods of remote_target.
8490         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
8491         parameter.
8492         (remote_xfer_partial, remote_get_memory_xfer_limit)
8493         (remote_search_memory, remote_rcmd, remote_memory_map)
8494         (remote_pid_to_str, remote_get_thread_local_address)
8495         (remote_get_tib_address, remote_read_description): Refactor as
8496         methods of remote_target.
8497         (remote_target::fileio_open, remote_target::fileio_pwrite)
8498         (remote_target::fileio_pread, remote_target::fileio_close): New.
8499         (remote_hostio_readlink, remote_hostio_fstat)
8500         (remote_filesystem_is_local, remote_can_execute_reverse)
8501         (remote_supports_non_stop, remote_supports_disable_randomization)
8502         (remote_supports_multi_process, remote_supports_cond_breakpoints)
8503         (remote_supports_enable_disable_tracepoint)
8504         (remote_supports_string_tracing)
8505         (remote_can_run_breakpoint_commands, remote_trace_init)
8506         (remote_download_tracepoint, remote_can_download_tracepoint)
8507         (remote_download_trace_state_variable, remote_enable_tracepoint)
8508         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
8509         (remote_trace_start, remote_get_trace_status)
8510         (remote_get_tracepoint_status, remote_trace_stop)
8511         (remote_trace_find, remote_get_trace_state_variable_value)
8512         (remote_save_trace_data, remote_get_raw_trace_data)
8513         (remote_set_disconnected_tracing, remote_core_of_thread)
8514         (remote_set_circular_trace_buffer, remote_traceframe_info)
8515         (remote_get_min_fast_tracepoint_insn_len)
8516         (remote_set_trace_buffer_size, remote_set_trace_notes)
8517         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
8518         (remote_disable_btrace, remote_teardown_btrace)
8519         (remote_read_btrace, remote_btrace_conf)
8520         (remote_augmented_libraries_svr4_read, remote_load)
8521         (remote_pid_to_exec_file, remote_can_do_single_step)
8522         (remote_execution_direction, remote_thread_handle_to_thread_info):
8523         Refactor as methods of remote_target.
8524         (init_remote_ops, init_extended_remote_ops): Delete.
8525         (remote_can_async_p, remote_is_async_p, remote_async)
8526         (remote_thread_events, remote_upload_tracepoints)
8527         (remote_upload_trace_state_variables): Refactor as methods of
8528         remote_target.
8529         (_initialize_remote): Remove references to init_remote_ops and
8530         init_extended_remote_ops.
8531
8532         * remote-sim.c (gdbsim_target): New class.
8533         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
8534         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
8535         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
8536         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
8537         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
8538         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
8539         Refactor as methods of gdbsim_target.
8540         (gdbsim_ops): Now a gdbsim_target.
8541         (init_gdbsim_ops): Delete.
8542         (gdbsim_cntrl_c): Adjust.
8543         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
8544
8545         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
8546         (the_amd64_linux_nat_target): New.
8547         (amd64_linux_fetch_inferior_registers)
8548         (amd64_linux_store_inferior_registers): Refactor as methods of
8549         amd64_linux_nat_target.
8550         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
8551         * i386-linux-nat.c: Don't include "linux-nat.h".
8552         (i386_linux_nat_target): New class.
8553         (the_i386_linux_nat_target): New.
8554         (i386_linux_fetch_inferior_registers)
8555         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
8556         as methods of i386_linux_nat_target.
8557         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
8558         * inf-child.c (inf_child_ops): Delete.
8559         (inf_child_fetch_inferior_registers)
8560         (inf_child_store_inferior_registers): Delete.
8561         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
8562         methods of inf_child_target.
8563         (inf_child_target::supports_terminal_ours)
8564         (inf_child_target::terminal_init)
8565         (inf_child_target::terminal_inferior)
8566         (inf_child_target::terminal_ours_for_output)
8567         (inf_child_target::terminal_ours, inf_child_target::interrupt)
8568         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
8569         New.
8570         (inf_child_open, inf_child_disconnect, inf_child_close)
8571         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
8572         (inf_child_post_startup_inferior, inf_child_can_run)
8573         (inf_child_pid_to_exec_file): Refactor as methods of
8574         inf_child_target.
8575         (inf_child_follow_fork): Delete.
8576         (inf_child_target::can_create_inferior)
8577         (inf_child_target::can_attach): New.
8578         (inf_child_target::has_all_memory, inf_child_target::has_memory)
8579         (inf_child_target::has_stack, inf_child_target::has_registers)
8580         (inf_child_target::has_execution): New.
8581         (inf_child_fileio_open, inf_child_fileio_pwrite)
8582         (inf_child_fileio_pread, inf_child_fileio_fstat)
8583         (inf_child_fileio_close, inf_child_fileio_unlink)
8584         (inf_child_fileio_readlink, inf_child_use_agent)
8585         (inf_child_can_use_agent): Refactor as methods of
8586         inf_child_target.
8587         (return_zero, inf_child_target): Delete.
8588         (inf_child_target::inf_child_target): New.
8589         * inf-child.h: Include "target.h".
8590         (inf_child_target): Delete function prototype.
8591         (inf_child_target): New class.
8592         (inf_child_open_target, inf_child_mourn_inferior)
8593         (inf_child_maybe_unpush_target): Delete.
8594         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
8595         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
8596         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
8597         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
8598         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
8599         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
8600         (inf_ptrace_wait, inf_ptrace_xfer_partial)
8601         (inf_ptrace_thread_alive, inf_ptrace_files_info)
8602         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
8603         methods of inf_ptrace_target.
8604         (inf_ptrace_target): Delete function.
8605         * inf-ptrace.h: Include "inf-child.h".
8606         (inf_ptrace_target): Delete function declaration.
8607         (inf_ptrace_target): New class.
8608         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
8609         * linux-nat.c (linux_target): New.
8610         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
8611         (linux_nat_target::~linux_nat_target): New.
8612         (linux_child_post_attach, linux_child_post_startup_inferior)
8613         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
8614         (linux_child_remove_fork_catchpoint)
8615         (linux_child_insert_vfork_catchpoint)
8616         (linux_child_remove_vfork_catchpoint)
8617         (linux_child_insert_exec_catchpoint)
8618         (linux_child_remove_exec_catchpoint)
8619         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
8620         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
8621         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
8622         (linux_nat_stopped_data_address)
8623         (linux_nat_stopped_by_sw_breakpoint)
8624         (linux_nat_supports_stopped_by_sw_breakpoint)
8625         (linux_nat_stopped_by_hw_breakpoint)
8626         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
8627         (linux_nat_kill, linux_nat_mourn_inferior)
8628         (linux_nat_xfer_partial, linux_nat_thread_alive)
8629         (linux_nat_update_thread_list, linux_nat_pid_to_str)
8630         (linux_nat_thread_name, linux_child_pid_to_exec_file)
8631         (linux_child_static_tracepoint_markers_by_strid)
8632         (linux_nat_is_async_p, linux_nat_can_async_p)
8633         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
8634         (linux_nat_supports_multi_process)
8635         (linux_nat_supports_disable_randomization, linux_nat_async)
8636         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
8637         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
8638         (linux_nat_fileio_open, linux_nat_fileio_readlink)
8639         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
8640         methods of linux_nat_target.
8641         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
8642         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
8643         parameter.
8644         (check_stopped_by_watchpoint): Adjust.
8645         (linux_xfer_partial): Delete.
8646         (linux_target_install_ops, linux_target, linux_nat_add_target):
8647         Delete.
8648         (linux_nat_target::linux_nat_target): New.
8649         * linux-nat.h: Include "inf-ptrace.h".
8650         (linux_nat_target): New.
8651         (linux_target, linux_target_install_ops, linux_nat_add_target):
8652         Delete function declarations.
8653         (linux_target): Declare global.
8654         * linux-thread-db.c (thread_db_target): New.
8655         (thread_db_target::thread_db_target): New.
8656         (thread_db_ops): Delete.
8657         (the_thread_db_target): New.
8658         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
8659         (thread_db_update_thread_list, thread_db_pid_to_str)
8660         (thread_db_extra_thread_info)
8661         (thread_db_thread_handle_to_thread_info)
8662         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
8663         (thread_db_resume): Refactor as methods of thread_db_target.
8664         (init_thread_db_ops): Delete.
8665         (_initialize_thread_db): Remove reference to init_thread_db_ops.
8666         * x86-linux-nat.c: Don't include "linux-nat.h".
8667         (super_post_startup_inferior): Delete.
8668         (x86_linux_nat_target::~x86_linux_nat_target): New.
8669         (x86_linux_child_post_startup_inferior)
8670         (x86_linux_read_description, x86_linux_enable_btrace)
8671         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
8672         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
8673         methods of x86_linux_nat_target.
8674         (x86_linux_create_target): Delete.  Bits folded ...
8675         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
8676         pointer.
8677         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
8678         (x86_linux_nat_target): New class.
8679         (x86_linux_create_target): Delete.
8680         (x86_linux_add_target): Now takes a linux_nat_target pointer.
8681         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
8682         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
8683         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
8684         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
8685         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
8686         make extern.
8687         (x86_use_watchpoints): Delete.
8688         * x86-nat.h: Include "breakpoint.h" and "target.h".
8689         (x86_use_watchpoints): Delete.
8690         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
8691         (x86_stopped_by_watchpoint, x86_stopped_data_address)
8692         (x86_insert_watchpoint, x86_remove_watchpoint)
8693         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
8694         (x86_stopped_by_hw_breakpoint): New declarations.
8695         (x86_nat_target): New template class.
8696
8697         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
8698         (the_ppc_linux_nat_target): New.
8699         (ppc_linux_fetch_inferior_registers)
8700         (ppc_linux_can_use_hw_breakpoint)
8701         (ppc_linux_region_ok_for_hw_watchpoint)
8702         (ppc_linux_ranged_break_num_registers)
8703         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
8704         (ppc_linux_insert_mask_watchpoint)
8705         (ppc_linux_remove_mask_watchpoint)
8706         (ppc_linux_can_accel_watchpoint_condition)
8707         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
8708         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
8709         (ppc_linux_watchpoint_addr_within_range)
8710         (ppc_linux_masked_watch_num_registers)
8711         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
8712         (ppc_linux_read_description): Refactor as methods of
8713         ppc_linux_nat_target.
8714         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
8715
8716         * procfs.c (procfs_xfer_partial): Delete forward declaration.
8717         (procfs_target): New class.
8718         (the_procfs_target): New.
8719         (procfs_target): Delete function.
8720         (procfs_auxv_parse, procfs_attach, procfs_detach)
8721         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
8722         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
8723         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
8724         (procfs_create_inferior, procfs_update_thread_list)
8725         (procfs_thread_alive, procfs_pid_to_str)
8726         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
8727         (procfs_stopped_data_address, procfs_insert_watchpoint)
8728         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
8729         (proc_find_memory_regions, procfs_info_proc)
8730         (procfs_make_note_section): Refactor as methods of procfs_target.
8731         (_initialize_procfs): Adjust.
8732         * sol-thread.c (sol_thread_target): New class.
8733         (sol_thread_ops): Now a sol_thread_target.
8734         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
8735         (sol_thread_fetch_registers, sol_thread_store_registers)
8736         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
8737         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
8738         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
8739         (init_sol_thread_ops): Delete.
8740         (_initialize_sol_thread): Adjust.  Remove references to
8741         init_sol_thread_ops and complete_target_initialization.
8742
8743         * windows-nat.c (windows_nat_target): New class.
8744         (windows_fetch_inferior_registers)
8745         (windows_store_inferior_registers, windows_resume, windows_wait)
8746         (windows_attach, windows_detach, windows_pid_to_exec_file)
8747         (windows_files_info, windows_create_inferior)
8748         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
8749         (windows_close, windows_pid_to_str, windows_xfer_partial)
8750         (windows_get_tib_address, windows_get_ada_task_ptid)
8751         (windows_thread_name, windows_thread_alive): Refactor as
8752         windows_nat_target methods.
8753         (do_initial_windows_stuff): Adjust.
8754         (windows_target): Delete function.
8755         (_initialize_windows_nat): Adjust.
8756
8757         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
8758         (darwin_mourn_inferior, darwin_kill_inferior)
8759         (darwin_create_inferior, darwin_attach, darwin_detach)
8760         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
8761         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
8762         (darwin_supports_multi_process): Refactor as darwin_nat_target
8763         methods.
8764         (darwin_resume_to, darwin_files_info): Delete.
8765         (_initialize_darwin_inferior): Rename to ...
8766         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
8767         * darwin-nat.h: Include "inf-child.h".
8768         (darwin_nat_target): New class.
8769         (darwin_complete_target): Delete.
8770         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
8771         (darwin_target): New.
8772         (i386_darwin_fetch_inferior_registers)
8773         (i386_darwin_store_inferior_registers): Refactor as methods of
8774         darwin_nat_target.
8775         (darwin_complete_target): Delete, with ...
8776         (_initialize_i386_darwin_nat): ... bits factored out here.
8777
8778         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
8779         (the_alpha_linux_nat_target): New.
8780         (alpha_linux_register_u_offset): Refactor as
8781         alpha_linux_nat_target method.
8782         (_initialize_alpha_linux_nat): Adjust.
8783         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
8784         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8785         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
8786         methods of linux_nat_trad_target.
8787         (linux_trad_target): Delete.
8788         * linux-nat-trad.h (linux_trad_target): Delete function.
8789         (linux_nat_trad_target): New class.
8790         * mips-linux-nat.c (mips_linux_nat_target): New class.
8791         (super_fetch_registers, super_store_registers, super_close):
8792         Delete.
8793         (the_mips_linux_nat_target): New.
8794         (mips64_linux_regsets_fetch_registers)
8795         (mips64_linux_regsets_store_registers)
8796         (mips64_linux_fetch_registers, mips64_linux_store_registers)
8797         (mips_linux_register_u_offset, mips_linux_read_description)
8798         (mips_linux_can_use_hw_breakpoint)
8799         (mips_linux_stopped_by_watchpoint)
8800         (mips_linux_stopped_data_address)
8801         (mips_linux_region_ok_for_hw_watchpoint)
8802         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8803         (mips_linux_close): Refactor as methods of mips_linux_nat.
8804         (_initialize_mips_linux_nat): Adjust to C++ification.
8805
8806         * aix-thread.c (aix_thread_target): New class.
8807         (aix_thread_ops): Now an aix_thread_target.
8808         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
8809         (aix_thread_fetch_registers, aix_thread_store_registers)
8810         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
8811         (aix_thread_thread_alive, aix_thread_pid_to_str)
8812         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
8813         Refactor as methods of aix_thread_target.
8814         (init_aix_thread_ops): Delete.
8815         (_initialize_aix_thread): Remove references to init_aix_thread_ops
8816         and complete_target_initialization.
8817         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
8818         (rs6000_nat_target): New class.
8819         (the_rs6000_nat_target): New.
8820         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
8821         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
8822         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
8823         (super_create_inferior): Delete.
8824         (_initialize_rs6000_nat): Adjust to C++ification.
8825
8826         * arm-linux-nat.c (arm_linux_nat_target): New class.
8827         (the_arm_linux_nat_target): New.
8828         (arm_linux_fetch_inferior_registers)
8829         (arm_linux_store_inferior_registers, arm_linux_read_description)
8830         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
8831         (arm_linux_remove_hw_breakpoint)
8832         (arm_linux_region_ok_for_hw_watchpoint)
8833         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
8834         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
8835         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
8836         arm_linux_nat_target.
8837         (_initialize_arm_linux_nat): Adjust to C++ification.
8838
8839         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
8840         (the_aarch64_linux_nat_target): New.
8841         (aarch64_linux_fetch_inferior_registers)
8842         (aarch64_linux_store_inferior_registers)
8843         (aarch64_linux_child_post_startup_inferior)
8844         (aarch64_linux_read_description)
8845         (aarch64_linux_can_use_hw_breakpoint)
8846         (aarch64_linux_insert_hw_breakpoint)
8847         (aarch64_linux_remove_hw_breakpoint)
8848         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
8849         (aarch64_linux_region_ok_for_hw_watchpoint)
8850         (aarch64_linux_stopped_data_address)
8851         (aarch64_linux_stopped_by_watchpoint)
8852         (aarch64_linux_watchpoint_addr_within_range)
8853         (aarch64_linux_can_do_single_step): Refactor as methods of
8854         aarch64_linux_nat_target.
8855         (super_post_startup_inferior): Delete.
8856         (_initialize_aarch64_linux_nat): Adjust to C++ification.
8857
8858         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
8859         (the_hppa_linux_nat_target): New.
8860         (hppa_linux_fetch_inferior_registers)
8861         (hppa_linux_store_inferior_registers): Refactor as methods of
8862         hppa_linux_nat_target.
8863         (_initialize_hppa_linux_nat): Adjust to C++ification.
8864
8865         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
8866         (the_ia64_linux_nat_target): New.
8867         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
8868         (ia64_linux_stopped_data_address)
8869         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
8870         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
8871         ia64_linux_nat_target methods.
8872         (super_xfer_partial): Delete.
8873         (_initialize_ia64_linux_nat): Adjust to C++ification.
8874
8875         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
8876         (the_m32r_linux_nat_target): New.
8877         (m32r_linux_fetch_inferior_registers)
8878         (m32r_linux_store_inferior_registers): Refactor as
8879         m32r_linux_nat_target methods.
8880         (_initialize_m32r_linux_nat): Adjust to C++ification.
8881
8882         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
8883         (the_m68k_linux_nat_target): New.
8884         (m68k_linux_fetch_inferior_registers)
8885         (m68k_linux_store_inferior_registers): Refactor as
8886         m68k_linux_nat_target methods.
8887         (_initialize_m68k_linux_nat): Adjust to C++ification.
8888
8889         * s390-linux-nat.c (s390_linux_nat_target): New class.
8890         (the_s390_linux_nat_target): New.
8891         (s390_linux_fetch_inferior_registers)
8892         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
8893         (s390_insert_watchpoint, s390_remove_watchpoint)
8894         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
8895         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
8896         (s390_auxv_parse, s390_read_description): Refactor as methods of
8897         s390_linux_nat_target.
8898         (_initialize_s390_nat): Adjust to C++ification.
8899
8900         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
8901         (the_sparc_linux_nat_target): New.
8902         (_initialize_sparc_linux_nat): Adjust to C++ification.
8903         * sparc-nat.c (sparc_fetch_inferior_registers)
8904         (sparc_store_inferior_registers): Remove target_ops parameter.
8905         * sparc-nat.h (sparc_fetch_inferior_registers)
8906         (sparc_store_inferior_registers): Remove target_ops parameter.
8907         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
8908         (the_sparc64_linux_nat_target): New.
8909         (_initialize_sparc64_linux_nat): Adjust to C++ification.
8910
8911         * spu-linux-nat.c (spu_linux_nat_target): New class.
8912         (the_spu_linux_nat_target): New.
8913         (spu_child_post_startup_inferior, spu_child_post_attach)
8914         (spu_child_wait, spu_fetch_inferior_registers)
8915         (spu_store_inferior_registers, spu_xfer_partial)
8916         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
8917         methods.
8918         (_initialize_spu_nat): Adjust to C++ification.
8919
8920         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
8921         (the_tilegx_linux_nat_target): New.
8922         (fetch_inferior_registers, store_inferior_registers):
8923         Refactor as methods.
8924         (_initialize_tile_linux_nat): Adjust to C++ification.
8925
8926         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
8927         (the_xtensa_linux_nat_target): New.
8928         (xtensa_linux_fetch_inferior_registers)
8929         (xtensa_linux_store_inferior_registers): Refactor as
8930         xtensa_linux_nat_target methods.
8931         (_initialize_xtensa_linux_nat): Adjust to C++ification.
8932
8933         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
8934         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
8935         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
8936         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
8937         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
8938         (fbsd_stopped_by_sw_breakpoint)
8939         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
8940         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
8941         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
8942         (fbsd_post_startup_inferior, fbsd_post_attach)
8943         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
8944         (fbsd_set_syscall_catchpoint)
8945         (super_xfer_partial, super_resume, super_wait)
8946         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
8947         (fbsd_handle_debug_trap): Remove target_ops parameter.
8948         (fbsd_nat_add_target): Delete.
8949         * fbsd-nat.h: Include "inf-ptrace.h".
8950         (fbsd_nat_add_target): Delete.
8951         (USE_SIGTRAP_SIGINFO): Define.
8952         (fbsd_nat_target): New class.
8953
8954         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
8955         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
8956         (amd64bsd_target): Delete.
8957         * amd64-bsd-nat.h: New file.
8958         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
8959         "x86-bsd-nat.h".
8960         (amd64_fbsd_nat_target): New class.
8961         (the_amd64_fbsd_nat_target): New.
8962         (amd64fbsd_read_description): Refactor as method of
8963         amd64_fbsd_nat_target.
8964         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8965         (_initialize_amd64fbsd_nat): Adjust to C++ification.
8966         * amd64-nat.h (amd64bsd_target): Delete function declaration.
8967         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
8968         (i386bsd_store_inferior_registers): Remove target_ops parameter.
8969         (i386bsd_target): Delete.
8970         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
8971         (i386bsd_fetch_inferior_registers)
8972         (i386bsd_store_inferior_registers): Declare.
8973         (i386_bsd_nat_target): New class.
8974         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
8975         (the_i386_fbsd_nat_target): New.
8976         (i386fbsd_resume, i386fbsd_read_description): Refactor as
8977         i386_fbsd_nat_target methods.
8978         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8979         (_initialize_i386fbsd_nat): Adjust to C++ification.
8980         * x86-bsd-nat.c (super_mourn_inferior): Delete.
8981         (x86bsd_mourn_inferior, x86bsd_target): Delete.
8982         (_initialize_x86_bsd_nat): Adjust to C++ification.
8983         * x86-bsd-nat.h: Include "x86-nat.h".
8984         (x86bsd_target): Delete declaration.
8985         (x86bsd_nat_target): New class.
8986
8987         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
8988         (the_aarch64_fbsd_nat_target): New.
8989         (aarch64_fbsd_fetch_inferior_registers)
8990         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
8991         aarch64_fbsd_nat_target.
8992         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
8993         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
8994         (the_alpha_bsd_nat_target): New.
8995         (alphabsd_fetch_inferior_registers)
8996         (alphabsd_store_inferior_registers): Refactor as
8997         alpha_bsd_nat_target methods.
8998         (_initialize_alphabsd_nat): Refactor as methods of
8999         alpha_bsd_nat_target.
9000         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
9001         (the_amd64_nbsd_nat_target): New.
9002         (_initialize_amd64nbsd_nat): Adjust to C++ification.
9003         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
9004         (the_amd64_obsd_nat_target): New.
9005         (_initialize_amd64obsd_nat): Adjust to C++ification.
9006         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
9007         (the_arm_fbsd_nat_target): New.
9008         (arm_fbsd_fetch_inferior_registers)
9009         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
9010         (_initialize_arm_fbsd_nat): Refactor as methods of
9011         arm_fbsd_nat_target.
9012         (_initialize_arm_fbsd_nat): Adjust to C++ification.
9013         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
9014         (the_arm_netbsd_nat_target): New.
9015         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
9016         arm_netbsd_nat_target.
9017         (_initialize_arm_netbsd_nat): Adjust to C++ification.
9018         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
9019         (the_hppa_nbsd_nat_target): New.
9020         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
9021         hppa_nbsd_nat_target methods.
9022         (_initialize_hppanbsd_nat): Adjust to C++ification.
9023         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
9024         (the_hppa_obsd_nat_target): New.
9025         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
9026         methods of hppa_obsd_nat_target.
9027         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
9028         add_target.
9029         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
9030         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
9031         add_target.
9032         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
9033         (_initialize_i386obsd_nat): Use add_target.
9034         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
9035         (the_m68k_bsd_nat_target): New.
9036         (m68kbsd_fetch_inferior_registers)
9037         (m68kbsd_store_inferior_registers): Refactor as methods of
9038         m68k_bsd_nat_target.
9039         (_initialize_m68kbsd_nat): Adjust to C++ification.
9040         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
9041         (the_mips_fbsd_nat_target): New.
9042         (mips_fbsd_fetch_inferior_registers)
9043         (mips_fbsd_store_inferior_registers): Refactor as methods of
9044         mips_fbsd_nat_target.
9045         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
9046         add_target.
9047         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
9048         (the_mips_nbsd_nat_target): New.
9049         (mipsnbsd_fetch_inferior_registers)
9050         (mipsnbsd_store_inferior_registers): Refactor as methods of
9051         mips_nbsd_nat_target.
9052         (_initialize_mipsnbsd_nat): Adjust to C++ification.
9053         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
9054         (the_mips64_obsd_nat_target): New.
9055         (mips64obsd_fetch_inferior_registers)
9056         (mips64obsd_store_inferior_registers): Refactor as methods of
9057         mips64_obsd_nat_target.
9058         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
9059         add_target.
9060         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
9061         nbsd_nat_target.
9062         * nbsd-nat.h: Include "inf-ptrace.h".
9063         (nbsd_nat_target): New class.
9064         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
9065         (obsd_wait): Refactor as methods of obsd_nat_target.
9066         (obsd_add_target): Delete.
9067         * obsd-nat.h: Include "inf-ptrace.h".
9068         (obsd_nat_target): New class.
9069         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
9070         (the_ppc_fbsd_nat_target): New.
9071         (ppcfbsd_fetch_inferior_registers)
9072         (ppcfbsd_store_inferior_registers): Refactor as methods of
9073         ppc_fbsd_nat_target.
9074         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
9075         add_target.
9076         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
9077         (the_ppc_nbsd_nat_target): New.
9078         (ppcnbsd_fetch_inferior_registers)
9079         (ppcnbsd_store_inferior_registers): Refactor as methods of
9080         ppc_nbsd_nat_target.
9081         (_initialize_ppcnbsd_nat): Adjust to C++ification.
9082         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
9083         (the_ppc_obsd_nat_target): New.
9084         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
9085         methods of ppc_obsd_nat_target.
9086         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
9087         add_target.
9088         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
9089         (the_sh_nbsd_nat_target): New.
9090         (shnbsd_fetch_inferior_registers)
9091         (shnbsd_store_inferior_registers): Refactor as methods of
9092         sh_nbsd_nat_target.
9093         (_initialize_shnbsd_nat): Adjust to C++ification.
9094         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
9095         (inf_ptrace_xfer_partial): Delete.
9096         (sparc_xfer_partial, sparc_target): Delete.
9097         * sparc-nat.h (sparc_fetch_inferior_registers)
9098         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
9099         (sparc_target): Delete function declaration.
9100         (sparc_target): New template class.
9101         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
9102         (_initialize_sparcnbsd_nat): Adjust to C++ification.
9103         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
9104         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
9105         add_target.
9106         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
9107         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
9108         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
9109         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
9110         add_target.
9111         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
9112         (the_vax_bsd_nat_target): New.
9113         (vaxbsd_fetch_inferior_registers)
9114         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
9115         methods.
9116         (_initialize_vaxbsd_nat): Adjust to C++ification.
9117
9118         * bsd-kvm.c (bsd_kvm_target): New class.
9119         (bsd_kvm_ops): Now a bsd_kvm_target.
9120         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
9121         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
9122         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
9123         bsd_kvm_target.
9124         (bsd_kvm_return_one): Delete.
9125         (bsd_kvm_add_target): Adjust to C++ification.
9126
9127         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
9128         (nto_procfs_target_procfs): New classes.
9129         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
9130         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
9131         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
9132         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
9133         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
9134         (procfs_remove_hw_breakpoint, procfs_resume)
9135         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
9136         (procfs_kill_inferior, procfs_store_registers)
9137         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
9138         as methods of nto_procfs_target.
9139         (nto_procfs_ops): Now an nto_procfs_target_procfs.
9140         (nto_native_ops): Delete.
9141         (procfs_open, procfs_native_open): Delete.
9142         (nto_native_ops): Now an nto_procfs_target_native.
9143         (init_procfs_targets): Adjust to C++ification.
9144         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
9145         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
9146         Refactor as methods of nto_procfs_target.
9147
9148         * go32-nat.c (go32_nat_target): New class.
9149         (the_go32_nat_target): New.
9150         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
9151         (go32_store_registers, go32_xfer_partial, go32_files_info)
9152         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
9153         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
9154         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
9155         (go32_pid_to_str): Refactor as methods of go32_nat_target.
9156         (go32_target): Delete.
9157         (_initialize_go32_nat): Adjust to C++ification.
9158
9159         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
9160         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
9161         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
9162         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
9163         gnu_nat_target.
9164         (gnu_target): Delete.
9165         * gnu-nat.h (gnu_target): Delete.
9166         (gnu_nat_target): New class.
9167         * i386-gnu-nat.c (gnu_base_target): New.
9168         (i386_gnu_nat_target): New class.
9169         (the_i386_gnu_nat_target): New.
9170         (_initialize_i386gnu_nat): Adjust to C++ification.
9171
9172 2018-05-02  Pedro Alves  <palves@redhat.com>
9173
9174         * bfd-target.c (target_bfd_xclose): Rename to ...
9175         (target_bfd_close): ... this.
9176         (target_bfd_reopen): Adjust.
9177         * target.c (target_close): Remove references to to_xclose.
9178         * target.h (target_ops::to_xclose): Delete.
9179         (target_ops::to_close): Update comments.
9180
9181 2018-05-02  Pedro Alves  <palves@redhat.com>
9182
9183         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
9184         "linux-nat.h".
9185         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
9186         * inf-ptrace.c (inf_ptrace_register_u_offset)
9187         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9188         (inf_ptrace_store_register, inf_ptrace_store_registers)
9189         (inf_ptrace_trad_target): Move to ...
9190         * linux-nat-trad.c: ... this new file.
9191         * linux-nat-trad.h: New file.
9192         * linux-nat.c (linux_target_install_ops): Make extern.
9193         (linux_trad_target): Delete.
9194         * linux-nat.h (linux_trad_target): Delete declaration.
9195         (linux_target_install_ops): Declare.
9196         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
9197         "linux-nat.h".
9198
9199 2018-05-02  Pedro Alves  <palves@redhat.com>
9200
9201         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9202         procfs_target/add_target here.
9203         * procfs.c (procfs_target): Make static.
9204         (_initialize_procfs): Call add_target here.
9205         * procfs.h (struct target_ops): Remove forward declaration.
9206         (procfs_target): Remove declaration.
9207         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
9208
9209 2018-05-02  Pedro Alves  <palves@redhat.com>
9210
9211         * procfs.c (procfs_stopped_by_watchpoint)
9212         (procfs_insert_watchpoint, procfs_remove_watchpoint)
9213         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
9214         Forward declare.
9215         (procfs_use_watchpoints): Delete, move contents...
9216         (procfs_target): ... here.
9217         * procfs.h (procfs_use_watchpoints): Delete declaration.
9218         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9219         procfs_use_watchpoints.
9220         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
9221         procfs_use_watchpoints.
9222
9223 2018-05-02  Tom Tromey  <tom@tromey.com>
9224
9225         PR python/20084:
9226         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
9227         and var_zuinteger_unlimited.
9228         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
9229         and PARAM_ZUINTEGER_UNLIMITED.
9230         (set_parameter_value): Handle var_zuinteger and
9231         var_zuinteger_unlimited.
9232         (add_setshow_generic): Likewise.
9233         (parmpy_init): Likewise.
9234
9235 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
9236
9237         PR rust/23124
9238         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
9239         pointer is not null before dereferencing it.
9240
9241 2018-04-30  Tom Tromey  <tom@tromey.com>
9242
9243         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
9244         is_mi_like_p.
9245
9246 2018-04-30  Tom Tromey  <tom@tromey.com>
9247
9248         * breakpoint.c (mention): Remove use of is_mi_like_p.
9249         (print_mention_ranged_breakpoint): Likewise.
9250         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
9251         of is_mi_like_p.
9252
9253 2018-04-30  Tom Tromey  <tom@tromey.com>
9254
9255         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
9256
9257 2018-04-30  Tom Tromey  <tom@tromey.com>
9258
9259         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
9260         (info_spu_event_command): Remove some uses of is_mi_like_p.
9261
9262 2018-04-30  Tom Tromey  <tom@tromey.com>
9263
9264         * python/py-framefilter.c (py_print_single_arg)
9265         (enumerate_locals, py_print_args, py_print_frame): Remove some
9266         uses of is_mi_like_p.
9267
9268 2018-04-30  Tom Tromey  <tom@tromey.com>
9269
9270         * ui-out.c: Update.
9271         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
9272         * ui-out.h (ui_out::is_mi_like_p): Now const.
9273         (ui_out::do_is_mi_like_p): Now const.
9274         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
9275
9276 2018-04-30  Tom Tromey  <tom@tromey.com>
9277
9278         * varobj.c (varobj_set_visualizer): Use new_reference.
9279         * python/python.c (gdbpy_decode_line): Use new_reference.
9280         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
9281         new_reference.
9282
9283 2018-04-30  Tom Tromey  <tom@tromey.com>
9284
9285         * varobj.c (install_new_value): Use new_reference.
9286         * value.h (value_incref): Return void.  Swap intro comment with
9287         value_decref.
9288         * value.c (set_value_parent): Use new_reference.
9289         (value_incref): Return void.  Update intro comment.
9290         (release_value): Use new_reference.
9291         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
9292
9293 2018-04-30  Tom Tromey  <tom@tromey.com>
9294
9295         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
9296         * gdb_bfd.h (new_bfd_ref): Remove.
9297         (gdb_bfd_open): Update comment.
9298         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
9299         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
9300         (gdb_bfd_fdopenr): Use new_reference.
9301         * exec.c (exec_file_attach): Use new_reference.
9302
9303 2018-04-30  Tom Tromey  <tom@tromey.com>
9304
9305         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
9306         method.
9307
9308 2018-04-30  Tom Tromey  <tom@tromey.com>
9309
9310         * jit.c (jit_read_code_entry): Use type_align.
9311         * i386-tdep.c (i386_gdbarch_init): Don't call
9312         set_gdbarch_long_long_align_bit.
9313         * gdbarch.sh: Remove long_long_align_bit.
9314         * gdbarch.c, gdbarch.h: Rebuild.
9315         * arc-tdep.c (arc_type_align): New function.
9316         (arc_gdbarch_init): Use arc_type_align.  Don't call
9317         set_gdbarch_long_long_align_bit.
9318
9319 2018-04-30  Tom Tromey  <tom@tromey.com>
9320
9321         * rust-lang.c (rust_type_alignment): Remove.
9322         (rust_composite_type): Use type_align.
9323
9324 2018-04-30  Tom Tromey  <tom@tromey.com>
9325
9326         * NEWS: Mention Type.align.
9327         * python/py-type.c (typy_get_alignof): New function.
9328         (type_object_getset): Add "alignof".
9329
9330 2018-04-30  Tom Tromey  <tom@tromey.com>
9331
9332         PR exp/17095:
9333         * NEWS: Update.
9334         * std-operator.def (UNOP_ALIGNOF): New operator.
9335         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
9336         New.
9337         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
9338         * c-lang.c (c_op_print_tab): Add alignof.
9339         * c-exp.y (ALIGNOF): New token.
9340         (exp): Add "ALIGNOF" production.
9341         (ident_tokens): Add _Alignof and alignof.
9342
9343 2018-04-30  Tom Tromey  <tom@tromey.com>
9344
9345         * i386-tdep.c (i386_type_align): New function.
9346         (i386_gdbarch_init): Update.
9347         * gdbarch.sh (type_align): New method.
9348         * gdbarch.c, gdbarch.h: Rebuild.
9349         * arch-utils.h (default_type_align): Declare.
9350         * arch-utils.c (default_type_align): New function.
9351         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
9352         (struct type) <align_log2>: New field.
9353         <instance_flags>: Now a bitfield.
9354         (TYPE_RAW_ALIGN): New macro.
9355         (type_align, type_raw_align, set_type_align): Declare.
9356         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
9357         functions.
9358         * dwarf2read.c (quirk_rust_enum): Set type alignment.
9359         (get_alignment, maybe_set_alignment): New functions.
9360         (read_structure_type, read_enumeration_type, read_array_type)
9361         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
9362         (read_subrange_type, read_base_type): Set type alignment.
9363
9364 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
9365
9366         * dwarf2read.c (read_index_from_section): Use bool.
9367
9368 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
9369
9370         PR gdb/22950
9371         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
9372         with #ifdef.
9373
9374 2018-04-29  John Reiser  <jreiser@BitWagon.com>
9375
9376         PR build/22873
9377         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
9378         last step, and do it atomically.
9379
9380 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
9381
9382         * compile/compile-c-types.c (convert_int, convert_float):
9383         Update for C FE v1.
9384
9385 2018-04-27  Tom Tromey  <tom@tromey.com>
9386
9387         PR rust/22545:
9388         * rust-lang.c (rust_inclusive_range_type_p): New function.
9389         (rust_range): Handle inclusive ranges.
9390         (rust_compute_range): Likewise.
9391         * rust-exp.y (struct rust_op) <inclusive>: New field.
9392         (DOTDOTEQ): New constant.
9393         (range_expr): Add "..=" productions.
9394         (operator_tokens): Add "..=" token.
9395         (ast_range): Add "inclusive" parameter.
9396         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
9397         ranges.
9398         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
9399         bounds values.
9400         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
9401         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
9402         Update comments.
9403         * expprint.c (print_subexp_standard): Handle new bounds values.
9404         (dump_subexp_body_standard): Likewise.
9405
9406 2018-04-27  Tom Tromey  <tom@tromey.com>
9407
9408         * configure: Rebuild.
9409         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
9410         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
9411         "OVERRIDE".
9412         (class symbol_needs_eval_context): Likewise.
9413         * dwarf2read.c (mock_mapped_index::symbol_name_count)
9414         (mock_mapped_index::symbol_name_at): Use "override".  Remove
9415         "virtual".
9416         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
9417         "override".
9418         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
9419         * aarch64-tdep.c (instruction_reader::read): Use "override".
9420         (instruction_reader_test::read): Likewise.
9421         * arm-tdep.c (instruction_reader::read): Use "override".
9422         (instruction_reader_thumb::read): Likewise.
9423
9424 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
9425
9426         PR remote/9665
9427         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
9428         instead of remote_send.
9429         (remote_send): Remove.
9430
9431 2018-04-26  Pedro Alves  <palves@redhat.com>
9432
9433         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
9434         find_function_start_sal instead of find_pc_line.
9435
9436 2018-04-26  Pedro Alves  <palves@redhat.com>
9437
9438         * breakpoint.c (set_breakpoint_location_function): Handle
9439         mst_data_gnu_ifunc.
9440         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
9441         * elfread.c (elf_symtab_read): Give data symbols with
9442         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
9443         (elf_rel_plt_read): Update comment.
9444         * linespec.c (convert_linespec_to_sals): Handle
9445         mst_data_gnu_ifunc.
9446         (minsym_found): Handle mst_data_gnu_ifunc.
9447         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
9448         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
9449         * parse.c (find_minsym_type_and_address): Handle
9450         mst_data_gnu_ifunc.
9451         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
9452         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
9453         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
9454         comment.
9455         <mst_data_gnu_ifunc>: New enumerator.
9456
9457 2018-04-26  Pedro Alves  <palves@redhat.com>
9458
9459         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
9460         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
9461         'want_trampoline' parameter by a lookup_msym_prefer parameter.
9462         Handle it.
9463         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
9464         (lookup_minimal_symbol_by_pc): Adjust.
9465         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
9466         (lookup_solib_trampoline_symbol_by_pc): Adjust.
9467         * minsyms.h (lookup_msym_prefer): New enum.
9468         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9469         parameter by a lookup_msym_prefer parameter.
9470
9471 2018-04-26  Pedro Alves  <palves@redhat.com>
9472
9473         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
9474         ends in "@plt" instead of looking at the symbol's section.
9475
9476 2018-04-26  Pedro Alves  <palves@redhat.com>
9477
9478         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
9479         all references.
9480         (find_pc_partial_function_gnu_ifunc): Rename to ...
9481         (find_pc_partial_function): ... this, and remove references to
9482         'is_gnu_ifunc_p'.
9483         (find_pc_partial_function): Delete old implementation.
9484         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
9485
9486 2018-04-26  Pedro Alves  <palves@redhat.com>
9487
9488         * linespec.c (struct bound_minimal_symbol_search_key): New.
9489         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
9490         skip first line if we found a GNU ifunc minimal symbol by name.
9491         (compare_msymbols): Change parameters to work with a destructured
9492         lhs minsym.
9493         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
9494         functions.
9495
9496 2018-04-26  Pedro Alves  <palves@redhat.com>
9497
9498         * breakpoint.c (set_breakpoint_location_function): Don't resolve
9499         ifunc targets here.  Instead, if we have an ifunc minsym, use its
9500         address/name.
9501         (add_location_to_breakpoint): Store the minsym and the objfile in
9502         the breakpoint location.
9503         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
9504         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
9505         Record the minsym in the sal.
9506         * symtab.h (symtab_and_line) <msymbol>: New field.
9507
9508 2018-04-26  Pedro Alves  <palves@redhat.com>
9509
9510         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
9511         unless we actually resolved the ifunc.
9512
9513 2018-04-26  Pedro Alves  <palves@redhat.com>
9514
9515         * c-exp.y (variable production): Prefer ifunc minsyms over
9516         regular function symbols.
9517         * symtab.c (find_gnu_ifunc): New function.
9518         * minsyms.h (lookup_msym_prefer): New enum.
9519         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9520         parameter by a lookup_msym_prefer parameter.
9521         * symtab.h (find_gnu_ifunc): New declaration.
9522
9523 2018-04-26  Pedro Alves  <palves@redhat.com>
9524
9525         * blockframe.c (find_gnu_ifunc_target_type): New function.
9526         (find_function_type): New.
9527         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
9528         return a value with a memory address.
9529         (eval_call): For calls to GNU ifunc functions, try to find the
9530         type of the target function from the type that the resolver
9531         returns.
9532         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
9533         symbols.
9534         * infcall.c (find_function_return_type): Delete.
9535         (find_function_addr): Add 'function_type' parameter.  For calls to
9536         GNU ifunc functions, try to find the type of the target function
9537         from the type that the resolver returns, and return it via
9538         FUNCTION_TYPE.
9539         (call_function_by_hand_dummy): Adjust to use the function type
9540         returned by find_function_addr.
9541         (find_function_addr): Add 'function_type' parameter and move
9542         description here.
9543         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
9544         declarations.
9545
9546 2018-04-26  Pedro Alves  <palves@redhat.com>
9547
9548         * c-exp.y (variable production): Skip finding an alias for ifunc
9549         symbols.
9550
9551 2018-04-26  Pedro Alves  <palves@redhat.com>
9552
9553         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
9554
9555 2018-04-25  Pedro Alves  <palves@redhat.com>
9556
9557         * infcmd.c (kill_command): Print the pid as string, not the whole
9558         thread's ptid.  Add comment.  s/has been killed/killed/ in output
9559         message.
9560         * remote.c (remote_detach_1): Print the pid as string, not the
9561         whole thread's ptid.
9562
9563 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9564             Sergio Durigan Junior  <sergiodj@redhat.com>
9565             Pedro Alves  <palves@redhat.com>
9566
9567         * infcmd.c (kill_command): Print message when inferior has
9568         been killed.
9569         * inferior.c (print_inferior_events): Remove 'static'.  Set as
9570         '1'.
9571         (add_inferior): Improve message printed when
9572         'print_inferior_events' is on.
9573         (exit_inferior): Remove message printed when
9574         'print_inferior_events' is on.
9575         (detach_inferior): Improve message printed when
9576         'print_inferior_events' is on.
9577         (initialize_inferiors): Use 'add_inferior_silent' to set
9578         'current_inferior_'.
9579         * inferior.h (print_inferior_events): Declare here as
9580         'extern'.
9581         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
9582         '[Detaching...]' messages when 'print_inferior_events' is on.
9583         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
9584         as prefix/suffix for messages.  Remove periods.  Fix erroneous
9585         'Detaching after fork from child...', replace it by '... from
9586         parent...'.
9587         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
9588         prefix/suffix when printing 'Detaching...' messages.  Print
9589         them when 'print_inferior_events' is on.
9590         * remote.c (remote_detach_1): Print message when detaching
9591         from inferior and '!is_fork_parent'.
9592
9593 2018-04-24  Tom Tromey  <tom@tromey.com>
9594
9595         * cli-out.h: Reindent.
9596
9597 2018-04-24  Tom Tromey  <tom@tromey.com>
9598
9599         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
9600         (cli_ui_out::do_field_string): Use fputs_filtered.
9601         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
9602
9603 2018-04-23  Tom Tromey  <tom@tromey.com>
9604
9605         * guile/scm-frame.c (gdbscm_frame_read_var): Use
9606         gdb::unique_xmalloc_ptr.
9607
9608 2018-04-23  Tom Tromey  <tom@tromey.com>
9609
9610         * configure: Rebuild.
9611
9612 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
9613
9614         PR gdb/23095
9615         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
9616         prepare_for_testing.  Set normal_bp to r_debug_state if target
9617         is bsd.
9618
9619 2018-04-21  Pedro Alves  <palves@redhat.com>
9620             Rajendra SY  <rajendra.sy@gmail.com>
9621
9622         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
9623         * remote.c (extended_remote_attach): In all-stop mode, mark the
9624         thread as executing.
9625
9626 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
9627
9628         * thread.c (thread_apply_all_command): Fix comment.
9629         (thread_command): Fix comment.
9630
9631 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
9632
9633         * common/tdesc.h (tdesc_create_feature): Remove xml filename
9634         parameter.
9635         * features/aarch64-core.c (create_feature_aarch64_core):
9636         Regenerate.
9637         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
9638         Likewise.
9639         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
9640         Likewise.
9641         * features/i386/32bit-avx512.c
9642         (create_feature_i386_32bit_avx512): Likewise.
9643         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
9644         Likewise.
9645         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
9646         Likewise.
9647         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
9648         Likewise.
9649         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
9650         Likewise.
9651         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
9652         Likewise.
9653         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
9654         Likewise.
9655         * features/i386/64bit-avx512.c
9656         (create_feature_i386_64bit_avx512): Likewise.
9657         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
9658         Likewise.
9659         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
9660         Likewise.
9661         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
9662         Likewise.
9663         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
9664         Likewise.
9665         * features/i386/64bit-segments.c
9666         (create_feature_i386_64bit_segments): Likewise.
9667         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
9668         Likewise.
9669         * features/i386/x32-core.c
9670         (create_feature_i386_x32_core): Likewise.
9671         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
9672         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
9673         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
9674         * target-descriptions.c: In generated code, don't pass xml
9675         filename.
9676
9677 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9678
9679         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
9680         (print_xml_feature::visit_post): Likewise.
9681         (print_xml_feature::visit): Likewise.
9682         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
9683         (print_xml_feature): Add new class.
9684         * regformats/regdat.sh: Null xmltarget on feature targets.
9685         * target-descriptions.c (struct target_desc): Add xmltarget.
9686         (maintenance_check_tdesc_xml_convert): Add unittest function.
9687         (tdesc_get_features_xml): Add function to get xml.
9688         (maintenance_check_xml_descriptions): Test xml generation.
9689         * xml-tdesc.c (string_read_description_xml): Add function.
9690         * xml-tdesc.h (string_read_description_xml): Add declaration.
9691
9692 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9693
9694         * features/Makefile: Add feature marker to targets with new style
9695         target descriptions.
9696         * regformats/aarch64.dat: Regenerate.
9697         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
9698         * regformats/i386/amd64-avx-linux.dat: Likewise.
9699         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
9700         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
9701         * regformats/i386/amd64-linux.dat: Likewise.
9702         * regformats/i386/amd64-mpx-linux.dat: Likewise.
9703         * regformats/i386/amd64.dat: Likewise.
9704         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
9705         * regformats/i386/i386-avx-linux.dat: Likewise.
9706         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
9707         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
9708         * regformats/i386/i386-linux.dat: Likewise.
9709         * regformats/i386/i386-mmx-linux.dat: Likewise.
9710         * regformats/i386/i386-mpx-linux.dat: Likewise.
9711         * regformats/i386/i386.dat: Likewise.
9712         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
9713         * regformats/i386/x32-avx-linux.dat: Likewise.
9714         * regformats/i386/x32-linux.dat: Likewise.
9715         * regformats/tic6x-c62x-linux.dat: Likewise.
9716         * regformats/tic6x-c64x-linux.dat: Likewise.
9717         * regformats/tic6x-c64xp-linux.dat: Likewise.
9718         * regformats/regdat.sh: Parse feature marker.
9719
9720 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9721
9722         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
9723         (tdesc_osabi_name): Likewise.
9724         * target-descriptions.c (tdesc_architecture_name): Add new
9725         function.
9726         (tdesc_osabi_name): Likewise.
9727
9728 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9729
9730         * common/tdesc.c (tdesc_predefined_type): Move to here.
9731         (tdesc_named_type): Likewise.
9732         (tdesc_create_vector): Likewise.
9733         (tdesc_create_struct): Likewise.
9734         (tdesc_set_struct_size): Likewise.
9735         (tdesc_create_union): Likewise.
9736         (tdesc_create_flags): Likewise.
9737         (tdesc_create_enum): Likewise.
9738         (tdesc_add_field): Likewise.
9739         (tdesc_add_typed_bitfield): Likewise.
9740         (tdesc_add_bitfield): Likewise.
9741         (tdesc_add_flag): Likewise.
9742         (tdesc_add_enum_value): Likewise.
9743         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
9744         (struct tdesc_type_vector): Likewise.
9745         (struct tdesc_type_field): Likewise.
9746         (struct tdesc_type_with_fields): Likewise.
9747         (tdesc_create_enum): Add declaration.
9748         (tdesc_add_typed_bitfield): Likewise.
9749         (tdesc_add_enum_value): Likewise.
9750         * target-descriptions.c (tdesc_type_field): Move from here.
9751         (tdesc_type_builtin): Likewise.
9752         (tdesc_type_vector): Likewise.
9753         (tdesc_type_with_fields): Likewise.
9754         (tdesc_predefined_types): Likewise.
9755         (tdesc_named_type): Likewise.
9756         (tdesc_create_vector): Likewise.
9757         (tdesc_create_struct): Likewise.
9758         (tdesc_set_struct_size): Likewise.
9759         (tdesc_create_union): Likewise.
9760         (tdesc_create_flags): Likewise.
9761         (tdesc_create_enum): Likewise.
9762         (tdesc_add_field): Likewise.
9763         (tdesc_add_typed_bitfield): Likewise.
9764         (tdesc_add_bitfield): Likewise.
9765         (tdesc_add_flag): Likewise.
9766         (tdesc_add_enum_value): Likewise.
9767         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
9768         (tdesc_add_typed_bitfield): Likewise.
9769         (tdesc_add_enum_value): Likewise.
9770
9771 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9772
9773         * common/tdesc.c (tdesc_feature::accept): Move to here.
9774         (tdesc_feature::operator==): Likewise.
9775         (tdesc_create_reg): Likewise.
9776         * common/tdesc.h (tdesc_type_kind): Likewise.
9777         (struct tdesc_type): Likewise.
9778         (struct tdesc_feature): Likewise.
9779         * regformats/regdat.sh: Create a feature.
9780         * target-descriptions.c (tdesc_type_kind): Move from here.
9781         (tdesc_type): Likewise.
9782         (tdesc_type_up): Likewise.
9783         (tdesc_feature): Likewise.
9784         (tdesc_create_reg): Likewise.
9785
9786 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9787
9788         * Makefile.in: Add arch/tdesc.c
9789         * common/tdesc.c: New file.
9790         * common/tdesc.h (tdesc_element_visitor): Move to here.
9791         (tdesc_element): Likewise.
9792         (tdesc_reg): Likewise.
9793         (tdesc_reg_up): Likewise.
9794         * regformats/regdef.h (reg): Add offset to constructors.
9795         * target-descriptions.c (tdesc_element_visitor): Move from here.
9796         (tdesc_element): Likewise.
9797         (tdesc_reg): Likewise.
9798         (tdesc_reg_up): Likewise.
9799
9800 2018-04-17  Tom Tromey  <tom@tromey.com>
9801
9802         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
9803         discriminant field.
9804
9805 2018-04-17  Tom Tromey  <tom@tromey.com>
9806
9807         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
9808
9809 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9810
9811         * symtab.c (print_symbol_info): Skip printing filename and line
9812         number when `last' is NULL.
9813         (symtab_symbol_info): Use empty string instead of NULL for first
9814         invocation of print_symbol_info.
9815         (rbreak_command): Pass NULL to `last' parameter of
9816         print_symbol_info.
9817
9818 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
9819
9820         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
9821         instead of nullptr.
9822
9823 2018-04-16  Pedro Alves  <palves@redhat.com>
9824
9825         * MAINTAINERS (sh): Remove.
9826         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
9827         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
9828         (ALLDEPFILES): Remove sh64-tdep.c.
9829         * NEWS: Mentions that support for SH-5/SH64 is removed.
9830         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
9831         (sh*-*-openbsd*): Ditto.
9832         (sh64-*-elf*): Remove.
9833         (sh*): Remove.
9834         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
9835         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
9836         * sh-tdep.c: No longer include "sh64-tdep.h".
9837         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
9838         * sh64-tdep.c, sh64-tdep.h: Remove files.
9839
9840 2018-04-16  Pedro Alves  <palves@redhat.com>
9841
9842         * MAINTAINERS: Remove m88k.
9843         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
9844         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
9845         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
9846         * NEWS: Mention that support for m88k was removed.
9847         * configure.host (m88*-*-*): Remove support.
9848         * configure.nat (m88k-*-*): Remove support.
9849         * configure.tgt (m88*-*-openbsd*): Remove.
9850         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
9851
9852 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
9853
9854         * configure.tgt (x86_tobjs): New variable.
9855         (amd64_tobjs, i386_tobjs): Use it.
9856
9857 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9858
9859         * symtab.c (print_symbol_info): Precede the symbol definition by
9860         the line number when available.
9861         * NEWS: Advertise this enhancement.
9862
9863 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9864
9865         * NEWS (New options): announce set/show record btrace cpu.
9866         * btrace.c: Include record-btrace.h.
9867         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
9868         the vendor is unknown.
9869         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
9870         Maybe overwrite the btrace configuration's cpu.
9871         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
9872         (btrace_fetch): Add cpu parameter.  Update callers.
9873         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
9874         Maybe overwrite the btrace configuration's cpu.  Skip enabling
9875         errata workarounds if the vendor is unknown.
9876         * python/py-record-btrace.c: Include record-btrace.h.
9877         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
9878         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
9879         * record-btrace.c (record_btrace_cpu_state_kind): New.
9880         (record_btrace_cpu): New.
9881         (set_record_btrace_cpu_cmdlist): New.
9882         (record_btrace_get_cpu): New.
9883         (require_btrace_thread, record_btrace_info)
9884         (record_btrace_resume_thread): Call record_btrace_get_cpu.
9885         (cmd_set_record_btrace_cpu_none): New.
9886         (cmd_set_record_btrace_cpu_auto): New.
9887         (cmd_set_record_btrace_cpu): New.
9888         (cmd_show_record_btrace_cpu): New.
9889         (_initialize_record_btrace): Initialize set/show record btrace cpu
9890         commands.
9891         * record-btrace.h (record_btrace_get_cpu): New.
9892
9893 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9894
9895         * record.c (set_record_command): Fix typo in message.
9896
9897 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9898
9899         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
9900
9901 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9902
9903         * infrun.c (process_event_stop_test): Call
9904         gdbarch_in_indirect_branch_thunk.
9905         * gdbarch.sh (in_indirect_branch_thunk): New.
9906         * gdbarch.c: Regenerated.
9907         * gdbarch.h: Regenerated.
9908         * x86-tdep.h: New.
9909         * x86-tdep.c: New.
9910         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
9911         (HFILES_NO_SRCDIR): Add x86-tdep.h.
9912         (ALLDEPFILES): Add x86-tdep.c.
9913         * arch-utils.h (default_in_indirect_branch_thunk): New.
9914         * arch-utils.c (default_in_indirect_branch_thunk): New.
9915         * i386-tdep: Include x86-tdep.h.
9916         (i386_in_indirect_branch_thunk): New.
9917         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
9918         function.
9919         * amd64-tdep: Include x86-tdep.h.
9920         (amd64_in_indirect_branch_thunk): New.
9921         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
9922
9923 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
9924
9925         PR gdb/23053
9926         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
9927         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
9928         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
9929         regression.
9930
9931 2018-04-12  Tom Tromey  <tom@tromey.com>
9932
9933         * rust-lang.c (rust_print_struct_def): Remove univariant code.
9934         (rust_evaluate_subexp): Likewise.
9935
9936 2018-04-12  Pedro Alves  <palves@redhat.com>
9937
9938         * procfs.c (procfs_detach): Make forward declaration's prototype
9939         match definition's protototype.
9940         (proc_get_LDT_entry): Remove stale do_cleanups call.
9941
9942 2018-04-12  Pedro Alves  <palves@redhat.com>
9943
9944         * target.h (target_ops::to_has_exited): Delete.
9945         (target_has_exited): Delete.
9946         * target-delegates.c: Regenerate.
9947
9948 2018-04-11  Pedro Alves  <palves@redhat.com>
9949
9950         * target.c (fileio_fh_t::t): Add comment.
9951         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9952         (target_fileio_close): Handle a NULL target.
9953         (invalidate_fileio_fh): New.
9954         (target_close): Call it.
9955         * remote.c (remote_hostio_send_command): No longer check whether
9956         remote_desc is open.
9957
9958 2018-04-11  Pedro Alves  <palves@redhat.com>
9959
9960         * target.c (fileio_fh_t): Make it a named struct instead of a
9961         typedef.
9962         (fileio_fh_t::is_closed): New method.
9963         (DEF_VEC_O (fileio_fh_t)): Remove.
9964         (fileio_fhandles): Now a std::vector.
9965         (is_closed_fileio_fh): Delete.
9966         (acquire_fileio_fd): Adjust.  Rename parameters.
9967         (release_fileio_fd): Adjust.
9968         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
9969         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9970         (target_fileio_close): Adjust.
9971
9972 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
9973
9974         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
9975         index.
9976
9977 2018-04-10  Pedro Alves  <palves@redhat.com>
9978
9979         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
9980         (scoped_finish_thread_state): New class.
9981         * infcmd.c (run_command_1): Use it instead of finish_thread_state
9982         cleanup.
9983         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
9984         (fetch_inferior_event, normal_stop): Likewise.
9985         * thread.c (finish_thread_state_cleanup): Delete.
9986
9987 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9988             Pedro Alves  <palves@redhat.com>
9989
9990         * value.c: Include "selftest.h" and "common/array-view.h".
9991         (struct range) <operator ==>: New.
9992         (test_ranges_contain): New.
9993         (check_ranges_vector): New.
9994         (test_insert_into_bit_range_vector): New.
9995         (_initialize_values): Register selftests.
9996         * common/array-view.h (operator==, operator!=): New.
9997
9998 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9999
10000         * common/gdb_vecs.h (unordered_remove): Add overload that takes
10001         an iterator.
10002         * inline-frame.c: Include <algorithm>.
10003         (struct inline_state): Add constructor.
10004         (inline_state_s): Remove.
10005         (DEF_VEC_O(inline_state_s)): Remove.
10006         (inline_states): Change type to std::vector.
10007         (find_inline_frame_state): Adjust to std::vector.
10008         (allocate_inline_frame_state): Remove.
10009         (clear_inline_frame_state): Adjust to std::vector.
10010         (skip_inline_frames): Adjust to std::vector.
10011
10012 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10013
10014         * tracepoint.h (struct trace_state_variable): Add constructor.
10015         <name>: Change type to std::string.
10016         * tracepoint.c (tsv_s): Remove.
10017         (DEF_VEC_O(tsv_s)): Remove.
10018         (tvariables): Change to std::vector.
10019         (create_trace_state_variable): Adjust to std::vector.
10020         (find_trace_state_variable): Likewise.
10021         (find_trace_state_variable_by_number): Likewise.
10022         (delete_trace_state_variable): Likewise.
10023         (trace_variable_command): Adjust to std::string.
10024         (delete_trace_variable_command): Likewise.
10025         (tvariables_info_1): Adjust to std::vector.
10026         (save_trace_state_variables): Likewise.
10027         (start_tracing): Likewise.
10028         (merge_uploaded_trace_state_variables): Adjust to std::vector
10029         and std::string.
10030         * target.h (struct target_ops)
10031         <to_download_trace_state_variable>: Pass reference to
10032         trace_state_variable.
10033         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
10034         * target-delegates.c: Re-generate.
10035         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
10036         (mi_tsv_deleted): Likewise.
10037         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
10038         * remote.c (remote_download_trace_state_variable): Change
10039         pointer to reference and adjust.
10040         * make-target-delegates (parse_argtypes): Handle references.
10041         (write_function_header): Likewise.
10042         (munge_type): Likewise.
10043
10044 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10045
10046         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10047         string_view-selftests.c.
10048         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
10049         testsuite.
10050         * unittests/basic_string_view/cons/char/1.cc: Likewise.
10051         * unittests/basic_string_view/cons/char/2.cc: Likewise.
10052         * unittests/basic_string_view/cons/char/3.cc: Likewise.
10053         * unittests/basic_string_view/element_access/char/1.cc:
10054         Likewise.
10055         * unittests/basic_string_view/element_access/char/empty.cc:
10056         Likewise.
10057         * unittests/basic_string_view/element_access/char/front_back.cc:
10058         Likewise.
10059         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
10060         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
10061         Likewise.
10062         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
10063         Likewise.
10064         * unittests/basic_string_view/modifiers/swap/char/1.cc:
10065         Likewise.
10066         * unittests/basic_string_view/operations/compare/char/1.cc:
10067         Likewise.
10068         * unittests/basic_string_view/operations/compare/char/13650.cc:
10069         Likewise.
10070         * unittests/basic_string_view/operations/copy/char/1.cc:
10071         Likewise.
10072         * unittests/basic_string_view/operations/data/char/1.cc:
10073         Likewise.
10074         * unittests/basic_string_view/operations/find/char/1.cc:
10075         Likewise.
10076         * unittests/basic_string_view/operations/find/char/2.cc:
10077         Likewise.
10078         * unittests/basic_string_view/operations/find/char/3.cc:
10079         Likewise.
10080         * unittests/basic_string_view/operations/find/char/4.cc:
10081         Likewise.
10082         * unittests/basic_string_view/operations/rfind/char/1.cc:
10083         Likewise.
10084         * unittests/basic_string_view/operations/rfind/char/2.cc:
10085         Likewise.
10086         * unittests/basic_string_view/operations/rfind/char/3.cc:
10087         Likewise.
10088         * unittests/basic_string_view/operations/substr/char/1.cc:
10089         Likewise.
10090         * unittests/basic_string_view/operators/char/2.cc: Likewise.
10091         * unittests/string_view-selftests.c: New file.
10092
10093 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10094
10095         * unittests/basic_string_view/capacity/1.cc: New file.
10096         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
10097         * unittests/basic_string_view/cons/char/1.cc: New file.
10098         * unittests/basic_string_view/cons/char/2.cc: New file.
10099         * unittests/basic_string_view/cons/char/3.cc: New file.
10100         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
10101         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
10102         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
10103         * unittests/basic_string_view/element_access/char/1.cc: New file.
10104         * unittests/basic_string_view/element_access/char/2.cc: New file.
10105         * unittests/basic_string_view/element_access/char/empty.cc: New file.
10106         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
10107         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
10108         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
10109         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
10110         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
10111         * unittests/basic_string_view/include.cc: New file.
10112         * unittests/basic_string_view/inserters/char/1.cc: New file.
10113         * unittests/basic_string_view/inserters/char/2.cc: New file.
10114         * unittests/basic_string_view/inserters/char/3.cc: New file.
10115         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
10116         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
10117         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
10118         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
10119         * unittests/basic_string_view/literals/types.cc: New file.
10120         * unittests/basic_string_view/literals/values.cc: New file.
10121         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
10122         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
10123         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
10124         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
10125         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
10126         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
10127         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
10128         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
10129         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
10130         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
10131         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
10132         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
10133         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
10134         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
10135         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
10136         * unittests/basic_string_view/operations/data/char/1.cc: New file.
10137         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
10138         * unittests/basic_string_view/operations/find/char/1.cc: New file.
10139         * unittests/basic_string_view/operations/find/char/2.cc: New file.
10140         * unittests/basic_string_view/operations/find/char/3.cc: New file.
10141         * unittests/basic_string_view/operations/find/char/4.cc: New file.
10142         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
10143         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
10144         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
10145         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
10146         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
10147         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
10148         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
10149         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
10150         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
10151         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
10152         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
10153         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
10154         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
10155         * unittests/basic_string_view/operators/char/2.cc: New file.
10156         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
10157         * unittests/basic_string_view/range_access/char/1.cc: New file.
10158         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
10159         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
10160         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
10161         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
10162         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
10163         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
10164         * unittests/basic_string_view/requirements/typedefs.cc: New file.
10165         * unittests/basic_string_view/typedefs.cc: New file.
10166         * unittests/basic_string_view/types/1.cc: New file.
10167
10168 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10169
10170         * common/gdb_string_view.h: Remove libstdc++ implementation
10171         details, adjust to gdb reality.
10172         * common/gdb_string_view.tcc: Likewise.
10173         * cli/cli-script.c (struct string_view): Remove.
10174         (user_args) <m_args>: Change element type to gdb::string_view.
10175         (user_args::insert_args): Adjust.
10176
10177 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10178
10179         * common/gdb_string_view.h: New file.
10180         * common/gdb_string_view.tcc: New file.
10181
10182 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10183
10184         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
10185         * configure: Re-generate.
10186
10187 2018-04-09  Pedro Alves  <palves@redhat.com>
10188
10189         * gdbarch.sh: Include "observable.h" instead of "observer.h".
10190         (set_target_gdbarch): Call
10191         gdb::observers::architecture_changed.notify instead of
10192         observer_notify_architecture_changed.
10193
10194 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10195
10196         * tracepoint.c (struct current_traceframe_cleanup): Remove.
10197         (do_restore_current_traceframe_cleanup): Remove.
10198         (restore_current_traceframe_cleanup_dtor): Remove.
10199         (make_cleanup_restore_current_traceframe): Remove.
10200         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
10201         New.
10202         * tracepoint.h (struct scoped_restore_current_traceframe): New.
10203         * infrun.c (fetch_inferior_event): Use
10204         scoped_restore_current_traceframe.
10205
10206 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10207
10208         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
10209         Remove.
10210         <n_allocated_type_units>: Remove.
10211         <all_type_units>: Change to std::vector.
10212         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10213         to std::vector change.
10214         (dwarf2_per_objfile::get_cutu): Likewise.
10215         (dwarf2_per_objfile::get_tu): Likewise.
10216         (create_signatured_type_table_from_index): Likewise.
10217         (create_signatured_type_table_from_debug_names): Likewise.
10218         (dw2_symtab_iter_next): Likewise.
10219         (dw2_print_stats): Likewise.
10220         (dw2_expand_all_symtabs): Likewise.
10221         (dw2_expand_marked_cus): Likewise.
10222         (dw2_debug_names_iterator::next): Likewise.
10223         (dwarf2_initialize_objfile): Likewise.
10224         (add_signatured_type_cu_to_table): Likewise.
10225         (create_all_type_units): Likewise.
10226         (add_type_unit): Likewise.
10227         (struct tu_abbrev_offset): Add constructor.
10228         (build_type_psymtabs_1): Adjust to std::vector change.
10229         (print_tu_stats): Likewise.
10230         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10231         (write_debug_names): Likewise.
10232
10233 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10234
10235         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
10236         Make an std::vector.
10237         <n_comp_units>: Remove.
10238         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10239         to std::vector change.
10240         (dwarf2_per_objfile::get_cutu): Likewise.
10241         (dwarf2_per_objfile::get_cu): Likewise.
10242         (create_cus_from_index): Likewise.
10243         (create_addrmap_from_index): Likewise.
10244         (create_addrmap_from_aranges): Likewise.
10245         (dwarf2_read_index): Likewise.
10246         (dw2_find_last_source_symtab): Likewise.
10247         (dw2_map_symtabs_matching_filename): Likewise.
10248         (dw2_symtab_iter_next): Likewise.
10249         (dw2_print_stats): Likewise.
10250         (dw2_expand_all_symtabs): Likewise.
10251         (dw2_expand_symtabs_with_fullname): Likewise.
10252         (dw2_expand_marked_cus): Likewise.
10253         (dw2_map_symbol_filenames): Likewise.
10254         (create_cus_from_debug_names): Likewise.
10255         (dwarf2_read_debug_names): Likewise.
10256         (dw2_debug_names_iterator::next): Likewise.
10257         (dwarf2_initialize_objfile): Likewise.
10258         (set_partial_user): Likewise.
10259         (dwarf2_build_psymtabs_hard): Likewise.
10260         (read_comp_units_from_section): Remove arguments, adjust to
10261         std::vector change.
10262         (create_all_comp_units): Adjust to std::vector and
10263         read_comp_units_from_section changes.
10264         (dwarf2_find_containing_comp_unit): Adjust to std::vector
10265         change.
10266         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10267         (psyms_seen_size): Likewise.
10268         (write_gdbindex): Likewise.
10269         (write_debug_names): Likewise.
10270
10271 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10272
10273         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
10274         with dwarf2_per_objfile.
10275         (create_cus_from_index): Likewise.
10276         (create_signatured_type_table_from_index): Likewise.
10277         (dwarf2_read_index): Likewise.
10278         (dwarf2_initialize_objfile): Likewise.
10279         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
10280         per_cu rather than get_dwarf2_per_objfile.
10281
10282 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10283
10284         * dwarf2read.h (struct signatured_type): Forward declare.
10285         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
10286         New methods.
10287         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
10288         (dw2_get_cutu): ...this.
10289         (dwarf2_per_objfile::get_cu): Rename from...
10290         (dw2_get_cu): ...this.
10291         (dwarf2_per_objfile::get_tu): New.
10292         (create_addrmap_from_index): Adjust.
10293         (create_addrmap_from_aranges): Adjust.
10294         (dw2_find_last_source_symtab): Adjust.
10295         (dw2_map_symtabs_matching_filename): Adjust.
10296         (dw2_symtab_iter_next): Adjust.
10297         (dw2_print_stats): Adjust.
10298         (dw2_expand_all_symtabs): Adjust.
10299         (dw2_expand_symtabs_with_fullname): Adjust.
10300         (dw2_expand_marked_cus): Adjust.
10301         (dw_expand_symtabs_matching_file_matcher): Adjust.
10302         (dw2_map_symbol_filenames): Adjust.
10303         (dw2_debug_names_iterator::next): Adjust.
10304         (dwarf2_initialize_objfile): Adjust.
10305         (set_partial_user): Adjust.
10306         (dwarf2_build_psymtabs_hard): Adjust.
10307
10308 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10309
10310         * dwarf2read.c (create_signatured_type_table_from_debug_names):
10311         Remove unused variables.
10312         (dw2_map_symtabs_matching_filename): Likewise.
10313         (dwarf2_record_block_ranges): Likewise.
10314         (dwarf2_read_addr_index): Likewise.
10315         (follow_die_offset): Likewise.
10316
10317 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10318
10319         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
10320         to symbol_file_add_main.
10321
10322 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10323
10324         PR mi/22299
10325         * mi/mi-console.c (do_fputc_async_safe): New.
10326         (mi_console_file::write_async_safe): New.
10327         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
10328         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
10329         New.
10330         * ui-file.c (ui_file::putstrn): Adjust call to
10331         fputstrn_unfiltered.
10332         * utils.c (printchar): Replace do_fputs and do_fprintf
10333         parameters by do_fputc.
10334         (fputstr_filtered): Adjust call to printchar.
10335         (fputstr_unfiltered): Likewise.
10336         (fputstrn_filtered): Likewise.
10337         (fputstrn_unfiltered): Add do_fputc parameter, pass to
10338         printchar.
10339         * utils.h (do_fputc_ftype): New typedef.
10340         (fputstrn_unfiltered): Add do_fputc parameter.
10341
10342 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10343
10344         * regformats/i386/i386-avx.dat: Remove.
10345
10346 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10347
10348         PR gdb/22979
10349         * amd64-tdep.c (amd64_none_init_abi): New function.
10350         (amd64_x32_none_init_abi): New function.
10351         (_initialize_amd64_tdep): Register handlers for x86-64 and
10352         x64_32 with GDB_OSABI_NONE.
10353         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
10354         GDB_OSABI_NONE osabi.
10355
10356 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10357
10358         PR gdb/22980
10359         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
10360         GDB_OSABI_NONE.
10361         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
10362         * osabi.c (gdb_osabi_names): Add "unknown" entry.
10363
10364 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10365
10366         * common/byte-vector.h (char_vector): New type.
10367         * target.h (target_read_alloc): Return
10368         gdb::optional<byte_vector>.
10369         (target_read_stralloc): Return gdb::optional<char_vector>.
10370         (target_get_osdata): Return gdb::optional<char_vector>.
10371         * target.c (target_read_alloc_1): Templatize.  Replacement
10372         manual memory management with vector.
10373         (target_read_alloc): Change return type, adjust.
10374         (target_read_stralloc): Change return type, adjust.
10375         (target_get_osdata): Change return type, adjust.
10376         * auxv.c (struct auxv_info) <length>: Remove.
10377         <data>: Change type to gdb::optional<byte_vector>.
10378         (auxv_inferior_data_cleanup): Free auxv_info with delete.
10379         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
10380         (target_auxv_search): Adjust.
10381         (fprint_target_auxv): Adjust.
10382         * avr-tdep.c (avr_io_reg_read_command): Adjust.
10383         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
10384         (linux_make_corefile_notes): Adjust.
10385         * osdata.c (get_osdata): Adjust.
10386         * remote.c (remote_get_threads_with_qxfer): Adjust.
10387         (remote_memory_map): Adjust.
10388         (remote_traceframe_info): Adjust.
10389         (btrace_read_config): Adjust.
10390         (remote_read_btrace): Adjust.
10391         (remote_pid_to_exec_file): Adjust.
10392         * solib-aix.c (solib_aix_get_library_list): Adjust.
10393         * solib-dsbt.c (decode_loadmap): Don't free buf.
10394         (dsbt_get_initial_loadmaps): Adjust.
10395         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
10396         * solib-target.c (solib_target_current_sos): Adjust.
10397         * tracepoint.c (sdata_make_value): Adjust.
10398         * xml-support.c (xinclude_start_include): Adjust.
10399         (xml_fetch_content_from_file): Adjust.
10400         * xml-support.h (xml_fetch_another): Change return type.
10401         (xml_fetch_content_from_file): Change return type.
10402         * xml-syscall.c (xml_init_syscalls_info): Adjust.
10403         * xml-tdesc.c (file_read_description_xml): Adjust.
10404         (fetch_available_features_from_target): Change return type.
10405         (target_fetch_description_xml): Adjust.
10406         (target_read_description_xml): Adjust.
10407
10408 2018-04-06  Tom Tromey  <tom@tromey.com>
10409
10410         * value.c (~value): Update.
10411         (struct value) <contents>: Now unique_xmalloc_ptr.
10412         (value_contents_bits_eq, allocate_value_contents)
10413         (value_contents_raw, value_contents_all_raw)
10414         (value_contents_for_printing, value_contents_for_printing_const)
10415         (set_value_enclosing_type): Update.
10416
10417 2018-04-06  Tom Tromey  <tom@tromey.com>
10418
10419         * value.c (range_s): Remove typedef, VEC.
10420         (struct range): Add operator<.
10421         (range_lessthan): Remove.
10422         (ranges_contain): Change type.
10423         (~value): Update.
10424         (struct value) <unavailable, optimized_out>: Now std::vector.
10425         (value_entirely_available)
10426         (value_entirely_covered_by_range_vector)
10427         (value_entirely_unavailable, value_entirely_optimized_out):
10428         Update.
10429         (insert_into_bit_range_vector): Change argument type.
10430         (find_first_range_overlap): Likewise.
10431         (struct ranges_and_idx, value_contents_bits_eq)
10432         (require_not_optimized_out, require_available): Update.
10433         (ranges_copy_adjusted): Change argument types.
10434         (value_optimized_out, value_copy, value_fetch_lazy): Update.
10435
10436 2018-04-06  Tom Tromey  <tom@tromey.com>
10437
10438         * value.c (~value): Update.
10439         (struct value) <parent>: Now a value_ref_ptr.
10440         (value_parent, set_value_parent, value_address, value_copy):
10441         Update.
10442
10443 2018-04-06  Tom Tromey  <tom@tromey.com>
10444
10445         * value.c (struct value): Add constructor, destructor, and member
10446         initializers.
10447         (allocate_value_lazy, value_decref): Update.
10448
10449 2018-04-06  Tom Tromey  <tom@tromey.com>
10450
10451         * value.c (struct value) <released, next>: Remove.
10452         (all_values): Now a std::vector.
10453         (allocate_value_lazy): Update.
10454         (value_next): Remove.
10455         (value_mark, value_free_to_mark, release_value)
10456         (value_release_to_mark): Update.
10457
10458 2018-04-06  Tom Tromey  <tom@tromey.com>
10459
10460         * value.h (fetch_subexp_value, value_release_to_mark): Update.
10461         (free_value_chain): Remove.
10462         * value.c (free_value_chain): Remove.
10463         (value_release_to_mark): Return a std::vector.
10464         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
10465         std::vector.
10466         (check_condition): Update.
10467         * eval.c (fetch_subexp_value): Change "val_chain" to a
10468         std::vector.
10469         * breakpoint.c (update_watchpoint): Update.
10470         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
10471
10472 2018-04-06  Tom Tromey  <tom@tromey.com>
10473
10474         * value.h (free_all_values): Remove.
10475         * value.c (free_all_values): Remove.
10476
10477 2018-04-06  Tom Tromey  <tom@tromey.com>
10478
10479         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
10480         (value_history_chain, value_history_count): Remove.
10481         (value_history): New global.
10482         (record_latest_value, access_value_history, show_values)
10483         (preserve_values): Update.
10484
10485 2018-04-06  Tom Tromey  <tom@tromey.com>
10486
10487         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
10488         * varobj.c (varobj_set_display_format, varobj_set_value)
10489         (install_default_visualizer, construct_visualizer)
10490         (install_new_value, ~varobj, varobj_get_value_type)
10491         (my_value_of_variable, varobj_editable_p): Update.
10492         * c-varobj.c (c_describe_child, c_value_of_variable)
10493         (cplus_number_of_children, cplus_describe_child): Update.
10494         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
10495         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
10496         (ada_value_of_variable, ada_value_is_changeable_p): Update.
10497
10498 2018-04-06  Tom Tromey  <tom@tromey.com>
10499
10500         * printcmd.c (last_examine_address): Change type to
10501         value_ref_ptr.
10502         (do_examine, x_command): Update.
10503
10504 2018-04-06  Tom Tromey  <tom@tromey.com>
10505
10506         * value.c (release_value): Update.
10507         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
10508         (struct bpstats) <val>: Now a value_ref_ptr.
10509         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10510         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10511         (~watchpoint, print_it_watchpoint, watch_command_1)
10512         (invalidate_bp_value_on_memory_change): Update.
10513
10514 2018-04-06  Tom Tromey  <tom@tromey.com>
10515
10516         * varobj.c (varobj_clear_saved_item)
10517         (update_dynamic_varobj_children, install_new_value, ~varobj):
10518         Update.
10519         * value.h (value_incref): Move declaration earlier.
10520         (value_decref): Rename from value_free.
10521         (struct value_ref_policy): New.
10522         (value_ref_ptr): New typedef.
10523         (struct value_deleter): Remove.
10524         (gdb_value_up): Remove typedef.
10525         (release_value): Change return type.
10526         (release_value_or_incref): Remove.
10527         * value.c (set_value_parent): Update.
10528         (value_incref): Change return type.
10529         (value_decref): Rename from value_free.
10530         (value_free_to_mark, free_all_values, free_value_chain): Update.
10531         (release_value): Return value_ref_ptr.
10532         (release_value_or_incref): Remove.
10533         (record_latest_value, set_internalvar, clear_internalvar):
10534         Update.
10535         * stack.c (info_frame_command): Don't call value_free.
10536         * python/py-value.c (valpy_dealloc, valpy_new)
10537         (value_to_value_object): Update.
10538         * printcmd.c (do_examine): Update.
10539         * opencl-lang.c (lval_func_free_closure): Update.
10540         * mi/mi-main.c (register_changed_p): Don't call value_free.
10541         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
10542         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
10543         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
10544         value_free.
10545         * guile/scm-value.c (vlscm_free_value_smob)
10546         (vlscm_scm_from_value): Update.
10547         * frame.c (frame_register_unwind, frame_unwind_register_signed)
10548         (frame_unwind_register_unsigned, get_frame_register_bytes)
10549         (put_frame_register_bytes): Don't call value_free.
10550         * findvar.c (address_from_register): Don't call value_free.
10551         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
10552         * dwarf2loc.c (entry_data_value_free_closure)
10553         (value_of_dwarf_reg_entry, free_pieced_value_closure)
10554         (dwarf2_evaluate_loc_desc_full): Update.
10555         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10556         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10557         (~watchpoint, watch_command_1)
10558         (invalidate_bp_value_on_memory_change): Update.
10559         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
10560
10561 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
10562
10563         PR gdb/23022
10564         * warning.m4: Add -Wno-error=deprecated-register.
10565         * configure: Re-generate.
10566
10567 2018-04-05  Tom Tromey  <tom@tromey.com>
10568
10569         * linespec.h: Remove include of "vec.h".
10570
10571 2018-04-05  Tom Tromey  <tom@tromey.com>
10572
10573         * linespec.c (typep): Remove typedef.
10574         (find_methods, find_superclass_methods): Take a std::vector.
10575         (find_method): Use std::vector.
10576
10577 2018-04-05  Tom Tromey  <tom@tromey.com>
10578
10579         * utils.c (compare_strings): Remove.
10580         * utils.h (compare_strings): Remove.
10581         * objc-lang.h (find_imps): Update.
10582         * objc-lang.c (find_methods): Take a std::vector.
10583         (uniquify_strings, find_imps): Likewise.
10584         * linespec.c (find_methods): Take a std::vector.
10585         (decode_objc): Use std::vector.
10586         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
10587         a std::vector.
10588         (find_method, find_function_symbols): Use std::vector.
10589
10590 2018-04-05  Tom Tromey  <tom@tromey.com>
10591
10592         * completer.c (completion_tracker::completion_tracker): Remove
10593         cast.
10594         (completion_tracker::discard_completions): Likewise.
10595         * breakpoint.c (ambiguous_names_p): Remove cast.
10596         * ada-lang.c (_initialize_ada_language): Remove cast.
10597         * utils.h (streq): Update.
10598         (streq_hash): Add new declaration.
10599         * utils.c (streq): Return bool.
10600         (streq_hash): New function.
10601
10602 2018-04-05  Tom Tromey  <tom@tromey.com>
10603
10604         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
10605         Remove a string copy.
10606
10607 2018-04-05  Tom Tromey  <tom@tromey.com>
10608
10609         * linespec.c (filter_results): Use std::vector.
10610         (decode_line_2, decode_line_full): Update.
10611
10612 2018-04-05  Tom Tromey  <tom@tromey.com>
10613
10614         * linespec.c (canonical_to_fullform): Return std::string.
10615         (filter_results): Update.
10616         (struct decode_line_2_item): Add constructor.
10617         <fullform, displayform>: Now std::string.
10618         (decode_line_2_compare_items): Now a std::sort comparator.
10619         (decode_line_2): Update.
10620
10621 2018-04-05  Tom Tromey  <tom@tromey.com>
10622
10623         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
10624         (unexpected_linespec_error): Update.
10625         (linespec_parse_basic, parse_linespec): Update.
10626
10627 2018-04-05  Tom Tromey  <tom@tromey.com>
10628
10629         * linespec.c (linespec_parse_basic): Reindent.
10630
10631 2018-04-05  Tom Tromey  <tom@tromey.com>
10632
10633         * minsyms.h (iterate_over_minimal_symbols): Update.
10634         * minsyms.c (iterate_over_minimal_symbols): Take a
10635         gdb::function_view.
10636         * linespec.c (struct collect_minsyms): Remove.
10637         (compare_msyms): Now a std::sort comparator.
10638         (add_minsym): Add parameters.
10639         (search_minsyms_for_name): Update.  Use std::vector.
10640
10641 2018-04-03  Tom Tromey  <tom@tromey.com>
10642
10643         * mipsread.c (read_alphacoff_dynamic_symtab): Use
10644         gdb::byte_vector.
10645
10646 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10647
10648         * MAINTAINERS (Write After Approval): Add Weimin Pan.
10649
10650 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10651
10652         PR gdb/16959
10653         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
10654         printing static type.
10655
10656 2018-04-01  Tom Tromey  <tom@tromey.com>
10657
10658         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
10659         (rs6000_xfer_shared_libraries): Update.
10660
10661 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
10662
10663         * common/gdb_vecs.h (char_ptr): Remove.
10664         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
10665
10666 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10667
10668         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
10669         with std::vector.
10670         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
10671
10672 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10673
10674         * tracepoint.h (struct uploaded_tp): Initialize fields.
10675         <actions, step_actions, cmd_strings>: Change type to
10676         std::vector<char *>.
10677         * tracepoint.c (get_uploaded_tp): Allocate with new.
10678         (free_uploaded_tps): Free with delete.
10679         (parse_tracepoint_definition): Adjust to std::vector change.
10680         * breakpoint.c (read_uploaded_action): Likewise.
10681         (create_tracepoint_from_upload): Likewise.
10682         * ctf.c (ctf_write_uploaded_tp): Likewise.
10683         (SET_ARRAY_FIELD): Likewise.
10684         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
10685
10686 2018-03-30  Tom Tromey  <tom@tromey.com>
10687
10688         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
10689         std::unique_ptr.
10690         (svr4_keep_data_in_core): Update.
10691         (svr4_read_so_list): Update.
10692
10693 2018-03-30  Tom Tromey  <tom@tromey.com>
10694
10695         * windows-nat.c (handle_output_debug_string, handle_exception):
10696         Update.
10697         * target.h (target_read_string): Update.
10698         * target.c (target_read_string): Change "string" to
10699         unique_xmalloc_ptr.
10700         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
10701         Update.
10702         * solib-frv.c (frv_current_sos): Update.
10703         * solib-dsbt.c (dsbt_current_sos): Update.
10704         * solib-darwin.c (darwin_current_sos): Update.
10705         * linux-thread-db.c (inferior_has_bug): Update.
10706         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
10707         Update.  Remove alloca.
10708         * ada-lang.c (ada_main_name): Update.
10709
10710 2018-03-30  Tom Tromey  <tom@tromey.com>
10711
10712         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
10713         (struct dwo_file_deleter): New.
10714         (dwo_file_up): New typedef.
10715         (open_and_init_dwo_file): Use dwo_file_up.
10716         (free_dwo_file_cleanup): Remove.
10717
10718 2018-03-30  Tom Tromey  <tom@tromey.com>
10719
10720         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
10721         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
10722
10723 2018-03-30  Tom Tromey  <tom@tromey.com>
10724
10725         * dwarf2read.c (class free_cached_comp_units): New class.
10726         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
10727         (free_cached_comp_units): Remove function.
10728
10729 2018-03-30  Tom Tromey  <tom@tromey.com>
10730
10731         * utils.h (make_cleanup_unpush_target): Remove.
10732         * inf-ptrace.c (struct target_unpusher): New.
10733         (target_unpush_up) New typedef.
10734         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
10735         target_unpush_up.
10736         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
10737
10738 2018-03-27  Tom Tromey  <tom@tromey.com>
10739
10740         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
10741
10742 2018-03-27  Pedro Alves  <palves@redhat.com>
10743             Tom Tromey  <tom@tromey.com>
10744
10745         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
10746         destructor.  Now a class.
10747         (gdb_readline_wrapper_cleanup): Remove function.
10748         (gdb_readline_wrapper): Remove cleanups.
10749
10750 2018-03-27  Tom Tromey  <tom@tromey.com>
10751
10752         * typeprint.h (struct type_print_options) <local_typedefs,
10753         global_typedefs>: Remove "struct" keyword.
10754         (class typedef_hash_table): New class.
10755         (recursively_update_typedef_hash, add_template_parameters)
10756         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
10757         (find_typedef_in_hash): Don't declare.
10758         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
10759         (typedef_hash_table::recursively_update): Rename from
10760         recursively_update_typedef_hash.  Now a member.
10761         (typedef_hash_table::add_template_parameters): Rename from
10762         add_template_parameters.  Now a member.
10763         (typedef_hash_table::typedef_hash_table): Now a constructor;
10764         rename from create_typedef_hash.
10765         (typedef_hash_table::~typedef_hash_table): Now a destructor;
10766         rename from free_typedef_hash.
10767         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
10768         (do_free_global_table): Remove.
10769         (typedef_hash_table::typedef_hash_table): New constructor; renamed
10770         from copy_type_recursive.
10771         (create_global_typedef_table): Remove.
10772         (typedef_hash_table::find_global_typedef): Now a member of
10773         typedef_hash_table.
10774         (typedef_hash_table::find_typedef): Rename from
10775         find_typedef_in_hash; now a member.
10776         (whatis_exp): Update.
10777         * extension.h (struct ext_lang_type_printers): Add constructor and
10778         destructor.
10779         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
10780         declare.
10781         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
10782         Now a constructor; rename from start_ext_lang_type_printers.
10783         (ext_lang_type_printers): Now a destructor; rename from
10784         free_ext_lang_type_printers.
10785         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
10786         Update.
10787         (c_type_print_base_struct_union): Update.  Remove cleanups.
10788
10789 2018-03-27  Tom Tromey  <tom@tromey.com>
10790
10791         * dwarf-index-write.c: Include <cmath>.
10792
10793 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10794
10795         * NEWS: Add entry describing new "set|show varsize-limit" command.
10796         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
10797         command.
10798         * printcmd.c (_initialize_printcmd): Add "set var" alias of
10799         "set variable".
10800
10801 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
10802
10803         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
10804         dwarf-index-write.c
10805         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
10806         * dwarf-index-common.c: New file.
10807         * dwarf-index-common.h: New file.
10808         * dwarf-index-write.c: New file.
10809         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
10810         (struct dwarf2_section_info): Move from here.
10811         (dwarf2_section_info_def): Likewise.
10812         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
10813         (offset_type): Likewise.
10814         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
10815         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
10816         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
10817         (byte_swap): Likewise.
10818         (MAYBE_SWAP): Likewise.
10819         (dwarf2_per_cu_ptr): Likewise.
10820         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
10821         (struct tu_stats): Likewise.
10822         (struct dwarf2_per_objfile): Likewise.
10823         (struct dwarf2_per_cu_data): Likewise.
10824         (struct signatured_type): Likewise.
10825         (sig_type_ptr): Likewise.
10826         (DEF_VEC_P (sig_type_ptr)): Likewise.
10827         (INDEX4_SUFFIX): Likewise.
10828         (INDEX5_SUFFIX): Likewise.
10829         (DEBUG_STR_SUFFIX): Likewise.
10830         (dwarf2_read_section): Make non-static.
10831         (mapped_index_string_hash): Move from here.
10832         (dwarf5_djb_hash): Likewise.
10833         (file_write): Likewise.
10834         (class data_buf): Likewise.
10835         (struct symtab_index_entry): Likewise.
10836         (struct mapped_symtab): Likewise.
10837         (find_slot): Likewise.
10838         (hash_expand): Likewise.
10839         (add_index_entry): Likewise.
10840         (uniquify_cu_indices): Likewise.
10841         (class c_str_view): Likewise.
10842         (class c_str_view_hasher): Likewise.
10843         (class vector_hasher): Likewise.
10844         (write_hash_table): Likewise.
10845         (psym_index_map): Likewise.
10846         (struct addrmap_index_data): Likewise.
10847         (add_address_entry): Likewise.
10848         (add_address_entry_worker): Likewise.
10849         (write_address_map): Likewise.
10850         (symbol_kind): Likewise.
10851         (write_psymbols): Likewise.
10852         (struct signatured_type_index_data): Likewise.
10853         (write_one_signatured_type): Likewise.
10854         (recursively_count_psymbols): Likewise.
10855         (recursively_write_psymbols): Likewise.
10856         (class debug_names): Likewise.
10857         (check_dwarf64_offsets): Likewise.
10858         (psyms_seen_size): Likewise.
10859         (write_gdbindex): Likewise.
10860         (write_debug_names): Likewise.
10861         (assert_file_size): Likewise.
10862         (write_psymtabs_to_index): Likewise.
10863         (save_gdb_index_command): Likewise.
10864         (_initialize_dwarf2_read): Don't register the "save gdb-index"
10865         command.
10866         * dwarf2read.h: New file.
10867
10868 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10869
10870         PR gdb/22670
10871         * dwarf2read.c (dwarf2_physname): Do not return the demangled
10872         symbol name if the CU's language stores symbol names in linkage
10873         format.
10874         * language.h (struct language_defn)
10875         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
10876         all instances of this struct.
10877
10878 2018-03-26  Tom Tromey  <tom@tromey.com>
10879
10880         * stack.c (backtrace_command_1): Remove verbose code.
10881
10882 2018-03-26  Tom Tromey  <tom@tromey.com>
10883
10884         * python/py-framefilter.c (py_print_type): Don't catch
10885         exceptions.  Return void.
10886         (py_print_value): Likewise.
10887         (py_print_single_arg): Likewise.
10888         (enumerate_args): Don't catch exceptions.
10889         (py_print_args): Likewise.
10890         (py_print_frame): Likewise.
10891         (gdbpy_apply_frame_filter): Catch exceptions here.
10892
10893 2018-03-26  Tom Tromey  <tom@tromey.com>
10894
10895         * stack.c (_initialize_stack): Remove trailing newlines from help
10896         text.  Add "Usage" line to "backtrace" help.
10897
10898 2018-03-26  Tom Tromey  <tom@tromey.com>
10899
10900         PR python/16486:
10901         * python/py-framefilter.c (py_print_args): Call wrap_hint.
10902
10903 2018-03-26  Tom Tromey  <tom@tromey.com>
10904
10905         * python/py-framefilter.c (py_print_single_arg): Return
10906         EXT_LANG_BT_ERROR from catch.
10907
10908 2018-03-26  Tom Tromey  <tom@tromey.com>
10909
10910         PR backtrace/15584:
10911         * stack.c (backtrace_command_1): Move some code into no-filters
10912         "if".
10913
10914 2018-03-26  Tom Tromey  <tom@tromey.com>
10915
10916         * python/py-framefilter.c (throw_quit_or_print_exception): New
10917         function.
10918         (gdbpy_apply_frame_filter): Use it.
10919
10920 2018-03-26  Tom Tromey  <tom@tromey.com>
10921
10922         PR cli/17716:
10923         * python/py-framefilter.c (py_print_type, py_print_value)
10924         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
10925         RETURN_MASK_ERROR.
10926
10927 2018-03-26  Tom Tromey  <tom@tromey.com>
10928
10929         * python/py-framefilter.c (enumerate_args): Use
10930         gdb::unique_xmalloc_ptr.
10931
10932 2018-03-26  Tom Tromey  <tom@tromey.com>
10933
10934         * python/py-framefilter.c (py_print_frame): Return
10935         EXT_LANG_BT_OK.
10936         (gdbpy_apply_frame_filter): Update comment.
10937         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
10938         Remove.
10939         <EXT_LANG_BT_NO_FILTERS>: Change value.
10940
10941 2018-03-26  Tom Tromey  <tom@tromey.com>
10942
10943         PR backtrace/15582:
10944         * stack.c (backtrace_command): Parse "hide" argument.
10945         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
10946         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
10947         constant.
10948
10949 2018-03-26  Tom Tromey  <tom@tromey.com>
10950
10951         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
10952         add "flags".
10953         (backtrace_command): Remove "fulltrace", add "flags".
10954
10955 2018-03-26  Tom Tromey  <tom@tromey.com>
10956
10957         * stack.c (backtrace_command): Rewrite command line parsing.
10958
10959 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10960
10961         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
10962
10963 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10964
10965         * filename-seen-cache.h: Add include guard.
10966
10967 2018-03-26  Keith Seitz  <keiths@redhat.com>
10968
10969         * symfile.c (place_section): Remove "struct" from section_addr_info
10970         in comment.
10971         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
10972         "struct" keyword from section_addr_info.
10973
10974 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
10975
10976         * regformats/regdef.h (reg): Add constructors.
10977
10978 2018-03-25  Pedro Alves  <palves@redhat.com>
10979
10980         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
10981         if then/else bodies in var_func_name extraction.
10982
10983 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
10984
10985         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
10986         lookup_minimal_symbol() to find symbol entry.
10987         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
10988
10989 2018-03-23  Keith Seitz  <keiths@redhat.com>
10990
10991         PR c++/22968
10992         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
10993         nested type definitions for C++, too.
10994
10995 2018-03-23  Tom Tromey  <tom@tromey.com>
10996
10997         * machoread.c (struct oso_el): Add a constructor.  Don't define as
10998         a typedef.
10999         (macho_register_oso): Remove.
11000         (macho_symtab_read): Take a std::vector.
11001         (oso_el_compare_name): Now a std::sort comparator.
11002         (macho_symfile_read_all_oso): Take a std::vector.
11003         (macho_symfile_read): Use std::vector.  Remove cleanups.
11004
11005 2018-03-22  Tom Tromey  <tom@tromey.com>
11006
11007         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
11008         (record_full_goto_bookmark): Use std::string.
11009
11010 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11011
11012         PR tdep/18295
11013         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
11014         a single mask.
11015
11016 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11017
11018         * rs6000-tdep.c (store_insn_p): New function.
11019         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
11020         and cr_reg to their unshifted values. Use store_insn_p to
11021         match LR saves using either R1 or fdata->alloca_reg. Use
11022         store_insn_p to match CR saves. Set alloca_reg_offset
11023         when alloca_reg and framep are set. Remove lr_reg shift
11024         when assigning to fdata->lr_register.
11025
11026 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11027
11028         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
11029         command line args instead of emitting a warning.
11030
11031 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11032
11033         * tracepoint.h (struct static_tracepoint_marker): Initialize
11034         fields, define default constructor, move constructor and move
11035         assignment, disable the rest.
11036         <str_id, extra>: Make std::string.
11037         (release_static_tracepoint_marker): Remove.
11038         (free_current_marker): Remove.
11039         * tracepoint.c (free_current_marker): Remove.
11040         (parse_static_tracepoint_marker_definition): Adjust to
11041         std::string, use new hex2str overload.
11042         (release_static_tracepoint_marker): Remove.
11043         (print_one_static_tracepoint_marker): Get marker by reference
11044         and adjust to std::string.
11045         (info_static_tracepoint_markers_command): Adjust to std::vector
11046         changes
11047         * target.h (static_tracepoint_marker_p): Remove typedef.
11048         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
11049         (struct target_ops) <to_static_tracepoint_marker_at>: Return
11050         bool.
11051         <to_static_tracepoint_markers_by_strid>: Return std::vector.
11052         * target-debug.h
11053         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
11054         (target_debug_print_std_vector_static_tracepoint_marker): New.
11055         (target_debug_print_struct_static_tracepoint_marker_p): Rename
11056         to...
11057         (target_debug_print_static_tracepoint_marker_p): ... this.
11058         * target-delegates.c: Re-generate.
11059         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
11060         Make std::string.
11061         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
11062         (decode_static_tracepoint_spec): Adjust to std::vector.
11063         (tracepoint_print_one_detail): Adjust to std::string.
11064         (strace_marker_decode_location): Adjust to std::string.
11065         (update_static_tracepoint): Adjust to std::string, remove call
11066         to release_static_tracepoint_marker.
11067         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
11068         Adjust to std::vector.
11069         * remote.c (remote_static_tracepoint_marker_at): Return bool.
11070         (remote_static_tracepoint_markers_by_strid): Adjust to
11071         std::vector.
11072         * common/rsp-low.h (hex2str): New overload with explicit count
11073         of bytes.
11074         * common/rsp-low.c (hex2str): New overload with explicit count
11075         of bytes.
11076         * unittests/rsp-low-selftests.c (test_hex2str): New function.
11077         (_initialize_rsp_low_selftests): Add test_hex2str test.
11078         * unittests/tracepoint-selftests.c
11079         (test_parse_static_tracepoint_marker_definition): Adjust to
11080         std::string.
11081
11082 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11083
11084         * tracepoint.c (parse_static_tracepoint_marker_definition):
11085         Consider case where the definition is followed by more
11086         definitions.
11087         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11088         tracepoint-selftests.c.
11089         * unittests/tracepoint-selftests.c: New.
11090
11091 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11092
11093         * MAINTAINERS (Write After Approval): Add Pedro Franco de
11094         Carvalho.
11095
11096 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11097
11098         * symtab.c (find_pc_sect_line): fixed indentation.
11099
11100 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11101
11102         * symtab.c (find_pc_sect_line): now uses binary search.
11103
11104 2018-03-19  Tom Tromey  <tom@tromey.com>
11105
11106         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
11107         "IDENT" production.
11108
11109 2018-03-19  Pedro Alves  <palves@redhat.com>
11110             Tom Tromey  <tom@tromey.com>
11111
11112         * unittests/observable-selftests.c: New file.
11113         * common/observable.h: New file.
11114         * observable.h: New file.
11115         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
11116         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
11117         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
11118         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
11119         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
11120         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
11121         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
11122         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
11123         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
11124         python/py-breakpoint.c, python/py-finishbreakpoint.c,
11125         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
11126         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
11127         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
11128         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
11129         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
11130         tui/tui-interp.c, valops.c: Update all users.
11131         * tui/tui-hooks.c (tui_bp_created_observer)
11132         (tui_bp_deleted_observer, tui_bp_modified_observer)
11133         (tui_inferior_exit_observer, tui_before_prompt_observer)
11134         (tui_normal_stop_observer, tui_register_changed_observer):
11135         Remove.
11136         (tui_observers_token): New global.
11137         (attach_or_detach, tui_attach_detach_observers): New functions.
11138         (tui_install_hooks, tui_remove_hooks): Use
11139         tui_attach_detach_observers.
11140         * record-btrace.c (record_btrace_thread_observer): Remove.
11141         (record_btrace_thread_observer_token): New global.
11142         * observer.sh: Remove.
11143         * observer.c: Rename to observable.c.
11144         * observable.c (namespace gdb_observers): Define new objects.
11145         (observer_debug): Move into gdb_observers namespace.
11146         (struct observer, struct observer_list, xalloc_observer_list_node)
11147         (xfree_observer_list_node, generic_observer_attach)
11148         (generic_observer_detach, generic_observer_notify): Remove.
11149         (_initialize_observer): Update.
11150         Don't include observer.inc.
11151         * Makefile.in (generated_files): Remove observer.h, observer.inc.
11152         (clean mostlyclean): Likewise.
11153         (observer.h, observer.inc): Remove targets.
11154         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
11155         (COMMON_SFILES): Use observable.c, not observer.c.
11156         * .gitignore: Remove observer.h.
11157
11158 2018-03-18  Tom Tromey  <tom@tromey.com>
11159
11160         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
11161         gdb::def_vector.
11162         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
11163
11164 2018-03-17  Tom Tromey  <tom@tromey.com>
11165
11166         * auto-load.c (auto_load_objfile_script_1): Use std::string.
11167
11168 2018-03-17  Tom Tromey  <tom@tromey.com>
11169
11170         * target.c (class scoped_target_fd): New.
11171         (target_fileio_close_cleanup): Remove.
11172         (target_fileio_read_alloc_1): Use scoped_target_fd.
11173
11174 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
11175
11176         * silent-rules.mk: New.
11177         * Makefile.in: Include silent-rules.mk
11178         (srcdir, VPATH, top_srcdir): Move up.
11179         (COMPILE): Add ECHO_CXX.
11180         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
11181         (init.c): Add ECHO_INIT_C.
11182         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
11183         (version.c): Add ECHO_GEN.
11184         (printcmd.o): Add ECHO_CXX.
11185         (target-float.o): Add ECHO_CXX.
11186         (ada-exp.o): Add ECHO_CXX.
11187         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
11188         (insight$(EXEEXT)): Add ECHO_CXXLD.
11189         * gnulib/configure.ac: Add AM_SILENT_RULES.
11190         * gnulib/aclocal.m4: Re-generate.
11191         * gnulib/configure: Re-generate.
11192         * gnulib/import/Makefile.in: Re-generate.
11193
11194 2018-03-16  Tom Tromey  <tom@tromey.com>
11195
11196         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
11197         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
11198         * utils.c (do_free_section_addr_info)
11199         (make_cleanup_free_section_addr_info): Remove.
11200         * symfile.h (struct other_sections): Add constructor.
11201         (struct section_addr_info): Remove.
11202         (section_addr_info): New typedef.
11203         (struct sym_fns) <sym_offsets>: Change type of parameter.
11204         (build_section_addr_info_from_objfile)
11205         (relative_addr_info_to_section_offsets, addr_info_make_relative)
11206         (default_symfile_offsets, symbol_file_add)
11207         (symbol_file_add_from_bfd)
11208         (build_section_addr_info_from_section_table): Update.
11209         (alloc_section_addr_info, free_section_addr_info): Don't declare.
11210         * symfile.c (alloc_section_addr_info): Remove.
11211         (build_section_addr_info_from_section_table): Change return type.
11212         Update.
11213         (build_section_addr_info_from_bfd)
11214         (build_section_addr_info_from_objfile): Likewise.
11215         (free_section_addr_info): Remove.
11216         (relative_addr_info_to_section_offsets): Change type of "addrs".
11217         (addrs_section_compar): Now a std::sort comparator.
11218         (addrs_section_sort): Change return type.
11219         (addr_info_make_relative): Change type of "addrs".  Update.
11220         (default_symfile_offsets, syms_from_objfile_1)
11221         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
11222         (symbol_file_add_separate): Update.
11223         (symbol_file_add): Change type of "addrs".  Update.
11224         (add_symbol_file_command): Update.  Remove cleanups.
11225         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
11226         cleanups.
11227         * symfile-debug.c (debug_sym_offsets): Change type of "info".
11228         * solib.c (solib_read_symbols): Update.
11229         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
11230         * machoread.c (macho_symfile_offsets): Update.
11231         * jit.c (jit_bfd_try_read_symtab): Update.
11232
11233 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
11234
11235         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11236         unittests/utils-selftests.c.
11237         * unittests/utils-selftests.c: New file.
11238
11239 2018-03-14  Tom Tromey  <tom@tromey.com>
11240
11241         PR cli/14977:
11242         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
11243         for NULL.
11244
11245 2018-03-14  Tom Tromey  <tom@tromey.com>
11246
11247         PR cli/19918:
11248         * printcmd.c (printf_pointer): Allow "-" in format.
11249
11250 2018-03-14  Tom Tromey  <tom@tromey.com>
11251
11252         * printcmd.c (_initialize_printcmd): Add usage to printf.
11253
11254 2018-03-14  Yao Qi  <qiyao@sourceware.org>
11255
11256         * MAINTAINERS: Update my email address.
11257
11258 2018-03-13  Tom Tromey  <tom@tromey.com>
11259
11260         * machoread.c (macho_check_dsym): Change filenamep to a
11261         std::string*.
11262         (macho_symfile_read): Update.
11263         * symfile.c (load_command): Use std::string.
11264
11265 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11266
11267         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
11268         to error message string.
11269         (riscv_register_name): Use xsnprintf instead of sprintf.
11270         (riscv_insn::fetch_instruction): Use gdb_assert instead of
11271         internal_error.
11272         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
11273         error.
11274         (riscv_push_dummy_call): Likewise.
11275
11276 2018-03-12  Tom Tromey  <tom@tromey.com>
11277
11278         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
11279         Use gdb::byte_vector.
11280         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
11281
11282 2018-03-12  Yao Qi  <yao.qi@linaro.org>
11283
11284         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
11285         parameter type to readable_regcache.
11286         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
11287         the declaration.
11288
11289 2018-03-11  Tom Tromey  <tom@tromey.com>
11290
11291         * dwarf2read.c (struct nextfield): Add initializers.
11292         (struct nextfnfield): Remove.
11293         (struct fnfieldlist): Add initializers.  Remove "length" and
11294         "head", use std::vector.
11295         (struct decl_field_list): Remove.
11296         (struct field_info): Add initializers.
11297         <fields, baseclasses>: Now std::vector.
11298         <nbaseclasses, nfnfields, typedef_field_list_count,
11299         nested_types_list_count>: Remove.
11300         (dwarf2_add_field, dwarf2_add_type_defn)
11301         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
11302         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
11303         (process_structure_scope): Update.
11304
11305 2018-03-11  Tom Tromey  <tom@tromey.com>
11306
11307         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
11308         for use by std::sort.
11309         (build_type_psymtabs_1): Use std::vector.
11310
11311 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
11312
11313         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
11314         and LIBMPFR in the printed configuration.
11315
11316 2018-03-08  Tom Tromey  <tom@tromey.com>
11317
11318         * source.c (get_filename_and_charpos): Use scoped_fd.
11319         * nto-procfs.c (procfs_open_1): Use scoped_fd.
11320         (procfs_pidlist): Likewise.
11321         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
11322         (iterate_over_mappings): Likewise.
11323
11324 2018-03-08  Tom Tromey  <tom@tromey.com>
11325
11326         * infcall.c (struct call_return_meta_info)
11327         <stack_temporaries_enabled>: Remove.
11328         (get_call_return_value, call_function_by_hand_dummy): Update.
11329         * thread.c (disable_thread_stack_temporaries): Remove.
11330         (enable_thread_stack_temporaries): Remove.
11331         (thread_stack_temporaries_enabled_p): Return bool.
11332         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
11333         (get_last_thread_stack_temporary): Update.
11334         * eval.c (evaluate_subexp): Update.
11335         * gdbthread.h (class enable_thread_stack_temporaries): Now a
11336         class, not a function.
11337         (value_ptr, value_vec): Remove typedefs.
11338         (class thread_info) <stack_temporaries_enabled>: Now bool.
11339         <stack_temporaries>: Now a std::vector.
11340         (thread_stack_temporaries_enabled_p)
11341         (value_in_thread_stack_temporaries): Return bool.
11342
11343 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
11344
11345         * remote.c (putpkt_binary): Fix omitted bytes reporting.
11346         (getpkt_or_notif_sane_1): Likewise.
11347
11348 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11349
11350         * build-id.c (build_id_to_debug_bfd): Use std::string.
11351
11352 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11353
11354         * build-id.c (find_separate_debug_file_by_buildid): Return
11355         std::string.
11356         * build-id.h (find_separate_debug_file_by_buildid): Return
11357         std::string.
11358         * coffread.c (coff_symfile_read): Adjust to std::string.
11359         * elfread.c (elf_symfile_read): Adjust to std::string.
11360         * symfile.c (separate_debug_file_exists): Change parameter to
11361         std::string.
11362         (find_separate_debug_file): Return std::string.
11363         (find_separate_debug_file_by_debuglink): Return std::string.
11364         * symfile.h (find_separate_debug_file_by_debuglink): Return
11365         std::string.
11366
11367 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11368
11369         * common/xml-utils.c (xml_escape_text): Move code to...
11370         (xml_escape_text_append): ... this new function.
11371         * common/xml-utils.h (xml_escape_text_append): New declaration.
11372         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
11373         New function.
11374         (_initialize_xml_utils): register test_xml_escape_text_append as
11375         a selftest.
11376
11377 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
11378
11379         * defs.h: Remove MAX_REGISTER_SIZE.
11380         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
11381         asserts.
11382         * python/py-unwind.c (pyuw_sniffer): Likewise.
11383
11384 2018-03-07  Tom Tromey  <tom@tromey.com>
11385
11386         * linux-tdep.c (linux_info_proc): Update.
11387         * target.h (struct target_ops) <to_fileio_readlink>: Return
11388         optional<string>.
11389         (target_fileio_readlink): Return optional<string>.
11390         * remote.c (remote_hostio_readlink): Return optional<string>.
11391         * inf-child.c (inf_child_fileio_readlink): Return
11392         optional<string>.
11393         * target.c (target_fileio_readlink): Return optional<string>.
11394
11395 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
11396
11397         * regcache.c (cooked_read_test): Add riscv to the list of
11398         architectures that have a save_reggroup.
11399
11400 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11401
11402         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
11403         value is not a dynamic class object.
11404
11405 2018-03-06  Tom Tromey  <tom@tromey.com>
11406
11407         * rust-exp.y: Formatting fixes.
11408
11409 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11410
11411         * riscv-tdep.c (riscv_register_name): Remove target description
11412         support.
11413         (riscv_gdbarch_init): Remove target description check.
11414
11415 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11416
11417         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
11418         comment.
11419         * riscv-tdep.h: Likewise.
11420
11421 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11422
11423         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
11424         (riscv_pseudo_register_write): Delete.
11425         (riscv_gdbarch_init): Remove all use of pseudo registers.
11426
11427 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11428
11429         * record-btrace.c (btrace_print_lines): Replace cleanup
11430         parameter with RAII equivalents.
11431         (btrace_insn_history): Replace cleanup with RAII equivalents.
11432         * ui-out.h (make_cleanup_ui_out_list_begin_end,
11433         make_cleanup_ui_out_tuple_begin_end): Remove.
11434         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
11435         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
11436         make_cleanup_ui_out_list_begin_end): Remove.
11437
11438 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11439
11440         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
11441         parameter types to std::vector.  Use bool.
11442         (record_btrace_wait): Replace VEC(tp_t) with
11443         std::vector<thread_info *>.
11444         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
11445
11446 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11447
11448         * record-btrace.c (record_btrace_disable_callback): Remove.
11449         (struct scoped_btrace_disable): New.
11450         (record_btrace_open): Use scoped_btrace_disable.
11451
11452 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11453
11454         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
11455         reading values from registers.
11456
11457 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11458
11459         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
11460         where appropriate.
11461
11462 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11463
11464         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
11465         change parameter type.  Use GDB's print functions, and use
11466         core_addr_to_string where appropriate.
11467         (riscv_push_dummy_call): Use core_addr_to_string where
11468         appropriate, update call to riscv_print_arg_location, and reindent
11469         a few lines.
11470         (riscv_return_value): Update call to riscv_print_arg_location.
11471
11472 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11473             Tim Newsome <tim@sifive.com>
11474             Albert Ou <a0u@eecs.berkeley.edu>
11475             Darius Rad <darius@bluespec.com>
11476
11477         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
11478         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
11479         (ALLDEPFILES): Add riscv-tdep.c
11480         * configure.tgt: Add riscv support.
11481         * riscv-tdep.c: New file.
11482         * riscv-tdep.h: New file.
11483         * NEWS: Mention new target.
11484         * MAINTAINERS: Add entry for riscv.
11485
11486 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11487
11488         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
11489         fields within aggregates.
11490
11491 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
11492
11493         * record-btrace.c (btrace_print_lines): Change type of flags to
11494         gdb_disassembly_flags.
11495
11496 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11497
11498         * fbsd-nat.c: Include "inf-ptrace.h".
11499         (USE_SIGTRAP_SIGINFO): Conditionally define.
11500         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
11501         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
11502         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
11503         function.
11504         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
11505         Likewise.
11506         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
11507         Likewise.
11508         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
11509         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
11510         "supports_stopped_by_hw_breakpoint" target methods.
11511
11512 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11513
11514         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
11515         * fbsd-nat.c (debug_fbsd_nat): New variable.
11516         (show_fbsd_nat_debug): New function.
11517         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
11518         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
11519
11520 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11521
11522         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
11523         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
11524         prototype.
11525         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
11526         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
11527         method.
11528
11529 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11530
11531         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
11532         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
11533
11534 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11535
11536         * charset.c (struct charset_vector): New.
11537         (charsets): Change type to charset_vector.
11538         (find_charset_names): Adjust.
11539         (add_one): Adjust.
11540         (_initialize_charset): Adjust.
11541
11542 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11543
11544         * progspace.h (struct program_space) <deleted_solibs>: Change
11545         type to std::vector<std::string>.
11546         * progspace.c (clear_program_space_solib_cache): Adjust.
11547         * breakpoint.c (print_solib_event): Adjust.
11548         (check_status_catch_solib): Adjust.
11549         * solib.c (update_solib_list): Adjust.
11550         * ui-out.h (class ui_out) <field_string>: New overload.
11551         * ui-out.c (ui_out::field_string): New overload.
11552
11553 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11554
11555         * progspace.h (struct program_space): Add constructor and
11556         destructor, initialize fields.
11557         (add_program_space): Remove.
11558         * progspace.c (add_program_space): Rename to...
11559         (program_space::program_space): ... this.
11560         (release_program_space): Rename to...
11561         (program_space::~program_space): ... this.
11562         (delete_program_space): Use delete to delete program_space.
11563         (initialize_progspace): Use new to allocate program_space.
11564         * inferior.c (add_inferior_with_spaces): Likewise.
11565         (clone_inferior_command): Likewise.
11566         * infrun.c (follow_fork_inferior): Likewise.
11567         (handle_vfork_child_exec_or_exit): Likewise.
11568
11569 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11570
11571         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
11572         (delim_string_to_char_ptr_vec): Return std::vector of
11573         gdb::unique_xmalloc_ptr.
11574         (dirnames_to_char_ptr_vec_append): Take std::vector of
11575         gdb::unique_xmalloc_ptr.
11576         (dirnames_to_char_ptr_vec): Return std::vector of
11577         gdb::unique_xmalloc_ptr.
11578         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
11579         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
11580         (delim_string_to_char_ptr_vec): Return an std::vector of
11581         gdb::unique_xmalloc_ptr, adjust the code.
11582         (dirnames_to_char_ptr_vec_append): Take an std::vector of
11583         gdb::unique_xmalloc_ptr, adjust the code.
11584         (dirnames_to_char_ptr_vec): Return an std::vector of
11585         gdb::unique_xmalloc_ptr, adjust the code.
11586         * auto-load.c (auto_load_safe_path_vec): Change type to
11587         std::vector of gdb::unique_xmalloc_ptr.
11588         (auto_load_expand_dir_vars): Return an std::vector of
11589         gdb::unique_xmalloc_ptr, adjust the code.
11590         (auto_load_safe_path_vec_update): Adjust.
11591         (filename_is_in_auto_load_safe_path_vec): Adjust.
11592         (auto_load_objfile_script_1): Adjust.
11593         * build-id.c (build_id_to_debug_bfd): Adjust.
11594         * linux-thread-db.c (thread_db_load_search): Adjust.
11595         * source.c (add_path): Adjust.
11596         (openp): Adjust.
11597         * symfile.c (find_separate_debug_file): Adjust.
11598         * utils.c (do_free_char_ptr_vec): Remove.
11599         (make_cleanup_free_char_ptr_vec): Remove.
11600
11601 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
11602
11603         PR gdb/22907
11604         * common/pathstuff.c: Conditionally include "<windows.h>".
11605
11606 2018-03-01  Georg Sauthoff  <mail@georg.so>
11607
11608         PR gdb/22888
11609         * gcore.in: Quote variables and switch interpreter to bash.
11610
11611 2018-03-01  Tom Tromey  <tom@tromey.com>
11612
11613         * dwarf2read.c (alloc_discriminant_info): Fix default_index
11614         assertion.  Add assertion for discriminant_index.
11615         (quirk_rust_enum): Use correct base type name in univariant case.
11616
11617 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
11618
11619         * record.c (get_call_history_modifiers): Return a
11620         record_print_flags.
11621         (cmd_record_call_history): Adjust.
11622         * record-btrace.c (record_btrace_call_history): Adjust.
11623         (record_btrace_call_history_range): Adjust.
11624         (record_btrace_call_history_from): Adjust.
11625         * target-debug.h (target_debug_print_record_print_flags): New.
11626         * target-delegates.c: Re-generate.
11627         * target.c (target_call_history): Change flags type.
11628         (target_call_history_from): Likewise.
11629         (target_call_history_range): Likewise.
11630         * target.h (struct target_ops) <target_call_history>: Likewise.
11631         (target_call_history_from): Likewise.
11632         (target_call_history_range): Likewise.
11633
11634 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11635             Simon Marchi  <simon.marchi@polymtl.ca>
11636
11637         * common/common-utils.c: Include "sys/stat.h".
11638         (is_regular_file): Move here from "source.c"; change return
11639         type to "bool".
11640         * common/common-utils.h (is_regular_file): New prototype.
11641         * common/pathstuff.c (contains_dir_separator): New function.
11642         * common/pathstuff.h (contains_dir_separator): New prototype.
11643         * source.c: Don't include "sys/stat.h".
11644         (is_regular_file): Move to "common/common-utils.c".
11645
11646 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11647
11648         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
11649         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
11650         * auto-load.c: Include "common/pathstuff.h".
11651         * common/common-def.h (current_directory): Move here.
11652         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
11653         function.
11654         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
11655         prototype.
11656         * common/pathstuff.c: New file.
11657         * common/pathstuff.h: New file.
11658         * compile/compile.c: Include "common/pathstuff.h".
11659         * defs.h (current_directory): Move to "common/common-defs.h".
11660         * dwarf2read.c: Include "common/pathstuff.h".
11661         * exec.c: Likewise.
11662         * guile/scm-safe-call.c: Likewise.
11663         * linux-thread-db.c: Likewise.
11664         * main.c: Likewise.
11665         * nto-tdep.c: Likewise.
11666         * objfiles.c: Likewise.
11667         * source.c: Likewise.
11668         * symtab.c: Likewise.
11669         * utils.c: Include "common/pathstuff.h".
11670         (gdb_realpath): Move to "common/pathstuff.c".
11671         (gdb_realpath_keepfile): Likewise.
11672         (gdb_abspath): Likewise.
11673         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
11674         (gdb_realpath_keepfile): Likewise.
11675         (gdb_abspath): Likewise.
11676
11677 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
11678
11679         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
11680         wildcard process pid for super_resume for kernels with a
11681         specific bug.
11682
11683 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
11684
11685         * compile/compile.c (get_args): Add additional comments
11686         explaining function.
11687
11688 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
11689             Tom Tromey  <tom@tromey.com>
11690
11691         * target.h (memory_write_request_s): Remove typedef.  Don't define
11692         VEC.
11693         (target_write_memory_blocks): Change argument to std::vector.
11694         (struct memory_write_request): Add constructor.
11695         * target-memory.c (compare_block_starting_address): Return bool.
11696         Change argument types.
11697         (claim_memory): Change arguments to use std::vector.
11698         (split_regular_and_flash_blocks, blocks_to_erase)
11699         (compute_garbled_blocks): Likewise.
11700         (cleanup_request_data, cleanup_write_requests_vector): Remove.
11701         (target_write_memory_blocks): Change argument to std::vector.
11702         * symfile.c (struct load_section_data): Add constructor and
11703         destructor.  Use std::vector for "requests".
11704         (struct load_progress_data): Add initializers.
11705         (load_section_callback): Update.  Use "new".
11706         (clear_memory_write_data): Remove.
11707         (generic_load): Update.
11708
11709 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
11710
11711         * arch/aarch64.h: Use common/tdesc.h.
11712
11713 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11714
11715         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
11716         architecture with a 64-bit ABI.
11717
11718 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11719
11720         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
11721         ahead of target description loading.
11722
11723 2018-02-26  Tom Tromey  <tom@tromey.com>
11724
11725         * stack.c (backtrace_command_1): Update.
11726         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
11727         of "flags".
11728         * python/py-framefilter.c (py_print_frame)
11729         (gdbpy_apply_frame_filter): Change type of "flags".
11730         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
11731         of "flags".
11732         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
11733         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
11734         * extension.h (enum frame_filter_flag): Rename from
11735         frame_filter_flags.
11736         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
11737         (apply_ext_lang_frame_filter): Change type of "flags".
11738         * extension.c (apply_ext_lang_frame_filter): Change type of
11739         "flags".
11740         * extension-priv.h (struct extension_language_ops)
11741         <apply_frame_filter>: Change type of "flags".
11742
11743 2018-02-26  Tom Tromey  <tom@tromey.com>
11744
11745         PR python/16497:
11746         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
11747         off-by-one in py_end computation.
11748         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
11749         PRINT_MORE_FRAMES.
11750         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
11751         constant.
11752
11753 2018-02-26  Tom Tromey  <tom@tromey.com>
11754
11755         * dwarf2read.c (struct variant_field): New.
11756         (struct nextfield) <variant>: New field.
11757         (dwarf2_add_field): Handle DW_TAG_variant_part.
11758         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
11759         discriminated union.
11760         (read_structure_type): Handle DW_TAG_variant_part.
11761         (handle_struct_member_die): New function, extracted from
11762         process_structure_scope.  Handle DW_TAG_variant.
11763         (process_structure_scope): Handle discriminated unions.  Call
11764         handle_struct_member_die.
11765
11766 2018-02-26  Tom Tromey  <tom@tromey.com>
11767
11768         * rust-lang.h (rust_last_path_segment): Declare.
11769         * rust-lang.c (rust_last_path_segment): Now public.  Change
11770         contract.
11771         (struct disr_info): Remove.
11772         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
11773         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
11774         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
11775         (rust_enum_p, rust_enum_variant): New function.
11776         (rust_underscore_fields): Remove "offset" parameter.
11777         (rust_print_enum): New function.
11778         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
11779         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
11780         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
11781         enums.
11782         (rust_internal_print_type): New function, from rust_print_type.
11783         Remove enum code.
11784         (rust_print_type): Call rust_internal_print_type.
11785         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
11786         Update enum handling.
11787         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
11788         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
11789         (rust_union_quirks): New functions.
11790         (process_full_comp_unit, process_full_type_unit): Call
11791         rust_union_quirks.
11792         (process_structure_scope): Update rust_unions if necessary.
11793
11794 2018-02-26  Tom Tromey  <tom@tromey.com>
11795
11796         * value.h (value_union_variant): Declare.
11797         * valops.c (value_union_variant): New function.
11798         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
11799         (struct discriminant_info): New.
11800         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
11801         enumerator.
11802         (struct main_type) <flag_discriminated_union>: New field.
11803
11804 2018-02-26  Tom Tromey  <tom@tromey.com>
11805
11806         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11807         unittests/unpack-selftests.c.
11808         * unittests/unpack-selftests.c: New file.
11809         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
11810
11811 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11812
11813         * dwarf2read.c (struct partial_die_info) <read>: New method.
11814         (read_partial_die): Remove the declaration.
11815         (load_partial_dies): Update.
11816         (partial_die_info::partial_die_info):
11817         (read_partial_die): Change it to partial_die_info::read.
11818
11819 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11820
11821         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
11822         (fixup_partial_die): Remove declaration.
11823         (scan_partial_symbols): Update.
11824         (partial_die_parent_scope): Likewise.
11825         (partial_die_full_name): Likewise.
11826         (fixup_partial_die): Change it to partial_die_info::fixup.
11827
11828 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11829
11830         * dwarf2read.c (read_partial_die): Update the declaration.
11831         (load_partial_dies): Caller update.
11832         (read_partial_die): Remove one argument abbrev_len.
11833
11834 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11835
11836         * dwarf2read.c (struct partial_die_info): Add ctor, delete
11837         assignment operator.
11838         (load_partial_dies): Use ctor and copy ctor.
11839         (read_partial_die): Update.
11840         (dwarf2_cu::find_partial_die): Use ctor.
11841
11842 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11843
11844         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
11845         (find_partial_die_in_comp_unit): Change it to
11846         dwarf2_cu::find_partial_die.
11847         (find_partial_die): Update.
11848
11849 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11850
11851         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
11852         is NULL.
11853
11854 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11855
11856         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
11857
11858 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
11859
11860         * arch/amd64.h: Use common/tdesc.h.
11861         * arch/i386.c: Likewise.
11862         * arch/i386.h: Likewise.
11863         * arch/tic6x.c: Likewise.
11864         * arch/tdesc.h: Move file from here...
11865         * common/tdesc.h: ...to here.
11866         * features/aarch64-core.c: Regenerate.
11867         * features/aarch64-fpu.c: Regenerate.
11868         * features/i386/32bit-avx.c: Regenerate.
11869         * features/i386/32bit-avx512.c: Regenerate.
11870         * features/i386/32bit-core.c: Regenerate.
11871         * features/i386/32bit-linux.c: Regenerate.
11872         * features/i386/32bit-mpx.c: Regenerate.
11873         * features/i386/32bit-pkeys.c: Regenerate.
11874         * features/i386/32bit-sse.c: Regenerate.
11875         * features/i386/64bit-avx.c: Regenerate.
11876         * features/i386/64bit-avx512.c: Regenerate.
11877         * features/i386/64bit-core.c: Regenerate.
11878         * features/i386/64bit-linux.c: Regenerate.
11879         * features/i386/64bit-mpx.c: Regenerate.
11880         * features/i386/64bit-pkeys.c: Regenerate.
11881         * features/i386/64bit-segments.c: Regenerate.
11882         * features/i386/64bit-sse.c: Regenerate.
11883         * features/i386/x32-core.c: Regenerate.
11884         * features/tic6x-c6xp.c: Regenerate.
11885         * features/tic6x-core.c: Regenerate.
11886         * features/tic6x-gp.c: Regenerate.
11887         * target-descriptions.c: Use common/tdesc.h.
11888         * target-descriptions.h: Likewise.
11889
11890 2018-02-24  Tom Tromey  <tom@tromey.com>
11891
11892         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
11893         (try_thread_db_load_from_dir, thread_db_load_search): Use
11894         std::string.
11895         (info_auto_load_libthread_db_compare): Return bool.  Change
11896         argument types.
11897         (info_auto_load_libthread_db): Use std::vector, std::string.
11898         Remove cleanups.
11899
11900 2018-02-24  Tom Tromey  <tom@tromey.com>
11901
11902         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
11903         std::string.
11904         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
11905         std::string*.
11906         * gdbarch.c: Rebuild.
11907         * gdbarch.h: Rebuild.
11908         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
11909         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
11910         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
11911         std::string*.
11912
11913 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
11914
11915         * gdbtypes.h (sect_offset): Change type to uint64_t.
11916         (sect_offset_str): New function.
11917         * dwarf2read.c (create_addrmap_from_aranges): Use
11918         sect_offset_str.
11919         (error_check_comp_unit_head): Likewise.
11920         (create_debug_type_hash_table): Likewise.
11921         (read_cutu_die_from_dwo): Likewise.
11922         (init_cutu_and_read_dies): Likewise.
11923         (init_cutu_and_read_dies_no_follow): Likewise.
11924         (process_psymtab_comp_unit_reader): Likewise.
11925         (partial_die_parent_scope): Likewise.
11926         (peek_die_abbrev): Likewise.
11927         (process_queue): Likewise.
11928         (dwarf2_physname): Likewise.
11929         (read_namespace_alias): Likewise.
11930         (read_import_statement): Likewise.
11931         (create_dwo_cu_reader): Likewise.
11932         (create_cus_hash_table): Likewise.
11933         (lookup_dwo_cutu): Likewise.
11934         (inherit_abstract_dies): Likewise.
11935         (read_func_scope): Likewise.
11936         (read_call_site_scope): Likewise.
11937         (dwarf2_add_member_fn): Likewise.
11938         (read_common_block): Likewise.
11939         (read_module_type): Likewise.
11940         (read_typedef): Likewise.
11941         (read_subrange_type): Likewise.
11942         (load_partial_dies): Likewise.
11943         (read_partial_die): Likewise.
11944         (find_partial_die): Likewise.
11945         (read_str_index): Likewise.
11946         (dwarf2_string_attr): Likewise.
11947         (build_error_marker_type): Likewise.
11948         (lookup_die_type): Likewise.
11949         (dump_die_shallow): Likewise.
11950         (follow_die_ref): Likewise.
11951         (dwarf2_fetch_die_loc_sect_off): Likewise.
11952         (dwarf2_fetch_constant_bytes): Likewise.
11953         (follow_die_sig): Likewise.
11954         (get_signatured_type): Likewise.
11955         (get_DW_AT_signature_type): Likewise.
11956         (dwarf2_find_containing_comp_unit): Likewise.
11957         (set_die_type): Likewise.
11958
11959 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
11960
11961         * arch/aarch64.c: Include "common-defs.h".
11962         * arch/amd64.c: Likewise.
11963         * arch/i386.c: Likewise.
11964
11965 2018-02-21  Tom Tromey  <tom@tromey.com>
11966
11967         * value.h: (extract_field_op): Update.
11968         * eval.c (extract_field_op): Return a const char *.
11969         * expression.h (parse_expression_for_completion): Update.
11970         * completer.c (complete_expression): Update.
11971         (add_struct_fields): Make fieldname const.
11972         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
11973         (mark_completion_tag, parse_exp_in_context_1): Update.
11974         (parse_expression_for_completion): Change "name" to
11975         unique_xmalloc_ptr*.
11976
11977 2018-02-21  Tom Tromey  <tom@tromey.com>
11978
11979         * infcall.c (call_function_by_hand_dummy): Use std::vector.
11980
11981 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11982
11983         * avr-tdep.c (avr_read_pc): Change parameter type to
11984         readable_regcache.
11985         * gdbarch.sh (read_pc): Likewise.
11986         * gdbarch.c: Re-generated.
11987         * gdbarch.h: Re-generated.
11988         * hppa-tdep.c (hppa_read_pc): Change parameter type to
11989         readable_regcache.
11990         * ia64-tdep.c (ia64_read_pc): Likewise.
11991         * mips-tdep.c (mips_read_pc): Likewise.
11992         * spu-tdep.c (spu_read_pc): Likewise.
11993
11994 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11995
11996         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
11997         * regcache-dump.c: New file.
11998         * regcache.c: Move register_dump to regcache-dump.c.
11999         (maintenance_print_registers): Likewise.
12000         (maintenance_print_raw_registers): Likewise.
12001         (maintenance_print_cooked_registers): Likewise.
12002         (maintenance_print_register_groups): Likewise.
12003         (maintenance_print_remote_registers): Likewise.
12004         (_initialize_regcache): Likewise.
12005         * regcache.h (register_dump): Moved from regcache.c.
12006
12007 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12008
12009         * regcache.c (regcache::regcache): Update.
12010         (regcache::invalidate): Move it to detached_regcache::invalidate.
12011         (get_thread_arch_aspace_regcache): Update.
12012         (regcache::raw_update): Update.
12013         (regcache::cooked_read): Remove some code.
12014         (regcache::cooked_read_value): Likewise.
12015         (regcache::raw_write): Remove assert on m_readonly_p.
12016         (regcache::raw_supply_integer): Move it to
12017         detached_regcache::raw_supply_integer.
12018         (regcache::raw_supply_zeroed): Likewise.
12019         * regcache.h (detached_regcache) <raw_supply_integer>: New
12020         declaration.
12021         <raw_supply_zeroed, invalidate>: Likewise.
12022         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
12023         <invalidate>: Likewise.
12024         <m_readonly_p>: Removed.
12025
12026 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12027
12028         * infcmd.c (get_return_value): Let stop_regs point to
12029         get_current_regcache.
12030         * regcache.c (regcache::regcache): Remove.
12031         (register_dump_reg_buffer): New class.
12032         (regcache_print): Adjust.
12033         * regcache.h (regcache): Remove constructors.
12034
12035 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12036
12037         * regcache.c (class register_dump): New class.
12038         (register_dump_regcache, register_dump_none): New class.
12039         (register_dump_remote, register_dump_groups): New class.
12040         (regcache_print): Update.
12041         * regcache.h (regcache_dump_what): Move it to regcache.c.
12042         (regcache) <dump>: Remove.
12043
12044 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12045
12046         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
12047          reg_buffer_rw *.
12048         (jit_unwind_reg_set_impl): Call raw_supply.
12049         (jit_frame_sniffer): Use reg_buffer_rw.
12050         * record-full.c (record_full_core_regbuf): Change its type.
12051         (record_full_core_open_1): Use reg_buffer_rw.
12052         (record_full_close): Likewise.
12053         (record_full_core_fetch_registers): Use regcache->raw_supply.
12054         (record_full_core_store_registers): Likewise.
12055         * regcache.c (regcache::get_register_status): Move it to
12056         reg_buffer.
12057         (regcache_raw_set_cached_value): Remove.
12058         (regcache::raw_set_cached_value): Remove.
12059         (regcache::raw_write): Call raw_supply.
12060         (regcache::raw_supply): Move it to reg_buffer_rw.
12061         * regcache.h (regcache_raw_set_cached_value): Remove.
12062         (reg_buffer_rw): New class.
12063
12064 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12065
12066         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
12067         readonly_detached_regcache.
12068         (dummy_frame_prev_register): Use regcache->cooked_read.
12069         * frame.c (frame_save_as_regcache): Change return type.
12070         (frame_pop): Update.
12071         * frame.h (frame_save_as_regcache): Update declaration.
12072         * inferior.h (get_infcall_suspend_state_regcache): Update
12073         declaration.
12074         * infrun.c (infcall_suspend_state) <registers>: use
12075         readonly_detached_regcache.
12076         (save_infcall_suspend_state): Don't use regcache_dup.
12077         (get_infcall_suspend_state_regcache): Change return type.
12078         * linux-fork.c (struct fork_info) <savedregs>: Change to
12079         readonly_detached_regcache.
12080         <pc>: New field.
12081         (fork_save_infrun_state): Don't use regcache_dup.
12082         (info_checkpoints_command): Adjust.
12083         * mi/mi-main.c (register_changed_p): Update declaration.
12084         (mi_cmd_data_list_changed_registers): Use
12085         readonly_detached_regcache.
12086         (register_changed_p): Change parameter type to
12087         readonly_detached_regcache.
12088         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
12089         readonly_detached_regcache.
12090         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
12091         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
12092         New.
12093         (regcache::save): Move it to reg_buffer.
12094         (regcache::restore): Change parameter type.
12095         (regcache_dup): Remove.
12096         * regcache.h (reg_buffer) <save>: New method.
12097         (readonly_detached_regcache): New class.
12098         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
12099         readonly_detached_regcache.
12100         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
12101
12102 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12103
12104         * frame.c (frame_save_as_regcache): Use regcache method save.
12105         (frame_pop): Use regcache method restore.
12106         * infrun.c (restore_infcall_suspend_state): Likewise.
12107         * linux-fork.c (fork_load_infrun_state): Likewise.
12108         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
12109         save.
12110         * regcache.c (regcache_save): Remove.
12111         (regcache::restore): More asserts.
12112         (regcache_cpy): Remove.
12113         * regcache.h (regcache_save): Remove the declaration.
12114         (regcache::restore): Move from private to public.
12115         Remove the friend declaration of regcache_cpy.
12116         (regcache_cpy): Remove declaration.
12117
12118 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12119
12120         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
12121         parameter type to 'readable_regcache *'.
12122         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12123         * arm-tdep.c (arm_neon_quad_read): Likewise.
12124         (arm_pseudo_read): Likewise.
12125         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12126         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12127         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12128         * gdbarch.c: Re-generated.
12129         * gdbarch.h: Re-generated.
12130         * gdbarch.sh (pseudo_register_read): Change parameter type to
12131         'readable_regcache *'.
12132         (pseudo_register_read_value): Likewise.
12133         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
12134         (h8300_pseudo_register_read): Likewise.
12135         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
12136         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12137         (i386_pseudo_register_read_into_value): Likewise.
12138         (i386_pseudo_register_read_value): Likewise.
12139         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
12140         declaration.
12141         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
12142         * m32c-tdep.c (m32c_raw_read): Likewise.
12143         (m32c_read_flg): Likewise.
12144         (m32c_banked_register): Likewise.
12145         (m32c_banked_read): Likewise.
12146         (m32c_sb_read): Likewise.
12147         (m32c_part_read): Likewise.
12148         (m32c_cat_read): Likewise.
12149         (m32c_r3r2r1r0_read): Likewise.
12150         (m32c_pseudo_register_read): Likewise.
12151         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12152         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12153         (mep_pseudo_cr64_read): Likewise.
12154         (mep_pseudo_register_read): Likewise.
12155         * mips-tdep.c (mips_pseudo_register_read): Likewise.
12156         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12157         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12158         * regcache.c (regcache::raw_read): Move it to readable_regcache.
12159         (regcache::cooked_read): Likewise.
12160         (regcache::cooked_read_value): Likewise.
12161         (regcache_cooked_read_signed):
12162         (regcache::cooked_read): Likewise.
12163         * regcache.h (readable_regcache): New class.
12164         (regcache): Inherit readable_regcache.  Move some methods to
12165         readable_regcache.
12166         * rl78-tdep.c (rl78_pseudo_register_read): Change
12167         parameter type to 'readable_regcache *'.
12168         * rs6000-tdep.c (do_regcache_raw_read): Remove.
12169         (e500_pseudo_register_read): Change parameter type to
12170         'readable_regcache *'.
12171         (dfp_pseudo_register_read): Likewise.
12172         (vsx_pseudo_register_read): Likewise.
12173         (efpr_pseudo_register_read): Likewise.
12174         * s390-tdep.c (s390_pseudo_register_read): Likewise.
12175         * sh-tdep.c (sh_pseudo_register_read): Likewise.
12176         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
12177         (sh64_pseudo_register_read): Likewise.
12178         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
12179         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12180         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
12181         (spu_pseudo_register_read): Likewise.
12182         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12183         (xtensa_pseudo_register_read): Likewise.
12184
12185 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12186
12187         * regcache.c (regcache::regcache): Call reg_buffer ctor.
12188         (regcache::arch): Move it to reg_buffer::arch.
12189         (regcache::register_buffer): Likewise.
12190         (regcache::assert_regnum): Likewise.
12191         (regcache::num_raw_registers): Likewise.
12192         * regcache.h (reg_buffer): New class.
12193         (regcache): Inherit reg_buffer.
12194
12195 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
12196
12197         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
12198         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
12199
12200 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
12201
12202         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
12203
12204 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
12205
12206         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
12207         (SFILES): Remove common/*.c files.
12208         (COMMON_OBS): Remove some *.o files built from common/*.c files.
12209         * common/common.host: Add common reference.
12210         * configure.ac: Likewise.
12211         * configure: Regenerate.
12212
12213 2018-02-16  Yao Qi  <yao.qi@linaro.org>
12214
12215         * block.c (block_namespace_info): Inherit allocate_on_obstack.
12216         (block_initialize_namespace): Use new.
12217         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
12218         (dwarf2_free_objfile): Use delete.
12219         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
12220         (copy_type_recursive): Use new.
12221         * gdb_obstack.h (allocate_on_obstack): New.
12222
12223 2018-02-15  Yao Qi  <yao.qi@linaro.org>
12224
12225         PR gdb/22849
12226         * inferior.c (exit_inferior_1): Reset inf->control.
12227
12228 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
12229
12230         * ada-lang.c (ada_to_fixed_value_create): Delete advance
12231         declaration.
12232
12233 2018-02-14  Pedro Alves  <palves@redhat.com>
12234
12235         * frame-unwind.c (frame_unwind_try_unwinder): Always call
12236         frame_cleanup_after_sniffer on exception.
12237
12238 2018-02-14  Tom Tromey  <tom@tromey.com>
12239
12240         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
12241         const.
12242         (solib_bfd_open): Make pathname const.
12243         * solib.c (solib_bfd_open): Make pathname const.
12244         * solib-spu.c (spu_bfd_fopen): Make name const.
12245         (spu_bfd_open): Make pathname const.
12246         * solib-darwin.c (darwin_bfd_open): Make pathname const.
12247         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
12248
12249 2018-02-14  Tom Tromey  <tom@tromey.com>
12250
12251         * symfile.c (symfile_bfd_open): Update.
12252         * source.h (openp, source_full_path_of, find_and_open_source):
12253         Change argument type to unique_xmalloc_ptr.
12254         * source.c (openp): Take a unique_xmalloc_ptr.
12255         (source_full_path_of, find_and_open_source): Likewise.
12256         (open_source_file, symtab_to_fullname): Update.
12257         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
12258         unique_xmalloc_ptr.
12259         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
12260         (exec_file_find): Update.
12261         * psymtab.c (psymtab_to_fullname): Update.
12262         * nto-tdep.h (nto_find_and_open_solib): Update.
12263         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
12264         unique_xmalloc_ptr.
12265         * exec.c (exec_file_attach): Update.
12266         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
12267         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
12268
12269 2018-02-14  Tom Tromey  <tom@tromey.com>
12270
12271         * solib.c: Include source.h.
12272         * nto-tdep.c: Include source.h.
12273         * mi/mi-cmd-env.c: Include source.h.
12274         * infcmd.c: Include source.h.
12275         * exec.c: Include source.h.
12276         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
12277         (add_path, directory_switch, source_path, init_source_path): Move
12278         declarations...
12279         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
12280         (add_path, directory_switch, source_path, init_source_path):
12281         ...here.
12282
12283 2018-02-14  Tom Tromey  <tom@tromey.com>
12284
12285         * solist.h (exec_file_find, solib_find): Return
12286         unique_xmalloc_ptr.
12287         (solib_bfd_fopen): Take a const char *.
12288         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
12289         (exec_file_find, solib_find): Likewise.
12290         (solib_bfd_fopen): Do not take ownership of "pathname".
12291         (solib_bfd_open): Use unique_xmalloc_ptr.
12292         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
12293         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
12294         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
12295         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
12296
12297 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
12298
12299         * ada-lang.c (name_match_type_from_name): Remove reference to
12300         ada_name_for_lookup in function's documentation.
12301         * ada-lang.h (ada_name_for_lookup): Delete declaration.
12302
12303 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12304
12305         * defs.h (enum openp_flags): New enum.
12306         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
12307         Move to enum openp_flags.
12308         (openp_flags): New enum flags.
12309         (openp): Change parameter type to openp_flags.
12310         * source.c (openp): Change parameter type to openp_flags.
12311         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
12312         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
12313
12314 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12315
12316         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
12317         per-command.
12318
12319 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12320
12321         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
12322         into...
12323         (class dwarf2_queue_guard): ...the destructor of this new class.
12324         (dw2_do_instantiate_symtab): Create instance of the new class
12325         dwarf2_queue_guard, remove cleanup.
12326
12327 2018-02-09  Tom Tromey  <tom@tromey.com>
12328
12329         * source.c (find_source_lines): Don't reference past the end of
12330         the vector.
12331
12332 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12333
12334         * remote.c (remote_btrace_maybe_reopen): Change error message.
12335         * btrace.c (btrace_enable): Likewise.
12336         (parse_xml_btrace): Likewise.
12337         (parse_xml_btrace_conf): Likewise.
12338
12339 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12340
12341         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
12342         (linux_enable_pt, linux_enable_bts): Call
12343         diagnose_perf_event_open_fail.
12344
12345 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12346
12347         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
12348         Remove parameter and change return type.  Update callers.  Move it.
12349         (linux_enable_bts, linux_enable_pt): Improve error message.
12350         (linux_enable_pt): Remove zero buffer size check.
12351         (linux_enable_btrace): Improve error messages.  Remove NULL return
12352         check.
12353
12354 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12355
12356         * btrace.c (btrace_enable): Remove target_supports_btrace call.
12357         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
12358         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
12359         (linux_supports_pt, linux_supports_btrace): Remove.
12360         (linux_enable_bts): Call cpu_supports_bts.
12361         * nat/linux-btrace.h (linux_supports_btrace): Remove.
12362         * remote.c (remote_supports_btrace): Remove.
12363         (init_remote_ops): Remove remote_supports_btrace.
12364         * target-delegates.c: Regenerated.
12365         * target.c (target_supports_btrace): Remove.
12366         * target.h (target_ops) <to_supports_btrace>: Remove
12367         (target_supports_btrace): Remove.
12368         * x86-linux-nat.c (x86_linux_create_target): Remove
12369         linux_supports_btrace.
12370
12371 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12372
12373         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
12374         btrace failed.
12375         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
12376         exception and use message in own exception.
12377
12378 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12379
12380         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
12381         (perf_event_pt_event_type): Use gdb_file_up.
12382         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
12383         scoped_fd, and scoped_mmap.
12384
12385 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12386
12387         * common/scoped_mmap.h: New.
12388         * unittests/scoped_mmap-selftest.c: New.
12389         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12390         unittests/scoped_mmap-selftest.c.
12391
12392 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12393
12394         * common/scoped_fd.h: New.
12395         * unittests/scoped_fd-selftest.c: New.
12396         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12397         unittests/scoped_fd-selftest.c.
12398
12399 2018-02-09  Tom Tromey  <tom@tromey.com>
12400
12401         * auto-load.c (auto_load_section_scripts): Use
12402         gdb::unique_xmalloc_ptr.
12403
12404 2018-02-09  Tom Tromey  <tom@tromey.com>
12405
12406         * auto-load.c (execute_script_contents): Use std::string.
12407
12408 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
12409
12410         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
12411         Python function, rather than a new command.
12412
12413 2018-02-08  Tom Tromey  <tom@tromey.com>
12414
12415         * solib.c (solib_find_1): Use std::string.
12416         (solib_bfd_fopen): Use unique_xmalloc_ptr.
12417
12418 2018-02-08  Tom Tromey  <tom@tromey.com>
12419
12420         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
12421
12422 2018-02-08  Tom Tromey  <tom@tromey.com>
12423
12424         * source.c (find_source_lines): Use gdb::def_vector.
12425
12426 2018-02-08  Tom Tromey  <tom@tromey.com>
12427
12428         * macrocmd.c (struct temporary_macro_definition): New.
12429         (macro_define_command): Use temporary_macro_definition.  Remove
12430         cleanups.
12431         (free_macro_definition_ptr): Remove.
12432
12433 2018-02-08  Tom Tromey  <tom@tromey.com>
12434
12435         * macroexp.c (maybe_expand): Use std::string.
12436
12437 2018-02-08  Tom Tromey  <tom@tromey.com>
12438
12439         * macroexp.c (struct macro_buffer): Add initializers for some
12440         members.
12441         (init_buffer, init_shared_buffer, free_buffer)
12442         (free_buffer_return_text): Remove.
12443         (macro_buffer): New constructors.
12444         (~macro_buffer): New destructor.
12445         (macro_buffer::set_shared): New method.
12446         (macro_buffer::resize_buffer, macro_buffer::appendc)
12447         (macro_buffer::appendmem): Now methods, not free functions.
12448         (set_token, append_tokens_without_splicing, stringify)
12449         (macro_stringify): Update.
12450         (gather_arguments): Change return type.  Remove argc_p argument,
12451         add args_ptr argument.  Use std::vector.
12452         (substitute_args): Remove argc argument.  Accept std::vector.
12453         (expand): Update.  Use std::vector.
12454         (scan, macro_expand, macro_expand_next): Update.
12455
12456 2018-02-08  Tom Tromey  <tom@tromey.com>
12457
12458         * symtab.c (default_collect_symbol_completion_matches_break_on):
12459         Use unique_xmalloc_ptr.
12460         * macroscope.h: (sal_macro_scope, user_macro_scope)
12461         (default_macro_scope): Return unique_xmalloc_ptr.
12462         * macroscope.c (sal_macro_scope, user_macro_scope)
12463         (default_macro_scope): Return unique_xmalloc_ptr.
12464         * macroexp.h (macro_expand, macro_expand_once): Return
12465         unique_xmalloc_ptr.
12466         * macroexp.c (macro_expand, macro_expand_once): Return
12467         unique_xmalloc_ptr.
12468         * macrocmd.c (macro_expand_command, macro_expand_once_command)
12469         (info_macro_command, info_macros_command): Use
12470         unique_xmalloc_ptr.
12471         * compile/compile-c-support.c (write_macro_definitions): Use
12472         unique_xmalloc_ptr.
12473         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
12474
12475 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
12476
12477         * value.c (value_static_field): Assign field type instead of
12478         containing type when returning an optimized out value.
12479
12480 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12481
12482         * ft32-tdep.c (ft32_read_pc): Remove.
12483         (ft32_write_pc): Remove.
12484         (ft32_gdbarch_init): Update.
12485         * m32r-tdep.c (m32r_read_pc): Remove.
12486         (m32r_gdbarch_init): Update.
12487         * mep-tdep.c (mep_read_pc): Remove.
12488         (mep_gdbarch_init): Update.
12489         * microblaze-tdep.c (microblaze_write_pc): Remove.
12490         (microblaze_gdbarch_init): Update.
12491         * mn10300-tdep.c (mn10300_read_pc): Remove.
12492         (mn10300_write_pc): Remove.
12493         (mn10300_gdbarch_init): Update.
12494         * moxie-tdep.c (moxie_read_pc): Remove.
12495         (moxie_write_pc): Remove.
12496         (moxie_gdbarch_init): Update.
12497
12498 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12499
12500         * expprint.c (print_subexp_standard): Handle
12501         OP_F77_UNDETERMINED_ARGLIST.
12502         (dump_subexp_body_standard): Likewise.
12503
12504 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
12505
12506         * target-descriptions.c (tdesc_element_visitor) Add empty
12507         implementations.
12508         (tdesc_type): Move make_gdb_type from here.
12509         (tdesc_type_builtin): Likewise.
12510         (tdesc_type_vector): Likewise.
12511         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
12512         (make_gdb_type_struct): Move from tdesc_type_with_fields.
12513         (make_gdb_type_union): Likewise.
12514         (make_gdb_type_flags): Likewise.
12515         (make_gdb_type_enum): Likewise.
12516         (make_gdb_type): New function.
12517         (tdesc_register_type): Use static make_gdb_type.
12518
12519 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
12520
12521         * infcmd.c (default_print_one_register_info): Align natural-format
12522         column values consistently one under another.
12523         (pad_to_column): New function.
12524
12525 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
12526
12527         * dwarf2read.c (dwarf2_physname): Move commment.
12528
12529 2018-02-01  Leszek Swirski  <leszeks@google.com>
12530
12531         * varobj.c (varobj_formatted_print_options): Allow recursive
12532         pretty printing if pretty printing is enabled.
12533
12534 2018-02-01  Leszek Swirski  <leszeks@google.com>
12535
12536         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
12537         names after a structop as a filename.
12538
12539 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12540
12541         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
12542         (arm_record_coproc_data_proc): Likewise.
12543
12544 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12545
12546         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
12547
12548 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
12549
12550         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
12551         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
12552
12553 2018-01-31  Pedro Alves  <palves@redhat.com>
12554
12555         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
12556         * inflow.c (child_terminal_save_inferior): Wrap reference to
12557         tcgetpgrp in HAVE_TERMIOS_H.
12558         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
12559         _WIN32.
12560         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
12561         always iterate over all inferiors.
12562         (gdbsim_cntrl_c): Adjust.
12563         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
12564
12565 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12566
12567         * gdbtypes.c (lookup_array_range_type): Make sure the array's
12568         index type is objfile-owned if the element type is as well.
12569
12570 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12571
12572         GDB 8.1 released.
12573
12574 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12575
12576         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
12577         "features/s390x-linux64.c".
12578         (_initialize_s390_linux_tdep): Remove initialization of tdescs
12579         s390_linux32 and s390x_linux64.
12580         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
12581         default tdesc.
12582         * s390-tdep.c: Include "features/s390-linux32.c" and
12583         "features/s390x-linux64.c".
12584         (s390_tdesc_valid): Add check for tdesc_has_registers.
12585         (s390_gdbarch_init): Make sure there is always a valid tdesc.
12586         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
12587         tdesc_s390x_linux64.
12588         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
12589         tdesc_s390x_linux64 to...
12590         * s390-tdep.h: ...here.
12591
12592 2018-01-30  Pedro Alves  <palves@redhat.com>
12593
12594         PR gdb/13211
12595         * config.in, configure: Regenerate.
12596         * configure.ac: Check for getpgid.
12597         * go32-nat.c (go32_pass_ctrlc): New.
12598         (go32_target): Install it.
12599         * inf-child.c (inf_child_target): Install
12600         child_terminal_save_inferior, child_pass_ctrlc and
12601         child_interrupt.
12602         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
12603         (inf_ptrace_target): No longer install it.
12604         * infcmd.c (interrupt_target_1): Adjust.
12605         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
12606         (child_interrupt): Declare.
12607         (inferior::terminal_state): New.
12608         * inflow.c (struct terminal_info): Update comments.
12609         (inferior_process_group): Delete.
12610         (terminal_is_ours): Delete.
12611         (gdb_tty_state): New.
12612         (child_terminal_init): Adjust.
12613         (is_gdb_terminal, sharing_input_terminal_1)
12614         (sharing_input_terminal): New functions.
12615         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
12616         Set the process's actual process group in the foreground if
12617         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
12618         mark terminal as the inferior's if not sharing GDB's terminal.
12619         Don't check attach_flag.
12620         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
12621         pass down a target_terminal_state.
12622         (child_terminal_save_inferior): New, factored out from ...
12623         (child_terminal_ours_1): ... this.  Handle
12624         target_terminal_state::is_ours_for_output.
12625         (child_interrupt, child_pass_ctrlc): New.
12626         (inflow_inferior_exit): Clear the inferior's terminal_state.
12627         (copy_terminal_info): Copy the inferior's terminal state.
12628         (_initialize_inflow): Remove reference to terminal_is_ours.
12629         * inflow.h (inferior_process_group): Delete.
12630         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
12631         * procfs.c (procfs_target): Don't install procfs_interrupt.
12632         (procfs_interrupt): Delete.
12633         * remote.c (remote_serial_quit_handler): Adjust.
12634         (remote_interrupt): Remove ptid parameter.  Adjust.
12635         * target-delegates.c: Regenerate.
12636         * target.c: Include "terminal.h".
12637         (target_terminal::terminal_state): Rename to ...
12638         (target_terminal::m_terminal_state): ... this.
12639         (target_terminal::init): Adjust.
12640         (target_terminal::inferior): Adjust to per-inferior
12641         terminal_state.
12642         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
12643         (target_terminal::ours, target_terminal::ours_for_output): Use
12644         target_terminal_is_ours_kind.
12645         (target_interrupt): Remove ptid parameter.  Adjust.
12646         (default_target_pass_ctrlc): Adjust.
12647         * target.h (target_ops::to_terminal_save_inferior): New field.
12648         (target_ops::to_interrupt): Remove ptid_t parameter.
12649         (target_interrupt): Remove ptid_t parameter.  Update comment.
12650         (target_pass_ctrlc): Update comment.
12651         * target/target.h (target_terminal_state): New scoped enum,
12652         factored out of ...
12653         (target_terminal::terminal_state): ... here.
12654         (target_terminal::inferior): Update comments.
12655         (target_terminal::restore_inferior): New.
12656         (target_terminal::is_inferior, target_terminal::is_ours)
12657         (target_terminal::is_ours_for_output): Adjust.
12658         (target_terminal::scoped_restore_terminal_state): Adjust to
12659         rename, and call restore_inferior() instead of inferior().
12660         (target_terminal::scoped_restore_terminal_state::m_state): Change
12661         type.
12662         (target_terminal::terminal_state): Rename to ...
12663         (target_terminal::m_terminal_state): ... this and change type.
12664
12665 2018-01-30  Pedro Alves  <palves@redhat.com>
12666
12667         * linux-nat.c (wait_for_signal): New function.
12668         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
12669         directly.
12670         (async_terminal_is_ours)
12671         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
12672         (linux_nat_add_target): Don't override
12673         to_terminal_inferior/to_terminal_ours.
12674
12675 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
12676
12677         * remote.c (remote_follow_fork): Don't call "detach_inferior".
12678
12679 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
12680
12681         * dwarf2read.c (free_dwo_files): Add forward-declaration.
12682         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
12683         dwarf2_per_objfile_free here.
12684         (dwarf2_per_objfile_free): Remove.
12685         (_initialize_dwarf2_read): Don't register
12686         dwarf2_per_objfile_free as a registry cleanup.
12687
12688 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
12689
12690         Avoid compilation errors in MinGW native builds
12691
12692         The error is triggered by including python-internal.h, and the
12693         error message is:
12694
12695              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
12696                       from build-gnulib/import/math.h:27,
12697                       from d:/usr/Python26/include/pyport.h:235,
12698                       from d:/usr/Python26/include/Python.h:58,
12699                       from python/python-internal.h:94,
12700                       from python/py-arch.c:24:
12701              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
12702         using ::hypot;
12703                 ^~~~~
12704
12705         This happens because Python headers define 'hypot' to expand t
12706         '_hypot' in the Windows builds.
12707         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
12708         'hypoth'.  This avoids a compilation error.
12709
12710 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12711
12712         * MAINTAINERS (Write After Approval): Fix ordering.
12713
12714 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12715
12716         * MAINTAINERS (Write After Approval): Add Alan Hayward.
12717
12718 2018-01-26  Alan Modra  <amodra@gmail.com>
12719
12720         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
12721         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
12722         Remove nop.  Make const.  Comment.
12723         (powerpc32_plt_stub_so_2): New.
12724         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
12725         Correct count.  Update uses.
12726         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
12727         Move common code reading PLT entry word.  Correct
12728         powerpc32_plt_stub PLT address calculation.
12729         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
12730         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
12731         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
12732         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
12733         (ppc64_standard_linkage8): Likewise.
12734         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
12735         Correct insns description.
12736         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
12737
12738 2018-01-24  Pedro Alves  <palves@redhat.com>
12739
12740         GCC PR libstdc++/83906
12741         * gdbtypes.c (operator==(const dynamic_prop &,
12742         const dynamic_prop &)): New.
12743         (operator==(const range_bounds &, const range_bounds &)): New.
12744         (check_types_equal): Use them instead of memcmp.
12745         * gdbtypes.h (operator==(const dynamic_prop &,
12746         const dynamic_prop &)): Declare.
12747         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
12748         (operator==(const range_bounds &, const range_bounds &)): Declare.
12749         (operator!=(const range_bounds &, const range_bounds &)): Declare.
12750
12751 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12752
12753         * s390-linux-tdep.c (s390_record_address_mask)
12754         (s390_record_calc_disp_common, s390_record_calc_disp)
12755         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12756         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12757         (s390_process_record): Move to s390-tdep.c.
12758         (s390_linux_init_abi_any): Adjust.
12759         * s390-tdep.c (s390_record_address_mask)
12760         (s390_record_calc_disp_common, s390_record_calc_disp)
12761         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12762         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12763         (s390_process_record): Moved from s390-linux-tdep.c
12764         (s390_gdbarch_init): Adjust.
12765
12766 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12767
12768         * s390-linux-nat.c (s390-tdep.h): New include.
12769         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
12770         (HFILES_NO_SRCDIR): Add s390-tdep.h.
12771         (ALLDEPFILES): Add s390-tdep.c.
12772         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
12773         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
12774         * s390-tdep.h: ...this.  New file.
12775         * s390-linux-tdep.c (s390-tdep.h): New include.
12776         (_initialize_s390_tdep): Rename to...
12777         (_initialize_s390_linux_tdep): ...this and adjust.
12778         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
12779         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
12780         s390-tdep.h.
12781         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
12782         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
12783         (s390_is_partial_instruction, s390_software_single_step)
12784         (is_non_branch_ril, s390_displaced_step_copy_insn)
12785         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
12786         (s390_prologue_data, s390_addr, s390_store, s390_load)
12787         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
12788         (s390_register_call_saved, s390_guess_tracepoint_registers)
12789         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
12790         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
12791         (s390_pseudo_register_name, s390_pseudo_register_type)
12792         (s390_pseudo_register_read, s390_pseudo_register_write)
12793         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
12794         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
12795         (s390_addr_bits_remove, s390_address_class_type_flags)
12796         (s390_address_class_type_flags_to_name)
12797         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
12798         (s390_function_arg_float, s390_function_arg_vector)
12799         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
12800         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
12801         (s390_frame_align, s390_register_return_value, s390_return_value)
12802         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
12803         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
12804         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
12805         (s390_trad_frame_prev_register, s390_unwind_cache)
12806         (s390_prologue_frame_unwind_cache)
12807         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
12808         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
12809         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
12810         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
12811         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
12812         (s390_frame_base_address, s390_local_base_address)
12813         (s390_frame_base, s390_gcc_target_options)
12814         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
12815         (s390_validate_reg_range, s390_tdesc_valid)
12816         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
12817         * s390-tdep.c: ...this.  New file.
12818
12819 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12820
12821         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
12822         (s390_process_record, s390_gdbarch_tdep_alloc)
12823         (s390_linux_init_abi_any): Use/set new hook.
12824
12825 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12826
12827         * s390-linux-tdep.c (osabi.h): New include.
12828         (s390_linux_init_abi_31, s390_linux_init_abi_64)
12829         (s390_linux_init_abi_any): New functions.
12830         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
12831
12832 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12833
12834         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
12835         tdesc_has_registers check
12836
12837 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12838
12839         * s390-linux-tdep.c (s390_tdesc_valid): New function.
12840         (s390_validate_reg_range): New macro.
12841         (s390_gdbarch_init): Adjust.
12842
12843 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12844
12845         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
12846         (s390_gdbarch_tdep_alloc): Adjust.
12847         (s390_gdbarch_init): Adjust.
12848
12849 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12850
12851         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
12852         <have_tdb>: Change type to bool.
12853         (s390_gdbarch_tdep_alloc): Adjust.
12854         (s390_gdbarch_init): Adjust.
12855
12856 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12857
12858         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
12859         (gdbarch_tdep) <have_upper, have_vx>: New fields.
12860         (s390_gdbarch_tdep_alloc): New function.
12861         (s390_gdbarch_init): Allocate tdep at start and use its fields
12862         instead of separate variables.
12863
12864 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12865
12866         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
12867         when looking for cached gdbarch and add comment for remaining.
12868
12869 2018-01-22  Pedro Alves  <palves@redhat.com>
12870             Sergio Durigan Junior  <sergiodj@redhat.com>
12871
12872         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
12873         case.
12874
12875 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
12876
12877         * MAINTAINERS: Update my company e-mail address.
12878
12879 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12880
12881         * regcache.c (cooked_write_test): New function.
12882         (_initialize_regcache): Register the test.
12883
12884 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12885
12886         * ia64-tdep.c (ia64_pseudo_register_read): Call
12887         regcache->cooked_read instead of regcache_cooked_read_unsigned.
12888         * m32c-tdep.c (m32c_cat_read): Likewise.
12889         (m32c_r3r2r1r0_read): Likewise.
12890         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12891         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12892
12893 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12894
12895         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
12896         method raw_read instead of regcache_raw_read.
12897         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12898         * arm-tdep.c (arm_neon_quad_read): Likewise.
12899         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12900         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12901         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12902         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
12903         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12904         (i386_pseudo_register_read_into_value): Likewise.
12905         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12906         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12907         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12908         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
12909         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
12910         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
12911         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12912         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
12913         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
12914
12915 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12916
12917         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
12918         * configure.tgt: Remove target mt.
12919         * mt-tdep.c: Remove.
12920         * regcache.c (cooked_read_test): Remove the check for mt.
12921
12922 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12923
12924         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
12925         instead of gdbarch_pseudo_register_read_value.
12926
12927 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12928
12929         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
12930         language is Ada.
12931
12932 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12933
12934         * linespec.c (create_sals_line_offset): Remove code that preserved
12935         the symtab_and_line's line number.
12936
12937 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12938
12939         * varobj.c (varobj_create): Don't set valid_block when creating a
12940         floating varobj.
12941
12942 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12943
12944         * varobj.c (varobj_create): Remove out of date comment.
12945
12946 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12947
12948         PR mi/20395
12949         * ada-exp.y (write_var_from_sym): Pass extra parameter when
12950         updating innermost block.
12951         * parse.c (innermost_block_tracker::update): Take extra type
12952         parameter, and check types match before updating innermost block.
12953         (write_dollar_variable): Update innermost block for registers.
12954         * parser-defs.h (enum innermost_block_tracker_type): New enum.
12955         (innermost_block_tracker::innermost_block_tracker): Initialise
12956         m_types member.
12957         (innermost_block_tracker::reset): Take type parameter.
12958         (innermost_block_tracker::update): Take type parameter, and pass
12959         type through as needed.
12960         (innermost_block_tracker::m_types): New member.
12961         * varobj.c (varobj_create): Pass type when reseting innermost
12962         block.
12963
12964 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12965
12966         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
12967         * ada-lang.c (resolve_subexp): Likewise.
12968         * breakpoint.c (set_breakpoint_condition) Likewise.
12969         (watch_command_1) Likewise.
12970         * c-exp.y (variable): Likewise.
12971         * d-exp.y (PrimaryExpression): Likewise.
12972         * f-exp.y (variable): Likewise.
12973         * go-exp.y (variable): Likewise.
12974         * m2-exp.y (variable): Likewise.
12975         * objfiles.c (objfile::~objfile): Likewise.
12976         * p-exp.y (variable): Likewise.
12977         * parse.c (innermost_block): Change type.
12978         * parser-defs.h (class innermost_block_tracker): New.
12979         (innermost_block): Change to innermost_block_tracker.
12980         * printcmd.c (display_command): Switch to innermost_block API.
12981         (do_one_display): Likewise.
12982         * rust-exp.y (do_one_display): Likewise.
12983         * symfile.c (clear_symtab_users): Likewise.
12984         * varobj.c (varobj_create): Switch to innermost_block API, replace
12985         use of innermost_block with block stored on varobj object.
12986
12987 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12988
12989         * expression.h (innermost_block): Remove declaration.
12990         * varobj.c: Add 'parser-defs.h' include.
12991
12992 2018-01-19  Tom Tromey  <tom@tromey.com>
12993
12994         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
12995         symbols in the static and global blocks.
12996
12997 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
12998
12999         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
13000         gdb_ptrace.h, and move including gdb_wait.h ...
13001         * nat/linux-ptrace.h: ... to here.
13002
13003 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13004
13005         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
13006         inf_ptrace_detach_success.
13007         (inf_ptrace_detach_success): Add inferior parameter, use it
13008         instead of inferior_ptid, pass it to detach_inferior.
13009         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
13010         parameter.
13011         * inferior.c (detach_inferior): Add overload that takes an
13012         inferior object.
13013         * inferior.h (detach_inferior): Likewise.
13014         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
13015         use inferior_ptid, adjust call to inf_ptrace_detach_success.
13016         * linux-thread-db.c (thread_db_detach): Use inf parameter.
13017
13018 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13019
13020         * target.h (struct target_ops) <to_detach>: Add inferior
13021         parameter.
13022         (target_detach): Likewise.
13023         * target.c (dispose_inferior): Pass inferior down.
13024         (target_detach): Pass inferior down.  Assert that it is equal to
13025         the current inferior.
13026         * aix-thread.c (aix_thread_detach): Pass inferior down.
13027         * corefile.c (core_file_command): Pass current_inferior() down.
13028         * corelow.c (core_detach): Add inferior parameter.
13029         * darwin-nat.c (darwin_detach): Likewise.
13030         * gnu-nat.c (gnu_detach): Likewise.
13031         * inf-ptrace.c (inf_ptrace_detach): Likewise.
13032         * infcmd.c (detach_command): Pass current_inferior() down to
13033         target_detach.
13034         * infrun.c (follow_fork_inferior): Pass parent_inf to
13035         target_detach.
13036         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
13037         target_detach.
13038         * linux-nat.c (linux_nat_detach): Add inferior parameter.
13039         * linux-thread-db.c (thread_db_detach): Likewise.
13040         * nto-procfs.c (procfs_detach): Likewise.
13041         * procfs.c (procfs_detach): Likewise.
13042         * record.c (record_detach): Likewise.
13043         * record.h (struct inferior): Forward-declare.
13044         (record_detach): Add inferior parameter.
13045         * remote-sim.c (gdbsim_detach): Likewise.
13046         * remote.c (remote_detach_1): Likewise.
13047         (remote_detach): Likewise.
13048         (extended_remote_detach): Likewise.
13049         * sol-thread.c (sol_thread_detach): Likewise.
13050         * target-debug.h (target_debug_print_inferior_p): New macro.
13051         * target-delegates.c: Re-generate.
13052         * top.c (kill_or_detach): Pass inferior down to target_detach.
13053         * windows-nat.c (windows_detach): Add inferior parameter.
13054
13055 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13056
13057         * target.h (struct target_ops) <to_detach>: Remove args
13058         parameter.
13059         (target_detach): Likewise.
13060         * target.c (dispose_inferior): Adjust.
13061         (target_detach): Remove args parameter, adjust.
13062         * aix-thread.c (aix_thread_detach): Adjust.
13063         * corefile.c (core_file_command): Adjust.
13064         * corelow.c (core_detach): Adjust.
13065         * darwin-nat.c (darwin_detach): Adjust.
13066         * gnu-nat.c (gnu_detach): Adjust.
13067         * inf-ptrace.c (inf_ptrace_detach): Adjust.
13068         * infcmd.c (detach_command): Adjust
13069         * infrun.c (follow_fork_inferior): Adjust.
13070         (handle_vfork_child_exec_or_exit): Adjust.
13071         * linux-fork.c (linux_fork_detach): Remove args parameter.
13072         * linux-fork.h (linux_fork_detach): Likewise.
13073         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
13074         * linux-thread-db.c (thread_db_detach): Likewise.
13075         * nto-procfs.c (procfs_detach): Likewise.
13076         * procfs.c (procfs_detach): Likewise.
13077         (do_detach): Remove signo parameter.
13078         * record.c (record_detach): Remove args parameter.
13079         * record.h (record_detach): Likewise.
13080         * remote-sim.c (gdbsim_detach): Likewise.
13081         * remote.c (remote_detach_1): Likewise.
13082         (remote_detach): Likewise.
13083         (extended_remote_detach): Likewise.
13084         * sol-thread.c (sol_thread_detach): Likewise.
13085         * target-delegates.c: Re-generate.
13086         * top.c (struct qt_args) <args>: Remove field.
13087         (kill_or_detach): Don't pass args.
13088         (quit_force): Don't set args.
13089         * windows-nat.c (windows_detach): Remove args parameter.
13090
13091 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13092
13093         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
13094         (arm_linux_init_abi): Install it.
13095
13096 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13097
13098         * osabi.c (gdb_osabi_names): Extend the regexp for
13099         arm-linux-gnueabihf.
13100
13101 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13102
13103         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
13104         m_abbrevs.
13105         (abbrev_table::add_abbrev): Update.
13106         (abbrev_table::lookup_abbrev): Update.
13107
13108 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13109
13110         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
13111
13112 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
13113
13114         * compile/compile.c (compile_to_object): Convert "triplet_rx"
13115         to "std::string".
13116
13117 2018-01-17  Tom Tromey  <tom@tromey.com>
13118
13119         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
13120
13121 2018-01-17  Tom Tromey  <tom@tromey.com>
13122
13123         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
13124         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
13125         (create_array_type_with_stride): Update.
13126         * dwarf2read.c (set_die_type): Update.
13127
13128 2018-01-17  Tom Tromey  <tom@tromey.com>
13129
13130         * dwarf2read.c (delayed_method_info): Remove typedef.
13131         (dwarf2_cu::method_info): Now a std::vector.
13132         (add_to_method_list): Update.
13133         (free_delayed_list): Remove.
13134         (compute_delayed_physnames): Update.
13135         (process_full_comp_unit, process_full_type_unit): Clear the method
13136         list.  Remove cleanups.
13137         (psymtab_include_file_name): Add name_holder parameter.  Use
13138         unique_xmalloc_ptr.
13139         (dwarf_decode_lines): Update.
13140
13141 2018-01-17  Tom Tromey  <tom@tromey.com>
13142             Simon Marchi  <simon.marchi@ericsson.com>
13143
13144         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
13145         (dwarf2_per_objfile::free_cached_comp_units)
13146         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13147         (init_cutu_and_read_dies_no_follow): Update.
13148         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
13149         (dwarf2_cu::~dwarf2_cu): New.
13150         (free_heap_comp_unit, free_stack_comp_unit): Remove.
13151         (age_cached_comp_units, free_one_cached_comp_unit): Update.
13152
13153 2018-01-17  Tom Tromey  <tom@tromey.com>
13154             Simon Marchi  <simon.marchi@ericsson.com>
13155
13156         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
13157         (struct die_reader_specs) <abbrev_table>: New member.
13158         (struct abbrev_table): Add constructor.
13159         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
13160         <abbrev_obstack>: Now an auto_obstack.
13161         (abbrev_table_up): New typedef.
13162         (init_cu_die_reader): Add abbrev_table parameter.
13163         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
13164         Add result_dwo_abbrev_table.
13165         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13166         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
13167         Update.
13168         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
13169         parameter.
13170         (skip_children): Update.
13171         (abbrev_table::alloc_abbrev): Rename from
13172         abbrev_table_alloc_abbrev.
13173         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
13174         (abbrev_table::lookup_abbrev): Rename from
13175         abbrev_table_lookup_abbrev.
13176         (abbrev_table_read_table): Return abbrev_table_up.
13177         (abbrev_table_free, abbrev_table_free_cleanup)
13178         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
13179         (load_partial_dies): Update.
13180
13181 2018-01-17  Tom Tromey  <tom@tromey.com>
13182
13183         * dwarf2read.c (dwarf2_compute_name): Update comment.
13184         (read_func_scope, read_variable): Update.
13185         (new_symbol): Remove.
13186         (new_symbol_full): Rename to new_symbol.
13187
13188 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
13189
13190         PR gdb/16577
13191         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
13192         a warning instead of throwing an error, set section size to 0 and return
13193         NULL.
13194         * gdb_bfd.h (gdb_bfd_map_section): Update description.
13195
13196 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13197
13198         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
13199         std::string.
13200         (linux_ptrace_attach_fail_reason_string): Likewise.
13201         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
13202         Likewise.
13203         (linux_ptrace_attach_fail_reason_string): Likewise.
13204         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
13205
13206 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13207
13208         * linux-nat.c (linux_nat_attach): Remove xstrdup.
13209
13210 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
13211
13212         PR gdb/21559
13213         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
13214         checking for fs_base/gs_base fields in struct user_regs_struct.
13215         * configure: Regenerate.
13216
13217 2018-01-17  Yao Qi  <yao.qi@linaro.org>
13218
13219         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
13220         function.
13221         (aarch64_linux_init_abi): Install it to gdbarch hook
13222         gcc_target_options.
13223
13224 2018-01-15  Pedro Alves  <palves@redhat.com>
13225
13226         * common/signals-state-save-restore.c
13227         (save_original_signals_state): Fix typos.
13228
13229 2017-01-12  Tom Tromey  <tom@tromey.com>
13230             Sergio Durigan Junior  <sergiodj@redhat.com>
13231
13232         * Makefile.in (install-only): Install gdb-add-index.
13233
13234 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
13235
13236         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
13237
13238 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13239
13240         * infrun.c (keep_going_pass_signal): Clear step-over info when
13241         insert_breakpoints fails.
13242
13243 2018-01-11  Pedro Alves  <palves@redhat.com>
13244
13245         PR gdb/22583
13246         * infrun.c (resume): Rename to ...
13247         (resume_1): ... this.
13248         (resume): Reimplement as wrapper around resume_1.
13249
13250 2018-01-11  Pedro Alves  <palves@redhat.com>
13251
13252         PR remote/22597
13253         * remote.c (remote_parse_stop_reply): Default to the last-set
13254         general thread instead of to 'magic_null_ptid'.
13255
13256 2018-01-10  Pedro Alves  <palves@redhat.com>
13257
13258         * language.h (language_get_symbol_name_matcher): Rename ...
13259         (get_symbol_name_matcher): ... this.
13260         * language.c (language_get_symbol_name_matcher): Ditto.
13261         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
13262         callers adjusted.
13263
13264 2018-01-10  Pedro Alves  <palves@redhat.com>
13265
13266         PR gdb/22670
13267         * dwarf2read.c
13268         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
13269         Adjust to use language_get_symbol_name_matcher instead of
13270         language_defn::la_get_symbol_name_matcher.
13271         * language.c (language_get_symbol_name_matcher): If in Ada mode
13272         and the lookup name is a verbatim match, return Ada's matcher.
13273         * language.h (language_get_symbol_name_matcher): Adjust comment.
13274         (ada_lookup_name_info::verbatim_p):: New method.
13275
13276 2018-01-10  Pedro Alves  <palves@redhat.com>
13277
13278         PR gdb/22670
13279         * ada-lang.c (ada_collect_symbol_completion_matches): If the
13280         minsym's language is language_auto or language_cplus, pass down
13281         language_ada instead.
13282         * symtab.c (compare_symbol_name): Don't frob symbol language here.
13283
13284 2018-01-10  Pedro Alves  <palves@redhat.com>
13285
13286         PR gdb/22670
13287         * minsyms.c (linkage_name_str): New function.
13288         (iterate_over_minimal_symbols): Use it.
13289
13290 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13291
13292         * NEWS: Document that 'info proc' now works on FreeBSD.
13293
13294 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13295
13296         * configure.ac: Check for kinfo_getfile in libutil.
13297         * configure: Regenerate.
13298         * config.in: Regenerate.
13299         * fbsd-nat.c: Include "fbsd-tdep.h".
13300         (fbsd_fetch_cmdline): New.
13301         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
13302         rather than calling error.
13303         (fbsd_info_proc): New.
13304         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
13305         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
13306         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
13307
13308 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13309
13310         * fbsd-nat.c (struct free_deleter): Remove.
13311         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
13312
13313 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13314
13315         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
13316         NULL for an empty pathname.
13317
13318 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13319
13320         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
13321         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
13322         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
13323         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
13324         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
13325         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
13326         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
13327         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
13328         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
13329         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
13330         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
13331         (fbsd_core_fetch_timeval, fbsd_print_sigset)
13332         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
13333         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
13334         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
13335
13336 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
13337
13338         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
13339         (gnu_xfer_auxv): New function.
13340         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
13341         TARGET_OBJECT_AUXV.
13342
13343 2018-01-08  Yao Qi  <yao.qi@linaro.org>
13344             Simon Marchi  <simon.marchi@ericsson.com>
13345
13346         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
13347         common/selftest.c.
13348         (COMMON_OBS): Remove selftest.o.
13349         * configure.ac: Append selftest-arch.c and common/selftest.c to
13350         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
13351         * configure: Re-generated.
13352         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
13353         GDB_SELF_TEST.
13354         (maintenance_info_selftests): Likewise.
13355
13356 2018-01-08  Xavier Roirand  <roirand@adacore.com>
13357
13358         * ada-valprint.c (val_print_packed_array_elements): Use
13359         proper number of elements when printing an array indexed
13360         by an enumeration type.
13361
13362 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13363
13364         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
13365         (dw2_get_file_names_reader): Adjust.
13366         (lookup_dwo_signatured_type): Adjust.
13367         (lookup_dwp_signatured_type): Adjust.
13368         (lookup_signatured_type): Adjust.
13369         (create_type_unit_group): Adjust.
13370         (get_type_unit_group): Adjust.
13371         (process_psymtab_comp_unit_reader): Adjust.
13372         (build_type_psymtabs_reader): Adjust.
13373         (scan_partial_symbols): Adjust.
13374         (add_partial_symbol): Adjust.
13375         (add_partial_subprogram): Adjust.
13376         (peek_die_abbrev): Adjust.
13377         (fixup_go_packaging): Adjust.
13378         (process_imported_unit_die): Adjust.
13379         (dwarf2_compute_name): Adjust.
13380         (dwarf2_physname): Adjust.
13381         (read_import_statement): Adjust.
13382         (handle_DW_AT_stmt_list): Adjust.
13383         (read_file_scope): Adjust.
13384         (read_func_scope): Adjust.
13385         (read_lexical_block_scope): Adjust.
13386         (read_call_site_scope): Adjust.
13387         (read_variable): Adjust.
13388         (dwarf2_rnglists_process): Adjust.
13389         (dwarf2_ranges_process): Adjust.
13390         (dwarf2_ranges_read): Adjust.
13391         (dwarf2_get_pc_bounds): Adjust.
13392         (dwarf2_record_block_ranges): Adjust.
13393         (dwarf2_add_field): Adjust.
13394         (dwarf2_add_member_fn): Adjust.
13395         (read_structure_type): Adjust.
13396         (process_structure_scope): Adjust.
13397         (read_enumeration_type): Adjust.
13398         (read_array_type): Adjust.
13399         (mark_common_block_symbol_computed): Adjust.
13400         (read_common_block): Adjust.
13401         (read_namespace_type): Adjust.
13402         (read_namespace): Adjust.
13403         (read_module_type): Adjust.
13404         (read_tag_pointer_type): Adjust.
13405         (read_tag_ptr_to_member_type): Adjust.
13406         (read_tag_string_type): Adjust.
13407         (read_subroutine_type): Adjust.
13408         (read_typedef): Adjust.
13409         (read_base_type): Adjust.
13410         (attr_to_dynamic_prop): Adjust.
13411         (read_subrange_type): Adjust.
13412         (read_unspecified_type): Adjust.
13413         (dwarf2_read_abbrevs): Adjust.
13414         (load_partial_dies): Adjust.
13415         (read_partial_die): Adjust.
13416         (find_partial_die): Adjust.
13417         (guess_partial_die_structure_name): Adjust.
13418         (fixup_partial_die): Adjust.
13419         (read_attribute_value): Adjust.
13420         (read_addr_index): Adjust.
13421         (read_addr_index_from_leb128): Adjust.
13422         (read_str_index): Adjust.
13423         (dwarf2_string_attr): Adjust.
13424         (get_debug_line_section): Adjust.
13425         (dwarf_decode_line_header): Adjust.
13426         (lnp_state_machine::check_line_address): Adjust.
13427         (dwarf_decode_lines_1): Adjust.
13428         (dwarf_decode_lines): Adjust.
13429         (dwarf2_start_symtab): Adjust.
13430         (var_decode_location): Adjust.
13431         (new_symbol_full): Adjust.
13432         (dwarf2_const_value_data): Adjust.
13433         (dwarf2_const_value_attr): Adjust.
13434         (dwarf2_const_value): Adjust.
13435         (die_type): Adjust.
13436         (die_containing_type): Adjust.
13437         (build_error_marker_type): Adjust.
13438         (lookup_die_type): Adjust.
13439         (guess_full_die_structure_name): Adjust.
13440         (anonymous_struct_prefix): Adjust.
13441         (determine_prefix): Adjust.
13442         (dwarf2_name): Adjust.
13443         (follow_die_ref_or_sig): Adjust.
13444         (follow_die_offset): Adjust.
13445         (follow_die_ref): Adjust.
13446         (follow_die_sig_1): Adjust.
13447         (follow_die_sig): Adjust.
13448         (get_signatured_type): Adjust.
13449         (get_DW_AT_signature_type): Adjust.
13450         (decode_locdesc): Adjust.
13451         (dwarf_decode_macros): Adjust.
13452         (cu_debug_loc_section): Adjust.
13453         (fill_in_loclist_baton): Adjust.
13454         (dwarf2_symbol_mark_computed): Adjust.
13455         (init_one_comp_unit): Don't assign
13456         dwarf2_cu::dwarf2_per_objfile.
13457         (set_die_type): Adjust.
13458
13459 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13460
13461         * dwarf2read.c (struct mapped_debug_names): Add constructor.
13462         <dwarf2_per_objfile>: New field.
13463         (dwarf2_per_objfile): Remove global.
13464         (get_dwarf2_per_objfile): New function.
13465         (set_dwarf2_per_objfile): New function.
13466         (dwarf2_build_psymtabs_hard): Change objfile parameter to
13467         dwarf2_per_objfile.
13468         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13469         (read_abbrev_offset): Likewise.
13470         (read_indirect_string): Likewise.
13471         (read_indirect_line_string): Likewise.
13472         (read_indirect_string_at_offset): Likewise.
13473         (read_indirect_string_from_dwz): Likewise.
13474         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13475         dwarf2_per_objfile.
13476         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13477         (create_all_comp_units): Change objfile parameter to
13478         dwarf2_per_objfile.
13479         (create_all_type_units): Likewise.
13480         (process_queue): Add dwarf2_per_objfile parameter.
13481         (read_and_check_comp_unit_head): Likewise.
13482         (lookup_dwo_unit_in_dwp): Likewise.
13483         (get_dwp_file): Likewise.
13484         (process_cu_includes): Likewise.
13485         (struct free_dwo_file_cleanup_data): New struct.
13486         (dwarf2_has_info): Use get_dwarf2_per_objfile and
13487         set_dwarf2_per_objfile.
13488         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
13489         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
13490         context, adjust calls.
13491         (dw2_instantiate_symtab): Likewise.
13492         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
13493         (dw2_get_cu): Likewise.
13494         (create_cu_from_index_list): Change objfile parameter to
13495         dwarf2_per_objfile.
13496         (create_cus_from_index_list): Get dwarf2_per_objfile from
13497         context, adjust calls.
13498         (create_cus_from_index): Likewise.
13499         (create_signatured_type_table_from_index): Change objfile
13500         parameter to dwarf2_per_objfile.
13501         (create_signatured_type_table_from_debug_names): Change objfile
13502         parameter to dwarf2_per_objfile.
13503         (create_addrmap_from_index): Likewise.
13504         (create_addrmap_from_aranges): Likewise.
13505         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
13506         (dw2_setup): Remove.
13507         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
13508         context.
13509         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
13510         get_dwarf2_per_objfile.
13511         (dw2_forget_cached_source_info): Likewise.
13512         (dw2_map_symtabs_matching_filename): Likewise.
13513         (struct dw2_symtab_iterator) <index>: Remove.
13514         <dwarf2_per_objfile>: New field.
13515         (dw2_symtab_iter_init): Replace index parameter with
13516         dwarf2_per_objfile.
13517         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
13518         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
13519         (dw2_print_stats): Likewise.
13520         (dw2_dump): Likewise.
13521         (dw2_expand_symtabs_for_function): Likewise.
13522         (dw2_expand_all_symtabs): Likewise.
13523         (dw2_expand_symtabs_with_fullname): Likewise.
13524         (dw2_expand_marked_cus): Replace index and objfile parameters
13525         with dwarf2_per_objfile.
13526         (dw_expand_symtabs_matching_file_matcher): Add
13527         dwarf2_per_objfile parameter and adjust calls.
13528         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
13529         adjust calls.
13530         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
13531         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
13532         adjust calls.
13533         (create_cus_from_debug_names_list): Replace objfile parameter
13534         with dwarf2_per_objfile and adjust calls.
13535         (create_cus_from_debug_names): Likewise.
13536         (dwarf2_read_debug_names): Likewise.
13537         (mapped_debug_names::namei_to_name): Adjust call.
13538         (dw2_debug_names_iterator::next): Likewise.
13539         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
13540         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
13541         (dw2_debug_names_dump): Likewise.
13542         (dw2_debug_names_expand_symtabs_for_function): Likewise.
13543         (dw2_debug_names_expand_symtabs_matching): Likewise.
13544         (dwarf2_initialize_objfile): Likewise.
13545         (dwarf2_build_psymtabs): Likewise.
13546         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
13547         this_cu.
13548         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
13549         (read_and_check_comp_unit_head): Likewise.
13550         (read_abbrev_offset): Likewise.
13551         (create_debug_type_hash_table): Likewise.
13552         (create_debug_types_hash_table): Likewise.
13553         (create_all_type_units): Replace objfile parameter with
13554         dwarf2_per_objfile.
13555         (add_type_unit): Add dwarf2_per_objfile parameter.
13556         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
13557         with dwarf2_per_objfile.
13558         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
13559         (lookup_dwp_signatured_type): Likewise.
13560         (lookup_signatured_type): Likewise.
13561         (read_cutu_die_from_dwo): Likewise.
13562         (init_tu_and_read_dwo_dies): Likewise.
13563         (init_cutu_and_read_dies): Likewise.
13564         (init_cutu_and_read_dies_no_follow): Likewise.
13565         (allocate_type_unit_groups_table): Add objfile parameter.
13566         (create_type_unit_group): Use dwarf2_per_objfile from cu.
13567         (get_type_unit_group): Likewise.
13568         (process_psymtab_comp_unit): Update call.
13569         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
13570         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
13571         (print_tu_stats): Likewise.
13572         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
13573         in void* parameter.
13574         (build_type_psymtabs): Change objfile parameter to
13575         dwarf2_per_objfile.
13576         (process_skeletonless_type_unit): Use dwarf2_per_objfile
13577         passed in void* parameter.
13578         (process_skeletonless_type_units): Change objfile parameter to
13579         dwarf2_per_objfile.
13580         (set_partial_user): Likewise.
13581         (dwarf2_build_psymtabs_hard): Likewise.
13582         (read_comp_units_from_section): Likewise.
13583         (create_all_comp_units): Likewise.
13584         (scan_partial_symbols): Update calls.
13585         (add_partial_symbol): Likewise.
13586         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
13587         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
13588         (process_queue): Add dwarf2_per_objfile parameter.
13589         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
13590         (compute_compunit_symtab_includes): Likewise.
13591         (process_cu_includes): Add dwarf2_per_objfile parameter.
13592         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
13593         (process_full_type_unit): Likewise.
13594         (process_imported_unit_die): Update call.
13595         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
13596         (read_file_scope): Likewise.
13597         (allocate_dwo_file_hash_table): Add objfile parameter.
13598         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
13599         (create_cus_hash_table): Likewise.
13600         (create_dwp_hash_table): Likewise.
13601         (create_dwo_unit_in_dwp_v1): Likewise.
13602         (create_dwp_v2_section): Likewise.
13603         (create_dwo_unit_in_dwp_v2): Likewise.
13604         (lookup_dwo_unit_in_dwp): Likewise.
13605         (try_open_dwop_file): Likewise.
13606         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
13607         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
13608         cleanup to include a reference to dwarf2_per_objfile.
13609         (open_dwp_file): Add dwarf2_per_objfile parameter.
13610         (open_and_init_dwp_file): Likewise.
13611         (get_dwp_file): Likewise.
13612         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
13613         (queue_and_load_all_dwo_tus): Update call.
13614         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
13615         data.
13616         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
13617         (dwarf2_ranges_process): Likewise.
13618         (dwarf2_get_pc_bounds): Likewise.
13619         (mark_common_block_symbol_computed): Likewise.
13620         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13621         (dwarf2_read_abbrevs): Update call.
13622         (read_partial_die): Use dwarf2_per_objfile from cu.
13623         (find_partial_die): Likewise.
13624         (fixup_partial_die): Likewise.
13625         (read_attribute_value): Likewise.
13626         (read_indirect_string_at_offset_from): Add objfile parameter.
13627         (read_indirect_string_at_offset): Add dwarf2_per_objfile
13628         parameter.
13629         (read_indirect_string_from_dwz): Add objfile parameter.
13630         (read_indirect_string): Add objfile parameter.
13631         (read_addr_index_1): Add dwarf2_per_objfile parameter.
13632         (read_addr_index): Use dwarf2_per_objfile from cu.
13633         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
13634         call dw2_setup.
13635         (read_str_index): Use dwarf2_per_objfile from cu.
13636         (get_debug_line_section): Likewise.
13637         (read_formatted_entries): Add dwarf2_per_objfile parameter.
13638         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
13639         (new_symbol_full): Use dwarf2_per_objfile from cu.
13640         (build_error_marker_type): Likewise.
13641         (lookup_die_type): Likewise.
13642         (determine_prefix): Likewise.
13643         (follow_die_offset): Likewise.
13644         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
13645         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
13646         (dwarf2_fetch_die_type_sect_off): Likewise.
13647         (dwarf2_get_die_type): Likewise.
13648         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
13649         (get_signatured_type): Likewise.
13650         (get_DW_AT_signature_type): Likewise.
13651         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
13652         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
13653         (cu_debug_loc_section): Likewise.
13654         (fill_in_loclist_baton): Likewise.
13655         (dwarf2_symbol_mark_computed): Likewise.
13656         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13657         dwarf2_per_objfile.
13658         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
13659         parameter.
13660         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13661         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
13662         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
13663         (set_die_type): Use dwarf2_free_objfile from cu.
13664         (get_die_type_at_offset): Likewise.
13665         (dwarf2_per_objfile_free): Don't assign global variable.
13666         (debug_names) <constructor>: Add dwarf2_per_objfile
13667         parameter, update m_debugstrlookup construction.
13668         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
13669         parameter.
13670         <m_dwarf2_per_objfile>: New field.
13671         <lookup>: Use m_dwarf2_per_objfile.
13672         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
13673         (psyms_seen_size): Likewise.
13674         (write_gdbindex): Replace objfile parameter with
13675         dwarf2_per_objfile.
13676         (write_debug_names): Likewise.
13677         (write_psymtabs_to_index): Likewise.
13678         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
13679         calls.
13680
13681 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13682
13683         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
13684         <dwarf2_per_objfile>: New field.
13685         (struct dwarf2_per_cu_data) <objfile>: Remove.
13686         <dwarf2_per_objfile>: New field.
13687         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
13688         of objfile.
13689         (create_signatured_type_table_from_index): Likewise.
13690         (create_debug_type_hash_table): Likewise.
13691         (fill_in_sig_entry_from_dwo_entry): Likewise.
13692         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
13693         (create_type_unit_group): Assign dwarf2_per_objfile instead of
13694         objfile.
13695         (create_partial_symtab): Access objfile through
13696         dwarf2_per_objfile.
13697         (process_psymtab_comp_unit_reader): Likewise.
13698         (read_comp_units_from_section): Likewise.
13699         (scan_partial_symbols): Likewise.
13700         (add_partial_symbol): Likewise.
13701         (add_partial_subprogram): Likewise.
13702         (peek_die_abbrev): Likewise.
13703         (fixup_go_packaging): Likewise.
13704         (process_full_comp_unit): Likewise.
13705         (process_full_type_unit): Likewise.
13706         (process_imported_unit_die): Likewise.
13707         (dwarf2_compute_name): Likewise.
13708         (dwarf2_physname): Likewise.
13709         (read_import_statement): Likewise.
13710         (create_cus_hash_table): Assign dwarf2_physname instead of
13711         objfile.
13712         (read_func_scope): Access objfile through dwarf2_per_objfile.
13713         (read_lexical_block_scope): Likewise.
13714         (read_call_site_scope): Likewise.
13715         (read_variable): Likewise.
13716         (dwarf2_rnglists_process): Likewise.
13717         (dwarf2_ranges_process): Likewise.
13718         (dwarf2_ranges_read): Likewise.
13719         (dwarf2_record_block_ranges): Likewise.
13720         (dwarf2_add_field): Likewise.
13721         (dwarf2_add_member_fn): Likewise.
13722         (read_structure_type): Likewise.
13723         (process_structure_scope): Likewise.
13724         (read_enumeration_type): Likewise.
13725         (read_array_type): Likewise.
13726         (read_common_block): Likewise.
13727         (read_namespace_type): Likewise.
13728         (read_namespace): Likewise.
13729         (read_module_type): Likewise.
13730         (read_tag_pointer_type): Likewise.
13731         (read_tag_ptr_to_member_type): Likewise.
13732         (read_tag_string_type): Likewise.
13733         (read_subroutine_type): Likewise.
13734         (read_typedef): Likewise.
13735         (read_base_type): Likewise.
13736         (attr_to_dynamic_prop): Likewise.
13737         (read_subrange_type): Likewise.
13738         (read_unspecified_type): Likewise.
13739         (load_partial_dies): Likewise.
13740         (read_partial_die): Likewise.
13741         (find_partial_die): Likewise.
13742         (guess_partial_die_structure_name): Likewise.
13743         (fixup_partial_die): Likewise.
13744         (read_attribute_value): Likewise.
13745         (read_addr_index_from_leb128): Likewise.
13746         (dwarf2_read_addr_index): Likewise.
13747         (dwarf2_string_attr): Likewise.
13748         (lnp_state_machine::check_line_address): Likewise.
13749         (dwarf_decode_lines_1): Likewise.
13750         (dwarf_decode_lines): Likewise.
13751         (dwarf2_start_symtab): Likewise.
13752         (var_decode_location): Likewise.
13753         (new_symbol_full): Likewise.
13754         (dwarf2_const_value_data): Likewise.
13755         (dwarf2_const_value_attr): Likewise.
13756         (dwarf2_const_value): Likewise.
13757         (die_type): Likewise.
13758         (die_containing_type): Likewise.
13759         (lookup_die_type): Likewise.
13760         (guess_full_die_structure_name): Likewise.
13761         (anonymous_struct_prefix): Likewise.
13762         (dwarf2_name): Likewise.
13763         (follow_die_ref_or_sig): Likewise.
13764         (follow_die_offset): Likewise.
13765         (follow_die_ref): Likewise.
13766         (dwarf2_fetch_die_loc_sect_off): Likewise.
13767         (dwarf2_fetch_constant_bytes): Likewise.
13768         (dwarf2_fetch_die_type_sect_off): Likewise.
13769         (dwarf2_get_die_type): Likewise.
13770         (follow_die_sig): Likewise.
13771         (decode_locdesc): Likewise.
13772         (dwarf2_per_cu_objfile): Likewise.
13773         (dwarf2_per_cu_text_offset): Likewise.
13774         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
13775         objfile.
13776         (set_die_type): Access objfile through
13777         dwarf2_per_objfile.
13778
13779 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13780
13781         * valprint.c (converted_character_d): Remove typedef.
13782         (DEF_VEC_O (converted_character_d)): Remove.
13783         (count_next_character): Use std::vector.
13784         (print_converted_chars_to_obstack): Likewise.
13785         (generic_printstr): Likewise.
13786
13787 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13788
13789         * xml-support.h (struct gdb_xml_value): Add constructor.
13790         <value>: Change type to unique_xmalloc_ptr.
13791         (gdb_xml_value_s): Remove typedef.
13792         (DEF_VEC_O (gdb_xml_value_s)): Remove.
13793         (gdb_xml_element_start_handler): Change parameter type to
13794         std::vector.
13795         (xml_find_attribute): Likewise.
13796         * xml-support.c (xml_find_attribute): Change parameter type to
13797         std::vector and adjust.
13798         (gdb_xml_values_cleanup): Remove.
13799         (gdb_xml_parser::start_element): Adjust to std::vector.
13800         (xinclude_start_include): Change paraeter type to std::vector
13801         and adjust.
13802         * btrace.c (check_xml_btrace_version): Likewise.
13803         (parse_xml_btrace_block): Likewise.
13804         (parse_xml_btrace_pt_config_cpu): Likewise.
13805         (parse_xml_btrace_pt): Likewise.
13806         (parse_xml_btrace_conf_bts): Likewise.
13807         (parse_xml_btrace_conf_pt): Likewise.
13808         * memory-map.c (memory_map_start_memory): Likewise.
13809         (memory_map_start_property): Likewise.
13810         * osdata.c (osdata_start_osdata): Likewise.
13811         (osdata_start_item): Likewise.
13812         (osdata_start_column): Likewise.
13813         * remote.c (start_thread): Likewise.
13814         * solib-aix.c (library_list_start_library): Likewise.
13815         (library_list_start_list): Likewise.
13816         * solib-svr4.c (library_list_start_library): Likewise.
13817         (svr4_library_list_start_list): Likewise.
13818         * solib-target.c (library_list_start_segment): Likewise.
13819         (library_list_start_section): Likewise.
13820         (library_list_start_library): Likewise.
13821         (library_list_start_list): Likewise.
13822         * tracepoint.c (traceframe_info_start_memory): Likewise.
13823         (traceframe_info_start_tvar): Likewise.
13824         * xml-syscall.c (syscall_start_syscall): Likewise.
13825         * xml-tdesc.c (tdesc_start_target): Likewise.
13826         (tdesc_start_feature): Likewise.
13827         (tdesc_start_reg): Likewise.
13828         (tdesc_start_union): Likewise.
13829         (tdesc_start_struct): Likewise.
13830         (tdesc_start_flags): Likewise.
13831         (tdesc_start_enum): Likewise.
13832         (tdesc_start_field): Likewise.
13833         (tdesc_start_enum_value): Likewise.
13834         (tdesc_start_vector): Likewise.
13835
13836 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13837
13838         * extension.h (struct xmethod_worker) <clone>: Remove.
13839         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
13840         Remove.
13841         (python_xmethod_worker::clone): Remove.
13842         * valops.c (find_overload_match): Use std::move instead of
13843         clone.
13844
13845 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13846
13847         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
13848         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
13849         <free_xmethod_worker_data>: Remove.
13850         <get_matching_xmethod_workers>: Chance VEC to std::vector.
13851         <get_xmethod_arg_types>: Remove.
13852         <get_xmethod_result_type>: Remove.
13853         <invoke_xmethod>: Remove.
13854         * extension.c (new_xmethod_worker): Remove.
13855         (clone_xmethod_worker): Remove.
13856         (get_matching_xmethod_workers): Return void, pass std::vector by
13857         pointer.
13858         (get_xmethod_arg_types): Rename to...
13859         (xmethod_worker::get_arg_types): ... this, and adjust.
13860         (get_xmethod_result_type): Rename to...
13861         (xmethod_worker::get_result_type): ... this, and adjust.
13862         (invoke_xmethod): Remove.
13863         (free_xmethod_worker): Remove.
13864         (free_xmethod_worker_vec): Remove.
13865         * extension.h (enum ext_lang_rc): Move here from
13866         extension-priv.h.
13867         (struct xmethod_worker): Add constructor and destructor.
13868         <data>: Remove.
13869         <value>: Remove.
13870         <invoke, clone, do_get_result_type, do_get_arg_types>: New
13871         virtual pure methods.
13872         <get_arg_types, get_result_type>: New methods.
13873         (xmethod_worker_ptr): Remove typedef.
13874         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
13875         (xmethod_worker_vec): Remove typedef.
13876         (xmethod_worker_up): New typedef.
13877         (invoke_xmethod): Remove.
13878         (clone_xmethod_worker): Remove.
13879         (free_xmethod_worker): Remove.
13880         (free_xmethod_worker_vec): Remove.
13881         (get_xmethod_arg_types): Remove.
13882         (get_xmethod_result_type): Remove.
13883         * valops.c (find_method_list): Use std::vector, don't use
13884         intermediate vector.
13885         (value_find_oload_method_list): Use std::vector.
13886         (find_overload_match): Use std::vector.
13887         (find_oload_champ): Use std::vector.
13888         * value.c (value_free): Use operator delete.
13889         (value_of_xmethod): Rename to...
13890         (value_from_xmethod): ... this.  Don't assign
13891         xmethod_worker::value, take rvalue-reference.
13892         (result_type_of_xmethod): Adjust.
13893         (call_xmethod): Adjust.
13894         * value.h: Include extension.h.
13895         (struct xmethod_worker): Don't forward-declare.
13896         (value_of_xmethod): Rename to...
13897         (value_from_xmethod): ... this, take rvalue-reference.
13898         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
13899         (struct python_xmethod_worker): ... this, add constructor and
13900         destructor.
13901         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
13902         (gdbpy_free_xmethod_worker_data): Rename to...
13903         (python_xmethod_worker::~python_xmethod_worker): ... this and
13904         adjust.
13905         (gdbpy_clone_xmethod_worker_data): Rename to...
13906         (python_xmethod_worker::clone): ... this and adjust.
13907         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
13908         temporary vector.
13909         (gdbpy_get_xmethod_arg_types): Rename to...
13910         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
13911         (gdbpy_get_xmethod_result_type): Rename to...
13912         (python_xmethod_worker::do_get_result_type): ... this and
13913         adjust.
13914         (gdbpy_invoke_xmethod): Rename to...
13915         (python_xmethod_worker::invoke): ... this and adjust.
13916         (new_python_xmethod_worker): Rename to...
13917         (python_xmethod_worker::python_xmethod_worker): ... this and
13918         adjust.
13919         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
13920         Remove.
13921         (gdbpy_free_xmethod_worker_data): Remove.
13922         (gdbpy_get_matching_xmethod_workers): Use std::vector.
13923         (gdbpy_get_xmethod_arg_types): Remove.
13924         (gdbpy_get_xmethod_result_type): Remove.
13925         (gdbpy_invoke_xmethod): Remove.
13926         * python/python.c (python_extension_ops): Remove obsolete
13927         callbacks.
13928
13929 2018-01-05  Pedro Alves  <palves@redhat.com>
13930
13931         PR gdb/18653
13932         * common/signals-state-save-restore.c
13933         (save_original_signals_state): New parameter 'quiet'.  Warn if we
13934         find a custom handler preinstalled, instead of internal erroring.
13935         But only warn if !quiet.
13936         * common/signals-state-save-restore.h
13937         (save_original_signals_state): New parameter 'quiet'.
13938         * main.c (captured_main_1): Move save_original_signals_state call
13939         after option handling, and pass QUIET.
13940
13941 2018-01-05  Pedro Alves  <palves@redhat.com>
13942
13943         * spu-tdep.c (spu_catch_start): Pass
13944         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
13945
13946 2018-01-05  Pedro Alves  <palves@redhat.com>
13947
13948         PR gdb/22670
13949         * ada-lang.c (literal_symbol_name_matcher): New function.
13950         (ada_get_symbol_name_matcher): Use it for
13951         symbol_name_match_type::SEARCH_NAME.
13952         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
13953         it down instead of assuming symbol_name_match_type::FULL.
13954         * block.h (block_lookup_symbol): New parameter 'match_type'.
13955         * c-valprint.c (print_unpacked_pointer): Use
13956         lookup_symbol_search_name instead of lookup_symbol.
13957         * compile/compile-object-load.c (get_out_value_type): Pass down
13958         symbol_name_match_type::SEARCH_NAME.
13959         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
13960         symbol_name_match_type::FULL.
13961         * cp-support.c (cp_get_symbol_name_matcher): Handle
13962         symbol_name_match_type::SEARCH_NAME.
13963         * infrun.c (insert_exception_resume_breakpoint): Use
13964         lookup_symbol_search_name.
13965         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
13966         * psymtab.c (maintenance_check_psymtabs): Use
13967         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
13968         * stack.c (print_frame_args): Use lookup_symbol_search_name and
13969         SYMBOL_SEARCH_NAME.
13970         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
13971         if symbol_name_match_type::SEARCH_NAME.
13972         (lookup_symbol_in_language): Pass down
13973         symbol_name_match_type::FULL.
13974         (lookup_symbol_search_name): New.
13975         (lookup_language_this): Pass down
13976         symbol_name_match_type::SEARCH_NAME.
13977         (lookup_symbol_aux, lookup_local_symbol): New parameter
13978         'match_type'.  Pass it down.
13979         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
13980         (lookup_symbol_search_name): New declaration.
13981         (lookup_symbol_in_block): New 'match_type' parameter.
13982
13983 2018-01-05  Pedro Alves  <palves@redhat.com>
13984
13985         PR gdb/22670
13986         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
13987         ada_lookup_symbol.
13988         (ada_lookup_symbol): Reimplement in terms of
13989         ada_lookup_symbol_list, bits factored out from
13990         ada_lookup_encoded_symbol.
13991
13992 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13993
13994         * ada-exp.y (write_object_renaming): When subscripting an array
13995         using a symbol as the index, pass the block in call to
13996         ada_lookup_encoded_symbol when looking that symbol up.
13997
13998 2018-01-05  Jerome Guitton  <guitton@adacore.com>
13999
14000         * ada-lang.c (ada_array_length): Use ada_index_type instead of
14001         TYPE_INDEX_TYPE.
14002
14003 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14004
14005         * ada-lang.c (ada_to_fixed_value_create): Add handling of
14006         the case where VALUE_LVAL (val0) is not lval_memory.
14007
14008 2018-01-05  Xavier Roirand  <roirand@adacore.com>
14009
14010         * ada-valprint.c (print_optional_low_bound): Handle
14011         character-indexed array printing like boolean-indexed array
14012         printing.
14013
14014 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14015
14016         * NEWS: Create a new section for the next release branch.
14017         Rename the section of the current branch, now that it has
14018         been cut.
14019
14020 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14021
14022         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
14023         * version.in: Bump version to 8.1.50.DATE-git.
14024
14025 2018-01-03  Xavier Roirand  <roirand@adacore.com>
14026
14027         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
14028         Add field.
14029         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
14030         Add field.
14031         (default_exception_support_info) <catch_handlers_sym>: Add field.
14032         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
14033         (ada_exception_name_addr_1): Add "catch handlers" handling.
14034         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
14035         Update all callers.
14036         (create_excep_cond_exprs) <ex>: Add parameter.
14037         (re_set_exception): Update create_excep_cond_exprs call.
14038         (print_it_exception, print_one_exception, print_mention_exception)
14039         (print_recreate_exception): Add "catch handler" handling.
14040         (allocate_location_catch_handlers, re_set_catch_handlers)
14041         (check_status_catch_handlers, print_it_catch_handlers)
14042         (print_one_catch_handlers, print_mention_catch_handlers)
14043         (print_recreate_catch_handlers): New function.
14044         (catch_handlers_breakpoint_ops): New variable.
14045         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
14046         Add parameter.  Add "catch handler" handling.
14047         (ada_exception_sym_name, ada_exception_breakpoint_ops):
14048         Add "catch handler" handling.
14049         (ada_exception_catchpoint_cond_string): Add "catch handler"
14050         handling.
14051         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
14052         call.
14053         (catch_ada_handlers_command): New function.
14054         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
14055         operations structure.
14056         (_initialize_ada_language): Add "catch handlers" command entry.
14057         * NEWS: Document "catch handlers" feature.
14058
14059 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14060
14061         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
14062         account when creating the array type of the slice.
14063         (ada_value_slice): Likewise.
14064
14065 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14066
14067         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
14068         New enum value.
14069         (create_array_type_with_stride): Add byte_stride_prop parameter.
14070         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
14071         New parameter.  Update all callers in this file.
14072         (array_type_has_dynamic_stride): New function.
14073         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
14074         of arrays with dynamic byte strides.
14075         * dwarf2read.c (read_array_type): Add support for dynamic
14076         DW_AT_byte_stride attributes.
14077
14078 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14079
14080         * dwarf2read.c (read_unspecified_type): Treat
14081         DW_TAG_enumeration_type DIEs from Ada units as stubs.
14082
14083 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14084
14085         Update copyright year range in all GDB files.
14086
14087 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14088
14089         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
14090         and gdb/testsuite/gdb.base/step-line.c.
14091
14092 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14093
14094         * copyright.py (main): Dump the contents of
14095         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
14096         even if BY_HAND is empty.
14097
14098 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14099
14100         * top.c (print_gdb_version): Update Copyright year in version
14101         message.
14102
14103 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14104
14105         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
14106
14107 For older changes see ChangeLog-2017.
14108 \f
14109 Local Variables:
14110 mode: change-log
14111 left-margin: 8
14112 fill-column: 74
14113 version-control: never
14114 coding: utf-8
14115 End: