python: Make gdb.execute("show commands") work (PR 23669)
[external/binutils.git] / gdb / ChangeLog
1 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
2
3         PR python/23669
4         * breakpoint.c (commands_cmd_element): New.
5         (_initialize_breakpoint): Assign commands_cmd_element.
6         * breakpoint.h (commands_cmd_element): New.
7         * cli/cli-script.c (while_cmd_element, if_command,
8         define_cmd_element): New.
9         (command_name_equals): Remove.
10         (process_next_line): Compare commands by pointer, not by name.
11         (_initialize_cli_script): Assign the various cmd_list_element
12         variables.
13         * compile/compile.c (compile_cmd_element): New.
14         (_initialize_compile): Assign compile_cmd_element.
15         * compile/compile.h (compile_cmd_element): New.
16         * guile/guile.c (guile_cmd_element): New.
17         (install_gdb_commands): Assign guile_cmd_element.
18         * guile/guile.h (guile_cmd_element): New.
19         * python/python.c (python_cmd_element): New.
20         (_initialize_python): Assign python_cmd_element.
21         * python/python.h (python_cmd_element): New.
22         * tracepoint.c (while_stepping_cmd_element): New.
23         (_initialize_tracepoint): Assign while_stepping_cmd_element.
24         * tracepoint.h (while_stepping_cmd_element): New.
25
26 2018-09-17  Tom Tromey  <tom@tromey.com>
27
28         * infrun.c (save_infcall_suspend_state): Return
29         infcall_suspend_state_up.
30         (save_infcall_control_state): Return infcall_control_state_up.
31         * inferior.h (save_infcall_suspend_state)
32         (save_infcall_control_state): Declare later.  Return unique
33         pointers.
34
35 2018-09-17  Tom Tromey  <tom@tromey.com>
36
37         * infrun.c (struct stop_context): Declare constructor,
38         destructor, "changed" method.
39         (stop_context::stop_context): Rename from save_stop_context.
40         (stop_context::~stop_context): Rename from
41         release_stop_context_cleanup.
42         (normal_stop): Update.
43         (stop_context::changed): Rename from stop_context_changed.  Return
44         bool.
45
46 2018-09-17  Tom Tromey  <tom@tromey.com>
47
48         * inferior.h (struct infcall_suspend_state_deleter): New.
49         (infcall_suspend_state_up): New typedef.
50         (struct infcall_control_state_deleter): New.
51         (infcall_control_state_up): New typedef.
52         (make_cleanup_restore_infcall_suspend_state)
53         (make_cleanup_restore_infcall_control_state): Don't declare.
54         * infcall.c (call_function_by_hand_dummy): Update.
55         * infrun.c (do_restore_infcall_suspend_state_cleanup)
56         (make_cleanup_restore_infcall_suspend_state): Remove.
57         (do_restore_infcall_control_state_cleanup)
58         (make_cleanup_restore_infcall_control_state): Remove.
59
60 2018-09-17  Tom Tromey  <tom@tromey.com>
61
62         * gdbthread.h (struct thread_control_state): Add initializer.
63         (class thread_info) <control>: Remove initializer.
64         * inferior.h (struct inferior_control_state): Add initializer.
65         (class inferior) <control>: Remove initializer.
66         (exit_inferior_1): Update.
67         * infrun.c (struct infcall_control_state): Add constructors.
68         (save_infcall_control_state): Use new.
69         (restore_infcall_control_state, discard_infcall_control_state):
70         Use delete.
71
72 2018-09-17  Tom Tromey  <tom@tromey.com>
73
74         * infrun.c (struct infcall_suspend_state) <registers>: Now a
75         unique_ptr.
76         <siginfo_data>: Now a unique_xmalloc_ptr.
77         (save_infcall_suspend_state, restore_infcall_suspend_state)
78         (discard_infcall_suspend_state)
79         (get_infcall_suspend_state_regcache): Update.
80
81 2018-09-17  Tom Tromey  <tom@tromey.com>
82
83         * gdbthread.h (struct thread_suspend_state): Add initializers.
84         (class thread_info) <suspend>: Remove initializer.
85         * infrun.c (struct infcall_suspend_state): Add initializers.
86         (save_infcall_suspend_state): Use new.
87         (discard_infcall_suspend_state): Use delete.
88
89 2018-09-16  Tom Tromey  <tom@tromey.com>
90
91         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
92         Remove.
93         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
94         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
95         (py_varobj_iter_new): Likewise.
96         (py_varobj_get_iterator): Use gdbpy_ref.
97
98 2018-09-16  Tom Tromey  <tom@tromey.com>
99
100         * python/py-threadevent.c (py_get_event_thread): Simplify.
101         * python/py-inferior.c (infpy_thread_from_thread_handle):
102         Return immediately after calling thread_to_thread_object.  Use
103         Py_RETURN_NONE.
104         (thread_to_thread_object): Set the exception on a NULL return.
105
106 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
107
108         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
109
110 2018-09-16  Tom Tromey  <tom@tromey.com>
111
112         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
113         Remove.
114
115 2018-09-16  Tom Tromey  <tom@tromey.com>
116
117         * python/python-internal.h (thread_to_thread_object): Change
118         return type.
119         * python/py-inferior.c (thread_to_thread_object): Return a new
120         reference.
121         (infpy_thread_from_thread_handle): Update.
122         * python/py-infthread.c (gdbpy_selected_thread): Update.
123         * python/py-stopevent.c (create_stop_event_object): Update.
124         * python/py-threadevent.c (py_get_event_thread): Return a new
125         reference.
126         (py_get_event_thread): Update.
127         * python/py-event.h (py_get_event_thread): Change return type.
128         * python/py-continueevent.c (create_continue_event_object):
129         Update.
130
131 2018-09-16  Tom Tromey  <tom@tromey.com>
132
133         * python/py-progspace.c (pspy_get_objfiles): Update.
134         * python/python-internal.h (objfile_to_objfile_object): Change
135         return type.
136         * python/py-newobjfileevent.c (create_new_objfile_event_object):
137         Update.
138         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
139         Update.
140         * python/python.c (gdbpy_get_current_objfile): Update.
141         (gdbpy_objfiles): Update.
142         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
143         Update.
144         (objfile_to_objfile_object): Return a new reference.
145         * python/py-symtab.c (stpy_get_objfile): Update.
146         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
147         Update.
148
149 2018-09-16  Tom Tromey  <tom@tromey.com>
150
151         * python/py-inferior.c (infpy_get_progspace): Update.
152         * python/python-internal.h (pspace_to_pspace_object): Change
153         return type.
154         * python/py-newobjfileevent.c
155         (create_clear_objfiles_event_object): Update.
156         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
157         Update.
158         * python/python.c (gdbpy_get_current_progspace): Update.
159         (gdbpy_progspaces): Update.
160         * python/py-progspace.c (pspace_to_pspace_object): Return a new
161         reference.
162         * python/py-objfile.c (objfpy_get_progspace): Update.
163         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
164         Update.
165
166 2018-09-16  Tom Tromey  <tom@tromey.com>
167
168         * python/lib/gdb/__init__.py (current_progspace, objfiles)
169         (solib_name, block_for_pc, find_pc_line): New functions.
170         (execute_unwinders): Update.
171         * python/py-block.c (gdbpy_block_for_pc): Remove.
172         * python/py-inferior.c (infpy_get_progspace): New function.
173         (inferior_object_getset) <progspace>: Add.
174         * python/py-progspace.c (pspy_objfiles): Rewrite.
175         (pspy_solib_name, pspy_block_for_pc)
176         (pspy_find_pc_line, pspy_is_valid): New functions.
177         (progspace_object_methods): Add entries for solib_name,
178         block_for_pc, find_pc_line, is_valid.
179         * python/python-internal.h (gdbpy_block_for_pc)
180         (build_objfiles_list): Don't declare.
181         * python/python.c: Don't include solib.h.
182         (gdbpy_solib_name, gdbpy_find_pc_line)
183         (gdbpy_get_current_progspace, build_objfiles_list)
184         (gdbpy_objfiles): Remove.
185         (GdbMethods) <current_progspace, objfiles, block_for_pc,
186         solib_name, find_pc_line>: Remove entries.
187
188 2018-09-16  Tom Tromey  <tom@tromey.com>
189
190         * top.c (new_ui_command): Use GNU style for metasyntactic
191         variables.
192         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
193         variables.
194         * maint.c (maintenance_translate_address): Remove "<>" around
195         text.
196         * interps.c (interpreter_exec_cmd): Use GNU style for
197         metasyntactic variables.
198         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
199         metasyntactic variables.
200         * tracepoint.c (tfind_range_command): Use GNU style for
201         metasyntactic variables.
202         (tfind_outside_command): Likewise.
203         (_initialize_tracepoint): Likewise.
204         * remote.c (extended_remote_target::create_inferior): Use GNU
205         style for metasyntactic variables.
206         * sparc64-tdep.c (adi_examine_command): Use GNU style for
207         metasyntactic variables.
208         (adi_assign_command): Likewise.
209
210 2018-09-16  Tom Tromey  <tom@tromey.com>
211
212         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
213         metasyntactic variables.  Print message if no disassembler options
214         are available.
215
216 2018-09-15  Tom Tromey  <tom@tromey.com>
217
218         * infcmd.c (get_inferior_args): Return const char *.
219         * inferior.h (get_inferior_args): Return type now const.
220         * linux-tdep.c (linux_fill_prpsinfo): Update.
221         * procfs.c (procfs_target::make_corefile_notes): Update.
222
223 2018-09-07  Tom Tromey  <tom@tromey.com>
224
225         * python/python.c (execute_gdb_command): Call bpstat_do_actions
226         inside the TRY.
227
228 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
229
230         * nios2-tdep.c (nios2_type_align): New.
231         (nios2_gdb_arch_init): Install type_align hook.
232
233 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
234
235         * eval.c (fake_method::fake_method): Call xzalloc directly for a
236         type that is neither object file owned, nor gdbarch owned.
237         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
238         gdbarch is non-NULL.
239         (alloc_type_instance): Allocate non-objfile owned types on the
240         gdbarch obstack.
241         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
242         using TYPE_ALLOC to ensure memory is allocated on the correct
243         obstack.
244         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
245         obstack, or the gdbarch obstack.
246         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
247
248 2018-09-14  Tom Tromey  <tom@tromey.com>
249
250         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
251         block.
252
253 2018-09-14  Tom Tromey  <tom@tromey.com>
254
255         * nat/fork-inferior.c (get_startup_shell): Remove "static".
256
257 2018-09-13  Tom Tromey  <tom@tromey.com>
258
259         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
260         static.
261
262 2018-09-13  Tom Tromey  <tom@tromey.com>
263
264         * exec.c (try_open_exec_file): Use std::string.
265
266 2018-09-13  Tom Tromey  <tom@tromey.com>
267
268         * utils.h (gdb_bfd_errmsg): Return std::string.
269         * exec.c (exec_file_attach): Update.
270         * compile/compile-object-load.c (compile_object_load): Update.
271         * utils.c (gdb_bfd_errmsg): Return std::string.
272
273 2018-09-13  Tom Tromey  <tom@tromey.com>
274
275         * procfs.c (struct procinfo_deleter): New.
276         (procinfo_up): New typedef.
277         (do_destroy_procinfo_cleanup): Remove.
278         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
279
280 2018-09-13  Tom Tromey  <tom@tromey.com>
281
282         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
283
284 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
285 2018-09-13  Tom Tromey  <tom@tromey.com>
286
287         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
288         (pspy_get_objfiles): New function.
289         (progspace_object_methods): New.
290         (pspace_object_type): Add tp_methods callback.
291         * python/python-internal.h (build_objfiles_list): New
292         declaration.
293         * python/python.c (build_objfiles_list): New function.
294         (gdbpy_objfiles): Implement using build_objfiles_list.
295         * NEWS: Mention the Progspace.objfiles method.
296
297 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
298
299         * python/py-inferior.c (infpy_get_progspace): New function.
300         (inferior_object_getset): Add progspace property.
301         * NEWS: Mention the new property.
302
303 2018-09-13  Tom Tromey  <tom@tromey.com>
304
305         PR rust/23650:
306         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
307
308 2018-09-13  Tom Tromey  <tom@tromey.com>
309
310         PR rust/23626:
311         * rust-lang.c (rust_enum_variant): Now static.
312         (rust_empty_enum_p): New function.
313         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
314         Handle empty enum.
315
316 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
317
318         * python/py-inferior.c (infpy_repr): New.
319         (inferior_object_type): Register infpy_repr.
320         * python/py-objfile.c (objfpy_repr): New.
321         (objfile_object_type): Register objfpy_repr.
322
323 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
324
325         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
326
327 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
328
329         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
330         typo.
331
332 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
333
334         * common/common-utils.c: Don't include '<sys/stat.h>'.
335         (is_regular_file): Move to...
336         * common/filestuff.c (is_regular_file): ... here.
337         * common/common-utils.h (is_regular_file): Move to...
338         * common/filestuff.h (is_regular_file): ... here.
339
340 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
341
342         * skip.c (debug_skip): New variable.
343         (skiplist_entry::do_skip_file_p): Add debug output.
344         (skiplist_entry::do_skip_gfile_p): Likewise.
345         (skiplist_entry::skip_function_p): Likewise.
346         (_initialize_step_skip): Create debug command.
347         * NEWS: Mention set/show debug skip.
348
349 2018-09-11  Xavier Roirand  <roirand@adacore.com>
350
351         * darwin-nat.c (should_disable_startup_with_shell):
352         New function.
353         (darwin_nat_target::create_inferior): Add call.
354
355 2018-09-11  Xavier Roirand  <roirand@adacore.com>
356
357         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
358         inf_port, msg_state>: Initialize.
359         (struct darwin_thread_info) <signaled, single_step>: Change
360         type and initialize.
361         (struct darwin_thread_info) <event>: Initialize.
362
363 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
364
365         PR gdb/23555
366         PR gdb/23558
367         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
368         guesses.
369
370 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
371
372         Revert:
373         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
374
375         PR gdb/23555
376         PR gdb/23558
377         * gnulib/aclocal.m4: Regenerate.
378         * gnulib/config.in: Regenerate.
379         * gnulib/configure: Regenerate.
380         * gnulib/import/Makefile.am: Update.
381         * gnulib/import/Makefile.in: Update.
382         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
383         * gnulib/import/_Noreturn.h: ... this.
384         * gnulib/import/alloca.in.h: Update.
385         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
386         * gnulib/import/arg-nonnull.h: ... this.
387         * gnulib/import/assure.h: Update.
388         * gnulib/import/at-func.c: Update.
389         * gnulib/import/basename-lgpl.c: Update.
390         * gnulib/import/extra/snippet/c++defs.h: Rename to...
391         * gnulib/import/c++defs.h: ... this.
392         * gnulib/import/canonicalize-lgpl.c: Update.
393         * gnulib/import/cdefs.h: Update.
394         * gnulib/import/chdir-long.c: Update.
395         * gnulib/import/chdir-long.h: Update.
396         * gnulib/import/cloexec.c: Update.
397         * gnulib/import/cloexec.h: Update.
398         * gnulib/import/close.c: Update.
399         * gnulib/import/closedir.c: Update.
400         * gnulib/import/config.charset: Update.
401         * gnulib/import/dirent-private.h: Update.
402         * gnulib/import/dirent.in.h: Update.
403         * gnulib/import/dirfd.c: Update.
404         * gnulib/import/dirname-lgpl.c: Update.
405         * gnulib/import/dirname.h: Update.
406         * gnulib/import/dosname.h: Update.
407         * gnulib/import/dup-safer-flag.c: Update.
408         * gnulib/import/dup-safer.c: Update.
409         * gnulib/import/dup.c: Update.
410         * gnulib/import/dup2.c: Update.
411         * gnulib/import/errno.in.h: Update.
412         * gnulib/import/error.c: Update.
413         * gnulib/import/error.h: Update.
414         * gnulib/import/exitfail.c: Update.
415         * gnulib/import/exitfail.h: Update.
416         * gnulib/import/extra/update-copyright: Update.
417         * gnulib/import/fchdir.c: Update.
418         * gnulib/import/fcntl.c: Update.
419         * gnulib/import/fcntl.in.h: Update.
420         * gnulib/import/fd-hook.c: Update.
421         * gnulib/import/fd-hook.h: Update.
422         * gnulib/import/fd-safer-flag.c: Update.
423         * gnulib/import/fd-safer.c: Update.
424         * gnulib/import/fdopendir.c: Update.
425         * gnulib/import/filename.h: Update.
426         * gnulib/import/filenamecat-lgpl.c: Update.
427         * gnulib/import/filenamecat.h: Update.
428         * gnulib/import/flexmember.h: Update.
429         * gnulib/import/float+.h: Update.
430         * gnulib/import/float.c: Update.
431         * gnulib/import/float.in.h: Update.
432         * gnulib/import/fnmatch.c: Update.
433         * gnulib/import/fnmatch.in.h: Update.
434         * gnulib/import/fnmatch_loop.c: Update.
435         * gnulib/import/fpucw.h: Update.
436         * gnulib/import/frexp.c: Update.
437         * gnulib/import/frexpl.c: Update.
438         * gnulib/import/fstat.c: Update.
439         * gnulib/import/fstatat.c: Update.
440         * gnulib/import/getcwd-lgpl.c: Update.
441         * gnulib/import/getcwd.c: Update.
442         * gnulib/import/getdtablesize.c: Update.
443         * gnulib/import/getlogin_r.c: Update.
444         * gnulib/import/getprogname.c: Update.
445         * gnulib/import/getprogname.h: Update.
446         * gnulib/import/gettext.h: Update.
447         * gnulib/import/gettimeofday.c: Update.
448         * gnulib/import/glob-libc.h: Update.
449         * gnulib/import/glob.c: Update.
450         * gnulib/import/glob.in.h: Update.
451         * gnulib/import/glob_internal.h: Update.
452         * gnulib/import/glob_pattern_p.c: Update.
453         * gnulib/import/globfree.c: Update.
454         * gnulib/import/hard-locale.c: Update.
455         * gnulib/import/hard-locale.h: Update.
456         * gnulib/import/intprops.h: Update.
457         * gnulib/import/inttypes.in.h: Update.
458         * gnulib/import/isnan.c: Update.
459         * gnulib/import/isnand-nolibm.h: Update.
460         * gnulib/import/isnand.c: Update.
461         * gnulib/import/isnanl-nolibm.h: Update.
462         * gnulib/import/isnanl.c: Update.
463         * gnulib/import/itold.c: Update.
464         * gnulib/import/libc-config.h: Update.
465         * gnulib/import/limits.in.h: Update.
466         * gnulib/import/localcharset.c: Update.
467         * gnulib/import/localcharset.h: Update.
468         * gnulib/import/localtime-buffer.c: Update.
469         * gnulib/import/localtime-buffer.h: Update.
470         * gnulib/import/lstat.c: Update.
471         * gnulib/import/m4/00gnulib.m4: Update.
472         * gnulib/import/m4/__inline.m4: Update.
473         * gnulib/import/m4/absolute-header.m4: Update.
474         * gnulib/import/m4/alloca.m4: Update.
475         * gnulib/import/m4/builtin-expect.m4: Update.
476         * gnulib/import/m4/canonicalize.m4: Update.
477         * gnulib/import/m4/chdir-long.m4: Update.
478         * gnulib/import/m4/close.m4: Update.
479         * gnulib/import/m4/closedir.m4: Update.
480         * gnulib/import/m4/configmake.m4: Update.
481         * gnulib/import/m4/d-ino.m4: Update.
482         * gnulib/import/m4/d-type.m4: Update.
483         * gnulib/import/m4/dirent_h.m4: Update.
484         * gnulib/import/m4/dirfd.m4: Update.
485         * gnulib/import/m4/dirname.m4: Update.
486         * gnulib/import/m4/double-slash-root.m4: Update.
487         * gnulib/import/m4/dup.m4: Update.
488         * gnulib/import/m4/dup2.m4: Update.
489         * gnulib/import/m4/eealloc.m4: Update.
490         * gnulib/import/m4/environ.m4: Update.
491         * gnulib/import/m4/errno_h.m4: Update.
492         * gnulib/import/m4/error.m4: Update.
493         * gnulib/import/m4/exponentd.m4: Update.
494         * gnulib/import/m4/exponentl.m4: Update.
495         * gnulib/import/m4/extensions.m4: Update.
496         * gnulib/import/m4/extern-inline.m4: Update.
497         * gnulib/import/m4/fchdir.m4: Update.
498         * gnulib/import/m4/fcntl-o.m4: Update.
499         * gnulib/import/m4/fcntl.m4: Update.
500         * gnulib/import/m4/fcntl_h.m4: Update.
501         * gnulib/import/m4/fdopendir.m4: Update.
502         * gnulib/import/m4/filenamecat.m4: Update.
503         * gnulib/import/m4/flexmember.m4: Update.
504         * gnulib/import/m4/float_h.m4: Update.
505         * gnulib/import/m4/fnmatch.m4: Update.
506         * gnulib/import/m4/fnmatch_h.m4: Update.
507         * gnulib/import/m4/fpieee.m4: Update.
508         * gnulib/import/m4/frexp.m4: Update.
509         * gnulib/import/m4/frexpl.m4: Update.
510         * gnulib/import/m4/fstat.m4: Update.
511         * gnulib/import/m4/fstatat.m4: Update.
512         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
513         * gnulib/import/m4/getcwd-path-max.m4: Update.
514         * gnulib/import/m4/getcwd.m4: Update.
515         * gnulib/import/m4/getdtablesize.m4: Update.
516         * gnulib/import/m4/getlogin.m4: Update.
517         * gnulib/import/m4/getlogin_r.m4: Update.
518         * gnulib/import/m4/getpagesize.m4: Update.
519         * gnulib/import/m4/getprogname.m4: Update.
520         * gnulib/import/m4/gettimeofday.m4: Update.
521         * gnulib/import/m4/glibc21.m4: Update.
522         * gnulib/import/m4/glob.m4: Update.
523         * gnulib/import/m4/glob_h.m4: Update.
524         * gnulib/import/m4/gnulib-cache.m4: Update.
525         * gnulib/import/m4/gnulib-common.m4: Update.
526         * gnulib/import/m4/gnulib-comp.m4: Update.
527         * gnulib/import/m4/gnulib-tool.m4: Update.
528         * gnulib/import/m4/hard-locale.m4: Update.
529         * gnulib/import/m4/include_next.m4: Update.
530         * gnulib/import/m4/inttypes-pri.m4: Update.
531         * gnulib/import/m4/inttypes.m4: Update.
532         * gnulib/import/m4/isnand.m4: Update.
533         * gnulib/import/m4/isnanl.m4: Update.
534         * gnulib/import/m4/largefile.m4: Update.
535         * gnulib/import/m4/limits-h.m4: Update.
536         * gnulib/import/m4/localcharset.m4: Update.
537         * gnulib/import/m4/locale-fr.m4: Update.
538         * gnulib/import/m4/locale-ja.m4: Update.
539         * gnulib/import/m4/locale-zh.m4: Update.
540         * gnulib/import/m4/localtime-buffer.m4: Update.
541         * gnulib/import/m4/longlong.m4: Update.
542         * gnulib/import/m4/lstat.m4: Update.
543         * gnulib/import/m4/malloc.m4: Update.
544         * gnulib/import/m4/malloca.m4: Update.
545         * gnulib/import/m4/math_h.m4: Update.
546         * gnulib/import/m4/mbrtowc.m4: Update.
547         * gnulib/import/m4/mbsinit.m4: Update.
548         * gnulib/import/m4/mbsrtowcs.m4: Update.
549         * gnulib/import/m4/mbstate_t.m4: Update.
550         * gnulib/import/m4/memchr.m4: Update.
551         * gnulib/import/m4/memmem.m4: Update.
552         * gnulib/import/m4/mempcpy.m4: Update.
553         * gnulib/import/m4/memrchr.m4: Update.
554         * gnulib/import/m4/mkdir.m4: Update.
555         * gnulib/import/m4/mkstemp.m4: Update.
556         * gnulib/import/m4/mmap-anon.m4: Update.
557         * gnulib/import/m4/mode_t.m4: Update.
558         * gnulib/import/m4/msvc-inval.m4: Update.
559         * gnulib/import/m4/msvc-nothrow.m4: Update.
560         * gnulib/import/m4/multiarch.m4: Update.
561         * gnulib/import/m4/nocrash.m4: Update.
562         * gnulib/import/m4/off_t.m4: Update.
563         * gnulib/import/m4/onceonly.m4: Update.
564         * gnulib/import/m4/open-cloexec.m4: Update.
565         * gnulib/import/m4/open.m4: Update.
566         * gnulib/import/m4/openat.m4: Update.
567         * gnulib/import/m4/opendir.m4: Update.
568         * gnulib/import/m4/pathmax.m4: Update.
569         * gnulib/import/m4/rawmemchr.m4: Update.
570         * gnulib/import/m4/readdir.m4: Update.
571         * gnulib/import/m4/readlink.m4: Update.
572         * gnulib/import/m4/realloc.m4: Update.
573         * gnulib/import/m4/rename.m4: Update.
574         * gnulib/import/m4/rewinddir.m4: Update.
575         * gnulib/import/m4/rmdir.m4: Update.
576         * gnulib/import/m4/save-cwd.m4: Update.
577         * gnulib/import/m4/secure_getenv.m4: Update.
578         * gnulib/import/m4/setenv.m4: Update.
579         * gnulib/import/m4/signal_h.m4: Update.
580         * gnulib/import/m4/ssize_t.m4: Update.
581         * gnulib/import/m4/stat-time.m4: Update.
582         * gnulib/import/m4/stat.m4: Update.
583         * gnulib/import/m4/std-gnu11.m4: Update.
584         * gnulib/import/m4/stdbool.m4: Update.
585         * gnulib/import/m4/stddef_h.m4: Update.
586         * gnulib/import/m4/stdint.m4: Update.
587         * gnulib/import/m4/stdio_h.m4: Update.
588         * gnulib/import/m4/stdlib_h.m4: Update.
589         * gnulib/import/m4/strchrnul.m4: Update.
590         * gnulib/import/m4/strdup.m4: Update.
591         * gnulib/import/m4/strerror.m4: Update.
592         * gnulib/import/m4/string_h.m4: Update.
593         * gnulib/import/m4/strstr.m4: Update.
594         * gnulib/import/m4/strtok_r.m4: Update.
595         * gnulib/import/m4/sys_socket_h.m4: Update.
596         * gnulib/import/m4/sys_stat_h.m4: Update.
597         * gnulib/import/m4/sys_time_h.m4: Update.
598         * gnulib/import/m4/sys_types_h.m4: Update.
599         * gnulib/import/m4/tempname.m4: Update.
600         * gnulib/import/m4/time_h.m4: Update.
601         * gnulib/import/m4/unistd-safer.m4: Update.
602         * gnulib/import/m4/unistd_h.m4: Update.
603         * gnulib/import/m4/warn-on-use.m4: Update.
604         * gnulib/import/m4/wchar_h.m4: Update.
605         * gnulib/import/m4/wchar_t.m4: Update.
606         * gnulib/import/m4/wctype_h.m4: Update.
607         * gnulib/import/m4/wint_t.m4: Update.
608         * gnulib/import/malloc.c: Update.
609         * gnulib/import/malloc/scratch_buffer.h: Update.
610         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
611         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
612         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
613         * gnulib/import/malloca.c: Update.
614         * gnulib/import/malloca.h: Update.
615         * gnulib/import/malloca.valgrind: Update.
616         * gnulib/import/math.in.h: Update.
617         * gnulib/import/mbrtowc.c: Update.
618         * gnulib/import/mbsinit.c: Update.
619         * gnulib/import/mbsrtowcs-impl.h: Update.
620         * gnulib/import/mbsrtowcs-state.c: Update.
621         * gnulib/import/mbsrtowcs.c: Update.
622         * gnulib/import/memchr.c: Update.
623         * gnulib/import/memmem.c: Update.
624         * gnulib/import/mempcpy.c: Update.
625         * gnulib/import/memrchr.c: Update.
626         * gnulib/import/mkdir.c: Update.
627         * gnulib/import/mkstemp.c: Update.
628         * gnulib/import/msvc-inval.c: Update.
629         * gnulib/import/msvc-inval.h: Update.
630         * gnulib/import/msvc-nothrow.c: Update.
631         * gnulib/import/msvc-nothrow.h: Update.
632         * gnulib/import/open.c: Update.
633         * gnulib/import/openat-die.c: Update.
634         * gnulib/import/openat-priv.h: Update.
635         * gnulib/import/openat-proc.c: Update.
636         * gnulib/import/openat.c: Update.
637         * gnulib/import/openat.h: Update.
638         * gnulib/import/opendir.c: Update.
639         * gnulib/import/pathmax.h: Update.
640         * gnulib/import/pipe-safer.c: Update.
641         * gnulib/import/rawmemchr.c: Update.
642         * gnulib/import/readdir.c: Update.
643         * gnulib/import/readlink.c: Update.
644         * gnulib/import/realloc.c: Update.
645         * gnulib/import/ref-add.sin: Update.
646         * gnulib/import/ref-del.sin: Update.
647         * gnulib/import/rename.c: Update.
648         * gnulib/import/rewinddir.c: Update.
649         * gnulib/import/rmdir.c: Update.
650         * gnulib/import/same-inode.h: Update.
651         * gnulib/import/save-cwd.c: Update.
652         * gnulib/import/save-cwd.h: Update.
653         * gnulib/import/scratch_buffer.h: Update.
654         * gnulib/import/secure_getenv.c: Update.
655         * gnulib/import/setenv.c: Update.
656         * gnulib/import/signal.in.h: Update.
657         * gnulib/import/stat-time.c: Update.
658         * gnulib/import/stat-time.h: Update.
659         * gnulib/import/stat-w32.c: Update.
660         * gnulib/import/stat-w32.h: Update.
661         * gnulib/import/stat.c: Update.
662         * gnulib/import/stdbool.in.h: Update.
663         * gnulib/import/stddef.in.h: Update.
664         * gnulib/import/stdint.in.h: Update.
665         * gnulib/import/stdio.in.h: Update.
666         * gnulib/import/stdlib.in.h: Update.
667         * gnulib/import/str-two-way.h: Update.
668         * gnulib/import/strchrnul.c: Update.
669         * gnulib/import/strdup.c: Update.
670         * gnulib/import/streq.h: Update.
671         * gnulib/import/strerror-override.c: Update.
672         * gnulib/import/strerror-override.h: Update.
673         * gnulib/import/strerror.c: Update.
674         * gnulib/import/string.in.h: Update.
675         * gnulib/import/stripslash.c: Update.
676         * gnulib/import/strnlen1.c: Update.
677         * gnulib/import/strnlen1.h: Update.
678         * gnulib/import/strstr.c: Update.
679         * gnulib/import/strtok_r.c: Update.
680         * gnulib/import/sys_stat.in.h: Update.
681         * gnulib/import/sys_time.in.h: Update.
682         * gnulib/import/sys_types.in.h: Update.
683         * gnulib/import/tempname.c: Update.
684         * gnulib/import/tempname.h: Update.
685         * gnulib/import/time.in.h: Update.
686         * gnulib/import/unistd--.h: Update.
687         * gnulib/import/unistd-safer.h: Update.
688         * gnulib/import/unistd.in.h: Update.
689         * gnulib/import/unsetenv.c: Update.
690         * gnulib/import/verify.h: Update.
691         * gnulib/import/extra/snippet/warn-on-use.h: Update.
692         * gnulib/import/wchar.in.h: Update.
693         * gnulib/import/wctype.in.h: Update.
694         * gnulib/import/xalloc-oversized.h: Update.
695         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
696         "53e2c179f26a890fa6685af4b6c1397ee370433b".
697
698 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
699
700         * record-btrace.c (get_thread_current_frame): Remove
701         old_inferior_ptid.
702
703 2018-09-10  Jerome Guitton  <guitton@adacore.com>
704
705         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
706         with check_tag to 1 if and only if the type is tagged and the
707         component being searched cannot been found in the current
708         view. Otherwise, always call ada_to_fixed_type with
709         check_tag to 0.
710
711 2018-09-10  Xavier Roirand  <roirand@adacore.com>
712
713         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
714         declaration.
715         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
716         * ada-varobj.c (ada_varobj_get_number_of_children,
717         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
718
719 2018-09-10  Xavier Roirand  <roirand@adacore.com>
720
721         * ada-valprint.c (ada_value_print): Use type instead of
722         enclosing type.
723
724 2018-09-10  Xavier Roirand  <roirand@adacore.com>
725
726         * ada-lang.c (ada_value_subscript): Handle case when parameter is
727         an array of access to unconstrained array.
728
729 2018-09-10  Xavier Roirand  <roirand@adacore.com>
730
731         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
732         (ada_check_typedef): Use it.
733
734 2018-09-10  Xavier Roirand  <roirand@adacore.com>
735
736         * ada-varobj.c (ada_varobj_describe_struct_child)
737         (ada_varobj_describe_child): Handle union case like struct one.
738
739 2018-09-10  Tom Tromey  <tom@tromey.com>
740
741         PR python/18380:
742         * python/python.c (_initialize_python): Make example in "python"
743         help work in Python 3.
744
745 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
746
747         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
748         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
749         $(EXEEXT) to the script, as it is not a program.
750
751 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
752
753         * python/py-prettyprint.c (pretty_print_one_value): Return
754         gdbpy_ref<>.
755         (print_string_repr): Adjust.
756         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
757         * python/python-internal.h (apply_varobj_pretty_printer): Return
758         gdbpy_ref<>.
759         * varobj.c (varobj_value_get_print_value): Adjust.
760
761 2018-09-08  Tom Tromey  <tom@tromey.com>
762
763         PR python/16047:
764         * python/py-prettyprint.c (pretty_print_one_value): Check for
765         to_string method.
766
767 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
768
769         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
770         replace_operator_with_call.
771
772 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
773
774         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
775
776 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
777
778         * ada-typeprint.c (print_range): Print the bounds using TYPE
779         rather than its TYPE_TARGET_TYPE.
780
781 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
782
783         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
784         call to ada_to_fixed_value_create.
785
786 2018-09-08  Jerome Guitton  <guitton@adacore.com>
787
788         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
789
790 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
791
792         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
793         by calls to error.
794
795 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
796
797         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
798         Move update of loop variable "fi".
799
800 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
801
802         * ada-lang.c (value_assign_to_component): In the case of
803         big-endian targets, extract the bits of the given VAL
804         using an src_offset of zero if container is not a scalar.
805
806 2018-09-06  Simon Ser  <contact@emersion.fr>
807
808         PR gdb/23105
809         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
810         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
811         * fbsd-tdep.c (fbsd_make_note_desc): New.
812         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
813         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
814         * target.h (enum target_object) Add FreeBSD-specific
815         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
816
817 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
818
819         * compile/compile-c.h (generate_c_for_variable_locations):
820         Change reference to pointer.
821         * compile/compile-c-support.c (compile_program) <compute>:
822         Likewise.
823         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
824         (generate_c_for_for_one_variable): Likewise
825         (generate_c_for_variable_locations): Likewise
826         * compile/compile-c-types.c (compile_c_instance::convert_type):
827         Likewise
828         * compile/compile-cplus-symbols.c (convert_one_symbol):
829         std::move the scope passed to enter_scope.
830         * compile/compile-cplus-types.c
831         (compile_cplus_instance::enter_scope): Make parameter
832         rvalue-reference.
833         (compile_cplus_instance::new_scope): Change reference to
834         pointer.
835         (compile_cplus_instance::convert_type): Likewise
836         (compile_cplus_convert_typedef): std::move the scope passed to
837         enter_scope.
838         (compile_cplus_convert_struct_or_union): Likewise.
839         (compile_cplus_convert_enum): Likewise.
840         (compile_cplus_convert_namespace): Likewise.
841         * compile/compile-cplus.h (compile_cplus_instance)
842         <enter_scope>: Make parameter rvalue-reference.
843         * compile/compile-internal.h (compile_instance)
844         <get_cached_type>: Likewise
845         * compile/compile-loc2c.c (push): Likewise
846         (pushf): Likewise
847         (unary): Likewise
848         (binary): Likewise
849         (print_label): Likewise
850         (pushf_register_address): Likewise
851         (pushf_register): Likewise
852         (do_compile_dwarf_expr_to_c): Likewise
853         (compile_dwarf_expr_to_c): Likewise
854         (compile_dwarf_bounds_to_c): Likewise
855         * compile/compile.c (compile_instance::get_cached_type):
856         Likewise
857         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
858         (compile_dwarf_bounds_to_c): Likewise
859         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
860         (dwarf2_compile_property_to_c): Likewise
861         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
862         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
863         Likewise
864
865 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
866
867         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
868         * tui/tui-data.c (init_content_element): Don't initialize it.
869
870 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
871
872         * tui/tui-data.h (struct tui_win_info)
873         <detail::opaque>: Remove.
874         * tui/tui-data.c (init_win_info): Remove assignment.
875
876 2018-09-05  Tom Tromey  <tom@tromey.com>
877
878         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
879         -Wformat-nonliteral.
880         * target-float.c (host_float_ops<T>::to_string)
881         (host_float_ops<T>::from_string): Use
882         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
883         * configure: Rebuild.
884
885 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
886
887         * printcmd.c (printf_c_string): Use
888         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
889         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
890
891 2018-09-05  Tom Tromey  <tom@tromey.com>
892
893         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
894
895 2018-09-05  Tom de Vries  <tdevries@suse.de>
896
897         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
898         with resolve_abstract_p == true.
899         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
900         defaulting to false. Propagate resolve_abstract_p to
901         dwarf2_fetch_die_loc_sect_off.
902         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
903         parameter, defaulting to false.
904         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
905         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
906         parameter.
907         * dwarf2read.h (struct die_info): Forward-declare.
908         (die_info_ptr): New typedef.
909         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
910
911 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
912
913         GDB 8.2 released.
914
915 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
916             Pedro Alves  <palves@redhat.com>
917
918         * gnulib/Makefile.in (aclocal_m4_deps): Move to
919         "aclocal-m4-deps.mk".  Include file here.
920         $(srcdir)/aclocal.m4: Add "configure.ac".
921         * gnulib/aclocal-m4-deps.mk: New file.
922         * gnulib/update-gnulib.sh: Automatically update
923         "aclocal-m4-deps.mk".
924
925 2018-09-04  Tom Tromey  <tom@tromey.com>
926
927         * configure: Rebuild.
928         * configure.ac: Remove multi-ice code.
929
930 2018-09-04  Tom Tromey  <tom@tromey.com>
931
932         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
933         (ada-exp.o): Update.
934
935 2018-09-04  Tom Tromey  <tom@tromey.com>
936
937         * Makefile.in (printcmd.o, target-float.o): Remove.
938         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
939
940 2018-09-04  Tom Tromey  <tom@tromey.com>
941
942         * gnulib/Makefile.in: Remove obsolete comment.
943         * Makefile.in: Remove obsolete comment.
944
945 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
946
947         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
948         line with '+'.
949
950 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
951
952         * riscv-tdep.c: Add 'prologue-value.h' include.
953         (struct riscv_unwind_cache): New struct.
954         (riscv_debug_unwinder): New global.
955         (riscv_scan_prologue): Update arguments, capture register details
956         from prologue scan.
957         (riscv_skip_prologue): Reformat arguments line, move end of
958         prologue calculation into riscv_scan_prologue.
959         (riscv_frame_cache): Update return type, create
960         riscv_unwind_cache, scan the prologue, and fill in remaining cache
961         details.
962         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
963         (riscv_frame_prev_register): Use the trad_frame within the
964         riscv_unwind_cache.
965         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
966         flag.
967
968 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
969
970         * trad-frame.h (trad_frame_set_realreg): Declare.
971         (trad_frame_set_addr): Declare.
972         * trad-frame.c (trad_frame_set_realreg): Define new function.
973         (trad_frame_set_addr): Define new function.
974         (trad_frame_set_reg_realreg): Use new function.
975         (trad_frame_set_reg_addr): Use new function.
976
977 2018-09-01  Keith Seitz  <keiths@redhat.com>
978
979         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
980         pulongest instead of "%lld".
981         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
982         ATTRIBUTE_UNUSED.
983
984 2018-08-31  Tom Tromey  <tom@tromey.com>
985
986         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
987         variant part type.
988
989 2018-08-31  Pedro Alves  <palves@redhat.com>
990
991         * gdbarch.h: Regenerate.
992
993 2018-08-31  Pedro Alves  <palves@redhat.com>
994
995         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
996         * target.h (Hardware watchpoint interfaces): Describe
997         continuable/steppable/non-steppable watchpoints.
998         * gdbarch.h, gdbarch.c: Regenerate.
999
1000 2018-08-31  Pedro Alves  <palves@redhat.com>
1001
1002         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
1003         Delete.
1004         * s390-linux-nat.c
1005         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
1006         * target.h (target_ops::have_continuable_watchpoint): Delete.
1007         (target_have_continuable_watchpoint): Delete.
1008         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
1009         * target-delegates.c: Regenerate.
1010
1011 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1012
1013         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
1014         the files present in "gnulib/import/m4/".
1015
1016 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1017
1018         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
1019         c.sw, c.swsp, and c.sdsp.
1020
1021 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1022
1023         * riscv-tdep.c (struct riscv_inferior_data): Delete.
1024         (riscv_read_misa_reg): Don't cache value read into inferior data.
1025         (riscv_new_inferior_data): Delete.
1026         (riscv_inferior_data_cleanup): Delete.
1027         (riscv_inferior_data): Delete.
1028         (riscv_invalidate_inferior_data): Delete.
1029         (_initialize_riscv_tdep): Remove initialisation of inferior data.
1030
1031 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
1032
1033         * compile/compile-cplus-types.c
1034         (compile_cplus_instance::leave_scope): Take the address of scope
1035         object.
1036         (compile_cplus_instance::convert_qualified_base): Compare quals
1037         to 0.
1038
1039 2018-08-30  Keith Seitz  <keiths@redhat.com>
1040
1041         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
1042         Use "%s" and host_address_to_string instead of "%p" in printf.
1043
1044 2018-08-29  Keith Seitz  <keiths@redhat.com>
1045
1046         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
1047         and compile-cplus-types.c.
1048         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
1049         * c-lang.c (cplus_language_defn): Set C++ compile functions.
1050         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
1051         Declare.
1052         * compile/compile-c-support.c: Include compile-cplus.h.
1053         (load_libcompile): Templatize.
1054         (get_compile_context): "New" function.
1055         (c_get_compile_context): Use get_compile_context.
1056         (cplus_get_compile_context): New function.
1057         (cplus_push_user_expression, cplus_pop_user_expression)
1058         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
1059         (cplus_compute_program): Define new structs/functions.
1060         * compile/compile-cplus-symmbols.c: New file.
1061         * compile/compile-cplus-types.c: New file.
1062         * compile/compile-cplus.h: New file.
1063         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
1064         Declare.
1065         * compile/compile-object-load.c (get_out_value_type): Use
1066         strncmp_iw when comparing symbol names.
1067         (compile_object_load): Add mst_bss and mst_data.
1068         * compile/compile.c (_initialize_compile): Remove
1069         -Wno-implicit-function-declaration from `compile_args'.
1070         * compile/gcc-cp-plugin.h: New file.
1071         * NEWS: Mention C++ compile support and new debug options.
1072
1073 2018-08-29  Keith Seitz  <keiths@redhat.com>
1074
1075         * linespec.c (collect_info::add_symbol): Make virtual.
1076         (struct symbol_searcher_collect_info): New struct.
1077         (symbol_searcher::find_all_symbols): New method.
1078         * symtab.h (class symbol_searcher): New class.
1079
1080 2018-08-29  Keith Seitz  <keiths@redhat.com>
1081
1082         * linespec.c (struct linespec) <function_symbols, label_symbols>:
1083         Change to vector of block_symbol.  Update all users.
1084         (struct collect_info) <symbols>: Likewise.
1085         (collect_info::add_symbol): Take block_symbol as argument.
1086         Update all callers.
1087         (decode_compound_collector) <m_symbols>: Change type to vector
1088         of block_symbol.  Update all users.
1089         (decode_compound_collector::operator ()): Change parameter type
1090         to block_symbol.
1091         (find_method, find_function_symbols, find_linespec_symbols)
1092         (find_label_symbols_in_block, find_label_symbols): Change symbol
1093         vectors to block_symbol vectors.
1094         * symtab.h (symbol_found_callback_ftype): Change parameter type to
1095         block_symbol.
1096
1097 2018-08-29  Keith Seitz  <keiths@redhat.com>
1098
1099         * linespec.c (symbolp): Remove typedef and VEC definitions.
1100         (bound_minimal_symbol_d): Likewise.
1101
1102 2018-08-29  Keith Seitz  <keiths@redhat.com>
1103
1104         * linespec.c (decode_compound_collector::decode_compound_collector):
1105         Remove initialization for `m_symtabs'.
1106         (decode_compound_collector::release_symbols): Change return type
1107         to std::vector.  Update all callers.
1108         (class decode_compound_collector) <m_symbols>: Change type to
1109         std::vector.
1110         (lookup_prefix_sym): Change return type to std::vector.  Update all
1111         callers.
1112         (compare_symbols): Remove.
1113         (std_compare_symbols): Rename to `compare_symbols'.
1114         (find_method): Change `sym_classes' parameter to std::vector.
1115         Update all callers.  Use std::sort to sort sym_classes.
1116         (find_linespec_symbols): Remove cleanup.
1117
1118 2018-08-29  Keith Seitz  <keiths@redhat.com>
1119
1120         * linespec.c (struct linespec) <minimal_symbols>: Change type to
1121         std::vector.  Update all users.
1122         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
1123         (struct collect_info) <minimal_symbols>: Likewise.
1124         (compare_msymbols): Return bool.  Change parameters to const
1125         bound_minimal_symbol references.
1126         (find_method, find_function_symbols, find_linespec_symbols): Change
1127         `minsyms' parameter to std::vector.  Update all callers.
1128
1129 2018-08-29  Keith Seitz  <keiths@redhat.com>
1130
1131         * linespec.c (struct linespec) <label_symbols>: Change type to
1132         std::vector.  Update all users.
1133         (find_label_symbols_in_block): Change `result' parameter to
1134         std::vector.  Update all callers.
1135         (find_label_symbols): Return std::vector.  Update all callers.
1136
1137 2018-08-29  Keith Seitz  <keiths@redhat.com>
1138
1139         * linespec.c (struct linespec) <function_symbols>: Change type to
1140         std::vector.  Update all users.
1141         (struct collect_info) <function_symbols>: Likewise.
1142         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
1143         (std_compare_symbols): New function.
1144         (find_method, find_function_symbols, find_linespec_symbols)
1145         (find_label_symbols_in_block): Change `symbols' parameter to
1146         std::vector.  Update all callers.
1147         (find_label_symbols): Likewise for `function_symbols' and
1148         `label_funcs_ret'.
1149
1150 2018-08-29  Keith Seitz  <keiths@redhat.com>
1151
1152         * linespec.c (symtab_vector_up): Define.
1153         (struct linespec) <file_symtabs>: Change type to std::vector *.
1154         Update all uses.
1155         (struct collect_info) <file_symtabs>: Likewise.
1156         (collect_symtabs_from_filename): Return symtab_vector_up.
1157         Update all callers.
1158         (decode_objc): Remove cleanup.
1159         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
1160         (symtab_collector::release_symtabs): Return symtab_vector_up.
1161         Update all callers.
1162         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
1163         Update all users.
1164         (collect_symtabs_from_filename, symtabs_from_filename): Return
1165         symtab_vector_up.  Update all callers.
1166
1167 2018-08-29  Tom Tromey  <tom@tromey.com>
1168
1169         * csky-tdep.c (csky_analyze_prologue): Use
1170         core_addr_to_string_nz.
1171
1172 2018-08-29  Tom Tromey  <tom@tromey.com>
1173
1174         * windows-nat.c (struct xlate_exception) <them>: Change type to
1175         DWORD.
1176         (xlate): Fix formatting.  Remove last entry.
1177         (struct xlate_exception, xlate): Comment out.
1178         (windows_nat_target::resume): Use ranged for.
1179
1180 2018-08-29  Jim Wilson  <jimw@sifive.com>
1181
1182         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
1183         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
1184         of NT_PRFPREG.
1185         (riscv_linux_nat_target::store_registers): Likewise.
1186
1187 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1188
1189         PR gdb/23555
1190         PR gdb/23558
1191         * gnulib/aclocal.m4: Regenerate.
1192         * gnulib/config.in: Regenerate.
1193         * gnulib/configure: Regenerate.
1194         * gnulib/import/Makefile.am: Update.
1195         * gnulib/import/Makefile.in: Update.
1196         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1197         * gnulib/import/_Noreturn.h: ... this.
1198         * gnulib/import/alloca.in.h: Update.
1199         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1200         * gnulib/import/arg-nonnull.h: ... this.
1201         * gnulib/import/assure.h: Update.
1202         * gnulib/import/at-func.c: Update.
1203         * gnulib/import/basename-lgpl.c: Update.
1204         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1205         * gnulib/import/c++defs.h: ... this.
1206         * gnulib/import/canonicalize-lgpl.c: Update.
1207         * gnulib/import/cdefs.h: Update.
1208         * gnulib/import/chdir-long.c: Update.
1209         * gnulib/import/chdir-long.h: Update.
1210         * gnulib/import/cloexec.c: Update.
1211         * gnulib/import/cloexec.h: Update.
1212         * gnulib/import/close.c: Update.
1213         * gnulib/import/closedir.c: Update.
1214         * gnulib/import/config.charset: Update.
1215         * gnulib/import/dirent-private.h: Update.
1216         * gnulib/import/dirent.in.h: Update.
1217         * gnulib/import/dirfd.c: Update.
1218         * gnulib/import/dirname-lgpl.c: Update.
1219         * gnulib/import/dirname.h: Update.
1220         * gnulib/import/dosname.h: Update.
1221         * gnulib/import/dup-safer-flag.c: Update.
1222         * gnulib/import/dup-safer.c: Update.
1223         * gnulib/import/dup.c: Update.
1224         * gnulib/import/dup2.c: Update.
1225         * gnulib/import/errno.in.h: Update.
1226         * gnulib/import/error.c: Update.
1227         * gnulib/import/error.h: Update.
1228         * gnulib/import/exitfail.c: Update.
1229         * gnulib/import/exitfail.h: Update.
1230         * gnulib/import/extra/update-copyright: Update.
1231         * gnulib/import/fchdir.c: Update.
1232         * gnulib/import/fcntl.c: Update.
1233         * gnulib/import/fcntl.in.h: Update.
1234         * gnulib/import/fd-hook.c: Update.
1235         * gnulib/import/fd-hook.h: Update.
1236         * gnulib/import/fd-safer-flag.c: Update.
1237         * gnulib/import/fd-safer.c: Update.
1238         * gnulib/import/fdopendir.c: Update.
1239         * gnulib/import/filename.h: Update.
1240         * gnulib/import/filenamecat-lgpl.c: Update.
1241         * gnulib/import/filenamecat.h: Update.
1242         * gnulib/import/flexmember.h: Update.
1243         * gnulib/import/float+.h: Update.
1244         * gnulib/import/float.c: Update.
1245         * gnulib/import/float.in.h: Update.
1246         * gnulib/import/fnmatch.c: Update.
1247         * gnulib/import/fnmatch.in.h: Update.
1248         * gnulib/import/fnmatch_loop.c: Update.
1249         * gnulib/import/fpucw.h: Update.
1250         * gnulib/import/frexp.c: Update.
1251         * gnulib/import/frexpl.c: Update.
1252         * gnulib/import/fstat.c: Update.
1253         * gnulib/import/fstatat.c: Update.
1254         * gnulib/import/getcwd-lgpl.c: Update.
1255         * gnulib/import/getcwd.c: Update.
1256         * gnulib/import/getdtablesize.c: Update.
1257         * gnulib/import/getlogin_r.c: Update.
1258         * gnulib/import/getprogname.c: Update.
1259         * gnulib/import/getprogname.h: Update.
1260         * gnulib/import/gettext.h: Update.
1261         * gnulib/import/gettimeofday.c: Update.
1262         * gnulib/import/glob-libc.h: Update.
1263         * gnulib/import/glob.c: Update.
1264         * gnulib/import/glob.in.h: Update.
1265         * gnulib/import/glob_internal.h: Update.
1266         * gnulib/import/glob_pattern_p.c: Update.
1267         * gnulib/import/globfree.c: Update.
1268         * gnulib/import/hard-locale.c: Update.
1269         * gnulib/import/hard-locale.h: Update.
1270         * gnulib/import/intprops.h: Update.
1271         * gnulib/import/inttypes.in.h: Update.
1272         * gnulib/import/isnan.c: Update.
1273         * gnulib/import/isnand-nolibm.h: Update.
1274         * gnulib/import/isnand.c: Update.
1275         * gnulib/import/isnanl-nolibm.h: Update.
1276         * gnulib/import/isnanl.c: Update.
1277         * gnulib/import/itold.c: Update.
1278         * gnulib/import/libc-config.h: Update.
1279         * gnulib/import/limits.in.h: Update.
1280         * gnulib/import/localcharset.c: Update.
1281         * gnulib/import/localcharset.h: Update.
1282         * gnulib/import/localtime-buffer.c: Update.
1283         * gnulib/import/localtime-buffer.h: Update.
1284         * gnulib/import/lstat.c: Update.
1285         * gnulib/import/m4/00gnulib.m4: Update.
1286         * gnulib/import/m4/__inline.m4: Update.
1287         * gnulib/import/m4/absolute-header.m4: Update.
1288         * gnulib/import/m4/alloca.m4: Update.
1289         * gnulib/import/m4/builtin-expect.m4: Update.
1290         * gnulib/import/m4/canonicalize.m4: Update.
1291         * gnulib/import/m4/chdir-long.m4: Update.
1292         * gnulib/import/m4/close.m4: Update.
1293         * gnulib/import/m4/closedir.m4: Update.
1294         * gnulib/import/m4/configmake.m4: Update.
1295         * gnulib/import/m4/d-ino.m4: Update.
1296         * gnulib/import/m4/d-type.m4: Update.
1297         * gnulib/import/m4/dirent_h.m4: Update.
1298         * gnulib/import/m4/dirfd.m4: Update.
1299         * gnulib/import/m4/dirname.m4: Update.
1300         * gnulib/import/m4/double-slash-root.m4: Update.
1301         * gnulib/import/m4/dup.m4: Update.
1302         * gnulib/import/m4/dup2.m4: Update.
1303         * gnulib/import/m4/eealloc.m4: Update.
1304         * gnulib/import/m4/environ.m4: Update.
1305         * gnulib/import/m4/errno_h.m4: Update.
1306         * gnulib/import/m4/error.m4: Update.
1307         * gnulib/import/m4/exponentd.m4: Update.
1308         * gnulib/import/m4/exponentl.m4: Update.
1309         * gnulib/import/m4/extensions.m4: Update.
1310         * gnulib/import/m4/extern-inline.m4: Update.
1311         * gnulib/import/m4/fchdir.m4: Update.
1312         * gnulib/import/m4/fcntl-o.m4: Update.
1313         * gnulib/import/m4/fcntl.m4: Update.
1314         * gnulib/import/m4/fcntl_h.m4: Update.
1315         * gnulib/import/m4/fdopendir.m4: Update.
1316         * gnulib/import/m4/filenamecat.m4: Update.
1317         * gnulib/import/m4/flexmember.m4: Update.
1318         * gnulib/import/m4/float_h.m4: Update.
1319         * gnulib/import/m4/fnmatch.m4: Update.
1320         * gnulib/import/m4/fnmatch_h.m4: Update.
1321         * gnulib/import/m4/fpieee.m4: Update.
1322         * gnulib/import/m4/frexp.m4: Update.
1323         * gnulib/import/m4/frexpl.m4: Update.
1324         * gnulib/import/m4/fstat.m4: Update.
1325         * gnulib/import/m4/fstatat.m4: Update.
1326         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1327         * gnulib/import/m4/getcwd-path-max.m4: Update.
1328         * gnulib/import/m4/getcwd.m4: Update.
1329         * gnulib/import/m4/getdtablesize.m4: Update.
1330         * gnulib/import/m4/getlogin.m4: Update.
1331         * gnulib/import/m4/getlogin_r.m4: Update.
1332         * gnulib/import/m4/getpagesize.m4: Update.
1333         * gnulib/import/m4/getprogname.m4: Update.
1334         * gnulib/import/m4/gettimeofday.m4: Update.
1335         * gnulib/import/m4/glibc21.m4: Update.
1336         * gnulib/import/m4/glob.m4: Update.
1337         * gnulib/import/m4/glob_h.m4: Update.
1338         * gnulib/import/m4/gnulib-cache.m4: Update.
1339         * gnulib/import/m4/gnulib-common.m4: Update.
1340         * gnulib/import/m4/gnulib-comp.m4: Update.
1341         * gnulib/import/m4/gnulib-tool.m4: Update.
1342         * gnulib/import/m4/hard-locale.m4: Update.
1343         * gnulib/import/m4/include_next.m4: Update.
1344         * gnulib/import/m4/inttypes-pri.m4: Update.
1345         * gnulib/import/m4/inttypes.m4: Update.
1346         * gnulib/import/m4/isnand.m4: Update.
1347         * gnulib/import/m4/isnanl.m4: Update.
1348         * gnulib/import/m4/largefile.m4: Update.
1349         * gnulib/import/m4/limits-h.m4: Update.
1350         * gnulib/import/m4/localcharset.m4: Update.
1351         * gnulib/import/m4/locale-fr.m4: Update.
1352         * gnulib/import/m4/locale-ja.m4: Update.
1353         * gnulib/import/m4/locale-zh.m4: Update.
1354         * gnulib/import/m4/localtime-buffer.m4: Update.
1355         * gnulib/import/m4/longlong.m4: Update.
1356         * gnulib/import/m4/lstat.m4: Update.
1357         * gnulib/import/m4/malloc.m4: Update.
1358         * gnulib/import/m4/malloca.m4: Update.
1359         * gnulib/import/m4/math_h.m4: Update.
1360         * gnulib/import/m4/mbrtowc.m4: Update.
1361         * gnulib/import/m4/mbsinit.m4: Update.
1362         * gnulib/import/m4/mbsrtowcs.m4: Update.
1363         * gnulib/import/m4/mbstate_t.m4: Update.
1364         * gnulib/import/m4/memchr.m4: Update.
1365         * gnulib/import/m4/memmem.m4: Update.
1366         * gnulib/import/m4/mempcpy.m4: Update.
1367         * gnulib/import/m4/memrchr.m4: Update.
1368         * gnulib/import/m4/mkdir.m4: Update.
1369         * gnulib/import/m4/mkstemp.m4: Update.
1370         * gnulib/import/m4/mmap-anon.m4: Update.
1371         * gnulib/import/m4/mode_t.m4: Update.
1372         * gnulib/import/m4/msvc-inval.m4: Update.
1373         * gnulib/import/m4/msvc-nothrow.m4: Update.
1374         * gnulib/import/m4/multiarch.m4: Update.
1375         * gnulib/import/m4/nocrash.m4: Update.
1376         * gnulib/import/m4/off_t.m4: Update.
1377         * gnulib/import/m4/onceonly.m4: Update.
1378         * gnulib/import/m4/open-cloexec.m4: Update.
1379         * gnulib/import/m4/open.m4: Update.
1380         * gnulib/import/m4/openat.m4: Update.
1381         * gnulib/import/m4/opendir.m4: Update.
1382         * gnulib/import/m4/pathmax.m4: Update.
1383         * gnulib/import/m4/rawmemchr.m4: Update.
1384         * gnulib/import/m4/readdir.m4: Update.
1385         * gnulib/import/m4/readlink.m4: Update.
1386         * gnulib/import/m4/realloc.m4: Update.
1387         * gnulib/import/m4/rename.m4: Update.
1388         * gnulib/import/m4/rewinddir.m4: Update.
1389         * gnulib/import/m4/rmdir.m4: Update.
1390         * gnulib/import/m4/save-cwd.m4: Update.
1391         * gnulib/import/m4/secure_getenv.m4: Update.
1392         * gnulib/import/m4/setenv.m4: Update.
1393         * gnulib/import/m4/signal_h.m4: Update.
1394         * gnulib/import/m4/ssize_t.m4: Update.
1395         * gnulib/import/m4/stat-time.m4: Update.
1396         * gnulib/import/m4/stat.m4: Update.
1397         * gnulib/import/m4/std-gnu11.m4: Update.
1398         * gnulib/import/m4/stdbool.m4: Update.
1399         * gnulib/import/m4/stddef_h.m4: Update.
1400         * gnulib/import/m4/stdint.m4: Update.
1401         * gnulib/import/m4/stdio_h.m4: Update.
1402         * gnulib/import/m4/stdlib_h.m4: Update.
1403         * gnulib/import/m4/strchrnul.m4: Update.
1404         * gnulib/import/m4/strdup.m4: Update.
1405         * gnulib/import/m4/strerror.m4: Update.
1406         * gnulib/import/m4/string_h.m4: Update.
1407         * gnulib/import/m4/strstr.m4: Update.
1408         * gnulib/import/m4/strtok_r.m4: Update.
1409         * gnulib/import/m4/sys_socket_h.m4: Update.
1410         * gnulib/import/m4/sys_stat_h.m4: Update.
1411         * gnulib/import/m4/sys_time_h.m4: Update.
1412         * gnulib/import/m4/sys_types_h.m4: Update.
1413         * gnulib/import/m4/tempname.m4: Update.
1414         * gnulib/import/m4/time_h.m4: Update.
1415         * gnulib/import/m4/unistd-safer.m4: Update.
1416         * gnulib/import/m4/unistd_h.m4: Update.
1417         * gnulib/import/m4/warn-on-use.m4: Update.
1418         * gnulib/import/m4/wchar_h.m4: Update.
1419         * gnulib/import/m4/wchar_t.m4: Update.
1420         * gnulib/import/m4/wctype_h.m4: Update.
1421         * gnulib/import/m4/wint_t.m4: Update.
1422         * gnulib/import/malloc.c: Update.
1423         * gnulib/import/malloc/scratch_buffer.h: Update.
1424         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1425         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1426         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1427         * gnulib/import/malloca.c: Update.
1428         * gnulib/import/malloca.h: Update.
1429         * gnulib/import/malloca.valgrind: Update.
1430         * gnulib/import/math.in.h: Update.
1431         * gnulib/import/mbrtowc.c: Update.
1432         * gnulib/import/mbsinit.c: Update.
1433         * gnulib/import/mbsrtowcs-impl.h: Update.
1434         * gnulib/import/mbsrtowcs-state.c: Update.
1435         * gnulib/import/mbsrtowcs.c: Update.
1436         * gnulib/import/memchr.c: Update.
1437         * gnulib/import/memmem.c: Update.
1438         * gnulib/import/mempcpy.c: Update.
1439         * gnulib/import/memrchr.c: Update.
1440         * gnulib/import/mkdir.c: Update.
1441         * gnulib/import/mkstemp.c: Update.
1442         * gnulib/import/msvc-inval.c: Update.
1443         * gnulib/import/msvc-inval.h: Update.
1444         * gnulib/import/msvc-nothrow.c: Update.
1445         * gnulib/import/msvc-nothrow.h: Update.
1446         * gnulib/import/open.c: Update.
1447         * gnulib/import/openat-die.c: Update.
1448         * gnulib/import/openat-priv.h: Update.
1449         * gnulib/import/openat-proc.c: Update.
1450         * gnulib/import/openat.c: Update.
1451         * gnulib/import/openat.h: Update.
1452         * gnulib/import/opendir.c: Update.
1453         * gnulib/import/pathmax.h: Update.
1454         * gnulib/import/pipe-safer.c: Update.
1455         * gnulib/import/rawmemchr.c: Update.
1456         * gnulib/import/readdir.c: Update.
1457         * gnulib/import/readlink.c: Update.
1458         * gnulib/import/realloc.c: Update.
1459         * gnulib/import/ref-add.sin: Update.
1460         * gnulib/import/ref-del.sin: Update.
1461         * gnulib/import/rename.c: Update.
1462         * gnulib/import/rewinddir.c: Update.
1463         * gnulib/import/rmdir.c: Update.
1464         * gnulib/import/same-inode.h: Update.
1465         * gnulib/import/save-cwd.c: Update.
1466         * gnulib/import/save-cwd.h: Update.
1467         * gnulib/import/scratch_buffer.h: Update.
1468         * gnulib/import/secure_getenv.c: Update.
1469         * gnulib/import/setenv.c: Update.
1470         * gnulib/import/signal.in.h: Update.
1471         * gnulib/import/stat-time.c: Update.
1472         * gnulib/import/stat-time.h: Update.
1473         * gnulib/import/stat-w32.c: Update.
1474         * gnulib/import/stat-w32.h: Update.
1475         * gnulib/import/stat.c: Update.
1476         * gnulib/import/stdbool.in.h: Update.
1477         * gnulib/import/stddef.in.h: Update.
1478         * gnulib/import/stdint.in.h: Update.
1479         * gnulib/import/stdio.in.h: Update.
1480         * gnulib/import/stdlib.in.h: Update.
1481         * gnulib/import/str-two-way.h: Update.
1482         * gnulib/import/strchrnul.c: Update.
1483         * gnulib/import/strdup.c: Update.
1484         * gnulib/import/streq.h: Update.
1485         * gnulib/import/strerror-override.c: Update.
1486         * gnulib/import/strerror-override.h: Update.
1487         * gnulib/import/strerror.c: Update.
1488         * gnulib/import/string.in.h: Update.
1489         * gnulib/import/stripslash.c: Update.
1490         * gnulib/import/strnlen1.c: Update.
1491         * gnulib/import/strnlen1.h: Update.
1492         * gnulib/import/strstr.c: Update.
1493         * gnulib/import/strtok_r.c: Update.
1494         * gnulib/import/sys_stat.in.h: Update.
1495         * gnulib/import/sys_time.in.h: Update.
1496         * gnulib/import/sys_types.in.h: Update.
1497         * gnulib/import/tempname.c: Update.
1498         * gnulib/import/tempname.h: Update.
1499         * gnulib/import/time.in.h: Update.
1500         * gnulib/import/unistd--.h: Update.
1501         * gnulib/import/unistd-safer.h: Update.
1502         * gnulib/import/unistd.in.h: Update.
1503         * gnulib/import/unsetenv.c: Update.
1504         * gnulib/import/verify.h: Update.
1505         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1506         * gnulib/import/wchar.in.h: Update.
1507         * gnulib/import/wctype.in.h: Update.
1508         * gnulib/import/xalloc-oversized.h: Update.
1509         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1510         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1511
1512 2018-08-16  Gary Benson <gbenson@redhat.com>
1513
1514         PR gdb/13000:
1515         * gdb/main.c (captured_main_1): Exit with nonzero status
1516         in batch mode if the last command to be executed failed.
1517         * NEWS: Mention the above.
1518
1519 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
1520
1521         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
1522         end of warning message.
1523
1524 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1525
1526         PR gdb/22943:
1527         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
1528         (aarch64_extract_return_value): Use
1529         aapcs_is_vfp_call_or_return_candidate.
1530         (aarch64_return_in_memory): Likewise.
1531         (aarch64_store_return_value): Likewise.
1532
1533 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1534
1535         * aarch64-tdep.c
1536         (aapcs_is_vfp_call_or_return_candidate): Make static
1537         (pass_in_v_or_stack): Remove function.
1538         (pass_in_v_vfp_candidate): New function.
1539         (aarch64_push_dummy_call): Check for float register candidates.
1540
1541 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
1542
1543         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
1544         (aapcs_is_vfp_call_or_return_candidate_1): New function.
1545         (aapcs_is_vfp_call_or_return_candidate): Likewise.
1546
1547 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
1548
1549         PR build/23399
1550         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
1551         (struct ipa_sym_addresses): Rename to...
1552         (struct ipa_sym_addresses_common): ... this.
1553         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
1554
1555 2018-08-28  Tom Tromey  <tom@tromey.com>
1556
1557         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1558         (token_fifo): Now a std::vector.
1559         (yylex, c_parse): Update.
1560         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1561         (token_fifo): Now a std::vector.
1562         (yylex, d_parse): Update.
1563         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
1564         (token_fifo): Now a std::vector.
1565         (yylex, go_parse): Update.
1566
1567 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
1568
1569         * parser-defs.h (struct type_stack) <elements>: Change type to
1570         std::vector<union type_stack_elt>.
1571         <depth, size>: Remove.
1572         * parse.c (parse_exp_in_context_1): Adjust.
1573         (type_stack_reserve): Remove.
1574         (check_type_stack_depth): Remove.
1575         (insert_into_type_stack): Adjust to std::vector.
1576         (insert_type): Likewise.
1577         (push_type): Likewise.
1578         (push_type_int): Likewise.
1579         (insert_type_address_space): Likewise.
1580         (pop_type): Likewise.
1581         (pop_type_int): Likewise.
1582         (pop_typelist): Likewise.
1583         (pop_type_stack): Likewise.
1584         (append_type_stack): Likewise.
1585         (push_type_stack): Likewise.
1586         (get_type_stack): Likewise.
1587         (type_stack_cleanup): Likewise.
1588         (push_typelist): Likewise.
1589         (follow_types): Likewise.
1590         (_initialize_parse): Likewise.
1591
1592 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
1593
1594         * NEWS: Mention csky target.
1595
1596 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
1597             Hafiz Abid Qadeer  <abidh@codesourcery.com>
1598             Don Breazeal  <donb@codesourcery.com>
1599
1600         * csky-linux-tdep.c: New file.
1601         * csky-tdep.c: Likewise.
1602         * csky-tdep.h: Likewise.
1603         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
1604         csky-tdep.o.
1605         (HFILES_NO_SRCDIR): Add csky-tdep.h.
1606         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
1607         * configure.tgt: Add csky support.
1608
1609 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
1610
1611         * python/py-framefilter.c (py_print_frame): Print frame architecture
1612         when printing on an MI output.
1613
1614 2018-08-27  Tom Tromey  <tom@tromey.com>
1615
1616         PR build/23087:
1617         * configure: Rebuild.
1618         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
1619
1620 2018-08-27  Tom Tromey  <tom@tromey.com>
1621
1622         * aarch64-linux-tdep.c
1623         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
1624         casts to int.
1625
1626 2018-08-27  Tom Tromey  <tom@tromey.com>
1627
1628         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
1629         unsigned.
1630         (ppc64_standard_linkage1, ppc64_standard_linkage2)
1631         (ppc64_standard_linkage3, ppc64_standard_linkage4)
1632         (ppc64_standard_linkage5, ppc64_standard_linkage6)
1633         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
1634         unsigned.
1635
1636 2018-08-27  Tom Tromey  <tom@tromey.com>
1637
1638         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
1639         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
1640
1641 2018-08-27  Tom Tromey  <tom@tromey.com>
1642
1643         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
1644         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
1645         ULONGEST_MAX.
1646         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
1647         ULONGEST_MAX.
1648         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
1649         ULONGEST_MAX.
1650         * sparc-linux-tdep.c (sparc32_linux_sigframe)
1651         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
1652         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
1653         ULONGEST_MAX.
1654         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
1655         (ppc64_linux_sigaction_tramp_frame)
1656         (ppc32_linux_sighandler_tramp_frame)
1657         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
1658         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
1659         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
1660         * mn10300-linux-tdep.c (am33_linux_sigframe)
1661         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
1662         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
1663         * mips-linux-tdep.c (mips_linux_o32_sigframe)
1664         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
1665         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
1666         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
1667         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
1668         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
1669         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
1670         * microblaze-linux-tdep.c
1671         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
1672         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
1673         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
1674         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
1675         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
1676         * common/common-types.h (ULONGEST_MAX): New define.
1677         (CORE_ADDR_MAX): Fix formatting.
1678         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
1679         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
1680         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
1681         (arm_linux_rt_sigreturn_tramp_frame)
1682         (arm_eabi_linux_sigreturn_tramp_frame)
1683         (arm_eabi_linux_rt_sigreturn_tramp_frame)
1684         (thumb2_eabi_linux_sigreturn_tramp_frame)
1685         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
1686         (arm_linux_restart_syscall_tramp_frame)
1687         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
1688         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
1689         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
1690         ULONGEST_MAX.
1691         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
1692
1693 2018-08-27  Tom Tromey  <tom@tromey.com>
1694
1695         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
1696         CORE_ADDR_MAX.
1697         * mips-tdep.c (mips_deal_with_atomic_sequence)
1698         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
1699         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
1700         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
1701         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
1702         CORE_ADDR_MAX.
1703         * aarch64-tdep.c (aarch64_software_single_step): Use
1704         CORE_ADDR_MAX.
1705
1706 2018-08-27  Tom Tromey  <tom@tromey.com>
1707
1708         * linespec.c (complete_linespec_component): Add cast to "char".
1709         * completer.c (completion_tracker::build_completion_result): Add
1710         cast to "char".
1711
1712 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1713
1714         * solist.h (struct solist, struct target_so_ops): Fix
1715         indentation.
1716
1717 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1718
1719         * ada-tasks.c (ada_task_info_s): Remove typedef.
1720         (DEF_VEC_O(ada_task_info_s)): Remove.
1721         (struct ada_tasks_inferior_data): Initialize fields.
1722         <task_list>: Make an std::vector.
1723         (get_ada_tasks_inferior_data): Allocate with new.
1724         (ada_get_task_number): Adjust.
1725         (get_task_number_from_id): Likewise.
1726         (valid_task_id): Likewise.
1727         (ada_get_task_info_from_ptid): Likewise.
1728         (iterate_over_live_ada_tasks): Likewise.
1729         (add_ada_task): Likewise.
1730         (read_known_tasks): Likewise.
1731         (ada_build_task_list): Likewise.
1732         (print_ada_task_info): Likewise.
1733         (info_task): Likewise.
1734         (task_command_1): Likewise.
1735
1736 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
1737
1738         * ada-lang.c (add_angle_brackets): Return std::string.
1739
1740 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
1741
1742         * python/py-threadevent.c (py_get_event_thread): Initialize
1743         pythread.
1744
1745 2018-08-24  Pedro Alves  <palves@redhat.com>
1746
1747         * python/py-bpevent.c (create_breakpoint_event_object): Use
1748         copy-initialization.
1749         * python/py-continueevent.c (emit_continue_event): Use
1750         copy-initialization.
1751         * python/py-exitedevent.c (create_exited_event_object): Return a
1752         gdbpy_ref<>.
1753         (emit_exited_event): Use copy-initialization.
1754         * python/py-inferior.c (python_new_inferior)
1755         (python_inferior_deleted, add_thread_object): Use
1756         copy-initialization.
1757         * python/py-infevents.c (create_inferior_call_event_object)
1758         (create_register_changed_event_object)
1759         (create_memory_changed_event_object): Return a gdbpy_ref<>.
1760         (emit_inferior_call_event, emit_memory_changed_event)
1761         (emit_register_changed_event): Use copy-initialization.
1762         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1763         Return a gdbpy_ref<>.
1764         (emit_new_objfile_event): Use copy-initialization.
1765         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
1766         (emit_clear_objfiles_event): Use copy-initialization.
1767         * python/py-signalevent.c (create_signal_event_object): Use
1768         copy-initialization.
1769         * python/py-threadevent.c (create_thread_event_object): Use
1770         copy-initialization.
1771
1772 2018-08-24  Pedro Alves  <palves@redhat.com>
1773             Simon Marchi  <simon.marchi@ericsson.com>
1774
1775         PR gdb/23379
1776         * python/py-continueevent.c: Include "gdbthread.h".
1777         (create_continue_event_object): Add intro comment.  Add 'ptid'
1778         parameter.  Use it to find thread to pass to
1779         create_thread_event_object.
1780         (emit_continue_event): Pass PTID down to
1781         create_continue_event_object.
1782         * python/py-event.h (py_get_event_thread): Declare.
1783         (create_thread_event_object): Remove default from 'thread'
1784         parameter.
1785         * python/py-stopevent.c (create_stop_event_object): Use
1786         py_get_event_thread.
1787         * python/py-threadevent.c (get_event_thread): Rename to ...
1788         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
1789         and use it to find the thread.
1790         (create_thread_event_object): Assert that THREAD isn't null.
1791         Don't find the event thread here.
1792
1793 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
1794
1795         * block.h (blockrange, blockranges): New struct declarations.
1796         (struct block): Add new field named `ranges'.
1797         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
1798         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
1799         macros for accessing ranges in struct block.
1800         (make_blockranges): New declaration.
1801         block.c (make_blockranges): New function.
1802         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
1803         for block.
1804         * symtab.h (find_pc_partial_function): Add new parameter `block'.
1805         * blockframe.c (cache_pc_function_block): New static global.
1806         (clear_pc_function_cache): Clear cache_pc_function_block.
1807         (find_pc_partial_function): Move comment to symtab.h.  Add
1808         support for non-contiguous blocks.
1809         * cli/cli-cmds.c (block.h): Include.
1810         (print_disassembly): Handle printing of non-contiguous blocks.
1811         (disassemble_current_function): Likewise.
1812         (disassemble_command): Likewise.
1813
1814         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
1815         BLOCK_START.
1816         * blockframe.c (get_pc_function_start): Likewise.
1817         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
1818         (gcc_symbol_address): Likewise.
1819         * compile/compile-object-run.c (compile_object_run): Likewise.
1820         * compile/compile.c (get_expr_block_and_pc): Likewise.
1821         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
1822         (func_addr_to_tail_call_list): Likewise.
1823         * findvar.c (default_read_var_value): Likewise.
1824         * inline-frame.c (inline_frame_this_id): Likewise.
1825         (skip-inline_frames): Likewise.
1826         * infcmd.c (until_next_command): Likewise.
1827         * linespec.c (convert_linespec_to_sals): Likewise.
1828         * parse.c (parse_exp_in_context_1): Likewise.
1829         * printcmd.c (build_address_symbolic): likewise.
1830         (info_address_command): Likewise.
1831         symtab.c (find_function_start_sal): Likewise.
1832         (skip_prologue_sal): Likewise.
1833         (find_function_alias_target): Likewise.
1834         (find_gnu_ifunc): Likewise.
1835         * stack.c (find_frame_funname): Likewise.
1836         * symtab.c (fixup_symbol_section): Likewise.
1837         (find_function_start_sal): Likewise.
1838         (skip_prologue_sal): Likewsie.
1839         (find_function_alias_target): Likewise.
1840         (find_gnu_ifunc): Likewise.
1841         * tracepoint.c (info_scope_command): Likewise.
1842         * value.c (value_fn_field): Likewise.
1843
1844         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
1845         in place of find_pc_partial_function.
1846         * blockframe.c (find_function_entry_range_from_pc): New function.
1847         * symtab.h (find_function_entry_range_from_pc): Declare and document.
1848         * objfiles.c (objfile_relocate1): Relocate start and end addresses
1849         for each range in a block.
1850
1851
1852 2018-08-23  Xavier Roirand  <roirand@adacore.com>
1853
1854         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
1855         incrementation.
1856
1857 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1858
1859         * solib-svr4.c (read_program_headers_from_bfd): Return
1860         gdb::optional<gdb::byte_vector>.
1861         (svr4_exec_displacement): Adjust.
1862
1863 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1864
1865         * solib-svr4.c (read_program_header): Return
1866         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
1867         (find_program_interpreter): Return
1868         gdb::optional<gdb::byte_vector>.
1869         (scan_dyntag_auxv): Adjust.
1870         (enable_break): Adjust.
1871         (svr4_exec_displacement): Adjust.
1872
1873 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1874
1875         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
1876         * inf-child.c (inf_child_target::terminal_save_inferior): New.
1877
1878 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
1879
1880         * guile/scm-string.c (gdbscm_scm_from_printf): Use
1881         string_vprintf.
1882         * guile/scm-utils.c (gdbscm_printf): Likewise.
1883         * serial.c (serial_printf): Likewise.
1884         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
1885
1886 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
1887
1888         * stack.c (print_frame): Print frame architecture when printing on
1889         an MI output.
1890         * NEWS: Mention new "arch" attribute in frame output.
1891
1892 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1893
1894         * arch/aarch64.h (aarch64_regnum): Update comment.
1895
1896 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
1897
1898         * NEWS: Add SVE to 8.2 section.
1899
1900 2018-08-21  Pedro Alves  <palves@redhat.com>
1901
1902         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
1903         out from gdbscm_parse_function_args.
1904         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
1905         gdbscm_parse_function_args_1.
1906
1907 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
1908
1909         PR gdb/17816
1910         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
1911         operator.
1912
1913 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
1914
1915         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
1916
1917 2018-08-19  Michael Spang  <spang@google.com>
1918
1919         PR gdb/11786
1920         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
1921         for PT_TLS segments.
1922
1923 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
1924
1925         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
1926         dwarf_variable_value.
1927         * dwarf2-frame.c (class dwarf_expr_executor):
1928         Add override for dwarf_variable_value.
1929         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
1930         (class symbol_needs_eval_context): Likewise.
1931         (indirect_synthetic_pointer): Add forward declaration.
1932         (sect_variable_value): New function.
1933         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
1934         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
1935         for DW_OP_GNU_variable_value.
1936
1937 2018-08-16  Tom Tromey  <tom@tromey.com>
1938
1939         * top.c (read_command_file): Update.
1940         (command_line_input): Remove "repeat" argument.
1941         * ada-lang.c (get_selections): Update.
1942         * linespec.c (decode_line_2): Update.
1943         * defs.h (command_line_input): Remove argument.
1944         * cli/cli-script.c (read_next_line): Update.
1945         * python/py-gdb-readline.c: Update.
1946
1947 2018-08-17  Tom Tromey  <tom@tromey.com>
1948
1949         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
1950         command_line_input.
1951
1952 2018-08-15  Tom Tromey  <tom@tromey.com>
1953
1954         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
1955
1956 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
1957
1958         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
1959         If used, use find_pc_partial_function to find address range
1960         to disassemble.
1961         * mi/mi-main.c (mi_cmd_list_features): Report
1962         "data-disassemble-a-option" feature.
1963         * NEWS: Mention new -data-disassemble option -a.
1964
1965 2018-08-13  Tom Tromey  <tom@tromey.com>
1966
1967         * common/common-defs.h (_FORTIFY_SOURCE): Define.
1968
1969 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1970
1971         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
1972         (aarch64_linux_collect_sve_regset): Likewise.
1973         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
1974         * regcache.h (regcache_map_entry_size): New function.
1975
1976 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1977
1978         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
1979         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
1980         (SVE_HEADER_VL_LENGTH): Likewise.
1981         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
1982         (SVE_HEADER_FLAGS_LENGTH): Likewise.
1983         (SVE_HEADER_RESERVED_LENGTH): Likewise.
1984         (SVE_HEADER_SIZE_OFFSET): Likewise.
1985         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
1986         (SVE_HEADER_VL_OFFSET): Likewise.
1987         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
1988         (SVE_HEADER_FLAGS_OFFSET): Likewise.
1989         (SVE_HEADER_RESERVED_OFFSET): Likewise.
1990         (SVE_HEADER_SIZE): Likewise.
1991         (aarch64_linux_core_read_vq): Add function.
1992         (aarch64_linux_core_read_description): Check for SVE section.
1993
1994 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
1995
1996         * aarch64-fbsd-tdep.c
1997         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
1998         collect_size.
1999         * aarch64-linux-tdep.c
2000         (aarch64_linux_iterate_over_regset_sections): Likewise.
2001         * alpha-linux-tdep.c
2002         (alpha_linux_iterate_over_regset_sections):
2003         * alpha-nbsd-tdep.c
2004         (alphanbsd_iterate_over_regset_sections): Likewise.
2005         * amd64-fbsd-tdep.c
2006         (amd64fbsd_iterate_over_regset_sections): Likewise.
2007         * amd64-linux-tdep.c
2008         (amd64_linux_iterate_over_regset_sections): Likewise.
2009         * arm-bsd-tdep.c
2010         (armbsd_iterate_over_regset_sections): Likewise.
2011         * arm-fbsd-tdep.c
2012         (arm_fbsd_iterate_over_regset_sections): Likewise.
2013         * arm-linux-tdep.c
2014         (arm_linux_iterate_over_regset_sections): Likewise.
2015         * corelow.c (get_core_registers_cb): Likewise.
2016         (core_target::fetch_registers): Likewise.
2017         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
2018         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
2019         * gdbarch.h (void): Regenerate.
2020         * gdbarch.sh: Add supply_size and collect_size.
2021         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
2022         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
2023         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
2024         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
2025         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
2026         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
2027         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
2028         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
2029         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
2030         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
2031         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
2032         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
2033         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
2034         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
2035         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
2036         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
2037         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
2038         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
2039         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
2040         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
2041         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
2042         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
2043         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
2044         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
2045         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
2046         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
2047         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
2048         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
2049         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
2050         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2051
2052 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
2053
2054         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
2055         with string_printf.
2056
2057 2018-08-10  Keith Seitz  <keiths@redhat.com>
2058
2059         * compile/compile-c-support.c (add_code_header, add_code_footer):
2060         Move into policy class.
2061         (c_push_user_expression, pop_user_expression_nop)
2062         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
2063         (compile_program): New host class.
2064         (c_compile_program): New typedef.
2065         (c_compute_porgram): Use c_compile_program.
2066
2067 2018-08-10  Keith Seitz  <keiths@redhat.com>
2068
2069         * compile/compile-internal.h (compile_instance::~compile_instance):
2070         Remove calls to htab_delete.
2071         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
2072         * compile.c (compile_instance::compile_instance): Initialize
2073         htab unique pointers.
2074         (compile_instance::get_cached_type, compile_instance::insert_type)
2075         (compile_instance::error_symbol_once): Update for unique_ptr.
2076
2077 2018-08-10  Keith Seitz  <keiths@redhat.com>
2078
2079         * compile/compile-c-symbols.c (struct symbol_error)
2080         (hash_symbol_error, eq_symbol_error, del_symbol_error)
2081         (compile_instance::insert_symbol_error)
2082         (compile_instance::error_symbol_once): Move to ...
2083         * compile/compile.c: ... here.
2084
2085 2018-08-10  Keith Seitz  <keiths@redhat.com>
2086
2087         * compile/compile-c-support.c (c_get_compile_context): Use `new'
2088         instead of `new_compile_instance'.
2089         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
2090         Update description.
2091         If the symbol error map is not initialized, create it.
2092         (generate_c_for_for_one_symbol): Do not check/initialize
2093         the symbol error map.
2094         * compile/compile-c-types.c (compile_c_instance): Make a class.
2095         Update all callers.
2096         (compile_instance::compile_instance): Initialize the type cache.
2097         (get_cached_type): New function.
2098         (insert_type): Update description.
2099         (compile_c_instance::m_default_cflags): Define.
2100         (convert_type): Update description.  Use get_cached_type.
2101         (delete_instance): Moved to destructor.
2102         (new_compile_instance): Moved to constructor.
2103         * compile/compile-c.h (compile_c_instance): Make class inheriting
2104         from compile_instance.
2105         <base>: Remove field.
2106         <type_map, symbol_err_map>: Move to base class.
2107         <c_plugin>: Rename to `m_plugin' and remove pointer type.
2108         * compile/compile-internal.h (compile_instance): Make class.
2109         <type_map_t, symbol_err_map_t>: Define.
2110         <fe>: Rename to `m_gcc_fe'.
2111         <scope, block, gcc_target_options>: Add `m_' prefix.
2112         <m_type_map, m_symbol_err_map>: New fields, moved from
2113         compile_c_instance.
2114         <destroy>: Remove.
2115         (convert_type, new_compile_instance): Remove.
2116         * compile/compile.c (cleanup_compile_instance): Remove.
2117         (compile_to_object): Use unique_ptr to eliminate cleanups.
2118         (compile_instance::set_print_callback, compile_instance::version)
2119         (compile_instance::set_verbose)
2120         (compile_instance::set_driver_filename)
2121         (compile_instance::set_triplet_regexp)
2122         (compile_instance::set_arguments)
2123         (compile_instance::set_source_file)
2124         (compile_instance::compile): Define.
2125
2126 2018-08-10  Keith Seitz  <keiths@redhat.com>
2127
2128         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
2129         * compile/compile-c-types.c: Define GCC_METHODN macros and include
2130         gcc-c-fe.def to define C plugin.
2131         (delete_instance): Delete `c_plugin'.
2132         (new_compile_instance): Initialize `c_plugin'.
2133         * compile/compile-c.h: Include gcc_c_plugin.h.
2134         (struct compile_c_instance) <c_plugin>: New member.
2135         * gcc-c-plugin.h: New file.
2136         Update all callers with API change.
2137
2138 2018-08-10  Keith Seitz  <keiths@redhat.com>
2139
2140         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
2141         (HFILES_NO_SRCDIR): ... to here.
2142         Add compile-internal.h and compile-c.h.
2143         * compile/compile-c-support.c: Include compile-c.h.
2144         * compile/compile-c-symbols.c: Include compile-c.h.
2145         (generate_c_for_variable_locations): Update comment.
2146         * compile/compile-c-types.c: Include compile-c.h.
2147         * compile/compile-c.h: New file -- moved C language declarations
2148         from other files here.
2149         * compile/compile-internal.h: Do not include hashtab.h or
2150         common/enum-flags.h.
2151         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
2152         (gcc_convert_symbol, gcc_symbol_address)
2153         (generate_c_for_variable_locations, c_get_mode_for_size)
2154         (c_get_range_decl_name): Definitions moved to compile-c.h.
2155         * compile/compile-loc2c.c: Include compile-c.h.
2156
2157 2018-08-10  Keith Seitz  <keiths@redhat.com>
2158
2159         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
2160         (c_symbol_substitution_name): ... this.
2161         Update all callers.
2162
2163 2018-08-10  Keith Seitz  <keiths@redhat.com>
2164
2165         * compile/compile-c-support.c (c_compute_program): Use
2166         unique_xmalloc_ptr to eliminate cleanup.
2167         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
2168         Return a unique_xmalloc_ptr and eliminate cleanup.
2169         * compile/compile-internal.h (generate_c_for_variable_locations):
2170         Return unique_xmalloc_ptr and update description.
2171
2172 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
2173
2174         * corelow.c (core_target::get_core_register_section): Rename
2175         min_size to section_min_size.
2176
2177 2018-08-09  Jim Wilson  <jimw@sifive.com>
2178
2179         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
2180         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
2181         * NEWS: Mention new GNU/Linux RISC-V target.
2182         * configure.host: Add riscv*-*-linux*.
2183         * configure.nat: Add riscv*.
2184         * configure.tgt: Add riscv*-*-linux*.
2185         * riscv-linux-nat.c: New file.
2186         * riscv-linux-tdep.c: New file.
2187
2188 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2189
2190         * infrun.c (resume): Make static, add forward declaration.
2191         (proceed): Update header comment.
2192         * infrun.h (resume): Delete declaration.
2193
2194 2018-08-09  Tom Tromey  <tom@tromey.com>
2195
2196         * riscv-tdep.h: Minor formatting fixes.
2197
2198 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
2199
2200         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
2201         * dwarf-index-cache.c (create_dir_and_check): Likewise.
2202         (test_mkdir_recursive): Likewise.
2203         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
2204
2205 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
2206
2207         * valarith.c (value_subscripted_rvalue): If an array is not in
2208         memory, and we don't know the upper bound, then we can't know that
2209         the requested element exists or not.
2210
2211 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
2212
2213         * target.c (str_comma_list_concat_elem): Fix typo in comment.
2214         (target_options_to_string): Add comment.
2215
2216 2018-08-08  Tom Tromey  <tom@tromey.com>
2217
2218         * unittests/scoped_mmap-selftests.c: Check result of "write".
2219
2220 2018-08-08  Jim Wilson  <jimw@sifive.com>
2221
2222         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
2223         (decode_register_index_short): New.
2224         (decode_j_type_insn, decode_cj_type_insn): New.
2225         (decode_b_type_insn, decode_cb_type_insn): New.
2226         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
2227         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
2228         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
2229         is_c_sw_insn instead of is_sw_insn.
2230         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
2231         (riscv_software_single_step): New.
2232         * riscv-tdep.h (riscv_software_single_step): Declare.
2233
2234         * riscv-tdep.c (riscv_isa_xlen): Drop static.
2235         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
2236
2237 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
2238
2239         PR gdb/18050:
2240         * target.c (dispose_inferior): Don't dispose of inferiors that are
2241         already killed.
2242
2243 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2244
2245         * remote.c (remote_target::download_tracepoint): Change char* to
2246         const char*.
2247
2248 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
2249
2250         * target.h (target_options_to_string): Return an std::string.
2251         * target.c (str_comma_list_concat_elem): Return void, use
2252         std::string.
2253         (do_option): Likewise.
2254         (target_options_to_string): Return an std::string.
2255         * linux-nat.c (linux_nat_target::wait): Adjust.
2256         * target-debug.h (target_debug_print_options): Adjust.
2257
2258 2018-08-07  Tom Tromey  <tom@tromey.com>
2259
2260         * Makefile.in (CPPFLAGS): New variable.
2261         (INTERNAL_CPPFLAGS): Use it.
2262
2263 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2264
2265         * NEWS: Mention the index cache.
2266
2267 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2268
2269         * common/pathstuff.h (get_standard_cache_dir): New.
2270         * common/pathstuff.c (get_standard_cache_dir): New.
2271         * build-id.h (build_id_to_string): New.
2272         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
2273         DEBUG_STR_SUFFIX): Move to here.
2274         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
2275         DEBUG_STR_SUFFIX): Move from there.
2276         (write_psymtabs_to_index): Make non-static, add basename
2277         parameter.  Write to temporary files, rename when done.
2278         (save_gdb_index_command): Adjust call to
2279         write_psymtabs_to_index.
2280         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
2281         field.
2282         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
2283         (get_gdb_index_contents_from_cache): New.
2284         (get_gdb_index_contents_from_cache_dwz): New.
2285         (dwarf2_initialize_objfile): Read index from cache.
2286         (dwarf2_build_psymtabs): Save to index.
2287         * dwarf-index-cache.h: New file.
2288         * dwarf-index-cache.c: New file.
2289         * dwarf-index-write.h: New file.
2290
2291 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2292
2293         * gnulib/aclocal.m4: Re-generate.
2294         * gnulib/config.in: Re-generate.
2295         * gnulib/configure: Re-generate.
2296         * gnulib/import/Makefile.am: Re-generate.
2297         * gnulib/import/Makefile.in: Re-generate.
2298         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
2299         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2300         * gnulib/import/m4/mkdir.m4: New file.
2301         * gnulib/import/mkdir.c: New file.
2302         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
2303         module.
2304
2305 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2306
2307         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
2308         * common/scoped_mmap.c: New file.
2309         * common/scoped_mmap.h (destroy): New method.
2310         (~scoped_mmap, reset): Use destroy.
2311         (scoped_mmap): New move constructor.
2312         (mmap_file): New declaration.
2313         * unittests/scoped_mmap-selftests.c (test_normal,
2314         test_invalid_filename, run_tests): New functions.
2315         (_initialize_scoped_mmap_selftests): Register selftest.
2316
2317 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2318
2319         * dwarf2read.c (read_gdb_index_from_section): Rename to...
2320         (read_gdb_index_from_buffer): ... this.  Remove section
2321         parameter, add buffer parameter.
2322         (get_gdb_index_contents_ftype,
2323         get_gdb_index_contents_dwz_ftype): New typedefs.
2324         (dwarf2_read_gdb_index): Add callback parameters to get the
2325         index contents.
2326         (get_gdb_index_contents_from_section): New.
2327         (dwarf2_initialize_objfile): Update call to
2328         dwarf2_read_gdb_index.
2329
2330 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
2331
2332         * common/filestuff.h (gdb_fopen_cloexec): New overload.
2333         (gdb_open_cloexec): Likewise.
2334         * nat/linux-osdata.c (command_from_pid): Use string_printf.
2335         (commandline_from_pid): Likewise.
2336         (linux_xfer_osdata_threads): Likewise.
2337         (linux_xfer_osdata_fds): Likewise.
2338         * ada-lang.c (is_package_name): Likewise.
2339         * auxv.c (procfs_xfer_auxv): Likewise.
2340         * breakpoint.c (print_one_breakpoint_location): Use
2341         uiout::field_fmt.
2342         (print_one_catch_solib): Use string_printf.
2343         * coff-pe-read.c (add_pe_exported_sym): Likewise.
2344         (add_pe_forwarded_sym): Likewise.
2345         * dwarf2read.c (create_type_unit_group): Likewise.
2346         (build_error_marker_type): Likewise.
2347         * infcall.c (get_function_name): Likewise.
2348         * valprint.c (print_converted_chars_to_obstack): Likewise.
2349         * xtensa-tdep.c (xtensa_register_type): Likewise.
2350
2351 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
2352
2353         * remote.c (remote_target::download_tracepoint): Fix format
2354         string errors.
2355
2356 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2357
2358         * tracefile.c: Include common/byte-vector.h.
2359         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
2360         with trace_regblock_size if needed.  Update uses of buf.
2361
2362 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2363
2364         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
2365         std::vector<unsigned char>.
2366         * tracepoint.c (collection_list::collection_list): Remove
2367         m_regs_mask initializer from initializer list.  Resize
2368         m_regs_mask using the largest remote register number.
2369         (collection_list::add_remote_register): Remove size check on
2370         m_regs_mask.  Use at to access element.
2371         (collection_list::stringify): Change type of temp_buf to
2372         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
2373         stringify the register mask.  Use pack_hex_byte for the register
2374         mask.
2375
2376 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2377
2378         * tracepoint.h (class collection_list) <add_register>: Remove.
2379         <add_remote_register, add_ax_registers, add_local_register>:
2380         Declare.
2381         <add_memrange>: Add scope parameter.
2382         * tracepoint.c (encode_actions_1): Likewise.
2383         (collection_list::add_register): Rename to ...
2384         (collection_list::add_remote_register): ... this.  Update
2385         comment.
2386         (collection_list::add_ax_registers, add_local_register): New
2387         methods.
2388         (collection_list::add_memrange): Add scope parameter.  Call
2389         add_local_register instead of add_register.
2390         (finalize_tracepoint_aexpr): New function.
2391         (collection_list::collect_symbol): Update calls to add_memrange.
2392         Call add_local_register instead of add_register.  Call
2393         add_ax_registers.  Call finalize_tracepoint_aexpr.
2394         (encode_actions_1): Get remote regnos for $reg action.  Call
2395         add_remote_register, add_ax_registers, and add_local_register.
2396         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
2397         (validate_actionline): Call finalize_tracepoint_aexpr.
2398
2399 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2400
2401         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
2402         Replace array buf with gdb::char_vector buf, of size
2403         get_remote_packet_size ().  Replace references to buf and
2404         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
2405         and xsnprintf with snprintf.  Raise errors if the buffer is too
2406         small.
2407
2408 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2409
2410         * remote.c (remote_target::download_tracepoint): Fix the has_more
2411         predicate in the QTDP action list iteration.
2412
2413 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2414
2415         * remote.c (remote_target::download_tracepoint): Fix indentation
2416         in for block.
2417
2418 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2419
2420         * proc-api.c (_initialize_proc_api): Remove c, unused.
2421         * procfs.c (procfs_init_inferior): Remove signals, unused.
2422         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
2423         unused.
2424
2425 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2426             Andrew Burgess  <andrew.burgess@embecosm.com>
2427
2428         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
2429         'W_STOPCODE (0)' as this could be ambiguous.
2430
2431 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2432
2433         * ser-tcp.c (net_open): Fix thinko when deciding whether to
2434         disable TCP's Nagle algorithm (use "ai_protocol" instead of
2435         "ai_socktype").
2436
2437 2018-08-02  Tom Tromey  <tom@tromey.com>
2438
2439         PR symtab/16842.
2440         * dwarf2read.c (read_func_scope): Set symtab on template parameter
2441         symbols.
2442         (process_structure_scope): Likewise.
2443
2444 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2445
2446         PR gdb/22629:
2447         * darwin-nat.c (darwin_kill_inferior): Fix handling of
2448         kill inferior.
2449
2450 2018-08-02  Tom Tromey  <tom@tromey.com>
2451
2452         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
2453         (darwin_suspend_inferior, darwin_resume_inferior)
2454         (darwin_decode_notify_message, darwin_resume_inferior_threads)
2455         (darwin_check_new_threads): Check result of get_darwin_inferior.
2456
2457 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
2458
2459         GDB 8.1.1 released.
2460
2461 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
2462
2463         * varobj.c (varobj_get_path_expr_parent): Report an error if
2464         parent is a dynamic varobj.
2465
2466 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2467
2468         * gnulib/aclocal.m4: Re-generate.
2469         * gnulib/config.in: Re-generate.
2470         * gnulib/configure: Re-generate.
2471         * gnulib/import/Makefile.in: Re-generate.
2472         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
2473         * gnulib/import/m4/onceonly.m4: Re-generate.
2474
2475 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
2476
2477         * target-descriptions.c (struct xml_test_tdesc): New.
2478         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
2479         (record_xml_tdesc): Update.
2480         (maintenance_check_xml_descriptions): Update.
2481         * target-descriptions.h (record_xml_tdesc): Update comment.
2482
2483 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2484
2485         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
2486         checking array bounds are defined.
2487
2488 2018-07-30  Tom Tromey  <tom@tromey.com>
2489
2490         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
2491         irreflexivity violation.
2492
2493 2018-07-30  Tom Tromey  <tom@tromey.com>
2494
2495         * cli/cli-decode.c (lookup_cmd): Remove lint code.
2496         * value.c (unpack_long): Remove lint code.
2497         * valops.c (value_ind): Remove lint code.
2498         * valarith.c (value_x_binop, value_x_unop, value_equal)
2499         (value_pos): Remove lint code.
2500
2501 2018-07-28  Tom de Vries  <tdevries@suse.de>
2502
2503         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
2504         with undefined upper bound as <optimized out>.
2505
2506 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
2507
2508         * gcore.in: Rename variable "name" to "prefix".  Expand
2509         "usage" text.
2510
2511 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
2512
2513         * windows-nat.c (windows_nat_target::create_inferior): Update to
2514         call close() in global namespace.
2515
2516 2018-07-26  Tom Tromey  <tom@tromey.com>
2517
2518         * dwarf-index-write.c (add_address_entry): Don't add objfile
2519         offsets.
2520         * dbxread.c (find_stab_function): Rename from
2521         find_stab_function_addr.  Return a bound_minimal_symbol.
2522         (read_dbx_symtab): Use raw_text_low, raw_text_high.
2523         Don't add objfile offsets.
2524         (end_psymtab): Use raw_text_low, raw_text_high,
2525         MSYMBOL_VALUE_RAW_ADDRESS.
2526         (read_ofile_symtab): Update.
2527         (process_one_symbol): Update.
2528         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
2529         offsets.
2530         (dw2_relocate): Remove.
2531         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
2532         searching addrmap.
2533         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
2534         Update.
2535         (process_psymtab_comp_unit_reader, add_partial_symbol)
2536         (add_partial_subprogram, dwarf2_ranges_read): Update.
2537         (load_partial_dies): Update.
2538         (add_address_entry): Don't add objfile offsets.
2539         (dwarf2_build_include_psymtabs): Update.
2540         (create_addrmap_from_aranges): Don't add objfile offsets.
2541         (dw2_find_pc_sect_compunit_symtab): Update.
2542         * mdebugread.c (parse_symbol): Don't add objfile offsets.
2543         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
2544         Update.
2545         (parse_partial_symbols): Don't add objfile offsets.  Use
2546         raw_text_low, raw_text_high.  Update.
2547         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
2548         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
2549         or call 'relocate' quick function.  Clear psymbol_map.
2550         * psympriv.h (struct partial_symbol) <address>: Add section
2551         offset.
2552         <set_unrelocated_address>: Rename from set_address.
2553         <raw_text_low, raw_text_high>: New methods.
2554         <text_low, text_high>: Add objfile parameter.
2555         (add_psymbol_to_bcache): Add 'section' parameter.  Call
2556         set_unrelocated_address.
2557         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2558         (find_pc_psymbol): Update.
2559         (fixup_psymbol_section, relocate_psymtabs): Remove.
2560         (dump_psymtab, psym_functions): Update.
2561         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
2562         parameter.
2563         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
2564         (start_psymtab_common): Update.
2565         * symfile-debug.c (debug_qf_relocate): Remove.
2566         (debug_sym_quick_functions): Update.
2567         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
2568         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
2569         Update.
2570
2571 2018-07-26  Tom Tromey  <tromey@redhat.com>
2572
2573         * dbxread.c (end_psymtab): Use text_high_valid and
2574         text_low_valid.
2575         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
2576         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
2577         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
2578         Update comment.
2579         <text_low_valid, text_high_valid>: New fields.
2580         <set_text_low, set_text_high>: Update.
2581         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
2582
2583 2018-07-26  Tom Tromey  <tom@tromey.com>
2584
2585         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
2586         Update.
2587         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
2588         textlow and texthigh fields.
2589         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
2590         Update.
2591         * mdebugread.c (parse_lines, parse_partial_symbols)
2592         (psymtab_to_symtab_1): Update.
2593         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
2594         Rename fields.  Update comment.  Now private.
2595         <text_low, text_high, set_text_low, set_text_high>: New methods.
2596         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2597         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
2598         (start_psymtab_common, maintenance_info_psymtabs)
2599         (maintenance_check_psymtabs): Update.
2600         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
2601         texthigh fields.
2602         (scan_xcoff_symtab): Update.
2603
2604 2018-07-26  Tom Tromey  <tromey@redhat.com>
2605
2606         * psympriv.h (struct partial_symbol) <unrelocated_address,
2607         address, set_address>: New methods.
2608         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
2609         (fixup_psymbol_section, relocate_psymtabs): Update.
2610         (print_partial_symbols): Add 'objfile' parameter.  Update.
2611         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
2612         Update.
2613
2614 2018-07-26  Tom Tromey  <tom@tromey.com>
2615
2616         * dwarf-index-write.c (write_psymbols, debug_names::insert)
2617         (debug_names::write_psymbols): Update.
2618         * psympriv.h (struct partial_symbol): Derive from
2619         general_symbol_info.
2620         <obj_section>: New method.
2621         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
2622         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
2623         (find_pc_sect_psymbol, fixup_psymbol_section)
2624         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
2625         (print_partial_symbols, recursively_search_psymtabs)
2626         (compare_psymbols, psymbol_hash, psymbol_compare)
2627         (add_psymbol_to_bcache, maintenance_check_psymtabs)
2628         (psymbol_name_matches, psym_fill_psymbol_map): Update.
2629
2630 2018-07-26  Tom Tromey  <tromey@redhat.com>
2631
2632         * dbxread.c (end_psymtab): Remove dead code.
2633
2634 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
2635
2636         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
2637         DWARF unwinders are disabled.
2638         * dwarf2-frame.c: Add dwarf2read.h include.
2639         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
2640         disabled.
2641         (dwarf2_frame_unwinders_enabled_p): Define.
2642         (show_dwarf_unwinders_enabled_p): New function.
2643         (_initialize_dwarf2_frame): Register switch to control DWARF
2644         unwinder use.
2645         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
2646         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
2647         (show_dwarf_cmdlist): Remove static keyword.
2648         * dwarf2read.h (set_dwarf_cmdlist): Declare.
2649         (show_dwarf_cmdlist): Declare.
2650         * NEWS: Document new feature.
2651
2652 2018-07-26  Tom de Vries  <tdevries@suse.de>
2653
2654         PR breakpoints/23366
2655         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
2656
2657 2018-07-26  Tom de Vries  <tdevries@suse.de>
2658
2659         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
2660         DW_AT_count can't be translated to a dynamic prop.
2661
2662 2018-07-25  Tom de Vries  <tdevries@suse.de>
2663
2664         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
2665         try/catch.
2666
2667 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
2668
2669         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
2670
2671 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
2672
2673         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
2674
2675 2018-07-24  Keith Seitz  <keiths@redhat.comt
2676
2677         PR symtab/23010
2678         * dwarf2read.c (dw2_add_symbol_to_list): New function.
2679         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
2680         instead of add_symbol_to_list.
2681         (read_file_scope): Call prepare_one_comp_unit before reading
2682         any other DIEs.
2683
2684 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
2685
2686         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
2687
2688 2018-07-24  Tom Tromey  <tom@tromey.com>
2689
2690         * utils.c (malloc, realloc, free): Don't declare.
2691         * configure, config.in: Rebuild.
2692         * configure.ac: Don't check for declarations of free, malloc, or
2693         realloc.
2694
2695 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
2696
2697         * aarch64-linux-nat.c
2698         (aarch64_linux_nat_target::stopped_data_address): Remove unused
2699         variable.
2700         * arm-linux-nat.c (fetch_regs): Likewise.
2701         (store_regs): Likewise.
2702         (fetch_vfp_regs): Likewise.
2703         (store_vfp_regs): Likewise.
2704         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
2705         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
2706         (arm_linux_nat_target::insert_watchpoint): Likewise.
2707         (arm_linux_nat_target::remove_watchpoint): Likewise.
2708         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
2709         Likewise.
2710         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
2711         Likewise.
2712         * ppc-linux-nat.c (fetch_register): Likewise.
2713         (fetch_all_gp_regs): Likewise.
2714         (fetch_ppc_registers): Likewise.
2715         (store_all_gp_regs): Likewise.
2716         (store_ppc_registers): Likewise.
2717         (hwdebug_insert_point): Likewise.
2718         (can_use_watchpoint_cond_accel): Likewise.
2719         * remote-sim.c (gdb_os_write_stdout): Likewise.
2720
2721 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
2722             Tom Tromey  <tom@tromey.com>
2723
2724         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
2725         test for it.
2726         * configure: Rebuild.
2727
2728 2018-07-22  Tom Tromey  <tom@tromey.com>
2729
2730         * regformats/regdat.sh: Define xmltarget_${name} inside
2731         #ifndef IN_PROCESS_AGENT.
2732
2733 2018-07-22  Tom Tromey  <tom@tromey.com>
2734
2735         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
2736
2737 2018-07-22  Tom Tromey  <tom@tromey.com>
2738
2739         * symfile.c (reread_symbols): Notify iter, not objfile.
2740
2741 2018-07-22  Tom Tromey  <tom@tromey.com>
2742
2743         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
2744         Use arch_ops.
2745         (ravenscar_thread_target::prepare_to_store): Likewise.
2746
2747 2018-07-22  Tom Tromey  <tom@tromey.com>
2748
2749         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
2750         unused variable.  Call value_fetch_lazy when needed.
2751         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
2752         Remove unused variable.  Call value_fetch_lazy when needed.
2753
2754 2018-07-22  Tom Tromey  <tom@tromey.com>
2755
2756         * m32c-tdep.c (mark_dma): Return void.
2757         (make_regs): Remove unused declarations.
2758
2759 2018-07-22  Tom Tromey  <tom@tromey.com>
2760
2761         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
2762         cmdscm_get_valid_command_smob_arg_unsafe for effect.
2763         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
2764         bkscm_get_valid_block_smob_arg_unsafe for effect.
2765
2766 2018-07-22  Tom Tromey  <tom@tromey.com>
2767
2768         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
2769         value_type.
2770
2771 2018-07-22  Tom Tromey  <tom@tromey.com>
2772
2773         * windows-nat.c (saved_context): Conditionally define.
2774         * remote.c (remote_target::remote_btrace_maybe_reopen):
2775         Conditionally declare "warned".
2776         * inflow.c (sigquit_ours): Conditionally define.
2777         (new_tty): Move "tty" declaration inside #if.
2778         * guile/guile.c (guile_datadir): Conditionally define.
2779         * charset.c (set_be_le_names): Move some declarations inside #if.
2780         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
2781         #if.
2782         (parse_xml_btrace_conf): Likewise.
2783
2784 2018-07-22  Tom Tromey  <tom@tromey.com>
2785
2786         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
2787
2788 2018-07-22  Tom Tromey  <tom@tromey.com>
2789
2790         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
2791         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
2792         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
2793         * buildsym-legacy.c (get_macro_table): Remove unused variable.
2794         * stack.c (frame_apply_level_command): Remove unused variable.
2795         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
2796         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
2797         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
2798         unused variable.
2799         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
2800         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
2801         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
2802         variable.
2803         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
2804         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
2805         variable.
2806         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
2807         Remove unused variable.
2808         * cli/cli-script.c (recurse_read_control_structure): Remove unused
2809         variable.
2810         * common/tdesc.c (print_xml_feature::visit): Remove unused
2811         variable.
2812         * compile/compile-object-load.c (store_regs): Remove unused
2813         variables.
2814         * complaints.c (clear_complaints): Remove unused variable.
2815         * corelow.c (core_target_open): Remove unused variable.
2816         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
2817         variable.
2818         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
2819         variable.
2820         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
2821         variable.
2822         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
2823         variable.
2824         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
2825         variable.
2826         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
2827         variable.
2828         * ia64-tdep.c (examine_prologue): Remove unused variable.
2829         * infcall.c (run_inferior_call): Remove unused variable.
2830         * inferior.c (exit_inferior): Remove unused variable.
2831         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
2832         * linespec.c (decode_line_2): Remove unused variable.
2833         * linux-nat.c (super_close): Remove.
2834         * linux-tdep.c (linux_info_proc): Remove unused variable.
2835         * mi/mi-main.c (mi_execute_command): Remove unused variable.
2836         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
2837         Remove unused variable.
2838         * parse.c (find_minsym_type_and_address): Remove unused variable.
2839         * printcmd.c (info_symbol_command, printf_floating): Remove unused
2840         variable.
2841         * python/py-breakpoint.c (bppy_set_commands): Remove unused
2842         variable.
2843         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
2844         variables.
2845         * record-btrace.c (record_btrace_target::store_registers): Remove
2846         unused variable.
2847         (cmd_show_record_btrace_cpu): Remove unused variable.
2848         * riscv-tdep.c (riscv_register_reggroup_p)
2849         (riscv_push_dummy_call, riscv_return_value): Remove unused
2850         variable.
2851         * rust-exp.y (literal): Remove unused variable.
2852         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
2853         unused variable.
2854         <STRUCTOP_ANONYMOUS>: Likewise.
2855         * s390-linux-tdep.c (s390_linux_init_abi_31)
2856         (s390_linux_init_abi_64): Remove unused variable.
2857         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
2858         (file_select_thread, net_windows_open, _initialize_ser_windows):
2859         Remove unused variables.
2860         * symtab.c (find_pc_sect_line): Remove unused variable.
2861         * target-memory.c (compute_garbled_blocks): Remove unused
2862         variable.
2863         (target_write_memory_blocks): Remove unused variable.
2864         * target.c (target_stack::unpush): Remove unused variables.
2865         * tracepoint.c (start_tracing, all_tracepoint_actions)
2866         (merge_uploaded_trace_state_variables)
2867         (print_one_static_tracepoint_marker): Remove unused variable.
2868         * unittests/basic_string_view/element_access/char/1.cc (test01):
2869         Remove unused variable.
2870         * windows-nat.c (windows_continue, windows_add_all_dlls)
2871         (do_initial_windows_stuff, windows_nat_target::create_inferior):
2872         Remove unused variables.
2873
2874 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
2875
2876         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
2877         attr_profile in HAVE_ELF.
2878         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
2879         HAVE_ELF.
2880
2881 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
2882
2883         * frame.c (frame_register_unwind): Change parameter name.
2884         (frame_unwind_register): Likewise.
2885         (frame_unwind_register_value): Likewise.
2886         (frame_unwind_register_signed): Likewise.
2887         (frame_unwind_register_unsigned): Likewise.
2888         * frame.h (frame_register_unwind): Likewise.
2889         (frame_unwind_register): Likewise.
2890         (frame_unwind_register_value): Likewise.
2891         (frame_unwind_register_signed): Likewise.
2892         (frame_unwind_register_unsigned): Likewise.
2893         (frame_unwind_arch): Likewise.
2894
2895 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2896
2897         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
2898         ISA maintenance.
2899
2900 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
2901
2902         * mips-linux-nat.c (mips_linux_nat_target::read_description):
2903         Call `get_ptrace_pid' rather than extracting the ptrace PID by
2904         hand.
2905
2906 2018-07-20  Keith Seitz  <keiths@redhat.com>
2907
2908         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
2909         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
2910         m_compunit_symtab, m_language>: Add "m_" prefix.
2911         Update all uses.
2912         * buildsym.c: Update all uses.
2913
2914 2018-07-20  Tom Tromey  <tom@tromey.com>
2915
2916         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
2917         * buildsym.h (record_line_ftype): Remove typedef.
2918
2919 2018-07-20  Tom Tromey  <tom@tromey.com>
2920
2921         * buildsym-legacy.h (augment_type_symtab): Don't declare.
2922         (end_expandable_symtab): Likewise.
2923         (end_symtab_get_static_block): Likewise.
2924         (end_symtab_from_static_block): Likewise.
2925         * buildsym-legacy.c (augment_type_symtab): Remove.
2926         (end_expandable_symtab): Remove.
2927         (end_symtab_get_static_block): Remove.
2928         (end_symtab_from_static_block): Remove.
2929
2930 2018-07-20  Tom Tromey  <tom@tromey.com>
2931
2932         * dwarf2read.c: Include buildsym.h.
2933         (struct dwarf2_cu) <builder>: New method.
2934         (fixup_go_packaging): Update.
2935         (process_full_comp_unit, process_full_type_unit): Update.  Don't
2936         use scoped_free_pendings.
2937         (using_directives): Add "cu" parameter, remove "language".
2938         (read_import_statement, setup_type_unit_groups, )
2939         (read_func_scope, read_lexical_block_scope)
2940         (dwarf2_record_block_ranges, read_namespace): Update.
2941         (lnp_state_machine::lnp_state_machine): Add cu parameter.
2942         (lnp_state_machine::handle_end_sequence): Update.
2943         (class lnp_state_machine) <m_cu>: New member.
2944         <m_record_line_callback>: Remove.
2945         <m_currently_recording_lines>: New member.
2946         (lnp_state_machine::handle_set_file): Update.
2947         (noop_record_line): Remove.
2948         (dwarf_record_line_p): Add cu parameter.
2949         (dwarf_record_line_1, dwarf_finish_line): Likewise.
2950         (lnp_state_machine::record_line)
2951         (lnp_state_machine::lnp_state_machine)
2952         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
2953         (dwarf_decode_lines): Update.
2954         (dwarf2_start_subfile): Add cu parameter.
2955         (dwarf2_start_symtab, new_symbol): Update.
2956         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
2957         Remove dwarf2_per_objfile parameter.
2958         (dwarf_decode_macros): Update.
2959
2960 2018-07-20  Tom Tromey  <tom@tromey.com>
2961
2962         * stabsread.c (define_symbol): Update.
2963         * buildsym-legacy.h (get_buildsym_compunit): Declare.
2964         * dwarf2read.c (new_symbol): Update.
2965         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
2966         * cp-namespace.c: Include buildsym.h.
2967         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
2968         * buildsym-legacy.c (get_buildsym_compunit): New function.
2969
2970 2018-07-20  Tom Tromey  <tom@tromey.com>
2971
2972         * xcoffread.c: Include buildsym-legacy.h.
2973         * windows-nat.c: Include buildsym-legacy.h.
2974         * stabsread.c: Include buildsym-legacy.h.
2975         * mdebugread.c: Include buildsym-legacy.h.
2976         * buildsym-legacy.h: New file.
2977         * buildsym-legacy.c: New file, from buildsym.c.
2978         * go32-nat.c: Include buildsym-legacy.h.
2979         * dwarf2read.c: Include buildsym-legacy.h.
2980         * dbxread.c: Include buildsym-legacy.h.
2981         * cp-namespace.c: Include buildsym-legacy.h.
2982         * coffread.c: Include buildsym-legacy.h.
2983         * buildsym.h: Move some contents to buildsym-legacy.h.
2984         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
2985         buildsym-legacy.c.
2986         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2987
2988 2018-07-20  Tom Tromey  <tom@tromey.com>
2989
2990         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
2991         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
2992         (buildsym_compunit::buildsym_compunit)
2993         (buildsym_compunit::~buildsym_compunit)
2994         (buildsym_compunit::get_macro_table): Define.
2995
2996 2018-07-20  Tom Tromey  <tom@tromey.com>
2997
2998         * buildsym.c (reset_symtab_globals): Remove.
2999         (buildsym_compunit::end_symtab_from_static_block): Update.
3000         (buildsym_compunit::augment_type_symtab): Update.
3001         (end_symtab_from_static_block): Call free_buildsym_compunit.
3002         (augment_type_symtab, end_symtab, end_expandable_symtab):
3003         Likewise.
3004
3005 2018-07-20  Tom Tromey  <tom@tromey.com>
3006
3007         * arch-utils.c: Do not include buildsym.h.
3008         * mipsread.c: Do not include buildsym.h.
3009         * machoread.c: Do not include buildsym.h.
3010         * elfread.c: Do not include buildsym.h.
3011
3012 2018-07-20  Tom Tromey  <tom@tromey.com>
3013
3014         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
3015         initialization.
3016         (buildsym_compunit): Add new constructor.
3017         (struct buildsym_compunit) <get_last_source_file, finish_block,
3018         record_block_range, start_subfile, patch_subfile_names,
3019         push_subfile, pop_subfile, record_line, get_compunit_symtab,
3020         set_last_source_start_addr, get_last_source_start_addr,
3021         get_local_using_directives, set_local_using_directives,
3022         get_global_using_directives, outermost_context_p,
3023         get_current_context_stack, get_context_stack_depth,
3024         get_current_subfile, get_local_symbols, get_file_symbols,
3025         get_global_symbols, record_debugformat, record_producer,
3026         push_context, pop_context, end_symtab_get_static_block,
3027         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
3028         New public methods.
3029         <record_pending_block, finish_block_internal, make_blockvector,
3030         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
3031         private methods.
3032         Update all users.
3033
3034 2018-05-22  Tom Tromey  <tom@tromey.com>
3035
3036         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3037         parameter.
3038         (finish_block_internal): Update.
3039
3040 2018-07-20  Tom Tromey  <tom@tromey.com>
3041
3042         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3043         parameter.
3044         (finish_block_internal): Update.
3045
3046 2018-07-20  Tom Tromey  <tom@tromey.com>
3047
3048         * buildsym.h (EXTERN): Don't define or undef.
3049         * buildsym.c (EXTERN): Don't define.
3050
3051 2018-07-20  Tom Tromey  <tom@tromey.com>
3052
3053         * buildsym.c: Remove TODO comment.
3054
3055 2018-07-20  Tom Tromey  <tom@tromey.com>
3056
3057         * coffread.c (coff_symtab_read): Update.
3058         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
3059         (xcoff_new_init): Update.
3060         * mipsread.c (mipscoff_new_init): Update.
3061         * mdebugread.c (mdebug_build_psymtabs): Update.
3062         * elfread.c (elf_new_init): Update.
3063         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3064         Update.
3065         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
3066         (coffstab_build_psymtabs, elfstab_build_psymtabs)
3067         (stabsect_build_psymtabs): Update.
3068         * buildsym.h (buildsym_init): Don't declare.
3069         * buildsym.c: Update comment.
3070         (prepare_for_building): Remove.
3071         (start_symtab, restart_symtab): Update.
3072         (reset_symtab_globals): Update comment.
3073         (buildsym_init): Remove.
3074
3075 2018-07-20  Tom Tromey  <tom@tromey.com>
3076
3077         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
3078         * stabsread.c (patch_block_stabs, define_symbol, read_type)
3079         (read_enum_type, common_block_start, common_block_end)
3080         (cleanup_undefined_types_1, finish_global_stabs): Update.
3081         * mdebugread.c (psymtab_to_symtab_1): Update.
3082         * dwarf2read.c (fixup_go_packaging, read_func_scope)
3083         (read_lexical_block_scope, new_symbol): Update.
3084         * dbxread.c (process_one_symbol): Update.
3085         * coffread.c (coff_symtab_read, process_coff_symbol)
3086         (coff_read_enum_type): Update.
3087         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
3088         declare.
3089         (get_local_symbols, get_file_symbols, get_global_symbols): New
3090         functions.
3091         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
3092         m_global_symbols.
3093         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
3094         (~scoped_free_pendings): Update.
3095         (finish_block, prepare_for_building, reset_symtab_globals)
3096         (end_symtab_get_static_block, end_symtab_with_blockvector)
3097         (augment_type_symtab, push_context): Update.
3098         (get_local_symbols, get_file_symbols, get_global_symbols): New
3099         functions.
3100         (buildsym_init): Update.
3101
3102 2018-07-20  Tom Tromey  <tom@tromey.com>
3103
3104         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
3105         (process_full_type_unit): Likewise.
3106         (dwarf2_start_symtab): Set list_in_scope.
3107
3108 2018-07-20  Tom Tromey  <tom@tromey.com>
3109
3110         * dwarf2read.c (process_psymtab_comp_unit_reader)
3111         (build_type_psymtabs_reader): Do not set list_in_scope.
3112
3113 2018-07-20  Tom Tromey  <tom@tromey.com>
3114
3115         * buildsym.c (free_pendings): Remove.
3116         (add_symbol_to_list, scoped_free_pendings)
3117         (finish_block_internal, buildsym_init): Update.
3118
3119 2018-07-20  Tom Tromey  <tom@tromey.com>
3120
3121         * xcoffread.c (read_xcoff_symtab): Update.
3122         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
3123         Update.
3124         * dbxread.c (process_one_symbol): Update.
3125         * coffread.c (coff_symtab_read): Update.
3126         * buildsym.h (finish_block): Update.
3127         * buildsym.c (finish_block): Remove "listhead" argument.
3128         (end_symtab_get_static_block): Update.
3129
3130 2018-07-20  Tom Tromey  <tom@tromey.com>
3131
3132         * buildsym.h (class scoped_free_pendings): Remove constructor.
3133         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
3134         method.
3135         <m_pending_block_obstack, m_pending_blocks>: New members.
3136         (pending_block_obstack, pending_blocks): Remove.
3137         (scoped_free_pendings::scoped_free_pendings): Default.
3138         (~scoped_free_pendings): Update.
3139         (free_pending_blocks): Remove.
3140         (finish_block_internal, record_pending_block, make_blockvector)
3141         (end_symtab_get_static_block, augment_type_symtab, push_context)
3142         (buildsym_init): Update.
3143
3144 2018-07-20  Tom Tromey  <tom@tromey.com>
3145
3146         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
3147         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
3148         members.
3149         (pending_addrmap, pending_addrmap_obstack)
3150         (pending_addrmap_interesting): Remove.
3151         (scoped_free_pendings, record_block_range, make_blockvector)
3152         (prepare_for_building, reset_symtab_globals, buildsym_init):
3153         Update.
3154
3155 2018-07-20  Tom Tromey  <tom@tromey.com>
3156
3157         * xcoffread.c (process_linenos): Update.
3158         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
3159         * mdebugread.c (psymtab_to_symtab_1): Update.
3160         * dwarf2read.c (setup_type_unit_groups)
3161         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
3162         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
3163         * dbxread.c (process_one_symbol): Update.
3164         * coffread.c (coff_symtab_read, enter_linenos)
3165         (process_coff_symbol): Update.
3166         * buildsym.h (current_subfile): Don't declare.
3167         (get_current_subfile): Declare.
3168         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
3169         member.
3170         (start_subfile, free_buildsym_compunit, push_subfile)
3171         (prepare_for_building, start_symtab): Update.
3172         (get_current_subfile): New function.
3173
3174 2018-07-20  Tom Tromey  <tom@tromey.com>
3175
3176         * coffread.c (coff_symtab_read): Update.
3177         * xcoffread.c (read_xcoff_symtab): Update.
3178         * dwarf2read.c (new_symbol): Update.
3179         (read_func_scope, read_lexical_block_scope): Update.
3180         * dbxread.c (process_one_symbol): Update.
3181         * buildsym.h (context_stack, context_stack_depth): Don't declare.
3182         (outermost_context_p): Remove macro.
3183         (outermost_context_p, get_current_context_stack)
3184         (get_context_stack_depth): Declare.
3185         (pop_context): Return struct context_stack.
3186         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
3187         member.
3188         (context_stack_size): Remove.
3189         (INITIAL_CONTEXT_STACK_SIZE): Remove.
3190         (prepare_for_building, end_symtab_get_static_block)
3191         (augment_type_symtab, push_context): Update.
3192         (pop_context): Return struct context_stack.
3193         (outermost_context_p, get_current_context_stack)
3194         (get_context_stack_depth): New functions.
3195         (buildsym_init): Update.
3196
3197 2018-07-20  Tom Tromey  <tom@tromey.com>
3198
3199         * rust-exp.y: Now a pure parser.  Update all rules.
3200         (%union): Move earlier.
3201         (current_parser, work_obstack): Remove globals.
3202         (rust_parser, ~rust_parser): Update.
3203         (class rust_parser) <copy_name, concat3, crate_name, super_name,
3204         lex_character, lex_number, lex_string, lex_identifier,
3205         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
3206         convert_name, convert_params_to_expression,
3207         convert_ast_to_expression, ast_basic_type, ast_operation,
3208         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
3209         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
3210         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
3211         ast_array_type, ast_slice_type, ast_reference_type,
3212         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
3213         (rust_parse): Update.
3214         (rustyyerror, rustyylex): Add parser parameter.
3215         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
3216         (rust_lex_stringish_test, rust_lex_test_sequence)
3217         (rust_lex_test_trailing_dot, rust_lex_test_completion)
3218         (rust_lex_test_push_back, rust_lex_tests): Update.
3219
3220 2018-07-19  Pedro Alves  <palves@redhat.com>
3221
3222         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
3223         gdb::unique_xmalloc_ptr.
3224         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
3225         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
3226         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
3227         copy-initialization.
3228         * guile/scm-pretty-print.c (ppscm_print_children): Use
3229         gdb::unique_xmalloc_ptr instead of cleanups.
3230         (gdbscm_apply_val_pretty_printer): Remove cleanups.
3231         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
3232         gdb::unique_xmalloc_ptr.
3233         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3234         Adjust to use gdb::unique_xmalloc_ptr.
3235         * guile/scm-utils.c (extract_arg): Adjust.
3236         * guile/scm-value.c (gdbscm_value_field): Adjust to use
3237         gdb::unique_xmalloc_ptr instead of a cleanup.
3238
3239 2018-07-19  Tom Tromey  <tom@tromey.com>
3240
3241         * utils.c (do_value_free_to_mark)
3242         (make_cleanup_value_free_to_mark): Remove.
3243         * utils.h (make_cleanup_value_free_to_mark): Remove.
3244
3245 2018-07-19  Pedro Alves  <palves@redhat.com>
3246
3247         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
3248         forwarding reference.
3249
3250 2018-07-18  Pedro Alves  <palves@redhat.com>
3251
3252         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
3253         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
3254         cleanup.
3255
3256 2018-07-18  Pedro Alves  <palves@redhat.com>
3257
3258         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
3259         exceptions.
3260         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
3261         (gdbscm_wrap): New.
3262         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
3263         directly instead of a cleanup.
3264         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
3265         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
3266         (vlscm_binop_gdbthrow): New, factored out from ...
3267         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
3268         (vlscm_rich_compare): Use gdbscm_wrap.
3269         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
3270         instead of a cleanup.
3271         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
3272         cleanup.
3273         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
3274         Use xfree directly instead of a cleanup.
3275         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
3276         Adjust to use gdbscm_wrap and scoped_value_mark.
3277         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
3278         (gdbscm_value_address, gdbscm_value_dereference)
3279         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
3280         scoped_value_mark.
3281         (gdbscm_value_dynamic_type): Use scoped_value_mark.
3282         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
3283         scoped_value_mark.
3284         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
3285         gdbscm_wrap and scoped_value_mark.
3286         (gdbscm_value_to_string): Use xfree directly instead of a
3287         cleanup.  Move 'buffer' unique_ptr to TRY scope.
3288         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
3289         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
3290         scoped_value_mark.
3291         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
3292         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
3293         scoped_value_mark.
3294         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
3295         gdbscm_wrap.
3296
3297 2018-07-18  Tom de Vries  <tdevries@suse.de>
3298
3299         * findvar.c (default_read_var_value): Also resolve dynamic type for
3300         LOC_OPTIMIZED_OUT vars.
3301
3302 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
3303
3304         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
3305         decoding.
3306
3307 2018-07-17  Tom Tromey  <tom@tromey.com>
3308
3309         * guile/scm-param.c (pascm_set_func, pascm_show_func)
3310         (compute_enum_list, pascm_set_param_value_x)
3311         (gdbscm_parameter_value): Update.
3312         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
3313         (gdbscm_scm_to_host_string): Update.
3314         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
3315         Update.
3316         * guile/scm-cmd.c (cmdscm_add_completion): Update.
3317         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
3318         * guile/scm-string.c (gdbscm_scm_to_string): Return
3319         unique_xmalloc_ptr.
3320         (gdbscm_scm_to_host_string): Likewise.
3321
3322 2018-07-17  Tom Tromey  <tom@tromey.com>
3323
3324         * guile/guile.c (gdbscm_eval_from_control_command): Update.
3325         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
3326         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
3327         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
3328         unique_xmalloc_ptr.
3329
3330 2018-07-17  Tom Tromey  <tom@tromey.com>
3331
3332         * guile/scm-param.c (pascm_signal_setshow_error): Update.
3333         * guile/guile-internal.h (gdbscm_exception_message_to_string):
3334         Update.
3335         * guile/scm-cmd.c (cmdscm_function): Update.
3336         * guile/scm-pretty-print.c
3337         (ppscm_print_exception_unless_memory_error): Update.
3338         * guile/scm-exception.c (gdbscm_exception_message_to_string):
3339         Return unique_xmalloc_ptr.
3340
3341 2018-07-17  Tom Tromey  <tom@tromey.com>
3342
3343         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
3344         Use string_printf.
3345
3346 2018-07-17  Jim Wilson  <jimw@sifive.com>
3347
3348         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
3349         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
3350         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
3351         unecessary braces after EF_RISCV_RVC test.  Delete call to
3352         set_gdbarch_decr_pc_after_break.
3353
3354         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
3355         RISCV_LAST_FP_REGNUM + 1.
3356         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
3357
3358 2018-07-17  Tom Tromey  <tom@tromey.com>
3359
3360         * configure.ac: Remove --disable-gdbcli.
3361         * configure: Rebuild.
3362         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
3363         (SUBDIR_CLI_CFLAGS): Remove.
3364         (SFILES): Use SUBDIR_CLI_SRCS.
3365         (COMMON_OBS): Use SUBDIR_CLI_OBS.
3366
3367 2018-07-17  Tom Tromey  <tom@tromey.com>
3368
3369         PR gdb/18624:
3370         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
3371
3372 2018-07-16  Jim Wilson  <jimw@sifive.com>
3373
3374         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
3375
3376 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3377
3378         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
3379         variable.
3380         (libunwind_frame_sniffer): Likewise.
3381         (libunwind_frame_prev_register): Likewise.
3382         (libunwind_sigtramp_frame_sniffer): Likewise.
3383         * ia64-tdep.c (ia64_access_reg): Likewise.
3384         (ia64_access_rse_reg): Likewise.
3385         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
3386         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
3387
3388 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3389
3390         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
3391
3392 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
3393
3394         * remote-sim.c (gdbsim_target::close,
3395         gdbsim_target::mourn_inferior): Remove unused variables.
3396
3397 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
3398
3399         * ia64-tdep.c (ktab_buf): New global.
3400         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
3401         (get_kernel_table): Adjust.
3402
3403 2018-07-16  Tom Tromey  <tom@tromey.com>
3404
3405         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
3406         * dwarf2read.c (using_directives, new_symbol): Use
3407         outermost_context_p.
3408         * dbxread.c (process_one_symbol): Use outermost_context_p.
3409         * coffread.c (coff_symtab_read): Use outermost_context_p.
3410
3411 2018-07-16  Tom Tromey  <tom@tromey.com>
3412
3413         * dwarf2read.c (using_directives, read_func_scope)
3414         (read_lexical_block_scope): Update.
3415         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
3416         * buildsym.h (local_using_directives, global_using_directives):
3417         Don't declare.
3418         (get_local_using_directives, set_local_using_directives)
3419         (get_global_using_directives): Declare.
3420         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
3421         m_global_using_directives>: New members.
3422         (finish_block_internal, prepare_for_building)
3423         (reset_symtab_globals, end_symtab_get_static_block)
3424         (push_context): Update.
3425         (get_local_using_directives, set_local_using_directives)
3426         (get_global_using_directives): New functions.
3427         (buildsym_init): Update.
3428
3429 2018-07-16  Tom Tromey  <tom@tromey.com>
3430
3431         * xcoffread.c (xcoff_initial_scan): Don't call
3432         free_pending_blocks.
3433         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
3434         * buildsym.h (class scoped_free_pendings): Add constructor.
3435         (free_pending_blocks): Don't declare.
3436         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
3437         (free_pending_blocks): Now static.
3438
3439 2018-07-16  Tom Tromey  <tom@tromey.com>
3440
3441         * buildsym.h (push_subfile, pop_subfile): Update declarations.
3442         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
3443         member.
3444         (struct subfile_stack): Remove.
3445         (subfile_stack): Remove.
3446         (push_subfile, pop_subfile, buildsym_init): Update.
3447
3448 2018-07-16  Tom Tromey  <tom@tromey.com>
3449
3450         * buildsym.c (push_subfile): Use gdb_assert.
3451         (pop_subfile): Use gdb_assert.
3452
3453 2018-07-16  Tom Tromey  <tom@tromey.com>
3454
3455         * buildsym.h (merge_symbol_lists): Remove.
3456         * buildsym.c (merge_symbol_lists): Remove.
3457
3458 2018-07-16  Tom Tromey  <tom@tromey.com>
3459
3460         * stabsread.c (scan_file_globals): Update comment.
3461         * stabsread.h (scan_file_globals): Move from buildsym.h.
3462         * buildsym.h (scan_file_globals): Move to stabsread.h.
3463
3464 2018-07-16  Tom Tromey  <tom@tromey.com>
3465
3466         * xcoffread.c (xcoff_new_init): Update.
3467         * mipsread.c (mipscoff_new_init): Update.
3468         * mdebugread.c (mdebug_build_psymtabs): Update.
3469         * elfread.c (elf_new_init): Update.
3470         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
3471         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
3472         * buildsym.h (buildsym_new_init): Don't declare.
3473         * buildsym.c (buildsym_new_init): Remove.
3474
3475 2018-07-16  Tom Tromey  <tom@tromey.com>
3476
3477         * stabsread.h (within_function): Move from buildsym.h.
3478         * stabsread.c (start_stabs): Clear within_function.
3479         * coffread.c (coff_start_symtab): Clear within_function.
3480         * buildsym.h (within_function): Move to stabsread.h.
3481         * buildsym.c (prepare_for_building): Update.
3482
3483 2018-07-16  Tom Tromey  <tom@tromey.com>
3484
3485         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
3486         * dwarf2read.c (dwarf2_start_symtab): Don't set
3487         processing_gcc_compilation.
3488         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
3489
3490 2018-07-16  Tom Tromey  <tom@tromey.com>
3491
3492         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
3493         (next_symbol_text_func): Move from buildsym.h.
3494         * stabsread.c (hashname): Move from buildsym.c.
3495         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
3496         (next_symbol_text_func, hashname): Move to stabsread.h.
3497         * buildsym.c: Don't include bcache.h
3498         (hashname): Move to stasbread.c.
3499
3500 2018-07-16  Tom Tromey  <tom@tromey.com>
3501
3502         * buildsym.h (context_stack_size): Don't declare.
3503         * buildsym.c (context_stack_size): New global.
3504
3505 2018-07-16  Tom Tromey  <tom@tromey.com>
3506
3507         * dbxread.c (processing_acc_compilation): New global.
3508         * buildsym.h (processing_acc_compilation): Don't declare.
3509
3510 2018-07-16  Tom Tromey  <tom@tromey.com>
3511
3512         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
3513         * dbxread.c (read_ofile_symtab): Update.
3514         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
3515         * buildsym.h (last_source_start_addr): Remove.
3516         (set_last_source_start_addr, get_last_source_start_addr):
3517         Declare.
3518         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
3519         parameter.
3520         (struct buildsym_compunit) <m_last_source_start_addr>: New
3521         member.
3522         (prepare_for_building): Remove start_addr parameter.
3523         (start_symtab, restart_symtab, end_symtab_get_static_block)
3524         (end_symtab_with_blockvector): Update.
3525         (set_last_source_start_addr, get_last_source_start_addr): New
3526         functions.
3527
3528 2018-07-16  Tom Tromey  <tom@tromey.com>
3529
3530         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
3531         member.
3532         (have_line_numbers): Remove.
3533         (record_line, prepare_for_building, end_symtab_get_static_block)
3534         (augment_type_symtab): Update.
3535
3536 2018-07-16  Tom Tromey  <tom@tromey.com>
3537
3538         * buildsym.c (~buildsym_compunit): Free the macro table.
3539         (struct buildsym_compunit) <get_macro_table, release_macros>: New
3540         methods.
3541         <m_pending_macros>: New member.
3542         (pending_macros): Remove.
3543         (~scoped_free_pendings, get_macro_table, prepare_for_building)
3544         (reset_symtab_globals, end_symtab_get_static_block)
3545         (end_symtab_with_blockvector, augment_type_symtab)
3546         (buildsym_init): Update.
3547
3548 2018-07-16  Tom Tromey  <tom@tromey.com>
3549
3550         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
3551         parameter.
3552         (buildsym_compunit::set_last_source_file): New method.
3553         <m_last_source_file>: New member.
3554         (prepare_for_building): Remove "name" parameter.
3555         (start_symtab, restart_symtab, reset_symtab_globals): Update.
3556         (last_source_file): Remove.
3557         (set_last_source_file, get_last_source_file): Update.
3558
3559 2018-07-16  Tom Tromey  <tom@tromey.com>
3560
3561         * buildsym.c (prepare_for_building): Add assert.
3562
3563 2018-07-16  Tom Tromey  <tom@tromey.com>
3564
3565         * buildsym.c (~buildsym_compunit): Update.
3566         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
3567         (start_subfile, patch_subfile_names)
3568         (end_symtab_with_blockvector): Update.
3569
3570 2018-07-16  Tom Tromey  <tom@tromey.com>
3571
3572         * buildsym.c (struct buildsym_compunit): Add constructor,
3573         destructor, initializers.
3574         (start_buildsym_compunit): Remove.
3575         (free_buildsym_compunit): Use "delete".
3576         (start_symtab, restart_symtab): Use "new".
3577
3578 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
3579
3580         * symfile.c (set_objfile_default_section_offset): Remove struct
3581         keyword.
3582
3583 2018-07-14  Stafford Horne  <shorne@gmail.com>
3584
3585         * (Responsible Maintainers): Add myself as or1k maintainer.
3586
3587 2018-07-13  Tom Tromey  <tom@tromey.com>
3588
3589         * symfile.c (set_objfile_default_section_offset): Use extra braces
3590         around initializer.
3591
3592 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3593
3594         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
3595         non-branching basr.
3596
3597 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3598
3599         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3600         unittests/cli-utils-selftests.c
3601         * unittests/cli-utils-selftests.c: New file.
3602
3603 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3604
3605         * NEWS: Mention new commands. Mention change to 'thread apply'.
3606
3607 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3608
3609         * thread.c (thr_try_catch_cmd): New function.
3610         (thread_apply_all_command): Handle qcs flags.
3611         (thread_apply_command): Handle qcs flags.
3612         (taas_command): New function.
3613         (tfaas_command): New function.
3614         (_initialize_thread): Update to setup the new commands 'taas
3615         and 'tfaas'. Change doc string for 'thread apply'.
3616
3617 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3618
3619         * stack.c: (trailing_outermost_frame): New function, mostly
3620         extracted from backtrace_command_1.
3621         (leading_innermost_frame): New function.
3622         (backtrace_command_1): Update to call trailing_outermost_frame.
3623         (frame_apply_command_count): New function.
3624         (frame_apply_level_command): New function.
3625         (frame_apply_all_command): New function.
3626         (frame_apply_command): New function.
3627         (faas_command): New function.
3628         (frame_cmd_list): New variable.
3629         (_initialize_stack): Update to setup the new commands 'frame apply'
3630         and 'faas'.
3631
3632 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3633
3634         * cli-utils.c (number_or_range_parser::get_number): Only handle
3635         numbers or convenience var as numbers.
3636         (parse_flags): New function.
3637         (parse_flags_qcs): New function.
3638         (number_or_range_parser::finished): Ensure parsing end is detected
3639         before end of string.
3640         * cli-utils.h (parse_flags): New function.
3641         (parse_flags_qcs): New function.
3642         (number_or_range_parser): Remove m_finished bool.
3643         (number_or_range_parser::skip_range): Set m_in_range to false.
3644
3645 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
3646
3647         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
3648         on Windows.
3649
3650 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
3651             Jan Kratochvil  <jan.kratochvil@redhat.com>
3652             Paul Fertser  <fercerpav@gmail.com>
3653             Tsutomu Seki  <sekiriki@gmail.com>
3654             Pedro Alves  <palves@redhat.com>
3655
3656         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3657         'unittests/parse-connection-spec-selftests.c'.
3658         (COMMON_SFILES): Add 'common/netstuff.c'.
3659         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
3660         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
3661         * common/netstuff.c: New file.
3662         * common/netstuff.h: New file.
3663         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
3664         (wait_for_connect): Update comment.  New parameter
3665         'gdb::optional<int> sock' instead of 'struct serial *scb'.
3666         Use 'sock' directly instead of 'scb->fd'.
3667         (try_connect): New function, with code from 'net_open'.
3668         (net_open): Rewrite main loop to deal with multiple
3669         sockets/addresses.  Handle IPv6-style hostnames; implement
3670         support for IPv6 connections.
3671         * unittests/parse-connection-spec-selftests.c: New file.
3672
3673 2018-07-11  Pedro Alves  <palves@redhat.com>
3674
3675         PR gdb/23377
3676         * remote.c (remote_target::remote_detach_pid): Call
3677         set_current_process.
3678
3679 2018-07-11  Pedro Alves  <palves@redhat.com>
3680
3681         * h8300-tdep.c (h8300_gdbarch_init): Remove
3682         set_gdbarch_ecoff_reg_to_regnum calls.
3683
3684 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
3685
3686         PR c++/23373
3687         * c-typeprint.c (c_type_print_base_struct_union): Don't print
3688         offsets/sizes for static members of a class/struct.
3689
3690 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
3691
3692         * target-descriptions.c (tdesc_register_bitsize): Rename.
3693         * target-descriptions.h (tdesc_register_bitsize): Likewise.
3694         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
3695         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
3696
3697 2018-07-10  Tom Tromey  <tom@tromey.com>
3698
3699         * breakpoint.c (moribund_locations): Now static and a
3700         std::vector.
3701         (breakpoint_init_inferior, moribund_breakpoint_here_p)
3702         (build_bpstat_chain, update_global_location_list)
3703         (breakpoint_retire_moribund): Update.
3704         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
3705         VEC.
3706
3707 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
3708
3709         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
3710         (riscv_register_reggroup_p): Use new function, remove unneeded
3711         parenthesis.
3712         (riscv_push_dummy_call): Extend assert to compare against xlen or
3713         flen based on register type.
3714
3715 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
3716
3717         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
3718
3719 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3720
3721         * remote.c (show_hardware_watchpoint_limit): New function.
3722         (show_hardware_watchpoint_length_limit): New function.
3723         (show_hardware_breakpoint_limit): New function.
3724         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
3725         where appropriate, update help text.
3726
3727 2018-07-09  Tom Tromey  <tom@tromey.com>
3728
3729         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
3730         (CLIBS): Don't mention NAT_CLIBS.
3731
3732 2018-07-09  Tom Tromey  <tom@tromey.com>
3733
3734         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
3735         (LIBGDB_OBS, clean mostlyclean): Update.
3736         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
3737
3738 2018-07-09  Tom Tromey  <tom@tromey.com>
3739
3740         * Makefile.in (%.c: %.y): Use ECHO_YACC.
3741         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
3742         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
3743
3744 2018-07-09  Tom Tromey  <tom@tromey.com>
3745
3746         * Makefile.in (ALLDEPFILES): Remove exec.c.
3747         (COMMON_OBS): Remove exec.o.
3748         (COMMON_SFILES): Add exec.c.
3749
3750 2018-07-09  Tom Tromey  <tom@tromey.com>
3751
3752         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
3753
3754 2018-07-09  Tom Tromey  <tom@tromey.com>
3755
3756         * Makefile.in (clean mostlyclean): Remove stamp-version.
3757         (version.c): Depend on stamp-version.
3758         (stamp-version): New rule, from version.c rule.
3759
3760 2018-07-09  Tom Tromey  <tom@tromey.com>
3761
3762         * Makefile.in (init.c): Depend on stamp-init.
3763         (stamp-init): New rule, from init.c rule.
3764         (clean mostlyclean): Remove stamp-init.
3765
3766 2018-07-09  Tom Tromey  <tom@tromey.com>
3767
3768         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
3769         SUBDIR_GCC_COMPILE_SRCS.
3770
3771 2018-07-09  Tom Tromey  <tom@tromey.com>
3772
3773         * Makefile.in (init.c): Remove some unused sed rules.
3774
3775 2018-07-09  Tom Tromey  <tom@tromey.com>
3776
3777         * Makefile.in (TSOBS): Remove.
3778         (INIT_FILES): Update.
3779         (LIBGDB_OBS): Update.
3780         (COMMON_SFILES): Add inflow.c.
3781         (SFILES): Remove inflow.c.
3782
3783 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
3784
3785         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
3786
3787 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
3788
3789         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
3790         get_saveloc_name, is_signal_frame_name, step_name,
3791         init_remote_name, create_addr_space_name,
3792         destroy_addr_space_name, search_unwind_table_name,
3793         find_dyn_list_name): Constify.
3794
3795 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
3796
3797         * darwin-nat.c (darwin_pthread_kill): New function.
3798         (darwin_resume_thread): Use darwin_pthread_kill.
3799
3800 2018-07-05  Tom de Vries  <tdevries@suse.de>
3801
3802         * macroexp.c (macro_buffer) <operator=>: New member function.
3803
3804 2018-07-04  Tom Tromey  <tom@tromey.com>
3805
3806         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
3807
3808 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
3809
3810         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
3811         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
3812         * maint.c: Likewise.
3813         * top.c: Likewise.
3814
3815 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3816
3817         * NEWS: Create a new section for the next release branch.
3818         Rename the section of the current branch, now that it has
3819         been cut.
3820
3821 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
3822
3823         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
3824         * version.in: Bump version to 8.2.50.DATE-git.
3825
3826 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
3827             Pedro Alves  <palves@redhat.com>
3828
3829         * linux-nat.c (linux_init_ptrace): Rename to ...
3830         (linux_init_ptrace_procfs): ... this.  Call
3831         linux_proc_init_warnings.
3832         (linux_nat_target::post_attach)
3833         (linux_nat_target::post_startup_inferior): Adjust.
3834         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
3835         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
3836
3837 2018-07-04  Tom de Vries  <tdevries@suse.de>
3838
3839         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
3840         check ...
3841         (read_comp_unit_head): ... here.
3842
3843 2018-07-03  Tom Tromey  <tom@tromey.com>
3844
3845         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
3846         (stop_tracing, tstatus_command)
3847         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
3848         (print_one_static_tracepoint_marker): Update.
3849         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
3850         std::vector.
3851         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
3852         VEC.
3853         (all_tracepoints, static_tracepoints_here): Return std::vector.
3854
3855 2018-07-03  Tom Tromey  <tom@tromey.com>
3856
3857         * common/ptid.c (ptid_equal): Remove.
3858         * common/ptid.h (ptid_equal): Don't declare.
3859         * ada-tasks.c: Update.
3860         * breakpoint.c: Update.
3861         * common/agent.c: Update.
3862         * corelow.c: Update.
3863         * darwin-nat-info.c: Update.
3864         * darwin-nat.c: Update.
3865         * dcache.c: Update.
3866         * dtrace-probe.c: Update.
3867         * dummy-frame.c: Update.
3868         * fbsd-nat.c: Update.
3869         * frame.c: Update.
3870         * gdbthread.h: Update.
3871         * gnu-nat.c: Update.
3872         * go32-nat.c: Update.
3873         * inf-loop.c: Update.
3874         * inf-ptrace.c: Update.
3875         * infcall.c: Update.
3876         * infcmd.c: Update.
3877         * inflow.c: Update.
3878         * infrun.c: Update.
3879         * linux-fork.c: Update.
3880         * linux-nat.c: Update.
3881         * linux-thread-db.c: Update.
3882         * mi/mi-cmd-var.c: Update.
3883         * mi/mi-interp.c: Update.
3884         * mi/mi-main.c: Update.
3885         * nto-procfs.c: Update.
3886         * ppc-linux-tdep.c: Update.
3887         * procfs.c: Update.
3888         * python/py-inferior.c: Update.
3889         * python/py-record-btrace.c: Update.
3890         * python/py-record.c: Update.
3891         * ravenscar-thread.c: Update.
3892         * regcache.c: Update.
3893         * remote-sim.c: Update.
3894         * remote.c: Update.
3895         * sol-thread.c: Update.
3896         * solib.c: Update.
3897         * target.c: Update.
3898         * tui/tui-stack.c: Update.
3899         * varobj.c: Update.
3900         * windows-nat.c: Update.
3901         * windows-tdep.c: Update.
3902
3903 2018-07-03  Tom Tromey  <tom@tromey.com>
3904
3905         * common/ptid.c (ptid_match): Remove.
3906         * common/ptid.h (ptid_match): Don't declare.
3907         * fbsd-nat.c: Update.
3908         * infcmd.c: Update.
3909         * infrun.c: Update.
3910         * linux-nat.c: Update.
3911         * record-btrace.c: Update.
3912         * regcache.c: Update.
3913         * remote.c: Update.
3914
3915 2018-07-03  Tom Tromey  <tom@tromey.com>
3916
3917         * common/ptid.c (ptid_tid_p): Remove.
3918         * common/ptid.h (ptid_tid_p): Don't declare.
3919         * sol-thread.c: Update.
3920
3921 2018-07-03  Tom Tromey  <tom@tromey.com>
3922
3923         * common/ptid.c (ptid_lwp_p): Remove.
3924         * common/ptid.h (ptid_lwp_p): Don't declare.
3925         * fbsd-nat.c: Update.
3926         * linux-nat.c: Update.
3927         * nat/linux-procfs.c: Update.
3928         * nat/x86-linux-dregs.c: Update.
3929         * sol-thread.c: Update.
3930
3931 2018-07-03  Tom Tromey  <tom@tromey.com>
3932
3933         * common/ptid.c (ptid_is_pid): Remove.
3934         * common/ptid.h (ptid_is_pid): Don't declare.
3935         * infrun.c: Update.
3936         * linux-nat.c: Update.
3937         * mi/mi-interp.c: Update.
3938         * remote.c: Update.
3939         * thread.c: Update.
3940
3941 2018-07-03  Tom Tromey  <tom@tromey.com>
3942
3943         * common/ptid.c (ptid_get_tid): Remove.
3944         * common/ptid.h (ptid_get_tid): Don't declare.
3945         * ada-tasks.c: Update.
3946         * aix-thread.c: Update.
3947         * bsd-uthread.c: Update.
3948         * darwin-nat.c: Update.
3949         * fbsd-nat.c: Update.
3950         * i386-darwin-nat.c: Update.
3951         * infrun.c: Update.
3952         * linux-tdep.c: Update.
3953         * nto-procfs.c: Update.
3954         * ppc-ravenscar-thread.c: Update.
3955         * python/py-infthread.c: Update.
3956         * ravenscar-thread.c: Update.
3957         * sol-thread.c: Update.
3958         * sparc-ravenscar-thread.c: Update.
3959         * windows-nat.c: Update.
3960
3961 2018-07-03  Tom Tromey  <tom@tromey.com>
3962
3963         * common/ptid.c (ptid_get_lwp): Remove.
3964         * common/ptid.h (ptid_get_lwp): Don't declare.
3965         * aarch64-linux-nat.c: Update.
3966         * ada-tasks.c: Update.
3967         * aix-thread.c: Update.
3968         * amd64-linux-nat.c: Update.
3969         * arm-linux-nat.c: Update.
3970         * corelow.c: Update.
3971         * fbsd-nat.c: Update.
3972         * fbsd-tdep.c: Update.
3973         * gnu-nat.c: Update.
3974         * i386-cygwin-tdep.c: Update.
3975         * i386-gnu-nat.c: Update.
3976         * i386-linux-nat.c: Update.
3977         * ia64-linux-nat.c: Update.
3978         * inf-ptrace.c: Update.
3979         * infrun.c: Update.
3980         * linux-fork.c: Update.
3981         * linux-nat.c: Update.
3982         * linux-tdep.c: Update.
3983         * linux-thread-db.c: Update.
3984         * mips-linux-nat.c: Update.
3985         * nat/aarch64-linux-hw-point.c: Update.
3986         * nat/aarch64-linux.c: Update.
3987         * nat/linux-btrace.c: Update.
3988         * nat/linux-osdata.c: Update.
3989         * nat/linux-procfs.c: Update.
3990         * nat/x86-linux-dregs.c: Update.
3991         * obsd-nat.c: Update.
3992         * ppc-fbsd-nat.c: Update.
3993         * ppc-linux-nat.c: Update.
3994         * procfs.c: Update.
3995         * python/py-infthread.c: Update.
3996         * ravenscar-thread.c: Update.
3997         * remote.c: Update.
3998         * s390-linux-nat.c: Update.
3999         * sol-thread.c: Update.
4000         * sol2-tdep.c: Update.
4001         * spu-linux-nat.c: Update.
4002         * x86-linux-nat.c: Update.
4003         * xtensa-linux-nat.c: Update.
4004
4005 2018-07-03  Tom Tromey  <tom@tromey.com>
4006
4007         * common/ptid.c (ptid_get_pid): Remove.
4008         * common/ptid.h (ptid_get_pid): Don't declare.
4009         * aarch64-linux-nat.c: Update.
4010         * ada-lang.c: Update.
4011         * aix-thread.c: Update.
4012         * alpha-bsd-nat.c: Update.
4013         * amd64-fbsd-nat.c: Update.
4014         * amd64-linux-nat.c: Update.
4015         * arm-linux-nat.c: Update.
4016         * arm-nbsd-nat.c: Update.
4017         * auxv.c: Update.
4018         * break-catch-syscall.c: Update.
4019         * breakpoint.c: Update.
4020         * bsd-uthread.c: Update.
4021         * corelow.c: Update.
4022         * ctf.c: Update.
4023         * darwin-nat.c: Update.
4024         * fbsd-nat.c: Update.
4025         * fbsd-tdep.c: Update.
4026         * gcore.c: Update.
4027         * gnu-nat.c: Update.
4028         * hppa-nbsd-nat.c: Update.
4029         * hppa-obsd-nat.c: Update.
4030         * i386-fbsd-nat.c: Update.
4031         * ia64-linux-nat.c: Update.
4032         * inf-ptrace.c: Update.
4033         * infcmd.c: Update.
4034         * inferior.c: Update.
4035         * inferior.h: Update.
4036         * inflow.c: Update.
4037         * infrun.c: Update.
4038         * linux-fork.c: Update.
4039         * linux-nat.c: Update.
4040         * linux-tdep.c: Update.
4041         * linux-thread-db.c: Update.
4042         * m68k-bsd-nat.c: Update.
4043         * mi/mi-interp.c: Update.
4044         * mi/mi-main.c: Update.
4045         * mips-linux-nat.c: Update.
4046         * mips-nbsd-nat.c: Update.
4047         * mips64-obsd-nat.c: Update.
4048         * nat/aarch64-linux-hw-point.c: Update.
4049         * nat/aarch64-linux.c: Update.
4050         * nat/linux-btrace.c: Update.
4051         * nat/linux-osdata.c: Update.
4052         * nat/linux-procfs.c: Update.
4053         * nat/x86-linux-dregs.c: Update.
4054         * nto-procfs.c: Update.
4055         * obsd-nat.c: Update.
4056         * ppc-linux-nat.c: Update.
4057         * ppc-nbsd-nat.c: Update.
4058         * ppc-obsd-nat.c: Update.
4059         * proc-service.c: Update.
4060         * procfs.c: Update.
4061         * python/py-inferior.c: Update.
4062         * python/py-infthread.c: Update.
4063         * ravenscar-thread.c: Update.
4064         * record.c: Update.
4065         * remote-sim.c: Update.
4066         * remote.c: Update.
4067         * rs6000-nat.c: Update.
4068         * s390-linux-nat.c: Update.
4069         * sh-nbsd-nat.c: Update.
4070         * sol-thread.c: Update.
4071         * sparc-nat.c: Update.
4072         * sparc64-tdep.c: Update.
4073         * spu-linux-nat.c: Update.
4074         * spu-tdep.c: Update.
4075         * target-debug.h: Update.
4076         * target.c: Update.
4077         * thread.c: Update.
4078         * tid-parse.c: Update.
4079         * tracefile-tfile.c: Update.
4080         * vax-bsd-nat.c: Update.
4081         * windows-nat.c: Update.
4082         * x86-linux-nat.c: Update.
4083         * x86-nat.c: Update.
4084
4085 2018-07-03  Tom Tromey  <tom@tromey.com>
4086
4087         * common/ptid.c (pid_to_ptid): Remove.
4088         * common/ptid.h (pid_to_ptid): Don't declare.
4089         * aix-thread.c: Update.
4090         * arm-linux-nat.c: Update.
4091         * common/ptid.c: Update.
4092         * common/ptid.h: Update.
4093         * corelow.c: Update.
4094         * ctf.c: Update.
4095         * darwin-nat.c: Update.
4096         * fbsd-nat.c: Update.
4097         * fork-child.c: Update.
4098         * gnu-nat.c: Update.
4099         * go32-nat.c: Update.
4100         * inf-ptrace.c: Update.
4101         * infcmd.c: Update.
4102         * inferior.c: Update.
4103         * infrun.c: Update.
4104         * linux-fork.c: Update.
4105         * linux-nat.c: Update.
4106         * nat/aarch64-linux-hw-point.c: Update.
4107         * nat/fork-inferior.c: Update.
4108         * nat/x86-linux-dregs.c: Update.
4109         * nto-procfs.c: Update.
4110         * obsd-nat.c: Update.
4111         * procfs.c: Update.
4112         * progspace.c: Update.
4113         * remote.c: Update.
4114         * rs6000-nat.c: Update.
4115         * s390-linux-nat.c: Update.
4116         * sol-thread.c: Update.
4117         * spu-linux-nat.c: Update.
4118         * target.c: Update.
4119         * top.c: Update.
4120         * tracefile-tfile.c: Update.
4121         * windows-nat.c: Update.
4122
4123 2018-07-03  Tom Tromey  <tom@tromey.com>
4124
4125         * common/ptid.h (ptid_build): Don't declare.
4126         * common/ptid.c (ptid_build): Remove.
4127         * aix-thread.c: Update.
4128         * bsd-kvm.c: Update.
4129         * bsd-uthread.c: Update.
4130         * common/agent.c: Update.
4131         * common/ptid.c: Update.
4132         * common/ptid.h: Update.
4133         * corelow.c: Update.
4134         * darwin-nat.c: Update.
4135         * fbsd-nat.c: Update.
4136         * gnu-nat.c: Update.
4137         * linux-fork.c: Update.
4138         * linux-nat.c: Update.
4139         * linux-thread-db.c: Update.
4140         * nat/linux-osdata.c: Update.
4141         * nat/linux-procfs.c: Update.
4142         * nto-procfs.c: Update.
4143         * obsd-nat.c: Update.
4144         * proc-service.c: Update.
4145         * procfs.c: Update.
4146         * ravenscar-thread.c: Update.
4147         * remote-sim.c: Update.
4148         * remote.c: Update.
4149         * sol-thread.c: Update.
4150         * target.c: Update.
4151         * windows-nat.c: Update.
4152
4153 2018-07-03  Tom Tromey  <tom@tromey.com>
4154
4155         * infrun.c (follow_exec): Use exit_inferior_silent.
4156         * inferior.c (exit_inferior_num_silent): Remove.
4157         * inferior.h (exit_inferior_num_silent): Don't declare.
4158
4159 2018-07-03  Tom Tromey  <tom@tromey.com>
4160
4161         PR cli/23340:
4162         * darwin-nat.c (darwin_attach_pid): Reset inferior and
4163         inferior_ptid on error.
4164
4165 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
4166             Simon Marchi  <simon.marchi@polymtl.ca>
4167
4168         PR tdep/8282
4169         * disasm.h (gdb_disassembler): Add
4170         `m_disassembler_options_holder'. member
4171         * disasm.c (get_all_disassembler_options): New function.
4172         (gdb_disassembler::gdb_disassembler): Use it.
4173         (gdb_buffered_insn_length_init_dis): Likewise.
4174         (gdb_buffered_insn_length): Adjust accordingly.
4175         (set_disassembler_options): Handle options with arguments.
4176         (show_disassembler_options_sfunc): Likewise.  Add a leading new
4177         line if showing options with descriptions.
4178         (disassembler_options_completer): Adapt to using the
4179         `disasm_options_and_args_t' structure.
4180         * mips-tdep.c (mips_disassembler_options): New variable.
4181         (mips_disassembler_options_o32): Likewise.
4182         (mips_disassembler_options_n32): Likewise.
4183         (mips_disassembler_options_n64): Likewise.
4184         (gdb_print_insn_mips): Don't set `disassembler_options'.
4185         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
4186         functions.
4187         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
4188         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
4189         `gdbarch_disassembler_options_implicit' and
4190         `gdbarch_valid_disassembler_options'.
4191         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
4192         `disasm_options_and_args_t' structure.
4193         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
4194         method.
4195         (valid_disassembler_options): Switch from `disasm_options_t' to
4196         the `disasm_options_and_args_t' structure.
4197         * NEWS: Document `set disassembler-options' support for the MIPS
4198         target.
4199         * gdbarch.h: Regenerate.
4200         * gdbarch.c: Regenerate.
4201
4202 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
4203
4204         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
4205
4206 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
4207
4208         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
4209         parameter in call to amd64_target_description.
4210         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
4211         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
4212         (amd64fbsd_init_abi): Likewise.
4213         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
4214         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
4215         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
4216         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
4217
4218 2018-06-29  Pedro Alves  <palves@redhat.com>
4219
4220         * gdb/amd64-tdep.h (amd64_create_target_description): Add
4221         "segments" parameter.
4222         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
4223         (_initialize_amd64_tdep): Update call to
4224         amd64_create_target_description.
4225         (amd64_target_description): Add "segments" parameter.  Adjust
4226         the implementation to use it.
4227         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
4228         call to amd64_create_target_description.
4229         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
4230         * gdb/arch/amd64.h (amd64_create_target_description): Add
4231         "segments" register.
4232         * gdb/arch/amd64.c (amd64_create_target_description): Add
4233         "segments" parameter.  Call create_feature_i386_64bit_segments
4234         only if SEGMENTS is true.
4235         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
4236         call to amd64_create_target_description.
4237
4238 2018-06-29  Pedro Alves  <palves@redhat.com>
4239
4240         * thread.c (thread_target_id_str): New, factored out from ...
4241         (print_thread_info_1): ... here.  Use it to compute the max
4242         "Target Id" column width.
4243
4244 2018-06-29  Pedro Alves  <palves@redhat.com>
4245
4246         * remote.c (remote_target::extra_thread_info): Delete
4247         'display_buf' and 'n' locals.  from the cache, regardless of
4248         packet mechanims is in use.  Use cache for qThreadExtra and qP
4249         methods too.
4250
4251 2018-06-29  Pedro Alves  <palves@redhat.com>
4252
4253         * blockframe.c (find_pc_sect_containing_function): New function.
4254         * breakpoint.c (print_breakpoint_location): Don't call
4255         find_pc_sect_function.
4256         * linespec.c (create_sals_line_offset): Record the location's
4257         symbol in the sal.
4258         * linespec.c (convert_address_location_to_sals): Fill in sal's
4259         symbol with find_pc_sect_containing_function.
4260         * symtab.c (find_function_start_sal): Rename to ...
4261         (find_function_start_sal_1): ... this.
4262         (find_function_start_sal): Reimplement as wrapper around
4263         find_function_start_sal_1, and use
4264         find_pc_sect_containing_function to fill in the sal's symbol.
4265         (find_function_start_sal(symbol*, bool)): Adjust.
4266         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
4267         comments.
4268         (find_pc_sect_containing_function): Declare.
4269
4270 2018-06-29  Pedro Alves  <palves@redhat.com>
4271
4272         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
4273         true if the the location has no symbol.
4274
4275 2018-06-28  Tom Tromey  <tom@tromey.com>
4276
4277         * NEWS: Mention --enable-codesign.
4278         * silent-rules.mk (ECHO_SIGN): New variable.
4279         * configure.ac: Add --enable-codesign.
4280         * configure: Rebuild.
4281         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
4282         (gdb$(EXEEXT)): Optionally invoke codesign.
4283
4284 2018-06-28  Pedro Alves  <palves@redhat.com>
4285
4286         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
4287         comments.
4288         (switch_to_thread_no_regs): Adjust comment.
4289         * infcmd.c (stop_pc): Delete.
4290         (post_create_inferior, info_program_command): Replace references
4291         to stop_pc with references to thread_info->suspend.stop_pc.
4292         * inferior.h (stop_pc): Delete declaration.
4293         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
4294         (handle_inferior_event_1, handle_signal_stop)
4295         (process_event_stop_test, keep_going_stepped_thread)
4296         (handle_step_into_function, handle_step_into_function_backward)
4297         (print_stop_location): Replace references to stop_pc with
4298         references to thread_info->suspend.stop_pc.
4299         (struct infcall_suspend_state) <stop_pc>: Delete field.
4300         (save_infcall_suspend_state, restore_infcall_suspend_state):
4301         Remove references to inf_stat->stop_pc.
4302         * linux-fork.c (fork_load_infrun_state): Likewise.
4303         * record-btrace.c (record_btrace_set_replay): Likewise.
4304         * record-full.c (record_full_goto_entry): Likewise.
4305         * remote.c (print_one_stopped_thread): Likewise.
4306         * target.c (target_resume): Extend comment.
4307         * thread.c (set_executing_thread): New.
4308         (set_executing): Use it.
4309         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
4310         Remove references to stop_pc.
4311
4312 2018-06-28  Pedro Alves  <palves@redhat.com>
4313
4314         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
4315         Moving fetching stop_pc until after ecs->event_thread is refreshed.
4316
4317 2018-06-28  Tom Tromey  <tom@tromey.com>
4318
4319         * coffread.c (coff_symfile_finish): Update.
4320         * xcoffread.c (xcoff_symfile_finish): Update.
4321         * elfread.c (elf_symfile_finish): Update.
4322         * symfile.h (dwarf2_free_objfile): Don't declare.
4323         * dwarf2read.c (_initialize_dwarf2_read): Use
4324         register_objfile_data_with_cleanup.
4325         (dwarf2_free_objfile): Now static.  Change signature.
4326
4327 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4328
4329         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
4330         option "-o" to add-symbol-file-load to add an offset to each
4331         section's load address.
4332         * symfile.c (set_objfile_default_section_offset): New function.
4333
4334 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4335
4336         * symfile.c (add_symbol_file_command): Make sure that sections
4337         with the same name are sorted in the same order.
4338
4339 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4340
4341         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
4342         require the second argument.  If omitted, load sections at the
4343         addresses specified in the file.
4344
4345 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4346
4347         * symfile.c (symbol_file_command, symbol_file_add_main_1)
4348         (_initialize_symfile): Add option "-o" to symbol-file to add an
4349         offset to each section of the symbol file.
4350
4351 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
4352
4353         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
4354
4355 2018-06-27  Tom Tromey  <tom@tromey.com>
4356
4357         * stack.c (_initialize_stack): Update "func" help text.
4358
4359 2018-06-27  Tom Tromey  <tom@tromey.com>
4360
4361         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
4362         std::vector.
4363         (unwind_infopy_str, pyuw_create_unwind_info)
4364         (unwind_infopy_add_saved_register, pyuw_sniffer)
4365         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
4366         Update.
4367         (struct saved_reg): Add constructor.
4368         <value>: Now a gdbpy_ref<>.
4369
4370 2018-06-27  Tom Tromey  <tom@tromey.com>
4371
4372         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
4373
4374 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4375
4376         * gdb-gdb.py.in: Format using autopep8.
4377
4378 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4379
4380         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
4381         (type_lookup_function): Recognize CORE_ADDR values.
4382
4383 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4384
4385         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
4386         print tag_name.
4387
4388 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4389
4390         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
4391         <__lt__>: Add.
4392
4393 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4394
4395         * gdb-gdb.py: Move to...
4396         * gdb-gdb.py.in: ... here.
4397         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
4398         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
4399         dependencies.
4400         (distclean): Remove gdb-gdb.py when cleaning.
4401         (gdb-gdb.py, gdb-gdb.gdb): New rules.
4402         * configure: Re-generate.
4403
4404 2018-06-27  Pedro Alves  <palves@redhat.com>
4405
4406         * proc-service.c (get_ps_regcache): New.
4407         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
4408         (ps_lsetfpregs): Use it.
4409
4410 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
4411
4412         PR gdb/21695
4413         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
4414         (dwarf_decode_lines_1): Adjust.
4415
4416 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
4417
4418         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
4419         override.
4420         <info_proc>: Likewise.
4421
4422 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
4423
4424         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
4425         to windows_fetch_one_register, and only handle the case of
4426         fetching one register.  Move the code that reloads the context
4427         and iterates over all registers if R is negative to...
4428         (windows_nat_target::fetch_registers): ... here.
4429         (do_windows_store_inferior_registers): Rename to
4430         windows_store_one_register, and only handle the case of storing
4431         one register.  Move the code that handles the case where r is
4432         negative to...
4433         (windows_nat_target::store_registers) ... here.
4434
4435 2018-06-26  Tom Tromey  <tom@tromey.com>
4436
4437         PR rust/22574:
4438         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
4439         * rust-lang.c (rust_print_struct_def): Add podata parameter.
4440         Update.
4441         (rust_internal_print_type): Add podata parameter.
4442         (rust_print_type): Update.
4443
4444 2018-06-26  Tom Tromey  <tom@tromey.com>
4445
4446         * typeprint.h (struct print_offset_data) <update, finish,
4447         maybe_print_hole>: New methods.
4448         <indentation>: New constant.
4449         * typeprint.c (print_offset_data::indentation): Define.
4450         (print_offset_data::maybe_print_hole, print_offset_data::update)
4451         (print_offset_data::finish): Move from c-typeprint.c and rename.
4452         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
4453         (print_spaces_filtered_with_print_options): Update.
4454         (c_print_type_union_field_offset, maybe_print_hole)
4455         (c_print_type_struct_field_offset): Move to typeprint.c and
4456         rename.
4457         (c_type_print_base_struct_union): Update.
4458
4459 2018-06-25  Pedro Alves  <palves@redhat.com>
4460
4461         * gdbthread.h (thread_info_ref, delete_thread)
4462         (delete_thread_silent, first_thread_of_inferior)
4463         (any_thread_of_inferior, switch_to_thread)
4464         (enable_thread_stack_temporaries)
4465         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4466         (get_last_thread_stack_temporary)
4467         (value_in_thread_stack_temporaries, can_access_registers_thread):
4468         Spell out "struct thread_info" instead of just "thread_info".
4469         * inferior.h (notice_new_inferior): Likewise.
4470
4471 2018-06-25  Pedro Alves  <palves@redhat.com>
4472
4473         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4474         pass thread_info pointer to delete_thread.
4475         (windows_nat_target::detach): Pass inferior pointer to
4476         detach_inferior.
4477         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
4478         delete_thread.
4479         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
4480         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
4481         and pass a thread_info pointer to delete_thread.
4482         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
4483         pass thread_info pointer to delete_thread.
4484         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
4485         delete_thread_silent call.
4486         * procfs.c (procfs_target::detach): Pass inferior pointer to
4487         detach_inferior.
4488         (procfs_target::wait): Pass thread_info pointer to delete_thread.
4489         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
4490         delete_thread_silent call.
4491         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
4492         pass thread_info pointer to delete_thread.
4493         (windows_nat_target::detach): Pass inferior pointer to
4494         delete_inferior.
4495
4496 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4497
4498         * regcache.c (readable_regcache::read_part): Fix asserts.
4499         (reg_buffer::raw_collect_part): New function.
4500         (regcache::write_part): Fix asserts.
4501         (reg_buffer::raw_supply_part): New function.
4502         (regcache::transfer_regset_register): New helper function.
4503         (regcache::transfer_regset): Call new functions.
4504         (regcache_supply_regset): Use gdb_byte*.
4505         (regcache::supply_regset): Likewise.
4506         (regcache_collect_regset): Likewise.
4507         (regcache::collect_regset): Likewise.
4508         * regcache.h (reg_buffer::raw_collect_part): New declaration.
4509         (reg_buffer::raw_supply_part): Likewise.
4510         (regcache::transfer_regset_register): Likewise.
4511         (regcache::transfer_regset): Use gdb_byte*.
4512
4513 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
4514
4515         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
4516
4517 2018-06-21  Pedro Alves  <palves@redhat.com>
4518
4519         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
4520         instead of a ptid_t.  All callers adjusted.
4521         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
4522         adjusted.
4523         (print_ada_task_info, display_current_task_id, task_command_1):
4524         Adjust.
4525         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
4526         inferior_thread.
4527         (breakpoint_kind): Adjust.
4528         (remove_breakpoints_pid): Rename to ...
4529         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
4530         pointer.  All callers adjusted.
4531         (bpstat_clear_actions): Use inferior_thread.
4532         (get_bpstat_thread): New.
4533         (bpstat_do_actions): Use it.
4534         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
4535         to take a thread_info pointer.  All callers adjusted.
4536         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
4537         (breakpoint_re_set_thread): Use inferior_thread.
4538         * breakpoint.h (struct inferior): Forward declare.
4539         (bpstat_stop_status): Update.
4540         (remove_breakpoints_pid): Delete.
4541         (remove_breakpoints_inf): New.
4542         * bsd-uthread.c (bsd_uthread_target::wait)
4543         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
4544         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
4545         (maint_btrace_packet_history_cmd)
4546         (maint_btrace_clear_packet_history_cmd): Adjust.
4547         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
4548         inferior_thread.
4549         * cli/cli-interp.c: Include "inferior.h".
4550         * common/refcounted-object.h (struct
4551         refcounted_object_ref_policy): New.
4552         * compile/compile-object-load.c: Include gdbthread.h.
4553         (store_regs): Use inferior_thread.
4554         * corelow.c (core_target::close): Use current_inferior.
4555         (core_target_open): Adjust to use first_thread_of_inferior and use
4556         the current inferior.
4557         * ctf.c (ctf_target::close): Adjust to use current_inferior.
4558         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
4559         <thread>: ... this new field.  All references adjusted.
4560         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
4561         Take a thread_info pointer instead of a ptid_t.
4562         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
4563         (dummy_frame_discard, register_dummy_frame_dtor): Take a
4564         thread_info pointer instead of a ptid_t.
4565         * elfread.c: Include "inferior.h".
4566         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
4567         Use inferior_thread.
4568         * eval.c (evaluate_subexp): Likewise.
4569         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
4570         inferior_thread.
4571         * gdb_proc_service.h (struct thread_info): Forward declare.
4572         (struct ps_prochandle) <ptid>: Delete, replaced by ...
4573         <thread>: ... this new field.  All references adjusted.
4574         * gdbarch.h, gdbarch.c: Regenerate.
4575         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
4576         'thread' parameter.  All implementations and callers adjusted.
4577         * gdbthread.h (thread_info) <set_running>: New method.
4578         (delete_thread, delete_thread_silent): Take a thread_info pointer
4579         instead of a ptid.
4580         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
4581         (first_thread_of_process): Delete, replaced by ...
4582         (first_thread_of_inferior): ... this new function.  All callers
4583         adjusted.
4584         (any_live_thread_of_process): Delete, replaced by ...
4585         (any_live_thread_of_inferior): ... this new function.  All callers
4586         adjusted.
4587         (switch_to_thread, switch_to_no_thread): Declare.
4588         (is_executing): Delete.
4589         (enable_thread_stack_temporaries): Update comment.
4590         <enable_thread_stack_temporaries>: Take a thread_info pointer
4591         instead of a ptid_t.  Incref the thread.
4592         <~enable_thread_stack_temporaries>: Decref the thread.
4593         <m_ptid>: Delete
4594         <m_thr>: New.
4595         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4596         (get_last_thread_stack_temporary)
4597         (value_in_thread_stack_temporaries, can_access_registers_thread):
4598         Take a thread_info pointer instead of a ptid_t.  All callers
4599         adjusted.
4600         * infcall.c (get_call_return_value): Use inferior_thread.
4601         (run_inferior_call): Work with thread pointers instead of ptid_t.
4602         (call_function_by_hand_dummy): Work with thread pointers instead
4603         of ptid_t.  Use thread_info_ref.
4604         * infcmd.c (proceed_thread_callback): Access thread's state
4605         directly.
4606         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
4607         access thread's state directly.
4608         (continue_command): Use inferior_thread.
4609         (info_program_command): Use find_thread_ptid and access thread
4610         state directly.
4611         (proceed_after_attach_callback): Use thread state directly.
4612         (notice_new_inferior): Take a thread_info pointer instead of a
4613         ptid_t.  All callers adjusted.
4614         (exit_inferior): Take an inferior pointer instead of a pid.  All
4615         callers adjusted.
4616         (exit_inferior_silent): New.
4617         (detach_inferior): Delete.
4618         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
4619         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
4620         (detach_inferior_command, kill_inferior_command): Use
4621         find_inferior_id instead of valid_gdb_inferior_id and
4622         gdb_inferior_id_to_pid.
4623         (inferior_command): Use inferior and thread pointers.
4624         * inferior.h (struct thread_info): Forward declare.
4625         (notice_new_inferior): Take a thread_info pointer instead of a
4626         ptid_t.  All callers adjusted.
4627         (detach_inferior): Delete declaration.
4628         (exit_inferior, exit_inferior_silent): Take an inferior pointer
4629         instead of a pid.  All callers adjusted.
4630         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
4631         (valid_gdb_inferior_id): Delete.
4632         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
4633         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
4634         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
4635         ...
4636         <inf>: ... this new field.
4637         <step_ptid>: Delete, replaced by ...
4638         <step_thread>: ... this new field.
4639         (get_displaced_stepping_state): Take an inferior pointer instead
4640         of a pid.  All callers adjusted.
4641         (displaced_step_in_progress_any_inferior): Adjust.
4642         (displaced_step_in_progress_thread): Take a thread pointer instead
4643         of a ptid_t.  All callers adjusted.
4644         (displaced_step_in_progress, add_displaced_stepping_state): Take
4645         an inferior pointer instead of a pid.  All callers adjusted.
4646         (get_displaced_step_closure_by_addr): Adjust.
4647         (remove_displaced_stepping_state): Take an inferior pointer
4648         instead of a pid.  All callers adjusted.
4649         (displaced_step_prepare_throw, displaced_step_prepare)
4650         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
4651         All callers adjusted.
4652         (start_step_over): Adjust.
4653         (infrun_thread_ptid_changed): Remove bit updating ptids in the
4654         displaced step queue.
4655         (do_target_resume): Adjust.
4656         (fetch_inferior_event): Use inferior_thread.
4657         (context_switch, get_inferior_stop_soon): Take an
4658         execution_control_state pointer instead of a ptid_t.  All callers
4659         adjusted.
4660         (switch_to_thread_cleanup): Delete.
4661         (stop_all_threads): Use scoped_restore_current_thread.
4662         * inline-frame.c: Include "gdbthread.h".
4663         (inline_state) <inline_state>: Take a thread pointer instead of a
4664         ptid_t.  All callers adjusted.
4665         <ptid>: Delete, replaced by ...
4666         <thread>: ... this new field.
4667         (find_inline_frame_state): Take a thread pointer instead of a
4668         ptid_t.  All callers adjusted.
4669         (skip_inline_frames, step_into_inline_frame)
4670         (inline_skipped_frames, inline_skipped_symbol): Take a thread
4671         pointer instead of a ptid_t.  All callers adjusted.
4672         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
4673         (inline_skipped_frames, inline_skipped_symbol): Likewise.
4674         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
4675         pointers directly.
4676         * linux-nat.c (get_detach_signal): Likewise.
4677         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
4678         (thread_db_notice_clone): Adjust.
4679         (thread_db_find_new_threads_silently)
4680         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
4681         a thread pointer instead of a ptid_t.  All callers adjusted.
4682         * mi/mi-cmd-var.c: Include "inferior.h".
4683         (mi_cmd_var_update_iter): Update to use thread pointers.
4684         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
4685         inferior directly.
4686         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
4687         out to ...
4688         (mi_output_running): ... this new function.
4689         (mi_on_resume_1): Adjust to use it.
4690         (mi_user_selected_context_changed): Adjust to use inferior_thread.
4691         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
4692         directly.
4693         (interrupt_thread_callback): : Adjust to use thread and inferior
4694         pointers.
4695         * proc-service.c: Include "gdbthread.h".
4696         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
4697         * progspace-and-thread.c: Include "inferior.h".
4698         * progspace.c: Include "inferior.h".
4699         * python/py-exitedevent.c (create_exited_event_object): Adjust to
4700         hold a reference to an inferior_object.
4701         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
4702         inferior_thread.
4703         * python/py-inferior.c (struct inferior_object): Give the type a
4704         tag name instead of a typedef.
4705         (python_on_normal_stop): No need to check if the current thread is
4706         listed.
4707         (inferior_to_inferior_object): Change return type to
4708         inferior_object.  All callers adjusted.
4709         (find_thread_object): Delete, bits factored out to ...
4710         (thread_to_thread_object): ... this new function.
4711         * python/py-infthread.c (create_thread_object): Use
4712         inferior_to_inferior_object.
4713         (thpy_is_stopped): Use thread pointer directly.
4714         (gdbpy_selected_thread): Use inferior_thread.
4715         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
4716         field, replaced with ...
4717         <thread>: ... this new field.  All users adjusted.
4718         (btpy_insn_or_gap_new): Drop const.
4719         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
4720         callers adjusted.
4721         * python/py-record.c: Include "gdbthread.h".
4722         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
4723         a ptid_t.  All callers adjusted.
4724         (gdbpy_current_recording): Use inferior_thread.
4725         * python/py-record.h (recpy_record_object) <ptid>: Delete
4726         field, replaced with ...
4727         <thread>: ... this new field.  All users adjusted.
4728         (recpy_element_object) <ptid>: Delete
4729         field, replaced with ...
4730         <thread>: ... this new field.  All users adjusted.
4731         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
4732         a ptid_t.  All callers adjusted.
4733         * python/py-threadevent.c: Include "gdbthread.h".
4734         (get_event_thread): Use thread_to_thread_object.
4735         * python/python-internal.h (struct inferior_object): Forward
4736         declare.
4737         (find_thread_object, find_inferior_object): Delete declarations.
4738         (thread_to_thread_object, inferior_to_inferior_object): New
4739         declarations.
4740         * record-btrace.c: Include "inferior.h".
4741         (require_btrace_thread): Use inferior_thread.
4742         (record_btrace_frame_sniffer)
4743         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
4744         (get_thread_current_frame): Use scoped_restore_current_thread and
4745         switch_to_thread.
4746         (get_thread_current_frame): Use thread pointer directly.
4747         (record_btrace_replay_at_breakpoint): Use thread's inferior
4748         pointer directly.
4749         * record-full.c: Include "inferior.h".
4750         * regcache.c: Include "gdbthread.h".
4751         (get_thread_arch_regcache): Use the inferior's address space
4752         directly.
4753         (get_thread_regcache, registers_changed_thread): New.
4754         * regcache.h (get_thread_regcache(thread_info *thread)): New
4755         overload.
4756         (registers_changed_thread): New.
4757         (remote_target) <remote_detach_1>: Swap order of parameters.
4758         (remote_add_thread): <remote_add_thread>: Return the new thread.
4759         (get_remote_thread_info(ptid_t)): New overload.
4760         (remote_target::remote_notice_new_inferior): Use thread pointers
4761         directly.
4762         (remote_target::process_initial_stop_replies): Use
4763         thread_info::set_running.
4764         (remote_target::remote_detach_1, remote_target::detach)
4765         (extended_remote_target::detach): Adjust.
4766         * stack.c (frame_show_address): Use inferior_thread.
4767         * target-debug.h (target_debug_print_thread_info_pp): New.
4768         * target-delegates.c: Regenerate.
4769         * target.c (default_thread_address_space): Delete.
4770         (memory_xfer_partial_1): Use current_inferior.
4771         (target_detach): Use current_inferior.
4772         (target_thread_address_space): Delete.
4773         (generic_mourn_inferior): Use current_inferior.
4774         * target.h (struct target_ops) <thread_address_space>: Delete.
4775         (target_thread_address_space): Delete.
4776         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
4777         pointers directly.
4778         (delete_thread_1, delete_thread, delete_thread_silent): Take a
4779         thread pointer instead of a ptid_t.  Adjust all callers.
4780         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
4781         (first_thread_of_process): Delete, replaced by ...
4782         (first_thread_of_inferior): ... this new function.  All callers
4783         adjusted.
4784         (any_thread_of_process): Rename to ...
4785         (any_thread_of_inferior): ... this, and take an inferior pointer.
4786         (any_live_thread_of_process): Rename to ...
4787         (any_live_thread_of_inferior): ... this, and take an inferior
4788         pointer.
4789         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
4790         (value_in_thread_stack_temporaries)
4791         (get_last_thread_stack_temporary): Take a thread pointer instead
4792         of a ptid_t.  Adjust all callers.
4793         (thread_info::set_running): New.
4794         (validate_registers_access): Use inferior_thread.
4795         (can_access_registers_ptid): Rename to ...
4796         (can_access_registers_thread): ... this, and take a thread
4797         pointer.
4798         (print_thread_info_1): Adjust to compare thread pointers instead
4799         of ptids.
4800         (switch_to_no_thread, switch_to_thread): Make extern.
4801         (scoped_restore_current_thread::~scoped_restore_current_thread):
4802         Use m_thread pointer directly.
4803         (scoped_restore_current_thread::scoped_restore_current_thread):
4804         Use inferior_thread.
4805         (thread_command): Use thread pointer directly.
4806         (thread_num_make_value_helper): Use inferior_thread.
4807         * top.c (execute_command): Use inferior_thread.
4808         * tui/tui-interp.c: Include "inferior.h".
4809         * varobj.c (varobj_create): Use inferior_thread.
4810         (value_of_root_1): Use find_thread_global_id instead of
4811         global_thread_id_to_ptid.
4812
4813 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
4814
4815         * regcache.c (readable_regcache::read_part): Avoid memcpy when
4816         possible.
4817         (regcache::write_part): Likewise.
4818         (readable_regcache::cooked_read_part): Update comment.
4819         (readable_regcache::cooked_write_part): Likewise.
4820         * regcache.h: (readable_regcache::read_part): Likewise.
4821         (regcache::write_part): Likewise.
4822
4823 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
4824             Dirk Schubert  <dirk.schubert@arm.com>
4825
4826         * aarch64-linux-nat.c (post_attach): New.
4827         (aarch64_linux_nat_target::post_attach): Override post_attach to
4828         record the number of hardware debug registers.
4829
4830 2018-06-20  Tom Tromey  <tom@tromey.com>
4831
4832         * python/py-param.c (add_setshow_generic): Make parameters const.
4833         (parmpy_init): Update.
4834
4835 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4836
4837         * regcache.h (regcache_cooked_read_ftype): Rename to...
4838         (register_read_ftype): ...this, change type to function_view.
4839         (class reg_buffer) <save>: Remove src parameter.
4840         (readonly_detached_regcache) <readonly_detached_regcache>: Make
4841         parameter non-const in first overload.  Remove src parameter in
4842         second overload.
4843         * regcache.c (do_cooked_read): Remove.
4844         (readonly_detached_regcache::readonly_detached_regcache): Make
4845         parameter non-const, adjust call to other constructor.
4846         (reg_buffer::save): Remove src parameter.
4847         * frame.c (do_frame_register_read): Remove.
4848         (frame_save_as_regcache): Use lambda function.
4849         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
4850         parameter to ppu2spu_data *.
4851         (ppu2spu_sniffer): Use lambda function.
4852
4853 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
4854
4855         * record-full.c (record_full_target::insert_breakpoint): Remove
4856         "struct" keyword, add const.
4857
4858 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
4859
4860         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
4861         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
4862         * configure.ac: Remove AC_PREREQ, add missing quoting.
4863         * gnulib/configure.ac: Modernize usage of
4864         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
4865         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
4866         (AUTOMAKE_VERSION): Bump to 1.15.1.
4867         * configure: Re-generate.
4868         * config.in: Re-generate.
4869         * aclocal.m4: Re-generate.
4870         * gnulib/aclocal.m4: Re-generate.
4871         * gnulib/config.in: Re-generate.
4872         * gnulib/configure: Re-generate.
4873         * gnulib/import/Makefile.in: Re-generate.
4874
4875 2018-06-19  Pedro Alves  <palves@redhat.com>
4876
4877         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
4878         (lookup_minimal_symbol_by_pc_section): ... here with
4879         gdb_assert_not_reached added.
4880
4881 2018-06-19  Pedro Alves  <palves@redhat.com>
4882
4883         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
4884         parameter with a block parameter.  Compare location's block symbol
4885         with the frame's block instead of addresses.
4886         (skip_inline_frames): Pass the current block instead of the
4887         frame's address.  Break out as soon as we determine the frame
4888         should not be skipped.
4889
4890 2018-06-18  Tom Tromey  <tom@tromey.com>
4891
4892         * solib-aix.c (solib_aix_get_section_offsets): Return
4893         unique_xmalloc_ptr.
4894         (solib_aix_solib_create_inferior_hook): Update.
4895
4896 2018-06-18  Tom Tromey  <tom@tromey.com>
4897
4898         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
4899
4900 2018-06-18  Tom Tromey  <tom@tromey.com>
4901
4902         * solib-frv.c (frv_relocate_main_executable): Use
4903         unique_xmalloc_ptr.
4904         * solib-dsbt.c (dsbt_relocate_main_executable): Use
4905         unique_xmalloc_ptr.
4906
4907 2018-06-18  Tom Tromey  <tom@tromey.com>
4908
4909         * objfiles.h (inhibit_section_map_updates): Update.
4910         (resume_section_map_updates, resume_section_map_updates_cleanup):
4911         Remove.
4912         * solib-svr4.c (svr4_handle_solib_event): Update.
4913         * objfiles.c (inhibit_section_map_updates): Return
4914         scoped_restore_tmpl<int>.
4915         (resume_section_map_updates, resume_section_map_updates_cleanup):
4916         Remove.
4917
4918 2018-06-18  Tom Tromey  <tom@tromey.com>
4919
4920         * valprint.h (read_string): Update.
4921         * valprint.c (read_string): Change type of "buffer".
4922         (val_print_string): Update.
4923         * python/py-value.c (valpy_string): Update.
4924         * language.h (struct language_defn) <la_get_string>: Change
4925         type of "buffer".
4926         (default_get_string, c_get_string): Update.
4927         * language.c (default_get_string): Change type of "buffer".
4928         * guile/scm-value.c (gdbscm_value_to_string): Update.
4929         * c-lang.c (c_get_string): Change type of "buffer".
4930
4931 2018-06-18  Tom Tromey  <tom@tromey.com>
4932
4933         * ser-mingw.c (struct pipe_state_destroyer): New.
4934         (pipe_state_up): New typedef.
4935         (cleanup_pipe_state): Remove.
4936         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
4937
4938 2018-06-18  Tom Tromey  <tom@tromey.com>
4939
4940         * rust-lang.h (rust_yyerror): Don't declare.
4941         * rust-lang.c (rust_language_defn): Update.
4942         * rust-exp.y (yyerror): Now static.
4943         * parse.c (parse_exp_in_context_1): Update.
4944         * p-lang.h (p_yyerror): Don't declare.
4945         * p-lang.c (p_language_defn): Update.
4946         * p-exp.y (yyerror): Now static.
4947         * opencl-lang.c (opencl_language_defn): Update.
4948         * objc-lang.c (objc_language_defn): Update.
4949         * m2-lang.h (m2_yyerror): Don't declare.
4950         * m2-lang.c (m2_language_defn): Update.
4951         * m2-exp.y (yyerror): Now static.
4952         * language.h (struct language_defn) <la_error>: Remove.
4953         * language.c (unk_lang_error): Remove.
4954         (unknown_language_defn, auto_language_defn): Remove.
4955         * go-lang.h (go_yyerror): Don't declare.
4956         * go-lang.c (go_language_defn): Update.
4957         * go-exp.y (yyerror): Now static.
4958         * f-lang.h (f_yyerror): Don't declare.
4959         * f-lang.c (f_language_defn): Update.
4960         * f-exp.y (yyerror): Now static.
4961         * d-lang.h (d_yyerror): Don't declare.
4962         * d-lang.c (d_language_defn): Update.
4963         * d-exp.y (yyerror): Now static.
4964         * c-lang.h (c_yyerror): Don't declare.
4965         * c-lang.c (c_language_defn, cplus_language_defn)
4966         (asm_language_defn, minimal_language_defn): Update.
4967         * c-exp.y (yyerror): Now static.
4968         * ada-lang.h (ada_yyerror): Don't declare.
4969         * ada-lang.c (ada_language_defn): Update.
4970         * ada-exp.y (yyerror): Now static.
4971
4972 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
4973
4974         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
4975         (store_sveregs_to_thread): Likewise.
4976         (aarch64_linux_fetch_inferior_registers): Check for SVE.
4977         (aarch64_linux_store_inferior_registers): Likewise.
4978         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
4979         function.
4980         (aarch64_sve_regs_copy_to_regcache): Likewise.
4981         (aarch64_sve_regs_copy_from_regcache): Likewise.
4982         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
4983         declaration.
4984         (aarch64_sve_regs_copy_to_regcache): Likewise.
4985         (aarch64_sve_regs_copy_from_regcache): Likewise.
4986         (sve_context): Structure from Linux headers.
4987         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
4988         (SVE_SIG_ZREG_SIZE): Likewise.
4989         (SVE_SIG_PREG_SIZE): Likewise.
4990         (SVE_SIG_FFR_SIZE): Likewise.
4991         (SVE_SIG_REGS_OFFSET): Likewise.
4992         (SVE_SIG_ZREGS_OFFSET): Likewise.
4993         (SVE_SIG_ZREG_OFFSET): Likewise.
4994         (SVE_SIG_ZREGS_SIZE): Likewise.
4995         (SVE_SIG_PREGS_OFFSET): Likewise.
4996         (SVE_SIG_PREG_OFFSET): Likewise.
4997         (SVE_SIG_PREGS_SIZE): Likewise.
4998         (SVE_SIG_FFR_OFFSET): Likewise.
4999         (SVE_SIG_REGS_SIZE): Likewise.
5000         (SVE_SIG_CONTEXT_SIZE): Likewise.
5001         (SVE_PT_REGS_MASK): Likewise.
5002         (SVE_PT_REGS_FPSIMD): Likewise.
5003         (SVE_PT_REGS_SVE): Likewise.
5004         (SVE_PT_VL_INHERIT): Likewise.
5005         (SVE_PT_VL_ONEXEC): Likewise.
5006         (SVE_PT_REGS_OFFSET): Likewise.
5007         (SVE_PT_FPSIMD_OFFSET): Likewise.
5008         (SVE_PT_FPSIMD_SIZE): Likewise.
5009         (SVE_PT_SVE_ZREG_SIZE): Likewise.
5010         (SVE_PT_SVE_PREG_SIZE): Likewise.
5011         (SVE_PT_SVE_FFR_SIZE): Likewise.
5012         (SVE_PT_SVE_FPSR_SIZE): Likewise.
5013         (SVE_PT_SVE_FPCR_SIZE): Likewise.
5014         (__SVE_SIG_TO_PT): Likewise.
5015         (SVE_PT_SVE_OFFSET): Likewise.
5016         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
5017         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
5018         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
5019         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
5020         (SVE_PT_SVE_PREG_OFFSET): Likewise.
5021         (SVE_PT_SVE_PREGS_SIZE): Likewise.
5022         (SVE_PT_SVE_FFR_OFFSET): Likewise.
5023         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
5024         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
5025         (SVE_PT_SVE_SIZE): Likewise.
5026         (SVE_PT_SIZE): Likewise.
5027         (HAS_SVE_STATE): New define.
5028
5029 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5030
5031         * nat/aarch64-sve-linux-sigcontext.h: New file.
5032         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
5033         new files.
5034         (SVE_VQ_MIN): Likewise.
5035         (SVE_VQ_MAX): Likewise.
5036         (SVE_VL_MIN): Likewise.
5037         (SVE_VL_MAX): Likewise.
5038         (SVE_NUM_ZREGS): Likewise.
5039         (SVE_NUM_PREGS): Likewise.
5040         (sve_vl_valid): Likewise.
5041         (struct user_sve_header): Likewise.
5042
5043 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
5044             Richard Bunt <Richard.Bunt@arm.com>
5045
5046         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
5047         was requested by GDB.
5048
5049 2018-06-15  Tom de Vries  <tdevries@suse.de>
5050
5051         * MAINTAINERS (Write After Approval): Add Tom de Vries.
5052
5053 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
5054
5055         * gnulib/update-gnulib.sh: Print expected versions of
5056         autoconf/aclocal.
5057
5058 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
5059
5060         * arch-utils.c (default_type_align): Use type_length_units.
5061         * gdbtypes.c (type_align): Use type_length_units.
5062
5063 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5064
5065         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
5066         of 'define' command.
5067
5068 2018-06-14  Tom de Vries  <tdevries@suse.de>
5069
5070         PR cli/22573
5071         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
5072         get_no_prettyformat_print_options.
5073
5074 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
5075
5076         * sparc-nat.h: Include target.h.
5077         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
5078         <fetch_registers>: Remove this argument in function call.
5079         <store_registers>: Remove this argument in function call, remove
5080         extra semicolon.
5081         <low_forget_process>: Call sparc64_forget_process instead of
5082         sparc_forget_process.
5083
5084 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5085
5086         * procfs.c (_initialize_procfs): Use add_inf_child_target.
5087         (procfs_target::make_corefile_notes): Adjust to new
5088         target_read_alloc return type.
5089
5090 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5091             Stephen Roberts  <stephen.roberts@arm.com>
5092
5093         PR gdb/22882
5094         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
5095         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
5096         Move should_notify_stop local into more inner scope.
5097
5098 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5099             Stephen Roberts  <stephen.roberts@arm.com>
5100
5101         PR gdb/22882
5102         * infrun.c (resume_1): Add call to mark_async_event_handler.
5103
5104 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
5105
5106         * infrun.c (do_target_wait): Change old version of $pc printed.
5107
5108 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
5109
5110         * dwarf2read.c (read_index_from_section): Rename to...
5111         (read_gdb_index_from_section): ... this, update all callers.
5112         (dwarf2_read_index): Rename to...
5113         (dwarf2_read_gdb_index): ... this, update all callers.
5114
5115 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
5116
5117         * gdb/hppa-linux-nat.c
5118         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
5119         hppa_linux_nat_target::fetch_registers.
5120
5121 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5122
5123         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
5124         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
5125         (AARCH64_DWARF_SVE_FFR): Likewise.
5126         (AARCH64_DWARF_SVE_P0): Likewise.
5127         (AARCH64_DWARF_SVE_Z0): Likewise.
5128
5129 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5130
5131         * common/common-regcache.h (raw_compare): New function.
5132         * regcache.c (regcache::raw_compare): Likewise.
5133         * regcache.h (regcache::raw_compare): New declaration.
5134
5135 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
5136
5137         * common/common-regcache.h (reg_buffer_common): New structure.
5138         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
5139         (reg_buffer::raw_supply): Likewise.
5140         (reg_buffer::raw_supply_integer): Likewise.
5141         (reg_buffer::raw_supply_zeroed): Likewise.
5142         (reg_buffer::raw_collect): Likewise.
5143         (reg_buffer::raw_collect_integer): Likewise.
5144         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
5145         (reg_buffer::raw_supply): Likewise.
5146         (reg_buffer::raw_supply_integer): Likewise.
5147         (reg_buffer::raw_supply_zeroed): Likewise.
5148         (reg_buffer::raw_collect): Likewise.
5149         (reg_buffer::raw_collect_integer): Likewise.
5150
5151 2018-06-10  Tom Tromey  <tom@tromey.com>
5152
5153         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
5154         (class remote_state) <stop_reply_queue>: Now std::vector.
5155         (remote_state::~remote_state)
5156         (remote_target::stop_reply_queue_length): Update.
5157         (struct queue_iter_param, remove_child_of_pending_fork)
5158         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
5159         (check_pending_event_prevents_wildcard_vcont_callback)
5160         (remove_stop_reply_for_inferior)
5161         (remove_stop_reply_of_remote_state)
5162         (remote_notif_remove_once_on_match)
5163         (stop_reply_match_ptid_and_ws)
5164         (remote_kill_child_of_pending_fork): Remove.
5165         (remote_target::remove_new_fork_children)
5166         (remote_target::check_pending_events_prevent_wildcard_vcont)
5167         (remote_target::discard_pending_stop_replies)
5168         (remote_target::discard_pending_stop_replies_in_queue)
5169         (remote_target::remote_notif_remove_queued_reply)
5170         (remote_target::queued_stop_reply)
5171         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
5172         (remote_target::wait, remote_target::kill_new_fork_children)
5173         (remote_target::async): Update.
5174
5175 2018-06-10  Tom Tromey  <tom@tromey.com>
5176
5177         * record-full.c (record_full_arch_list_cleanups): Remove.
5178         (record_full_message): Use try/catch.
5179         (record_full_wait_cleanups): Remove.
5180         (record_full_wait_1): Use try/catch.
5181         (record_full_restore): Likewise.
5182
5183 2018-06-10  Tom Tromey  <tom@tromey.com>
5184
5185         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
5186         declare VEC.  Add constructor.
5187         <in_target_beneath>: Now bool.
5188         (record_full_breakpoints): Now a std::vector, static.
5189         (record_full_sync_record_breakpoints)
5190         (record_full_init_record_breakpoints)
5191         (record_full_target::insert_breakpoint)
5192         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
5193
5194 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
5195
5196         * dwarf2read.c (process_cu_includes): Remove struct keyword.
5197         * serial.c (serial_interface_lookup): Remove struct keyword.
5198
5199 2018-06-10  Tom Tromey  <tom@tromey.com>
5200
5201         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
5202         method.
5203         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
5204         a method.
5205         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
5206         method.
5207         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
5208         "beneath" as a method.
5209         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
5210         Use "beneath" as a method.
5211
5212 2018-06-10  Tom Tromey  <tom@tromey.com>
5213
5214         * tracefile.c (struct trace_file_writer_deleter): New.
5215         <operator()>: Rename from trace_file_writer_xfree.
5216         (trace_file_writer_up): New typedef.
5217         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
5218
5219 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5220
5221         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
5222         <m_registers, m_register_status>: Change type to
5223         std::unique_ptr.
5224         * regcache.c (reg_buffer::reg_buffer): Use new instead of
5225         XCNEWVEC.
5226
5227 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
5228
5229         * common/common-regcache.h (enum register_status): Add
5230         underlying type "signed char".
5231         * regcache.h (reg_buffer) <m_register_status>: Change type to
5232         register_status *.
5233         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
5234         register_status instead of signed char.
5235         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
5236         (reg_buffer::get_register_status): Remove cast.
5237         (readable_regcache::raw_read): Remove cast.
5238         (readable_regcache::cooked_read): Remove cast.
5239
5240 2018-06-09  Tom Tromey  <tom@tromey.com>
5241
5242         * source.c (reverse_search_command, forward_search_command): Use
5243         scoped_fd.
5244
5245 2018-06-09  Tom Tromey  <tom@tromey.com>
5246
5247         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
5248         (serial_ops_list): Now static, std::vector.
5249         (serial_interface_lookup, serial_add_interface): Update.
5250
5251 2018-06-09  Tom Tromey  <tom@tromey.com>
5252
5253         * dwarf2read.c (process_cu_includes): Update.
5254         (process_full_comp_unit): Update.
5255         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
5256         std::vector.
5257
5258 2018-06-08  Paul Koning  <paul_koning@dell.com>
5259
5260         PR gdb/23252
5261
5262         * python/python.c (do_start_initialization):
5263         Avoid call to internal Python API.
5264         (init__gdb_module): New function.
5265
5266 2018-06-08  Gary Benson <gbenson@redhat.com>
5267
5268         * linux-thread-db.c (valprint.h): New include.
5269         (struct check_thread_db_info): New structure.
5270         (check_thread_db_on_load, tdb_testinfo): New static globals.
5271         (check_thread_db, check_thread_db_callback): New functions.
5272         (try_thread_db_load_1): Run integrity checks if requested.
5273         (maintenance_check_libthread_db): New function.
5274         (_initialize_thread_db): Register "maint check libthread-db"
5275         and "maint set/show check-libthread-db".
5276         * NEWS: Mention the above new commands.
5277
5278 2018-06-08  Tom Tromey  <tom@tromey.com>
5279
5280         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
5281         now a method.
5282
5283 2018-06-08  Tom Tromey  <tom@tromey.com>
5284
5285         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
5286
5287 2018-06-08  Tom Tromey  <tom@tromey.com>
5288
5289         * common/btrace-common.h (struct btrace_data): Add constructor,
5290         destructor, move assignment operator.
5291         <empty, clear, fini>: New methods.
5292         <format>: Initialize.
5293         (btrace_data_init, btrace_data_fini, btrace_data_clear)
5294         (btrace_data_empty): Don't declare.
5295         * common/btrace-common.c (btrace_data_init): Remove.
5296         (btrace_data::fini): Rename from btrace_data_fini.
5297         (btrace_data::empty): Rename from btrace_data_empty.
5298         (btrace_data::clear): Rename from btrace_data_clear.  Return
5299         bool.
5300         * btrace.h (make_cleanup_btrace_data): Don't declare.
5301         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
5302         (parse_xml_btrace): Update.
5303         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
5304         (maint_btrace_clear_packet_history_cmd): Update.
5305
5306 2018-06-07  Pedro Alves  <palves@redhat.com>
5307
5308         * target.h (target_ops) <beneath>: Now a method.  All references
5309         updated.
5310         (class target_stack): New.
5311         * target.c (g_target_stack): New.
5312         (g_current_top_target): Delete.
5313         (current_top_target): Get the top target out of g_target_stack.
5314         (target_stack::push, target_stack::unpush): New.
5315         (push_target, unpush_target): Reimplement.
5316         (target_is_pushed): Reimplement in terms of g_target_stack.
5317         (target_ops::beneath, target_stack::find_beneath): New.
5318
5319 2018-06-07  Pedro Alves  <palves@redhat.com>
5320
5321         * target.h (find_target_beneath): Delete declaration.
5322         * target.c (find_target_beneath): Delete definition.
5323         * aix-thread.c: All callers of find_target_beneath adjusted to
5324         call target_ops::beneath instead.
5325         * bsd-uthread.c: Likewise.
5326         * linux-thread-db.c: Likewise.
5327         * ravenscar-thread.c: Likewise.
5328         * sol-thread.c: Likewise.
5329         * spu-multiarch.c: Likewise.
5330
5331 2018-06-07  Pedro Alves  <palves@redhat.com>
5332
5333         * target.h (target_ops) <beneath>: Now a method.  All references
5334         updated.
5335         (target_ops) <m_beneath>: New.
5336         * target.c (target_ops::beneath): New.
5337         * corelow.c: Adjust all references to target_ops::beneath.
5338         * linux-thread-db.c: Likewise.
5339         * make-target-delegates: Likewise.
5340         * record-btrace.c: Likewise.
5341         * record-full.c: Likewise.
5342         * remote.c: Likewise.
5343         * target.c: Likewise.
5344         * target-delegates.c: Regenerate.
5345
5346 2018-06-07  Pedro Alves  <palves@redhat.com>
5347
5348         * target.h (target_stack): Delete.
5349         (current_top_target): Declare function.
5350         * target.c (target_stack): Delete.
5351         (g_current_top_target): New.
5352         (current_top_target): New function.
5353         * auxv.c: Use current_top_target instead of target_stack
5354         throughout.
5355         * avr-tdep.c: Likewise.
5356         * breakpoint.c: Likewise.
5357         * corefile.c: Likewise.
5358         * elfread.c: Likewise.
5359         * eval.c: Likewise.
5360         * exceptions.c: Likewise.
5361         * frame.c: Likewise.
5362         * gdbarch-selftests.c: Likewise.
5363         * gnu-v3-abi.c: Likewise.
5364         * ia64-tdep.c: Likewise.
5365         * ia64-vms-tdep.c: Likewise.
5366         * infcall.c: Likewise.
5367         * infcmd.c: Likewise.
5368         * infrun.c: Likewise.
5369         * linespec.c: Likewise.
5370         * linux-tdep.c: Likewise.
5371         * minsyms.c: Likewise.
5372         * ppc-linux-nat.c: Likewise.
5373         * ppc-linux-tdep.c: Likewise.
5374         * procfs.c: Likewise.
5375         * regcache.c: Likewise.
5376         * remote.c: Likewise.
5377         * rs6000-tdep.c: Likewise.
5378         * s390-linux-nat.c: Likewise.
5379         * s390-tdep.c: Likewise.
5380         * solib-aix.c: Likewise.
5381         * solib-darwin.c: Likewise.
5382         * solib-dsbt.c: Likewise.
5383         * solib-spu.c: Likewise.
5384         * solib-svr4.c: Likewise.
5385         * solib-target.c: Likewise.
5386         * sparc-tdep.c: Likewise.
5387         * sparc64-tdep.c: Likewise.
5388         * spu-tdep.c: Likewise.
5389         * symfile.c: Likewise.
5390         * symtab.c: Likewise.
5391         * target-descriptions.c: Likewise.
5392         * target-memory.c: Likewise.
5393         * target.c: Likewise.
5394         * target.h: Likewise.
5395         * tracefile-tfile.c: Likewise.
5396         * tracepoint.c: Likewise.
5397         * valops.c: Likewise.
5398         * valprint.c: Likewise.
5399         * value.c: Likewise.
5400         * windows-tdep.c: Likewise.
5401         * mi/mi-main.c: Likewise.
5402
5403 2018-06-07  Tom Tromey  <tom@tromey.com>
5404
5405         * valprint.h (build_address_symbolic): Declare.
5406         * printcmd.c (print_address_symbolic): Update.
5407         (build_address_symbolic): Change "name" and "filename" to
5408         std::string.
5409         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
5410         Update.
5411         * defs.h (build_address_symbolic): Remove declaration.
5412
5413 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
5414
5415         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
5416         (aarch64_vnv_type): Add function.
5417         (aarch64_pseudo_register_name): Add V regs for SVE.
5418         (aarch64_pseudo_register_type): Likewise.
5419         (aarch64_pseudo_register_reggroup_p): Likewise.
5420         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
5421         (aarch64_pseudo_read_value): Add V regs for SVE.
5422         (aarch64_pseudo_write_2): Use V0 offset for SVE
5423         (aarch64_pseudo_write): Add V regs for SVE.
5424         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
5425
5426 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
5427
5428         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
5429         (sve_vl_from_vq): Likewise.
5430
5431 2018-06-05  Tom Tromey  <tom@tromey.com>
5432
5433         * cli/cli-cmds.c (show_version): Update.
5434         * top.c (print_gdb_version): Add "interactive" parameter.
5435         Update.
5436         * main.c (captured_main_1): Update.
5437         * top.h (print_gdb_version): Add "interactive" parameter and a
5438         comment.
5439
5440 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
5441
5442         * common/enum-flags.h: Add trailing semicolon to example in
5443         comment.
5444
5445 2018-06-05  Tom Tromey  <tom@tromey.com>
5446
5447         PR cli/12326:
5448         * NEWS: Add entry about pager.
5449         * utils.c (pagination_disabled_for_command): New global.
5450         (prompt_for_continue): Allow "c" response to prompt.
5451         (reinitialize_more_filter): Clear
5452         pagination_disabled_for_command.
5453         (fputs_maybe_filtered): Check pagination_disabled_for_command.
5454
5455 2018-06-04  Tom Tromey  <tom@tromey.com>
5456
5457         * ada-lang.h (ada_lookup_symbol_list): Update.
5458         * ada-lang.c (resolve_subexp): Update.
5459         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
5460         parameter.
5461         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
5462         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
5463         results parameter to std::vector.
5464         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
5465         Update.
5466         * ada-exp.y (block_lookup): Update.
5467         (select_possible_type_sym): Change type of syms.  Remove nsyms
5468         parameter.
5469         (write_var_or_type, write_name_assoc): Update.
5470
5471 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
5472
5473         * windows-nat.c (windows_nat_target::xfer_partial): Return
5474         TARGET_XFER_E_IO if we need to delegate to the target beneath
5475         but BENEATH is NULL.
5476
5477 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
5478
5479         * Makefile.in (config.status): Add configure.nat as a
5480         dependency.
5481
5482 2018-06-04  Tom Tromey  <tom@tromey.com>
5483
5484         * cp-name-parser.y (cpname_state): Add method declarations.
5485         (HANDLE_QUAL): Update.
5486         (cpname_state::d_grab, cpname_state::fill_comp)
5487         (cpname_state::make_operator, cpname_state::make_dtor)
5488         (cpname_state::make_builtin_type, cpname_state::make_name)
5489         (cpname_state::d_qualify, cpname_state::d_int_type)
5490         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
5491         (%union): Move earlier.
5492
5493 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5494
5495         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
5496
5497 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5498
5499         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
5500         (aarch64_pseudo_write_1): Likewise.
5501         (aarch64_pseudo_read_value): Use helper.
5502         (aarch64_pseudo_write): Likewise.
5503
5504 2018-06-04  Pedro Alves  <palves@redhat.com>
5505
5506         * darwin-nat.c (darwin_ops): Delete.
5507         (darwin_attach_pid): Use get_native_target.
5508
5509 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5510
5511         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
5512         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
5513
5514 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5515
5516         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
5517         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
5518         (aarch64_gdbarch_init): Check for SVE.
5519         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
5520
5521 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
5522
5523         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
5524         * aarch64-tdep.h (aarch64_read_description): Likewise.
5525         * arch/aarch64.c (aarch64_create_target_description): Likewise.
5526         * arch/aarch64.h (aarch64_create_target_description): Likewise.
5527         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
5528         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
5529         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
5530
5531 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
5532
5533         * value.c (value_fetch_lazy_bitfield): New.
5534         (value_fetch_lazy_memory): New.
5535         (value_fetch_lazy_register): New.
5536         (value_fetch_lazy): Factor out to smaller functions.
5537
5538 2018-06-01  Tom Tromey  <tom@tromey.com>
5539
5540         * cp-name-parser.y (backslashable, represented): Now const.
5541
5542 2018-06-01  Tom Tromey  <tom@tromey.com>
5543
5544         * cp-name-parser.y: Include parser-defs.h.
5545         (parser_fprintf): Remove declaration.
5546
5547 2018-06-01  Tom Tromey  <tom@tromey.com>
5548
5549         * cp-name-parser.y: Use %pure-parser, %lex-param, and
5550         %parse-param.
5551         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
5552         (global_result): Remove globals.
5553         (struct cpname_state): New.
5554         (yyparse): Don't declare.
5555         (yylex, yyerror): Move declarations after %union.
5556         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
5557         (make_name): Add state parameter.
5558         Update all callers.
5559         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
5560         parameter.
5561         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
5562         Update.
5563         (yylex): Add lvalp, state parameters.
5564         (yyerror): Add state parameter.
5565         (cp_demangled_name_to_comp): Update.
5566
5567 2018-06-01  Tom Tromey  <tom@tromey.com>
5568
5569         * cp-name-parser.y (parser_fprintf): Declare.
5570         (GDB_YY_REMAP_PREFIX): Define.
5571         Include yy-remap.h.  Don't redefine yy* identifiers.
5572
5573 2018-06-01  Tom Tromey  <tom@tromey.com>
5574
5575         * python/py-type.c (typy_legacy_template_argument): Update.
5576         * cp-support.h (cp_demangled_name_to_comp): Update.
5577         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
5578         parameter to be a "std::string *".
5579         (main): Update.
5580
5581 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
5582
5583         * ada-lex.l: Include "diagnostics.h" instead of
5584         "common/diagnostics.h".
5585         * unittests/environ-selftests.c: Likewise.
5586         * common/diagnostics.h: Moved to ../include.
5587
5588 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
5589
5590         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
5591         to language_mode_manual while calling breakpoint_re_set_one.
5592
5593 2018-06-01  Tom Tromey  <tom@tromey.com>
5594
5595         * valops.c (value_cast_structs, destructor_name_p): Update.
5596         * symtab.c (gdb_mangle_name): Update.
5597         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
5598         Update.
5599         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
5600         (pascal_object_print_value_fields, pascal_object_print_value):
5601         Update.
5602         * p-typeprint.c (pascal_type_print_derivation_info): Update.
5603         * linespec.c (find_methods): Update.
5604         * gdbtypes.h (type_name_no_tag): Remove.
5605         (type_name_or_error): Rename from type_name_no_tag_or_error.
5606         * gdbtypes.c (type_name_no_tag): Remove.
5607         (type_name_or_error): Rename from type_name_no_tag_or_error.
5608         (lookup_struct_elt_type, check_typedef): Update.
5609         * expprint.c (print_subexp_standard): Update.
5610         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
5611         * d-namespace.c (d_lookup_nested_symbol): Update.
5612         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
5613         (cp_print_class_member): Update.
5614         * cp-namespace.c (cp_lookup_nested_symbol): Update.
5615         * completer.c (add_struct_fields): Update.
5616         * c-typeprint.c (cp_type_print_derivation_info)
5617         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
5618         Update.
5619         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
5620         (ada_prefer_type, ada_is_exception_sym): Update.
5621
5622 2018-06-01  Tom Tromey  <tom@tromey.com>
5623
5624         * valops.c (enum_constant_from_type, value_namespace_elt)
5625         (value_maybe_namespace_elt): Update.
5626         * valarith.c (find_size_for_pointer_math): Update.
5627         * target-descriptions.c (make_gdb_type): Update.
5628         * symmisc.c (print_symbol): Update.
5629         * stabsread.c (define_symbol, read_type)
5630         (complain_about_struct_wipeout, add_undefined_type)
5631         (cleanup_undefined_types_1): Update.
5632         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
5633         (rust_range_type_p, val_print_struct, rust_print_struct_def)
5634         (rust_internal_print_type, rust_composite_type)
5635         (rust_evaluate_funcall, rust_evaluate_subexp)
5636         (rust_inclusive_range_type_p): Update.
5637         * python/py-type.c (typy_get_tag): Update.
5638         * p-typeprint.c (pascal_type_print_base): Update.
5639         * mdebugread.c (parse_symbol, parse_type): Update.
5640         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
5641         Update.
5642         * guile/scm-type.c (gdbscm_type_tag): Update.
5643         * go-lang.c (sixg_string_p): Update.
5644         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
5645         Update.
5646         * gdbtypes.h (struct main_type) <tag_name>: Remove.
5647         (TYPE_TAG_NAME): Remove.
5648         * gdbtypes.c (type_name_no_tag): Simplify.
5649         (check_typedef, check_types_equal, recursive_dump_type)
5650         (copy_type_recursive, arch_composite_type): Update.
5651         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
5652         in summary mode when needed.
5653         * eval.c (evaluate_funcall): Update.
5654         * dwarf2read.c (fixup_go_packaging, read_structure_type)
5655         (process_structure_scope, read_enumeration_type)
5656         (read_namespace_type, read_module_type, determine_prefix): Update.
5657         * cp-support.c (inspect_type): Update.
5658         * coffread.c (process_coff_symbol, decode_base_type): Update.
5659         * c-varobj.c (c_is_path_expr_parent): Update.
5660         * c-typeprint.c (c_type_print_base_struct_union): Update.
5661         (c_type_print_base_1): Update.  Print struct/class/union/enum in
5662         summary when using C language.
5663         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
5664         (gen_maybe_namespace_elt): Update.
5665         * ada-lang.c (ada_type_name): Simplify.
5666         (empty_record, ada_template_to_fixed_record_type_1)
5667         (template_to_static_fixed_type)
5668         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
5669
5670 2018-06-01  Tom Tromey  <tom@tromey.com>
5671
5672         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
5673         c_print_type.
5674         * c-typeprint.c (c_print_type_1): Add "language" parameter.
5675         (c_print_type): Update.
5676         (c_print_type): New overload.
5677         (c_type_print_varspec_prefix, c_type_print_args)
5678         (c_type_print_varspec_suffix, c_print_type_no_offsets)
5679         (c_type_print_base_struct_union, c_type_print_base_1)
5680         (cp_type_print_method_args): Add "language" parameter.
5681         (c_type_print_base): Update.
5682         * c-lang.h (c_print_type): Add new overload.
5683
5684 2018-06-01  Tom Tromey  <tom@tromey.com>
5685
5686         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
5687         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
5688
5689 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
5690
5691         * aarch64-tdep.c (aarch64_sve_register_names): New const
5692         var.
5693         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
5694         (AARCH64_SVE_Z_REGS_NUM): New define.
5695         (AARCH64_SVE_P_REGS_NUM): Likewise.
5696         (AARCH64_SVE_NUM_REGS): Likewise.
5697
5698 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
5699
5700         * nat/linux-ptrace.h [__alpha__]
5701         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
5702         definitions.
5703
5704 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
5705
5706         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
5707         the endianness selected.
5708         * NEWS: Document `set endian auto' mode operation update.
5709
5710 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
5711
5712         * Makefile.in: Add new header.
5713         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
5714         (sve_vl_from_vg): Likewise.
5715         (sve_vq_from_vl): Likewise.
5716         (sve_vl_from_vq): Likewise.
5717         (sve_vq_from_vg): Likewise.
5718         (sve_vg_from_vq): Likewise.
5719         * configure.nat: Add new c file.
5720         * nat/aarch64-sve-linux-ptrace.c: New file.
5721         * nat/aarch64-sve-linux-ptrace.h: New file.
5722
5723 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
5724
5725         * aarch64-linux-nat.c (aarch64_linux_read_description):
5726         Add parmeter zero.
5727         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
5728         Likewise.
5729         * aarch64-tdep.c (tdesc_aarch64_list): Add.
5730         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
5731         (aarch64_gdbarch_init): Add parmeter zero.
5732         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
5733         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
5734         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
5735         parmeter.
5736         * doc/gdb.texinfo: Describe SVE feature
5737         * features/aarch64-sve.c: New file.
5738
5739 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
5740
5741         PR gdb/23210
5742         * gdbarch.sh (significant_addr_bit): Default to zero when
5743         not set by target architecture.
5744         * gdbarch.c: Re-generated.
5745         * utils.c (address_significant): Update.
5746
5747 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
5748
5749         * stack.c (func_command): Remove trailing newline in call to error.
5750
5751 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5752
5753         * regcache.h (regcache_raw_collect): Remove, update callers to
5754         use regcache::raw_collect.
5755         * regcache.c (regcache_raw_collect): Remove.
5756
5757 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5758
5759         * regcache.h (regcache_raw_supply): Remove, update callers to
5760         use detached_regcache::raw_supply.
5761         * regcache.c (regcache_raw_supply): Remove.
5762
5763 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5764
5765         * regcache.h (regcache_cooked_write_part): Remove, update
5766         callers to use regcache::cooked_write_part.
5767         * regcache.c (regcache_cooked_write_part): Remove.
5768
5769 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5770
5771         * regcache.h (regcache_cooked_read_part): Remove, update callers
5772         to use readable_regcache::cooked_read_part.
5773         * regcache.c (regcache_cooked_read_part): Remove.
5774
5775 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5776
5777         * regcache.h (regcache_cooked_read_value): Remove, update
5778         callers to use readable_regcache::cooked_read_value.
5779         * regcache.c (regcache_cooked_read_value): Remove.
5780
5781 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5782
5783         * regcache.h (regcache_cooked_write): Remove, update callers to
5784         use regcache::cooked_write.
5785         * regcache.c (regcache_cooked_write): Remove.
5786
5787 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5788
5789         * regcache.h (regcache_invalidate): Remove, update callers to
5790         use detached_regcache::invalidate instead.
5791         * regcache.c (regcache_invalidate): Remove.
5792
5793 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5794
5795         * regcache.h (regcache_raw_write_part): Remove, update callers
5796         to use regcache::raw_write_part instead.
5797         * regcache.c (regcache_raw_write_part): Remove.
5798
5799 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5800
5801         * regcache.h (regcache_raw_read_part): Remove, update callers to
5802         use readable_regcache::raw_read_part instead.
5803         * regcache.c (regcache_raw_read_part): Remove.
5804
5805 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5806
5807         * regcache.h (regcache_cooked_read): Remove, update callers to
5808         use readable_regcache::cooked_read instead.
5809         * regcache.c (regcache_cooked_read): Remove.
5810
5811 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5812
5813         * regcache.h (regcache_raw_write): Remove, update callers to use
5814         regcache::raw_write instead.
5815         * regcache.c (regcache_raw_write): Remove.
5816
5817 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5818
5819         * regcache.h (regcache_raw_read): Remove, update callers to use
5820         readable_regcache::raw_read instead.
5821         * regcache.c (regcache_raw_read): Remove.
5822
5823 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5824
5825         * regcache.h (regcache_raw_update): Remove, update callers to
5826         use readable_regcache::raw_update instead.
5827         * regcache.c (regcache_raw_update): Remove.
5828
5829 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5830
5831         * regcache.h (regcache_register_status): Remove, update callers
5832         to use reg_buffer::get_register_status directly instead.
5833         * regcache.c (regcache_register_status): Remove.
5834
5835 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5836
5837         * regcache.h (regcache_get_ptid): Remove, update all callers to
5838         call regcache::ptid instead.
5839         * regcache.c (regcache_get_ptid): Remove.
5840
5841 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
5842
5843         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
5844
5845 2018-05-30  Pedro Alves  <palves@redhat.com>
5846
5847         * common/common-exceptions.h (exception_rethrow): Use
5848         ATTRIBUTE_NORETURN.
5849
5850 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
5851
5852         * breakpoint.c (print_solib_event, check_status_catch_solib):
5853         Remove struct keyword in range-based for loops.
5854         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
5855         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
5856         Likewise.
5857         * linespec.c (find_superclass_methods, search_minsyms_for_name):
5858         Likewise.
5859         * symfile.c (addr_info_make_relative): Likewise.
5860         * thread.c (value_in_thread_stack_temporaries): Likewise.
5861
5862 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
5863
5864         PR gdb/16841
5865         * valops.c (value_struct_elt_for_reference): Call check_typedef on
5866         aggregate type to get its real type before accessing it.
5867
5868 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
5869
5870         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
5871         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
5872         * coff-pe-read.c (add_pe_forwarded_sym): Replace
5873         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
5874         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
5875         * jit.c (jit_breakpoint_re_set_internal): Likewise.
5876         * printcmd.c (info_address_command): Likewise.
5877
5878 2018-05-29  Tom Tromey  <tom@tromey.com>
5879
5880         * windows-nat.c (handle_exception): Update fall-through comment.
5881
5882 2018-05-29  Tom Tromey  <tom@tromey.com>
5883
5884         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
5885         (struct program_space) <added_solibs>: Now a std::vector.
5886         * breakpoint.c (print_solib_event): Update.
5887         (check_status_catch_solib): Update.
5888         * progspace.c (clear_program_space_solib_cache): Update.
5889         * solib.c (update_solib_list): Update.
5890
5891 2018-05-29  Tom Tromey  <tom@tromey.com>
5892
5893         * python/py-type.c (typy_richcompare): Update.
5894         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
5895         * gdbtypes.h (types_deeply_equal): Return bool.
5896         (types_equal): Likewise.
5897         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
5898         declare VEC.
5899         (check_types_equal): Change worklist to std::vector.  Return
5900         bool.
5901         (struct type_equality_entry): Add constructor.
5902         (compare_maybe_null_strings): Return bool.
5903         (check_types_worklist): Return bool.  Change worklist to
5904         std::vector.
5905         (types_deeply_equal): Use std::vector.
5906         (types_equal): Return bool.
5907         (compare_maybe_null_strings): Simplify.
5908
5909 2018-05-29  Tom Tromey  <tom@tromey.com>
5910
5911         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
5912
5913 2018-05-29  Tom Tromey  <tom@tromey.com>
5914
5915         * objc-lang.h: Don't include cp-support.h.
5916         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
5917         declare VEC.
5918
5919 2018-05-27  Tom Tromey  <tom@tromey.com>
5920
5921         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
5922
5923 2018-05-25  Tom Tromey  <tom@tromey.com>
5924
5925         * value.c (value::location): Initialize.
5926
5927 2018-05-25  Tom Tromey  <tom@tromey.com>
5928
5929         * dbxread.c (init_bincl_list): Remove.
5930         (bincl_list): Now a std::vector.
5931         (bincls_allocated, next_bincl): Remove.
5932         (free_bincl_list, do_free_bincl_list_cleanup)
5933         (make_cleanup_free_bincl_list): Remove.
5934         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
5935         unique_xmalloc_ptr.
5936         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
5937         (struct header_file_location): Add constructor.
5938         (add_bincl_to_list): Remove.
5939
5940 2018-05-25  Tom Tromey  <tom@tromey.com>
5941
5942         * tui/tui.c (tui_enable): Update.
5943         * mi/mi-interp.c (mi_interp::init): Update.
5944         * interps.h (class interp) <name>: New method.
5945         <m_name>: Rename from name.
5946         (~scoped_restore_interp): Update.
5947         * interps.c (interp::interp): Update.
5948         (interp_add, interp_set, interp_lookup_existing)
5949         (current_interp_named_p): Update.
5950
5951 2018-05-25  Tom Tromey  <tom@tromey.com>
5952
5953         * interps.c (interp_name): Remove.
5954         * mi/mi-interp.c (mi_interp::init): Update.
5955         * interps.h (interp_name): Remove.
5956         (~scoped_restore_interp): Update.
5957         * tui/tui.c (tui_enable): Update.
5958
5959 2018-05-25  Tom Tromey  <tom@tromey.com>
5960
5961         * utils.c (fputs_maybe_filtered): Update.
5962         * linespec.c (decode_line_full): Update.
5963         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
5964         (mi_print_breakpoint_for_event, mi_solib_loaded)
5965         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
5966         (mi_user_selected_context_changed): Update.
5967         * mi/mi-main.c (mi_execute_command): Update.
5968         * cli/cli-script.c (execute_control_command): Update.
5969         * python/python.c (execute_gdb_command): Update.
5970         * solib.c (info_sharedlibrary_command): Update.
5971         * interps.c (interp_ui_out): Remove.
5972         * interps.h (interp_ui_out): Remove.
5973
5974 2018-05-25  Tom Tromey  <tom@tromey.com>
5975
5976         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
5977         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
5978         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
5979
5980 2018-05-25  Tom Tromey  <tom@tromey.com>
5981
5982         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
5983         * interps.c (interp_exec): Use scoped_restore.
5984
5985 2018-05-25  Tom Tromey  <tom@tromey.com>
5986
5987         * remote.c (remote_target::remote_file_get): Use
5988         gdb::byte_vector.
5989         (remote_target::remote_file_put): Likewise.
5990
5991 2018-05-25  Tom Tromey  <tom@tromey.com>
5992
5993         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
5994         a std::string.
5995         (get_pe_section_index, add_pe_exported_sym): Update.
5996         (read_pe_exported_syms): Use gdb::def_vector.
5997
5998 2018-05-25  Tom Tromey  <tom@tromey.com>
5999
6000         * frame.c (remove_prev_frame): Remove.
6001         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
6002
6003 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
6004
6005         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
6006         Remove prototypes.
6007         * mips-linux-nat.c (supply_fpregset): Always call
6008         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
6009         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
6010         `mips_fill_fpregset'.
6011         * mips-linux-tdep.c (mips_supply_fpregset)
6012         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
6013         (mips_fill_fpregset_wrapper): Remove functions.
6014         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
6015         (mips_linux_fpregset): Remove variable.
6016         (mips_linux_iterate_over_regset_sections): Use
6017         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
6018         (mips_linux_o32_sigframe_init): Remove comment.
6019
6020 2018-05-25  Pedro Alves  <palves@redhat.com>
6021
6022         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
6023         (struct readahead_cache, struct packet_reg, struct
6024         remote_arch_state, class remote_state): Move higher up in the
6025         file.
6026         (remote_target::m_remote_state): Now an object instead of a pointer.
6027         (remote_target::get_remote_state): Adjust.
6028
6029 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6030
6031         * stack.c (select_and_print_frame): Delete.
6032         (struct function_bounds): Move struct within function.
6033         (func_command): Most content moved into new function
6034         find_frame_for_function, use new function, print result, add
6035         function comment.
6036         (find_frame_for_function): New function, now returns a result.
6037
6038 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6039
6040         * stack.c (iterate_over_block_arg_vars): Fix comment.
6041         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
6042
6043 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6044
6045         PR gdb/23203
6046         * frame.c
6047         (scoped_restore_selected_frame::scoped_restore_selected_frame):
6048         Define.
6049         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
6050         Define.
6051         * frame.h (class scoped_restore_selected_frame): New class.
6052         * stack.c (print_frame_local_vars): Remove catching and rethrowing
6053         of any exception, use scoped_restore_selected_frame to restore the
6054         frame instead.
6055
6056 2018-05-24  Pedro Alves  <palves@redhat.com>
6057
6058         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
6059         override.
6060
6061 2018-05-23  Tom Tromey  <tom@tromey.com>
6062
6063         * complaints.c (struct complaints): Remove.
6064         (symfile_complaint_book): Remove.
6065         (series): New global.
6066         (complaint_internal): Update.
6067         (clear_complaints): Update.
6068
6069 2018-05-23  Tom Tromey  <tom@tromey.com>
6070
6071         * complaints.c (counters): New global.
6072         (struct complain): Remove.
6073         (struct complaints) <root>: Remove.
6074         (complaint_sentinel): Remove.
6075         (symfile_complaint_book): Update.
6076         (find_complaint) Remove.
6077         (complaint_internal, clear_complaints): Update.
6078
6079 2018-05-23  Tom Tromey  <tom@tromey.com>
6080
6081         * complaints.c (struct complain) <file, line>: Remove.
6082         (find_complaint): Remove file, line parameters.
6083         (complaint_internal): Update.
6084
6085 2018-05-23  Tom Tromey  <tom@tromey.com>
6086
6087         * complaints.c (vcomplaint): Remove.
6088         (complaint_internal) Merge in contents of vcomplaint.
6089
6090 2018-05-23  Tom Tromey  <tom@tromey.com>
6091
6092         * complaints.c (struct complaints) <explanation>: Remove.
6093         (symfile_explanations): Remove.
6094         (symfile_complaint_book): Update.
6095         (vcomplaint): Update.
6096         (struct explanation): Remove.
6097
6098 2018-05-23  Tom Tromey  <tom@tromey.com>
6099
6100         * complaints.c (symfile_complaints): Remove.
6101         (complaint_internal): Remove "complaints" parameter.
6102         (clear_complaints, vcomplaint): Remove "c" parameter.
6103         (get_complaints): Remove.
6104         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
6105         (dwarf2_debug_line_missing_file_complaint)
6106         (dwarf2_debug_line_missing_end_sequence_complaint)
6107         (dwarf2_complex_location_expr_complaint)
6108         (dwarf2_const_value_length_mismatch_complaint)
6109         (dwarf2_section_buffer_overflow_complaint)
6110         (dwarf2_macro_malformed_definition_complaint)
6111         (dwarf2_invalid_attrib_class_complaint)
6112         (create_addrmap_from_index, dw2_symtab_iter_next)
6113         (dw2_expand_marked_cus)
6114         (dw2_debug_names_iterator::find_vec_in_debug_names)
6115         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
6116         (create_debug_type_hash_table, init_cutu_and_read_dies)
6117         (partial_die_parent_scope, add_partial_enumeration)
6118         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
6119         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
6120         (read_import_statement, read_file_scope, create_dwo_cu_reader)
6121         (create_cus_hash_table, create_dwp_hash_table)
6122         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
6123         (dwarf2_rnglists_process, dwarf2_ranges_process)
6124         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
6125         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
6126         (handle_struct_member_die, process_structure_scope)
6127         (read_array_type, read_common_block, read_module_type)
6128         (read_tag_pointer_type, read_typedef, read_base_type)
6129         (read_subrange_type, load_partial_dies, partial_die_info::read)
6130         (partial_die_info::read, partial_die_info::read)
6131         (partial_die_info::read, read_checked_initial_length_and_offset)
6132         (dwarf2_string_attr, read_formatted_entries)
6133         (dwarf_decode_line_header)
6134         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
6135         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
6136         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
6137         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
6138         (get_signatured_type, get_DW_AT_signature_type)
6139         (decode_locdesc, file_file_name, consume_improper_spaces)
6140         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
6141         (dwarf_decode_macro_bytes, dwarf_decode_macros)
6142         (dwarf2_symbol_mark_computed, set_die_type)
6143         (read_attribute_value): Update.
6144         * stap-probe.c (handle_stap_probe, get_stap_base_address):
6145         Update.
6146         * dbxread.c (unknown_symtype_complaint)
6147         (lbrac_mismatch_complaint, repeated_header_complaint)
6148         (set_namestring, function_outside_compilation_unit_complaint)
6149         (read_dbx_symtab, process_one_symbol): Update.
6150         * gdbtypes.c (stub_noname_complaint): Update.
6151         * windows-nat.c (handle_unload_dll): Update.
6152         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
6153         (decode_base_type): Update.
6154         * xcoffread.c (bf_notfound_complaint, ef_complaint)
6155         (eb_complaint, record_include_begin, record_include_end)
6156         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
6157         (process_xcoff_symbol, read_symbol)
6158         (function_outside_compilation_unit_complaint)
6159         (scan_xcoff_symtab): Update.
6160         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
6161         * buildsym.c (finish_block_internal, make_blockvector)
6162         (end_symtab_get_static_block, augment_type_symtab): Update.
6163         * dtrace-probe.c (dtrace_process_dof)
6164         (dtrace_static_probe_ops::get_probes): Update.
6165         * complaints.h (struct complaint): Don't declare.
6166         (symfile_complaints): Remove.
6167         (complaint_internal): Remove "complaints" parameter.
6168         (complaint): Likewise.
6169         (clear_complaints): Likewise.
6170         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6171         (reread_symbols): Update.
6172         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
6173         (dwarf2_frame_cache, decode_frame_entry): Update.
6174         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
6175         * objc-lang.c (lookup_objc_class, lookup_child_selector)
6176         (info_selectors_command): Update.
6177         * macrotab.c (macro_include, check_for_redefinition)
6178         (macro_undef): Update.
6179         * objfiles.c (filter_overlapping_sections): Update.
6180         * stabsread.c (invalid_cpp_abbrev_complaint)
6181         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
6182         (define_symbol, error_type, read_type, rs6000_builtin_type)
6183         (stabs_method_name_from_physname, read_member_functions)
6184         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
6185         (attach_fields_to_type, complain_about_struct_wipeout)
6186         (read_range_type, read_args, common_block_start)
6187         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
6188         Update.
6189         * mdebugread.c (index_complaint, unknown_ext_complaint)
6190         (basic_type_complaint, bad_tag_guess_complaint)
6191         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
6192         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
6193         (parse_procedure, parse_lines)
6194         (function_outside_compilation_unit_complaint)
6195         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
6196         (bad_tag_guess_complaint, reg_value_complaint): Update.
6197         * cp-support.c (demangled_name_complaint): Update.
6198         * macroscope.c (sal_macro_scope): Update.
6199         * dwarf-index-write.c (class debug_names): Update.
6200
6201 2018-05-23  Tom Tromey  <tom@tromey.com>
6202
6203         * complaints.c (clear_complaints): Remove "noisy" parameter.
6204         * complaints.h (clear_complaints): Update.
6205         * symfile.c (syms_from_objfile_1, finish_new_objfile)
6206         (reread_symbols): Update.
6207
6208 2018-05-23  Tom Tromey  <tom@tromey.com>
6209
6210         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
6211         SUBSEQUENT_MESSAGE.
6212         (vcomplaint, clear_complaints): Update.
6213         (symfile_explanations): Remove some messages.
6214
6215 2018-05-23  Tom Tromey  <tom@tromey.com>
6216
6217         * complaints.c (internal_complaint): Remove.
6218         * complaints.h (internal_complaint): Remove.
6219
6220 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6221
6222         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
6223
6224 2018-05-22  Pedro Alves  <palves@redhat.com>
6225
6226         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
6227         (remote_fileio_badfd, remote_fileio_return_errno)
6228         (remote_fileio_return_success, remote_fileio_func_open)
6229         (remote_fileio_func_open, remote_fileio_func_close)
6230         (remote_fileio_func_read, remote_fileio_func_write)
6231         (remote_fileio_func_lseek, remote_fileio_func_rename)
6232         (remote_fileio_func_unlink, remote_fileio_func_stat)
6233         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
6234         (remote_fileio_func_isatty, remote_fileio_func_system): Add
6235         remote_target parameter.
6236         (remote_fio_func_map) <func>: Add remote_target parameter.
6237         (do_remote_fileio_request, remote_fileio_request):
6238         * remote-fileio.h (remote_fileio_request):
6239         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
6240         remote_target parameter.
6241         (remote_notif_process, handle_notification): Adjust to pass down
6242         the remote.
6243         (remote_notif_state_allocate): Add remote_target parameter.  Save
6244         it.
6245         * remote-notif.h (struct remote_target): Forward declare.
6246         (struct notif_client) <parse, ack, can_get_pending_events>: Add
6247         remote_target parameter.
6248         (struct remote_notif_state) <remote>: New field.
6249         (remote_notif_ack, remote_notif_parse): Add remote_target
6250         parameter.
6251         (remote_notif_state_allocate, remote_notif_state_allocate): Add
6252         remote_target parameter.
6253         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
6254         (threads_listing_context, rmt_thread_action, protocol_feature)
6255         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
6256         (packet_result, struct threads_listing_context, remote_state):
6257         Move definitions and declarations higher up.
6258         (remote_target) <~remote_target>: Declare.
6259         (remote_download_command_source, remote_file_put, remote_file_get)
6260         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
6261         (remote_hostio_pread_vFile, remote_hostio_send_command)
6262         (remote_hostio_set_filesystem, remote_hostio_open)
6263         (remote_hostio_close, remote_hostio_unlink, remote_state)
6264         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
6265         (get_memory_write_packet_size, get_memory_read_packet_size)
6266         (append_pending_thread_resumptions, remote_detach_1)
6267         (append_resumption, remote_resume_with_vcont)
6268         (add_current_inferior_and_thread, wait_ns, wait_as)
6269         (process_stop_reply, remote_notice_new_inferior)
6270         (process_initial_stop_replies, remote_add_thread)
6271         (btrace_sync_conf, remote_btrace_maybe_reopen)
6272         (remove_new_fork_children, kill_new_fork_children)
6273         (discard_pending_stop_replies, stop_reply_queue_length)
6274         (check_pending_events_prevent_wildcard_vcont)
6275         (discard_pending_stop_replies_in_queue, stop_reply)
6276         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
6277         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
6278         (remote_interrupt_as, remote_interrupt_ns)
6279         (remote_get_noisy_reply, remote_query_attached)
6280         (remote_add_inferior, remote_current_thread, get_current_thread)
6281         (set_thread, set_general_thread, set_continue_thread)
6282         (set_general_process, write_ptid)
6283         (remote_unpack_thread_info_response, remote_get_threadinfo)
6284         (parse_threadlist_response, remote_get_threadlist)
6285         (remote_threadlist_iterator, remote_get_threads_with_ql)
6286         (remote_get_threads_with_qxfer)
6287         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
6288         (get_offsets, remote_check_symbols, remote_supported_packet)
6289         (remote_query_supported, remote_packet_size)
6290         (remote_serial_quit_handler, remote_detach_pid)
6291         (remote_vcont_probe, remote_resume_with_hc)
6292         (send_interrupt_sequence, interrupt_query)
6293         (remote_notif_get_pending_events, fetch_register_using_p)
6294         (send_g_packet, process_g_packet, fetch_registers_using_g)
6295         (store_register_using_P, store_registers_using_G)
6296         (set_remote_traceframe, check_binary_download)
6297         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
6298         (remote_xfer_live_readonly_partial, remote_read_bytes)
6299         (remote_send_printf, remote_flash_write, readchar)
6300         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
6301         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
6302         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
6303         (extended_remote_disable_randomization, extended_remote_run)
6304         (send_environment_packet, extended_remote_environment_support)
6305         (extended_remote_set_inferior_cwd, remote_write_qxfer)
6306         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
6307         (packet_command): Now methods of ...
6308         (remote_target): ... this class.
6309         (m_remote_state) <remote_target>: New field.
6310         (struct remote_state) <stop_reply_queue,
6311         remote_async_inferior_event_token, wait_forever_enabled_p>: New
6312         fields.
6313         (remote_state::remote_state): Allocate stop_reply_queue.
6314         (remote_state): Delete global.
6315         (get_remote_state_raw): Delete.
6316         (remote_target::get_remote_state): Allocate m_remote_state on
6317         demand.
6318         (get_current_remote_target): New.
6319         (remote_ops, extended_remote_ops): Delete.
6320         (wait_forever_enabled_p, remote_async_inferior_event_token):
6321         Delete, moved to struct remote_state.
6322         (remote_target::close): Delete self.  Destruction bits split to
6323         ...
6324         (remote_target::~remote_target): ... this.
6325         (show_memory_packet_size): Adjust to use
6326         get_current_remote_target.
6327         (struct protocol_feature) <func>: Add remote_target parameter.
6328         All callers adjusted.
6329         (curr_quit_handler_target): New.
6330         (remote_serial_quit_handler): Reimplement.
6331         (remote_target::open_1): Adjust to use get_current_remote_target.
6332         Heap-allocate remote_target/extended_remote_target instances.
6333         (vcont_builder::vcont_builder): Add remote_target parameter, and
6334         save it in m_remote.  All callers adjusted.
6335         (vcont_builder::m_remote): New field.
6336         (vcont_builder::restart, vcont_builder::flush)
6337         (vcont_builder::push_action): Use it.
6338         (remote_target::commit_resume): Use it.
6339         (struct queue_iter_param) <remote>: New field.
6340         (remote_target::remove_new_fork_children): Fill in 'remote' field.
6341         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
6342         (check_pending_event_prevents_wildcard_vcont_callback)
6343         (remote_target::check_pending_events_prevent_wildcard_vcont)
6344         (remote_target::discard_pending_stop_replies)
6345         (remote_target::discard_pending_stop_replies_in_queue)
6346         (remote_target::remote_notif_remove_queued_reply): Fill in
6347         'remote' field.
6348         (remote_notif_get_pending_events): New.
6349         (remote_target::readchar, remote_target::remote_serial_write):
6350         Save/restore curr_quit_handler_target.
6351         (putpkt): New.
6352         (kill_new_fork_children): Fill in 'remote' field.
6353         (packet_command): Use get_current_remote_target, defer to
6354         remote_target method of same name.
6355         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
6356         parameter, and save it in m_remote.  All callers adjusted.
6357         (scoped_remote_fd::release): Use m_remote.
6358         (scoped_remote_fd::m_remote): New field.
6359         (remote_file_put, remote_file_get, remote_file_delete): Use
6360         get_current_remote_target, defer to remote_target method of same
6361         name.
6362         (remote_btrace_reset): Add remote_state paremeter.  Update all
6363         callers.
6364         (remote_async_inferior_event_handler). Pass down 'data'.
6365         (remote_new_objfile): Use get_current_remote_target.
6366         (remote_target::vcont_r_supported): New.
6367         (set_range_stepping): Use get_current_remote_target and
6368         remote_target::vcont_r_supported.
6369         (_initialize_remote): Don't allocate 'remote_state' and
6370         'stop_reply_queue' globals.
6371         * remote.h (struct remote_target): Forward declare.
6372         (getpkt, putpkt, remote_notif_get_pending_events): Add
6373         'remote_target' parameter.
6374
6375 2018-05-22  Pedro Alves  <palves@redhat.com>
6376
6377         * remote.c (vcont_builder): Now a class.  Make all data members
6378         private.
6379         (vcont_builder) <vcont_builder, restart, flush, push_action>:
6380         Declare methods.
6381         (vcont_builder_restart): Rename to ...
6382         (vcont_builder::restart): ... this.
6383         (vcont_builder_flush): Rename to ...
6384         (vcont_builder::flush): ... this.
6385         (vcont_builder_push_action): Rename to ...
6386         (vcont_builder::push_action): ... this.
6387         (remote_target::commit_resume): Adjust.
6388
6389 2018-05-22  Pedro Alves  <palves@redhat.com>
6390
6391         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
6392         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
6393         (get_fixed_memory_packet_size): New.
6394         (get_memory_packet_size): Use it.
6395         (set_memory_packet_size): Don't override the config size with
6396         DEFAULT_MAX_MEMORY_PACKET_SIZE.
6397         (show_memory_packet_size): Use get_fixed_memory_packet_size.
6398         Don't refer to get_memory_packet_size if not connected to a remote
6399         target.  Show "(default)" if configured size is 0.
6400
6401 2018-05-22  Pedro Alves  <palves@redhat.com>
6402
6403         * remote.c (remote_target::mourn_inferior): Move
6404         discard_pending_stop_replies call here from ...
6405         (_initialize_remote): ... here.
6406
6407 2018-05-22  Pedro Alves  <palves@redhat.com>
6408
6409         * remote.c (compare_section_command): Remove set_general_process
6410         call.
6411
6412 2018-05-22  Pedro Alves  <palves@redhat.com>
6413
6414         * remote.c (struct packet_reg, struct remote_arch_state):
6415         Move higher up in the file.
6416         (remote_state) <m_arch_states>: Store remote_arch_state values
6417         instead of remote_arch_state pointers.
6418         (remote_state::get_remote_arch_state): Adjust.
6419
6420 2018-05-22  Pedro Alves  <palves@redhat.com>
6421
6422         * remote.c: Include <unordered_map>.
6423         (remote_state): Now a class.
6424         (remote_state) <get_remote_arch_state>: Declare method.
6425         <get_remote_arch_state>: New field.
6426         (remote_arch_state) <remote_arch_state>: Declare ctor.
6427         <regs>: Now a unique_ptr.
6428         (remote_gdbarch_data_handle): Delete.
6429         (get_remote_arch_state): Delete.
6430         (remote_state::get_remote_arch_state): New.
6431         (get_remote_state): Adjust to call remote_state's
6432         get_remote_arch_state method.
6433         (init_remote_state): Delete, bits factored out to ...
6434         (remote_arch_state::remote_arch_state): ... this new method.
6435         (get_remote_packet_size, get_memory_packet_size)
6436         (process_g_packet, remote_target::fetch_registers)
6437         (remote_target::prepare_to_store, store_registers_using_G)
6438         (remote_target::store_registers, remote_target::get_trace_status):
6439         Adjust to call remote_state's method.
6440         (_initialize_remote): Remove reference to
6441         remote_gdbarch_data_handle.
6442
6443 2018-05-22  Pedro Alves  <palves@redhat.com>
6444
6445         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
6446         pread>: New method declarations.
6447         (remote_target::open_1): Adjust.
6448         (readahead_cache_invalidate): Rename to ...
6449         (readahead_cache::invalidate): ... this, and adjust to be a class
6450         method.
6451         (readahead_cache_invalidate_fd): Rename to ...
6452         (readahead_cache::invalidate_fd): ... this, and adjust to be a
6453         class method.
6454         (remote_hostio_pwrite): Adjust.
6455         (remote_hostio_pread_from_cache): Rename to ...
6456         (readahead_cache::pread): ... this, and adjust to be a class
6457         method.
6458         (remote_hostio_close): Adjust.
6459
6460 2018-05-22  Pedro Alves  <palves@redhat.com>
6461
6462         * remote.c (remote_hostio_close_cleanup): Delete.
6463         (class scoped_remote_fd): New.
6464         (remote_file_put, remote_file_get): Use it.
6465
6466 2018-05-22  Pedro Alves  <palves@redhat.com>
6467
6468         (struct vCont_action_support): Use bool and initialize all fields.
6469         (struct readahead_cache): Initialize all fields.
6470         (remote_state): Use bool and initialize all fields.
6471         (remote_state::remote_state, remote_state::~remote_state): New.
6472         (new_remote_state): Delete.
6473         (_initialize_remote): Use new to allocate remote_state.
6474
6475 2018-05-22  Pedro Alves  <palves@redhat.com>
6476             張俊芝  <zjz@zjz.name>
6477
6478         PR gdb/22973
6479         * c-exp.y: Include "c-support.h".
6480         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
6481         of tolower.  Use c_ident_is_alpha to scan names.
6482         * c-lang.c: Include "c-support.h".
6483         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
6484         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
6485         * c-support.h: New file, with bits factored out from ...
6486         * cp-name-parser.y: ... this file.
6487         Include "c-support.h".
6488         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
6489         c-support.h and renamed.
6490         (symbol_end, yylex): Adjust.
6491
6492 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6493
6494         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
6495         parameter type to CORE_ADDR.
6496         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
6497         parameter type in declaration to CORE_ADDR.
6498         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
6499         target_auxv_search to get AT_HWCAP and use the result to get the
6500         target description.
6501         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
6502         to CORE_ADDR. Remove the cast of the return value to unsigned
6503         long. Fix error predicate of target_auxv_search.
6504         (ppc_linux_nat_target::read_description): Change the type of the
6505         hwcap variable to CORE_ADDR.
6506
6507 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6508
6509         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
6510         if the size of fpscr is larger than 32 bits.
6511
6512 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6513
6514         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
6515         (ppc32_linux_vsxregmap): New global.
6516         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
6517         regcache_supply_regset, and regcache_collect_regset.
6518         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
6519         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
6520         (fetch_vsx_register, store_vsx_register): Remove.
6521         (fetch_vsx_registers): Add regno parameter. Get regset using
6522         ppc_linux_vsxregset. Use regset to supply registers.
6523         (store_vsx_registers): Add regno parameter. Get regset using
6524         ppc_linux_vsxregset. Use regset to collect registers.
6525         (fetch_register): Call fetch_vsx_registers instead of
6526         fetch_vsx_register.
6527         (store_register): Call store_vsx_registers instead of
6528         store_vsx_register.
6529         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
6530         new regno parameter.
6531         (store_ppc_registers): Call store_vsx_registers with -1 for the
6532         new regno parameter.
6533         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
6534         (ppc_collect_vsxregset): Remove.
6535
6536 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6537
6538         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
6539         offset fields.
6540         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
6541         for vector register offset fields.
6542         (ppc64_fbsd_reg_offsets): Likewise.
6543         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6544         to vector register offset fields.
6545         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
6546         to vector register offset fields.
6547         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
6548         vector register offset fields.
6549         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
6550         initializers for vector register offset fields.
6551         (rs6000_aix64_reg_offsets): Likewise.
6552         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
6553         (ppc_supply_vrregset): Remove.
6554         (ppc_collect_vrregset): Remove.
6555         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
6556         (ppc_linux_vrregset) : New function.
6557         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
6558         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
6559         (ppc32_linux_vrregset): Remove.
6560         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
6561         and use result instead of ppc32_linux_vrregset.
6562         (ppc32_linux_reg_offsets): Remove initializers for vector register
6563         offset fields.
6564         (ppc64_linux_reg_offsets): Likewise.
6565         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
6566         * ppc-linux-nat.c: Include regset.h.
6567         (gdb_vrregset_t): Adjust comment to account for little-endian
6568         mode.
6569         (supply_vrregset, fill_vrregset): Remove.
6570         (fetch_altivec_register, store_altivec_register): Remove.
6571         (fetch_altivec_registers): Add regno parameter. Get regset using
6572         ppc_linux_vrregset. Use regset to supply registers.
6573         (store_altivec_registers): Add regno parameter. Get regset using
6574         ppc_linux_vrregset. Use regset to collect registers.
6575         (fetch_register): Call fetch_altivec_registers instead of
6576         fetch_altivec_register.
6577         (store_register): Call store_altivec_registers instead of
6578         store_altivec_register.
6579         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
6580         the new regno parameter.
6581         (store_ppc_registers): Call store_altivec_registers with -1 for
6582         the new regno parameter.
6583
6584 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6585
6586         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
6587         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
6588         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
6589         (gdb_vrregset_t): Change array type size to
6590         PPC_LINUX_SIZEOF_VRREGSET.
6591         (gdb_vsxregset_t): Change array type size to
6592         PPC_LINUX_SIZEOF_VSXREGSET.
6593         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
6594         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
6595         PPC_LINUX_SIZEOF_VSXREGSET.
6596
6597 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6598
6599         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
6600         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
6601         nat/ppc-linux.c.
6602         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
6603         ppc_linux_target_wordsize with tid.
6604         (ppc_linux_nat_target::read_description): Call ppc_linux_target
6605         wordsize with tid.
6606         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
6607         (ppc64_64bit_inferior_p): Add static and inline specifiers.
6608         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
6609         tid parameter. Remove static specifier.
6610         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
6611         (ppc_linux_target_wordsize): New declaration.
6612
6613 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
6614
6615         * arch/ppc-linux-common.c: New file.
6616         * arch/ppc-linux-common.h: New file.
6617         * arch/ppc-linux-tdesc.h: New file.
6618         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
6619         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
6620         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
6621         arch/ppc-linux-tdesc.h.
6622         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
6623         arch/ppc-linux-tdesc.h.
6624         (ppc_linux_nat_target::read_description): Remove target
6625         description matching code. Fill a ppc_linux_features struct and
6626         call ppc_linux_match_description with it. Move comment about ISA
6627         2.05 to ppc-linux-common.c.
6628         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
6629         arch/ppc-linux-tdesc.h.
6630         (ppc_linux_core_read_description): Remove target description
6631         matching code. Fill a ppc_linux_features struct and call
6632         ppc_linux_match_description with it.
6633         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
6634         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
6635         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
6636         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
6637         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
6638         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
6639         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
6640         (tdesc_powerpc_e500l): Remove.
6641
6642 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
6643
6644         * ada-lang.c (catch_assert_command): Pass empty string instead
6645         of NULL for excep_string argument.
6646
6647 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
6648
6649         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
6650         the width of the requested register exceeds the width of the
6651         `ptrace' data type.
6652
6653 2018-05-21  Tom Tromey  <tom@tromey.com>
6654
6655         * printcmd.c (output_command): Remove.
6656         (output_command_const): Rename to output_command.
6657         * valprint.h (output_command): Rename from output_command_const.
6658         * tracepoint.c (trace_dump_actions): Call output_command.
6659
6660 2018-05-21  Tom Tromey  <tom@tromey.com>
6661
6662         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
6663         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
6664         * ada-lang.h (create_ada_exception_catchpoint): Update.
6665         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
6666         std::string.
6667         (create_excep_cond_exprs, ~ada_catchpoint)
6668         (should_stop_exception, print_one_exception)
6669         (print_mention_exception, print_recreate_exception): Update.
6670         (ada_get_next_arg): Remove.
6671         (catch_ada_exception_command_split): Use std::string.  Change type
6672         of "excep_string", "cond_string".
6673         (catch_ada_exception_command): Update.
6674         (create_ada_exception_catchpoint): Change type of excep_string.
6675         (ada_exception_sal): Remove excep_string parameter.
6676         (~ada_catchpoint): Remove.
6677
6678 2018-05-21  Tom Tromey  <tom@tromey.com>
6679
6680         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
6681         cleanup.
6682
6683 2018-05-21  Tom Tromey  <tom@tromey.com>
6684
6685         * ada-lang.c (ada_exception_message_1, ada_exception_message):
6686         Return unique_xmalloc_ptr.
6687         (print_it_exception): Update.
6688
6689 2018-05-21  Tom Tromey  <tom@tromey.com>
6690
6691         * tracepoint.c (trace_dump_actions): Use std::string.
6692
6693 2018-05-21  Tom Tromey  <tom@tromey.com>
6694
6695         * symfile.c (reread_symbols): Use std::string for original_name.
6696
6697 2018-05-21  Tom Tromey  <tom@tromey.com>
6698
6699         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
6700         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
6701         constructor.
6702
6703 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
6704
6705         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
6706         instance to...
6707         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
6708         * objfiles.c (get_objfile_bfd_data): Allocate
6709         objfile_per_bfd_storage with obstack_new when allocating on
6710         obstack.
6711
6712 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
6713
6714         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
6715         OBSTACK_ZALLOC.
6716         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
6717         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
6718         * mdebugread.c (mdebug_build_psymtabs): Likewise.
6719         (add_pending): Likewise.
6720         (parse_symbol): Likewise.
6721         (parse_partial_symbols): Likewise.
6722         (psymtab_to_symtab_1): Likewise.
6723         (new_psymtab): Likewise.
6724         (elfmdebug_build_psymtabs): Likewise.
6725         * minsyms.c (terminate_minimal_symbol_table): Likewise.
6726         * objfiles.c (get_objfile_bfd_data): Likewise.
6727         (objfile_register_static_link): Likewise.
6728         * psymtab.c (allocate_psymtab): Likewise.
6729         * stabsread.c (read_member_functions): Likewise.
6730         * xcoffread.c (xcoff_end_psymtab): Likewise.
6731
6732 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
6733
6734         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
6735         compiler supports std::is_trivially_constructible.
6736         * common/poison.h: Include obstack.h.
6737         (IsMallocable): Define to is_trivially_constructible if the
6738         compiler supports it, define to true_type otherwise.
6739         (xobnew): New.
6740         (XOBNEW): Redefine.
6741         (xobnewvec): New.
6742         (XOBNEWVEC): Redefine.
6743         * gdb_obstack.h (obstack_zalloc): New.
6744         (OBSTACK_ZALLOC): Redefine.
6745         (obstack_calloc): New.
6746         (OBSTACK_CALLOC): Redefine.
6747         (obstack_new): New.
6748         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
6749         (gdbarch_obstack): New declaration in gdbarch.h, definition in
6750         gdbarch.c.
6751         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
6752         obstack_calloc/obstack_zalloc.
6753         (gdbarch_obstack_zalloc): Remove.
6754         * target-descriptions.c (tdesc_data_init): Use obstack_new.
6755
6756 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6757
6758         * stack.c (backtrace_command_1): Remove useless variable int i.
6759
6760 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6761
6762         * stack.c (print_frame_info): Fix comment.
6763
6764 2018-05-18  Tom Tromey  <tom@tromey.com>
6765
6766         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
6767         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
6768         (~dwarf2_per_objfile): Update
6769         (dwarf2_get_dwz_file): Use new.
6770         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
6771         unique_ptr.
6772
6773 2018-05-18  Tom Tromey  <tom@tromey.com>
6774
6775         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
6776         unique_ptr.
6777         * dwarf2read.c (struct dwp_file): Add constructor and
6778         initializers.
6779         (open_and_init_dwp_file): Return a unique_ptr.
6780         (dwarf2_per_objfile, create_dwp_hash_table)
6781         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
6782         (lookup_dwo_unit_in_dwp): Update.
6783         (open_and_init_dwp_file, get_dwp_file): Update.
6784
6785 2018-05-18  Tom Tromey  <tom@tromey.com>
6786
6787         * dwarf2read.c (dwarf2_per_objfile): Update.
6788         (struct mapped_index): Add initializers.
6789         (dwarf2_read_index): Use new.
6790         (dw2_symtab_iter_init): Update.
6791         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
6792         unique_ptr.
6793
6794 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6795
6796         * dwarf2read.c (mapped_index) <total_size>: Remove.
6797
6798 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
6799
6800         * unittests/format_pieces-selftests.c (test_format_specifier):
6801         Add ARI comments.
6802
6803 2018-05-18  Tom Tromey  <tom@tromey.com>
6804
6805         * c-typeprint.c (maybe_print_hole): New function.
6806         (c_print_type_struct_field_offset): Update.
6807         (c_type_print_base_struct_union): Call maybe_print_hole.
6808
6809 2018-05-17  Keith Seitz  <keiths@redhat.com>
6810
6811         * breakpoint.c (build_bpstat_chain): New function, moved from
6812         bpstat_stop_status.
6813         (bpstat_stop_status): Add optional parameter, `stop_chain'.
6814         If no stop chain is passed, call build_bpstat_chain to build it.
6815         * breakpoint.h (build_bpstat_chain): Declare.
6816         (bpstat_stop_status): Move documentation here from breakpoint.c.
6817         * infrun.c (handle_signal_stop): Before eliding inlined frames,
6818         build the stop chain and pass it to skip_inline_frames.
6819         Pass this stop chain to bpstat_stop_status.
6820         * inline-frame.c: Include breakpoint.h.
6821         (stopped_by_user_bp_inline_frame): New function.
6822         (skip_inline_frames): Add parameter `stop_chain'.
6823         Move documention to inline-frame.h.
6824         If non-NULL, use stopped_by_user_bp_inline_frame to determine
6825         whether the frame should be elided.
6826         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
6827         Add moved documentation and update for new parameter.
6828
6829 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6830
6831         PR cli/14975
6832         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6833         unittests/format_pieces-selftests.c.
6834         * common/format.h (format_piece) <operator==>: New.
6835         (format_pieces) <operator[]>: Remove.
6836         * common/format.c (format_pieces::format_pieces): Handle \e.
6837         * unittests/format_pieces-selftests.c: New.
6838
6839 2018-05-17  Tom Tromey  <tom@tromey.com>
6840
6841         PR symtab/23010:
6842         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
6843         (dw2_instantiate_symtab): Add skip_partial parameter.
6844         (dw2_find_last_source_symtab, dw2_map_expand_apply)
6845         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
6846         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
6847         (dw2_expand_symtabs_matching_one)
6848         (dw2_find_pc_sect_compunit_symtab)
6849         (dw2_debug_names_lookup_symbol)
6850         (dw2_debug_names_expand_symtabs_for_function): Update.
6851         (init_cutu_and_read_dies): Add skip_partial parameter.
6852         (process_psymtab_comp_unit, build_type_psymtabs_1)
6853         (process_skeletonless_type_unit, load_partial_comp_unit)
6854         (psymtab_to_symtab_1): Update.
6855         (load_full_comp_unit): Add skip_partial parameter.
6856         (process_imported_unit_die, dwarf2_read_addr_index)
6857         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
6858         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
6859         (read_signatured_type): Update.
6860
6861 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
6862
6863         * value.c (release_value): Remove unused variable.
6864         (record_latest_value): Likewise.
6865         (access_value_history): Likewise.
6866         (preserve_values): Likewise.
6867
6868 2018-05-17  Tom Tromey  <tom@tromey.com>
6869
6870         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
6871         Initialize.
6872
6873 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
6874
6875         PR gdb/22286
6876         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
6877         Also handle registers whose width is not a multiple of
6878         PTRACE_TYPE_RET.
6879         (linux_nat_trad_target::store_register): Likewise.
6880
6881 2018-05-16  Tom Tromey  <tom@tromey.com>
6882
6883         * gdbcore.h (core_bfd): Redefine.
6884         * corelow.c (core_target::close): Update.
6885         (core_target_open): Update.
6886         * progspace.h (struct program_space) <cbfd>: Now a
6887         gdb_bfd_ref_ptr.
6888
6889 2018-05-16  Tom Tromey  <tom@tromey.com>
6890
6891         PR cli/19551:
6892         * symfile-add-flags.h (enum symfile_add_flags)
6893         <SYMFILE_NOT_FILENAME>: New constant.
6894         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
6895         objfile name from BFD.
6896         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
6897         * minidebug.c (find_separate_debug_file_in_section): Put
6898         ".gnu_debugdata" into BFD's file name.
6899
6900 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
6901
6902         * regcache.c (regcache_read_ftype, regcache_write_ftype):
6903         Remove.
6904
6905 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
6906
6907         PR binutils/21446
6908         * aarch64-tdep.c (aarch64_analyze_prologue,
6909         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
6910         Indicate not interested in errors.
6911
6912 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6913
6914         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
6915         Supply the MIPS_ZERO_REGNUM register.
6916
6917 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
6918
6919         * mips-tdep.c (mask_address_var): Make variable static.
6920
6921 2018-05-14  Tom Tromey  <tom@tromey.com>
6922
6923         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
6924
6925 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
6926
6927         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
6928         FXSAVE_ADDR for the mxcsr register.
6929
6930 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
6931
6932         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
6933
6934 2018-05-11  Pedro Alves  <palves@redhat.com>
6935
6936         * corelow.c (core_target) <core_target>: No longer inline.
6937         Initialize m_core_gdbarch, m_core_vec and build the section table
6938         here.
6939         <~core_target>: New.
6940         <core_gdbarch, get_core_register_section>: New methods.
6941         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
6942         factored out from ...
6943         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
6944         (core_ops): Delete.
6945         (sniff_core_bfd): Add gdbarch parameter.
6946         (core_close): Delete, merged into ...
6947         (core_target::close): ... here.  Delete self.
6948         (core_close_cleanup): Delete.
6949         (core_target_open): Allocate a core_target on the heap.  Use a
6950         unique_ptr instead of a cleanup.  Bits moved into the core_target
6951         ctor.  Adjust to use core_target methods instead of globals.
6952         (get_core_register_section): Rename to ...
6953         (core_target::get_core_register_section): ... this and adjust.
6954         (struct get_core_registers_cb_data): New.
6955         (get_core_registers_cb): Use it.  Use bool.
6956         (core_target::fetch_registers, core_target::files_info)
6957         (core_target::xfer_partial, core_target::read_description)
6958         (core_target::pid_to, core_target::thread_name): Adjust to
6959         reference class fields instead of globals.
6960         * target.h (struct target_ops_deleter, target_ops_up): New.
6961
6962 2018-05-11  Pedro Alves  <palves@redhat.com>
6963
6964         * corefile.c (core_file_command): Move to corelow.c.
6965         * corelow.c (the_core_target): Delete.
6966         (core_file_command): Moved from corefile.c.  Check exec_bfd
6967         instead of the_core_target.  Use target_detach instead of calling
6968         into the_core_target directly.
6969         (maybe_say_no_core_file_now): New.
6970         (core_target::detach): Use it.
6971         (_initialize_corelow): Remove references to the_core_target.
6972         * gdbcore.h (the_core_target): Delete.
6973
6974 2018-05-11  Tom Tromey  <tromey@redhat.com>
6975             Pedro Alves  <palves@redhat.com>
6976
6977         * corefile.c (core_bfd): Remove.
6978         * gdbcore.h (core_bfd): Now a macro.
6979         * progspace.h (struct program_space) <cbfd>: New field.
6980
6981 2018-05-11  Tom Tromey  <tom@tromey.com>
6982
6983         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
6984         gdb::def_vector.
6985
6986 2018-05-10  Tom Tromey  <tom@tromey.com>
6987
6988         * configure: Rebuild.
6989         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
6990
6991 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
6992
6993         PR server/23158:
6994         * regformats/regdat.sh: Adjust script, following the addition
6995         of the new expedite_regs parameter to init_target_desc.
6996
6997 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
6998     
6999         PR gdb/23127
7000         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
7001         set_gdbarch_significant_addr_bit.
7002         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
7003         set_gdbarch_significant_addr_bit.
7004         * utils.c (address_significant): Update to sign extend addr.
7005
7006 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
7007
7008         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
7009         (xtensa_linux_init_abi): Limit tdep->num_regs by
7010         tdep->num_nopriv_regs.
7011         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
7012         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
7013         not initialized.
7014
7015 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
7016
7017         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
7018
7019 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
7020
7021         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
7022         (I387_MXCSR_INIT_VAL): New constant.
7023         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
7024         buffer if it was supplied by the inferior.
7025         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
7026         (i387_xsave_get_clear_bv): New function.
7027         (i387_supply_xsave): Only read x87 control registers from the
7028         xsave buffer if the feature is enabled, and the state will have
7029         been written, otherwise, provide a suitable default.
7030         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
7031         including x87 control registers.  Update control registers if they
7032         have changed from the default value, and mark features as enabled
7033         as required.
7034         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
7035
7036 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
7037
7038         * spu-tdep.c (info_spu_event_command): Fix output formatting.
7039
7040 2018-05-07  Tom Tromey  <tom@tromey.com>
7041
7042         * configure: Rebuild.
7043         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
7044
7045 2018-05-07  Tom Tromey  <tom@tromey.com>
7046
7047         PR tdep/20362:
7048         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
7049         bit.  Use correct value for VDIV.
7050
7051 2018-05-04  Tom Tromey  <tom@tromey.com>
7052
7053         * configure: Rebuild.
7054         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
7055
7056 2018-05-04  Tom Tromey  <tom@tromey.com>
7057
7058         * linux-record.c (record_linux_system_call) <case
7059         RECORD_SYS_RECVFROM>: Add "break".
7060
7061 2018-05-04  Tom Tromey  <tom@tromey.com>
7062
7063         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
7064         Add missing "break".
7065         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
7066         Add missing "break".
7067
7068 2018-05-04  Tom Tromey  <tom@tromey.com>
7069
7070         * rs6000-tdep.c (ppc_process_record_op4)
7071         (ppc_process_record_op63): Add fall-through comment.
7072
7073 2018-05-04  Tom Tromey  <tom@tromey.com>
7074
7075         * i386-tdep.c (i386_process_record): Add fall-through comment.
7076
7077 2018-05-04  Tom Tromey  <tom@tromey.com>
7078
7079         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
7080         comment.
7081
7082 2018-05-04  Tom Tromey  <tom@tromey.com>
7083
7084         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
7085         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
7086         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
7087         comment.
7088         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
7089         comment.
7090         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
7091         comment.
7092
7093 2018-05-04  Tom Tromey  <tom@tromey.com>
7094
7095         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
7096
7097 2018-05-04  Tom Tromey  <tom@tromey.com>
7098
7099         * s390-tdep.c (s390_process_record): Fix fall-through comments.
7100         * xcoffread.c (scan_xcoff_symtab): Move comment later.
7101         * symfile.c (section_is_mapped): Fix fall-through comment.
7102         * stabsread.c (define_symbol, read_member_functions): Fix
7103         fall-through comment.
7104         * s390-linux-tdep.c (s390_process_record): Fix fall-through
7105         comment.
7106         * remote.c (remote_wait_as): Fix fall-through comment.
7107         * p-exp.y (yylex): Fix fall-through comment.
7108         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
7109         comment.
7110         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
7111         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
7112         * jv-exp.y (yylex): Fix fall-through comment.
7113         * go-exp.y (lex_one_token): Fix fall-through comment.
7114         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
7115         fall-through comment.
7116         * f-exp.y (yylex): Fix fall-through comment.
7117         * dwarf2read.c (process_die): Fix fall-through comments.
7118         * dbxread.c (process_one_symbol): Fix fall-through comment.
7119         * d-exp.y (lex_one_token): Fix fall-through comment.
7120         * cp-name-parser.y (yylex): Fix fall-through comment.
7121         * coffread.c (coff_symtab_read): Fix fall-through comment.
7122         * c-exp.y (lex_one_token): Fix fall-through comment.
7123         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
7124         comment.
7125         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
7126         comment.
7127
7128 2018-05-04  Tom Tromey  <tom@tromey.com>
7129
7130         PR python/22730:
7131         * NEWS: Mention gdb.execute change.
7132         * gdbcmd.h (execute_control_command): Don't declare.
7133         * python/python.c (execute_gdb_command): Use read_command_lines_1,
7134         execute_control_commands, execute_control_commands_to_string.
7135         * cli/cli-script.h (execute_control_commands)
7136         (execute_control_commands_to_string): Declare.
7137         (execute_control_command): Add from_tty parameter.
7138         * cli/cli-script.c (execute_control_commands)
7139         (execute_control_commands_to_string): New functions.
7140         (execute_user_command): Use execute_control_commands.
7141         (execute_control_command_1): Add "from_tty" parameter.  Update.
7142         (execute_control_command): Likewise.
7143
7144 2018-05-04  Tom Tromey  <tom@tromey.com>
7145
7146         PR python/22731:
7147         * NEWS: Mention that breakpoint commands are writable.
7148         * python/py-breakpoint.c (bppy_set_commands): New function.
7149         (breakpoint_object_getset) <"commands">: Use it.
7150
7151 2018-05-04  Tom Tromey  <tom@tromey.com>
7152
7153         * tracepoint.c (actions_command): Update.
7154         * mi/mi-cmd-break.c (mi_command_line_array)
7155         (mi_command_line_array_cnt, mi_command_line_array_ptr)
7156         (mi_read_next_line): Remove.
7157         (mi_cmd_break_commands): Update.
7158         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
7159         function_view.
7160         * cli/cli-script.c (get_command_line): Update.
7161         (process_next_line): Use function_view.  Constify.
7162         (recurse_read_control_structure, read_command_lines)
7163         (read_command_lines_1): Change argument types to function_view.
7164         (do_define_command, document_command): Update.
7165         * breakpoint.h (check_tracepoint_command): Don't declare.
7166         * breakpoint.c (check_tracepoint_command): Remove.
7167         (commands_command_1, create_tracepoint_from_upload): Update.
7168
7169 2018-05-04  Tom Tromey  <tom@tromey.com>
7170
7171         PR gdb/11750:
7172         * cli/cli-script.h (enum command_control_type) <define_control>:
7173         New constant.
7174         * cli/cli-script.c (multi_line_command_p): Handle define_control.
7175         (build_command_line, execute_control_command_1)
7176         (process_next_line): Likewise.
7177         (do_define_command): New function, extracted from define_command.
7178         (define_command): Use it.
7179
7180 2018-05-04  Tom Tromey  <tom@tromey.com>
7181
7182         * tracepoint.c (actions_command): Update.
7183         * cli/cli-script.h (read_command_lines): Update.
7184         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
7185         (MAX_TMPBUF): Remove define.
7186         (define_command): Use string_printf.
7187         (document_command): Likewise.
7188         * breakpoint.c (commands_command_1): Update.
7189
7190 2018-05-04  Tom Tromey  <tom@tromey.com>
7191
7192         * top.c (execute_command): Update.
7193         * cli/cli-script.h (print_command_lines): Now varargs.
7194         * cli/cli-script.c (print_command_lines): Now varargs.
7195         (execute_control_command_1) <case while_control, case if_control>:
7196         Update.
7197
7198 2018-05-04  Tom Tromey  <tom@tromey.com>
7199
7200         * tracepoint.c (all_tracepoint_actions): Rename from
7201         all_tracepoint_actions_and_cleanup.  Change return type.
7202         (actions_command, encode_actions_1, encode_actions)
7203         (trace_dump_actions, tdump_command): Update.
7204         * remote.c (remote_download_command_source): Update.
7205         * python/python.c (gdbpy_eval_from_control_command)
7206         (python_command, python_interactive_command): Update.
7207         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
7208         * guile/guile.c (guile_command)
7209         (gdbscm_eval_from_control_command, guile_command): Update.
7210         * compile/compile.c (compile_code_command)
7211         (compile_print_command, compile_to_object): Update.
7212         * cli/cli-script.h (struct command_lines_deleter): New.
7213         (counted_command_line): New typedef.
7214         (struct command_line): Add constructor, destructor.
7215         <body_list>: Remove.
7216         <body_list_0, body_list_1>: New members.
7217         (command_line_up): Remove typedef.
7218         (read_command_lines, read_command_lines_1, get_command_line):
7219         Update.
7220         (copy_command_lines): Don't declare.
7221         * cli/cli-script.c (build_command_line): Use "new".
7222         (get_command_line): Return counted_command_line.
7223         (print_command_lines, execute_user_command)
7224         (execute_control_command_1, while_command, if_command): Update.
7225         (realloc_body_list): Remove.
7226         (process_next_line, recurse_read_control_structure): Update.
7227         (read_command_lines, read_command_lines_1): Return counted_command_line.
7228         (free_command_lines): Use "delete".
7229         (copy_command_lines): Remove.
7230         (define_command, document_command, show_user_1): Update.
7231         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
7232         a counted_command_line.
7233         * breakpoint.h (counted_command_line): Remove typedef.
7234         (breakpoint_set_commands): Update.
7235         * breakpoint.c (check_no_tracepoint_commands)
7236         (validate_commands_for_breakpoint): Update.
7237         (breakpoint_set_commands): Change commands to be a
7238         counted_command_line.
7239         (commands_command_1, update_dprintf_command_list)
7240         (create_tracepoint_from_upload): Update.
7241
7242 2018-05-04  Tom Tromey  <tom@tromey.com>
7243
7244         * cli/cli-decode.h (cmd_list_element): New constructor.
7245         (~cmd_list_element): New destructor.
7246         (struct cmd_list_element): Add initializers.
7247         * cli/cli-decode.c (do_add_cmd): Use "new".
7248         (delete_cmd): Use "delete".
7249
7250 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
7251             Pedro Alves <palves@redhat.com>
7252
7253         PR breakpoints/19806 and support for PR external/20207.
7254         * NEWS: Mention Aarch64 watchpoint improvements.
7255         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
7256         watchpoints and PR external/20207 watchpoints.
7257         * nat/aarch64-linux-hw-point.c
7258         (kernel_supports_any_contiguous_range): New.
7259         (aarch64_watchpoint_offset): New.
7260         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
7261         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
7262         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
7263         (aarch64_align_watchpoint): New parameters aligned_offset_p and
7264         next_addr_orig_p.  Support PR external/20207 watchpoints.
7265         (aarch64_downgrade_regs): New.
7266         (aarch64_dr_state_insert_one_point): New parameters offset and
7267         addr_orig.
7268         (aarch64_dr_state_remove_one_point): Likewise.
7269         (aarch64_handle_breakpoint): Update caller.
7270         (aarch64_handle_aligned_watchpoint): Likewise.
7271         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
7272         aligned_offset.
7273         (aarch64_linux_set_debug_regs): Remove const from state.  Call
7274         aarch64_downgrade_regs.
7275         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
7276         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
7277         (DR_CONTROL_MASK): ... this.
7278         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
7279         (unsigned int aarch64_watchpoint_offset): New prototype.
7280         (aarch64_linux_set_debug_regs): Remove const from state.
7281         * utils.c (align_up, align_down): Move to ...
7282         * common/common-utils.c (align_up, align_down): ... here.
7283         * utils.h (align_up, align_down): Move to ...
7284         * common/common-utils.h (align_up, align_down): ... here.
7285
7286 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
7287
7288         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
7289         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
7290         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
7291         Re-implement to match the ABI as summarized in GCC's
7292         gcc/config/sparc/sparc.c.  All callers updated.
7293         (sparc32_store_arguments): Remove assertion.
7294
7295 2018-05-04  Tom Tromey  <tom@tromey.com>
7296
7297         * printcmd.c: Don't include tui.h.
7298         (decode_format): Use skip_spaces.
7299
7300 2018-05-04  Tom Tromey  <tom@tromey.com>
7301
7302         PR gdb/22619:
7303         * printcmd.c (last_count): New global.
7304         (x_command): Use saved count when repeating.
7305
7306 2018-05-04  Tom Tromey  <tom@tromey.com>
7307
7308         * nto-procfs.c (do_closedir_cleanup): Remove.
7309         (procfs_pidlist): Use gdb_dir_up.
7310         * procfs.c (do_closedir_cleanup): Remove.
7311         (proc_update_threads): Use gdb_dir_up.
7312         * common/filestuff.h (struct gdb_dir_deleter): New.
7313         (gdb_dir_up): New typedef.
7314
7315 2018-05-04  Tom Tromey  <tom@tromey.com>
7316
7317         * ada-lang.c (print_mention_exception): Use std::string.
7318
7319 2018-05-04  Tom Tromey  <tom@tromey.com>
7320
7321         * ada-lang.c (create_excep_cond_exprs): Update.
7322         (ada_exception_catchpoint_cond_string): Use std::string.
7323
7324 2018-05-04  Tom Tromey  <tom@tromey.com>
7325
7326         * ada-lang.c (xget_renaming_scope): Return std::string.
7327         (old_renaming_is_invisible): Update.
7328
7329 2018-05-04  Tom Tromey  <tom@tromey.com>
7330
7331         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
7332         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
7333
7334 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
7335
7336         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
7337
7338 2018-05-04  Tom Tromey  <tom@tromey.com>
7339
7340         * remote.c (remote_query_supported_append): Change type.
7341         (remote_check_symbols): Update.
7342
7343 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
7344
7345         PR gdb/11420
7346         * configure.ac: Prepend libpython.
7347         * python/python-config.py: Likewise.
7348         * configure: Regenerate.
7349
7350 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
7351
7352         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
7353
7354 2018-05-03  Pedro Alves  <palves@redhat.com>
7355
7356         * s390-linux-nat.c
7357         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
7358         override.  Write 'true' instead of '1'.
7359         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
7360         declaration.
7361
7362 2018-05-02  Pedro Alves  <palves@redhat.com>
7363
7364         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
7365         add_inf_child_target.
7366         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
7367         add_inf_child_target.
7368         * aix-thread.c (aix_thread_target_info): New.
7369         (aix_thread_target) <shortname, longname, doc>: Delete.
7370         <info>: New.
7371         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
7372         add_inf_child_target.
7373         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
7374         add_inf_child_target.
7375         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
7376         add_inf_child_target.
7377         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
7378         add_inf_child_target.
7379         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
7380         add_inf_child_target.
7381         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
7382         add_inf_child_target.
7383         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
7384         add_inf_child_target.
7385         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
7386         add_inf_child_target.
7387         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
7388         add_inf_child_target.
7389         * bfd-target.c (target_bfd_target_info): New.
7390         (target_bfd) <shortname, longname, doc>: Delete.
7391         <info>: New.
7392         * bsd-kvm.c (bsd_kvm_target_info): New.
7393         (bsd_kvm_target) <shortname, longname, doc>: Delete.
7394         <info>: New.
7395         (bsd_kvm_target::open): Rename to ...
7396         (bsd_kvm_target_open): ... this.  Adjust.
7397         * bsd-uthread.c (bsd_uthread_target_info): New.
7398         (bsd_uthread_target) <shortname, longname, doc>: Delete.
7399         <info>: New.
7400         * corefile.c (core_file_command): Adjust.
7401         * corelow.c (core_target_info): New.
7402         (core_target) <shortname, longname, doc>: Delete.
7403         <info>: New.
7404         (core_target::open): Rename to ...
7405         (core_target_open): ... this.  Adjust.
7406         * ctf.c (ctf_target_info): New.
7407         (ctf_target) <shortname, longname, doc>: Delete.
7408         <info>: New.
7409         (ctf_target::open): Rename to ...
7410         (ctf_target_open): ... this.
7411         (_initialize_ctf): Adjust.
7412         * exec.c (exec_target_info): New.
7413         (exec_target) <shortname, longname, doc>: Delete.
7414         <info>: New.
7415         (exec_target::open): Rename to ...
7416         (exec_target_open): ... this.
7417         * gdbcore.h (core_target_open): Declare.
7418         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
7419         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
7420         add_inf_child_target.
7421         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
7422         add_inf_child_target.
7423         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
7424         add_inf_child_target.
7425         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
7426         add_inf_child_target.
7427         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
7428         add_inf_child_target.
7429         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
7430         add_inf_child_target.
7431         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
7432         add_inf_child_target.
7433         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
7434         add_inf_child_target.
7435         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
7436         add_inf_child_target.
7437         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
7438         add_inf_child_target.
7439         * inf-child.c (inf_child_target_info): New.
7440         (inf_child_target::info): New.
7441         (inf_child_open_target): Remove 'target' parameter.  Use
7442         get_native_target instead.
7443         (inf_child_target::open): Delete.
7444         (add_inf_child_target): New.
7445         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
7446         Delete.
7447         <info>: New.
7448         (add_inf_child_target): Declare.
7449         (inf_child_open_target): Declare.
7450         * linux-thread-db.c (thread_db_target_info): New.
7451         (thread_db_target) <shortname, longname, doc>: Delete.
7452         <info>: New.
7453         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
7454         add_inf_child_target.
7455         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
7456         add_inf_child_target.
7457         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
7458         add_inf_child_target.
7459         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
7460         add_inf_child_target.
7461         * make-target-delegates (print_class): Adjust.
7462         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
7463         add_inf_child_target.
7464         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
7465         add_inf_child_target.
7466         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
7467         add_inf_child_target.
7468         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
7469         add_inf_child_target.
7470         * nto-procfs.c (nto_native_target_info): New.
7471         (nto_procfs_target_native) <shortname, longname, doc>:
7472         Delete.
7473         <info>: New.
7474         (nto_procfs_target_info): New.
7475         (nto_procfs_target_procfs) <shortname, longname, doc>:
7476         Delete.
7477         <info>: New.
7478         (init_procfs_targets): Adjust.
7479         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
7480         add_inf_child_target.
7481         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
7482         add_inf_child_target.
7483         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
7484         add_inf_child_target.
7485         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
7486         add_inf_child_target.
7487         * ravenscar-thread.c (ravenscar_target_info): New.
7488         (ravenscar_thread_target) <shortname, longname, doc>:
7489         Delete.
7490         <info>: New.
7491         * record-btrace.c (record_btrace_target_info):
7492         (record_btrace_target) <shortname, longname, doc>: Delete.
7493         <info>: New.
7494         (record_btrace_target::open): Rename to ...
7495         (record_btrace_target_open): ... this.  Adjust.
7496         * record-full.c (record_longname, record_doc): New.
7497         (record_full_base_target) <shortname, longname, doc>: Delete.
7498         <info>: New.
7499         (record_full_target_info): New.
7500         (record_full_target): <shortname>: Delete.
7501         <info>: New.
7502         (record_full_core_open_1, record_full_open_1): Update comments.
7503         (record_full_base_target::open): Rename to ...
7504         (record_full_open): ... this.
7505         (cmd_record_full_restore): Update.
7506         (_initialize_record_full): Update.
7507         * remote-sim.c (remote_sim_target_info): New.
7508         (gdbsim_target) <shortname, longname, doc>: Delete.
7509         <info>: New.
7510         (gdbsim_target::open): Rename to ...
7511         (gdbsim_target_open): ... this.
7512         (_initialize_remote_sim): Adjust.
7513         * remote.c (remote_doc): New.
7514         (remote_target_info): New.
7515         (remote_target) <shortname, longname, doc>: Delete.
7516         <info>: New.
7517         (extended_remote_target_info): New.
7518         (extended_remote_target) <shortname, longname, doc>: Delete.
7519         <info>: New.
7520         (remote_target::open_1): Make static.  Adjust.
7521         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
7522         * s390-linux-nat.c (_initialize_s390_nat): Use
7523         add_inf_child_target.
7524         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
7525         add_inf_child_target.
7526         * sol-thread.c (thread_db_target_info): New.
7527         (sol_thread_target) <shortname, longname, doc>: Delete.
7528         <info>: New.
7529         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
7530         add_inf_child_target.
7531         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
7532         add_inf_child_target.
7533         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
7534         add_inf_child_target.
7535         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
7536         add_inf_child_target.
7537         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
7538         add_inf_child_target.
7539         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
7540         add_inf_child_target.
7541         * spu-linux-nat.c (_initialize_spu_nat): Use
7542         add_inf_child_target.
7543         * spu-multiarch.c (spu_multiarch_target_info): New.
7544         (spu_multiarch_target) <shortname, longname, doc>: Delete.
7545         <info>: New.
7546         * target-delegates.c: Regenerate.
7547         * target.c: Include <unordered_map>.
7548         (target_ops_p): Delete.
7549         (DEF_VEC_P(target_ops_p)): Delete.
7550         (target_factories): New.
7551         (test_target_info): New.
7552         (test_target_ops::info): New.
7553         (open_target): Adjust to use target_factories.
7554         (add_target_with_completer): Rename to ...
7555         (add_target): ... this.  Change prototype.  Register target_info
7556         and open callback in target_factories.  Register target_info in
7557         command context instead of target_ops.
7558         (add_target): Delete old implementation.
7559         (add_deprecated_target_alias): Change prototype.  Adjust.
7560         (the_native_target): New.
7561         (set_native_target, get_native_target): New.
7562         (find_default_run_target): Use the_native_target.
7563         (find_attach_target, find_run_target): Simplify.
7564         (target_ops::open): Delete.
7565         (dummy_target_info): New.
7566         (dummy_target::shortname, dummy_target::longname)
7567         (dummy_target::doc): Delete.
7568         (dummy_target::info): New.
7569         (debug_target::shortname, debug_target::longname)
7570         (debug_target::doc): Delete.
7571         (debug_target::info): New.
7572         * target.h (struct target_info): New.
7573         (target_ops::~target_ops): Add comment.
7574         (target_ops::info): New.
7575         (target_ops::shortname, target_ops::longname, target_ops::doc): No
7576         longer virtual.  Implement in terms of target_info.
7577         (set_native_target, get_native_target): Declare.
7578         (target_open_ftype): New.
7579         (add_target, add_target_with_completer)
7580         (add_deprecated_target_alias): Change prototype.
7581         (test_target) <shortname, longname, doc>: Delete.
7582         <info>: New.
7583         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
7584         add_inf_child_target.
7585         * tracefile-tfile.c (tfile_target_info): New.
7586         (tfile_target) <shortname, longname, doc>: Delete.
7587         <info>: New.
7588         (tfile_target::open): Rename to ...
7589         (tfile_target_open): ... this.
7590         (_initialize_tracefile_tfile): Adjust.
7591         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
7592         add_inf_child_target.
7593         * windows-nat.c (_initialize_windows_nat): Use
7594         add_inf_child_target.
7595         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
7596         add_inf_child_target.
7597
7598 2018-05-02  Pedro Alves  <palves@redhat.com>
7599
7600         * linux-nat.h (linux_nat_target) <low_new_thread,
7601         low_delete_thread, low_new_fork, low_forget_process,
7602         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
7603         New virtual methods.
7604         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
7605         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
7606         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
7607         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
7608         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
7609         Delete.
7610         * linux-fork.c (delete_fork): Adjust to call low method.
7611         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
7612         (linux_nat_new_fork, linux_nat_forget_process_hook)
7613         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
7614         (linux_nat_status_is_event):
7615         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
7616         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
7617         to call low method.
7618         (sigtrap_is_event): Rename to ...
7619         (linux_nat_target::low_status_is_event): ... this.
7620         (linux_nat_set_status_is_event): Delete.
7621         (save_stop_reason, linux_nat_wait_1)
7622         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
7623         low methods.
7624         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
7625         (linux_nat_set_new_fork, linux_nat_set_forget_process)
7626         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
7627         (linux_nat_set_prepare_to_resume): Delete.
7628         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
7629         low virtual methods.
7630         * amd64-linux-nat.c: Likewise.
7631         * arm-linux-nat.c: Likewise.
7632         * i386-linux-nat.c: Likewise.
7633         * ia64-linux-nat.c: Likewise.
7634         * mips-linux-nat.c: Likewise.
7635         * ppc-linux-nat.c: Likewise.
7636         * s390-linux-nat.c: Likewise.
7637         * sparc64-linux-nat.c: Likewise.
7638         * x86-linux-nat.c: Likewise.
7639         * x86-linux-nat.h: Include "nat/x86-linux.h".
7640         (x86_linux_nat_target) <low_new_fork, low_forget_process,
7641         low_prepare_to_resume, low_new_thread, low_delete_thread>:
7642         Override methods.
7643
7644 2018-05-02  Pedro Alves  <palves@redhat.com>
7645
7646         * target.h (target_ops)
7647         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
7648         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
7649         stopped_by_watchpoint, have_continuable_watchpoint,
7650         stopped_data_address, watchpoint_addr_within_range,
7651         can_accel_watchpoint_condition, can_run, thread_alive,
7652         has_all_memory, has_memory, has_stack, has_registers,
7653         has_execution, can_async_p, is_async_p, supports_non_stop,
7654         always_non_stop_p, can_execute_reverse, supports_multi_process,
7655         supports_enable_disable_tracepoint,
7656         supports_disable_randomization, supports_string_tracing,
7657         supports_evaluation_of_breakpoint_conditions,
7658         can_run_breakpoint_commands, filesystem_is_local,
7659         can_download_tracepoint, get_trace_state_variable_value,
7660         set_trace_notes, get_tib_address, use_agent, can_use_agent,
7661         record_is_replaying, record_will_replay,
7662         augmented_libraries_svr4_read>: Adjust to return bool.
7663         * aarch64-linux-nat.c: All implementations adjusted.
7664         * aix-thread.c: All implementations adjusted.
7665         * arm-linux-nat.c: All implementations adjusted.
7666         * breakpoint.c: All implementations adjusted.
7667         * bsd-kvm.c: All implementations adjusted.
7668         * bsd-uthread.c: All implementations adjusted.
7669         * corelow.c: All implementations adjusted.
7670         * ctf.c: All implementations adjusted.
7671         * darwin-nat.c: All implementations adjusted.
7672         * darwin-nat.h: All implementations adjusted.
7673         * exec.c: All implementations adjusted.
7674         * fbsd-nat.c: All implementations adjusted.
7675         * fbsd-nat.h: All implementations adjusted.
7676         * gnu-nat.c: All implementations adjusted.
7677         * gnu-nat.h: All implementations adjusted.
7678         * go32-nat.c: All implementations adjusted.
7679         * ia64-linux-nat.c: All implementations adjusted.
7680         * inf-child.c: All implementations adjusted.
7681         * inf-child.h: All implementations adjusted.
7682         * inf-ptrace.c: All implementations adjusted.
7683         * inf-ptrace.h: All implementations adjusted.
7684         * linux-nat.c: All implementations adjusted.
7685         * linux-nat.h: All implementations adjusted.
7686         * mips-linux-nat.c: All implementations adjusted.
7687         * nto-procfs.c: All implementations adjusted.
7688         * ppc-linux-nat.c: All implementations adjusted.
7689         * procfs.c: All implementations adjusted.
7690         * ravenscar-thread.c: All implementations adjusted.
7691         * record-btrace.c: All implementations adjusted.
7692         * record-full.c: All implementations adjusted.
7693         * remote-sim.c: All implementations adjusted.
7694         * remote.c: All implementations adjusted.
7695         * s390-linux-nat.c: All implementations adjusted.
7696         * sol-thread.c: All implementations adjusted.
7697         * spu-multiarch.c: All implementations adjusted.
7698         * target-delegates.c: All implementations adjusted.
7699         * target.c: All implementations adjusted.
7700         * target.h: All implementations adjusted.
7701         * tracefile-tfile.c: All implementations adjusted.
7702         * tracefile.c: All implementations adjusted.
7703         * tracefile.h: All implementations adjusted.
7704         * windows-nat.c: All implementations adjusted.
7705         * x86-linux-nat.h: All implementations adjusted.
7706         * x86-nat.h: All implementations adjusted.
7707
7708 2018-05-02  Pedro Alves  <palves@redhat.com>
7709
7710         * make-target-delegates (scan_target_h): Don't trim lines here.
7711         Replace sequences of tabs and/or whitespace with a single
7712         whitespace.
7713         (top level, parsing methods): Trim each line before processing it
7714         here.
7715
7716 2018-05-02  Pedro Alves  <palves@redhat.com>
7717             John Baldwin  <jhb@freebsd.org>
7718
7719         * target.h (enum strata) <debug_stratum>: New.
7720         (struct target_ops) <all delegation methods>: Replace by C++
7721         virtual methods, and drop "to_" prefix.  All references updated
7722         throughout.
7723         <to_shortname, to_longname, to_doc, to_data,
7724         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
7725         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
7726         virtual methods.  All references updated throughout.
7727         <can_attach, supports_terminal_ours, can_create_inferior,
7728         get_thread_control_capabilities, attach_no_wait>: New
7729         virtual methods.
7730         <insert_breakpoint, remove_breakpoint>: Now
7731         TARGET_DEFAULT_NORETURN methods.
7732         <info_proc>: Now returns bool.
7733         <to_magic>: Delete.
7734         (OPS_MAGIC): Delete.
7735         (current_target): Delete.  All references replaced by references
7736         to ...
7737         (target_stack): ... this.  New.
7738         (target_shortname, target_longname): Adjust.
7739         (target_can_run): Now a function declaration.
7740         (default_child_has_all_memory, default_child_has_memory)
7741         (default_child_has_stack, default_child_has_registers)
7742         (default_child_has_execution): Remove target_ops parameter.
7743         (complete_target_initialization): Delete.
7744         (memory_breakpoint_target): New template class.
7745         (test_target_ops): Refactor as a C++ class with virtual methods.
7746         * make-target-delegates (NAME_PART): Tighten.
7747         (POINTER_PART, CP_SYMBOL): New.
7748         (SIMPLE_RETURN_PART): Reimplement.
7749         (VEC_RETURN_PART): Expect less.
7750         (RETURN_PART, VIRTUAL_PART): New.
7751         (METHOD): Adjust to C++ virtual methods.
7752         (scan_target_h): Remove reference to C99.
7753         (dname): Output "target_ops::" prefix.
7754         (write_function_header): Adjust to output a C++ class method.
7755         (write_declaration): New.
7756         (write_delegator): Adjust to output a C++ class method.
7757         (tdname): Output "dummy_target::" prefix.
7758         (write_tdefault, write_debugmethod): Adjust to output a C++ class
7759         method.
7760         (tdefault_names, debug_names): Delete.
7761         (return_types, tdefaults, styles, argtypes_array): New.
7762         (top level): All methods are delegators.
7763         (print_class): New.
7764         (top level): Print dummy_target and debug_target classes.
7765         * target-delegates.c: Regenerate.
7766         * target-debug.h (target_debug_print_enum_info_proc_what)
7767         (target_debug_print_thread_control_capabilities)
7768         (target_debug_print_thread_info_p): New.
7769         * target.c (dummy_target): Delete.
7770         (the_dummy_target, the_debug_target): New.
7771         (target_stack): Now extern.
7772         (set_targetdebug): Push/unpush debug target.
7773         (default_child_has_all_memory, default_child_has_memory)
7774         (default_child_has_stack, default_child_has_registers)
7775         (default_child_has_execution): Remove target_ops parameter.
7776         (complete_target_initialization): Delete.
7777         (add_target_with_completer): No longer call
7778         complete_target_initialization.
7779         (target_supports_terminal_ours): Use regular delegation.
7780         (update_current_target): Delete.
7781         (push_target): No longer check magic number.  Don't call
7782         update_current_target.
7783         (unpush_target): Don't call update_current_target.
7784         (target_is_pushed): No longer check magic number.
7785         (target_require_runnable): Skip for all stratums over
7786         process_stratum.
7787         (target_ops::info_proc): New.
7788         (target_info_proc): Use find_target_at and
7789         find_default_run_target.
7790         (target_supports_disable_randomization): Use regular delegation.
7791         (target_get_osdata): Use find_target_at.
7792         (target_ops::open, target_ops::close, target_ops::can_attach)
7793         (target_ops::attach, target_ops::can_create_inferior)
7794         (target_ops::create_inferior, target_ops::can_run)
7795         (target_can_run): New.
7796         (default_fileio_target): Use regular delegation.
7797         (target_ops::fileio_open, target_ops::fileio_pwrite)
7798         (target_ops::fileio_pread, target_ops::fileio_fstat)
7799         (target_ops::fileio_close, target_ops::fileio_unlink)
7800         (target_ops::fileio_readlink): New.
7801         (target_fileio_open_1, target_fileio_unlink)
7802         (target_fileio_readlink): Always call the target method.  Handle
7803         FILEIO_ENOSYS.
7804         (return_zero, return_zero_has_execution): Delete.
7805         (init_dummy_target): Delete.
7806         (dummy_target::dummy_target, dummy_target::shortname)
7807         (dummy_target::longname, dummy_target::doc)
7808         (debug_target::debug_target, debug_target::shortname)
7809         (debug_target::longname, debug_target::doc): New.
7810         (target_supports_delete_record): Use regular delegation.
7811         (setup_target_debug): Delete.
7812         (maintenance_print_target_stack): Skip debug_stratum.
7813         (initialize_targets): Instantiate the_dummy_target and
7814         the_debug_target.
7815         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
7816         use target_stack.
7817         (target_auxv_search, fprint_target_auxv): Adjust.
7818         (info_auxv_command): Adjust to use target_stack.
7819         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
7820         * exceptions.c (print_flush): Handle a NULL target_stack.
7821         * regcache.c (target_ops_no_register): Refactor as class with
7822         virtual methods.
7823
7824         * exec.c (exec_target): New class.
7825         (exec_ops): Now an exec_target.
7826         (exec_open, exec_close_1, exec_get_section_table)
7827         (exec_xfer_partial, exec_files_info, exec_has_memory)
7828         (exec_make_note_section): Refactor as exec_target methods.
7829         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
7830         Delete.
7831         (exec_target::find_memory_regions): New.
7832         (_initialize_exec): Don't call init_exec_ops.
7833         * gdbcore.h (exec_file_clear): Delete.
7834
7835         * corefile.c (core_target): Delete.
7836         (core_file_command): Adjust.
7837         * corelow.c (core_target): New class.
7838         (the_core_target): New.
7839         (core_close): Remove target_ops parameter.
7840         (core_close_cleanup): Adjust.
7841         (core_target::close): New.
7842         (core_open, core_detach, get_core_registers, core_files_info)
7843         (core_xfer_partial, core_thread_alive, core_read_description)
7844         (core_pid_to_str, core_thread_name, core_has_memory)
7845         (core_has_stack, core_has_registers, core_info_proc): Rework as
7846         core_target methods.
7847         (ignore, core_remove_breakpoint, init_core_ops): Delete.
7848         (_initialize_corelow): Initialize the_core_target.
7849         * gdbcore.h (core_target): Delete.
7850         (the_core_target): New.
7851
7852         * ctf.c: (ctf_target): New class.
7853         (ctf_ops): Now a ctf_target.
7854         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
7855         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
7856         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
7857         methods.
7858         (init_ctf_ops): Delete.
7859         (_initialize_ctf): Don't call it.
7860         * tracefile-tfile.c (tfile_target): New class.
7861         (tfile_ops): Now a tfile_target.
7862         (tfile_open, tfile_close, tfile_files_info)
7863         (tfile_get_tracepoint_status, tfile_trace_find)
7864         (tfile_fetch_registers, tfile_xfer_partial)
7865         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
7866         Refactor as tfile_target methods.
7867         (tfile_xfer_partial_features): Remove target_ops parameter.
7868         (init_tfile_ops): Delete.
7869         (_initialize_tracefile_tfile): Don't call it.
7870         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
7871         (tracefile_has_stack, tracefile_has_registers)
7872         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
7873         tracefile_target methods.
7874         (init_tracefile_ops): Delete.
7875         (tracefile_target::tracefile_target): New.
7876         * tracefile.h: Include "target.h".
7877         (tracefile_target): New class.
7878         (init_tracefile_ops): Delete.
7879
7880         * spu-multiarch.c (spu_multiarch_target): New class.
7881         (spu_ops): Now a spu_multiarch_target.
7882         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
7883         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
7884         (spu_search_memory, spu_mourn_inferior): Refactor as
7885         spu_multiarch_target methods.
7886         (init_spu_ops): Delete.
7887         (_initialize_spu_multiarch): Remove references to init_spu_ops,
7888         complete_target_initialization.
7889
7890         * ravenscar-thread.c (ravenscar_thread_target): New class.
7891         (ravenscar_ops): Now a ravenscar_thread_target.
7892         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
7893         (ravenscar_thread_alive, ravenscar_pid_to_str)
7894         (ravenscar_fetch_registers, ravenscar_store_registers)
7895         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
7896         (ravenscar_stopped_by_hw_breakpoint)
7897         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
7898         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
7899         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
7900         methods.
7901         (init_ravenscar_thread_ops): Delete.
7902         (_initialize_ravenscar): Remove references to
7903         init_ravenscar_thread_ops and complete_target_initialization.
7904
7905         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
7906         (bsd_uthread_target): New class.
7907         (bsd_uthread_ops): Now a bsd_uthread_target.
7908         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
7909         (bsd_uthread_close, bsd_uthread_mourn_inferior)
7910         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
7911         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
7912         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
7913         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
7914         (bsd_uthread_target): Delete function.
7915         (_initialize_bsd_uthread): Remove reference to
7916         complete_target_initialization.
7917
7918         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
7919         (target_bfd): ... this new class.
7920         (target_bfd_xfer_partial, target_bfd_get_section_table)
7921         (target_bfd_close): Refactor as target_bfd methods.
7922         (target_bfd::~target_bfd): New.
7923         (target_bfd_reopen): Adjust.
7924         (target_bfd::close): New.
7925
7926         * record-btrace.c (record_btrace_target): New class.
7927         (record_btrace_ops): Now a record_btrace_target.
7928         (record_btrace_open, record_btrace_stop_recording)
7929         (record_btrace_disconnect, record_btrace_close)
7930         (record_btrace_async, record_btrace_info)
7931         (record_btrace_insn_history, record_btrace_insn_history_range)
7932         (record_btrace_insn_history_from, record_btrace_call_history)
7933         (record_btrace_call_history_range)
7934         (record_btrace_call_history_from, record_btrace_record_method)
7935         (record_btrace_is_replaying, record_btrace_will_replay)
7936         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
7937         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
7938         (record_btrace_store_registers, record_btrace_prepare_to_store)
7939         (record_btrace_to_get_unwinder)
7940         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
7941         (record_btrace_commit_resume, record_btrace_wait)
7942         (record_btrace_stop, record_btrace_can_execute_reverse)
7943         (record_btrace_stopped_by_sw_breakpoint)
7944         (record_btrace_supports_stopped_by_sw_breakpoint)
7945         (record_btrace_stopped_by_hw_breakpoint)
7946         (record_btrace_supports_stopped_by_hw_breakpoint)
7947         (record_btrace_update_thread_list, record_btrace_thread_alive)
7948         (record_btrace_goto_begin, record_btrace_goto_end)
7949         (record_btrace_goto, record_btrace_stop_replaying_all)
7950         (record_btrace_execution_direction)
7951         (record_btrace_prepare_to_generate_core)
7952         (record_btrace_done_generating_core): Refactor as
7953         record_btrace_target methods.
7954         (init_record_btrace_ops): Delete.
7955         (_initialize_record_btrace): Remove reference to
7956         init_record_btrace_ops.
7957         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
7958         the execution_direction global.
7959         (record_full_base_target, record_full_target)
7960         (record_full_core_target): New classes.
7961         (record_full_ops): Now a record_full_target.
7962         (record_full_core_ops): Now a record_full_core_target.
7963         (record_full_target::detach, record_full_target::disconnect)
7964         (record_full_core_target::disconnect)
7965         (record_full_target::mourn_inferior, record_full_target::kill):
7966         New.
7967         (record_full_open, record_full_close, record_full_async): Refactor
7968         as methods of the record_full_base_target class.
7969         (record_full_resume, record_full_commit_resume): Refactor
7970         as methods of the record_full_target class.
7971         (record_full_wait, record_full_stopped_by_watchpoint)
7972         (record_full_stopped_data_address)
7973         (record_full_stopped_by_sw_breakpoint)
7974         (record_full_supports_stopped_by_sw_breakpoint)
7975         (record_full_stopped_by_hw_breakpoint)
7976         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
7977         methods of the record_full_base_target class.
7978         (record_full_store_registers, record_full_xfer_partial)
7979         (record_full_insert_breakpoint, record_full_remove_breakpoint):
7980         Refactor as methods of the record_full_target class.
7981         (record_full_can_execute_reverse, record_full_get_bookmark)
7982         (record_full_goto_bookmark, record_full_execution_direction)
7983         (record_full_record_method, record_full_info, record_full_delete)
7984         (record_full_is_replaying, record_full_will_replay)
7985         (record_full_goto_begin, record_full_goto_end, record_full_goto)
7986         (record_full_stop_replaying): Refactor as methods of the
7987         record_full_base_target class.
7988         (record_full_core_resume, record_full_core_kill)
7989         (record_full_core_fetch_registers)
7990         (record_full_core_prepare_to_store)
7991         (record_full_core_store_registers, record_full_core_xfer_partial)
7992         (record_full_core_insert_breakpoint)
7993         (record_full_core_remove_breakpoint)
7994         (record_full_core_has_execution): Refactor
7995         as methods of the record_full_core_target class.
7996         (record_full_base_target::supports_delete_record): New.
7997         (init_record_full_ops): Delete.
7998         (init_record_full_core_ops): Delete.
7999         (record_full_save): Refactor as method of the
8000         record_full_base_target class.
8001         (_initialize_record_full): Remove references to
8002         init_record_full_ops and init_record_full_core_ops.
8003
8004         * remote.c (remote_target, extended_remote_target): New classes.
8005         (remote_ops): Now a remote_target.
8006         (extended_remote_ops): Now an extended_remote_target.
8007         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
8008         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
8009         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
8010         (remote_pass_signals, remote_set_syscall_catchpoint)
8011         (remote_program_signals, )
8012         (remote_thread_always_alive): Remove target_ops parameter.
8013         (remote_thread_alive, remote_thread_name)
8014         (remote_update_thread_list, remote_threads_extra_info)
8015         (remote_static_tracepoint_marker_at)
8016         (remote_static_tracepoint_markers_by_strid)
8017         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
8018         (remote_open): Refactor as methods of remote_target.
8019         (extended_remote_open, extended_remote_detach)
8020         (extended_remote_attach, extended_remote_post_attach):
8021         (extended_remote_supports_disable_randomization)
8022         (extended_remote_create_inferior): : Refactor as method of
8023         extended_remote_target.
8024         (remote_set_permissions, remote_open_1, remote_detach)
8025         (remote_follow_fork, remote_follow_exec, remote_disconnect)
8026         (remote_resume, remote_commit_resume, remote_stop)
8027         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
8028         (remote_terminal_ours, remote_wait, remote_fetch_registers)
8029         (remote_prepare_to_store, remote_store_registers)
8030         (remote_flash_erase, remote_flash_done, remote_files_info)
8031         (remote_kill, remote_mourn, remote_insert_breakpoint)
8032         (remote_remove_breakpoint, remote_insert_watchpoint)
8033         (remote_watchpoint_addr_within_range)
8034         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
8035         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
8036         (remote_supports_stopped_by_sw_breakpoint)
8037         (remote_stopped_by_hw_breakpoint)
8038         (remote_supports_stopped_by_hw_breakpoint)
8039         (remote_stopped_by_watchpoint, remote_stopped_data_address)
8040         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
8041         (remote_verify_memory): Refactor as methods of remote_target.
8042         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
8043         parameter.
8044         (remote_xfer_partial, remote_get_memory_xfer_limit)
8045         (remote_search_memory, remote_rcmd, remote_memory_map)
8046         (remote_pid_to_str, remote_get_thread_local_address)
8047         (remote_get_tib_address, remote_read_description): Refactor as
8048         methods of remote_target.
8049         (remote_target::fileio_open, remote_target::fileio_pwrite)
8050         (remote_target::fileio_pread, remote_target::fileio_close): New.
8051         (remote_hostio_readlink, remote_hostio_fstat)
8052         (remote_filesystem_is_local, remote_can_execute_reverse)
8053         (remote_supports_non_stop, remote_supports_disable_randomization)
8054         (remote_supports_multi_process, remote_supports_cond_breakpoints)
8055         (remote_supports_enable_disable_tracepoint)
8056         (remote_supports_string_tracing)
8057         (remote_can_run_breakpoint_commands, remote_trace_init)
8058         (remote_download_tracepoint, remote_can_download_tracepoint)
8059         (remote_download_trace_state_variable, remote_enable_tracepoint)
8060         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
8061         (remote_trace_start, remote_get_trace_status)
8062         (remote_get_tracepoint_status, remote_trace_stop)
8063         (remote_trace_find, remote_get_trace_state_variable_value)
8064         (remote_save_trace_data, remote_get_raw_trace_data)
8065         (remote_set_disconnected_tracing, remote_core_of_thread)
8066         (remote_set_circular_trace_buffer, remote_traceframe_info)
8067         (remote_get_min_fast_tracepoint_insn_len)
8068         (remote_set_trace_buffer_size, remote_set_trace_notes)
8069         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
8070         (remote_disable_btrace, remote_teardown_btrace)
8071         (remote_read_btrace, remote_btrace_conf)
8072         (remote_augmented_libraries_svr4_read, remote_load)
8073         (remote_pid_to_exec_file, remote_can_do_single_step)
8074         (remote_execution_direction, remote_thread_handle_to_thread_info):
8075         Refactor as methods of remote_target.
8076         (init_remote_ops, init_extended_remote_ops): Delete.
8077         (remote_can_async_p, remote_is_async_p, remote_async)
8078         (remote_thread_events, remote_upload_tracepoints)
8079         (remote_upload_trace_state_variables): Refactor as methods of
8080         remote_target.
8081         (_initialize_remote): Remove references to init_remote_ops and
8082         init_extended_remote_ops.
8083
8084         * remote-sim.c (gdbsim_target): New class.
8085         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
8086         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
8087         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
8088         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
8089         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
8090         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
8091         Refactor as methods of gdbsim_target.
8092         (gdbsim_ops): Now a gdbsim_target.
8093         (init_gdbsim_ops): Delete.
8094         (gdbsim_cntrl_c): Adjust.
8095         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
8096
8097         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
8098         (the_amd64_linux_nat_target): New.
8099         (amd64_linux_fetch_inferior_registers)
8100         (amd64_linux_store_inferior_registers): Refactor as methods of
8101         amd64_linux_nat_target.
8102         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
8103         * i386-linux-nat.c: Don't include "linux-nat.h".
8104         (i386_linux_nat_target): New class.
8105         (the_i386_linux_nat_target): New.
8106         (i386_linux_fetch_inferior_registers)
8107         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
8108         as methods of i386_linux_nat_target.
8109         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
8110         * inf-child.c (inf_child_ops): Delete.
8111         (inf_child_fetch_inferior_registers)
8112         (inf_child_store_inferior_registers): Delete.
8113         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
8114         methods of inf_child_target.
8115         (inf_child_target::supports_terminal_ours)
8116         (inf_child_target::terminal_init)
8117         (inf_child_target::terminal_inferior)
8118         (inf_child_target::terminal_ours_for_output)
8119         (inf_child_target::terminal_ours, inf_child_target::interrupt)
8120         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
8121         New.
8122         (inf_child_open, inf_child_disconnect, inf_child_close)
8123         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
8124         (inf_child_post_startup_inferior, inf_child_can_run)
8125         (inf_child_pid_to_exec_file): Refactor as methods of
8126         inf_child_target.
8127         (inf_child_follow_fork): Delete.
8128         (inf_child_target::can_create_inferior)
8129         (inf_child_target::can_attach): New.
8130         (inf_child_target::has_all_memory, inf_child_target::has_memory)
8131         (inf_child_target::has_stack, inf_child_target::has_registers)
8132         (inf_child_target::has_execution): New.
8133         (inf_child_fileio_open, inf_child_fileio_pwrite)
8134         (inf_child_fileio_pread, inf_child_fileio_fstat)
8135         (inf_child_fileio_close, inf_child_fileio_unlink)
8136         (inf_child_fileio_readlink, inf_child_use_agent)
8137         (inf_child_can_use_agent): Refactor as methods of
8138         inf_child_target.
8139         (return_zero, inf_child_target): Delete.
8140         (inf_child_target::inf_child_target): New.
8141         * inf-child.h: Include "target.h".
8142         (inf_child_target): Delete function prototype.
8143         (inf_child_target): New class.
8144         (inf_child_open_target, inf_child_mourn_inferior)
8145         (inf_child_maybe_unpush_target): Delete.
8146         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
8147         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
8148         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
8149         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
8150         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
8151         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
8152         (inf_ptrace_wait, inf_ptrace_xfer_partial)
8153         (inf_ptrace_thread_alive, inf_ptrace_files_info)
8154         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
8155         methods of inf_ptrace_target.
8156         (inf_ptrace_target): Delete function.
8157         * inf-ptrace.h: Include "inf-child.h".
8158         (inf_ptrace_target): Delete function declaration.
8159         (inf_ptrace_target): New class.
8160         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
8161         * linux-nat.c (linux_target): New.
8162         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
8163         (linux_nat_target::~linux_nat_target): New.
8164         (linux_child_post_attach, linux_child_post_startup_inferior)
8165         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
8166         (linux_child_remove_fork_catchpoint)
8167         (linux_child_insert_vfork_catchpoint)
8168         (linux_child_remove_vfork_catchpoint)
8169         (linux_child_insert_exec_catchpoint)
8170         (linux_child_remove_exec_catchpoint)
8171         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
8172         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
8173         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
8174         (linux_nat_stopped_data_address)
8175         (linux_nat_stopped_by_sw_breakpoint)
8176         (linux_nat_supports_stopped_by_sw_breakpoint)
8177         (linux_nat_stopped_by_hw_breakpoint)
8178         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
8179         (linux_nat_kill, linux_nat_mourn_inferior)
8180         (linux_nat_xfer_partial, linux_nat_thread_alive)
8181         (linux_nat_update_thread_list, linux_nat_pid_to_str)
8182         (linux_nat_thread_name, linux_child_pid_to_exec_file)
8183         (linux_child_static_tracepoint_markers_by_strid)
8184         (linux_nat_is_async_p, linux_nat_can_async_p)
8185         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
8186         (linux_nat_supports_multi_process)
8187         (linux_nat_supports_disable_randomization, linux_nat_async)
8188         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
8189         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
8190         (linux_nat_fileio_open, linux_nat_fileio_readlink)
8191         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
8192         methods of linux_nat_target.
8193         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
8194         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
8195         parameter.
8196         (check_stopped_by_watchpoint): Adjust.
8197         (linux_xfer_partial): Delete.
8198         (linux_target_install_ops, linux_target, linux_nat_add_target):
8199         Delete.
8200         (linux_nat_target::linux_nat_target): New.
8201         * linux-nat.h: Include "inf-ptrace.h".
8202         (linux_nat_target): New.
8203         (linux_target, linux_target_install_ops, linux_nat_add_target):
8204         Delete function declarations.
8205         (linux_target): Declare global.
8206         * linux-thread-db.c (thread_db_target): New.
8207         (thread_db_target::thread_db_target): New.
8208         (thread_db_ops): Delete.
8209         (the_thread_db_target): New.
8210         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
8211         (thread_db_update_thread_list, thread_db_pid_to_str)
8212         (thread_db_extra_thread_info)
8213         (thread_db_thread_handle_to_thread_info)
8214         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
8215         (thread_db_resume): Refactor as methods of thread_db_target.
8216         (init_thread_db_ops): Delete.
8217         (_initialize_thread_db): Remove reference to init_thread_db_ops.
8218         * x86-linux-nat.c: Don't include "linux-nat.h".
8219         (super_post_startup_inferior): Delete.
8220         (x86_linux_nat_target::~x86_linux_nat_target): New.
8221         (x86_linux_child_post_startup_inferior)
8222         (x86_linux_read_description, x86_linux_enable_btrace)
8223         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
8224         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
8225         methods of x86_linux_nat_target.
8226         (x86_linux_create_target): Delete.  Bits folded ...
8227         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
8228         pointer.
8229         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
8230         (x86_linux_nat_target): New class.
8231         (x86_linux_create_target): Delete.
8232         (x86_linux_add_target): Now takes a linux_nat_target pointer.
8233         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
8234         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
8235         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
8236         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
8237         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
8238         make extern.
8239         (x86_use_watchpoints): Delete.
8240         * x86-nat.h: Include "breakpoint.h" and "target.h".
8241         (x86_use_watchpoints): Delete.
8242         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
8243         (x86_stopped_by_watchpoint, x86_stopped_data_address)
8244         (x86_insert_watchpoint, x86_remove_watchpoint)
8245         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
8246         (x86_stopped_by_hw_breakpoint): New declarations.
8247         (x86_nat_target): New template class.
8248
8249         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
8250         (the_ppc_linux_nat_target): New.
8251         (ppc_linux_fetch_inferior_registers)
8252         (ppc_linux_can_use_hw_breakpoint)
8253         (ppc_linux_region_ok_for_hw_watchpoint)
8254         (ppc_linux_ranged_break_num_registers)
8255         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
8256         (ppc_linux_insert_mask_watchpoint)
8257         (ppc_linux_remove_mask_watchpoint)
8258         (ppc_linux_can_accel_watchpoint_condition)
8259         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
8260         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
8261         (ppc_linux_watchpoint_addr_within_range)
8262         (ppc_linux_masked_watch_num_registers)
8263         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
8264         (ppc_linux_read_description): Refactor as methods of
8265         ppc_linux_nat_target.
8266         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
8267
8268         * procfs.c (procfs_xfer_partial): Delete forward declaration.
8269         (procfs_target): New class.
8270         (the_procfs_target): New.
8271         (procfs_target): Delete function.
8272         (procfs_auxv_parse, procfs_attach, procfs_detach)
8273         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
8274         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
8275         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
8276         (procfs_create_inferior, procfs_update_thread_list)
8277         (procfs_thread_alive, procfs_pid_to_str)
8278         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
8279         (procfs_stopped_data_address, procfs_insert_watchpoint)
8280         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
8281         (proc_find_memory_regions, procfs_info_proc)
8282         (procfs_make_note_section): Refactor as methods of procfs_target.
8283         (_initialize_procfs): Adjust.
8284         * sol-thread.c (sol_thread_target): New class.
8285         (sol_thread_ops): Now a sol_thread_target.
8286         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
8287         (sol_thread_fetch_registers, sol_thread_store_registers)
8288         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
8289         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
8290         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
8291         (init_sol_thread_ops): Delete.
8292         (_initialize_sol_thread): Adjust.  Remove references to
8293         init_sol_thread_ops and complete_target_initialization.
8294
8295         * windows-nat.c (windows_nat_target): New class.
8296         (windows_fetch_inferior_registers)
8297         (windows_store_inferior_registers, windows_resume, windows_wait)
8298         (windows_attach, windows_detach, windows_pid_to_exec_file)
8299         (windows_files_info, windows_create_inferior)
8300         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
8301         (windows_close, windows_pid_to_str, windows_xfer_partial)
8302         (windows_get_tib_address, windows_get_ada_task_ptid)
8303         (windows_thread_name, windows_thread_alive): Refactor as
8304         windows_nat_target methods.
8305         (do_initial_windows_stuff): Adjust.
8306         (windows_target): Delete function.
8307         (_initialize_windows_nat): Adjust.
8308
8309         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
8310         (darwin_mourn_inferior, darwin_kill_inferior)
8311         (darwin_create_inferior, darwin_attach, darwin_detach)
8312         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
8313         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
8314         (darwin_supports_multi_process): Refactor as darwin_nat_target
8315         methods.
8316         (darwin_resume_to, darwin_files_info): Delete.
8317         (_initialize_darwin_inferior): Rename to ...
8318         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
8319         * darwin-nat.h: Include "inf-child.h".
8320         (darwin_nat_target): New class.
8321         (darwin_complete_target): Delete.
8322         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
8323         (darwin_target): New.
8324         (i386_darwin_fetch_inferior_registers)
8325         (i386_darwin_store_inferior_registers): Refactor as methods of
8326         darwin_nat_target.
8327         (darwin_complete_target): Delete, with ...
8328         (_initialize_i386_darwin_nat): ... bits factored out here.
8329
8330         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
8331         (the_alpha_linux_nat_target): New.
8332         (alpha_linux_register_u_offset): Refactor as
8333         alpha_linux_nat_target method.
8334         (_initialize_alpha_linux_nat): Adjust.
8335         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
8336         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8337         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
8338         methods of linux_nat_trad_target.
8339         (linux_trad_target): Delete.
8340         * linux-nat-trad.h (linux_trad_target): Delete function.
8341         (linux_nat_trad_target): New class.
8342         * mips-linux-nat.c (mips_linux_nat_target): New class.
8343         (super_fetch_registers, super_store_registers, super_close):
8344         Delete.
8345         (the_mips_linux_nat_target): New.
8346         (mips64_linux_regsets_fetch_registers)
8347         (mips64_linux_regsets_store_registers)
8348         (mips64_linux_fetch_registers, mips64_linux_store_registers)
8349         (mips_linux_register_u_offset, mips_linux_read_description)
8350         (mips_linux_can_use_hw_breakpoint)
8351         (mips_linux_stopped_by_watchpoint)
8352         (mips_linux_stopped_data_address)
8353         (mips_linux_region_ok_for_hw_watchpoint)
8354         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8355         (mips_linux_close): Refactor as methods of mips_linux_nat.
8356         (_initialize_mips_linux_nat): Adjust to C++ification.
8357
8358         * aix-thread.c (aix_thread_target): New class.
8359         (aix_thread_ops): Now an aix_thread_target.
8360         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
8361         (aix_thread_fetch_registers, aix_thread_store_registers)
8362         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
8363         (aix_thread_thread_alive, aix_thread_pid_to_str)
8364         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
8365         Refactor as methods of aix_thread_target.
8366         (init_aix_thread_ops): Delete.
8367         (_initialize_aix_thread): Remove references to init_aix_thread_ops
8368         and complete_target_initialization.
8369         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
8370         (rs6000_nat_target): New class.
8371         (the_rs6000_nat_target): New.
8372         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
8373         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
8374         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
8375         (super_create_inferior): Delete.
8376         (_initialize_rs6000_nat): Adjust to C++ification.
8377
8378         * arm-linux-nat.c (arm_linux_nat_target): New class.
8379         (the_arm_linux_nat_target): New.
8380         (arm_linux_fetch_inferior_registers)
8381         (arm_linux_store_inferior_registers, arm_linux_read_description)
8382         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
8383         (arm_linux_remove_hw_breakpoint)
8384         (arm_linux_region_ok_for_hw_watchpoint)
8385         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
8386         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
8387         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
8388         arm_linux_nat_target.
8389         (_initialize_arm_linux_nat): Adjust to C++ification.
8390
8391         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
8392         (the_aarch64_linux_nat_target): New.
8393         (aarch64_linux_fetch_inferior_registers)
8394         (aarch64_linux_store_inferior_registers)
8395         (aarch64_linux_child_post_startup_inferior)
8396         (aarch64_linux_read_description)
8397         (aarch64_linux_can_use_hw_breakpoint)
8398         (aarch64_linux_insert_hw_breakpoint)
8399         (aarch64_linux_remove_hw_breakpoint)
8400         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
8401         (aarch64_linux_region_ok_for_hw_watchpoint)
8402         (aarch64_linux_stopped_data_address)
8403         (aarch64_linux_stopped_by_watchpoint)
8404         (aarch64_linux_watchpoint_addr_within_range)
8405         (aarch64_linux_can_do_single_step): Refactor as methods of
8406         aarch64_linux_nat_target.
8407         (super_post_startup_inferior): Delete.
8408         (_initialize_aarch64_linux_nat): Adjust to C++ification.
8409
8410         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
8411         (the_hppa_linux_nat_target): New.
8412         (hppa_linux_fetch_inferior_registers)
8413         (hppa_linux_store_inferior_registers): Refactor as methods of
8414         hppa_linux_nat_target.
8415         (_initialize_hppa_linux_nat): Adjust to C++ification.
8416
8417         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
8418         (the_ia64_linux_nat_target): New.
8419         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
8420         (ia64_linux_stopped_data_address)
8421         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
8422         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
8423         ia64_linux_nat_target methods.
8424         (super_xfer_partial): Delete.
8425         (_initialize_ia64_linux_nat): Adjust to C++ification.
8426
8427         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
8428         (the_m32r_linux_nat_target): New.
8429         (m32r_linux_fetch_inferior_registers)
8430         (m32r_linux_store_inferior_registers): Refactor as
8431         m32r_linux_nat_target methods.
8432         (_initialize_m32r_linux_nat): Adjust to C++ification.
8433
8434         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
8435         (the_m68k_linux_nat_target): New.
8436         (m68k_linux_fetch_inferior_registers)
8437         (m68k_linux_store_inferior_registers): Refactor as
8438         m68k_linux_nat_target methods.
8439         (_initialize_m68k_linux_nat): Adjust to C++ification.
8440
8441         * s390-linux-nat.c (s390_linux_nat_target): New class.
8442         (the_s390_linux_nat_target): New.
8443         (s390_linux_fetch_inferior_registers)
8444         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
8445         (s390_insert_watchpoint, s390_remove_watchpoint)
8446         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
8447         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
8448         (s390_auxv_parse, s390_read_description): Refactor as methods of
8449         s390_linux_nat_target.
8450         (_initialize_s390_nat): Adjust to C++ification.
8451
8452         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
8453         (the_sparc_linux_nat_target): New.
8454         (_initialize_sparc_linux_nat): Adjust to C++ification.
8455         * sparc-nat.c (sparc_fetch_inferior_registers)
8456         (sparc_store_inferior_registers): Remove target_ops parameter.
8457         * sparc-nat.h (sparc_fetch_inferior_registers)
8458         (sparc_store_inferior_registers): Remove target_ops parameter.
8459         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
8460         (the_sparc64_linux_nat_target): New.
8461         (_initialize_sparc64_linux_nat): Adjust to C++ification.
8462
8463         * spu-linux-nat.c (spu_linux_nat_target): New class.
8464         (the_spu_linux_nat_target): New.
8465         (spu_child_post_startup_inferior, spu_child_post_attach)
8466         (spu_child_wait, spu_fetch_inferior_registers)
8467         (spu_store_inferior_registers, spu_xfer_partial)
8468         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
8469         methods.
8470         (_initialize_spu_nat): Adjust to C++ification.
8471
8472         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
8473         (the_tilegx_linux_nat_target): New.
8474         (fetch_inferior_registers, store_inferior_registers):
8475         Refactor as methods.
8476         (_initialize_tile_linux_nat): Adjust to C++ification.
8477
8478         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
8479         (the_xtensa_linux_nat_target): New.
8480         (xtensa_linux_fetch_inferior_registers)
8481         (xtensa_linux_store_inferior_registers): Refactor as
8482         xtensa_linux_nat_target methods.
8483         (_initialize_xtensa_linux_nat): Adjust to C++ification.
8484
8485         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
8486         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
8487         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
8488         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
8489         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
8490         (fbsd_stopped_by_sw_breakpoint)
8491         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
8492         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
8493         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
8494         (fbsd_post_startup_inferior, fbsd_post_attach)
8495         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
8496         (fbsd_set_syscall_catchpoint)
8497         (super_xfer_partial, super_resume, super_wait)
8498         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
8499         (fbsd_handle_debug_trap): Remove target_ops parameter.
8500         (fbsd_nat_add_target): Delete.
8501         * fbsd-nat.h: Include "inf-ptrace.h".
8502         (fbsd_nat_add_target): Delete.
8503         (USE_SIGTRAP_SIGINFO): Define.
8504         (fbsd_nat_target): New class.
8505
8506         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
8507         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
8508         (amd64bsd_target): Delete.
8509         * amd64-bsd-nat.h: New file.
8510         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
8511         "x86-bsd-nat.h".
8512         (amd64_fbsd_nat_target): New class.
8513         (the_amd64_fbsd_nat_target): New.
8514         (amd64fbsd_read_description): Refactor as method of
8515         amd64_fbsd_nat_target.
8516         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8517         (_initialize_amd64fbsd_nat): Adjust to C++ification.
8518         * amd64-nat.h (amd64bsd_target): Delete function declaration.
8519         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
8520         (i386bsd_store_inferior_registers): Remove target_ops parameter.
8521         (i386bsd_target): Delete.
8522         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
8523         (i386bsd_fetch_inferior_registers)
8524         (i386bsd_store_inferior_registers): Declare.
8525         (i386_bsd_nat_target): New class.
8526         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
8527         (the_i386_fbsd_nat_target): New.
8528         (i386fbsd_resume, i386fbsd_read_description): Refactor as
8529         i386_fbsd_nat_target methods.
8530         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
8531         (_initialize_i386fbsd_nat): Adjust to C++ification.
8532         * x86-bsd-nat.c (super_mourn_inferior): Delete.
8533         (x86bsd_mourn_inferior, x86bsd_target): Delete.
8534         (_initialize_x86_bsd_nat): Adjust to C++ification.
8535         * x86-bsd-nat.h: Include "x86-nat.h".
8536         (x86bsd_target): Delete declaration.
8537         (x86bsd_nat_target): New class.
8538
8539         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
8540         (the_aarch64_fbsd_nat_target): New.
8541         (aarch64_fbsd_fetch_inferior_registers)
8542         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
8543         aarch64_fbsd_nat_target.
8544         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
8545         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
8546         (the_alpha_bsd_nat_target): New.
8547         (alphabsd_fetch_inferior_registers)
8548         (alphabsd_store_inferior_registers): Refactor as
8549         alpha_bsd_nat_target methods.
8550         (_initialize_alphabsd_nat): Refactor as methods of
8551         alpha_bsd_nat_target.
8552         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
8553         (the_amd64_nbsd_nat_target): New.
8554         (_initialize_amd64nbsd_nat): Adjust to C++ification.
8555         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
8556         (the_amd64_obsd_nat_target): New.
8557         (_initialize_amd64obsd_nat): Adjust to C++ification.
8558         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
8559         (the_arm_fbsd_nat_target): New.
8560         (arm_fbsd_fetch_inferior_registers)
8561         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
8562         (_initialize_arm_fbsd_nat): Refactor as methods of
8563         arm_fbsd_nat_target.
8564         (_initialize_arm_fbsd_nat): Adjust to C++ification.
8565         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
8566         (the_arm_netbsd_nat_target): New.
8567         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
8568         arm_netbsd_nat_target.
8569         (_initialize_arm_netbsd_nat): Adjust to C++ification.
8570         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
8571         (the_hppa_nbsd_nat_target): New.
8572         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
8573         hppa_nbsd_nat_target methods.
8574         (_initialize_hppanbsd_nat): Adjust to C++ification.
8575         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
8576         (the_hppa_obsd_nat_target): New.
8577         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
8578         methods of hppa_obsd_nat_target.
8579         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
8580         add_target.
8581         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
8582         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
8583         add_target.
8584         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
8585         (_initialize_i386obsd_nat): Use add_target.
8586         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
8587         (the_m68k_bsd_nat_target): New.
8588         (m68kbsd_fetch_inferior_registers)
8589         (m68kbsd_store_inferior_registers): Refactor as methods of
8590         m68k_bsd_nat_target.
8591         (_initialize_m68kbsd_nat): Adjust to C++ification.
8592         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
8593         (the_mips_fbsd_nat_target): New.
8594         (mips_fbsd_fetch_inferior_registers)
8595         (mips_fbsd_store_inferior_registers): Refactor as methods of
8596         mips_fbsd_nat_target.
8597         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
8598         add_target.
8599         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
8600         (the_mips_nbsd_nat_target): New.
8601         (mipsnbsd_fetch_inferior_registers)
8602         (mipsnbsd_store_inferior_registers): Refactor as methods of
8603         mips_nbsd_nat_target.
8604         (_initialize_mipsnbsd_nat): Adjust to C++ification.
8605         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
8606         (the_mips64_obsd_nat_target): New.
8607         (mips64obsd_fetch_inferior_registers)
8608         (mips64obsd_store_inferior_registers): Refactor as methods of
8609         mips64_obsd_nat_target.
8610         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
8611         add_target.
8612         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
8613         nbsd_nat_target.
8614         * nbsd-nat.h: Include "inf-ptrace.h".
8615         (nbsd_nat_target): New class.
8616         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
8617         (obsd_wait): Refactor as methods of obsd_nat_target.
8618         (obsd_add_target): Delete.
8619         * obsd-nat.h: Include "inf-ptrace.h".
8620         (obsd_nat_target): New class.
8621         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
8622         (the_ppc_fbsd_nat_target): New.
8623         (ppcfbsd_fetch_inferior_registers)
8624         (ppcfbsd_store_inferior_registers): Refactor as methods of
8625         ppc_fbsd_nat_target.
8626         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
8627         add_target.
8628         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
8629         (the_ppc_nbsd_nat_target): New.
8630         (ppcnbsd_fetch_inferior_registers)
8631         (ppcnbsd_store_inferior_registers): Refactor as methods of
8632         ppc_nbsd_nat_target.
8633         (_initialize_ppcnbsd_nat): Adjust to C++ification.
8634         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
8635         (the_ppc_obsd_nat_target): New.
8636         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
8637         methods of ppc_obsd_nat_target.
8638         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
8639         add_target.
8640         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
8641         (the_sh_nbsd_nat_target): New.
8642         (shnbsd_fetch_inferior_registers)
8643         (shnbsd_store_inferior_registers): Refactor as methods of
8644         sh_nbsd_nat_target.
8645         (_initialize_shnbsd_nat): Adjust to C++ification.
8646         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
8647         (inf_ptrace_xfer_partial): Delete.
8648         (sparc_xfer_partial, sparc_target): Delete.
8649         * sparc-nat.h (sparc_fetch_inferior_registers)
8650         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
8651         (sparc_target): Delete function declaration.
8652         (sparc_target): New template class.
8653         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
8654         (_initialize_sparcnbsd_nat): Adjust to C++ification.
8655         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
8656         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
8657         add_target.
8658         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
8659         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
8660         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
8661         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
8662         add_target.
8663         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
8664         (the_vax_bsd_nat_target): New.
8665         (vaxbsd_fetch_inferior_registers)
8666         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
8667         methods.
8668         (_initialize_vaxbsd_nat): Adjust to C++ification.
8669
8670         * bsd-kvm.c (bsd_kvm_target): New class.
8671         (bsd_kvm_ops): Now a bsd_kvm_target.
8672         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
8673         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
8674         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
8675         bsd_kvm_target.
8676         (bsd_kvm_return_one): Delete.
8677         (bsd_kvm_add_target): Adjust to C++ification.
8678
8679         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
8680         (nto_procfs_target_procfs): New classes.
8681         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
8682         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
8683         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
8684         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
8685         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
8686         (procfs_remove_hw_breakpoint, procfs_resume)
8687         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
8688         (procfs_kill_inferior, procfs_store_registers)
8689         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
8690         as methods of nto_procfs_target.
8691         (nto_procfs_ops): Now an nto_procfs_target_procfs.
8692         (nto_native_ops): Delete.
8693         (procfs_open, procfs_native_open): Delete.
8694         (nto_native_ops): Now an nto_procfs_target_native.
8695         (init_procfs_targets): Adjust to C++ification.
8696         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
8697         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
8698         Refactor as methods of nto_procfs_target.
8699
8700         * go32-nat.c (go32_nat_target): New class.
8701         (the_go32_nat_target): New.
8702         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
8703         (go32_store_registers, go32_xfer_partial, go32_files_info)
8704         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
8705         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
8706         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
8707         (go32_pid_to_str): Refactor as methods of go32_nat_target.
8708         (go32_target): Delete.
8709         (_initialize_go32_nat): Adjust to C++ification.
8710
8711         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
8712         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
8713         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
8714         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
8715         gnu_nat_target.
8716         (gnu_target): Delete.
8717         * gnu-nat.h (gnu_target): Delete.
8718         (gnu_nat_target): New class.
8719         * i386-gnu-nat.c (gnu_base_target): New.
8720         (i386_gnu_nat_target): New class.
8721         (the_i386_gnu_nat_target): New.
8722         (_initialize_i386gnu_nat): Adjust to C++ification.
8723
8724 2018-05-02  Pedro Alves  <palves@redhat.com>
8725
8726         * bfd-target.c (target_bfd_xclose): Rename to ...
8727         (target_bfd_close): ... this.
8728         (target_bfd_reopen): Adjust.
8729         * target.c (target_close): Remove references to to_xclose.
8730         * target.h (target_ops::to_xclose): Delete.
8731         (target_ops::to_close): Update comments.
8732
8733 2018-05-02  Pedro Alves  <palves@redhat.com>
8734
8735         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
8736         "linux-nat.h".
8737         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
8738         * inf-ptrace.c (inf_ptrace_register_u_offset)
8739         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
8740         (inf_ptrace_store_register, inf_ptrace_store_registers)
8741         (inf_ptrace_trad_target): Move to ...
8742         * linux-nat-trad.c: ... this new file.
8743         * linux-nat-trad.h: New file.
8744         * linux-nat.c (linux_target_install_ops): Make extern.
8745         (linux_trad_target): Delete.
8746         * linux-nat.h (linux_trad_target): Delete declaration.
8747         (linux_target_install_ops): Declare.
8748         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
8749         "linux-nat.h".
8750
8751 2018-05-02  Pedro Alves  <palves@redhat.com>
8752
8753         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
8754         procfs_target/add_target here.
8755         * procfs.c (procfs_target): Make static.
8756         (_initialize_procfs): Call add_target here.
8757         * procfs.h (struct target_ops): Remove forward declaration.
8758         (procfs_target): Remove declaration.
8759         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
8760
8761 2018-05-02  Pedro Alves  <palves@redhat.com>
8762
8763         * procfs.c (procfs_stopped_by_watchpoint)
8764         (procfs_insert_watchpoint, procfs_remove_watchpoint)
8765         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
8766         Forward declare.
8767         (procfs_use_watchpoints): Delete, move contents...
8768         (procfs_target): ... here.
8769         * procfs.h (procfs_use_watchpoints): Delete declaration.
8770         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
8771         procfs_use_watchpoints.
8772         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
8773         procfs_use_watchpoints.
8774
8775 2018-05-02  Tom Tromey  <tom@tromey.com>
8776
8777         PR python/20084:
8778         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
8779         and var_zuinteger_unlimited.
8780         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
8781         and PARAM_ZUINTEGER_UNLIMITED.
8782         (set_parameter_value): Handle var_zuinteger and
8783         var_zuinteger_unlimited.
8784         (add_setshow_generic): Likewise.
8785         (parmpy_init): Likewise.
8786
8787 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
8788
8789         PR rust/23124
8790         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
8791         pointer is not null before dereferencing it.
8792
8793 2018-04-30  Tom Tromey  <tom@tromey.com>
8794
8795         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
8796         is_mi_like_p.
8797
8798 2018-04-30  Tom Tromey  <tom@tromey.com>
8799
8800         * breakpoint.c (mention): Remove use of is_mi_like_p.
8801         (print_mention_ranged_breakpoint): Likewise.
8802         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
8803         of is_mi_like_p.
8804
8805 2018-04-30  Tom Tromey  <tom@tromey.com>
8806
8807         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
8808
8809 2018-04-30  Tom Tromey  <tom@tromey.com>
8810
8811         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
8812         (info_spu_event_command): Remove some uses of is_mi_like_p.
8813
8814 2018-04-30  Tom Tromey  <tom@tromey.com>
8815
8816         * python/py-framefilter.c (py_print_single_arg)
8817         (enumerate_locals, py_print_args, py_print_frame): Remove some
8818         uses of is_mi_like_p.
8819
8820 2018-04-30  Tom Tromey  <tom@tromey.com>
8821
8822         * ui-out.c: Update.
8823         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
8824         * ui-out.h (ui_out::is_mi_like_p): Now const.
8825         (ui_out::do_is_mi_like_p): Now const.
8826         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
8827
8828 2018-04-30  Tom Tromey  <tom@tromey.com>
8829
8830         * varobj.c (varobj_set_visualizer): Use new_reference.
8831         * python/python.c (gdbpy_decode_line): Use new_reference.
8832         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
8833         new_reference.
8834
8835 2018-04-30  Tom Tromey  <tom@tromey.com>
8836
8837         * varobj.c (install_new_value): Use new_reference.
8838         * value.h (value_incref): Return void.  Swap intro comment with
8839         value_decref.
8840         * value.c (set_value_parent): Use new_reference.
8841         (value_incref): Return void.  Update intro comment.
8842         (release_value): Use new_reference.
8843         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
8844
8845 2018-04-30  Tom Tromey  <tom@tromey.com>
8846
8847         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
8848         * gdb_bfd.h (new_bfd_ref): Remove.
8849         (gdb_bfd_open): Update comment.
8850         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
8851         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
8852         (gdb_bfd_fdopenr): Use new_reference.
8853         * exec.c (exec_file_attach): Use new_reference.
8854
8855 2018-04-30  Tom Tromey  <tom@tromey.com>
8856
8857         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
8858         method.
8859
8860 2018-04-30  Tom Tromey  <tom@tromey.com>
8861
8862         * jit.c (jit_read_code_entry): Use type_align.
8863         * i386-tdep.c (i386_gdbarch_init): Don't call
8864         set_gdbarch_long_long_align_bit.
8865         * gdbarch.sh: Remove long_long_align_bit.
8866         * gdbarch.c, gdbarch.h: Rebuild.
8867         * arc-tdep.c (arc_type_align): New function.
8868         (arc_gdbarch_init): Use arc_type_align.  Don't call
8869         set_gdbarch_long_long_align_bit.
8870
8871 2018-04-30  Tom Tromey  <tom@tromey.com>
8872
8873         * rust-lang.c (rust_type_alignment): Remove.
8874         (rust_composite_type): Use type_align.
8875
8876 2018-04-30  Tom Tromey  <tom@tromey.com>
8877
8878         * NEWS: Mention Type.align.
8879         * python/py-type.c (typy_get_alignof): New function.
8880         (type_object_getset): Add "alignof".
8881
8882 2018-04-30  Tom Tromey  <tom@tromey.com>
8883
8884         PR exp/17095:
8885         * NEWS: Update.
8886         * std-operator.def (UNOP_ALIGNOF): New operator.
8887         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
8888         New.
8889         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
8890         * c-lang.c (c_op_print_tab): Add alignof.
8891         * c-exp.y (ALIGNOF): New token.
8892         (exp): Add "ALIGNOF" production.
8893         (ident_tokens): Add _Alignof and alignof.
8894
8895 2018-04-30  Tom Tromey  <tom@tromey.com>
8896
8897         * i386-tdep.c (i386_type_align): New function.
8898         (i386_gdbarch_init): Update.
8899         * gdbarch.sh (type_align): New method.
8900         * gdbarch.c, gdbarch.h: Rebuild.
8901         * arch-utils.h (default_type_align): Declare.
8902         * arch-utils.c (default_type_align): New function.
8903         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
8904         (struct type) <align_log2>: New field.
8905         <instance_flags>: Now a bitfield.
8906         (TYPE_RAW_ALIGN): New macro.
8907         (type_align, type_raw_align, set_type_align): Declare.
8908         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
8909         functions.
8910         * dwarf2read.c (quirk_rust_enum): Set type alignment.
8911         (get_alignment, maybe_set_alignment): New functions.
8912         (read_structure_type, read_enumeration_type, read_array_type)
8913         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
8914         (read_subrange_type, read_base_type): Set type alignment.
8915
8916 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
8917
8918         * dwarf2read.c (read_index_from_section): Use bool.
8919
8920 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
8921
8922         PR gdb/22950
8923         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
8924         with #ifdef.
8925
8926 2018-04-29  John Reiser  <jreiser@BitWagon.com>
8927
8928         PR build/22873
8929         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
8930         last step, and do it atomically.
8931
8932 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
8933
8934         * compile/compile-c-types.c (convert_int, convert_float):
8935         Update for C FE v1.
8936
8937 2018-04-27  Tom Tromey  <tom@tromey.com>
8938
8939         PR rust/22545:
8940         * rust-lang.c (rust_inclusive_range_type_p): New function.
8941         (rust_range): Handle inclusive ranges.
8942         (rust_compute_range): Likewise.
8943         * rust-exp.y (struct rust_op) <inclusive>: New field.
8944         (DOTDOTEQ): New constant.
8945         (range_expr): Add "..=" productions.
8946         (operator_tokens): Add "..=" token.
8947         (ast_range): Add "inclusive" parameter.
8948         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
8949         ranges.
8950         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
8951         bounds values.
8952         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
8953         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
8954         Update comments.
8955         * expprint.c (print_subexp_standard): Handle new bounds values.
8956         (dump_subexp_body_standard): Likewise.
8957
8958 2018-04-27  Tom Tromey  <tom@tromey.com>
8959
8960         * configure: Rebuild.
8961         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
8962         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
8963         "OVERRIDE".
8964         (class symbol_needs_eval_context): Likewise.
8965         * dwarf2read.c (mock_mapped_index::symbol_name_count)
8966         (mock_mapped_index::symbol_name_at): Use "override".  Remove
8967         "virtual".
8968         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
8969         "override".
8970         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
8971         * aarch64-tdep.c (instruction_reader::read): Use "override".
8972         (instruction_reader_test::read): Likewise.
8973         * arm-tdep.c (instruction_reader::read): Use "override".
8974         (instruction_reader_thumb::read): Likewise.
8975
8976 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
8977
8978         PR remote/9665
8979         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
8980         instead of remote_send.
8981         (remote_send): Remove.
8982
8983 2018-04-26  Pedro Alves  <palves@redhat.com>
8984
8985         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
8986         find_function_start_sal instead of find_pc_line.
8987
8988 2018-04-26  Pedro Alves  <palves@redhat.com>
8989
8990         * breakpoint.c (set_breakpoint_location_function): Handle
8991         mst_data_gnu_ifunc.
8992         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
8993         * elfread.c (elf_symtab_read): Give data symbols with
8994         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
8995         (elf_rel_plt_read): Update comment.
8996         * linespec.c (convert_linespec_to_sals): Handle
8997         mst_data_gnu_ifunc.
8998         (minsym_found): Handle mst_data_gnu_ifunc.
8999         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
9000         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
9001         * parse.c (find_minsym_type_and_address): Handle
9002         mst_data_gnu_ifunc.
9003         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
9004         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
9005         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
9006         comment.
9007         <mst_data_gnu_ifunc>: New enumerator.
9008
9009 2018-04-26  Pedro Alves  <palves@redhat.com>
9010
9011         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
9012         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
9013         'want_trampoline' parameter by a lookup_msym_prefer parameter.
9014         Handle it.
9015         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
9016         (lookup_minimal_symbol_by_pc): Adjust.
9017         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
9018         (lookup_solib_trampoline_symbol_by_pc): Adjust.
9019         * minsyms.h (lookup_msym_prefer): New enum.
9020         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9021         parameter by a lookup_msym_prefer parameter.
9022
9023 2018-04-26  Pedro Alves  <palves@redhat.com>
9024
9025         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
9026         ends in "@plt" instead of looking at the symbol's section.
9027
9028 2018-04-26  Pedro Alves  <palves@redhat.com>
9029
9030         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
9031         all references.
9032         (find_pc_partial_function_gnu_ifunc): Rename to ...
9033         (find_pc_partial_function): ... this, and remove references to
9034         'is_gnu_ifunc_p'.
9035         (find_pc_partial_function): Delete old implementation.
9036         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
9037
9038 2018-04-26  Pedro Alves  <palves@redhat.com>
9039
9040         * linespec.c (struct bound_minimal_symbol_search_key): New.
9041         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
9042         skip first line if we found a GNU ifunc minimal symbol by name.
9043         (compare_msymbols): Change parameters to work with a destructured
9044         lhs minsym.
9045         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
9046         functions.
9047
9048 2018-04-26  Pedro Alves  <palves@redhat.com>
9049
9050         * breakpoint.c (set_breakpoint_location_function): Don't resolve
9051         ifunc targets here.  Instead, if we have an ifunc minsym, use its
9052         address/name.
9053         (add_location_to_breakpoint): Store the minsym and the objfile in
9054         the breakpoint location.
9055         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
9056         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
9057         Record the minsym in the sal.
9058         * symtab.h (symtab_and_line) <msymbol>: New field.
9059
9060 2018-04-26  Pedro Alves  <palves@redhat.com>
9061
9062         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
9063         unless we actually resolved the ifunc.
9064
9065 2018-04-26  Pedro Alves  <palves@redhat.com>
9066
9067         * c-exp.y (variable production): Prefer ifunc minsyms over
9068         regular function symbols.
9069         * symtab.c (find_gnu_ifunc): New function.
9070         * minsyms.h (lookup_msym_prefer): New enum.
9071         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9072         parameter by a lookup_msym_prefer parameter.
9073         * symtab.h (find_gnu_ifunc): New declaration.
9074
9075 2018-04-26  Pedro Alves  <palves@redhat.com>
9076
9077         * blockframe.c (find_gnu_ifunc_target_type): New function.
9078         (find_function_type): New.
9079         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
9080         return a value with a memory address.
9081         (eval_call): For calls to GNU ifunc functions, try to find the
9082         type of the target function from the type that the resolver
9083         returns.
9084         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
9085         symbols.
9086         * infcall.c (find_function_return_type): Delete.
9087         (find_function_addr): Add 'function_type' parameter.  For calls to
9088         GNU ifunc functions, try to find the type of the target function
9089         from the type that the resolver returns, and return it via
9090         FUNCTION_TYPE.
9091         (call_function_by_hand_dummy): Adjust to use the function type
9092         returned by find_function_addr.
9093         (find_function_addr): Add 'function_type' parameter and move
9094         description here.
9095         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
9096         declarations.
9097
9098 2018-04-26  Pedro Alves  <palves@redhat.com>
9099
9100         * c-exp.y (variable production): Skip finding an alias for ifunc
9101         symbols.
9102
9103 2018-04-26  Pedro Alves  <palves@redhat.com>
9104
9105         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
9106
9107 2018-04-25  Pedro Alves  <palves@redhat.com>
9108
9109         * infcmd.c (kill_command): Print the pid as string, not the whole
9110         thread's ptid.  Add comment.  s/has been killed/killed/ in output
9111         message.
9112         * remote.c (remote_detach_1): Print the pid as string, not the
9113         whole thread's ptid.
9114
9115 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9116             Sergio Durigan Junior  <sergiodj@redhat.com>
9117             Pedro Alves  <palves@redhat.com>
9118
9119         * infcmd.c (kill_command): Print message when inferior has
9120         been killed.
9121         * inferior.c (print_inferior_events): Remove 'static'.  Set as
9122         '1'.
9123         (add_inferior): Improve message printed when
9124         'print_inferior_events' is on.
9125         (exit_inferior): Remove message printed when
9126         'print_inferior_events' is on.
9127         (detach_inferior): Improve message printed when
9128         'print_inferior_events' is on.
9129         (initialize_inferiors): Use 'add_inferior_silent' to set
9130         'current_inferior_'.
9131         * inferior.h (print_inferior_events): Declare here as
9132         'extern'.
9133         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
9134         '[Detaching...]' messages when 'print_inferior_events' is on.
9135         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
9136         as prefix/suffix for messages.  Remove periods.  Fix erroneous
9137         'Detaching after fork from child...', replace it by '... from
9138         parent...'.
9139         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
9140         prefix/suffix when printing 'Detaching...' messages.  Print
9141         them when 'print_inferior_events' is on.
9142         * remote.c (remote_detach_1): Print message when detaching
9143         from inferior and '!is_fork_parent'.
9144
9145 2018-04-24  Tom Tromey  <tom@tromey.com>
9146
9147         * cli-out.h: Reindent.
9148
9149 2018-04-24  Tom Tromey  <tom@tromey.com>
9150
9151         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
9152         (cli_ui_out::do_field_string): Use fputs_filtered.
9153         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
9154
9155 2018-04-23  Tom Tromey  <tom@tromey.com>
9156
9157         * guile/scm-frame.c (gdbscm_frame_read_var): Use
9158         gdb::unique_xmalloc_ptr.
9159
9160 2018-04-23  Tom Tromey  <tom@tromey.com>
9161
9162         * configure: Rebuild.
9163
9164 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
9165
9166         PR gdb/23095
9167         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
9168         prepare_for_testing.  Set normal_bp to r_debug_state if target
9169         is bsd.
9170
9171 2018-04-21  Pedro Alves  <palves@redhat.com>
9172             Rajendra SY  <rajendra.sy@gmail.com>
9173
9174         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
9175         * remote.c (extended_remote_attach): In all-stop mode, mark the
9176         thread as executing.
9177
9178 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
9179
9180         * thread.c (thread_apply_all_command): Fix comment.
9181         (thread_command): Fix comment.
9182
9183 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
9184
9185         * common/tdesc.h (tdesc_create_feature): Remove xml filename
9186         parameter.
9187         * features/aarch64-core.c (create_feature_aarch64_core):
9188         Regenerate.
9189         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
9190         Likewise.
9191         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
9192         Likewise.
9193         * features/i386/32bit-avx512.c
9194         (create_feature_i386_32bit_avx512): Likewise.
9195         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
9196         Likewise.
9197         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
9198         Likewise.
9199         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
9200         Likewise.
9201         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
9202         Likewise.
9203         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
9204         Likewise.
9205         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
9206         Likewise.
9207         * features/i386/64bit-avx512.c
9208         (create_feature_i386_64bit_avx512): Likewise.
9209         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
9210         Likewise.
9211         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
9212         Likewise.
9213         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
9214         Likewise.
9215         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
9216         Likewise.
9217         * features/i386/64bit-segments.c
9218         (create_feature_i386_64bit_segments): Likewise.
9219         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
9220         Likewise.
9221         * features/i386/x32-core.c
9222         (create_feature_i386_x32_core): Likewise.
9223         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
9224         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
9225         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
9226         * target-descriptions.c: In generated code, don't pass xml
9227         filename.
9228
9229 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9230
9231         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
9232         (print_xml_feature::visit_post): Likewise.
9233         (print_xml_feature::visit): Likewise.
9234         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
9235         (print_xml_feature): Add new class.
9236         * regformats/regdat.sh: Null xmltarget on feature targets.
9237         * target-descriptions.c (struct target_desc): Add xmltarget.
9238         (maintenance_check_tdesc_xml_convert): Add unittest function.
9239         (tdesc_get_features_xml): Add function to get xml.
9240         (maintenance_check_xml_descriptions): Test xml generation.
9241         * xml-tdesc.c (string_read_description_xml): Add function.
9242         * xml-tdesc.h (string_read_description_xml): Add declaration.
9243
9244 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9245
9246         * features/Makefile: Add feature marker to targets with new style
9247         target descriptions.
9248         * regformats/aarch64.dat: Regenerate.
9249         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
9250         * regformats/i386/amd64-avx-linux.dat: Likewise.
9251         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
9252         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
9253         * regformats/i386/amd64-linux.dat: Likewise.
9254         * regformats/i386/amd64-mpx-linux.dat: Likewise.
9255         * regformats/i386/amd64.dat: Likewise.
9256         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
9257         * regformats/i386/i386-avx-linux.dat: Likewise.
9258         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
9259         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
9260         * regformats/i386/i386-linux.dat: Likewise.
9261         * regformats/i386/i386-mmx-linux.dat: Likewise.
9262         * regformats/i386/i386-mpx-linux.dat: Likewise.
9263         * regformats/i386/i386.dat: Likewise.
9264         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
9265         * regformats/i386/x32-avx-linux.dat: Likewise.
9266         * regformats/i386/x32-linux.dat: Likewise.
9267         * regformats/tic6x-c62x-linux.dat: Likewise.
9268         * regformats/tic6x-c64x-linux.dat: Likewise.
9269         * regformats/tic6x-c64xp-linux.dat: Likewise.
9270         * regformats/regdat.sh: Parse feature marker.
9271
9272 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9273
9274         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
9275         (tdesc_osabi_name): Likewise.
9276         * target-descriptions.c (tdesc_architecture_name): Add new
9277         function.
9278         (tdesc_osabi_name): Likewise.
9279
9280 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9281
9282         * common/tdesc.c (tdesc_predefined_type): Move to here.
9283         (tdesc_named_type): Likewise.
9284         (tdesc_create_vector): Likewise.
9285         (tdesc_create_struct): Likewise.
9286         (tdesc_set_struct_size): Likewise.
9287         (tdesc_create_union): Likewise.
9288         (tdesc_create_flags): Likewise.
9289         (tdesc_create_enum): Likewise.
9290         (tdesc_add_field): Likewise.
9291         (tdesc_add_typed_bitfield): Likewise.
9292         (tdesc_add_bitfield): Likewise.
9293         (tdesc_add_flag): Likewise.
9294         (tdesc_add_enum_value): Likewise.
9295         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
9296         (struct tdesc_type_vector): Likewise.
9297         (struct tdesc_type_field): Likewise.
9298         (struct tdesc_type_with_fields): Likewise.
9299         (tdesc_create_enum): Add declaration.
9300         (tdesc_add_typed_bitfield): Likewise.
9301         (tdesc_add_enum_value): Likewise.
9302         * target-descriptions.c (tdesc_type_field): Move from here.
9303         (tdesc_type_builtin): Likewise.
9304         (tdesc_type_vector): Likewise.
9305         (tdesc_type_with_fields): Likewise.
9306         (tdesc_predefined_types): Likewise.
9307         (tdesc_named_type): Likewise.
9308         (tdesc_create_vector): Likewise.
9309         (tdesc_create_struct): Likewise.
9310         (tdesc_set_struct_size): Likewise.
9311         (tdesc_create_union): Likewise.
9312         (tdesc_create_flags): Likewise.
9313         (tdesc_create_enum): Likewise.
9314         (tdesc_add_field): Likewise.
9315         (tdesc_add_typed_bitfield): Likewise.
9316         (tdesc_add_bitfield): Likewise.
9317         (tdesc_add_flag): Likewise.
9318         (tdesc_add_enum_value): Likewise.
9319         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
9320         (tdesc_add_typed_bitfield): Likewise.
9321         (tdesc_add_enum_value): Likewise.
9322
9323 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9324
9325         * common/tdesc.c (tdesc_feature::accept): Move to here.
9326         (tdesc_feature::operator==): Likewise.
9327         (tdesc_create_reg): Likewise.
9328         * common/tdesc.h (tdesc_type_kind): Likewise.
9329         (struct tdesc_type): Likewise.
9330         (struct tdesc_feature): Likewise.
9331         * regformats/regdat.sh: Create a feature.
9332         * target-descriptions.c (tdesc_type_kind): Move from here.
9333         (tdesc_type): Likewise.
9334         (tdesc_type_up): Likewise.
9335         (tdesc_feature): Likewise.
9336         (tdesc_create_reg): Likewise.
9337
9338 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
9339
9340         * Makefile.in: Add arch/tdesc.c
9341         * common/tdesc.c: New file.
9342         * common/tdesc.h (tdesc_element_visitor): Move to here.
9343         (tdesc_element): Likewise.
9344         (tdesc_reg): Likewise.
9345         (tdesc_reg_up): Likewise.
9346         * regformats/regdef.h (reg): Add offset to constructors.
9347         * target-descriptions.c (tdesc_element_visitor): Move from here.
9348         (tdesc_element): Likewise.
9349         (tdesc_reg): Likewise.
9350         (tdesc_reg_up): Likewise.
9351
9352 2018-04-17  Tom Tromey  <tom@tromey.com>
9353
9354         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
9355         discriminant field.
9356
9357 2018-04-17  Tom Tromey  <tom@tromey.com>
9358
9359         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
9360
9361 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9362
9363         * symtab.c (print_symbol_info): Skip printing filename and line
9364         number when `last' is NULL.
9365         (symtab_symbol_info): Use empty string instead of NULL for first
9366         invocation of print_symbol_info.
9367         (rbreak_command): Pass NULL to `last' parameter of
9368         print_symbol_info.
9369
9370 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
9371
9372         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
9373         instead of nullptr.
9374
9375 2018-04-16  Pedro Alves  <palves@redhat.com>
9376
9377         * MAINTAINERS (sh): Remove.
9378         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
9379         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
9380         (ALLDEPFILES): Remove sh64-tdep.c.
9381         * NEWS: Mentions that support for SH-5/SH64 is removed.
9382         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
9383         (sh*-*-openbsd*): Ditto.
9384         (sh64-*-elf*): Remove.
9385         (sh*): Remove.
9386         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
9387         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
9388         * sh-tdep.c: No longer include "sh64-tdep.h".
9389         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
9390         * sh64-tdep.c, sh64-tdep.h: Remove files.
9391
9392 2018-04-16  Pedro Alves  <palves@redhat.com>
9393
9394         * MAINTAINERS: Remove m88k.
9395         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
9396         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
9397         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
9398         * NEWS: Mention that support for m88k was removed.
9399         * configure.host (m88*-*-*): Remove support.
9400         * configure.nat (m88k-*-*): Remove support.
9401         * configure.tgt (m88*-*-openbsd*): Remove.
9402         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
9403
9404 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
9405
9406         * configure.tgt (x86_tobjs): New variable.
9407         (amd64_tobjs, i386_tobjs): Use it.
9408
9409 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9410
9411         * symtab.c (print_symbol_info): Precede the symbol definition by
9412         the line number when available.
9413         * NEWS: Advertise this enhancement.
9414
9415 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9416
9417         * NEWS (New options): announce set/show record btrace cpu.
9418         * btrace.c: Include record-btrace.h.
9419         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
9420         the vendor is unknown.
9421         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
9422         Maybe overwrite the btrace configuration's cpu.
9423         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
9424         (btrace_fetch): Add cpu parameter.  Update callers.
9425         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
9426         Maybe overwrite the btrace configuration's cpu.  Skip enabling
9427         errata workarounds if the vendor is unknown.
9428         * python/py-record-btrace.c: Include record-btrace.h.
9429         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
9430         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
9431         * record-btrace.c (record_btrace_cpu_state_kind): New.
9432         (record_btrace_cpu): New.
9433         (set_record_btrace_cpu_cmdlist): New.
9434         (record_btrace_get_cpu): New.
9435         (require_btrace_thread, record_btrace_info)
9436         (record_btrace_resume_thread): Call record_btrace_get_cpu.
9437         (cmd_set_record_btrace_cpu_none): New.
9438         (cmd_set_record_btrace_cpu_auto): New.
9439         (cmd_set_record_btrace_cpu): New.
9440         (cmd_show_record_btrace_cpu): New.
9441         (_initialize_record_btrace): Initialize set/show record btrace cpu
9442         commands.
9443         * record-btrace.h (record_btrace_get_cpu): New.
9444
9445 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9446
9447         * record.c (set_record_command): Fix typo in message.
9448
9449 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9450
9451         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
9452
9453 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
9454
9455         * infrun.c (process_event_stop_test): Call
9456         gdbarch_in_indirect_branch_thunk.
9457         * gdbarch.sh (in_indirect_branch_thunk): New.
9458         * gdbarch.c: Regenerated.
9459         * gdbarch.h: Regenerated.
9460         * x86-tdep.h: New.
9461         * x86-tdep.c: New.
9462         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
9463         (HFILES_NO_SRCDIR): Add x86-tdep.h.
9464         (ALLDEPFILES): Add x86-tdep.c.
9465         * arch-utils.h (default_in_indirect_branch_thunk): New.
9466         * arch-utils.c (default_in_indirect_branch_thunk): New.
9467         * i386-tdep: Include x86-tdep.h.
9468         (i386_in_indirect_branch_thunk): New.
9469         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
9470         function.
9471         * amd64-tdep: Include x86-tdep.h.
9472         (amd64_in_indirect_branch_thunk): New.
9473         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
9474
9475 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
9476
9477         PR gdb/23053
9478         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
9479         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
9480         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
9481         regression.
9482
9483 2018-04-12  Tom Tromey  <tom@tromey.com>
9484
9485         * rust-lang.c (rust_print_struct_def): Remove univariant code.
9486         (rust_evaluate_subexp): Likewise.
9487
9488 2018-04-12  Pedro Alves  <palves@redhat.com>
9489
9490         * procfs.c (procfs_detach): Make forward declaration's prototype
9491         match definition's protototype.
9492         (proc_get_LDT_entry): Remove stale do_cleanups call.
9493
9494 2018-04-12  Pedro Alves  <palves@redhat.com>
9495
9496         * target.h (target_ops::to_has_exited): Delete.
9497         (target_has_exited): Delete.
9498         * target-delegates.c: Regenerate.
9499
9500 2018-04-11  Pedro Alves  <palves@redhat.com>
9501
9502         * target.c (fileio_fh_t::t): Add comment.
9503         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9504         (target_fileio_close): Handle a NULL target.
9505         (invalidate_fileio_fh): New.
9506         (target_close): Call it.
9507         * remote.c (remote_hostio_send_command): No longer check whether
9508         remote_desc is open.
9509
9510 2018-04-11  Pedro Alves  <palves@redhat.com>
9511
9512         * target.c (fileio_fh_t): Make it a named struct instead of a
9513         typedef.
9514         (fileio_fh_t::is_closed): New method.
9515         (DEF_VEC_O (fileio_fh_t)): Remove.
9516         (fileio_fhandles): Now a std::vector.
9517         (is_closed_fileio_fh): Delete.
9518         (acquire_fileio_fd): Adjust.  Rename parameters.
9519         (release_fileio_fd): Adjust.
9520         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
9521         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
9522         (target_fileio_close): Adjust.
9523
9524 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
9525
9526         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
9527         index.
9528
9529 2018-04-10  Pedro Alves  <palves@redhat.com>
9530
9531         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
9532         (scoped_finish_thread_state): New class.
9533         * infcmd.c (run_command_1): Use it instead of finish_thread_state
9534         cleanup.
9535         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
9536         (fetch_inferior_event, normal_stop): Likewise.
9537         * thread.c (finish_thread_state_cleanup): Delete.
9538
9539 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9540             Pedro Alves  <palves@redhat.com>
9541
9542         * value.c: Include "selftest.h" and "common/array-view.h".
9543         (struct range) <operator ==>: New.
9544         (test_ranges_contain): New.
9545         (check_ranges_vector): New.
9546         (test_insert_into_bit_range_vector): New.
9547         (_initialize_values): Register selftests.
9548         * common/array-view.h (operator==, operator!=): New.
9549
9550 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9551
9552         * common/gdb_vecs.h (unordered_remove): Add overload that takes
9553         an iterator.
9554         * inline-frame.c: Include <algorithm>.
9555         (struct inline_state): Add constructor.
9556         (inline_state_s): Remove.
9557         (DEF_VEC_O(inline_state_s)): Remove.
9558         (inline_states): Change type to std::vector.
9559         (find_inline_frame_state): Adjust to std::vector.
9560         (allocate_inline_frame_state): Remove.
9561         (clear_inline_frame_state): Adjust to std::vector.
9562         (skip_inline_frames): Adjust to std::vector.
9563
9564 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9565
9566         * tracepoint.h (struct trace_state_variable): Add constructor.
9567         <name>: Change type to std::string.
9568         * tracepoint.c (tsv_s): Remove.
9569         (DEF_VEC_O(tsv_s)): Remove.
9570         (tvariables): Change to std::vector.
9571         (create_trace_state_variable): Adjust to std::vector.
9572         (find_trace_state_variable): Likewise.
9573         (find_trace_state_variable_by_number): Likewise.
9574         (delete_trace_state_variable): Likewise.
9575         (trace_variable_command): Adjust to std::string.
9576         (delete_trace_variable_command): Likewise.
9577         (tvariables_info_1): Adjust to std::vector.
9578         (save_trace_state_variables): Likewise.
9579         (start_tracing): Likewise.
9580         (merge_uploaded_trace_state_variables): Adjust to std::vector
9581         and std::string.
9582         * target.h (struct target_ops)
9583         <to_download_trace_state_variable>: Pass reference to
9584         trace_state_variable.
9585         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
9586         * target-delegates.c: Re-generate.
9587         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
9588         (mi_tsv_deleted): Likewise.
9589         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
9590         * remote.c (remote_download_trace_state_variable): Change
9591         pointer to reference and adjust.
9592         * make-target-delegates (parse_argtypes): Handle references.
9593         (write_function_header): Likewise.
9594         (munge_type): Likewise.
9595
9596 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9597
9598         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9599         string_view-selftests.c.
9600         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
9601         testsuite.
9602         * unittests/basic_string_view/cons/char/1.cc: Likewise.
9603         * unittests/basic_string_view/cons/char/2.cc: Likewise.
9604         * unittests/basic_string_view/cons/char/3.cc: Likewise.
9605         * unittests/basic_string_view/element_access/char/1.cc:
9606         Likewise.
9607         * unittests/basic_string_view/element_access/char/empty.cc:
9608         Likewise.
9609         * unittests/basic_string_view/element_access/char/front_back.cc:
9610         Likewise.
9611         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
9612         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
9613         Likewise.
9614         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
9615         Likewise.
9616         * unittests/basic_string_view/modifiers/swap/char/1.cc:
9617         Likewise.
9618         * unittests/basic_string_view/operations/compare/char/1.cc:
9619         Likewise.
9620         * unittests/basic_string_view/operations/compare/char/13650.cc:
9621         Likewise.
9622         * unittests/basic_string_view/operations/copy/char/1.cc:
9623         Likewise.
9624         * unittests/basic_string_view/operations/data/char/1.cc:
9625         Likewise.
9626         * unittests/basic_string_view/operations/find/char/1.cc:
9627         Likewise.
9628         * unittests/basic_string_view/operations/find/char/2.cc:
9629         Likewise.
9630         * unittests/basic_string_view/operations/find/char/3.cc:
9631         Likewise.
9632         * unittests/basic_string_view/operations/find/char/4.cc:
9633         Likewise.
9634         * unittests/basic_string_view/operations/rfind/char/1.cc:
9635         Likewise.
9636         * unittests/basic_string_view/operations/rfind/char/2.cc:
9637         Likewise.
9638         * unittests/basic_string_view/operations/rfind/char/3.cc:
9639         Likewise.
9640         * unittests/basic_string_view/operations/substr/char/1.cc:
9641         Likewise.
9642         * unittests/basic_string_view/operators/char/2.cc: Likewise.
9643         * unittests/string_view-selftests.c: New file.
9644
9645 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9646
9647         * unittests/basic_string_view/capacity/1.cc: New file.
9648         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
9649         * unittests/basic_string_view/cons/char/1.cc: New file.
9650         * unittests/basic_string_view/cons/char/2.cc: New file.
9651         * unittests/basic_string_view/cons/char/3.cc: New file.
9652         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
9653         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
9654         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
9655         * unittests/basic_string_view/element_access/char/1.cc: New file.
9656         * unittests/basic_string_view/element_access/char/2.cc: New file.
9657         * unittests/basic_string_view/element_access/char/empty.cc: New file.
9658         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
9659         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
9660         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
9661         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
9662         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
9663         * unittests/basic_string_view/include.cc: New file.
9664         * unittests/basic_string_view/inserters/char/1.cc: New file.
9665         * unittests/basic_string_view/inserters/char/2.cc: New file.
9666         * unittests/basic_string_view/inserters/char/3.cc: New file.
9667         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
9668         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
9669         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
9670         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
9671         * unittests/basic_string_view/literals/types.cc: New file.
9672         * unittests/basic_string_view/literals/values.cc: New file.
9673         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
9674         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
9675         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
9676         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
9677         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
9678         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
9679         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
9680         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
9681         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
9682         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
9683         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
9684         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
9685         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
9686         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
9687         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
9688         * unittests/basic_string_view/operations/data/char/1.cc: New file.
9689         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
9690         * unittests/basic_string_view/operations/find/char/1.cc: New file.
9691         * unittests/basic_string_view/operations/find/char/2.cc: New file.
9692         * unittests/basic_string_view/operations/find/char/3.cc: New file.
9693         * unittests/basic_string_view/operations/find/char/4.cc: New file.
9694         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
9695         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
9696         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
9697         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
9698         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
9699         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
9700         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
9701         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
9702         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
9703         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
9704         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
9705         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
9706         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
9707         * unittests/basic_string_view/operators/char/2.cc: New file.
9708         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
9709         * unittests/basic_string_view/range_access/char/1.cc: New file.
9710         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
9711         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
9712         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
9713         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
9714         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
9715         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
9716         * unittests/basic_string_view/requirements/typedefs.cc: New file.
9717         * unittests/basic_string_view/typedefs.cc: New file.
9718         * unittests/basic_string_view/types/1.cc: New file.
9719
9720 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9721
9722         * common/gdb_string_view.h: Remove libstdc++ implementation
9723         details, adjust to gdb reality.
9724         * common/gdb_string_view.tcc: Likewise.
9725         * cli/cli-script.c (struct string_view): Remove.
9726         (user_args) <m_args>: Change element type to gdb::string_view.
9727         (user_args::insert_args): Adjust.
9728
9729 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9730
9731         * common/gdb_string_view.h: New file.
9732         * common/gdb_string_view.tcc: New file.
9733
9734 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
9735
9736         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
9737         * configure: Re-generate.
9738
9739 2018-04-09  Pedro Alves  <palves@redhat.com>
9740
9741         * gdbarch.sh: Include "observable.h" instead of "observer.h".
9742         (set_target_gdbarch): Call
9743         gdb::observers::architecture_changed.notify instead of
9744         observer_notify_architecture_changed.
9745
9746 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9747
9748         * tracepoint.c (struct current_traceframe_cleanup): Remove.
9749         (do_restore_current_traceframe_cleanup): Remove.
9750         (restore_current_traceframe_cleanup_dtor): Remove.
9751         (make_cleanup_restore_current_traceframe): Remove.
9752         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
9753         New.
9754         * tracepoint.h (struct scoped_restore_current_traceframe): New.
9755         * infrun.c (fetch_inferior_event): Use
9756         scoped_restore_current_traceframe.
9757
9758 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9759
9760         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
9761         Remove.
9762         <n_allocated_type_units>: Remove.
9763         <all_type_units>: Change to std::vector.
9764         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
9765         to std::vector change.
9766         (dwarf2_per_objfile::get_cutu): Likewise.
9767         (dwarf2_per_objfile::get_tu): Likewise.
9768         (create_signatured_type_table_from_index): Likewise.
9769         (create_signatured_type_table_from_debug_names): Likewise.
9770         (dw2_symtab_iter_next): Likewise.
9771         (dw2_print_stats): Likewise.
9772         (dw2_expand_all_symtabs): Likewise.
9773         (dw2_expand_marked_cus): Likewise.
9774         (dw2_debug_names_iterator::next): Likewise.
9775         (dwarf2_initialize_objfile): Likewise.
9776         (add_signatured_type_cu_to_table): Likewise.
9777         (create_all_type_units): Likewise.
9778         (add_type_unit): Likewise.
9779         (struct tu_abbrev_offset): Add constructor.
9780         (build_type_psymtabs_1): Adjust to std::vector change.
9781         (print_tu_stats): Likewise.
9782         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9783         (write_debug_names): Likewise.
9784
9785 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9786
9787         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
9788         Make an std::vector.
9789         <n_comp_units>: Remove.
9790         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
9791         to std::vector change.
9792         (dwarf2_per_objfile::get_cutu): Likewise.
9793         (dwarf2_per_objfile::get_cu): Likewise.
9794         (create_cus_from_index): Likewise.
9795         (create_addrmap_from_index): Likewise.
9796         (create_addrmap_from_aranges): Likewise.
9797         (dwarf2_read_index): Likewise.
9798         (dw2_find_last_source_symtab): Likewise.
9799         (dw2_map_symtabs_matching_filename): Likewise.
9800         (dw2_symtab_iter_next): Likewise.
9801         (dw2_print_stats): Likewise.
9802         (dw2_expand_all_symtabs): Likewise.
9803         (dw2_expand_symtabs_with_fullname): Likewise.
9804         (dw2_expand_marked_cus): Likewise.
9805         (dw2_map_symbol_filenames): Likewise.
9806         (create_cus_from_debug_names): Likewise.
9807         (dwarf2_read_debug_names): Likewise.
9808         (dw2_debug_names_iterator::next): Likewise.
9809         (dwarf2_initialize_objfile): Likewise.
9810         (set_partial_user): Likewise.
9811         (dwarf2_build_psymtabs_hard): Likewise.
9812         (read_comp_units_from_section): Remove arguments, adjust to
9813         std::vector change.
9814         (create_all_comp_units): Adjust to std::vector and
9815         read_comp_units_from_section changes.
9816         (dwarf2_find_containing_comp_unit): Adjust to std::vector
9817         change.
9818         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
9819         (psyms_seen_size): Likewise.
9820         (write_gdbindex): Likewise.
9821         (write_debug_names): Likewise.
9822
9823 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9824
9825         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
9826         with dwarf2_per_objfile.
9827         (create_cus_from_index): Likewise.
9828         (create_signatured_type_table_from_index): Likewise.
9829         (dwarf2_read_index): Likewise.
9830         (dwarf2_initialize_objfile): Likewise.
9831         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
9832         per_cu rather than get_dwarf2_per_objfile.
9833
9834 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9835
9836         * dwarf2read.h (struct signatured_type): Forward declare.
9837         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
9838         New methods.
9839         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
9840         (dw2_get_cutu): ...this.
9841         (dwarf2_per_objfile::get_cu): Rename from...
9842         (dw2_get_cu): ...this.
9843         (dwarf2_per_objfile::get_tu): New.
9844         (create_addrmap_from_index): Adjust.
9845         (create_addrmap_from_aranges): Adjust.
9846         (dw2_find_last_source_symtab): Adjust.
9847         (dw2_map_symtabs_matching_filename): Adjust.
9848         (dw2_symtab_iter_next): Adjust.
9849         (dw2_print_stats): Adjust.
9850         (dw2_expand_all_symtabs): Adjust.
9851         (dw2_expand_symtabs_with_fullname): Adjust.
9852         (dw2_expand_marked_cus): Adjust.
9853         (dw_expand_symtabs_matching_file_matcher): Adjust.
9854         (dw2_map_symbol_filenames): Adjust.
9855         (dw2_debug_names_iterator::next): Adjust.
9856         (dwarf2_initialize_objfile): Adjust.
9857         (set_partial_user): Adjust.
9858         (dwarf2_build_psymtabs_hard): Adjust.
9859
9860 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9861
9862         * dwarf2read.c (create_signatured_type_table_from_debug_names):
9863         Remove unused variables.
9864         (dw2_map_symtabs_matching_filename): Likewise.
9865         (dwarf2_record_block_ranges): Likewise.
9866         (dwarf2_read_addr_index): Likewise.
9867         (follow_die_offset): Likewise.
9868
9869 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9870
9871         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
9872         to symbol_file_add_main.
9873
9874 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9875
9876         PR mi/22299
9877         * mi/mi-console.c (do_fputc_async_safe): New.
9878         (mi_console_file::write_async_safe): New.
9879         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
9880         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
9881         New.
9882         * ui-file.c (ui_file::putstrn): Adjust call to
9883         fputstrn_unfiltered.
9884         * utils.c (printchar): Replace do_fputs and do_fprintf
9885         parameters by do_fputc.
9886         (fputstr_filtered): Adjust call to printchar.
9887         (fputstr_unfiltered): Likewise.
9888         (fputstrn_filtered): Likewise.
9889         (fputstrn_unfiltered): Add do_fputc parameter, pass to
9890         printchar.
9891         * utils.h (do_fputc_ftype): New typedef.
9892         (fputstrn_unfiltered): Add do_fputc parameter.
9893
9894 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
9895
9896         * regformats/i386/i386-avx.dat: Remove.
9897
9898 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9899
9900         PR gdb/22979
9901         * amd64-tdep.c (amd64_none_init_abi): New function.
9902         (amd64_x32_none_init_abi): New function.
9903         (_initialize_amd64_tdep): Register handlers for x86-64 and
9904         x64_32 with GDB_OSABI_NONE.
9905         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
9906         GDB_OSABI_NONE osabi.
9907
9908 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9909
9910         PR gdb/22980
9911         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
9912         GDB_OSABI_NONE.
9913         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
9914         * osabi.c (gdb_osabi_names): Add "unknown" entry.
9915
9916 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
9917
9918         * common/byte-vector.h (char_vector): New type.
9919         * target.h (target_read_alloc): Return
9920         gdb::optional<byte_vector>.
9921         (target_read_stralloc): Return gdb::optional<char_vector>.
9922         (target_get_osdata): Return gdb::optional<char_vector>.
9923         * target.c (target_read_alloc_1): Templatize.  Replacement
9924         manual memory management with vector.
9925         (target_read_alloc): Change return type, adjust.
9926         (target_read_stralloc): Change return type, adjust.
9927         (target_get_osdata): Change return type, adjust.
9928         * auxv.c (struct auxv_info) <length>: Remove.
9929         <data>: Change type to gdb::optional<byte_vector>.
9930         (auxv_inferior_data_cleanup): Free auxv_info with delete.
9931         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
9932         (target_auxv_search): Adjust.
9933         (fprint_target_auxv): Adjust.
9934         * avr-tdep.c (avr_io_reg_read_command): Adjust.
9935         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
9936         (linux_make_corefile_notes): Adjust.
9937         * osdata.c (get_osdata): Adjust.
9938         * remote.c (remote_get_threads_with_qxfer): Adjust.
9939         (remote_memory_map): Adjust.
9940         (remote_traceframe_info): Adjust.
9941         (btrace_read_config): Adjust.
9942         (remote_read_btrace): Adjust.
9943         (remote_pid_to_exec_file): Adjust.
9944         * solib-aix.c (solib_aix_get_library_list): Adjust.
9945         * solib-dsbt.c (decode_loadmap): Don't free buf.
9946         (dsbt_get_initial_loadmaps): Adjust.
9947         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
9948         * solib-target.c (solib_target_current_sos): Adjust.
9949         * tracepoint.c (sdata_make_value): Adjust.
9950         * xml-support.c (xinclude_start_include): Adjust.
9951         (xml_fetch_content_from_file): Adjust.
9952         * xml-support.h (xml_fetch_another): Change return type.
9953         (xml_fetch_content_from_file): Change return type.
9954         * xml-syscall.c (xml_init_syscalls_info): Adjust.
9955         * xml-tdesc.c (file_read_description_xml): Adjust.
9956         (fetch_available_features_from_target): Change return type.
9957         (target_fetch_description_xml): Adjust.
9958         (target_read_description_xml): Adjust.
9959
9960 2018-04-06  Tom Tromey  <tom@tromey.com>
9961
9962         * value.c (~value): Update.
9963         (struct value) <contents>: Now unique_xmalloc_ptr.
9964         (value_contents_bits_eq, allocate_value_contents)
9965         (value_contents_raw, value_contents_all_raw)
9966         (value_contents_for_printing, value_contents_for_printing_const)
9967         (set_value_enclosing_type): Update.
9968
9969 2018-04-06  Tom Tromey  <tom@tromey.com>
9970
9971         * value.c (range_s): Remove typedef, VEC.
9972         (struct range): Add operator<.
9973         (range_lessthan): Remove.
9974         (ranges_contain): Change type.
9975         (~value): Update.
9976         (struct value) <unavailable, optimized_out>: Now std::vector.
9977         (value_entirely_available)
9978         (value_entirely_covered_by_range_vector)
9979         (value_entirely_unavailable, value_entirely_optimized_out):
9980         Update.
9981         (insert_into_bit_range_vector): Change argument type.
9982         (find_first_range_overlap): Likewise.
9983         (struct ranges_and_idx, value_contents_bits_eq)
9984         (require_not_optimized_out, require_available): Update.
9985         (ranges_copy_adjusted): Change argument types.
9986         (value_optimized_out, value_copy, value_fetch_lazy): Update.
9987
9988 2018-04-06  Tom Tromey  <tom@tromey.com>
9989
9990         * value.c (~value): Update.
9991         (struct value) <parent>: Now a value_ref_ptr.
9992         (value_parent, set_value_parent, value_address, value_copy):
9993         Update.
9994
9995 2018-04-06  Tom Tromey  <tom@tromey.com>
9996
9997         * value.c (struct value): Add constructor, destructor, and member
9998         initializers.
9999         (allocate_value_lazy, value_decref): Update.
10000
10001 2018-04-06  Tom Tromey  <tom@tromey.com>
10002
10003         * value.c (struct value) <released, next>: Remove.
10004         (all_values): Now a std::vector.
10005         (allocate_value_lazy): Update.
10006         (value_next): Remove.
10007         (value_mark, value_free_to_mark, release_value)
10008         (value_release_to_mark): Update.
10009
10010 2018-04-06  Tom Tromey  <tom@tromey.com>
10011
10012         * value.h (fetch_subexp_value, value_release_to_mark): Update.
10013         (free_value_chain): Remove.
10014         * value.c (free_value_chain): Remove.
10015         (value_release_to_mark): Return a std::vector.
10016         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
10017         std::vector.
10018         (check_condition): Update.
10019         * eval.c (fetch_subexp_value): Change "val_chain" to a
10020         std::vector.
10021         * breakpoint.c (update_watchpoint): Update.
10022         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
10023
10024 2018-04-06  Tom Tromey  <tom@tromey.com>
10025
10026         * value.h (free_all_values): Remove.
10027         * value.c (free_all_values): Remove.
10028
10029 2018-04-06  Tom Tromey  <tom@tromey.com>
10030
10031         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
10032         (value_history_chain, value_history_count): Remove.
10033         (value_history): New global.
10034         (record_latest_value, access_value_history, show_values)
10035         (preserve_values): Update.
10036
10037 2018-04-06  Tom Tromey  <tom@tromey.com>
10038
10039         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
10040         * varobj.c (varobj_set_display_format, varobj_set_value)
10041         (install_default_visualizer, construct_visualizer)
10042         (install_new_value, ~varobj, varobj_get_value_type)
10043         (my_value_of_variable, varobj_editable_p): Update.
10044         * c-varobj.c (c_describe_child, c_value_of_variable)
10045         (cplus_number_of_children, cplus_describe_child): Update.
10046         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
10047         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
10048         (ada_value_of_variable, ada_value_is_changeable_p): Update.
10049
10050 2018-04-06  Tom Tromey  <tom@tromey.com>
10051
10052         * printcmd.c (last_examine_address): Change type to
10053         value_ref_ptr.
10054         (do_examine, x_command): Update.
10055
10056 2018-04-06  Tom Tromey  <tom@tromey.com>
10057
10058         * value.c (release_value): Update.
10059         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
10060         (struct bpstats) <val>: Now a value_ref_ptr.
10061         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10062         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10063         (~watchpoint, print_it_watchpoint, watch_command_1)
10064         (invalidate_bp_value_on_memory_change): Update.
10065
10066 2018-04-06  Tom Tromey  <tom@tromey.com>
10067
10068         * varobj.c (varobj_clear_saved_item)
10069         (update_dynamic_varobj_children, install_new_value, ~varobj):
10070         Update.
10071         * value.h (value_incref): Move declaration earlier.
10072         (value_decref): Rename from value_free.
10073         (struct value_ref_policy): New.
10074         (value_ref_ptr): New typedef.
10075         (struct value_deleter): Remove.
10076         (gdb_value_up): Remove typedef.
10077         (release_value): Change return type.
10078         (release_value_or_incref): Remove.
10079         * value.c (set_value_parent): Update.
10080         (value_incref): Change return type.
10081         (value_decref): Rename from value_free.
10082         (value_free_to_mark, free_all_values, free_value_chain): Update.
10083         (release_value): Return value_ref_ptr.
10084         (release_value_or_incref): Remove.
10085         (record_latest_value, set_internalvar, clear_internalvar):
10086         Update.
10087         * stack.c (info_frame_command): Don't call value_free.
10088         * python/py-value.c (valpy_dealloc, valpy_new)
10089         (value_to_value_object): Update.
10090         * printcmd.c (do_examine): Update.
10091         * opencl-lang.c (lval_func_free_closure): Update.
10092         * mi/mi-main.c (register_changed_p): Don't call value_free.
10093         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
10094         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
10095         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
10096         value_free.
10097         * guile/scm-value.c (vlscm_free_value_smob)
10098         (vlscm_scm_from_value): Update.
10099         * frame.c (frame_register_unwind, frame_unwind_register_signed)
10100         (frame_unwind_register_unsigned, get_frame_register_bytes)
10101         (put_frame_register_bytes): Don't call value_free.
10102         * findvar.c (address_from_register): Don't call value_free.
10103         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
10104         * dwarf2loc.c (entry_data_value_free_closure)
10105         (value_of_dwarf_reg_entry, free_pieced_value_closure)
10106         (dwarf2_evaluate_loc_desc_full): Update.
10107         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10108         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10109         (~watchpoint, watch_command_1)
10110         (invalidate_bp_value_on_memory_change): Update.
10111         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
10112
10113 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
10114
10115         PR gdb/23022
10116         * warning.m4: Add -Wno-error=deprecated-register.
10117         * configure: Re-generate.
10118
10119 2018-04-05  Tom Tromey  <tom@tromey.com>
10120
10121         * linespec.h: Remove include of "vec.h".
10122
10123 2018-04-05  Tom Tromey  <tom@tromey.com>
10124
10125         * linespec.c (typep): Remove typedef.
10126         (find_methods, find_superclass_methods): Take a std::vector.
10127         (find_method): Use std::vector.
10128
10129 2018-04-05  Tom Tromey  <tom@tromey.com>
10130
10131         * utils.c (compare_strings): Remove.
10132         * utils.h (compare_strings): Remove.
10133         * objc-lang.h (find_imps): Update.
10134         * objc-lang.c (find_methods): Take a std::vector.
10135         (uniquify_strings, find_imps): Likewise.
10136         * linespec.c (find_methods): Take a std::vector.
10137         (decode_objc): Use std::vector.
10138         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
10139         a std::vector.
10140         (find_method, find_function_symbols): Use std::vector.
10141
10142 2018-04-05  Tom Tromey  <tom@tromey.com>
10143
10144         * completer.c (completion_tracker::completion_tracker): Remove
10145         cast.
10146         (completion_tracker::discard_completions): Likewise.
10147         * breakpoint.c (ambiguous_names_p): Remove cast.
10148         * ada-lang.c (_initialize_ada_language): Remove cast.
10149         * utils.h (streq): Update.
10150         (streq_hash): Add new declaration.
10151         * utils.c (streq): Return bool.
10152         (streq_hash): New function.
10153
10154 2018-04-05  Tom Tromey  <tom@tromey.com>
10155
10156         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
10157         Remove a string copy.
10158
10159 2018-04-05  Tom Tromey  <tom@tromey.com>
10160
10161         * linespec.c (filter_results): Use std::vector.
10162         (decode_line_2, decode_line_full): Update.
10163
10164 2018-04-05  Tom Tromey  <tom@tromey.com>
10165
10166         * linespec.c (canonical_to_fullform): Return std::string.
10167         (filter_results): Update.
10168         (struct decode_line_2_item): Add constructor.
10169         <fullform, displayform>: Now std::string.
10170         (decode_line_2_compare_items): Now a std::sort comparator.
10171         (decode_line_2): Update.
10172
10173 2018-04-05  Tom Tromey  <tom@tromey.com>
10174
10175         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
10176         (unexpected_linespec_error): Update.
10177         (linespec_parse_basic, parse_linespec): Update.
10178
10179 2018-04-05  Tom Tromey  <tom@tromey.com>
10180
10181         * linespec.c (linespec_parse_basic): Reindent.
10182
10183 2018-04-05  Tom Tromey  <tom@tromey.com>
10184
10185         * minsyms.h (iterate_over_minimal_symbols): Update.
10186         * minsyms.c (iterate_over_minimal_symbols): Take a
10187         gdb::function_view.
10188         * linespec.c (struct collect_minsyms): Remove.
10189         (compare_msyms): Now a std::sort comparator.
10190         (add_minsym): Add parameters.
10191         (search_minsyms_for_name): Update.  Use std::vector.
10192
10193 2018-04-03  Tom Tromey  <tom@tromey.com>
10194
10195         * mipsread.c (read_alphacoff_dynamic_symtab): Use
10196         gdb::byte_vector.
10197
10198 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10199
10200         * MAINTAINERS (Write After Approval): Add Weimin Pan.
10201
10202 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
10203
10204         PR gdb/16959
10205         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
10206         printing static type.
10207
10208 2018-04-01  Tom Tromey  <tom@tromey.com>
10209
10210         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
10211         (rs6000_xfer_shared_libraries): Update.
10212
10213 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
10214
10215         * common/gdb_vecs.h (char_ptr): Remove.
10216         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
10217
10218 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10219
10220         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
10221         with std::vector.
10222         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
10223
10224 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
10225
10226         * tracepoint.h (struct uploaded_tp): Initialize fields.
10227         <actions, step_actions, cmd_strings>: Change type to
10228         std::vector<char *>.
10229         * tracepoint.c (get_uploaded_tp): Allocate with new.
10230         (free_uploaded_tps): Free with delete.
10231         (parse_tracepoint_definition): Adjust to std::vector change.
10232         * breakpoint.c (read_uploaded_action): Likewise.
10233         (create_tracepoint_from_upload): Likewise.
10234         * ctf.c (ctf_write_uploaded_tp): Likewise.
10235         (SET_ARRAY_FIELD): Likewise.
10236         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
10237
10238 2018-03-30  Tom Tromey  <tom@tromey.com>
10239
10240         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
10241         std::unique_ptr.
10242         (svr4_keep_data_in_core): Update.
10243         (svr4_read_so_list): Update.
10244
10245 2018-03-30  Tom Tromey  <tom@tromey.com>
10246
10247         * windows-nat.c (handle_output_debug_string, handle_exception):
10248         Update.
10249         * target.h (target_read_string): Update.
10250         * target.c (target_read_string): Change "string" to
10251         unique_xmalloc_ptr.
10252         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
10253         Update.
10254         * solib-frv.c (frv_current_sos): Update.
10255         * solib-dsbt.c (dsbt_current_sos): Update.
10256         * solib-darwin.c (darwin_current_sos): Update.
10257         * linux-thread-db.c (inferior_has_bug): Update.
10258         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
10259         Update.  Remove alloca.
10260         * ada-lang.c (ada_main_name): Update.
10261
10262 2018-03-30  Tom Tromey  <tom@tromey.com>
10263
10264         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
10265         (struct dwo_file_deleter): New.
10266         (dwo_file_up): New typedef.
10267         (open_and_init_dwo_file): Use dwo_file_up.
10268         (free_dwo_file_cleanup): Remove.
10269
10270 2018-03-30  Tom Tromey  <tom@tromey.com>
10271
10272         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
10273         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
10274
10275 2018-03-30  Tom Tromey  <tom@tromey.com>
10276
10277         * dwarf2read.c (class free_cached_comp_units): New class.
10278         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
10279         (free_cached_comp_units): Remove function.
10280
10281 2018-03-30  Tom Tromey  <tom@tromey.com>
10282
10283         * utils.h (make_cleanup_unpush_target): Remove.
10284         * inf-ptrace.c (struct target_unpusher): New.
10285         (target_unpush_up) New typedef.
10286         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
10287         target_unpush_up.
10288         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
10289
10290 2018-03-27  Tom Tromey  <tom@tromey.com>
10291
10292         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
10293
10294 2018-03-27  Pedro Alves  <palves@redhat.com>
10295             Tom Tromey  <tom@tromey.com>
10296
10297         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
10298         destructor.  Now a class.
10299         (gdb_readline_wrapper_cleanup): Remove function.
10300         (gdb_readline_wrapper): Remove cleanups.
10301
10302 2018-03-27  Tom Tromey  <tom@tromey.com>
10303
10304         * typeprint.h (struct type_print_options) <local_typedefs,
10305         global_typedefs>: Remove "struct" keyword.
10306         (class typedef_hash_table): New class.
10307         (recursively_update_typedef_hash, add_template_parameters)
10308         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
10309         (find_typedef_in_hash): Don't declare.
10310         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
10311         (typedef_hash_table::recursively_update): Rename from
10312         recursively_update_typedef_hash.  Now a member.
10313         (typedef_hash_table::add_template_parameters): Rename from
10314         add_template_parameters.  Now a member.
10315         (typedef_hash_table::typedef_hash_table): Now a constructor;
10316         rename from create_typedef_hash.
10317         (typedef_hash_table::~typedef_hash_table): Now a destructor;
10318         rename from free_typedef_hash.
10319         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
10320         (do_free_global_table): Remove.
10321         (typedef_hash_table::typedef_hash_table): New constructor; renamed
10322         from copy_type_recursive.
10323         (create_global_typedef_table): Remove.
10324         (typedef_hash_table::find_global_typedef): Now a member of
10325         typedef_hash_table.
10326         (typedef_hash_table::find_typedef): Rename from
10327         find_typedef_in_hash; now a member.
10328         (whatis_exp): Update.
10329         * extension.h (struct ext_lang_type_printers): Add constructor and
10330         destructor.
10331         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
10332         declare.
10333         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
10334         Now a constructor; rename from start_ext_lang_type_printers.
10335         (ext_lang_type_printers): Now a destructor; rename from
10336         free_ext_lang_type_printers.
10337         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
10338         Update.
10339         (c_type_print_base_struct_union): Update.  Remove cleanups.
10340
10341 2018-03-27  Tom Tromey  <tom@tromey.com>
10342
10343         * dwarf-index-write.c: Include <cmath>.
10344
10345 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10346
10347         * NEWS: Add entry describing new "set|show varsize-limit" command.
10348         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
10349         command.
10350         * printcmd.c (_initialize_printcmd): Add "set var" alias of
10351         "set variable".
10352
10353 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
10354
10355         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
10356         dwarf-index-write.c
10357         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
10358         * dwarf-index-common.c: New file.
10359         * dwarf-index-common.h: New file.
10360         * dwarf-index-write.c: New file.
10361         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
10362         (struct dwarf2_section_info): Move from here.
10363         (dwarf2_section_info_def): Likewise.
10364         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
10365         (offset_type): Likewise.
10366         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
10367         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
10368         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
10369         (byte_swap): Likewise.
10370         (MAYBE_SWAP): Likewise.
10371         (dwarf2_per_cu_ptr): Likewise.
10372         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
10373         (struct tu_stats): Likewise.
10374         (struct dwarf2_per_objfile): Likewise.
10375         (struct dwarf2_per_cu_data): Likewise.
10376         (struct signatured_type): Likewise.
10377         (sig_type_ptr): Likewise.
10378         (DEF_VEC_P (sig_type_ptr)): Likewise.
10379         (INDEX4_SUFFIX): Likewise.
10380         (INDEX5_SUFFIX): Likewise.
10381         (DEBUG_STR_SUFFIX): Likewise.
10382         (dwarf2_read_section): Make non-static.
10383         (mapped_index_string_hash): Move from here.
10384         (dwarf5_djb_hash): Likewise.
10385         (file_write): Likewise.
10386         (class data_buf): Likewise.
10387         (struct symtab_index_entry): Likewise.
10388         (struct mapped_symtab): Likewise.
10389         (find_slot): Likewise.
10390         (hash_expand): Likewise.
10391         (add_index_entry): Likewise.
10392         (uniquify_cu_indices): Likewise.
10393         (class c_str_view): Likewise.
10394         (class c_str_view_hasher): Likewise.
10395         (class vector_hasher): Likewise.
10396         (write_hash_table): Likewise.
10397         (psym_index_map): Likewise.
10398         (struct addrmap_index_data): Likewise.
10399         (add_address_entry): Likewise.
10400         (add_address_entry_worker): Likewise.
10401         (write_address_map): Likewise.
10402         (symbol_kind): Likewise.
10403         (write_psymbols): Likewise.
10404         (struct signatured_type_index_data): Likewise.
10405         (write_one_signatured_type): Likewise.
10406         (recursively_count_psymbols): Likewise.
10407         (recursively_write_psymbols): Likewise.
10408         (class debug_names): Likewise.
10409         (check_dwarf64_offsets): Likewise.
10410         (psyms_seen_size): Likewise.
10411         (write_gdbindex): Likewise.
10412         (write_debug_names): Likewise.
10413         (assert_file_size): Likewise.
10414         (write_psymtabs_to_index): Likewise.
10415         (save_gdb_index_command): Likewise.
10416         (_initialize_dwarf2_read): Don't register the "save gdb-index"
10417         command.
10418         * dwarf2read.h: New file.
10419
10420 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
10421
10422         PR gdb/22670
10423         * dwarf2read.c (dwarf2_physname): Do not return the demangled
10424         symbol name if the CU's language stores symbol names in linkage
10425         format.
10426         * language.h (struct language_defn)
10427         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
10428         all instances of this struct.
10429
10430 2018-03-26  Tom Tromey  <tom@tromey.com>
10431
10432         * stack.c (backtrace_command_1): Remove verbose code.
10433
10434 2018-03-26  Tom Tromey  <tom@tromey.com>
10435
10436         * python/py-framefilter.c (py_print_type): Don't catch
10437         exceptions.  Return void.
10438         (py_print_value): Likewise.
10439         (py_print_single_arg): Likewise.
10440         (enumerate_args): Don't catch exceptions.
10441         (py_print_args): Likewise.
10442         (py_print_frame): Likewise.
10443         (gdbpy_apply_frame_filter): Catch exceptions here.
10444
10445 2018-03-26  Tom Tromey  <tom@tromey.com>
10446
10447         * stack.c (_initialize_stack): Remove trailing newlines from help
10448         text.  Add "Usage" line to "backtrace" help.
10449
10450 2018-03-26  Tom Tromey  <tom@tromey.com>
10451
10452         PR python/16486:
10453         * python/py-framefilter.c (py_print_args): Call wrap_hint.
10454
10455 2018-03-26  Tom Tromey  <tom@tromey.com>
10456
10457         * python/py-framefilter.c (py_print_single_arg): Return
10458         EXT_LANG_BT_ERROR from catch.
10459
10460 2018-03-26  Tom Tromey  <tom@tromey.com>
10461
10462         PR backtrace/15584:
10463         * stack.c (backtrace_command_1): Move some code into no-filters
10464         "if".
10465
10466 2018-03-26  Tom Tromey  <tom@tromey.com>
10467
10468         * python/py-framefilter.c (throw_quit_or_print_exception): New
10469         function.
10470         (gdbpy_apply_frame_filter): Use it.
10471
10472 2018-03-26  Tom Tromey  <tom@tromey.com>
10473
10474         PR cli/17716:
10475         * python/py-framefilter.c (py_print_type, py_print_value)
10476         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
10477         RETURN_MASK_ERROR.
10478
10479 2018-03-26  Tom Tromey  <tom@tromey.com>
10480
10481         * python/py-framefilter.c (enumerate_args): Use
10482         gdb::unique_xmalloc_ptr.
10483
10484 2018-03-26  Tom Tromey  <tom@tromey.com>
10485
10486         * python/py-framefilter.c (py_print_frame): Return
10487         EXT_LANG_BT_OK.
10488         (gdbpy_apply_frame_filter): Update comment.
10489         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
10490         Remove.
10491         <EXT_LANG_BT_NO_FILTERS>: Change value.
10492
10493 2018-03-26  Tom Tromey  <tom@tromey.com>
10494
10495         PR backtrace/15582:
10496         * stack.c (backtrace_command): Parse "hide" argument.
10497         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
10498         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
10499         constant.
10500
10501 2018-03-26  Tom Tromey  <tom@tromey.com>
10502
10503         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
10504         add "flags".
10505         (backtrace_command): Remove "fulltrace", add "flags".
10506
10507 2018-03-26  Tom Tromey  <tom@tromey.com>
10508
10509         * stack.c (backtrace_command): Rewrite command line parsing.
10510
10511 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10512
10513         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
10514
10515 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
10516
10517         * filename-seen-cache.h: Add include guard.
10518
10519 2018-03-26  Keith Seitz  <keiths@redhat.com>
10520
10521         * symfile.c (place_section): Remove "struct" from section_addr_info
10522         in comment.
10523         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
10524         "struct" keyword from section_addr_info.
10525
10526 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
10527
10528         * regformats/regdef.h (reg): Add constructors.
10529
10530 2018-03-25  Pedro Alves  <palves@redhat.com>
10531
10532         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
10533         if then/else bodies in var_func_name extraction.
10534
10535 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
10536
10537         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
10538         lookup_minimal_symbol() to find symbol entry.
10539         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
10540
10541 2018-03-23  Keith Seitz  <keiths@redhat.com>
10542
10543         PR c++/22968
10544         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
10545         nested type definitions for C++, too.
10546
10547 2018-03-23  Tom Tromey  <tom@tromey.com>
10548
10549         * machoread.c (struct oso_el): Add a constructor.  Don't define as
10550         a typedef.
10551         (macho_register_oso): Remove.
10552         (macho_symtab_read): Take a std::vector.
10553         (oso_el_compare_name): Now a std::sort comparator.
10554         (macho_symfile_read_all_oso): Take a std::vector.
10555         (macho_symfile_read): Use std::vector.  Remove cleanups.
10556
10557 2018-03-22  Tom Tromey  <tom@tromey.com>
10558
10559         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
10560         (record_full_goto_bookmark): Use std::string.
10561
10562 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10563
10564         PR tdep/18295
10565         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
10566         a single mask.
10567
10568 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10569
10570         * rs6000-tdep.c (store_insn_p): New function.
10571         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
10572         and cr_reg to their unshifted values. Use store_insn_p to
10573         match LR saves using either R1 or fdata->alloca_reg. Use
10574         store_insn_p to match CR saves. Set alloca_reg_offset
10575         when alloca_reg and framep are set. Remove lr_reg shift
10576         when assigning to fdata->lr_register.
10577
10578 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10579
10580         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
10581         command line args instead of emitting a warning.
10582
10583 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
10584
10585         * tracepoint.h (struct static_tracepoint_marker): Initialize
10586         fields, define default constructor, move constructor and move
10587         assignment, disable the rest.
10588         <str_id, extra>: Make std::string.
10589         (release_static_tracepoint_marker): Remove.
10590         (free_current_marker): Remove.
10591         * tracepoint.c (free_current_marker): Remove.
10592         (parse_static_tracepoint_marker_definition): Adjust to
10593         std::string, use new hex2str overload.
10594         (release_static_tracepoint_marker): Remove.
10595         (print_one_static_tracepoint_marker): Get marker by reference
10596         and adjust to std::string.
10597         (info_static_tracepoint_markers_command): Adjust to std::vector
10598         changes
10599         * target.h (static_tracepoint_marker_p): Remove typedef.
10600         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
10601         (struct target_ops) <to_static_tracepoint_marker_at>: Return
10602         bool.
10603         <to_static_tracepoint_markers_by_strid>: Return std::vector.
10604         * target-debug.h
10605         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
10606         (target_debug_print_std_vector_static_tracepoint_marker): New.
10607         (target_debug_print_struct_static_tracepoint_marker_p): Rename
10608         to...
10609         (target_debug_print_static_tracepoint_marker_p): ... this.
10610         * target-delegates.c: Re-generate.
10611         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
10612         Make std::string.
10613         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
10614         (decode_static_tracepoint_spec): Adjust to std::vector.
10615         (tracepoint_print_one_detail): Adjust to std::string.
10616         (strace_marker_decode_location): Adjust to std::string.
10617         (update_static_tracepoint): Adjust to std::string, remove call
10618         to release_static_tracepoint_marker.
10619         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
10620         Adjust to std::vector.
10621         * remote.c (remote_static_tracepoint_marker_at): Return bool.
10622         (remote_static_tracepoint_markers_by_strid): Adjust to
10623         std::vector.
10624         * common/rsp-low.h (hex2str): New overload with explicit count
10625         of bytes.
10626         * common/rsp-low.c (hex2str): New overload with explicit count
10627         of bytes.
10628         * unittests/rsp-low-selftests.c (test_hex2str): New function.
10629         (_initialize_rsp_low_selftests): Add test_hex2str test.
10630         * unittests/tracepoint-selftests.c
10631         (test_parse_static_tracepoint_marker_definition): Adjust to
10632         std::string.
10633
10634 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
10635
10636         * tracepoint.c (parse_static_tracepoint_marker_definition):
10637         Consider case where the definition is followed by more
10638         definitions.
10639         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10640         tracepoint-selftests.c.
10641         * unittests/tracepoint-selftests.c: New.
10642
10643 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
10644
10645         * MAINTAINERS (Write After Approval): Add Pedro Franco de
10646         Carvalho.
10647
10648 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
10649
10650         * symtab.c (find_pc_sect_line): fixed indentation.
10651
10652 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
10653
10654         * symtab.c (find_pc_sect_line): now uses binary search.
10655
10656 2018-03-19  Tom Tromey  <tom@tromey.com>
10657
10658         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
10659         "IDENT" production.
10660
10661 2018-03-19  Pedro Alves  <palves@redhat.com>
10662             Tom Tromey  <tom@tromey.com>
10663
10664         * unittests/observable-selftests.c: New file.
10665         * common/observable.h: New file.
10666         * observable.h: New file.
10667         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
10668         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
10669         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
10670         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
10671         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
10672         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
10673         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
10674         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
10675         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
10676         python/py-breakpoint.c, python/py-finishbreakpoint.c,
10677         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
10678         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
10679         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
10680         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
10681         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
10682         tui/tui-interp.c, valops.c: Update all users.
10683         * tui/tui-hooks.c (tui_bp_created_observer)
10684         (tui_bp_deleted_observer, tui_bp_modified_observer)
10685         (tui_inferior_exit_observer, tui_before_prompt_observer)
10686         (tui_normal_stop_observer, tui_register_changed_observer):
10687         Remove.
10688         (tui_observers_token): New global.
10689         (attach_or_detach, tui_attach_detach_observers): New functions.
10690         (tui_install_hooks, tui_remove_hooks): Use
10691         tui_attach_detach_observers.
10692         * record-btrace.c (record_btrace_thread_observer): Remove.
10693         (record_btrace_thread_observer_token): New global.
10694         * observer.sh: Remove.
10695         * observer.c: Rename to observable.c.
10696         * observable.c (namespace gdb_observers): Define new objects.
10697         (observer_debug): Move into gdb_observers namespace.
10698         (struct observer, struct observer_list, xalloc_observer_list_node)
10699         (xfree_observer_list_node, generic_observer_attach)
10700         (generic_observer_detach, generic_observer_notify): Remove.
10701         (_initialize_observer): Update.
10702         Don't include observer.inc.
10703         * Makefile.in (generated_files): Remove observer.h, observer.inc.
10704         (clean mostlyclean): Likewise.
10705         (observer.h, observer.inc): Remove targets.
10706         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
10707         (COMMON_SFILES): Use observable.c, not observer.c.
10708         * .gitignore: Remove observer.h.
10709
10710 2018-03-18  Tom Tromey  <tom@tromey.com>
10711
10712         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
10713         gdb::def_vector.
10714         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
10715
10716 2018-03-17  Tom Tromey  <tom@tromey.com>
10717
10718         * auto-load.c (auto_load_objfile_script_1): Use std::string.
10719
10720 2018-03-17  Tom Tromey  <tom@tromey.com>
10721
10722         * target.c (class scoped_target_fd): New.
10723         (target_fileio_close_cleanup): Remove.
10724         (target_fileio_read_alloc_1): Use scoped_target_fd.
10725
10726 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
10727
10728         * silent-rules.mk: New.
10729         * Makefile.in: Include silent-rules.mk
10730         (srcdir, VPATH, top_srcdir): Move up.
10731         (COMPILE): Add ECHO_CXX.
10732         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
10733         (init.c): Add ECHO_INIT_C.
10734         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
10735         (version.c): Add ECHO_GEN.
10736         (printcmd.o): Add ECHO_CXX.
10737         (target-float.o): Add ECHO_CXX.
10738         (ada-exp.o): Add ECHO_CXX.
10739         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
10740         (insight$(EXEEXT)): Add ECHO_CXXLD.
10741         * gnulib/configure.ac: Add AM_SILENT_RULES.
10742         * gnulib/aclocal.m4: Re-generate.
10743         * gnulib/configure: Re-generate.
10744         * gnulib/import/Makefile.in: Re-generate.
10745
10746 2018-03-16  Tom Tromey  <tom@tromey.com>
10747
10748         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
10749         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
10750         * utils.c (do_free_section_addr_info)
10751         (make_cleanup_free_section_addr_info): Remove.
10752         * symfile.h (struct other_sections): Add constructor.
10753         (struct section_addr_info): Remove.
10754         (section_addr_info): New typedef.
10755         (struct sym_fns) <sym_offsets>: Change type of parameter.
10756         (build_section_addr_info_from_objfile)
10757         (relative_addr_info_to_section_offsets, addr_info_make_relative)
10758         (default_symfile_offsets, symbol_file_add)
10759         (symbol_file_add_from_bfd)
10760         (build_section_addr_info_from_section_table): Update.
10761         (alloc_section_addr_info, free_section_addr_info): Don't declare.
10762         * symfile.c (alloc_section_addr_info): Remove.
10763         (build_section_addr_info_from_section_table): Change return type.
10764         Update.
10765         (build_section_addr_info_from_bfd)
10766         (build_section_addr_info_from_objfile): Likewise.
10767         (free_section_addr_info): Remove.
10768         (relative_addr_info_to_section_offsets): Change type of "addrs".
10769         (addrs_section_compar): Now a std::sort comparator.
10770         (addrs_section_sort): Change return type.
10771         (addr_info_make_relative): Change type of "addrs".  Update.
10772         (default_symfile_offsets, syms_from_objfile_1)
10773         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
10774         (symbol_file_add_separate): Update.
10775         (symbol_file_add): Change type of "addrs".  Update.
10776         (add_symbol_file_command): Update.  Remove cleanups.
10777         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
10778         cleanups.
10779         * symfile-debug.c (debug_sym_offsets): Change type of "info".
10780         * solib.c (solib_read_symbols): Update.
10781         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
10782         * machoread.c (macho_symfile_offsets): Update.
10783         * jit.c (jit_bfd_try_read_symtab): Update.
10784
10785 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
10786
10787         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10788         unittests/utils-selftests.c.
10789         * unittests/utils-selftests.c: New file.
10790
10791 2018-03-14  Tom Tromey  <tom@tromey.com>
10792
10793         PR cli/14977:
10794         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
10795         for NULL.
10796
10797 2018-03-14  Tom Tromey  <tom@tromey.com>
10798
10799         PR cli/19918:
10800         * printcmd.c (printf_pointer): Allow "-" in format.
10801
10802 2018-03-14  Tom Tromey  <tom@tromey.com>
10803
10804         * printcmd.c (_initialize_printcmd): Add usage to printf.
10805
10806 2018-03-14  Yao Qi  <qiyao@sourceware.org>
10807
10808         * MAINTAINERS: Update my email address.
10809
10810 2018-03-13  Tom Tromey  <tom@tromey.com>
10811
10812         * machoread.c (macho_check_dsym): Change filenamep to a
10813         std::string*.
10814         (macho_symfile_read): Update.
10815         * symfile.c (load_command): Use std::string.
10816
10817 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10818
10819         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
10820         to error message string.
10821         (riscv_register_name): Use xsnprintf instead of sprintf.
10822         (riscv_insn::fetch_instruction): Use gdb_assert instead of
10823         internal_error.
10824         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
10825         error.
10826         (riscv_push_dummy_call): Likewise.
10827
10828 2018-03-12  Tom Tromey  <tom@tromey.com>
10829
10830         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
10831         Use gdb::byte_vector.
10832         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
10833
10834 2018-03-12  Yao Qi  <yao.qi@linaro.org>
10835
10836         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
10837         parameter type to readable_regcache.
10838         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
10839         the declaration.
10840
10841 2018-03-11  Tom Tromey  <tom@tromey.com>
10842
10843         * dwarf2read.c (struct nextfield): Add initializers.
10844         (struct nextfnfield): Remove.
10845         (struct fnfieldlist): Add initializers.  Remove "length" and
10846         "head", use std::vector.
10847         (struct decl_field_list): Remove.
10848         (struct field_info): Add initializers.
10849         <fields, baseclasses>: Now std::vector.
10850         <nbaseclasses, nfnfields, typedef_field_list_count,
10851         nested_types_list_count>: Remove.
10852         (dwarf2_add_field, dwarf2_add_type_defn)
10853         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
10854         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
10855         (process_structure_scope): Update.
10856
10857 2018-03-11  Tom Tromey  <tom@tromey.com>
10858
10859         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
10860         for use by std::sort.
10861         (build_type_psymtabs_1): Use std::vector.
10862
10863 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
10864
10865         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
10866         and LIBMPFR in the printed configuration.
10867
10868 2018-03-08  Tom Tromey  <tom@tromey.com>
10869
10870         * source.c (get_filename_and_charpos): Use scoped_fd.
10871         * nto-procfs.c (procfs_open_1): Use scoped_fd.
10872         (procfs_pidlist): Likewise.
10873         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
10874         (iterate_over_mappings): Likewise.
10875
10876 2018-03-08  Tom Tromey  <tom@tromey.com>
10877
10878         * infcall.c (struct call_return_meta_info)
10879         <stack_temporaries_enabled>: Remove.
10880         (get_call_return_value, call_function_by_hand_dummy): Update.
10881         * thread.c (disable_thread_stack_temporaries): Remove.
10882         (enable_thread_stack_temporaries): Remove.
10883         (thread_stack_temporaries_enabled_p): Return bool.
10884         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
10885         (get_last_thread_stack_temporary): Update.
10886         * eval.c (evaluate_subexp): Update.
10887         * gdbthread.h (class enable_thread_stack_temporaries): Now a
10888         class, not a function.
10889         (value_ptr, value_vec): Remove typedefs.
10890         (class thread_info) <stack_temporaries_enabled>: Now bool.
10891         <stack_temporaries>: Now a std::vector.
10892         (thread_stack_temporaries_enabled_p)
10893         (value_in_thread_stack_temporaries): Return bool.
10894
10895 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
10896
10897         * remote.c (putpkt_binary): Fix omitted bytes reporting.
10898         (getpkt_or_notif_sane_1): Likewise.
10899
10900 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10901
10902         * build-id.c (build_id_to_debug_bfd): Use std::string.
10903
10904 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10905
10906         * build-id.c (find_separate_debug_file_by_buildid): Return
10907         std::string.
10908         * build-id.h (find_separate_debug_file_by_buildid): Return
10909         std::string.
10910         * coffread.c (coff_symfile_read): Adjust to std::string.
10911         * elfread.c (elf_symfile_read): Adjust to std::string.
10912         * symfile.c (separate_debug_file_exists): Change parameter to
10913         std::string.
10914         (find_separate_debug_file): Return std::string.
10915         (find_separate_debug_file_by_debuglink): Return std::string.
10916         * symfile.h (find_separate_debug_file_by_debuglink): Return
10917         std::string.
10918
10919 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
10920
10921         * common/xml-utils.c (xml_escape_text): Move code to...
10922         (xml_escape_text_append): ... this new function.
10923         * common/xml-utils.h (xml_escape_text_append): New declaration.
10924         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
10925         New function.
10926         (_initialize_xml_utils): register test_xml_escape_text_append as
10927         a selftest.
10928
10929 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
10930
10931         * defs.h: Remove MAX_REGISTER_SIZE.
10932         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
10933         asserts.
10934         * python/py-unwind.c (pyuw_sniffer): Likewise.
10935
10936 2018-03-07  Tom Tromey  <tom@tromey.com>
10937
10938         * linux-tdep.c (linux_info_proc): Update.
10939         * target.h (struct target_ops) <to_fileio_readlink>: Return
10940         optional<string>.
10941         (target_fileio_readlink): Return optional<string>.
10942         * remote.c (remote_hostio_readlink): Return optional<string>.
10943         * inf-child.c (inf_child_fileio_readlink): Return
10944         optional<string>.
10945         * target.c (target_fileio_readlink): Return optional<string>.
10946
10947 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
10948
10949         * regcache.c (cooked_read_test): Add riscv to the list of
10950         architectures that have a save_reggroup.
10951
10952 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10953
10954         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
10955         value is not a dynamic class object.
10956
10957 2018-03-06  Tom Tromey  <tom@tromey.com>
10958
10959         * rust-exp.y: Formatting fixes.
10960
10961 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10962
10963         * riscv-tdep.c (riscv_register_name): Remove target description
10964         support.
10965         (riscv_gdbarch_init): Remove target description check.
10966
10967 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10968
10969         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
10970         comment.
10971         * riscv-tdep.h: Likewise.
10972
10973 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
10974
10975         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
10976         (riscv_pseudo_register_write): Delete.
10977         (riscv_gdbarch_init): Remove all use of pseudo registers.
10978
10979 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10980
10981         * record-btrace.c (btrace_print_lines): Replace cleanup
10982         parameter with RAII equivalents.
10983         (btrace_insn_history): Replace cleanup with RAII equivalents.
10984         * ui-out.h (make_cleanup_ui_out_list_begin_end,
10985         make_cleanup_ui_out_tuple_begin_end): Remove.
10986         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
10987         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
10988         make_cleanup_ui_out_list_begin_end): Remove.
10989
10990 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10991
10992         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
10993         parameter types to std::vector.  Use bool.
10994         (record_btrace_wait): Replace VEC(tp_t) with
10995         std::vector<thread_info *>.
10996         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
10997
10998 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
10999
11000         * record-btrace.c (record_btrace_disable_callback): Remove.
11001         (struct scoped_btrace_disable): New.
11002         (record_btrace_open): Use scoped_btrace_disable.
11003
11004 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11005
11006         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
11007         reading values from registers.
11008
11009 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11010
11011         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
11012         where appropriate.
11013
11014 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11015
11016         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
11017         change parameter type.  Use GDB's print functions, and use
11018         core_addr_to_string where appropriate.
11019         (riscv_push_dummy_call): Use core_addr_to_string where
11020         appropriate, update call to riscv_print_arg_location, and reindent
11021         a few lines.
11022         (riscv_return_value): Update call to riscv_print_arg_location.
11023
11024 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11025             Tim Newsome <tim@sifive.com>
11026             Albert Ou <a0u@eecs.berkeley.edu>
11027             Darius Rad <darius@bluespec.com>
11028
11029         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
11030         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
11031         (ALLDEPFILES): Add riscv-tdep.c
11032         * configure.tgt: Add riscv support.
11033         * riscv-tdep.c: New file.
11034         * riscv-tdep.h: New file.
11035         * NEWS: Mention new target.
11036         * MAINTAINERS: Add entry for riscv.
11037
11038 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11039
11040         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
11041         fields within aggregates.
11042
11043 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
11044
11045         * record-btrace.c (btrace_print_lines): Change type of flags to
11046         gdb_disassembly_flags.
11047
11048 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11049
11050         * fbsd-nat.c: Include "inf-ptrace.h".
11051         (USE_SIGTRAP_SIGINFO): Conditionally define.
11052         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
11053         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
11054         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
11055         function.
11056         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
11057         Likewise.
11058         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
11059         Likewise.
11060         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
11061         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
11062         "supports_stopped_by_hw_breakpoint" target methods.
11063
11064 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11065
11066         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
11067         * fbsd-nat.c (debug_fbsd_nat): New variable.
11068         (show_fbsd_nat_debug): New function.
11069         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
11070         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
11071
11072 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11073
11074         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
11075         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
11076         prototype.
11077         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
11078         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
11079         method.
11080
11081 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11082
11083         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
11084         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
11085
11086 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11087
11088         * charset.c (struct charset_vector): New.
11089         (charsets): Change type to charset_vector.
11090         (find_charset_names): Adjust.
11091         (add_one): Adjust.
11092         (_initialize_charset): Adjust.
11093
11094 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11095
11096         * progspace.h (struct program_space) <deleted_solibs>: Change
11097         type to std::vector<std::string>.
11098         * progspace.c (clear_program_space_solib_cache): Adjust.
11099         * breakpoint.c (print_solib_event): Adjust.
11100         (check_status_catch_solib): Adjust.
11101         * solib.c (update_solib_list): Adjust.
11102         * ui-out.h (class ui_out) <field_string>: New overload.
11103         * ui-out.c (ui_out::field_string): New overload.
11104
11105 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11106
11107         * progspace.h (struct program_space): Add constructor and
11108         destructor, initialize fields.
11109         (add_program_space): Remove.
11110         * progspace.c (add_program_space): Rename to...
11111         (program_space::program_space): ... this.
11112         (release_program_space): Rename to...
11113         (program_space::~program_space): ... this.
11114         (delete_program_space): Use delete to delete program_space.
11115         (initialize_progspace): Use new to allocate program_space.
11116         * inferior.c (add_inferior_with_spaces): Likewise.
11117         (clone_inferior_command): Likewise.
11118         * infrun.c (follow_fork_inferior): Likewise.
11119         (handle_vfork_child_exec_or_exit): Likewise.
11120
11121 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
11122
11123         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
11124         (delim_string_to_char_ptr_vec): Return std::vector of
11125         gdb::unique_xmalloc_ptr.
11126         (dirnames_to_char_ptr_vec_append): Take std::vector of
11127         gdb::unique_xmalloc_ptr.
11128         (dirnames_to_char_ptr_vec): Return std::vector of
11129         gdb::unique_xmalloc_ptr.
11130         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
11131         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
11132         (delim_string_to_char_ptr_vec): Return an std::vector of
11133         gdb::unique_xmalloc_ptr, adjust the code.
11134         (dirnames_to_char_ptr_vec_append): Take an std::vector of
11135         gdb::unique_xmalloc_ptr, adjust the code.
11136         (dirnames_to_char_ptr_vec): Return an std::vector of
11137         gdb::unique_xmalloc_ptr, adjust the code.
11138         * auto-load.c (auto_load_safe_path_vec): Change type to
11139         std::vector of gdb::unique_xmalloc_ptr.
11140         (auto_load_expand_dir_vars): Return an std::vector of
11141         gdb::unique_xmalloc_ptr, adjust the code.
11142         (auto_load_safe_path_vec_update): Adjust.
11143         (filename_is_in_auto_load_safe_path_vec): Adjust.
11144         (auto_load_objfile_script_1): Adjust.
11145         * build-id.c (build_id_to_debug_bfd): Adjust.
11146         * linux-thread-db.c (thread_db_load_search): Adjust.
11147         * source.c (add_path): Adjust.
11148         (openp): Adjust.
11149         * symfile.c (find_separate_debug_file): Adjust.
11150         * utils.c (do_free_char_ptr_vec): Remove.
11151         (make_cleanup_free_char_ptr_vec): Remove.
11152
11153 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
11154
11155         PR gdb/22907
11156         * common/pathstuff.c: Conditionally include "<windows.h>".
11157
11158 2018-03-01  Georg Sauthoff  <mail@georg.so>
11159
11160         PR gdb/22888
11161         * gcore.in: Quote variables and switch interpreter to bash.
11162
11163 2018-03-01  Tom Tromey  <tom@tromey.com>
11164
11165         * dwarf2read.c (alloc_discriminant_info): Fix default_index
11166         assertion.  Add assertion for discriminant_index.
11167         (quirk_rust_enum): Use correct base type name in univariant case.
11168
11169 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
11170
11171         * record.c (get_call_history_modifiers): Return a
11172         record_print_flags.
11173         (cmd_record_call_history): Adjust.
11174         * record-btrace.c (record_btrace_call_history): Adjust.
11175         (record_btrace_call_history_range): Adjust.
11176         (record_btrace_call_history_from): Adjust.
11177         * target-debug.h (target_debug_print_record_print_flags): New.
11178         * target-delegates.c: Re-generate.
11179         * target.c (target_call_history): Change flags type.
11180         (target_call_history_from): Likewise.
11181         (target_call_history_range): Likewise.
11182         * target.h (struct target_ops) <target_call_history>: Likewise.
11183         (target_call_history_from): Likewise.
11184         (target_call_history_range): Likewise.
11185
11186 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11187             Simon Marchi  <simon.marchi@polymtl.ca>
11188
11189         * common/common-utils.c: Include "sys/stat.h".
11190         (is_regular_file): Move here from "source.c"; change return
11191         type to "bool".
11192         * common/common-utils.h (is_regular_file): New prototype.
11193         * common/pathstuff.c (contains_dir_separator): New function.
11194         * common/pathstuff.h (contains_dir_separator): New prototype.
11195         * source.c: Don't include "sys/stat.h".
11196         (is_regular_file): Move to "common/common-utils.c".
11197
11198 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
11199
11200         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
11201         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
11202         * auto-load.c: Include "common/pathstuff.h".
11203         * common/common-def.h (current_directory): Move here.
11204         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
11205         function.
11206         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
11207         prototype.
11208         * common/pathstuff.c: New file.
11209         * common/pathstuff.h: New file.
11210         * compile/compile.c: Include "common/pathstuff.h".
11211         * defs.h (current_directory): Move to "common/common-defs.h".
11212         * dwarf2read.c: Include "common/pathstuff.h".
11213         * exec.c: Likewise.
11214         * guile/scm-safe-call.c: Likewise.
11215         * linux-thread-db.c: Likewise.
11216         * main.c: Likewise.
11217         * nto-tdep.c: Likewise.
11218         * objfiles.c: Likewise.
11219         * source.c: Likewise.
11220         * symtab.c: Likewise.
11221         * utils.c: Include "common/pathstuff.h".
11222         (gdb_realpath): Move to "common/pathstuff.c".
11223         (gdb_realpath_keepfile): Likewise.
11224         (gdb_abspath): Likewise.
11225         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
11226         (gdb_realpath_keepfile): Likewise.
11227         (gdb_abspath): Likewise.
11228
11229 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
11230
11231         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
11232         wildcard process pid for super_resume for kernels with a
11233         specific bug.
11234
11235 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
11236
11237         * compile/compile.c (get_args): Add additional comments
11238         explaining function.
11239
11240 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
11241             Tom Tromey  <tom@tromey.com>
11242
11243         * target.h (memory_write_request_s): Remove typedef.  Don't define
11244         VEC.
11245         (target_write_memory_blocks): Change argument to std::vector.
11246         (struct memory_write_request): Add constructor.
11247         * target-memory.c (compare_block_starting_address): Return bool.
11248         Change argument types.
11249         (claim_memory): Change arguments to use std::vector.
11250         (split_regular_and_flash_blocks, blocks_to_erase)
11251         (compute_garbled_blocks): Likewise.
11252         (cleanup_request_data, cleanup_write_requests_vector): Remove.
11253         (target_write_memory_blocks): Change argument to std::vector.
11254         * symfile.c (struct load_section_data): Add constructor and
11255         destructor.  Use std::vector for "requests".
11256         (struct load_progress_data): Add initializers.
11257         (load_section_callback): Update.  Use "new".
11258         (clear_memory_write_data): Remove.
11259         (generic_load): Update.
11260
11261 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
11262
11263         * arch/aarch64.h: Use common/tdesc.h.
11264
11265 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11266
11267         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
11268         architecture with a 64-bit ABI.
11269
11270 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
11271
11272         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
11273         ahead of target description loading.
11274
11275 2018-02-26  Tom Tromey  <tom@tromey.com>
11276
11277         * stack.c (backtrace_command_1): Update.
11278         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
11279         of "flags".
11280         * python/py-framefilter.c (py_print_frame)
11281         (gdbpy_apply_frame_filter): Change type of "flags".
11282         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
11283         of "flags".
11284         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
11285         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
11286         * extension.h (enum frame_filter_flag): Rename from
11287         frame_filter_flags.
11288         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
11289         (apply_ext_lang_frame_filter): Change type of "flags".
11290         * extension.c (apply_ext_lang_frame_filter): Change type of
11291         "flags".
11292         * extension-priv.h (struct extension_language_ops)
11293         <apply_frame_filter>: Change type of "flags".
11294
11295 2018-02-26  Tom Tromey  <tom@tromey.com>
11296
11297         PR python/16497:
11298         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
11299         off-by-one in py_end computation.
11300         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
11301         PRINT_MORE_FRAMES.
11302         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
11303         constant.
11304
11305 2018-02-26  Tom Tromey  <tom@tromey.com>
11306
11307         * dwarf2read.c (struct variant_field): New.
11308         (struct nextfield) <variant>: New field.
11309         (dwarf2_add_field): Handle DW_TAG_variant_part.
11310         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
11311         discriminated union.
11312         (read_structure_type): Handle DW_TAG_variant_part.
11313         (handle_struct_member_die): New function, extracted from
11314         process_structure_scope.  Handle DW_TAG_variant.
11315         (process_structure_scope): Handle discriminated unions.  Call
11316         handle_struct_member_die.
11317
11318 2018-02-26  Tom Tromey  <tom@tromey.com>
11319
11320         * rust-lang.h (rust_last_path_segment): Declare.
11321         * rust-lang.c (rust_last_path_segment): Now public.  Change
11322         contract.
11323         (struct disr_info): Remove.
11324         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
11325         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
11326         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
11327         (rust_enum_p, rust_enum_variant): New function.
11328         (rust_underscore_fields): Remove "offset" parameter.
11329         (rust_print_enum): New function.
11330         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
11331         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
11332         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
11333         enums.
11334         (rust_internal_print_type): New function, from rust_print_type.
11335         Remove enum code.
11336         (rust_print_type): Call rust_internal_print_type.
11337         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
11338         Update enum handling.
11339         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
11340         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
11341         (rust_union_quirks): New functions.
11342         (process_full_comp_unit, process_full_type_unit): Call
11343         rust_union_quirks.
11344         (process_structure_scope): Update rust_unions if necessary.
11345
11346 2018-02-26  Tom Tromey  <tom@tromey.com>
11347
11348         * value.h (value_union_variant): Declare.
11349         * valops.c (value_union_variant): New function.
11350         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
11351         (struct discriminant_info): New.
11352         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
11353         enumerator.
11354         (struct main_type) <flag_discriminated_union>: New field.
11355
11356 2018-02-26  Tom Tromey  <tom@tromey.com>
11357
11358         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11359         unittests/unpack-selftests.c.
11360         * unittests/unpack-selftests.c: New file.
11361         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
11362
11363 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11364
11365         * dwarf2read.c (struct partial_die_info) <read>: New method.
11366         (read_partial_die): Remove the declaration.
11367         (load_partial_dies): Update.
11368         (partial_die_info::partial_die_info):
11369         (read_partial_die): Change it to partial_die_info::read.
11370
11371 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11372
11373         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
11374         (fixup_partial_die): Remove declaration.
11375         (scan_partial_symbols): Update.
11376         (partial_die_parent_scope): Likewise.
11377         (partial_die_full_name): Likewise.
11378         (fixup_partial_die): Change it to partial_die_info::fixup.
11379
11380 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11381
11382         * dwarf2read.c (read_partial_die): Update the declaration.
11383         (load_partial_dies): Caller update.
11384         (read_partial_die): Remove one argument abbrev_len.
11385
11386 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11387
11388         * dwarf2read.c (struct partial_die_info): Add ctor, delete
11389         assignment operator.
11390         (load_partial_dies): Use ctor and copy ctor.
11391         (read_partial_die): Update.
11392         (dwarf2_cu::find_partial_die): Use ctor.
11393
11394 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11395
11396         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
11397         (find_partial_die_in_comp_unit): Change it to
11398         dwarf2_cu::find_partial_die.
11399         (find_partial_die): Update.
11400
11401 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11402
11403         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
11404         is NULL.
11405
11406 2018-02-26  Yao Qi  <yao.qi@linaro.org>
11407
11408         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
11409
11410 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
11411
11412         * arch/amd64.h: Use common/tdesc.h.
11413         * arch/i386.c: Likewise.
11414         * arch/i386.h: Likewise.
11415         * arch/tic6x.c: Likewise.
11416         * arch/tdesc.h: Move file from here...
11417         * common/tdesc.h: ...to here.
11418         * features/aarch64-core.c: Regenerate.
11419         * features/aarch64-fpu.c: Regenerate.
11420         * features/i386/32bit-avx.c: Regenerate.
11421         * features/i386/32bit-avx512.c: Regenerate.
11422         * features/i386/32bit-core.c: Regenerate.
11423         * features/i386/32bit-linux.c: Regenerate.
11424         * features/i386/32bit-mpx.c: Regenerate.
11425         * features/i386/32bit-pkeys.c: Regenerate.
11426         * features/i386/32bit-sse.c: Regenerate.
11427         * features/i386/64bit-avx.c: Regenerate.
11428         * features/i386/64bit-avx512.c: Regenerate.
11429         * features/i386/64bit-core.c: Regenerate.
11430         * features/i386/64bit-linux.c: Regenerate.
11431         * features/i386/64bit-mpx.c: Regenerate.
11432         * features/i386/64bit-pkeys.c: Regenerate.
11433         * features/i386/64bit-segments.c: Regenerate.
11434         * features/i386/64bit-sse.c: Regenerate.
11435         * features/i386/x32-core.c: Regenerate.
11436         * features/tic6x-c6xp.c: Regenerate.
11437         * features/tic6x-core.c: Regenerate.
11438         * features/tic6x-gp.c: Regenerate.
11439         * target-descriptions.c: Use common/tdesc.h.
11440         * target-descriptions.h: Likewise.
11441
11442 2018-02-24  Tom Tromey  <tom@tromey.com>
11443
11444         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
11445         (try_thread_db_load_from_dir, thread_db_load_search): Use
11446         std::string.
11447         (info_auto_load_libthread_db_compare): Return bool.  Change
11448         argument types.
11449         (info_auto_load_libthread_db): Use std::vector, std::string.
11450         Remove cleanups.
11451
11452 2018-02-24  Tom Tromey  <tom@tromey.com>
11453
11454         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
11455         std::string.
11456         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
11457         std::string*.
11458         * gdbarch.c: Rebuild.
11459         * gdbarch.h: Rebuild.
11460         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
11461         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
11462         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
11463         std::string*.
11464
11465 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
11466
11467         * gdbtypes.h (sect_offset): Change type to uint64_t.
11468         (sect_offset_str): New function.
11469         * dwarf2read.c (create_addrmap_from_aranges): Use
11470         sect_offset_str.
11471         (error_check_comp_unit_head): Likewise.
11472         (create_debug_type_hash_table): Likewise.
11473         (read_cutu_die_from_dwo): Likewise.
11474         (init_cutu_and_read_dies): Likewise.
11475         (init_cutu_and_read_dies_no_follow): Likewise.
11476         (process_psymtab_comp_unit_reader): Likewise.
11477         (partial_die_parent_scope): Likewise.
11478         (peek_die_abbrev): Likewise.
11479         (process_queue): Likewise.
11480         (dwarf2_physname): Likewise.
11481         (read_namespace_alias): Likewise.
11482         (read_import_statement): Likewise.
11483         (create_dwo_cu_reader): Likewise.
11484         (create_cus_hash_table): Likewise.
11485         (lookup_dwo_cutu): Likewise.
11486         (inherit_abstract_dies): Likewise.
11487         (read_func_scope): Likewise.
11488         (read_call_site_scope): Likewise.
11489         (dwarf2_add_member_fn): Likewise.
11490         (read_common_block): Likewise.
11491         (read_module_type): Likewise.
11492         (read_typedef): Likewise.
11493         (read_subrange_type): Likewise.
11494         (load_partial_dies): Likewise.
11495         (read_partial_die): Likewise.
11496         (find_partial_die): Likewise.
11497         (read_str_index): Likewise.
11498         (dwarf2_string_attr): Likewise.
11499         (build_error_marker_type): Likewise.
11500         (lookup_die_type): Likewise.
11501         (dump_die_shallow): Likewise.
11502         (follow_die_ref): Likewise.
11503         (dwarf2_fetch_die_loc_sect_off): Likewise.
11504         (dwarf2_fetch_constant_bytes): Likewise.
11505         (follow_die_sig): Likewise.
11506         (get_signatured_type): Likewise.
11507         (get_DW_AT_signature_type): Likewise.
11508         (dwarf2_find_containing_comp_unit): Likewise.
11509         (set_die_type): Likewise.
11510
11511 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
11512
11513         * arch/aarch64.c: Include "common-defs.h".
11514         * arch/amd64.c: Likewise.
11515         * arch/i386.c: Likewise.
11516
11517 2018-02-21  Tom Tromey  <tom@tromey.com>
11518
11519         * value.h: (extract_field_op): Update.
11520         * eval.c (extract_field_op): Return a const char *.
11521         * expression.h (parse_expression_for_completion): Update.
11522         * completer.c (complete_expression): Update.
11523         (add_struct_fields): Make fieldname const.
11524         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
11525         (mark_completion_tag, parse_exp_in_context_1): Update.
11526         (parse_expression_for_completion): Change "name" to
11527         unique_xmalloc_ptr*.
11528
11529 2018-02-21  Tom Tromey  <tom@tromey.com>
11530
11531         * infcall.c (call_function_by_hand_dummy): Use std::vector.
11532
11533 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11534
11535         * avr-tdep.c (avr_read_pc): Change parameter type to
11536         readable_regcache.
11537         * gdbarch.sh (read_pc): Likewise.
11538         * gdbarch.c: Re-generated.
11539         * gdbarch.h: Re-generated.
11540         * hppa-tdep.c (hppa_read_pc): Change parameter type to
11541         readable_regcache.
11542         * ia64-tdep.c (ia64_read_pc): Likewise.
11543         * mips-tdep.c (mips_read_pc): Likewise.
11544         * spu-tdep.c (spu_read_pc): Likewise.
11545
11546 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11547
11548         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
11549         * regcache-dump.c: New file.
11550         * regcache.c: Move register_dump to regcache-dump.c.
11551         (maintenance_print_registers): Likewise.
11552         (maintenance_print_raw_registers): Likewise.
11553         (maintenance_print_cooked_registers): Likewise.
11554         (maintenance_print_register_groups): Likewise.
11555         (maintenance_print_remote_registers): Likewise.
11556         (_initialize_regcache): Likewise.
11557         * regcache.h (register_dump): Moved from regcache.c.
11558
11559 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11560
11561         * regcache.c (regcache::regcache): Update.
11562         (regcache::invalidate): Move it to detached_regcache::invalidate.
11563         (get_thread_arch_aspace_regcache): Update.
11564         (regcache::raw_update): Update.
11565         (regcache::cooked_read): Remove some code.
11566         (regcache::cooked_read_value): Likewise.
11567         (regcache::raw_write): Remove assert on m_readonly_p.
11568         (regcache::raw_supply_integer): Move it to
11569         detached_regcache::raw_supply_integer.
11570         (regcache::raw_supply_zeroed): Likewise.
11571         * regcache.h (detached_regcache) <raw_supply_integer>: New
11572         declaration.
11573         <raw_supply_zeroed, invalidate>: Likewise.
11574         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
11575         <invalidate>: Likewise.
11576         <m_readonly_p>: Removed.
11577
11578 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11579
11580         * infcmd.c (get_return_value): Let stop_regs point to
11581         get_current_regcache.
11582         * regcache.c (regcache::regcache): Remove.
11583         (register_dump_reg_buffer): New class.
11584         (regcache_print): Adjust.
11585         * regcache.h (regcache): Remove constructors.
11586
11587 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11588
11589         * regcache.c (class register_dump): New class.
11590         (register_dump_regcache, register_dump_none): New class.
11591         (register_dump_remote, register_dump_groups): New class.
11592         (regcache_print): Update.
11593         * regcache.h (regcache_dump_what): Move it to regcache.c.
11594         (regcache) <dump>: Remove.
11595
11596 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11597
11598         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
11599          reg_buffer_rw *.
11600         (jit_unwind_reg_set_impl): Call raw_supply.
11601         (jit_frame_sniffer): Use reg_buffer_rw.
11602         * record-full.c (record_full_core_regbuf): Change its type.
11603         (record_full_core_open_1): Use reg_buffer_rw.
11604         (record_full_close): Likewise.
11605         (record_full_core_fetch_registers): Use regcache->raw_supply.
11606         (record_full_core_store_registers): Likewise.
11607         * regcache.c (regcache::get_register_status): Move it to
11608         reg_buffer.
11609         (regcache_raw_set_cached_value): Remove.
11610         (regcache::raw_set_cached_value): Remove.
11611         (regcache::raw_write): Call raw_supply.
11612         (regcache::raw_supply): Move it to reg_buffer_rw.
11613         * regcache.h (regcache_raw_set_cached_value): Remove.
11614         (reg_buffer_rw): New class.
11615
11616 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11617
11618         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
11619         readonly_detached_regcache.
11620         (dummy_frame_prev_register): Use regcache->cooked_read.
11621         * frame.c (frame_save_as_regcache): Change return type.
11622         (frame_pop): Update.
11623         * frame.h (frame_save_as_regcache): Update declaration.
11624         * inferior.h (get_infcall_suspend_state_regcache): Update
11625         declaration.
11626         * infrun.c (infcall_suspend_state) <registers>: use
11627         readonly_detached_regcache.
11628         (save_infcall_suspend_state): Don't use regcache_dup.
11629         (get_infcall_suspend_state_regcache): Change return type.
11630         * linux-fork.c (struct fork_info) <savedregs>: Change to
11631         readonly_detached_regcache.
11632         <pc>: New field.
11633         (fork_save_infrun_state): Don't use regcache_dup.
11634         (info_checkpoints_command): Adjust.
11635         * mi/mi-main.c (register_changed_p): Update declaration.
11636         (mi_cmd_data_list_changed_registers): Use
11637         readonly_detached_regcache.
11638         (register_changed_p): Change parameter type to
11639         readonly_detached_regcache.
11640         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
11641         readonly_detached_regcache.
11642         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
11643         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
11644         New.
11645         (regcache::save): Move it to reg_buffer.
11646         (regcache::restore): Change parameter type.
11647         (regcache_dup): Remove.
11648         * regcache.h (reg_buffer) <save>: New method.
11649         (readonly_detached_regcache): New class.
11650         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
11651         readonly_detached_regcache.
11652         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
11653
11654 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11655
11656         * frame.c (frame_save_as_regcache): Use regcache method save.
11657         (frame_pop): Use regcache method restore.
11658         * infrun.c (restore_infcall_suspend_state): Likewise.
11659         * linux-fork.c (fork_load_infrun_state): Likewise.
11660         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
11661         save.
11662         * regcache.c (regcache_save): Remove.
11663         (regcache::restore): More asserts.
11664         (regcache_cpy): Remove.
11665         * regcache.h (regcache_save): Remove the declaration.
11666         (regcache::restore): Move from private to public.
11667         Remove the friend declaration of regcache_cpy.
11668         (regcache_cpy): Remove declaration.
11669
11670 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11671
11672         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
11673         parameter type to 'readable_regcache *'.
11674         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
11675         * arm-tdep.c (arm_neon_quad_read): Likewise.
11676         (arm_pseudo_read): Likewise.
11677         * avr-tdep.c (avr_pseudo_register_read): Likewise.
11678         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
11679         * frv-tdep.c (frv_pseudo_register_read): Likewise.
11680         * gdbarch.c: Re-generated.
11681         * gdbarch.h: Re-generated.
11682         * gdbarch.sh (pseudo_register_read): Change parameter type to
11683         'readable_regcache *'.
11684         (pseudo_register_read_value): Likewise.
11685         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
11686         (h8300_pseudo_register_read): Likewise.
11687         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
11688         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
11689         (i386_pseudo_register_read_into_value): Likewise.
11690         (i386_pseudo_register_read_value): Likewise.
11691         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
11692         declaration.
11693         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
11694         * m32c-tdep.c (m32c_raw_read): Likewise.
11695         (m32c_read_flg): Likewise.
11696         (m32c_banked_register): Likewise.
11697         (m32c_banked_read): Likewise.
11698         (m32c_sb_read): Likewise.
11699         (m32c_part_read): Likewise.
11700         (m32c_cat_read): Likewise.
11701         (m32c_r3r2r1r0_read): Likewise.
11702         (m32c_pseudo_register_read): Likewise.
11703         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
11704         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
11705         (mep_pseudo_cr64_read): Likewise.
11706         (mep_pseudo_register_read): Likewise.
11707         * mips-tdep.c (mips_pseudo_register_read): Likewise.
11708         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
11709         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
11710         * regcache.c (regcache::raw_read): Move it to readable_regcache.
11711         (regcache::cooked_read): Likewise.
11712         (regcache::cooked_read_value): Likewise.
11713         (regcache_cooked_read_signed):
11714         (regcache::cooked_read): Likewise.
11715         * regcache.h (readable_regcache): New class.
11716         (regcache): Inherit readable_regcache.  Move some methods to
11717         readable_regcache.
11718         * rl78-tdep.c (rl78_pseudo_register_read): Change
11719         parameter type to 'readable_regcache *'.
11720         * rs6000-tdep.c (do_regcache_raw_read): Remove.
11721         (e500_pseudo_register_read): Change parameter type to
11722         'readable_regcache *'.
11723         (dfp_pseudo_register_read): Likewise.
11724         (vsx_pseudo_register_read): Likewise.
11725         (efpr_pseudo_register_read): Likewise.
11726         * s390-tdep.c (s390_pseudo_register_read): Likewise.
11727         * sh-tdep.c (sh_pseudo_register_read): Likewise.
11728         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
11729         (sh64_pseudo_register_read): Likewise.
11730         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
11731         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
11732         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
11733         (spu_pseudo_register_read): Likewise.
11734         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
11735         (xtensa_pseudo_register_read): Likewise.
11736
11737 2018-02-21  Yao Qi  <yao.qi@linaro.org>
11738
11739         * regcache.c (regcache::regcache): Call reg_buffer ctor.
11740         (regcache::arch): Move it to reg_buffer::arch.
11741         (regcache::register_buffer): Likewise.
11742         (regcache::assert_regnum): Likewise.
11743         (regcache::num_raw_registers): Likewise.
11744         * regcache.h (reg_buffer): New class.
11745         (regcache): Inherit reg_buffer.
11746
11747 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
11748
11749         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
11750         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
11751
11752 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
11753
11754         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
11755
11756 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
11757
11758         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
11759         (SFILES): Remove common/*.c files.
11760         (COMMON_OBS): Remove some *.o files built from common/*.c files.
11761         * common/common.host: Add common reference.
11762         * configure.ac: Likewise.
11763         * configure: Regenerate.
11764
11765 2018-02-16  Yao Qi  <yao.qi@linaro.org>
11766
11767         * block.c (block_namespace_info): Inherit allocate_on_obstack.
11768         (block_initialize_namespace): Use new.
11769         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
11770         (dwarf2_free_objfile): Use delete.
11771         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
11772         (copy_type_recursive): Use new.
11773         * gdb_obstack.h (allocate_on_obstack): New.
11774
11775 2018-02-15  Yao Qi  <yao.qi@linaro.org>
11776
11777         PR gdb/22849
11778         * inferior.c (exit_inferior_1): Reset inf->control.
11779
11780 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
11781
11782         * ada-lang.c (ada_to_fixed_value_create): Delete advance
11783         declaration.
11784
11785 2018-02-14  Pedro Alves  <palves@redhat.com>
11786
11787         * frame-unwind.c (frame_unwind_try_unwinder): Always call
11788         frame_cleanup_after_sniffer on exception.
11789
11790 2018-02-14  Tom Tromey  <tom@tromey.com>
11791
11792         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
11793         const.
11794         (solib_bfd_open): Make pathname const.
11795         * solib.c (solib_bfd_open): Make pathname const.
11796         * solib-spu.c (spu_bfd_fopen): Make name const.
11797         (spu_bfd_open): Make pathname const.
11798         * solib-darwin.c (darwin_bfd_open): Make pathname const.
11799         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
11800
11801 2018-02-14  Tom Tromey  <tom@tromey.com>
11802
11803         * symfile.c (symfile_bfd_open): Update.
11804         * source.h (openp, source_full_path_of, find_and_open_source):
11805         Change argument type to unique_xmalloc_ptr.
11806         * source.c (openp): Take a unique_xmalloc_ptr.
11807         (source_full_path_of, find_and_open_source): Likewise.
11808         (open_source_file, symtab_to_fullname): Update.
11809         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
11810         unique_xmalloc_ptr.
11811         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
11812         (exec_file_find): Update.
11813         * psymtab.c (psymtab_to_fullname): Update.
11814         * nto-tdep.h (nto_find_and_open_solib): Update.
11815         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
11816         unique_xmalloc_ptr.
11817         * exec.c (exec_file_attach): Update.
11818         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
11819         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
11820
11821 2018-02-14  Tom Tromey  <tom@tromey.com>
11822
11823         * solib.c: Include source.h.
11824         * nto-tdep.c: Include source.h.
11825         * mi/mi-cmd-env.c: Include source.h.
11826         * infcmd.c: Include source.h.
11827         * exec.c: Include source.h.
11828         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
11829         (add_path, directory_switch, source_path, init_source_path): Move
11830         declarations...
11831         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
11832         (add_path, directory_switch, source_path, init_source_path):
11833         ...here.
11834
11835 2018-02-14  Tom Tromey  <tom@tromey.com>
11836
11837         * solist.h (exec_file_find, solib_find): Return
11838         unique_xmalloc_ptr.
11839         (solib_bfd_fopen): Take a const char *.
11840         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
11841         (exec_file_find, solib_find): Likewise.
11842         (solib_bfd_fopen): Do not take ownership of "pathname".
11843         (solib_bfd_open): Use unique_xmalloc_ptr.
11844         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
11845         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
11846         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
11847         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
11848
11849 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
11850
11851         * ada-lang.c (name_match_type_from_name): Remove reference to
11852         ada_name_for_lookup in function's documentation.
11853         * ada-lang.h (ada_name_for_lookup): Delete declaration.
11854
11855 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11856
11857         * defs.h (enum openp_flags): New enum.
11858         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
11859         Move to enum openp_flags.
11860         (openp_flags): New enum flags.
11861         (openp): Change parameter type to openp_flags.
11862         * source.c (openp): Change parameter type to openp_flags.
11863         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
11864         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
11865
11866 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
11867
11868         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
11869         per-command.
11870
11871 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11872
11873         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
11874         into...
11875         (class dwarf2_queue_guard): ...the destructor of this new class.
11876         (dw2_do_instantiate_symtab): Create instance of the new class
11877         dwarf2_queue_guard, remove cleanup.
11878
11879 2018-02-09  Tom Tromey  <tom@tromey.com>
11880
11881         * source.c (find_source_lines): Don't reference past the end of
11882         the vector.
11883
11884 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11885
11886         * remote.c (remote_btrace_maybe_reopen): Change error message.
11887         * btrace.c (btrace_enable): Likewise.
11888         (parse_xml_btrace): Likewise.
11889         (parse_xml_btrace_conf): Likewise.
11890
11891 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11892
11893         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
11894         (linux_enable_pt, linux_enable_bts): Call
11895         diagnose_perf_event_open_fail.
11896
11897 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11898
11899         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
11900         Remove parameter and change return type.  Update callers.  Move it.
11901         (linux_enable_bts, linux_enable_pt): Improve error message.
11902         (linux_enable_pt): Remove zero buffer size check.
11903         (linux_enable_btrace): Improve error messages.  Remove NULL return
11904         check.
11905
11906 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11907
11908         * btrace.c (btrace_enable): Remove target_supports_btrace call.
11909         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
11910         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
11911         (linux_supports_pt, linux_supports_btrace): Remove.
11912         (linux_enable_bts): Call cpu_supports_bts.
11913         * nat/linux-btrace.h (linux_supports_btrace): Remove.
11914         * remote.c (remote_supports_btrace): Remove.
11915         (init_remote_ops): Remove remote_supports_btrace.
11916         * target-delegates.c: Regenerated.
11917         * target.c (target_supports_btrace): Remove.
11918         * target.h (target_ops) <to_supports_btrace>: Remove
11919         (target_supports_btrace): Remove.
11920         * x86-linux-nat.c (x86_linux_create_target): Remove
11921         linux_supports_btrace.
11922
11923 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11924
11925         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
11926         btrace failed.
11927         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
11928         exception and use message in own exception.
11929
11930 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11931
11932         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
11933         (perf_event_pt_event_type): Use gdb_file_up.
11934         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
11935         scoped_fd, and scoped_mmap.
11936
11937 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11938
11939         * common/scoped_mmap.h: New.
11940         * unittests/scoped_mmap-selftest.c: New.
11941         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11942         unittests/scoped_mmap-selftest.c.
11943
11944 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
11945
11946         * common/scoped_fd.h: New.
11947         * unittests/scoped_fd-selftest.c: New.
11948         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11949         unittests/scoped_fd-selftest.c.
11950
11951 2018-02-09  Tom Tromey  <tom@tromey.com>
11952
11953         * auto-load.c (auto_load_section_scripts): Use
11954         gdb::unique_xmalloc_ptr.
11955
11956 2018-02-09  Tom Tromey  <tom@tromey.com>
11957
11958         * auto-load.c (execute_script_contents): Use std::string.
11959
11960 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
11961
11962         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
11963         Python function, rather than a new command.
11964
11965 2018-02-08  Tom Tromey  <tom@tromey.com>
11966
11967         * solib.c (solib_find_1): Use std::string.
11968         (solib_bfd_fopen): Use unique_xmalloc_ptr.
11969
11970 2018-02-08  Tom Tromey  <tom@tromey.com>
11971
11972         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
11973
11974 2018-02-08  Tom Tromey  <tom@tromey.com>
11975
11976         * source.c (find_source_lines): Use gdb::def_vector.
11977
11978 2018-02-08  Tom Tromey  <tom@tromey.com>
11979
11980         * macrocmd.c (struct temporary_macro_definition): New.
11981         (macro_define_command): Use temporary_macro_definition.  Remove
11982         cleanups.
11983         (free_macro_definition_ptr): Remove.
11984
11985 2018-02-08  Tom Tromey  <tom@tromey.com>
11986
11987         * macroexp.c (maybe_expand): Use std::string.
11988
11989 2018-02-08  Tom Tromey  <tom@tromey.com>
11990
11991         * macroexp.c (struct macro_buffer): Add initializers for some
11992         members.
11993         (init_buffer, init_shared_buffer, free_buffer)
11994         (free_buffer_return_text): Remove.
11995         (macro_buffer): New constructors.
11996         (~macro_buffer): New destructor.
11997         (macro_buffer::set_shared): New method.
11998         (macro_buffer::resize_buffer, macro_buffer::appendc)
11999         (macro_buffer::appendmem): Now methods, not free functions.
12000         (set_token, append_tokens_without_splicing, stringify)
12001         (macro_stringify): Update.
12002         (gather_arguments): Change return type.  Remove argc_p argument,
12003         add args_ptr argument.  Use std::vector.
12004         (substitute_args): Remove argc argument.  Accept std::vector.
12005         (expand): Update.  Use std::vector.
12006         (scan, macro_expand, macro_expand_next): Update.
12007
12008 2018-02-08  Tom Tromey  <tom@tromey.com>
12009
12010         * symtab.c (default_collect_symbol_completion_matches_break_on):
12011         Use unique_xmalloc_ptr.
12012         * macroscope.h: (sal_macro_scope, user_macro_scope)
12013         (default_macro_scope): Return unique_xmalloc_ptr.
12014         * macroscope.c (sal_macro_scope, user_macro_scope)
12015         (default_macro_scope): Return unique_xmalloc_ptr.
12016         * macroexp.h (macro_expand, macro_expand_once): Return
12017         unique_xmalloc_ptr.
12018         * macroexp.c (macro_expand, macro_expand_once): Return
12019         unique_xmalloc_ptr.
12020         * macrocmd.c (macro_expand_command, macro_expand_once_command)
12021         (info_macro_command, info_macros_command): Use
12022         unique_xmalloc_ptr.
12023         * compile/compile-c-support.c (write_macro_definitions): Use
12024         unique_xmalloc_ptr.
12025         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
12026
12027 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
12028
12029         * value.c (value_static_field): Assign field type instead of
12030         containing type when returning an optimized out value.
12031
12032 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12033
12034         * ft32-tdep.c (ft32_read_pc): Remove.
12035         (ft32_write_pc): Remove.
12036         (ft32_gdbarch_init): Update.
12037         * m32r-tdep.c (m32r_read_pc): Remove.
12038         (m32r_gdbarch_init): Update.
12039         * mep-tdep.c (mep_read_pc): Remove.
12040         (mep_gdbarch_init): Update.
12041         * microblaze-tdep.c (microblaze_write_pc): Remove.
12042         (microblaze_gdbarch_init): Update.
12043         * mn10300-tdep.c (mn10300_read_pc): Remove.
12044         (mn10300_write_pc): Remove.
12045         (mn10300_gdbarch_init): Update.
12046         * moxie-tdep.c (moxie_read_pc): Remove.
12047         (moxie_write_pc): Remove.
12048         (moxie_gdbarch_init): Update.
12049
12050 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12051
12052         * expprint.c (print_subexp_standard): Handle
12053         OP_F77_UNDETERMINED_ARGLIST.
12054         (dump_subexp_body_standard): Likewise.
12055
12056 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
12057
12058         * target-descriptions.c (tdesc_element_visitor) Add empty
12059         implementations.
12060         (tdesc_type): Move make_gdb_type from here.
12061         (tdesc_type_builtin): Likewise.
12062         (tdesc_type_vector): Likewise.
12063         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
12064         (make_gdb_type_struct): Move from tdesc_type_with_fields.
12065         (make_gdb_type_union): Likewise.
12066         (make_gdb_type_flags): Likewise.
12067         (make_gdb_type_enum): Likewise.
12068         (make_gdb_type): New function.
12069         (tdesc_register_type): Use static make_gdb_type.
12070
12071 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
12072
12073         * infcmd.c (default_print_one_register_info): Align natural-format
12074         column values consistently one under another.
12075         (pad_to_column): New function.
12076
12077 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
12078
12079         * dwarf2read.c (dwarf2_physname): Move commment.
12080
12081 2018-02-01  Leszek Swirski  <leszeks@google.com>
12082
12083         * varobj.c (varobj_formatted_print_options): Allow recursive
12084         pretty printing if pretty printing is enabled.
12085
12086 2018-02-01  Leszek Swirski  <leszeks@google.com>
12087
12088         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
12089         names after a structop as a filename.
12090
12091 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12092
12093         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
12094         (arm_record_coproc_data_proc): Likewise.
12095
12096 2018-02-01  Yao Qi  <yao.qi@linaro.org>
12097
12098         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
12099
12100 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
12101
12102         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
12103         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
12104
12105 2018-01-31  Pedro Alves  <palves@redhat.com>
12106
12107         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
12108         * inflow.c (child_terminal_save_inferior): Wrap reference to
12109         tcgetpgrp in HAVE_TERMIOS_H.
12110         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
12111         _WIN32.
12112         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
12113         always iterate over all inferiors.
12114         (gdbsim_cntrl_c): Adjust.
12115         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
12116
12117 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12118
12119         * gdbtypes.c (lookup_array_range_type): Make sure the array's
12120         index type is objfile-owned if the element type is as well.
12121
12122 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
12123
12124         GDB 8.1 released.
12125
12126 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12127
12128         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
12129         "features/s390x-linux64.c".
12130         (_initialize_s390_linux_tdep): Remove initialization of tdescs
12131         s390_linux32 and s390x_linux64.
12132         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
12133         default tdesc.
12134         * s390-tdep.c: Include "features/s390-linux32.c" and
12135         "features/s390x-linux64.c".
12136         (s390_tdesc_valid): Add check for tdesc_has_registers.
12137         (s390_gdbarch_init): Make sure there is always a valid tdesc.
12138         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
12139         tdesc_s390x_linux64.
12140         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
12141         tdesc_s390x_linux64 to...
12142         * s390-tdep.h: ...here.
12143
12144 2018-01-30  Pedro Alves  <palves@redhat.com>
12145
12146         PR gdb/13211
12147         * config.in, configure: Regenerate.
12148         * configure.ac: Check for getpgid.
12149         * go32-nat.c (go32_pass_ctrlc): New.
12150         (go32_target): Install it.
12151         * inf-child.c (inf_child_target): Install
12152         child_terminal_save_inferior, child_pass_ctrlc and
12153         child_interrupt.
12154         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
12155         (inf_ptrace_target): No longer install it.
12156         * infcmd.c (interrupt_target_1): Adjust.
12157         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
12158         (child_interrupt): Declare.
12159         (inferior::terminal_state): New.
12160         * inflow.c (struct terminal_info): Update comments.
12161         (inferior_process_group): Delete.
12162         (terminal_is_ours): Delete.
12163         (gdb_tty_state): New.
12164         (child_terminal_init): Adjust.
12165         (is_gdb_terminal, sharing_input_terminal_1)
12166         (sharing_input_terminal): New functions.
12167         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
12168         Set the process's actual process group in the foreground if
12169         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
12170         mark terminal as the inferior's if not sharing GDB's terminal.
12171         Don't check attach_flag.
12172         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
12173         pass down a target_terminal_state.
12174         (child_terminal_save_inferior): New, factored out from ...
12175         (child_terminal_ours_1): ... this.  Handle
12176         target_terminal_state::is_ours_for_output.
12177         (child_interrupt, child_pass_ctrlc): New.
12178         (inflow_inferior_exit): Clear the inferior's terminal_state.
12179         (copy_terminal_info): Copy the inferior's terminal state.
12180         (_initialize_inflow): Remove reference to terminal_is_ours.
12181         * inflow.h (inferior_process_group): Delete.
12182         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
12183         * procfs.c (procfs_target): Don't install procfs_interrupt.
12184         (procfs_interrupt): Delete.
12185         * remote.c (remote_serial_quit_handler): Adjust.
12186         (remote_interrupt): Remove ptid parameter.  Adjust.
12187         * target-delegates.c: Regenerate.
12188         * target.c: Include "terminal.h".
12189         (target_terminal::terminal_state): Rename to ...
12190         (target_terminal::m_terminal_state): ... this.
12191         (target_terminal::init): Adjust.
12192         (target_terminal::inferior): Adjust to per-inferior
12193         terminal_state.
12194         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
12195         (target_terminal::ours, target_terminal::ours_for_output): Use
12196         target_terminal_is_ours_kind.
12197         (target_interrupt): Remove ptid parameter.  Adjust.
12198         (default_target_pass_ctrlc): Adjust.
12199         * target.h (target_ops::to_terminal_save_inferior): New field.
12200         (target_ops::to_interrupt): Remove ptid_t parameter.
12201         (target_interrupt): Remove ptid_t parameter.  Update comment.
12202         (target_pass_ctrlc): Update comment.
12203         * target/target.h (target_terminal_state): New scoped enum,
12204         factored out of ...
12205         (target_terminal::terminal_state): ... here.
12206         (target_terminal::inferior): Update comments.
12207         (target_terminal::restore_inferior): New.
12208         (target_terminal::is_inferior, target_terminal::is_ours)
12209         (target_terminal::is_ours_for_output): Adjust.
12210         (target_terminal::scoped_restore_terminal_state): Adjust to
12211         rename, and call restore_inferior() instead of inferior().
12212         (target_terminal::scoped_restore_terminal_state::m_state): Change
12213         type.
12214         (target_terminal::terminal_state): Rename to ...
12215         (target_terminal::m_terminal_state): ... this and change type.
12216
12217 2018-01-30  Pedro Alves  <palves@redhat.com>
12218
12219         * linux-nat.c (wait_for_signal): New function.
12220         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
12221         directly.
12222         (async_terminal_is_ours)
12223         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
12224         (linux_nat_add_target): Don't override
12225         to_terminal_inferior/to_terminal_ours.
12226
12227 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
12228
12229         * remote.c (remote_follow_fork): Don't call "detach_inferior".
12230
12231 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
12232
12233         * dwarf2read.c (free_dwo_files): Add forward-declaration.
12234         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
12235         dwarf2_per_objfile_free here.
12236         (dwarf2_per_objfile_free): Remove.
12237         (_initialize_dwarf2_read): Don't register
12238         dwarf2_per_objfile_free as a registry cleanup.
12239
12240 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
12241
12242         Avoid compilation errors in MinGW native builds
12243
12244         The error is triggered by including python-internal.h, and the
12245         error message is:
12246
12247              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
12248                       from build-gnulib/import/math.h:27,
12249                       from d:/usr/Python26/include/pyport.h:235,
12250                       from d:/usr/Python26/include/Python.h:58,
12251                       from python/python-internal.h:94,
12252                       from python/py-arch.c:24:
12253              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
12254         using ::hypot;
12255                 ^~~~~
12256
12257         This happens because Python headers define 'hypot' to expand t
12258         '_hypot' in the Windows builds.
12259         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
12260         'hypoth'.  This avoids a compilation error.
12261
12262 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12263
12264         * MAINTAINERS (Write After Approval): Fix ordering.
12265
12266 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
12267
12268         * MAINTAINERS (Write After Approval): Add Alan Hayward.
12269
12270 2018-01-26  Alan Modra  <amodra@gmail.com>
12271
12272         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
12273         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
12274         Remove nop.  Make const.  Comment.
12275         (powerpc32_plt_stub_so_2): New.
12276         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
12277         Correct count.  Update uses.
12278         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
12279         Move common code reading PLT entry word.  Correct
12280         powerpc32_plt_stub PLT address calculation.
12281         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
12282         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
12283         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
12284         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
12285         (ppc64_standard_linkage8): Likewise.
12286         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
12287         Correct insns description.
12288         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
12289
12290 2018-01-24  Pedro Alves  <palves@redhat.com>
12291
12292         GCC PR libstdc++/83906
12293         * gdbtypes.c (operator==(const dynamic_prop &,
12294         const dynamic_prop &)): New.
12295         (operator==(const range_bounds &, const range_bounds &)): New.
12296         (check_types_equal): Use them instead of memcmp.
12297         * gdbtypes.h (operator==(const dynamic_prop &,
12298         const dynamic_prop &)): Declare.
12299         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
12300         (operator==(const range_bounds &, const range_bounds &)): Declare.
12301         (operator!=(const range_bounds &, const range_bounds &)): Declare.
12302
12303 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12304
12305         * s390-linux-tdep.c (s390_record_address_mask)
12306         (s390_record_calc_disp_common, s390_record_calc_disp)
12307         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12308         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12309         (s390_process_record): Move to s390-tdep.c.
12310         (s390_linux_init_abi_any): Adjust.
12311         * s390-tdep.c (s390_record_address_mask)
12312         (s390_record_calc_disp_common, s390_record_calc_disp)
12313         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
12314         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
12315         (s390_process_record): Moved from s390-linux-tdep.c
12316         (s390_gdbarch_init): Adjust.
12317
12318 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12319
12320         * s390-linux-nat.c (s390-tdep.h): New include.
12321         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
12322         (HFILES_NO_SRCDIR): Add s390-tdep.h.
12323         (ALLDEPFILES): Add s390-tdep.c.
12324         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
12325         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
12326         * s390-tdep.h: ...this.  New file.
12327         * s390-linux-tdep.c (s390-tdep.h): New include.
12328         (_initialize_s390_tdep): Rename to...
12329         (_initialize_s390_linux_tdep): ...this and adjust.
12330         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
12331         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
12332         s390-tdep.h.
12333         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
12334         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
12335         (s390_is_partial_instruction, s390_software_single_step)
12336         (is_non_branch_ril, s390_displaced_step_copy_insn)
12337         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
12338         (s390_prologue_data, s390_addr, s390_store, s390_load)
12339         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
12340         (s390_register_call_saved, s390_guess_tracepoint_registers)
12341         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
12342         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
12343         (s390_pseudo_register_name, s390_pseudo_register_type)
12344         (s390_pseudo_register_read, s390_pseudo_register_write)
12345         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
12346         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
12347         (s390_addr_bits_remove, s390_address_class_type_flags)
12348         (s390_address_class_type_flags_to_name)
12349         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
12350         (s390_function_arg_float, s390_function_arg_vector)
12351         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
12352         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
12353         (s390_frame_align, s390_register_return_value, s390_return_value)
12354         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
12355         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
12356         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
12357         (s390_trad_frame_prev_register, s390_unwind_cache)
12358         (s390_prologue_frame_unwind_cache)
12359         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
12360         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
12361         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
12362         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
12363         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
12364         (s390_frame_base_address, s390_local_base_address)
12365         (s390_frame_base, s390_gcc_target_options)
12366         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
12367         (s390_validate_reg_range, s390_tdesc_valid)
12368         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
12369         * s390-tdep.c: ...this.  New file.
12370
12371 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12372
12373         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
12374         (s390_process_record, s390_gdbarch_tdep_alloc)
12375         (s390_linux_init_abi_any): Use/set new hook.
12376
12377 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12378
12379         * s390-linux-tdep.c (osabi.h): New include.
12380         (s390_linux_init_abi_31, s390_linux_init_abi_64)
12381         (s390_linux_init_abi_any): New functions.
12382         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
12383
12384 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12385
12386         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
12387         tdesc_has_registers check
12388
12389 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12390
12391         * s390-linux-tdep.c (s390_tdesc_valid): New function.
12392         (s390_validate_reg_range): New macro.
12393         (s390_gdbarch_init): Adjust.
12394
12395 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12396
12397         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
12398         (s390_gdbarch_tdep_alloc): Adjust.
12399         (s390_gdbarch_init): Adjust.
12400
12401 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12402
12403         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
12404         <have_tdb>: Change type to bool.
12405         (s390_gdbarch_tdep_alloc): Adjust.
12406         (s390_gdbarch_init): Adjust.
12407
12408 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12409
12410         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
12411         (gdbarch_tdep) <have_upper, have_vx>: New fields.
12412         (s390_gdbarch_tdep_alloc): New function.
12413         (s390_gdbarch_init): Allocate tdep at start and use its fields
12414         instead of separate variables.
12415
12416 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
12417
12418         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
12419         when looking for cached gdbarch and add comment for remaining.
12420
12421 2018-01-22  Pedro Alves  <palves@redhat.com>
12422             Sergio Durigan Junior  <sergiodj@redhat.com>
12423
12424         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
12425         case.
12426
12427 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
12428
12429         * MAINTAINERS: Update my company e-mail address.
12430
12431 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12432
12433         * regcache.c (cooked_write_test): New function.
12434         (_initialize_regcache): Register the test.
12435
12436 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12437
12438         * ia64-tdep.c (ia64_pseudo_register_read): Call
12439         regcache->cooked_read instead of regcache_cooked_read_unsigned.
12440         * m32c-tdep.c (m32c_cat_read): Likewise.
12441         (m32c_r3r2r1r0_read): Likewise.
12442         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12443         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12444
12445 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12446
12447         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
12448         method raw_read instead of regcache_raw_read.
12449         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12450         * arm-tdep.c (arm_neon_quad_read): Likewise.
12451         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12452         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12453         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12454         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
12455         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12456         (i386_pseudo_register_read_into_value): Likewise.
12457         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12458         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12459         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12460         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
12461         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
12462         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
12463         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12464         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
12465         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
12466
12467 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12468
12469         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
12470         * configure.tgt: Remove target mt.
12471         * mt-tdep.c: Remove.
12472         * regcache.c (cooked_read_test): Remove the check for mt.
12473
12474 2018-01-22  Yao Qi  <yao.qi@linaro.org>
12475
12476         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
12477         instead of gdbarch_pseudo_register_read_value.
12478
12479 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12480
12481         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
12482         language is Ada.
12483
12484 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
12485
12486         * linespec.c (create_sals_line_offset): Remove code that preserved
12487         the symtab_and_line's line number.
12488
12489 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12490
12491         * varobj.c (varobj_create): Don't set valid_block when creating a
12492         floating varobj.
12493
12494 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12495
12496         * varobj.c (varobj_create): Remove out of date comment.
12497
12498 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12499
12500         PR mi/20395
12501         * ada-exp.y (write_var_from_sym): Pass extra parameter when
12502         updating innermost block.
12503         * parse.c (innermost_block_tracker::update): Take extra type
12504         parameter, and check types match before updating innermost block.
12505         (write_dollar_variable): Update innermost block for registers.
12506         * parser-defs.h (enum innermost_block_tracker_type): New enum.
12507         (innermost_block_tracker::innermost_block_tracker): Initialise
12508         m_types member.
12509         (innermost_block_tracker::reset): Take type parameter.
12510         (innermost_block_tracker::update): Take type parameter, and pass
12511         type through as needed.
12512         (innermost_block_tracker::m_types): New member.
12513         * varobj.c (varobj_create): Pass type when reseting innermost
12514         block.
12515
12516 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12517
12518         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
12519         * ada-lang.c (resolve_subexp): Likewise.
12520         * breakpoint.c (set_breakpoint_condition) Likewise.
12521         (watch_command_1) Likewise.
12522         * c-exp.y (variable): Likewise.
12523         * d-exp.y (PrimaryExpression): Likewise.
12524         * f-exp.y (variable): Likewise.
12525         * go-exp.y (variable): Likewise.
12526         * m2-exp.y (variable): Likewise.
12527         * objfiles.c (objfile::~objfile): Likewise.
12528         * p-exp.y (variable): Likewise.
12529         * parse.c (innermost_block): Change type.
12530         * parser-defs.h (class innermost_block_tracker): New.
12531         (innermost_block): Change to innermost_block_tracker.
12532         * printcmd.c (display_command): Switch to innermost_block API.
12533         (do_one_display): Likewise.
12534         * rust-exp.y (do_one_display): Likewise.
12535         * symfile.c (clear_symtab_users): Likewise.
12536         * varobj.c (varobj_create): Switch to innermost_block API, replace
12537         use of innermost_block with block stored on varobj object.
12538
12539 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
12540
12541         * expression.h (innermost_block): Remove declaration.
12542         * varobj.c: Add 'parser-defs.h' include.
12543
12544 2018-01-19  Tom Tromey  <tom@tromey.com>
12545
12546         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
12547         symbols in the static and global blocks.
12548
12549 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
12550
12551         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
12552         gdb_ptrace.h, and move including gdb_wait.h ...
12553         * nat/linux-ptrace.h: ... to here.
12554
12555 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12556
12557         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
12558         inf_ptrace_detach_success.
12559         (inf_ptrace_detach_success): Add inferior parameter, use it
12560         instead of inferior_ptid, pass it to detach_inferior.
12561         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
12562         parameter.
12563         * inferior.c (detach_inferior): Add overload that takes an
12564         inferior object.
12565         * inferior.h (detach_inferior): Likewise.
12566         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
12567         use inferior_ptid, adjust call to inf_ptrace_detach_success.
12568         * linux-thread-db.c (thread_db_detach): Use inf parameter.
12569
12570 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12571
12572         * target.h (struct target_ops) <to_detach>: Add inferior
12573         parameter.
12574         (target_detach): Likewise.
12575         * target.c (dispose_inferior): Pass inferior down.
12576         (target_detach): Pass inferior down.  Assert that it is equal to
12577         the current inferior.
12578         * aix-thread.c (aix_thread_detach): Pass inferior down.
12579         * corefile.c (core_file_command): Pass current_inferior() down.
12580         * corelow.c (core_detach): Add inferior parameter.
12581         * darwin-nat.c (darwin_detach): Likewise.
12582         * gnu-nat.c (gnu_detach): Likewise.
12583         * inf-ptrace.c (inf_ptrace_detach): Likewise.
12584         * infcmd.c (detach_command): Pass current_inferior() down to
12585         target_detach.
12586         * infrun.c (follow_fork_inferior): Pass parent_inf to
12587         target_detach.
12588         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
12589         target_detach.
12590         * linux-nat.c (linux_nat_detach): Add inferior parameter.
12591         * linux-thread-db.c (thread_db_detach): Likewise.
12592         * nto-procfs.c (procfs_detach): Likewise.
12593         * procfs.c (procfs_detach): Likewise.
12594         * record.c (record_detach): Likewise.
12595         * record.h (struct inferior): Forward-declare.
12596         (record_detach): Add inferior parameter.
12597         * remote-sim.c (gdbsim_detach): Likewise.
12598         * remote.c (remote_detach_1): Likewise.
12599         (remote_detach): Likewise.
12600         (extended_remote_detach): Likewise.
12601         * sol-thread.c (sol_thread_detach): Likewise.
12602         * target-debug.h (target_debug_print_inferior_p): New macro.
12603         * target-delegates.c: Re-generate.
12604         * top.c (kill_or_detach): Pass inferior down to target_detach.
12605         * windows-nat.c (windows_detach): Add inferior parameter.
12606
12607 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
12608
12609         * target.h (struct target_ops) <to_detach>: Remove args
12610         parameter.
12611         (target_detach): Likewise.
12612         * target.c (dispose_inferior): Adjust.
12613         (target_detach): Remove args parameter, adjust.
12614         * aix-thread.c (aix_thread_detach): Adjust.
12615         * corefile.c (core_file_command): Adjust.
12616         * corelow.c (core_detach): Adjust.
12617         * darwin-nat.c (darwin_detach): Adjust.
12618         * gnu-nat.c (gnu_detach): Adjust.
12619         * inf-ptrace.c (inf_ptrace_detach): Adjust.
12620         * infcmd.c (detach_command): Adjust
12621         * infrun.c (follow_fork_inferior): Adjust.
12622         (handle_vfork_child_exec_or_exit): Adjust.
12623         * linux-fork.c (linux_fork_detach): Remove args parameter.
12624         * linux-fork.h (linux_fork_detach): Likewise.
12625         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
12626         * linux-thread-db.c (thread_db_detach): Likewise.
12627         * nto-procfs.c (procfs_detach): Likewise.
12628         * procfs.c (procfs_detach): Likewise.
12629         (do_detach): Remove signo parameter.
12630         * record.c (record_detach): Remove args parameter.
12631         * record.h (record_detach): Likewise.
12632         * remote-sim.c (gdbsim_detach): Likewise.
12633         * remote.c (remote_detach_1): Likewise.
12634         (remote_detach): Likewise.
12635         (extended_remote_detach): Likewise.
12636         * sol-thread.c (sol_thread_detach): Likewise.
12637         * target-delegates.c: Re-generate.
12638         * top.c (struct qt_args) <args>: Remove field.
12639         (kill_or_detach): Don't pass args.
12640         (quit_force): Don't set args.
12641         * windows-nat.c (windows_detach): Remove args parameter.
12642
12643 2018-01-19  Yao Qi  <yao.qi@linaro.org>
12644
12645         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
12646         (arm_linux_init_abi): Install it.
12647
12648 2018-01-19  Yao Qi  <yao.qi@linaro.org>
12649
12650         * osabi.c (gdb_osabi_names): Extend the regexp for
12651         arm-linux-gnueabihf.
12652
12653 2018-01-18  Yao Qi  <yao.qi@linaro.org>
12654
12655         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
12656         m_abbrevs.
12657         (abbrev_table::add_abbrev): Update.
12658         (abbrev_table::lookup_abbrev): Update.
12659
12660 2018-01-18  Yao Qi  <yao.qi@linaro.org>
12661
12662         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
12663
12664 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
12665
12666         * compile/compile.c (compile_to_object): Convert "triplet_rx"
12667         to "std::string".
12668
12669 2018-01-17  Tom Tromey  <tom@tromey.com>
12670
12671         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
12672
12673 2018-01-17  Tom Tromey  <tom@tromey.com>
12674
12675         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
12676         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
12677         (create_array_type_with_stride): Update.
12678         * dwarf2read.c (set_die_type): Update.
12679
12680 2018-01-17  Tom Tromey  <tom@tromey.com>
12681
12682         * dwarf2read.c (delayed_method_info): Remove typedef.
12683         (dwarf2_cu::method_info): Now a std::vector.
12684         (add_to_method_list): Update.
12685         (free_delayed_list): Remove.
12686         (compute_delayed_physnames): Update.
12687         (process_full_comp_unit, process_full_type_unit): Clear the method
12688         list.  Remove cleanups.
12689         (psymtab_include_file_name): Add name_holder parameter.  Use
12690         unique_xmalloc_ptr.
12691         (dwarf_decode_lines): Update.
12692
12693 2018-01-17  Tom Tromey  <tom@tromey.com>
12694             Simon Marchi  <simon.marchi@ericsson.com>
12695
12696         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
12697         (dwarf2_per_objfile::free_cached_comp_units)
12698         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
12699         (init_cutu_and_read_dies_no_follow): Update.
12700         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
12701         (dwarf2_cu::~dwarf2_cu): New.
12702         (free_heap_comp_unit, free_stack_comp_unit): Remove.
12703         (age_cached_comp_units, free_one_cached_comp_unit): Update.
12704
12705 2018-01-17  Tom Tromey  <tom@tromey.com>
12706             Simon Marchi  <simon.marchi@ericsson.com>
12707
12708         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
12709         (struct die_reader_specs) <abbrev_table>: New member.
12710         (struct abbrev_table): Add constructor.
12711         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
12712         <abbrev_obstack>: Now an auto_obstack.
12713         (abbrev_table_up): New typedef.
12714         (init_cu_die_reader): Add abbrev_table parameter.
12715         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
12716         Add result_dwo_abbrev_table.
12717         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
12718         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
12719         Update.
12720         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
12721         parameter.
12722         (skip_children): Update.
12723         (abbrev_table::alloc_abbrev): Rename from
12724         abbrev_table_alloc_abbrev.
12725         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
12726         (abbrev_table::lookup_abbrev): Rename from
12727         abbrev_table_lookup_abbrev.
12728         (abbrev_table_read_table): Return abbrev_table_up.
12729         (abbrev_table_free, abbrev_table_free_cleanup)
12730         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
12731         (load_partial_dies): Update.
12732
12733 2018-01-17  Tom Tromey  <tom@tromey.com>
12734
12735         * dwarf2read.c (dwarf2_compute_name): Update comment.
12736         (read_func_scope, read_variable): Update.
12737         (new_symbol): Remove.
12738         (new_symbol_full): Rename to new_symbol.
12739
12740 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
12741
12742         PR gdb/16577
12743         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
12744         a warning instead of throwing an error, set section size to 0 and return
12745         NULL.
12746         * gdb_bfd.h (gdb_bfd_map_section): Update description.
12747
12748 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
12749
12750         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
12751         std::string.
12752         (linux_ptrace_attach_fail_reason_string): Likewise.
12753         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
12754         Likewise.
12755         (linux_ptrace_attach_fail_reason_string): Likewise.
12756         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
12757
12758 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
12759
12760         * linux-nat.c (linux_nat_attach): Remove xstrdup.
12761
12762 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
12763
12764         PR gdb/21559
12765         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
12766         checking for fs_base/gs_base fields in struct user_regs_struct.
12767         * configure: Regenerate.
12768
12769 2018-01-17  Yao Qi  <yao.qi@linaro.org>
12770
12771         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
12772         function.
12773         (aarch64_linux_init_abi): Install it to gdbarch hook
12774         gcc_target_options.
12775
12776 2018-01-15  Pedro Alves  <palves@redhat.com>
12777
12778         * common/signals-state-save-restore.c
12779         (save_original_signals_state): Fix typos.
12780
12781 2017-01-12  Tom Tromey  <tom@tromey.com>
12782             Sergio Durigan Junior  <sergiodj@redhat.com>
12783
12784         * Makefile.in (install-only): Install gdb-add-index.
12785
12786 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
12787
12788         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
12789
12790 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12791
12792         * infrun.c (keep_going_pass_signal): Clear step-over info when
12793         insert_breakpoints fails.
12794
12795 2018-01-11  Pedro Alves  <palves@redhat.com>
12796
12797         PR gdb/22583
12798         * infrun.c (resume): Rename to ...
12799         (resume_1): ... this.
12800         (resume): Reimplement as wrapper around resume_1.
12801
12802 2018-01-11  Pedro Alves  <palves@redhat.com>
12803
12804         PR remote/22597
12805         * remote.c (remote_parse_stop_reply): Default to the last-set
12806         general thread instead of to 'magic_null_ptid'.
12807
12808 2018-01-10  Pedro Alves  <palves@redhat.com>
12809
12810         * language.h (language_get_symbol_name_matcher): Rename ...
12811         (get_symbol_name_matcher): ... this.
12812         * language.c (language_get_symbol_name_matcher): Ditto.
12813         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
12814         callers adjusted.
12815
12816 2018-01-10  Pedro Alves  <palves@redhat.com>
12817
12818         PR gdb/22670
12819         * dwarf2read.c
12820         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
12821         Adjust to use language_get_symbol_name_matcher instead of
12822         language_defn::la_get_symbol_name_matcher.
12823         * language.c (language_get_symbol_name_matcher): If in Ada mode
12824         and the lookup name is a verbatim match, return Ada's matcher.
12825         * language.h (language_get_symbol_name_matcher): Adjust comment.
12826         (ada_lookup_name_info::verbatim_p):: New method.
12827
12828 2018-01-10  Pedro Alves  <palves@redhat.com>
12829
12830         PR gdb/22670
12831         * ada-lang.c (ada_collect_symbol_completion_matches): If the
12832         minsym's language is language_auto or language_cplus, pass down
12833         language_ada instead.
12834         * symtab.c (compare_symbol_name): Don't frob symbol language here.
12835
12836 2018-01-10  Pedro Alves  <palves@redhat.com>
12837
12838         PR gdb/22670
12839         * minsyms.c (linkage_name_str): New function.
12840         (iterate_over_minimal_symbols): Use it.
12841
12842 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12843
12844         * NEWS: Document that 'info proc' now works on FreeBSD.
12845
12846 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12847
12848         * configure.ac: Check for kinfo_getfile in libutil.
12849         * configure: Regenerate.
12850         * config.in: Regenerate.
12851         * fbsd-nat.c: Include "fbsd-tdep.h".
12852         (fbsd_fetch_cmdline): New.
12853         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
12854         rather than calling error.
12855         (fbsd_info_proc): New.
12856         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
12857         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
12858         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
12859
12860 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12861
12862         * fbsd-nat.c (struct free_deleter): Remove.
12863         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
12864
12865 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12866
12867         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
12868         NULL for an empty pathname.
12869
12870 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
12871
12872         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
12873         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
12874         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
12875         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
12876         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
12877         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
12878         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
12879         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
12880         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
12881         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
12882         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
12883         (fbsd_core_fetch_timeval, fbsd_print_sigset)
12884         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
12885         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
12886         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
12887
12888 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
12889
12890         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
12891         (gnu_xfer_auxv): New function.
12892         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
12893         TARGET_OBJECT_AUXV.
12894
12895 2018-01-08  Yao Qi  <yao.qi@linaro.org>
12896             Simon Marchi  <simon.marchi@ericsson.com>
12897
12898         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
12899         common/selftest.c.
12900         (COMMON_OBS): Remove selftest.o.
12901         * configure.ac: Append selftest-arch.c and common/selftest.c to
12902         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
12903         * configure: Re-generated.
12904         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
12905         GDB_SELF_TEST.
12906         (maintenance_info_selftests): Likewise.
12907
12908 2018-01-08  Xavier Roirand  <roirand@adacore.com>
12909
12910         * ada-valprint.c (val_print_packed_array_elements): Use
12911         proper number of elements when printing an array indexed
12912         by an enumeration type.
12913
12914 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
12915
12916         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
12917         (dw2_get_file_names_reader): Adjust.
12918         (lookup_dwo_signatured_type): Adjust.
12919         (lookup_dwp_signatured_type): Adjust.
12920         (lookup_signatured_type): Adjust.
12921         (create_type_unit_group): Adjust.
12922         (get_type_unit_group): Adjust.
12923         (process_psymtab_comp_unit_reader): Adjust.
12924         (build_type_psymtabs_reader): Adjust.
12925         (scan_partial_symbols): Adjust.
12926         (add_partial_symbol): Adjust.
12927         (add_partial_subprogram): Adjust.
12928         (peek_die_abbrev): Adjust.
12929         (fixup_go_packaging): Adjust.
12930         (process_imported_unit_die): Adjust.
12931         (dwarf2_compute_name): Adjust.
12932         (dwarf2_physname): Adjust.
12933         (read_import_statement): Adjust.
12934         (handle_DW_AT_stmt_list): Adjust.
12935         (read_file_scope): Adjust.
12936         (read_func_scope): Adjust.
12937         (read_lexical_block_scope): Adjust.
12938         (read_call_site_scope): Adjust.
12939         (read_variable): Adjust.
12940         (dwarf2_rnglists_process): Adjust.
12941         (dwarf2_ranges_process): Adjust.
12942         (dwarf2_ranges_read): Adjust.
12943         (dwarf2_get_pc_bounds): Adjust.
12944         (dwarf2_record_block_ranges): Adjust.
12945         (dwarf2_add_field): Adjust.
12946         (dwarf2_add_member_fn): Adjust.
12947         (read_structure_type): Adjust.
12948         (process_structure_scope): Adjust.
12949         (read_enumeration_type): Adjust.
12950         (read_array_type): Adjust.
12951         (mark_common_block_symbol_computed): Adjust.
12952         (read_common_block): Adjust.
12953         (read_namespace_type): Adjust.
12954         (read_namespace): Adjust.
12955         (read_module_type): Adjust.
12956         (read_tag_pointer_type): Adjust.
12957         (read_tag_ptr_to_member_type): Adjust.
12958         (read_tag_string_type): Adjust.
12959         (read_subroutine_type): Adjust.
12960         (read_typedef): Adjust.
12961         (read_base_type): Adjust.
12962         (attr_to_dynamic_prop): Adjust.
12963         (read_subrange_type): Adjust.
12964         (read_unspecified_type): Adjust.
12965         (dwarf2_read_abbrevs): Adjust.
12966         (load_partial_dies): Adjust.
12967         (read_partial_die): Adjust.
12968         (find_partial_die): Adjust.
12969         (guess_partial_die_structure_name): Adjust.
12970         (fixup_partial_die): Adjust.
12971         (read_attribute_value): Adjust.
12972         (read_addr_index): Adjust.
12973         (read_addr_index_from_leb128): Adjust.
12974         (read_str_index): Adjust.
12975         (dwarf2_string_attr): Adjust.
12976         (get_debug_line_section): Adjust.
12977         (dwarf_decode_line_header): Adjust.
12978         (lnp_state_machine::check_line_address): Adjust.
12979         (dwarf_decode_lines_1): Adjust.
12980         (dwarf_decode_lines): Adjust.
12981         (dwarf2_start_symtab): Adjust.
12982         (var_decode_location): Adjust.
12983         (new_symbol_full): Adjust.
12984         (dwarf2_const_value_data): Adjust.
12985         (dwarf2_const_value_attr): Adjust.
12986         (dwarf2_const_value): Adjust.
12987         (die_type): Adjust.
12988         (die_containing_type): Adjust.
12989         (build_error_marker_type): Adjust.
12990         (lookup_die_type): Adjust.
12991         (guess_full_die_structure_name): Adjust.
12992         (anonymous_struct_prefix): Adjust.
12993         (determine_prefix): Adjust.
12994         (dwarf2_name): Adjust.
12995         (follow_die_ref_or_sig): Adjust.
12996         (follow_die_offset): Adjust.
12997         (follow_die_ref): Adjust.
12998         (follow_die_sig_1): Adjust.
12999         (follow_die_sig): Adjust.
13000         (get_signatured_type): Adjust.
13001         (get_DW_AT_signature_type): Adjust.
13002         (decode_locdesc): Adjust.
13003         (dwarf_decode_macros): Adjust.
13004         (cu_debug_loc_section): Adjust.
13005         (fill_in_loclist_baton): Adjust.
13006         (dwarf2_symbol_mark_computed): Adjust.
13007         (init_one_comp_unit): Don't assign
13008         dwarf2_cu::dwarf2_per_objfile.
13009         (set_die_type): Adjust.
13010
13011 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13012
13013         * dwarf2read.c (struct mapped_debug_names): Add constructor.
13014         <dwarf2_per_objfile>: New field.
13015         (dwarf2_per_objfile): Remove global.
13016         (get_dwarf2_per_objfile): New function.
13017         (set_dwarf2_per_objfile): New function.
13018         (dwarf2_build_psymtabs_hard): Change objfile parameter to
13019         dwarf2_per_objfile.
13020         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13021         (read_abbrev_offset): Likewise.
13022         (read_indirect_string): Likewise.
13023         (read_indirect_line_string): Likewise.
13024         (read_indirect_string_at_offset): Likewise.
13025         (read_indirect_string_from_dwz): Likewise.
13026         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13027         dwarf2_per_objfile.
13028         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13029         (create_all_comp_units): Change objfile parameter to
13030         dwarf2_per_objfile.
13031         (create_all_type_units): Likewise.
13032         (process_queue): Add dwarf2_per_objfile parameter.
13033         (read_and_check_comp_unit_head): Likewise.
13034         (lookup_dwo_unit_in_dwp): Likewise.
13035         (get_dwp_file): Likewise.
13036         (process_cu_includes): Likewise.
13037         (struct free_dwo_file_cleanup_data): New struct.
13038         (dwarf2_has_info): Use get_dwarf2_per_objfile and
13039         set_dwarf2_per_objfile.
13040         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
13041         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
13042         context, adjust calls.
13043         (dw2_instantiate_symtab): Likewise.
13044         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
13045         (dw2_get_cu): Likewise.
13046         (create_cu_from_index_list): Change objfile parameter to
13047         dwarf2_per_objfile.
13048         (create_cus_from_index_list): Get dwarf2_per_objfile from
13049         context, adjust calls.
13050         (create_cus_from_index): Likewise.
13051         (create_signatured_type_table_from_index): Change objfile
13052         parameter to dwarf2_per_objfile.
13053         (create_signatured_type_table_from_debug_names): Change objfile
13054         parameter to dwarf2_per_objfile.
13055         (create_addrmap_from_index): Likewise.
13056         (create_addrmap_from_aranges): Likewise.
13057         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
13058         (dw2_setup): Remove.
13059         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
13060         context.
13061         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
13062         get_dwarf2_per_objfile.
13063         (dw2_forget_cached_source_info): Likewise.
13064         (dw2_map_symtabs_matching_filename): Likewise.
13065         (struct dw2_symtab_iterator) <index>: Remove.
13066         <dwarf2_per_objfile>: New field.
13067         (dw2_symtab_iter_init): Replace index parameter with
13068         dwarf2_per_objfile.
13069         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
13070         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
13071         (dw2_print_stats): Likewise.
13072         (dw2_dump): Likewise.
13073         (dw2_expand_symtabs_for_function): Likewise.
13074         (dw2_expand_all_symtabs): Likewise.
13075         (dw2_expand_symtabs_with_fullname): Likewise.
13076         (dw2_expand_marked_cus): Replace index and objfile parameters
13077         with dwarf2_per_objfile.
13078         (dw_expand_symtabs_matching_file_matcher): Add
13079         dwarf2_per_objfile parameter and adjust calls.
13080         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
13081         adjust calls.
13082         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
13083         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
13084         adjust calls.
13085         (create_cus_from_debug_names_list): Replace objfile parameter
13086         with dwarf2_per_objfile and adjust calls.
13087         (create_cus_from_debug_names): Likewise.
13088         (dwarf2_read_debug_names): Likewise.
13089         (mapped_debug_names::namei_to_name): Adjust call.
13090         (dw2_debug_names_iterator::next): Likewise.
13091         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
13092         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
13093         (dw2_debug_names_dump): Likewise.
13094         (dw2_debug_names_expand_symtabs_for_function): Likewise.
13095         (dw2_debug_names_expand_symtabs_matching): Likewise.
13096         (dwarf2_initialize_objfile): Likewise.
13097         (dwarf2_build_psymtabs): Likewise.
13098         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
13099         this_cu.
13100         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
13101         (read_and_check_comp_unit_head): Likewise.
13102         (read_abbrev_offset): Likewise.
13103         (create_debug_type_hash_table): Likewise.
13104         (create_debug_types_hash_table): Likewise.
13105         (create_all_type_units): Replace objfile parameter with
13106         dwarf2_per_objfile.
13107         (add_type_unit): Add dwarf2_per_objfile parameter.
13108         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
13109         with dwarf2_per_objfile.
13110         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
13111         (lookup_dwp_signatured_type): Likewise.
13112         (lookup_signatured_type): Likewise.
13113         (read_cutu_die_from_dwo): Likewise.
13114         (init_tu_and_read_dwo_dies): Likewise.
13115         (init_cutu_and_read_dies): Likewise.
13116         (init_cutu_and_read_dies_no_follow): Likewise.
13117         (allocate_type_unit_groups_table): Add objfile parameter.
13118         (create_type_unit_group): Use dwarf2_per_objfile from cu.
13119         (get_type_unit_group): Likewise.
13120         (process_psymtab_comp_unit): Update call.
13121         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
13122         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
13123         (print_tu_stats): Likewise.
13124         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
13125         in void* parameter.
13126         (build_type_psymtabs): Change objfile parameter to
13127         dwarf2_per_objfile.
13128         (process_skeletonless_type_unit): Use dwarf2_per_objfile
13129         passed in void* parameter.
13130         (process_skeletonless_type_units): Change objfile parameter to
13131         dwarf2_per_objfile.
13132         (set_partial_user): Likewise.
13133         (dwarf2_build_psymtabs_hard): Likewise.
13134         (read_comp_units_from_section): Likewise.
13135         (create_all_comp_units): Likewise.
13136         (scan_partial_symbols): Update calls.
13137         (add_partial_symbol): Likewise.
13138         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
13139         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
13140         (process_queue): Add dwarf2_per_objfile parameter.
13141         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
13142         (compute_compunit_symtab_includes): Likewise.
13143         (process_cu_includes): Add dwarf2_per_objfile parameter.
13144         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
13145         (process_full_type_unit): Likewise.
13146         (process_imported_unit_die): Update call.
13147         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
13148         (read_file_scope): Likewise.
13149         (allocate_dwo_file_hash_table): Add objfile parameter.
13150         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
13151         (create_cus_hash_table): Likewise.
13152         (create_dwp_hash_table): Likewise.
13153         (create_dwo_unit_in_dwp_v1): Likewise.
13154         (create_dwp_v2_section): Likewise.
13155         (create_dwo_unit_in_dwp_v2): Likewise.
13156         (lookup_dwo_unit_in_dwp): Likewise.
13157         (try_open_dwop_file): Likewise.
13158         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
13159         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
13160         cleanup to include a reference to dwarf2_per_objfile.
13161         (open_dwp_file): Add dwarf2_per_objfile parameter.
13162         (open_and_init_dwp_file): Likewise.
13163         (get_dwp_file): Likewise.
13164         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
13165         (queue_and_load_all_dwo_tus): Update call.
13166         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
13167         data.
13168         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
13169         (dwarf2_ranges_process): Likewise.
13170         (dwarf2_get_pc_bounds): Likewise.
13171         (mark_common_block_symbol_computed): Likewise.
13172         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13173         (dwarf2_read_abbrevs): Update call.
13174         (read_partial_die): Use dwarf2_per_objfile from cu.
13175         (find_partial_die): Likewise.
13176         (fixup_partial_die): Likewise.
13177         (read_attribute_value): Likewise.
13178         (read_indirect_string_at_offset_from): Add objfile parameter.
13179         (read_indirect_string_at_offset): Add dwarf2_per_objfile
13180         parameter.
13181         (read_indirect_string_from_dwz): Add objfile parameter.
13182         (read_indirect_string): Add objfile parameter.
13183         (read_addr_index_1): Add dwarf2_per_objfile parameter.
13184         (read_addr_index): Use dwarf2_per_objfile from cu.
13185         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
13186         call dw2_setup.
13187         (read_str_index): Use dwarf2_per_objfile from cu.
13188         (get_debug_line_section): Likewise.
13189         (read_formatted_entries): Add dwarf2_per_objfile parameter.
13190         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
13191         (new_symbol_full): Use dwarf2_per_objfile from cu.
13192         (build_error_marker_type): Likewise.
13193         (lookup_die_type): Likewise.
13194         (determine_prefix): Likewise.
13195         (follow_die_offset): Likewise.
13196         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
13197         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
13198         (dwarf2_fetch_die_type_sect_off): Likewise.
13199         (dwarf2_get_die_type): Likewise.
13200         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
13201         (get_signatured_type): Likewise.
13202         (get_DW_AT_signature_type): Likewise.
13203         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
13204         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
13205         (cu_debug_loc_section): Likewise.
13206         (fill_in_loclist_baton): Likewise.
13207         (dwarf2_symbol_mark_computed): Likewise.
13208         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13209         dwarf2_per_objfile.
13210         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
13211         parameter.
13212         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13213         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
13214         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
13215         (set_die_type): Use dwarf2_free_objfile from cu.
13216         (get_die_type_at_offset): Likewise.
13217         (dwarf2_per_objfile_free): Don't assign global variable.
13218         (debug_names) <constructor>: Add dwarf2_per_objfile
13219         parameter, update m_debugstrlookup construction.
13220         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
13221         parameter.
13222         <m_dwarf2_per_objfile>: New field.
13223         <lookup>: Use m_dwarf2_per_objfile.
13224         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
13225         (psyms_seen_size): Likewise.
13226         (write_gdbindex): Replace objfile parameter with
13227         dwarf2_per_objfile.
13228         (write_debug_names): Likewise.
13229         (write_psymtabs_to_index): Likewise.
13230         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
13231         calls.
13232
13233 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13234
13235         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
13236         <dwarf2_per_objfile>: New field.
13237         (struct dwarf2_per_cu_data) <objfile>: Remove.
13238         <dwarf2_per_objfile>: New field.
13239         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
13240         of objfile.
13241         (create_signatured_type_table_from_index): Likewise.
13242         (create_debug_type_hash_table): Likewise.
13243         (fill_in_sig_entry_from_dwo_entry): Likewise.
13244         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
13245         (create_type_unit_group): Assign dwarf2_per_objfile instead of
13246         objfile.
13247         (create_partial_symtab): Access objfile through
13248         dwarf2_per_objfile.
13249         (process_psymtab_comp_unit_reader): Likewise.
13250         (read_comp_units_from_section): Likewise.
13251         (scan_partial_symbols): Likewise.
13252         (add_partial_symbol): Likewise.
13253         (add_partial_subprogram): Likewise.
13254         (peek_die_abbrev): Likewise.
13255         (fixup_go_packaging): Likewise.
13256         (process_full_comp_unit): Likewise.
13257         (process_full_type_unit): Likewise.
13258         (process_imported_unit_die): Likewise.
13259         (dwarf2_compute_name): Likewise.
13260         (dwarf2_physname): Likewise.
13261         (read_import_statement): Likewise.
13262         (create_cus_hash_table): Assign dwarf2_physname instead of
13263         objfile.
13264         (read_func_scope): Access objfile through dwarf2_per_objfile.
13265         (read_lexical_block_scope): Likewise.
13266         (read_call_site_scope): Likewise.
13267         (read_variable): Likewise.
13268         (dwarf2_rnglists_process): Likewise.
13269         (dwarf2_ranges_process): Likewise.
13270         (dwarf2_ranges_read): Likewise.
13271         (dwarf2_record_block_ranges): Likewise.
13272         (dwarf2_add_field): Likewise.
13273         (dwarf2_add_member_fn): Likewise.
13274         (read_structure_type): Likewise.
13275         (process_structure_scope): Likewise.
13276         (read_enumeration_type): Likewise.
13277         (read_array_type): Likewise.
13278         (read_common_block): Likewise.
13279         (read_namespace_type): Likewise.
13280         (read_namespace): Likewise.
13281         (read_module_type): Likewise.
13282         (read_tag_pointer_type): Likewise.
13283         (read_tag_ptr_to_member_type): Likewise.
13284         (read_tag_string_type): Likewise.
13285         (read_subroutine_type): Likewise.
13286         (read_typedef): Likewise.
13287         (read_base_type): Likewise.
13288         (attr_to_dynamic_prop): Likewise.
13289         (read_subrange_type): Likewise.
13290         (read_unspecified_type): Likewise.
13291         (load_partial_dies): Likewise.
13292         (read_partial_die): Likewise.
13293         (find_partial_die): Likewise.
13294         (guess_partial_die_structure_name): Likewise.
13295         (fixup_partial_die): Likewise.
13296         (read_attribute_value): Likewise.
13297         (read_addr_index_from_leb128): Likewise.
13298         (dwarf2_read_addr_index): Likewise.
13299         (dwarf2_string_attr): Likewise.
13300         (lnp_state_machine::check_line_address): Likewise.
13301         (dwarf_decode_lines_1): Likewise.
13302         (dwarf_decode_lines): Likewise.
13303         (dwarf2_start_symtab): Likewise.
13304         (var_decode_location): Likewise.
13305         (new_symbol_full): Likewise.
13306         (dwarf2_const_value_data): Likewise.
13307         (dwarf2_const_value_attr): Likewise.
13308         (dwarf2_const_value): Likewise.
13309         (die_type): Likewise.
13310         (die_containing_type): Likewise.
13311         (lookup_die_type): Likewise.
13312         (guess_full_die_structure_name): Likewise.
13313         (anonymous_struct_prefix): Likewise.
13314         (dwarf2_name): Likewise.
13315         (follow_die_ref_or_sig): Likewise.
13316         (follow_die_offset): Likewise.
13317         (follow_die_ref): Likewise.
13318         (dwarf2_fetch_die_loc_sect_off): Likewise.
13319         (dwarf2_fetch_constant_bytes): Likewise.
13320         (dwarf2_fetch_die_type_sect_off): Likewise.
13321         (dwarf2_get_die_type): Likewise.
13322         (follow_die_sig): Likewise.
13323         (decode_locdesc): Likewise.
13324         (dwarf2_per_cu_objfile): Likewise.
13325         (dwarf2_per_cu_text_offset): Likewise.
13326         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
13327         objfile.
13328         (set_die_type): Access objfile through
13329         dwarf2_per_objfile.
13330
13331 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13332
13333         * valprint.c (converted_character_d): Remove typedef.
13334         (DEF_VEC_O (converted_character_d)): Remove.
13335         (count_next_character): Use std::vector.
13336         (print_converted_chars_to_obstack): Likewise.
13337         (generic_printstr): Likewise.
13338
13339 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13340
13341         * xml-support.h (struct gdb_xml_value): Add constructor.
13342         <value>: Change type to unique_xmalloc_ptr.
13343         (gdb_xml_value_s): Remove typedef.
13344         (DEF_VEC_O (gdb_xml_value_s)): Remove.
13345         (gdb_xml_element_start_handler): Change parameter type to
13346         std::vector.
13347         (xml_find_attribute): Likewise.
13348         * xml-support.c (xml_find_attribute): Change parameter type to
13349         std::vector and adjust.
13350         (gdb_xml_values_cleanup): Remove.
13351         (gdb_xml_parser::start_element): Adjust to std::vector.
13352         (xinclude_start_include): Change paraeter type to std::vector
13353         and adjust.
13354         * btrace.c (check_xml_btrace_version): Likewise.
13355         (parse_xml_btrace_block): Likewise.
13356         (parse_xml_btrace_pt_config_cpu): Likewise.
13357         (parse_xml_btrace_pt): Likewise.
13358         (parse_xml_btrace_conf_bts): Likewise.
13359         (parse_xml_btrace_conf_pt): Likewise.
13360         * memory-map.c (memory_map_start_memory): Likewise.
13361         (memory_map_start_property): Likewise.
13362         * osdata.c (osdata_start_osdata): Likewise.
13363         (osdata_start_item): Likewise.
13364         (osdata_start_column): Likewise.
13365         * remote.c (start_thread): Likewise.
13366         * solib-aix.c (library_list_start_library): Likewise.
13367         (library_list_start_list): Likewise.
13368         * solib-svr4.c (library_list_start_library): Likewise.
13369         (svr4_library_list_start_list): Likewise.
13370         * solib-target.c (library_list_start_segment): Likewise.
13371         (library_list_start_section): Likewise.
13372         (library_list_start_library): Likewise.
13373         (library_list_start_list): Likewise.
13374         * tracepoint.c (traceframe_info_start_memory): Likewise.
13375         (traceframe_info_start_tvar): Likewise.
13376         * xml-syscall.c (syscall_start_syscall): Likewise.
13377         * xml-tdesc.c (tdesc_start_target): Likewise.
13378         (tdesc_start_feature): Likewise.
13379         (tdesc_start_reg): Likewise.
13380         (tdesc_start_union): Likewise.
13381         (tdesc_start_struct): Likewise.
13382         (tdesc_start_flags): Likewise.
13383         (tdesc_start_enum): Likewise.
13384         (tdesc_start_field): Likewise.
13385         (tdesc_start_enum_value): Likewise.
13386         (tdesc_start_vector): Likewise.
13387
13388 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13389
13390         * extension.h (struct xmethod_worker) <clone>: Remove.
13391         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
13392         Remove.
13393         (python_xmethod_worker::clone): Remove.
13394         * valops.c (find_overload_match): Use std::move instead of
13395         clone.
13396
13397 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13398
13399         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
13400         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
13401         <free_xmethod_worker_data>: Remove.
13402         <get_matching_xmethod_workers>: Chance VEC to std::vector.
13403         <get_xmethod_arg_types>: Remove.
13404         <get_xmethod_result_type>: Remove.
13405         <invoke_xmethod>: Remove.
13406         * extension.c (new_xmethod_worker): Remove.
13407         (clone_xmethod_worker): Remove.
13408         (get_matching_xmethod_workers): Return void, pass std::vector by
13409         pointer.
13410         (get_xmethod_arg_types): Rename to...
13411         (xmethod_worker::get_arg_types): ... this, and adjust.
13412         (get_xmethod_result_type): Rename to...
13413         (xmethod_worker::get_result_type): ... this, and adjust.
13414         (invoke_xmethod): Remove.
13415         (free_xmethod_worker): Remove.
13416         (free_xmethod_worker_vec): Remove.
13417         * extension.h (enum ext_lang_rc): Move here from
13418         extension-priv.h.
13419         (struct xmethod_worker): Add constructor and destructor.
13420         <data>: Remove.
13421         <value>: Remove.
13422         <invoke, clone, do_get_result_type, do_get_arg_types>: New
13423         virtual pure methods.
13424         <get_arg_types, get_result_type>: New methods.
13425         (xmethod_worker_ptr): Remove typedef.
13426         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
13427         (xmethod_worker_vec): Remove typedef.
13428         (xmethod_worker_up): New typedef.
13429         (invoke_xmethod): Remove.
13430         (clone_xmethod_worker): Remove.
13431         (free_xmethod_worker): Remove.
13432         (free_xmethod_worker_vec): Remove.
13433         (get_xmethod_arg_types): Remove.
13434         (get_xmethod_result_type): Remove.
13435         * valops.c (find_method_list): Use std::vector, don't use
13436         intermediate vector.
13437         (value_find_oload_method_list): Use std::vector.
13438         (find_overload_match): Use std::vector.
13439         (find_oload_champ): Use std::vector.
13440         * value.c (value_free): Use operator delete.
13441         (value_of_xmethod): Rename to...
13442         (value_from_xmethod): ... this.  Don't assign
13443         xmethod_worker::value, take rvalue-reference.
13444         (result_type_of_xmethod): Adjust.
13445         (call_xmethod): Adjust.
13446         * value.h: Include extension.h.
13447         (struct xmethod_worker): Don't forward-declare.
13448         (value_of_xmethod): Rename to...
13449         (value_from_xmethod): ... this, take rvalue-reference.
13450         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
13451         (struct python_xmethod_worker): ... this, add constructor and
13452         destructor.
13453         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
13454         (gdbpy_free_xmethod_worker_data): Rename to...
13455         (python_xmethod_worker::~python_xmethod_worker): ... this and
13456         adjust.
13457         (gdbpy_clone_xmethod_worker_data): Rename to...
13458         (python_xmethod_worker::clone): ... this and adjust.
13459         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
13460         temporary vector.
13461         (gdbpy_get_xmethod_arg_types): Rename to...
13462         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
13463         (gdbpy_get_xmethod_result_type): Rename to...
13464         (python_xmethod_worker::do_get_result_type): ... this and
13465         adjust.
13466         (gdbpy_invoke_xmethod): Rename to...
13467         (python_xmethod_worker::invoke): ... this and adjust.
13468         (new_python_xmethod_worker): Rename to...
13469         (python_xmethod_worker::python_xmethod_worker): ... this and
13470         adjust.
13471         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
13472         Remove.
13473         (gdbpy_free_xmethod_worker_data): Remove.
13474         (gdbpy_get_matching_xmethod_workers): Use std::vector.
13475         (gdbpy_get_xmethod_arg_types): Remove.
13476         (gdbpy_get_xmethod_result_type): Remove.
13477         (gdbpy_invoke_xmethod): Remove.
13478         * python/python.c (python_extension_ops): Remove obsolete
13479         callbacks.
13480
13481 2018-01-05  Pedro Alves  <palves@redhat.com>
13482
13483         PR gdb/18653
13484         * common/signals-state-save-restore.c
13485         (save_original_signals_state): New parameter 'quiet'.  Warn if we
13486         find a custom handler preinstalled, instead of internal erroring.
13487         But only warn if !quiet.
13488         * common/signals-state-save-restore.h
13489         (save_original_signals_state): New parameter 'quiet'.
13490         * main.c (captured_main_1): Move save_original_signals_state call
13491         after option handling, and pass QUIET.
13492
13493 2018-01-05  Pedro Alves  <palves@redhat.com>
13494
13495         * spu-tdep.c (spu_catch_start): Pass
13496         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
13497
13498 2018-01-05  Pedro Alves  <palves@redhat.com>
13499
13500         PR gdb/22670
13501         * ada-lang.c (literal_symbol_name_matcher): New function.
13502         (ada_get_symbol_name_matcher): Use it for
13503         symbol_name_match_type::SEARCH_NAME.
13504         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
13505         it down instead of assuming symbol_name_match_type::FULL.
13506         * block.h (block_lookup_symbol): New parameter 'match_type'.
13507         * c-valprint.c (print_unpacked_pointer): Use
13508         lookup_symbol_search_name instead of lookup_symbol.
13509         * compile/compile-object-load.c (get_out_value_type): Pass down
13510         symbol_name_match_type::SEARCH_NAME.
13511         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
13512         symbol_name_match_type::FULL.
13513         * cp-support.c (cp_get_symbol_name_matcher): Handle
13514         symbol_name_match_type::SEARCH_NAME.
13515         * infrun.c (insert_exception_resume_breakpoint): Use
13516         lookup_symbol_search_name.
13517         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
13518         * psymtab.c (maintenance_check_psymtabs): Use
13519         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
13520         * stack.c (print_frame_args): Use lookup_symbol_search_name and
13521         SYMBOL_SEARCH_NAME.
13522         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
13523         if symbol_name_match_type::SEARCH_NAME.
13524         (lookup_symbol_in_language): Pass down
13525         symbol_name_match_type::FULL.
13526         (lookup_symbol_search_name): New.
13527         (lookup_language_this): Pass down
13528         symbol_name_match_type::SEARCH_NAME.
13529         (lookup_symbol_aux, lookup_local_symbol): New parameter
13530         'match_type'.  Pass it down.
13531         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
13532         (lookup_symbol_search_name): New declaration.
13533         (lookup_symbol_in_block): New 'match_type' parameter.
13534
13535 2018-01-05  Pedro Alves  <palves@redhat.com>
13536
13537         PR gdb/22670
13538         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
13539         ada_lookup_symbol.
13540         (ada_lookup_symbol): Reimplement in terms of
13541         ada_lookup_symbol_list, bits factored out from
13542         ada_lookup_encoded_symbol.
13543
13544 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13545
13546         * ada-exp.y (write_object_renaming): When subscripting an array
13547         using a symbol as the index, pass the block in call to
13548         ada_lookup_encoded_symbol when looking that symbol up.
13549
13550 2018-01-05  Jerome Guitton  <guitton@adacore.com>
13551
13552         * ada-lang.c (ada_array_length): Use ada_index_type instead of
13553         TYPE_INDEX_TYPE.
13554
13555 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13556
13557         * ada-lang.c (ada_to_fixed_value_create): Add handling of
13558         the case where VALUE_LVAL (val0) is not lval_memory.
13559
13560 2018-01-05  Xavier Roirand  <roirand@adacore.com>
13561
13562         * ada-valprint.c (print_optional_low_bound): Handle
13563         character-indexed array printing like boolean-indexed array
13564         printing.
13565
13566 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13567
13568         * NEWS: Create a new section for the next release branch.
13569         Rename the section of the current branch, now that it has
13570         been cut.
13571
13572 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
13573
13574         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
13575         * version.in: Bump version to 8.1.50.DATE-git.
13576
13577 2018-01-03  Xavier Roirand  <roirand@adacore.com>
13578
13579         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
13580         Add field.
13581         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
13582         Add field.
13583         (default_exception_support_info) <catch_handlers_sym>: Add field.
13584         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
13585         (ada_exception_name_addr_1): Add "catch handlers" handling.
13586         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
13587         Update all callers.
13588         (create_excep_cond_exprs) <ex>: Add parameter.
13589         (re_set_exception): Update create_excep_cond_exprs call.
13590         (print_it_exception, print_one_exception, print_mention_exception)
13591         (print_recreate_exception): Add "catch handler" handling.
13592         (allocate_location_catch_handlers, re_set_catch_handlers)
13593         (check_status_catch_handlers, print_it_catch_handlers)
13594         (print_one_catch_handlers, print_mention_catch_handlers)
13595         (print_recreate_catch_handlers): New function.
13596         (catch_handlers_breakpoint_ops): New variable.
13597         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
13598         Add parameter.  Add "catch handler" handling.
13599         (ada_exception_sym_name, ada_exception_breakpoint_ops):
13600         Add "catch handler" handling.
13601         (ada_exception_catchpoint_cond_string): Add "catch handler"
13602         handling.
13603         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
13604         call.
13605         (catch_ada_handlers_command): New function.
13606         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
13607         operations structure.
13608         (_initialize_ada_language): Add "catch handlers" command entry.
13609         * NEWS: Document "catch handlers" feature.
13610
13611 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13612
13613         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
13614         account when creating the array type of the slice.
13615         (ada_value_slice): Likewise.
13616
13617 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13618
13619         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
13620         New enum value.
13621         (create_array_type_with_stride): Add byte_stride_prop parameter.
13622         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
13623         New parameter.  Update all callers in this file.
13624         (array_type_has_dynamic_stride): New function.
13625         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
13626         of arrays with dynamic byte strides.
13627         * dwarf2read.c (read_array_type): Add support for dynamic
13628         DW_AT_byte_stride attributes.
13629
13630 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
13631
13632         * dwarf2read.c (read_unspecified_type): Treat
13633         DW_TAG_enumeration_type DIEs from Ada units as stubs.
13634
13635 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13636
13637         Update copyright year range in all GDB files.
13638
13639 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13640
13641         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
13642         and gdb/testsuite/gdb.base/step-line.c.
13643
13644 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13645
13646         * copyright.py (main): Dump the contents of
13647         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
13648         even if BY_HAND is empty.
13649
13650 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13651
13652         * top.c (print_gdb_version): Update Copyright year in version
13653         message.
13654
13655 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
13656
13657         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
13658
13659 For older changes see ChangeLog-2017.
13660 \f
13661 Local Variables:
13662 mode: change-log
13663 left-margin: 8
13664 fill-column: 74
13665 version-control: never
13666 coding: utf-8
13667 End: